@nocobase/plugin-flow-engine 2.1.0-alpha.23 → 2.1.0-alpha.25
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/dist/ai/ai-employees/nathan/skills/frontend-developer/SKILLS.md +2 -2
- package/dist/externalVersion.js +10 -10
- package/dist/node_modules/ses/package.json +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/flow-surfaces/action-scope.d.ts +1 -0
- package/dist/server/flow-surfaces/action-scope.js +4 -0
- package/dist/server/flow-surfaces/apply/compiler.js +4 -2
- package/dist/server/flow-surfaces/association-interfaces.d.ts +10 -0
- package/dist/server/flow-surfaces/association-interfaces.js +39 -0
- package/dist/server/flow-surfaces/association-title-field.d.ts +1 -1
- package/dist/server/flow-surfaces/association-title-field.js +38 -4
- package/dist/server/flow-surfaces/blueprint/compile-blocks.js +72 -5
- package/dist/server/flow-surfaces/blueprint/public-types.d.ts +9 -1
- package/dist/server/flow-surfaces/builder.d.ts +27 -1
- package/dist/server/flow-surfaces/builder.js +105 -5
- package/dist/server/flow-surfaces/catalog.d.ts +2 -1
- package/dist/server/flow-surfaces/catalog.js +316 -119
- package/dist/server/flow-surfaces/compose-compiler.d.ts +8 -0
- package/dist/server/flow-surfaces/compose-compiler.js +9 -1
- package/dist/server/flow-surfaces/configure-options.js +72 -6
- 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.js +2 -2
- package/dist/server/flow-surfaces/default-block-actions.js +24 -0
- package/dist/server/flow-surfaces/field-binding-registry.d.ts +1 -0
- package/dist/server/flow-surfaces/field-binding-registry.js +5 -0
- package/dist/server/flow-surfaces/field-semantics.d.ts +1 -1
- package/dist/server/flow-surfaces/field-semantics.js +7 -4
- package/dist/server/flow-surfaces/field-type-resolver.d.ts +46 -0
- package/dist/server/flow-surfaces/field-type-resolver.js +322 -0
- package/dist/server/flow-surfaces/index.js +61 -2
- package/dist/server/flow-surfaces/node-use-sets.js +4 -0
- package/dist/server/flow-surfaces/placement.js +3 -0
- package/dist/server/flow-surfaces/public-data-surface-default-filter.d.ts +4 -0
- package/dist/server/flow-surfaces/public-data-surface-default-filter.js +45 -4
- package/dist/server/flow-surfaces/service-helpers.js +3 -70
- package/dist/server/flow-surfaces/service-utils.d.ts +13 -1
- package/dist/server/flow-surfaces/service-utils.js +58 -6
- package/dist/server/flow-surfaces/service.d.ts +59 -2
- package/dist/server/flow-surfaces/service.js +2269 -234
- package/dist/server/flow-surfaces/support-matrix.d.ts +1 -1
- package/dist/server/flow-surfaces/support-matrix.js +23 -0
- package/dist/server/flow-surfaces/surface-context.js +8 -5
- package/dist/swagger/flow-surfaces.d.ts +173 -2
- package/dist/swagger/flow-surfaces.examples.d.ts +59 -15
- package/dist/swagger/flow-surfaces.examples.js +69 -11
- package/dist/swagger/flow-surfaces.js +86 -17
- package/dist/swagger/index.d.ts +173 -2
- package/package.json +2 -2
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
name: frontend-developer
|
|
3
3
|
description: Assists with writing, validating, and testing JavaScript code snippets for NocoBase workflows and frontend blocks.
|
|
4
4
|
introduction:
|
|
5
|
-
title: '{{t("ai.skills.frontendDeveloper.title")}}'
|
|
6
|
-
about: '{{t("ai.skills.frontendDeveloper.about")}}'
|
|
5
|
+
title: '{{t("ai.skills.frontendDeveloper.title", { ns: "@nocobase/plugin-ai" })}}'
|
|
6
|
+
about: '{{t("ai.skills.frontendDeveloper.about", { ns: "@nocobase/plugin-ai" })}}'
|
|
7
7
|
---
|
|
8
8
|
|
|
9
9
|
You are a professional frontend developer assistant for NocoBase.
|
package/dist/externalVersion.js
CHANGED
|
@@ -8,16 +8,16 @@
|
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
10
|
module.exports = {
|
|
11
|
-
"@nocobase/client": "2.1.0-alpha.
|
|
11
|
+
"@nocobase/client": "2.1.0-alpha.25",
|
|
12
12
|
"lodash": "4.18.1",
|
|
13
|
-
"@nocobase/database": "2.1.0-alpha.
|
|
14
|
-
"@nocobase/data-source-manager": "2.1.0-alpha.
|
|
15
|
-
"@nocobase/resourcer": "2.1.0-alpha.
|
|
16
|
-
"@nocobase/utils": "2.1.0-alpha.
|
|
17
|
-
"@nocobase/cache": "2.1.0-alpha.
|
|
18
|
-
"@nocobase/plugin-localization": "2.1.0-alpha.
|
|
19
|
-
"@nocobase/server": "2.1.0-alpha.
|
|
20
|
-
"@nocobase/actions": "2.1.0-alpha.
|
|
13
|
+
"@nocobase/database": "2.1.0-alpha.25",
|
|
14
|
+
"@nocobase/data-source-manager": "2.1.0-alpha.25",
|
|
15
|
+
"@nocobase/resourcer": "2.1.0-alpha.25",
|
|
16
|
+
"@nocobase/utils": "2.1.0-alpha.25",
|
|
17
|
+
"@nocobase/cache": "2.1.0-alpha.25",
|
|
18
|
+
"@nocobase/plugin-localization": "2.1.0-alpha.25",
|
|
19
|
+
"@nocobase/server": "2.1.0-alpha.25",
|
|
20
|
+
"@nocobase/actions": "2.1.0-alpha.25",
|
|
21
21
|
"@formily/json-schema": "2.3.7",
|
|
22
|
-
"@nocobase/ai": "2.1.0-alpha.
|
|
22
|
+
"@nocobase/ai": "2.1.0-alpha.25"
|
|
23
23
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"2026-04-
|
|
1
|
+
{"name":"ses","version":"1.14.0","description":"Hardened JavaScript for Fearless Cooperation","keywords":["lockdown","harden","Compartment","assert","security","confinement","isolation","object capabilities","ocaps","secure execution","third-party code","prototype pollution","supply-chain attack","plugin"],"author":"Agoric","license":"Apache-2.0","homepage":"https://github.com/Agoric/SES-shim/tree/master/packages/ses#readme","repository":{"type":"git","url":"git+https://github.com/endojs/endo.git","directory":"packages/ses"},"bugs":{"url":"https://github.com/endojs/endo/issues"},"type":"module","main":"./dist/ses.cjs","module":"./index.js","unpkg":"./dist/ses.umd.js","types":"./types.d.ts","exports":{".":{"import":{"types":"./types.d.ts","xs":"./src-xs/index.js","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./lockdown":{"import":{"types":"./types.d.ts","default":"./index.js"},"require":{"types":"./dist/types.d.cts","default":"./dist/ses.cjs"}},"./hermes":{"require":{"types":"./dist/types.d.cts","default":"./dist/ses-hermes.cjs"}},"./tools.js":"./tools.js","./assert-shim.js":"./assert-shim.js","./lockdown-shim.js":{"xs":"./src-xs/lockdown-shim.js","default":"./lockdown-shim.js"},"./compartment-shim.js":{"xs":"./src-xs/compartment-shim.js","default":"./compartment-shim.js"},"./console-shim.js":"./console-shim.js","./package.json":"./package.json"},"scripts":{"build:vanilla":"node scripts/bundle.js","build:hermes":"node scripts/bundle.js hermes","build":"yarn build:vanilla && yarn build:hermes","clean":"rm -rf dist","cover":"c8 ava","demo":"python3 -m http.server","lint":"yarn lint:types && yarn lint:eslint","lint-fix":"eslint --fix .","lint:eslint":"eslint .","lint:types":"tsc","prepare":"npm run clean && npm run build","qt":"ava","test":"tsd && ava","test:hermes":"./scripts/hermes-test.sh","test:xs":"xst dist/ses.umd.js test/_lockdown-safe.js && node scripts/generate-test-xs.js && xst tmp/test-xs.js && rm -rf tmp","postpack":"git clean -fX \"*.d.ts*\" \"*.d.cts*\" \"*.d.mts*\" \"*.tsbuildinfo\""},"dependencies":{"@endo/cache-map":"^1.1.0","@endo/env-options":"^1.1.11","@endo/immutable-arraybuffer":"^1.1.2"},"devDependencies":{"@babel/generator":"^7.26.3","@babel/parser":"~7.26.2","@babel/traverse":"~7.25.9","@babel/types":"~7.26.0","@endo/compartment-mapper":"^1.6.3","@endo/module-source":"^1.3.3","@endo/test262-runner":"^0.1.48","@types/babel__traverse":"^7.20.5","ava":"^6.1.3","babel-eslint":"^10.1.0","c8":"^7.14.0","core-js":"^3.31.0","eslint":"^8.57.1","eslint-config-airbnb-base":"^15.0.0","eslint-config-prettier":"^9.1.0","eslint-plugin-eslint-comments":"^3.2.0","eslint-plugin-import":"^2.31.0","hermes-engine-cli":"^0.12.0","prettier":"^3.5.3","terser":"^5.16.6","tsd":"^0.31.2","typescript":"~5.8.3"},"files":["./*.d.ts","./*.js","./*.map","LICENSE*","SECURITY*","dist","lib","src","tools"],"publishConfig":{"access":"public"},"eslintConfig":{"extends":["plugin:@endo/ses"]},"ava":{"files":["test/**/*.test.*"],"timeout":"2m"},"typeCoverage":{"atLeast":81.17},"gitHead":"9815aea9541f241389d2135c6097a7442bdffa17","_lastModified":"2026-04-27T22:04:16.306Z"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-04-
|
|
1
|
+
{"name":"zod","version":"4.3.5","type":"module","license":"MIT","author":"Colin McDonnell <zod@colinhacks.com>","description":"TypeScript-first schema declaration and validation library with static type inference","homepage":"https://zod.dev","llms":"https://zod.dev/llms.txt","llmsFull":"https://zod.dev/llms-full.txt","mcpServer":"https://mcp.inkeep.com/zod/mcp","funding":"https://github.com/sponsors/colinhacks","sideEffects":false,"files":["src","**/*.js","**/*.mjs","**/*.cjs","**/*.d.ts","**/*.d.mts","**/*.d.cts","**/package.json"],"keywords":["typescript","schema","validation","type","inference"],"main":"./index.cjs","types":"./index.d.cts","module":"./index.js","zshy":{"exports":{"./package.json":"./package.json",".":"./src/index.ts","./mini":"./src/mini/index.ts","./locales":"./src/locales/index.ts","./v3":"./src/v3/index.ts","./v4":"./src/v4/index.ts","./v4-mini":"./src/v4-mini/index.ts","./v4/mini":"./src/v4/mini/index.ts","./v4/core":"./src/v4/core/index.ts","./v4/locales":"./src/v4/locales/index.ts","./v4/locales/*":"./src/v4/locales/*"},"conditions":{"@zod/source":"src"}},"exports":{"./package.json":"./package.json",".":{"@zod/source":"./src/index.ts","types":"./index.d.cts","import":"./index.js","require":"./index.cjs"},"./mini":{"@zod/source":"./src/mini/index.ts","types":"./mini/index.d.cts","import":"./mini/index.js","require":"./mini/index.cjs"},"./locales":{"@zod/source":"./src/locales/index.ts","types":"./locales/index.d.cts","import":"./locales/index.js","require":"./locales/index.cjs"},"./v3":{"@zod/source":"./src/v3/index.ts","types":"./v3/index.d.cts","import":"./v3/index.js","require":"./v3/index.cjs"},"./v4":{"@zod/source":"./src/v4/index.ts","types":"./v4/index.d.cts","import":"./v4/index.js","require":"./v4/index.cjs"},"./v4-mini":{"@zod/source":"./src/v4-mini/index.ts","types":"./v4-mini/index.d.cts","import":"./v4-mini/index.js","require":"./v4-mini/index.cjs"},"./v4/mini":{"@zod/source":"./src/v4/mini/index.ts","types":"./v4/mini/index.d.cts","import":"./v4/mini/index.js","require":"./v4/mini/index.cjs"},"./v4/core":{"@zod/source":"./src/v4/core/index.ts","types":"./v4/core/index.d.cts","import":"./v4/core/index.js","require":"./v4/core/index.cjs"},"./v4/locales":{"@zod/source":"./src/v4/locales/index.ts","types":"./v4/locales/index.d.cts","import":"./v4/locales/index.js","require":"./v4/locales/index.cjs"},"./v4/locales/*":{"@zod/source":"./src/v4/locales/*","types":"./v4/locales/*","import":"./v4/locales/*","require":"./v4/locales/*"}},"repository":{"type":"git","url":"git+https://github.com/colinhacks/zod.git"},"bugs":{"url":"https://github.com/colinhacks/zod/issues"},"support":{"backing":{"npm-funding":true}},"scripts":{"clean":"git clean -xdf . -e node_modules","build":"zshy --project tsconfig.build.json","postbuild":"tsx ../../scripts/write-stub-package-jsons.ts && pnpm biome check --write .","test:watch":"pnpm vitest","test":"pnpm vitest run","prepublishOnly":"tsx ../../scripts/check-versions.ts"},"_lastModified":"2026-04-27T22:04:17.394Z"}
|
|
@@ -9,6 +9,7 @@
|
|
|
9
9
|
import type { FlowSurfaceActionScope } from './types';
|
|
10
10
|
export declare const TABLE_BLOCK_ACTION_CONTAINER_USES: string[];
|
|
11
11
|
export declare const CALENDAR_BLOCK_ACTION_CONTAINER_USES: string[];
|
|
12
|
+
export declare const KANBAN_BLOCK_ACTION_CONTAINER_USES: string[];
|
|
12
13
|
export declare const TABLE_ROW_ACTION_CONTAINER_USES: string[];
|
|
13
14
|
export declare const LIST_BLOCK_ACTION_CONTAINER_USES: string[];
|
|
14
15
|
export declare const LIST_RECORD_ACTION_CONTAINER_USES: string[];
|
|
@@ -33,6 +33,7 @@ __export(action_scope_exports, {
|
|
|
33
33
|
DETAILS_ACTION_CONTAINER_USES: () => DETAILS_ACTION_CONTAINER_USES,
|
|
34
34
|
FILTER_FORM_ACTION_CONTAINER_USES: () => FILTER_FORM_ACTION_CONTAINER_USES,
|
|
35
35
|
FORM_ACTION_CONTAINER_USES: () => FORM_ACTION_CONTAINER_USES,
|
|
36
|
+
KANBAN_BLOCK_ACTION_CONTAINER_USES: () => KANBAN_BLOCK_ACTION_CONTAINER_USES,
|
|
36
37
|
LIST_BLOCK_ACTION_CONTAINER_USES: () => LIST_BLOCK_ACTION_CONTAINER_USES,
|
|
37
38
|
LIST_RECORD_ACTION_CONTAINER_USES: () => LIST_RECORD_ACTION_CONTAINER_USES,
|
|
38
39
|
RECORD_ACTION_CONTAINER_USES: () => RECORD_ACTION_CONTAINER_USES,
|
|
@@ -50,6 +51,7 @@ var import_errors = require("./errors");
|
|
|
50
51
|
const ACTION_SCOPE_SET = /* @__PURE__ */ new Set(["block", "record", "form", "filterForm", "actionPanel"]);
|
|
51
52
|
const TABLE_BLOCK_ACTION_CONTAINER_USES = ["TableBlockModel"];
|
|
52
53
|
const CALENDAR_BLOCK_ACTION_CONTAINER_USES = ["CalendarBlockModel"];
|
|
54
|
+
const KANBAN_BLOCK_ACTION_CONTAINER_USES = ["KanbanBlockModel"];
|
|
53
55
|
const TABLE_ROW_ACTION_CONTAINER_USES = ["TableActionsColumnModel"];
|
|
54
56
|
const LIST_BLOCK_ACTION_CONTAINER_USES = ["ListBlockModel", "GridCardBlockModel"];
|
|
55
57
|
const LIST_RECORD_ACTION_CONTAINER_USES = ["ListItemModel", "GridCardItemModel"];
|
|
@@ -69,6 +71,7 @@ const RECORD_ACTION_CONTAINER_USES = [
|
|
|
69
71
|
];
|
|
70
72
|
const ACTION_CONTAINER_SCOPE_BY_USE = Object.fromEntries([
|
|
71
73
|
...COLLECTION_BLOCK_ACTION_CONTAINER_USES.map((use) => [use, "block"]),
|
|
74
|
+
...KANBAN_BLOCK_ACTION_CONTAINER_USES.map((use) => [use, "block"]),
|
|
72
75
|
...RECORD_ACTION_CONTAINER_USES.map((use) => [use, "record"]),
|
|
73
76
|
...FORM_ACTION_CONTAINER_USES.map((use) => [use, "form"]),
|
|
74
77
|
...FILTER_FORM_ACTION_CONTAINER_USES.map((use) => [use, "filterForm"]),
|
|
@@ -139,6 +142,7 @@ function assertRequestedActionScope(input) {
|
|
|
139
142
|
DETAILS_ACTION_CONTAINER_USES,
|
|
140
143
|
FILTER_FORM_ACTION_CONTAINER_USES,
|
|
141
144
|
FORM_ACTION_CONTAINER_USES,
|
|
145
|
+
KANBAN_BLOCK_ACTION_CONTAINER_USES,
|
|
142
146
|
LIST_BLOCK_ACTION_CONTAINER_USES,
|
|
143
147
|
LIST_RECORD_ACTION_CONTAINER_USES,
|
|
144
148
|
RECORD_ACTION_CONTAINER_USES,
|
|
@@ -44,6 +44,7 @@ var import_catalog = require("../catalog");
|
|
|
44
44
|
var import_placement = require("../placement");
|
|
45
45
|
var import_errors = require("../errors");
|
|
46
46
|
var import_node_use_sets = require("../node-use-sets");
|
|
47
|
+
var import_field_type_resolver = require("../field-type-resolver");
|
|
47
48
|
var import_layout = require("./layout");
|
|
48
49
|
var import_matching = require("./matching");
|
|
49
50
|
function makeOpRef(path) {
|
|
@@ -580,7 +581,7 @@ function createActionNode(ops, state, parentRef, desiredNode, currentParent) {
|
|
|
580
581
|
return ref;
|
|
581
582
|
}
|
|
582
583
|
function createFieldNode(ops, state, parentRef, desiredNode) {
|
|
583
|
-
var _a;
|
|
584
|
+
var _a, _b, _c;
|
|
584
585
|
const popup = normalizeApplyPopup(desiredNode, `flowSurfaces apply field '${desiredNode.use}'`);
|
|
585
586
|
const standaloneType = desiredNode.use === "JSColumnModel" ? "jsColumn" : desiredNode.use === "JSItemModel" ? "jsItem" : desiredNode.use === "DividerItemModel" ? "divider" : void 0;
|
|
586
587
|
if (standaloneType) {
|
|
@@ -620,6 +621,7 @@ function createFieldNode(ops, state, parentRef, desiredNode) {
|
|
|
620
621
|
});
|
|
621
622
|
const fieldInit = import_lodash.default.get(innerField, ["stepParams", "fieldSettings", "init"]) || import_lodash.default.get(desiredNode, ["stepParams", "fieldSettings", "init"]);
|
|
622
623
|
const defaultTargetUid = import_lodash.default.get(desiredNode, ["stepParams", "filterFormItemSettings", "init", "defaultTargetUid"]);
|
|
624
|
+
const fieldType = (0, import_field_type_resolver.getPublicFieldTypeForUse)(((_c = (_b = innerField == null ? void 0 : innerField.stepParams) == null ? void 0 : _b.fieldBinding) == null ? void 0 : _c.use) || (innerField == null ? void 0 : innerField.use));
|
|
623
625
|
if (!(fieldInit == null ? void 0 : fieldInit.fieldPath)) {
|
|
624
626
|
throw new import_errors.FlowSurfaceBadRequestError(
|
|
625
627
|
`flowSurfaces apply field '${desiredNode.use}' requires stepParams.fieldSettings.init.fieldPath`
|
|
@@ -639,7 +641,7 @@ function createFieldNode(ops, state, parentRef, desiredNode) {
|
|
|
639
641
|
dataSourceKey: fieldInit.dataSourceKey,
|
|
640
642
|
collectionName: fieldInit.collectionName,
|
|
641
643
|
...requestedRenderer ? { renderer: requestedRenderer } : {},
|
|
642
|
-
...
|
|
644
|
+
...fieldType ? { fieldType } : {},
|
|
643
645
|
...defaultTargetUid ? { defaultTargetUid } : {},
|
|
644
646
|
...popup ? { popup } : {}
|
|
645
647
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
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 SINGLE_VALUE_ASSOCIATION_INTERFACES: Set<string>;
|
|
10
|
+
export declare const MULTI_VALUE_ASSOCIATION_INTERFACES: Set<string>;
|
|
@@ -0,0 +1,39 @@
|
|
|
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 association_interfaces_exports = {};
|
|
28
|
+
__export(association_interfaces_exports, {
|
|
29
|
+
MULTI_VALUE_ASSOCIATION_INTERFACES: () => MULTI_VALUE_ASSOCIATION_INTERFACES,
|
|
30
|
+
SINGLE_VALUE_ASSOCIATION_INTERFACES: () => SINGLE_VALUE_ASSOCIATION_INTERFACES
|
|
31
|
+
});
|
|
32
|
+
module.exports = __toCommonJS(association_interfaces_exports);
|
|
33
|
+
const SINGLE_VALUE_ASSOCIATION_INTERFACES = /* @__PURE__ */ new Set(["m2o", "o2o", "oho", "obo", "updatedBy", "createdBy"]);
|
|
34
|
+
const MULTI_VALUE_ASSOCIATION_INTERFACES = /* @__PURE__ */ new Set(["m2m", "o2m", "mbm"]);
|
|
35
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
36
|
+
0 && (module.exports = {
|
|
37
|
+
MULTI_VALUE_ASSOCIATION_INTERFACES,
|
|
38
|
+
SINGLE_VALUE_ASSOCIATION_INTERFACES
|
|
39
|
+
});
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
export type FlowSurfaceResolvedAssociationTitleField = {
|
|
10
10
|
field: any;
|
|
11
11
|
fieldName: string;
|
|
12
|
-
source: 'explicit' | 'firstTitleable';
|
|
12
|
+
source: 'explicit' | 'firstTitleable' | 'relationFieldLabel';
|
|
13
13
|
targetCollection?: any;
|
|
14
14
|
};
|
|
15
15
|
export declare function isTitleableCollectionField(field: any): any;
|
|
@@ -38,7 +38,6 @@ var import_errors = require("./errors");
|
|
|
38
38
|
var import_service_helpers = require("./service-helpers");
|
|
39
39
|
const FALLBACK_TITLE_USABLE_INTERFACES = /* @__PURE__ */ new Set([
|
|
40
40
|
"attachmentURL",
|
|
41
|
-
"createdAt",
|
|
42
41
|
"date",
|
|
43
42
|
"datetime",
|
|
44
43
|
"datetimeNoTz",
|
|
@@ -60,11 +59,12 @@ const FALLBACK_TITLE_USABLE_INTERFACES = /* @__PURE__ */ new Set([
|
|
|
60
59
|
"textarea",
|
|
61
60
|
"time",
|
|
62
61
|
"unixTimestamp",
|
|
63
|
-
"updatedAt",
|
|
64
62
|
"url",
|
|
65
63
|
"uuid",
|
|
66
64
|
"vditor"
|
|
67
65
|
]);
|
|
66
|
+
const LAST_RESORT_TITLE_FIELD_NAMES = /* @__PURE__ */ new Set(["createdAt", "updatedAt"]);
|
|
67
|
+
const LAST_RESORT_TITLE_FIELD_INTERFACES = /* @__PURE__ */ new Set(["createdAt", "updatedAt"]);
|
|
68
68
|
function isTitleableCollectionField(field) {
|
|
69
69
|
var _a, _b, _c, _d, _e, _f, _g, _h, _i, _j;
|
|
70
70
|
const configured = (field == null ? void 0 : field.titleable) ?? (field == null ? void 0 : field.titleUsable) ?? ((_a = field == null ? void 0 : field.options) == null ? void 0 : _a.titleable) ?? ((_b = field == null ? void 0 : field.options) == null ? void 0 : _b.titleUsable);
|
|
@@ -90,6 +90,25 @@ function getExplicitCollectionTitleFieldName(collection) {
|
|
|
90
90
|
const explicit = (_a = collection == null ? void 0 : collection.options) == null ? void 0 : _a.titleField;
|
|
91
91
|
return typeof explicit === "string" ? explicit.trim() || void 0 : void 0;
|
|
92
92
|
}
|
|
93
|
+
function normalizeTitleFieldName(value) {
|
|
94
|
+
if (typeof value !== "string") {
|
|
95
|
+
return void 0;
|
|
96
|
+
}
|
|
97
|
+
const normalized = value.trim();
|
|
98
|
+
return normalized || void 0;
|
|
99
|
+
}
|
|
100
|
+
function getAssociationConfiguredLabelFieldName(field) {
|
|
101
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
102
|
+
return normalizeTitleFieldName((_c = (_b = (_a = field == null ? void 0 : field.uiSchema) == null ? void 0 : _a["x-component-props"]) == null ? void 0 : _b.fieldNames) == null ? void 0 : _c.label) || normalizeTitleFieldName((_g = (_f = (_e = (_d = field == null ? void 0 : field.options) == null ? void 0 : _d.uiSchema) == null ? void 0 : _e["x-component-props"]) == null ? void 0 : _f.fieldNames) == null ? void 0 : _g.label);
|
|
103
|
+
}
|
|
104
|
+
function isLastResortTitleField(field) {
|
|
105
|
+
const fieldName = (0, import_service_helpers.getFieldName)(field);
|
|
106
|
+
if (fieldName && LAST_RESORT_TITLE_FIELD_NAMES.has(fieldName)) {
|
|
107
|
+
return true;
|
|
108
|
+
}
|
|
109
|
+
const fieldInterface = (0, import_service_helpers.getFieldInterface)(field);
|
|
110
|
+
return !!(fieldInterface && LAST_RESORT_TITLE_FIELD_INTERFACES.has(fieldInterface));
|
|
111
|
+
}
|
|
93
112
|
function assertCollectionTitleFieldExists(collection, fieldName) {
|
|
94
113
|
const normalizedFieldName = typeof fieldName === "string" ? fieldName.trim() : String(fieldName || "").trim();
|
|
95
114
|
if (!normalizedFieldName) {
|
|
@@ -123,9 +142,12 @@ function resolveCollectionSafeTitleField(collection) {
|
|
|
123
142
|
if (!firstTitleableField) {
|
|
124
143
|
return null;
|
|
125
144
|
}
|
|
145
|
+
const preferredTitleableField = (0, import_service_helpers.getCollectionFields)(collection).find(
|
|
146
|
+
(field) => !!(0, import_service_helpers.getFieldName)(field) && isTitleableCollectionField(field) && !isLastResortTitleField(field)
|
|
147
|
+
) || firstTitleableField;
|
|
126
148
|
return {
|
|
127
|
-
field:
|
|
128
|
-
fieldName: (0, import_service_helpers.getFieldName)(
|
|
149
|
+
field: preferredTitleableField,
|
|
150
|
+
fieldName: (0, import_service_helpers.getFieldName)(preferredTitleableField),
|
|
129
151
|
source: "firstTitleable",
|
|
130
152
|
targetCollection: collection
|
|
131
153
|
};
|
|
@@ -138,6 +160,18 @@ function resolveAssociationSafeTitleField(field, dataSourceKey, getCollection) {
|
|
|
138
160
|
if (!targetCollection) {
|
|
139
161
|
return null;
|
|
140
162
|
}
|
|
163
|
+
const configuredLabelFieldName = getAssociationConfiguredLabelFieldName(field);
|
|
164
|
+
if (configuredLabelFieldName) {
|
|
165
|
+
const configuredLabelField = (0, import_service_helpers.resolveFieldFromCollection)(targetCollection, configuredLabelFieldName);
|
|
166
|
+
if (configuredLabelField) {
|
|
167
|
+
return {
|
|
168
|
+
field: configuredLabelField,
|
|
169
|
+
fieldName: configuredLabelFieldName,
|
|
170
|
+
source: "relationFieldLabel",
|
|
171
|
+
targetCollection
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
141
175
|
const resolved = resolveCollectionSafeTitleField(targetCollection);
|
|
142
176
|
if (!resolved) {
|
|
143
177
|
return null;
|
|
@@ -47,9 +47,11 @@ var import_default_block_actions = require("../default-block-actions");
|
|
|
47
47
|
var import_public_data_surface_default_filter = require("../public-data-surface-default-filter");
|
|
48
48
|
var import_defaults = require("./defaults");
|
|
49
49
|
var import_private_utils = require("./private-utils");
|
|
50
|
+
var import_field_type_resolver = require("../field-type-resolver");
|
|
50
51
|
const APPLY_BLUEPRINT_BLOCK_TYPE_ENUM = [
|
|
51
52
|
"table",
|
|
52
53
|
"calendar",
|
|
54
|
+
"kanban",
|
|
53
55
|
"createForm",
|
|
54
56
|
"editForm",
|
|
55
57
|
"details",
|
|
@@ -60,7 +62,8 @@ const APPLY_BLUEPRINT_BLOCK_TYPE_ENUM = [
|
|
|
60
62
|
"iframe",
|
|
61
63
|
"chart",
|
|
62
64
|
"actionPanel",
|
|
63
|
-
"jsBlock"
|
|
65
|
+
"jsBlock",
|
|
66
|
+
"tree"
|
|
64
67
|
];
|
|
65
68
|
const APPLY_BLUEPRINT_BLOCK_ALLOWED_KEYS = [
|
|
66
69
|
"key",
|
|
@@ -89,6 +92,14 @@ const APPLY_BLUEPRINT_FIELD_ALLOWED_KEYS = [
|
|
|
89
92
|
"associationPathName",
|
|
90
93
|
"renderer",
|
|
91
94
|
"type",
|
|
95
|
+
"fieldType",
|
|
96
|
+
"fields",
|
|
97
|
+
"selectorFields",
|
|
98
|
+
"titleField",
|
|
99
|
+
"openMode",
|
|
100
|
+
"popupSize",
|
|
101
|
+
"pageSize",
|
|
102
|
+
"showIndex",
|
|
92
103
|
"label",
|
|
93
104
|
"target",
|
|
94
105
|
"settings",
|
|
@@ -156,6 +167,9 @@ function assertApplyBlueprintFieldsLayoutHost(block, context) {
|
|
|
156
167
|
if (!Object.prototype.hasOwnProperty.call(block, "fieldsLayout")) {
|
|
157
168
|
return;
|
|
158
169
|
}
|
|
170
|
+
if ((0, import_private_utils.readOptionalString)(block.type) === "kanban") {
|
|
171
|
+
(0, import_errors.throwBadRequest)(`${context}.fieldsLayout is not supported on kanban main blocks; use fields[] only`);
|
|
172
|
+
}
|
|
159
173
|
if (APPLY_BLUEPRINT_FIELD_GRID_BLOCK_TYPES.has((0, import_private_utils.readOptionalString)(block.type) || "")) {
|
|
160
174
|
return;
|
|
161
175
|
}
|
|
@@ -181,6 +195,34 @@ function assertApplyBlueprintCalendarMainContent(block, context) {
|
|
|
181
195
|
);
|
|
182
196
|
}
|
|
183
197
|
}
|
|
198
|
+
function assertApplyBlueprintKanbanMainContent(block, context) {
|
|
199
|
+
if ((0, import_private_utils.readOptionalString)(block.type) !== "kanban") {
|
|
200
|
+
return;
|
|
201
|
+
}
|
|
202
|
+
if (Object.prototype.hasOwnProperty.call(block, "fieldGroups")) {
|
|
203
|
+
(0, import_errors.throwBadRequest)(`${context}.fieldGroups is not supported on kanban main blocks; use fields instead`);
|
|
204
|
+
}
|
|
205
|
+
if (Object.prototype.hasOwnProperty.call(block, "recordActions")) {
|
|
206
|
+
(0, import_errors.throwBadRequest)(`${context}.recordActions is not supported on kanban main blocks in v1`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
function assertApplyBlueprintTreeMainContent(block, context) {
|
|
210
|
+
if ((0, import_private_utils.readOptionalString)(block.type) !== "tree") {
|
|
211
|
+
return;
|
|
212
|
+
}
|
|
213
|
+
if (Object.prototype.hasOwnProperty.call(block, "fields")) {
|
|
214
|
+
(0, import_errors.throwBadRequest)(`${context}.fields is not supported on tree blocks`);
|
|
215
|
+
}
|
|
216
|
+
if (Object.prototype.hasOwnProperty.call(block, "fieldGroups")) {
|
|
217
|
+
(0, import_errors.throwBadRequest)(`${context}.fieldGroups is not supported on tree blocks`);
|
|
218
|
+
}
|
|
219
|
+
if (Object.prototype.hasOwnProperty.call(block, "actions")) {
|
|
220
|
+
(0, import_errors.throwBadRequest)(`${context}.actions is not supported on tree blocks`);
|
|
221
|
+
}
|
|
222
|
+
if (Object.prototype.hasOwnProperty.call(block, "recordActions")) {
|
|
223
|
+
(0, import_errors.throwBadRequest)(`${context}.recordActions is not supported on tree blocks`);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
184
226
|
function assertApplyBlueprintBlockType(type, context) {
|
|
185
227
|
if (!type) {
|
|
186
228
|
return;
|
|
@@ -772,8 +814,16 @@ function compileField(input, index, scopePrefix, assets, localBlockKeys, context
|
|
|
772
814
|
(0, import_errors.throwBadRequest)(`${context}[${index}] must be a string or object`);
|
|
773
815
|
}
|
|
774
816
|
(0, import_private_utils.assertOnlyAllowedKeys)(input, `${context}[${index}]`, APPLY_BLUEPRINT_FIELD_ALLOWED_KEYS);
|
|
817
|
+
(0, import_field_type_resolver.assertNoInternalFieldKeys)(input, `${context}[${index}]`);
|
|
818
|
+
(0, import_field_type_resolver.assertNoInternalFieldKeys)(input.settings, `${context}[${index}].settings`);
|
|
775
819
|
const fieldPath = (0, import_private_utils.readOptionalString)(input.field);
|
|
776
820
|
const syntheticType = (0, import_private_utils.readOptionalString)(input.type);
|
|
821
|
+
const fieldType = (0, import_field_type_resolver.normalizePublicFieldType)(input.fieldType, `${context}[${index}]`);
|
|
822
|
+
const fields = (0, import_field_type_resolver.normalizePublicFieldNameList)(input.fields, `${context}[${index}].fields`);
|
|
823
|
+
const selectorFields = (0, import_field_type_resolver.normalizePublicFieldNameList)(
|
|
824
|
+
input.selectorFields,
|
|
825
|
+
`${context}[${index}].selectorFields`
|
|
826
|
+
);
|
|
777
827
|
if (!fieldPath && !syntheticType) {
|
|
778
828
|
(0, import_errors.throwBadRequest)(`${context}[${index}] requires field or type`);
|
|
779
829
|
}
|
|
@@ -799,6 +849,14 @@ function compileField(input, index, scopePrefix, assets, localBlockKeys, context
|
|
|
799
849
|
associationPathName: (0, import_private_utils.readOptionalString)(input.associationPathName),
|
|
800
850
|
renderer: (0, import_private_utils.readOptionalString)(input.renderer),
|
|
801
851
|
type: syntheticType,
|
|
852
|
+
fieldType,
|
|
853
|
+
fields,
|
|
854
|
+
selectorFields,
|
|
855
|
+
titleField: (0, import_private_utils.readOptionalString)(input.titleField),
|
|
856
|
+
openMode: (0, import_private_utils.readOptionalString)(input.openMode),
|
|
857
|
+
popupSize: (0, import_private_utils.readOptionalString)(input.popupSize),
|
|
858
|
+
pageSize: input.pageSize,
|
|
859
|
+
showIndex: input.showIndex,
|
|
802
860
|
target: resolveTargetBlockKey(input.target, localBlockKeys, `${context}[${index}].target`),
|
|
803
861
|
settings: Object.keys(settings).length ? settings : void 0,
|
|
804
862
|
popup
|
|
@@ -858,6 +916,8 @@ function compileBlocks(input, scopePrefix, assets, context, defaults, requiredEx
|
|
|
858
916
|
(0, import_errors.throwBadRequest)(`${context}[${index}] must be an object`);
|
|
859
917
|
}
|
|
860
918
|
assertApplyBlueprintCalendarMainContent(block, `${context}[${index}]`);
|
|
919
|
+
assertApplyBlueprintKanbanMainContent(block, `${context}[${index}]`);
|
|
920
|
+
assertApplyBlueprintTreeMainContent(block, `${context}[${index}]`);
|
|
861
921
|
const fields = resolveBlockFieldInputs(block, `${context}[${index}]`);
|
|
862
922
|
fields.forEach((field, fieldIndex) => {
|
|
863
923
|
if (typeof (field == null ? void 0 : field.target) !== "string" || !field.target.trim()) {
|
|
@@ -877,6 +937,8 @@ function compileBlocks(input, scopePrefix, assets, context, defaults, requiredEx
|
|
|
877
937
|
(0, import_private_utils.assertOnlyAllowedKeys)(block, `${context}[${index}]`, APPLY_BLUEPRINT_BLOCK_ALLOWED_KEYS);
|
|
878
938
|
assertApplyBlueprintBlockType((0, import_private_utils.readOptionalString)(block.type), `${context}[${index}]`);
|
|
879
939
|
assertApplyBlueprintCalendarMainContent(block, `${context}[${index}]`);
|
|
940
|
+
assertApplyBlueprintKanbanMainContent(block, `${context}[${index}]`);
|
|
941
|
+
assertApplyBlueprintTreeMainContent(block, `${context}[${index}]`);
|
|
880
942
|
const explicitKey = (0, import_private_utils.readString)(block.key);
|
|
881
943
|
const fallback = block.type ? `${block.type}_${index + 1}` : `block_${index + 1}`;
|
|
882
944
|
const localKey = (0, import_private_utils.normalizeBlueprintLocalKey)(block.key, fallback, `${context}[${index}].key`);
|
|
@@ -913,6 +975,11 @@ function compileBlocks(input, scopePrefix, assets, context, defaults, requiredEx
|
|
|
913
975
|
template,
|
|
914
976
|
path: blockContext
|
|
915
977
|
});
|
|
978
|
+
if (!import_lodash.default.isUndefined(blockDefaultFilter)) {
|
|
979
|
+
(0, import_public_data_surface_default_filter.assertFlowSurfaceConcreteDefaultFilterItem)("applyBlueprint", blockDefaultFilter, {
|
|
980
|
+
path: blockContext
|
|
981
|
+
});
|
|
982
|
+
}
|
|
916
983
|
const fieldInputs = resolveBlockFieldInputs(block, blockContext);
|
|
917
984
|
const fields = fieldInputs.map(
|
|
918
985
|
(field, fieldIndex) => compileField(
|
|
@@ -966,10 +1033,10 @@ function compileBlocks(input, scopePrefix, assets, context, defaults, requiredEx
|
|
|
966
1033
|
resource: buildBlockResource(block, blockContext),
|
|
967
1034
|
template,
|
|
968
1035
|
settings: Object.keys(settings).length ? settings : void 0,
|
|
969
|
-
fields: blockType === "calendar" ? void 0 : fields,
|
|
970
|
-
fieldsLayout: blockType === "calendar" ? void 0 : fieldsLayout,
|
|
971
|
-
actions: actionsWithDefaultFilter,
|
|
972
|
-
recordActions: blockType === "calendar" ? void 0 : mergedActions.recordActions
|
|
1036
|
+
fields: blockType === "calendar" || blockType === "tree" ? void 0 : fields,
|
|
1037
|
+
fieldsLayout: blockType === "calendar" || blockType === "kanban" || blockType === "tree" ? void 0 : fieldsLayout,
|
|
1038
|
+
actions: blockType === "tree" ? void 0 : actionsWithDefaultFilter,
|
|
1039
|
+
recordActions: blockType === "calendar" || blockType === "kanban" || blockType === "tree" ? void 0 : mergedActions.recordActions
|
|
973
1040
|
});
|
|
974
1041
|
});
|
|
975
1042
|
return {
|
|
@@ -85,6 +85,14 @@ export type FlowSurfaceApplyBlueprintFieldObjectSpec = {
|
|
|
85
85
|
associationPathName?: string;
|
|
86
86
|
renderer?: string;
|
|
87
87
|
type?: string;
|
|
88
|
+
fieldType?: string;
|
|
89
|
+
fields?: string[];
|
|
90
|
+
selectorFields?: string[];
|
|
91
|
+
titleField?: string;
|
|
92
|
+
openMode?: string;
|
|
93
|
+
popupSize?: string;
|
|
94
|
+
pageSize?: number;
|
|
95
|
+
showIndex?: boolean;
|
|
88
96
|
label?: string;
|
|
89
97
|
target?: string;
|
|
90
98
|
settings?: Record<string, any>;
|
|
@@ -132,7 +140,7 @@ export type FlowSurfaceApplyBlueprintActionObjectSpec = {
|
|
|
132
140
|
chart?: string;
|
|
133
141
|
};
|
|
134
142
|
export type FlowSurfaceApplyBlueprintActionSpec = string | FlowSurfaceApplyBlueprintActionObjectSpec;
|
|
135
|
-
export type FlowSurfaceApplyBlueprintBlockType = 'table' | 'createForm' | 'editForm' | 'details' | 'filterForm' | 'list' | 'gridCard' | 'markdown' | 'iframe' | 'chart' | 'actionPanel' | 'jsBlock';
|
|
143
|
+
export type FlowSurfaceApplyBlueprintBlockType = 'table' | 'createForm' | 'editForm' | 'details' | 'filterForm' | 'calendar' | 'kanban' | 'list' | 'gridCard' | 'markdown' | 'iframe' | 'chart' | 'actionPanel' | 'jsBlock' | 'tree';
|
|
136
144
|
export type FlowSurfaceApplyBlueprintBlockSpec = {
|
|
137
145
|
key?: string;
|
|
138
146
|
type?: FlowSurfaceApplyBlueprintBlockType;
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
8
|
*/
|
|
9
9
|
import _ from 'lodash';
|
|
10
|
-
import type { FlowSurfaceNodeSpec } from './types';
|
|
10
|
+
import type { FlowSurfaceNodeDefaults, FlowSurfaceNodeSpec } from './types';
|
|
11
11
|
type BuildFieldParams = {
|
|
12
12
|
wrapperUse: string;
|
|
13
13
|
fieldUse: string;
|
|
@@ -145,6 +145,31 @@ export declare function buildFieldTree(params: BuildFieldParams): {
|
|
|
145
145
|
stepParams: Record<string, any>;
|
|
146
146
|
subModels: {
|
|
147
147
|
field: {
|
|
148
|
+
uid: string;
|
|
149
|
+
use: string;
|
|
150
|
+
props: Record<string, any>;
|
|
151
|
+
stepParams: Record<string, any> & {
|
|
152
|
+
fieldSettings: {
|
|
153
|
+
init: _.Dictionary<string>;
|
|
154
|
+
};
|
|
155
|
+
fieldBinding: {
|
|
156
|
+
use: string;
|
|
157
|
+
};
|
|
158
|
+
};
|
|
159
|
+
};
|
|
160
|
+
};
|
|
161
|
+
};
|
|
162
|
+
} | {
|
|
163
|
+
wrapperUid: string;
|
|
164
|
+
innerUid: string;
|
|
165
|
+
model: {
|
|
166
|
+
uid: string;
|
|
167
|
+
use: string;
|
|
168
|
+
props: Record<string, any>;
|
|
169
|
+
stepParams: Record<string, any>;
|
|
170
|
+
subModels: {
|
|
171
|
+
field: {
|
|
172
|
+
subModels?: Record<string, FlowSurfaceNodeSpec | FlowSurfaceNodeSpec[]>;
|
|
148
173
|
uid: string;
|
|
149
174
|
use: string;
|
|
150
175
|
props: Record<string, any>;
|
|
@@ -208,4 +233,5 @@ export declare function buildCanonicalTableActionsColumnNode(options?: {
|
|
|
208
233
|
flowRegistry: Record<string, any>;
|
|
209
234
|
};
|
|
210
235
|
export declare function assignClientKeysToUids(spec: FlowSurfaceNodeSpec, clientKeyToUid: Record<string, string>): FlowSurfaceNodeSpec;
|
|
236
|
+
export declare function getStandaloneFieldDefaults(use: string): FlowSurfaceNodeDefaults;
|
|
211
237
|
export {};
|