@formio/js 5.1.0-rc.2 → 5.1.0-rc.21
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/dist/formio.embed.js +1 -1
- package/dist/formio.embed.min.js +1 -1
- package/dist/formio.embed.min.js.LICENSE.txt +1 -1
- package/dist/formio.form.js +27 -27
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.form.min.js.LICENSE.txt +1 -1
- package/dist/formio.full.js +30 -30
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.full.min.js.LICENSE.txt +1 -1
- package/dist/formio.js +13 -13
- package/dist/formio.min.js +1 -1
- package/dist/formio.min.js.LICENSE.txt +1 -1
- package/dist/formio.utils.js +11 -11
- package/dist/formio.utils.min.js +1 -1
- package/dist/formio.utils.min.js.LICENSE.txt +1 -1
- package/lib/cjs/Embed.js +1 -1
- package/lib/cjs/Formio.js +1 -1
- package/lib/cjs/PDFBuilder.js +2 -2
- package/lib/cjs/Webform.d.ts +2 -2
- package/lib/cjs/Webform.js +6 -3
- package/lib/cjs/WebformBuilder.d.ts +1 -0
- package/lib/cjs/WebformBuilder.js +14 -3
- package/lib/cjs/Wizard.js +2 -1
- package/lib/cjs/components/_classes/component/Component.js +8 -2
- package/lib/cjs/components/_classes/field/Field.d.ts +2 -2
- package/lib/cjs/components/_classes/field/Field.js +1 -1
- package/lib/cjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/cjs/components/_classes/nested/fixtures/comp4.d.ts +11 -1
- package/lib/cjs/components/_classes/nested/fixtures/comp4.js +1 -1
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
- package/lib/cjs/components/_classes/nesteddata/NestedDataComponent.js +3 -0
- package/lib/cjs/components/address/Address.d.ts +1 -2
- package/lib/cjs/components/address/Address.js +1 -1
- package/lib/cjs/components/address/fixtures/comp5.d.ts +46 -0
- package/lib/cjs/components/address/fixtures/comp5.js +87 -0
- package/lib/cjs/components/address/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/address/fixtures/index.js +3 -1
- package/lib/cjs/components/button/Button.d.ts +1 -1
- package/lib/cjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/cjs/components/columns/Columns.d.ts +1 -1
- package/lib/cjs/components/datagrid/DataGrid.d.ts +1 -1
- package/lib/cjs/components/datagrid/DataGrid.js +4 -1
- package/lib/cjs/components/datetime/DateTime.d.ts +1 -1
- package/lib/cjs/components/datetime/DateTime.js +7 -3
- package/lib/cjs/components/datetime/fixtures/index.d.ts +6 -5
- package/lib/cjs/components/datetime/fixtures/index.js +3 -1
- package/lib/cjs/components/datetime/fixtures/requiredFieldLogicComp.d.ts +57 -0
- package/lib/cjs/components/datetime/fixtures/requiredFieldLogicComp.js +64 -0
- package/lib/cjs/components/day/Day.d.ts +1 -1
- package/lib/cjs/components/day/Day.js +2 -18
- package/lib/cjs/components/editgrid/fixtures/index.d.ts +1 -1
- package/lib/cjs/components/editgrid/fixtures/index.js +1 -5
- package/lib/cjs/components/file/File.d.ts +1 -1
- package/lib/cjs/components/form/Form.d.ts +5 -2
- package/lib/cjs/components/form/Form.js +35 -15
- package/lib/cjs/components/form/editForm/Form.edit.data.js +1 -1
- package/lib/cjs/components/radio/Radio.d.ts +1 -1
- package/lib/cjs/components/select/Select.d.ts +1 -1
- package/lib/cjs/components/selectboxes/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/selectboxes/fixtures/index.js +3 -1
- package/lib/cjs/components/survey/Survey.d.ts +1 -1
- package/lib/cjs/components/table/Table.d.ts +1 -1
- package/lib/cjs/components/tabs/Tabs.d.ts +1 -1
- package/lib/cjs/components/tags/fixtures/index.d.ts +1 -1
- package/lib/cjs/components/tags/fixtures/index.js +1 -5
- package/lib/cjs/components/textfield/TextField.js +3 -0
- package/lib/cjs/components/textfield/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/textfield/fixtures/index.js +3 -1
- package/lib/cjs/components/textfield/fixtures/requiredFieldLogicComp.d.ts +48 -0
- package/lib/cjs/components/textfield/fixtures/requiredFieldLogicComp.js +55 -0
- package/lib/cjs/formio.embed.d.ts +1 -1
- package/lib/cjs/formio.embed.js +3 -0
- package/lib/cjs/providers/address/GoogleAddressProvider.d.ts +5 -0
- package/lib/cjs/providers/address/GoogleAddressProvider.js +23 -1
- package/lib/cjs/translations/en.js +2 -2
- package/lib/cjs/utils/formUtils.d.ts +2 -2
- package/lib/cjs/utils/utils.d.ts +2 -1
- package/lib/cjs/utils/utils.js +3 -2
- package/lib/mjs/Embed.js +1 -1
- package/lib/mjs/Formio.js +1 -1
- package/lib/mjs/PDFBuilder.js +2 -2
- package/lib/mjs/Webform.d.ts +2 -2
- package/lib/mjs/Webform.js +6 -3
- package/lib/mjs/WebformBuilder.d.ts +1 -0
- package/lib/mjs/WebformBuilder.js +13 -2
- package/lib/mjs/Wizard.js +2 -1
- package/lib/mjs/components/_classes/component/Component.js +8 -2
- package/lib/mjs/components/_classes/field/Field.d.ts +2 -2
- package/lib/mjs/components/_classes/field/Field.js +1 -1
- package/lib/mjs/components/_classes/nested/NestedComponent.d.ts +1 -1
- package/lib/mjs/components/_classes/nested/fixtures/comp4.d.ts +11 -1
- package/lib/mjs/components/_classes/nested/fixtures/comp4.js +1 -1
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.d.ts +1 -0
- package/lib/mjs/components/_classes/nesteddata/NestedDataComponent.js +3 -0
- package/lib/mjs/components/address/Address.d.ts +1 -2
- package/lib/mjs/components/address/Address.js +1 -1
- package/lib/mjs/components/address/fixtures/comp5.d.ts +46 -0
- package/lib/mjs/components/address/fixtures/comp5.js +85 -0
- package/lib/mjs/components/address/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/address/fixtures/index.js +2 -1
- package/lib/mjs/components/button/Button.d.ts +1 -1
- package/lib/mjs/components/checkbox/Checkbox.d.ts +1 -1
- package/lib/mjs/components/columns/Columns.d.ts +1 -1
- package/lib/mjs/components/datagrid/DataGrid.d.ts +1 -1
- package/lib/mjs/components/datagrid/DataGrid.js +4 -1
- package/lib/mjs/components/datetime/DateTime.d.ts +1 -1
- package/lib/mjs/components/datetime/DateTime.js +8 -4
- package/lib/mjs/components/datetime/fixtures/index.d.ts +6 -5
- package/lib/mjs/components/datetime/fixtures/index.js +2 -1
- package/lib/mjs/components/datetime/fixtures/requiredFieldLogicComp.d.ts +57 -0
- package/lib/mjs/components/datetime/fixtures/requiredFieldLogicComp.js +62 -0
- package/lib/mjs/components/day/Day.d.ts +1 -1
- package/lib/mjs/components/day/Day.js +2 -18
- package/lib/mjs/components/editgrid/fixtures/index.d.ts +1 -1
- package/lib/mjs/components/editgrid/fixtures/index.js +1 -3
- package/lib/mjs/components/file/File.d.ts +1 -1
- package/lib/mjs/components/form/Form.d.ts +5 -2
- package/lib/mjs/components/form/Form.js +34 -15
- package/lib/mjs/components/form/editForm/Form.edit.data.js +1 -1
- package/lib/mjs/components/radio/Radio.d.ts +1 -1
- package/lib/mjs/components/select/Select.d.ts +1 -1
- package/lib/mjs/components/selectboxes/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/selectboxes/fixtures/index.js +2 -1
- package/lib/mjs/components/survey/Survey.d.ts +1 -1
- package/lib/mjs/components/table/Table.d.ts +1 -1
- package/lib/mjs/components/tabs/Tabs.d.ts +1 -1
- package/lib/mjs/components/tags/fixtures/index.d.ts +1 -1
- package/lib/mjs/components/tags/fixtures/index.js +1 -3
- package/lib/mjs/components/textfield/TextField.js +3 -0
- package/lib/mjs/components/textfield/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/textfield/fixtures/index.js +2 -1
- package/lib/mjs/components/textfield/fixtures/requiredFieldLogicComp.d.ts +48 -0
- package/lib/mjs/components/textfield/fixtures/requiredFieldLogicComp.js +53 -0
- package/lib/mjs/formio.embed.d.ts +1 -1
- package/lib/mjs/formio.embed.js +1 -0
- package/lib/mjs/providers/address/GoogleAddressProvider.d.ts +5 -0
- package/lib/mjs/providers/address/GoogleAddressProvider.js +22 -1
- package/lib/mjs/translations/en.js +2 -2
- package/lib/mjs/utils/formUtils.d.ts +2 -2
- package/lib/mjs/utils/utils.d.ts +2 -1
- package/lib/mjs/utils/utils.js +3 -2
- package/package.json +4 -4
@@ -20,7 +20,7 @@
|
|
20
20
|
|
21
21
|
/*! @license DOMPurify 3.2.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.2.3/LICENSE */
|
22
22
|
|
23
|
-
/*! formiojs v5.1.0-rc.
|
23
|
+
/*! formiojs v5.1.0-rc.21 | https://unpkg.com/formiojs@5.1.0-rc.21/LICENSE.txt */
|
24
24
|
|
25
25
|
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */
|
26
26
|
|
package/lib/cjs/Embed.js
CHANGED
@@ -418,7 +418,7 @@ Formio.formioReady = new Promise((ready, reject) => {
|
|
418
418
|
_a._formioReady = ready;
|
419
419
|
_a._formioReadyReject = reject;
|
420
420
|
});
|
421
|
-
Formio.version = '
|
421
|
+
Formio.version = '5.1.0-rc.21';
|
422
422
|
// Create a report.
|
423
423
|
Formio.Report = {
|
424
424
|
create: (element, submission, options = {}) => __awaiter(void 0, void 0, void 0, function* () {
|
package/lib/cjs/Formio.js
CHANGED
@@ -11,7 +11,7 @@ const CDN_1 = __importDefault(require("./CDN"));
|
|
11
11
|
const providers_1 = __importDefault(require("./providers"));
|
12
12
|
sdk_1.Formio.cdn = new CDN_1.default();
|
13
13
|
sdk_1.Formio.Providers = providers_1.default;
|
14
|
-
sdk_1.Formio.version = '
|
14
|
+
sdk_1.Formio.version = '5.1.0-rc.21';
|
15
15
|
CDN_1.default.defaultCDN = sdk_1.Formio.version.includes('rc') ? 'https://cdn.test-form.io' : 'https://cdn.form.io';
|
16
16
|
const isNil = (val) => val === null || val === undefined;
|
17
17
|
sdk_1.Formio.prototype.uploadFile = function (storage, file, fileName, dir, progressCallback, url, options, fileKey, groupPermissions, groupId, uploadStartCallback, abortCallback, multipartOptions) {
|
package/lib/cjs/PDFBuilder.js
CHANGED
@@ -300,7 +300,7 @@ class PDFBuilder extends WebformBuilder_1.default {
|
|
300
300
|
height: schema.height,
|
301
301
|
width: schema.width
|
302
302
|
};
|
303
|
-
if (!this.options.noNewEdit && !component.component.noNewEdit) {
|
303
|
+
if (!this.options.noNewEdit && !component.component.noNewEdit && this.hasEditTabs(component.type)) {
|
304
304
|
this.editComponent(component.component, this.getParentContainer(component), isNew);
|
305
305
|
}
|
306
306
|
this.emit('updateComponent', component.component);
|
@@ -324,7 +324,7 @@ class PDFBuilder extends WebformBuilder_1.default {
|
|
324
324
|
});
|
325
325
|
this.webform.on('iframe-componentClick', schema => {
|
326
326
|
const component = this.webform.getComponentById(schema.id);
|
327
|
-
if (component) {
|
327
|
+
if (component && this.hasEditTabs(component.type)) {
|
328
328
|
this.editComponent(component.component, this.getParentContainer(component));
|
329
329
|
}
|
330
330
|
}, true);
|
package/lib/cjs/Webform.d.ts
CHANGED
@@ -363,7 +363,7 @@ declare class Webform extends NestedDataComponent {
|
|
363
363
|
executeFormController(): false | undefined;
|
364
364
|
build(element: any): Promise<any>;
|
365
365
|
getClassName(): string;
|
366
|
-
render():
|
366
|
+
render(): string;
|
367
367
|
redraw(): Promise<void> | Promise<boolean>;
|
368
368
|
attach(element: any): Promise<boolean>;
|
369
369
|
hasRequiredFields(): boolean;
|
@@ -452,7 +452,7 @@ declare class Webform extends NestedDataComponent {
|
|
452
452
|
*/
|
453
453
|
submit(before?: boolean, options?: any): Promise<any>;
|
454
454
|
submitUrl(URL: any, headers: any): void;
|
455
|
-
triggerCaptcha(): void;
|
455
|
+
triggerCaptcha(components?: null): void;
|
456
456
|
_nosubmit: any;
|
457
457
|
get conditions(): any;
|
458
458
|
get variables(): any;
|
package/lib/cjs/Webform.js
CHANGED
@@ -1527,17 +1527,20 @@ class Webform extends NestedDataComponent_1.default {
|
|
1527
1527
|
return console.warn("You should add a URL to this button.");
|
1528
1528
|
}
|
1529
1529
|
}
|
1530
|
-
triggerCaptcha() {
|
1530
|
+
triggerCaptcha(components = null) {
|
1531
1531
|
if (!this || !this.components) {
|
1532
1532
|
return;
|
1533
1533
|
}
|
1534
1534
|
const captchaComponent = [];
|
1535
|
-
|
1535
|
+
(0, formUtils_1.eachComponent)(components || this.components, (component) => {
|
1536
1536
|
if (/^(re)?captcha$/.test(component.type) && component.component.eventType === 'formLoad') {
|
1537
1537
|
captchaComponent.push(component);
|
1538
1538
|
}
|
1539
|
-
});
|
1539
|
+
}, true);
|
1540
1540
|
if (captchaComponent.length > 0) {
|
1541
|
+
if (captchaComponent[0].component.provider === 'google' && components) {
|
1542
|
+
return;
|
1543
|
+
}
|
1541
1544
|
captchaComponent[0].verify(`${this.form.name ? this.form.name : 'form'}Load`);
|
1542
1545
|
}
|
1543
1546
|
}
|
@@ -123,6 +123,7 @@ export default class WebformBuilder extends Component {
|
|
123
123
|
addBuilderGroup(name: any, group: any): void;
|
124
124
|
updateBuilderGroup(name: any, group: any): void;
|
125
125
|
generateKey(info: any): any;
|
126
|
+
hasEditTabs(type: any): boolean;
|
126
127
|
}
|
127
128
|
import Component from './components/_classes/component/Component';
|
128
129
|
import Webform from './Webform';
|
@@ -123,7 +123,7 @@ class WebformBuilder extends Component_1.default {
|
|
123
123
|
}
|
124
124
|
this.options.hooks = this.options.hooks || {};
|
125
125
|
this.options.hooks.renderComponent = (html, { component, self }) => {
|
126
|
-
var _a, _b;
|
126
|
+
var _a, _b, _c;
|
127
127
|
if (self.type === 'form' && !self.key) {
|
128
128
|
const template = this.hook('renderComponentFormTemplate', html.replace('formio-component-form', ''));
|
129
129
|
// The main webform shouldn't have this class as it adds extra styles.
|
@@ -136,7 +136,9 @@ class WebformBuilder extends Component_1.default {
|
|
136
136
|
html,
|
137
137
|
disableBuilderActions: (_a = self === null || self === void 0 ? void 0 : self.component) === null || _a === void 0 ? void 0 : _a.disableBuilderActions,
|
138
138
|
childComponent: component,
|
139
|
-
design: (_b = self === null || self === void 0 ? void 0 : self.options) === null || _b === void 0 ? void 0 : _b.design
|
139
|
+
design: (_b = self === null || self === void 0 ? void 0 : self.options) === null || _b === void 0 ? void 0 : _b.design,
|
140
|
+
editJson: (_c = self === null || self === void 0 ? void 0 : self.options) === null || _c === void 0 ? void 0 : _c.editJson,
|
141
|
+
editComponent: this.hasEditTabs(component.type)
|
140
142
|
});
|
141
143
|
};
|
142
144
|
this.options.hooks.renderComponents = (html, { components, self }) => {
|
@@ -867,7 +869,11 @@ class WebformBuilder extends Component_1.default {
|
|
867
869
|
parent.addChildComponent(info, element, target, source, sibling);
|
868
870
|
}
|
869
871
|
const componentInDataGrid = parent.type === 'datagrid';
|
870
|
-
if (isNew
|
872
|
+
if (isNew
|
873
|
+
&& !this.options.noNewEdit
|
874
|
+
&& !info.noNewEdit
|
875
|
+
&& this.hasEditTabs(info.type)
|
876
|
+
&& !(this.options.design && info.type === 'reviewpage')) {
|
871
877
|
this.editComponent(info, target, isNew, null, null, { inDataGrid: componentInDataGrid });
|
872
878
|
}
|
873
879
|
// Only rebuild the parts needing to be rebuilt.
|
@@ -1627,5 +1633,10 @@ class WebformBuilder extends Component_1.default {
|
|
1627
1633
|
info.placeholder ||
|
1628
1634
|
info.type);
|
1629
1635
|
}
|
1636
|
+
hasEditTabs(type) {
|
1637
|
+
const editTabs = (0, formUtils_1.getComponent)(Components_1.default.components[type].editForm().components, 'tabs', true).components;
|
1638
|
+
const hiddenEditTabs = lodash_1.default.filter(lodash_1.default.get(this.options, `editForm.${type}`, []), 'ignore');
|
1639
|
+
return lodash_1.default.intersectionBy(editTabs, hiddenEditTabs, 'key').length !== editTabs.length;
|
1640
|
+
}
|
1630
1641
|
}
|
1631
1642
|
exports.default = WebformBuilder;
|
package/lib/cjs/Wizard.js
CHANGED
@@ -602,6 +602,7 @@ class Wizard extends Webform_1.default {
|
|
602
602
|
}
|
603
603
|
this.redraw().then(() => {
|
604
604
|
this.checkData(this.submission.data);
|
605
|
+
this.triggerCaptcha(this.currentPanel.components);
|
605
606
|
const errors = this.submitted ? this.validate(this.localData, { dirty: true }) : this.validateCurrentPage();
|
606
607
|
if (this.alert) {
|
607
608
|
this.showErrors(errors, true, true);
|
@@ -667,7 +668,7 @@ class Wizard extends Webform_1.default {
|
|
667
668
|
return this.page - 1;
|
668
669
|
}
|
669
670
|
beforeSubmit() {
|
670
|
-
const pages = this.getPages();
|
671
|
+
const pages = this.getPages({ all: true });
|
671
672
|
return Promise.all(pages.map((page) => {
|
672
673
|
page.options.beforeSubmit = true;
|
673
674
|
return page.beforeSubmit();
|
@@ -1286,7 +1286,7 @@ class Component extends Element_1.default {
|
|
1286
1286
|
detach() {
|
1287
1287
|
// First iterate through each ref and delete the component so there are no dangling component references.
|
1288
1288
|
lodash_1.default.each(this.refs, (ref) => {
|
1289
|
-
if (
|
1289
|
+
if (ref instanceof NodeList) {
|
1290
1290
|
ref.forEach((elem) => {
|
1291
1291
|
delete elem.component;
|
1292
1292
|
});
|
@@ -1938,15 +1938,21 @@ class Component extends Element_1.default {
|
|
1938
1938
|
}
|
1939
1939
|
// Check advanced conditions (and cache the result)
|
1940
1940
|
const isConditionallyHidden = this.checkConditionallyHidden(data, row) || this._parentConditionallyHidden;
|
1941
|
+
let shouldClear = false;
|
1941
1942
|
if (isConditionallyHidden !== this._conditionallyHidden) {
|
1942
1943
|
this._conditionallyHidden = isConditionallyHidden;
|
1943
|
-
|
1944
|
+
shouldClear = true;
|
1944
1945
|
}
|
1945
1946
|
// Check visibility
|
1946
1947
|
const visible = (this.hasCondition() ? !this.conditionallyHidden : !this.component.hidden);
|
1947
1948
|
if (this.visible !== visible) {
|
1948
1949
|
this.visible = visible;
|
1949
1950
|
}
|
1951
|
+
// Wait for visibility to update for nested components, so the component state is up-to-date when
|
1952
|
+
// calling clearOnHide
|
1953
|
+
if (shouldClear) {
|
1954
|
+
this.clearOnHide();
|
1955
|
+
}
|
1950
1956
|
return visible;
|
1951
1957
|
}
|
1952
1958
|
/**
|
@@ -1,9 +1,9 @@
|
|
1
1
|
export default class Field extends Component {
|
2
2
|
/**
|
3
3
|
* @param {object} element - The component to create.
|
4
|
-
* @returns {
|
4
|
+
* @returns {string} - The rendered HTML string of a component
|
5
5
|
*/
|
6
|
-
render(element: object):
|
6
|
+
render(element: object): string;
|
7
7
|
/**
|
8
8
|
/* Saves current caret position to restore it after the component is redrawn
|
9
9
|
* @param {HTMLElement} element - The element to save the caret position for.
|
@@ -11,7 +11,7 @@ const Component_1 = __importDefault(require("../component/Component"));
|
|
11
11
|
class Field extends Component_1.default {
|
12
12
|
/**
|
13
13
|
* @param {object} element - The component to create.
|
14
|
-
* @returns {
|
14
|
+
* @returns {string} - The rendered HTML string of a component
|
15
15
|
*/
|
16
16
|
render(element) {
|
17
17
|
if (this.noField) {
|
@@ -146,7 +146,7 @@ export default class NestedComponent extends Field {
|
|
146
146
|
*/
|
147
147
|
addComponent(component: import('@formio/core').Component, data?: object, before?: HTMLElement, noAdd?: boolean | undefined): any;
|
148
148
|
beforeFocus(): void;
|
149
|
-
render(children: any):
|
149
|
+
render(children: any): string;
|
150
150
|
renderComponents(components: any): any;
|
151
151
|
attach(element: any): Promise<[void, void]>;
|
152
152
|
/**
|
@@ -1,4 +1,14 @@
|
|
1
1
|
declare namespace _default {
|
2
|
-
let components:
|
2
|
+
let components: {
|
3
|
+
label: string;
|
4
|
+
inputType: string;
|
5
|
+
tableView: boolean;
|
6
|
+
defaultValue: boolean;
|
7
|
+
key: string;
|
8
|
+
type: string;
|
9
|
+
name: string;
|
10
|
+
value: string;
|
11
|
+
input: boolean;
|
12
|
+
}[];
|
3
13
|
}
|
4
14
|
export default _default;
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const comp2_1 = __importDefault(require("
|
6
|
+
const comp2_1 = __importDefault(require("../../../checkbox/fixtures/comp2"));
|
7
7
|
exports.default = {
|
8
8
|
components: [
|
9
9
|
Object.assign({}, comp2_1.default),
|
@@ -3,6 +3,7 @@ export default class NestedDataComponent extends NestedComponent {
|
|
3
3
|
hasChanged(newValue: any, oldValue: any): boolean;
|
4
4
|
get allowData(): boolean;
|
5
5
|
get emptyValue(): {};
|
6
|
+
get shouldAddDefaultValue(): boolean;
|
6
7
|
componentContext(): any;
|
7
8
|
getValueAsString(value: any, options: any): string;
|
8
9
|
getDataValueAsTable(value: any, options: any): string;
|
@@ -60,7 +60,7 @@ export default class AddressComponent extends ContainerComponent {
|
|
60
60
|
renderElement(value: any): any;
|
61
61
|
renderRow(value: any, index: any): any;
|
62
62
|
renderGrid(): any;
|
63
|
-
render():
|
63
|
+
render(): string;
|
64
64
|
onSelectAddress(address: any, element: any, index: any): void;
|
65
65
|
addRow(): void;
|
66
66
|
attach(element: any): Promise<void>;
|
@@ -71,4 +71,3 @@ export default class AddressComponent extends ContainerComponent {
|
|
71
71
|
getValueAsString(value: any, options: any): any;
|
72
72
|
}
|
73
73
|
import ContainerComponent from '../container/Container';
|
74
|
-
import Field from '../_classes/field/Field';
|
@@ -218,7 +218,7 @@ class AddressComponent extends Container_1.default {
|
|
218
218
|
super.dataValue = value;
|
219
219
|
}
|
220
220
|
get dataValue() {
|
221
|
-
const resultValue = lodash_1.default.get(this._data, this.
|
221
|
+
const resultValue = lodash_1.default.get(this._data, this.path);
|
222
222
|
if (!lodash_1.default.isArray(resultValue) && this.component.multiple) {
|
223
223
|
return [resultValue];
|
224
224
|
}
|
@@ -0,0 +1,46 @@
|
|
1
|
+
declare namespace _default {
|
2
|
+
let type: string;
|
3
|
+
let display: string;
|
4
|
+
let title: string;
|
5
|
+
let name: string;
|
6
|
+
let path: string;
|
7
|
+
let components: ({
|
8
|
+
label: string;
|
9
|
+
tableView: boolean;
|
10
|
+
multiple: boolean;
|
11
|
+
provider: string;
|
12
|
+
validateWhenHidden: boolean;
|
13
|
+
key: string;
|
14
|
+
providerOptions: {
|
15
|
+
params: {
|
16
|
+
autocompleteOptions: {};
|
17
|
+
};
|
18
|
+
};
|
19
|
+
type: string;
|
20
|
+
input: boolean;
|
21
|
+
components: {
|
22
|
+
label: string;
|
23
|
+
tableView: boolean;
|
24
|
+
key: string;
|
25
|
+
type: string;
|
26
|
+
input: boolean;
|
27
|
+
customConditional: string;
|
28
|
+
}[];
|
29
|
+
defaultValue: {}[];
|
30
|
+
disableOnInvalid?: undefined;
|
31
|
+
} | {
|
32
|
+
type: string;
|
33
|
+
label: string;
|
34
|
+
key: string;
|
35
|
+
disableOnInvalid: boolean;
|
36
|
+
input: boolean;
|
37
|
+
tableView: boolean;
|
38
|
+
multiple?: undefined;
|
39
|
+
provider?: undefined;
|
40
|
+
validateWhenHidden?: undefined;
|
41
|
+
providerOptions?: undefined;
|
42
|
+
components?: undefined;
|
43
|
+
defaultValue?: undefined;
|
44
|
+
})[];
|
45
|
+
}
|
46
|
+
export default _default;
|
@@ -0,0 +1,87 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.default = {
|
4
|
+
type: 'form',
|
5
|
+
display: 'form',
|
6
|
+
title: 'FIO-9527',
|
7
|
+
name: 'fio9527',
|
8
|
+
path: 'fio9527',
|
9
|
+
components: [
|
10
|
+
{
|
11
|
+
label: 'Address',
|
12
|
+
tableView: false,
|
13
|
+
multiple: true,
|
14
|
+
provider: 'nominatim',
|
15
|
+
validateWhenHidden: false,
|
16
|
+
key: 'address',
|
17
|
+
providerOptions: {
|
18
|
+
params: {
|
19
|
+
autocompleteOptions: {}
|
20
|
+
}
|
21
|
+
},
|
22
|
+
type: 'address',
|
23
|
+
input: true,
|
24
|
+
components: [
|
25
|
+
{
|
26
|
+
label: 'Address 1',
|
27
|
+
tableView: false,
|
28
|
+
key: 'address1',
|
29
|
+
type: 'textfield',
|
30
|
+
input: true,
|
31
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
32
|
+
},
|
33
|
+
{
|
34
|
+
label: 'Address 2',
|
35
|
+
tableView: false,
|
36
|
+
key: 'address2',
|
37
|
+
type: 'textfield',
|
38
|
+
input: true,
|
39
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
40
|
+
},
|
41
|
+
{
|
42
|
+
label: 'City',
|
43
|
+
tableView: false,
|
44
|
+
key: 'city',
|
45
|
+
type: 'textfield',
|
46
|
+
input: true,
|
47
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
48
|
+
},
|
49
|
+
{
|
50
|
+
label: 'State',
|
51
|
+
tableView: false,
|
52
|
+
key: 'state',
|
53
|
+
type: 'textfield',
|
54
|
+
input: true,
|
55
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
56
|
+
},
|
57
|
+
{
|
58
|
+
label: 'Country',
|
59
|
+
tableView: false,
|
60
|
+
key: 'country',
|
61
|
+
type: 'textfield',
|
62
|
+
input: true,
|
63
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
label: 'Zip Code',
|
67
|
+
tableView: false,
|
68
|
+
key: 'zip',
|
69
|
+
type: 'textfield',
|
70
|
+
input: true,
|
71
|
+
customConditional: "show = _.get(instance, 'parent.manualMode', false);"
|
72
|
+
}
|
73
|
+
],
|
74
|
+
defaultValue: [
|
75
|
+
{}
|
76
|
+
]
|
77
|
+
},
|
78
|
+
{
|
79
|
+
type: 'button',
|
80
|
+
label: 'Submit',
|
81
|
+
key: 'submit',
|
82
|
+
disableOnInvalid: true,
|
83
|
+
input: true,
|
84
|
+
tableView: false
|
85
|
+
}
|
86
|
+
]
|
87
|
+
};
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
|
6
|
+
exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
|
7
7
|
const comp1_1 = __importDefault(require("./comp1"));
|
8
8
|
exports.comp1 = comp1_1.default;
|
9
9
|
const comp2_1 = __importDefault(require("./comp2"));
|
@@ -12,3 +12,5 @@ const comp3_1 = __importDefault(require("./comp3"));
|
|
12
12
|
exports.comp3 = comp3_1.default;
|
13
13
|
const comp4_1 = __importDefault(require("./comp4"));
|
14
14
|
exports.comp4 = comp4_1.default;
|
15
|
+
const comp5_1 = __importDefault(require("./comp5"));
|
16
|
+
exports.comp5 = comp5_1.default;
|
@@ -21,7 +21,7 @@ export default class ButtonComponent extends Field {
|
|
21
21
|
get clicked(): any;
|
22
22
|
get defaultValue(): boolean;
|
23
23
|
get oauthConfig(): any;
|
24
|
-
render():
|
24
|
+
render(): string;
|
25
25
|
attachButton(): void;
|
26
26
|
hasError: boolean | undefined;
|
27
27
|
isDisabledOnInvalid: any;
|
@@ -14,7 +14,7 @@ export default class ColumnsComponent extends NestedComponent {
|
|
14
14
|
get columnKey(): string;
|
15
15
|
columns: any[] | undefined;
|
16
16
|
labelIsHidden(): boolean;
|
17
|
-
render():
|
17
|
+
render(): string;
|
18
18
|
justifyColumn(items: any, index: any): boolean;
|
19
19
|
justify(): any;
|
20
20
|
get gridSize(): number;
|
@@ -54,7 +54,7 @@ export default class DataGridComponent extends NestedArrayComponent {
|
|
54
54
|
hasTopSubmit(): any;
|
55
55
|
hasBottomSubmit(): any;
|
56
56
|
get canAddColumn(): boolean;
|
57
|
-
render():
|
57
|
+
render(): string;
|
58
58
|
getRows(): {}[];
|
59
59
|
getColumns(): any[];
|
60
60
|
hasHeader(): any;
|
@@ -396,7 +396,7 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
396
396
|
row
|
397
397
|
});
|
398
398
|
this.checkConditions();
|
399
|
-
this.triggerChange();
|
399
|
+
this.triggerChange({ modified: true });
|
400
400
|
this.redraw().then(() => {
|
401
401
|
this.focusOnNewRowElement(this.rows[index]);
|
402
402
|
});
|
@@ -476,6 +476,9 @@ class DataGridComponent extends NestedArrayComponent_1.default {
|
|
476
476
|
options.name += `[${rowIndex}]`;
|
477
477
|
options.row = `${rowIndex}-${colIndex}`;
|
478
478
|
options.rowIndex = rowIndex;
|
479
|
+
options.onChange = (flags, changed, modified) => {
|
480
|
+
this.triggerChange({ modified });
|
481
|
+
};
|
479
482
|
let columnComponent;
|
480
483
|
if (this.builderMode) {
|
481
484
|
col.id = col.id + rowIndex;
|
@@ -20,6 +20,6 @@ export default class DateTimeComponent extends Input {
|
|
20
20
|
get momentFormat(): string;
|
21
21
|
createWrapper(): boolean;
|
22
22
|
checkValidity(data: any, dirty: any, rowData: any): boolean;
|
23
|
-
getValueAsString(value: any): any;
|
23
|
+
getValueAsString(value: any, options: any): any;
|
24
24
|
}
|
25
25
|
import Input from '../_classes/input/Input';
|
@@ -103,6 +103,10 @@ class DateTimeComponent extends Input_1.default {
|
|
103
103
|
}
|
104
104
|
/* eslint-disable camelcase */
|
105
105
|
this.component.widget = Object.assign({ type: 'calendar', timezone, displayInTimezone: lodash_1.default.get(this.component, 'displayInTimezone', 'viewer'), locale: this.options.language, useLocaleSettings: lodash_1.default.get(this.component, 'useLocaleSettings', false), allowInput: lodash_1.default.get(this.component, 'allowInput', true), mode: 'single', enableTime: lodash_1.default.get(this.component, 'enableTime', true), noCalendar: !lodash_1.default.get(this.component, 'enableDate', true), format: this.component.format, hourIncrement: lodash_1.default.get(this.component, 'timePicker.hourStep', 1), minuteIncrement: lodash_1.default.get(this.component, 'timePicker.minuteStep', 5), time_24hr: time24hr, readOnly: this.options.readOnly, minDate: lodash_1.default.get(this.component, 'datePicker.minDate'), disabledDates: lodash_1.default.get(this.component, 'datePicker.disable'), disableWeekends: lodash_1.default.get(this.component, 'datePicker.disableWeekends'), disableWeekdays: lodash_1.default.get(this.component, 'datePicker.disableWeekdays'), disableFunction: lodash_1.default.get(this.component, 'datePicker.disableFunction'), maxDate: lodash_1.default.get(this.component, 'datePicker.maxDate') }, customOptions);
|
106
|
+
// update originalComponent to include widget and other updated settings
|
107
|
+
// it is done here since these settings depend on properties present after the component is initialized
|
108
|
+
// originalComponent is used to restore the component (and widget) after evaluating field logic
|
109
|
+
this.originalComponent = (0, utils_2.fastCloneDeep)(this.component);
|
106
110
|
/* eslint-enable camelcase */
|
107
111
|
}
|
108
112
|
get defaultSchema() {
|
@@ -149,15 +153,15 @@ class DateTimeComponent extends Input_1.default {
|
|
149
153
|
}
|
150
154
|
return super.checkValidity(data, dirty, rowData);
|
151
155
|
}
|
152
|
-
getValueAsString(value) {
|
156
|
+
getValueAsString(value, options) {
|
153
157
|
let format = utils_1.default.convertFormatToMoment(this.component.format);
|
154
158
|
format += format.match(/z$/) ? '' : ' z';
|
155
159
|
const timezone = this.timezone;
|
156
160
|
if (value && !this.attached && timezone) {
|
157
161
|
if (Array.isArray(value) && this.component.multiple) {
|
158
|
-
return value.map(item => lodash_1.default.trim(utils_1.default.momentDate(item, format, timezone).format(format))).join(', ');
|
162
|
+
return value.map(item => lodash_1.default.trim(utils_1.default.momentDate(item, format, timezone, options).format(format))).join(', ');
|
159
163
|
}
|
160
|
-
return lodash_1.default.trim(utils_1.default.momentDate(value, format, timezone).format(format));
|
164
|
+
return lodash_1.default.trim(utils_1.default.momentDate(value, format, timezone, options).format(format));
|
161
165
|
}
|
162
166
|
if (Array.isArray(value) && this.component.multiple) {
|
163
167
|
return value.map(item => lodash_1.default.trim((0, moment_1.default)(item).format(format))).join(', ');
|
@@ -1,8 +1,4 @@
|
|
1
1
|
import comp1 from './comp1';
|
2
|
-
import comp10 from './comp10';
|
3
|
-
import comp11 from './comp11';
|
4
|
-
import comp12 from './comp12';
|
5
|
-
import comp13 from './comp13';
|
6
2
|
import comp2 from './comp2';
|
7
3
|
import comp3 from './comp3';
|
8
4
|
import comp5 from './comp5';
|
@@ -10,4 +6,9 @@ import comp6 from './comp6';
|
|
10
6
|
import comp7 from './comp7';
|
11
7
|
import comp8 from './comp8';
|
12
8
|
import comp9 from './comp9';
|
13
|
-
|
9
|
+
import comp10 from './comp10';
|
10
|
+
import comp11 from './comp11';
|
11
|
+
import comp12 from './comp12';
|
12
|
+
import comp13 from './comp13';
|
13
|
+
import requiredFieldLogicComp from './requiredFieldLogicComp';
|
14
|
+
export { comp1, comp2, comp3, comp5, comp6, comp7, comp8, comp9, comp10, comp11, comp12, comp13, requiredFieldLogicComp };
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
4
4
|
};
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.
|
6
|
+
exports.requiredFieldLogicComp = exports.comp13 = exports.comp12 = exports.comp11 = exports.comp10 = exports.comp9 = exports.comp8 = exports.comp7 = exports.comp6 = exports.comp5 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
|
7
7
|
const comp1_1 = __importDefault(require("./comp1"));
|
8
8
|
exports.comp1 = comp1_1.default;
|
9
9
|
const comp2_1 = __importDefault(require("./comp2"));
|
@@ -28,3 +28,5 @@ const comp12_1 = __importDefault(require("./comp12"));
|
|
28
28
|
exports.comp12 = comp12_1.default;
|
29
29
|
const comp13_1 = __importDefault(require("./comp13"));
|
30
30
|
exports.comp13 = comp13_1.default;
|
31
|
+
const requiredFieldLogicComp_1 = __importDefault(require("./requiredFieldLogicComp"));
|
32
|
+
exports.requiredFieldLogicComp = requiredFieldLogicComp_1.default;
|