@formio/js 5.0.0-dev.5673.3d062b9 → 5.0.0-dev.5676.625f434
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.form.js +7 -7
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.full.js +7 -7
- package/dist/formio.full.min.js +1 -1
- package/dist/formio.utils.js +3 -3
- package/dist/formio.utils.min.js +1 -1
- package/lib/cjs/components/_classes/component/Component.js +4 -0
- package/lib/cjs/components/_classes/component/fixtures/comp7.d.ts +84 -0
- package/lib/cjs/components/_classes/component/fixtures/comp7.js +86 -0
- package/lib/cjs/components/_classes/component/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/_classes/component/fixtures/index.js +3 -1
- package/lib/cjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
- package/lib/cjs/components/_classes/multivalue/Multivalue.js +8 -1
- package/lib/cjs/components/number/Number.js +1 -1
- package/lib/cjs/components/number/fixtures/comp8.d.ts +32 -0
- package/lib/cjs/components/number/fixtures/comp8.js +28 -0
- package/lib/cjs/components/number/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/number/fixtures/index.js +3 -1
- package/lib/cjs/components/phonenumber/fixtures/comp2.d.ts +16 -0
- package/lib/cjs/components/phonenumber/fixtures/comp2.js +25 -0
- package/lib/cjs/components/phonenumber/fixtures/index.d.ts +2 -1
- package/lib/cjs/components/phonenumber/fixtures/index.js +3 -1
- package/lib/cjs/components/select/Select.js +1 -2
- package/lib/cjs/utils/conditionOperators/DateGreaterThan.js +1 -2
- package/lib/cjs/utils/conditionOperators/IsEmptyValue.js +1 -2
- package/lib/cjs/utils/conditionOperators/IsEqualTo.js +3 -3
- package/lib/mjs/components/_classes/component/Component.js +4 -0
- package/lib/mjs/components/_classes/component/fixtures/comp7.d.ts +84 -0
- package/lib/mjs/components/_classes/component/fixtures/comp7.js +84 -0
- package/lib/mjs/components/_classes/component/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/_classes/component/fixtures/index.js +2 -1
- package/lib/mjs/components/_classes/multivalue/Multivalue.d.ts +1 -1
- package/lib/mjs/components/_classes/multivalue/Multivalue.js +8 -1
- package/lib/mjs/components/number/Number.js +1 -1
- package/lib/mjs/components/number/fixtures/comp8.d.ts +32 -0
- package/lib/mjs/components/number/fixtures/comp8.js +26 -0
- package/lib/mjs/components/number/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/number/fixtures/index.js +2 -1
- package/lib/mjs/components/phonenumber/fixtures/comp2.d.ts +16 -0
- package/lib/mjs/components/phonenumber/fixtures/comp2.js +23 -0
- package/lib/mjs/components/phonenumber/fixtures/index.d.ts +2 -1
- package/lib/mjs/components/phonenumber/fixtures/index.js +2 -1
- package/lib/mjs/components/select/Select.js +1 -2
- package/lib/mjs/utils/conditionOperators/DateGreaterThan.js +1 -1
- package/lib/mjs/utils/conditionOperators/IsEmptyValue.js +1 -1
- package/lib/mjs/utils/conditionOperators/IsEqualTo.js +1 -1
- package/package.json +1 -1
|
@@ -3388,6 +3388,10 @@ class Component extends Element_1.default {
|
|
|
3388
3388
|
const disabled = this.shouldDisabled;
|
|
3389
3389
|
// Change states which won't be recalculated during redrawing
|
|
3390
3390
|
if (this.visible !== visible) {
|
|
3391
|
+
// If the logic is triggered by an event and the action sets the hidden state then the original
|
|
3392
|
+
// component definition must be changed so that the components hidden state does not get flipped back by
|
|
3393
|
+
// the fieldLogic function
|
|
3394
|
+
this.originalComponent.hidden = !visible;
|
|
3391
3395
|
this.visible = visible;
|
|
3392
3396
|
}
|
|
3393
3397
|
if (this.disabled !== disabled) {
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let components: ({
|
|
3
|
+
label: string;
|
|
4
|
+
action: string;
|
|
5
|
+
showValidations: boolean;
|
|
6
|
+
tableView: boolean;
|
|
7
|
+
key: string;
|
|
8
|
+
type: string;
|
|
9
|
+
event: string;
|
|
10
|
+
input: boolean;
|
|
11
|
+
theme?: undefined;
|
|
12
|
+
collapsible?: undefined;
|
|
13
|
+
hidden?: undefined;
|
|
14
|
+
logic?: undefined;
|
|
15
|
+
collapsed?: undefined;
|
|
16
|
+
components?: undefined;
|
|
17
|
+
applyMaskOn?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
label: string;
|
|
20
|
+
action: string;
|
|
21
|
+
showValidations: boolean;
|
|
22
|
+
theme: string;
|
|
23
|
+
tableView: boolean;
|
|
24
|
+
key: string;
|
|
25
|
+
type: string;
|
|
26
|
+
event: string;
|
|
27
|
+
input: boolean;
|
|
28
|
+
collapsible?: undefined;
|
|
29
|
+
hidden?: undefined;
|
|
30
|
+
logic?: undefined;
|
|
31
|
+
collapsed?: undefined;
|
|
32
|
+
components?: undefined;
|
|
33
|
+
applyMaskOn?: undefined;
|
|
34
|
+
} | {
|
|
35
|
+
collapsible: boolean;
|
|
36
|
+
hidden: boolean;
|
|
37
|
+
key: string;
|
|
38
|
+
logic: {
|
|
39
|
+
name: string;
|
|
40
|
+
trigger: {
|
|
41
|
+
type: string;
|
|
42
|
+
event: string;
|
|
43
|
+
};
|
|
44
|
+
actions: {
|
|
45
|
+
name: string;
|
|
46
|
+
type: string;
|
|
47
|
+
property: {
|
|
48
|
+
label: string;
|
|
49
|
+
value: string;
|
|
50
|
+
type: string;
|
|
51
|
+
};
|
|
52
|
+
state: boolean;
|
|
53
|
+
}[];
|
|
54
|
+
}[];
|
|
55
|
+
type: string;
|
|
56
|
+
label: string;
|
|
57
|
+
collapsed: boolean;
|
|
58
|
+
input: boolean;
|
|
59
|
+
tableView: boolean;
|
|
60
|
+
components: never[];
|
|
61
|
+
action?: undefined;
|
|
62
|
+
showValidations?: undefined;
|
|
63
|
+
event?: undefined;
|
|
64
|
+
theme?: undefined;
|
|
65
|
+
applyMaskOn?: undefined;
|
|
66
|
+
} | {
|
|
67
|
+
label: string;
|
|
68
|
+
applyMaskOn: string;
|
|
69
|
+
tableView: boolean;
|
|
70
|
+
key: string;
|
|
71
|
+
type: string;
|
|
72
|
+
input: boolean;
|
|
73
|
+
action?: undefined;
|
|
74
|
+
showValidations?: undefined;
|
|
75
|
+
event?: undefined;
|
|
76
|
+
theme?: undefined;
|
|
77
|
+
collapsible?: undefined;
|
|
78
|
+
hidden?: undefined;
|
|
79
|
+
logic?: undefined;
|
|
80
|
+
collapsed?: undefined;
|
|
81
|
+
components?: undefined;
|
|
82
|
+
})[];
|
|
83
|
+
}
|
|
84
|
+
export default _default;
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
components: [
|
|
5
|
+
{
|
|
6
|
+
"label": "Show",
|
|
7
|
+
"action": "event",
|
|
8
|
+
"showValidations": false,
|
|
9
|
+
"tableView": false,
|
|
10
|
+
"key": "show",
|
|
11
|
+
"type": "button",
|
|
12
|
+
"event": "show",
|
|
13
|
+
"input": true
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"label": "Hide",
|
|
17
|
+
"action": "event",
|
|
18
|
+
"showValidations": false,
|
|
19
|
+
"theme": "danger",
|
|
20
|
+
"tableView": false,
|
|
21
|
+
"key": "hide",
|
|
22
|
+
"type": "button",
|
|
23
|
+
"event": "hide",
|
|
24
|
+
"input": true
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
"collapsible": true,
|
|
28
|
+
"hidden": true,
|
|
29
|
+
"key": "panel",
|
|
30
|
+
"logic": [
|
|
31
|
+
{
|
|
32
|
+
"name": "ShowPanel",
|
|
33
|
+
"trigger": {
|
|
34
|
+
"type": "event",
|
|
35
|
+
"event": "show"
|
|
36
|
+
},
|
|
37
|
+
"actions": [
|
|
38
|
+
{
|
|
39
|
+
"name": "Show",
|
|
40
|
+
"type": "property",
|
|
41
|
+
"property": {
|
|
42
|
+
"label": "Hidden",
|
|
43
|
+
"value": "hidden",
|
|
44
|
+
"type": "boolean"
|
|
45
|
+
},
|
|
46
|
+
"state": false
|
|
47
|
+
}
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
"name": "HidePanel",
|
|
52
|
+
"trigger": {
|
|
53
|
+
"type": "event",
|
|
54
|
+
"event": "hide"
|
|
55
|
+
},
|
|
56
|
+
"actions": [
|
|
57
|
+
{
|
|
58
|
+
"name": "Hide",
|
|
59
|
+
"type": "property",
|
|
60
|
+
"property": {
|
|
61
|
+
"label": "Hidden",
|
|
62
|
+
"value": "hidden",
|
|
63
|
+
"type": "boolean"
|
|
64
|
+
},
|
|
65
|
+
"state": true
|
|
66
|
+
}
|
|
67
|
+
]
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"type": "panel",
|
|
71
|
+
"label": "Panel",
|
|
72
|
+
"collapsed": false,
|
|
73
|
+
"input": false,
|
|
74
|
+
"tableView": false,
|
|
75
|
+
"components": []
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
"label": "Text Field",
|
|
79
|
+
"applyMaskOn": "change",
|
|
80
|
+
"tableView": true,
|
|
81
|
+
"key": "textField1",
|
|
82
|
+
"type": "textfield",
|
|
83
|
+
"input": true
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
};
|
|
@@ -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.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
|
|
6
|
+
exports.comp7 = exports.comp6 = 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"));
|
|
@@ -16,3 +16,5 @@ const comp5_1 = __importDefault(require("./comp5"));
|
|
|
16
16
|
exports.comp5 = comp5_1.default;
|
|
17
17
|
const comp6_1 = __importDefault(require("./comp6"));
|
|
18
18
|
exports.comp6 = comp6_1.default;
|
|
19
|
+
const comp7_1 = __importDefault(require("./comp7"));
|
|
20
|
+
exports.comp7 = comp7_1.default;
|
|
@@ -44,7 +44,7 @@ export default class Multivalue extends Field {
|
|
|
44
44
|
attachMultiMask(index: number): boolean;
|
|
45
45
|
/**
|
|
46
46
|
* @param {any} input - The input element on which the mask is to be applied.
|
|
47
|
-
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
|
47
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early and remove previous mask if no mask.
|
|
48
48
|
*/
|
|
49
49
|
updateMask(input: any, mask: string): void;
|
|
50
50
|
/**
|
|
@@ -237,10 +237,17 @@ class Multivalue extends Field_1.default {
|
|
|
237
237
|
}
|
|
238
238
|
/**
|
|
239
239
|
* @param {any} input - The input element on which the mask is to be applied.
|
|
240
|
-
* @param {string} mask - The mask pattern to apply to the input element. Exit early if no mask.
|
|
240
|
+
* @param {string} mask - The mask pattern to apply to the input element. Exit early and remove previous mask if no mask.
|
|
241
241
|
*/
|
|
242
242
|
updateMask(input, mask) {
|
|
243
243
|
if (!mask) {
|
|
244
|
+
if (input.mask) {
|
|
245
|
+
input.mask.destroy();
|
|
246
|
+
}
|
|
247
|
+
if (!this.component.placeholder) {
|
|
248
|
+
input.removeAttribute('placeholder');
|
|
249
|
+
}
|
|
250
|
+
input.value = '';
|
|
244
251
|
return;
|
|
245
252
|
}
|
|
246
253
|
this.setInputMask(input, mask, !this.component.placeholder);
|
|
@@ -48,7 +48,7 @@ class NumberComponent extends Input_1.default {
|
|
|
48
48
|
var _a, _b;
|
|
49
49
|
super(...args);
|
|
50
50
|
const separators = (0, utils_1.getNumberSeparators)(this.options.language || navigator.language);
|
|
51
|
-
this.decimalSeparator = this.options.decimalSeparator = this.options.decimalSeparator
|
|
51
|
+
this.decimalSeparator = this.options.decimalSeparator = this.component.decimalSymbol || this.options.decimalSeparator
|
|
52
52
|
|| ((_a = this.options.properties) === null || _a === void 0 ? void 0 : _a.decimalSeparator)
|
|
53
53
|
|| separators.decimalSeparator;
|
|
54
54
|
if (this.component.delimiter) {
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let components: ({
|
|
3
|
+
label: string;
|
|
4
|
+
applyMaskOn: string;
|
|
5
|
+
mask: boolean;
|
|
6
|
+
tableView: boolean;
|
|
7
|
+
delimiter: boolean;
|
|
8
|
+
requireDecimal: boolean;
|
|
9
|
+
inputFormat: string;
|
|
10
|
+
truncateMultipleSpaces: boolean;
|
|
11
|
+
key: string;
|
|
12
|
+
type: string;
|
|
13
|
+
input: boolean;
|
|
14
|
+
decimalSymbol: string;
|
|
15
|
+
disableOnInvalid?: undefined;
|
|
16
|
+
} | {
|
|
17
|
+
type: string;
|
|
18
|
+
label: string;
|
|
19
|
+
key: string;
|
|
20
|
+
disableOnInvalid: boolean;
|
|
21
|
+
input: boolean;
|
|
22
|
+
tableView: boolean;
|
|
23
|
+
applyMaskOn?: undefined;
|
|
24
|
+
mask?: undefined;
|
|
25
|
+
delimiter?: undefined;
|
|
26
|
+
requireDecimal?: undefined;
|
|
27
|
+
inputFormat?: undefined;
|
|
28
|
+
truncateMultipleSpaces?: undefined;
|
|
29
|
+
decimalSymbol?: undefined;
|
|
30
|
+
})[];
|
|
31
|
+
}
|
|
32
|
+
export default _default;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
components: [
|
|
5
|
+
{
|
|
6
|
+
"label": "Number",
|
|
7
|
+
"applyMaskOn": "change",
|
|
8
|
+
"mask": false,
|
|
9
|
+
"tableView": false,
|
|
10
|
+
"delimiter": false,
|
|
11
|
+
"requireDecimal": false,
|
|
12
|
+
"inputFormat": "plain",
|
|
13
|
+
"truncateMultipleSpaces": false,
|
|
14
|
+
"key": "number",
|
|
15
|
+
"type": "number",
|
|
16
|
+
"input": true,
|
|
17
|
+
"decimalSymbol": "-"
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"type": "button",
|
|
21
|
+
"label": "Submit",
|
|
22
|
+
"key": "submit",
|
|
23
|
+
"disableOnInvalid": true,
|
|
24
|
+
"input": true,
|
|
25
|
+
"tableView": false
|
|
26
|
+
}
|
|
27
|
+
]
|
|
28
|
+
};
|
|
@@ -5,4 +5,5 @@ import comp4 from './comp4';
|
|
|
5
5
|
import comp5 from './comp5';
|
|
6
6
|
import comp6 from './comp6';
|
|
7
7
|
import comp7 from './comp7';
|
|
8
|
-
|
|
8
|
+
import comp8 from './comp8';
|
|
9
|
+
export { comp1, comp2, comp3, comp4, comp5, comp6, comp7, comp8 };
|
|
@@ -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.comp7 = exports.comp6 = exports.comp5 = exports.comp4 = exports.comp3 = exports.comp2 = exports.comp1 = void 0;
|
|
6
|
+
exports.comp8 = exports.comp7 = exports.comp6 = 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"));
|
|
@@ -18,3 +18,5 @@ const comp6_1 = __importDefault(require("./comp6"));
|
|
|
18
18
|
exports.comp6 = comp6_1.default;
|
|
19
19
|
const comp7_1 = __importDefault(require("./comp7"));
|
|
20
20
|
exports.comp7 = comp7_1.default;
|
|
21
|
+
const comp8_1 = __importDefault(require("./comp8"));
|
|
22
|
+
exports.comp8 = comp8_1.default;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let components: {
|
|
3
|
+
label: string;
|
|
4
|
+
applyMaskOn: string;
|
|
5
|
+
allowMultipleMasks: boolean;
|
|
6
|
+
tableView: boolean;
|
|
7
|
+
key: string;
|
|
8
|
+
type: string;
|
|
9
|
+
inputMasks: {
|
|
10
|
+
label: string;
|
|
11
|
+
mask: string;
|
|
12
|
+
}[];
|
|
13
|
+
input: boolean;
|
|
14
|
+
}[];
|
|
15
|
+
}
|
|
16
|
+
export default _default;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.default = {
|
|
4
|
+
components: [
|
|
5
|
+
{
|
|
6
|
+
"label": "Phone Number",
|
|
7
|
+
"applyMaskOn": "change",
|
|
8
|
+
"allowMultipleMasks": true,
|
|
9
|
+
"tableView": true,
|
|
10
|
+
"key": "phoneNumber",
|
|
11
|
+
"type": "phoneNumber",
|
|
12
|
+
"inputMasks": [
|
|
13
|
+
{
|
|
14
|
+
"label": "Canada",
|
|
15
|
+
"mask": "(999) 999-9999"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"label": "Other",
|
|
19
|
+
"mask": ""
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"input": true
|
|
23
|
+
}
|
|
24
|
+
]
|
|
25
|
+
};
|
|
@@ -3,6 +3,8 @@ 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.comp1 = void 0;
|
|
6
|
+
exports.comp2 = exports.comp1 = void 0;
|
|
7
7
|
const comp1_1 = __importDefault(require("./comp1"));
|
|
8
8
|
exports.comp1 = comp1_1.default;
|
|
9
|
+
const comp2_1 = __importDefault(require("./comp2"));
|
|
10
|
+
exports.comp2 = comp2_1.default;
|
|
@@ -6,7 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
const lodash_1 = __importDefault(require("lodash"));
|
|
7
7
|
const Formio_1 = require("../../Formio");
|
|
8
8
|
const ListComponent_1 = __importDefault(require("../_classes/list/ListComponent"));
|
|
9
|
-
const Input_1 = __importDefault(require("../_classes/input/Input"));
|
|
10
9
|
const Form_1 = __importDefault(require("../../Form"));
|
|
11
10
|
const utils_1 = require("../../utils/utils");
|
|
12
11
|
const ChoicesWrapper_1 = __importDefault(require("../../utils/ChoicesWrapper"));
|
|
@@ -834,7 +833,7 @@ class SelectComponent extends ListComponent_1.default {
|
|
|
834
833
|
this.choices.containerOuter.element.setAttribute('tabIndex', '-1');
|
|
835
834
|
this.addEventListener(this.choices.containerOuter.element, 'focus', () => this.focusableElement.focus());
|
|
836
835
|
}
|
|
837
|
-
|
|
836
|
+
this.addFocusBlurEvents(this.choices.input.element);
|
|
838
837
|
if (this.itemsFromUrl && !this.component.noRefreshOnScroll) {
|
|
839
838
|
this.scrollList = this.choices.choiceList.element;
|
|
840
839
|
this.addEventListener(this.scrollList, 'scroll', () => this.onScroll());
|
|
@@ -19,13 +19,12 @@ class DateGeaterThan extends ConditionOperator_1.default {
|
|
|
19
19
|
return { date, comparedDate };
|
|
20
20
|
}
|
|
21
21
|
execute(options, functionName = 'isAfter') {
|
|
22
|
-
var _a;
|
|
23
22
|
const { value, instance, conditionComponentPath } = options;
|
|
24
23
|
if (!value) {
|
|
25
24
|
return false;
|
|
26
25
|
}
|
|
27
26
|
let conditionTriggerComponent = null;
|
|
28
|
-
if (
|
|
27
|
+
if (instance && instance.root) {
|
|
29
28
|
conditionTriggerComponent = instance.root.getComponent(conditionComponentPath);
|
|
30
29
|
}
|
|
31
30
|
if (conditionTriggerComponent && conditionTriggerComponent.isPartialDay && conditionTriggerComponent.isPartialDay(value)) {
|
|
@@ -16,9 +16,8 @@ class IsEmptyValue extends ConditionOperator_1.default {
|
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
18
|
execute({ value, instance, conditionComponentPath }) {
|
|
19
|
-
var _a;
|
|
20
19
|
const isEmptyValue = lodash_1.default.isEmpty(value);
|
|
21
|
-
if (
|
|
20
|
+
if (instance && instance.root) {
|
|
22
21
|
const conditionTriggerComponent = instance.root.getComponent(conditionComponentPath);
|
|
23
22
|
return conditionTriggerComponent ? conditionTriggerComponent.isEmpty() : isEmptyValue;
|
|
24
23
|
}
|
|
@@ -14,7 +14,7 @@ class IsEqualTo extends ConditionOperator_1.default {
|
|
|
14
14
|
return 'Is Equal To';
|
|
15
15
|
}
|
|
16
16
|
execute({ value, comparedValue, instance, conditionComponentPath }) {
|
|
17
|
-
var _a
|
|
17
|
+
var _a;
|
|
18
18
|
if ((value || value === false) && comparedValue && typeof value !== typeof comparedValue && lodash_1.default.isString(comparedValue)) {
|
|
19
19
|
try {
|
|
20
20
|
comparedValue = JSON.parse(comparedValue);
|
|
@@ -22,11 +22,11 @@ class IsEqualTo extends ConditionOperator_1.default {
|
|
|
22
22
|
// eslint-disable-next-line no-empty
|
|
23
23
|
catch (e) { }
|
|
24
24
|
}
|
|
25
|
-
if (
|
|
25
|
+
if (instance && instance.root) {
|
|
26
26
|
const conditionTriggerComponent = instance.root.getComponent(conditionComponentPath);
|
|
27
27
|
if (conditionTriggerComponent
|
|
28
28
|
&& (0, utils_1.isSelectResourceWithObjectValue)(conditionTriggerComponent.component)
|
|
29
|
-
&& ((
|
|
29
|
+
&& ((_a = conditionTriggerComponent.component) === null || _a === void 0 ? void 0 : _a.template)) {
|
|
30
30
|
if (!value || !lodash_1.default.isPlainObject(value)) {
|
|
31
31
|
return false;
|
|
32
32
|
}
|
|
@@ -3361,6 +3361,10 @@ export default class Component extends Element {
|
|
|
3361
3361
|
const disabled = this.shouldDisabled;
|
|
3362
3362
|
// Change states which won't be recalculated during redrawing
|
|
3363
3363
|
if (this.visible !== visible) {
|
|
3364
|
+
// If the logic is triggered by an event and the action sets the hidden state then the original
|
|
3365
|
+
// component definition must be changed so that the components hidden state does not get flipped back by
|
|
3366
|
+
// the fieldLogic function
|
|
3367
|
+
this.originalComponent.hidden = !visible;
|
|
3364
3368
|
this.visible = visible;
|
|
3365
3369
|
}
|
|
3366
3370
|
if (this.disabled !== disabled) {
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
declare namespace _default {
|
|
2
|
+
let components: ({
|
|
3
|
+
label: string;
|
|
4
|
+
action: string;
|
|
5
|
+
showValidations: boolean;
|
|
6
|
+
tableView: boolean;
|
|
7
|
+
key: string;
|
|
8
|
+
type: string;
|
|
9
|
+
event: string;
|
|
10
|
+
input: boolean;
|
|
11
|
+
theme?: undefined;
|
|
12
|
+
collapsible?: undefined;
|
|
13
|
+
hidden?: undefined;
|
|
14
|
+
logic?: undefined;
|
|
15
|
+
collapsed?: undefined;
|
|
16
|
+
components?: undefined;
|
|
17
|
+
applyMaskOn?: undefined;
|
|
18
|
+
} | {
|
|
19
|
+
label: string;
|
|
20
|
+
action: string;
|
|
21
|
+
showValidations: boolean;
|
|
22
|
+
theme: string;
|
|
23
|
+
tableView: boolean;
|
|
24
|
+
key: string;
|
|
25
|
+
type: string;
|
|
26
|
+
event: string;
|
|
27
|
+
input: boolean;
|
|
28
|
+
collapsible?: undefined;
|
|
29
|
+
hidden?: undefined;
|
|
30
|
+
logic?: undefined;
|
|
31
|
+
collapsed?: undefined;
|
|
32
|
+
components?: undefined;
|
|
33
|
+
applyMaskOn?: undefined;
|
|
34
|
+
} | {
|
|
35
|
+
collapsible: boolean;
|
|
36
|
+
hidden: boolean;
|
|
37
|
+
key: string;
|
|
38
|
+
logic: {
|
|
39
|
+
name: string;
|
|
40
|
+
trigger: {
|
|
41
|
+
type: string;
|
|
42
|
+
event: string;
|
|
43
|
+
};
|
|
44
|
+
actions: {
|
|
45
|
+
name: string;
|
|
46
|
+
type: string;
|
|
47
|
+
property: {
|
|
48
|
+
label: string;
|
|
49
|
+
value: string;
|
|
50
|
+
type: string;
|
|
51
|
+
};
|
|
52
|
+
state: boolean;
|
|
53
|
+
}[];
|
|
54
|
+
}[];
|
|
55
|
+
type: string;
|
|
56
|
+
label: string;
|
|
57
|
+
collapsed: boolean;
|
|
58
|
+
input: boolean;
|
|
59
|
+
tableView: boolean;
|
|
60
|
+
components: never[];
|
|
61
|
+
action?: undefined;
|
|
62
|
+
showValidations?: undefined;
|
|
63
|
+
event?: undefined;
|
|
64
|
+
theme?: undefined;
|
|
65
|
+
applyMaskOn?: undefined;
|
|
66
|
+
} | {
|
|
67
|
+
label: string;
|
|
68
|
+
applyMaskOn: string;
|
|
69
|
+
tableView: boolean;
|
|
70
|
+
key: string;
|
|
71
|
+
type: string;
|
|
72
|
+
input: boolean;
|
|
73
|
+
action?: undefined;
|
|
74
|
+
showValidations?: undefined;
|
|
75
|
+
event?: undefined;
|
|
76
|
+
theme?: undefined;
|
|
77
|
+
collapsible?: undefined;
|
|
78
|
+
hidden?: undefined;
|
|
79
|
+
logic?: undefined;
|
|
80
|
+
collapsed?: undefined;
|
|
81
|
+
components?: undefined;
|
|
82
|
+
})[];
|
|
83
|
+
}
|
|
84
|
+
export default _default;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
export default {
|
|
2
|
+
components: [
|
|
3
|
+
{
|
|
4
|
+
"label": "Show",
|
|
5
|
+
"action": "event",
|
|
6
|
+
"showValidations": false,
|
|
7
|
+
"tableView": false,
|
|
8
|
+
"key": "show",
|
|
9
|
+
"type": "button",
|
|
10
|
+
"event": "show",
|
|
11
|
+
"input": true
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"label": "Hide",
|
|
15
|
+
"action": "event",
|
|
16
|
+
"showValidations": false,
|
|
17
|
+
"theme": "danger",
|
|
18
|
+
"tableView": false,
|
|
19
|
+
"key": "hide",
|
|
20
|
+
"type": "button",
|
|
21
|
+
"event": "hide",
|
|
22
|
+
"input": true
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"collapsible": true,
|
|
26
|
+
"hidden": true,
|
|
27
|
+
"key": "panel",
|
|
28
|
+
"logic": [
|
|
29
|
+
{
|
|
30
|
+
"name": "ShowPanel",
|
|
31
|
+
"trigger": {
|
|
32
|
+
"type": "event",
|
|
33
|
+
"event": "show"
|
|
34
|
+
},
|
|
35
|
+
"actions": [
|
|
36
|
+
{
|
|
37
|
+
"name": "Show",
|
|
38
|
+
"type": "property",
|
|
39
|
+
"property": {
|
|
40
|
+
"label": "Hidden",
|
|
41
|
+
"value": "hidden",
|
|
42
|
+
"type": "boolean"
|
|
43
|
+
},
|
|
44
|
+
"state": false
|
|
45
|
+
}
|
|
46
|
+
]
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"name": "HidePanel",
|
|
50
|
+
"trigger": {
|
|
51
|
+
"type": "event",
|
|
52
|
+
"event": "hide"
|
|
53
|
+
},
|
|
54
|
+
"actions": [
|
|
55
|
+
{
|
|
56
|
+
"name": "Hide",
|
|
57
|
+
"type": "property",
|
|
58
|
+
"property": {
|
|
59
|
+
"label": "Hidden",
|
|
60
|
+
"value": "hidden",
|
|
61
|
+
"type": "boolean"
|
|
62
|
+
},
|
|
63
|
+
"state": true
|
|
64
|
+
}
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
],
|
|
68
|
+
"type": "panel",
|
|
69
|
+
"label": "Panel",
|
|
70
|
+
"collapsed": false,
|
|
71
|
+
"input": false,
|
|
72
|
+
"tableView": false,
|
|
73
|
+
"components": []
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"label": "Text Field",
|
|
77
|
+
"applyMaskOn": "change",
|
|
78
|
+
"tableView": true,
|
|
79
|
+
"key": "textField1",
|
|
80
|
+
"type": "textfield",
|
|
81
|
+
"input": true
|
|
82
|
+
}
|
|
83
|
+
]
|
|
84
|
+
};
|