@dereekb/dbx-form 9.23.19 → 9.23.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/calendar/lib/calendar.schedule.selection.range.component.d.ts +10 -5
- package/calendar/lib/calendar.schedule.selection.store.d.ts +3 -3
- package/esm2020/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +1 -1
- package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +45 -11
- package/esm2020/calendar/lib/calendar.schedule.selection.store.mjs +13 -5
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +1 -1
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +76 -27
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +44 -3
- package/esm2020/lib/formly/field/value/number/number.field.mjs +3 -3
- package/esm2020/lib/formly/field/value/text/text.field.mjs +3 -3
- package/esm2020/lib/formly/formly.form.component.mjs +2 -4
- package/esm2020/lib/formly/template/timezone.mjs +8 -2
- package/fesm2015/dereekb-dbx-form-calendar.mjs +59 -16
- package/fesm2015/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-form.mjs +122 -43
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form-calendar.mjs +59 -16
- package/fesm2020/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +130 -36
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/formly/_formly.scss +5 -0
- package/lib/formly/field/value/date/_date.scss +11 -0
- package/lib/formly/field/value/date/datetime.field.component.d.ts +29 -9
- package/lib/formly/field/value/date/datetime.field.d.ts +12 -3
- package/mapbox/package.json +4 -4
- package/package.json +4 -4
|
@@ -17,7 +17,7 @@ export function timeOnlyField(config = {}) {
|
|
|
17
17
|
});
|
|
18
18
|
}
|
|
19
19
|
export function dateTimeField(config = {}) {
|
|
20
|
-
const { key = 'date', dateLabel, timeLabel, allDayLabel, atTimeLabel, timeMode = DbxDateTimeFieldTimeMode.REQUIRED, valueMode, fullDayInUTC, fullDayFieldName, getConfigObs, getSyncFieldsObs, hideDatePicker, hideDateHint, timeOnly = false, materialFormField } = config;
|
|
20
|
+
const { key = 'date', dateLabel, timeLabel, allDayLabel, atTimeLabel, timezone, showTimezone, timeMode = DbxDateTimeFieldTimeMode.REQUIRED, valueMode, fullDayInUTC, fullDayFieldName, getConfigObs, getSyncFieldsObs, hideDatePicker, hideDateHint, timeOnly = false, materialFormField } = config;
|
|
21
21
|
const fieldConfig = formlyField({
|
|
22
22
|
key,
|
|
23
23
|
type: 'datetime',
|
|
@@ -31,6 +31,8 @@ export function dateTimeField(config = {}) {
|
|
|
31
31
|
valueMode,
|
|
32
32
|
timeOnly,
|
|
33
33
|
timeMode: timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : timeMode,
|
|
34
|
+
timezone,
|
|
35
|
+
showTimezone,
|
|
34
36
|
fullDayFieldName,
|
|
35
37
|
fullDayInUTC,
|
|
36
38
|
hideDatePicker,
|
|
@@ -44,7 +46,8 @@ export function dateTimeField(config = {}) {
|
|
|
44
46
|
});
|
|
45
47
|
}
|
|
46
48
|
export function dateRangeField(config = {}) {
|
|
47
|
-
const { start, end } = config;
|
|
49
|
+
const { required: inputRequired, start, end, timezone, showTimezone } = config;
|
|
50
|
+
const required = inputRequired ?? start?.required ?? false;
|
|
48
51
|
const startFieldKey = start?.key ?? 'start';
|
|
49
52
|
const endFieldKey = end?.key ?? 'end';
|
|
50
53
|
const startField = dateTimeField({
|
|
@@ -52,6 +55,9 @@ export function dateRangeField(config = {}) {
|
|
|
52
55
|
timeMode: DbxDateTimeFieldTimeMode.NONE,
|
|
53
56
|
getSyncFieldsObs: () => of([{ syncWith: endFieldKey, syncType: 'after' }]),
|
|
54
57
|
...start,
|
|
58
|
+
timezone,
|
|
59
|
+
showTimezone,
|
|
60
|
+
required,
|
|
55
61
|
key: startFieldKey
|
|
56
62
|
});
|
|
57
63
|
const endField = dateTimeField({
|
|
@@ -59,6 +65,9 @@ export function dateRangeField(config = {}) {
|
|
|
59
65
|
timeMode: DbxDateTimeFieldTimeMode.NONE,
|
|
60
66
|
getSyncFieldsObs: () => of([{ syncWith: startFieldKey, syncType: 'before' }]),
|
|
61
67
|
...end,
|
|
68
|
+
timezone,
|
|
69
|
+
showTimezone,
|
|
70
|
+
required,
|
|
62
71
|
key: endFieldKey
|
|
63
72
|
});
|
|
64
73
|
return {
|
|
@@ -66,4 +75,36 @@ export function dateRangeField(config = {}) {
|
|
|
66
75
|
fieldGroup: [flexLayoutWrapper([startField, endField], { size: 1, relative: true })]
|
|
67
76
|
};
|
|
68
77
|
}
|
|
69
|
-
|
|
78
|
+
export function dateTimeRangeField(inputConfig = {}) {
|
|
79
|
+
const { required = false, start: inputStart, end: inputEnd, timezone, showTimezone } = inputConfig;
|
|
80
|
+
function dateTimeRangeFieldConfig(config) {
|
|
81
|
+
return {
|
|
82
|
+
...config,
|
|
83
|
+
required,
|
|
84
|
+
timeMode: DbxDateTimeFieldTimeMode.REQUIRED,
|
|
85
|
+
getSyncFieldsObs: undefined,
|
|
86
|
+
timeOnly: true,
|
|
87
|
+
hideDateHint: true
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const startKey = inputStart?.key ?? 'start';
|
|
91
|
+
const endKey = inputEnd?.key ?? 'end';
|
|
92
|
+
const start = {
|
|
93
|
+
label: 'Start Time',
|
|
94
|
+
...dateTimeRangeFieldConfig(inputStart),
|
|
95
|
+
key: startKey
|
|
96
|
+
};
|
|
97
|
+
const end = {
|
|
98
|
+
label: 'End Time',
|
|
99
|
+
...dateTimeRangeFieldConfig(inputEnd),
|
|
100
|
+
key: endKey
|
|
101
|
+
};
|
|
102
|
+
const config = {
|
|
103
|
+
timezone,
|
|
104
|
+
showTimezone,
|
|
105
|
+
start,
|
|
106
|
+
end
|
|
107
|
+
};
|
|
108
|
+
return dateRangeField(config);
|
|
109
|
+
}
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9kYXRlL2RhdGV0aW1lLmZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFzQixXQUFXLEVBQUUsNEJBQTRCLEVBQW1ELE1BQU0sYUFBYSxDQUFDO0FBQzdJLE9BQU8sRUFBeUIsd0JBQXdCLEVBQStCLE1BQU0sNEJBQTRCLENBQUM7QUFDMUgsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFlBQVksRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBT3hFLE1BQU0sQ0FBQyxNQUFNLGtDQUFrQyxHQUFrRCxHQUFHLEVBQUUsQ0FDcEcsRUFBRSxDQUFDO0lBQ0Qsb0JBQW9CLEVBQUUsSUFBSTtJQUMxQixpQkFBaUIsRUFBRSxJQUFJO0NBQ3hCLENBQUMsQ0FBQztBQUVMOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FBQyxTQUFtQyxFQUFFO0lBQ2pFLE9BQU8sYUFBYSxDQUFDO1FBQ25CLEdBQUcsTUFBTTtRQUNULFFBQVEsRUFBRSx3QkFBd0IsQ0FBQyxRQUFRO1FBQzNDLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELE1BQU0sVUFBVSxhQUFhLENBQUMsU0FBdUMsRUFBRTtJQUNyRSxNQUFNLEVBQUUsR0FBRyxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEdBQUcsd0JBQXdCLENBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBRSxZQUFZ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QUNkLFlBQVksRUFBRSxJQUFJO1NBQ25CLENBQUM7SUFDSixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsVUFBVSxFQUFFLEdBQUcsSUFBSSxPQUFPLENBQUM7SUFDNUMsTUFBTSxNQUFNLEdBQUcsUUFBUSxFQUFFLEdBQUcsSUFBSSxLQUFLLENBQUM7SUFFdEMsTUFBTSxLQUFLLEdBQWlDO1FBQzFDLEtBQUssRUFBRSxZQUFZO1FBQ25CLEdBQUcsd0JBQXdCLENBQUMsVUFBVSxDQUFDO1FBQ3ZDLEdBQUcsRUFBRSxRQUFRO0tBQ2QsQ0FBQztJQUVGLE1BQU0sR0FBRyxHQUFpQztRQUN4QyxLQUFLLEVBQUUsVUFBVTtRQUNqQixHQUFHLHdCQUF3QixDQUFDLFFBQVEsQ0FBQztRQUNyQyxHQUFHLEVBQUUsTUFBTTtLQUNaLENBQUM7SUFFRixNQUFNLE1BQU0sR0FBRztRQUNiLFFBQVE7UUFDUixZQUFZO1FBQ1osS0FBSztRQUNMLEdBQUc7S0FDSixDQUFDO0lBRUYsT0FBTyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7QUFDaEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIG9mIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZywgRGVzY3JpcHRpb25GaWVsZENvbmZpZywgTWF0ZXJpYWxGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9maWVsZCc7XG5pbXBvcnQgeyBEYnhEYXRlVGltZUZpZWxkUHJvcHMsIERieERhdGVUaW1lRmllbGRUaW1lTW9kZSwgRGF0ZVRpbWVQaWNrZXJDb25maWd1cmF0aW9uIH0gZnJvbSAnLi9kYXRldGltZS5maWVsZC5jb21wb25lbnQnO1xuaW1wb3J0IHsgZmxleExheW91dFdyYXBwZXIsIHN0eWxlV3JhcHBlciB9IGZyb20gJy4uLy4uL3dyYXBwZXIvd3JhcHBlcic7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuZXhwb3J0IGludGVyZmFjZSBEYXRlVGltZUZpZWxkQ29uZmlnIGV4dGVuZHMgTGFiZWxlZEZpZWxkQ29uZmlnLCBEZXNjcmlwdGlvbkZpZWxkQ29uZmlnLCBEYnhEYXRlVGltZUZpZWxkUHJvcHMsIE1hdGVyaWFsRm9ybUZpZWxkQ29uZmlnIHt9XG5leHBvcnQgdHlwZSBUaW1lRmllbGRDb25maWcgPSBPbWl0PERhdGVUaW1lRmllbGRDb25maWcsICdzaG93RGF0ZSc+O1xuXG5leHBvcnQgY29uc3QgVEFLRV9ORVhUX1VQQ09NSU5HX1RJTUVfQ09ORklHX09CUzogKCkgPT4gT2JzZXJ2YWJsZTxEYXRlVGltZVBpY2tlckNvbmZpZ3VyYXRpb24+ID0gKCkgPT5cbiAgb2Yoe1xuICAgIHRha2VOZXh0VXBjb21pbmdUaW1lOiB0cnVlLFxuICAgIHJvdW5kRG93blRvTWludXRlOiB0cnVlXG4gIH0pO1xuXG4vKipcbiAqIFNhbWUgYXMgRGF0ZVRpbWUgZmllbGQgYnV0IHdpdGggdGhlIERhdGUgaW5wdXQgaGlkZGVuIGJ5IGRlZmF1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0aW1lT25seUZpZWxkKGNvbmZpZzogUGFydGlhbDxUaW1lRmllbGRDb25maWc+ID0ge30pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIHJldHVybiBkYXRlVGltZUZpZWxkKHtcbiAgICAuLi5jb25maWcsXG4gICAgdGltZU1vZGU6IERieERhdGVUaW1lRmllbGRUaW1lTW9kZS5SRVFVSVJFRCxcbiAgICB0aW1lT25seTogdHJ1ZVxuICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVUaW1lRmllbGQoY29uZmlnOiBQYXJ0aWFsPERhdGVUaW1lRmllbGRDb25maWc+ID0ge30pIHtcbiAgY29uc3QgeyBrZXkgPSAnZGF0ZScsIGRhdGVMYWJlbCwgdGltZUxhYmVsLCBhbGxEYXlMYWJlbCwgYXRUaW1lTGFiZWwsIHRpbWV6b25lLCBzaG93VGltZXpvbmUsIHRpbWVNb2RlID0gRGJ4RGF0ZVRpbWVGaWVsZFRpbWVNb2RlLlJFUVVJUkVELCB2YWx1ZU1vZGUsIGZ1bGxEYXlJblVUQywgZnVsbERheUZpZWxkTmFtZSwgZ2V0Q29uZmlnT2JzLCBnZXRTeW5jRmllbGRzT2JzLCBoaWRlRGF0ZVBpY2tlciwgaGlkZURhdGVIaW50LCB0aW1lT25seSA9IGZhbHNlLCBtYXRlcmlhbEZvcm1GaWVsZCB9ID0gY29uZmlnO1xuXG4gIGNvbnN0IGZpZWxkQ29uZmlnOiBGb3JtbHlGaWVsZENvbmZpZzxEYnhEYXRlVGltZUZpZWxkUHJvcHM+ID0gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0eXBlOiAnZGF0ZXRpbWUnLFxuICAgIC4uLnByb3BzQW5kQ29uZmlnRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICAuLi5tYXRlcmlhbEZvcm1GaWVsZCxcbiAgICAgIGFwcGVhcmFuY2U6ICdzdGFuZGFyZCcsXG4gICAgICBkYXRlTGFiZWwsXG4gICAgICB0aW1lTGFiZWwsXG4gICAgICBhbGxEYXlMYWJlbCxcbiAgICAgIGF0VGltZUxhYmVsLFxuICAgICAgdmFsdWVNb2RlLFxuICAgICAgdGltZU9ubHksXG4gICAgICB0aW1lTW9kZTogdGltZU9ubHkgPyBEYnhEYXRlVGltZUZpZWxkVGltZU1vZGUuUkVRVUlSRUQgOiB0aW1lTW9kZSxcbiAgICAgIHRpbWV6b25lLFxuICAgICAgc2hvd1RpbWV6b25lLFxuICAgICAgZnVsbERheUZpZWxkTmFtZSxcbiAgICAgIGZ1bGxEYXlJblVUQyxcbiAgICAgIGhpZGVEYXRlUGlja2VyLFxuICAgICAgaGlkZURhdGVIaW50LFxuICAgICAgZ2V0Q29uZmlnT2JzLFxuICAgICAgZ2V0U3luY0ZpZWxkc09ic1xuICAgIH0pXG4gIH0pO1xuXG4gIHJldHVybiBzdHlsZVdyYXBwZXIoZmllbGRDb25maWcsIHtcbiAgICBjbGFzc0dldHRlcjogJ2RieC1tYXQtZm9ybS1maWVsZC1kaXNhYmxlLXVuZGVybGluZSBkYngtbWF0LWZvcm0tZGF0ZS10aW1lLWZpZWxkLXdyYXBwZXInXG4gIH0pO1xufVxuXG5leHBvcnQgdHlwZSBEYXRlRGF0ZVJhbmdlRmllbGREYXRlQ29uZmlnID0gT21pdDxEYXRlVGltZUZpZWxkQ29uZmlnLCAnZGF0ZUxhYmVsJyB8ICd0aW1lT25seScgfCAndGltZU1vZGUnIHwgJ2dldFN5bmNGaWVsZHNPYnMnIHwgJ3RpbWV6b25lJyB8ICdzaG93VGltZXpvbmUnPjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRlRGF0ZVJhbmdlRmllbGRDb25maWcgZXh0ZW5kcyBQaWNrPERhdGVUaW1lRmllbGRDb25maWcsICd0aW1lem9uZScgfCAnc2hvd1RpbWV6b25lJz4ge1xuICByZXF1aXJlZD86IGJvb2xlYW47XG4gIHN0YXJ0PzogUGFydGlhbDxEYXRlRGF0ZVJhbmdlRmllbGREYXRlQ29uZmlnPjtcbiAgZW5kPzogUGFydGlhbDxEYXRlRGF0ZVJhbmdlRmllbGREYXRlQ29uZmlnPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRhdGVSYW5nZUZpZWxkKGNvbmZpZzogRGF0ZURhdGVSYW5nZUZpZWxkQ29uZmlnID0ge30pOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsgcmVxdWlyZWQ6IGlucHV0UmVxdWlyZWQsIHN0YXJ0LCBlbmQsIHRpbWV6b25lLCBzaG93VGltZXpvbmUgfSA9IGNvbmZpZztcbiAgY29uc3QgcmVxdWlyZWQgPSBpbnB1dFJlcXVpcmVkID8/IHN0YXJ0Py5yZXF1aXJlZCA/PyBmYWxzZTtcblxuICBjb25zdCBzdGFydEZpZWxkS2V5ID0gc3RhcnQ/LmtleSA/PyAnc3RhcnQnO1xuICBjb25zdCBlbmRGaWVsZEtleSA9IGVuZD8ua2V5ID8/ICdlbmQnO1xuXG4gIGNvbnN0IHN0YXJ0RmllbGQgPSBkYXRlVGltZUZpZWxkKHtcbiAgICBkYXRlTGFiZWw6ICdTdGFydCcsXG4gICAgdGltZU1vZGU6IERieERhdGVUaW1lRmllbGRUaW1lTW9kZS5OT05FLFxuICAgIGdldFN5bmNGaWVsZHNPYnM6ICgpID0+IG9mKFt7IHN5bmNXaXRoOiBlbmRGaWVsZEtleSwgc3luY1R5cGU6ICdhZnRlcicgfV0pLFxuICAgIC4uLnN0YXJ0LFxuICAgIHRpbWV6b25lLFxuICAgIHNob3dUaW1lem9uZSxcbiAgICByZXF1aXJlZCxcbiAgICBrZXk6IHN0YXJ0RmllbGRLZXlcbiAgfSk7XG5cbiAgY29uc3QgZW5kRmllbGQgPSBkYXRlVGltZUZpZWxkKHtcbiAgICBkYXRlTGFiZWw6ICdFbmQnLFxuICAgIHRpbWVNb2RlOiBEYnhEYXRlVGltZUZpZWxkVGltZU1vZGUuTk9ORSxcbiAgICBnZXRTeW5jRmllbGRzT2JzOiAoKSA9PiBvZihbeyBzeW5jV2l0aDogc3RhcnRGaWVsZEtleSwgc3luY1R5cGU6ICdiZWZvcmUnIH1dKSxcbiAgICAuLi5lbmQsXG4gICAgdGltZXpvbmUsXG4gICAgc2hvd1RpbWV6b25lLFxuICAgIHJlcXVpcmVkLFxuICAgIGtleTogZW5kRmllbGRLZXlcbiAgfSk7XG5cbiAgcmV0dXJuIHtcbiAgICBrZXk6IHVuZGVmaW5lZCxcbiAgICBmaWVsZEdyb3VwOiBbZmxleExheW91dFdyYXBwZXIoW3N0YXJ0RmllbGQsIGVuZEZpZWxkXSwgeyBzaXplOiAxLCByZWxhdGl2ZTogdHJ1ZSB9KV1cbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgRGF0ZVRpbWVSYW5nZUZpZWxkVGltZUNvbmZpZyA9IE9taXQ8RGF0ZURhdGVSYW5nZUZpZWxkRGF0ZUNvbmZpZywgJ2FsbERheUxhYmVsJyB8ICdmdWxsRGF5RmllbGROYW1lJyB8ICdmdWxsRGF5SW5VVEMnIHwgJ3RpbWV6b25lJyB8ICdzaG93VGltZXpvbmUnPjtcblxuZXhwb3J0IGludGVyZmFjZSBEYXRlRGF0ZVRpbWVSYW5nZUZpZWxkQ29uZmlnIGV4dGVuZHMgUGljazxEYXRlVGltZUZpZWxkQ29uZmlnLCAndGltZXpvbmUnIHwgJ3Nob3dUaW1lem9uZSc+IHtcbiAgcmVxdWlyZWQ/OiBib29sZWFuO1xuICBzdGFydD86IFBhcnRpYWw8RGF0ZVRpbWVSYW5nZUZpZWxkVGltZUNvbmZpZz47XG4gIGVuZD86IFBhcnRpYWw8RGF0ZVRpbWVSYW5nZUZpZWxkVGltZUNvbmZpZz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBkYXRlVGltZVJhbmdlRmllbGQoaW5wdXRDb25maWc6IERhdGVEYXRlVGltZVJhbmdlRmllbGRDb25maWcgPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgeyByZXF1aXJlZCA9IGZhbHNlLCBzdGFydDogaW5wdXRTdGFydCwgZW5kOiBpbnB1dEVuZCwgdGltZXpvbmUsIHNob3dUaW1lem9uZSB9ID0gaW5wdXRDb25maWc7XG5cbiAgZnVuY3Rpb24gZGF0ZVRpbWVSYW5nZUZpZWxkQ29uZmlnKGNvbmZpZzogTWF5YmU8UGFydGlhbDxEYXRlVGltZVJhbmdlRmllbGRUaW1lQ29uZmlnPj4pOiBQYXJ0aWFsPERhdGVUaW1lRmllbGRDb25maWc+IHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcmVxdWlyZWQsXG4gICAgICB0aW1lTW9kZTogRGJ4RGF0ZVRpbWVGaWVsZFRpbWVNb2RlLlJFUVVJUkVELFxuICAgICAgZ2V0U3luY0ZpZWxkc09iczogdW5kZWZpbmVkLFxuICAgICAgdGltZU9ubHk6IHRydWUsXG4gICAgICBoaWRlRGF0ZUhpbnQ6IHRydWVcbiAgICB9O1xuICB9XG5cbiAgY29uc3Qgc3RhcnRLZXkgPSBpbnB1dFN0YXJ0Py5rZXkgPz8gJ3N0YXJ0JztcbiAgY29uc3QgZW5kS2V5ID0gaW5wdXRFbmQ/LmtleSA/PyAnZW5kJztcblxuICBjb25zdCBzdGFydDogUGFydGlhbDxEYXRlVGltZUZpZWxkQ29uZmlnPiA9IHtcbiAgICBsYWJlbDogJ1N0YXJ0IFRpbWUnLFxuICAgIC4uLmRhdGVUaW1lUmFuZ2VGaWVsZENvbmZpZyhpbnB1dFN0YXJ0KSxcbiAgICBrZXk6IHN0YXJ0S2V5XG4gIH07XG5cbiAgY29uc3QgZW5kOiBQYXJ0aWFsPERhdGVUaW1lRmllbGRDb25maWc+ID0ge1xuICAgIGxhYmVsOiAnRW5kIFRpbWUnLFxuICAgIC4uLmRhdGVUaW1lUmFuZ2VGaWVsZENvbmZpZyhpbnB1dEVuZCksXG4gICAga2V5OiBlbmRLZXlcbiAgfTtcblxuICBjb25zdCBjb25maWcgPSB7XG4gICAgdGltZXpvbmUsXG4gICAgc2hvd1RpbWV6b25lLFxuICAgIHN0YXJ0LFxuICAgIGVuZFxuICB9O1xuXG4gIHJldHVybiBkYXRlUmFuZ2VGaWVsZChjb25maWcpO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { concatArrays, transformNumberFunction } from '@dereekb/util';
|
|
1
|
+
import { concatArrays, transformNumberFunction, mapMaybeFunction } from '@dereekb/util';
|
|
2
2
|
import { isDivisibleBy } from '../../../../validator';
|
|
3
3
|
import { formlyField, propsAndConfigForFieldConfig, validatorsForFieldConfig } from '../../field';
|
|
4
4
|
export function numberFieldTransformParser(config) {
|
|
@@ -8,7 +8,7 @@ export function numberFieldTransformParser(config) {
|
|
|
8
8
|
parsers = inputParsers;
|
|
9
9
|
}
|
|
10
10
|
if (transform) {
|
|
11
|
-
const transformParser = transformNumberFunction(transform);
|
|
11
|
+
const transformParser = mapMaybeFunction(transformNumberFunction(transform));
|
|
12
12
|
parsers = concatArrays([transformParser], parsers);
|
|
13
13
|
}
|
|
14
14
|
return parsers;
|
|
@@ -39,4 +39,4 @@ export function numberField(config) {
|
|
|
39
39
|
export function dollarAmountField(config) {
|
|
40
40
|
return numberField({ ...config, transform: { ...config.transform, precision: 2 } });
|
|
41
41
|
}
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtYmVyLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvbnVtYmVyL251bWJlci5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFvQyx1QkFBdUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUxSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUE2QyxXQUFXLEVBQUUsNEJBQTRCLEVBQTBCLHdCQUF3QixFQUFxRSxNQUFNLGFBQWEsQ0FBQztBQWV4TyxNQUFNLFVBQVUsMEJBQTBCLENBQUMsTUFBa0Y7SUFDM0gsTUFBTSxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ3BELElBQUksT0FBd0MsQ0FBQztJQUU3QyxJQUFJLFlBQVksRUFBRTtRQUNoQixPQUFPLEdBQUcsWUFBWSxDQUFDO0tBQ3hCO0lBRUQsSUFBSSxTQUFTLEVBQUU7UUFDYixNQUFNLGVBQWUsR0FBc0IsZ0JBQWdCLENBQUMsdUJBQXVCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztRQUNoRyxPQUFPLEdBQUcsWUFBWSxDQUFDLENBQUMsZUFBZSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7S0FDcEQ7SUFFRCxPQUFPLE9BQU8sQ0FBQztBQUNqQixDQUFDO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxNQUF5QjtJQUNuRCxNQUFNLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsSUFBSSxHQUFHLFFBQVEsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNuRyxNQUFNLE9BQU8sR0FBRywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVuRCxNQUFNLFVBQVUsR0FBa0IsRUFBRSxDQUFDO0lBRXJDLElBQUksSUFBSSxJQUFJLFdBQVcsRUFBRTtRQUN2QixVQUFVLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO0tBQ3RDO0lBRUQsT0FBTyxXQUFXLENBQUM7UUFDakIsR0FBRztRQUNILElBQUksRUFBRSxPQUFPO1FBQ2IsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsR0FBRyxpQkFBaUI7WUFDcEIsSUFBSTtZQUNKLEdBQUc7WUFDSCxHQUFHO1lBQ0gsSUFBSTtTQUNMLENBQUM7UUFDRixHQUFHLHdCQUF3QixDQUFDO1lBQzFCLFVBQVU7U0FDWCxDQUFDO1FBQ0YsT0FBTztLQUNSLENBQUMsQ0FBQztBQUNMLENBQUM7QUFJRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBK0I7SUFDL0QsT0FBTyxXQUFXLENBQUMsRUFBRSxHQUFHLE1BQU0sRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLE1BQU0sQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN0RixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdG9yRm4gfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBjb25jYXRBcnJheXMsIFRyYW5zZm9ybU51bWJlckZ1bmN0aW9uQ29uZmlnUmVmLCB0cmFuc2Zvcm1OdW1iZXJGdW5jdGlvbiwgbWFwTWF5YmVGdW5jdGlvbiB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IGlzRGl2aXNpYmxlQnkgfSBmcm9tICcuLi8uLi8uLi8uLi92YWxpZGF0b3InO1xuaW1wb3J0IHsgQXR0cmlidXRlc0ZpZWxkQ29uZmlnLCBMYWJlbGVkRmllbGRDb25maWcsIGZvcm1seUZpZWxkLCBwcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnLCBEZXNjcmlwdGlvbkZpZWxkQ29uZmlnLCB2YWxpZGF0b3JzRm9yRmllbGRDb25maWcsIEZpZWxkQ29uZmlnUGFyc2Vyc1JlZiwgRm9ybWx5VmFsdWVQYXJzZXIsIE1hdGVyaWFsRm9ybUZpZWxkQ29uZmlnIH0gZnJvbSAnLi4vLi4vZmllbGQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIE51bWJlckZpZWxkTnVtYmVyQ29uZmlnIHtcbiAgbWluPzogbnVtYmVyO1xuICBtYXg/OiBudW1iZXI7XG4gIHN0ZXA/OiBudW1iZXI7XG4gIGVuZm9yY2VTdGVwPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IHR5cGUgTnVtYmVyRmllbGRJbnB1dFR5cGUgPSAnbnVtYmVyJztcblxuZXhwb3J0IGludGVyZmFjZSBOdW1iZXJGaWVsZENvbmZpZyBleHRlbmRzIExhYmVsZWRGaWVsZENvbmZpZywgRGVzY3JpcHRpb25GaWVsZENvbmZpZywgTnVtYmVyRmllbGROdW1iZXJDb25maWcsIEF0dHJpYnV0ZXNGaWVsZENvbmZpZywgUGFydGlhbDxUcmFuc2Zvcm1OdW1iZXJGdW5jdGlvbkNvbmZpZ1JlZj4sIE1hdGVyaWFsRm9ybUZpZWxkQ29uZmlnIHtcbiAgaW5wdXRUeXBlPzogTnVtYmVyRmllbGRJbnB1dFR5cGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBudW1iZXJGaWVsZFRyYW5zZm9ybVBhcnNlcihjb25maWc6IFBhcnRpYWw8RmllbGRDb25maWdQYXJzZXJzUmVmPiAmIFBhcnRpYWw8VHJhbnNmb3JtTnVtYmVyRnVuY3Rpb25Db25maWdSZWY+KSB7XG4gIGNvbnN0IHsgcGFyc2VyczogaW5wdXRQYXJzZXJzLCB0cmFuc2Zvcm0gfSA9IGNvbmZpZztcbiAgbGV0IHBhcnNlcnM6IEZvcm1seVZhbHVlUGFyc2VyW10gfCB1bmRlZmluZWQ7XG5cbiAgaWYgKGlucHV0UGFyc2Vycykge1xuICAgIHBhcnNlcnMgPSBpbnB1dFBhcnNlcnM7XG4gIH1cblxuICBpZiAodHJhbnNmb3JtKSB7XG4gICAgY29uc3QgdHJhbnNmb3JtUGFyc2VyOiBGb3JtbHlWYWx1ZVBhcnNlciA9IG1hcE1heWJlRnVuY3Rpb24odHJhbnNmb3JtTnVtYmVyRnVuY3Rpb24odHJhbnNmb3JtKSk7XG4gICAgcGFyc2VycyA9IGNvbmNhdEFycmF5cyhbdHJhbnNmb3JtUGFyc2VyXSwgcGFyc2Vycyk7XG4gIH1cblxuICByZXR1cm4gcGFyc2Vycztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG51bWJlckZpZWxkKGNvbmZpZzogTnVtYmVyRmllbGRDb25maWcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsga2V5LCBtaW4sIG1heCwgc3RlcCwgZW5mb3JjZVN0ZXAsIGlucHV0VHlwZTogdHlwZSA9ICdudW1iZXInLCBtYXRlcmlhbEZvcm1GaWVsZCB9ID0gY29uZmlnO1xuICBjb25zdCBwYXJzZXJzID0gbnVtYmVyRmllbGRUcmFuc2Zvcm1QYXJzZXIoY29uZmlnKTtcblxuICBjb25zdCB2YWxpZGF0b3JzOiBWYWxpZGF0b3JGbltdID0gW107XG5cbiAgaWYgKHN0ZXAgJiYgZW5mb3JjZVN0ZXApIHtcbiAgICB2YWxpZGF0b3JzLnB1c2goaXNEaXZpc2libGVCeShzdGVwKSk7XG4gIH1cblxuICByZXR1cm4gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIC4uLnByb3BzQW5kQ29uZmlnRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICAuLi5tYXRlcmlhbEZvcm1GaWVsZCxcbiAgICAgIHR5cGUsXG4gICAgICBtaW4sXG4gICAgICBtYXgsXG4gICAgICBzdGVwXG4gICAgfSksXG4gICAgLi4udmFsaWRhdG9yc0ZvckZpZWxkQ29uZmlnKHtcbiAgICAgIHZhbGlkYXRvcnNcbiAgICB9KSxcbiAgICBwYXJzZXJzXG4gIH0pO1xufVxuXG5leHBvcnQgdHlwZSBEb2xsYXJBbW91bnRGaWVsZENvbmZpZyA9IE9taXQ8TnVtYmVyRmllbGRDb25maWcsICdyb3VuZFRvU3RlcCcgfCAncHJlY2lzaW9uJz47XG5cbmV4cG9ydCBmdW5jdGlvbiBkb2xsYXJBbW91bnRGaWVsZChjb25maWc6IERvbGxhckFtb3VudEZpZWxkQ29uZmlnKSB7XG4gIHJldHVybiBudW1iZXJGaWVsZCh7IC4uLmNvbmZpZywgdHJhbnNmb3JtOiB7IC4uLmNvbmZpZy50cmFuc2Zvcm0sIHByZWNpc2lvbjogMiB9IH0pO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { concatArrays, transformStringFunction } from '@dereekb/util';
|
|
1
|
+
import { concatArrays, mapMaybeFunction, transformStringFunction } from '@dereekb/util';
|
|
2
2
|
import { formlyField, propsAndConfigForFieldConfig } from '../../field';
|
|
3
3
|
export function textFieldTransformParser(config) {
|
|
4
4
|
const { parsers: inputParsers, transform } = config;
|
|
@@ -7,7 +7,7 @@ export function textFieldTransformParser(config) {
|
|
|
7
7
|
parsers = inputParsers;
|
|
8
8
|
}
|
|
9
9
|
if (transform) {
|
|
10
|
-
const transformParser = transformStringFunction(transform);
|
|
10
|
+
const transformParser = mapMaybeFunction(transformStringFunction(transform));
|
|
11
11
|
parsers = concatArrays([transformParser], parsers);
|
|
12
12
|
}
|
|
13
13
|
return parsers;
|
|
@@ -44,4 +44,4 @@ export function textAreaField(config) {
|
|
|
44
44
|
parsers
|
|
45
45
|
});
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3ZhbHVlL3RleHQvdGV4dC5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFtRSxNQUFNLGVBQWUsQ0FBQztBQUV6SixPQUFPLEVBQTZDLFdBQVcsRUFBRSw0QkFBNEIsRUFBNkYsTUFBTSxhQUFhLENBQUM7QUFrQjlNLE1BQU0sVUFBVSx3QkFBd0IsQ0FBQyxNQUFrRjtJQUN6SCxNQUFNLEVBQUUsT0FBTyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDcEQsSUFBSSxPQUF3QyxDQUFDO0lBRTdDLElBQUksWUFBWSxFQUFFO1FBQ2hCLE9BQU8sR0FBRyxZQUFZLENBQUM7S0FDeEI7SUFFRCxJQUFJLFNBQVMsRUFBRTtRQUNiLE1BQU0sZUFBZSxHQUFzQixnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDO1FBQ2hHLE9BQU8sR0FBRyxZQUFZLENBQUMsQ0FBQyxlQUFlLENBQUMsRUFBRSxPQUFPLENBQUMsQ0FBQztLQUNwRDtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFVBQVUsU0FBUyxDQUFDLE1BQXVCO0lBQy9DLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxJQUFJLEdBQUcsTUFBTSxFQUFFLGlCQUFpQixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQzlHLE1BQU0sT0FBTyxHQUFHLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRWpELE9BQU8sV0FBVyxDQUFDO1FBQ2pCLEdBQUc7UUFDSCxJQUFJLEVBQUUsT0FBTztRQUNiLEdBQUcsNEJBQTRCLENBQUMsTUFBTSxFQUFFO1lBQ3RDLEdBQUcsaUJBQWlCO1lBQ3BCLElBQUk7WUFDSixTQUFTO1lBQ1QsU0FBUztZQUNULE9BQU87U0FDUixDQUFDO1FBQ0YsT0FBTztLQUNSLENBQUMsQ0FBQztBQUNMLENBQUM7QUFNRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQTJCO0lBQ3ZELE1BQU0sRUFBRSxHQUFHLEVBQUUsSUFBSSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNuRixNQUFNLE9BQU8sR0FBRyx3QkFBd0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUVqRCxPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsSUFBSSxFQUFFLFVBQVU7UUFDaEIsR0FBRyw0QkFBNEIsQ0FBQyxNQUFNLEVBQUU7WUFDdEMsR0FBRyxpQkFBaUI7WUFDcEIsSUFBSTtZQUNKLFNBQVM7WUFDVCxTQUFTO1lBQ1QsT0FBTztTQUNSLENBQUM7UUFDRixPQUFPO0tBQ1IsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvbmNhdEFycmF5cywgbWFwTWF5YmVGdW5jdGlvbiwgdHJhbnNmb3JtU3RyaW5nRnVuY3Rpb24sIFRyYW5zZm9ybVN0cmluZ0Z1bmN0aW9uQ29uZmlnLCBUcmFuc2Zvcm1TdHJpbmdGdW5jdGlvbkNvbmZpZ1JlZiB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEF0dHJpYnV0ZXNGaWVsZENvbmZpZywgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgcHJvcHNBbmRDb25maWdGb3JGaWVsZENvbmZpZywgRGVzY3JpcHRpb25GaWVsZENvbmZpZywgRm9ybWx5VmFsdWVQYXJzZXIsIEZpZWxkQ29uZmlnUGFyc2Vyc1JlZiwgTWF0ZXJpYWxGb3JtRmllbGRDb25maWcgfSBmcm9tICcuLi8uLi9maWVsZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEZpZWxkTGVuZ3RoQ29uZmlnIHtcbiAgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEZpZWxkUGF0dGVybkNvbmZpZyB7XG4gIHBhdHRlcm4/OiBzdHJpbmcgfCBSZWdFeHA7XG59XG5cbmV4cG9ydCB0eXBlIFRleHRGaWVsZElucHV0VHlwZSA9ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnZW1haWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRGaWVsZENvbmZpZyBleHRlbmRzIExhYmVsZWRGaWVsZENvbmZpZywgRGVzY3JpcHRpb25GaWVsZENvbmZpZywgVGV4dEZpZWxkUGF0dGVybkNvbmZpZywgVGV4dEZpZWxkTGVuZ3RoQ29uZmlnLCBBdHRyaWJ1dGVzRmllbGRDb25maWcsIFBhcnRpYWw8VHJhbnNmb3JtU3RyaW5nRnVuY3Rpb25Db25maWdSZWY+LCBNYXRlcmlhbEZvcm1GaWVsZENvbmZpZyB7XG4gIGlucHV0VHlwZT86IFRleHRGaWVsZElucHV0VHlwZTtcbiAgdHJhbnNmb3JtPzogVHJhbnNmb3JtU3RyaW5nRnVuY3Rpb25Db25maWc7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0RmllbGRUcmFuc2Zvcm1QYXJzZXIoY29uZmlnOiBQYXJ0aWFsPEZpZWxkQ29uZmlnUGFyc2Vyc1JlZj4gJiBQYXJ0aWFsPFRyYW5zZm9ybVN0cmluZ0Z1bmN0aW9uQ29uZmlnUmVmPikge1xuICBjb25zdCB7IHBhcnNlcnM6IGlucHV0UGFyc2VycywgdHJhbnNmb3JtIH0gPSBjb25maWc7XG4gIGxldCBwYXJzZXJzOiBGb3JtbHlWYWx1ZVBhcnNlcltdIHwgdW5kZWZpbmVkO1xuXG4gIGlmIChpbnB1dFBhcnNlcnMpIHtcbiAgICBwYXJzZXJzID0gaW5wdXRQYXJzZXJzO1xuICB9XG5cbiAgaWYgKHRyYW5zZm9ybSkge1xuICAgIGNvbnN0IHRyYW5zZm9ybVBhcnNlcjogRm9ybWx5VmFsdWVQYXJzZXIgPSBtYXBNYXliZUZ1bmN0aW9uKHRyYW5zZm9ybVN0cmluZ0Z1bmN0aW9uKHRyYW5zZm9ybSkpO1xuICAgIHBhcnNlcnMgPSBjb25jYXRBcnJheXMoW3RyYW5zZm9ybVBhcnNlcl0sIHBhcnNlcnMpO1xuICB9XG5cbiAgcmV0dXJuIHBhcnNlcnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0RmllbGQoY29uZmlnOiBUZXh0RmllbGRDb25maWcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsgdHJhbnNmb3JtLCBrZXksIHBhdHRlcm4sIG1pbkxlbmd0aCwgbWF4TGVuZ3RoLCBpbnB1dFR5cGU6IHR5cGUgPSAndGV4dCcsIG1hdGVyaWFsRm9ybUZpZWxkIH0gPSBjb25maWc7XG4gIGNvbnN0IHBhcnNlcnMgPSB0ZXh0RmllbGRUcmFuc2Zvcm1QYXJzZXIoY29uZmlnKTtcblxuICByZXR1cm4gZm9ybWx5RmllbGQoe1xuICAgIGtleSxcbiAgICB0eXBlOiAnaW5wdXQnLFxuICAgIC4uLnByb3BzQW5kQ29uZmlnRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICAuLi5tYXRlcmlhbEZvcm1GaWVsZCxcbiAgICAgIHR5cGUsXG4gICAgICBtaW5MZW5ndGgsXG4gICAgICBtYXhMZW5ndGgsXG4gICAgICBwYXR0ZXJuXG4gICAgfSksXG4gICAgcGFyc2Vyc1xuICB9KTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUZXh0QXJlYUZpZWxkQ29uZmlnIGV4dGVuZHMgTGFiZWxlZEZpZWxkQ29uZmlnLCBEZXNjcmlwdGlvbkZpZWxkQ29uZmlnLCBUZXh0RmllbGRQYXR0ZXJuQ29uZmlnLCBUZXh0RmllbGRMZW5ndGhDb25maWcsIEF0dHJpYnV0ZXNGaWVsZENvbmZpZywgUGFydGlhbDxUcmFuc2Zvcm1TdHJpbmdGdW5jdGlvbkNvbmZpZ1JlZj4sIE1hdGVyaWFsRm9ybUZpZWxkQ29uZmlnIHtcbiAgcm93cz86IG51bWJlcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRleHRBcmVhRmllbGQoY29uZmlnOiBUZXh0QXJlYUZpZWxkQ29uZmlnKTogRm9ybWx5RmllbGRDb25maWcge1xuICBjb25zdCB7IGtleSwgcm93cyA9IDMsIHBhdHRlcm4sIG1pbkxlbmd0aCwgbWF4TGVuZ3RoLCBtYXRlcmlhbEZvcm1GaWVsZCB9ID0gY29uZmlnO1xuICBjb25zdCBwYXJzZXJzID0gdGV4dEZpZWxkVHJhbnNmb3JtUGFyc2VyKGNvbmZpZyk7XG5cbiAgcmV0dXJuIGZvcm1seUZpZWxkKHtcbiAgICBrZXksXG4gICAgdHlwZTogJ3RleHRhcmVhJyxcbiAgICAuLi5wcm9wc0FuZENvbmZpZ0ZvckZpZWxkQ29uZmlnKGNvbmZpZywge1xuICAgICAgLi4ubWF0ZXJpYWxGb3JtRmllbGQsXG4gICAgICByb3dzLFxuICAgICAgbWluTGVuZ3RoLFxuICAgICAgbWF4TGVuZ3RoLFxuICAgICAgcGF0dGVyblxuICAgIH0pLFxuICAgIHBhcnNlcnNcbiAgfSk7XG59XG4iXX0=
|
|
@@ -78,9 +78,7 @@ export class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
78
78
|
else {
|
|
79
79
|
return of(state);
|
|
80
80
|
}
|
|
81
|
-
})
|
|
82
|
-
// tapLog('Change: ')
|
|
83
|
-
)), shareReplay(1));
|
|
81
|
+
}))), shareReplay(1));
|
|
84
82
|
}
|
|
85
83
|
ngOnInit() {
|
|
86
84
|
this.context.setDelegate(this);
|
|
@@ -181,4 +179,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
181
179
|
}
|
|
182
180
|
}]
|
|
183
181
|
}], ctorParameters: function () { return [{ type: i1.DbxFormlyContext }]; } });
|
|
184
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZm9ybWx5LmZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUE2QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekksT0FBTyxFQUFFLGdCQUFnQixFQUFpRCxNQUFNLGtCQUFrQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQXlCLG9DQUFvQyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRbkc7O0dBRUc7QUFjSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsNkJBQTZCO0lBMEYxRSxZQUE2QixPQUE0QjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQXpGakQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUF5QyxTQUFTLENBQUMsQ0FBQztRQUNq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LEVBQUUsQ0FBQyxDQUFDO0lBQy9CLENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLG9DQUFvQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVELElBQUksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELFdBQVcsQ0FBQyxHQUF3QixFQUFFLFFBQVEsR0FBRyxJQUFJO1FBQ25ELElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLG9DQUFvQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLEdBQUcsSUFBSSx5QkFBeUIsRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDO0lBQzNILENBQUM7SUFFRCxlQUFlO0lBQ2YsZUFBZTtRQUNiLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDM0IsQ0FBQzs7b0hBekxVLHNCQUFzQjt3R0FBdEIsc0JBQXNCLDZFQUx0QixxQkFBcUIsQ0FBQyxzQkFBc0IsQ0FBQyx1RUFMOUM7Ozs7R0FJVDs0RkFNVSxzQkFBc0I7a0JBYmxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLFlBQVk7b0JBQ3RCLFFBQVEsRUFBRSxRQUFRO29CQUNsQixRQUFRLEVBQUU7Ozs7R0FJVDtvQkFDRCxTQUFTLEVBQUUscUJBQXFCLHdCQUF3QjtvQkFDeEQsSUFBSSxFQUFFO3dCQUNKLEtBQUssRUFBRSxZQUFZO3FCQUNwQjtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGb3JtT3B0aW9ucyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCwgdGhyb3R0bGVUaW1lLCBzdGFydFdpdGgsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgc3dpdGNoTWFwLCBzaGFyZVJlcGxheSwgb2YsIHNjYW4sIGZpbHRlciwgdGltZXIsIGZpcnN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IERieEZvcm0sIERieEZvcm1EaXNhYmxlZEtleSwgRGJ4Rm9ybUV2ZW50LCBEYnhGb3JtU3RhdGUsIERFRkFVTFRfRk9STV9ESVNBQkxFRF9LRVksIHByb3ZpZGVEYnhNdXRhYmxlRm9ybSB9IGZyb20gJy4uL2Zvcm0vZm9ybSc7XG5pbXBvcnQgeyBEYnhGb3JtbHlDb250ZXh0LCBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGUsIERieEZvcm1seUluaXRpYWxpemUgfSBmcm9tICcuL2Zvcm1seS5jb250ZXh0JztcbmltcG9ydCB7IGNsb25lRGVlcCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBzY2FuQ291bnQsIHN3aXRjaE1hcE1heWJlT2JzLCBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IEJvb2xlYW5TdHJpbmdLZXlBcnJheSwgQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eUluc3RhbmNlLCBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1seUZvcm1TdGF0ZSB7XG4gIGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50OiBudW1iZXI7XG4gIGlzRm9ybVZhbGlkOiBib29sZWFuO1xuICBpc0Zvcm1EaXNhYmxlZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBVc2VkIGZvciByZW5kaW5nIGEgZm9ybSBmcm9tIGEgRGJ4Rm9ybWx5Q29udGV4dC5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm1seScsXG4gIGV4cG9ydEFzOiAnZm9ybWx5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8Zm9ybSBbZm9ybUdyb3VwXT1cImZvcm1cIiBjbGFzcz1cImRieC1mb3JtbHlcIj5cbiAgICAgIDxmb3JtbHktZm9ybSBbZm9ybV09XCJmb3JtXCIgW2ZpZWxkc109XCIoZmllbGRzJCB8IGFzeW5jKSA/PyBbXVwiIFttb2RlbF09XCJtb2RlbFwiPjwvZm9ybWx5LWZvcm0+XG4gICAgPC9mb3JtPlxuICBgLFxuICBwcm92aWRlcnM6IHByb3ZpZGVEYnhNdXRhYmxlRm9ybShEYnhGb3JtbHlGb3JtQ29tcG9uZW50KSxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnZGJ4LWZvcm1seSdcbiAgfVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtbHlGb3JtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBEYnhGb3JtLCBEYnhGb3JtbHlDb250ZXh0RGVsZWdhdGU8VD4sIE9uSW5pdCwgT25EZXN0cm95IHtcbiAgcHJpdmF0ZSBfZmllbGRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxPYnNlcnZhYmxlPEZvcm1seUZpZWxkQ29uZmlnW10+Pj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSBfZXZlbnRzID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYnhGb3JtRXZlbnQ+KHsgaXNDb21wbGV0ZTogZmFsc2UsIHN0YXRlOiBEYnhGb3JtU3RhdGUuSU5JVElBTElaSU5HLCBzdGF0dXM6ICdQRU5ESU5HJyB9KTtcbiAgcHJpdmF0ZSBfZGlzYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJvb2xlYW5TdHJpbmdLZXlBcnJheT4odW5kZWZpbmVkKTtcblxuICBwcml2YXRlIF9yZXNldCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGF0ZT4obmV3IERhdGUoKSk7XG4gIHByaXZhdGUgX2ZvcmNlVXBkYXRlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBwcml2YXRlIF9kaXNhYmxlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBmb3JtID0gbmV3IEZvcm1Hcm91cCh7fSk7XG4gIG1vZGVsOiBUID0ge30gYXMgVDtcbiAgb3B0aW9uczogRm9ybWx5Rm9ybU9wdGlvbnMgPSB7fTtcblxuICByZWFkb25seSBmaWVsZHMkID0gdGhpcy5fZmllbGRzLnBpcGUoc3dpdGNoTWFwTWF5YmVPYnMoKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PiA9IHRoaXMuX3Jlc2V0LnBpcGUoXG4gICAgc3dpdGNoTWFwKChsYXN0UmVzZXRBdCkgPT5cbiAgICAgIHRoaXMuZm9ybS52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgICAgc3RhcnRXaXRoKDApLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgICB0aHJvdHRsZVRpbWUoNTAsIHVuZGVmaW5lZCwgeyBsZWFkaW5nOiB0cnVlLCB0cmFpbGluZzogdHJ1ZSB9KSxcbiAgICAgICAgc2NhbkNvdW50KC0xKSxcbiAgICAgICAgLy8gdXBkYXRlIG9uIHZhbGlkYXRpb24gY2hhbmdlcyB0b28uIERvZXMgbm90IGNvdW50IHRvd2FyZHMgY2hhbmdlcyBzaW5jZSBsYXN0IHJlc2V0LlxuICAgICAgICBzd2l0Y2hNYXAoKGNoYW5nZXNTaW5jZUxhc3RSZXNldCkgPT4gdGhpcy5mb3JtLnN0YXR1c0NoYW5nZXMucGlwZShzdGFydFdpdGgodGhpcy5mb3JtLnN0YXR1cyksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnBpcGUobWFwKCgpID0+IGNoYW5nZXNTaW5jZUxhc3RSZXNldCkpKSxcbiAgICAgICAgbWFwKChjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudDogbnVtYmVyKSA9PiAoe1xuICAgICAgICAgIGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50LFxuICAgICAgICAgIGlzRm9ybVZhbGlkOiB0aGlzLmZvcm0uc3RhdHVzICE9PSAnUEVORElORycgJiYgdGhpcy5mb3JtLnZhbGlkLFxuICAgICAgICAgIGlzRm9ybURpc2FibGVkOiB0aGlzLmZvcm0uZGlzYWJsZWRcbiAgICAgICAgfSkpLFxuICAgICAgICBzY2FuKFxuICAgICAgICAgIChhY2M6IERieEZvcm1seUZvcm1TdGF0ZSwgbmV4dDogRGJ4Rm9ybWx5Rm9ybVN0YXRlKSA9PiB7XG4gICAgICAgICAgICAvLyBQYXNzIGZvcndhcmQgdmFsaWQgaWYgbmV4dCB3YXMgYSBkaXNhYmxlZCBjaGFuZ2UvY2hlY2ssIHdoaWNoIGNoYW5nZXMgYW5ndWxhciBmb3JtJ3MgaXNWYWxpZCB2YWx1ZS5cbiAgICAgICAgICAgIC8vIElmIGl0IHdhcyB2YWxpZCBwcmlvciwgdGhlbiBpdCBzaG91bGQgYmUgdmFsaWQgbm93LCB1bmxlc3Mgd2UganVzdCByZXNldCwgaW4gd2hpY2ggY2FzZSBpdCBtaWdodCBub3QgYmUgdmFsaWQuXG4gICAgICAgICAgICBjb25zdCB2YWxpZCA9IG5leHQuaXNGb3JtVmFsaWQgfHwgKG5leHQuaXNGb3JtRGlzYWJsZWQgJiYgYWNjLmlzRm9ybVZhbGlkICYmIGFjYy5jaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudCA+IDApO1xuXG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICBjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudDogbmV4dC5jaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudCxcbiAgICAgICAgICAgICAgaXNGb3JtVmFsaWQ6IHZhbGlkLFxuICAgICAgICAgICAgICBpc0Zvcm1EaXNhYmxlZDogbmV4dC5pc0Zvcm1EaXNhYmxlZFxuICAgICAgICAgICAgfTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50OiAwLFxuICAgICAgICAgICAgaXNGb3JtVmFsaWQ6IGZhbHNlLFxuICAgICAgICAgICAgaXNGb3JtRGlzYWJsZWQ6IGZhbHNlXG4gICAgICAgICAgfVxuICAgICAgICApLFxuICAgICAgICBzd2l0Y2hNYXAoKHsgY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQsIGlzRm9ybVZhbGlkLCBpc0Zvcm1EaXNhYmxlZCB9KSA9PiB7XG4gICAgICAgICAgY29uc3QgbmV4dFN0YXRlID0gKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaXNSZXNldCA9IGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50IDw9IDE7IC8vIGZpcnN0IGVtaXNzaW9uIGFmdGVyIHJlc2V0IGlzIHRoZSBmaXJzdCB2YWx1ZS5cbiAgICAgICAgICAgIGNvbnN0IGNvbXBsZXRlID0gaXNGb3JtVmFsaWQ7XG5cbiAgICAgICAgICAgIGNvbnN0IG5leHRTdGF0ZTogRGJ4Rm9ybUV2ZW50ID0ge1xuICAgICAgICAgICAgICBpc0NvbXBsZXRlOiBjb21wbGV0ZSxcbiAgICAgICAgICAgICAgc3RhdGU6IGlzUmVzZXQgPyBEYnhGb3JtU3RhdGUuUkVTRVQgOiBEYnhGb3JtU3RhdGUuVVNFRCxcbiAgICAgICAgICAgICAgc3RhdHVzOiB0aGlzLmZvcm0uc3RhdHVzLFxuICAgICAgICAgICAgICB1bnRvdWNoZWQ6IHRoaXMuZm9ybS51bnRvdWNoZWQsXG4gICAgICAgICAgICAgIHByaXN0aW5lOiB0aGlzLmZvcm0ucHJpc3RpbmUsXG4gICAgICAgICAgICAgIGNoYW5nZXNDb3VudDogY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQsXG4gICAgICAgICAgICAgIGxhc3RSZXNldEF0LFxuICAgICAgICAgICAgICBkaXNhYmxlZDogdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgICAgICAgaXNEaXNhYmxlZDogaXNGb3JtRGlzYWJsZWRcbiAgICAgICAgICAgIH07XG5cbiAgICAgICAgICAgIHJldHVybiBuZXh0U3RhdGU7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIGNvbnN0IHN0YXRlID0gbmV4dFN0YXRlKCk7XG5cbiAgICAgICAgICBpZiAoaXNGb3JtVmFsaWQgJiYgdGhpcy5mb3JtLnVudG91Y2hlZCkge1xuICAgICAgICAgICAgcmV0dXJuIHRpbWVyKDE1MCwgMjAwKS5waXBlKFxuICAgICAgICAgICAgICAvLyBldmVyeSAyMDAgbXMgY2hlY2sgaWYgdGhlIGZvcm0gaXMgbm93IG1hcmtlZCB0b3VjaGVkLCB0aGVuIHB1c2ggYSBuZXcgc3RhdGVcbiAgICAgICAgICAgICAgZmlsdGVyKCgpID0+IHRoaXMuZm9ybS50b3VjaGVkKSxcbiAgICAgICAgICAgICAgbWFwKCgpID0+IG5leHRTdGF0ZSgpKSxcbiAgICAgICAgICAgICAgLy8gb25seSBwdXNoIHRoZSBuZXcgc3RhdGUgb25jZVxuICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAvLyBzZW5kIHRoZSBmaXJzdCB2YWx1ZSBpbW1lZGlhdGVseVxuICAgICAgICAgICAgICBzdGFydFdpdGgoc3RhdGUpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gb2Yoc3RhdGUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLy8gdGFwTG9nKCdDaGFuZ2U6ICcpXG4gICAgICApXG4gICAgKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgY29udGV4dDogRGJ4Rm9ybWx5Q29udGV4dDxUPikge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQuc2V0RGVsZWdhdGUodGhpcyk7XG5cbiAgICB0aGlzLl9kaXNhYmxlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9kaXNhYmxlZC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLnN1YnNjcmliZSgoZGlzYWJsZWQpID0+IHtcbiAgICAgIGNvbnN0IGlzRGlzYWJsZWQgPSBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UuaXNUcnVlKGRpc2FibGVkKTtcblxuICAgICAgaWYgKHRoaXMuZm9ybS5kaXNhYmxlZCAhPT0gaXNEaXNhYmxlZCkge1xuICAgICAgICBpZiAoaXNEaXNhYmxlZCkge1xuICAgICAgICAgIHRoaXMuZm9ybS5kaXNhYmxlKHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMuZm9ybS5lbmFibGUoeyBlbWl0RXZlbnQ6IHRydWUgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuY29udGV4dC5sb2NrU2V0Lm9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgdGhpcy5jb250ZXh0LmNsZWFyRGVsZWdhdGUodGhpcyk7XG4gICAgICB0aGlzLl9ldmVudHMuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2ZpZWxkcy5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fcmVzZXQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2ZvcmNlVXBkYXRlLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9kaXNhYmxlZC5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fZGlzYWJsZWRTdWIuZGVzdHJveSgpO1xuICAgIH0pO1xuICB9XG5cbiAgLy8gTUFSSzogRGVsZWdhdGVcbiAgaW5pdChpbml0aWFsaXplOiBEYnhGb3JtbHlJbml0aWFsaXplPFQ+KTogdm9pZCB7XG4gICAgdGhpcy5fZmllbGRzLm5leHQoaW5pdGlhbGl6ZS5maWVsZHMpO1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoaW5pdGlhbGl6ZS5pbml0aWFsRGlzYWJsZWQpO1xuICB9XG5cbiAgZ2V0VmFsdWUoKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgcmV0dXJuIG9mKHRoaXMuZm9ybS52YWx1ZSBhcyBUKTtcbiAgfVxuXG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZCB7XG4gICAgLy8gY29uc29sZS5sb2coJ3NldCB2YWx1ZTogJywgdmFsdWUpO1xuICAgIHRoaXMubW9kZWwgPSBjbG9uZURlZXAodmFsdWUpIGFzIFQ7XG5cbiAgICBpZiAodGhpcy5vcHRpb25zLnVwZGF0ZUluaXRpYWxWYWx1ZSkge1xuICAgICAgdGhpcy5vcHRpb25zLnVwZGF0ZUluaXRpYWxWYWx1ZSgpO1xuICAgICAgdGhpcy5vcHRpb25zLnJlc2V0TW9kZWw/LigpO1xuICAgIH1cblxuICAgIC8vIFJlLW1hcmsgYXMgdW50b3VjaGVkIGFuZCBwcmlzdGluZS5cbiAgICB0aGlzLmZvcm0ubWFya0FzVW50b3VjaGVkKCk7XG4gICAgdGhpcy5mb3JtLm1hcmtBc1ByaXN0aW5lKCk7XG5cbiAgICAvLyBBZnRlciB1cGRhdGluZyB0aGUgdmFsdWUsIGlmIHRoZSBmb3JtIGlzIHN0aWxsIHVudG91Y2hlZCBtYXJrIGl0IGFzIHByaXN0aW5lIGFnYWluLlxuICAgIC8vIFNvbWV0aW1lcyB0aGUgdmFsdWVzIGdldCBtYXJrZWQgYXMgY2hhbmdlZCBhbmQgYnJlYWsgcHJpc3RpbmUgYmVmb3JlIGEgdXNlciBoYXMgdGltZSB0byBpbnRlcmFjdC5cbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmZvcm0udW50b3VjaGVkKSB7XG4gICAgICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuICAgICAgfVxuICAgIH0sIDUwMCk7XG5cbiAgICAvLyBwaW5nIHJlc2V0XG4gICAgdGhpcy5yZXNldEZvcm0oKTtcbiAgfVxuXG4gIHJlc2V0Rm9ybSgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLnJlc2V0TW9kZWwpIHtcbiAgICAgIHRoaXMub3B0aW9ucy5yZXNldE1vZGVsKCk7XG4gICAgfVxuXG4gICAgdGhpcy5fcmVzZXQubmV4dChuZXcgRGF0ZSgpKTtcbiAgfVxuXG4gIGdldCBpc0Rpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UuaXNUcnVlKHRoaXMuZGlzYWJsZWQpO1xuICB9XG5cbiAgZ2V0IGRpc2FibGVkKCk6IEJvb2xlYW5TdHJpbmdLZXlBcnJheSB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLnZhbHVlO1xuICB9XG5cbiAgZ2V0RGlzYWJsZWQoKTogT2JzZXJ2YWJsZTxCb29sZWFuU3RyaW5nS2V5QXJyYXk+IHtcbiAgICByZXR1cm4gdGhpcy5fZGlzYWJsZWQuYXNPYnNlcnZhYmxlKCk7XG4gIH1cblxuICBzZXREaXNhYmxlZChrZXk/OiBEYnhGb3JtRGlzYWJsZWRLZXksIGRpc2FibGVkID0gdHJ1ZSk6IHZvaWQge1xuICAgIHRoaXMuX2Rpc2FibGVkLm5leHQoQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eUluc3RhbmNlLnNldCh0aGlzLmRpc2FibGVkLCBrZXkgPz8gREVGQVVMVF9GT1JNX0RJU0FCTEVEX0tFWSwgZGlzYWJsZWQpKTtcbiAgfVxuXG4gIC8vIE1BUks6IFVwZGF0ZVxuICBmb3JjZUZvcm1VcGRhdGUoKTogdm9pZCB7XG4gICAgdGhpcy5fZm9yY2VVcGRhdGUubmV4dCgpO1xuICB9XG59XG4iXX0=
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWx5LmZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZm9ybWx5LmZvcm0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDeEssT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUE2QyxZQUFZLEVBQUUseUJBQXlCLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDekksT0FBTyxFQUFFLGdCQUFnQixFQUFpRCxNQUFNLGtCQUFrQixDQUFDO0FBQ25HLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDbkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQXlCLG9DQUFvQyxFQUFTLE1BQU0sZUFBZSxDQUFDOzs7Ozs7QUFRbkc7O0dBRUc7QUFjSCxNQUFNLE9BQU8sc0JBQTBCLFNBQVEsNkJBQTZCO0lBeUYxRSxZQUE2QixPQUE0QjtRQUN2RCxLQUFLLEVBQUUsQ0FBQztRQURtQixZQUFPLEdBQVAsT0FBTyxDQUFxQjtRQXhGakQsWUFBTyxHQUFHLElBQUksZUFBZSxDQUF5QyxTQUFTLENBQUMsQ0FBQztRQUNq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QUM7SUFDL0IsQ0FBQztJQUVELElBQUksVUFBVTtRQUNaLE9BQU8sb0NBQW9DLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwRSxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztJQUM5QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN2QyxDQUFDO0lBRUQsV0FBVyxDQUFDLEdBQXdCLEVBQUUsUUFBUSxHQUFHLElBQUk7UUFDbkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsb0NBQW9DLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxJQUFJLHlCQUF5QixFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVELGVBQWU7SUFDZixlQUFlO1FBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMzQixDQUFDOztvSEF4TFUsc0JBQXNCO3dHQUF0QixzQkFBc0IsNkVBTHRCLHFCQUFxQixDQUFDLHNCQUFzQixDQUFDLHVFQUw5Qzs7OztHQUlUOzRGQU1VLHNCQUFzQjtrQkFibEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsWUFBWTtvQkFDdEIsUUFBUSxFQUFFLFFBQVE7b0JBQ2xCLFFBQVEsRUFBRTs7OztHQUlUO29CQUNELFNBQVMsRUFBRSxxQkFBcUIsd0JBQXdCO29CQUN4RCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLFlBQVk7cUJBQ3BCO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcsIEZvcm1seUZvcm1PcHRpb25zIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgbWFwLCB0aHJvdHRsZVRpbWUsIHN0YXJ0V2l0aCwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAsIHNoYXJlUmVwbGF5LCBvZiwgc2NhbiwgZmlsdGVyLCB0aW1lciwgZmlyc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybSwgRGJ4Rm9ybURpc2FibGVkS2V5LCBEYnhGb3JtRXZlbnQsIERieEZvcm1TdGF0ZSwgREVGQVVMVF9GT1JNX0RJU0FCTEVEX0tFWSwgcHJvdmlkZURieE11dGFibGVGb3JtIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IERieEZvcm1seUNvbnRleHQsIERieEZvcm1seUNvbnRleHREZWxlZ2F0ZSwgRGJ4Rm9ybWx5SW5pdGlhbGl6ZSB9IGZyb20gJy4vZm9ybWx5LmNvbnRleHQnO1xuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IHNjYW5Db3VudCwgc3dpdGNoTWFwTWF5YmVPYnMsIFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQm9vbGVhblN0cmluZ0tleUFycmF5LCBCb29sZWFuU3RyaW5nS2V5QXJyYXlVdGlsaXR5SW5zdGFuY2UsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4Rm9ybWx5Rm9ybVN0YXRlIHtcbiAgY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQ6IG51bWJlcjtcbiAgaXNGb3JtVmFsaWQ6IGJvb2xlYW47XG4gIGlzRm9ybURpc2FibGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFVzZWQgZm9yIHJlbmRpbmcgYSBmb3JtIGZyb20gYSBEYnhGb3JtbHlDb250ZXh0LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZm9ybWx5JyxcbiAgZXhwb3J0QXM6ICdmb3JtbHknLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxmb3JtIFtmb3JtR3JvdXBdPVwiZm9ybVwiIGNsYXNzPVwiZGJ4LWZvcm1seVwiPlxuICAgICAgPGZvcm1seS1mb3JtIFtmb3JtXT1cImZvcm1cIiBbZmllbGRzXT1cIihmaWVsZHMkIHwgYXN5bmMpID8/IFtdXCIgW21vZGVsXT1cIm1vZGVsXCI+PC9mb3JtbHktZm9ybT5cbiAgICA8L2Zvcm0+XG4gIGAsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieE11dGFibGVGb3JtKERieEZvcm1seUZvcm1Db21wb25lbnQpLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdkYngtZm9ybWx5J1xuICB9XG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1seUZvcm1Db21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIERieEZvcm0sIERieEZvcm1seUNvbnRleHREZWxlZ2F0ZTxUPiwgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIF9maWVsZHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPE9ic2VydmFibGU8Rm9ybWx5RmllbGRDb25maWdbXT4+Pih1bmRlZmluZWQpO1xuICBwcml2YXRlIF9ldmVudHMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieEZvcm1FdmVudD4oeyBpc0NvbXBsZXRlOiBmYWxzZSwgc3RhdGU6IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcsIHN0YXR1czogJ1BFTkRJTkcnIH0pO1xuICBwcml2YXRlIF9kaXNhYmxlZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Qm9vbGVhblN0cmluZ0tleUFycmF5Pih1bmRlZmluZWQpO1xuXG4gIHByaXZhdGUgX3Jlc2V0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxEYXRlPihuZXcgRGF0ZSgpKTtcbiAgcHJpdmF0ZSBfZm9yY2VVcGRhdGUgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIHByaXZhdGUgX2Rpc2FibGVkU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGZvcm0gPSBuZXcgRm9ybUdyb3VwKHt9KTtcbiAgbW9kZWw6IFQgPSB7fSBhcyBUO1xuICBvcHRpb25zOiBGb3JtbHlGb3JtT3B0aW9ucyA9IHt9O1xuXG4gIHJlYWRvbmx5IGZpZWxkcyQgPSB0aGlzLl9maWVsZHMucGlwZShzd2l0Y2hNYXBNYXliZU9icygpLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgc3RyZWFtJDogT2JzZXJ2YWJsZTxEYnhGb3JtRXZlbnQ+ID0gdGhpcy5fcmVzZXQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGxhc3RSZXNldEF0KSA9PlxuICAgICAgdGhpcy5mb3JtLnZhbHVlQ2hhbmdlcy5waXBlKFxuICAgICAgICBzdGFydFdpdGgoMCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgIHRocm90dGxlVGltZSg1MCwgdW5kZWZpbmVkLCB7IGxlYWRpbmc6IHRydWUsIHRyYWlsaW5nOiB0cnVlIH0pLFxuICAgICAgICBzY2FuQ291bnQoLTEpLFxuICAgICAgICAvLyB1cGRhdGUgb24gdmFsaWRhdGlvbiBjaGFuZ2VzIHRvby4gRG9lcyBub3QgY291bnQgdG93YXJkcyBjaGFuZ2VzIHNpbmNlIGxhc3QgcmVzZXQuXG4gICAgICAgIHN3aXRjaE1hcCgoY2hhbmdlc1NpbmNlTGFzdFJlc2V0KSA9PiB0aGlzLmZvcm0uc3RhdHVzQ2hhbmdlcy5waXBlKHN0YXJ0V2l0aCh0aGlzLmZvcm0uc3RhdHVzKSwgZGlzdGluY3RVbnRpbENoYW5nZWQoKSkucGlwZShtYXAoKCkgPT4gY2hhbmdlc1NpbmNlTGFzdFJlc2V0KSkpLFxuICAgICAgICBtYXAoKGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50OiBudW1iZXIpID0+ICh7XG4gICAgICAgICAgY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQsXG4gICAgICAgICAgaXNGb3JtVmFsaWQ6IHRoaXMuZm9ybS5zdGF0dXMgIT09ICdQRU5ESU5HJyAmJiB0aGlzLmZvcm0udmFsaWQsXG4gICAgICAgICAgaXNGb3JtRGlzYWJsZWQ6IHRoaXMuZm9ybS5kaXNhYmxlZFxuICAgICAgICB9KSksXG4gICAgICAgIHNjYW4oXG4gICAgICAgICAgKGFjYzogRGJ4Rm9ybWx5Rm9ybVN0YXRlLCBuZXh0OiBEYnhGb3JtbHlGb3JtU3RhdGUpID0+IHtcbiAgICAgICAgICAgIC8vIFBhc3MgZm9yd2FyZCB2YWxpZCBpZiBuZXh0IHdhcyBhIGRpc2FibGVkIGNoYW5nZS9jaGVjaywgd2hpY2ggY2hhbmdlcyBhbmd1bGFyIGZvcm0ncyBpc1ZhbGlkIHZhbHVlLlxuICAgICAgICAgICAgLy8gSWYgaXQgd2FzIHZhbGlkIHByaW9yLCB0aGVuIGl0IHNob3VsZCBiZSB2YWxpZCBub3csIHVubGVzcyB3ZSBqdXN0IHJlc2V0LCBpbiB3aGljaCBjYXNlIGl0IG1pZ2h0IG5vdCBiZSB2YWxpZC5cbiAgICAgICAgICAgIGNvbnN0IHZhbGlkID0gbmV4dC5pc0Zvcm1WYWxpZCB8fCAobmV4dC5pc0Zvcm1EaXNhYmxlZCAmJiBhY2MuaXNGb3JtVmFsaWQgJiYgYWNjLmNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50ID4gMCk7XG5cbiAgICAgICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICAgIGNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50OiBuZXh0LmNoYW5nZXNTaW5jZUxhc3RSZXNldENvdW50LFxuICAgICAgICAgICAgICBpc0Zvcm1WYWxpZDogdmFsaWQsXG4gICAgICAgICAgICAgIGlzRm9ybURpc2FibGVkOiBuZXh0LmlzRm9ybURpc2FibGVkXG4gICAgICAgICAgICB9O1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQ6IDAsXG4gICAgICAgICAgICBpc0Zvcm1WYWxpZDogZmFsc2UsXG4gICAgICAgICAgICBpc0Zvcm1EaXNhYmxlZDogZmFsc2VcbiAgICAgICAgICB9XG4gICAgICAgICksXG4gICAgICAgIHN3aXRjaE1hcCgoeyBjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudCwgaXNGb3JtVmFsaWQsIGlzRm9ybURpc2FibGVkIH0pID0+IHtcbiAgICAgICAgICBjb25zdCBuZXh0U3RhdGUgPSAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpc1Jlc2V0ID0gY2hhbmdlc1NpbmNlTGFzdFJlc2V0Q291bnQgPD0gMTsgLy8gZmlyc3QgZW1pc3Npb24gYWZ0ZXIgcmVzZXQgaXMgdGhlIGZpcnN0IHZhbHVlLlxuICAgICAgICAgICAgY29uc3QgY29tcGxldGUgPSBpc0Zvcm1WYWxpZDtcblxuICAgICAgICAgICAgY29uc3QgbmV4dFN0YXRlOiBEYnhGb3JtRXZlbnQgPSB7XG4gICAgICAgICAgICAgIGlzQ29tcGxldGU6IGNvbXBsZXRlLFxuICAgICAgICAgICAgICBzdGF0ZTogaXNSZXNldCA/IERieEZvcm1TdGF0ZS5SRVNFVCA6IERieEZvcm1TdGF0ZS5VU0VELFxuICAgICAgICAgICAgICBzdGF0dXM6IHRoaXMuZm9ybS5zdGF0dXMsXG4gICAgICAgICAgICAgIHVudG91Y2hlZDogdGhpcy5mb3JtLnVudG91Y2hlZCxcbiAgICAgICAgICAgICAgcHJpc3RpbmU6IHRoaXMuZm9ybS5wcmlzdGluZSxcbiAgICAgICAgICAgICAgY2hhbmdlc0NvdW50OiBjaGFuZ2VzU2luY2VMYXN0UmVzZXRDb3VudCxcbiAgICAgICAgICAgICAgbGFzdFJlc2V0QXQsXG4gICAgICAgICAgICAgIGRpc2FibGVkOiB0aGlzLmRpc2FibGVkLFxuICAgICAgICAgICAgICBpc0Rpc2FibGVkOiBpc0Zvcm1EaXNhYmxlZFxuICAgICAgICAgICAgfTtcblxuICAgICAgICAgICAgcmV0dXJuIG5leHRTdGF0ZTtcbiAgICAgICAgICB9O1xuXG4gICAgICAgICAgY29uc3Qgc3RhdGUgPSBuZXh0U3RhdGUoKTtcblxuICAgICAgICAgIGlmIChpc0Zvcm1WYWxpZCAmJiB0aGlzLmZvcm0udW50b3VjaGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGltZXIoMTUwLCAyMDApLnBpcGUoXG4gICAgICAgICAgICAgIC8vIGV2ZXJ5IDIwMCBtcyBjaGVjayBpZiB0aGUgZm9ybSBpcyBub3cgbWFya2VkIHRvdWNoZWQsIHRoZW4gcHVzaCBhIG5ldyBzdGF0ZVxuICAgICAgICAgICAgICBmaWx0ZXIoKCkgPT4gdGhpcy5mb3JtLnRvdWNoZWQpLFxuICAgICAgICAgICAgICBtYXAoKCkgPT4gbmV4dFN0YXRlKCkpLFxuICAgICAgICAgICAgICAvLyBvbmx5IHB1c2ggdGhlIG5ldyBzdGF0ZSBvbmNlXG4gICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgIC8vIHNlbmQgdGhlIGZpcnN0IHZhbHVlIGltbWVkaWF0ZWx5XG4gICAgICAgICAgICAgIHN0YXJ0V2l0aChzdGF0ZSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBvZihzdGF0ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgKVxuICAgICksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGNvbnRleHQ6IERieEZvcm1seUNvbnRleHQ8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5jb250ZXh0LnNldERlbGVnYXRlKHRoaXMpO1xuXG4gICAgdGhpcy5fZGlzYWJsZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5fZGlzYWJsZWQucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZCgpKS5zdWJzY3JpYmUoKGRpc2FibGVkKSA9PiB7XG4gICAgICBjb25zdCBpc0Rpc2FibGVkID0gQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eUluc3RhbmNlLmlzVHJ1ZShkaXNhYmxlZCk7XG5cbiAgICAgIGlmICh0aGlzLmZvcm0uZGlzYWJsZWQgIT09IGlzRGlzYWJsZWQpIHtcbiAgICAgICAgaWYgKGlzRGlzYWJsZWQpIHtcbiAgICAgICAgICB0aGlzLmZvcm0uZGlzYWJsZSh7IGVtaXRFdmVudDogdHJ1ZSB9KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmZvcm0uZW5hYmxlKHsgZW1pdEV2ZW50OiB0cnVlIH0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRleHQubG9ja1NldC5vbk5leHRVbmxvY2soKCkgPT4ge1xuICAgICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgIHRoaXMuY29udGV4dC5jbGVhckRlbGVnYXRlKHRoaXMpO1xuICAgICAgdGhpcy5fZXZlbnRzLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9maWVsZHMuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX3Jlc2V0LmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLl9mb3JjZVVwZGF0ZS5jb21wbGV0ZSgpO1xuICAgICAgdGhpcy5fZGlzYWJsZWQuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuX2Rpc2FibGVkU3ViLmRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8vIE1BUks6IERlbGVnYXRlXG4gIGluaXQoaW5pdGlhbGl6ZTogRGJ4Rm9ybWx5SW5pdGlhbGl6ZTxUPik6IHZvaWQge1xuICAgIHRoaXMuX2ZpZWxkcy5uZXh0KGluaXRpYWxpemUuZmllbGRzKTtcbiAgICB0aGlzLl9kaXNhYmxlZC5uZXh0KGluaXRpYWxpemUuaW5pdGlhbERpc2FibGVkKTtcbiAgfVxuXG4gIGdldFZhbHVlKCk6IE9ic2VydmFibGU8VD4ge1xuICAgIHJldHVybiBvZih0aGlzLmZvcm0udmFsdWUgYXMgVCk7XG4gIH1cblxuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHZvaWQge1xuICAgIC8vIGNvbnNvbGUubG9nKCdzZXQgdmFsdWU6ICcsIHZhbHVlKTtcbiAgICB0aGlzLm1vZGVsID0gY2xvbmVEZWVwKHZhbHVlKSBhcyBUO1xuXG4gICAgaWYgKHRoaXMub3B0aW9ucy51cGRhdGVJbml0aWFsVmFsdWUpIHtcbiAgICAgIHRoaXMub3B0aW9ucy51cGRhdGVJbml0aWFsVmFsdWUoKTtcbiAgICAgIHRoaXMub3B0aW9ucy5yZXNldE1vZGVsPy4oKTtcbiAgICB9XG5cbiAgICAvLyBSZS1tYXJrIGFzIHVudG91Y2hlZCBhbmQgcHJpc3RpbmUuXG4gICAgdGhpcy5mb3JtLm1hcmtBc1VudG91Y2hlZCgpO1xuICAgIHRoaXMuZm9ybS5tYXJrQXNQcmlzdGluZSgpO1xuXG4gICAgLy8gQWZ0ZXIgdXBkYXRpbmcgdGhlIHZhbHVlLCBpZiB0aGUgZm9ybSBpcyBzdGlsbCB1bnRvdWNoZWQgbWFyayBpdCBhcyBwcmlzdGluZSBhZ2Fpbi5cbiAgICAvLyBTb21ldGltZXMgdGhlIHZhbHVlcyBnZXQgbWFya2VkIGFzIGNoYW5nZWQgYW5kIGJyZWFrIHByaXN0aW5lIGJlZm9yZSBhIHVzZXIgaGFzIHRpbWUgdG8gaW50ZXJhY3QuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtLnVudG91Y2hlZCkge1xuICAgICAgICB0aGlzLmZvcm0ubWFya0FzUHJpc3RpbmUoKTtcbiAgICAgIH1cbiAgICB9LCA1MDApO1xuXG4gICAgLy8gcGluZyByZXNldFxuICAgIHRoaXMucmVzZXRGb3JtKCk7XG4gIH1cblxuICByZXNldEZvcm0oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5yZXNldE1vZGVsKSB7XG4gICAgICB0aGlzLm9wdGlvbnMucmVzZXRNb2RlbCgpO1xuICAgIH1cblxuICAgIHRoaXMuX3Jlc2V0Lm5leHQobmV3IERhdGUoKSk7XG4gIH1cblxuICBnZXQgaXNEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gQm9vbGVhblN0cmluZ0tleUFycmF5VXRpbGl0eUluc3RhbmNlLmlzVHJ1ZSh0aGlzLmRpc2FibGVkKTtcbiAgfVxuXG4gIGdldCBkaXNhYmxlZCgpOiBCb29sZWFuU3RyaW5nS2V5QXJyYXkge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZC52YWx1ZTtcbiAgfVxuXG4gIGdldERpc2FibGVkKCk6IE9ic2VydmFibGU8Qm9vbGVhblN0cmluZ0tleUFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuX2Rpc2FibGVkLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgc2V0RGlzYWJsZWQoa2V5PzogRGJ4Rm9ybURpc2FibGVkS2V5LCBkaXNhYmxlZCA9IHRydWUpOiB2b2lkIHtcbiAgICB0aGlzLl9kaXNhYmxlZC5uZXh0KEJvb2xlYW5TdHJpbmdLZXlBcnJheVV0aWxpdHlJbnN0YW5jZS5zZXQodGhpcy5kaXNhYmxlZCwga2V5ID8/IERFRkFVTFRfRk9STV9ESVNBQkxFRF9LRVksIGRpc2FibGVkKSk7XG4gIH1cblxuICAvLyBNQVJLOiBVcGRhdGVcbiAgZm9yY2VGb3JtVXBkYXRlKCk6IHZvaWQge1xuICAgIHRoaXMuX2ZvcmNlVXBkYXRlLm5leHQoKTtcbiAgfVxufVxuIl19
|
|
@@ -15,7 +15,11 @@ export function timezoneStringSearchFunction() {
|
|
|
15
15
|
};
|
|
16
16
|
}
|
|
17
17
|
export const DISPLAY_FOR_TIMEZONE_STRING_VALUE = (values) => {
|
|
18
|
-
const
|
|
18
|
+
const timezoneInfos = allTimezoneInfos();
|
|
19
|
+
const displayValues = values.map((x) => {
|
|
20
|
+
const meta = x.meta ?? timezoneInfos.find((y) => x.value === y.timezone); // attempt to find the metadata in the timeInfos if it isn't provided.
|
|
21
|
+
return { ...x, label: x.value, sublabel: meta?.abbreviation ?? 'Unknown' };
|
|
22
|
+
});
|
|
19
23
|
const obs = of(displayValues);
|
|
20
24
|
return obs;
|
|
21
25
|
};
|
|
@@ -32,8 +36,10 @@ export function timezoneStringField(config = {}) {
|
|
|
32
36
|
asArrayValue: false,
|
|
33
37
|
...config,
|
|
34
38
|
searchOnEmptyText: true,
|
|
39
|
+
allowStringValues: false,
|
|
40
|
+
showClearValue: true,
|
|
35
41
|
search: timezoneStringSearchFunction(),
|
|
36
42
|
displayForValue: DISPLAY_FOR_TIMEZONE_STRING_VALUE
|
|
37
43
|
});
|
|
38
44
|
}
|
|
39
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXpvbmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS90ZW1wbGF0ZS90aW1lem9uZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNHLE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLG1CQUFtQixFQUE2QixNQUFNLGdEQUFnRCxDQUFDO0FBSWhILE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUV6QyxPQUFPLENBQUMsTUFBYyxFQUFFLEVBQUU7UUFDeEIsSUFBSSxhQUFhLENBQUM7UUFFbEIsSUFBSSxNQUFNLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUN2QixhQUFhLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ2pFO2FBQU07WUFDTCxhQUFhLEdBQUcsbUJBQW1CLENBQUMsTUFBTSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1NBQzVEO1FBRUQsT0FBTyxFQUFFLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNFLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSxpQ0FBaUMsR0FBd0QsQ0FBQyxNQUF5RCxFQUFFLEVBQUU7SUFDbEssTUFBTSxhQUFhLEdBQUcsZ0JBQWdCLEVBQUUsQ0FBQztJQUV6QyxNQUFNLGFBQWEsR0FBNkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQy9GLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQyxJQUFJLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssS0FBSyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxzRUFBc0U7UUFDaEosT0FBTyxFQUFFLEdBQUcsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsWUFBWSxJQUFJLFNBQVMsRUFBRSxDQUFDO0lBQzdFLENBQUMsQ0FBQyxDQUFDO0lBRUgsTUFBTSxHQUFHLEdBQXlFLEVBQUUsQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUNwRyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQU9GOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFNBQW9DLEVBQUU7SUFDeEUsT0FBTyxtQkFBbUIsQ0FBQztRQUN6QixHQUFHLEVBQUUsVUFBVTtRQUNmLEtBQUssRUFBRSxVQUFVO1FBQ2pCLFlBQVksRUFBRSxLQUFLO1FBQ25CLEdBQUcsTUFBTTtRQUNULGlCQUFpQixFQUFFLElBQUk7UUFDdkIsaUJBQWlCLEVBQUUsS0FBSztRQUN4QixjQUFjLEVBQUUsSUFBSTtRQUNwQixNQUFNLEVBQUUsNEJBQTRCLEVBQUU7UUFDdEMsZUFBZSxFQUFFLGlDQUFpQztLQUNuRCxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGltZXpvbmVTdHJpbmcgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGFsbFRpbWV6b25lSW5mb3MsIHNlYXJjaFRpbWV6b25lSW5mb3MsIFRpbWV6b25lSW5mbywgdGltZXpvbmVJbmZvRm9yU3lzdGVtIH0gZnJvbSAnQGRlcmVla2IvZGF0ZSc7XG5pbXBvcnQgeyBGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IFNlYXJjaGFibGVWYWx1ZUZpZWxkU3RyaW5nU2VhcmNoRm4sIFNlYXJjaGFibGVWYWx1ZUZpZWxkVmFsdWUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheUZuLCBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZSB9IGZyb20gJy4uL2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlJztcbmltcG9ydCB7IHNlYXJjaGFibGVUZXh0RmllbGQsIFNlYXJjaGFibGVUZXh0RmllbGRDb25maWcgfSBmcm9tICcuLi9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkJztcblxuZXhwb3J0IHR5cGUgVGVzdFN0cmluZ1NlYXJjaEZ1bmN0aW9uID0gKHRleHQ6IHN0cmluZykgPT4gc3RyaW5nW107XG5cbmV4cG9ydCBmdW5jdGlvbiB0aW1lem9uZVN0cmluZ1NlYXJjaEZ1bmN0aW9uKCk6IFNlYXJjaGFibGVWYWx1ZUZpZWxkU3RyaW5nU2VhcmNoRm48c3RyaW5nLCBUaW1lem9uZUluZm8+IHtcbiAgY29uc3QgdGltZXpvbmVJbmZvcyA9IGFsbFRpbWV6b25lSW5mb3MoKTtcblxuICByZXR1cm4gKHNlYXJjaDogc3RyaW5nKSA9PiB7XG4gICAgbGV0IHNlYXJjaFJlc3VsdHM7XG5cbiAgICBpZiAoc2VhcmNoLmxlbmd0aCA9PT0gMCkge1xuICAgICAgc2VhcmNoUmVzdWx0cyA9IFt0aW1lem9uZUluZm9Gb3JTeXN0ZW0oKV0uY29uY2F0KHRpbWV6b25lSW5mb3MpO1xuICAgIH0gZWxzZSB7XG4gICAgICBzZWFyY2hSZXN1bHRzID0gc2VhcmNoVGltZXpvbmVJbmZvcyhzZWFyY2gsIHRpbWV6b25lSW5mb3MpO1xuICAgIH1cblxuICAgIHJldHVybiBvZihzZWFyY2hSZXN1bHRzLm1hcCgobWV0YSkgPT4gKHsgdmFsdWU6IG1ldGEudGltZXpvbmUsIG1ldGEgfSkpKTtcbiAgfTtcbn1cblxuZXhwb3J0IGNvbnN0IERJU1BMQVlfRk9SX1RJTUVaT05FX1NUUklOR19WQUxVRTogU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5Rm48c3RyaW5nLCBUaW1lem9uZUluZm8+ID0gKHZhbHVlczogU2VhcmNoYWJsZVZhbHVlRmllbGRWYWx1ZTxzdHJpbmcsIFRpbWV6b25lSW5mbz5bXSkgPT4ge1xuICBjb25zdCB0aW1lem9uZUluZm9zID0gYWxsVGltZXpvbmVJbmZvcygpO1xuXG4gIGNvbnN0IGRpc3BsYXlWYWx1ZXM6IFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPHN0cmluZywgVGltZXpvbmVJbmZvPltdID0gdmFsdWVzLm1hcCgoeCkgPT4ge1xuICAgIGNvbnN0IG1ldGEgPSB4Lm1ldGEgPz8gdGltZXpvbmVJbmZvcy5maW5kKCh5KSA9PiB4LnZhbHVlID09PSB5LnRpbWV6b25lKTsgLy8gYXR0ZW1wdCB0byBmaW5kIHRoZSBtZXRhZGF0YSBpbiB0aGUgdGltZUluZm9zIGlmIGl0IGlzbid0IHByb3ZpZGVkLlxuICAgIHJldHVybiB7IC4uLngsIGxhYmVsOiB4LnZhbHVlLCBzdWJsYWJlbDogbWV0YT8uYWJicmV2aWF0aW9uID8/ICdVbmtub3duJyB9O1xuICB9KTtcblxuICBjb25zdCBvYnM6IE9ic2VydmFibGU8U2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8c3RyaW5nLCBUaW1lem9uZUluZm8+W10+ID0gb2YoZGlzcGxheVZhbHVlcyk7XG4gIHJldHVybiBvYnM7XG59O1xuXG4vKipcbiAqIHRleHRQYXNzd29yZEZpZWxkKCkgY29uZmlndXJhdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaW1lem9uZVN0cmluZ0ZpZWxkQ29uZmlnIGV4dGVuZHMgT21pdDxTZWFyY2hhYmxlVGV4dEZpZWxkQ29uZmlnPFRpbWV6b25lU3RyaW5nLCBUaW1lem9uZUluZm8+LCAnaW5wdXRUeXBlJyB8ICdzZWFyY2hPbkVtcHR5VGV4dCcgfCAnc2VhcmNoJyB8ICdkaXNwbGF5Rm9yVmFsdWUnIHwgJ2tleSc+LCBQYXJ0aWFsPFBpY2s8U2VhcmNoYWJsZVRleHRGaWVsZENvbmZpZzxUaW1lem9uZVN0cmluZywgVGltZXpvbmVJbmZvPiwgJ2tleScgfCAnbWF0ZXJpYWxGb3JtRmllbGQnPj4ge31cblxuLyoqXG4gKiBUZW1wbGF0ZSBmb3IgbG9naW4gZmllbGQgdGhhdCB0YWtlcyBpbiBhIHVzZXJuYW1lIGFuZCBwYXNzd29yZC5cbiAqXG4gKiBAcGFyYW0gcGFyYW0wXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gdGltZXpvbmVTdHJpbmdGaWVsZChjb25maWc6IFRpbWV6b25lU3RyaW5nRmllbGRDb25maWcgPSB7fSk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgcmV0dXJuIHNlYXJjaGFibGVUZXh0RmllbGQoe1xuICAgIGtleTogJ3RpbWV6b25lJyxcbiAgICBsYWJlbDogJ1RpbWV6b25lJyxcbiAgICBhc0FycmF5VmFsdWU6IGZhbHNlLFxuICAgIC4uLmNvbmZpZyxcbiAgICBzZWFyY2hPbkVtcHR5VGV4dDogdHJ1ZSxcbiAgICBhbGxvd1N0cmluZ1ZhbHVlczogZmFsc2UsXG4gICAgc2hvd0NsZWFyVmFsdWU6IHRydWUsXG4gICAgc2VhcmNoOiB0aW1lem9uZVN0cmluZ1NlYXJjaEZ1bmN0aW9uKCksXG4gICAgZGlzcGxheUZvclZhbHVlOiBESVNQTEFZX0ZPUl9USU1FWk9ORV9TVFJJTkdfVkFMVUVcbiAgfSk7XG59XG4iXX0=
|
|
@@ -5,10 +5,10 @@ import { Injectable, SkipSelf, Directive, Injector, Optional, Component, Inject,
|
|
|
5
5
|
import { FieldType } from '@ngx-formly/material';
|
|
6
6
|
import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, BehaviorSubject, of, startWith, filter, throttleTime } from 'rxjs';
|
|
7
7
|
import { filterMaybe, SubscriptionObject, asObservable } from '@dereekb/rxjs';
|
|
8
|
-
import { DateScheduleDayCode, expandDateScheduleDayCodesToDayOfWeekSet, dateTimingRelativeIndexFactory, dateBlockDayOfWeekFactory, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, isSameDateScheduleRange, dateTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateScheduleDateFilterConfig, dateScheduleDateFilter, expandDateScheduleDayCodes, isDateInDateRangeFunction, isDateWithinDateBlockRangeFunction, dateScheduleEncodedWeek, dateBlockTimingDateFactory, enabledDaysFromDateScheduleDayCodes, dateScheduleDayCodesFromEnabledDays, formatToMonthDayString } from '@dereekb/date';
|
|
9
|
-
import { setsAreEquivalent, unique, mergeArrays, iterableToArray, toggleInSet, addToSet, isIndexNumberInIndexRangeFunction, range, minAndMaxNumber,
|
|
8
|
+
import { DateScheduleDayCode, expandDateScheduleDayCodesToDayOfWeekSet, dateTimingRelativeIndexFactory, dateBlockDayOfWeekFactory, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, isSameDateScheduleRange, dateTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateScheduleDateFilterConfig, dateScheduleDateFilter, expandDateScheduleDayCodes, isDateInDateRangeFunction, isDateWithinDateBlockRangeFunction, copyHoursAndMinutesFromDate, dateScheduleEncodedWeek, dateBlockTimingDateFactory, enabledDaysFromDateScheduleDayCodes, dateScheduleDayCodesFromEnabledDays, formatToMonthDayString } from '@dereekb/date';
|
|
9
|
+
import { setsAreEquivalent, unique, mergeArrays, iterableToArray, toggleInSet, addToSet, isIndexNumberInIndexRangeFunction, range, minAndMaxNumber, getDaysOfWeekNames } from '@dereekb/util';
|
|
10
10
|
import { ComponentStore } from '@ngrx/component-store';
|
|
11
|
-
import { startOfDay, endOfDay } from 'date-fns';
|
|
11
|
+
import { startOfDay, endOfDay, isBefore } from 'date-fns';
|
|
12
12
|
import * as i1$1 from '@dereekb/dbx-web';
|
|
13
13
|
import { AbstractPopoverDirective, AbstractDialogDirective, DbxActionModule, DbxButtonModule, DbxDialogInteractionModule, DbxPopoverInteractionModule, DbxTextModule } from '@dereekb/dbx-web';
|
|
14
14
|
import * as i3 from '@angular/forms';
|
|
@@ -251,7 +251,7 @@ function updateStateWithFilter(state, inputFilter) {
|
|
|
251
251
|
}
|
|
252
252
|
if (minMaxDateRange) {
|
|
253
253
|
enabledFilter.minMaxDateRange = minMaxDateRange;
|
|
254
|
-
enabledFilter.setStartAsMinDate = false;
|
|
254
|
+
enabledFilter.setStartAsMinDate = Boolean(filter === null || filter === void 0 ? void 0 : filter.start) ? true : false; // If a start date is set, then it becomes the floor.
|
|
255
255
|
}
|
|
256
256
|
/**
|
|
257
257
|
* If the input filter has a start date, use that as the relative start to ensure indexes are compared the same,
|
|
@@ -413,13 +413,17 @@ function computeScheduleSelectionValue(state) {
|
|
|
413
413
|
if (rangeAndExclusion == null) {
|
|
414
414
|
return null;
|
|
415
415
|
}
|
|
416
|
-
const { start: rangeStart, end, excluded: allExcluded, dateBlockRange } = rangeAndExclusion;
|
|
416
|
+
const { start: rangeStart, end: rangeEnd, excluded: allExcluded, dateBlockRange } = rangeAndExclusion;
|
|
417
417
|
let filterOffsetExcludedRange = [];
|
|
418
418
|
let indexOffset = dateBlockRange.i;
|
|
419
419
|
let start = rangeStart;
|
|
420
|
+
let end = rangeEnd;
|
|
420
421
|
// If computeSelectionResultRelativeToFilter is true, then we need to offset the values to be relative to that start.
|
|
421
422
|
if (computeSelectionResultRelativeToFilter && (filter === null || filter === void 0 ? void 0 : filter.start)) {
|
|
422
423
|
start = filter.start;
|
|
424
|
+
if (filter === null || filter === void 0 ? void 0 : filter.end) {
|
|
425
|
+
end = copyHoursAndMinutesFromDate(end, filter.end);
|
|
426
|
+
}
|
|
423
427
|
const filterStartIndexOffset = indexFactory(rangeStart) - indexFactory(start);
|
|
424
428
|
filterOffsetExcludedRange = range(0, filterStartIndexOffset);
|
|
425
429
|
indexOffset = indexOffset - filterStartIndexOffset;
|
|
@@ -434,6 +438,10 @@ function computeScheduleSelectionValue(state) {
|
|
|
434
438
|
const ex = [...filterOffsetExcludedRange, ...offsetExcluded];
|
|
435
439
|
const w = dateScheduleEncodedWeek(scheduleDays);
|
|
436
440
|
const d = []; // "included" blocks are never used/calculated.
|
|
441
|
+
// Always ensure the end is after or equal to the start.
|
|
442
|
+
if (isBefore(end, start)) {
|
|
443
|
+
end = start; // end is start
|
|
444
|
+
}
|
|
437
445
|
const dateScheduleRange = {
|
|
438
446
|
start,
|
|
439
447
|
end,
|
|
@@ -573,16 +581,28 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
|
573
581
|
this.dbxCalendarStore = dbxCalendarStore;
|
|
574
582
|
this.dbxCalendarScheduleSelectionStore = dbxCalendarScheduleSelectionStore;
|
|
575
583
|
this.matFormFieldDefaultOptions = matFormFieldDefaultOptions;
|
|
584
|
+
this._required = new BehaviorSubject(false);
|
|
585
|
+
this.required$ = this._required.asObservable();
|
|
576
586
|
this.label = 'Enter a date range';
|
|
577
587
|
this.showCustomize = false;
|
|
578
|
-
this.random = randomNumberFactory(10000)();
|
|
579
588
|
this._pickerOpened = new BehaviorSubject(false);
|
|
589
|
+
this._requiredSub = new SubscriptionObject();
|
|
580
590
|
this._syncSub = new SubscriptionObject();
|
|
581
591
|
this._valueSub = new SubscriptionObject();
|
|
582
592
|
this.range = new FormGroup({
|
|
583
593
|
start: new FormControl(null),
|
|
584
594
|
end: new FormControl(null)
|
|
585
595
|
});
|
|
596
|
+
this.errorStateMatcher = {
|
|
597
|
+
isErrorState: (control, form) => {
|
|
598
|
+
if (control) {
|
|
599
|
+
return (control.invalid && (control.dirty || control.touched)) || (control.touched && this.range.invalid);
|
|
600
|
+
}
|
|
601
|
+
else {
|
|
602
|
+
return false;
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
};
|
|
586
606
|
this.minDate$ = this.dbxCalendarScheduleSelectionStore.minDate$;
|
|
587
607
|
this.maxDate$ = this.dbxCalendarScheduleSelectionStore.maxDate$;
|
|
588
608
|
this.isCustomized$ = this.dbxCalendarScheduleSelectionStore.isCustomized$;
|
|
@@ -597,11 +617,11 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
|
597
617
|
}
|
|
598
618
|
}
|
|
599
619
|
ngOnInit() {
|
|
600
|
-
this._syncSub.subscription = this.dbxCalendarScheduleSelectionStore.
|
|
620
|
+
this._syncSub.subscription = this.dbxCalendarScheduleSelectionStore.currentInputRange$.subscribe((x) => {
|
|
601
621
|
var _a, _b;
|
|
602
622
|
this.range.setValue({
|
|
603
|
-
start: (_a = x.inputStart) !== null && _a !== void 0 ? _a : null,
|
|
604
|
-
end: (_b = x.inputEnd) !== null && _b !== void 0 ? _b : null
|
|
623
|
+
start: (_a = x === null || x === void 0 ? void 0 : x.inputStart) !== null && _a !== void 0 ? _a : null,
|
|
624
|
+
end: (_b = x === null || x === void 0 ? void 0 : x.inputEnd) !== null && _b !== void 0 ? _b : null
|
|
605
625
|
});
|
|
606
626
|
});
|
|
607
627
|
this._valueSub.subscription = this._pickerOpened
|
|
@@ -620,12 +640,35 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
|
620
640
|
this.dbxCalendarScheduleSelectionStore.setInputRange({ inputStart: x.start, inputEnd: x.end });
|
|
621
641
|
}
|
|
622
642
|
});
|
|
643
|
+
// add a required validator when needed
|
|
644
|
+
this._requiredSub.subscription = this._required.subscribe((x) => {
|
|
645
|
+
const validators = x
|
|
646
|
+
? [
|
|
647
|
+
(control) => {
|
|
648
|
+
const range = control.value;
|
|
649
|
+
if (!range || !range.start || !range.end) {
|
|
650
|
+
return { required: true };
|
|
651
|
+
}
|
|
652
|
+
return null;
|
|
653
|
+
}
|
|
654
|
+
]
|
|
655
|
+
: [];
|
|
656
|
+
this.range.setValidators(validators);
|
|
657
|
+
});
|
|
623
658
|
}
|
|
624
659
|
ngOnDestroy() {
|
|
660
|
+
this._required.complete();
|
|
625
661
|
this._pickerOpened.complete();
|
|
662
|
+
this._requiredSub.destroy();
|
|
626
663
|
this._syncSub.destroy();
|
|
627
664
|
this._valueSub.destroy();
|
|
628
665
|
}
|
|
666
|
+
get required() {
|
|
667
|
+
return this._required.value;
|
|
668
|
+
}
|
|
669
|
+
set required(required) {
|
|
670
|
+
this._required.next(required);
|
|
671
|
+
}
|
|
629
672
|
pickerOpened() {
|
|
630
673
|
this._pickerOpened.next(true);
|
|
631
674
|
}
|
|
@@ -634,18 +677,16 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
|
634
677
|
}
|
|
635
678
|
}
|
|
636
679
|
DbxScheduleSelectionCalendarDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [{ token: i1.DbxCalendarStore }, { token: DbxCalendarScheduleSelectionStore }, { token: MAT_FORM_FIELD_DEFAULT_OPTIONS }], target: i0.ɵɵFactoryTarget.Component });
|
|
637
|
-
DbxScheduleSelectionCalendarDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: {
|
|
680
|
+
DbxScheduleSelectionCalendarDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: { label: "label", hint: "hint", disabled: "disabled", showCustomize: "showCustomize", required: "required" }, ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n <mat-error *ngIf=\"range.hasError('required')\">Date range is required</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMin')\">Start date is too early</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMin')\">End date is too early.</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMax')\">Start date is too late.</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMax')\">End date is too late</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatError, selector: "mat-error", inputs: ["id"] }, { kind: "component", type: i5.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i5.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i7.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i7.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i7.MatStartDate, selector: "input[matStartDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i7.MatEndDate, selector: "input[matEndDate]", inputs: ["errorStateMatcher"], outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i7.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] });
|
|
638
681
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
|
|
639
682
|
type: Component,
|
|
640
|
-
args: [{ selector: 'dbx-schedule-selection-calendar-date-range', template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input [required]=\"required\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n <mat-error *ngIf=\"range.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n" }]
|
|
683
|
+
args: [{ selector: 'dbx-schedule-selection-calendar-date-range', template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n <mat-label *ngIf=\"label\">{{ label }}</mat-label>\n <div *ngIf=\"showCustomize && (isCustomized$ | async)\" class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input [required]=\"required$ | async\" [min]=\"minDate$ | async\" [max]=\"maxDate$ | async\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n <div *ngIf=\"showCustomize\">\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n <mat-error *ngIf=\"range.hasError('required')\">Date range is required</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matStartDateInvalid')\">Invalid start date</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matEndDateInvalid')\">Invalid end date</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMin')\">Start date is too early</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMin')\">End date is too early.</mat-error>\n <mat-error *ngIf=\"range.controls.start.hasError('matDatepickerMax')\">Start date is too late.</mat-error>\n <mat-error *ngIf=\"range.controls.end.hasError('matDatepickerMax')\">End date is too late</mat-error>\n <mat-hint>{{ hint }}</mat-hint>\n</mat-form-field>\n" }]
|
|
641
684
|
}], ctorParameters: function () {
|
|
642
685
|
return [{ type: i1.DbxCalendarStore }, { type: DbxCalendarScheduleSelectionStore }, { type: undefined, decorators: [{
|
|
643
686
|
type: Inject,
|
|
644
687
|
args: [MAT_FORM_FIELD_DEFAULT_OPTIONS]
|
|
645
688
|
}] }];
|
|
646
|
-
}, propDecorators: {
|
|
647
|
-
type: Input
|
|
648
|
-
}], label: [{
|
|
689
|
+
}, propDecorators: { label: [{
|
|
649
690
|
type: Input
|
|
650
691
|
}], hint: [{
|
|
651
692
|
type: Input
|
|
@@ -653,6 +694,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
653
694
|
type: Input
|
|
654
695
|
}], showCustomize: [{
|
|
655
696
|
type: Input
|
|
697
|
+
}], required: [{
|
|
698
|
+
type: Input
|
|
656
699
|
}] } });
|
|
657
700
|
|
|
658
701
|
function dbxScheduleSelectionCalendarDateDaysFormFields() {
|
|
@@ -730,7 +773,7 @@ DbxScheduleSelectionCalendarDatePopoverContentComponent.ɵcmp = i0.ɵɵngDeclare
|
|
|
730
773
|
<dbx-schedule-selection-calendar-date-range></dbx-schedule-selection-calendar-date-range>
|
|
731
774
|
<dbx-schedule-selection-calendar-date-days></dbx-schedule-selection-calendar-date-days>
|
|
732
775
|
</div>
|
|
733
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateDaysComponent, selector: "dbx-schedule-selection-calendar-date-days" }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["
|
|
776
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateDaysComponent, selector: "dbx-schedule-selection-calendar-date-days" }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["label", "hint", "disabled", "showCustomize", "required"] }] });
|
|
734
777
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxScheduleSelectionCalendarDatePopoverContentComponent, decorators: [{
|
|
735
778
|
type: Component,
|
|
736
779
|
args: [{
|
|
@@ -1123,7 +1166,7 @@ DbxFormCalendarDateScheduleRangeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent
|
|
|
1123
1166
|
<dbx-schedule-selection-calendar-date-dialog-button customizeButton></dbx-schedule-selection-calendar-date-dialog-button>
|
|
1124
1167
|
</dbx-schedule-selection-calendar-date-range>
|
|
1125
1168
|
</div>
|
|
1126
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["
|
|
1169
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["label", "hint", "disabled", "showCustomize", "required"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText"] }] });
|
|
1127
1170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
|
|
1128
1171
|
type: Component,
|
|
1129
1172
|
args: [{
|