@kineticdata/react 6.0.5 → 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 +64 -6
- 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/integrations.js +61 -0
- 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 +114 -15
- 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 +30 -5
- package/lib/apis/index.js +48 -0
- package/lib/apis/integrator/index.js +337 -0
- package/lib/apis/system/index.js +64 -12
- package/lib/apis/task/index.js +9 -2
- package/lib/components/agent/filestore/FilestoreForm.js +1 -1
- package/lib/components/common/AttributeSelect.js +11 -2
- package/lib/components/common/BridgeSelect.js +3 -1
- package/lib/components/common/ConnectionSelect.js +73 -0
- package/lib/components/common/FormSelect.js +3 -1
- package/lib/components/common/NodeSelect.js +1 -0
- package/lib/components/common/StaticSelect.js +16 -6
- package/lib/components/common/TableInput.js +4 -1
- package/lib/components/common/TeamSelect.js +3 -1
- package/lib/components/common/ToastContainer.js +34 -10
- package/lib/components/common/Typeahead.js +62 -23
- package/lib/components/common/UserSelect.js +3 -1
- package/lib/components/common/authentication/AuthenticationContainer.js +121 -55
- package/lib/components/common/authentication/RequestInterceptor.js +1 -1
- package/lib/components/common/preferences/PreferencesProvider.js +461 -0
- package/lib/components/core/attribute_definition/AttributeDefinitionForm.js +10 -7
- package/lib/components/core/bridge_model/BridgeModelTable.js +19 -0
- package/lib/components/core/bridge_model_attribute/BridgeModelAttributeForm.js +6 -9
- package/lib/components/core/bridge_model_attribute/BridgeModelAttributeTable.js +0 -4
- package/lib/components/core/bridge_model_qualification/BridgeModelQualificationForm.js +7 -10
- package/lib/components/core/bridge_model_qualification/BridgeModelQualificationTable.js +2 -15
- package/lib/components/core/category/CategoryForm.js +4 -1
- package/lib/components/core/category/CategoryTable.js +2 -2
- package/lib/components/core/core_form/CoreForm.js +18 -10
- package/lib/components/core/field_definition/FieldDefinitionForm.js +3 -3
- package/lib/components/core/file_resource/FileResourceForm.js +2 -1
- package/lib/components/core/file_resource/FileResourceTable.js +14 -7
- package/lib/components/core/form/FormForm.js +42 -19
- package/lib/components/core/form/FormTable.js +13 -14
- package/lib/components/core/form_type/FormTypeForm.js +3 -0
- package/lib/components/core/i18n/Moment.js +1 -0
- package/lib/components/core/integration/IntegrationForm.js +232 -0
- package/lib/components/core/integration/IntegrationTable.js +142 -0
- package/lib/components/core/kapp/KappForm.js +18 -5
- package/lib/components/core/kapp/KappTable.js +3 -3
- package/lib/components/core/log/LogTable.js +1 -1
- package/lib/components/core/security_definition/SecurityDefinitionForm.js +48 -10
- package/lib/components/core/space/SpaceForm.js +17 -36
- package/lib/components/core/submission/DatastoreSubmissionTable.js +4 -4
- package/lib/components/core/submission/FormSubmissionTable.js +12 -7
- package/lib/components/core/submission/KappSubmissionTable.js +4 -4
- package/lib/components/core/submission/SubmissionActivityForm.js +79 -0
- package/lib/components/core/submission/SubmissionForm.js +15 -3
- package/lib/components/core/team/TeamTable.js +17 -7
- 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 +22 -22
- package/lib/components/core/webapi/WebApiForm.js +5 -2
- package/lib/components/core/webapi/WebApiTable.js +2 -2
- package/lib/components/core/webhook/WebhookForm.js +43 -33
- package/lib/components/core/webhook/WebhookTable.js +16 -16
- package/lib/components/core/webhook_job/WebhookJobTable.js +17 -6
- package/lib/components/form/Form.helpers.js +10 -4
- package/lib/components/form/Form.js +264 -171
- package/lib/components/form/Form.models.js +6 -1
- package/lib/components/form/FormState.js +9 -5
- package/lib/components/form/SimpleForm.js +2 -2
- package/lib/components/form/defaults/CodeField.js +44 -1
- package/lib/components/index.js +152 -3
- package/lib/components/integrator/connection/ConnectionForm.js +156 -0
- package/lib/components/integrator/connection/ConnectionTable.js +82 -0
- package/lib/components/integrator/connection/config_fields/http.js +570 -0
- package/lib/components/integrator/connection/config_fields/sql.js +123 -0
- package/lib/components/integrator/integrationTypes.js +120 -0
- package/lib/components/integrator/operation/OperationForm.js +148 -0
- package/lib/components/integrator/operation/OperationTable.js +62 -0
- package/lib/components/integrator/operation/config_fields/http.js +185 -0
- package/lib/components/integrator/operation/config_fields/sql.js +81 -0
- package/lib/components/system/SystemSecurityForm.js +1 -1
- package/lib/components/system/SystemTaskAdapterForm.js +9 -9
- package/lib/components/system/SystemUserForm.js +2 -0
- package/lib/components/system/helpers.js +123 -100
- package/lib/components/system/spaces/SystemSpaceForm.js +9 -37
- package/lib/components/system/spaces/SystemTenantForm.js +276 -104
- package/lib/components/system/spaces/SystemTenantMigrateForm.js +449 -0
- package/lib/components/system/spaces/SystemTenantTable.js +20 -16
- package/lib/components/table/Table.js +75 -15
- package/lib/components/table/Table.redux.js +297 -73
- 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/ConnectorForm.js +11 -7
- package/lib/components/task/builder/Node.js +31 -35
- package/lib/components/task/builder/NodeForm.js +93 -22
- package/lib/components/task/builder/NodeParametersForm.js +29 -17
- package/lib/components/task/builder/SvgCanvas.js +3 -17
- package/lib/components/task/builder/TaskDefinitionConfigForm.js +18 -50
- package/lib/components/task/builder/TreeBuilder.js +23 -3
- package/lib/components/task/builder/builder.redux.js +342 -197
- package/lib/components/task/builder/constants.js +10 -2
- package/lib/components/task/builder/helpers.js +231 -81
- package/lib/components/task/builder/models.js +7 -6
- package/lib/components/task/category/TaskCategoryTable.js +3 -3
- package/lib/components/task/common/UsageTable.js +9 -2
- package/lib/components/task/handlers/HandlerTable.js +44 -37
- package/lib/components/task/policy_rule/PolicyRuleTable.js +3 -3
- package/lib/components/task/runs/CreateManualTriggerForm.js +2 -0
- package/lib/components/task/runs/RunTable.js +10 -14
- package/lib/components/task/runs/RunTaskTable.js +1 -1
- package/lib/components/task/sources/SourceTable.js +2 -2
- package/lib/components/task/triggers/TriggerTable.js +2 -2
- package/lib/components/task/workflows/LinkedWorkflowTable.js +16 -11
- package/lib/components/task/workflows/WorkflowForm.js +27 -8
- package/lib/components/task/workflows/WorkflowTable.js +27 -26
- package/lib/helpers/index.js +307 -74
- package/lib/index.js +2 -1
- package/lib/saga.js +4 -4
- package/lib/store.js +2 -1
- package/package.json +7 -6
- package/proxyhelper.js +201 -176
- package/CHANGELOG.md +0 -94
|
@@ -6,7 +6,7 @@ var _regeneratorRuntime3 = require("@babel/runtime/helpers/regeneratorRuntime")[
|
|
|
6
6
|
Object.defineProperty(exports, "__esModule", {
|
|
7
7
|
value: true
|
|
8
8
|
});
|
|
9
|
-
exports.validateField = exports.unmountForm = exports.toggleMultiValue = exports.submitForm = exports.setValue = exports.serializeForm = exports.resetForm = exports.reloadDataSource = exports.onSubmit = exports.onReset = exports.onFocus = exports.onChange = exports.onBlur = exports.mountForm = exports.mapStateToProps = exports.isEmpty = exports.getTimestamp = exports.generateForm = exports.evaluateFieldProps = exports.configureForm = exports.clearError = exports.checkRequired = exports.checkPattern = exports.checkConstraint = exports.Form = void 0;
|
|
9
|
+
exports.validateForm = exports.validateField = exports.unmountForm = exports.toggleMultiValue = exports.submitForm = exports.setValue = exports.serializeForm = exports.resetForm = exports.reloadDataSources = exports.reloadDataSource = exports.onSubmit = exports.onReset = exports.onFocus = exports.onChange = exports.onBlur = exports.mountForm = exports.mapStateToProps = exports.isEmpty = exports.getTimestamp = exports.generateForm = exports.evaluateFieldProps = exports.configureForm = exports.clearError = exports.checkRequired = exports.checkPattern = exports.checkConstraint = exports.Form = void 0;
|
|
10
10
|
var _objectWithoutProperties2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/objectWithoutProperties"));
|
|
11
11
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/classCallCheck"));
|
|
12
12
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/createClass"));
|
|
@@ -100,7 +100,7 @@ var initializeFields = function initializeFields(formState) {
|
|
|
100
100
|
};
|
|
101
101
|
var buildBindings = function buildBindings(formState) {
|
|
102
102
|
return formState.set('bindings', formState.dataSources.filter(function (dataSource) {
|
|
103
|
-
return
|
|
103
|
+
return [_Form.DATA_SOURCE_STATUS.RESOLVED, _Form.DATA_SOURCE_STATUS.PENDING_RELOAD].includes(dataSource.status);
|
|
104
104
|
}).map(function (dataSource) {
|
|
105
105
|
return dataSource.data;
|
|
106
106
|
}).merge(formState.fields ? {
|
|
@@ -146,7 +146,7 @@ var digest = function digest(formState) {
|
|
|
146
146
|
value = _ref4$payload.value;
|
|
147
147
|
return state.updateIn(['forms', formKey, 'fields', name], function (field) {
|
|
148
148
|
return field.merge({
|
|
149
|
-
value: value || _Form.FIELD_DEFAULT_VALUES.get(field.type, ''),
|
|
149
|
+
value: field.type === 'number' ? typeof value === 'number' ? value : '' : value || _Form.FIELD_DEFAULT_VALUES.get(field.type, ''),
|
|
150
150
|
touched: true,
|
|
151
151
|
dirty: !(0, _immutable.is)(value, field.initialValue)
|
|
152
152
|
});
|
|
@@ -186,18 +186,20 @@ var digest = function digest(formState) {
|
|
|
186
186
|
var _ref8$payload = _ref8.payload,
|
|
187
187
|
formKey = _ref8$payload.formKey,
|
|
188
188
|
name = _ref8$payload.name;
|
|
189
|
-
return state.
|
|
190
|
-
status: _Form.DATA_SOURCE_STATUS.PENDING
|
|
189
|
+
return state.updateIn(['forms', formKey, 'dataSources', name, 'status'], function (status) {
|
|
190
|
+
return status === _Form.DATA_SOURCE_STATUS.RESOLVED ? _Form.DATA_SOURCE_STATUS.PENDING_RELOAD : _Form.DATA_SOURCE_STATUS.PENDING;
|
|
191
191
|
});
|
|
192
192
|
},
|
|
193
193
|
RESOLVE_DATA_SOURCE: function RESOLVE_DATA_SOURCE(state, _ref9) {
|
|
194
194
|
var _ref9$payload = _ref9.payload,
|
|
195
195
|
formKey = _ref9$payload.formKey,
|
|
196
196
|
name = _ref9$payload.name,
|
|
197
|
-
data = _ref9$payload.data
|
|
197
|
+
data = _ref9$payload.data,
|
|
198
|
+
error = _ref9$payload.error;
|
|
198
199
|
return state.updateIn(['forms', formKey, 'dataSources', name], function (dataSource) {
|
|
199
200
|
return dataSource && dataSource.merge({
|
|
200
201
|
data: (0, _immutable.fromJS)(data),
|
|
202
|
+
error: error,
|
|
201
203
|
status: _Form.DATA_SOURCE_STATUS.RESOLVED
|
|
202
204
|
});
|
|
203
205
|
}).updateIn(['forms', formKey], digest);
|
|
@@ -239,6 +241,16 @@ var digest = function digest(formState) {
|
|
|
239
241
|
return fieldNames.includes(field.name) ? field.set('touched', true) : field;
|
|
240
242
|
});
|
|
241
243
|
});
|
|
244
|
+
},
|
|
245
|
+
VALIDATION_FIELD_ERRORS: function VALIDATION_FIELD_ERRORS(state, _ref16) {
|
|
246
|
+
var _ref16$payload = _ref16.payload,
|
|
247
|
+
formKey = _ref16$payload.formKey,
|
|
248
|
+
fieldNames = _ref16$payload.fieldNames;
|
|
249
|
+
return state.updateIn(['forms', formKey, 'fields'], function (fields) {
|
|
250
|
+
return fields.map(function (field) {
|
|
251
|
+
return fieldNames.includes(field.name) ? field.set('touched', true) : field;
|
|
252
|
+
});
|
|
253
|
+
});
|
|
242
254
|
}
|
|
243
255
|
});
|
|
244
256
|
var selectForm = function selectForm(formKey) {
|
|
@@ -258,8 +270,8 @@ var selectDataSource = function selectDataSource(formKey, name) {
|
|
|
258
270
|
case 0:
|
|
259
271
|
checkActions = ['CONFIGURE_FORM', 'RESOLVE_DATA_SOURCE'];
|
|
260
272
|
_context2.next = 3;
|
|
261
|
-
return (0, _effects.takeEvery)(checkActions, function (
|
|
262
|
-
var formKey =
|
|
273
|
+
return (0, _effects.takeEvery)(checkActions, function (_ref17) {
|
|
274
|
+
var formKey = _ref17.payload.formKey;
|
|
263
275
|
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee() {
|
|
264
276
|
var formState;
|
|
265
277
|
return (0, _regeneratorRuntime2["default"])().wrap(function _callee$(_context) {
|
|
@@ -317,6 +329,32 @@ var selectDataSource = function selectDataSource(formKey, name) {
|
|
|
317
329
|
}
|
|
318
330
|
}, _callee3);
|
|
319
331
|
})));
|
|
332
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('RELOAD_DATA_SOURCES', /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee4(action) {
|
|
333
|
+
var _action$payload, formKey, dataSourceNames, formState;
|
|
334
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee4$(_context4) {
|
|
335
|
+
while (1) switch (_context4.prev = _context4.next) {
|
|
336
|
+
case 0:
|
|
337
|
+
_action$payload = action.payload, formKey = _action$payload.formKey, dataSourceNames = _action$payload.dataSourceNames;
|
|
338
|
+
_context4.next = 3;
|
|
339
|
+
return (0, _effects.select)(selectForm(formKey));
|
|
340
|
+
case 3:
|
|
341
|
+
formState = _context4.sent;
|
|
342
|
+
if (!(formState !== null && formState !== void 0 && formState.dataSources)) {
|
|
343
|
+
_context4.next = 7;
|
|
344
|
+
break;
|
|
345
|
+
}
|
|
346
|
+
_context4.next = 7;
|
|
347
|
+
return (0, _effects.all)(formState.dataSources.filter(function (ds, name) {
|
|
348
|
+
return !(dataSourceNames !== null && dataSourceNames !== void 0 && dataSourceNames.length) || dataSourceNames.includes(name);
|
|
349
|
+
}).map(function (ds, name) {
|
|
350
|
+
return (0, _effects.fork)(runDataSource, formKey, name, ds);
|
|
351
|
+
}).valueSeq().toArray());
|
|
352
|
+
case 7:
|
|
353
|
+
case "end":
|
|
354
|
+
return _context4.stop();
|
|
355
|
+
}
|
|
356
|
+
}, _callee4);
|
|
357
|
+
})));
|
|
320
358
|
|
|
321
359
|
// Create a process that represents a datasource, it listens for form events
|
|
322
360
|
// and checks to see if its parameters have changed, if it detects parameter
|
|
@@ -324,16 +362,16 @@ var selectDataSource = function selectDataSource(formKey, name) {
|
|
|
324
362
|
// listens for a UNMOUNT_FORM action to end the while-loop.
|
|
325
363
|
function runDataSource(formKey, name, dataSource) {
|
|
326
364
|
var params, paramsFn, prevParams, _yield$race, _yield$race2, checkAction, unmountAction, formState, _params, nextParams;
|
|
327
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function runDataSource$(
|
|
328
|
-
while (1) switch (
|
|
365
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function runDataSource$(_context5) {
|
|
366
|
+
while (1) switch (_context5.prev = _context5.next) {
|
|
329
367
|
case 0:
|
|
330
368
|
params = dataSource.params, paramsFn = dataSource.paramsFn;
|
|
331
369
|
prevParams = (0, _immutable.fromJS)(params);
|
|
332
370
|
if (!params) {
|
|
333
|
-
|
|
371
|
+
_context5.next = 5;
|
|
334
372
|
break;
|
|
335
373
|
}
|
|
336
|
-
|
|
374
|
+
_context5.next = 5;
|
|
337
375
|
return (0, _effects.put)((0, _store.action)('CALL_DATA_SOURCE', {
|
|
338
376
|
formKey: formKey,
|
|
339
377
|
name: name,
|
|
@@ -341,43 +379,43 @@ function runDataSource(formKey, name, dataSource) {
|
|
|
341
379
|
}));
|
|
342
380
|
case 5:
|
|
343
381
|
if (!paramsFn) {
|
|
344
|
-
|
|
382
|
+
_context5.next = 29;
|
|
345
383
|
break;
|
|
346
384
|
}
|
|
347
385
|
case 6:
|
|
348
386
|
if (!true) {
|
|
349
|
-
|
|
387
|
+
_context5.next = 29;
|
|
350
388
|
break;
|
|
351
389
|
}
|
|
352
|
-
|
|
353
|
-
return (0, _effects.race)([(0, _effects.take)(['CONFIGURE_FORM', 'REJECT_DATA_SOURCE', 'RESET', 'RESOLVE_DATA_SOURCE', 'SET_VALUE', 'TOGGLE_MULTI_VALUE', 'SUBMIT_SUCCESS']), (0, _effects.take)('UNMOUNT_FORM')]);
|
|
390
|
+
_context5.next = 9;
|
|
391
|
+
return (0, _effects.race)([(0, _effects.take)(['CONFIGURE_FORM', 'RELOAD_DATA_SOURCES', 'REJECT_DATA_SOURCE', 'RESET', 'RESOLVE_DATA_SOURCE', 'SET_VALUE', 'TOGGLE_MULTI_VALUE', 'SUBMIT_SUCCESS']), (0, _effects.take)('UNMOUNT_FORM')]);
|
|
354
392
|
case 9:
|
|
355
|
-
_yield$race =
|
|
393
|
+
_yield$race = _context5.sent;
|
|
356
394
|
_yield$race2 = (0, _slicedToArray2["default"])(_yield$race, 2);
|
|
357
395
|
checkAction = _yield$race2[0];
|
|
358
396
|
unmountAction = _yield$race2[1];
|
|
359
397
|
if (!(unmountAction && unmountAction.payload.formKey === formKey)) {
|
|
360
|
-
|
|
398
|
+
_context5.next = 17;
|
|
361
399
|
break;
|
|
362
400
|
}
|
|
363
|
-
return
|
|
401
|
+
return _context5.abrupt("break", 29);
|
|
364
402
|
case 17:
|
|
365
403
|
if (!(checkAction && checkAction.payload.formKey === formKey)) {
|
|
366
|
-
|
|
404
|
+
_context5.next = 27;
|
|
367
405
|
break;
|
|
368
406
|
}
|
|
369
|
-
|
|
407
|
+
_context5.next = 20;
|
|
370
408
|
return (0, _effects.select)(selectForm(formKey));
|
|
371
409
|
case 20:
|
|
372
|
-
formState =
|
|
410
|
+
formState = _context5.sent;
|
|
373
411
|
_params = formState.getIn(['dataSources', name, 'params']);
|
|
374
412
|
nextParams = (0, _immutable.fromJS)(_params);
|
|
375
413
|
if ((0, _immutable.is)(nextParams, prevParams)) {
|
|
376
|
-
|
|
414
|
+
_context5.next = 27;
|
|
377
415
|
break;
|
|
378
416
|
}
|
|
379
417
|
prevParams = nextParams;
|
|
380
|
-
|
|
418
|
+
_context5.next = 27;
|
|
381
419
|
return (0, _effects.put)(_params ? (0, _store.action)('CALL_DATA_SOURCE', {
|
|
382
420
|
formKey: formKey,
|
|
383
421
|
name: name,
|
|
@@ -389,143 +427,146 @@ function runDataSource(formKey, name, dataSource) {
|
|
|
389
427
|
timestamp: null
|
|
390
428
|
}));
|
|
391
429
|
case 27:
|
|
392
|
-
|
|
430
|
+
_context5.next = 6;
|
|
393
431
|
break;
|
|
394
432
|
case 29:
|
|
395
433
|
case "end":
|
|
396
|
-
return
|
|
434
|
+
return _context5.stop();
|
|
397
435
|
}
|
|
398
436
|
}, _marked);
|
|
399
437
|
}
|
|
400
|
-
(0, _store.regSaga)((0, _effects.takeEvery)('CALL_DATA_SOURCE', function (
|
|
401
|
-
var
|
|
402
|
-
formKey =
|
|
403
|
-
name =
|
|
404
|
-
params =
|
|
405
|
-
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function
|
|
406
|
-
var _yield$select2, fn, transform, data, timestamp;
|
|
407
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function
|
|
408
|
-
while (1) switch (
|
|
438
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('CALL_DATA_SOURCE', function (_ref18) {
|
|
439
|
+
var _ref18$payload = _ref18.payload,
|
|
440
|
+
formKey = _ref18$payload.formKey,
|
|
441
|
+
name = _ref18$payload.name,
|
|
442
|
+
params = _ref18$payload.params;
|
|
443
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee5() {
|
|
444
|
+
var _yield$select2, fn, transform, errorTransform, data, timestamp;
|
|
445
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee5$(_context6) {
|
|
446
|
+
while (1) switch (_context6.prev = _context6.next) {
|
|
409
447
|
case 0:
|
|
410
|
-
|
|
411
|
-
|
|
448
|
+
_context6.prev = 0;
|
|
449
|
+
_context6.next = 3;
|
|
412
450
|
return (0, _effects.select)(selectDataSource(formKey, name));
|
|
413
451
|
case 3:
|
|
414
|
-
_yield$select2 =
|
|
452
|
+
_yield$select2 = _context6.sent;
|
|
415
453
|
fn = _yield$select2.fn;
|
|
416
454
|
transform = _yield$select2.transform;
|
|
417
|
-
|
|
455
|
+
errorTransform = _yield$select2.errorTransform;
|
|
456
|
+
_context6.next = 9;
|
|
418
457
|
return _effects.call.apply(void 0, [fn].concat((0, _toConsumableArray2["default"])(params)));
|
|
419
|
-
case
|
|
420
|
-
data =
|
|
421
|
-
|
|
458
|
+
case 9:
|
|
459
|
+
data = _context6.sent;
|
|
460
|
+
_context6.next = 12;
|
|
422
461
|
return (0, _effects.call)(getTimestamp);
|
|
423
|
-
case
|
|
424
|
-
timestamp =
|
|
425
|
-
|
|
462
|
+
case 12:
|
|
463
|
+
timestamp = _context6.sent;
|
|
464
|
+
_context6.next = 15;
|
|
426
465
|
return (0, _effects.put)((0, _store.action)('RESOLVE_DATA_SOURCE', {
|
|
427
466
|
formKey: formKey,
|
|
428
467
|
name: name,
|
|
429
468
|
data: transform ? transform(data) : data,
|
|
469
|
+
error: errorTransform ? errorTransform(data) : null,
|
|
430
470
|
timestamp: timestamp
|
|
431
471
|
}));
|
|
432
|
-
case
|
|
433
|
-
|
|
472
|
+
case 15:
|
|
473
|
+
_context6.next = 20;
|
|
434
474
|
break;
|
|
435
|
-
case
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
console.error(
|
|
439
|
-
case
|
|
475
|
+
case 17:
|
|
476
|
+
_context6.prev = 17;
|
|
477
|
+
_context6.t0 = _context6["catch"](0);
|
|
478
|
+
console.error(_context6.t0);
|
|
479
|
+
case 20:
|
|
440
480
|
case "end":
|
|
441
|
-
return
|
|
481
|
+
return _context6.stop();
|
|
442
482
|
}
|
|
443
|
-
},
|
|
483
|
+
}, _callee5, null, [[0, 17]]);
|
|
444
484
|
})();
|
|
445
485
|
}));
|
|
446
|
-
(0, _store.regSaga)('HANDLE_SET_VALUE', /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function
|
|
447
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function
|
|
448
|
-
while (1) switch (
|
|
486
|
+
(0, _store.regSaga)('HANDLE_SET_VALUE', /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee7() {
|
|
487
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee7$(_context8) {
|
|
488
|
+
while (1) switch (_context8.prev = _context8.next) {
|
|
449
489
|
case 0:
|
|
450
|
-
|
|
451
|
-
return (0, _effects.takeEvery)(['SET_VALUE', 'TOGGLE_MULTI_VALUE'], function (
|
|
452
|
-
var
|
|
453
|
-
formKey =
|
|
454
|
-
name =
|
|
455
|
-
triggerChange =
|
|
456
|
-
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function
|
|
490
|
+
_context8.next = 2;
|
|
491
|
+
return (0, _effects.takeEvery)(['SET_VALUE', 'TOGGLE_MULTI_VALUE'], function (_ref19) {
|
|
492
|
+
var _ref19$payload = _ref19.payload,
|
|
493
|
+
formKey = _ref19$payload.formKey,
|
|
494
|
+
name = _ref19$payload.name,
|
|
495
|
+
triggerChange = _ref19$payload.triggerChange;
|
|
496
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee6() {
|
|
457
497
|
var _yield$select3, bindings, fields, _fields$get, _onChange;
|
|
458
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function
|
|
459
|
-
while (1) switch (
|
|
498
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee6$(_context7) {
|
|
499
|
+
while (1) switch (_context7.prev = _context7.next) {
|
|
460
500
|
case 0:
|
|
461
|
-
|
|
501
|
+
_context7.prev = 0;
|
|
462
502
|
if (!triggerChange) {
|
|
463
|
-
|
|
503
|
+
_context7.next = 11;
|
|
464
504
|
break;
|
|
465
505
|
}
|
|
466
|
-
|
|
506
|
+
_context7.next = 4;
|
|
467
507
|
return (0, _effects.select)(selectForm(formKey));
|
|
468
508
|
case 4:
|
|
469
|
-
_yield$select3 =
|
|
509
|
+
_yield$select3 = _context7.sent;
|
|
470
510
|
bindings = _yield$select3.bindings;
|
|
471
511
|
fields = _yield$select3.fields;
|
|
472
512
|
_fields$get = fields.get(name), _onChange = _fields$get.onChange;
|
|
473
513
|
if (!_onChange) {
|
|
474
|
-
|
|
514
|
+
_context7.next = 11;
|
|
475
515
|
break;
|
|
476
516
|
}
|
|
477
|
-
|
|
517
|
+
_context7.next = 11;
|
|
478
518
|
return (0, _effects.call)(_onChange, bindings, bindActions(formKey));
|
|
479
519
|
case 11:
|
|
480
|
-
|
|
520
|
+
_context7.next = 16;
|
|
481
521
|
break;
|
|
482
522
|
case 13:
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
console.error(
|
|
523
|
+
_context7.prev = 13;
|
|
524
|
+
_context7.t0 = _context7["catch"](0);
|
|
525
|
+
console.error(_context7.t0);
|
|
486
526
|
case 16:
|
|
487
527
|
case "end":
|
|
488
|
-
return
|
|
528
|
+
return _context7.stop();
|
|
489
529
|
}
|
|
490
|
-
},
|
|
530
|
+
}, _callee6, null, [[0, 13]]);
|
|
491
531
|
})();
|
|
492
532
|
});
|
|
493
533
|
case 2:
|
|
494
534
|
case "end":
|
|
495
|
-
return
|
|
535
|
+
return _context8.stop();
|
|
496
536
|
}
|
|
497
|
-
},
|
|
537
|
+
}, _callee7);
|
|
498
538
|
}));
|
|
499
|
-
(0, _store.regSaga)((0, _effects.takeEvery)('REJECT_DATA_SOURCE', function (
|
|
500
|
-
var payload =
|
|
501
|
-
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function
|
|
502
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function
|
|
503
|
-
while (1) switch (
|
|
539
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('REJECT_DATA_SOURCE', function (_ref20) {
|
|
540
|
+
var payload = _ref20.payload;
|
|
541
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee8() {
|
|
542
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee8$(_context9) {
|
|
543
|
+
while (1) switch (_context9.prev = _context9.next) {
|
|
504
544
|
case 0:
|
|
505
|
-
|
|
545
|
+
_context9.next = 2;
|
|
506
546
|
return (0, _effects.call)(console.error, 'REJECT_DATA_SOURCE', payload);
|
|
507
547
|
case 2:
|
|
508
548
|
case "end":
|
|
509
|
-
return
|
|
549
|
+
return _context9.stop();
|
|
510
550
|
}
|
|
511
|
-
},
|
|
551
|
+
}, _callee8);
|
|
512
552
|
})();
|
|
513
553
|
}));
|
|
514
|
-
(0, _store.regSaga)((0, _effects.takeEvery)('SUBMIT', function (
|
|
515
|
-
var
|
|
516
|
-
formKey =
|
|
517
|
-
fieldSet =
|
|
518
|
-
onInvalid =
|
|
519
|
-
|
|
554
|
+
(0, _store.regSaga)((0, _effects.takeEvery)('SUBMIT', function (_ref21) {
|
|
555
|
+
var _ref21$payload = _ref21.payload,
|
|
556
|
+
formKey = _ref21$payload.formKey,
|
|
557
|
+
fieldSet = _ref21$payload.fieldSet,
|
|
558
|
+
onInvalid = _ref21$payload.onInvalid,
|
|
559
|
+
onSaveOverride = _ref21$payload.onSave;
|
|
560
|
+
return /*#__PURE__*/(0, _regeneratorRuntime2["default"])().mark(function _callee9() {
|
|
520
561
|
var _yield$select4, bindings, fields, _onSubmit, onSave, onError, computedFieldSet, values, errors, result;
|
|
521
|
-
return (0, _regeneratorRuntime2["default"])().wrap(function
|
|
522
|
-
while (1) switch (
|
|
562
|
+
return (0, _regeneratorRuntime2["default"])().wrap(function _callee9$(_context10) {
|
|
563
|
+
while (1) switch (_context10.prev = _context10.next) {
|
|
523
564
|
case 0:
|
|
524
|
-
|
|
525
|
-
|
|
565
|
+
_context10.prev = 0;
|
|
566
|
+
_context10.next = 3;
|
|
526
567
|
return (0, _effects.select)(selectForm(formKey));
|
|
527
568
|
case 3:
|
|
528
|
-
_yield$select4 =
|
|
569
|
+
_yield$select4 = _context10.sent;
|
|
529
570
|
bindings = _yield$select4.bindings;
|
|
530
571
|
fields = _yield$select4.fields;
|
|
531
572
|
_onSubmit = _yield$select4.onSubmit;
|
|
@@ -544,44 +585,44 @@ function runDataSource(formKey, name, dataSource) {
|
|
|
544
585
|
return !errors.isEmpty();
|
|
545
586
|
});
|
|
546
587
|
if (!errors.isEmpty()) {
|
|
547
|
-
|
|
588
|
+
_context10.next = 32;
|
|
548
589
|
break;
|
|
549
590
|
}
|
|
550
|
-
|
|
551
|
-
|
|
591
|
+
_context10.prev = 13;
|
|
592
|
+
_context10.next = 16;
|
|
552
593
|
return (0, _effects.call)(_onSubmit, values, bindings);
|
|
553
594
|
case 16:
|
|
554
|
-
result =
|
|
595
|
+
result = _context10.sent;
|
|
555
596
|
(0, _store.dispatch)('SUBMIT_SUCCESS', {
|
|
556
597
|
formKey: formKey
|
|
557
598
|
});
|
|
558
|
-
if (!onSave) {
|
|
559
|
-
|
|
599
|
+
if (!(onSaveOverride || onSave)) {
|
|
600
|
+
_context10.next = 21;
|
|
560
601
|
break;
|
|
561
602
|
}
|
|
562
|
-
|
|
563
|
-
return (0, _effects.call)(onSave, result);
|
|
603
|
+
_context10.next = 21;
|
|
604
|
+
return (0, _effects.call)(onSaveOverride || onSave, result);
|
|
564
605
|
case 21:
|
|
565
|
-
|
|
606
|
+
_context10.next = 30;
|
|
566
607
|
break;
|
|
567
608
|
case 23:
|
|
568
|
-
|
|
569
|
-
|
|
609
|
+
_context10.prev = 23;
|
|
610
|
+
_context10.t0 = _context10["catch"](13);
|
|
570
611
|
(0, _store.dispatch)('SUBMIT_ERROR', {
|
|
571
612
|
formKey: formKey,
|
|
572
|
-
error: typeof
|
|
613
|
+
error: typeof _context10.t0 === 'string' ? _context10.t0 : 'Unexpected error occurred'
|
|
573
614
|
});
|
|
574
|
-
if (typeof
|
|
575
|
-
console.error('Error handling form submit',
|
|
615
|
+
if (typeof _context10.t0 !== 'string') {
|
|
616
|
+
console.error('Error handling form submit', _context10.t0);
|
|
576
617
|
}
|
|
577
618
|
if (!onError) {
|
|
578
|
-
|
|
619
|
+
_context10.next = 30;
|
|
579
620
|
break;
|
|
580
621
|
}
|
|
581
|
-
|
|
582
|
-
return (0, _effects.call)(onError,
|
|
622
|
+
_context10.next = 30;
|
|
623
|
+
return (0, _effects.call)(onError, _context10.t0);
|
|
583
624
|
case 30:
|
|
584
|
-
|
|
625
|
+
_context10.next = 34;
|
|
585
626
|
break;
|
|
586
627
|
case 32:
|
|
587
628
|
(0, _store.dispatch)('SUBMIT_FIELD_ERRORS', {
|
|
@@ -592,17 +633,17 @@ function runDataSource(formKey, name, dataSource) {
|
|
|
592
633
|
onInvalid(errors);
|
|
593
634
|
}
|
|
594
635
|
case 34:
|
|
595
|
-
|
|
636
|
+
_context10.next = 39;
|
|
596
637
|
break;
|
|
597
638
|
case 36:
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
console.error(
|
|
639
|
+
_context10.prev = 36;
|
|
640
|
+
_context10.t1 = _context10["catch"](0);
|
|
641
|
+
console.error(_context10.t1);
|
|
601
642
|
case 39:
|
|
602
643
|
case "end":
|
|
603
|
-
return
|
|
644
|
+
return _context10.stop();
|
|
604
645
|
}
|
|
605
|
-
},
|
|
646
|
+
}, _callee9, null, [[0, 36], [13, 23]]);
|
|
606
647
|
})();
|
|
607
648
|
}));
|
|
608
649
|
var setValue = exports.setValue = function setValue(formKey, name, value) {
|
|
@@ -648,16 +689,16 @@ var actions = {
|
|
|
648
689
|
}
|
|
649
690
|
};
|
|
650
691
|
var bindActions = function bindActions(formKey) {
|
|
651
|
-
return Object.entries(actions).reduce(function (acc,
|
|
652
|
-
var
|
|
653
|
-
name =
|
|
654
|
-
fn =
|
|
692
|
+
return Object.entries(actions).reduce(function (acc, _ref22) {
|
|
693
|
+
var _ref23 = (0, _slicedToArray2["default"])(_ref22, 2),
|
|
694
|
+
name = _ref23[0],
|
|
695
|
+
fn = _ref23[1];
|
|
655
696
|
return (0, _objectSpread3["default"])((0, _objectSpread3["default"])({}, acc), {}, (0, _defineProperty2["default"])({}, name, fn(formKey)));
|
|
656
697
|
}, {});
|
|
657
698
|
};
|
|
658
|
-
var onFocus = exports.onFocus = function onFocus(
|
|
659
|
-
var formKey =
|
|
660
|
-
name =
|
|
699
|
+
var onFocus = exports.onFocus = function onFocus(_ref24) {
|
|
700
|
+
var formKey = _ref24.formKey,
|
|
701
|
+
name = _ref24.name;
|
|
661
702
|
return function () {
|
|
662
703
|
(0, _store.dispatch)('FOCUS_FIELD', {
|
|
663
704
|
formKey: formKey,
|
|
@@ -665,9 +706,9 @@ var onFocus = exports.onFocus = function onFocus(_ref23) {
|
|
|
665
706
|
});
|
|
666
707
|
};
|
|
667
708
|
};
|
|
668
|
-
var onBlur = exports.onBlur = function onBlur(
|
|
669
|
-
var formKey =
|
|
670
|
-
name =
|
|
709
|
+
var onBlur = exports.onBlur = function onBlur(_ref25) {
|
|
710
|
+
var formKey = _ref25.formKey,
|
|
711
|
+
name = _ref25.name;
|
|
671
712
|
return function () {
|
|
672
713
|
(0, _store.dispatch)('BLUR_FIELD', {
|
|
673
714
|
formKey: formKey,
|
|
@@ -676,10 +717,10 @@ var onBlur = exports.onBlur = function onBlur(_ref24) {
|
|
|
676
717
|
};
|
|
677
718
|
};
|
|
678
719
|
var LIST_VALUE_TYPES = ['checkbox-multi'];
|
|
679
|
-
var onChange = exports.onChange = function onChange(
|
|
680
|
-
var formKey =
|
|
681
|
-
type =
|
|
682
|
-
name =
|
|
720
|
+
var onChange = exports.onChange = function onChange(_ref26) {
|
|
721
|
+
var formKey = _ref26.formKey,
|
|
722
|
+
type = _ref26.type,
|
|
723
|
+
name = _ref26.name;
|
|
683
724
|
return function (event) {
|
|
684
725
|
var value;
|
|
685
726
|
if (type === 'checkbox' && event && event.target) {
|
|
@@ -740,6 +781,15 @@ var resetForm = exports.resetForm = function resetForm(formKey) {
|
|
|
740
781
|
formKey: formKey
|
|
741
782
|
});
|
|
742
783
|
};
|
|
784
|
+
var reloadDataSources = exports.reloadDataSources = function reloadDataSources(formKey) {
|
|
785
|
+
for (var _len = arguments.length, dataSourceNames = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
|
|
786
|
+
dataSourceNames[_key - 1] = arguments[_key];
|
|
787
|
+
}
|
|
788
|
+
return (0, _store.dispatch)('RELOAD_DATA_SOURCES', {
|
|
789
|
+
formKey: formKey,
|
|
790
|
+
dataSourceNames: dataSourceNames
|
|
791
|
+
});
|
|
792
|
+
};
|
|
743
793
|
var reloadDataSource = exports.reloadDataSource = function reloadDataSource(formKey, name) {
|
|
744
794
|
return (0, _store.dispatch)('CALL_DATA_SOURCE', {
|
|
745
795
|
formKey: formKey,
|
|
@@ -749,25 +799,27 @@ var reloadDataSource = exports.reloadDataSource = function reloadDataSource(form
|
|
|
749
799
|
var configureForm = exports.configureForm = function configureForm(config) {
|
|
750
800
|
return (0, _store.dispatch)('CONFIGURE_FORM', config);
|
|
751
801
|
};
|
|
752
|
-
var submitForm = exports.submitForm = function submitForm(formKey,
|
|
753
|
-
var fieldSet =
|
|
754
|
-
onInvalid =
|
|
755
|
-
values =
|
|
802
|
+
var submitForm = exports.submitForm = function submitForm(formKey, _ref27) {
|
|
803
|
+
var fieldSet = _ref27.fieldSet,
|
|
804
|
+
onInvalid = _ref27.onInvalid,
|
|
805
|
+
values = _ref27.values,
|
|
806
|
+
onSave = _ref27.onSave;
|
|
756
807
|
return (0, _store.dispatch)('SUBMIT', {
|
|
757
808
|
formKey: formKey,
|
|
758
809
|
fieldSet: fieldSet,
|
|
759
810
|
onInvalid: onInvalid,
|
|
760
|
-
values: values
|
|
811
|
+
values: values,
|
|
812
|
+
onSave: onSave
|
|
761
813
|
});
|
|
762
814
|
};
|
|
763
815
|
var serializeForm = exports.serializeForm = function serializeForm(formKey) {
|
|
764
|
-
var
|
|
765
|
-
fieldSet =
|
|
816
|
+
var _ref28 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
817
|
+
fieldSet = _ref28.fieldSet;
|
|
766
818
|
return serializeImpl(selectForm(formKey)(_store.store.getState()), fieldSet);
|
|
767
819
|
};
|
|
768
|
-
var serializeImpl = function serializeImpl(
|
|
769
|
-
var bindings =
|
|
770
|
-
fields =
|
|
820
|
+
var serializeImpl = function serializeImpl(_ref29, fieldSet) {
|
|
821
|
+
var bindings = _ref29.bindings,
|
|
822
|
+
fields = _ref29.fields;
|
|
771
823
|
var computedFieldSet = computeFieldSet(fields, fieldSet);
|
|
772
824
|
return fields.filter(function (field) {
|
|
773
825
|
return !field["transient"] && computedFieldSet.contains(field.name);
|
|
@@ -775,6 +827,28 @@ var serializeImpl = function serializeImpl(_ref28, fieldSet) {
|
|
|
775
827
|
return field.serialize ? field.serialize(bindings) : field.value;
|
|
776
828
|
});
|
|
777
829
|
};
|
|
830
|
+
var validateForm = exports.validateForm = function validateForm(formKey) {
|
|
831
|
+
var _ref30 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
832
|
+
fieldSet = _ref30.fieldSet;
|
|
833
|
+
var _selectForm = selectForm(formKey)(_store.store.getState()),
|
|
834
|
+
fields = _selectForm.fields;
|
|
835
|
+
var computedFieldSet = computeFieldSet(fields, fieldSet);
|
|
836
|
+
var errors = fields.filter(function (field) {
|
|
837
|
+
return computedFieldSet.contains(field.name);
|
|
838
|
+
}).map(function (field) {
|
|
839
|
+
return field.errors;
|
|
840
|
+
}).filter(function (errors) {
|
|
841
|
+
return !errors.isEmpty();
|
|
842
|
+
});
|
|
843
|
+
if (!errors.isEmpty()) {
|
|
844
|
+
(0, _store.dispatch)('VALIDATION_FIELD_ERRORS', {
|
|
845
|
+
formKey: formKey,
|
|
846
|
+
fieldNames: errors.keySeq()
|
|
847
|
+
});
|
|
848
|
+
return false;
|
|
849
|
+
}
|
|
850
|
+
return true;
|
|
851
|
+
};
|
|
778
852
|
|
|
779
853
|
// Wraps the FormImpl to handle the formKey behavior. If this is passed a
|
|
780
854
|
// formKey prop this wrapper is essentially a noop, but if it is not passed a
|
|
@@ -784,8 +858,8 @@ var serializeImpl = function serializeImpl(_ref28, fieldSet) {
|
|
|
784
858
|
// to do this because we need to use the form key in the mapStateToProps of the
|
|
785
859
|
// wrapped component.
|
|
786
860
|
|
|
787
|
-
/**
|
|
788
|
-
* @component
|
|
861
|
+
/**
|
|
862
|
+
* @component
|
|
789
863
|
*/
|
|
790
864
|
var Form = exports.Form = /*#__PURE__*/function (_Component) {
|
|
791
865
|
(0, _inherits2["default"])(Form, _Component);
|
|
@@ -833,7 +907,9 @@ var Form = exports.Form = /*#__PURE__*/function (_Component) {
|
|
|
833
907
|
}(_react.Component);
|
|
834
908
|
var computeFieldSet = function computeFieldSet(fields, fieldSetProp) {
|
|
835
909
|
var defaultFieldSet = (0, _immutable.OrderedSet)(fields.keySeq());
|
|
836
|
-
return (0, _immutable.OrderedSet)(!fieldSetProp ? defaultFieldSet : typeof fieldSetProp === 'function' ? fieldSetProp(defaultFieldSet) : fieldSetProp)
|
|
910
|
+
return (0, _immutable.OrderedSet)(!fieldSetProp ? defaultFieldSet : typeof fieldSetProp === 'function' ? fieldSetProp(defaultFieldSet) : fieldSetProp.filter(function (field) {
|
|
911
|
+
return defaultFieldSet.has(field);
|
|
912
|
+
}));
|
|
837
913
|
};
|
|
838
914
|
var evaluateReadOnly = function evaluateReadOnly(readOnlyProp, bindings) {
|
|
839
915
|
return typeof readOnlyProp === 'boolean' ? readOnlyProp : typeof readOnlyProp === 'function' ? readOnlyProp(bindings) : false;
|
|
@@ -844,8 +920,8 @@ var FormImplComponent = /*#__PURE__*/function (_Component2) {
|
|
|
844
920
|
function FormImplComponent() {
|
|
845
921
|
var _this3;
|
|
846
922
|
(0, _classCallCheck2["default"])(this, FormImplComponent);
|
|
847
|
-
for (var
|
|
848
|
-
args[
|
|
923
|
+
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
924
|
+
args[_key2] = arguments[_key2];
|
|
849
925
|
}
|
|
850
926
|
_this3 = _super2.call.apply(_super2, [this].concat(args));
|
|
851
927
|
_this3.focusRef = /*#__PURE__*/(0, _react.createRef)();
|
|
@@ -893,6 +969,7 @@ var FormImplComponent = /*#__PURE__*/function (_Component2) {
|
|
|
893
969
|
alterFields = _this$props2.alterFields,
|
|
894
970
|
autoFocus = _this$props2.autoFocus,
|
|
895
971
|
components = _this$props2.components,
|
|
972
|
+
renderers = _this$props2.renderers,
|
|
896
973
|
fieldsFn = _this$props2.fields,
|
|
897
974
|
fieldSet = _this$props2.fieldSet,
|
|
898
975
|
formKey = _this$props2.formKey,
|
|
@@ -900,20 +977,24 @@ var FormImplComponent = /*#__PURE__*/function (_Component2) {
|
|
|
900
977
|
readOnly = _this$props2.readOnly;
|
|
901
978
|
var bindings = formState ? formState.bindings : {};
|
|
902
979
|
var initialized = formState ? !!formState.fields : false;
|
|
980
|
+
var errors = formState ? formState.dataSources.map(function (ds) {
|
|
981
|
+
return ds.error;
|
|
982
|
+
}).filter(Boolean) : (0, _immutable.Map)();
|
|
903
983
|
var form = null;
|
|
984
|
+
var dirty = false;
|
|
985
|
+
var _components$toObject = components.toObject(),
|
|
986
|
+
FormButtons = _components$toObject.FormButtons,
|
|
987
|
+
FormError = _components$toObject.FormError,
|
|
988
|
+
FormLayout = _components$toObject.FormLayout;
|
|
904
989
|
if (initialized) {
|
|
905
|
-
var _components$toObject = components.toObject(),
|
|
906
|
-
FormButtons = _components$toObject.FormButtons,
|
|
907
|
-
FormError = _components$toObject.FormError,
|
|
908
|
-
FormLayout = _components$toObject.FormLayout;
|
|
909
990
|
var error = formState.error,
|
|
910
991
|
fields = formState.fields,
|
|
911
992
|
formOptions = formState.formOptions,
|
|
912
993
|
submitting = formState.submitting;
|
|
913
|
-
|
|
914
|
-
var dirty = fields.some(function (field) {
|
|
994
|
+
dirty = fields.some(function (field) {
|
|
915
995
|
return field.dirty;
|
|
916
996
|
});
|
|
997
|
+
// Build a map of components by field, merging the fields, addFields, and
|
|
917
998
|
// alterFields options. Note that we get those from the parent props not
|
|
918
999
|
// redux store because we want to see new components on HMR updates.
|
|
919
1000
|
var fieldComponents = (0, _Form2.resolveFieldConfig)(formOptions, bindings, fieldsFn, addFields, alterFields).filter(function (fieldConfig) {
|
|
@@ -928,21 +1009,23 @@ var FormImplComponent = /*#__PURE__*/function (_Component2) {
|
|
|
928
1009
|
formOptions: formOptions,
|
|
929
1010
|
fields: (0, _immutable.OrderedMap)(computedFieldSet.map(function (name) {
|
|
930
1011
|
return [name, fields.get(name)];
|
|
931
|
-
})).mapEntries(function (
|
|
932
|
-
var
|
|
933
|
-
name =
|
|
934
|
-
field =
|
|
1012
|
+
})).mapEntries(function (_ref31, index) {
|
|
1013
|
+
var _ref32 = (0, _slicedToArray2["default"])(_ref31, 2),
|
|
1014
|
+
name = _ref32[0],
|
|
1015
|
+
field = _ref32[1];
|
|
935
1016
|
var FieldImpl = fieldComponents.get(name) || components.get((0, _Form2.getComponentName)(field), null);
|
|
936
1017
|
return [name, FieldImpl ? /*#__PURE__*/_react["default"].createElement(FieldImpl, Object.assign({
|
|
937
1018
|
key: name,
|
|
938
1019
|
focusRef: name === autoFocus || index === autoFocus ? _this4.focusRef : null
|
|
939
1020
|
}, (0, _Form2.getFieldComponentProps)(field, readOnlyResult))) : null];
|
|
940
1021
|
}),
|
|
1022
|
+
fieldSet: computedFieldSet.toJS(),
|
|
941
1023
|
dirty: dirty,
|
|
942
1024
|
error: error && /*#__PURE__*/_react["default"].createElement(FormError, {
|
|
943
1025
|
error: error,
|
|
944
1026
|
clear: clearError(formKey)
|
|
945
1027
|
}),
|
|
1028
|
+
submit: onSubmit(formKey, fieldSet),
|
|
946
1029
|
buttons: !readOnlyResult && /*#__PURE__*/_react["default"].createElement(FormButtons, {
|
|
947
1030
|
formOptions: formOptions,
|
|
948
1031
|
fields: fields,
|
|
@@ -956,16 +1039,25 @@ var FormImplComponent = /*#__PURE__*/function (_Component2) {
|
|
|
956
1039
|
}),
|
|
957
1040
|
bindings: bindings,
|
|
958
1041
|
meta: fields.map(function (field) {
|
|
1042
|
+
var _field$errors;
|
|
959
1043
|
return (0, _immutable.Map)({
|
|
960
|
-
|
|
1044
|
+
label: field.label,
|
|
1045
|
+
value: typeof field.serialize === 'function' && field.serialize(bindings) || field.value,
|
|
1046
|
+
options: field.options,
|
|
1047
|
+
type: field.type,
|
|
1048
|
+
visible: field.visible,
|
|
1049
|
+
hasErrors: ((_field$errors = field.errors) === null || _field$errors === void 0 ? void 0 : _field$errors.size) > 0
|
|
961
1050
|
});
|
|
962
|
-
})
|
|
1051
|
+
}),
|
|
1052
|
+
renderers: renderers
|
|
963
1053
|
});
|
|
964
1054
|
}
|
|
965
1055
|
return typeof this.props.children === 'function' ? this.props.children({
|
|
966
1056
|
bindings: bindings,
|
|
967
1057
|
form: form,
|
|
968
|
-
initialized: initialized
|
|
1058
|
+
initialized: initialized,
|
|
1059
|
+
errors: errors,
|
|
1060
|
+
dirty: dirty
|
|
969
1061
|
}) : form;
|
|
970
1062
|
}
|
|
971
1063
|
}]);
|
|
@@ -977,11 +1069,11 @@ var mapStateToProps = exports.mapStateToProps = function mapStateToProps(state,
|
|
|
977
1069
|
};
|
|
978
1070
|
};
|
|
979
1071
|
var FormImpl = (0, _store.connect)(mapStateToProps)(FormImplComponent);
|
|
980
|
-
var generateForm = exports.generateForm = function generateForm(
|
|
981
|
-
var dataSources =
|
|
982
|
-
fields =
|
|
983
|
-
handleSubmit =
|
|
984
|
-
formOptions =
|
|
1072
|
+
var generateForm = exports.generateForm = function generateForm(_ref33) {
|
|
1073
|
+
var dataSources = _ref33.dataSources,
|
|
1074
|
+
fields = _ref33.fields,
|
|
1075
|
+
handleSubmit = _ref33.handleSubmit,
|
|
1076
|
+
formOptions = _ref33.formOptions;
|
|
985
1077
|
return function (configurationProps) {
|
|
986
1078
|
return /*#__PURE__*/_react["default"].createElement(Form, {
|
|
987
1079
|
addDataSources: configurationProps.addDataSources,
|
|
@@ -999,7 +1091,8 @@ var generateForm = exports.generateForm = function generateForm(_ref31) {
|
|
|
999
1091
|
onError: configurationProps.onError,
|
|
1000
1092
|
onLoad: configurationProps.onLoad,
|
|
1001
1093
|
uncontrolled: configurationProps.uncontrolled,
|
|
1002
|
-
readOnly: configurationProps.readOnly
|
|
1094
|
+
readOnly: configurationProps.readOnly,
|
|
1095
|
+
renderers: configurationProps.renderers
|
|
1003
1096
|
}, configurationProps.children);
|
|
1004
1097
|
};
|
|
1005
1098
|
};
|