@kineticdata/react 5.0.16 → 5.1.0

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 (88) hide show
  1. package/lib/apis/core/attributeDefinitions.js +3 -2
  2. package/lib/apis/core/authentication.js +13 -5
  3. package/lib/apis/core/backgroundJobs.js +22 -39
  4. package/lib/apis/core/fileResources.js +36 -0
  5. package/lib/apis/core/filestores.js +40 -0
  6. package/lib/apis/core/forms.js +21 -36
  7. package/lib/apis/core/forms.test.js +51 -278
  8. package/lib/apis/core/securityPolicyDefinitions.test.js +4 -4
  9. package/lib/apis/core/submissions.js +46 -30
  10. package/lib/apis/core/webhooks.js +1 -2
  11. package/lib/apis/discussions/index.js +2 -1
  12. package/lib/apis/http.js +28 -13
  13. package/lib/apis/http.test.js +13 -15
  14. package/lib/apis/index.js +2 -0
  15. package/lib/apis/system/index.js +86 -1
  16. package/lib/apis/task/index.js +22 -14
  17. package/lib/components/agent/filestore/FilestoreForm.js +132 -0
  18. package/lib/components/agent/filestore/FilestoreTable.js +53 -0
  19. package/lib/components/common/BridgeSelect.js +2 -1
  20. package/lib/components/common/FormSelect.js +2 -1
  21. package/lib/components/common/Scroller.js +6 -6
  22. package/lib/components/common/TableInput.js +74 -29
  23. package/lib/components/common/TeamSelect.js +2 -1
  24. package/lib/components/common/Typeahead.js +7 -4
  25. package/lib/components/common/UserSelect.js +2 -1
  26. package/lib/components/common/authentication/AuthenticationContainer.js +50 -27
  27. package/lib/components/common/code_input/languageHelpers.test.js +1 -1
  28. package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +1 -1
  29. package/lib/components/core/attribute_definition/AttributeDefinitionTable.js +1 -1
  30. package/lib/components/core/core_form/CoreForm.js +10 -10
  31. package/lib/components/core/field_definition/FieldDefinitionForm.js +130 -0
  32. package/lib/components/core/field_definition/FieldDefinitionTable.js +86 -0
  33. package/lib/components/core/file_resource/FileResourceForm.js +180 -0
  34. package/lib/components/core/file_resource/FileResourceTable.js +71 -0
  35. package/lib/components/core/form/FormForm.js +12 -17
  36. package/lib/components/core/form/FormTable.js +3 -8
  37. package/lib/components/core/i18n/I18n.js +15 -15
  38. package/lib/components/core/index_definition/IndexDefinitionForm.js +32 -19
  39. package/lib/components/core/index_definition/IndexDefinitionTable.js +15 -24
  40. package/lib/components/core/index_job/IndexJobTable.js +12 -9
  41. package/lib/components/core/security_definition/SecurityDefinitionForm.js +1 -1
  42. package/lib/components/core/space/SpaceForm.js +59 -10
  43. package/lib/components/core/submission/DatastoreSubmissionTable.js +31 -1
  44. package/lib/components/core/submission/FormSubmissionFilters.js +378 -0
  45. package/lib/components/core/submission/FormSubmissionTable.js +116 -0
  46. package/lib/components/core/submission/KappSubmissionTable.js +250 -0
  47. package/lib/components/core/submission/SubmissionForm.js +124 -0
  48. package/lib/components/core/submission/SubmissionTable.js +35 -249
  49. package/lib/components/core/submission/helpers.js +95 -0
  50. package/lib/components/core/submission/helpers.test.js +96 -0
  51. package/lib/components/core/translation/ContextTable.js +1 -1
  52. package/lib/components/core/user/UserForm.js +2 -2
  53. package/lib/components/core/webapi/WebApiForm.js +111 -126
  54. package/lib/components/core/webhook/WebhookForm.js +1 -1
  55. package/lib/components/form/Form.helpers.js +1 -1
  56. package/lib/components/form/Form.js +200 -144
  57. package/lib/components/index.js +16 -6
  58. package/lib/components/system/SystemBackgroundTasksTable.js +83 -0
  59. package/lib/components/system/SystemSecurityForm.js +69 -0
  60. package/lib/components/system/helpers.js +20 -6
  61. package/lib/components/system/spaces/SystemSpaceForm.js +44 -16
  62. package/lib/components/system/spaces/SystemTenantForm.js +15 -9
  63. package/lib/components/system/spaces/SystemTenantTable.js +21 -16
  64. package/lib/components/table/Table.js +37 -10
  65. package/lib/components/table/Table.redux.js +228 -57
  66. package/lib/components/table/Table.redux.test.js +73 -2
  67. package/lib/components/task/builder/Connector.js +21 -10
  68. package/lib/components/task/builder/ConnectorForm.js +1 -1
  69. package/lib/components/task/builder/Node.js +10 -3
  70. package/lib/components/task/builder/NodeForm.js +54 -22
  71. package/lib/components/task/builder/NodeParametersForm.js +5 -2
  72. package/lib/components/task/builder/SvgCanvas.js +13 -4
  73. package/lib/components/task/builder/TaskDefinitionConfigForm.js +113 -0
  74. package/lib/components/task/builder/TreeBuilder.js +27 -9
  75. package/lib/components/task/builder/builder.redux.js +159 -52
  76. package/lib/components/task/builder/helpers.js +5 -3
  77. package/lib/components/task/builder/models.js +84 -12
  78. package/lib/components/task/errors/RunErrorTable.js +1 -1
  79. package/lib/components/task/runs/CreateManualTriggerForm.js +15 -24
  80. package/lib/components/task/runs/RunTable.js +5 -3
  81. package/lib/components/task/triggers/TriggerTable.js +3 -2
  82. package/lib/components/task/workflows/WorkflowForm.js +67 -85
  83. package/lib/helpers/index.js +19 -2
  84. package/lib/index.js +1 -0
  85. package/lib/models/discussions.js +18 -2
  86. package/lib/models/index.js +1 -1
  87. package/package.json +3 -3
  88. package/proxyhelper.js +19 -6
@@ -1,13 +1,13 @@
1
1
  import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
3
2
  import _regeneratorRuntime from "@babel/runtime/regenerator";
3
+ import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
4
4
  import _slicedToArray from "@babel/runtime/helpers/esm/slicedToArray";
5
5
  import { all, call, put, select, takeEvery } from 'redux-saga/effects';
6
6
  import { List, OrderedMap } from 'immutable';
7
7
  import { isFunction } from 'lodash-es';
8
8
  import { action, dispatch, regHandlers, regSaga } from '../../../store';
9
- import { deserializeTree, serializeTree, Connector, TreeBuilderState } from './models';
10
- import { cloneTree, fetchTaskCategories, fetchTree, updateTree } from '../../../apis/task';
9
+ import { deserializeTree, serializeTree, Connector, TreeBuilderState, deserializeWebApi } from './models';
10
+ import { cloneTree, fetchTaskCategories, fetchTree, fetchWebApi, updateTree, updateWebApi } from '../../../apis';
11
11
  import { renameDependencies, treeReturnTask } from './helpers';
12
12
  export var mountTreeBuilder = function mountTreeBuilder(treeKey) {
13
13
  return dispatch('TREE_MOUNT', {
@@ -26,12 +26,15 @@ export var configureTreeBuilder = function configureTreeBuilder(props) {
26
26
 
27
27
  var remember = function remember(state, treeKey) {
28
28
  return state.updateIn(['trees', treeKey, 'undoStack'], function (stack) {
29
- return stack.push(state.getIn(['trees', treeKey, 'tree']));
29
+ return stack.push({
30
+ tree: state.getIn(['trees', treeKey, 'tree']),
31
+ webApi: state.getIn(['trees', treeKey, 'webApi'])
32
+ });
30
33
  }).deleteIn(['trees', treeKey, 'redoStack']);
31
34
  };
32
35
 
33
36
  regSaga(takeEvery('TREE_CONFIGURE', /*#__PURE__*/_regeneratorRuntime.mark(function _callee(_ref) {
34
- var payload, name, sourceGroup, sourceName, treeKey, _yield$all, _yield$all2, tree, categories;
37
+ var payload, name, sourceGroup, sourceName, treeKey, webApiProps, _yield$all, _yield$all2, tree, categories, webApi;
35
38
 
36
39
  return _regeneratorRuntime.wrap(function _callee$(_context) {
37
40
  while (1) {
@@ -40,46 +43,52 @@ regSaga(takeEvery('TREE_CONFIGURE', /*#__PURE__*/_regeneratorRuntime.mark(functi
40
43
  payload = _ref.payload;
41
44
  _context.prev = 1;
42
45
  name = payload.name, sourceGroup = payload.sourceGroup, sourceName = payload.sourceName, treeKey = payload.treeKey;
43
- _context.next = 5;
46
+ webApiProps = getWebApiProps(payload);
47
+ _context.next = 6;
44
48
  return all([call(fetchTree, {
45
49
  name: name,
46
50
  sourceGroup: sourceGroup,
47
51
  sourceName: sourceName,
48
- include: 'bindings,details,treeJson'
52
+ include: 'bindings,categories,details,treeJson,inputs,outputs'
49
53
  }), call(fetchTaskCategories, {
50
54
  include: 'handlers.results,handlers.parameters,trees.parameters,trees.inputs,trees.outputs'
51
- })]);
55
+ }), webApiProps ? call(fetchWebApi, _objectSpread(_objectSpread({}, webApiProps), {}, {
56
+ include: 'details,securityPolicies'
57
+ })) : {}]);
52
58
 
53
- case 5:
59
+ case 6:
54
60
  _yield$all = _context.sent;
55
- _yield$all2 = _slicedToArray(_yield$all, 2);
61
+ _yield$all2 = _slicedToArray(_yield$all, 3);
56
62
  tree = _yield$all2[0].tree;
57
63
  categories = _yield$all2[1].categories;
58
- _context.next = 11;
64
+ webApi = _yield$all2[2].webApi;
65
+ _context.next = 13;
59
66
  return put(action('TREE_LOADED', {
60
67
  categories: categories,
68
+ kappSlug: webApiProps && webApiProps.kappSlug,
61
69
  treeKey: treeKey,
62
- tree: deserializeTree(tree)
70
+ tree: deserializeTree(tree),
71
+ webApi: webApiProps && deserializeWebApi(webApi, webApiProps.kappSlug)
63
72
  }));
64
73
 
65
- case 11:
66
- _context.next = 16;
74
+ case 13:
75
+ _context.next = 18;
67
76
  break;
68
77
 
69
- case 13:
70
- _context.prev = 13;
78
+ case 15:
79
+ _context.prev = 15;
71
80
  _context.t0 = _context["catch"](1);
72
81
  console.error('Caught error loading tree', _context.t0);
73
82
 
74
- case 16:
83
+ case 18:
75
84
  case "end":
76
85
  return _context.stop();
77
86
  }
78
87
  }
79
- }, _callee, null, [[1, 13]]);
88
+ }, _callee, null, [[1, 15]]);
80
89
  })));
81
90
  regSaga(takeEvery('TREE_SAVE', /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(_ref2) {
82
- var payload, newName, onError, onSave, overwrite, treeKey, _yield$select, tree, name, sourceGroup, sourceName, _yield, error, newTree;
91
+ var payload, newName, onError, onSave, overwrite, treeKey, _yield$select, kappSlug, lastSave, lastWebApi, tree, webApi, name, sourceGroup, sourceName, _yield, error1, newTree, _yield2, error2, error;
83
92
 
84
93
  return _regeneratorRuntime.wrap(function _callee2$(_context2) {
85
94
  while (1) {
@@ -97,11 +106,15 @@ regSaga(takeEvery('TREE_SAVE', /*#__PURE__*/_regeneratorRuntime.mark(function _c
97
106
 
98
107
  case 5:
99
108
  _yield$select = _context2.sent;
109
+ kappSlug = _yield$select.kappSlug;
110
+ lastSave = _yield$select.lastSave;
111
+ lastWebApi = _yield$select.lastWebApi;
100
112
  tree = _yield$select.tree;
101
- name = tree.name, sourceGroup = tree.sourceGroup, sourceName = tree.sourceName; // if a newName was passed we will be creating a new tree with the builder
113
+ webApi = _yield$select.webApi;
114
+ name = lastSave.name, sourceGroup = lastSave.sourceGroup, sourceName = lastSave.sourceName; // if a newName was passed we will be creating a new tree with the builder
102
115
  // contents, otherwise just an update
103
116
 
104
- _context2.next = 10;
117
+ _context2.next = 14;
105
118
  return newName ? call(cloneTree, {
106
119
  name: name,
107
120
  sourceGroup: sourceGroup,
@@ -116,36 +129,50 @@ regSaga(takeEvery('TREE_SAVE', /*#__PURE__*/_regeneratorRuntime.mark(function _c
116
129
  tree: serializeTree(tree, overwrite)
117
130
  });
118
131
 
119
- case 10:
132
+ case 14:
120
133
  _yield = _context2.sent;
121
- error = _yield.error;
134
+ error1 = _yield.error;
122
135
  newTree = _yield.tree;
123
- _context2.next = 15;
136
+ _context2.next = 19;
137
+ return webApi && !error1 ? call(updateWebApi, {
138
+ slug: lastWebApi.get('slug'),
139
+ kappSlug: kappSlug,
140
+ webApi: webApi
141
+ }) : {};
142
+
143
+ case 19:
144
+ _yield2 = _context2.sent;
145
+ error2 = _yield2.error;
146
+ error = error1 || error2; // dispatch the appropriate action based on the result of the call above
147
+
148
+ _context2.next = 24;
124
149
  return put(error ? action('TREE_SAVE_ERROR', {
125
150
  treeKey: treeKey,
126
151
  error: error.message || error,
127
152
  onError: onError
128
153
  }) : action('TREE_SAVE_SUCCESS', {
154
+ previousTree: lastSave,
129
155
  treeKey: treeKey,
130
156
  tree: newTree,
157
+ webApi: webApi,
131
158
  onSave: onSave
132
159
  }));
133
160
 
134
- case 15:
135
- _context2.next = 20;
161
+ case 24:
162
+ _context2.next = 29;
136
163
  break;
137
164
 
138
- case 17:
139
- _context2.prev = 17;
165
+ case 26:
166
+ _context2.prev = 26;
140
167
  _context2.t0 = _context2["catch"](1);
141
168
  console.error(_context2.t0);
142
169
 
143
- case 20:
170
+ case 29:
144
171
  case "end":
145
172
  return _context2.stop();
146
173
  }
147
174
  }
148
- }, _callee2, null, [[1, 17]]);
175
+ }, _callee2, null, [[1, 26]]);
149
176
  })));
150
177
  regSaga(takeEvery('TREE_SAVE_ERROR', /*#__PURE__*/_regeneratorRuntime.mark(function _callee3(_ref3) {
151
178
  var _ref3$payload, error, onError;
@@ -182,38 +209,45 @@ regSaga(takeEvery('TREE_SAVE_ERROR', /*#__PURE__*/_regeneratorRuntime.mark(funct
182
209
  }, _callee3, null, [[1, 7]]);
183
210
  })));
184
211
  regSaga(takeEvery('TREE_SAVE_SUCCESS', /*#__PURE__*/_regeneratorRuntime.mark(function _callee4(_ref4) {
185
- var _ref4$payload, onSave, tree;
212
+ var _ref4$payload, onSave, previousTree, treeKey, tree;
186
213
 
187
214
  return _regeneratorRuntime.wrap(function _callee4$(_context4) {
188
215
  while (1) {
189
216
  switch (_context4.prev = _context4.next) {
190
217
  case 0:
191
- _ref4$payload = _ref4.payload, onSave = _ref4$payload.onSave, tree = _ref4$payload.tree;
218
+ _ref4$payload = _ref4.payload, onSave = _ref4$payload.onSave, previousTree = _ref4$payload.previousTree, treeKey = _ref4$payload.treeKey;
192
219
  _context4.prev = 1;
193
220
 
194
221
  if (!isFunction(onSave)) {
195
- _context4.next = 5;
222
+ _context4.next = 8;
196
223
  break;
197
224
  }
198
225
 
199
226
  _context4.next = 5;
200
- return call(onSave, tree);
227
+ return select(function (state) {
228
+ return state.getIn(['trees', treeKey, 'tree']);
229
+ });
201
230
 
202
231
  case 5:
203
- _context4.next = 10;
232
+ tree = _context4.sent;
233
+ _context4.next = 8;
234
+ return call(onSave, tree, previousTree);
235
+
236
+ case 8:
237
+ _context4.next = 13;
204
238
  break;
205
239
 
206
- case 7:
207
- _context4.prev = 7;
240
+ case 10:
241
+ _context4.prev = 10;
208
242
  _context4.t0 = _context4["catch"](1);
209
243
  console.error(_context4.t0);
210
244
 
211
- case 10:
245
+ case 13:
212
246
  case "end":
213
247
  return _context4.stop();
214
248
  }
215
249
  }
216
- }, _callee4, null, [[1, 7]]);
250
+ }, _callee4, null, [[1, 10]]);
217
251
  })));
218
252
  regHandlers({
219
253
  // the TreeBuilder component does nothing while the tree state is undefined,
@@ -234,11 +268,14 @@ regHandlers({
234
268
  TREE_LOADED: function TREE_LOADED(state, _ref8) {
235
269
  var _ref8$payload = _ref8.payload,
236
270
  categories = _ref8$payload.categories,
271
+ kappSlug = _ref8$payload.kappSlug,
237
272
  treeKey = _ref8$payload.treeKey,
238
- tree = _ref8$payload.tree;
273
+ tree = _ref8$payload.tree,
274
+ webApi = _ref8$payload.webApi;
239
275
  return state.mergeIn(['trees', treeKey], {
240
- categories: categories,
276
+ kappSlug: kappSlug,
241
277
  lastSave: tree,
278
+ lastWebApi: webApi,
242
279
  loading: false,
243
280
  tasks: List(categories).map(function (category) {
244
281
  return category.name === 'System Controls' ? _objectSpread(_objectSpread({}, category), {}, {
@@ -251,7 +288,8 @@ regHandlers({
251
288
  }).reduce(function (reduction, task) {
252
289
  return reduction.set(task.definitionId, task);
253
290
  }, OrderedMap()),
254
- tree: tree
291
+ tree: tree,
292
+ webApi: webApi
255
293
  });
256
294
  },
257
295
  TREE_SAVE: function TREE_SAVE(state, _ref9) {
@@ -272,7 +310,8 @@ regHandlers({
272
310
  TREE_SAVE_SUCCESS: function TREE_SAVE_SUCCESS(state, _ref11) {
273
311
  var _ref11$payload = _ref11.payload,
274
312
  tree = _ref11$payload.tree,
275
- treeKey = _ref11$payload.treeKey;
313
+ treeKey = _ref11$payload.treeKey,
314
+ webApi = _ref11$payload.webApi;
276
315
  var newTree = state.getIn(['trees', treeKey, 'tree']).merge({
277
316
  name: tree.name,
278
317
  versionId: tree.versionId
@@ -281,29 +320,39 @@ regHandlers({
281
320
  dirty: false,
282
321
  error: null,
283
322
  lastSave: newTree,
323
+ lastWebApi: webApi,
284
324
  saving: false,
285
- tree: newTree
325
+ tree: newTree,
326
+ webApi: webApi
286
327
  });
287
328
  },
288
329
  TREE_UNDO: function TREE_UNDO(state, _ref12) {
289
330
  var treeKey = _ref12.payload.treeKey;
290
331
  return state.getIn(['trees', treeKey, 'undoStack']).isEmpty() ? state : state.updateIn(['trees', treeKey], function (builderState) {
291
332
  return builderState.merge({
292
- tree: builderState.undoStack.last(),
293
- redoStack: builderState.redoStack.push(builderState.tree),
294
- undoStack: builderState.undoStack.butLast()
333
+ tree: builderState.undoStack.last().tree,
334
+ redoStack: builderState.redoStack.push({
335
+ tree: builderState.tree,
336
+ webApi: builderState.webApi
337
+ }),
338
+ undoStack: builderState.undoStack.butLast(),
339
+ webApi: builderState.undoStack.last().webApi
295
340
  });
296
- });
341
+ }).updateIn(['trees', treeKey], synchronizeRoutineDefinition);
297
342
  },
298
343
  TREE_REDO: function TREE_REDO(state, _ref13) {
299
344
  var treeKey = _ref13.payload.treeKey;
300
345
  return state.getIn(['trees', treeKey, 'redoStack']).isEmpty() ? state : state.updateIn(['trees', treeKey], function (builderState) {
301
346
  return builderState.merge({
302
- tree: builderState.redoStack.last(),
347
+ tree: builderState.redoStack.last().tree,
303
348
  redoStack: builderState.redoStack.butLast(),
304
- undoStack: builderState.undoStack.push(builderState.tree)
349
+ undoStack: builderState.undoStack.push({
350
+ tree: builderState.tree,
351
+ webApi: builderState.webApi
352
+ }),
353
+ webApi: builderState.redoStack.last().webApi
305
354
  });
306
- });
355
+ }).updateIn(['trees', treeKey], synchronizeRoutineDefinition);
307
356
  },
308
357
  TREE_UPDATE: function TREE_UPDATE(state, _ref14) {
309
358
  var _ref14$payload = _ref14.payload,
@@ -399,5 +448,63 @@ regHandlers({
399
448
  id = _ref22$payload.id,
400
449
  nodeId = _ref22$payload.nodeId;
401
450
  return remember(state, treeKey).setIn(['trees', treeKey, 'tree', 'connectors', id, 'tailId'], nodeId);
451
+ },
452
+ TREE_UPDATE_SETTINGS: function TREE_UPDATE_SETTINGS(state, _ref23) {
453
+ var _ref23$payload = _ref23.payload,
454
+ treeKey = _ref23$payload.treeKey,
455
+ values = _ref23$payload.values;
456
+ // If the updated settings are for a routine we rebuild the "Tree Input"
457
+ // bindings.
458
+ var bindings = values.inputs ? _objectSpread(_objectSpread({}, state.getIn(['trees', treeKey, 'tree', 'bindings'])), {}, {
459
+ 'Tree Input': values.inputs.groupBy(function (input) {
460
+ return input.get('name');
461
+ }).map(function (list) {
462
+ return list.first().get('name');
463
+ }).map(function (name) {
464
+ return "<%=@inputs['".concat(name, "']%>");
465
+ }).toJS()
466
+ }) : state.getIn(['trees', treeKey, 'tree', 'bindings']);
467
+ return remember(state, treeKey).mergeIn(['trees', treeKey, 'tree'], _objectSpread(_objectSpread({}, values), {}, {
468
+ bindings: bindings
469
+ })).updateIn(['trees', treeKey], synchronizeRoutineDefinition);
470
+ },
471
+ TREE_UPDATE_WEB_API: function TREE_UPDATE_WEB_API(state, _ref24) {
472
+ var _ref24$payload = _ref24.payload,
473
+ treeKey = _ref24$payload.treeKey,
474
+ values = _ref24$payload.values;
475
+ return remember(state, treeKey).mergeIn(['trees', treeKey, 'webApi'], values).setIn(['trees', treeKey, 'tree', 'name'], values.slug);
402
476
  }
403
- });
477
+ });
478
+
479
+ var synchronizeRoutineDefinition = function synchronizeRoutineDefinition(treeBuilderState) {
480
+ var tree = treeBuilderState.tree;
481
+ var definitionId = tree.definitionId,
482
+ inputs = tree.inputs,
483
+ outputs = tree.outputs;
484
+ return treeBuilderState.update('tasks', function (tasks) {
485
+ return tasks.map(function (task, taskDefinitionId) {
486
+ return definitionId === taskDefinitionId ? _objectSpread(_objectSpread({}, task), {}, {
487
+ inputs: inputs.toJS(),
488
+ outputs: outputs.toJS()
489
+ }) : taskDefinitionId === 'system_tree_return_v1' ? treeReturnTask(tree) : task;
490
+ });
491
+ });
492
+ };
493
+
494
+ var getWebApiProps = function getWebApiProps(_ref25) {
495
+ var name = _ref25.name,
496
+ platformSourceName = _ref25.platformSourceName,
497
+ sourceGroup = _ref25.sourceGroup,
498
+ sourceName = _ref25.sourceName;
499
+
500
+ if (sourceName === platformSourceName && sourceGroup.startsWith('WebApis')) {
501
+ var kappSlug = sourceGroup.startsWith('WebApis > ') ? sourceGroup.replace('WebApis > ', '') : undefined;
502
+ var slug = name;
503
+ return {
504
+ kappSlug: kappSlug,
505
+ slug: slug
506
+ };
507
+ }
508
+
509
+ return null;
510
+ };
@@ -331,7 +331,7 @@ export var normalizeParameter = function normalizeParameter(_ref12) {
331
331
  value: defaultValue
332
332
  }, rest);
333
333
  };
334
- var defaultOutputs = [{
334
+ var defaultOutputs = List([{
335
335
  id: 'content',
336
336
  name: 'Content'
337
337
  }, {
@@ -346,7 +346,7 @@ var defaultOutputs = [{
346
346
  id: 'response_code',
347
347
  name: 'Response Code',
348
348
  defaultValue: '200'
349
- }];
349
+ }]).map(Map);
350
350
  export var treeReturnTask = function treeReturnTask(tree) {
351
351
  return {
352
352
  deferrable: false,
@@ -358,7 +358,9 @@ export var treeReturnTask = function treeReturnTask(tree) {
358
358
  selectionCriterion: null,
359
359
  status: 'Active',
360
360
  visible: false,
361
- parameters: (tree.taskDefinition ? tree.taskDefinition.outputs : defaultOutputs).map(function (output) {
361
+ parameters: (tree.definitionId ? tree.outputs : defaultOutputs).map(function (output) {
362
+ return output.toObject();
363
+ }).map(function (output) {
362
364
  return {
363
365
  name: output.name,
364
366
  defaultValue: output.defaultValue || '',
@@ -1,6 +1,6 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
2
  import _objectWithoutProperties from "@babel/runtime/helpers/esm/objectWithoutProperties";
3
- import { List, OrderedMap, Record } from 'immutable';
3
+ import { List, Map, OrderedMap, Record } from 'immutable';
4
4
  /*******************************************************************************
5
5
  * Immutable records *
6
6
  ******************************************************************************/
@@ -9,17 +9,34 @@ export var Point = Record({
9
9
  x: 0,
10
10
  y: 0
11
11
  }, 'Point');
12
+ export var WebApi = Record({
13
+ createdAt: null,
14
+ createdBy: null,
15
+ method: null,
16
+ securityPolicies: null,
17
+ slug: null,
18
+ kappSlug: null,
19
+ updatedAt: null,
20
+ updatedBy: null
21
+ });
12
22
  export var Tree = Record({
13
23
  bindings: OrderedMap(),
24
+ categories: List(),
14
25
  connectors: OrderedMap(),
26
+ definitionId: null,
27
+ inputs: null,
15
28
  name: '',
16
29
  nextNodeId: 0,
17
30
  nextConnectorId: 0,
18
31
  nodes: OrderedMap(),
32
+ notes: '',
33
+ outputs: null,
34
+ ownerEmail: '',
19
35
  schemaVersion: '',
20
36
  sourceGroup: '',
21
37
  sourceName: '',
22
- taskDefinition: null,
38
+ status: '',
39
+ type: '',
23
40
  versionId: '0'
24
41
  });
25
42
  export var Node = Record({
@@ -60,13 +77,16 @@ export var Connector = Record({
60
77
  export var TreeBuilderState = Record({
61
78
  categories: OrderedMap(),
62
79
  error: null,
80
+ kappSlug: null,
63
81
  lastSave: null,
82
+ lastWebApi: null,
64
83
  loading: true,
65
84
  redoStack: List(),
66
85
  saving: false,
67
86
  tasks: OrderedMap(),
68
- tree: Tree(),
69
- undoStack: List()
87
+ tree: null,
88
+ undoStack: List(),
89
+ webApi: null
70
90
  });
71
91
  export var NodeResultDependency = Record({
72
92
  // where the dependency was found, one of:
@@ -89,10 +109,9 @@ var deserializeNodeId = function deserializeNodeId(id) {
89
109
  return match ? parseInt(match[1]) : 0;
90
110
  };
91
111
 
92
- var serializeNodeId = function serializeNodeId(node) {
112
+ export var serializeNodeId = function serializeNodeId(node) {
93
113
  return node.id === 0 ? 'start' : "".concat(node.definitionId, "_").concat(node.id);
94
114
  };
95
-
96
115
  export var deserializeNode = function deserializeNode(_ref) {
97
116
  var id = _ref.id,
98
117
  messages = _ref.messages,
@@ -145,17 +164,33 @@ export var serializeConnector = function serializeConnector(nodes) {
145
164
  };
146
165
  export var deserializeTree = function deserializeTree(_ref4) {
147
166
  var bindings = _ref4.bindings,
167
+ categories = _ref4.categories,
168
+ definitionId = _ref4.definitionId,
169
+ inputs = _ref4.inputs,
148
170
  name = _ref4.name,
171
+ notes = _ref4.notes,
172
+ outputs = _ref4.outputs,
173
+ ownerEmail = _ref4.ownerEmail,
149
174
  sourceGroup = _ref4.sourceGroup,
150
175
  sourceName = _ref4.sourceName,
176
+ status = _ref4.status,
151
177
  treeJson = _ref4.treeJson,
178
+ type = _ref4.type,
152
179
  versionId = _ref4.versionId;
153
180
  return Tree({
154
181
  bindings: bindings,
182
+ categories: List(categories).map(function (c) {
183
+ return c.name;
184
+ }),
155
185
  connectors: OrderedMap(treeJson.connectors.map(deserializeConnector).map(function (c) {
156
186
  return [c.id, c];
157
187
  })),
188
+ definitionId: definitionId,
189
+ inputs: List(inputs).map(Map),
158
190
  name: name,
191
+ notes: notes,
192
+ outputs: List(outputs).map(Map),
193
+ ownerEmail: ownerEmail,
159
194
  nextNodeId: treeJson.lastId + 1,
160
195
  nextConnectorId: treeJson.connectors.length,
161
196
  nodes: OrderedMap(treeJson.nodes.map(deserializeNode).map(function (n) {
@@ -164,27 +199,64 @@ export var deserializeTree = function deserializeTree(_ref4) {
164
199
  schemaVersion: treeJson.schemaVersion,
165
200
  sourceGroup: sourceGroup,
166
201
  sourceName: sourceName,
167
- taskDefinition: treeJson.taskDefinition,
202
+ status: status,
203
+ type: type,
168
204
  versionId: versionId
169
205
  });
170
206
  };
171
207
  export var serializeTree = function serializeTree(_ref5) {
172
208
  var connectors = _ref5.connectors,
209
+ categories = _ref5.categories,
210
+ definitionId = _ref5.definitionId,
211
+ inputs = _ref5.inputs,
212
+ name = _ref5.name,
173
213
  nextNodeId = _ref5.nextNodeId,
174
214
  nodes = _ref5.nodes,
215
+ notes = _ref5.notes,
216
+ outputs = _ref5.outputs,
217
+ ownerEmail = _ref5.ownerEmail,
175
218
  schemaVersion = _ref5.schemaVersion,
176
- taskDefinition = _ref5.taskDefinition,
219
+ sourceGroup = _ref5.sourceGroup,
220
+ sourceName = _ref5.sourceName,
221
+ status = _ref5.status,
177
222
  versionId = _ref5.versionId;
178
223
  var overwrite = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
179
224
  return {
180
- treeJson: _objectSpread({
225
+ categories: categories,
226
+ definitionId: definitionId,
227
+ inputs: inputs,
228
+ name: name,
229
+ notes: notes,
230
+ outputs: outputs,
231
+ ownerEmail: ownerEmail,
232
+ sourceGroup: sourceGroup,
233
+ sourceName: sourceName,
234
+ status: status,
235
+ treeJson: {
181
236
  connectors: connectors.toList().map(serializeConnector(nodes)).toJS(),
182
237
  lastId: nextNodeId - 1,
183
238
  nodes: nodes.toList().map(serializeNode).toJS(),
184
239
  schemaVersion: schemaVersion
185
- }, taskDefinition ? {
186
- taskDefinition: taskDefinition
187
- } : {}),
240
+ },
188
241
  versionId: overwrite ? null : versionId
189
242
  };
243
+ };
244
+ export var deserializeWebApi = function deserializeWebApi(_ref6, kappSlug) {
245
+ var createdAt = _ref6.createdAt,
246
+ createdBy = _ref6.createdBy,
247
+ method = _ref6.method,
248
+ securityPolicies = _ref6.securityPolicies,
249
+ slug = _ref6.slug,
250
+ updatedAt = _ref6.updatedAt,
251
+ updatedBy = _ref6.updatedBy;
252
+ return WebApi({
253
+ createdAt: createdAt,
254
+ createdBy: createdBy,
255
+ method: method,
256
+ securityPolicies: List(securityPolicies).map(Map),
257
+ slug: slug,
258
+ kappSlug: kappSlug,
259
+ updatedAt: updatedAt,
260
+ updatedBy: updatedBy
261
+ });
190
262
  };
@@ -24,7 +24,7 @@ var dataSource = function dataSource(_ref) {
24
24
  relatedItem1Type: paramData.filters.get('relatedItem1Type'),
25
25
  relatedItem2Id: paramData.filters.get('relatedItem2Id'),
26
26
  relatedItem2Type: paramData.filters.get('relatedItem2Type'),
27
- include: 'details,run,messages,messages.details',
27
+ include: 'details,run,run.details,messages,messages.details',
28
28
  limit: paramData.pageSize,
29
29
  offset: paramData.nextPageToken,
30
30
  timeline: paramData.sortColumn,
@@ -1,30 +1,21 @@
1
1
  import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import { createTaskTrigger, fetchTree } from '../../../apis';
2
+ import { createTaskTrigger } from '../../../apis';
3
3
  import { generateForm } from '../../form/Form';
4
+ import { serializeNodeId } from '../builder/models';
4
5
 
5
6
  var dataSources = function dataSources(_ref) {
6
- var sourceName = _ref.sourceName,
7
- sourceGroup = _ref.sourceGroup,
8
- name = _ref.name,
9
- workflowType = _ref.workflowType;
7
+ var tree = _ref.tree;
10
8
  return {
11
9
  nodes: {
12
- fn: fetchTree,
13
- params: name && [{
14
- type: workflowType || 'Tree',
15
- sourceName: sourceName,
16
- sourceGroup: sourceGroup,
17
- name: name,
18
- include: 'treeJson'
19
- }],
20
- transform: function transform(result) {
21
- return result.tree && result.tree.treeJson ? result.tree.treeJson.nodes.map(function (node) {
10
+ fn: function fn() {
11
+ return tree.nodes.map(function (node) {
22
12
  return {
23
- label: "".concat(node.name, " (").concat(node.id, ")"),
24
- value: node.id
13
+ label: "".concat(node.name, " (").concat(serializeNodeId(node), ")"),
14
+ value: serializeNodeId(node)
25
15
  };
26
- }) : [];
27
- }
16
+ }).valueSeq().toArray();
17
+ },
18
+ params: []
28
19
  }
29
20
  };
30
21
  };
@@ -47,10 +38,10 @@ var handleSubmit = function handleSubmit(formOptions) {
47
38
  };
48
39
  };
49
40
 
50
- var fields = function fields(_ref3) {
51
- var name = _ref3.name;
52
- return function () {
53
- return name && [{
41
+ var fields = function fields() {
42
+ return function (_ref3) {
43
+ var nodes = _ref3.nodes;
44
+ return nodes && [{
54
45
  name: 'nodeId',
55
46
  label: 'Node Id',
56
47
  type: 'select',
@@ -85,7 +76,7 @@ var fields = function fields(_ref3) {
85
76
  };
86
77
 
87
78
  export var CreateManualTriggerForm = generateForm({
88
- formOptions: ['sourceName', 'sourceGroup', 'name', 'workflowType', 'runId'],
79
+ formOptions: ['runId', 'tree'],
89
80
  dataSources: dataSources,
90
81
  fields: fields,
91
82
  handleSubmit: handleSubmit