mirror of
https://github.com/nocobase/nocobase.git
synced 2026-10-29 18:16:18 +08:00
fix(ui-templates): share approval templates (#8648)
This commit is contained in:
+5
-1
@@ -132,11 +132,15 @@ function isModelInsideReferenceBlock(model: FlowModel | undefined): boolean {
|
||||
return model.parent?.use === 'ReferenceBlockModel';
|
||||
}
|
||||
|
||||
function resolveExpectedRootUse(blockModel: FlowModel | undefined): string | string[] {
|
||||
export function resolveExpectedRootUse(blockModel: FlowModel | undefined): string | string[] {
|
||||
// Create/Edit:允许互通
|
||||
if (blockModel?.use === 'CreateFormModel' || blockModel?.use === 'EditFormModel') {
|
||||
return ['CreateFormModel', 'EditFormModel'];
|
||||
}
|
||||
// 审批发起/处理表单:允许互通(最小改动方案)
|
||||
if (blockModel?.use === 'ApplyFormModel' || blockModel?.use === 'ProcessFormModel') {
|
||||
return ['ApplyFormModel', 'ProcessFormModel'];
|
||||
}
|
||||
return blockModel?.use || '';
|
||||
}
|
||||
|
||||
|
||||
+22
-1
@@ -9,7 +9,28 @@
|
||||
|
||||
import { FlowEngine, FlowModel } from '@nocobase/flow-engine';
|
||||
import { describe, it, expect, vi } from 'vitest';
|
||||
import { SubModelTemplateImporterModel } from '../SubModelTemplateImporterModel';
|
||||
import { SubModelTemplateImporterModel, resolveExpectedRootUse } from '../SubModelTemplateImporterModel';
|
||||
|
||||
describe('resolveExpectedRootUse', () => {
|
||||
it('allows ApplyFormModel and ProcessFormModel to share templates', () => {
|
||||
expect(resolveExpectedRootUse({ use: 'ApplyFormModel' } as FlowModel)).toEqual([
|
||||
'ApplyFormModel',
|
||||
'ProcessFormModel',
|
||||
]);
|
||||
expect(resolveExpectedRootUse({ use: 'ProcessFormModel' } as FlowModel)).toEqual([
|
||||
'ApplyFormModel',
|
||||
'ProcessFormModel',
|
||||
]);
|
||||
});
|
||||
|
||||
it('keeps CreateFormModel and EditFormModel sharing behavior', () => {
|
||||
expect(resolveExpectedRootUse({ use: 'CreateFormModel' } as FlowModel)).toEqual([
|
||||
'CreateFormModel',
|
||||
'EditFormModel',
|
||||
]);
|
||||
expect(resolveExpectedRootUse({ use: 'EditFormModel' } as FlowModel)).toEqual(['CreateFormModel', 'EditFormModel']);
|
||||
});
|
||||
});
|
||||
|
||||
describe('SubModelTemplateImporterModel', () => {
|
||||
it('stores derived targetUid into stepParams in beforeParamsSave', async () => {
|
||||
|
||||
Reference in New Issue
Block a user