@nocobase/plugin-workflow 0.9.0-alpha.2 → 0.9.1-alpha.1

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 (135) hide show
  1. package/README.md +9 -0
  2. package/README.zh-CN.md +9 -0
  3. package/lib/client/AddButton.d.ts +1 -1
  4. package/lib/client/AddButton.js +7 -2
  5. package/lib/client/Branch.d.ts +1 -1
  6. package/lib/client/ExecutionCanvas.js +5 -10
  7. package/lib/client/WorkflowCanvas.js +11 -40
  8. package/lib/client/WorkflowProvider.js +10 -1
  9. package/lib/client/components/CollectionBlockInitializer.d.ts +7 -0
  10. package/lib/client/components/CollectionBlockInitializer.js +81 -0
  11. package/lib/client/components/CollectionFieldInitializers.d.ts +2 -0
  12. package/lib/client/components/CollectionFieldInitializers.js +89 -0
  13. package/lib/client/components/CollectionFieldset.js +21 -25
  14. package/lib/client/components/FilterDynamicComponent.d.ts +6 -0
  15. package/lib/client/components/FilterDynamicComponent.js +43 -0
  16. package/lib/client/components/NullRender.d.ts +1 -0
  17. package/lib/client/components/NullRender.js +10 -0
  18. package/lib/client/components/RadioWithTooltip.d.ts +7 -0
  19. package/lib/client/components/RadioWithTooltip.js +94 -0
  20. package/lib/client/constants.d.ts +10 -8
  21. package/lib/client/constants.js +52 -14
  22. package/lib/client/index.d.ts +0 -1
  23. package/lib/client/index.js +1 -10
  24. package/lib/client/locale/en-US.d.ts +18 -18
  25. package/lib/client/locale/en-US.js +19 -19
  26. package/lib/client/locale/zh-CN.d.ts +47 -20
  27. package/lib/client/locale/zh-CN.js +48 -21
  28. package/lib/client/nodes/calculation.d.ts +40 -6
  29. package/lib/client/nodes/calculation.js +171 -19
  30. package/lib/client/nodes/condition.d.ts +67 -0
  31. package/lib/client/nodes/condition.js +287 -27
  32. package/lib/client/nodes/create.d.ts +8 -6
  33. package/lib/client/nodes/create.js +27 -33
  34. package/lib/client/nodes/delay.d.ts +2 -0
  35. package/lib/client/nodes/delay.js +8 -4
  36. package/lib/client/nodes/destroy.d.ts +2 -2
  37. package/lib/client/nodes/destroy.js +2 -2
  38. package/lib/client/nodes/index.d.ts +10 -2
  39. package/lib/client/nodes/index.js +73 -27
  40. package/lib/client/nodes/manual/AssigneesSelect.d.ts +6 -0
  41. package/lib/client/nodes/manual/AssigneesSelect.js +64 -0
  42. package/lib/client/nodes/manual/ModeConfig.d.ts +5 -0
  43. package/lib/client/nodes/manual/ModeConfig.js +160 -0
  44. package/lib/client/nodes/manual/SchemaConfig.d.ts +6 -0
  45. package/lib/client/nodes/manual/SchemaConfig.js +715 -0
  46. package/lib/client/nodes/manual/WorkflowTodo.d.ts +8 -0
  47. package/lib/client/nodes/manual/WorkflowTodo.js +691 -0
  48. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.d.ts +5 -0
  49. package/lib/client/nodes/manual/WorkflowTodoBlockInitializer.js +75 -0
  50. package/lib/client/nodes/manual/index.d.ts +64 -0
  51. package/lib/client/nodes/manual/index.js +146 -0
  52. package/lib/client/nodes/parallel.d.ts +11 -5
  53. package/lib/client/nodes/parallel.js +22 -34
  54. package/lib/client/nodes/query.d.ts +9 -14
  55. package/lib/client/nodes/query.js +38 -44
  56. package/lib/client/nodes/request.d.ts +75 -33
  57. package/lib/client/nodes/request.js +124 -63
  58. package/lib/client/nodes/update.d.ts +2 -2
  59. package/lib/client/nodes/update.js +2 -2
  60. package/lib/client/schemas/collection.js +1 -1
  61. package/lib/client/schemas/executions.js +1 -1
  62. package/lib/client/schemas/workflows.js +1 -1
  63. package/lib/client/style.js +0 -4
  64. package/lib/client/triggers/collection.d.ts +7 -3
  65. package/lib/client/triggers/collection.js +39 -48
  66. package/lib/client/triggers/index.d.ts +5 -2
  67. package/lib/client/triggers/index.js +34 -12
  68. package/lib/client/triggers/schedule/index.d.ts +7 -5
  69. package/lib/client/triggers/schedule/index.js +38 -79
  70. package/lib/client/utils.d.ts +1 -0
  71. package/lib/client/utils.js +38 -0
  72. package/lib/client/variable.d.ts +21 -0
  73. package/lib/client/variable.js +147 -0
  74. package/lib/server/Plugin.d.ts +3 -3
  75. package/lib/server/Plugin.js +12 -21
  76. package/lib/server/Processor.d.ts +9 -2
  77. package/lib/server/Processor.js +33 -33
  78. package/lib/server/actions/index.js +2 -4
  79. package/lib/server/actions/workflows.d.ts +1 -0
  80. package/lib/server/actions/workflows.js +80 -23
  81. package/lib/server/collections/executions.js +5 -7
  82. package/lib/server/collections/flow_nodes.js +6 -18
  83. package/lib/server/collections/jobs.js +3 -1
  84. package/lib/server/collections/workflows.js +8 -4
  85. package/lib/server/constants.d.ts +9 -3
  86. package/lib/server/constants.js +11 -5
  87. package/lib/server/functions/index.d.ts +4 -0
  88. package/lib/server/functions/index.js +38 -0
  89. package/lib/server/index.d.ts +0 -1
  90. package/lib/server/index.js +0 -14
  91. package/lib/server/instructions/calculation.d.ts +2 -7
  92. package/lib/server/instructions/calculation.js +32 -37
  93. package/lib/server/instructions/condition.d.ts +4 -4
  94. package/lib/server/instructions/condition.js +126 -54
  95. package/lib/server/instructions/index.js +1 -1
  96. package/lib/server/instructions/manual/actions.js +101 -0
  97. package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/jobs.d.ts +2 -0
  98. package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/jobs.js +2 -1
  99. package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/users_jobs.js +10 -10
  100. package/lib/server/instructions/manual/index.d.ts +25 -0
  101. package/lib/server/instructions/manual/index.js +200 -0
  102. package/lib/server/instructions/parallel.js +11 -7
  103. package/lib/server/instructions/request.d.ts +5 -4
  104. package/lib/server/instructions/request.js +60 -79
  105. package/lib/server/migrations/20230221032941-change-request-body-type.d.ts +5 -0
  106. package/lib/server/migrations/20230221032941-change-request-body-type.js +113 -0
  107. package/lib/server/migrations/20230221071831-calculation-expression.d.ts +4 -0
  108. package/lib/server/migrations/20230221071831-calculation-expression.js +143 -0
  109. package/lib/server/migrations/20230221121203-condition-calculation.d.ts +4 -0
  110. package/lib/server/migrations/20230221121203-condition-calculation.js +126 -0
  111. package/lib/server/migrations/20230221162902-jsonb-to-json.d.ts +4 -0
  112. package/lib/server/migrations/20230221162902-jsonb-to-json.js +81 -0
  113. package/lib/server/triggers/schedule.js +11 -3
  114. package/package.json +10 -10
  115. package/lib/client/calculators.d.ts +0 -89
  116. package/lib/client/calculators.js +0 -668
  117. package/lib/client/components/CollectionFieldSelect.d.ts +0 -2
  118. package/lib/client/components/CollectionFieldSelect.js +0 -106
  119. package/lib/client/components/EjsTextArea.d.ts +0 -2
  120. package/lib/client/components/EjsTextArea.js +0 -232
  121. package/lib/server/actions/jobs.d.ts +0 -2
  122. package/lib/server/actions/jobs.js +0 -39
  123. package/lib/server/calculators/index.d.ts +0 -40
  124. package/lib/server/calculators/index.js +0 -187
  125. package/lib/server/extensions/assignees/actions.js +0 -75
  126. package/lib/server/extensions/assignees/index.d.ts +0 -2
  127. package/lib/server/extensions/assignees/index.js +0 -273
  128. package/lib/server/extensions/index.d.ts +0 -3
  129. package/lib/server/extensions/index.js +0 -13
  130. package/lib/server/instructions/prompt.d.ts +0 -19
  131. package/lib/server/instructions/prompt.js +0 -131
  132. /package/lib/server/{extensions/assignees → instructions/manual}/actions.d.ts +0 -0
  133. /package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/users.d.ts +0 -0
  134. /package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/users.js +0 -0
  135. /package/lib/server/{extensions/assignees/collections → instructions/manual/collecions}/users_jobs.d.ts +0 -0
@@ -0,0 +1,143 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _server() {
9
+ const data = require("@nocobase/server");
10
+
11
+ _server = function _server() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ const _excluded = ["calculation"];
19
+
20
+ 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); } }
21
+
22
+ 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); }); }; }
23
+
24
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
25
+
26
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+
28
+ function addQuote(v) {
29
+ if (typeof v !== 'string') {
30
+ return v;
31
+ }
32
+
33
+ if (v.match(/^{{\s*([^{}]+)\s*}}$/)) {
34
+ return v;
35
+ }
36
+
37
+ return `'${v}'`;
38
+ }
39
+
40
+ const calculatorsMap = {
41
+ 'equal': '==',
42
+ '===': '==',
43
+ 'notEqual': '!=',
44
+ '!==': '!=',
45
+ 'gt': '>',
46
+ 'gte': '>=',
47
+ 'lt': '<',
48
+ 'lte': '<=',
49
+ 'add': '+',
50
+ 'minus': '-',
51
+ 'multiple': '*',
52
+ 'divide': '/',
53
+ 'mod': '%',
54
+
55
+ includes(a, b) {
56
+ return `SEARCH(${b}, ${a}) >= 0`;
57
+ },
58
+
59
+ notIncludes(a, b) {
60
+ return `SEARCH(${b}, ${a}) < 0`;
61
+ },
62
+
63
+ startsWith(a, b) {
64
+ return `SEARCH(${b}, ${a}) == 0`;
65
+ },
66
+
67
+ endsWith(a, b) {
68
+ return `RIGHT(${a}, LEN(${b})) == ${b}`;
69
+ },
70
+
71
+ notStartsWith(a, b) {
72
+ return `SEARCH(${b}, ${a}) != 0`;
73
+ },
74
+
75
+ notEndsWith(a, b) {
76
+ return `RIGHT(${a}, LEN(${b})) != ${b}`;
77
+ },
78
+
79
+ concat(a, b) {
80
+ return `CONCATENATE(${a}, ${b})`;
81
+ }
82
+
83
+ };
84
+
85
+ function migrateConfig(_ref = {}) {
86
+ var _calculation$operands, _calculator$operands;
87
+
88
+ let calculation = _ref.calculation,
89
+ config = _objectWithoutProperties(_ref, _excluded);
90
+
91
+ if (!(calculation === null || calculation === void 0 ? void 0 : calculation.calculator) || !(calculation === null || calculation === void 0 ? void 0 : (_calculation$operands = calculation.operands) === null || _calculation$operands === void 0 ? void 0 : _calculation$operands.length)) {
92
+ return config;
93
+ }
94
+
95
+ const calculator = calculatorsMap[calculation.calculator];
96
+ const operands = ((_calculator$operands = calculator.operands) !== null && _calculator$operands !== void 0 ? _calculator$operands : []).map(operand => addQuote(operand));
97
+ return {
98
+ engine: 'formula.js',
99
+ expression: typeof calculator === 'function' ? calculator(...operands) : operands.join(` ${calculator !== null && calculator !== void 0 ? calculator : calculation.calculator} `)
100
+ };
101
+ }
102
+
103
+ class _default extends _server().Migration {
104
+ up() {
105
+ var _this = this;
106
+
107
+ return _asyncToGenerator(function* () {
108
+ const match = yield _this.app.version.satisfies('<0.9.0-alpha.3');
109
+
110
+ if (!match) {
111
+ return;
112
+ }
113
+
114
+ const NodeRepo = _this.context.db.getRepository('flow_nodes');
115
+
116
+ yield _this.context.db.sequelize.transaction( /*#__PURE__*/function () {
117
+ var _ref2 = _asyncToGenerator(function* (transaction) {
118
+ const nodes = yield NodeRepo.find({
119
+ filter: {
120
+ type: 'calculation'
121
+ },
122
+ transaction
123
+ });
124
+ console.log('%d nodes need to be migrated.', nodes.length);
125
+ yield nodes.reduce((promise, node) => promise.then(() => {
126
+ return node.update({
127
+ config: migrateConfig(node.config)
128
+ }, {
129
+ transaction
130
+ });
131
+ }), Promise.resolve());
132
+ });
133
+
134
+ return function (_x) {
135
+ return _ref2.apply(this, arguments);
136
+ };
137
+ }());
138
+ })();
139
+ }
140
+
141
+ }
142
+
143
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ import { Migration } from '@nocobase/server';
2
+ export default class extends Migration {
3
+ up(): Promise<void>;
4
+ }
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _server() {
9
+ const data = require("@nocobase/server");
10
+
11
+ _server = function _server() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
19
+
20
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
21
+
22
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
23
+
24
+ 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); } }
25
+
26
+ 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); }); }; }
27
+
28
+ const calculatorsMap = {
29
+ 'equal': '==',
30
+ '===': '==',
31
+ 'notEqual': '!=',
32
+ '!==': '!=',
33
+ 'gt': '>',
34
+ 'gte': '>=',
35
+ 'lt': '<',
36
+ 'lte': '<=',
37
+
38
+ includes(a, b) {
39
+ return `SEARCH('${b}', '${a}') >= 0`;
40
+ },
41
+
42
+ notIncludes(a, b) {
43
+ return `SEARCH('${b}', '${a}') < 0`;
44
+ },
45
+
46
+ startsWith(a, b) {
47
+ return `SEARCH('${b}', '${a}') == 0`;
48
+ },
49
+
50
+ endsWith(a, b) {
51
+ return `RIGHT('${a}', LEN('${b}')) == '${b}'`;
52
+ },
53
+
54
+ notStartsWith(a, b) {
55
+ return `SEARCH('${b}', '${a}') != 0`;
56
+ },
57
+
58
+ notEndsWith(a, b) {
59
+ return `RIGHT('${a}', LEN('${b}')) != '${b}'`;
60
+ }
61
+
62
+ };
63
+
64
+ function migrateConfig({
65
+ group: {
66
+ type = 'and',
67
+ calculations = []
68
+ }
69
+ }) {
70
+ return {
71
+ group: {
72
+ type,
73
+ calculations: calculations.map(({
74
+ calculator = '===',
75
+ operands = []
76
+ }) => {
77
+ return `(${operands.map(operand => (operand === null || operand === void 0 ? void 0 : operand.group) ? migrateConfig(operand) : operand).join(` ${calculatorsMap[calculator]} `)})`;
78
+ })
79
+ }
80
+ };
81
+ }
82
+
83
+ class _default extends _server().Migration {
84
+ up() {
85
+ var _this = this;
86
+
87
+ return _asyncToGenerator(function* () {
88
+ const match = yield _this.app.version.satisfies('<0.9.0-alpha.3');
89
+
90
+ if (!match) {
91
+ return;
92
+ }
93
+
94
+ const NodeRepo = _this.context.db.getRepository('flow_nodes');
95
+
96
+ yield _this.context.db.sequelize.transaction( /*#__PURE__*/function () {
97
+ var _ref = _asyncToGenerator(function* (transaction) {
98
+ const nodes = yield NodeRepo.find({
99
+ filter: {
100
+ type: 'condition'
101
+ },
102
+ transaction
103
+ });
104
+ console.log('%d nodes need to be migrated.', nodes.length);
105
+ yield nodes.reduce((promise, node) => promise.then(() => {
106
+ return node.update({
107
+ config: _objectSpread(_objectSpread({}, node.config), {}, {
108
+ engine: 'basic' // calculation: migrateConfig(node.config.calculation)
109
+
110
+ })
111
+ }, {
112
+ transaction
113
+ });
114
+ }), Promise.resolve());
115
+ });
116
+
117
+ return function (_x) {
118
+ return _ref.apply(this, arguments);
119
+ };
120
+ }());
121
+ })();
122
+ }
123
+
124
+ }
125
+
126
+ exports.default = _default;
@@ -0,0 +1,4 @@
1
+ import { Migration } from '@nocobase/server';
2
+ export default class extends Migration {
3
+ up(): Promise<void>;
4
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ function _sequelize() {
9
+ const data = require("sequelize");
10
+
11
+ _sequelize = function _sequelize() {
12
+ return data;
13
+ };
14
+
15
+ return data;
16
+ }
17
+
18
+ function _server() {
19
+ const data = require("@nocobase/server");
20
+
21
+ _server = function _server() {
22
+ return data;
23
+ };
24
+
25
+ return data;
26
+ }
27
+
28
+ 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); } }
29
+
30
+ 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); }); }; }
31
+
32
+ class _default extends _server().Migration {
33
+ up() {
34
+ var _arguments = arguments,
35
+ _this = this;
36
+
37
+ return _asyncToGenerator(function* () {
38
+ const match = yield _this.app.version.satisfies('<0.9.0-alpha.3');
39
+
40
+ if (!match) {
41
+ return;
42
+ }
43
+
44
+ const _arguments$0$context = _arguments[0].context,
45
+ sequelize = _arguments$0$context.sequelize,
46
+ queryInterface = _arguments$0$context.queryInterface;
47
+ const db = _this.app.db;
48
+ yield sequelize.transaction( /*#__PURE__*/function () {
49
+ var _ref = _asyncToGenerator(function* (transaction) {
50
+ yield queryInterface.changeColumn(db.getCollection('workflows').model.getTableName(), 'config', {
51
+ type: _sequelize().DataTypes.JSON
52
+ }, {
53
+ transaction
54
+ });
55
+ yield queryInterface.changeColumn(db.getCollection('flow_nodes').model.getTableName(), 'config', {
56
+ type: _sequelize().DataTypes.JSON
57
+ }, {
58
+ transaction
59
+ });
60
+ yield queryInterface.changeColumn(db.getCollection('executions').model.getTableName(), 'context', {
61
+ type: _sequelize().DataTypes.JSON
62
+ }, {
63
+ transaction
64
+ });
65
+ yield queryInterface.changeColumn(db.getCollection('jobs').model.getTableName(), 'result', {
66
+ type: _sequelize().DataTypes.JSON
67
+ }, {
68
+ transaction
69
+ });
70
+ });
71
+
72
+ return function (_x) {
73
+ return _ref.apply(this, arguments);
74
+ };
75
+ }());
76
+ })();
77
+ }
78
+
79
+ }
80
+
81
+ exports.default = _default;
@@ -69,8 +69,12 @@ ScheduleModes.set(SCHEDULE_MODE.CONSTANT, {
69
69
  }
70
70
 
71
71
  if (repeat) {
72
- if (typeof repeat === 'number' && repeat > this.cacheCycle && (timestamp - startTime) % repeat > this.cacheCycle) {
73
- return false;
72
+ if (typeof repeat === 'number') {
73
+ const next = timestamp - (timestamp - startTime) % repeat + repeat;
74
+
75
+ if (next <= timestamp || next > timestamp + this.cacheCycle) {
76
+ return false;
77
+ }
74
78
  }
75
79
 
76
80
  if (endsOn) {
@@ -156,6 +160,10 @@ function getOnTimestampWithOffset(on, now) {
156
160
  }
157
161
 
158
162
  function getDataOptionTime(data, on, dir = 1) {
163
+ if (!on) {
164
+ return null;
165
+ }
166
+
159
167
  switch (typeof on) {
160
168
  case 'string':
161
169
  const time = parseDateWithoutMs(on);
@@ -551,7 +559,7 @@ class ScheduleTrigger extends _.Trigger {
551
559
  const should = yield _this6.shouldCache(workflow, now);
552
560
 
553
561
  if (should) {
554
- console.log('caching schedule workflow:', workflow.id);
562
+ _this6.plugin.app.logger.info('caching scheduled workflow will run in next minute:', workflow.id);
555
563
  }
556
564
 
557
565
  _this6.setCache(workflow, !should);
package/package.json CHANGED
@@ -1,29 +1,29 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-workflow",
3
- "version": "0.9.0-alpha.2",
3
+ "version": "0.9.1-alpha.1",
4
4
  "description": "",
5
5
  "license": "AGPL-3.0",
6
6
  "main": "./lib/index.js",
7
7
  "types": "./lib/index.d.ts",
8
8
  "dependencies": {
9
- "@nocobase/actions": "0.9.0-alpha.2",
10
- "@nocobase/client": "0.9.0-alpha.2",
11
- "@nocobase/database": "0.9.0-alpha.2",
12
- "@nocobase/server": "0.9.0-alpha.2",
13
- "@nocobase/utils": "0.9.0-alpha.2",
9
+ "@nocobase/actions": "0.9.1-alpha.1",
10
+ "@nocobase/client": "0.9.1-alpha.1",
11
+ "@nocobase/database": "0.9.1-alpha.1",
12
+ "@nocobase/evaluators": "0.9.1-alpha.1",
13
+ "@nocobase/resourcer": "0.9.1-alpha.1",
14
+ "@nocobase/server": "0.9.1-alpha.1",
15
+ "@nocobase/utils": "0.9.1-alpha.1",
14
16
  "antd": "4.22.8",
15
17
  "axios": "^0.27.2",
16
18
  "classnames": "^2.3.1",
17
19
  "cron-parser": "4.4.0",
18
- "ejs": "^3.1.8",
19
20
  "json-templates": "^4.2.0",
20
21
  "moment": "^2.29.2",
21
- "react-copy-to-clipboard": "^5.1.0",
22
22
  "react-js-cron": "^1.4.0"
23
23
  },
24
24
  "devDependencies": {
25
- "@nocobase/test": "0.9.0-alpha.2",
25
+ "@nocobase/test": "0.9.1-alpha.1",
26
26
  "@types/ejs": "^3.1.1"
27
27
  },
28
- "gitHead": "b8f76ad38e60e677c5bb4aab0a4cdb28d98a0f49"
28
+ "gitHead": "56cb184b00dc383b853015d525bf6e79dea92169"
29
29
  }
@@ -1,89 +0,0 @@
1
- import React from "react";
2
- import { Registry } from "@nocobase/utils/client";
3
- interface Calculator {
4
- name: string;
5
- type: 'boolean' | 'number' | 'string' | 'date' | 'unknown' | 'null' | 'array';
6
- group: string;
7
- }
8
- export declare const calculators: Registry<Calculator>;
9
- export declare function parseValue(value: any, Types: any): {
10
- type: string;
11
- value?: any;
12
- options?: any;
13
- };
14
- export declare const BaseTypeSet: Set<string>;
15
- export declare const VariableTypes: {
16
- constant: {
17
- title: string;
18
- value: string;
19
- options: {
20
- value: string;
21
- label: string;
22
- }[];
23
- component(props: any): any;
24
- appendTypeValue({ options }: {
25
- options?: {
26
- type: string;
27
- };
28
- }): string[];
29
- onTypeChange([type, optionsType]: [any, any], onChange: any): void;
30
- parse(path: any): {
31
- path: any;
32
- };
33
- };
34
- $jobsMapByNodeId: {
35
- title: string;
36
- value: string;
37
- options(): any[];
38
- component(props: any): React.ReactElement<any, string | React.JSXElementConstructor<any>>;
39
- appendTypeValue({ options }: {
40
- type: string;
41
- options: any;
42
- }): number[];
43
- onTypeChange([type, nodeId]: [any, any], onChange: any): void;
44
- parse([nodeId, ...path]: [any, ...any[]]): {
45
- nodeId: any;
46
- path: string;
47
- };
48
- stringify(next: any): string;
49
- };
50
- $context: {
51
- title: string;
52
- value: string;
53
- options(): {
54
- label: string;
55
- value: any;
56
- key: string;
57
- }[];
58
- component(props: any): React.ReactNode;
59
- appendTypeValue({ options }: {
60
- options: any;
61
- }): any[];
62
- onTypeChange([type, optionType]: [any, any], onChange: any): void;
63
- parse([type, ...path]: [any, ...any[]]): {
64
- path?: string;
65
- type: any;
66
- };
67
- stringify(next: any): string;
68
- };
69
- };
70
- export declare const VariableTypesContext: React.Context<{}>;
71
- export declare function useVariableTypes(): {};
72
- interface OperandProps {
73
- value: any;
74
- onChange(v: any): void;
75
- children?: React.ReactNode;
76
- }
77
- export declare function useOperandContext(): any;
78
- export declare function Operand({ value, onChange, children }: OperandProps): JSX.Element;
79
- export declare function Calculation({ calculator, operands, onChange }: {
80
- calculator: any;
81
- operands?: any[];
82
- onChange: any;
83
- }): JSX.Element;
84
- export declare function VariableComponent({ value, onChange, renderSchemaComponent }: {
85
- value: any;
86
- onChange: any;
87
- renderSchemaComponent: any;
88
- }): JSX.Element;
89
- export {};