@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.
- package/lib/apis/core/attributeDefinitions.js +3 -2
- package/lib/apis/core/authentication.js +13 -5
- package/lib/apis/core/backgroundJobs.js +22 -39
- package/lib/apis/core/fileResources.js +36 -0
- package/lib/apis/core/filestores.js +40 -0
- package/lib/apis/core/forms.js +21 -36
- package/lib/apis/core/forms.test.js +51 -278
- package/lib/apis/core/securityPolicyDefinitions.test.js +4 -4
- package/lib/apis/core/submissions.js +46 -30
- package/lib/apis/core/webhooks.js +1 -2
- package/lib/apis/discussions/index.js +2 -1
- package/lib/apis/http.js +28 -13
- package/lib/apis/http.test.js +13 -15
- package/lib/apis/index.js +2 -0
- package/lib/apis/system/index.js +86 -1
- package/lib/apis/task/index.js +22 -14
- package/lib/components/agent/filestore/FilestoreForm.js +132 -0
- package/lib/components/agent/filestore/FilestoreTable.js +53 -0
- package/lib/components/common/BridgeSelect.js +2 -1
- package/lib/components/common/FormSelect.js +2 -1
- package/lib/components/common/Scroller.js +6 -6
- package/lib/components/common/TableInput.js +74 -29
- package/lib/components/common/TeamSelect.js +2 -1
- package/lib/components/common/Typeahead.js +7 -4
- package/lib/components/common/UserSelect.js +2 -1
- package/lib/components/common/authentication/AuthenticationContainer.js +50 -27
- package/lib/components/common/code_input/languageHelpers.test.js +1 -1
- package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +1 -1
- package/lib/components/core/attribute_definition/AttributeDefinitionTable.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/form/FormForm.js +12 -17
- package/lib/components/core/form/FormTable.js +3 -8
- package/lib/components/core/i18n/I18n.js +15 -15
- package/lib/components/core/index_definition/IndexDefinitionForm.js +32 -19
- package/lib/components/core/index_definition/IndexDefinitionTable.js +15 -24
- package/lib/components/core/index_job/IndexJobTable.js +12 -9
- package/lib/components/core/security_definition/SecurityDefinitionForm.js +1 -1
- package/lib/components/core/space/SpaceForm.js +59 -10
- package/lib/components/core/submission/DatastoreSubmissionTable.js +31 -1
- 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/SubmissionTable.js +35 -249
- package/lib/components/core/submission/helpers.js +95 -0
- package/lib/components/core/submission/helpers.test.js +96 -0
- package/lib/components/core/translation/ContextTable.js +1 -1
- package/lib/components/core/user/UserForm.js +2 -2
- package/lib/components/core/webapi/WebApiForm.js +111 -126
- package/lib/components/core/webhook/WebhookForm.js +1 -1
- package/lib/components/form/Form.helpers.js +1 -1
- package/lib/components/form/Form.js +200 -144
- package/lib/components/index.js +16 -6
- package/lib/components/system/SystemBackgroundTasksTable.js +83 -0
- package/lib/components/system/SystemSecurityForm.js +69 -0
- package/lib/components/system/helpers.js +20 -6
- package/lib/components/system/spaces/SystemSpaceForm.js +44 -16
- package/lib/components/system/spaces/SystemTenantForm.js +15 -9
- package/lib/components/system/spaces/SystemTenantTable.js +21 -16
- package/lib/components/table/Table.js +37 -10
- package/lib/components/table/Table.redux.js +228 -57
- package/lib/components/table/Table.redux.test.js +73 -2
- package/lib/components/task/builder/Connector.js +21 -10
- package/lib/components/task/builder/ConnectorForm.js +1 -1
- package/lib/components/task/builder/Node.js +10 -3
- package/lib/components/task/builder/NodeForm.js +54 -22
- package/lib/components/task/builder/NodeParametersForm.js +5 -2
- package/lib/components/task/builder/SvgCanvas.js +13 -4
- package/lib/components/task/builder/TaskDefinitionConfigForm.js +113 -0
- package/lib/components/task/builder/TreeBuilder.js +27 -9
- package/lib/components/task/builder/builder.redux.js +159 -52
- package/lib/components/task/builder/helpers.js +5 -3
- package/lib/components/task/builder/models.js +84 -12
- package/lib/components/task/errors/RunErrorTable.js +1 -1
- package/lib/components/task/runs/CreateManualTriggerForm.js +15 -24
- package/lib/components/task/runs/RunTable.js +5 -3
- package/lib/components/task/triggers/TriggerTable.js +3 -2
- package/lib/components/task/workflows/WorkflowForm.js +67 -85
- package/lib/helpers/index.js +19 -2
- package/lib/index.js +1 -0
- package/lib/models/discussions.js +18 -2
- package/lib/models/index.js +1 -1
- package/package.json +3 -3
- package/proxyhelper.js +19 -6
|
@@ -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, count, 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;
|
|
@@ -224,7 +266,7 @@ function calculateRowsTask(_ref14) {
|
|
|
224
266
|
case 5:
|
|
225
267
|
tableData = _context.sent;
|
|
226
268
|
|
|
227
|
-
if (
|
|
269
|
+
if (tableData) {
|
|
228
270
|
_context.next = 8;
|
|
229
271
|
break;
|
|
230
272
|
}
|
|
@@ -237,14 +279,15 @@ function calculateRowsTask(_ref14) {
|
|
|
237
279
|
|
|
238
280
|
case 10:
|
|
239
281
|
response = _context.sent;
|
|
240
|
-
rows = response.rows, data = response.data, nextPageToken = response.nextPageToken, error = response.error;
|
|
282
|
+
rows = response.rows, data = response.data, nextPageToken = response.nextPageToken, count = response.count, 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: {
|
|
@@ -252,50 +295,66 @@ function calculateRowsTask(_ref14) {
|
|
|
252
295
|
error: error,
|
|
253
296
|
rows: List(),
|
|
254
297
|
data: List(),
|
|
255
|
-
nextPageToken: null
|
|
298
|
+
nextPageToken: null,
|
|
299
|
+
count: null
|
|
256
300
|
}
|
|
257
301
|
});
|
|
258
302
|
|
|
259
|
-
case
|
|
260
|
-
_context.next =
|
|
303
|
+
case 16:
|
|
304
|
+
_context.next = 20;
|
|
261
305
|
break;
|
|
262
306
|
|
|
263
|
-
case
|
|
264
|
-
_context.next =
|
|
307
|
+
case 18:
|
|
308
|
+
_context.next = 20;
|
|
265
309
|
return put({
|
|
266
310
|
type: 'SET_ROWS',
|
|
267
311
|
payload: {
|
|
268
312
|
tableKey: tableKey,
|
|
269
313
|
rows: rows,
|
|
270
314
|
data: data,
|
|
271
|
-
nextPageToken: nextPageToken
|
|
315
|
+
nextPageToken: nextPageToken,
|
|
316
|
+
count: count
|
|
272
317
|
}
|
|
273
318
|
});
|
|
274
319
|
|
|
275
|
-
case
|
|
276
|
-
|
|
320
|
+
case 20:
|
|
321
|
+
if (!(typeof onFetch === 'function')) {
|
|
322
|
+
_context.next = 23;
|
|
323
|
+
break;
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
_context.next = 23;
|
|
327
|
+
return call(onFetch, {
|
|
328
|
+
tableKey: tableKey,
|
|
329
|
+
rows: rows,
|
|
330
|
+
count: count,
|
|
331
|
+
error: error
|
|
332
|
+
});
|
|
333
|
+
|
|
334
|
+
case 23:
|
|
335
|
+
_context.next = 28;
|
|
277
336
|
break;
|
|
278
337
|
|
|
279
|
-
case
|
|
280
|
-
_context.prev =
|
|
338
|
+
case 25:
|
|
339
|
+
_context.prev = 25;
|
|
281
340
|
_context.t0 = _context["catch"](1);
|
|
282
341
|
console.error(_context.t0);
|
|
283
342
|
|
|
284
|
-
case
|
|
343
|
+
case 28:
|
|
285
344
|
case "end":
|
|
286
345
|
return _context.stop();
|
|
287
346
|
}
|
|
288
347
|
}
|
|
289
|
-
}, _marked, null, [[1,
|
|
348
|
+
}, _marked, null, [[1, 25]]);
|
|
290
349
|
}
|
|
291
350
|
|
|
292
|
-
function configureTableTask(
|
|
351
|
+
function configureTableTask(_ref16) {
|
|
293
352
|
var payload, filterForm, tableKey, initialFilterValues;
|
|
294
353
|
return _regeneratorRuntime.wrap(function configureTableTask$(_context2) {
|
|
295
354
|
while (1) {
|
|
296
355
|
switch (_context2.prev = _context2.next) {
|
|
297
356
|
case 0:
|
|
298
|
-
payload =
|
|
357
|
+
payload = _ref16.payload;
|
|
299
358
|
filterForm = payload.filterForm, tableKey = payload.tableKey, initialFilterValues = payload.initialFilterValues;
|
|
300
359
|
|
|
301
360
|
if (filterForm) {
|
|
@@ -327,9 +386,114 @@ function configureTableTask(_ref15) {
|
|
|
327
386
|
}, _marked2);
|
|
328
387
|
}
|
|
329
388
|
|
|
330
|
-
|
|
389
|
+
var pollerTableKeys = {};
|
|
390
|
+
|
|
391
|
+
function pollingTask(tableKey) {
|
|
392
|
+
return _regeneratorRuntime.wrap(function pollingTask$(_context3) {
|
|
393
|
+
while (1) {
|
|
394
|
+
switch (_context3.prev = _context3.next) {
|
|
395
|
+
case 0:
|
|
396
|
+
if (!true) {
|
|
397
|
+
_context3.next = 6;
|
|
398
|
+
break;
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
_context3.next = 3;
|
|
402
|
+
return delay(10000);
|
|
403
|
+
|
|
404
|
+
case 3:
|
|
405
|
+
refetchTable(tableKey);
|
|
406
|
+
_context3.next = 0;
|
|
407
|
+
break;
|
|
408
|
+
|
|
409
|
+
case 6:
|
|
410
|
+
case "end":
|
|
411
|
+
return _context3.stop();
|
|
412
|
+
}
|
|
413
|
+
}
|
|
414
|
+
}, _marked3);
|
|
415
|
+
}
|
|
416
|
+
|
|
417
|
+
function startPollingTask(_ref17) {
|
|
418
|
+
var payload, refreshInterval, tableKey;
|
|
419
|
+
return _regeneratorRuntime.wrap(function startPollingTask$(_context4) {
|
|
420
|
+
while (1) {
|
|
421
|
+
switch (_context4.prev = _context4.next) {
|
|
422
|
+
case 0:
|
|
423
|
+
payload = _ref17.payload;
|
|
424
|
+
refreshInterval = payload.refreshInterval, tableKey = payload.tableKey;
|
|
425
|
+
|
|
426
|
+
if (!(refreshInterval && !pollerTableKeys[tableKey])) {
|
|
427
|
+
_context4.next = 6;
|
|
428
|
+
break;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
_context4.next = 5;
|
|
432
|
+
return fork(pollingTask, tableKey, refreshInterval);
|
|
433
|
+
|
|
434
|
+
case 5:
|
|
435
|
+
pollerTableKeys[tableKey] = _context4.sent;
|
|
436
|
+
|
|
437
|
+
case 6:
|
|
438
|
+
case "end":
|
|
439
|
+
return _context4.stop();
|
|
440
|
+
}
|
|
441
|
+
}
|
|
442
|
+
}, _marked4);
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
function stopPollingTask(_ref18) {
|
|
446
|
+
var payload, tableKey;
|
|
447
|
+
return _regeneratorRuntime.wrap(function stopPollingTask$(_context5) {
|
|
448
|
+
while (1) {
|
|
449
|
+
switch (_context5.prev = _context5.next) {
|
|
450
|
+
case 0:
|
|
451
|
+
payload = _ref18.payload;
|
|
452
|
+
tableKey = payload.tableKey;
|
|
453
|
+
|
|
454
|
+
if (!pollerTableKeys[tableKey]) {
|
|
455
|
+
_context5.next = 6;
|
|
456
|
+
break;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
_context5.next = 5;
|
|
460
|
+
return cancel(pollerTableKeys[tableKey]);
|
|
461
|
+
|
|
462
|
+
case 5:
|
|
463
|
+
pollerTableKeys[tableKey] = null;
|
|
464
|
+
|
|
465
|
+
case 6:
|
|
466
|
+
case "end":
|
|
467
|
+
return _context5.stop();
|
|
468
|
+
}
|
|
469
|
+
}
|
|
470
|
+
}, _marked5);
|
|
471
|
+
}
|
|
472
|
+
|
|
473
|
+
regSaga('CONFIGURE_TABLE', /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
474
|
+
return _regeneratorRuntime.wrap(function _callee$(_context6) {
|
|
475
|
+
while (1) {
|
|
476
|
+
switch (_context6.prev = _context6.next) {
|
|
477
|
+
case 0:
|
|
478
|
+
_context6.next = 2;
|
|
479
|
+
return takeEvery('CONFIGURE_TABLE', configureTableTask);
|
|
480
|
+
|
|
481
|
+
case 2:
|
|
482
|
+
_context6.next = 4;
|
|
483
|
+
return takeEvery('CONFIGURE_TABLE', startPollingTask);
|
|
484
|
+
|
|
485
|
+
case 4:
|
|
486
|
+
case "end":
|
|
487
|
+
return _context6.stop();
|
|
488
|
+
}
|
|
489
|
+
}
|
|
490
|
+
}, _callee);
|
|
491
|
+
})); //
|
|
492
|
+
|
|
493
|
+
regSaga(takeEvery('UNMOUNT_TABLE', stopPollingTask));
|
|
331
494
|
regSaga(takeEvery('NEXT_PAGE', calculateRowsTask));
|
|
332
495
|
regSaga(takeEvery('PREV_PAGE', calculateRowsTask));
|
|
496
|
+
regSaga(takeEvery('GOTO_PAGE', calculateRowsTask));
|
|
333
497
|
regSaga(takeEvery('SORT_COLUMN', calculateRowsTask));
|
|
334
498
|
regSaga(takeEvery('SORT_DIRECTION', calculateRowsTask));
|
|
335
499
|
regSaga(takeEvery('APPLY_FILTERS', calculateRowsTask));
|
|
@@ -459,33 +623,40 @@ var calculateRows = function calculateRows(tableData) {
|
|
|
459
623
|
var rows = applyClientSideFilters(tableData, data);
|
|
460
624
|
return Promise.resolve({
|
|
461
625
|
rows: rows,
|
|
462
|
-
data: data
|
|
626
|
+
data: data,
|
|
627
|
+
count: rows.size
|
|
463
628
|
});
|
|
464
629
|
} else if (dataSource) {
|
|
465
|
-
var
|
|
466
|
-
return result;
|
|
467
|
-
};
|
|
468
|
-
|
|
469
|
-
var params = dataSource.params({
|
|
630
|
+
var paramData = {
|
|
470
631
|
pageSize: tableData.get('pageSize'),
|
|
471
632
|
filters: tableData.get('appliedFilters'),
|
|
472
633
|
sortColumn: tableData.getIn(['sortColumn', 'value']),
|
|
473
634
|
sortDirection: tableData.get('sortDirection'),
|
|
474
|
-
nextPageToken: tableData.get('nextPageToken')
|
|
475
|
-
|
|
635
|
+
nextPageToken: tableData.get('nextPageToken'),
|
|
636
|
+
pageTokens: tableData.get('pageTokens')
|
|
637
|
+
};
|
|
638
|
+
|
|
639
|
+
var transform = dataSource.transform || function (result) {
|
|
640
|
+
return result;
|
|
641
|
+
};
|
|
642
|
+
|
|
643
|
+
var params = dataSource.params(paramData);
|
|
476
644
|
return dataSource.fn.apply(dataSource, _toConsumableArray(params)).then(function (response) {
|
|
477
645
|
if (response.error) return response;
|
|
478
646
|
|
|
479
|
-
var _transform = transform(response),
|
|
647
|
+
var _transform = transform(response, paramData),
|
|
480
648
|
nextPageToken = _transform.nextPageToken,
|
|
481
|
-
responseData = _transform.data
|
|
649
|
+
responseData = _transform.data,
|
|
650
|
+
count = _transform.count;
|
|
482
651
|
|
|
483
652
|
var data = fromJS(responseData);
|
|
484
|
-
var
|
|
653
|
+
var transformedRows = transformData(data, tableData);
|
|
654
|
+
var rows = dataSource.clientSideSearch || dataSource.clientSide ? applyClientSideFilters(tableData, transformedRows) : transformedRows;
|
|
485
655
|
return {
|
|
486
656
|
nextPageToken: nextPageToken,
|
|
657
|
+
count: dataSource.clientSideSearch || dataSource.clientSide ? rows.size : count,
|
|
487
658
|
data: data,
|
|
488
|
-
rows:
|
|
659
|
+
rows: rows
|
|
489
660
|
};
|
|
490
661
|
});
|
|
491
662
|
} 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 () {
|
|
@@ -126,21 +126,32 @@ export var Connector = /*#__PURE__*/function (_Component) {
|
|
|
126
126
|
var dy = y2 - y1;
|
|
127
127
|
var length = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
|
|
128
128
|
var angle = Math.atan2(dy, dx) * 180 / Math.PI + 180;
|
|
129
|
-
var
|
|
130
|
-
var
|
|
131
|
-
|
|
129
|
+
var connectorValue = isIE11 ? "translate(".concat(x2, " ").concat(y2, ") rotate(").concat(angle, ")") : "translate(".concat(x2, "px, ").concat(y2, "px) rotate(").concat(angle, "deg)");
|
|
130
|
+
var connectorLabelValue = isIE11 ? "translate(".concat(x1 + dx / 2, " ").concat(y1 + dy / 2, ")") : "translate(".concat(x1 + dx / 2, "px, ").concat(y1 + dy / 2, "px)");
|
|
131
|
+
|
|
132
|
+
if (isIE11) {
|
|
133
|
+
_this.connector.current.transform = connectorValue;
|
|
134
|
+
|
|
135
|
+
if (_this.connectorLabel.current) {
|
|
136
|
+
_this.connectorLabel.current.transform = connectorLabelValue;
|
|
137
|
+
}
|
|
138
|
+
} else {
|
|
139
|
+
_this.connector.current.style.transform = connectorValue;
|
|
140
|
+
|
|
141
|
+
if (_this.connectorLabel.current) {
|
|
142
|
+
_this.connectorLabel.current.style.transform = connectorLabelValue;
|
|
143
|
+
}
|
|
144
|
+
} // this.connector.current.setAttribute(attribute, connectorValue);
|
|
132
145
|
|
|
133
|
-
_this.connector.current.setAttribute(attribute, connectorValue);
|
|
134
146
|
|
|
135
147
|
if (_this.connectorTail.current) {
|
|
136
148
|
_this.connectorTail.current.setAttribute('cx', length);
|
|
137
149
|
}
|
|
138
150
|
|
|
139
|
-
_this.connectorBody.current.setAttribute('x2', length);
|
|
151
|
+
_this.connectorBody.current.setAttribute('x2', length); // if (this.connectorLabel.current) {
|
|
152
|
+
// this.connectorLabel.current.setAttribute(attribute, connectorLabelValue);
|
|
153
|
+
// }
|
|
140
154
|
|
|
141
|
-
if (_this.connectorLabel.current) {
|
|
142
|
-
_this.connectorLabel.current.setAttribute(attribute, connectorLabelValue);
|
|
143
|
-
}
|
|
144
155
|
};
|
|
145
156
|
|
|
146
157
|
_this.connector = createRef();
|
|
@@ -130,9 +130,16 @@ export var Node = /*#__PURE__*/function (_Component) {
|
|
|
130
130
|
}, {
|
|
131
131
|
key: "draw",
|
|
132
132
|
value: function draw() {
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
this.
|
|
133
|
+
// const attribute = isIE11 ? 'transform' : 'style';
|
|
134
|
+
// const value = isIE11
|
|
135
|
+
// ? `translate(${this.position.x} ${this.position.y})`
|
|
136
|
+
// : `transform: translate(${this.position.x}px, ${this.position.y}px)`;
|
|
137
|
+
// this.el.current.setAttribute(attribute, value);
|
|
138
|
+
if (isIE11) {
|
|
139
|
+
this.el.current.transform = "translate(".concat(this.position.x, " ").concat(this.position.y, ")");
|
|
140
|
+
} else {
|
|
141
|
+
this.el.current.style.transform = "translate(".concat(this.position.x, "px, ").concat(this.position.y, "px)");
|
|
142
|
+
}
|
|
136
143
|
}
|
|
137
144
|
}, {
|
|
138
145
|
key: "render",
|