@nocobase/plugin-workflow 0.9.2-alpha.2 → 0.9.2-alpha.4

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 (72) hide show
  1. package/lib/client/AddButton.js +1 -3
  2. package/lib/client/Branch.d.ts +1 -1
  3. package/lib/client/ExecutionCanvas.js +1 -1
  4. package/lib/client/FlowContext.d.ts +1 -1
  5. package/lib/client/WorkflowProvider.js +0 -1
  6. package/lib/client/components/CollectionFieldset.d.ts +1 -1
  7. package/lib/client/components/CollectionFieldset.js +13 -13
  8. package/lib/client/components/Duration.js +3 -3
  9. package/lib/client/components/DynamicExpression.d.ts +1 -1
  10. package/lib/client/components/DynamicExpression.js +19 -19
  11. package/lib/client/components/RadioWithTooltip.js +4 -4
  12. package/lib/client/components/renderEngineReference.js +12 -11
  13. package/lib/client/interfaces/expression.d.ts +1 -1
  14. package/lib/client/interfaces/expression.js +2 -1
  15. package/lib/client/locale/en-US.d.ts +70 -70
  16. package/lib/client/locale/en-US.js +115 -115
  17. package/lib/client/locale/ja-JP.d.ts +57 -57
  18. package/lib/client/locale/ja-JP.js +85 -85
  19. package/lib/client/locale/pt-BR.d.ts +70 -70
  20. package/lib/client/locale/pt-BR.js +115 -115
  21. package/lib/client/locale/ru-RU.d.ts +57 -57
  22. package/lib/client/locale/ru-RU.js +85 -85
  23. package/lib/client/locale/tr-TR.d.ts +57 -57
  24. package/lib/client/locale/tr-TR.js +85 -85
  25. package/lib/client/locale/zh-CN.js +55 -55
  26. package/lib/client/nodes/calculation.d.ts +1 -1
  27. package/lib/client/nodes/calculation.js +29 -29
  28. package/lib/client/nodes/condition.d.ts +3 -3
  29. package/lib/client/nodes/condition.js +76 -72
  30. package/lib/client/nodes/delay.d.ts +1 -1
  31. package/lib/client/nodes/index.js +35 -37
  32. package/lib/client/nodes/manual/ModeConfig.js +5 -5
  33. package/lib/client/nodes/manual/SchemaConfig.js +2 -5
  34. package/lib/client/nodes/manual/WorkflowTodo.js +3 -3
  35. package/lib/client/nodes/manual/forms/customForm.js +1 -2
  36. package/lib/client/nodes/parallel.d.ts +1 -1
  37. package/lib/client/nodes/parallel.js +6 -6
  38. package/lib/client/nodes/request.d.ts +2 -0
  39. package/lib/client/nodes/request.js +7 -5
  40. package/lib/client/style.js +67 -63
  41. package/lib/client/triggers/index.d.ts +4 -4
  42. package/lib/client/triggers/index.js +5 -7
  43. package/lib/client/triggers/schedule/DateFieldsSelect.d.ts +1 -1
  44. package/lib/client/triggers/schedule/EndsByField.js +3 -3
  45. package/lib/client/triggers/schedule/OnField.js +3 -3
  46. package/lib/client/triggers/schedule/RepeatField.js +16 -16
  47. package/lib/client/triggers/schedule/ScheduleConfig.js +2 -2
  48. package/lib/client/utils.js +1 -1
  49. package/lib/client/variable.js +4 -4
  50. package/lib/server/Processor.d.ts +2 -2
  51. package/lib/server/Processor.js +8 -8
  52. package/lib/server/functions/index.d.ts +1 -1
  53. package/lib/server/functions/index.js +1 -2
  54. package/lib/server/instructions/calculation.d.ts +1 -1
  55. package/lib/server/instructions/calculation.js +7 -7
  56. package/lib/server/instructions/condition.d.ts +2 -2
  57. package/lib/server/instructions/condition.js +7 -8
  58. package/lib/server/instructions/create.d.ts +1 -1
  59. package/lib/server/instructions/destroy.d.ts +1 -1
  60. package/lib/server/instructions/manual/index.js +1 -2
  61. package/lib/server/instructions/parallel.d.ts +3 -3
  62. package/lib/server/instructions/query.d.ts +2 -2
  63. package/lib/server/instructions/request.js +0 -1
  64. package/lib/server/instructions/update.d.ts +2 -2
  65. package/lib/server/migrations/20230221071831-calculation-expression.js +11 -11
  66. package/lib/server/migrations/20230221121203-condition-calculation.js +6 -6
  67. package/lib/server/migrations/20230221162902-jsonb-to-json.js +3 -5
  68. package/lib/server/migrations/20230411034722-manual-multi-form.js +3 -2
  69. package/lib/server/triggers/collection.d.ts +2 -2
  70. package/lib/server/triggers/collection.js +2 -2
  71. package/lib/server/triggers/schedule.js +26 -20
  72. package/package.json +12 -12
@@ -57,7 +57,6 @@ function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typ
57
57
  function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
58
58
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
59
59
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
60
- ;
61
60
  function AddButton({
62
61
  upstream,
63
62
  branchIndex = null
@@ -146,5 +145,4 @@ function AddButton({
146
145
  shape: "circle",
147
146
  icon: _react().default.createElement(_icons().PlusOutlined, null)
148
147
  })));
149
- }
150
- ;
148
+ }
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
- export declare function Branch({ from, entry, branchIndex, controller }: {
2
+ export declare function Branch({ from, entry, branchIndex, controller, }: {
3
3
  from?: any;
4
4
  entry?: any;
5
5
  branchIndex?: number | null;
@@ -71,7 +71,7 @@ function attachJobs(nodes, jobs = []) {
71
71
  _step;
72
72
  try {
73
73
  for (_iterator.s(); !(_step = _iterator.n()).done;) {
74
- let node = _step.value;
74
+ const node = _step.value;
75
75
  if (jobsMap.has(node.id)) {
76
76
  node.job = jobsMap.get(node.id);
77
77
  }
@@ -1,3 +1,3 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  export declare const FlowContext: React.Context<any>;
3
3
  export declare function useFlowContext(): any;
@@ -70,7 +70,6 @@ function WorkflowPane() {
70
70
  }
71
71
  }));
72
72
  }
73
- ;
74
73
  const WorkflowProvider = props => {
75
74
  const pmCtx = (0, _react().useContext)(_client().PluginManagerContext);
76
75
  const cmCtx = (0, _react().useContext)(_client().CollectionManagerContext);
@@ -1,3 +1,3 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  declare const _default: React.MemoExoticComponent<React.FunctionComponent<Pick<any, string | number | symbol>>>;
3
3
  export default _default;
@@ -100,24 +100,24 @@ var _default = (0, _react2().observer)(({
100
100
  const _useForm2 = (0, _react2().useForm)(),
101
101
  config = _useForm2.values;
102
102
  const collectionName = config === null || config === void 0 ? void 0 : config.collection;
103
- const fields = getCollectionFields(collectionName).filter(field => !field.hidden && (field.uiSchema ? !field.uiSchema['x-read-pretty'] : false)
103
+ const fields = getCollectionFields(collectionName).filter(field => !field.hidden && (field.uiSchema ? !field.uiSchema['x-read-pretty'] : false) &&
104
104
  // TODO: should use some field option but not type to control this
105
- && !['formula'].includes(field.type));
105
+ !['formula'].includes(field.type));
106
106
  const unassignedFields = fields.filter(field => !(field.name in value));
107
107
  const scope = (0, _variable.useWorkflowVariableOptions)();
108
108
  const mergedDisabled = disabled || form.disabled;
109
109
  return _react().default.createElement("fieldset", {
110
110
  className: (0, _css().css)`
111
- margin-top: .5em;
111
+ margin-top: 0.5em;
112
112
 
113
- > .ant-formily-item{
114
- flex-direction: column;
113
+ > .ant-formily-item {
114
+ flex-direction: column;
115
115
 
116
- > .ant-formily-item-label{
117
- line-height: 32px;
116
+ > .ant-formily-item-label {
117
+ line-height: 32px;
118
+ }
118
119
  }
119
- }
120
- `
120
+ `
121
121
  }, fields.length ? _react().default.createElement(_client().CollectionProvider, {
122
122
  collection: getCollection(collectionName)
123
123
  }, fields.filter(field => field.name in value).map(field => {
@@ -131,7 +131,7 @@ var _default = (0, _react2().observer)(({
131
131
  label: compile((_field$uiSchema$title = (_field$uiSchema = field.uiSchema) === null || _field$uiSchema === void 0 ? void 0 : _field$uiSchema.title) !== null && _field$uiSchema$title !== void 0 ? _field$uiSchema$title : field.name),
132
132
  labelAlign: "left",
133
133
  className: (0, _css().css)`
134
- .ant-form-item-control-input-content{
134
+ .ant-form-item-control-input-content {
135
135
  display: flex;
136
136
  }
137
137
  `
@@ -180,9 +180,9 @@ var _default = (0, _react2().observer)(({
180
180
  [key]: null
181
181
  })),
182
182
  className: (0, _css().css)`
183
- max-height: 300px;
184
- overflow-y: auto;
185
- `
183
+ max-height: 300px;
184
+ overflow-y: auto;
185
+ `
186
186
  })
187
187
  }, _react().default.createElement(_antd().Button, {
188
188
  icon: _react().default.createElement(_icons().PlusOutlined, null)
@@ -54,9 +54,9 @@ function _default({
54
54
  const quantity = Math.round(value / option.value);
55
55
  return _react().default.createElement("fieldset", {
56
56
  className: (0, _css().css)`
57
- display: flex;
58
- gap: .5em;
59
- `
57
+ display: flex;
58
+ gap: 0.5em;
59
+ `
60
60
  }, _react().default.createElement(_antd().InputNumber, {
61
61
  min: 1,
62
62
  value: quantity,
@@ -1,4 +1,4 @@
1
- import React from "react";
1
+ import React from 'react';
2
2
  export declare const DynamicExpression: React.ForwardRefExoticComponent<Pick<Partial<Pick<any, string | number | symbol> & {
3
3
  children?: React.ReactNode;
4
4
  }>, string | number | symbol> & React.RefAttributes<unknown>>;
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.DynamicExpression = void 0;
7
- function _react() {
8
- const data = _interopRequireWildcard(require("react"));
9
- _react = function _react() {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _core() {
15
8
  const data = require("@formily/core");
16
9
  _core = function _core() {
@@ -18,9 +11,9 @@ function _core() {
18
11
  };
19
12
  return data;
20
13
  }
21
- function _react2() {
14
+ function _react() {
22
15
  const data = require("@formily/react");
23
- _react2 = function _react2() {
16
+ _react = function _react() {
24
17
  return data;
25
18
  };
26
19
  return data;
@@ -32,6 +25,13 @@ function _antd() {
32
25
  };
33
26
  return data;
34
27
  }
28
+ function _react2() {
29
+ const data = _interopRequireWildcard(require("react"));
30
+ _react2 = function _react2() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
35
  function _reactI18next() {
36
36
  const data = require("react-i18next");
37
37
  _reactI18next = function _reactI18next() {
@@ -61,15 +61,15 @@ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o =
61
61
  function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
62
62
  function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i.return && (_r = _i.return(), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
63
63
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
64
- const InternalExpression = (0, _react2().observer)(props => {
64
+ const InternalExpression = (0, _react().observer)(props => {
65
65
  const onChange = props.onChange;
66
- const _useForm = (0, _react2().useForm)(),
66
+ const _useForm = (0, _react().useForm)(),
67
67
  values = _useForm.values;
68
- const _useState = (0, _react().useState)(values === null || values === void 0 ? void 0 : values.sourceCollection),
68
+ const _useState = (0, _react2().useState)(values === null || values === void 0 ? void 0 : values.sourceCollection),
69
69
  _useState2 = _slicedToArray(_useState, 2),
70
70
  collection = _useState2[0],
71
71
  setCollection = _useState2[1];
72
- (0, _react2().useFormEffects)(() => {
72
+ (0, _react().useFormEffects)(() => {
73
73
  (0, _core().onFormInitialValuesChange)(form => {
74
74
  setCollection(form.values.sourceCollection);
75
75
  });
@@ -79,9 +79,9 @@ const InternalExpression = (0, _react2().observer)(props => {
79
79
  });
80
80
  });
81
81
  const options = (0, _variable.useCollectionFieldOptions)({
82
- collection
82
+ collection: collection
83
83
  });
84
- return _react().default.createElement(_client().Variable.TextArea, _objectSpread(_objectSpread({}, props), {}, {
84
+ return _react2().default.createElement(_client().Variable.TextArea, _objectSpread(_objectSpread({}, props), {}, {
85
85
  scope: options
86
86
  }));
87
87
  });
@@ -89,14 +89,14 @@ function Result(props) {
89
89
  const _useTranslation = (0, _reactI18next().useTranslation)(),
90
90
  t = _useTranslation.t;
91
91
  const values = (0, _client().useRecord)();
92
- const options = (0, _react().useMemo)(() => (0, _variable.useCollectionFieldOptions)({
92
+ const options = (0, _react2().useMemo)(() => (0, _variable.useCollectionFieldOptions)({
93
93
  collection: values.sourceCollection
94
94
  }), [values.sourceCollection, values.sourceCollection]);
95
- return props.value ? _react().default.createElement(_client().Variable.TextArea, _objectSpread(_objectSpread({}, props), {}, {
95
+ return props.value ? _react2().default.createElement(_client().Variable.TextArea, _objectSpread(_objectSpread({}, props), {}, {
96
96
  scope: options
97
- })) : _react().default.createElement(_antd().Tag, null, t('Unconfigured', {
97
+ })) : _react2().default.createElement(_antd().Tag, null, t('Unconfigured', {
98
98
  ns: _locale.NAMESPACE
99
99
  }));
100
100
  }
101
- const DynamicExpression = (0, _react2().connect)(InternalExpression, (0, _react2().mapReadPretty)(Result));
101
+ const DynamicExpression = (0, _react().connect)(InternalExpression, (0, _react().mapReadPretty)(Result));
102
102
  exports.DynamicExpression = DynamicExpression;
@@ -58,10 +58,10 @@ function RadioWithTooltip(props) {
58
58
  value: option.value
59
59
  }, _react().default.createElement("span", {
60
60
  className: (0, _css().css)`
61
- & + .anticon {
62
- margin-left: .25em;
63
- }
64
- `
61
+ & + .anticon {
62
+ margin-left: 0.25em;
63
+ }
64
+ `
65
65
  }, compile(option.label)), option.tooltip && _react().default.createElement(_antd().Tooltip, {
66
66
  title: compile(option.tooltip)
67
67
  }, _react().default.createElement(_icons().QuestionCircleOutlined, {
@@ -4,13 +4,6 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.renderEngineReference = void 0;
7
- function _react() {
8
- const data = _interopRequireDefault(require("react"));
9
- _react = function _react() {
10
- return data;
11
- };
12
- return data;
13
- }
14
7
  function _css() {
15
8
  const data = require("@emotion/css");
16
9
  _css = function _css() {
@@ -26,15 +19,22 @@ function _client() {
26
19
  return data;
27
20
  }
28
21
  function _client2() {
29
- const data = _interopRequireDefault(require("@nocobase/evaluators/client"));
22
+ const data = require("@nocobase/evaluators/client");
30
23
  _client2 = function _client2() {
31
24
  return data;
32
25
  };
33
26
  return data;
34
27
  }
28
+ function _react() {
29
+ const data = _interopRequireDefault(require("react"));
30
+ _react = function _react() {
31
+ return data;
32
+ };
33
+ return data;
34
+ }
35
35
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
36
36
  const renderEngineReference = key => {
37
- const engine = _client2().default.get(key);
37
+ const engine = _client2().evaluators.get(key);
38
38
  if (!engine) {
39
39
  return null;
40
40
  }
@@ -44,12 +44,13 @@ const renderEngineReference = key => {
44
44
  content: ':';
45
45
  }
46
46
  & + a {
47
- margin-left: .25em;
47
+ margin-left: 0.25em;
48
48
  }
49
49
  `
50
50
  }, _client().i18n.t('Syntax references')), _react().default.createElement("a", {
51
51
  href: engine.link,
52
- target: "_blank"
52
+ target: "_blank",
53
+ rel: "noreferrer"
53
54
  }, engine.label)) : null;
54
55
  };
55
56
  exports.renderEngineReference = renderEngineReference;
@@ -1,3 +1,3 @@
1
- import { IField } from "@nocobase/client";
1
+ import { IField } from '@nocobase/client';
2
2
  declare const _default: IField;
3
3
  export default _default;
@@ -32,6 +32,7 @@ var _default = {
32
32
  'x-component': 'DynamicExpression'
33
33
  }
34
34
  },
35
- properties: _objectSpread({}, defaultProps)
35
+ properties: _objectSpread({}, defaultProps),
36
+ invariable: true
36
37
  };
37
38
  exports.default = _default;
@@ -1,112 +1,112 @@
1
1
  declare const _default: {
2
2
  Workflow: string;
3
- "Execution history": string;
3
+ 'Execution history': string;
4
4
  Executed: string;
5
- "Trigger type": string;
5
+ 'Trigger type': string;
6
6
  Status: string;
7
7
  On: string;
8
8
  Off: string;
9
9
  Version: string;
10
- "Copy to new version": string;
10
+ 'Copy to new version': string;
11
11
  Duplicate: string;
12
12
  Loading: string;
13
- "Load failed": string;
13
+ 'Load failed': string;
14
14
  Trigger: string;
15
- "Trigger variables": string;
16
- "Trigger data": string;
17
- "Trigger time": string;
18
- "Triggered at": string;
19
- "Collection event": string;
20
- "Trigger on": string;
21
- "After record added": string;
22
- "After record updated": string;
23
- "After record added or updated": string;
24
- "After record deleted": string;
25
- "Changed fields": string;
26
- "Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.": string;
27
- "Only triggers when match conditions": string;
28
- "Schedule event": string;
29
- "Trigger mode": string;
30
- "Based on certain date": string;
31
- "Based on date field of collection": string;
32
- "Starts on": string;
33
- "Ends on": string;
34
- "No end": string;
35
- "Exactly at": string;
36
- "Repeat mode": string;
37
- "Repeat limit": string;
38
- "No limit": string;
15
+ 'Trigger variables': string;
16
+ 'Trigger data': string;
17
+ 'Trigger time': string;
18
+ 'Triggered at': string;
19
+ 'Collection event': string;
20
+ 'Trigger on': string;
21
+ 'After record added': string;
22
+ 'After record updated': string;
23
+ 'After record added or updated': string;
24
+ 'After record deleted': string;
25
+ 'Changed fields': string;
26
+ 'Triggered only if one of the selected fields changes. If unselected, it means that it will be triggered when any field changes. When record is added or deleted, any field is considered to have been changed.': string;
27
+ 'Only triggers when match conditions': string;
28
+ 'Schedule event': string;
29
+ 'Trigger mode': string;
30
+ 'Based on certain date': string;
31
+ 'Based on date field of collection': string;
32
+ 'Starts on': string;
33
+ 'Ends on': string;
34
+ 'No end': string;
35
+ 'Exactly at': string;
36
+ 'Repeat mode': string;
37
+ 'Repeat limit': string;
38
+ 'No limit': string;
39
39
  Seconds: string;
40
40
  Minutes: string;
41
41
  Hours: string;
42
42
  Days: string;
43
43
  Weeks: string;
44
44
  Months: string;
45
- "No repeat": string;
45
+ 'No repeat': string;
46
46
  Every: string;
47
- "By minute": string;
48
- "By hour": string;
49
- "By day": string;
50
- "By week": string;
51
- "By month": string;
52
- "By field": string;
53
- "By custom date": string;
47
+ 'By minute': string;
48
+ 'By hour': string;
49
+ 'By day': string;
50
+ 'By week': string;
51
+ 'By month': string;
52
+ 'By field': string;
53
+ 'By custom date': string;
54
54
  Advanced: string;
55
55
  End: string;
56
- "Node result": string;
56
+ 'Node result': string;
57
57
  Constant: string;
58
58
  Null: string;
59
59
  Boolean: string;
60
60
  String: string;
61
61
  Calculator: string;
62
- "Arithmetic calculation": string;
63
- "String operation": string;
64
- "Executed at": string;
62
+ 'Arithmetic calculation': string;
63
+ 'String operation': string;
64
+ 'Executed at': string;
65
65
  Queueing: string;
66
- "On going": string;
66
+ 'On going': string;
67
67
  Succeeded: string;
68
68
  Failed: string;
69
69
  Pending: string;
70
70
  Canceled: string;
71
- "This node contains branches, deleting will also be preformed to them, are you sure?": string;
71
+ 'This node contains branches, deleting will also be preformed to them, are you sure?': string;
72
72
  Control: string;
73
- "Collection operations": string;
74
- "Extended types": string;
75
- "Node type": string;
73
+ 'Collection operations': string;
74
+ 'Extended types': string;
75
+ 'Node type': string;
76
76
  Calculation: string;
77
- "Configure calculation": string;
78
- "Calculation result": string;
77
+ 'Configure calculation': string;
78
+ 'Calculation result': string;
79
79
  True: string;
80
80
  False: string;
81
81
  concat: string;
82
82
  Condition: string;
83
83
  Mode: string;
84
- "Continue when \"Yes\"": string;
85
- "Branch into \"Yes\" and \"No\"": string;
84
+ 'Continue when "Yes"': string;
85
+ 'Branch into "Yes" and "No"': string;
86
86
  Conditions: string;
87
- "Parallel branch": string;
88
- "Add branch": string;
89
- "All succeeded": string;
90
- "Any succeeded": string;
91
- "Any succeeded or failed": string;
92
- "Continue after all branches succeeded": string;
93
- "Continue after any branch succeeded": string;
94
- "Continue after any branch succeeded, or exit after any branch failed": string;
87
+ 'Parallel branch': string;
88
+ 'Add branch': string;
89
+ 'All succeeded': string;
90
+ 'Any succeeded': string;
91
+ 'Any succeeded or failed': string;
92
+ 'Continue after all branches succeeded': string;
93
+ 'Continue after any branch succeeded': string;
94
+ 'Continue after any branch succeeded, or exit after any branch failed': string;
95
95
  Delay: string;
96
96
  Duration: string;
97
- "End Status": string;
98
- "Select status": string;
99
- "Succeed and continue": string;
100
- "Fail and exit": string;
101
- "Create record": string;
102
- "Update record": string;
103
- "Query record": string;
104
- "Multiple records": string;
105
- "Please select collection first": string;
106
- "Only update records matching conditions": string;
107
- "Fields that are not assigned a value will be set to the default value, and those that do not have a default value are set to null.": string;
108
- "Trigger in executed workflow cannot be modified": string;
109
- "Node in executed workflow cannot be modified": string;
97
+ 'End Status': string;
98
+ 'Select status': string;
99
+ 'Succeed and continue': string;
100
+ 'Fail and exit': string;
101
+ 'Create record': string;
102
+ 'Update record': string;
103
+ 'Query record': string;
104
+ 'Multiple records': string;
105
+ 'Please select collection first': string;
106
+ 'Only update records matching conditions': string;
107
+ 'Fields that are not assigned a value will be set to the default value, and those that do not have a default value are set to null.': string;
108
+ 'Trigger in executed workflow cannot be modified': string;
109
+ 'Node in executed workflow cannot be modified': string;
110
110
  'Can not delete': string;
111
111
  'The result of this node has been referenced by other nodes ({{nodes}}), please remove the usage before deleting.': string;
112
112
  'HTTP request': string;