@kineticdata/react 6.1.0 → 6.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +110 -110
- package/assets/task/icons/defer.svg +12 -12
- package/assets/task/icons/drag-handle.svg +3 -3
- package/assets/task/icons/filter.svg +11 -11
- package/assets/task/icons/loop.svg +10 -10
- package/assets/task/icons/plus_small.svg +5 -5
- package/assets/task/icons/routine.svg +9 -9
- package/assets/task/icons/scale-minus.svg +11 -11
- package/assets/task/icons/scale-plus.svg +13 -13
- package/assets/task/icons/start.svg +11 -11
- package/assets/task/icons/stop.svg +8 -8
- package/lib/apis/core/activity.js +4 -4
- package/lib/apis/core/attributeDefinitions.js +55 -0
- package/lib/apis/core/attributeDefinitions.test.js +7 -4
- package/lib/apis/core/authentication.js +12 -1
- package/lib/apis/core/bridgeModels.test.js +46 -23
- package/lib/apis/core/bridgedresources.js +41 -41
- package/lib/apis/core/fileResources.js +2 -6
- package/lib/apis/core/forms.js +51 -2
- package/lib/apis/core/forms.test.js +32 -19
- package/lib/apis/core/kapps.js +49 -0
- package/lib/apis/core/kapps.test.js +16 -10
- package/lib/apis/core/notices.js +7 -0
- package/lib/apis/core/securityPolicyDefinitions.test.js +7 -4
- package/lib/apis/core/space.js +18 -0
- package/lib/apis/core/space.test.js +16 -10
- package/lib/apis/core/submissionActivities.js +38 -0
- package/lib/apis/core/submissions.js +62 -0
- package/lib/apis/core/translations.test.js +126 -55
- package/lib/apis/core/userPreferences.js +59 -0
- package/lib/apis/core/webApis.js +32 -2
- package/lib/apis/core/webhooks.test.js +7 -4
- package/lib/apis/http.js +22 -11
- package/lib/apis/index.js +24 -0
- package/lib/apis/integrator/index.js +95 -20
- package/lib/components/common/AttributeSelect.js +1 -0
- package/lib/components/common/BridgeSelect.js +1 -0
- package/lib/components/common/ConnectionSelect.js +2 -1
- package/lib/components/common/FormSelect.js +1 -0
- package/lib/components/common/NodeSelect.js +1 -0
- package/lib/components/common/StaticSelect.js +1 -0
- package/lib/components/common/TeamSelect.js +1 -0
- package/lib/components/common/ToastContainer.js +3 -3
- package/lib/components/common/Typeahead.js +3 -0
- package/lib/components/common/UserSelect.js +1 -0
- package/lib/components/common/authentication/AuthenticationContainer.js +121 -55
- package/lib/components/common/preferences/PreferencesProvider.js +461 -0
- package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +7 -7
- package/lib/components/core/field_definition/FieldDefinitionForm.js +3 -3
- package/lib/components/core/form/FormTable.js +0 -1
- package/lib/components/core/integration/IntegrationTable.js +3 -0
- package/lib/components/core/space/SpaceForm.js +14 -14
- package/lib/components/core/submission/SubmissionActivityForm.js +79 -0
- package/lib/components/core/submission/SubmissionForm.js +12 -2
- package/lib/components/core/translation/EntryTable.js +8 -7
- package/lib/components/core/user/UserForm.js +2 -0
- package/lib/components/core/user/UserTable.js +4 -4
- package/lib/components/form/Form.js +14 -3
- package/lib/components/form/FormState.js +1 -1
- package/lib/components/form/SimpleForm.js +2 -2
- package/lib/components/index.js +68 -0
- package/lib/components/integrator/connection/ConnectionForm.js +62 -18
- package/lib/components/integrator/connection/ConnectionTable.js +5 -3
- package/lib/components/integrator/connection/config_fields/http.js +19 -19
- package/lib/components/integrator/connection/config_fields/sql.js +123 -0
- package/lib/components/integrator/integrationTypes.js +27 -5
- package/lib/components/integrator/operation/OperationForm.js +24 -4
- package/lib/components/integrator/operation/OperationTable.js +3 -5
- package/lib/components/integrator/operation/config_fields/http.js +3 -2
- package/lib/components/integrator/operation/config_fields/sql.js +81 -0
- package/lib/components/system/SystemUserForm.js +2 -0
- package/lib/components/table/Table.js +75 -15
- package/lib/components/table/Table.redux.js +296 -72
- package/lib/components/table/defaults/FilterControl.js +24 -0
- package/lib/components/table/defaults/index.js +2 -0
- package/lib/components/table/tests/Table.test.js +22 -22
- package/lib/components/table/tests/components.js +9 -2
- package/lib/components/task/builder/Connector.js +51 -41
- package/lib/components/task/builder/Node.js +25 -38
- package/lib/components/task/builder/SvgCanvas.js +3 -17
- package/lib/components/task/builder/TreeBuilder.js +1 -2
- package/lib/components/task/builder/builder.redux.js +52 -32
- package/lib/components/task/builder/helpers.js +35 -5
- package/lib/components/task/common/UsageTable.js +8 -1
- package/lib/components/task/handlers/HandlerTable.js +9 -18
- package/lib/components/task/runs/RunTable.js +6 -10
- package/lib/components/task/workflows/LinkedWorkflowTable.js +14 -9
- package/lib/components/task/workflows/WorkflowTable.js +25 -24
- package/lib/helpers/index.js +18 -2
- package/lib/index.js +2 -1
- package/lib/saga.js +4 -4
- package/lib/store.js +2 -1
- package/package.json +5 -6
- package/proxyhelper.js +201 -201
- package/CHANGELOG.md +0 -116
|
@@ -5,14 +5,17 @@ var _regeneratorRuntime3 = require("@babel/runtime/helpers/regeneratorRuntime")[
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.unmountTable = exports.serverSideGotoPage = exports.refetchTable = exports.operations = exports.mountTable = exports.isValueEmpty = exports.isClientSide = exports.hasData = exports.generateInitialSortColumn = exports.generateFilters = exports.filterFormKey = exports.configureTable = exports.clientSideRowFilter = exports.clientSideGotoPage = exports.clearFilters = void 0;
|
|
9
|
-
var
|
|
8
|
+
exports.unmountTable = exports.toggleFilterField = exports.serverSideGotoPage = exports.resetFilterForm = exports.reloadTablePage = exports.refetchTable = exports.operations = exports.mountTable = exports.isValueEmpty = exports.isClientSide = exports.hasTableFiltersApplied = exports.hasData = exports.generateInitialSortColumn = exports.generateFilters = exports.findTableKey = exports.filterFormKey = exports.configureTable = exports.clientSideRowFilter = exports.clientSideGotoPage = exports.clearFilters = void 0;
|
|
9
|
+
var _createForOfIteratorHelper2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createForOfIteratorHelper"));
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
|
|
10
11
|
var _regeneratorRuntime2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/regeneratorRuntime"));
|
|
12
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
|
|
11
13
|
var _immutable = require("immutable");
|
|
12
14
|
var _isarray = _interopRequireDefault(require("isarray"));
|
|
13
15
|
var _effects = require("redux-saga/effects");
|
|
14
16
|
var _store = require("../../store");
|
|
15
17
|
var _ = require("..");
|
|
18
|
+
var _Form = require("../form/Form");
|
|
16
19
|
var _marked = /*#__PURE__*/_regeneratorRuntime3().mark(pollingTask);
|
|
17
20
|
var hasData = exports.hasData = function hasData(data) {
|
|
18
21
|
return (0, _isarray["default"])(data) || data instanceof _immutable.List;
|
|
@@ -25,10 +28,10 @@ var getDataSource = function getDataSource(tableData) {
|
|
|
25
28
|
var dataSourceFn = tableData.get('dataSource') || noop;
|
|
26
29
|
return dataSourceFn(tableOptions);
|
|
27
30
|
};
|
|
28
|
-
var isClientSide = exports.isClientSide = function isClientSide(tableData) {
|
|
31
|
+
var isClientSide = exports.isClientSide = function isClientSide(tableData, ignoreData) {
|
|
29
32
|
var data = tableData.get('data');
|
|
30
33
|
var dataSource = getDataSource(tableData);
|
|
31
|
-
return hasData(data) && (dataSource && (dataSource.clientSideSearch === true || dataSource.clientSide) || !dataSource);
|
|
34
|
+
return (hasData(data) || ignoreData) && (dataSource && (dataSource.clientSideSearch === true || dataSource.clientSide) || !dataSource);
|
|
32
35
|
};
|
|
33
36
|
var clientSideGotoPage = exports.clientSideGotoPage = function clientSideGotoPage(tableData, pageNumber) {
|
|
34
37
|
var data = tableData.get('data');
|
|
@@ -73,6 +76,9 @@ var serverSidePrevPage = function serverSidePrevPage(tableData) {
|
|
|
73
76
|
return t.set('nextPageToken', t.get('pageTokens').last());
|
|
74
77
|
});
|
|
75
78
|
};
|
|
79
|
+
var serverSideReloadPage = function serverSideReloadPage(tableData) {
|
|
80
|
+
return tableData.set('loading', true).set('nextPageToken', tableData.get('pageTokens').last());
|
|
81
|
+
};
|
|
76
82
|
|
|
77
83
|
// should be '' except if op is between, or in
|
|
78
84
|
var getInitialFilterValue = function getInitialFilterValue(column) {
|
|
@@ -122,7 +128,10 @@ var generateInitialSortColumn = exports.generateInitialSortColumn = function gen
|
|
|
122
128
|
tableOptions = _ref3$payload.tableOptions,
|
|
123
129
|
onValidateFilters = _ref3$payload.onValidateFilters,
|
|
124
130
|
filterForm = _ref3$payload.filterForm,
|
|
125
|
-
|
|
131
|
+
filterSet = _ref3$payload.filterSet,
|
|
132
|
+
onFetch = _ref3$payload.onFetch,
|
|
133
|
+
onColumnSort = _ref3$payload.onColumnSort,
|
|
134
|
+
onColumnToggle = _ref3$payload.onColumnToggle;
|
|
126
135
|
return !state.getIn(['tables', tableKey, 'mounted']) ? state : state.hasIn(['tables', tableKey, 'configured']) ? state.setIn(['tables', tableKey, 'initialize'], false) : state.mergeIn(['tables', tableKey], (0, _immutable.Map)({
|
|
127
136
|
data: hasData(data) ? (0, _immutable.fromJS)(data) : data,
|
|
128
137
|
extraData: null,
|
|
@@ -145,11 +154,14 @@ var generateInitialSortColumn = exports.generateInitialSortColumn = function gen
|
|
|
145
154
|
error: null,
|
|
146
155
|
// Filtering
|
|
147
156
|
filterForm: filterForm,
|
|
157
|
+
filterSet: filterSet,
|
|
148
158
|
filters: generateFilters(tableKey, columns),
|
|
149
159
|
appliedFilters: generateFilters(tableKey, columns),
|
|
150
160
|
validFilters: true,
|
|
151
161
|
onValidateFilters: onValidateFilters,
|
|
152
162
|
onFetch: onFetch,
|
|
163
|
+
onColumnSort: onColumnSort,
|
|
164
|
+
onColumnToggle: onColumnToggle,
|
|
153
165
|
configured: true,
|
|
154
166
|
initialize: true
|
|
155
167
|
}));
|
|
@@ -173,45 +185,63 @@ var generateInitialSortColumn = exports.generateInitialSortColumn = function gen
|
|
|
173
185
|
});
|
|
174
186
|
});
|
|
175
187
|
},
|
|
176
|
-
|
|
188
|
+
TOGGLE_FILTER: function TOGGLE_FILTER(state, _ref5) {
|
|
177
189
|
var _ref5$payload = _ref5.payload,
|
|
178
190
|
tableKey = _ref5$payload.tableKey,
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
191
|
+
filters = _ref5$payload.filters;
|
|
192
|
+
return state.updateIn(['tables', tableKey, 'filterSet'], function (filterSet) {
|
|
193
|
+
return !filterSet ? filters : filters.reduce(function (set, filter) {
|
|
194
|
+
return set.includes(filter) ? set.filter(function (f) {
|
|
195
|
+
return f !== filter;
|
|
196
|
+
}) : [].concat((0, _toConsumableArray2["default"])(set), [filter]);
|
|
197
|
+
}, filterSet);
|
|
198
|
+
});
|
|
199
|
+
},
|
|
200
|
+
SET_ROWS: function SET_ROWS(state, _ref6) {
|
|
201
|
+
var _ref6$payload = _ref6.payload,
|
|
202
|
+
tableKey = _ref6$payload.tableKey,
|
|
203
|
+
rows = _ref6$payload.rows,
|
|
204
|
+
data = _ref6$payload.data,
|
|
205
|
+
_ref6$payload$extraDa = _ref6$payload.extraData,
|
|
206
|
+
extraData = _ref6$payload$extraDa === void 0 ? null : _ref6$payload$extraDa,
|
|
207
|
+
nextPageToken = _ref6$payload.nextPageToken,
|
|
208
|
+
count = _ref6$payload.count,
|
|
209
|
+
_ref6$payload$error = _ref6$payload.error,
|
|
210
|
+
error = _ref6$payload$error === void 0 ? null : _ref6$payload$error;
|
|
187
211
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
188
212
|
return table && table.set('rows', rows).set('data', data).set('extraData', extraData).set('currentPageToken', nextPageToken).set('nextPageToken', null).set('count', count).set('error', error).set('initializing', false).set('loading', false);
|
|
189
213
|
});
|
|
190
214
|
},
|
|
191
|
-
NEXT_PAGE: function NEXT_PAGE(state,
|
|
192
|
-
var tableKey =
|
|
215
|
+
NEXT_PAGE: function NEXT_PAGE(state, _ref7) {
|
|
216
|
+
var tableKey = _ref7.payload.tableKey;
|
|
193
217
|
return state.updateIn(['tables', tableKey], function (tableData) {
|
|
194
218
|
return isClientSide(tableData) ? clientSideNextPage(tableData) : serverSideNextPage(tableData);
|
|
195
219
|
}).setIn(['tables', tableKey, 'error'], null);
|
|
196
220
|
},
|
|
197
|
-
PREV_PAGE: function PREV_PAGE(state,
|
|
198
|
-
var tableKey =
|
|
221
|
+
PREV_PAGE: function PREV_PAGE(state, _ref8) {
|
|
222
|
+
var tableKey = _ref8.payload.tableKey;
|
|
199
223
|
return state.updateIn(['tables', tableKey], function (tableData) {
|
|
200
224
|
return isClientSide(tableData) ? clientSidePrevPage(tableData) : serverSidePrevPage(tableData);
|
|
201
225
|
}).setIn(['tables', tableKey, 'error'], null);
|
|
202
226
|
},
|
|
203
|
-
GOTO_PAGE: function GOTO_PAGE(state,
|
|
204
|
-
var
|
|
205
|
-
tableKey =
|
|
206
|
-
pageNumber =
|
|
227
|
+
GOTO_PAGE: function GOTO_PAGE(state, _ref9) {
|
|
228
|
+
var _ref9$payload = _ref9.payload,
|
|
229
|
+
tableKey = _ref9$payload.tableKey,
|
|
230
|
+
pageNumber = _ref9$payload.pageNumber;
|
|
207
231
|
return state.updateIn(['tables', tableKey], function (tableData) {
|
|
208
232
|
return isClientSide(tableData) ? clientSideGotoPage(tableData, pageNumber) : serverSideGotoPage(tableData, pageNumber);
|
|
209
233
|
}).setIn(['tables', tableKey, 'error'], null);
|
|
210
234
|
},
|
|
211
|
-
|
|
212
|
-
var
|
|
213
|
-
|
|
214
|
-
|
|
235
|
+
RELOAD_PAGE: function RELOAD_PAGE(state, _ref10) {
|
|
236
|
+
var tableKey = _ref10.payload.tableKey;
|
|
237
|
+
return state.hasIn(['tables', tableKey]) ? state.updateIn(['tables', tableKey], function (tableData) {
|
|
238
|
+
return tableData.get('configured') ? (isClientSide(tableData) ? tableData : serverSideReloadPage(tableData)).set('loading', true).set('data', null).set('error', null) : tableData;
|
|
239
|
+
}) : state;
|
|
240
|
+
},
|
|
241
|
+
SORT_COLUMN: function SORT_COLUMN(state, _ref11) {
|
|
242
|
+
var _ref11$payload = _ref11.payload,
|
|
243
|
+
tableKey = _ref11$payload.tableKey,
|
|
244
|
+
column = _ref11$payload.column;
|
|
215
245
|
return state.updateIn(['tables', tableKey], function (t) {
|
|
216
246
|
var sortColumn = t.get('sortColumn');
|
|
217
247
|
var sortDirection = t.get('sortDirection');
|
|
@@ -222,48 +252,49 @@ var generateInitialSortColumn = exports.generateInitialSortColumn = function gen
|
|
|
222
252
|
.set('sortDirection', sortColumn === column ? sortDirection === 'asc' ? 'desc' : 'asc' : 'asc').set('sortColumn', column).set('error', null);
|
|
223
253
|
});
|
|
224
254
|
},
|
|
225
|
-
SET_FILTER: function SET_FILTER(state,
|
|
226
|
-
var
|
|
227
|
-
tableKey =
|
|
228
|
-
filter =
|
|
229
|
-
value =
|
|
255
|
+
SET_FILTER: function SET_FILTER(state, _ref12) {
|
|
256
|
+
var _ref12$payload = _ref12.payload,
|
|
257
|
+
tableKey = _ref12$payload.tableKey,
|
|
258
|
+
filter = _ref12$payload.filter,
|
|
259
|
+
value = _ref12$payload.value;
|
|
230
260
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
231
261
|
return table.setIn(['filters', filter, 'value'], value).set('validFilters', evaluateValidFilters(table));
|
|
232
262
|
});
|
|
233
263
|
},
|
|
234
|
-
APPLY_FILTERS: function APPLY_FILTERS(state,
|
|
235
|
-
var tableKey =
|
|
264
|
+
APPLY_FILTERS: function APPLY_FILTERS(state, _ref13) {
|
|
265
|
+
var tableKey = _ref13.payload.tableKey;
|
|
236
266
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
237
267
|
return table.set('loading', true).set('appliedFilters', state.getIn(['tables', tableKey, 'filters'])).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', (0, _immutable.List)()).set('error', null);
|
|
238
268
|
});
|
|
239
269
|
},
|
|
240
|
-
APPLY_FILTER_FORM: function APPLY_FILTER_FORM(state,
|
|
241
|
-
var
|
|
242
|
-
tableKey =
|
|
243
|
-
appliedFilters =
|
|
270
|
+
APPLY_FILTER_FORM: function APPLY_FILTER_FORM(state, _ref14) {
|
|
271
|
+
var _ref14$payload = _ref14.payload,
|
|
272
|
+
tableKey = _ref14$payload.tableKey,
|
|
273
|
+
appliedFilters = _ref14$payload.appliedFilters;
|
|
244
274
|
return state.updateIn(['tables', tableKey], function (table) {
|
|
245
275
|
return table.set('loading', true).set('appliedFilters', appliedFilters).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', (0, _immutable.List)()).set('error', null);
|
|
246
276
|
});
|
|
247
277
|
},
|
|
248
|
-
REFETCH_TABLE_DATA: function REFETCH_TABLE_DATA(state,
|
|
249
|
-
var tableKey =
|
|
278
|
+
REFETCH_TABLE_DATA: function REFETCH_TABLE_DATA(state, _ref15) {
|
|
279
|
+
var tableKey = _ref15.payload.tableKey;
|
|
250
280
|
return state.hasIn(['tables', tableKey]) ? state.updateIn(['tables', tableKey], function (tableData) {
|
|
251
281
|
return tableData.get('dataSource') ? tableData.set('loading', true).set('pageOffset', 0).set('currentPageToken', null).set('nextPageToken', null).set('pageTokens', (0, _immutable.List)()).set('data', null).set('error', null) : tableData;
|
|
252
282
|
}) : state;
|
|
253
283
|
},
|
|
254
|
-
CLEAR_TABLE_FILTERS: function CLEAR_TABLE_FILTERS(state,
|
|
255
|
-
var tableKey =
|
|
284
|
+
CLEAR_TABLE_FILTERS: function CLEAR_TABLE_FILTERS(state, _ref16) {
|
|
285
|
+
var tableKey = _ref16.payload.tableKey;
|
|
256
286
|
return state.setIn(['tables', tableKey, 'filters'], generateFilters(tableKey, state.getIn(['tables', tableKey, 'columns'])));
|
|
257
287
|
},
|
|
258
|
-
CLEAR_SELECTED_FILTERS: function CLEAR_SELECTED_FILTERS(state,
|
|
259
|
-
var tableKey =
|
|
288
|
+
CLEAR_SELECTED_FILTERS: function CLEAR_SELECTED_FILTERS(state, _ref17) {
|
|
289
|
+
var tableKey = _ref17.payload.tableKey;
|
|
260
290
|
return state.setIn(['tables', tableKey, 'filters'], state.getIn(['tables', tableKey, 'appliedFilters']));
|
|
261
291
|
}
|
|
262
292
|
});
|
|
263
|
-
function calculateRowsTask(
|
|
264
|
-
var
|
|
293
|
+
function calculateRowsTask(_ref18) {
|
|
294
|
+
var type = _ref18.type,
|
|
295
|
+
payload = _ref18.payload;
|
|
265
296
|
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
|
|
266
|
-
var tableKey, tableData, response, rows, data, nextPageToken, count, error, extraData, onFetch;
|
|
297
|
+
var _response$data, _response$data2, tableKey, tableData, response, isPageEmpty, rows, data, nextPageToken, count, error, extraData, onFetch;
|
|
267
298
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
268
299
|
while (1) switch (_context.prev = _context.next) {
|
|
269
300
|
case 0:
|
|
@@ -275,7 +306,7 @@ function calculateRowsTask(_ref16) {
|
|
|
275
306
|
});
|
|
276
307
|
case 4:
|
|
277
308
|
tableData = _context.sent;
|
|
278
|
-
if (tableData) {
|
|
309
|
+
if (!(!tableData || type === 'RELOAD_PAGE' && !tableData.get('configured'))) {
|
|
279
310
|
_context.next = 7;
|
|
280
311
|
break;
|
|
281
312
|
}
|
|
@@ -285,13 +316,29 @@ function calculateRowsTask(_ref16) {
|
|
|
285
316
|
return (0, _effects.call)(calculateRows, tableData);
|
|
286
317
|
case 9:
|
|
287
318
|
response = _context.sent;
|
|
319
|
+
isPageEmpty = isClientSide(tableData, true) ? (response === null || response === void 0 ? void 0 : (_response$data = response.data) === null || _response$data === void 0 ? void 0 : _response$data.size) <= tableData.get('pageOffset') && tableData.get('pageOffset') > 0 : (response === null || response === void 0 ? void 0 : (_response$data2 = response.data) === null || _response$data2 === void 0 ? void 0 : _response$data2.size) === 0 && tableData.get('pageTokens').size !== 0;
|
|
320
|
+
if (!(isPageEmpty && !isClientSide(tableData, true))) {
|
|
321
|
+
_context.next = 16;
|
|
322
|
+
break;
|
|
323
|
+
}
|
|
324
|
+
_context.next = 14;
|
|
325
|
+
return (0, _effects.put)({
|
|
326
|
+
type: 'PREV_PAGE',
|
|
327
|
+
payload: {
|
|
328
|
+
tableKey: tableKey
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
case 14:
|
|
332
|
+
_context.next = 31;
|
|
333
|
+
break;
|
|
334
|
+
case 16:
|
|
288
335
|
rows = response.rows, data = response.data, nextPageToken = response.nextPageToken, count = response.count, error = response.error, extraData = response.extraData;
|
|
289
336
|
onFetch = tableData.get('onFetch');
|
|
290
337
|
if (!error) {
|
|
291
|
-
_context.next =
|
|
338
|
+
_context.next = 23;
|
|
292
339
|
break;
|
|
293
340
|
}
|
|
294
|
-
_context.next =
|
|
341
|
+
_context.next = 21;
|
|
295
342
|
return (0, _effects.put)({
|
|
296
343
|
type: 'SET_ROWS',
|
|
297
344
|
payload: {
|
|
@@ -304,11 +351,11 @@ function calculateRowsTask(_ref16) {
|
|
|
304
351
|
extraData: extraData
|
|
305
352
|
}
|
|
306
353
|
});
|
|
307
|
-
case
|
|
308
|
-
_context.next =
|
|
354
|
+
case 21:
|
|
355
|
+
_context.next = 28;
|
|
309
356
|
break;
|
|
310
|
-
case
|
|
311
|
-
_context.next =
|
|
357
|
+
case 23:
|
|
358
|
+
_context.next = 25;
|
|
312
359
|
return (0, _effects.put)({
|
|
313
360
|
type: 'SET_ROWS',
|
|
314
361
|
payload: {
|
|
@@ -320,12 +367,24 @@ function calculateRowsTask(_ref16) {
|
|
|
320
367
|
extraData: extraData
|
|
321
368
|
}
|
|
322
369
|
});
|
|
323
|
-
case
|
|
370
|
+
case 25:
|
|
371
|
+
if (!(isPageEmpty && isClientSide(tableData, true))) {
|
|
372
|
+
_context.next = 28;
|
|
373
|
+
break;
|
|
374
|
+
}
|
|
375
|
+
_context.next = 28;
|
|
376
|
+
return (0, _effects.put)({
|
|
377
|
+
type: 'PREV_PAGE',
|
|
378
|
+
payload: {
|
|
379
|
+
tableKey: tableKey
|
|
380
|
+
}
|
|
381
|
+
});
|
|
382
|
+
case 28:
|
|
324
383
|
if (!(typeof onFetch === 'function')) {
|
|
325
|
-
_context.next =
|
|
384
|
+
_context.next = 31;
|
|
326
385
|
break;
|
|
327
386
|
}
|
|
328
|
-
_context.next =
|
|
387
|
+
_context.next = 31;
|
|
329
388
|
return (0, _effects.call)(onFetch, {
|
|
330
389
|
tableKey: tableKey,
|
|
331
390
|
rows: rows,
|
|
@@ -333,22 +392,22 @@ function calculateRowsTask(_ref16) {
|
|
|
333
392
|
error: error,
|
|
334
393
|
extraData: extraData
|
|
335
394
|
});
|
|
336
|
-
case
|
|
337
|
-
_context.next =
|
|
395
|
+
case 31:
|
|
396
|
+
_context.next = 36;
|
|
338
397
|
break;
|
|
339
|
-
case
|
|
340
|
-
_context.prev =
|
|
398
|
+
case 33:
|
|
399
|
+
_context.prev = 33;
|
|
341
400
|
_context.t0 = _context["catch"](0);
|
|
342
401
|
console.error(_context.t0);
|
|
343
|
-
case
|
|
402
|
+
case 36:
|
|
344
403
|
case "end":
|
|
345
404
|
return _context.stop();
|
|
346
405
|
}
|
|
347
|
-
}, _callee, null, [[0,
|
|
406
|
+
}, _callee, null, [[0, 33]]);
|
|
348
407
|
})();
|
|
349
408
|
}
|
|
350
|
-
function configureTableTask(
|
|
351
|
-
var payload =
|
|
409
|
+
function configureTableTask(_ref19) {
|
|
410
|
+
var payload = _ref19.payload;
|
|
352
411
|
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee2() {
|
|
353
412
|
var filterForm, tableKey, initialFilterValues;
|
|
354
413
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee2$(_context2) {
|
|
@@ -400,8 +459,8 @@ function pollingTask(tableKey) {
|
|
|
400
459
|
}
|
|
401
460
|
}, _marked);
|
|
402
461
|
}
|
|
403
|
-
function startPollingTask(
|
|
404
|
-
var payload =
|
|
462
|
+
function startPollingTask(_ref20) {
|
|
463
|
+
var payload = _ref20.payload;
|
|
405
464
|
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee3() {
|
|
406
465
|
var refreshInterval, tableKey;
|
|
407
466
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee3$(_context4) {
|
|
@@ -423,8 +482,8 @@ function startPollingTask(_ref18) {
|
|
|
423
482
|
}, _callee3);
|
|
424
483
|
})();
|
|
425
484
|
}
|
|
426
|
-
function stopPollingTask(
|
|
427
|
-
var payload =
|
|
485
|
+
function stopPollingTask(_ref21) {
|
|
486
|
+
var payload = _ref21.payload;
|
|
428
487
|
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee4() {
|
|
429
488
|
var tableKey;
|
|
430
489
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee4$(_context5) {
|
|
@@ -466,11 +525,146 @@ function stopPollingTask(_ref19) {
|
|
|
466
525
|
(0, _store.regSaga)((0, _effects.takeEvery)('NEXT_PAGE', calculateRowsTask));
|
|
467
526
|
(0, _store.regSaga)((0, _effects.takeEvery)('PREV_PAGE', calculateRowsTask));
|
|
468
527
|
(0, _store.regSaga)((0, _effects.takeEvery)('GOTO_PAGE', calculateRowsTask));
|
|
469
|
-
(0, _store.regSaga)((0, _effects.takeEvery)('
|
|
470
|
-
(0, _store.regSaga)((0, _effects.takeEvery)('SORT_DIRECTION', calculateRowsTask));
|
|
528
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('RELOAD_PAGE', calculateRowsTask));
|
|
471
529
|
(0, _store.regSaga)((0, _effects.takeEvery)('APPLY_FILTERS', calculateRowsTask));
|
|
472
530
|
(0, _store.regSaga)((0, _effects.takeEvery)('APPLY_FILTER_FORM', calculateRowsTask));
|
|
473
531
|
(0, _store.regSaga)((0, _effects.takeEvery)('REFETCH_TABLE_DATA', calculateRowsTask));
|
|
532
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('SORT_COLUMN', /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee6(action) {
|
|
533
|
+
var tableKey, _yield$select, _yield$select2, onColumnSort, sortColumn, sortDirection;
|
|
534
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee6$(_context7) {
|
|
535
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
536
|
+
case 0:
|
|
537
|
+
tableKey = action.payload.tableKey; // Call calculate rows task
|
|
538
|
+
_context7.next = 3;
|
|
539
|
+
return (0, _effects.call)(calculateRowsTask, action);
|
|
540
|
+
case 3:
|
|
541
|
+
_context7.next = 5;
|
|
542
|
+
return (0, _effects.select)(function (state) {
|
|
543
|
+
return [state.getIn(['tables', tableKey, 'onColumnSort']), state.getIn(['tables', tableKey, 'sortColumn', 'value']), state.getIn(['tables', tableKey, 'sortDirection'])];
|
|
544
|
+
});
|
|
545
|
+
case 5:
|
|
546
|
+
_yield$select = _context7.sent;
|
|
547
|
+
_yield$select2 = (0, _slicedToArray2["default"])(_yield$select, 3);
|
|
548
|
+
onColumnSort = _yield$select2[0];
|
|
549
|
+
sortColumn = _yield$select2[1];
|
|
550
|
+
sortDirection = _yield$select2[2];
|
|
551
|
+
if (!(typeof onColumnSort === 'function')) {
|
|
552
|
+
_context7.next = 13;
|
|
553
|
+
break;
|
|
554
|
+
}
|
|
555
|
+
_context7.next = 13;
|
|
556
|
+
return (0, _effects.call)(onColumnSort, {
|
|
557
|
+
tableKey: tableKey,
|
|
558
|
+
sortColumn: sortColumn,
|
|
559
|
+
sortDirection: sortDirection
|
|
560
|
+
});
|
|
561
|
+
case 13:
|
|
562
|
+
case "end":
|
|
563
|
+
return _context7.stop();
|
|
564
|
+
}
|
|
565
|
+
}, _callee6);
|
|
566
|
+
})));
|
|
567
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('TOGGLE_COLUMN', function (_ref22) {
|
|
568
|
+
var tableKey = _ref22.payload.tableKey;
|
|
569
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee7() {
|
|
570
|
+
var _yield$select3, _yield$select4, onColumnToggle, columnSet;
|
|
571
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee7$(_context8) {
|
|
572
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
573
|
+
case 0:
|
|
574
|
+
_context8.next = 2;
|
|
575
|
+
return (0, _effects.select)(function (state) {
|
|
576
|
+
return [state.getIn(['tables', tableKey, 'onColumnToggle']), state.getIn(['tables', tableKey, 'columnSet'])];
|
|
577
|
+
});
|
|
578
|
+
case 2:
|
|
579
|
+
_yield$select3 = _context8.sent;
|
|
580
|
+
_yield$select4 = (0, _slicedToArray2["default"])(_yield$select3, 2);
|
|
581
|
+
onColumnToggle = _yield$select4[0];
|
|
582
|
+
columnSet = _yield$select4[1];
|
|
583
|
+
if (!(typeof onColumnToggle === 'function')) {
|
|
584
|
+
_context8.next = 9;
|
|
585
|
+
break;
|
|
586
|
+
}
|
|
587
|
+
_context8.next = 9;
|
|
588
|
+
return (0, _effects.call)(onColumnToggle, {
|
|
589
|
+
tableKey: tableKey,
|
|
590
|
+
columnSet: columnSet
|
|
591
|
+
});
|
|
592
|
+
case 9:
|
|
593
|
+
case "end":
|
|
594
|
+
return _context8.stop();
|
|
595
|
+
}
|
|
596
|
+
}, _callee7);
|
|
597
|
+
})();
|
|
598
|
+
}));
|
|
599
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('TOGGLE_FILTER', function (_ref23) {
|
|
600
|
+
var _ref23$payload = _ref23.payload,
|
|
601
|
+
tableKey = _ref23$payload.tableKey,
|
|
602
|
+
filters = _ref23$payload.filters;
|
|
603
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee8() {
|
|
604
|
+
var _yield$select5, _yield$select6, filterSet, appliedFilters, filtersToRemove, _iterator, _step, filter;
|
|
605
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee8$(_context9) {
|
|
606
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
607
|
+
case 0:
|
|
608
|
+
_context9.next = 2;
|
|
609
|
+
return (0, _effects.select)(function (state) {
|
|
610
|
+
return [state.getIn(['tables', tableKey, 'filterSet']), state.getIn(['tables', tableKey, 'appliedFilters'])];
|
|
611
|
+
});
|
|
612
|
+
case 2:
|
|
613
|
+
_yield$select5 = _context9.sent;
|
|
614
|
+
_yield$select6 = (0, _slicedToArray2["default"])(_yield$select5, 2);
|
|
615
|
+
filterSet = _yield$select6[0];
|
|
616
|
+
appliedFilters = _yield$select6[1];
|
|
617
|
+
// Determine filters that were removed
|
|
618
|
+
filtersToRemove = filters.filter(function (filter) {
|
|
619
|
+
return !filterSet.includes(filter);
|
|
620
|
+
}); // If any filters were removed from the set
|
|
621
|
+
if (!(filtersToRemove.length > 0)) {
|
|
622
|
+
_context9.next = 28;
|
|
623
|
+
break;
|
|
624
|
+
}
|
|
625
|
+
_iterator = (0, _createForOfIteratorHelper2["default"])(filtersToRemove);
|
|
626
|
+
_context9.prev = 9;
|
|
627
|
+
_iterator.s();
|
|
628
|
+
case 11:
|
|
629
|
+
if ((_step = _iterator.n()).done) {
|
|
630
|
+
_context9.next = 17;
|
|
631
|
+
break;
|
|
632
|
+
}
|
|
633
|
+
filter = _step.value;
|
|
634
|
+
_context9.next = 15;
|
|
635
|
+
return (0, _effects.call)(_Form.setValue, filterFormKey(tableKey), filter, null);
|
|
636
|
+
case 15:
|
|
637
|
+
_context9.next = 11;
|
|
638
|
+
break;
|
|
639
|
+
case 17:
|
|
640
|
+
_context9.next = 22;
|
|
641
|
+
break;
|
|
642
|
+
case 19:
|
|
643
|
+
_context9.prev = 19;
|
|
644
|
+
_context9.t0 = _context9["catch"](9);
|
|
645
|
+
_iterator.e(_context9.t0);
|
|
646
|
+
case 22:
|
|
647
|
+
_context9.prev = 22;
|
|
648
|
+
_iterator.f();
|
|
649
|
+
return _context9.finish(22);
|
|
650
|
+
case 25:
|
|
651
|
+
if (!filtersToRemove.some(function (filter) {
|
|
652
|
+
return appliedFilters.get(filter);
|
|
653
|
+
})) {
|
|
654
|
+
_context9.next = 28;
|
|
655
|
+
break;
|
|
656
|
+
}
|
|
657
|
+
_context9.next = 28;
|
|
658
|
+
return (0, _effects.call)(_.submitForm, filterFormKey(tableKey), {
|
|
659
|
+
fieldSet: filterSet
|
|
660
|
+
});
|
|
661
|
+
case 28:
|
|
662
|
+
case "end":
|
|
663
|
+
return _context9.stop();
|
|
664
|
+
}
|
|
665
|
+
}, _callee8, null, [[9, 19, 22, 25]]);
|
|
666
|
+
})();
|
|
667
|
+
}));
|
|
474
668
|
var operations = exports.operations = (0, _immutable.Map)({
|
|
475
669
|
includes: function includes(cv, v) {
|
|
476
670
|
return cv.toLocaleLowerCase().includes(v.toLocaleLowerCase());
|
|
@@ -587,8 +781,9 @@ var transformData = function transformData(data, tableData) {
|
|
|
587
781
|
var calculateRows = function calculateRows(tableData) {
|
|
588
782
|
var dataSource = getDataSource(tableData);
|
|
589
783
|
if (isClientSide(tableData)) {
|
|
590
|
-
var data =
|
|
591
|
-
var
|
|
784
|
+
var data = tableData.get('data');
|
|
785
|
+
var transformedRows = transformData(data, tableData);
|
|
786
|
+
var rows = applyClientSideFilters(tableData, transformedRows);
|
|
592
787
|
return Promise.resolve({
|
|
593
788
|
rows: rows,
|
|
594
789
|
data: data,
|
|
@@ -652,8 +847,37 @@ var refetchTable = exports.refetchTable = function refetchTable(tableKey) {
|
|
|
652
847
|
tableKey: tableKey
|
|
653
848
|
});
|
|
654
849
|
};
|
|
850
|
+
var reloadTablePage = exports.reloadTablePage = function reloadTablePage(tableKey) {
|
|
851
|
+
return (0, _store.dispatch)('RELOAD_PAGE', {
|
|
852
|
+
tableKey: tableKey
|
|
853
|
+
});
|
|
854
|
+
};
|
|
655
855
|
var clearFilters = exports.clearFilters = function clearFilters(tableKey) {
|
|
656
856
|
return (0, _store.dispatch)('CLEAR_TABLE_FILTERS', {
|
|
657
857
|
tableKey: tableKey
|
|
658
858
|
});
|
|
859
|
+
};
|
|
860
|
+
var resetFilterForm = exports.resetFilterForm = function resetFilterForm(tableKey) {
|
|
861
|
+
return (0, _store.dispatch)('APPLY_FILTER_FORM', {
|
|
862
|
+
tableKey: tableKey,
|
|
863
|
+
appliedFilters: (0, _immutable.Map)()
|
|
864
|
+
});
|
|
865
|
+
};
|
|
866
|
+
var toggleFilterField = exports.toggleFilterField = function toggleFilterField(tableKey) {
|
|
867
|
+
for (var _len = arguments.length, filters = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
868
|
+
filters[_key - 1] = arguments[_key];
|
|
869
|
+
}
|
|
870
|
+
return (0, _store.dispatch)('TOGGLE_FILTER', {
|
|
871
|
+
tableKey: tableKey,
|
|
872
|
+
filters: filters
|
|
873
|
+
});
|
|
874
|
+
};
|
|
875
|
+
var hasTableFiltersApplied = exports.hasTableFiltersApplied = function hasTableFiltersApplied(tableKey) {
|
|
876
|
+
var _store$getState$getIn, _store$getState$getIn2;
|
|
877
|
+
return ((_store$getState$getIn = _store.store.getState().getIn(['tables', tableKey, 'appliedFilters'])) === null || _store$getState$getIn === void 0 ? void 0 : (_store$getState$getIn2 = _store$getState$getIn.filter(Boolean)) === null || _store$getState$getIn2 === void 0 ? void 0 : _store$getState$getIn2.size) > 0;
|
|
878
|
+
};
|
|
879
|
+
var findTableKey = exports.findTableKey = function findTableKey(fn) {
|
|
880
|
+
return _store.store.getState().get('tables').keySeq().toList().find(fn || function () {
|
|
881
|
+
return true;
|
|
882
|
+
});
|
|
659
883
|
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault")["default"];
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var FilterControl = function FilterControl(_ref) {
|
|
10
|
+
var filterFields = _ref.filterFields;
|
|
11
|
+
return /*#__PURE__*/_react["default"].createElement("div", null, filterFields === null || filterFields === void 0 ? void 0 : filterFields.map(function (field) {
|
|
12
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
13
|
+
className: "field"
|
|
14
|
+
}, /*#__PURE__*/_react["default"].createElement("input", {
|
|
15
|
+
type: "checkbox",
|
|
16
|
+
id: "filter-toggle-".concat(field.get('name')),
|
|
17
|
+
checked: field.get('checked'),
|
|
18
|
+
onChange: field.get('toggle')
|
|
19
|
+
}), /*#__PURE__*/_react["default"].createElement("label", {
|
|
20
|
+
htmlFor: "filter-toggle-".concat(field.get('name'))
|
|
21
|
+
}, field.get('label')));
|
|
22
|
+
}));
|
|
23
|
+
};
|
|
24
|
+
var _default = exports["default"] = FilterControl;
|
|
@@ -17,6 +17,7 @@ var _BodyCell = _interopRequireDefault(require("./BodyCell"));
|
|
|
17
17
|
var _Footer = _interopRequireDefault(require("./Footer"));
|
|
18
18
|
var _FooterRow = _interopRequireDefault(require("./FooterRow"));
|
|
19
19
|
var _FooterCell = _interopRequireDefault(require("./FooterCell"));
|
|
20
|
+
var _FilterControl = _interopRequireDefault(require("./FilterControl"));
|
|
20
21
|
var _FilterLayout = _interopRequireDefault(require("./FilterLayout"));
|
|
21
22
|
var _BooleanFilter = _interopRequireDefault(require("./BooleanFilter"));
|
|
22
23
|
var _TextFilter = _interopRequireDefault(require("./TextFilter"));
|
|
@@ -34,6 +35,7 @@ var DefaultTableConfig = exports.DefaultTableConfig = (0, _immutable.Map)({
|
|
|
34
35
|
Footer: _Footer["default"],
|
|
35
36
|
FooterRow: _FooterRow["default"],
|
|
36
37
|
FooterCell: _FooterCell["default"],
|
|
38
|
+
FilterControl: _FilterControl["default"],
|
|
37
39
|
FilterLayout: _FilterLayout["default"],
|
|
38
40
|
TextFilter: _TextFilter["default"],
|
|
39
41
|
BooleanFilter: _BooleanFilter["default"],
|
|
@@ -91,28 +91,28 @@ var getByTestId = function getByTestId(json, id) {
|
|
|
91
91
|
return undefined;
|
|
92
92
|
};
|
|
93
93
|
|
|
94
|
-
/*
|
|
95
|
-
|
|
96
|
-
* Repeat for: server-side, server-side w/client sort and paginate, client-side
|
|
97
|
-
* test sorting by column
|
|
98
|
-
* test sorting changing direction
|
|
99
|
-
* test default sort parameters
|
|
100
|
-
|
|
101
|
-
* test pure-client-side (data prop passed)
|
|
102
|
-
|
|
103
|
-
* test overriding default components for whole table
|
|
104
|
-
* test altering columns
|
|
105
|
-
** changing component
|
|
106
|
-
** What else *can* be changed???
|
|
107
|
-
* test adding columns
|
|
108
|
-
* test valueTransform
|
|
109
|
-
* test columnSet
|
|
110
|
-
* test pageSize
|
|
111
|
-
* test sortable
|
|
112
|
-
* test omit header
|
|
113
|
-
* test include footer
|
|
114
|
-
|
|
115
|
-
|
|
94
|
+
/*
|
|
95
|
+
|
|
96
|
+
* Repeat for: server-side, server-side w/client sort and paginate, client-side
|
|
97
|
+
* test sorting by column
|
|
98
|
+
* test sorting changing direction
|
|
99
|
+
* test default sort parameters
|
|
100
|
+
|
|
101
|
+
* test pure-client-side (data prop passed)
|
|
102
|
+
|
|
103
|
+
* test overriding default components for whole table
|
|
104
|
+
* test altering columns
|
|
105
|
+
** changing component
|
|
106
|
+
** What else *can* be changed???
|
|
107
|
+
* test adding columns
|
|
108
|
+
* test valueTransform
|
|
109
|
+
* test columnSet
|
|
110
|
+
* test pageSize
|
|
111
|
+
* test sortable
|
|
112
|
+
* test omit header
|
|
113
|
+
* test include footer
|
|
114
|
+
|
|
115
|
+
|
|
116
116
|
*/
|
|
117
117
|
|
|
118
118
|
describe('<Table />', function () {
|