@formio/js 5.0.0-dev.5759.a3476ed → 5.0.0-dev.5760.9e85e8c
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/Changelog.md +1 -0
- package/dist/formio.form.js +6 -6
- package/dist/formio.form.min.js +1 -1
- package/dist/formio.full.js +7 -7
- package/dist/formio.full.min.js +1 -1
- package/lib/cjs/components/day/Day.d.ts +1 -1
- package/lib/cjs/components/day/Day.js +32 -8
- package/lib/cjs/components/file/File.d.ts +1 -1
- package/lib/cjs/components/file/File.js +3 -1
- package/lib/cjs/components/file/editForm/File.edit.display.js +1 -1
- package/lib/cjs/components/radio/Radio.d.ts +2 -18
- package/lib/cjs/components/radio/Radio.js +22 -21
- package/lib/cjs/components/select/Select.js +2 -2
- package/lib/cjs/components/selectboxes/SelectBoxes.d.ts +0 -22
- package/lib/cjs/components/selectboxes/SelectBoxes.js +12 -9
- package/lib/cjs/components/time/Time.js +0 -5
- package/lib/mjs/components/day/Day.d.ts +1 -1
- package/lib/mjs/components/day/Day.js +31 -8
- package/lib/mjs/components/file/File.d.ts +1 -1
- package/lib/mjs/components/file/File.js +3 -1
- package/lib/mjs/components/file/editForm/File.edit.display.js +1 -1
- package/lib/mjs/components/radio/Radio.d.ts +2 -18
- package/lib/mjs/components/radio/Radio.js +25 -24
- package/lib/mjs/components/select/Select.js +2 -2
- package/lib/mjs/components/selectboxes/SelectBoxes.d.ts +0 -22
- package/lib/mjs/components/selectboxes/SelectBoxes.js +16 -9
- package/lib/mjs/components/time/Time.js +0 -11
- package/package.json +1 -1
|
@@ -132,6 +132,6 @@ export default class DayComponent extends Field {
|
|
|
132
132
|
getValueAsString(value: any): string | null;
|
|
133
133
|
focus(field: any): void;
|
|
134
134
|
isPartialDay(value: any): boolean;
|
|
135
|
-
getValidationFormat():
|
|
135
|
+
getValidationFormat(): string;
|
|
136
136
|
}
|
|
137
137
|
import Field from '../_classes/field/Field';
|
|
@@ -30,7 +30,8 @@ class DayComponent extends Field_1.default {
|
|
|
30
30
|
required: false
|
|
31
31
|
}
|
|
32
32
|
},
|
|
33
|
-
dayFirst: false
|
|
33
|
+
dayFirst: false,
|
|
34
|
+
defaultValue: ''
|
|
34
35
|
}, ...extend);
|
|
35
36
|
}
|
|
36
37
|
static get builderInfo() {
|
|
@@ -343,15 +344,21 @@ class DayComponent extends Field_1.default {
|
|
|
343
344
|
const valueParts = value.split('/');
|
|
344
345
|
const [DAY, MONTH, YEAR] = this.component.dayFirst ? [0, 1, 2] : [1, 0, 2];
|
|
345
346
|
const defaultValue = this.component.defaultValue ? this.component.defaultValue.split('/') : '';
|
|
346
|
-
const getNextPart = (shouldTake, defaultValue) =>
|
|
347
|
+
const getNextPart = (shouldTake, defaultValue) => {
|
|
348
|
+
// Only push the part if it's not an empty string
|
|
349
|
+
const part = shouldTake ? valueParts.shift() : defaultValue;
|
|
350
|
+
if (part !== '') {
|
|
351
|
+
dateParts.push(part);
|
|
352
|
+
}
|
|
353
|
+
};
|
|
347
354
|
if (this.dayFirst) {
|
|
348
|
-
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '
|
|
355
|
+
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '');
|
|
349
356
|
}
|
|
350
|
-
getNextPart(this.showMonth, defaultValue ? defaultValue[MONTH] : '
|
|
357
|
+
getNextPart(this.showMonth, defaultValue ? defaultValue[MONTH] : '');
|
|
351
358
|
if (!this.dayFirst) {
|
|
352
|
-
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '
|
|
359
|
+
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '');
|
|
353
360
|
}
|
|
354
|
-
getNextPart(this.showYear, defaultValue ? defaultValue[YEAR] : '
|
|
361
|
+
getNextPart(this.showYear, defaultValue ? defaultValue[YEAR] : '');
|
|
355
362
|
return dateParts.join('/');
|
|
356
363
|
}
|
|
357
364
|
/**
|
|
@@ -558,10 +565,27 @@ class DayComponent extends Field_1.default {
|
|
|
558
565
|
}
|
|
559
566
|
const [DAY, MONTH, YEAR] = this.component.dayFirst ? [0, 1, 2] : [1, 0, 2];
|
|
560
567
|
const values = value.split('/');
|
|
561
|
-
return (values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000');
|
|
568
|
+
// return (values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000');
|
|
569
|
+
return (values[DAY] === '00' ||
|
|
570
|
+
values[MONTH] === '00' ||
|
|
571
|
+
values[YEAR] === '0000' ||
|
|
572
|
+
values[DAY] === '' ||
|
|
573
|
+
values[MONTH] === '' ||
|
|
574
|
+
values[YEAR] === '');
|
|
562
575
|
}
|
|
563
576
|
getValidationFormat() {
|
|
564
|
-
|
|
577
|
+
var _a, _b, _c, _d, _e, _f;
|
|
578
|
+
let validationFormat = this.dayFirst ? 'DD-MM-YYYY' : 'MM-DD-YYYY';
|
|
579
|
+
if ((_b = (_a = this.fields) === null || _a === void 0 ? void 0 : _a.day) === null || _b === void 0 ? void 0 : _b.hide) {
|
|
580
|
+
validationFormat = validationFormat.replace('DD-', '');
|
|
581
|
+
}
|
|
582
|
+
if ((_d = (_c = this.fields) === null || _c === void 0 ? void 0 : _c.month) === null || _d === void 0 ? void 0 : _d.hide) {
|
|
583
|
+
validationFormat = validationFormat.replace('MM-', '');
|
|
584
|
+
}
|
|
585
|
+
if ((_f = (_e = this.fields) === null || _e === void 0 ? void 0 : _e.year) === null || _f === void 0 ? void 0 : _f.hide) {
|
|
586
|
+
validationFormat = validationFormat.replace('-YYYY', '');
|
|
587
|
+
}
|
|
588
|
+
return validationFormat;
|
|
565
589
|
}
|
|
566
590
|
}
|
|
567
591
|
exports.default = DayComponent;
|
|
@@ -151,7 +151,9 @@ class FileComponent extends Field_1.default {
|
|
|
151
151
|
return Boolean(this.filesToSync.filesToDelete.length || this.filesToSync.filesToUpload.length);
|
|
152
152
|
}
|
|
153
153
|
get autoSync() {
|
|
154
|
-
|
|
154
|
+
// Disable autoSync for now
|
|
155
|
+
return false;
|
|
156
|
+
// return _.get(this, 'component.autoSync', false);
|
|
155
157
|
}
|
|
156
158
|
get columnsSize() {
|
|
157
159
|
const actionsColumn = this.disabled ? 0 : this.autoSync ? 2 : 1;
|
|
@@ -8,26 +8,10 @@ export default class RadioComponent extends ListComponent {
|
|
|
8
8
|
schema: any;
|
|
9
9
|
};
|
|
10
10
|
static get conditionOperatorsSettings(): {
|
|
11
|
-
valueComponent(classComp: any):
|
|
12
|
-
type: string;
|
|
13
|
-
dataSrc: string;
|
|
14
|
-
valueProperty: string;
|
|
15
|
-
dataType: any;
|
|
16
|
-
data: {
|
|
17
|
-
custom(): any;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
11
|
+
valueComponent(classComp: any): any;
|
|
20
12
|
};
|
|
21
13
|
static get serverConditionSettings(): {
|
|
22
|
-
valueComponent(classComp: any):
|
|
23
|
-
type: string;
|
|
24
|
-
dataSrc: string;
|
|
25
|
-
valueProperty: string;
|
|
26
|
-
dataType: any;
|
|
27
|
-
data: {
|
|
28
|
-
custom: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
14
|
+
valueComponent(classComp: any): any;
|
|
31
15
|
};
|
|
32
16
|
static savedValueTypes(schema: any): any[];
|
|
33
17
|
constructor(component: any, options: any, data: any);
|
|
@@ -33,31 +33,22 @@ class RadioComponent extends ListComponent_1.default {
|
|
|
33
33
|
}
|
|
34
34
|
static get conditionOperatorsSettings() {
|
|
35
35
|
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { valueComponent(classComp) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
36
|
+
const isValuesSrc = !classComp.dataSrc || classComp.dataSrc === 'values';
|
|
37
|
+
return isValuesSrc
|
|
38
|
+
? {
|
|
39
|
+
type: 'select',
|
|
40
|
+
dataSrc: 'custom',
|
|
41
|
+
valueProperty: 'value',
|
|
42
|
+
dataType: classComp.dataType || '',
|
|
43
|
+
data: {
|
|
44
|
+
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`,
|
|
44
45
|
}
|
|
45
|
-
}
|
|
46
|
-
|
|
46
|
+
}
|
|
47
|
+
: Object.assign(Object.assign({}, classComp), { type: 'select' });
|
|
47
48
|
} });
|
|
48
49
|
}
|
|
49
50
|
static get serverConditionSettings() {
|
|
50
|
-
return
|
|
51
|
-
return {
|
|
52
|
-
type: 'select',
|
|
53
|
-
dataSrc: 'custom',
|
|
54
|
-
valueProperty: 'value',
|
|
55
|
-
dataType: classComp.dataType || '',
|
|
56
|
-
data: {
|
|
57
|
-
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`,
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
} });
|
|
51
|
+
return RadioComponent.conditionOperatorsSettings;
|
|
61
52
|
}
|
|
62
53
|
static savedValueTypes(schema) {
|
|
63
54
|
const { boolean, string, number, object, array } = utils_1.componentValueTypes;
|
|
@@ -264,6 +255,16 @@ class RadioComponent extends ListComponent_1.default {
|
|
|
264
255
|
if (method.toUpperCase() === 'GET') {
|
|
265
256
|
body = null;
|
|
266
257
|
}
|
|
258
|
+
const limit = this.component.limit || 100;
|
|
259
|
+
const skip = this.isScrollLoading ? this.selectOptions.length : 0;
|
|
260
|
+
// Allow for url interpolation.
|
|
261
|
+
url = this.sanitize(this.interpolate(url, {
|
|
262
|
+
formioBase: Formio_1.Formio.getBaseUrl(),
|
|
263
|
+
search,
|
|
264
|
+
limit,
|
|
265
|
+
skip,
|
|
266
|
+
page: Math.abs(Math.floor(skip / limit))
|
|
267
|
+
}), this.shouldSanitizeValue);
|
|
267
268
|
// Set ignoreCache if it is
|
|
268
269
|
options.ignoreCache = this.component.ignoreCache;
|
|
269
270
|
// Make the request.
|
|
@@ -536,13 +536,13 @@ class SelectComponent extends ListComponent_1.default {
|
|
|
536
536
|
skip,
|
|
537
537
|
};
|
|
538
538
|
// Allow for url interpolation.
|
|
539
|
-
url = this.interpolate(url, {
|
|
539
|
+
url = this.sanitize(this.interpolate(url, {
|
|
540
540
|
formioBase: Formio_1.Formio.getBaseUrl(),
|
|
541
541
|
search,
|
|
542
542
|
limit,
|
|
543
543
|
skip,
|
|
544
544
|
page: Math.abs(Math.floor(skip / limit))
|
|
545
|
-
});
|
|
545
|
+
}), this.shouldSanitizeValue);
|
|
546
546
|
// Add search capability.
|
|
547
547
|
if (this.component.searchField && search) {
|
|
548
548
|
const searchValue = Array.isArray(search)
|
|
@@ -1,26 +1,4 @@
|
|
|
1
1
|
export default class SelectBoxesComponent extends RadioComponent {
|
|
2
|
-
static get serverConditionSettings(): {
|
|
3
|
-
valueComponent(classComp: any): {
|
|
4
|
-
type: string;
|
|
5
|
-
dataSrc: string;
|
|
6
|
-
valueProperty: string;
|
|
7
|
-
dataType: string;
|
|
8
|
-
data: {
|
|
9
|
-
custom: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
static get conditionOperatorsSettings(): {
|
|
14
|
-
valueComponent(classComp: any): {
|
|
15
|
-
type: string;
|
|
16
|
-
dataSrc: string;
|
|
17
|
-
valueProperty: string;
|
|
18
|
-
dataType: string;
|
|
19
|
-
data: {
|
|
20
|
-
custom: string;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
2
|
static savedValueTypes(schema: any): string[];
|
|
25
3
|
constructor(...args: any[]);
|
|
26
4
|
get emptyValue(): any;
|
|
@@ -30,15 +30,18 @@ class SelectBoxesComponent extends Radio_1.default {
|
|
|
30
30
|
}
|
|
31
31
|
static get conditionOperatorsSettings() {
|
|
32
32
|
return Object.assign(Object.assign({}, super.conditionOperatorsSettings), { valueComponent(classComp) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
33
|
+
const isValuesSrc = !classComp.dataSrc || classComp.dataSrc === 'values';
|
|
34
|
+
return isValuesSrc
|
|
35
|
+
? {
|
|
36
|
+
type: 'select',
|
|
37
|
+
dataSrc: 'custom',
|
|
38
|
+
valueProperty: 'value',
|
|
39
|
+
dataType: 'string',
|
|
40
|
+
data: {
|
|
41
|
+
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`
|
|
42
|
+
},
|
|
43
|
+
}
|
|
44
|
+
: Object.assign(Object.assign({}, classComp), { dataType: 'string', type: 'select' });
|
|
42
45
|
} });
|
|
43
46
|
}
|
|
44
47
|
static savedValueTypes(schema) {
|
|
@@ -18,11 +18,6 @@ class TimeComponent extends TextField_1.default {
|
|
|
18
18
|
dataFormat: defaultDataFormat,
|
|
19
19
|
}, ...extend);
|
|
20
20
|
}
|
|
21
|
-
static get serverConditionSettings() {
|
|
22
|
-
return Object.assign(Object.assign({}, super.serverConditionSettings), { valueComponent(classComp) {
|
|
23
|
-
return Object.assign(Object.assign({}, classComp), { type: 'time' });
|
|
24
|
-
} });
|
|
25
|
-
}
|
|
26
21
|
constructor(component, options, data) {
|
|
27
22
|
super(component, options, data);
|
|
28
23
|
const { edge: isEdgeBrowser, version: edgeVersion } = (0, utils_1.getBrowserInfo)();
|
|
@@ -132,6 +132,6 @@ export default class DayComponent extends Field {
|
|
|
132
132
|
getValueAsString(value: any): string | null;
|
|
133
133
|
focus(field: any): void;
|
|
134
134
|
isPartialDay(value: any): boolean;
|
|
135
|
-
getValidationFormat():
|
|
135
|
+
getValidationFormat(): string;
|
|
136
136
|
}
|
|
137
137
|
import Field from '../_classes/field/Field';
|
|
@@ -25,7 +25,8 @@ export default class DayComponent extends Field {
|
|
|
25
25
|
required: false
|
|
26
26
|
}
|
|
27
27
|
},
|
|
28
|
-
dayFirst: false
|
|
28
|
+
dayFirst: false,
|
|
29
|
+
defaultValue: ''
|
|
29
30
|
}, ...extend);
|
|
30
31
|
}
|
|
31
32
|
static get builderInfo() {
|
|
@@ -341,15 +342,21 @@ export default class DayComponent extends Field {
|
|
|
341
342
|
const valueParts = value.split('/');
|
|
342
343
|
const [DAY, MONTH, YEAR] = this.component.dayFirst ? [0, 1, 2] : [1, 0, 2];
|
|
343
344
|
const defaultValue = this.component.defaultValue ? this.component.defaultValue.split('/') : '';
|
|
344
|
-
const getNextPart = (shouldTake, defaultValue) =>
|
|
345
|
+
const getNextPart = (shouldTake, defaultValue) => {
|
|
346
|
+
// Only push the part if it's not an empty string
|
|
347
|
+
const part = shouldTake ? valueParts.shift() : defaultValue;
|
|
348
|
+
if (part !== '') {
|
|
349
|
+
dateParts.push(part);
|
|
350
|
+
}
|
|
351
|
+
};
|
|
345
352
|
if (this.dayFirst) {
|
|
346
|
-
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '
|
|
353
|
+
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '');
|
|
347
354
|
}
|
|
348
|
-
getNextPart(this.showMonth, defaultValue ? defaultValue[MONTH] : '
|
|
355
|
+
getNextPart(this.showMonth, defaultValue ? defaultValue[MONTH] : '');
|
|
349
356
|
if (!this.dayFirst) {
|
|
350
|
-
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '
|
|
357
|
+
getNextPart(this.showDay, defaultValue ? defaultValue[DAY] : '');
|
|
351
358
|
}
|
|
352
|
-
getNextPart(this.showYear, defaultValue ? defaultValue[YEAR] : '
|
|
359
|
+
getNextPart(this.showYear, defaultValue ? defaultValue[YEAR] : '');
|
|
353
360
|
return dateParts.join('/');
|
|
354
361
|
}
|
|
355
362
|
/**
|
|
@@ -554,9 +561,25 @@ export default class DayComponent extends Field {
|
|
|
554
561
|
}
|
|
555
562
|
const [DAY, MONTH, YEAR] = this.component.dayFirst ? [0, 1, 2] : [1, 0, 2];
|
|
556
563
|
const values = value.split('/');
|
|
557
|
-
return (values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000');
|
|
564
|
+
// return (values[DAY] === '00' || values[MONTH] === '00' || values[YEAR] === '0000');
|
|
565
|
+
return (values[DAY] === '00' ||
|
|
566
|
+
values[MONTH] === '00' ||
|
|
567
|
+
values[YEAR] === '0000' ||
|
|
568
|
+
values[DAY] === '' ||
|
|
569
|
+
values[MONTH] === '' ||
|
|
570
|
+
values[YEAR] === '');
|
|
558
571
|
}
|
|
559
572
|
getValidationFormat() {
|
|
560
|
-
|
|
573
|
+
let validationFormat = this.dayFirst ? 'DD-MM-YYYY' : 'MM-DD-YYYY';
|
|
574
|
+
if (this.fields?.day?.hide) {
|
|
575
|
+
validationFormat = validationFormat.replace('DD-', '');
|
|
576
|
+
}
|
|
577
|
+
if (this.fields?.month?.hide) {
|
|
578
|
+
validationFormat = validationFormat.replace('MM-', '');
|
|
579
|
+
}
|
|
580
|
+
if (this.fields?.year?.hide) {
|
|
581
|
+
validationFormat = validationFormat.replace('-YYYY', '');
|
|
582
|
+
}
|
|
583
|
+
return validationFormat;
|
|
561
584
|
}
|
|
562
585
|
}
|
|
@@ -140,7 +140,9 @@ export default class FileComponent extends Field {
|
|
|
140
140
|
return Boolean(this.filesToSync.filesToDelete.length || this.filesToSync.filesToUpload.length);
|
|
141
141
|
}
|
|
142
142
|
get autoSync() {
|
|
143
|
-
|
|
143
|
+
// Disable autoSync for now
|
|
144
|
+
return false;
|
|
145
|
+
// return _.get(this, 'component.autoSync', false);
|
|
144
146
|
}
|
|
145
147
|
get columnsSize() {
|
|
146
148
|
const actionsColumn = this.disabled ? 0 : this.autoSync ? 2 : 1;
|
|
@@ -8,26 +8,10 @@ export default class RadioComponent extends ListComponent {
|
|
|
8
8
|
schema: any;
|
|
9
9
|
};
|
|
10
10
|
static get conditionOperatorsSettings(): {
|
|
11
|
-
valueComponent(classComp: any):
|
|
12
|
-
type: string;
|
|
13
|
-
dataSrc: string;
|
|
14
|
-
valueProperty: string;
|
|
15
|
-
dataType: any;
|
|
16
|
-
data: {
|
|
17
|
-
custom(): any;
|
|
18
|
-
};
|
|
19
|
-
};
|
|
11
|
+
valueComponent(classComp: any): any;
|
|
20
12
|
};
|
|
21
13
|
static get serverConditionSettings(): {
|
|
22
|
-
valueComponent(classComp: any):
|
|
23
|
-
type: string;
|
|
24
|
-
dataSrc: string;
|
|
25
|
-
valueProperty: string;
|
|
26
|
-
dataType: any;
|
|
27
|
-
data: {
|
|
28
|
-
custom: string;
|
|
29
|
-
};
|
|
30
|
-
};
|
|
14
|
+
valueComponent(classComp: any): any;
|
|
31
15
|
};
|
|
32
16
|
static savedValueTypes(schema: any): any[];
|
|
33
17
|
constructor(component: any, options: any, data: any);
|
|
@@ -30,35 +30,26 @@ export default class RadioComponent extends ListComponent {
|
|
|
30
30
|
return {
|
|
31
31
|
...super.conditionOperatorsSettings,
|
|
32
32
|
valueComponent(classComp) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
33
|
+
const isValuesSrc = !classComp.dataSrc || classComp.dataSrc === 'values';
|
|
34
|
+
return isValuesSrc
|
|
35
|
+
? {
|
|
36
|
+
type: 'select',
|
|
37
|
+
dataSrc: 'custom',
|
|
38
|
+
valueProperty: 'value',
|
|
39
|
+
dataType: classComp.dataType || '',
|
|
40
|
+
data: {
|
|
41
|
+
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`,
|
|
41
42
|
}
|
|
42
|
-
}
|
|
43
|
-
|
|
43
|
+
}
|
|
44
|
+
: {
|
|
45
|
+
...classComp,
|
|
46
|
+
type: 'select',
|
|
47
|
+
};
|
|
44
48
|
}
|
|
45
49
|
};
|
|
46
50
|
}
|
|
47
51
|
static get serverConditionSettings() {
|
|
48
|
-
return
|
|
49
|
-
...super.serverConditionSettings,
|
|
50
|
-
valueComponent(classComp) {
|
|
51
|
-
return {
|
|
52
|
-
type: 'select',
|
|
53
|
-
dataSrc: 'custom',
|
|
54
|
-
valueProperty: 'value',
|
|
55
|
-
dataType: classComp.dataType || '',
|
|
56
|
-
data: {
|
|
57
|
-
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`,
|
|
58
|
-
},
|
|
59
|
-
};
|
|
60
|
-
},
|
|
61
|
-
};
|
|
52
|
+
return RadioComponent.conditionOperatorsSettings;
|
|
62
53
|
}
|
|
63
54
|
static savedValueTypes(schema) {
|
|
64
55
|
const { boolean, string, number, object, array } = componentValueTypes;
|
|
@@ -264,6 +255,16 @@ export default class RadioComponent extends ListComponent {
|
|
|
264
255
|
if (method.toUpperCase() === 'GET') {
|
|
265
256
|
body = null;
|
|
266
257
|
}
|
|
258
|
+
const limit = this.component.limit || 100;
|
|
259
|
+
const skip = this.isScrollLoading ? this.selectOptions.length : 0;
|
|
260
|
+
// Allow for url interpolation.
|
|
261
|
+
url = this.sanitize(this.interpolate(url, {
|
|
262
|
+
formioBase: Formio.getBaseUrl(),
|
|
263
|
+
search,
|
|
264
|
+
limit,
|
|
265
|
+
skip,
|
|
266
|
+
page: Math.abs(Math.floor(skip / limit))
|
|
267
|
+
}), this.shouldSanitizeValue);
|
|
267
268
|
// Set ignoreCache if it is
|
|
268
269
|
options.ignoreCache = this.component.ignoreCache;
|
|
269
270
|
// Make the request.
|
|
@@ -538,13 +538,13 @@ export default class SelectComponent extends ListComponent {
|
|
|
538
538
|
skip,
|
|
539
539
|
};
|
|
540
540
|
// Allow for url interpolation.
|
|
541
|
-
url = this.interpolate(url, {
|
|
541
|
+
url = this.sanitize(this.interpolate(url, {
|
|
542
542
|
formioBase: Formio.getBaseUrl(),
|
|
543
543
|
search,
|
|
544
544
|
limit,
|
|
545
545
|
skip,
|
|
546
546
|
page: Math.abs(Math.floor(skip / limit))
|
|
547
|
-
});
|
|
547
|
+
}), this.shouldSanitizeValue);
|
|
548
548
|
// Add search capability.
|
|
549
549
|
if (this.component.searchField && search) {
|
|
550
550
|
const searchValue = Array.isArray(search)
|
|
@@ -1,26 +1,4 @@
|
|
|
1
1
|
export default class SelectBoxesComponent extends RadioComponent {
|
|
2
|
-
static get serverConditionSettings(): {
|
|
3
|
-
valueComponent(classComp: any): {
|
|
4
|
-
type: string;
|
|
5
|
-
dataSrc: string;
|
|
6
|
-
valueProperty: string;
|
|
7
|
-
dataType: string;
|
|
8
|
-
data: {
|
|
9
|
-
custom: string;
|
|
10
|
-
};
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
static get conditionOperatorsSettings(): {
|
|
14
|
-
valueComponent(classComp: any): {
|
|
15
|
-
type: string;
|
|
16
|
-
dataSrc: string;
|
|
17
|
-
valueProperty: string;
|
|
18
|
-
dataType: string;
|
|
19
|
-
data: {
|
|
20
|
-
custom: string;
|
|
21
|
-
};
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
2
|
static savedValueTypes(schema: any): string[];
|
|
25
3
|
constructor(...args: any[]);
|
|
26
4
|
get emptyValue(): any;
|
|
@@ -27,15 +27,22 @@ export default class SelectBoxesComponent extends RadioComponent {
|
|
|
27
27
|
return {
|
|
28
28
|
...super.conditionOperatorsSettings,
|
|
29
29
|
valueComponent(classComp) {
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
const isValuesSrc = !classComp.dataSrc || classComp.dataSrc === 'values';
|
|
31
|
+
return isValuesSrc
|
|
32
|
+
? {
|
|
33
|
+
type: 'select',
|
|
34
|
+
dataSrc: 'custom',
|
|
35
|
+
valueProperty: 'value',
|
|
36
|
+
dataType: 'string',
|
|
37
|
+
data: {
|
|
38
|
+
custom: `values = ${classComp && classComp.values ? JSON.stringify(classComp.values) : []}`
|
|
39
|
+
},
|
|
40
|
+
}
|
|
41
|
+
: {
|
|
42
|
+
...classComp,
|
|
43
|
+
dataType: 'string',
|
|
44
|
+
type: 'select',
|
|
45
|
+
};
|
|
39
46
|
}
|
|
40
47
|
};
|
|
41
48
|
}
|
|
@@ -13,17 +13,6 @@ export default class TimeComponent extends TextFieldComponent {
|
|
|
13
13
|
dataFormat: defaultDataFormat,
|
|
14
14
|
}, ...extend);
|
|
15
15
|
}
|
|
16
|
-
static get serverConditionSettings() {
|
|
17
|
-
return {
|
|
18
|
-
...super.serverConditionSettings,
|
|
19
|
-
valueComponent(classComp) {
|
|
20
|
-
return {
|
|
21
|
-
...classComp,
|
|
22
|
-
type: 'time',
|
|
23
|
-
};
|
|
24
|
-
},
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
16
|
constructor(component, options, data) {
|
|
28
17
|
super(component, options, data);
|
|
29
18
|
const { edge: isEdgeBrowser, version: edgeVersion } = getBrowserInfo();
|