@nocobase/client 0.7.0-alpha.2 → 0.7.0-alpha.22

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.
Files changed (115) hide show
  1. package/esm/acl/Configuration/RoleConfigure.js +4 -4
  2. package/esm/acl/Configuration/RoleConfigure.js.map +1 -1
  3. package/esm/acl/Configuration/schemas/roles.js +1 -1
  4. package/esm/acl/Configuration/schemas/roles.js.map +1 -1
  5. package/esm/locale/index.d.ts +5 -0
  6. package/esm/locale/zh_CN.d.ts +5 -0
  7. package/esm/locale/zh_CN.js +5 -0
  8. package/esm/locale/zh_CN.js.map +1 -1
  9. package/esm/schema-component/antd/menu/Menu.js +1 -1
  10. package/esm/schema-component/antd/menu/Menu.js.map +1 -1
  11. package/esm/schema-initializer/buttons/BlockInitializers.d.ts +2 -11
  12. package/esm/schema-initializer/buttons/BlockInitializers.js +2 -0
  13. package/esm/schema-initializer/buttons/BlockInitializers.js.map +1 -1
  14. package/esm/workflow/calculators.js +2 -4
  15. package/esm/workflow/calculators.js.map +1 -1
  16. package/esm/workflow/nodes/calculation.d.ts +1 -1
  17. package/esm/workflow/nodes/calculation.js +9 -3
  18. package/esm/workflow/nodes/calculation.js.map +1 -1
  19. package/esm/workflow/nodes/condition.d.ts +3 -3
  20. package/esm/workflow/nodes/condition.js +15 -9
  21. package/esm/workflow/nodes/condition.js.map +1 -1
  22. package/esm/workflow/nodes/create.d.ts +3 -3
  23. package/esm/workflow/nodes/create.js +5 -5
  24. package/esm/workflow/nodes/create.js.map +1 -1
  25. package/esm/workflow/nodes/destroy.d.ts +2 -2
  26. package/esm/workflow/nodes/destroy.js +3 -3
  27. package/esm/workflow/nodes/destroy.js.map +1 -1
  28. package/esm/workflow/nodes/index.d.ts +1 -1
  29. package/esm/workflow/nodes/index.js +75 -56
  30. package/esm/workflow/nodes/index.js.map +1 -1
  31. package/esm/workflow/nodes/parallel.d.ts +2 -2
  32. package/esm/workflow/nodes/parallel.js +11 -5
  33. package/esm/workflow/nodes/parallel.js.map +1 -1
  34. package/esm/workflow/nodes/query.d.ts +3 -3
  35. package/esm/workflow/nodes/query.js +5 -5
  36. package/esm/workflow/nodes/query.js.map +1 -1
  37. package/esm/workflow/nodes/update.d.ts +2 -2
  38. package/esm/workflow/nodes/update.js +3 -3
  39. package/esm/workflow/nodes/update.js.map +1 -1
  40. package/esm/workflow/schemas/collection.js +10 -6
  41. package/esm/workflow/schemas/collection.js.map +1 -1
  42. package/esm/workflow/schemas/workflows.js +20 -12
  43. package/esm/workflow/schemas/workflows.js.map +1 -1
  44. package/esm/workflow/triggers/index.js +19 -9
  45. package/esm/workflow/triggers/index.js.map +1 -1
  46. package/esm/workflow/triggers/model.d.ts +18 -4
  47. package/esm/workflow/triggers/model.js +47 -9
  48. package/esm/workflow/triggers/model.js.map +1 -1
  49. package/lib/acl/Configuration/RoleConfigure.js +4 -4
  50. package/lib/acl/Configuration/RoleConfigure.js.map +1 -1
  51. package/lib/acl/Configuration/schemas/roles.js +1 -1
  52. package/lib/acl/Configuration/schemas/roles.js.map +1 -1
  53. package/lib/locale/index.d.ts +5 -0
  54. package/lib/locale/zh_CN.d.ts +5 -0
  55. package/lib/locale/zh_CN.js +5 -0
  56. package/lib/locale/zh_CN.js.map +1 -1
  57. package/lib/schema-component/antd/menu/Menu.js +1 -1
  58. package/lib/schema-component/antd/menu/Menu.js.map +1 -1
  59. package/lib/schema-initializer/buttons/BlockInitializers.d.ts +2 -11
  60. package/lib/schema-initializer/buttons/BlockInitializers.js +2 -0
  61. package/lib/schema-initializer/buttons/BlockInitializers.js.map +1 -1
  62. package/lib/workflow/calculators.js +2 -4
  63. package/lib/workflow/calculators.js.map +1 -1
  64. package/lib/workflow/nodes/calculation.d.ts +1 -1
  65. package/lib/workflow/nodes/calculation.js +9 -3
  66. package/lib/workflow/nodes/calculation.js.map +1 -1
  67. package/lib/workflow/nodes/condition.d.ts +3 -3
  68. package/lib/workflow/nodes/condition.js +13 -7
  69. package/lib/workflow/nodes/condition.js.map +1 -1
  70. package/lib/workflow/nodes/create.d.ts +3 -3
  71. package/lib/workflow/nodes/create.js +5 -5
  72. package/lib/workflow/nodes/create.js.map +1 -1
  73. package/lib/workflow/nodes/destroy.d.ts +2 -2
  74. package/lib/workflow/nodes/destroy.js +3 -3
  75. package/lib/workflow/nodes/destroy.js.map +1 -1
  76. package/lib/workflow/nodes/index.d.ts +1 -1
  77. package/lib/workflow/nodes/index.js +79 -60
  78. package/lib/workflow/nodes/index.js.map +1 -1
  79. package/lib/workflow/nodes/parallel.d.ts +2 -2
  80. package/lib/workflow/nodes/parallel.js +10 -4
  81. package/lib/workflow/nodes/parallel.js.map +1 -1
  82. package/lib/workflow/nodes/query.d.ts +3 -3
  83. package/lib/workflow/nodes/query.js +5 -5
  84. package/lib/workflow/nodes/query.js.map +1 -1
  85. package/lib/workflow/nodes/update.d.ts +2 -2
  86. package/lib/workflow/nodes/update.js +3 -3
  87. package/lib/workflow/nodes/update.js.map +1 -1
  88. package/lib/workflow/schemas/collection.js +10 -6
  89. package/lib/workflow/schemas/collection.js.map +1 -1
  90. package/lib/workflow/schemas/workflows.js +20 -12
  91. package/lib/workflow/schemas/workflows.js.map +1 -1
  92. package/lib/workflow/triggers/index.js +19 -9
  93. package/lib/workflow/triggers/index.js.map +1 -1
  94. package/lib/workflow/triggers/model.d.ts +18 -4
  95. package/lib/workflow/triggers/model.js +47 -9
  96. package/lib/workflow/triggers/model.js.map +1 -1
  97. package/package.json +4 -4
  98. package/src/acl/Configuration/RoleConfigure.tsx +4 -4
  99. package/src/acl/Configuration/schemas/roles.ts +1 -1
  100. package/src/locale/zh_CN.ts +5 -1
  101. package/src/schema-component/antd/menu/Menu.tsx +2 -1
  102. package/src/schema-initializer/buttons/BlockInitializers.tsx +2 -0
  103. package/src/workflow/calculators.tsx +2 -4
  104. package/src/workflow/nodes/calculation.tsx +4 -3
  105. package/src/workflow/nodes/condition.tsx +35 -12
  106. package/src/workflow/nodes/create.tsx +10 -7
  107. package/src/workflow/nodes/destroy.tsx +3 -3
  108. package/src/workflow/nodes/index.tsx +64 -59
  109. package/src/workflow/nodes/parallel.tsx +25 -5
  110. package/src/workflow/nodes/query.tsx +5 -5
  111. package/src/workflow/nodes/update.tsx +3 -3
  112. package/src/workflow/schemas/collection.ts +9 -7
  113. package/src/workflow/schemas/workflows.ts +20 -12
  114. package/src/workflow/triggers/index.tsx +11 -9
  115. package/src/workflow/triggers/model.tsx +48 -9
@@ -1 +1 @@
1
- {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/workflow/nodes/condition.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css, cx } from \"@emotion/css\";\nimport { Button, Select } from \"antd\";\nimport { CloseCircleOutlined } from '@ant-design/icons';\nimport { Trans } from \"react-i18next\";\n\nimport { NodeDefaultView } from \".\";\nimport { Branch, useFlowContext } from \"../WorkflowCanvas\";\nimport { branchBlockClass, nodeSubtreeClass } from \"../style\";\nimport { Calculation } from \"../calculators\";\n// import { SchemaComponent } from \"../../schema-component\";\n\nfunction CalculationItem({ value, onChange, onRemove }) {\n if (!value) {\n return null;\n }\n\n const { calculator, operands = [] } = value;\n\n return (\n <div className={css`\n display: flex;\n position: relative;\n margin: .5em 0;\n `}>\n {value.group\n ? (\n <CalculationGroup\n value={value.group}\n onChange={group => onChange({ ...value, group })}\n />\n )\n : <Calculation operands={operands} calculator={calculator} onChange={onChange} />\n }\n <Button onClick={onRemove} type=\"text\" icon={<CloseCircleOutlined />} />\n </div>\n );\n}\n\nfunction CalculationGroup({ value, onChange }) {\n const { type = 'and', calculations = [] } = value;\n\n function onAddSingle() {\n onChange({\n ...value,\n calculations: [...calculations, { not: false, calculator: 'equal' }]\n });\n }\n\n function onAddGroup() {\n onChange({\n ...value,\n calculations: [...calculations, { not: false, group: { type: 'and', calculations: [] } }]\n });\n }\n\n function onRemove(i: number) {\n calculations.splice(i, 1);\n onChange({ ...value, calculations: [...calculations] });\n }\n\n function onItemChange(i: number, v) {\n calculations.splice(i, 1, v);\n\n onChange({ ...value, calculations: [...calculations] });\n }\n\n return (\n <div className={css`\n position: relative;\n width: 100%;\n padding: .5em 1em;\n border: 1px dashed #ddd;\n\n + button{\n position: absolute;\n right: 0;\n }\n `}>\n <div className={css`\n display: flex;\n align-items: center;\n gap: .5em;\n\n .ant-select{\n width: auto;\n }\n `}>\n <Trans>\n {'Meet '}\n <Select value={type} onChange={t => onChange({ ...value, type: t })}>\n <Select.Option value=\"and\">All</Select.Option>\n <Select.Option value=\"or\">Any</Select.Option>\n </Select>\n {' conditions in the group'}\n </Trans>\n </div>\n <div className=\"calculation-items\">\n {calculations.map((calculation, i) => (\n <CalculationItem\n key={`${calculation.calculator}_${i}`}\n value={calculation}\n onChange={onItemChange.bind(this, i)}\n onRemove={() => onRemove(i)}\n />\n ))}\n </div>\n <div className={css`\n a:not(:last-child){\n margin-right: 1em;\n }\n `} >\n <a onClick={onAddSingle}>添加条件</a>\n <a onClick={onAddGroup}>添加条件组</a>\n </div>\n </div>\n );\n}\n\nfunction CalculationConfig({ value, onChange }) {\n const rule = value && Object.keys(value).length\n ? value\n : { group: { type: 'and', calculations: [] } };\n return (\n <CalculationGroup value={rule.group} onChange={group => onChange({ ...rule, group })} />\n );\n}\n\nexport default {\n title: '条件判断',\n type: 'condition',\n group: 'control',\n fieldset: {\n rejectOnFalse: {\n type: 'boolean',\n name: 'rejectOnFalse',\n title: '模式',\n 'x-decorator': 'FormItem',\n 'x-component': 'Radio.Group',\n 'x-component-props': {\n disabled: true,\n },\n enum: [\n { value: true, label: '通行模式' },\n { value: false, label: '分支模式' },\n ],\n },\n calculation: {\n type: 'string',\n name: 'calculation',\n title: '条件配置',\n 'x-decorator': 'FormItem',\n 'x-component': 'CalculationConfig',\n }\n },\n view: {\n\n },\n options: [\n { label: '通行模式', key: 'rejectOnFalse', value: { rejectOnFalse: true } },\n { label: '分支模式', key: 'branch', value: { rejectOnFalse: false } }\n ],\n render(data) {\n const { id, config: { rejectOnFalse } } = data;\n const { nodes } = useFlowContext();\n const trueEntry = nodes.find(item => item.upstreamId === id && item.branchIndex === 1);\n const falseEntry = nodes.find(item => item.upstreamId === id && item.branchIndex === 0);\n return (\n <NodeDefaultView data={data}>\n {rejectOnFalse ? null : (\n <div className={cx(nodeSubtreeClass)}>\n <div\n className={cx(branchBlockClass, css`\n > * > .workflow-branch-lines{\n > button{\n display: none;\n }\n }\n `)}\n >\n <Branch from={data} entry={falseEntry} branchIndex={0}/>\n <Branch from={data} entry={trueEntry} branchIndex={1} />\n </div>\n <div\n className={css`\n position: relative;\n height: 2em;\n overflow: visible;\n\n :before,:after{\n position: absolute;\n top: calc(1.5em - 1px);\n line-height: 1em;\n color: #999;\n background-color: #f0f2f5;\n padding: 1px;\n }\n\n :before{\n content: \"否\";\n right: 4em;\n }\n\n :after{\n content: \"是\";\n left: 4em;\n }\n `}\n />\n </div>\n )}\n </NodeDefaultView>\n )\n },\n components: {\n CalculationConfig\n }\n};\n"]}
1
+ {"version":3,"file":"condition.js","sourceRoot":"","sources":["../../../src/workflow/nodes/condition.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\nimport { css, cx } from \"@emotion/css\";\nimport { Button, Select, Tooltip } from \"antd\";\nimport { CloseCircleOutlined, QuestionCircleOutlined } from '@ant-design/icons';\nimport { Trans } from \"react-i18next\";\n\nimport { NodeDefaultView } from \".\";\nimport { Branch, useFlowContext } from \"../WorkflowCanvas\";\nimport { branchBlockClass, nodeSubtreeClass } from \"../style\";\nimport { Calculation } from \"../calculators\";\n// import { SchemaComponent } from \"../../schema-component\";\n\nfunction CalculationItem({ value, onChange, onRemove }) {\n if (!value) {\n return null;\n }\n\n const { calculator, operands = [] } = value;\n\n return (\n <div className={css`\n display: flex;\n position: relative;\n margin: .5em 0;\n `}>\n {value.group\n ? (\n <CalculationGroup\n value={value.group}\n onChange={group => onChange({ ...value, group })}\n />\n )\n : <Calculation operands={operands} calculator={calculator} onChange={onChange} />\n }\n <Button onClick={onRemove} type=\"text\" icon={<CloseCircleOutlined />} />\n </div>\n );\n}\n\nfunction CalculationGroup({ value, onChange }) {\n const { type = 'and', calculations = [] } = value;\n\n function onAddSingle() {\n onChange({\n ...value,\n calculations: [...calculations, { not: false, calculator: 'equal' }]\n });\n }\n\n function onAddGroup() {\n onChange({\n ...value,\n calculations: [...calculations, { not: false, group: { type: 'and', calculations: [] } }]\n });\n }\n\n function onRemove(i: number) {\n calculations.splice(i, 1);\n onChange({ ...value, calculations: [...calculations] });\n }\n\n function onItemChange(i: number, v) {\n calculations.splice(i, 1, v);\n\n onChange({ ...value, calculations: [...calculations] });\n }\n\n return (\n <div className={cx('node-type-condition-group', css`\n position: relative;\n width: 100%;\n\n .node-type-condition-group{\n padding: .5em 1em;\n border: 1px dashed #ddd;\n }\n\n + button{\n position: absolute;\n right: 0;\n }\n `)}>\n <div className={css`\n display: flex;\n align-items: center;\n gap: .5em;\n\n .ant-select{\n width: auto;\n }\n `}>\n <Trans>\n {'Meet '}\n <Select value={type} onChange={t => onChange({ ...value, type: t })}>\n <Select.Option value=\"and\">All</Select.Option>\n <Select.Option value=\"or\">Any</Select.Option>\n </Select>\n {' conditions in the group'}\n </Trans>\n </div>\n <div className=\"calculation-items\">\n {calculations.map((calculation, i) => (\n <CalculationItem\n key={`${calculation.calculator}_${i}`}\n value={calculation}\n onChange={onItemChange.bind(this, i)}\n onRemove={() => onRemove(i)}\n />\n ))}\n </div>\n <div className={css`\n a:not(:last-child){\n margin-right: 1em;\n }\n `} >\n <a onClick={onAddSingle}>添加条件</a>\n <a onClick={onAddGroup}>添加条件组</a>\n </div>\n </div>\n );\n}\n\nfunction CalculationConfig({ value, onChange }) {\n const rule = value && Object.keys(value).length\n ? value\n : { group: { type: 'and', calculations: [] } };\n return (\n <CalculationGroup value={rule.group} onChange={group => onChange({ ...rule, group })} />\n );\n}\n\nexport default {\n title: '条件判断',\n type: 'condition',\n group: 'control',\n fieldset: {\n 'config.rejectOnFalse': {\n type: 'boolean',\n name: 'config.rejectOnFalse',\n title: '模式',\n 'x-decorator': 'FormItem',\n 'x-component': 'Radio.Group',\n 'x-component-props': {\n disabled: true,\n },\n enum: [\n {\n value: true,\n label: (\n <Tooltip\n title=\"判断为“是”时继续\"\n placement=\"bottom\"\n >\n 通行模式 <QuestionCircleOutlined style={{ color: '#999' }} />\n </Tooltip>\n )\n },\n {\n value: false,\n label: (\n <Tooltip\n title=\"判断结果分为“是”和“否”两个分支,分别继续\"\n placement=\"bottom\"\n >\n 分支模式 <QuestionCircleOutlined style={{ color: '#999' }} />\n </Tooltip>\n )\n }\n ],\n },\n 'config.calculation': {\n type: 'string',\n name: 'config.calculation',\n title: '条件配置',\n 'x-decorator': 'FormItem',\n 'x-component': 'CalculationConfig',\n }\n },\n view: {\n\n },\n options: [\n { label: '通行模式', key: 'rejectOnFalse', value: { rejectOnFalse: true } },\n { label: '分支模式', key: 'branch', value: { rejectOnFalse: false } }\n ],\n render(data) {\n const { id, config: { rejectOnFalse } } = data;\n const { nodes } = useFlowContext();\n const trueEntry = nodes.find(item => item.upstreamId === id && item.branchIndex === 1);\n const falseEntry = nodes.find(item => item.upstreamId === id && item.branchIndex === 0);\n return (\n <NodeDefaultView data={data}>\n {rejectOnFalse ? null : (\n <div className={cx(nodeSubtreeClass)}>\n <div\n className={cx(branchBlockClass, css`\n > * > .workflow-branch-lines{\n > button{\n display: none;\n }\n }\n `)}\n >\n <Branch from={data} entry={falseEntry} branchIndex={0}/>\n <Branch from={data} entry={trueEntry} branchIndex={1} />\n </div>\n <div\n className={css`\n position: relative;\n height: 2em;\n overflow: visible;\n\n :before,:after{\n position: absolute;\n top: calc(1.5em - 1px);\n line-height: 1em;\n color: #999;\n background-color: #f0f2f5;\n padding: 1px;\n }\n\n :before{\n content: \"否\";\n right: 4em;\n }\n\n :after{\n content: \"是\";\n left: 4em;\n }\n `}\n />\n </div>\n )}\n </NodeDefaultView>\n )\n },\n components: {\n CalculationConfig\n }\n};\n"]}
@@ -5,16 +5,16 @@ declare const _default: {
5
5
  type: string;
6
6
  group: string;
7
7
  fieldset: {
8
- collection: {
8
+ 'config.collection': {
9
+ name: string;
9
10
  type: string;
10
11
  title: string;
11
- name: string;
12
12
  required: boolean;
13
13
  'x-reactions': string[];
14
14
  'x-decorator': string;
15
15
  'x-component': string;
16
16
  };
17
- params: {
17
+ 'config.params': {
18
18
  type: string;
19
19
  name: string;
20
20
  title: string;
@@ -14,15 +14,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  var jsx_runtime_1 = require("react/jsx-runtime");
15
15
  var antd_1 = require("antd");
16
16
  var __1 = require("../..");
17
- var WorkflowCanvas_1 = require("../WorkflowCanvas");
18
- var collection_1 = require("../schemas/collection");
19
17
  var calculators_1 = require("../calculators");
18
+ var collection_1 = require("../schemas/collection");
19
+ var WorkflowCanvas_1 = require("../WorkflowCanvas");
20
20
  exports.default = {
21
21
  title: '新增数据',
22
22
  type: 'create',
23
23
  group: 'model',
24
24
  fieldset: {
25
- collection: collection_1.collection,
25
+ 'config.collection': __assign(__assign({}, collection_1.collection), { name: 'config.collection' }),
26
26
  // multiple: {
27
27
  // type: 'boolean',
28
28
  // title: '多条数据',
@@ -33,9 +33,9 @@ exports.default = {
33
33
  // disabled: true
34
34
  // }
35
35
  // },
36
- params: {
36
+ 'config.params': {
37
37
  type: 'object',
38
- name: 'params',
38
+ name: 'config.params',
39
39
  title: '',
40
40
  'x-decorator': 'FormItem',
41
41
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/workflow/nodes/create.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6BAA8B;AAE9B,2BAAkF;AAClF,oDAAmD;AACnD,oDAA2D;AAC3D,8CAAiE;AAEjE,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,UAAU,yBAAA;QACV,cAAc;QACd,qBAAqB;QACrB,mBAAmB;QACnB,sBAAsB;QACtB,+BAA+B;QAC/B,+BAA+B;QAC/B,2BAA2B;QAC3B,qBAAqB;QACrB,MAAM;QACN,KAAK;QACL,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,kBAAkB,kCAAA;KACnB;IACD,MAAM,YAAC,EAA2B;;YAAzB,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;QAC9B,IAAM,OAAO,GAAG,IAAA,cAAU,GAAE,CAAC;QACrB,IAAA,KAAqB,IAAA,wBAAoB,GAAE,YAA3B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA4B;QAC5C,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QAC3B,IAAA,MAAM,GAAK,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAtB,CAAsB,CAAC,OAA5C,CAA6C;QAC3D,IAAM,UAAU,GAAG,MAAA,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAA/B,CAA+B,CAAC,mCAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE/F,OAAO,CACL,uBAAC,aAAM,aAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,0BAAM,EAAC,QAAQ,EAAE,UAAA,IAAI;gBAC5D,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,wBAAO,OAAO,KAAE,IAAI,MAAA,GAAE,EAAE,CAAC,CAAC;YACpD,CAAC,gBACE,UAAU,CAAC,MAAM;iBACf,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,yBAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAApC,CAAoC,CAAC;iBACrD,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,CACd,uBAAC,aAAM,CAAC,MAAM,aAAkB,KAAK,EAAE,KAAK,CAAC,IAAI,gBAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAA7D,KAAK,CAAC,IAAI,CAAoE,CACnG,EAFe,CAEf,CAAC,YACK,CACV,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import React from 'react';\nimport { Select } from 'antd';\n\nimport { useCollectionDataSource, useCollectionManager, useCompile } from '../..';\nimport { useFlowContext } from '../WorkflowCanvas';\nimport { collection, values } from '../schemas/collection';\nimport { BaseTypeSet, CollectionFieldset } from '../calculators';\n\nexport default {\n title: '新增数据',\n type: 'create',\n group: 'model',\n fieldset: {\n collection,\n // multiple: {\n // type: 'boolean',\n // title: '多条数据',\n // name: 'multiple',\n // 'x-decorator': 'FormItem',\n // 'x-component': 'Checkbox',\n // 'x-component-props': {\n // disabled: true\n // }\n // },\n params: {\n type: 'object',\n name: 'params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n values\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n CollectionFieldset\n },\n getter({ type, options, onChange }) {\n const compile = useCompile();\n const { collections = [] } = useCollectionManager();\n const { nodes } = useFlowContext();\n const { config } = nodes.find(n => n.id == options.nodeId);\n const collection = collections.find(item => item.name === config.collection) ?? { fields: [] };\n\n return (\n <Select value={options.path} placeholder=\"选择字段\" onChange={path => {\n onChange({ type, options: { ...options, path } });\n }}>\n {collection.fields\n .filter(field => BaseTypeSet.has(field.uiSchema.type))\n .map(field => (\n <Select.Option key={field.name} value={field.name}>{compile(field.uiSchema.title)}</Select.Option>\n ))}\n </Select>\n );\n }\n};\n"]}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/workflow/nodes/create.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,6BAA8B;AAE9B,2BAAkF;AAClF,8CAAiE;AACjE,oDAA2D;AAC3D,oDAAmD;AAGnD,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,mBAAmB,wBACd,uBAAU,KACb,IAAI,EAAE,mBAAmB,GAC1B;QACD,cAAc;QACd,qBAAqB;QACrB,mBAAmB;QACnB,sBAAsB;QACtB,+BAA+B;QAC/B,+BAA+B;QAC/B,2BAA2B;QAC3B,qBAAqB;QACrB,MAAM;QACN,KAAK;QACL,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,kBAAkB,kCAAA;KACnB;IACD,MAAM,YAAC,EAA2B;;YAAzB,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;QAC9B,IAAM,OAAO,GAAG,IAAA,cAAU,GAAE,CAAC;QACrB,IAAA,KAAqB,IAAA,wBAAoB,GAAE,YAA3B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA4B;QAC5C,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QAC3B,IAAA,MAAM,GAAK,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAtB,CAAsB,CAAC,OAA5C,CAA6C;QAC3D,IAAM,UAAU,GAAG,MAAA,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAA/B,CAA+B,CAAC,mCAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE/F,OAAO,CACL,uBAAC,aAAM,aAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,0BAAM,EAAC,QAAQ,EAAE,UAAA,IAAI;gBAC5D,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,wBAAO,OAAO,KAAE,IAAI,MAAA,GAAE,EAAE,CAAC,CAAC;YACpD,CAAC,gBACE,UAAU,CAAC,MAAM;iBACf,MAAM,CAAC,UAAA,KAAK,IAAI,OAAA,yBAAW,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAApC,CAAoC,CAAC;iBACrD,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,CACd,uBAAC,aAAM,CAAC,MAAM,aAAkB,KAAK,EAAE,KAAK,CAAC,IAAI,gBAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAA7D,KAAK,CAAC,IAAI,CAAoE,CACnG,EAFe,CAEf,CAAC,YACK,CACV,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import { Select } from 'antd';\nimport React from 'react';\nimport { useCollectionDataSource, useCollectionManager, useCompile } from '../..';\nimport { BaseTypeSet, CollectionFieldset } from '../calculators';\nimport { collection, values } from '../schemas/collection';\nimport { useFlowContext } from '../WorkflowCanvas';\n\n\nexport default {\n title: '新增数据',\n type: 'create',\n group: 'model',\n fieldset: {\n 'config.collection': {\n ...collection,\n name: 'config.collection'\n },\n // multiple: {\n // type: 'boolean',\n // title: '多条数据',\n // name: 'multiple',\n // 'x-decorator': 'FormItem',\n // 'x-component': 'Checkbox',\n // 'x-component-props': {\n // disabled: true\n // }\n // },\n 'config.params': {\n type: 'object',\n name: 'config.params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n values\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n CollectionFieldset\n },\n getter({ type, options, onChange }) {\n const compile = useCompile();\n const { collections = [] } = useCollectionManager();\n const { nodes } = useFlowContext();\n const { config } = nodes.find(n => n.id == options.nodeId);\n const collection = collections.find(item => item.name === config.collection) ?? { fields: [] };\n\n return (\n <Select value={options.path} placeholder=\"选择字段\" onChange={path => {\n onChange({ type, options: { ...options, path } });\n }}>\n {collection.fields\n .filter(field => BaseTypeSet.has(field.uiSchema.type))\n .map(field => (\n <Select.Option key={field.name} value={field.name}>{compile(field.uiSchema.title)}</Select.Option>\n ))}\n </Select>\n );\n }\n};\n"]}
@@ -5,7 +5,7 @@ declare const _default: {
5
5
  type: string;
6
6
  group: string;
7
7
  fieldset: {
8
- collection: {
8
+ 'config.collection': {
9
9
  type: string;
10
10
  title: string;
11
11
  name: string;
@@ -14,7 +14,7 @@ declare const _default: {
14
14
  'x-decorator': string;
15
15
  'x-component': string;
16
16
  };
17
- params: {
17
+ 'config.params': {
18
18
  type: string;
19
19
  name: string;
20
20
  title: string;
@@ -8,10 +8,10 @@ exports.default = {
8
8
  type: 'destroy',
9
9
  group: 'model',
10
10
  fieldset: {
11
- collection: collection_1.collection,
12
- params: {
11
+ 'config.collection': collection_1.collection,
12
+ 'config.params': {
13
13
  type: 'object',
14
- name: 'params',
14
+ name: 'config.params',
15
15
  title: '',
16
16
  'x-decorator': 'FormItem',
17
17
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../../src/workflow/nodes/destroy.tsx"],"names":[],"mappings":";;AAAA,2BAAgD;AAEhD,8CAAmD;AACnD,oDAA2D;AAE3D,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,UAAU,yBAAA;QACV,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,iBAAiB,iCAAA;KAClB;CACF,CAAC","sourcesContent":["import { useCollectionDataSource } from '../..';\n\nimport { VariableComponent } from '../calculators';\nimport { collection, filter } from '../schemas/collection';\n\nexport default {\n title: '删除数据',\n type: 'destroy',\n group: 'model',\n fieldset: {\n collection,\n params: {\n type: 'object',\n name: 'params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n filter\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n VariableComponent\n }\n};\n"]}
1
+ {"version":3,"file":"destroy.js","sourceRoot":"","sources":["../../../src/workflow/nodes/destroy.tsx"],"names":[],"mappings":";;AAAA,2BAAgD;AAEhD,8CAAmD;AACnD,oDAA2D;AAE3D,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,mBAAmB,EAAE,uBAAU;QAC/B,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,iBAAiB,iCAAA;KAClB;CACF,CAAC","sourcesContent":["import { useCollectionDataSource } from '../..';\n\nimport { VariableComponent } from '../calculators';\nimport { collection, filter } from '../schemas/collection';\n\nexport default {\n title: '删除数据',\n type: 'destroy',\n group: 'model',\n fieldset: {\n 'config.collection': collection,\n 'config.params': {\n type: 'object',\n name: 'config.params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n filter\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n VariableComponent\n }\n};\n"]}
@@ -1,6 +1,6 @@
1
- import React from 'react';
2
1
  import { ISchema } from '@formily/react';
3
2
  import { Registry } from '@nocobase/utils';
3
+ import React from 'react';
4
4
  export interface Instruction {
5
5
  title: string;
6
6
  type: string;
@@ -75,22 +75,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
75
75
  Object.defineProperty(exports, "__esModule", { value: true });
76
76
  exports.NodeDefaultView = exports.RemoveButton = exports.Node = exports.useNodeContext = exports.instructions = void 0;
77
77
  var jsx_runtime_1 = require("react/jsx-runtime");
78
- var react_1 = __importStar(require("react"));
79
- var css_1 = require("@emotion/css");
80
- var antd_1 = require("antd");
81
78
  var icons_1 = require("@ant-design/icons");
82
- var react_2 = require("@formily/react");
79
+ var css_1 = require("@emotion/css");
80
+ var react_1 = require("@formily/react");
83
81
  var utils_1 = require("@nocobase/utils");
82
+ var antd_1 = require("antd");
83
+ var react_2 = __importStar(require("react"));
84
84
  var __1 = require("../..");
85
- var WorkflowCanvas_1 = require("../WorkflowCanvas");
86
85
  var style_1 = require("../style");
87
- var query_1 = __importDefault(require("./query"));
86
+ var WorkflowCanvas_1 = require("../WorkflowCanvas");
87
+ var calculation_1 = __importDefault(require("./calculation"));
88
+ var condition_1 = __importDefault(require("./condition"));
88
89
  var create_1 = __importDefault(require("./create"));
89
- var update_1 = __importDefault(require("./update"));
90
90
  var destroy_1 = __importDefault(require("./destroy"));
91
- var condition_1 = __importDefault(require("./condition"));
92
91
  var parallel_1 = __importDefault(require("./parallel"));
93
- var calculation_1 = __importDefault(require("./calculation"));
92
+ var query_1 = __importDefault(require("./query"));
93
+ var update_1 = __importDefault(require("./update"));
94
94
  ;
95
95
  exports.instructions = new utils_1.Registry();
96
96
  exports.instructions.register('query', query_1.default);
@@ -100,8 +100,8 @@ exports.instructions.register('destroy', destroy_1.default);
100
100
  exports.instructions.register('condition', condition_1.default);
101
101
  exports.instructions.register('parallel', parallel_1.default);
102
102
  exports.instructions.register('calculation', calculation_1.default);
103
- function useUpdateConfigAction() {
104
- var form = (0, react_2.useForm)();
103
+ function useUpdateAction() {
104
+ var form = (0, react_1.useForm)();
105
105
  var api = (0, __1.useAPIClient)();
106
106
  var ctx = (0, __1.useActionContext)();
107
107
  var refresh = (0, __1.useResourceActionContext)().refresh;
@@ -111,13 +111,17 @@ function useUpdateConfigAction() {
111
111
  return __awaiter(this, void 0, void 0, function () {
112
112
  return __generator(this, function (_a) {
113
113
  switch (_a.label) {
114
- case 0: return [4 /*yield*/, api.resource('flow_nodes', data.id).update({
115
- filterByTk: data.id,
116
- values: {
117
- config: __assign(__assign({}, data.config), form.values)
118
- },
119
- })];
114
+ case 0: return [4 /*yield*/, form.submit()];
120
115
  case 1:
116
+ _a.sent();
117
+ return [4 /*yield*/, api.resource('flow_nodes', data.id).update({
118
+ filterByTk: data.id,
119
+ values: {
120
+ title: form.values.title,
121
+ config: form.values.config
122
+ }
123
+ })];
124
+ case 2:
121
125
  _a.sent();
122
126
  ctx.setVisible(false);
123
127
  refresh();
@@ -129,9 +133,9 @@ function useUpdateConfigAction() {
129
133
  };
130
134
  }
131
135
  ;
132
- var NodeContext = react_1.default.createContext(null);
136
+ var NodeContext = react_2.default.createContext(null);
133
137
  function useNodeContext() {
134
- return (0, react_1.useContext)(NodeContext);
138
+ return (0, react_2.useContext)(NodeContext);
135
139
  }
136
140
  exports.useNodeContext = useNodeContext;
137
141
  function Node(_a) {
@@ -189,55 +193,70 @@ function NodeDefaultView(props) {
189
193
  var instruction = exports.instructions.get(data.type);
190
194
  return ((0, jsx_runtime_1.jsx)(NodeContext.Provider, __assign({ value: data }, { children: (0, jsx_runtime_1.jsxs)("div", __assign({ className: (0, css_1.cx)(style_1.nodeClass, "workflow-node-type-" + data.type) }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: (0, css_1.cx)(style_1.nodeCardClass) }, { children: [(0, jsx_runtime_1.jsxs)("div", __assign({ className: (0, css_1.cx)(style_1.nodeHeaderClass) }, { children: [(0, jsx_runtime_1.jsxs)("h4", __assign({ className: (0, css_1.cx)(style_1.nodeTitleClass) }, { children: [(0, jsx_runtime_1.jsx)(antd_1.Tag, { children: instruction.title }, void 0), (0, jsx_runtime_1.jsx)("strong", { children: data.title }, void 0), (0, jsx_runtime_1.jsxs)("span", __assign({ className: "workflow-node-id" }, { children: ["#", data.id] }), void 0)] }), void 0), (0, jsx_runtime_1.jsx)(RemoveButton, {}, void 0)] }), void 0), (0, jsx_runtime_1.jsx)(__1.SchemaComponent, { scope: instruction.scope, components: instruction.components, schema: {
191
195
  type: 'void',
192
- properties: __assign({ view: instruction.view }, (Object.keys(instruction.fieldset).length
193
- ? {
194
- config: {
195
- type: 'void',
196
- title: '配置节点',
197
- 'x-component': 'Action.Link',
198
- 'x-component-props': {
199
- type: 'primary',
200
- },
201
- properties: {
202
- drawer: {
203
- type: 'void',
204
- title: '配置节点',
205
- 'x-component': 'Action.Drawer',
206
- 'x-decorator': 'Form',
207
- 'x-decorator-props': {
208
- useValues: function (options) {
209
- var node = useNodeContext();
210
- return (0, __1.useRequest)(function () {
211
- return Promise.resolve({ data: node.config });
212
- }, options);
213
- }
196
+ properties: {
197
+ view: instruction.view,
198
+ config: {
199
+ type: 'void',
200
+ title: '配置节点',
201
+ 'x-component': 'Action.Link',
202
+ 'x-component-props': {
203
+ type: 'primary',
204
+ },
205
+ properties: {
206
+ drawer: {
207
+ type: 'void',
208
+ title: '配置节点',
209
+ 'x-component': 'Action.Drawer',
210
+ 'x-decorator': 'Form',
211
+ 'x-decorator-props': {
212
+ useValues: function (options) {
213
+ var d = useNodeContext();
214
+ return (0, __1.useRequest)(function () {
215
+ return Promise.resolve({ data: d });
216
+ }, options);
217
+ }
218
+ },
219
+ properties: {
220
+ title: {
221
+ type: 'string',
222
+ name: 'title',
223
+ title: '节点名称',
224
+ 'x-decorator': 'FormItem',
225
+ 'x-component': 'Input',
214
226
  },
215
- properties: __assign(__assign({}, instruction.fieldset), { actions: {
216
- type: 'void',
217
- 'x-component': 'Action.Drawer.Footer',
218
- properties: {
219
- cancel: {
220
- title: '{{t("Cancel")}}',
221
- 'x-component': 'Action',
222
- 'x-component-props': {
223
- useAction: '{{ cm.useCancelAction }}',
224
- },
227
+ config: {
228
+ type: 'void',
229
+ name: 'config',
230
+ 'x-component': 'fieldset',
231
+ 'x-component-props': {},
232
+ properties: instruction.fieldset
233
+ },
234
+ actions: {
235
+ type: 'void',
236
+ 'x-component': 'Action.Drawer.Footer',
237
+ properties: {
238
+ cancel: {
239
+ title: '{{t("Cancel")}}',
240
+ 'x-component': 'Action',
241
+ 'x-component-props': {
242
+ useAction: '{{ cm.useCancelAction }}',
225
243
  },
226
- submit: {
227
- title: '{{t("Submit")}}',
228
- 'x-component': 'Action',
229
- 'x-component-props': {
230
- type: 'primary',
231
- useAction: useUpdateConfigAction,
232
- },
244
+ },
245
+ submit: {
246
+ title: '{{t("Submit")}}',
247
+ 'x-component': 'Action',
248
+ 'x-component-props': {
249
+ type: 'primary',
250
+ useAction: useUpdateAction,
233
251
  },
234
252
  },
235
- } })
253
+ },
254
+ }
236
255
  }
237
256
  }
238
257
  }
239
258
  }
240
- : {}))
259
+ }
241
260
  } }, void 0)] }), void 0), children] }), void 0) }), void 0));
242
261
  }
243
262
  exports.NodeDefaultView = NodeDefaultView;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/nodes/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, { useContext } from 'react';\nimport { css, cx } from '@emotion/css';\nimport { Button, Modal, Tag } from 'antd';\nimport { DeleteOutlined, CloseOutlined } from '@ant-design/icons';\nimport { ISchema, useForm } from '@formily/react';\n\nimport { Registry } from '@nocobase/utils';\n\nimport { SchemaComponent, useActionContext, useAPIClient, useCollection, useRequest, useResourceActionContext } from '../..';\nimport { AddButton, useFlowContext } from '../WorkflowCanvas';\n\nimport { nodeClass, nodeCardClass, nodeHeaderClass, nodeTitleClass, nodeBlockClass } from '../style';\n\nimport query from './query';\nimport create from './create';\nimport update from './update';\nimport destroy from './destroy';\nimport condition from './condition';\nimport parallel from './parallel';\nimport calculation from './calculation';\n\n\n\nexport interface Instruction {\n title: string;\n type: string;\n group: string;\n options?: { label: string; value: any; key: string }[];\n fieldset: { [key: string]: ISchema };\n view?: ISchema;\n scope?: { [key: string]: any };\n components?: { [key: string]: any };\n render?(props): React.ReactElement;\n endding?: boolean;\n getter?(node: any): React.ReactElement;\n};\n\nexport const instructions = new Registry<Instruction>();\n\ninstructions.register('query', query);\ninstructions.register('create', create);\ninstructions.register('update', update);\ninstructions.register('destroy', destroy);\ninstructions.register('condition', condition);\ninstructions.register('parallel', parallel);\ninstructions.register('calculation', calculation);\n\nfunction useUpdateConfigAction() {\n const form = useForm();\n const api = useAPIClient();\n const ctx = useActionContext();\n const { refresh } = useResourceActionContext();\n const data = useNodeContext();\n return {\n async run() {\n await api.resource('flow_nodes', data.id).update({\n filterByTk: data.id,\n values: {\n config: {\n ...data.config,\n ...form.values\n }\n },\n });\n ctx.setVisible(false);\n refresh();\n },\n };\n};\n\nconst NodeContext = React.createContext(null);\n\nexport function useNodeContext() {\n return useContext(NodeContext);\n}\n\nexport function Node({ data }) {\n const instruction = instructions.get(data.type);\n\n return (\n <div className={cx(nodeBlockClass)}>\n {instruction.render\n ? instruction.render(data)\n : <NodeDefaultView data={data} />\n }\n {!instruction.endding\n ? <AddButton upstream={data} />\n : (\n <div\n className={css`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 1px;\n height: 6em;\n padding: 2em 0;\n background-color: #f0f2f5;\n\n .anticon{\n font-size: 1.5em;\n line-height: 100%;\n }\n `}\n >\n <CloseOutlined />\n </div>\n )\n }\n </div>\n );\n}\n\nexport function RemoveButton() {\n const { resource } = useCollection();\n const current = useNodeContext();\n const { nodes, onNodeRemoved } = useFlowContext();\n\n async function onRemove() {\n async function onOk() {\n const { data: { data: node } } = await resource.destroy({\n filterByTk: current.id\n });\n onNodeRemoved(node);\n }\n\n const hasBranches = !nodes.find(item => item.upstream === current && item.branchIndex != null);\n const message = hasBranches\n ? '确定删除该节点吗?'\n : '节点包含分支,将同时删除其所有分支下的子节点,确定继续?';\n\n Modal.confirm({\n title: '删除节点',\n content: message,\n onOk\n });\n }\n\n return (\n <Button\n type=\"text\"\n shape=\"circle\"\n icon={<DeleteOutlined />}\n onClick={onRemove}\n className=\"workflow-node-remove-button\"\n />\n );\n}\n\nexport function NodeDefaultView(props) {\n const { data, children } = props;\n const instruction = instructions.get(data.type);\n\n return (\n <NodeContext.Provider value={data}>\n <div className={cx(nodeClass, `workflow-node-type-${data.type}`)}>\n <div className={cx(nodeCardClass)}>\n <div className={cx(nodeHeaderClass)}>\n <h4 className={cx(nodeTitleClass)}>\n <Tag>{instruction.title}</Tag>\n <strong>{data.title}</strong>\n <span className=\"workflow-node-id\">#{data.id}</span>\n </h4>\n <RemoveButton />\n </div>\n <SchemaComponent\n scope={instruction.scope}\n components={instruction.components}\n schema={{\n type: 'void',\n properties: {\n view: instruction.view,\n ...(Object.keys(instruction.fieldset).length\n ? {\n config: {\n type: 'void',\n title: '配置节点',\n 'x-component': 'Action.Link',\n 'x-component-props': {\n type: 'primary',\n },\n properties: {\n drawer: {\n type: 'void',\n title: '配置节点',\n 'x-component': 'Action.Drawer',\n 'x-decorator': 'Form',\n 'x-decorator-props': {\n useValues(options) {\n const node = useNodeContext();\n return useRequest(() => {\n return Promise.resolve({ data: node.config });\n }, options);\n }\n },\n properties: {\n ...instruction.fieldset,\n actions: {\n type: 'void',\n 'x-component': 'Action.Drawer.Footer',\n properties: {\n cancel: {\n title: '{{t(\"Cancel\")}}',\n 'x-component': 'Action',\n 'x-component-props': {\n useAction: '{{ cm.useCancelAction }}',\n },\n },\n submit: {\n title: '{{t(\"Submit\")}}',\n 'x-component': 'Action',\n 'x-component-props': {\n type: 'primary',\n useAction: useUpdateConfigAction,\n },\n },\n },\n } as ISchema\n }\n }\n }\n }\n }\n : {})\n }\n }}\n />\n </div>\n {children}\n </div>\n </NodeContext.Provider>\n );\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/workflow/nodes/index.tsx"],"names":[],"mappings":"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","sourcesContent":["import { CloseOutlined, DeleteOutlined } from '@ant-design/icons';\nimport { css, cx } from '@emotion/css';\nimport { ISchema, useForm } from '@formily/react';\nimport { Registry } from '@nocobase/utils';\nimport { Button, Modal, Tag } from 'antd';\nimport React, { useContext } from 'react';\nimport { SchemaComponent, useActionContext, useAPIClient, useCollection, useRequest, useResourceActionContext } from '../..';\nimport { nodeBlockClass, nodeCardClass, nodeClass, nodeHeaderClass, nodeTitleClass } from '../style';\nimport { AddButton, useFlowContext } from '../WorkflowCanvas';\n\nimport calculation from './calculation';\nimport condition from './condition';\nimport create from './create';\nimport destroy from './destroy';\nimport parallel from './parallel';\nimport query from './query';\nimport update from './update';\n\n\n\nexport interface Instruction {\n title: string;\n type: string;\n group: string;\n options?: { label: string; value: any; key: string }[];\n fieldset: { [key: string]: ISchema };\n view?: ISchema;\n scope?: { [key: string]: any };\n components?: { [key: string]: any };\n render?(props): React.ReactElement;\n endding?: boolean;\n getter?(node: any): React.ReactElement;\n};\n\nexport const instructions = new Registry<Instruction>();\n\ninstructions.register('query', query);\ninstructions.register('create', create);\ninstructions.register('update', update);\ninstructions.register('destroy', destroy);\ninstructions.register('condition', condition);\ninstructions.register('parallel', parallel);\ninstructions.register('calculation', calculation);\n\nfunction useUpdateAction() {\n const form = useForm();\n const api = useAPIClient();\n const ctx = useActionContext();\n const { refresh } = useResourceActionContext();\n const data = useNodeContext();\n return {\n async run() {\n await form.submit();\n await api.resource('flow_nodes', data.id).update({\n filterByTk: data.id,\n values: {\n title: form.values.title,\n config: form.values.config\n }\n });\n ctx.setVisible(false);\n refresh();\n },\n };\n};\n\nconst NodeContext = React.createContext(null);\n\nexport function useNodeContext() {\n return useContext(NodeContext);\n}\n\nexport function Node({ data }) {\n const instruction = instructions.get(data.type);\n\n return (\n <div className={cx(nodeBlockClass)}>\n {instruction.render\n ? instruction.render(data)\n : <NodeDefaultView data={data} />\n }\n {!instruction.endding\n ? <AddButton upstream={data} />\n : (\n <div\n className={css`\n flex-grow: 1;\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 1px;\n height: 6em;\n padding: 2em 0;\n background-color: #f0f2f5;\n\n .anticon{\n font-size: 1.5em;\n line-height: 100%;\n }\n `}\n >\n <CloseOutlined />\n </div>\n )\n }\n </div>\n );\n}\n\nexport function RemoveButton() {\n const { resource } = useCollection();\n const current = useNodeContext();\n const { nodes, onNodeRemoved } = useFlowContext();\n\n async function onRemove() {\n async function onOk() {\n const { data: { data: node } } = await resource.destroy({\n filterByTk: current.id\n });\n onNodeRemoved(node);\n }\n\n const hasBranches = !nodes.find(item => item.upstream === current && item.branchIndex != null);\n const message = hasBranches\n ? '确定删除该节点吗?'\n : '节点包含分支,将同时删除其所有分支下的子节点,确定继续?';\n\n Modal.confirm({\n title: '删除节点',\n content: message,\n onOk\n });\n }\n\n return (\n <Button\n type=\"text\"\n shape=\"circle\"\n icon={<DeleteOutlined />}\n onClick={onRemove}\n className=\"workflow-node-remove-button\"\n />\n );\n}\n\nexport function NodeDefaultView(props) {\n const { data, children } = props;\n const instruction = instructions.get(data.type);\n\n return (\n <NodeContext.Provider value={data}>\n <div className={cx(nodeClass, `workflow-node-type-${data.type}`)}>\n <div className={cx(nodeCardClass)}>\n <div className={cx(nodeHeaderClass)}>\n <h4 className={cx(nodeTitleClass)}>\n <Tag>{instruction.title}</Tag>\n <strong>{data.title}</strong>\n <span className=\"workflow-node-id\">#{data.id}</span>\n </h4>\n <RemoveButton />\n </div>\n <SchemaComponent\n scope={instruction.scope}\n components={instruction.components}\n schema={{\n type: 'void',\n properties: {\n view: instruction.view,\n config: {\n type: 'void',\n title: '配置节点',\n 'x-component': 'Action.Link',\n 'x-component-props': {\n type: 'primary',\n },\n properties: {\n drawer: {\n type: 'void',\n title: '配置节点',\n 'x-component': 'Action.Drawer',\n 'x-decorator': 'Form',\n 'x-decorator-props': {\n useValues(options) {\n const d = useNodeContext();\n return useRequest(() => {\n return Promise.resolve({ data: d });\n }, options);\n }\n },\n properties: {\n title: {\n type: 'string',\n name: 'title',\n title: '节点名称',\n 'x-decorator': 'FormItem',\n 'x-component': 'Input',\n },\n config: {\n type: 'void',\n name: 'config',\n 'x-component': 'fieldset',\n 'x-component-props': {},\n properties: instruction.fieldset\n },\n actions: {\n type: 'void',\n 'x-component': 'Action.Drawer.Footer',\n properties: {\n cancel: {\n title: '{{t(\"Cancel\")}}',\n 'x-component': 'Action',\n 'x-component-props': {\n useAction: '{{ cm.useCancelAction }}',\n },\n },\n submit: {\n title: '{{t(\"Submit\")}}',\n 'x-component': 'Action',\n 'x-component-props': {\n type: 'primary',\n useAction: useUpdateAction,\n },\n },\n },\n } as ISchema\n }\n }\n }\n }\n }\n }}\n />\n </div>\n {children}\n </div>\n </NodeContext.Provider>\n );\n}\n"]}
@@ -4,7 +4,7 @@ declare const _default: {
4
4
  type: string;
5
5
  group: string;
6
6
  fieldset: {
7
- mode: {
7
+ 'config.mode': {
8
8
  type: string;
9
9
  name: string;
10
10
  title: string;
@@ -13,7 +13,7 @@ declare const _default: {
13
13
  'x-component-props': {};
14
14
  enum: {
15
15
  value: string;
16
- label: string;
16
+ label: JSX.Element;
17
17
  }[];
18
18
  default: string;
19
19
  };
@@ -45,16 +45,22 @@ exports.default = {
45
45
  type: 'parallel',
46
46
  group: 'control',
47
47
  fieldset: {
48
- mode: {
48
+ 'config.mode': {
49
49
  type: 'string',
50
- name: 'mode',
50
+ name: 'config.mode',
51
51
  title: '模式',
52
52
  'x-decorator': 'FormItem',
53
53
  'x-component': 'Radio.Group',
54
54
  'x-component-props': {},
55
55
  enum: [
56
- { value: 'all', label: '全部成功' },
57
- { value: 'any', label: '任意成功' },
56
+ {
57
+ value: 'all',
58
+ label: ((0, jsx_runtime_1.jsxs)(antd_1.Tooltip, __assign({ title: "\u5168\u90E8\u5206\u652F\u90FD\u6210\u529F\u540E\u624D\u80FD\u7EE7\u7EED", placement: "bottom" }, { children: ["\u5168\u90E8\u6210\u529F ", (0, jsx_runtime_1.jsx)(icons_1.QuestionCircleOutlined, { style: { color: '#999' } }, void 0)] }), void 0))
59
+ },
60
+ {
61
+ value: 'any',
62
+ label: ((0, jsx_runtime_1.jsxs)(antd_1.Tooltip, __assign({ title: "\u4EFB\u610F\u5206\u652F\u6210\u529F\u540E\u5C31\u7EE7\u7EED", placement: "bottom" }, { children: ["\u4EFB\u610F\u6210\u529F ", (0, jsx_runtime_1.jsx)(icons_1.QuestionCircleOutlined, { style: { color: '#999' } }, void 0)] }), void 0))
63
+ },
58
64
  // { value: 'race', label: '任意退出' },
59
65
  ],
60
66
  default: 'all'
@@ -1 +1 @@
1
- {"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../src/workflow/nodes/parallel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,oCAAuC;AACvC,2CAAiD;AAEjD,sBAAoC;AACpC,oDAA2D;AAC3D,kCAA8D;AAC9D,6BAAuC;AACvC,4DAA4D;AAE5D,kBAAe;IACb,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE;QACR,IAAI,EAAE;YACJ,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,MAAM;YACZ,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,aAAa;YAC5B,mBAAmB,EAAE,EACpB;YACD,IAAI,EAAE;gBACJ,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE;gBAC/B,oCAAoC;aACrC;YACD,OAAO,EAAE,KAAK;SACf;KACF;IACD,IAAI,EAAE,EAEL;IACD,MAAM,YAAC,IAAI;QACD,IAAA,EAAE,GAAuB,IAAI,GAA3B,EAAY,IAAI,GAAO,IAAI,YAAX,CAAY;QAC9B,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QACnC,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI;YACzC,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5B;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,EAA7B,CAA6B,CAAC,CAAC;QAC/C,IAAA,KAAA,OAAgC,IAAA,gBAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAA,EAArE,WAAW,QAAA,EAAE,cAAc,QAA0C,CAAC;QAE7E,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,IAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErD,OAAO,CACL,uBAAC,kBAAe,aAAC,IAAI,EAAE,IAAI,gBACzB,0CAAK,SAAS,EAAE,IAAA,QAAE,EAAC,wBAAgB,CAAC,iBAClC,0CAAK,SAAS,EAAE,IAAA,QAAE,EAAC,wBAAgB,CAAC,iBACjC,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACxB,uBAAC,uBAAM,IAAiB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,IAArE,MAAM,CAAC,EAAE,CAAgE,CACvF,EAFyB,CAEzB,CAAC,EACD,YAAY,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAC1B,uBAAC,uBAAM,IAEL,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EACtE,UAAU,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;oCACrB,CAAC,CAAC,CACA,yCAAK,SAAS,MAAE,SAAG,iUAAA,6PAQlB,oBACC,uBAAC,aAAM,IACL,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,uBAAC,oBAAY,aAAG,EACtB,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,EAA/B,CAA+B,WAC9C,YACE,CACP;oCACD,CAAC,CAAC,IAAI,IAtBL,WAAQ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAwBlC,CACH,EA3B2B,CA2B3B,CAAC,aACE,EACN,yCACE,SAAS,MAAE,SAAG,mJAAA,+EAGb,oBAED,uBAAC,cAAO,aAAC,KAAK,EAAC,0BAAM,gBACnB,uBAAC,aAAM,IACL,IAAI,EAAE,uBAAC,oBAAY,aAAG,EACtB,SAAS,MAAE,SAAG,0UAAA,sQAQb,MACD,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,EAA/B,CAA+B,WAC9C,YACM,YACN,aACF,YACU,CACnB,CAAA;IACH,CAAC;CACF,CAAC","sourcesContent":["import React, { useState } from \"react\";\nimport { css, cx } from \"@emotion/css\";\nimport { PlusOutlined } from '@ant-design/icons';\n\nimport { NodeDefaultView } from \".\";\nimport { Branch, useFlowContext } from \"../WorkflowCanvas\";\nimport { branchBlockClass, nodeSubtreeClass } from \"../style\";\nimport { Button, Tooltip } from \"antd\";\n// import { SchemaComponent } from \"../../schema-component\";\n\nexport default {\n title: '并行',\n type: 'parallel',\n group: 'control',\n fieldset: {\n mode: {\n type: 'string',\n name: 'mode',\n title: '模式',\n 'x-decorator': 'FormItem',\n 'x-component': 'Radio.Group',\n 'x-component-props': {\n },\n enum: [\n { value: 'all', label: '全部成功' },\n { value: 'any', label: '任意成功' },\n // { value: 'race', label: '任意退出' },\n ],\n default: 'all'\n }\n },\n view: {\n\n },\n render(data) {\n const { id, config: { mode } } = data;\n const { nodes } = useFlowContext();\n const branches = nodes.reduce((result, node) => {\n if (node.upstreamId === id && node.branchIndex != null) {\n return result.concat(node);\n }\n return result;\n }, []).sort((a, b) => a.branchIndex - b.branchIndex);\n const [branchCount, setBranchCount] = useState(Math.max(2, branches.length));\n\n const tempBranches = Array(Math.max(0, branchCount - branches.length)).fill(null);\n const lastBranchHead = branches[branches.length - 1];\n\n return (\n <NodeDefaultView data={data}>\n <div className={cx(nodeSubtreeClass)}>\n <div className={cx(branchBlockClass)}>\n {branches.map((branch) => (\n <Branch key={branch.id} from={data} entry={branch} branchIndex={branch.branchIndex} />\n ))}\n {tempBranches.map((_, i) => (\n <Branch\n key={`temp_${branches.length + i}`}\n from={data}\n branchIndex={(lastBranchHead ? lastBranchHead.branchIndex : 0) + i + 1}\n controller={\n branches.length + i > 1\n ? (\n <div className={css`\n padding-top: 2em;\n\n > button{\n .anticon{\n transform: rotate(45deg)\n }\n }\n `}>\n <Button\n shape=\"circle\"\n icon={<PlusOutlined />}\n onClick={() => setBranchCount(branchCount - 1)}\n />\n </div>\n )\n : null\n }\n />\n ))}\n </div>\n <div\n className={css`\n position: relative;\n height: 2em;\n `}\n >\n <Tooltip title=\"添加分支\">\n <Button\n icon={<PlusOutlined />}\n className={css`\n position: absolute;\n top: calc(50% - 1px);\n transform: translateX(-50%) rotate(45deg);\n\n .anticon{\n transform: rotate(-45deg);\n }\n `}\n onClick={() => setBranchCount(branchCount + 1)}\n />\n </Tooltip>\n </div>\n </div>\n </NodeDefaultView>\n )\n }\n};\n"]}
1
+ {"version":3,"file":"parallel.js","sourceRoot":"","sources":["../../../src/workflow/nodes/parallel.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+BAAwC;AACxC,oCAAuC;AACvC,2CAAyE;AAEzE,sBAAoC;AACpC,oDAA2D;AAC3D,kCAA8D;AAC9D,6BAAuC;AACvC,4DAA4D;AAE5D,kBAAe;IACb,KAAK,EAAE,IAAI;IACX,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE;QACR,aAAa,EAAE;YACb,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,aAAa;YACnB,KAAK,EAAE,IAAI;YACX,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,aAAa;YAC5B,mBAAmB,EAAE,EACpB;YACD,IAAI,EAAE;gBACJ;oBACE,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CACL,wBAAC,cAAO,aACN,KAAK,EAAC,0EAAc,EACpB,SAAS,EAAC,QAAQ,8CAEb,uBAAC,8BAAsB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAI,aACjD,CACX;iBACF;gBACD;oBACE,KAAK,EAAE,KAAK;oBACZ,KAAK,EAAE,CACL,wBAAC,cAAO,aACN,KAAK,EAAC,8DAAY,EAClB,SAAS,EAAC,QAAQ,8CAEb,uBAAC,8BAAsB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAI,aACjD,CACX;iBACF;gBACD,oCAAoC;aACrC;YACD,OAAO,EAAE,KAAK;SACf;KACF;IACD,IAAI,EAAE,EAEL;IACD,MAAM,YAAC,IAAI;QACD,IAAA,EAAE,GAAuB,IAAI,GAA3B,EAAY,IAAI,GAAO,IAAI,YAAX,CAAY;QAC9B,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QACnC,IAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,IAAI;YACzC,IAAI,IAAI,CAAC,UAAU,KAAK,EAAE,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,EAAE;gBACtD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;aAC5B;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,EAA7B,CAA6B,CAAC,CAAC;QAC/C,IAAA,KAAA,OAAgC,IAAA,gBAAQ,EAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAA,EAArE,WAAW,QAAA,EAAE,cAAc,QAA0C,CAAC;QAE7E,IAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAClF,IAAM,cAAc,GAAG,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErD,OAAO,CACL,uBAAC,kBAAe,aAAC,IAAI,EAAE,IAAI,gBACzB,0CAAK,SAAS,EAAE,IAAA,QAAE,EAAC,wBAAgB,CAAC,iBAClC,0CAAK,SAAS,EAAE,IAAA,QAAE,EAAC,wBAAgB,CAAC,iBACjC,QAAQ,CAAC,GAAG,CAAC,UAAC,MAAM,IAAK,OAAA,CACxB,uBAAC,uBAAM,IAAiB,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,IAArE,MAAM,CAAC,EAAE,CAAgE,CACvF,EAFyB,CAEzB,CAAC,EACD,YAAY,CAAC,GAAG,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAC1B,uBAAC,uBAAM,IAEL,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,EACtE,UAAU,EACR,QAAQ,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC;oCACrB,CAAC,CAAC,CACA,yCAAK,SAAS,MAAE,SAAG,iUAAA,6PAQlB,oBACC,uBAAC,aAAM,IACL,KAAK,EAAC,QAAQ,EACd,IAAI,EAAE,uBAAC,oBAAY,aAAG,EACtB,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,EAA/B,CAA+B,WAC9C,YACE,CACP;oCACD,CAAC,CAAC,IAAI,IAtBL,WAAQ,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAE,CAwBlC,CACH,EA3B2B,CA2B3B,CAAC,aACE,EACN,yCACE,SAAS,MAAE,SAAG,mJAAA,+EAGb,oBAED,uBAAC,cAAO,aAAC,KAAK,EAAC,0BAAM,gBACnB,uBAAC,aAAM,IACL,IAAI,EAAE,uBAAC,oBAAY,aAAG,EACtB,SAAS,MAAE,SAAG,0UAAA,sQAQb,MACD,OAAO,EAAE,cAAM,OAAA,cAAc,CAAC,WAAW,GAAG,CAAC,CAAC,EAA/B,CAA+B,WAC9C,YACM,YACN,aACF,YACU,CACnB,CAAA;IACH,CAAC;CACF,CAAC","sourcesContent":["import React, { useState } from \"react\";\nimport { css, cx } from \"@emotion/css\";\nimport { PlusOutlined, QuestionCircleOutlined } from '@ant-design/icons';\n\nimport { NodeDefaultView } from \".\";\nimport { Branch, useFlowContext } from \"../WorkflowCanvas\";\nimport { branchBlockClass, nodeSubtreeClass } from \"../style\";\nimport { Button, Tooltip } from \"antd\";\n// import { SchemaComponent } from \"../../schema-component\";\n\nexport default {\n title: '并行',\n type: 'parallel',\n group: 'control',\n fieldset: {\n 'config.mode': {\n type: 'string',\n name: 'config.mode',\n title: '模式',\n 'x-decorator': 'FormItem',\n 'x-component': 'Radio.Group',\n 'x-component-props': {\n },\n enum: [\n {\n value: 'all',\n label: (\n <Tooltip\n title=\"全部分支都成功后才能继续\"\n placement=\"bottom\"\n >\n 全部成功 <QuestionCircleOutlined style={{ color: '#999' }} />\n </Tooltip>\n )\n },\n {\n value: 'any',\n label: (\n <Tooltip\n title=\"任意分支成功后就继续\"\n placement=\"bottom\"\n >\n 任意成功 <QuestionCircleOutlined style={{ color: '#999' }} />\n </Tooltip>\n )\n },\n // { value: 'race', label: '任意退出' },\n ],\n default: 'all'\n }\n },\n view: {\n\n },\n render(data) {\n const { id, config: { mode } } = data;\n const { nodes } = useFlowContext();\n const branches = nodes.reduce((result, node) => {\n if (node.upstreamId === id && node.branchIndex != null) {\n return result.concat(node);\n }\n return result;\n }, []).sort((a, b) => a.branchIndex - b.branchIndex);\n const [branchCount, setBranchCount] = useState(Math.max(2, branches.length));\n\n const tempBranches = Array(Math.max(0, branchCount - branches.length)).fill(null);\n const lastBranchHead = branches[branches.length - 1];\n\n return (\n <NodeDefaultView data={data}>\n <div className={cx(nodeSubtreeClass)}>\n <div className={cx(branchBlockClass)}>\n {branches.map((branch) => (\n <Branch key={branch.id} from={data} entry={branch} branchIndex={branch.branchIndex} />\n ))}\n {tempBranches.map((_, i) => (\n <Branch\n key={`temp_${branches.length + i}`}\n from={data}\n branchIndex={(lastBranchHead ? lastBranchHead.branchIndex : 0) + i + 1}\n controller={\n branches.length + i > 1\n ? (\n <div className={css`\n padding-top: 2em;\n\n > button{\n .anticon{\n transform: rotate(45deg)\n }\n }\n `}>\n <Button\n shape=\"circle\"\n icon={<PlusOutlined />}\n onClick={() => setBranchCount(branchCount - 1)}\n />\n </div>\n )\n : null\n }\n />\n ))}\n </div>\n <div\n className={css`\n position: relative;\n height: 2em;\n `}\n >\n <Tooltip title=\"添加分支\">\n <Button\n icon={<PlusOutlined />}\n className={css`\n position: absolute;\n top: calc(50% - 1px);\n transform: translateX(-50%) rotate(45deg);\n\n .anticon{\n transform: rotate(-45deg);\n }\n `}\n onClick={() => setBranchCount(branchCount + 1)}\n />\n </Tooltip>\n </div>\n </div>\n </NodeDefaultView>\n )\n }\n};\n"]}
@@ -6,7 +6,7 @@ declare const _default: {
6
6
  type: string;
7
7
  group: string;
8
8
  fieldset: {
9
- collection: {
9
+ 'config.collection': {
10
10
  type: string;
11
11
  title: string;
12
12
  name: string;
@@ -15,7 +15,7 @@ declare const _default: {
15
15
  'x-decorator': string;
16
16
  'x-component': string;
17
17
  };
18
- multiple: {
18
+ 'config.multiple': {
19
19
  type: string;
20
20
  title: string;
21
21
  name: string;
@@ -25,7 +25,7 @@ declare const _default: {
25
25
  disabled: boolean;
26
26
  };
27
27
  };
28
- params: {
28
+ 'config.params': {
29
29
  type: string;
30
30
  name: string;
31
31
  title: string;
@@ -22,20 +22,20 @@ exports.default = {
22
22
  type: 'query',
23
23
  group: 'model',
24
24
  fieldset: {
25
- collection: collection_1.collection,
26
- multiple: {
25
+ 'config.collection': collection_1.collection,
26
+ 'config.multiple': {
27
27
  type: 'boolean',
28
28
  title: '多条数据',
29
- name: 'multiple',
29
+ name: 'config.multiple',
30
30
  'x-decorator': 'FormItem',
31
31
  'x-component': 'Checkbox',
32
32
  'x-component-props': {
33
33
  disabled: true
34
34
  }
35
35
  },
36
- params: {
36
+ 'config.params': {
37
37
  type: 'object',
38
- name: 'params',
38
+ name: 'config.params',
39
39
  title: '',
40
40
  'x-decorator': 'FormItem',
41
41
  properties: {
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/workflow/nodes/query.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6BAA8B;AAE9B,2BAAkF;AAElF,oDAAmD;AACnD,8CAAgE;AAChE,oDAA2D;AAE3D,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,UAAU,yBAAA;QACV,QAAQ,EAAE;YACR,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,UAAU;YAChB,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,UAAU;YACzB,mBAAmB,EAAE;gBACnB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,iBAAiB,iCAAA;KAClB;IACD,MAAM,YAAC,EAA2B;;YAAzB,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;QAC9B,IAAM,OAAO,GAAG,IAAA,cAAU,GAAE,CAAC;QACrB,IAAA,KAAqB,IAAA,wBAAoB,GAAE,YAA3B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA4B;QAC5C,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QAC3B,IAAA,MAAM,GAAK,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAtB,CAAsB,CAAC,OAA5C,CAA6C;QAC3D,IAAM,UAAU,GAAG,MAAA,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAA/B,CAA+B,CAAC,mCAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE/F,OAAO,CACL,uBAAC,aAAM,aAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,0BAAM,EAAC,QAAQ,EAAE,UAAA,IAAI;gBAC5D,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,wBAAO,OAAO,KAAE,IAAI,MAAA,GAAE,EAAE,CAAC,CAAC;YACpD,CAAC,gBACE,UAAU,CAAC,MAAM;iBACf,MAAM,CAAC,UAAA,KAAK,YAAI,OAAA,yBAAW,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAA,EAAA,CAAC;iBACtD,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,CACd,uBAAC,aAAM,CAAC,MAAM,aAAkB,KAAK,EAAE,KAAK,CAAC,IAAI,gBAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAA7D,KAAK,CAAC,IAAI,CAAoE,CACnG,EAFe,CAEf,CAAC,YACK,CACV,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import React from 'react';\nimport { Select } from 'antd';\n\nimport { useCollectionDataSource, useCollectionManager, useCompile } from '../..';\n\nimport { useFlowContext } from '../WorkflowCanvas';\nimport { BaseTypeSet, VariableComponent } from '../calculators';\nimport { collection, filter } from '../schemas/collection';\n\nexport default {\n title: '查询数据',\n type: 'query',\n group: 'model',\n fieldset: {\n collection,\n multiple: {\n type: 'boolean',\n title: '多条数据',\n name: 'multiple',\n 'x-decorator': 'FormItem',\n 'x-component': 'Checkbox',\n 'x-component-props': {\n disabled: true\n }\n },\n params: {\n type: 'object',\n name: 'params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n filter\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n VariableComponent\n },\n getter({ type, options, onChange }) {\n const compile = useCompile();\n const { collections = [] } = useCollectionManager();\n const { nodes } = useFlowContext();\n const { config } = nodes.find(n => n.id == options.nodeId);\n const collection = collections.find(item => item.name === config.collection) ?? { fields: [] };\n\n return (\n <Select value={options.path} placeholder=\"选择字段\" onChange={path => {\n onChange({ type, options: { ...options, path } });\n }}>\n {collection.fields\n .filter(field => BaseTypeSet.has(field.uiSchema?.type))\n .map(field => (\n <Select.Option key={field.name} value={field.name}>{compile(field.uiSchema.title)}</Select.Option>\n ))}\n </Select>\n );\n }\n};\n"]}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/workflow/nodes/query.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;AACA,6BAA8B;AAE9B,2BAAkF;AAElF,oDAAmD;AACnD,8CAAgE;AAChE,oDAA2D;AAE3D,kBAAe;IACb,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,OAAO;IACd,QAAQ,EAAE;QACR,mBAAmB,EAAE,uBAAU;QAC/B,iBAAiB,EAAE;YACjB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,MAAM;YACb,IAAI,EAAE,iBAAiB;YACvB,aAAa,EAAE,UAAU;YACzB,aAAa,EAAE,UAAU;YACzB,mBAAmB,EAAE;gBACnB,QAAQ,EAAE,IAAI;aACf;SACF;QACD,eAAe,EAAE;YACf,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,eAAe;YACrB,KAAK,EAAE,EAAE;YACT,aAAa,EAAE,UAAU;YACzB,UAAU,EAAE;gBACV,MAAM,qBAAA;aACP;SACF;KACF;IACD,IAAI,EAAE,EAEL;IACD,KAAK,EAAE;QACL,uBAAuB,6BAAA;KACxB;IACD,UAAU,EAAE;QACV,iBAAiB,iCAAA;KAClB;IACD,MAAM,YAAC,EAA2B;;YAAzB,IAAI,UAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAA;QAC9B,IAAM,OAAO,GAAG,IAAA,cAAU,GAAE,CAAC;QACrB,IAAA,KAAqB,IAAA,wBAAoB,GAAE,YAA3B,EAAhB,WAAW,mBAAG,EAAE,KAAA,CAA4B;QAC5C,IAAA,KAAK,GAAK,IAAA,+BAAc,GAAE,MAArB,CAAsB;QAC3B,IAAA,MAAM,GAAK,KAAK,CAAC,IAAI,CAAC,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,EAAE,IAAI,OAAO,CAAC,MAAM,EAAtB,CAAsB,CAAC,OAA5C,CAA6C;QAC3D,IAAM,UAAU,GAAG,MAAA,WAAW,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,IAAI,KAAK,MAAM,CAAC,UAAU,EAA/B,CAA+B,CAAC,mCAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;QAE/F,OAAO,CACL,uBAAC,aAAM,aAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,WAAW,EAAC,0BAAM,EAAC,QAAQ,EAAE,UAAA,IAAI;gBAC5D,QAAQ,CAAC,EAAE,IAAI,MAAA,EAAE,OAAO,wBAAO,OAAO,KAAE,IAAI,MAAA,GAAE,EAAE,CAAC,CAAC;YACpD,CAAC,gBACE,UAAU,CAAC,MAAM;iBACf,MAAM,CAAC,UAAA,KAAK,YAAI,OAAA,yBAAW,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAA,EAAA,CAAC;iBACtD,GAAG,CAAC,UAAA,KAAK,IAAI,OAAA,CACd,uBAAC,aAAM,CAAC,MAAM,aAAkB,KAAK,EAAE,KAAK,CAAC,IAAI,gBAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,KAA7D,KAAK,CAAC,IAAI,CAAoE,CACnG,EAFe,CAEf,CAAC,YACK,CACV,CAAC;IACJ,CAAC;CACF,CAAC","sourcesContent":["import React from 'react';\nimport { Select } from 'antd';\n\nimport { useCollectionDataSource, useCollectionManager, useCompile } from '../..';\n\nimport { useFlowContext } from '../WorkflowCanvas';\nimport { BaseTypeSet, VariableComponent } from '../calculators';\nimport { collection, filter } from '../schemas/collection';\n\nexport default {\n title: '查询数据',\n type: 'query',\n group: 'model',\n fieldset: {\n 'config.collection': collection,\n 'config.multiple': {\n type: 'boolean',\n title: '多条数据',\n name: 'config.multiple',\n 'x-decorator': 'FormItem',\n 'x-component': 'Checkbox',\n 'x-component-props': {\n disabled: true\n }\n },\n 'config.params': {\n type: 'object',\n name: 'config.params',\n title: '',\n 'x-decorator': 'FormItem',\n properties: {\n filter\n }\n }\n },\n view: {\n\n },\n scope: {\n useCollectionDataSource\n },\n components: {\n VariableComponent\n },\n getter({ type, options, onChange }) {\n const compile = useCompile();\n const { collections = [] } = useCollectionManager();\n const { nodes } = useFlowContext();\n const { config } = nodes.find(n => n.id == options.nodeId);\n const collection = collections.find(item => item.name === config.collection) ?? { fields: [] };\n\n return (\n <Select value={options.path} placeholder=\"选择字段\" onChange={path => {\n onChange({ type, options: { ...options, path } });\n }}>\n {collection.fields\n .filter(field => BaseTypeSet.has(field.uiSchema?.type))\n .map(field => (\n <Select.Option key={field.name} value={field.name}>{compile(field.uiSchema.title)}</Select.Option>\n ))}\n </Select>\n );\n }\n};\n"]}