@nocobase/plugin-flow-engine 2.1.0-beta.2 → 2.1.0-beta.20
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -661
- package/README.md +79 -9
- package/dist/ai/ai-employees/nathan/index.d.ts +10 -0
- package/dist/ai/ai-employees/nathan/index.js +41 -0
- package/dist/ai/ai-employees/nathan/prompt.md +132 -0
- package/dist/ai/ai-employees/nathan/skills/frontend-developer/SKILLS.md +69 -0
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextApis.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextEnvs.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextVars.js +2 -2
- package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/lintAndTestJS.js +2 -2
- package/dist/ai/docs/runjs/context/block-model.md +35 -35
- package/dist/ai/docs/runjs/context/collection-field.md +53 -51
- package/dist/ai/docs/runjs/context/collection.md +39 -39
- package/dist/ai/docs/runjs/context/data-source-manager.md +40 -30
- package/dist/ai/docs/runjs/context/data-source.md +52 -44
- package/dist/ai/docs/runjs/context/element.md +44 -38
- package/dist/ai/docs/runjs/context/exit-all.md +37 -35
- package/dist/ai/docs/runjs/context/exit.md +38 -35
- package/dist/ai/docs/runjs/context/filter-manager.md +36 -30
- package/dist/ai/docs/runjs/context/form.md +57 -57
- package/dist/ai/docs/runjs/context/get-model.md +22 -21
- package/dist/ai/docs/runjs/context/get-value.md +20 -19
- package/dist/ai/docs/runjs/context/get-var.md +61 -55
- package/dist/ai/docs/runjs/context/i18n.md +17 -14
- package/dist/ai/docs/runjs/context/import-async.md +333 -45
- package/dist/ai/docs/runjs/context/init-resource.md +20 -20
- package/dist/ai/docs/runjs/context/libs.md +31 -31
- package/dist/ai/docs/runjs/context/location.md +34 -31
- package/dist/ai/docs/runjs/context/logger.md +41 -40
- package/dist/ai/docs/runjs/context/make-resource.md +27 -26
- package/dist/ai/docs/runjs/context/message.md +42 -41
- package/dist/ai/docs/runjs/context/modal.md +44 -44
- package/dist/ai/docs/runjs/context/model.md +36 -33
- package/dist/ai/docs/runjs/context/notification.md +41 -40
- package/dist/ai/docs/runjs/context/off.md +14 -14
- package/dist/ai/docs/runjs/context/on.md +30 -29
- package/dist/ai/docs/runjs/context/open-view.md +40 -40
- package/dist/ai/docs/runjs/context/render.md +37 -32
- package/dist/ai/docs/runjs/context/request.md +46 -45
- package/dist/ai/docs/runjs/context/require-async.md +28 -25
- package/dist/ai/docs/runjs/context/resource.md +34 -34
- package/dist/ai/docs/runjs/context/route.md +36 -34
- package/dist/ai/docs/runjs/context/router.md +43 -31
- package/dist/ai/docs/runjs/context/set-value.md +18 -17
- package/dist/ai/docs/runjs/context/sql.md +7 -15
- package/dist/ai/docs/runjs/context/t.md +20 -17
- package/dist/ai/docs/runjs/context/view.md +49 -46
- package/dist/ai/docs/runjs/document.md +1 -0
- package/dist/ai/docs/runjs/import-modules.md +32 -32
- package/dist/ai/docs/runjs/index.md +13 -13
- package/dist/ai/docs/runjs/jsx.md +19 -19
- package/dist/ai/docs/runjs/model/form-block-model.md +1 -3
- package/dist/ai/docs/runjs/render.md +15 -15
- package/dist/ai/docs/runjs/resource/api-resource.md +53 -53
- package/dist/ai/docs/runjs/resource/multi-record-resource.md +64 -64
- package/dist/ai/docs/runjs/resource/single-record-resource.md +55 -55
- package/dist/ai/docs/runjs/resource/sql-resource.md +57 -57
- package/dist/ai/docs/runjs/window.md +5 -5
- package/dist/client/index.js +1 -1
- package/dist/externalVersion.js +12 -11
- package/dist/locale/en-US.json +1 -0
- package/dist/locale/index.d.ts +2 -0
- package/dist/locale/zh-CN.json +1 -0
- package/dist/node_modules/ses/dist/ses.cjs +1 -1
- package/dist/node_modules/ses/package.json +1 -1
- package/dist/node_modules/zod/index.cjs +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/collections/flowsql.js +1 -0
- package/dist/server/flow-surfaces/action-scope.d.ts +39 -0
- package/dist/server/flow-surfaces/action-scope.js +156 -0
- package/dist/server/flow-surfaces/apply/compiler.d.ts +13 -0
- package/dist/server/flow-surfaces/apply/compiler.js +969 -0
- package/dist/server/flow-surfaces/apply/layout.d.ts +34 -0
- package/dist/server/flow-surfaces/apply/layout.js +175 -0
- package/dist/server/flow-surfaces/apply/matching.d.ts +16 -0
- package/dist/server/flow-surfaces/apply/matching.js +181 -0
- package/dist/server/flow-surfaces/approval/blueprint-service.d.ts +84 -0
- package/dist/server/flow-surfaces/approval/blueprint-service.js +589 -0
- package/dist/server/flow-surfaces/approval/blueprint.d.ts +21 -0
- package/dist/server/flow-surfaces/approval/blueprint.js +187 -0
- package/dist/server/flow-surfaces/approval/builder.d.ts +225 -0
- package/dist/server/flow-surfaces/approval/builder.js +384 -0
- package/dist/server/flow-surfaces/approval/catalog-specs.d.ts +33 -0
- package/dist/server/flow-surfaces/approval/catalog-specs.js +156 -0
- package/dist/server/flow-surfaces/approval/index.d.ts +14 -0
- package/dist/server/flow-surfaces/approval/index.js +40 -0
- package/dist/server/flow-surfaces/approval/runtime-config.d.ts +44 -0
- package/dist/server/flow-surfaces/approval/runtime-config.js +299 -0
- package/dist/server/flow-surfaces/approval/semantic-use.d.ts +23 -0
- package/dist/server/flow-surfaces/approval/semantic-use.js +155 -0
- package/dist/server/flow-surfaces/association-title-field.d.ts +20 -0
- package/dist/server/flow-surfaces/association-title-field.js +192 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.d.ts +14 -0
- package/dist/server/flow-surfaces/blueprint/compile-blocks.js +1029 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.d.ts +13 -0
- package/dist/server/flow-surfaces/blueprint/compile-plan.js +308 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.d.ts +11 -0
- package/dist/server/flow-surfaces/blueprint/compile-reaction.js +72 -0
- package/dist/server/flow-surfaces/blueprint/defaults.d.ts +26 -0
- package/dist/server/flow-surfaces/blueprint/defaults.js +133 -0
- package/dist/server/flow-surfaces/blueprint/index.d.ts +12 -0
- package/dist/server/flow-surfaces/blueprint/index.js +44 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.d.ts +10 -0
- package/dist/server/flow-surfaces/blueprint/normalize-document.js +416 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.d.ts +26 -0
- package/dist/server/flow-surfaces/blueprint/private-utils.js +182 -0
- package/dist/server/flow-surfaces/blueprint/public-types.d.ts +193 -0
- package/dist/server/flow-surfaces/blueprint/public-types.js +24 -0
- package/dist/server/flow-surfaces/builder.d.ts +211 -0
- package/dist/server/flow-surfaces/builder.js +1097 -0
- package/dist/server/flow-surfaces/catalog-smart.d.ts +18 -0
- package/dist/server/flow-surfaces/catalog-smart.js +239 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.d.ts +15 -0
- package/dist/server/flow-surfaces/catalog-smart.projector.js +157 -0
- package/dist/server/flow-surfaces/catalog-smart.types.d.ts +99 -0
- package/dist/server/flow-surfaces/catalog-smart.types.js +24 -0
- package/dist/server/flow-surfaces/catalog.d.ts +78 -0
- package/dist/server/flow-surfaces/catalog.js +3577 -0
- package/dist/server/flow-surfaces/chart-config.d.ts +121 -0
- package/dist/server/flow-surfaces/chart-config.js +1394 -0
- package/dist/server/flow-surfaces/compose-compiler.d.ts +108 -0
- package/dist/server/flow-surfaces/compose-compiler.js +167 -0
- package/dist/server/flow-surfaces/compose-runtime.d.ts +93 -0
- package/dist/server/flow-surfaces/compose-runtime.js +375 -0
- package/dist/server/flow-surfaces/configure-options.d.ts +23 -0
- package/dist/server/flow-surfaces/configure-options.js +860 -0
- package/dist/server/flow-surfaces/constants.d.ts +351 -0
- package/dist/server/flow-surfaces/constants.js +104 -0
- package/dist/server/flow-surfaces/context.d.ts +72 -0
- package/dist/server/flow-surfaces/context.js +556 -0
- package/dist/server/flow-surfaces/contract-guard.d.ts +19 -0
- package/dist/server/flow-surfaces/contract-guard.js +402 -0
- package/dist/server/flow-surfaces/core-field-default-bindings.d.ts +12 -0
- package/dist/server/flow-surfaces/core-field-default-bindings.js +157 -0
- package/dist/server/flow-surfaces/default-action-popup.d.ts +63 -0
- package/dist/server/flow-surfaces/default-action-popup.js +322 -0
- package/dist/server/flow-surfaces/default-block-actions.d.ts +32 -0
- package/dist/server/flow-surfaces/default-block-actions.js +209 -0
- package/dist/server/flow-surfaces/errors.d.ts +47 -0
- package/dist/server/flow-surfaces/errors.js +145 -0
- package/dist/server/flow-surfaces/executor.d.ts +23 -0
- package/dist/server/flow-surfaces/executor.js +132 -0
- package/dist/server/flow-surfaces/field-binding-registry.d.ts +23 -0
- package/dist/server/flow-surfaces/field-binding-registry.js +391 -0
- package/dist/server/flow-surfaces/field-semantics.d.ts +15 -0
- package/dist/server/flow-surfaces/field-semantics.js +83 -0
- package/dist/server/flow-surfaces/filter-group.d.ts +15 -0
- package/dist/server/flow-surfaces/filter-group.js +94 -0
- package/dist/server/flow-surfaces/index.d.ts +11 -0
- package/dist/server/flow-surfaces/index.js +302 -0
- package/dist/server/flow-surfaces/locator.d.ts +28 -0
- package/dist/server/flow-surfaces/locator.js +240 -0
- package/dist/server/flow-surfaces/node-use-sets.d.ts +15 -0
- package/dist/server/flow-surfaces/node-use-sets.js +134 -0
- package/dist/server/flow-surfaces/payload-shape.d.ts +9 -0
- package/dist/server/flow-surfaces/payload-shape.js +61 -0
- package/dist/server/flow-surfaces/placement.d.ts +33 -0
- package/dist/server/flow-surfaces/placement.js +198 -0
- package/dist/server/flow-surfaces/planning/action-specs.d.ts +179 -0
- package/dist/server/flow-surfaces/planning/action-specs.js +190 -0
- package/dist/server/flow-surfaces/planning/compiler.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/compiler.js +376 -0
- package/dist/server/flow-surfaces/planning/context.d.ts +30 -0
- package/dist/server/flow-surfaces/planning/context.js +139 -0
- package/dist/server/flow-surfaces/planning/created-keys.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/created-keys.js +375 -0
- package/dist/server/flow-surfaces/planning/key-kind.d.ts +11 -0
- package/dist/server/flow-surfaces/planning/key-kind.js +88 -0
- package/dist/server/flow-surfaces/planning/key-persistence.d.ts +34 -0
- package/dist/server/flow-surfaces/planning/key-persistence.js +148 -0
- package/dist/server/flow-surfaces/planning/key-registry.d.ts +40 -0
- package/dist/server/flow-surfaces/planning/key-registry.js +206 -0
- package/dist/server/flow-surfaces/planning/runtime.d.ts +37 -0
- package/dist/server/flow-surfaces/planning/runtime.js +259 -0
- package/dist/server/flow-surfaces/planning/step-link.d.ts +14 -0
- package/dist/server/flow-surfaces/planning/step-link.js +104 -0
- package/dist/server/flow-surfaces/planning/types.d.ts +55 -0
- package/dist/server/flow-surfaces/planning/types.js +24 -0
- package/dist/server/flow-surfaces/public-data-surface-default-filter.d.ts +24 -0
- package/dist/server/flow-surfaces/public-data-surface-default-filter.js +152 -0
- package/dist/server/flow-surfaces/reaction/errors.d.ts +20 -0
- package/dist/server/flow-surfaces/reaction/errors.js +69 -0
- package/dist/server/flow-surfaces/reaction/field-value.d.ts +34 -0
- package/dist/server/flow-surfaces/reaction/field-value.js +181 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.d.ts +16 -0
- package/dist/server/flow-surfaces/reaction/fingerprint.js +71 -0
- package/dist/server/flow-surfaces/reaction/linkage.d.ts +136 -0
- package/dist/server/flow-surfaces/reaction/linkage.js +882 -0
- package/dist/server/flow-surfaces/reaction/meta.d.ts +11 -0
- package/dist/server/flow-surfaces/reaction/meta.js +451 -0
- package/dist/server/flow-surfaces/reaction/registry.d.ts +156 -0
- package/dist/server/flow-surfaces/reaction/registry.js +206 -0
- package/dist/server/flow-surfaces/reaction/resolver.d.ts +22 -0
- package/dist/server/flow-surfaces/reaction/resolver.js +202 -0
- package/dist/server/flow-surfaces/reaction/types.d.ts +241 -0
- package/dist/server/flow-surfaces/reaction/types.js +24 -0
- package/dist/server/flow-surfaces/reaction/utils.d.ts +17 -0
- package/dist/server/flow-surfaces/reaction/utils.js +67 -0
- package/dist/server/flow-surfaces/reaction/value-expr.d.ts +15 -0
- package/dist/server/flow-surfaces/reaction/value-expr.js +209 -0
- package/dist/server/flow-surfaces/reference-guards.d.ts +19 -0
- package/dist/server/flow-surfaces/reference-guards.js +103 -0
- package/dist/server/flow-surfaces/route-sync.d.ts +47 -0
- package/dist/server/flow-surfaces/route-sync.js +392 -0
- package/dist/server/flow-surfaces/service-helpers.d.ts +42 -0
- package/dist/server/flow-surfaces/service-helpers.js +310 -0
- package/dist/server/flow-surfaces/service-utils.d.ts +108 -0
- package/dist/server/flow-surfaces/service-utils.js +811 -0
- package/dist/server/flow-surfaces/service.d.ts +814 -0
- package/dist/server/flow-surfaces/service.js +14276 -0
- package/dist/server/flow-surfaces/support-matrix.d.ts +31 -0
- package/dist/server/flow-surfaces/support-matrix.js +271 -0
- package/dist/server/flow-surfaces/surface-context.d.ts +52 -0
- package/dist/server/flow-surfaces/surface-context.js +440 -0
- package/dist/server/flow-surfaces/template-compatibility.d.ts +42 -0
- package/dist/server/flow-surfaces/template-compatibility.js +189 -0
- package/dist/server/flow-surfaces/template-display.d.ts +20 -0
- package/dist/server/flow-surfaces/template-display.js +289 -0
- package/dist/server/flow-surfaces/template-service-utils.d.ts +62 -0
- package/dist/server/flow-surfaces/template-service-utils.js +281 -0
- package/dist/server/flow-surfaces/types.d.ts +288 -0
- package/dist/server/flow-surfaces/types.js +24 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.js +7 -2
- package/dist/server/plugin.d.ts +0 -1
- package/dist/server/plugin.js +9 -34
- package/dist/server/repository.js +0 -5
- package/dist/server/variables/resolve.d.ts +21 -0
- package/dist/server/variables/resolve.js +79 -0
- package/dist/swagger/flow-surfaces.d.ts +5964 -0
- package/dist/swagger/flow-surfaces.examples.d.ts +1572 -0
- package/dist/swagger/flow-surfaces.examples.js +1805 -0
- package/dist/swagger/flow-surfaces.js +5322 -0
- package/dist/swagger/flow-surfaces.template-action-docs.d.ts +62 -0
- package/dist/swagger/flow-surfaces.template-action-docs.js +121 -0
- package/dist/swagger/flow-surfaces.template-schemas.d.ts +239 -0
- package/dist/swagger/flow-surfaces.template-schemas.js +255 -0
- package/dist/swagger/index.d.ts +5969 -0
- package/dist/swagger/index.js +50 -0
- package/package.json +3 -3
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextApis.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextEnvs.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/getContextVars.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/nathan/skills/frontend-developer/tools}/lintAndTestJS.d.ts +0 -0
|
@@ -0,0 +1,299 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __create = Object.create;
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
13
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
14
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
15
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
16
|
+
var __export = (target, all) => {
|
|
17
|
+
for (var name in all)
|
|
18
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
19
|
+
};
|
|
20
|
+
var __copyProps = (to, from, except, desc) => {
|
|
21
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
22
|
+
for (let key of __getOwnPropNames(from))
|
|
23
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
24
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
25
|
+
}
|
|
26
|
+
return to;
|
|
27
|
+
};
|
|
28
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
29
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
30
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
31
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
32
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
33
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
34
|
+
mod
|
|
35
|
+
));
|
|
36
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
37
|
+
var runtime_config_exports = {};
|
|
38
|
+
__export(runtime_config_exports, {
|
|
39
|
+
APPROVAL_SINGLETON_ACTION_USES: () => APPROVAL_SINGLETON_ACTION_USES,
|
|
40
|
+
APPROVAL_SURFACE_ROOT_USES: () => APPROVAL_SURFACE_ROOT_USES,
|
|
41
|
+
FlowSurfaceApprovalRuntimeConfigService: () => FlowSurfaceApprovalRuntimeConfigService
|
|
42
|
+
});
|
|
43
|
+
module.exports = __toCommonJS(runtime_config_exports);
|
|
44
|
+
var import_lodash = __toESM(require("lodash"));
|
|
45
|
+
var import_service_utils = require("../service-utils");
|
|
46
|
+
var import_errors = require("../errors");
|
|
47
|
+
const APPROVAL_SURFACE_ROOT_USES = /* @__PURE__ */ new Set([
|
|
48
|
+
"TriggerChildPageModel",
|
|
49
|
+
"ApprovalChildPageModel",
|
|
50
|
+
"ApplyTaskCardDetailsModel",
|
|
51
|
+
"ApprovalTaskCardDetailsModel"
|
|
52
|
+
]);
|
|
53
|
+
const APPROVAL_SINGLETON_ACTION_USES = /* @__PURE__ */ new Set([
|
|
54
|
+
"ApplyFormSubmitModel",
|
|
55
|
+
"ApplyFormSaveDraftModel",
|
|
56
|
+
"ApplyFormWithdrawModel",
|
|
57
|
+
"ProcessFormApproveModel",
|
|
58
|
+
"ProcessFormRejectModel",
|
|
59
|
+
"ProcessFormReturnModel",
|
|
60
|
+
"ProcessFormDelegateModel",
|
|
61
|
+
"ProcessFormAddAssigneeModel"
|
|
62
|
+
]);
|
|
63
|
+
const APPROVAL_PROCESS_ACTION_STATUS_BY_USE = {
|
|
64
|
+
ProcessFormApproveModel: 2,
|
|
65
|
+
ProcessFormRejectModel: -1,
|
|
66
|
+
ProcessFormReturnModel: 1,
|
|
67
|
+
ProcessFormDelegateModel: 8,
|
|
68
|
+
ProcessFormAddAssigneeModel: 99
|
|
69
|
+
};
|
|
70
|
+
const APPROVAL_PROCESS_ACTION_STATUS_ORDER = [2, -1, 1, 8, 99];
|
|
71
|
+
class FlowSurfaceApprovalRuntimeConfigService {
|
|
72
|
+
constructor(deps) {
|
|
73
|
+
this.deps = deps;
|
|
74
|
+
}
|
|
75
|
+
getRepositoryIfAvailable(resourceName) {
|
|
76
|
+
try {
|
|
77
|
+
return this.deps.db.getRepository(resourceName);
|
|
78
|
+
} catch {
|
|
79
|
+
return null;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
readModelField(model, fieldName) {
|
|
83
|
+
var _a;
|
|
84
|
+
return ((_a = model == null ? void 0 : model.get) == null ? void 0 : _a.call(model, fieldName)) ?? (model == null ? void 0 : model[fieldName]);
|
|
85
|
+
}
|
|
86
|
+
readApprovalConfig(model) {
|
|
87
|
+
return import_lodash.default.cloneDeep(this.readModelField(model, "config") || {});
|
|
88
|
+
}
|
|
89
|
+
collectApprovalActionNodes(node, carry = []) {
|
|
90
|
+
if (!(node == null ? void 0 : node.uid)) {
|
|
91
|
+
return carry;
|
|
92
|
+
}
|
|
93
|
+
if (APPROVAL_SINGLETON_ACTION_USES.has(node.use || "")) {
|
|
94
|
+
carry.push(node);
|
|
95
|
+
}
|
|
96
|
+
Object.values(node.subModels || {}).forEach((subModel) => {
|
|
97
|
+
import_lodash.default.castArray(subModel).forEach((child) => this.collectApprovalActionNodes(child, carry));
|
|
98
|
+
});
|
|
99
|
+
return carry;
|
|
100
|
+
}
|
|
101
|
+
async findApprovalSurfaceRootForNode(uid, transaction) {
|
|
102
|
+
let cursor = String(uid || "").trim();
|
|
103
|
+
const visited = /* @__PURE__ */ new Set();
|
|
104
|
+
while (cursor && !visited.has(cursor)) {
|
|
105
|
+
visited.add(cursor);
|
|
106
|
+
const node = await this.deps.repository.findModelById(cursor, {
|
|
107
|
+
transaction,
|
|
108
|
+
includeAsyncNode: true
|
|
109
|
+
});
|
|
110
|
+
if (!(node == null ? void 0 : node.uid)) {
|
|
111
|
+
return null;
|
|
112
|
+
}
|
|
113
|
+
if (APPROVAL_SURFACE_ROOT_USES.has(node.use || "")) {
|
|
114
|
+
return node;
|
|
115
|
+
}
|
|
116
|
+
cursor = String(
|
|
117
|
+
node.parentId || await this.deps.locator.findParentUid(node.uid, transaction).catch(() => "") || ""
|
|
118
|
+
);
|
|
119
|
+
}
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
async findApprovalWorkflowBySurfaceRootUid(rootUid, transaction) {
|
|
123
|
+
const workflowsRepository = this.getRepositoryIfAvailable("workflows");
|
|
124
|
+
if (!workflowsRepository) {
|
|
125
|
+
return null;
|
|
126
|
+
}
|
|
127
|
+
const workflows = await workflowsRepository.find({
|
|
128
|
+
filter: {
|
|
129
|
+
type: "approval"
|
|
130
|
+
},
|
|
131
|
+
transaction
|
|
132
|
+
});
|
|
133
|
+
return workflows.find((workflow) => this.readApprovalConfig(workflow).approvalUid === rootUid) || null;
|
|
134
|
+
}
|
|
135
|
+
async findApprovalNodeBySurfaceRootUid(rootUid, transaction) {
|
|
136
|
+
const nodesRepository = this.getRepositoryIfAvailable("flow_nodes");
|
|
137
|
+
if (!nodesRepository) {
|
|
138
|
+
return null;
|
|
139
|
+
}
|
|
140
|
+
const nodes = await nodesRepository.find({
|
|
141
|
+
filter: {
|
|
142
|
+
type: "approval"
|
|
143
|
+
},
|
|
144
|
+
transaction
|
|
145
|
+
});
|
|
146
|
+
return nodes.find((node) => this.readApprovalConfig(node).approvalUid === rootUid) || null;
|
|
147
|
+
}
|
|
148
|
+
async patchApprovalRuntimeConfig(resourceName, model, nextConfig, transaction) {
|
|
149
|
+
const currentConfig = this.readApprovalConfig(model);
|
|
150
|
+
if (import_lodash.default.isEqual(currentConfig, nextConfig)) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
await this.deps.db.getRepository(resourceName).update({
|
|
154
|
+
filterByTk: this.readModelField(model, "id"),
|
|
155
|
+
values: {
|
|
156
|
+
config: nextConfig
|
|
157
|
+
},
|
|
158
|
+
transaction
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
getApprovalActionStepValue(actionNode, fieldName) {
|
|
162
|
+
const clickSettings = import_lodash.default.get(actionNode, ["stepParams", "clickSettings"]);
|
|
163
|
+
return import_lodash.default.get(clickSettings, ["saveResource", fieldName]) ?? import_lodash.default.get(clickSettings, fieldName);
|
|
164
|
+
}
|
|
165
|
+
buildApprovalReturnRuntimeConfig(actionNode) {
|
|
166
|
+
const settings = this.getApprovalActionStepValue(actionNode, "approvalReturnNodeSettings") || {};
|
|
167
|
+
const type = String((settings == null ? void 0 : settings.type) || "start").trim();
|
|
168
|
+
if (type === "any") {
|
|
169
|
+
return {
|
|
170
|
+
returnTo: -1,
|
|
171
|
+
returnToNodeVariable: null
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
if (type === "count") {
|
|
175
|
+
const count = Number(settings == null ? void 0 : settings.count);
|
|
176
|
+
return {
|
|
177
|
+
returnTo: Number.isFinite(count) && count > 0 ? count : 1,
|
|
178
|
+
returnToNodeVariable: null
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
if (type === "specific") {
|
|
182
|
+
const target = String((settings == null ? void 0 : settings.target) || "").trim();
|
|
183
|
+
return {
|
|
184
|
+
returnTo: target || null,
|
|
185
|
+
returnToNodeVariable: target ? `{{$jobsMapByNodeKey.${target}}}` : null
|
|
186
|
+
};
|
|
187
|
+
}
|
|
188
|
+
return {
|
|
189
|
+
returnTo: null,
|
|
190
|
+
returnToNodeVariable: null
|
|
191
|
+
};
|
|
192
|
+
}
|
|
193
|
+
buildApprovalReassignRuntimeConfig(actionNode) {
|
|
194
|
+
const assigneesScope = this.getApprovalActionStepValue(actionNode, "assigneesScope") || {};
|
|
195
|
+
const assignees = import_lodash.default.castArray((assigneesScope == null ? void 0 : assigneesScope.assignees) || []).filter((item) => !import_lodash.default.isUndefined(item) && !import_lodash.default.isNull(item) && item !== "").map(
|
|
196
|
+
(item) => import_lodash.default.isPlainObject(item) && !Object.prototype.hasOwnProperty.call(item, "filter") ? { filter: item } : item
|
|
197
|
+
);
|
|
198
|
+
return {
|
|
199
|
+
assignees,
|
|
200
|
+
options: (0, import_service_utils.buildDefinedPayload)({
|
|
201
|
+
extraFieldKey: assigneesScope == null ? void 0 : assigneesScope.extraFieldKey
|
|
202
|
+
})
|
|
203
|
+
};
|
|
204
|
+
}
|
|
205
|
+
async syncApprovalWorkflowRuntimeConfig(root, transaction) {
|
|
206
|
+
const workflow = await this.findApprovalWorkflowBySurfaceRootUid(root.uid, transaction);
|
|
207
|
+
if (!workflow) {
|
|
208
|
+
return;
|
|
209
|
+
}
|
|
210
|
+
const currentConfig = this.readApprovalConfig(workflow);
|
|
211
|
+
const actions = this.collectApprovalActionNodes(root);
|
|
212
|
+
await this.patchApprovalRuntimeConfig(
|
|
213
|
+
"workflows",
|
|
214
|
+
workflow,
|
|
215
|
+
{
|
|
216
|
+
...currentConfig,
|
|
217
|
+
withdrawable: actions.some((action) => action.use === "ApplyFormWithdrawModel")
|
|
218
|
+
},
|
|
219
|
+
transaction
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
async syncApprovalNodeRuntimeConfig(root, transaction) {
|
|
223
|
+
const node = await this.findApprovalNodeBySurfaceRootUid(root.uid, transaction);
|
|
224
|
+
if (!node) {
|
|
225
|
+
return;
|
|
226
|
+
}
|
|
227
|
+
const currentConfig = this.readApprovalConfig(node);
|
|
228
|
+
const actionNodes = this.collectApprovalActionNodes(root);
|
|
229
|
+
const statusSet = new Set(
|
|
230
|
+
actionNodes.map((action) => APPROVAL_PROCESS_ACTION_STATUS_BY_USE[action.use || ""]).filter((status) => !import_lodash.default.isUndefined(status))
|
|
231
|
+
);
|
|
232
|
+
const nextConfig = {
|
|
233
|
+
...currentConfig,
|
|
234
|
+
actions: APPROVAL_PROCESS_ACTION_STATUS_ORDER.filter((status) => statusSet.has(status))
|
|
235
|
+
};
|
|
236
|
+
const returnAction = actionNodes.find((action) => action.use === "ProcessFormReturnModel");
|
|
237
|
+
Object.assign(
|
|
238
|
+
nextConfig,
|
|
239
|
+
returnAction ? this.buildApprovalReturnRuntimeConfig(returnAction) : {
|
|
240
|
+
returnTo: null,
|
|
241
|
+
returnToNodeVariable: null
|
|
242
|
+
}
|
|
243
|
+
);
|
|
244
|
+
const delegateAction = actionNodes.find((action) => action.use === "ProcessFormDelegateModel");
|
|
245
|
+
const delegateConfig = delegateAction ? this.buildApprovalReassignRuntimeConfig(delegateAction) : null;
|
|
246
|
+
nextConfig.toDelegateReassignees = (delegateConfig == null ? void 0 : delegateConfig.assignees) || [];
|
|
247
|
+
nextConfig.toDelegateReassigneesOptions = (delegateConfig == null ? void 0 : delegateConfig.options) || {};
|
|
248
|
+
const addAssigneeAction = actionNodes.find((action) => action.use === "ProcessFormAddAssigneeModel");
|
|
249
|
+
const addAssigneeConfig = addAssigneeAction ? this.buildApprovalReassignRuntimeConfig(addAssigneeAction) : null;
|
|
250
|
+
nextConfig.toAddReassignees = (addAssigneeConfig == null ? void 0 : addAssigneeConfig.assignees) || [];
|
|
251
|
+
nextConfig.toAddReassigneesOptions = (addAssigneeConfig == null ? void 0 : addAssigneeConfig.options) || {};
|
|
252
|
+
await this.patchApprovalRuntimeConfig("flow_nodes", node, nextConfig, transaction);
|
|
253
|
+
}
|
|
254
|
+
async syncApprovalRuntimeConfigForSurfaceRoot(root, transaction) {
|
|
255
|
+
if (!(root == null ? void 0 : root.uid)) {
|
|
256
|
+
return;
|
|
257
|
+
}
|
|
258
|
+
const currentRoot = await this.deps.repository.findModelById(root.uid, {
|
|
259
|
+
transaction,
|
|
260
|
+
includeAsyncNode: true
|
|
261
|
+
});
|
|
262
|
+
if (!(currentRoot == null ? void 0 : currentRoot.uid)) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
if (currentRoot.use === "TriggerChildPageModel") {
|
|
266
|
+
await this.syncApprovalWorkflowRuntimeConfig(currentRoot, transaction);
|
|
267
|
+
return;
|
|
268
|
+
}
|
|
269
|
+
if (currentRoot.use === "ApprovalChildPageModel") {
|
|
270
|
+
await this.syncApprovalNodeRuntimeConfig(currentRoot, transaction);
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
async syncApprovalRuntimeConfigForNode(uid, transaction) {
|
|
274
|
+
const root = await this.findApprovalSurfaceRootForNode(uid, transaction);
|
|
275
|
+
if (root) {
|
|
276
|
+
await this.syncApprovalRuntimeConfigForSurfaceRoot(root, transaction);
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
async assertApprovalActionSingleton(parentUid, actionUse, transaction) {
|
|
280
|
+
var _a;
|
|
281
|
+
if (!APPROVAL_SINGLETON_ACTION_USES.has(actionUse)) {
|
|
282
|
+
return;
|
|
283
|
+
}
|
|
284
|
+
const parent = await this.deps.repository.findModelById(parentUid, {
|
|
285
|
+
transaction,
|
|
286
|
+
includeAsyncNode: true
|
|
287
|
+
});
|
|
288
|
+
const existing = import_lodash.default.castArray(((_a = parent == null ? void 0 : parent.subModels) == null ? void 0 : _a.actions) || []).find((action) => (action == null ? void 0 : action.use) === actionUse);
|
|
289
|
+
if (existing == null ? void 0 : existing.uid) {
|
|
290
|
+
(0, import_errors.throwBadRequest)(`flowSurfaces addAction approval action '${actionUse}' already exists in '${parent.use}'`);
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
}
|
|
294
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
295
|
+
0 && (module.exports = {
|
|
296
|
+
APPROVAL_SINGLETON_ACTION_USES,
|
|
297
|
+
APPROVAL_SURFACE_ROOT_USES,
|
|
298
|
+
FlowSurfaceApprovalRuntimeConfigService
|
|
299
|
+
});
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export declare const APPROVAL_PAGE_MODEL_USES: readonly ["TriggerChildPageModel", "ApprovalChildPageModel"];
|
|
10
|
+
export declare const APPROVAL_TAB_MODEL_USES: readonly ["TriggerChildPageTabModel", "ApprovalChildPageTabModel"];
|
|
11
|
+
export declare const APPROVAL_BLOCK_GRID_USES: readonly ["TriggerBlockGridModel", "ApprovalBlockGridModel"];
|
|
12
|
+
export declare const APPROVAL_FORM_GRID_USES: readonly ["PatternFormGridModel"];
|
|
13
|
+
export declare const APPROVAL_TASK_CARD_GRID_USES: readonly ["ApplyTaskCardGridModel", "ApprovalTaskCardGridModel"];
|
|
14
|
+
export declare const APPROVAL_DETAILS_GRID_USES: readonly ["ApprovalDetailsGridModel", "ApplyTaskCardGridModel", "ApprovalTaskCardGridModel"];
|
|
15
|
+
export declare const APPROVAL_FORM_BLOCK_USES: readonly ["ApplyFormModel", "ProcessFormModel"];
|
|
16
|
+
export declare const APPROVAL_DETAILS_BLOCK_USES: readonly ["ApprovalDetailsModel", "ApplyTaskCardDetailsModel", "ApprovalTaskCardDetailsModel"];
|
|
17
|
+
export declare const APPROVAL_FIELD_WRAPPER_USES: readonly ["PatternFormItemModel", "ApprovalDetailsItemModel", "ApplyTaskCardDetailsItemModel", "ApprovalTaskCardDetailsItemModel"];
|
|
18
|
+
export declare const APPROVAL_ACTION_CONTAINER_USES: readonly ["ApplyFormModel", "ProcessFormModel"];
|
|
19
|
+
export declare function normalizeApprovalSemanticUse(use?: string): string;
|
|
20
|
+
export declare function getApprovalDefaultGridUse(use?: string): string;
|
|
21
|
+
export declare function getApprovalFieldWrapperUse(containerUse?: string): string;
|
|
22
|
+
export declare function isApprovalFormContainerUse(use?: string): boolean;
|
|
23
|
+
export declare function isApprovalTaskCardGridUse(use?: string): boolean;
|
|
@@ -0,0 +1,155 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var semantic_use_exports = {};
|
|
28
|
+
__export(semantic_use_exports, {
|
|
29
|
+
APPROVAL_ACTION_CONTAINER_USES: () => APPROVAL_ACTION_CONTAINER_USES,
|
|
30
|
+
APPROVAL_BLOCK_GRID_USES: () => APPROVAL_BLOCK_GRID_USES,
|
|
31
|
+
APPROVAL_DETAILS_BLOCK_USES: () => APPROVAL_DETAILS_BLOCK_USES,
|
|
32
|
+
APPROVAL_DETAILS_GRID_USES: () => APPROVAL_DETAILS_GRID_USES,
|
|
33
|
+
APPROVAL_FIELD_WRAPPER_USES: () => APPROVAL_FIELD_WRAPPER_USES,
|
|
34
|
+
APPROVAL_FORM_BLOCK_USES: () => APPROVAL_FORM_BLOCK_USES,
|
|
35
|
+
APPROVAL_FORM_GRID_USES: () => APPROVAL_FORM_GRID_USES,
|
|
36
|
+
APPROVAL_PAGE_MODEL_USES: () => APPROVAL_PAGE_MODEL_USES,
|
|
37
|
+
APPROVAL_TAB_MODEL_USES: () => APPROVAL_TAB_MODEL_USES,
|
|
38
|
+
APPROVAL_TASK_CARD_GRID_USES: () => APPROVAL_TASK_CARD_GRID_USES,
|
|
39
|
+
getApprovalDefaultGridUse: () => getApprovalDefaultGridUse,
|
|
40
|
+
getApprovalFieldWrapperUse: () => getApprovalFieldWrapperUse,
|
|
41
|
+
isApprovalFormContainerUse: () => isApprovalFormContainerUse,
|
|
42
|
+
isApprovalTaskCardGridUse: () => isApprovalTaskCardGridUse,
|
|
43
|
+
normalizeApprovalSemanticUse: () => normalizeApprovalSemanticUse
|
|
44
|
+
});
|
|
45
|
+
module.exports = __toCommonJS(semantic_use_exports);
|
|
46
|
+
const APPROVAL_PAGE_MODEL_USES = ["TriggerChildPageModel", "ApprovalChildPageModel"];
|
|
47
|
+
const APPROVAL_TAB_MODEL_USES = ["TriggerChildPageTabModel", "ApprovalChildPageTabModel"];
|
|
48
|
+
const APPROVAL_BLOCK_GRID_USES = ["TriggerBlockGridModel", "ApprovalBlockGridModel"];
|
|
49
|
+
const APPROVAL_FORM_GRID_USES = ["PatternFormGridModel"];
|
|
50
|
+
const APPROVAL_TASK_CARD_GRID_USES = ["ApplyTaskCardGridModel", "ApprovalTaskCardGridModel"];
|
|
51
|
+
const APPROVAL_DETAILS_GRID_USES = ["ApprovalDetailsGridModel", ...APPROVAL_TASK_CARD_GRID_USES];
|
|
52
|
+
const APPROVAL_FORM_BLOCK_USES = ["ApplyFormModel", "ProcessFormModel"];
|
|
53
|
+
const APPROVAL_DETAILS_BLOCK_USES = [
|
|
54
|
+
"ApprovalDetailsModel",
|
|
55
|
+
"ApplyTaskCardDetailsModel",
|
|
56
|
+
"ApprovalTaskCardDetailsModel"
|
|
57
|
+
];
|
|
58
|
+
const APPROVAL_FIELD_WRAPPER_USES = [
|
|
59
|
+
"PatternFormItemModel",
|
|
60
|
+
"ApprovalDetailsItemModel",
|
|
61
|
+
"ApplyTaskCardDetailsItemModel",
|
|
62
|
+
"ApprovalTaskCardDetailsItemModel"
|
|
63
|
+
];
|
|
64
|
+
const APPROVAL_ACTION_CONTAINER_USES = ["ApplyFormModel", "ProcessFormModel"];
|
|
65
|
+
const APPROVAL_FORM_CONTAINER_USE_SET = /* @__PURE__ */ new Set([
|
|
66
|
+
...APPROVAL_FORM_BLOCK_USES,
|
|
67
|
+
...APPROVAL_FORM_GRID_USES,
|
|
68
|
+
"PatternFormItemModel"
|
|
69
|
+
]);
|
|
70
|
+
const APPROVAL_SEMANTIC_USE_ALIASES = {
|
|
71
|
+
TriggerChildPageModel: "ChildPageModel",
|
|
72
|
+
ApprovalChildPageModel: "ChildPageModel",
|
|
73
|
+
TriggerChildPageTabModel: "ChildPageTabModel",
|
|
74
|
+
ApprovalChildPageTabModel: "ChildPageTabModel",
|
|
75
|
+
TriggerBlockGridModel: "BlockGridModel",
|
|
76
|
+
ApprovalBlockGridModel: "BlockGridModel",
|
|
77
|
+
PatternFormGridModel: "FormGridModel",
|
|
78
|
+
ApprovalDetailsGridModel: "DetailsGridModel",
|
|
79
|
+
ApplyTaskCardGridModel: "DetailsGridModel",
|
|
80
|
+
ApprovalTaskCardGridModel: "DetailsGridModel",
|
|
81
|
+
ApplyFormModel: "FormBlockModel",
|
|
82
|
+
ProcessFormModel: "FormBlockModel",
|
|
83
|
+
ApprovalDetailsModel: "DetailsBlockModel",
|
|
84
|
+
ApplyTaskCardDetailsModel: "DetailsBlockModel",
|
|
85
|
+
ApprovalTaskCardDetailsModel: "DetailsBlockModel",
|
|
86
|
+
PatternFormItemModel: "FormItemModel",
|
|
87
|
+
ApprovalDetailsItemModel: "DetailsItemModel",
|
|
88
|
+
ApplyTaskCardDetailsItemModel: "DetailsItemModel",
|
|
89
|
+
ApprovalTaskCardDetailsItemModel: "DetailsItemModel",
|
|
90
|
+
PatternFormAssociationFieldGroupModel: "FormAssociationFieldGroupModel",
|
|
91
|
+
ApprovalDetailsAssociationFieldGroupModel: "DetailsAssociationFieldGroupModel",
|
|
92
|
+
ApplyTaskCardDetailsAssociationFieldGroupModel: "DetailsAssociationFieldGroupModel",
|
|
93
|
+
ApprovalTaskCardDetailsAssociationFieldGroupModel: "DetailsAssociationFieldGroupModel"
|
|
94
|
+
};
|
|
95
|
+
const APPROVAL_DEFAULT_GRID_USE_BY_OWNER_USE = {
|
|
96
|
+
TriggerChildPageTabModel: "TriggerBlockGridModel",
|
|
97
|
+
ApprovalChildPageTabModel: "ApprovalBlockGridModel",
|
|
98
|
+
ApplyFormModel: "PatternFormGridModel",
|
|
99
|
+
ProcessFormModel: "PatternFormGridModel",
|
|
100
|
+
ApprovalDetailsModel: "ApprovalDetailsGridModel",
|
|
101
|
+
ApplyTaskCardDetailsModel: "ApplyTaskCardGridModel",
|
|
102
|
+
ApprovalTaskCardDetailsModel: "ApprovalTaskCardGridModel"
|
|
103
|
+
};
|
|
104
|
+
const APPROVAL_FIELD_WRAPPER_USE_BY_CONTAINER_USE = {
|
|
105
|
+
ApplyFormModel: "PatternFormItemModel",
|
|
106
|
+
ProcessFormModel: "PatternFormItemModel",
|
|
107
|
+
PatternFormGridModel: "PatternFormItemModel",
|
|
108
|
+
ApprovalDetailsModel: "ApprovalDetailsItemModel",
|
|
109
|
+
ApprovalDetailsGridModel: "ApprovalDetailsItemModel",
|
|
110
|
+
ApplyTaskCardDetailsModel: "ApplyTaskCardDetailsItemModel",
|
|
111
|
+
ApplyTaskCardGridModel: "ApplyTaskCardDetailsItemModel",
|
|
112
|
+
ApprovalTaskCardDetailsModel: "ApprovalTaskCardDetailsItemModel",
|
|
113
|
+
ApprovalTaskCardGridModel: "ApprovalTaskCardDetailsItemModel"
|
|
114
|
+
};
|
|
115
|
+
function normalizeApprovalSemanticUse(use) {
|
|
116
|
+
const normalized = String(use || "").trim();
|
|
117
|
+
if (!normalized) {
|
|
118
|
+
return normalized;
|
|
119
|
+
}
|
|
120
|
+
return APPROVAL_SEMANTIC_USE_ALIASES[normalized] || normalized;
|
|
121
|
+
}
|
|
122
|
+
function getApprovalDefaultGridUse(use) {
|
|
123
|
+
const normalized = String(use || "").trim();
|
|
124
|
+
return normalized ? APPROVAL_DEFAULT_GRID_USE_BY_OWNER_USE[normalized] : void 0;
|
|
125
|
+
}
|
|
126
|
+
function getApprovalFieldWrapperUse(containerUse) {
|
|
127
|
+
const normalized = String(containerUse || "").trim();
|
|
128
|
+
return normalized ? APPROVAL_FIELD_WRAPPER_USE_BY_CONTAINER_USE[normalized] : void 0;
|
|
129
|
+
}
|
|
130
|
+
function isApprovalFormContainerUse(use) {
|
|
131
|
+
return APPROVAL_FORM_CONTAINER_USE_SET.has(String(use || "").trim());
|
|
132
|
+
}
|
|
133
|
+
function isApprovalTaskCardGridUse(use) {
|
|
134
|
+
return APPROVAL_TASK_CARD_GRID_USES.includes(
|
|
135
|
+
String(use || "").trim()
|
|
136
|
+
);
|
|
137
|
+
}
|
|
138
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
139
|
+
0 && (module.exports = {
|
|
140
|
+
APPROVAL_ACTION_CONTAINER_USES,
|
|
141
|
+
APPROVAL_BLOCK_GRID_USES,
|
|
142
|
+
APPROVAL_DETAILS_BLOCK_USES,
|
|
143
|
+
APPROVAL_DETAILS_GRID_USES,
|
|
144
|
+
APPROVAL_FIELD_WRAPPER_USES,
|
|
145
|
+
APPROVAL_FORM_BLOCK_USES,
|
|
146
|
+
APPROVAL_FORM_GRID_USES,
|
|
147
|
+
APPROVAL_PAGE_MODEL_USES,
|
|
148
|
+
APPROVAL_TAB_MODEL_USES,
|
|
149
|
+
APPROVAL_TASK_CARD_GRID_USES,
|
|
150
|
+
getApprovalDefaultGridUse,
|
|
151
|
+
getApprovalFieldWrapperUse,
|
|
152
|
+
isApprovalFormContainerUse,
|
|
153
|
+
isApprovalTaskCardGridUse,
|
|
154
|
+
normalizeApprovalSemanticUse
|
|
155
|
+
});
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
export type FlowSurfaceResolvedAssociationTitleField = {
|
|
10
|
+
field: any;
|
|
11
|
+
fieldName: string;
|
|
12
|
+
source: 'explicit' | 'firstTitleable' | 'relationFieldLabel';
|
|
13
|
+
targetCollection?: any;
|
|
14
|
+
};
|
|
15
|
+
export declare function isTitleableCollectionField(field: any): any;
|
|
16
|
+
export declare function getExplicitCollectionTitleFieldName(collection: any): string;
|
|
17
|
+
export declare function assertCollectionTitleFieldExists(collection: any, fieldName: string): any;
|
|
18
|
+
export declare function resolveCollectionSafeTitleField(collection: any): FlowSurfaceResolvedAssociationTitleField | null;
|
|
19
|
+
export declare function resolveAssociationTitleFieldTargetCollection(field: any, dataSourceKey: string, getCollection: (dataSourceKey: string, collectionName: string) => any): any;
|
|
20
|
+
export declare function resolveAssociationSafeTitleField(field: any, dataSourceKey: string, getCollection: (dataSourceKey: string, collectionName: string) => any): FlowSurfaceResolvedAssociationTitleField | null;
|