@kineticdata/react 5.0.15 → 5.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/apis/core/authentication.js +11 -3
- package/lib/apis/core/fileResources.js +36 -0
- package/lib/apis/core/filestores.js +40 -0
- package/lib/apis/core/submissions.js +10 -6
- package/lib/apis/http.test.js +8 -3
- package/lib/apis/task/index.js +2 -1
- package/lib/components/agent/filestore/FilestoreForm.js +132 -0
- package/lib/components/agent/filestore/FilestoreTable.js +53 -0
- package/lib/components/common/Scroller.js +6 -6
- package/lib/components/common/code_input/languageHelpers.test.js +1 -1
- package/lib/components/core/core_form/CoreForm.js +10 -10
- package/lib/components/core/field_definition/FieldDefinitionForm.js +130 -0
- package/lib/components/core/field_definition/FieldDefinitionTable.js +86 -0
- package/lib/components/core/file_resource/FileResourceForm.js +180 -0
- package/lib/components/core/file_resource/FileResourceTable.js +71 -0
- package/lib/components/core/i18n/I18n.js +14 -14
- package/lib/components/core/submission/FormSubmissionFilters.js +378 -0
- package/lib/components/core/submission/FormSubmissionTable.js +116 -0
- package/lib/components/core/submission/KappSubmissionTable.js +250 -0
- package/lib/components/core/submission/SubmissionForm.js +124 -0
- package/lib/components/core/submission/helpers.js +95 -0
- package/lib/components/core/submission/helpers.test.js +96 -0
- package/lib/components/form/Form.js +2 -2
- package/lib/components/index.js +4 -4
- package/lib/components/system/SystemBackgroundTasksTable.js +83 -0
- package/lib/components/system/SystemSecurityForm.js +69 -0
- package/lib/components/system/helpers.js +16 -24
- package/lib/components/system/spaces/SystemTenantForm.js +8 -4
- package/lib/components/table/Table.js +23 -3
- package/lib/components/table/Table.redux.js +221 -53
- package/lib/components/table/Table.redux.test.js +73 -2
- package/lib/components/task/builder/Connector.js +2 -2
- package/lib/components/task/builder/NodeForm.js +3 -0
- package/lib/components/task/builder/TaskDefinitionConfigForm.js +113 -0
- package/lib/components/task/builder/TreeBuilder.js +2 -2
- package/lib/components/task/triggers/TriggerTable.js +3 -2
- package/package.json +3 -3
- package/proxyhelper.js +82 -9
|
@@ -2,11 +2,14 @@ import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
|
2
2
|
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
3
|
|
|
4
4
|
var _marked = /*#__PURE__*/_regeneratorRuntime.mark(calculateRowsTask),
|
|
5
|
-
_marked2 = /*#__PURE__*/_regeneratorRuntime.mark(configureTableTask)
|
|
5
|
+
_marked2 = /*#__PURE__*/_regeneratorRuntime.mark(configureTableTask),
|
|
6
|
+
_marked3 = /*#__PURE__*/_regeneratorRuntime.mark(pollingTask),
|
|
7
|
+
_marked4 = /*#__PURE__*/_regeneratorRuntime.mark(startPollingTask),
|
|
8
|
+
_marked5 = /*#__PURE__*/_regeneratorRuntime.mark(stopPollingTask);
|
|
6
9
|
|
|
7
10
|
import { List, Map, fromJS } from 'immutable';
|
|
8
11
|
import isarray from 'isarray';
|
|
9
|
-
import { call, put, select, takeEvery } from 'redux-saga/effects';
|
|
12
|
+
import { call, cancel, delay, fork, put, select, takeEvery } from 'redux-saga/effects';
|
|
10
13
|
import { action, dispatch, regHandlers, regSaga } from '../../store';
|
|
11
14
|
import { mountForm, unmountForm } from '..';
|
|
12
15
|
export var hasData = function hasData(data) {
|
|
@@ -28,6 +31,18 @@ export var isClientSide = function isClientSide(tableData) {
|
|
|
28
31
|
var dataSource = getDataSource(tableData);
|
|
29
32
|
return hasData(data) && (dataSource && (dataSource.clientSideSearch === true || dataSource.clientSide) || !dataSource);
|
|
30
33
|
};
|
|
34
|
+
export var clientSideGotoPage = function clientSideGotoPage(tableData, pageNumber) {
|
|
35
|
+
var data = tableData.get('data');
|
|
36
|
+
var pageSize = tableData.get('pageSize');
|
|
37
|
+
var newOffset = (pageNumber - 1) * pageSize;
|
|
38
|
+
|
|
39
|
+
if (typeof pageNumber !== 'number' || pageNumber < 1) {
|
|
40
|
+
return tableData;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
if (newOffset > data.size) return tableData;
|
|
44
|
+
return tableData.set('pageOffset', newOffset);
|
|
45
|
+
};
|
|
31
46
|
|
|
32
47
|
var clientSideNextPage = function clientSideNextPage(tableData) {
|
|
33
48
|
return tableData.update('pageOffset', function (pageOffset) {
|
|
@@ -41,6 +56,21 @@ var clientSidePrevPage = function clientSidePrevPage(tableData) {
|
|
|
41
56
|
});
|
|
42
57
|
};
|
|
43
58
|
|
|
59
|
+
export var serverSideGotoPage = function serverSideGotoPage(tableData, pageNumber) {
|
|
60
|
+
var pageTokens = tableData.get('pageTokens');
|
|
61
|
+
var tokenLocation = pageNumber - 2;
|
|
62
|
+
|
|
63
|
+
if (typeof pageNumber !== 'number' || pageNumber < 1 || pageNumber > pageTokens.size) {
|
|
64
|
+
return tableData;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
if (pageNumber === 1) {
|
|
68
|
+
return tableData.set('loading', true).set('nextPageToken', null).set('pageTokens', List());
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
return tableData.set('loading', true).set('nextPageToken', pageTokens.get(tokenLocation)).set('pageTokens', pageTokens.slice(0, tokenLocation));
|
|
72
|
+
};
|
|
73
|
+
|
|
44
74
|
var serverSideNextPage = function serverSideNextPage(tableData) {
|
|
45
75
|
return tableData.set('loading', true).set('nextPageToken', tableData.get('currentPageToken')).update('pageTokens', function (pt) {
|
|
46
76
|
return pt.push(tableData.get('currentPageToken'));
|
|
@@ -104,7 +134,8 @@ regHandlers({
|
|
|
104
134
|
defaultSortDirection = _ref3$payload$default2 === void 0 ? 'desc' : _ref3$payload$default2,
|
|
105
135
|
tableOptions = _ref3$payload.tableOptions,
|
|
106
136
|
onValidateFilters = _ref3$payload.onValidateFilters,
|
|
107
|
-
filterForm = _ref3$payload.filterForm
|
|
137
|
+
filterForm = _ref3$payload.filterForm,
|
|
138
|
+
onFetch = _ref3$payload.onFetch;
|
|
108
139
|
return !state.getIn(['tables', tableKey, 'mounted']) ? state : state.hasIn(['tables', tableKey, 'configured']) ? state.setIn(['tables', tableKey, 'initialize'], false) : state.mergeIn(['tables', tableKey], Map({
|
|
109
140
|
data: hasData(data) ? fromJS(data) : data,
|
|
110
141
|
dataSource: dataSource,
|
|
@@ -121,6 +152,7 @@ regHandlers({
|
|
|
121
152
|
nextPageToken: null,
|
|
122
153
|
pageTokens: List(),
|
|
123
154
|
pageOffset: 0,
|
|
155
|
+
count: null,
|
|
124
156
|
error: null,
|
|
125
157
|
// Filtering
|
|
126
158
|
filterForm: filterForm,
|
|
@@ -128,6 +160,7 @@ regHandlers({
|
|
|
128
160
|
appliedFilters: generateFilters(tableKey, columns),
|
|
129
161
|
validFilters: true,
|
|
130
162
|
onValidateFilters: onValidateFilters,
|
|
163
|
+
onFetch: onFetch,
|
|
131
164
|
configured: true,
|
|
132
165
|
initialize: true
|
|
133
166
|
}));
|
|
@@ -138,10 +171,11 @@ regHandlers({
|
|
|
138
171
|
rows = _ref4$payload.rows,
|
|
139
172
|
data = _ref4$payload.data,
|
|
140
173
|
nextPageToken = _ref4$payload.nextPageToken,
|
|
174
|
+
count = _ref4$payload.count,
|
|
141
175
|
_ref4$payload$error = _ref4$payload.error,
|
|
142
176
|
error = _ref4$payload$error === void 0 ? null : _ref4$payload$error;
|
|
143
177
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
144
|
-
return table && table.set('rows', rows).set('data', data).set('currentPageToken', nextPageToken).set('nextPageToken', null).set('error', error).set('initializing', false).set('loading', false);
|
|
178
|
+
return table && table.set('rows', rows).set('data', data).set('currentPageToken', nextPageToken).set('nextPageToken', null).set('count', count).set('error', error).set('initializing', false).set('loading', false);
|
|
145
179
|
});
|
|
146
180
|
},
|
|
147
181
|
NEXT_PAGE: function NEXT_PAGE(state, _ref5) {
|
|
@@ -156,10 +190,18 @@ regHandlers({
|
|
|
156
190
|
return isClientSide(tableData) ? clientSidePrevPage(tableData) : serverSidePrevPage(tableData);
|
|
157
191
|
}).setIn(['tables', tableKey, 'error'], null);
|
|
158
192
|
},
|
|
159
|
-
|
|
193
|
+
GOTO_PAGE: function GOTO_PAGE(state, _ref7) {
|
|
160
194
|
var _ref7$payload = _ref7.payload,
|
|
161
195
|
tableKey = _ref7$payload.tableKey,
|
|
162
|
-
|
|
196
|
+
pageNumber = _ref7$payload.pageNumber;
|
|
197
|
+
return state.updateIn(['tables', tableKey], function (tableData) {
|
|
198
|
+
return isClientSide(tableData) ? clientSideGotoPage(tableData, pageNumber) : serverSideGotoPage(tableData, pageNumber);
|
|
199
|
+
}).setIn(['tables', tableKey, 'error'], null);
|
|
200
|
+
},
|
|
201
|
+
SORT_COLUMN: function SORT_COLUMN(state, _ref8) {
|
|
202
|
+
var _ref8$payload = _ref8.payload,
|
|
203
|
+
tableKey = _ref8$payload.tableKey,
|
|
204
|
+
column = _ref8$payload.column;
|
|
163
205
|
return state.updateIn(['tables', tableKey], function (t) {
|
|
164
206
|
var sortColumn = t.get('sortColumn');
|
|
165
207
|
var sortDirection = t.get('sortDirection');
|
|
@@ -168,52 +210,52 @@ regHandlers({
|
|
|
168
210
|
.set('sortDirection', sortColumn === column ? sortDirection === 'desc' ? 'asc' : 'desc' : 'asc').set('sortColumn', column).set('error', null);
|
|
169
211
|
});
|
|
170
212
|
},
|
|
171
|
-
SET_FILTER: function SET_FILTER(state,
|
|
172
|
-
var
|
|
173
|
-
tableKey =
|
|
174
|
-
filter =
|
|
175
|
-
value =
|
|
213
|
+
SET_FILTER: function SET_FILTER(state, _ref9) {
|
|
214
|
+
var _ref9$payload = _ref9.payload,
|
|
215
|
+
tableKey = _ref9$payload.tableKey,
|
|
216
|
+
filter = _ref9$payload.filter,
|
|
217
|
+
value = _ref9$payload.value;
|
|
176
218
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
177
219
|
return table.setIn(['filters', filter, 'value'], value).set('validFilters', evaluateValidFilters(table));
|
|
178
220
|
});
|
|
179
221
|
},
|
|
180
|
-
APPLY_FILTERS: function APPLY_FILTERS(state,
|
|
181
|
-
var tableKey =
|
|
222
|
+
APPLY_FILTERS: function APPLY_FILTERS(state, _ref10) {
|
|
223
|
+
var tableKey = _ref10.payload.tableKey;
|
|
182
224
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
183
225
|
return table.set('loading', true).set('appliedFilters', state.getIn(['tables', tableKey, 'filters'])).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', List()).set('error', null);
|
|
184
226
|
});
|
|
185
227
|
},
|
|
186
|
-
APPLY_FILTER_FORM: function APPLY_FILTER_FORM(state,
|
|
187
|
-
var
|
|
188
|
-
tableKey =
|
|
189
|
-
appliedFilters =
|
|
228
|
+
APPLY_FILTER_FORM: function APPLY_FILTER_FORM(state, _ref11) {
|
|
229
|
+
var _ref11$payload = _ref11.payload,
|
|
230
|
+
tableKey = _ref11$payload.tableKey,
|
|
231
|
+
appliedFilters = _ref11$payload.appliedFilters;
|
|
190
232
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
191
233
|
return table.set('loading', true).set('appliedFilters', appliedFilters).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', List()).set('error', null);
|
|
192
234
|
});
|
|
193
235
|
},
|
|
194
|
-
REFETCH_TABLE_DATA: function REFETCH_TABLE_DATA(state,
|
|
195
|
-
var tableKey =
|
|
236
|
+
REFETCH_TABLE_DATA: function REFETCH_TABLE_DATA(state, _ref12) {
|
|
237
|
+
var tableKey = _ref12.payload.tableKey;
|
|
196
238
|
return state.hasIn(['tables', tableKey]) ? state.updateIn(['tables', tableKey], function (tableData) {
|
|
197
239
|
return tableData.get('dataSource') ? tableData.set('loading', true).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', List()).set('data', null).set('error', null) : tableData;
|
|
198
240
|
}) : state;
|
|
199
241
|
},
|
|
200
|
-
CLEAR_TABLE_FILTERS: function CLEAR_TABLE_FILTERS(state,
|
|
201
|
-
var tableKey =
|
|
242
|
+
CLEAR_TABLE_FILTERS: function CLEAR_TABLE_FILTERS(state, _ref13) {
|
|
243
|
+
var tableKey = _ref13.payload.tableKey;
|
|
202
244
|
return state.setIn(['tables', tableKey, 'filters'], generateFilters(tableKey, state.getIn(['tables', tableKey, 'columns'])));
|
|
203
245
|
},
|
|
204
|
-
CLEAR_SELECTED_FILTERS: function CLEAR_SELECTED_FILTERS(state,
|
|
205
|
-
var tableKey =
|
|
246
|
+
CLEAR_SELECTED_FILTERS: function CLEAR_SELECTED_FILTERS(state, _ref14) {
|
|
247
|
+
var tableKey = _ref14.payload.tableKey;
|
|
206
248
|
return state.setIn(['tables', tableKey, 'filters'], state.getIn(['tables', tableKey, 'appliedFilters']));
|
|
207
249
|
}
|
|
208
250
|
});
|
|
209
251
|
|
|
210
|
-
function calculateRowsTask(
|
|
211
|
-
var payload, tableKey, tableData, response, rows, data, nextPageToken, error;
|
|
252
|
+
function calculateRowsTask(_ref15) {
|
|
253
|
+
var payload, tableKey, tableData, response, rows, data, nextPageToken, error, onFetch;
|
|
212
254
|
return _regeneratorRuntime.wrap(function calculateRowsTask$(_context) {
|
|
213
255
|
while (1) {
|
|
214
256
|
switch (_context.prev = _context.next) {
|
|
215
257
|
case 0:
|
|
216
|
-
payload =
|
|
258
|
+
payload = _ref15.payload;
|
|
217
259
|
_context.prev = 1;
|
|
218
260
|
tableKey = payload.tableKey;
|
|
219
261
|
_context.next = 5;
|
|
@@ -238,13 +280,14 @@ function calculateRowsTask(_ref14) {
|
|
|
238
280
|
case 10:
|
|
239
281
|
response = _context.sent;
|
|
240
282
|
rows = response.rows, data = response.data, nextPageToken = response.nextPageToken, error = response.error;
|
|
283
|
+
onFetch = tableData.get('onFetch');
|
|
241
284
|
|
|
242
285
|
if (!error) {
|
|
243
|
-
_context.next =
|
|
286
|
+
_context.next = 18;
|
|
244
287
|
break;
|
|
245
288
|
}
|
|
246
289
|
|
|
247
|
-
_context.next =
|
|
290
|
+
_context.next = 16;
|
|
248
291
|
return put({
|
|
249
292
|
type: 'SET_ROWS',
|
|
250
293
|
payload: {
|
|
@@ -256,12 +299,12 @@ function calculateRowsTask(_ref14) {
|
|
|
256
299
|
}
|
|
257
300
|
});
|
|
258
301
|
|
|
259
|
-
case
|
|
260
|
-
_context.next =
|
|
302
|
+
case 16:
|
|
303
|
+
_context.next = 20;
|
|
261
304
|
break;
|
|
262
305
|
|
|
263
|
-
case
|
|
264
|
-
_context.next =
|
|
306
|
+
case 18:
|
|
307
|
+
_context.next = 20;
|
|
265
308
|
return put({
|
|
266
309
|
type: 'SET_ROWS',
|
|
267
310
|
payload: {
|
|
@@ -272,30 +315,43 @@ function calculateRowsTask(_ref14) {
|
|
|
272
315
|
}
|
|
273
316
|
});
|
|
274
317
|
|
|
275
|
-
case
|
|
276
|
-
|
|
318
|
+
case 20:
|
|
319
|
+
if (!(typeof onFetch === 'function')) {
|
|
320
|
+
_context.next = 23;
|
|
321
|
+
break;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
_context.next = 23;
|
|
325
|
+
return call(onFetch, {
|
|
326
|
+
tableKey: tableKey,
|
|
327
|
+
rows: rows,
|
|
328
|
+
error: error
|
|
329
|
+
});
|
|
330
|
+
|
|
331
|
+
case 23:
|
|
332
|
+
_context.next = 28;
|
|
277
333
|
break;
|
|
278
334
|
|
|
279
|
-
case
|
|
280
|
-
_context.prev =
|
|
335
|
+
case 25:
|
|
336
|
+
_context.prev = 25;
|
|
281
337
|
_context.t0 = _context["catch"](1);
|
|
282
338
|
console.error(_context.t0);
|
|
283
339
|
|
|
284
|
-
case
|
|
340
|
+
case 28:
|
|
285
341
|
case "end":
|
|
286
342
|
return _context.stop();
|
|
287
343
|
}
|
|
288
344
|
}
|
|
289
|
-
}, _marked, null, [[1,
|
|
345
|
+
}, _marked, null, [[1, 25]]);
|
|
290
346
|
}
|
|
291
347
|
|
|
292
|
-
function configureTableTask(
|
|
348
|
+
function configureTableTask(_ref16) {
|
|
293
349
|
var payload, filterForm, tableKey, initialFilterValues;
|
|
294
350
|
return _regeneratorRuntime.wrap(function configureTableTask$(_context2) {
|
|
295
351
|
while (1) {
|
|
296
352
|
switch (_context2.prev = _context2.next) {
|
|
297
353
|
case 0:
|
|
298
|
-
payload =
|
|
354
|
+
payload = _ref16.payload;
|
|
299
355
|
filterForm = payload.filterForm, tableKey = payload.tableKey, initialFilterValues = payload.initialFilterValues;
|
|
300
356
|
|
|
301
357
|
if (filterForm) {
|
|
@@ -327,9 +383,114 @@ function configureTableTask(_ref15) {
|
|
|
327
383
|
}, _marked2);
|
|
328
384
|
}
|
|
329
385
|
|
|
330
|
-
|
|
386
|
+
var pollerTableKeys = {};
|
|
387
|
+
|
|
388
|
+
function pollingTask(tableKey) {
|
|
389
|
+
return _regeneratorRuntime.wrap(function pollingTask$(_context3) {
|
|
390
|
+
while (1) {
|
|
391
|
+
switch (_context3.prev = _context3.next) {
|
|
392
|
+
case 0:
|
|
393
|
+
if (!true) {
|
|
394
|
+
_context3.next = 6;
|
|
395
|
+
break;
|
|
396
|
+
}
|
|
397
|
+
|
|
398
|
+
_context3.next = 3;
|
|
399
|
+
return delay(10000);
|
|
400
|
+
|
|
401
|
+
case 3:
|
|
402
|
+
refetchTable(tableKey);
|
|
403
|
+
_context3.next = 0;
|
|
404
|
+
break;
|
|
405
|
+
|
|
406
|
+
case 6:
|
|
407
|
+
case "end":
|
|
408
|
+
return _context3.stop();
|
|
409
|
+
}
|
|
410
|
+
}
|
|
411
|
+
}, _marked3);
|
|
412
|
+
}
|
|
413
|
+
|
|
414
|
+
function startPollingTask(_ref17) {
|
|
415
|
+
var payload, refreshInterval, tableKey;
|
|
416
|
+
return _regeneratorRuntime.wrap(function startPollingTask$(_context4) {
|
|
417
|
+
while (1) {
|
|
418
|
+
switch (_context4.prev = _context4.next) {
|
|
419
|
+
case 0:
|
|
420
|
+
payload = _ref17.payload;
|
|
421
|
+
refreshInterval = payload.refreshInterval, tableKey = payload.tableKey;
|
|
422
|
+
|
|
423
|
+
if (!(refreshInterval && !pollerTableKeys[tableKey])) {
|
|
424
|
+
_context4.next = 6;
|
|
425
|
+
break;
|
|
426
|
+
}
|
|
427
|
+
|
|
428
|
+
_context4.next = 5;
|
|
429
|
+
return fork(pollingTask, tableKey, refreshInterval);
|
|
430
|
+
|
|
431
|
+
case 5:
|
|
432
|
+
pollerTableKeys[tableKey] = _context4.sent;
|
|
433
|
+
|
|
434
|
+
case 6:
|
|
435
|
+
case "end":
|
|
436
|
+
return _context4.stop();
|
|
437
|
+
}
|
|
438
|
+
}
|
|
439
|
+
}, _marked4);
|
|
440
|
+
}
|
|
441
|
+
|
|
442
|
+
function stopPollingTask(_ref18) {
|
|
443
|
+
var payload, tableKey;
|
|
444
|
+
return _regeneratorRuntime.wrap(function stopPollingTask$(_context5) {
|
|
445
|
+
while (1) {
|
|
446
|
+
switch (_context5.prev = _context5.next) {
|
|
447
|
+
case 0:
|
|
448
|
+
payload = _ref18.payload;
|
|
449
|
+
tableKey = payload.tableKey;
|
|
450
|
+
|
|
451
|
+
if (!pollerTableKeys[tableKey]) {
|
|
452
|
+
_context5.next = 6;
|
|
453
|
+
break;
|
|
454
|
+
}
|
|
455
|
+
|
|
456
|
+
_context5.next = 5;
|
|
457
|
+
return cancel(pollerTableKeys[tableKey]);
|
|
458
|
+
|
|
459
|
+
case 5:
|
|
460
|
+
pollerTableKeys[tableKey] = null;
|
|
461
|
+
|
|
462
|
+
case 6:
|
|
463
|
+
case "end":
|
|
464
|
+
return _context5.stop();
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
}, _marked5);
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
regSaga('CONFIGURE_TABLE', /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
471
|
+
return _regeneratorRuntime.wrap(function _callee$(_context6) {
|
|
472
|
+
while (1) {
|
|
473
|
+
switch (_context6.prev = _context6.next) {
|
|
474
|
+
case 0:
|
|
475
|
+
_context6.next = 2;
|
|
476
|
+
return takeEvery('CONFIGURE_TABLE', configureTableTask);
|
|
477
|
+
|
|
478
|
+
case 2:
|
|
479
|
+
_context6.next = 4;
|
|
480
|
+
return takeEvery('CONFIGURE_TABLE', startPollingTask);
|
|
481
|
+
|
|
482
|
+
case 4:
|
|
483
|
+
case "end":
|
|
484
|
+
return _context6.stop();
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
}, _callee);
|
|
488
|
+
})); //
|
|
489
|
+
|
|
490
|
+
regSaga(takeEvery('UNMOUNT_TABLE', stopPollingTask));
|
|
331
491
|
regSaga(takeEvery('NEXT_PAGE', calculateRowsTask));
|
|
332
492
|
regSaga(takeEvery('PREV_PAGE', calculateRowsTask));
|
|
493
|
+
regSaga(takeEvery('GOTO_PAGE', calculateRowsTask));
|
|
333
494
|
regSaga(takeEvery('SORT_COLUMN', calculateRowsTask));
|
|
334
495
|
regSaga(takeEvery('SORT_DIRECTION', calculateRowsTask));
|
|
335
496
|
regSaga(takeEvery('APPLY_FILTERS', calculateRowsTask));
|
|
@@ -459,33 +620,40 @@ var calculateRows = function calculateRows(tableData) {
|
|
|
459
620
|
var rows = applyClientSideFilters(tableData, data);
|
|
460
621
|
return Promise.resolve({
|
|
461
622
|
rows: rows,
|
|
462
|
-
data: data
|
|
623
|
+
data: data,
|
|
624
|
+
count: rows.size
|
|
463
625
|
});
|
|
464
626
|
} else if (dataSource) {
|
|
465
|
-
var
|
|
466
|
-
return result;
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
var params = dataSource.params({
|
|
627
|
+
var paramData = {
|
|
470
628
|
pageSize: tableData.get('pageSize'),
|
|
471
629
|
filters: tableData.get('appliedFilters'),
|
|
472
630
|
sortColumn: tableData.getIn(['sortColumn', 'value']),
|
|
473
631
|
sortDirection: tableData.get('sortDirection'),
|
|
474
|
-
nextPageToken: tableData.get('nextPageToken')
|
|
475
|
-
|
|
632
|
+
nextPageToken: tableData.get('nextPageToken'),
|
|
633
|
+
pageTokens: tableData.get('pageTokens')
|
|
634
|
+
};
|
|
635
|
+
|
|
636
|
+
var transform = dataSource.transform || function (result) {
|
|
637
|
+
return result;
|
|
638
|
+
};
|
|
639
|
+
|
|
640
|
+
var params = dataSource.params(paramData);
|
|
476
641
|
return dataSource.fn.apply(dataSource, _toConsumableArray(params)).then(function (response) {
|
|
477
642
|
if (response.error) return response;
|
|
478
643
|
|
|
479
|
-
var _transform = transform(response),
|
|
644
|
+
var _transform = transform(response, paramData),
|
|
480
645
|
nextPageToken = _transform.nextPageToken,
|
|
481
|
-
responseData = _transform.data
|
|
646
|
+
responseData = _transform.data,
|
|
647
|
+
count = _transform.count;
|
|
482
648
|
|
|
483
649
|
var data = fromJS(responseData);
|
|
484
|
-
var
|
|
650
|
+
var transformedRows = transformData(data, tableData);
|
|
651
|
+
var rows = dataSource.clientSideSearch || dataSource.clientSide ? applyClientSideFilters(tableData, transformedRows) : transformedRows;
|
|
485
652
|
return {
|
|
486
653
|
nextPageToken: nextPageToken,
|
|
654
|
+
count: dataSource.clientSideSearch || dataSource.clientSide ? rows.size : count,
|
|
487
655
|
data: data,
|
|
488
|
-
rows:
|
|
656
|
+
rows: rows
|
|
489
657
|
};
|
|
490
658
|
});
|
|
491
659
|
} else {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { operations, isValueEmpty } from './Table.redux';
|
|
2
|
-
import { List } from 'immutable';
|
|
1
|
+
import { operations, isValueEmpty, clientSideGotoPage, serverSideGotoPage } from './Table.redux';
|
|
2
|
+
import { List, Range, Map } from 'immutable';
|
|
3
3
|
describe('<Table /> redux', function () {
|
|
4
4
|
describe('setup', function () {
|
|
5
5
|
test('true dat', function () {
|
|
@@ -86,4 +86,75 @@ describe('<Table /> redux', function () {
|
|
|
86
86
|
expect(isValueEmpty(a)).toBeFalsy();
|
|
87
87
|
});
|
|
88
88
|
});
|
|
89
|
+
describe('#clientSideGotoPage', function () {
|
|
90
|
+
var tableData;
|
|
91
|
+
beforeEach(function () {
|
|
92
|
+
tableData = Map({
|
|
93
|
+
pageSize: 5,
|
|
94
|
+
pageOffset: 0,
|
|
95
|
+
data: Range(1, 25).toList()
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
describe('when pageNumber is invalid', function () {
|
|
99
|
+
test('invalid type does not affect tableData', function () {
|
|
100
|
+
expect(clientSideGotoPage(tableData, 'foo')).toEqualImmutable(tableData);
|
|
101
|
+
});
|
|
102
|
+
test('invalid number does not affect tableData', function () {
|
|
103
|
+
expect(clientSideGotoPage(tableData, -1)).toEqualImmutable(tableData);
|
|
104
|
+
});
|
|
105
|
+
});
|
|
106
|
+
test('pageNumber 1 offset is 0', function () {
|
|
107
|
+
var newTableData = clientSideGotoPage(tableData.set('pageOffset', 10), 1);
|
|
108
|
+
expect(newTableData.get('pageOffset')).toBe(0);
|
|
109
|
+
});
|
|
110
|
+
test('pageNumber 2 offset is 5', function () {
|
|
111
|
+
var newTableData = clientSideGotoPage(tableData, 2);
|
|
112
|
+
expect(newTableData.get('pageOffset')).toBe(5);
|
|
113
|
+
});
|
|
114
|
+
test('pageNumber 6 offset is unchanged (past the end of the data)', function () {
|
|
115
|
+
var newTableData = clientSideGotoPage(tableData, 6);
|
|
116
|
+
expect(newTableData.get('pageOffset')).toBe(0);
|
|
117
|
+
});
|
|
118
|
+
test('pageNumber 5 offset is 20 (last page)', function () {
|
|
119
|
+
var newTableData = clientSideGotoPage(tableData, 5);
|
|
120
|
+
expect(newTableData.get('pageOffset')).toBe(20);
|
|
121
|
+
});
|
|
122
|
+
});
|
|
123
|
+
describe('#serverSideGotoPage', function () {
|
|
124
|
+
var tableData;
|
|
125
|
+
beforeEach(function () {
|
|
126
|
+
tableData = Map({
|
|
127
|
+
loading: false,
|
|
128
|
+
nextPageToken: 'abc',
|
|
129
|
+
pageTokens: List([2, 3, 4])
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
describe('when pageNumber is invalid', function () {
|
|
133
|
+
test('invalid type does not affect tableData', function () {
|
|
134
|
+
expect(serverSideGotoPage(tableData, 'foo')).toEqualImmutable(tableData);
|
|
135
|
+
});
|
|
136
|
+
test('invalid number does not affect tableData', function () {
|
|
137
|
+
expect(serverSideGotoPage(tableData, -1)).toEqualImmutable(tableData);
|
|
138
|
+
});
|
|
139
|
+
});
|
|
140
|
+
test('when there are not enough pageTokens it does not affect tableData', function () {
|
|
141
|
+
expect(serverSideGotoPage(tableData, 5)).toEqualImmutable(tableData);
|
|
142
|
+
});
|
|
143
|
+
test('when going to the first page reset the page tokens', function () {
|
|
144
|
+
var newTableData = serverSideGotoPage(tableData, 1);
|
|
145
|
+
expect(newTableData.get('loading')).toBe(true);
|
|
146
|
+
expect(newTableData.get('nextPageToken')).toBeNull();
|
|
147
|
+
expect(newTableData.get('pageTokens').size).toBe(0);
|
|
148
|
+
});
|
|
149
|
+
test('when going to a valid page use its pageToken and adjust the page tokens', function () {
|
|
150
|
+
var secondTableData = serverSideGotoPage(tableData, 2);
|
|
151
|
+
var thirdTableData = serverSideGotoPage(tableData, 3);
|
|
152
|
+
expect(secondTableData.get('loading')).toBe(true);
|
|
153
|
+
expect(secondTableData.get('nextPageToken')).toBe(2);
|
|
154
|
+
expect(secondTableData.get('pageTokens').size).toBe(0);
|
|
155
|
+
expect(thirdTableData.get('loading')).toBe(true);
|
|
156
|
+
expect(thirdTableData.get('nextPageToken')).toBe(3);
|
|
157
|
+
expect(thirdTableData.get('pageTokens').size).toBe(1);
|
|
158
|
+
});
|
|
159
|
+
});
|
|
89
160
|
});
|
|
@@ -73,8 +73,8 @@ export var Connector = /*#__PURE__*/function (_Component) {
|
|
|
73
73
|
});
|
|
74
74
|
} // when dropping a new connector the `headNode` prop will be undefined
|
|
75
75
|
else if (_this.props.headNode) {
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
_this.setHead(_this.props.headNode.position, false);
|
|
77
|
+
}
|
|
78
78
|
};
|
|
79
79
|
|
|
80
80
|
_this.dropTail = function () {
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
|
|
2
|
+
import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
|
|
3
|
+
import { List, Map } from 'immutable';
|
|
4
|
+
import { generateForm } from '../../form/Form';
|
|
5
|
+
import { fetchForm, fetchKapps } from '../../../apis';
|
|
6
|
+
export var checkOmittedParameters = function checkOmittedParameters(node, parameter) {
|
|
7
|
+
if (node.definitionId === 'system_submission_create_v1') {
|
|
8
|
+
return !['kappSlug', 'formSlug'].includes(parameter.id);
|
|
9
|
+
} else {
|
|
10
|
+
return true;
|
|
11
|
+
}
|
|
12
|
+
};
|
|
13
|
+
export var generateTaskDefinition = function generateTaskDefinition(taskDefinition) {
|
|
14
|
+
if (taskDefinition.definitionName === 'system_submission_create') {
|
|
15
|
+
return function (_ref) {
|
|
16
|
+
var form = _ref.form;
|
|
17
|
+
return _objectSpread(_objectSpread({}, taskDefinition), {}, {
|
|
18
|
+
parameters: [].concat(_toConsumableArray(taskDefinition.parameters.map(function (parameter) {
|
|
19
|
+
return parameter.id === 'kappSlug' ? _objectSpread(_objectSpread({}, parameter), {}, {
|
|
20
|
+
defaultValue: form.kapp.slug
|
|
21
|
+
}) : parameter.id === 'formSlug' ? _objectSpread(_objectSpread({}, parameter), {}, {
|
|
22
|
+
defaultValue: form.slug
|
|
23
|
+
}) : parameter;
|
|
24
|
+
})), _toConsumableArray(form.fields.map(function (field) {
|
|
25
|
+
return {
|
|
26
|
+
name: field.name,
|
|
27
|
+
defaultValue: '',
|
|
28
|
+
dependsOnId: null,
|
|
29
|
+
dependsOnValue: null,
|
|
30
|
+
description: '',
|
|
31
|
+
id: "values.".concat(field.name),
|
|
32
|
+
required: false
|
|
33
|
+
};
|
|
34
|
+
})))
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
} else {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
var dataSources = function dataSources() {
|
|
43
|
+
return {
|
|
44
|
+
kapps: {
|
|
45
|
+
fn: fetchKapps,
|
|
46
|
+
params: [],
|
|
47
|
+
transform: function transform(data) {
|
|
48
|
+
return data.kapps;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
var fields = function fields() {
|
|
55
|
+
return function () {
|
|
56
|
+
return [{
|
|
57
|
+
name: 'kappSlug',
|
|
58
|
+
label: 'Kapp',
|
|
59
|
+
type: 'select',
|
|
60
|
+
required: true,
|
|
61
|
+
options: function options(_ref2) {
|
|
62
|
+
var kapps = _ref2.kapps;
|
|
63
|
+
return kapps ? kapps.map(function (kapp) {
|
|
64
|
+
return Map({
|
|
65
|
+
value: kapp.get('slug'),
|
|
66
|
+
label: kapp.get('name')
|
|
67
|
+
});
|
|
68
|
+
}) : List();
|
|
69
|
+
},
|
|
70
|
+
onChange: function onChange(_ref3, actions) {
|
|
71
|
+
var values = _ref3.values;
|
|
72
|
+
|
|
73
|
+
if (!!values.get('form')) {
|
|
74
|
+
actions.setValue('form', null);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}, {
|
|
78
|
+
name: 'form',
|
|
79
|
+
label: 'Form',
|
|
80
|
+
type: 'form',
|
|
81
|
+
required: true,
|
|
82
|
+
enabled: function enabled(_ref4) {
|
|
83
|
+
var values = _ref4.values;
|
|
84
|
+
return values.get('kappSlug') !== '';
|
|
85
|
+
},
|
|
86
|
+
search: function search(_ref5) {
|
|
87
|
+
var values = _ref5.values;
|
|
88
|
+
return values.get('kappSlug') !== '' ? {
|
|
89
|
+
kappSlug: values.get('kappSlug')
|
|
90
|
+
} : {};
|
|
91
|
+
}
|
|
92
|
+
}];
|
|
93
|
+
};
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
var handleSubmit = function handleSubmit(_ref6) {
|
|
97
|
+
var taskDefinition = _ref6.taskDefinition;
|
|
98
|
+
return function (values) {
|
|
99
|
+
return fetchForm({
|
|
100
|
+
kappSlug: values.get('kappSlug'),
|
|
101
|
+
formSlug: values.getIn(['form', 'slug'], ''),
|
|
102
|
+
include: 'fields,kapp'
|
|
103
|
+
}).then(generateTaskDefinition(taskDefinition));
|
|
104
|
+
};
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
export var TaskDefinitionConfigForm = generateForm({
|
|
108
|
+
formOptions: ['taskDefinition'],
|
|
109
|
+
dataSources: dataSources,
|
|
110
|
+
fields: fields,
|
|
111
|
+
handleSubmit: handleSubmit
|
|
112
|
+
});
|
|
113
|
+
TaskDefinitionConfigForm.displayName = 'TaskDefinitionConfigForm';
|
|
@@ -218,8 +218,8 @@ export var TreeBuilderComponent = /*#__PURE__*/function (_Component) {
|
|
|
218
218
|
} // otherwise check for changes to the highlight prop and focus if it changes
|
|
219
219
|
// and its a truthy value
|
|
220
220
|
else if (this.props.highlight && !this.props.highlight.equals(prevProps.highlight)) {
|
|
221
|
-
|
|
222
|
-
|
|
221
|
+
this.panTo(this.props.highlight);
|
|
222
|
+
}
|
|
223
223
|
}
|
|
224
224
|
}
|
|
225
225
|
}, {
|