@dereekb/dbx-form 2.0.0 → 4.0.0
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/esm2020/lib/form/action/form.action.directive.mjs +8 -8
- package/esm2020/lib/form/action/form.action.module.mjs +4 -4
- package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +4 -4
- package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +3 -3
- package/esm2020/lib/form/form.mjs +10 -1
- package/esm2020/lib/form/form.module.mjs +4 -4
- package/esm2020/lib/form/io/form.changes.directive.mjs +18 -7
- package/esm2020/lib/form/io/form.input.directive.mjs +36 -18
- package/esm2020/lib/form/io/form.io.module.mjs +4 -4
- package/esm2020/lib/form/io/form.loading.directive.mjs +27 -17
- package/esm2020/lib/form.module.mjs +4 -4
- package/esm2020/lib/formly/config/validation.mjs +3 -3
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +8 -8
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +3 -3
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +13 -13
- package/esm2020/lib/formly/field/component/component.field.component.mjs +7 -7
- package/esm2020/lib/formly/field/component/component.field.module.mjs +9 -9
- package/esm2020/lib/formly/field/form.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +7 -7
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +8 -6
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +2 -2
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +13 -13
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +28 -21
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +4 -4
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +13 -13
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +7 -8
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +13 -13
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/selection/selection.module.mjs +4 -4
- package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +4 -5
- package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +6 -6
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +21 -20
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +5 -5
- package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +15 -18
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +2 -2
- package/esm2020/lib/formly/field/value/text/text.field.mjs +3 -2
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +4 -4
- package/esm2020/lib/formly/field/value/value.module.mjs +4 -4
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +18 -10
- package/esm2020/lib/formly/field/wrapper/index.mjs +2 -1
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +4 -4
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/working.wrapper.component.mjs +45 -0
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +7 -1
- package/esm2020/lib/formly/formly.context.directive.mjs +3 -3
- package/esm2020/lib/formly/formly.context.mjs +2 -2
- package/esm2020/lib/formly/formly.directive.mjs +12 -12
- package/esm2020/lib/formly/formly.form.component.mjs +15 -8
- package/esm2020/lib/formly/formly.module.mjs +9 -6
- package/esm2020/lib/formly/index.mjs +2 -1
- package/esm2020/lib/formly/template/available.mjs +16 -0
- package/esm2020/lib/formly/template/index.mjs +3 -0
- package/esm2020/lib/formly/template/login.mjs +90 -0
- package/esm2020/lib/layout/form.layout.module.mjs +4 -4
- package/esm2020/lib/layout/form.spacer.component.mjs +3 -3
- package/esm2020/lib/validator/available.mjs +32 -0
- package/esm2020/lib/validator/field.mjs +31 -0
- package/esm2020/lib/validator/index.mjs +3 -1
- package/fesm2015/dereekb-dbx-form.mjs +624 -369
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +641 -366
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/form/action/form.action.directive.d.ts +8 -13
- package/lib/form/form.d.ts +11 -0
- package/lib/form/io/form.changes.directive.d.ts +7 -3
- package/lib/form/io/form.input.directive.d.ts +18 -7
- package/lib/form/io/form.loading.directive.d.ts +8 -2
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +2 -2
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +1 -1
- package/lib/formly/field/component/component.field.component.d.ts +3 -3
- package/lib/formly/field/component/component.field.module.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +8 -3
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +8 -6
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +2 -1
- package/lib/formly/field/selection/searchable/searchable.d.ts +3 -3
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +2 -2
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +4 -4
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +1 -1
- package/lib/formly/field/value/array/array.field.component.d.ts +2 -2
- package/lib/formly/field/value/date/datetime.field.component.d.ts +4 -4
- package/lib/formly/field/value/phone/_phone.scss +4 -0
- package/lib/formly/field/value/text/text.additional.field.d.ts +1 -1
- package/lib/formly/field/value/text/text.field.d.ts +2 -0
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +9 -8
- package/lib/formly/field/wrapper/index.d.ts +1 -0
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +3 -3
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +22 -0
- package/lib/formly/field/wrapper/wrapper.d.ts +3 -0
- package/lib/formly/formly.context.d.ts +1 -1
- package/lib/formly/index.d.ts +1 -0
- package/lib/formly/template/available.d.ts +7 -0
- package/lib/formly/template/index.d.ts +2 -0
- package/lib/formly/template/login.d.ts +59 -0
- package/lib/validator/available.d.ts +30 -0
- package/lib/validator/field.d.ts +32 -0
- package/lib/validator/index.d.ts +2 -0
- package/package.json +17 -45
- package/lib/formly/field/fields_TODO.scss +0 -4
- package/lib/formly/form_TODO.scss +0 -153
|
@@ -29,11 +29,11 @@ export class DbxActionFormDirective {
|
|
|
29
29
|
}
|
|
30
30
|
this.lockSet.addChildLockSet(source.lockSet, 'source');
|
|
31
31
|
}
|
|
32
|
-
get
|
|
32
|
+
get formDisabledOnWorking() {
|
|
33
33
|
return this._formDisabledWhileWorking.value;
|
|
34
34
|
}
|
|
35
|
-
set
|
|
36
|
-
this._formDisabledWhileWorking.next(Boolean(
|
|
35
|
+
set formDisabledOnWorking(formDisabledOnWorking) {
|
|
36
|
+
this._formDisabledWhileWorking.next(Boolean(formDisabledOnWorking ?? true));
|
|
37
37
|
}
|
|
38
38
|
ngOnInit() {
|
|
39
39
|
// Pass data from the form to the source when triggered.
|
|
@@ -129,9 +129,9 @@ export class DbxActionFormDirective {
|
|
|
129
129
|
return of({ value });
|
|
130
130
|
}
|
|
131
131
|
}
|
|
132
|
-
DbxActionFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
133
|
-
DbxActionFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
132
|
+
DbxActionFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormDirective, deps: [{ token: i1.DbxMutableForm, host: true }, { token: i2.DbxActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
133
|
+
DbxActionFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: { dbxActionFormValidator: "dbxActionFormValidator", dbxActionFormModified: "dbxActionFormModified", formDisabledOnWorking: "formDisabledOnWorking" }, ngImport: i0 });
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormDirective, decorators: [{
|
|
135
135
|
type: Directive,
|
|
136
136
|
args: [{
|
|
137
137
|
selector: '[dbxActionForm]'
|
|
@@ -142,7 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
142
142
|
type: Input
|
|
143
143
|
}], dbxActionFormModified: [{
|
|
144
144
|
type: Input
|
|
145
|
-
}],
|
|
145
|
+
}], formDisabledOnWorking: [{
|
|
146
146
|
type: Input
|
|
147
147
|
}] } });
|
|
148
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXhFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQW1DLE1BQU0sZUFBZSxDQUFDO0FBQzdGLE9BQU8sRUFBRSxZQUFZLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7QUFPL0QsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsaUJBQWlCLENBQUM7QUFFOUQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQXVCakMsWUFBb0MsSUFBb0IsRUFBa0IsTUFBd0Q7UUFBOUYsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFBa0IsV0FBTSxHQUFOLE1BQU0sQ0FBa0Q7UUFyQnpILFlBQU8sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO1FBZXpCLDhCQUF5QixHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO1FBRS9ELGtCQUFhLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBQ3pDLG1CQUFjLEdB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QUFRLENBQUMsQ0FDbEUsQ0FBQztJQUNKLENBQUM7SUFFUyxVQUFVLENBQUMsS0FBUTtRQUMzQixPQUFPLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7bUhBMUtVLHNCQUFzQjt1R0FBdEIsc0JBQXNCOzJGQUF0QixzQkFBc0I7a0JBSGxDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGlCQUFpQjtpQkFDNUI7OzBCQXdCYyxJQUFJOzhGQWRqQixzQkFBc0I7c0JBRHJCLEtBQUs7Z0JBT04scUJBQXFCO3NCQURwQixLQUFLO2dCQWtCRixpQ0FBaUM7c0JBRHBDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIE9uSW5pdCwgT25EZXN0cm95LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgYWRkU2Vjb25kcywgaXNQYXN0IH0gZnJvbSAnZGF0ZS1mbnMnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YsIGNvbWJpbmVMYXRlc3QsIGV4aGF1c3RNYXAsIGNhdGNoRXJyb3IsIGRlbGF5LCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgQmVoYXZpb3JTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2UgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBSZWFkYWJsZUVycm9yIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QsIExvY2tTZXQsIHRhcExvZywgSXNNb2RpZmllZEZuLCBJc1ZhbGlkRm4gfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZvcm1TdGF0ZSwgRGJ4TXV0YWJsZUZvcm0gfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEFjdGlvbkZvcm1UcmlnZ2VyUmVzdWx0IHtcbiAgdmFsdWU/OiBhbnk7XG4gIHJlamVjdD86IFJlYWRhYmxlRXJyb3I7XG59XG5cbmV4cG9ydCBjb25zdCBBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZID0gJ2RieF9hY3Rpb25fZm9ybSc7XG5cbi8qKlxuICogVXNlZCB3aXRoIGFuIGFjdGlvbiB0byBiaW5kIGEgZm9ybSB0byBhbiBhY3Rpb24gYXMgaXQncyB2YWx1ZSBzb3VyY2UuXG4gKlxuICogSWYgdGhlIGZvcm0gaGFzIGVycm9ycyB3aGVuIHRoZSBhY3Rpb24gaXMgdHJpZ2dlciwgaXQgd2lsbCByZWplY3QgdGhlIGFjdGlvbi5cbiAqXG4gKiBJZiB0aGUgc291cmNlIGlzIG5vdCBjb25zaWRlcmVkIG1vZGlmaWVkLCB0aGUgdHJpZ2dlciB3aWxsIGJlIGlnbm9yZWQuXG4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tkYnhBY3Rpb25Gb3JtXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4QWN0aW9uRm9ybURpcmVjdGl2ZTxUID0gYW55PiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICByZWFkb25seSBsb2NrU2V0ID0gbmV3IExvY2tTZXQoKTtcblxuICAvKipcbiAgICogT3B0aW9uYWwgdmFsaWRhdG9yIHRoYXQgY2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBpc1xuICAgKiByZWFkeSB0byBzZW5kIGJlZm9yZSB0aGUgY29udGV4dCBzdG9yZSBpcyBtYXJrZWQgZW5hYmxlZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRieEFjdGlvbkZvcm1WYWxpZGF0b3I/OiBJc1ZhbGlkRm48VD47XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9uIHRoYXQgY2hlY2tzIHdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBoYXMgYmVlbiBtb2RpZmllZC5cbiAgICovXG4gIEBJbnB1dCgpXG4gIGRieEFjdGlvbkZvcm1Nb2RpZmllZD86IElzTW9kaWZpZWRGbjxUPjtcblxuICBwcml2YXRlIF9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuXG4gIHByaXZhdGUgX3RyaWdnZXJlZFN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfaXNDb21wbGV0ZVN1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcbiAgcHJpdmF0ZSBfaXNXb3JraW5nU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGZvcm06IERieE11dGFibGVGb3JtLCBwdWJsaWMgcmVhZG9ubHkgc291cmNlOiBEYnhBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZTxvYmplY3QsIGFueT4pIHtcbiAgICBpZiAoZm9ybS5sb2NrU2V0KSB7XG4gICAgICB0aGlzLmxvY2tTZXQuYWRkQ2hpbGRMb2NrU2V0KGZvcm0ubG9ja1NldCwgJ2Zvcm0nKTtcbiAgICB9XG5cbiAgICB0aGlzLmxvY2tTZXQuYWRkQ2hpbGRMb2NrU2V0KHNvdXJjZS5sb2NrU2V0LCAnc291cmNlJyk7XG4gIH1cblxuICBASW5wdXQoKVxuICBnZXQgZGJ4QWN0aW9uRm9ybURpc2FibGVkV2hpbGVXb3JraW5nKCkge1xuICAgIHJldHVybiB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcudmFsdWU7XG4gIH1cblxuICBzZXQgZGJ4QWN0aW9uRm9ybURpc2FibGVkV2hpbGVXb3JraW5nKGRieEFjdGlvbkZvcm1EaXNhYmxlZFdoaWxlV29ya2luZzogYm9vbGVhbikge1xuICAgIHRoaXMuX2Zvcm1EaXNhYmxlZFdoaWxlV29ya2luZy5uZXh0KEJvb2xlYW4oZGJ4QWN0aW9uRm9ybURpc2FibGVkV2hpbGVXb3JraW5nID8/IHRydWUpKTtcbiAgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuXG4gICAgLy8gUGFzcyBkYXRhIGZyb20gdGhlIGZvcm0gdG8gdGhlIHNvdXJjZSB3aGVuIHRyaWdnZXJlZC5cbiAgICB0aGlzLl90cmlnZ2VyZWRTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zb3VyY2UudHJpZ2dlcmVkJC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+IHRoaXMuZm9ybS5zdHJlYW0kLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGV4aGF1c3RNYXAoKHN0cmVhbSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHsgaXNDb21wbGV0ZSB9ID0gc3RyZWFtO1xuICAgICAgICAgIGNvbnN0IGRvTm90aGluZyA9IHt9OyAvLyBub3RoaW5nLCBmb3JtIG5vdCBjb21wbGV0ZVxuXG4gICAgICAgICAgbGV0IG9iczogT2JzZXJ2YWJsZTxEYnhBY3Rpb25Gb3JtVHJpZ2dlclJlc3VsdD47XG5cbiAgICAgICAgICBpZiAoaXNDb21wbGV0ZSkge1xuICAgICAgICAgICAgb2JzID0gdGhpcy5mb3JtLmdldFZhbHVlKCkucGlwZShcbiAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgZXhoYXVzdE1hcCgodmFsdWUpID0+IHRoaXMucHJlQ2hlY2tSZWFkeVZhbHVlKHZhbHVlKS5waXBlKFxuICAgICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgICAgc3dpdGNoTWFwKChjYW5Db250aW51ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgaWYgKGNhbkNvbnRpbnVlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlYWR5VmFsdWUodmFsdWUpLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gb2YoZG9Ob3RoaW5nKTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcikgPT4gb2YoeyByZWplY3Q6IGVycm9yIH0pKVxuICAgICAgICAgICAgICApKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG9icyA9IG9mKGRvTm90aGluZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIG9icztcbiAgICAgICAgfSkpKVxuICAgICkuc3Vic2NyaWJlKChyZXN1bHQ6IERieEFjdGlvbkZvcm1UcmlnZ2VyUmVzdWx0KSA9PiB7XG4gICAgICBpZiAocmVzdWx0LnJlamVjdCkge1xuICAgICAgICB0aGlzLnNvdXJjZS5yZWplY3QocmVzdWx0LnJlamVjdCk7XG4gICAgICB9IGVsc2UgaWYgKHJlc3VsdC52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlYWR5VmFsdWUocmVzdWx0LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIC8vIHZhbHVlIGlzbid0IHJlYWR5XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICAvLyBVcGRhdGUgdGhlIGVuYWJsZWQvZGlzYWJsZWQgc3RhdGVcbiAgICB0aGlzLl9pc0NvbXBsZXRlU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuZm9ybS5zdHJlYW0kLnBpcGUoXG4gICAgICBkZWxheSgwKSxcbiAgICAgIGZpbHRlcigoeCkgPT4geC5zdGF0ZSAhPT0gRGJ4Rm9ybVN0YXRlLklOSVRJQUxJWklORyksXG4gICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvcm0uZ2V0VmFsdWUoKS5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgZXhoYXVzdE1hcCgodmFsdWUpID0+IHtcblxuICAgICAgICAgICAgLy8gVXNlIGJvdGggY2hhbmdlcyBjb3VudCBhbmQgd2hldGhlciBvciBub3Qgc29tZXRoaW5nIHdhcyBpbiB0aGUgcGFzdCB0byBndWFnZSB3aGV0aGVyIG9yIG5vdCB0aGUgaXRlbSBoYXMgYmVlbiB0b3VjaGVkLlxuICAgICAgICAgICAgLy8gQW5ndWxhciBGb3JtJ3MgdW50b3VjaGVkIGlzIHdoZXRoZXIgb3Igbm90IGZvY3VzIGhhcyBiZWVuIGxvc3QgYnV0IHdlIGNhbiBzdGlsbCByZWNpZXZlIHZhbHVlIHVwZGF0ZXMuXG4gICAgICAgICAgICAvLyBNb3JlIHRoYW4gYSBjZXJ0YWluIGFtb3VudCBvZiB1cGRhdGVzIGltcGxpZXMgdGhhdCBpdCBpcyBiZWluZyB0eXBlZCBpbnRvLlxuICAgICAgICAgICAgY29uc3QgaXNQcm9iYWJseVRvdWNoZWQgPSAhZXZlbnQudW50b3VjaGVkIHx8XG4gICAgICAgICAgICAgICgoZXZlbnQuY2hhbmdlc0NvdW50ID8/IDApID4gMyAmJiBpc1Bhc3QoYWRkU2Vjb25kcyhldmVudC5sYXN0UmVzZXRBdCA/PyBuZXcgRGF0ZSgpLCAyKSkpO1xuXG4gICAgICAgICAgICBsZXQgdmFsaWRhdG9yT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgICAgICAgICBjb25zdCBpbml0aWFsSXNWYWxpZENoZWNrID0gZXZlbnQuaXNDb21wbGV0ZTtcbiAgICAgICAgICAgIGlmIChpbml0aWFsSXNWYWxpZENoZWNrKSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRvck9icyA9ICh0aGlzLmRieEFjdGlvbkZvcm1WYWxpZGF0b3IpID8gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgdmFsaWRhdG9yT2JzID0gb2YoZmFsc2UpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgbW9kaWZpZWRPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAgICAgICAgIGNvbnN0IGlzQ29uc2lkZXJlZE1vZGlmaWVkID0gKGV2ZW50LnByaXN0aW5lID09PSBmYWxzZSAmJiBpc1Byb2JhYmx5VG91Y2hlZCk7XG4gICAgICAgICAgICBpZiAoaXNDb25zaWRlcmVkTW9kaWZpZWQpIHtcbiAgICAgICAgICAgICAgbW9kaWZpZWRPYnMgPSAodGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQpID8gdGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQodmFsdWUpIDogb2YodHJ1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBtb2RpZmllZE9icyA9IG9mKGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgICB2YWxpZGF0b3JPYnMsXG4gICAgICAgICAgICAgIG1vZGlmaWVkT2JzXG4gICAgICAgICAgICBdKS5waXBlKFxuICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICBtYXAoKFt2YWxpZCwgbW9kaWZpZWRdOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+ICh7IHZhbGlkLCBtb2RpZmllZCwgdmFsdWUsIGV2ZW50IH0pKVxuICAgICAgICAgICAgKVxuICAgICAgICAgIH0pKTtcbiAgICAgIH0pXG4gICAgKS5zdWJzY3JpYmUoKHsgdmFsaWQsIG1vZGlmaWVkLCB2YWx1ZSwgZXZlbnQgfSkgPT4ge1xuXG4gICAgICAvLyBjb25zb2xlLmxvZygneDogJywgdmFsdWUsIGV2ZW50LCB2YWxpZCwgbW9kaWZpZWQpO1xuXG4gICAgICAvLyBVcGRhdGUgTW9kaWZpZWQgU3RhdGVcbiAgICAgIHRoaXMuc291cmNlLnNldElzTW9kaWZpZWQobW9kaWZpZWQpO1xuXG4gICAgICAvLyBEaXNhYmxlIGlmIHRoZSBmb3JtIGlzIG5vdCB5ZXQgY29tcGxldGUvdmFsaWQuXG4gICAgICB0aGlzLnNvdXJjZS5lbmFibGUoQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSwgdmFsaWQpO1xuICAgIH0pO1xuXG4gICAgLy8gV2F0Y2ggdGhlIHdvcmtpbmcgc3RhdGUgYW5kIGRpc2FibGUgZm9ybSB3aGlsZSB3b3JraW5nXG4gICAgdGhpcy5faXNXb3JraW5nU3ViLnN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW3RoaXMuc291cmNlLmlzV29ya2luZyQsIHRoaXMuX2Zvcm1EaXNhYmxlZFdoaWxlV29ya2luZ10pLnBpcGUoXG4gICAgICBtYXAoKFtpc1dvcmtpbmcsIGxvY2tPbldvcmtpbmddOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+IGxvY2tPbldvcmtpbmcgJiYgaXNXb3JraW5nKSxcbiAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICApLnN1YnNjcmliZSgoZGlzYWJsZSkgPT4ge1xuICAgICAgdGhpcy5mb3JtLnNldERpc2FibGVkKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVksIGRpc2FibGUpO1xuICAgIH0pO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UuZW5hYmxlKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVkpO1xuICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9pc0NvbXBsZXRlU3ViLmRlc3Ryb3koKTtcbiAgICAgIHRoaXMuX2lzV29ya2luZ1N1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcuY29tcGxldGUoKTtcbiAgICAgIHRoaXMuZm9ybS5zZXREaXNhYmxlZChBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZLCBmYWxzZSk7XG4gICAgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcHJlQ2hlY2tSZWFkeVZhbHVlKHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgbGV0IHZhbGlkYXRvck9iczogT2JzZXJ2YWJsZTxib29sZWFuPiA9ICh0aGlzLmRieEFjdGlvbkZvcm1WYWxpZGF0b3IpID8gdGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgIGxldCBtb2RpZmllZE9iczogT2JzZXJ2YWJsZTxib29sZWFuPiA9ICh0aGlzLmRieEFjdGlvbkZvcm1Nb2RpZmllZCkgPyB0aGlzLmRieEFjdGlvbkZvcm1Nb2RpZmllZCh2YWx1ZSkgOiBvZih0cnVlKTtcblxuICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgIHZhbGlkYXRvck9icyxcbiAgICAgIG1vZGlmaWVkT2JzXG4gICAgXSkucGlwZShcbiAgICAgIGZpcnN0KCksXG4gICAgICBtYXAoKFt2YWxpZCwgbW9kaWZpZWRdOiBbYm9vbGVhbiwgYm9vbGVhbl0pID0+IHZhbGlkICYmIG1vZGlmaWVkKVxuICAgICk7XG4gIH1cblxuICBwcm90ZWN0ZWQgcmVhZHlWYWx1ZSh2YWx1ZTogVCk6IE9ic2VydmFibGU8RGJ4QWN0aW9uRm9ybVRyaWdnZXJSZXN1bHQ+IHtcbiAgICByZXR1cm4gb2YoeyB2YWx1ZSB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxVQUFVLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFLG9CQUFvQixFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzFKLE9BQU8sRUFBRSxtQ0FBbUMsRUFBaUMsTUFBTSxtQkFBbUIsQ0FBQztBQUN2RyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUF1QyxNQUFNLGVBQWUsQ0FBQztBQUNqRyxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7O0FBRS9ELE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlCQUFpQixDQUFDO0FBRTlEOzs7Ozs7R0FNRztBQUlILE1BQU0sT0FBTyxzQkFBc0I7SUF1QmpDLFlBQW9DLElBQW9CLEVBQWtCLE1BQXdEO1FBQTlGLFNBQUksR0FBSixJQUFJLENBQWdCO1FBQWtCLFdBQU0sR0FBTixNQUFNLENBQWtEO1FBckJ6SCxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWV6Qiw4QkFBeUIsR0FBRyxJQUFJLGVBQWUsQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUUvRCxrQkFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxtQkFBYyxH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UUFBUSxDQUFDLENBQ2xFLENBQUM7SUFDSixDQUFDO0lBRVMsVUFBVSxDQUFDLEtBQVE7UUFDM0IsT0FBTyxFQUFFLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7O21IQTFLVSxzQkFBc0I7dUdBQXRCLHNCQUFzQjsyRkFBdEIsc0JBQXNCO2tCQUhsQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxpQkFBaUI7aUJBQzVCOzswQkF3QmMsSUFBSTs4RkFkakIsc0JBQXNCO3NCQURyQixLQUFLO2dCQU9OLHFCQUFxQjtzQkFEcEIsS0FBSztnQkFrQkYscUJBQXFCO3NCQUR4QixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBPbkluaXQsIE9uRGVzdHJveSwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZFNlY29uZHMsIGlzUGFzdCB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IE9ic2VydmFibGUsIG9mLCBjb21iaW5lTGF0ZXN0LCBleGhhdXN0TWFwLCBjYXRjaEVycm9yLCBkZWxheSwgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAsIEJlaGF2aW9yU3ViamVjdCwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERieEFjdGlvbkNvbnRleHRTdG9yZVNvdXJjZUluc3RhbmNlLCBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdCB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTG9ja1NldCwgSXNNb2RpZmllZEZ1bmN0aW9uLCBJc1ZhbGlkRnVuY3Rpb24gfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZvcm1TdGF0ZSwgRGJ4TXV0YWJsZUZvcm0gfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuXG5leHBvcnQgY29uc3QgQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSA9ICdkYnhfYWN0aW9uX2Zvcm0nO1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhbiBhY3Rpb24gdG8gYmluZCBhIGZvcm0gdG8gYW4gYWN0aW9uIGFzIGl0J3MgdmFsdWUgc291cmNlLlxuICpcbiAqIElmIHRoZSBmb3JtIGhhcyBlcnJvcnMgd2hlbiB0aGUgYWN0aW9uIGlzIHRyaWdnZXIsIGl0IHdpbGwgcmVqZWN0IHRoZSBhY3Rpb24uXG4gKlxuICogSWYgdGhlIHNvdXJjZSBpcyBub3QgY29uc2lkZXJlZCBtb2RpZmllZCwgdGhlIHRyaWdnZXIgd2lsbCBiZSBpZ25vcmVkLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4QWN0aW9uRm9ybV0nXG59KVxuZXhwb3J0IGNsYXNzIERieEFjdGlvbkZvcm1EaXJlY3RpdmU8VCA9IGFueT4gaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcmVhZG9ubHkgbG9ja1NldCA9IG5ldyBMb2NrU2V0KCk7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIHZhbGlkYXRvciB0aGF0IGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaXNcbiAgICogcmVhZHkgdG8gc2VuZCBiZWZvcmUgdGhlIGNvbnRleHQgc3RvcmUgaXMgbWFya2VkIGVuYWJsZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBkYnhBY3Rpb25Gb3JtVmFsaWRhdG9yPzogSXNWYWxpZEZ1bmN0aW9uPFQ+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBmdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaGFzIGJlZW4gbW9kaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBkYnhBY3Rpb25Gb3JtTW9kaWZpZWQ/OiBJc01vZGlmaWVkRnVuY3Rpb248VD47XG5cbiAgcHJpdmF0ZSBfZm9ybURpc2FibGVkV2hpbGVXb3JraW5nID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0cnVlKTtcblxuICBwcml2YXRlIF90cmlnZ2VyZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2lzQ29tcGxldGVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2lzV29ya2luZ1N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBmb3JtOiBEYnhNdXRhYmxlRm9ybSwgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogRGJ4QWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8b2JqZWN0LCBhbnk+KSB7XG4gICAgaWYgKGZvcm0ubG9ja1NldCkge1xuICAgICAgdGhpcy5sb2NrU2V0LmFkZENoaWxkTG9ja1NldChmb3JtLmxvY2tTZXQsICdmb3JtJyk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2NrU2V0LmFkZENoaWxkTG9ja1NldChzb3VyY2UubG9ja1NldCwgJ3NvdXJjZScpO1xuICB9XG5cbiAgQElucHV0KClcbiAgZ2V0IGZvcm1EaXNhYmxlZE9uV29ya2luZygpIHtcbiAgICByZXR1cm4gdGhpcy5fZm9ybURpc2FibGVkV2hpbGVXb3JraW5nLnZhbHVlO1xuICB9XG5cbiAgc2V0IGZvcm1EaXNhYmxlZE9uV29ya2luZyhmb3JtRGlzYWJsZWRPbldvcmtpbmc6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmcubmV4dChCb29sZWFuKGZvcm1EaXNhYmxlZE9uV29ya2luZyA/PyB0cnVlKSk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcblxuICAgIC8vIFBhc3MgZGF0YSBmcm9tIHRoZSBmb3JtIHRvIHRoZSBzb3VyY2Ugd2hlbiB0cmlnZ2VyZWQuXG4gICAgdGhpcy5fdHJpZ2dlcmVkU3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuc291cmNlLnRyaWdnZXJlZCQucGlwZShcbiAgICAgIHN3aXRjaE1hcCgoKSA9PiB0aGlzLmZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICBleGhhdXN0TWFwKChzdHJlYW0pID0+IHtcbiAgICAgICAgICBjb25zdCB7IGlzQ29tcGxldGUgfSA9IHN0cmVhbTtcbiAgICAgICAgICBjb25zdCBkb05vdGhpbmcgPSB7fTsgLy8gbm90aGluZywgZm9ybSBub3QgY29tcGxldGVcblxuICAgICAgICAgIGxldCBvYnM6IE9ic2VydmFibGU8RGJ4QWN0aW9uVmFsdWVPblRyaWdnZXJSZXN1bHQ+O1xuXG4gICAgICAgICAgaWYgKGlzQ29tcGxldGUpIHtcbiAgICAgICAgICAgIG9icyA9IHRoaXMuZm9ybS5nZXRWYWx1ZSgpLnBpcGUoXG4gICAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICAgIGV4aGF1c3RNYXAoKHZhbHVlKSA9PiB0aGlzLnByZUNoZWNrUmVhZHlWYWx1ZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgoY2FuQ29udGludWUpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlmIChjYW5Db250aW51ZSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWFkeVZhbHVlKHZhbHVlKS5waXBlKGZpcnN0KCkpO1xuICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKGRvTm90aGluZyk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgcmVqZWN0OiBlcnJvciB9KSlcbiAgICAgICAgICAgICAgKSkpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBvYnMgPSBvZihkb05vdGhpbmcpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBvYnM7XG4gICAgICAgIH0pKSlcbiAgICApLnN1YnNjcmliZSgocmVzdWx0OiBEYnhBY3Rpb25WYWx1ZU9uVHJpZ2dlclJlc3VsdCkgPT4ge1xuICAgICAgaWYgKHJlc3VsdC5yZWplY3QpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UucmVqZWN0KHJlc3VsdC5yZWplY3QpO1xuICAgICAgfSBlbHNlIGlmIChyZXN1bHQudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICB0aGlzLnNvdXJjZS5yZWFkeVZhbHVlKHJlc3VsdC52YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyB2YWx1ZSBpc24ndCByZWFkeVxuICAgICAgfVxuICAgIH0pO1xuXG4gICAgLy8gVXBkYXRlIHRoZSBlbmFibGVkL2Rpc2FibGVkIHN0YXRlXG4gICAgdGhpcy5faXNDb21wbGV0ZVN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgZGVsYXkoMCksXG4gICAgICBmaWx0ZXIoKHgpID0+IHguc3RhdGUgIT09IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcpLFxuICAgICAgc3dpdGNoTWFwKChldmVudCkgPT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtLmdldFZhbHVlKCkucGlwZShcbiAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgIGV4aGF1c3RNYXAoKHZhbHVlKSA9PiB7XG5cbiAgICAgICAgICAgIC8vIFVzZSBib3RoIGNoYW5nZXMgY291bnQgYW5kIHdoZXRoZXIgb3Igbm90IHNvbWV0aGluZyB3YXMgaW4gdGhlIHBhc3QgdG8gZ3VhZ2Ugd2hldGhlciBvciBub3QgdGhlIGl0ZW0gaGFzIGJlZW4gdG91Y2hlZC5cbiAgICAgICAgICAgIC8vIEFuZ3VsYXIgRm9ybSdzIHVudG91Y2hlZCBpcyB3aGV0aGVyIG9yIG5vdCBmb2N1cyBoYXMgYmVlbiBsb3N0IGJ1dCB3ZSBjYW4gc3RpbGwgcmVjaWV2ZSB2YWx1ZSB1cGRhdGVzLlxuICAgICAgICAgICAgLy8gTW9yZSB0aGFuIGEgY2VydGFpbiBhbW91bnQgb2YgdXBkYXRlcyBpbXBsaWVzIHRoYXQgaXQgaXMgYmVpbmcgdHlwZWQgaW50by5cbiAgICAgICAgICAgIGNvbnN0IGlzUHJvYmFibHlUb3VjaGVkID0gIWV2ZW50LnVudG91Y2hlZCB8fFxuICAgICAgICAgICAgICAoKGV2ZW50LmNoYW5nZXNDb3VudCA/PyAwKSA+IDMgJiYgaXNQYXN0KGFkZFNlY29uZHMoZXZlbnQubGFzdFJlc2V0QXQgPz8gbmV3IERhdGUoKSwgMikpKTtcblxuICAgICAgICAgICAgbGV0IHZhbGlkYXRvck9iczogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICAgICAgICAgICAgY29uc3QgaW5pdGlhbElzVmFsaWRDaGVjayA9IGV2ZW50LmlzQ29tcGxldGU7XG4gICAgICAgICAgICBpZiAoaW5pdGlhbElzVmFsaWRDaGVjaykge1xuICAgICAgICAgICAgICB2YWxpZGF0b3JPYnMgPSAodGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKSA/IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvcih2YWx1ZSkgOiBvZih0cnVlKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgIHZhbGlkYXRvck9icyA9IG9mKGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGV0IG1vZGlmaWVkT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgICAgICAgICBjb25zdCBpc0NvbnNpZGVyZWRNb2RpZmllZCA9IChldmVudC5wcmlzdGluZSA9PT0gZmFsc2UgJiYgaXNQcm9iYWJseVRvdWNoZWQpO1xuICAgICAgICAgICAgaWYgKGlzQ29uc2lkZXJlZE1vZGlmaWVkKSB7XG4gICAgICAgICAgICAgIG1vZGlmaWVkT2JzID0gKHRoaXMuZGJ4QWN0aW9uRm9ybU1vZGlmaWVkKSA/IHRoaXMuZGJ4QWN0aW9uRm9ybU1vZGlmaWVkKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgbW9kaWZpZWRPYnMgPSBvZihmYWxzZSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiBjb21iaW5lTGF0ZXN0KFtcbiAgICAgICAgICAgICAgdmFsaWRhdG9yT2JzLFxuICAgICAgICAgICAgICBtb2RpZmllZE9ic1xuICAgICAgICAgICAgXSkucGlwZShcbiAgICAgICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICAgICAgbWFwKChbdmFsaWQsIG1vZGlmaWVkXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiAoeyB2YWxpZCwgbW9kaWZpZWQsIHZhbHVlLCBldmVudCB9KSlcbiAgICAgICAgICAgIClcbiAgICAgICAgICB9KSk7XG4gICAgICB9KVxuICAgICkuc3Vic2NyaWJlKCh7IHZhbGlkLCBtb2RpZmllZCwgdmFsdWUsIGV2ZW50IH0pID0+IHtcblxuICAgICAgLy8gY29uc29sZS5sb2coJ3g6ICcsIHZhbHVlLCBldmVudCwgdmFsaWQsIG1vZGlmaWVkKTtcblxuICAgICAgLy8gVXBkYXRlIE1vZGlmaWVkIFN0YXRlXG4gICAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKG1vZGlmaWVkKTtcblxuICAgICAgLy8gRGlzYWJsZSBpZiB0aGUgZm9ybSBpcyBub3QgeWV0IGNvbXBsZXRlL3ZhbGlkLlxuICAgICAgdGhpcy5zb3VyY2UuZW5hYmxlKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVksIHZhbGlkKTtcbiAgICB9KTtcblxuICAgIC8vIFdhdGNoIHRoZSB3b3JraW5nIHN0YXRlIGFuZCBkaXNhYmxlIGZvcm0gd2hpbGUgd29ya2luZ1xuICAgIHRoaXMuX2lzV29ya2luZ1N1Yi5zdWJzY3JpcHRpb24gPSBjb21iaW5lTGF0ZXN0KFt0aGlzLnNvdXJjZS5pc1dvcmtpbmckLCB0aGlzLl9mb3JtRGlzYWJsZWRXaGlsZVdvcmtpbmddKS5waXBlKFxuICAgICAgbWFwKChbaXNXb3JraW5nLCBsb2NrT25Xb3JraW5nXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiBsb2NrT25Xb3JraW5nICYmIGlzV29ya2luZyksXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgKS5zdWJzY3JpYmUoKGRpc2FibGUpID0+IHtcbiAgICAgIHRoaXMuZm9ybS5zZXREaXNhYmxlZChBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZLCBkaXNhYmxlKTtcbiAgICB9KTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuc291cmNlLmVuYWJsZShBUFBfQUNUSU9OX0ZPUk1fRElTQUJMRURfS0VZKTtcbiAgICB0aGlzLmxvY2tTZXQuZGVzdHJveU9uTmV4dFVubG9jaygoKSA9PiB7XG4gICAgICB0aGlzLl90cmlnZ2VyZWRTdWIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5faXNDb21wbGV0ZVN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9pc1dvcmtpbmdTdWIuZGVzdHJveSgpO1xuICAgICAgdGhpcy5fZm9ybURpc2FibGVkV2hpbGVXb3JraW5nLmNvbXBsZXRlKCk7XG4gICAgICB0aGlzLmZvcm0uc2V0RGlzYWJsZWQoQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSwgZmFsc2UpO1xuICAgIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIHByZUNoZWNrUmVhZHlWYWx1ZSh2YWx1ZTogVCk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGxldCB2YWxpZGF0b3JPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSAodGhpcy5kYnhBY3Rpb25Gb3JtVmFsaWRhdG9yKSA/IHRoaXMuZGJ4QWN0aW9uRm9ybVZhbGlkYXRvcih2YWx1ZSkgOiBvZih0cnVlKTtcbiAgICBsZXQgbW9kaWZpZWRPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj4gPSAodGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQpID8gdGhpcy5kYnhBY3Rpb25Gb3JtTW9kaWZpZWQodmFsdWUpIDogb2YodHJ1ZSk7XG5cbiAgICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgICB2YWxpZGF0b3JPYnMsXG4gICAgICBtb2RpZmllZE9ic1xuICAgIF0pLnBpcGUoXG4gICAgICBmaXJzdCgpLFxuICAgICAgbWFwKChbdmFsaWQsIG1vZGlmaWVkXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiB2YWxpZCAmJiBtb2RpZmllZClcbiAgICApO1xuICB9XG5cbiAgcHJvdGVjdGVkIHJlYWR5VmFsdWUodmFsdWU6IFQpOiBPYnNlcnZhYmxlPERieEFjdGlvblZhbHVlT25UcmlnZ2VyUmVzdWx0PiB7XG4gICAgcmV0dXJuIG9mKHsgdmFsdWUgfSk7XG4gIH1cblxufVxuIl19
|
|
@@ -5,14 +5,14 @@ import { DbxActionFormDirective } from './form.action.directive';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class DbxFormActionModule {
|
|
7
7
|
}
|
|
8
|
-
DbxFormActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
9
|
-
DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
8
|
+
DbxFormActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule,
|
|
10
10
|
MatDialogModule], exports: [DbxActionFormDirective] });
|
|
11
|
-
DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
11
|
+
DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, imports: [[
|
|
12
12
|
CommonModule,
|
|
13
13
|
MatDialogModule
|
|
14
14
|
]] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
imports: [
|
|
@@ -4,12 +4,12 @@ import { DbxActionFormSafetyDirective } from './form.action.transition.safety.di
|
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
5
|
export class DbxFormActionTransitionModule {
|
|
6
6
|
}
|
|
7
|
-
DbxFormActionTransitionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
8
|
-
DbxFormActionTransitionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
9
|
-
DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
7
|
+
DbxFormActionTransitionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
8
|
+
DbxFormActionTransitionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, declarations: [DbxActionFormSafetyDirective], imports: [CommonModule], exports: [DbxActionFormSafetyDirective] });
|
|
9
|
+
DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, imports: [[
|
|
10
10
|
CommonModule
|
|
11
11
|
]] });
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, decorators: [{
|
|
13
13
|
type: NgModule,
|
|
14
14
|
args: [{
|
|
15
15
|
imports: [
|
|
@@ -24,9 +24,9 @@ export class DbxActionFormSafetyDirective extends DbxActionTransitionSafetyDirec
|
|
|
24
24
|
return super._handleOnBeforeTransition(transition);
|
|
25
25
|
}
|
|
26
26
|
}
|
|
27
|
-
DbxActionFormSafetyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
28
|
-
DbxActionFormSafetyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
29
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
27
|
+
DbxActionFormSafetyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormSafetyDirective, deps: [{ token: i1.DbxActionFormDirective, host: true }, { token: i2.DbxActionContextStoreSourceInstance }, { token: i3.TransitionService }, { token: i0.ViewContainerRef }, { token: i4.MatDialog }], target: i0.ɵɵFactoryTarget.Directive });
|
|
28
|
+
DbxActionFormSafetyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxActionFormSafetyDirective, selector: "[dbxActionFormSafety]", inputs: { inputSafetyType: ["dbxActionFormSafety", "inputSafetyType"] }, usesInheritance: true, ngImport: i0 });
|
|
29
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
|
|
30
30
|
type: Directive,
|
|
31
31
|
args: [{
|
|
32
32
|
selector: '[dbxActionFormSafety]',
|
|
@@ -4,8 +4,17 @@ import { forwardRef } from '@angular/core';
|
|
|
4
4
|
*/
|
|
5
5
|
export var DbxFormState;
|
|
6
6
|
(function (DbxFormState) {
|
|
7
|
+
/**
|
|
8
|
+
* Form is not finished initializing.
|
|
9
|
+
*/
|
|
7
10
|
DbxFormState[DbxFormState["INITIALIZING"] = -1] = "INITIALIZING";
|
|
11
|
+
/**
|
|
12
|
+
* Form is initialized but has not yet used.
|
|
13
|
+
*/
|
|
8
14
|
DbxFormState[DbxFormState["RESET"] = 0] = "RESET";
|
|
15
|
+
/**
|
|
16
|
+
* Form has been used.
|
|
17
|
+
*/
|
|
9
18
|
DbxFormState[DbxFormState["USED"] = 1] = "USED";
|
|
10
19
|
})(DbxFormState || (DbxFormState = {}));
|
|
11
20
|
export const DEFAULT_FORM_DISABLED_KEY = 'dbx_form_disabled';
|
|
@@ -25,4 +34,4 @@ export function ProvideDbxMutableForm(sourceType) {
|
|
|
25
34
|
{ provide: DbxMutableForm, useExisting: forwardRef(() => sourceType) }
|
|
26
35
|
];
|
|
27
36
|
}
|
|
28
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
37
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBTTNEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUFhWDtBQWJELFdBQVksWUFBWTtJQUN0Qjs7T0FFRztJQUNILGdFQUFpQixDQUFBO0lBQ2pCOztPQUVHO0lBQ0gsaURBQVMsQ0FBQTtJQUNUOztPQUVHO0lBQ0gsK0NBQVEsQ0FBQTtBQUNWLENBQUMsRUFiVyxZQUFZLEtBQVosWUFBWSxRQWF2QjtBQVFELE1BQU0sQ0FBQyxNQUFNLHlCQUF5QixHQUFHLG1CQUFtQixDQUFDO0FBdUI3RDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsT0FBTztDQVk1QjtBQUVELE1BQU0sT0FBZ0IsY0FBd0IsU0FBUSxPQUFVO0NBNkIvRDtBQUVELE1BQU0sVUFBVSxjQUFjLENBQW9CLFVBQW1CO0lBQ25FLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0UsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBMkIsVUFBbUI7SUFDakYsT0FBTztRQUNMLEdBQUcsY0FBYyxDQUFDLFVBQVUsQ0FBQztRQUM3QixFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRTtLQUN2RSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NrU2V0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBCb29sZWFuU3RyaW5nS2V5QXJyYXksIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGb3JtQ29udHJvbFN0YXR1cyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuLyoqXG4gKiBDdXJyZW50IHN0YXRlIG9mIGEgRGJ4Rm9ybVxuICovXG5leHBvcnQgZW51bSBEYnhGb3JtU3RhdGUge1xuICAvKipcbiAgICogRm9ybSBpcyBub3QgZmluaXNoZWQgaW5pdGlhbGl6aW5nLlxuICAgKi9cbiAgSU5JVElBTElaSU5HID0gLTEsXG4gIC8qKlxuICAgKiBGb3JtIGlzIGluaXRpYWxpemVkIGJ1dCBoYXMgbm90IHlldCB1c2VkLlxuICAgKi9cbiAgUkVTRVQgPSAwLFxuICAvKipcbiAgICogRm9ybSBoYXMgYmVlbiB1c2VkLlxuICAgKi9cbiAgVVNFRCA9IDFcbn1cblxuXG4vKipcbiAqIFVuaXF1ZSBrZXkgZm9yIGRpc2FibGluZy9lbmFibGluZy5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4Rm9ybURpc2FibGVkS2V5ID0gc3RyaW5nO1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9GT1JNX0RJU0FCTEVEX0tFWSA9ICdkYnhfZm9ybV9kaXNhYmxlZCc7XG5cbi8qKlxuICogRGJ4Rm9ybSBzdHJlYW0gZXZlbnRcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtRXZlbnQge1xuICByZWFkb25seSBpc0NvbXBsZXRlOiBib29sZWFuO1xuICByZWFkb25seSBzdGF0ZTogRGJ4Rm9ybVN0YXRlO1xuICByZWFkb25seSBzdGF0dXM6IEZvcm1Db250cm9sU3RhdHVzO1xuICByZWFkb25seSBwcmlzdGluZT86IGJvb2xlYW47XG4gIHJlYWRvbmx5IHVudG91Y2hlZD86IGJvb2xlYW47XG4gIHJlYWRvbmx5IGxhc3RSZXNldEF0PzogRGF0ZTtcbiAgcmVhZG9ubHkgY2hhbmdlc0NvdW50PzogbnVtYmVyO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGZvcm0gaXMgZGlzYWJsZWQuXG4gICAqL1xuICByZWFkb25seSBpc0Rpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIEN1cnJlbnQgZGlzYWJsZWQgc3RhdGUga2V5cy5cbiAgICovXG4gIHJlYWRvbmx5IGRpc2FibGVkPzogQm9vbGVhblN0cmluZ0tleUFycmF5O1xufVxuXG4vKipcbiAqIEZvcm0gdGhhdCBoYXMgYW4gZXZlbnQgc3RyZWFtLCB2YWx1ZSwgYW5kIHN0YXRlIGl0ZW1zLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4Rm9ybTxUID0gYW55PiB7XG4gIGFic3RyYWN0IHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PjtcblxuICAvKipcbiAgICogUmV0dXJucyBhbiBvYnNlcnZhYmxlIHRoYXQgcmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiB0aGUgZm9ybS5cbiAgICovXG4gIGFic3RyYWN0IGdldFZhbHVlKCk6IE9ic2VydmFibGU8VD47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYW4gb2JzZXJ2YWJsZSB0aGF0IHJldHVybnMgdGhlIGN1cnJlbnQgZGlzYWJsZWQga2V5cy5cbiAgICovXG4gIGFic3RyYWN0IGdldERpc2FibGVkKCk6IE9ic2VydmFibGU8Qm9vbGVhblN0cmluZ0tleUFycmF5Pjtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieE11dGFibGVGb3JtPFQgPSBhbnk+IGV4dGVuZHMgRGJ4Rm9ybTxUPiB7XG4gIC8qKlxuICAgKiBMb2NrU2V0IGZvciB0aGUgZm9ybS5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGxvY2tTZXQ/OiBMb2NrU2V0O1xuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpbml0aWFsIHZhbHVlIG9mIHRoZSBmb3JtLCBhbmQgcmVzZXRzIHRoZSBmb3JtLlxuICAgKiBcbiAgICogQHBhcmFtIHZhbHVlIFxuICAgKi9cbiAgYWJzdHJhY3Qgc2V0VmFsdWUodmFsdWU6IE1heWJlPFBhcnRpYWw8VD4+KTogdm9pZDtcblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBmb3JtIHRvIHRoZSBpbml0aWFsIHZhbHVlLlxuICAgKi9cbiAgYWJzdHJhY3QgcmVzZXRGb3JtKCk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIHRoZSBmb3JtXG4gICAqIFxuICAgKiBAcGFyYW0gZGlzYWJsZWQgXG4gICAqL1xuICBhYnN0cmFjdCBzZXREaXNhYmxlZChrZXk/OiBEYnhGb3JtRGlzYWJsZWRLZXksIGRpc2FibGVkPzogYm9vbGVhbik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIEZvcmNlIHRoZSBmb3JtIHRvIHVwZGF0ZSBpdHNlbGYgYXMgaWYgaXQgd2FzIGNoYW5nZWQuXG4gICAqL1xuICBhYnN0cmFjdCBmb3JjZUZvcm1VcGRhdGUoKTogdm9pZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVEYnhGb3JtPFMgZXh0ZW5kcyBEYnhGb3JtPihzb3VyY2VUeXBlOiBUeXBlPFM+KTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbeyBwcm92aWRlOiBEYnhGb3JtLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKSB9XTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIFByb3ZpZGVEYnhNdXRhYmxlRm9ybTxTIGV4dGVuZHMgRGJ4TXV0YWJsZUZvcm0+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdIHtcbiAgcmV0dXJuIFtcbiAgICAuLi5Qcm92aWRlRGJ4Rm9ybShzb3VyY2VUeXBlKSxcbiAgICB7IHByb3ZpZGU6IERieE11dGFibGVGb3JtLCB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKSB9XG4gIF07XG59XG4iXX0=
|
|
@@ -5,14 +5,14 @@ import { NgModule } from '@angular/core';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class DbxFormModule {
|
|
7
7
|
}
|
|
8
|
-
DbxFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
9
|
-
DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
8
|
+
DbxFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule,
|
|
10
10
|
DbxFormActionModule,
|
|
11
11
|
DbxFormIoModule] });
|
|
12
|
-
DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
12
|
+
DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule,
|
|
13
13
|
DbxFormActionModule,
|
|
14
14
|
DbxFormIoModule] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
exports: [
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import { Directive, EventEmitter, Host, Output } from '@angular/core';
|
|
2
2
|
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
3
|
-
import {
|
|
3
|
+
import { first, mergeMap, delay, map } from 'rxjs';
|
|
4
4
|
import { DbxForm } from '../form';
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
import * as i1 from "../form";
|
|
7
7
|
/**
|
|
8
8
|
* Used to see form value changes.
|
|
9
|
+
*
|
|
10
|
+
* Emits undefined when the form is incomplete, and the value when the form is complete.
|
|
9
11
|
*/
|
|
10
12
|
export class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
|
|
11
13
|
constructor(form) {
|
|
@@ -14,14 +16,23 @@ export class DbxFormValueChangesDirective extends AbstractSubscriptionDirective
|
|
|
14
16
|
this.dbxFormValueChange = new EventEmitter();
|
|
15
17
|
}
|
|
16
18
|
ngOnInit() {
|
|
17
|
-
this.sub = this.form.stream$.pipe(
|
|
18
|
-
|
|
19
|
+
this.sub = this.form.stream$.pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0)).subscribe(({ isComplete, value }) => {
|
|
20
|
+
if (isComplete) {
|
|
21
|
+
this.dbxFormValueChange.next(value);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
this.dbxFormValueChange.next(undefined);
|
|
25
|
+
}
|
|
19
26
|
});
|
|
20
27
|
}
|
|
28
|
+
ngOnDestroy() {
|
|
29
|
+
super.ngOnDestroy();
|
|
30
|
+
this.dbxFormValueChange.complete();
|
|
31
|
+
}
|
|
21
32
|
}
|
|
22
|
-
DbxFormValueChangesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
23
|
-
DbxFormValueChangesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
33
|
+
DbxFormValueChangesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormValueChangesDirective, deps: [{ token: i1.DbxForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
34
|
+
DbxFormValueChangesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, usesInheritance: true, ngImport: i0 });
|
|
35
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormValueChangesDirective, decorators: [{
|
|
25
36
|
type: Directive,
|
|
26
37
|
args: [{
|
|
27
38
|
selector: '[dbxFormValueChange]'
|
|
@@ -31,4 +42,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.4", ngImpor
|
|
|
31
42
|
}] }]; }, propDecorators: { dbxFormValueChange: [{
|
|
32
43
|
type: Output
|
|
33
44
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
45
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jaGFuZ2VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9pby9mb3JtLmNoYW5nZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3pGLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxFLE9BQU8sRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDbkQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFNBQVMsQ0FBQzs7O0FBRWxDOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sNEJBQXFELFNBQVEsNkJBQTZCO0lBS3JHLFlBQW9DLElBQWE7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFEMEIsU0FBSSxHQUFKLElBQUksQ0FBUztRQUZ4Qyx1QkFBa0IsR0FBRyxJQUFJLFlBQVksRUFBWSxDQUFDO0lBSTNELENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQy9CLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQyxVQUFVLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDMUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUNULENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRTtZQUNwQyxJQUFJLFVBQVUsRUFBRTtnQkFDZCxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3JDO2lCQUFNO2dCQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDekM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwQixJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDckMsQ0FBQzs7eUhBekJVLDRCQUE0Qjs2R0FBNUIsNEJBQTRCOzJGQUE1Qiw0QkFBNEI7a0JBSHhDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtpQkFDakM7OzBCQU1jLElBQUk7NENBRlIsa0JBQWtCO3NCQUQxQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFdmVudEVtaXR0ZXIsIEhvc3QsIE91dHB1dCwgT25Jbml0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGZpcnN0LCBtZXJnZU1hcCwgZGVsYXksIG1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGJ4Rm9ybSB9IGZyb20gJy4uL2Zvcm0nO1xuXG4vKipcbiAqIFVzZWQgdG8gc2VlIGZvcm0gdmFsdWUgY2hhbmdlcy5cbiAqIFxuICogRW1pdHMgdW5kZWZpbmVkIHdoZW4gdGhlIGZvcm0gaXMgaW5jb21wbGV0ZSwgYW5kIHRoZSB2YWx1ZSB3aGVuIHRoZSBmb3JtIGlzIGNvbXBsZXRlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4Rm9ybVZhbHVlQ2hhbmdlXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybVZhbHVlQ2hhbmdlc0RpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIEBPdXRwdXQoKVxuICByZWFkb25seSBkYnhGb3JtVmFsdWVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPE1heWJlPFQ+PigpO1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGZvcm06IERieEZvcm0pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgbWVyZ2VNYXAoKHgpID0+IHRoaXMuZm9ybS5nZXRWYWx1ZSgpLnBpcGUoZmlyc3QoKSwgbWFwKCh2YWx1ZSkgPT4gKHsgaXNDb21wbGV0ZTogeC5pc0NvbXBsZXRlLCB2YWx1ZSB9KSkpKSxcbiAgICAgIGRlbGF5KDApXG4gICAgKS5zdWJzY3JpYmUoKHsgaXNDb21wbGV0ZSwgdmFsdWUgfSkgPT4ge1xuICAgICAgaWYgKGlzQ29tcGxldGUpIHtcbiAgICAgICAgdGhpcy5kYnhGb3JtVmFsdWVDaGFuZ2UubmV4dCh2YWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLmRieEZvcm1WYWx1ZUNoYW5nZS5uZXh0KHVuZGVmaW5lZCk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuZGJ4Rm9ybVZhbHVlQ2hhbmdlLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuIl19
|
|
@@ -1,10 +1,21 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { distinctUntilChanged, filter, first, map, switchMap, combineLatest, BehaviorSubject } from 'rxjs';
|
|
2
2
|
import { Directive, Host, Input } from '@angular/core';
|
|
3
3
|
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
4
4
|
import { DbxFormState, DbxMutableForm } from '../form';
|
|
5
|
-
import {
|
|
5
|
+
import { asObservable } from '@dereekb/rxjs';
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
import * as i1 from "../form";
|
|
8
|
+
export function dbxFormSourceObservable(form, inputObs, mode$) {
|
|
9
|
+
const observable = asObservable(inputObs);
|
|
10
|
+
return combineLatest([
|
|
11
|
+
observable.pipe(distinctUntilChanged()),
|
|
12
|
+
mode$.pipe(distinctUntilChanged())
|
|
13
|
+
]).pipe(switchMap(([value, mode]) => form.stream$.pipe(
|
|
14
|
+
// wait for the form to finish initializing.
|
|
15
|
+
filter((x) => x.state !== DbxFormState.INITIALIZING),
|
|
16
|
+
// if mode is reset, then filter out changes until the form is reset again.
|
|
17
|
+
filter((x) => ((mode === 'reset') ? (x.state === DbxFormState.RESET) : true)), first(), map((_) => value))));
|
|
18
|
+
}
|
|
8
19
|
/**
|
|
9
20
|
* Used with a FormComponent to set the value based on the input value.
|
|
10
21
|
*/
|
|
@@ -12,38 +23,45 @@ export class DbxFormSourceDirective extends AbstractSubscriptionDirective {
|
|
|
12
23
|
constructor(form) {
|
|
13
24
|
super();
|
|
14
25
|
this.form = form;
|
|
26
|
+
this._mode = new BehaviorSubject('reset');
|
|
27
|
+
}
|
|
28
|
+
get mode() {
|
|
29
|
+
return this._mode.value;
|
|
30
|
+
}
|
|
31
|
+
set mode(mode) {
|
|
32
|
+
this._mode.next(mode);
|
|
15
33
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Sets a LoadingContext that is watched for the loading state.
|
|
18
|
-
*/
|
|
19
34
|
set obs(obs) {
|
|
20
|
-
this.
|
|
35
|
+
this.setObs(obs);
|
|
21
36
|
}
|
|
22
|
-
|
|
37
|
+
setObs(inputObs) {
|
|
23
38
|
let subscription;
|
|
24
|
-
if (
|
|
25
|
-
subscription =
|
|
26
|
-
// Emit the first time initializing isn't there.
|
|
27
|
-
this.form.stream$.pipe(filter((x) => x.state !== DbxFormState.INITIALIZING), first()),
|
|
28
|
-
obs
|
|
29
|
-
]).pipe(map((x) => x[1]), distinctUntilChanged((x, y) => x === y)).subscribe((x) => {
|
|
39
|
+
if (inputObs) {
|
|
40
|
+
subscription = dbxFormSourceObservable(this.form, inputObs, this._mode).subscribe((x) => {
|
|
30
41
|
this.form.setValue(x);
|
|
31
42
|
});
|
|
32
43
|
}
|
|
33
44
|
this.sub = subscription;
|
|
34
45
|
}
|
|
46
|
+
ngOnDestroy() {
|
|
47
|
+
super.ngOnDestroy();
|
|
48
|
+
this._mode.complete();
|
|
49
|
+
}
|
|
35
50
|
}
|
|
36
|
-
DbxFormSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
37
|
-
DbxFormSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
38
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
51
|
+
DbxFormSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSourceDirective, deps: [{ token: i1.DbxMutableForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
52
|
+
DbxFormSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: { mode: ["dbxFormSourceMode", "mode"], obs: ["dbxFormSource", "obs"] }, usesInheritance: true, ngImport: i0 });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
|
|
39
54
|
type: Directive,
|
|
40
55
|
args: [{
|
|
41
56
|
selector: '[dbxFormSource]'
|
|
42
57
|
}]
|
|
43
58
|
}], ctorParameters: function () { return [{ type: i1.DbxMutableForm, decorators: [{
|
|
44
59
|
type: Host
|
|
45
|
-
}] }]; }, propDecorators: {
|
|
60
|
+
}] }]; }, propDecorators: { mode: [{
|
|
61
|
+
type: Input,
|
|
62
|
+
args: ['dbxFormSourceMode']
|
|
63
|
+
}], obs: [{
|
|
46
64
|
type: Input,
|
|
47
65
|
args: ['dbxFormSource']
|
|
48
66
|
}] } });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vaW8vZm9ybS5pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFDO0FBQ3ZILE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV2RCxPQUFPLEVBQUUsWUFBWSxFQUFxQixNQUFNLGVBQWUsQ0FBQzs7O0FBRWhFLE1BQU0sVUFBVSx1QkFBdUIsQ0FBSSxJQUFvQixFQUFFLFFBQThCLEVBQUUsS0FBNkM7SUFDNUksTUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTFDLE9BQU8sYUFBYSxDQUFDO1FBQ25CLFVBQVUsQ0FBQyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUN2QyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7S0FDbkMsQ0FBQyxDQUFDLElBQUksQ0FDTCxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJO0lBQzVDLDRDQUE0QztJQUM1QyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQztJQUNwRCwyRUFBMkU7SUFDM0UsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUM3RSxLQUFLLEVBQUUsRUFDUCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUNsQixDQUFDLENBQ0gsQ0FBQztBQUNKLENBQUM7QUFVRDs7R0FFRztBQUlILE1BQU0sT0FBTyxzQkFBK0MsU0FBUSw2QkFBNkI7SUFJL0YsWUFBb0MsSUFBb0I7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEMEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFGaEQsVUFBSyxHQUFHLElBQUksZUFBZSxDQUE2QixPQUFPLENBQUMsQ0FBQztJQUl6RSxDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBZ0M7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ0ksR0FBRyxDQUFDLEdBQWdEO1FBQ3RELElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxRQUFxRDtRQUNsRSxJQUFJLFlBQVksQ0FBQztRQUVqQixJQUFJLFFBQVEsRUFBRTtZQUNaLFlBQVksR0FBRyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3RGLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztJQUMxQixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDOzttSEFyQ1Usc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs7MEJBS2MsSUFBSTs0Q0FLYixJQUFJO3NCQURQLEtBQUs7dUJBQUMsbUJBQW1CO2dCQVV0QixHQUFHO3NCQUROLEtBQUs7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpcnN0LCBtYXAsIHN3aXRjaE1hcCwgY29tYmluZUxhdGVzdCwgQmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybVN0YXRlLCBEYnhNdXRhYmxlRm9ybSB9IGZyb20gJy4uL2Zvcm0nO1xuaW1wb3J0IHsgTWF5YmUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IGFzT2JzZXJ2YWJsZSwgT2JzZXJ2YWJsZU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRieEZvcm1Tb3VyY2VPYnNlcnZhYmxlPFQ+KGZvcm06IERieE11dGFibGVGb3JtLCBpbnB1dE9iczogT2JzZXJ2YWJsZU9yVmFsdWU8VD4sIG1vZGUkOiBPYnNlcnZhYmxlPERieEZvcm1Tb3VyY2VEaXJlY3RpdmVNb2RlPik6IE9ic2VydmFibGU8VD4ge1xuICBjb25zdCBvYnNlcnZhYmxlID0gYXNPYnNlcnZhYmxlKGlucHV0T2JzKTtcblxuICByZXR1cm4gY29tYmluZUxhdGVzdChbXG4gICAgb2JzZXJ2YWJsZS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgIG1vZGUkLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgXSkucGlwZShcbiAgICBzd2l0Y2hNYXAoKFt2YWx1ZSwgbW9kZV0pID0+IGZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgLy8gd2FpdCBmb3IgdGhlIGZvcm0gdG8gZmluaXNoIGluaXRpYWxpemluZy5cbiAgICAgIGZpbHRlcigoeCkgPT4geC5zdGF0ZSAhPT0gRGJ4Rm9ybVN0YXRlLklOSVRJQUxJWklORyksXG4gICAgICAvLyBpZiBtb2RlIGlzIHJlc2V0LCB0aGVuIGZpbHRlciBvdXQgY2hhbmdlcyB1bnRpbCB0aGUgZm9ybSBpcyByZXNldCBhZ2Fpbi5cbiAgICAgIGZpbHRlcigoeCkgPT4gKChtb2RlID09PSAncmVzZXQnKSA/ICh4LnN0YXRlID09PSBEYnhGb3JtU3RhdGUuUkVTRVQpIDogdHJ1ZSkpLFxuICAgICAgZmlyc3QoKSxcbiAgICAgIG1hcCgoXykgPT4gdmFsdWUpXG4gICAgKSksXG4gICk7XG59XG5cbi8qKlxuICogRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZSBtb2RlcyB0aGF0IGRlZmluZSB3aGVuIHRvIGNvcHkgZGF0YSBmcm9tIHRoZSBzb3VyY2UuXG4gKiBcbiAqIC0gcmVzZXQ6IG9ubHkgY29weSBkYXRhIHdoZW4gdGhlIGZvcm0gaXMgcmVzZXQuXG4gKiAtIGFsd2F5czogYWx3YXlzIGNvcHkgZGF0YSB3aGVuIHRoZSBkYXRhIG9ic2VydmFibGUgZW1pdHMgYSB2YWx1ZS5cbiAqL1xuZXhwb3J0IHR5cGUgRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGUgPSAncmVzZXQnIHwgJ2Fsd2F5cyc7XG5cbi8qKlxuICogVXNlZCB3aXRoIGEgRm9ybUNvbXBvbmVudCB0byBzZXQgdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZvcm1Tb3VyY2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtU291cmNlRGlyZWN0aXZlPFQgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX21vZGUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PERieEZvcm1Tb3VyY2VEaXJlY3RpdmVNb2RlPigncmVzZXQnKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBmb3JtOiBEYnhNdXRhYmxlRm9ybSkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBASW5wdXQoJ2RieEZvcm1Tb3VyY2VNb2RlJylcbiAgZ2V0IG1vZGUoKTogRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlLnZhbHVlO1xuICB9XG5cbiAgc2V0IG1vZGUobW9kZTogRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGUpIHtcbiAgICB0aGlzLl9tb2RlLm5leHQobW9kZSk7XG4gIH1cblxuICBASW5wdXQoJ2RieEZvcm1Tb3VyY2UnKVxuICBzZXQgb2JzKG9iczogTWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UGFydGlhbDxUPj4+Pikge1xuICAgIHRoaXMuc2V0T2JzKG9icyk7XG4gIH1cblxuICBwcml2YXRlIHNldE9icyhpbnB1dE9iczogTWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8UGFydGlhbDxUPj4+Pik6IHZvaWQge1xuICAgIGxldCBzdWJzY3JpcHRpb247XG5cbiAgICBpZiAoaW5wdXRPYnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbiA9IGRieEZvcm1Tb3VyY2VPYnNlcnZhYmxlKHRoaXMuZm9ybSwgaW5wdXRPYnMsIHRoaXMuX21vZGUpLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoeCk7XG4gICAgICB9KTtcbiAgICB9XG5cbiAgICB0aGlzLnN1YiA9IHN1YnNjcmlwdGlvbjtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fbW9kZS5jb21wbGV0ZSgpO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -6,16 +6,16 @@ import { DbxFormLoadingSourceDirective } from './form.loading.directive';
|
|
|
6
6
|
import * as i0 from "@angular/core";
|
|
7
7
|
export class DbxFormIoModule {
|
|
8
8
|
}
|
|
9
|
-
DbxFormIoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
10
|
-
DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
9
|
+
DbxFormIoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, declarations: [DbxFormSourceDirective,
|
|
11
11
|
DbxFormValueChangesDirective,
|
|
12
12
|
DbxFormLoadingSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective,
|
|
13
13
|
DbxFormValueChangesDirective,
|
|
14
14
|
DbxFormLoadingSourceDirective] });
|
|
15
|
-
DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
15
|
+
DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, imports: [[
|
|
16
16
|
CommonModule
|
|
17
17
|
]] });
|
|
18
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, decorators: [{
|
|
19
19
|
type: NgModule,
|
|
20
20
|
args: [{
|
|
21
21
|
imports: [
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Observable,
|
|
1
|
+
import { Observable, BehaviorSubject } from 'rxjs';
|
|
2
2
|
import { Directive, Host, Input } from '@angular/core';
|
|
3
3
|
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
4
|
+
import { DbxMutableForm } from '../../form/form';
|
|
5
|
+
import { loadingStateHasFinishedLoading } from '@dereekb/rxjs';
|
|
6
|
+
import { dbxFormSourceObservable } from './form.input.directive';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
8
|
import * as i1 from "../../form/form";
|
|
8
9
|
/**
|
|
@@ -12,6 +13,13 @@ export class DbxFormLoadingSourceDirective extends AbstractSubscriptionDirective
|
|
|
12
13
|
constructor(form) {
|
|
13
14
|
super();
|
|
14
15
|
this.form = form;
|
|
16
|
+
this._mode = new BehaviorSubject('reset');
|
|
17
|
+
}
|
|
18
|
+
get mode() {
|
|
19
|
+
return this._mode.value;
|
|
20
|
+
}
|
|
21
|
+
set mode(mode) {
|
|
22
|
+
this._mode.next(mode);
|
|
15
23
|
}
|
|
16
24
|
/**
|
|
17
25
|
* Sets a LoadingContext that is watched for the loading state.
|
|
@@ -19,34 +27,36 @@ export class DbxFormLoadingSourceDirective extends AbstractSubscriptionDirective
|
|
|
19
27
|
set obs(obs) {
|
|
20
28
|
this._setObs(obs);
|
|
21
29
|
}
|
|
22
|
-
_setObs(
|
|
30
|
+
_setObs(inputObs) {
|
|
23
31
|
let subscription;
|
|
24
|
-
if (
|
|
25
|
-
subscription =
|
|
26
|
-
|
|
27
|
-
this.form.stream$.pipe(filter((x) => x.state !== DbxFormState.INITIALIZING), first()),
|
|
28
|
-
obs
|
|
29
|
-
]).pipe(map((x) => x[1]), filter((x) => Boolean(x)), distinctUntilChanged((x, y) => x.value === y.value)).subscribe((x) => {
|
|
30
|
-
if (!x.error && !x.loading) {
|
|
31
|
-
// console.log('Setting value: ', x.model);
|
|
32
|
+
if (inputObs) {
|
|
33
|
+
subscription = dbxFormSourceObservable(this.form, inputObs, this._mode).subscribe((x) => {
|
|
34
|
+
if (loadingStateHasFinishedLoading(x)) {
|
|
32
35
|
this.form.setValue(x.value);
|
|
33
36
|
}
|
|
34
37
|
});
|
|
35
38
|
}
|
|
36
39
|
this.sub = subscription;
|
|
37
40
|
}
|
|
41
|
+
ngOnDestroy() {
|
|
42
|
+
super.ngOnDestroy();
|
|
43
|
+
this._mode.complete();
|
|
44
|
+
}
|
|
38
45
|
}
|
|
39
|
-
DbxFormLoadingSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
40
|
-
DbxFormLoadingSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2
|
|
41
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
46
|
+
DbxFormLoadingSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLoadingSourceDirective, deps: [{ token: i1.DbxMutableForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
47
|
+
DbxFormLoadingSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormLoadingSourceDirective, selector: "[dbxFormLoadingSource]", inputs: { mode: ["dbxFormLoadingSourceMode", "mode"], obs: ["dbxFormLoadingSource", "obs"] }, usesInheritance: true, ngImport: i0 });
|
|
48
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLoadingSourceDirective, decorators: [{
|
|
42
49
|
type: Directive,
|
|
43
50
|
args: [{
|
|
44
51
|
selector: '[dbxFormLoadingSource]'
|
|
45
52
|
}]
|
|
46
53
|
}], ctorParameters: function () { return [{ type: i1.DbxMutableForm, decorators: [{
|
|
47
54
|
type: Host
|
|
48
|
-
}] }]; }, propDecorators: {
|
|
55
|
+
}] }]; }, propDecorators: { mode: [{
|
|
56
|
+
type: Input,
|
|
57
|
+
args: ['dbxFormLoadingSourceMode']
|
|
58
|
+
}], obs: [{
|
|
49
59
|
type: Input,
|
|
50
60
|
args: ['dbxFormLoadingSource']
|
|
51
61
|
}] } });
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5sb2FkaW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9pby9mb3JtLmxvYWRpbmcuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUNsRSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDakQsT0FBTyxFQUFnQiw4QkFBOEIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQThCLHVCQUF1QixFQUFFLE1BQU0sd0JBQXdCLENBQUM7OztBQUU3Rjs7R0FFRztBQUlILE1BQU0sT0FBTyw2QkFBc0QsU0FBUSw2QkFBNkI7SUFJdEcsWUFBb0MsSUFBb0I7UUFDdEQsS0FBSyxFQUFFLENBQUM7UUFEMEIsU0FBSSxHQUFKLElBQUksQ0FBZ0I7UUFGaEQsVUFBSyxHQUFHLElBQUksZUFBZSxDQUE2QixPQUFPLENBQUMsQ0FBQztJQUl6RSxDQUFDO0lBRUQsSUFDSSxJQUFJO1FBQ04sT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDO0lBRUQsSUFBSSxJQUFJLENBQUMsSUFBZ0M7UUFDdkMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDSSxHQUFHLENBQUMsR0FBZ0M7UUFDdEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNwQixDQUFDO0lBRU8sT0FBTyxDQUFDLFFBQXFDO1FBQ25ELElBQUksWUFBWSxDQUFDO1FBRWpCLElBQUksUUFBUSxFQUFFO1lBQ1osWUFBWSxHQUFHLHVCQUF1QixDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtnQkFDdEYsSUFBSSw4QkFBOEIsQ0FBQyxDQUFDLENBQUMsRUFBRTtvQkFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM3QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztJQUMxQixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUN4QixDQUFDOzswSEExQ1UsNkJBQTZCOzhHQUE3Qiw2QkFBNkI7MkZBQTdCLDZCQUE2QjtrQkFIekMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsd0JBQXdCO2lCQUNuQzs7MEJBS2MsSUFBSTs0Q0FLYixJQUFJO3NCQURQLEtBQUs7dUJBQUMsMEJBQTBCO2dCQWE3QixHQUFHO3NCQUROLEtBQUs7dUJBQUMsc0JBQXNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgQmVoYXZpb3JTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEhvc3QsIElucHV0LCBPbkRlc3Ryb3kgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4TXV0YWJsZUZvcm0gfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlLCBsb2FkaW5nU3RhdGVIYXNGaW5pc2hlZExvYWRpbmcgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IERieEZvcm1Tb3VyY2VEaXJlY3RpdmVNb2RlLCBkYnhGb3JtU291cmNlT2JzZXJ2YWJsZSB9IGZyb20gJy4vZm9ybS5pbnB1dC5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhIEZvcm1Db21wb25lbnQgdG8gc2V0IHRoZSB2YWx1ZSBmcm9tIGEgTG9hZGluZ1N0YXRlIHdoZW4gdGhlIHZhbHVlIGlzIGF2YWlsYWJsZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZvcm1Mb2FkaW5nU291cmNlXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybUxvYWRpbmdTb3VyY2VEaXJlY3RpdmU8VCBleHRlbmRzIG9iamVjdCA9IGFueT4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfbW9kZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGU+KCdyZXNldCcpO1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGZvcm06IERieE11dGFibGVGb3JtKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIEBJbnB1dCgnZGJ4Rm9ybUxvYWRpbmdTb3VyY2VNb2RlJylcbiAgZ2V0IG1vZGUoKTogRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGUge1xuICAgIHJldHVybiB0aGlzLl9tb2RlLnZhbHVlO1xuICB9XG5cbiAgc2V0IG1vZGUobW9kZTogRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZU1vZGUpIHtcbiAgICB0aGlzLl9tb2RlLm5leHQobW9kZSk7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBhIExvYWRpbmdDb250ZXh0IHRoYXQgaXMgd2F0Y2hlZCBmb3IgdGhlIGxvYWRpbmcgc3RhdGUuXG4gICAqL1xuICBASW5wdXQoJ2RieEZvcm1Mb2FkaW5nU291cmNlJylcbiAgc2V0IG9icyhvYnM6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFQ+Pikge1xuICAgIHRoaXMuX3NldE9icyhvYnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0T2JzKGlucHV0T2JzOiBPYnNlcnZhYmxlPExvYWRpbmdTdGF0ZTxUPj4pOiB2b2lkIHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uO1xuXG4gICAgaWYgKGlucHV0T2JzKSB7XG4gICAgICBzdWJzY3JpcHRpb24gPSBkYnhGb3JtU291cmNlT2JzZXJ2YWJsZSh0aGlzLmZvcm0sIGlucHV0T2JzLCB0aGlzLl9tb2RlKS5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgICAgaWYgKGxvYWRpbmdTdGF0ZUhhc0ZpbmlzaGVkTG9hZGluZyh4KSkge1xuICAgICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh4LnZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuXG4gICAgdGhpcy5zdWIgPSBzdWJzY3JpcHRpb247XG4gIH1cblxuICBvdmVycmlkZSBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIHRoaXMuX21vZGUuY29tcGxldGUoKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -5,14 +5,14 @@ import { DbxFormModule } from './form/form.module';
|
|
|
5
5
|
import * as i0 from "@angular/core";
|
|
6
6
|
export class DbxFormExtensionModule {
|
|
7
7
|
}
|
|
8
|
-
DbxFormExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2
|
|
9
|
-
DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2
|
|
8
|
+
DbxFormExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule,
|
|
10
10
|
DbxFormlyModule,
|
|
11
11
|
DbxFormFormlyFieldModule] });
|
|
12
|
-
DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2
|
|
12
|
+
DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule,
|
|
13
13
|
DbxFormlyModule,
|
|
14
14
|
DbxFormFormlyFieldModule] });
|
|
15
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, decorators: [{
|
|
16
16
|
type: NgModule,
|
|
17
17
|
args: [{
|
|
18
18
|
exports: [
|
|
@@ -11,12 +11,12 @@ export function maxValidationMessage(err, field) {
|
|
|
11
11
|
return `This value should be less than ${field.templateOptions.max}`;
|
|
12
12
|
}
|
|
13
13
|
export const REQUIRED_VALIDATION_MESSAGE = { name: 'required', message: 'This field is required' };
|
|
14
|
-
export const MIN_LENGTH_VALIDATION_MESSAGE = { name: '
|
|
15
|
-
export const MAX_LENGTH_VALIDATION_MESSAGE = { name: '
|
|
14
|
+
export const MIN_LENGTH_VALIDATION_MESSAGE = { name: 'minLength', message: minLengthValidationMessage };
|
|
15
|
+
export const MAX_LENGTH_VALIDATION_MESSAGE = { name: 'maxLength', message: maxLengthValidationMessage };
|
|
16
16
|
export const MIN_VALIDATION_MESSAGE = { name: 'min', message: minValidationMessage };
|
|
17
17
|
export const MAX_VALIDATION_MESSAGE = { name: 'max', message: maxValidationMessage };
|
|
18
18
|
export const INVALID_PHONE_NUMBER_MESSAGE = { name: 'validatePhoneNumber', message: 'This is not a valid phone number.' };
|
|
19
19
|
export function defaultValidationMessages() {
|
|
20
20
|
return [REQUIRED_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MAX_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, INVALID_PHONE_NUMBER_MESSAGE];
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2NvbmZpZy92YWxpZGF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSwwQkFBMEIsQ0FBQyxHQUFRLEVBQUUsS0FBc0I7SUFDekUsT0FBTyx1QkFBdUIsS0FBSyxDQUFDLGVBQWUsQ0FBQyxTQUFTLGFBQWEsQ0FBQztBQUM3RSxDQUFDO0FBRUQsTUFBTSxVQUFVLDBCQUEwQixDQUFDLEdBQVEsRUFBRSxLQUFzQjtJQUN6RSxPQUFPLGtDQUFrQyxLQUFLLENBQUMsZUFBZSxDQUFDLFNBQVMsYUFBYSxDQUFDO0FBQ3hGLENBQUM7QUFFRCxNQUFNLFVBQVUsb0JBQW9CLENBQUMsR0FBUSxFQUFFLEtBQXNCO0lBQ25FLE9BQU8sa0NBQWtDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDdkUsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxHQUFRLEVBQUUsS0FBc0I7SUFDbkUsT0FBTyxrQ0FBa0MsS0FBSyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUN2RSxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxDQUFDO0FBQ25HLE1BQU0sQ0FBQyxNQUFNLDZCQUE2QixHQUFHLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsMEJBQTBCLEVBQTZCLENBQUM7QUFDbkksTUFBTSxDQUFDLE1BQU0sNkJBQTZCLEdBQUcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBNkIsQ0FBQztBQUNuSSxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxFQUFFLElBQUksRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUE2QixDQUFDO0FBQ2hILE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQTZCLENBQUM7QUFDaEgsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsRUFBRSxJQUFJLEVBQUUscUJBQXFCLEVBQUUsT0FBTyxFQUFFLG1DQUFtQyxFQUFFLENBQUM7QUFFMUgsTUFBTSxVQUFVLHlCQUF5QjtJQUN2QyxPQUFPLENBQUMsMkJBQTJCLEVBQUUsNkJBQTZCLEVBQUUsNkJBQTZCLEVBQUUsc0JBQXNCLEVBQUUsc0JBQXNCLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztBQUNuTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRUeXBlQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uTWVzc2FnZU9wdGlvbiB9IGZyb20gJ0BuZ3gtZm9ybWx5L2NvcmUvbGliL21vZGVscyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5MZW5ndGhWYWxpZGF0aW9uTWVzc2FnZShlcnI6IGFueSwgZmllbGQ6IEZpZWxkVHlwZUNvbmZpZykge1xuICByZXR1cm4gYFNob3VsZCBoYXZlIGF0bGVhc3QgJHtmaWVsZC50ZW1wbGF0ZU9wdGlvbnMubWluTGVuZ3RofSBjaGFyYWN0ZXJzYDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heExlbmd0aFZhbGlkYXRpb25NZXNzYWdlKGVycjogYW55LCBmaWVsZDogRmllbGRUeXBlQ29uZmlnKSB7XG4gIHJldHVybiBgVGhpcyB2YWx1ZSBzaG91bGQgYmUgbGVzcyB0aGFuICR7ZmllbGQudGVtcGxhdGVPcHRpb25zLm1heExlbmd0aH0gY2hhcmFjdGVyc2A7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtaW5WYWxpZGF0aW9uTWVzc2FnZShlcnI6IGFueSwgZmllbGQ6IEZpZWxkVHlwZUNvbmZpZykge1xuICByZXR1cm4gYFRoaXMgdmFsdWUgc2hvdWxkIGJlIG1vcmUgdGhhbiAke2ZpZWxkLnRlbXBsYXRlT3B0aW9ucy5taW59YDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1heFZhbGlkYXRpb25NZXNzYWdlKGVycjogYW55LCBmaWVsZDogRmllbGRUeXBlQ29uZmlnKSB7XG4gIHJldHVybiBgVGhpcyB2YWx1ZSBzaG91bGQgYmUgbGVzcyB0aGFuICR7ZmllbGQudGVtcGxhdGVPcHRpb25zLm1heH1gO1xufVxuXG5leHBvcnQgY29uc3QgUkVRVUlSRURfVkFMSURBVElPTl9NRVNTQUdFID0geyBuYW1lOiAncmVxdWlyZWQnLCBtZXNzYWdlOiAnVGhpcyBmaWVsZCBpcyByZXF1aXJlZCcgfTtcbmV4cG9ydCBjb25zdCBNSU5fTEVOR1RIX1ZBTElEQVRJT05fTUVTU0FHRSA9IHsgbmFtZTogJ21pbkxlbmd0aCcsIG1lc3NhZ2U6IG1pbkxlbmd0aFZhbGlkYXRpb25NZXNzYWdlIH0gYXMgVmFsaWRhdGlvbk1lc3NhZ2VPcHRpb247XG5leHBvcnQgY29uc3QgTUFYX0xFTkdUSF9WQUxJREFUSU9OX01FU1NBR0UgPSB7IG5hbWU6ICdtYXhMZW5ndGgnLCBtZXNzYWdlOiBtYXhMZW5ndGhWYWxpZGF0aW9uTWVzc2FnZSB9IGFzIFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uO1xuZXhwb3J0IGNvbnN0IE1JTl9WQUxJREFUSU9OX01FU1NBR0UgPSB7IG5hbWU6ICdtaW4nLCBtZXNzYWdlOiBtaW5WYWxpZGF0aW9uTWVzc2FnZSB9IGFzIFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uO1xuZXhwb3J0IGNvbnN0IE1BWF9WQUxJREFUSU9OX01FU1NBR0UgPSB7IG5hbWU6ICdtYXgnLCBtZXNzYWdlOiBtYXhWYWxpZGF0aW9uTWVzc2FnZSB9IGFzIFZhbGlkYXRpb25NZXNzYWdlT3B0aW9uO1xuZXhwb3J0IGNvbnN0IElOVkFMSURfUEhPTkVfTlVNQkVSX01FU1NBR0UgPSB7IG5hbWU6ICd2YWxpZGF0ZVBob25lTnVtYmVyJywgbWVzc2FnZTogJ1RoaXMgaXMgbm90IGEgdmFsaWQgcGhvbmUgbnVtYmVyLicgfTtcblxuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRWYWxpZGF0aW9uTWVzc2FnZXMoKTogVmFsaWRhdGlvbk1lc3NhZ2VPcHRpb25bXSB7XG4gIHJldHVybiBbUkVRVUlSRURfVkFMSURBVElPTl9NRVNTQUdFLCBNSU5fTEVOR1RIX1ZBTElEQVRJT05fTUVTU0FHRSwgTUFYX0xFTkdUSF9WQUxJREFUSU9OX01FU1NBR0UsIE1JTl9WQUxJREFUSU9OX01FU1NBR0UsIE1BWF9WQUxJREFUSU9OX01FU1NBR0UsIElOVkFMSURfUEhPTkVfTlVNQkVSX01FU1NBR0VdO1xufVxuIl19
|