@dereekb/dbx-form 0.0.1
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/README.md +6 -0
- package/dereekb-dbx-form.d.ts +5 -0
- package/esm2020/dereekb-dbx-form.mjs +5 -0
- package/esm2020/index.mjs +2 -0
- package/esm2020/lib/form/action/form.action.directive.mjs +131 -0
- package/esm2020/lib/form/action/form.action.module.mjs +30 -0
- package/esm2020/lib/form/action/index.mjs +3 -0
- package/esm2020/lib/form/form.changes.directive.mjs +33 -0
- package/esm2020/lib/form/form.input.directive.mjs +49 -0
- package/esm2020/lib/form/form.mjs +20 -0
- package/esm2020/lib/form/form.module.mjs +36 -0
- package/esm2020/lib/form/index.mjs +7 -0
- package/esm2020/lib/form/loading/form.loading.directive.mjs +52 -0
- package/esm2020/lib/form/loading/index.mjs +2 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +91 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +38 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +119 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +81 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.mjs +2 -0
- package/esm2020/lib/formly/field/checklist/index.mjs +6 -0
- package/esm2020/lib/formly/field/component/component.field.component.mjs +35 -0
- package/esm2020/lib/formly/field/component/component.field.mjs +7 -0
- package/esm2020/lib/formly/field/component/component.field.module.mjs +42 -0
- package/esm2020/lib/formly/field/component/index.mjs +4 -0
- package/esm2020/lib/formly/field/field.mjs +21 -0
- package/esm2020/lib/formly/field/index.mjs +7 -0
- package/esm2020/lib/formly/field/selection/index.mjs +4 -0
- package/esm2020/lib/formly/field/selection/pickable/index.mjs +6 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +30 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +244 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +96 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +30 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.mjs +2 -0
- package/esm2020/lib/formly/field/selection/searchable/index.mjs +9 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +45 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +73 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +237 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +45 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +107 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +2 -0
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +31 -0
- package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +15 -0
- package/esm2020/lib/formly/field/selection/selection.mjs +2 -0
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +87 -0
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +52 -0
- package/esm2020/lib/formly/field/value/array/index.mjs +3 -0
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +50 -0
- package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +16 -0
- package/esm2020/lib/formly/field/value/boolean/index.mjs +3 -0
- package/esm2020/lib/formly/field/value/date/date.field.mjs +36 -0
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +87 -0
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +226 -0
- package/esm2020/lib/formly/field/value/date/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +18 -0
- package/esm2020/lib/formly/field/value/enum/enum.mjs +2 -0
- package/esm2020/lib/formly/field/value/enum/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/hidden.field.mjs +8 -0
- package/esm2020/lib/formly/field/value/index.mjs +8 -0
- package/esm2020/lib/formly/field/value/phone/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +44 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +64 -0
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +67 -0
- package/esm2020/lib/formly/field/value/text/index.mjs +4 -0
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +65 -0
- package/esm2020/lib/formly/field/value/text/text.field.mjs +125 -0
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +19 -0
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +26 -0
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +83 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +22 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.layout.mjs +20 -0
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +84 -0
- package/esm2020/lib/formly/field/wrapper/index.mjs +11 -0
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +47 -0
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +35 -0
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +35 -0
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +58 -0
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.mjs +10 -0
- package/esm2020/lib/formly/formly.component.mjs +134 -0
- package/esm2020/lib/formly/formly.context.mjs +111 -0
- package/esm2020/lib/formly/formly.directive.mjs +101 -0
- package/esm2020/lib/formly/formly.module.mjs +59 -0
- package/esm2020/lib/formly/index.mjs +6 -0
- package/esm2020/lib/index.mjs +5 -0
- package/esm2020/lib/layout/form.layout.module.mjs +26 -0
- package/esm2020/lib/layout/form.spacer.component.mjs +17 -0
- package/esm2020/lib/layout/index.mjs +3 -0
- package/esm2020/lib/validator/boolean.mjs +12 -0
- package/esm2020/lib/validator/email.mjs +6 -0
- package/esm2020/lib/validator/index.mjs +4 -0
- package/esm2020/lib/validator/number.mjs +21 -0
- package/fesm2015/dereekb-dbx-form.mjs +3295 -0
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -0
- package/fesm2020/dereekb-dbx-form.mjs +3289 -0
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -0
- package/index.d.ts +1 -0
- package/lib/form/action/form.action.directive.d.ts +44 -0
- package/lib/form/action/form.action.module.d.ts +9 -0
- package/lib/form/action/index.d.ts +2 -0
- package/lib/form/form.changes.directive.d.ts +15 -0
- package/lib/form/form.d.ts +51 -0
- package/lib/form/form.input.directive.d.ts +18 -0
- package/lib/form/form.module.d.ts +10 -0
- package/lib/form/index.d.ts +6 -0
- package/lib/form/loading/form.loading.directive.d.ts +19 -0
- package/lib/form/loading/index.d.ts +1 -0
- package/lib/formly/field/checklist/checklist.item.d.ts +38 -0
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +48 -0
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +10 -0
- package/lib/formly/field/checklist/checklist.item.field.d.ts +50 -0
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +18 -0
- package/lib/formly/field/checklist/index.d.ts +5 -0
- package/lib/formly/field/component/component.field.component.d.ts +22 -0
- package/lib/formly/field/component/component.field.d.ts +6 -0
- package/lib/formly/field/component/component.field.module.d.ts +10 -0
- package/lib/formly/field/component/index.d.ts +3 -0
- package/lib/formly/field/field.d.ts +31 -0
- package/lib/formly/field/index.d.ts +6 -0
- package/lib/formly/field/selection/index.d.ts +3 -0
- package/lib/formly/field/selection/pickable/index.d.ts +5 -0
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +10 -0
- package/lib/formly/field/selection/pickable/pickable.d.ts +28 -0
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +155 -0
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +20 -0
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +11 -0
- package/lib/formly/field/selection/searchable/index.d.ts +8 -0
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +16 -0
- package/lib/formly/field/selection/searchable/searchable.d.ts +40 -0
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +20 -0
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +16 -0
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +131 -0
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +21 -0
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +15 -0
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +9 -0
- package/lib/formly/field/selection/selection.d.ts +25 -0
- package/lib/formly/field/value/array/array.field.component.d.ts +22 -0
- package/lib/formly/field/value/array/array.field.module.d.ts +13 -0
- package/lib/formly/field/value/array/index.d.ts +2 -0
- package/lib/formly/field/value/boolean/boolean.field.d.ts +8 -0
- package/lib/formly/field/value/boolean/boolean.field.module.d.ts +6 -0
- package/lib/formly/field/value/boolean/index.d.ts +2 -0
- package/lib/formly/field/value/date/date.field.d.ts +13 -0
- package/lib/formly/field/value/date/date.field.module.d.ts +21 -0
- package/lib/formly/field/value/date/datetime.field.component.d.ts +105 -0
- package/lib/formly/field/value/date/index.d.ts +3 -0
- package/lib/formly/field/value/enum/enum.d.ts +4 -0
- package/lib/formly/field/value/enum/enum.field.d.ts +14 -0
- package/lib/formly/field/value/enum/index.d.ts +2 -0
- package/lib/formly/field/value/hidden.field.d.ts +5 -0
- package/lib/formly/field/value/index.d.ts +7 -0
- package/lib/formly/field/value/phone/index.d.ts +3 -0
- package/lib/formly/field/value/phone/phone.field.component.d.ts +24 -0
- package/lib/formly/field/value/phone/phone.field.d.ts +26 -0
- package/lib/formly/field/value/phone/phone.field.module.d.ts +16 -0
- package/lib/formly/field/value/text/index.d.ts +3 -0
- package/lib/formly/field/value/text/text.address.field.d.ts +12 -0
- package/lib/formly/field/value/text/text.field.d.ts +42 -0
- package/lib/formly/field/value/text/text.field.module.d.ts +7 -0
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +11 -0
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +43 -0
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +6 -0
- package/lib/formly/field/wrapper/flex.wrapper.layout.d.ts +10 -0
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +19 -0
- package/lib/formly/field/wrapper/index.d.ts +10 -0
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +17 -0
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +8 -0
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +8 -0
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +24 -0
- package/lib/formly/field/wrapper/toggle.wrapper.d.ts +7 -0
- package/lib/formly/formly.component.d.ts +36 -0
- package/lib/formly/formly.context.d.ts +57 -0
- package/lib/formly/formly.directive.d.ts +50 -0
- package/lib/formly/formly.module.d.ts +11 -0
- package/lib/formly/index.d.ts +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/layout/form.layout.module.d.ts +8 -0
- package/lib/layout/form.spacer.component.d.ts +8 -0
- package/lib/layout/index.d.ts +2 -0
- package/lib/validator/boolean.d.ts +2 -0
- package/lib/validator/email.d.ts +3 -0
- package/lib/validator/index.d.ts +3 -0
- package/lib/validator/number.d.ts +2 -0
- package/package.json +67 -0
- package/src/_index.scss +11 -0
- package/src/lib/form/_form.scss +26 -0
- package/src/lib/formly/_formly.scss +26 -0
- package/src/lib/formly/field/_field.scss +33 -0
- package/src/lib/formly/field/checklist/_checklist.scss +26 -0
- package/src/lib/formly/field/checklist/checklist.item_TODO.scss +57 -0
- package/src/lib/formly/field/component/_component.scss +26 -0
- package/src/lib/formly/field/fields_TODO.scss +4 -0
- package/src/lib/formly/field/selection/_selection.scss +17 -0
- package/src/lib/formly/field/selection/generic_TODO.scss +36 -0
- package/src/lib/formly/field/selection/pickable/_pickable.scss +26 -0
- package/src/lib/formly/field/selection/searchable/_searchable.scss +26 -0
- package/src/lib/formly/field/texteditor/_texteditor.scss +26 -0
- package/src/lib/formly/field/texteditor/texteditor_TODO.scss +32 -0
- package/src/lib/formly/field/value/_value.scss +33 -0
- package/src/lib/formly/field/value/array/_array.scss +26 -0
- package/src/lib/formly/field/value/boolean/_boolean.scss +26 -0
- package/src/lib/formly/field/value/date/_date.scss +26 -0
- package/src/lib/formly/field/value/date/date_TODO.scss +27 -0
- package/src/lib/formly/field/value/enum/_enum.scss +26 -0
- package/src/lib/formly/field/value/phone/_phone.scss +26 -0
- package/src/lib/formly/field/value/phone/phone_TODO.scss +10 -0
- package/src/lib/formly/field/value/text/_text.scss +26 -0
- package/src/lib/formly/field/wrapper/_wrapper.scss +26 -0
- package/src/lib/formly/field/wrapper/wrapper_TODO.scss +34 -0
- package/src/lib/formly/form_TODO.scss +153 -0
- package/src/lib/layout/_layout.scss +26 -0
- package/src/lib/style/_all-core.scss +12 -0
- package/src/lib/style/_all-theme.scss +12 -0
- package/src/lib/style/_all-typography.scss +12 -0
- package/src/lib/style/_config.scss +20 -0
- package/src/lib/style/_core.scss +9 -0
- package/src/lib/style/_mixin.scss +3 -0
- package/src/lib/style/_theming.scss +19 -0
- package/src/lib/style/_variables.scss +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated bundle index. Do not edit.
|
|
3
|
+
*/
|
|
4
|
+
export * from './index';
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVyZWVrYi1kYngtZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9kZXJlZWtiLWRieC1mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './lib';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxPQUFPLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2xpYic7XG4iXX0=
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
import { Directive, Host, Input } from '@angular/core';
|
|
2
|
+
import { addSeconds, isPast } from 'date-fns';
|
|
3
|
+
import { of, combineLatest } from 'rxjs';
|
|
4
|
+
import { catchError, filter, first, map, switchMap } from 'rxjs/operators';
|
|
5
|
+
import { ActionContextStoreSourceInstance } from '@dereekb/dbx-core';
|
|
6
|
+
import { SubscriptionObject, LockSet } from '@dereekb/rxjs';
|
|
7
|
+
import { DbxForm, DbxFormState } from '../../form/form';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "../../form/form";
|
|
10
|
+
import * as i2 from "@dereekb/dbx-core";
|
|
11
|
+
export const APP_ACTION_FORM_DISABLED_KEY = 'actionForm';
|
|
12
|
+
/**
|
|
13
|
+
* Used with an action to bind a form to an action as it's value source.
|
|
14
|
+
*
|
|
15
|
+
* If the form has errors when the action is trigger, it will reject the action.
|
|
16
|
+
*
|
|
17
|
+
* If the source is not considered modified, the trigger will be ignored.
|
|
18
|
+
*/
|
|
19
|
+
export class DbxActionFormDirective {
|
|
20
|
+
constructor(form, source) {
|
|
21
|
+
this.form = form;
|
|
22
|
+
this.source = source;
|
|
23
|
+
this.lockSet = new LockSet();
|
|
24
|
+
this._triggeredSub = new SubscriptionObject();
|
|
25
|
+
this._isCompleteSub = new SubscriptionObject();
|
|
26
|
+
if (form.lockSet) {
|
|
27
|
+
this.lockSet.addChildLockSet(form.lockSet, 'form');
|
|
28
|
+
}
|
|
29
|
+
this.lockSet.addChildLockSet(source.lockSet, 'source');
|
|
30
|
+
}
|
|
31
|
+
ngOnInit() {
|
|
32
|
+
// Pass data from the form to the source when triggered.
|
|
33
|
+
this._triggeredSub.subscription = this.source.triggered$.pipe(switchMap(() => {
|
|
34
|
+
const doNothing = {}; // nothing, form not complete
|
|
35
|
+
if (this.form.isComplete) {
|
|
36
|
+
const value = this.form.value;
|
|
37
|
+
return this.preCheckReadyValue(value).pipe(first(), switchMap((canContinue) => {
|
|
38
|
+
if (canContinue) {
|
|
39
|
+
return this.readyValue(value).pipe(first());
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
return of(doNothing);
|
|
43
|
+
}
|
|
44
|
+
}), catchError((error) => of({ error })));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
return of(doNothing);
|
|
48
|
+
}
|
|
49
|
+
})).subscribe((result) => {
|
|
50
|
+
if (result.reject) {
|
|
51
|
+
this.source.reject(result.reject);
|
|
52
|
+
}
|
|
53
|
+
else if (result.value != null) {
|
|
54
|
+
this.source.readyValue(result.value);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
// value isn't ready
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
// Update the enabled/disabled state
|
|
61
|
+
this._isCompleteSub.subscription = this.form.stream$.pipe(filter((x) => x.state !== DbxFormState.INITIALIZING), switchMap((event) => {
|
|
62
|
+
// Use both changes count and whether or not something was in the past to guage whether or not the item has been touched.
|
|
63
|
+
// Angular Form's untouched is whether or not focus has been lost but we can still recieve value updates.
|
|
64
|
+
// More than a certain amount of updates implies that it is being typed into.
|
|
65
|
+
const isProbablyTouched = !event.untouched ||
|
|
66
|
+
((event.changesCount ?? 0) > 3 && isPast(addSeconds(event.lastResetAt ?? new Date(), 2)));
|
|
67
|
+
// console.log('Event: ', event, isProbablyTouched);
|
|
68
|
+
const value = this.form.value;
|
|
69
|
+
let validatorObs;
|
|
70
|
+
const initialIsValidCheck = event.isComplete;
|
|
71
|
+
if (initialIsValidCheck) {
|
|
72
|
+
validatorObs = (this.appActionFormValidator) ? this.appActionFormValidator(value) : of(true);
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
validatorObs = of(false);
|
|
76
|
+
}
|
|
77
|
+
let modifiedObs;
|
|
78
|
+
const isConsideredModified = (event.pristine === false && isProbablyTouched);
|
|
79
|
+
if (isConsideredModified) {
|
|
80
|
+
modifiedObs = (this.appActionFormModified) ? this.appActionFormModified(value) : of(true);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
modifiedObs = of(false);
|
|
84
|
+
}
|
|
85
|
+
return combineLatest([
|
|
86
|
+
validatorObs,
|
|
87
|
+
modifiedObs
|
|
88
|
+
]).pipe(first(), map(([valid, modified]) => ({ valid, modified, event })));
|
|
89
|
+
})).subscribe(({ valid, modified, event }) => {
|
|
90
|
+
// Update Modified State
|
|
91
|
+
this.source.setIsModified(modified);
|
|
92
|
+
// Disable if the form is not yet complete/valid.
|
|
93
|
+
this.source.enable(APP_ACTION_FORM_DISABLED_KEY, valid);
|
|
94
|
+
});
|
|
95
|
+
// TODO: Watch the working state and stop allowing input on working..?
|
|
96
|
+
// TODO: Watch the disabled state for when another disabled key disables this form.
|
|
97
|
+
}
|
|
98
|
+
ngOnDestroy() {
|
|
99
|
+
this.source.enable(APP_ACTION_FORM_DISABLED_KEY);
|
|
100
|
+
this.lockSet.destroyOnNextUnlock(() => {
|
|
101
|
+
this._triggeredSub.destroy();
|
|
102
|
+
this._isCompleteSub.destroy();
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
preCheckReadyValue(value) {
|
|
106
|
+
let validatorObs = (this.appActionFormValidator) ? this.appActionFormValidator(value) : of(true);
|
|
107
|
+
let modifiedObs = (this.appActionFormModified) ? this.appActionFormModified(value) : of(true);
|
|
108
|
+
return combineLatest([
|
|
109
|
+
validatorObs,
|
|
110
|
+
modifiedObs
|
|
111
|
+
]).pipe(first(), map(([valid, modified]) => valid && modified));
|
|
112
|
+
}
|
|
113
|
+
readyValue(value) {
|
|
114
|
+
return of({ value });
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
DbxActionFormDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxActionFormDirective, deps: [{ token: i1.DbxForm, host: true }, { token: i2.ActionContextStoreSourceInstance }], target: i0.ɵɵFactoryTarget.Directive });
|
|
118
|
+
DbxActionFormDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxActionFormDirective, selector: "[dbxActionForm]", inputs: { appActionFormValidator: "appActionFormValidator", appActionFormModified: "appActionFormModified" }, ngImport: i0 });
|
|
119
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxActionFormDirective, decorators: [{
|
|
120
|
+
type: Directive,
|
|
121
|
+
args: [{
|
|
122
|
+
selector: '[dbxActionForm]'
|
|
123
|
+
}]
|
|
124
|
+
}], ctorParameters: function () { return [{ type: i1.DbxForm, decorators: [{
|
|
125
|
+
type: Host
|
|
126
|
+
}] }, { type: i2.ActionContextStoreSourceInstance }]; }, propDecorators: { appActionFormValidator: [{
|
|
127
|
+
type: Input
|
|
128
|
+
}], appActionFormModified: [{
|
|
129
|
+
type: Input
|
|
130
|
+
}] } });
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQXFCLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUM5QyxPQUFPLEVBQWMsRUFBRSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzNFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXJFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxPQUFPLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQVV4RCxNQUFNLENBQUMsTUFBTSw0QkFBNEIsR0FBRyxZQUFZLENBQUM7QUFFekQ7Ozs7OztHQU1HO0FBSUgsTUFBTSxPQUFPLHNCQUFzQjtJQW9CakMsWUFBb0MsSUFBYSxFQUFrQixNQUFxRDtRQUFwRixTQUFJLEdBQUosSUFBSSxDQUFTO1FBQWtCLFdBQU0sR0FBTixNQUFNLENBQStDO1FBbEIvRyxZQUFPLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztRQWV6QixrQkFBYSxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUN6QyxtQkFBYyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztRQUdoRCxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUU7WUFDaEIs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LHFCQUFxQjtzQkFEcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgT25Jbml0LCBPbkRlc3Ryb3ksIElucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRTZWNvbmRzLCBpc1Bhc3QgfSBmcm9tICdkYXRlLWZucyc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZmlsdGVyLCBmaXJzdCwgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBBY3Rpb25Db250ZXh0U3RvcmVTb3VyY2VJbnN0YW5jZSB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcbmltcG9ydCB7IFJlYWRhYmxlRXJyb3IgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgTG9ja1NldCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgRGJ4Rm9ybSwgRGJ4Rm9ybVN0YXRlIH0gZnJvbSAnLi4vLi4vZm9ybS9mb3JtJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhBY3Rpb25Gb3JtVHJpZ2dlclJlc3VsdCB7XG4gIHZhbHVlPzogYW55O1xuICByZWplY3Q/OiBSZWFkYWJsZUVycm9yO1xufVxuXG5leHBvcnQgdHlwZSBEYnhBY3Rpb25Gb3JtVmFsaWRhdGVGbjxUID0gYW55PiA9ICh2YWx1ZTogVCkgPT4gT2JzZXJ2YWJsZTxib29sZWFuPjtcbmV4cG9ydCB0eXBlIERieEFjdGlvbkZvcm1Nb2RpZmllZEZuPFQgPSBhbnk+ID0gKHZhbHVlOiBUKSA9PiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG5leHBvcnQgY29uc3QgQVBQX0FDVElPTl9GT1JNX0RJU0FCTEVEX0tFWSA9ICdhY3Rpb25Gb3JtJztcblxuLyoqXG4gKiBVc2VkIHdpdGggYW4gYWN0aW9uIHRvIGJpbmQgYSBmb3JtIHRvIGFuIGFjdGlvbiBhcyBpdCdzIHZhbHVlIHNvdXJjZS5cbiAqXG4gKiBJZiB0aGUgZm9ybSBoYXMgZXJyb3JzIHdoZW4gdGhlIGFjdGlvbiBpcyB0cmlnZ2VyLCBpdCB3aWxsIHJlamVjdCB0aGUgYWN0aW9uLlxuICpcbiAqIElmIHRoZSBzb3VyY2UgaXMgbm90IGNvbnNpZGVyZWQgbW9kaWZpZWQsIHRoZSB0cmlnZ2VyIHdpbGwgYmUgaWdub3JlZC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEFjdGlvbkZvcm1dJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhBY3Rpb25Gb3JtRGlyZWN0aXZlPFQgPSBhbnk+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHJlYWRvbmx5IGxvY2tTZXQgPSBuZXcgTG9ja1NldCgpO1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCB2YWxpZGF0b3IgdGhhdCBjaGVja3Mgd2hldGhlciBvciBub3QgdGhlIHZhbHVlIGlzXG4gICAqIHJlYWR5IHRvIHNlbmQgYmVmb3JlIHRoZSBjb250ZXh0IHN0b3JlIGlzIG1hcmtlZCBlbmFibGVkLlxuICAgKi9cbiAgQElucHV0KClcbiAgYXBwQWN0aW9uRm9ybVZhbGlkYXRvcj86IERieEFjdGlvbkZvcm1WYWxpZGF0ZUZuPFQ+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBmdW5jdGlvbiB0aGF0IGNoZWNrcyB3aGV0aGVyIG9yIG5vdCB0aGUgdmFsdWUgaGFzIGJlZW4gbW9kaWZpZWQuXG4gICAqL1xuICBASW5wdXQoKVxuICBhcHBBY3Rpb25Gb3JtTW9kaWZpZWQ/OiBEYnhBY3Rpb25Gb3JtTW9kaWZpZWRGbjxUPjtcblxuICBwcml2YXRlIF90cmlnZ2VyZWRTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG4gIHByaXZhdGUgX2lzQ29tcGxldGVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgY29uc3RydWN0b3IoQEhvc3QoKSBwdWJsaWMgcmVhZG9ubHkgZm9ybTogRGJ4Rm9ybSwgcHVibGljIHJlYWRvbmx5IHNvdXJjZTogQWN0aW9uQ29udGV4dFN0b3JlU291cmNlSW5zdGFuY2U8b2JqZWN0LCBhbnk+KSB7XG4gICAgaWYgKGZvcm0ubG9ja1NldCkge1xuICAgICAgdGhpcy5sb2NrU2V0LmFkZENoaWxkTG9ja1NldChmb3JtLmxvY2tTZXQsICdmb3JtJyk7XG4gICAgfVxuXG4gICAgdGhpcy5sb2NrU2V0LmFkZENoaWxkTG9ja1NldChzb3VyY2UubG9ja1NldCwgJ3NvdXJjZScpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG5cbiAgICAvLyBQYXNzIGRhdGEgZnJvbSB0aGUgZm9ybSB0byB0aGUgc291cmNlIHdoZW4gdHJpZ2dlcmVkLlxuICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLnNvdXJjZS50cmlnZ2VyZWQkLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4ge1xuICAgICAgICBjb25zdCBkb05vdGhpbmcgPSB7fTsgLy8gbm90aGluZywgZm9ybSBub3QgY29tcGxldGVcblxuICAgICAgICBpZiAodGhpcy5mb3JtLmlzQ29tcGxldGUpIHtcbiAgICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuZm9ybS52YWx1ZTtcblxuICAgICAgICAgIHJldHVybiB0aGlzLnByZUNoZWNrUmVhZHlWYWx1ZSh2YWx1ZSkucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKGNhbkNvbnRpbnVlKSA9PiB7XG4gICAgICAgICAgICAgIGlmIChjYW5Db250aW51ZSkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlYWR5VmFsdWUodmFsdWUpLnBpcGUoZmlyc3QoKSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG9mKGRvTm90aGluZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoZXJyb3IpID0+IG9mKHsgZXJyb3IgfSBhcyBEYnhBY3Rpb25Gb3JtVHJpZ2dlclJlc3VsdCkpXG4gICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByZXR1cm4gb2YoZG9Ob3RoaW5nKTtcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgKS5zdWJzY3JpYmUoKHJlc3VsdDogRGJ4QWN0aW9uRm9ybVRyaWdnZXJSZXN1bHQpID0+IHtcbiAgICAgIGlmIChyZXN1bHQucmVqZWN0KSB7XG4gICAgICAgIHRoaXMuc291cmNlLnJlamVjdChyZXN1bHQucmVqZWN0KTtcbiAgICAgIH0gZWxzZSBpZiAocmVzdWx0LnZhbHVlICE9IG51bGwpIHtcbiAgICAgICAgdGhpcy5zb3VyY2UucmVhZHlWYWx1ZShyZXN1bHQudmFsdWUpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gdmFsdWUgaXNuJ3QgcmVhZHlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIC8vIFVwZGF0ZSB0aGUgZW5hYmxlZC9kaXNhYmxlZCBzdGF0ZVxuICAgIHRoaXMuX2lzQ29tcGxldGVTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5mb3JtLnN0cmVhbSQucGlwZShcbiAgICAgIGZpbHRlcigoeCkgPT4geC5zdGF0ZSAhPT0gRGJ4Rm9ybVN0YXRlLklOSVRJQUxJWklORyksXG4gICAgICBzd2l0Y2hNYXAoKGV2ZW50KSA9PiB7XG5cbiAgICAgICAgLy8gVXNlIGJvdGggY2hhbmdlcyBjb3VudCBhbmQgd2hldGhlciBvciBub3Qgc29tZXRoaW5nIHdhcyBpbiB0aGUgcGFzdCB0byBndWFnZSB3aGV0aGVyIG9yIG5vdCB0aGUgaXRlbSBoYXMgYmVlbiB0b3VjaGVkLlxuICAgICAgICAvLyBBbmd1bGFyIEZvcm0ncyB1bnRvdWNoZWQgaXMgd2hldGhlciBvciBub3QgZm9jdXMgaGFzIGJlZW4gbG9zdCBidXQgd2UgY2FuIHN0aWxsIHJlY2lldmUgdmFsdWUgdXBkYXRlcy5cbiAgICAgICAgLy8gTW9yZSB0aGFuIGEgY2VydGFpbiBhbW91bnQgb2YgdXBkYXRlcyBpbXBsaWVzIHRoYXQgaXQgaXMgYmVpbmcgdHlwZWQgaW50by5cbiAgICAgICAgY29uc3QgaXNQcm9iYWJseVRvdWNoZWQgPSAhZXZlbnQudW50b3VjaGVkIHx8XG4gICAgICAgICAgKChldmVudC5jaGFuZ2VzQ291bnQgPz8gMCkgPiAzICYmIGlzUGFzdChhZGRTZWNvbmRzKGV2ZW50Lmxhc3RSZXNldEF0ID8/IG5ldyBEYXRlKCksIDIpKSk7XG5cbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0V2ZW50OiAnLCBldmVudCwgaXNQcm9iYWJseVRvdWNoZWQpO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpcy5mb3JtLnZhbHVlO1xuXG4gICAgICAgIGxldCB2YWxpZGF0b3JPYnM6IE9ic2VydmFibGU8Ym9vbGVhbj47XG5cbiAgICAgICAgY29uc3QgaW5pdGlhbElzVmFsaWRDaGVjayA9IGV2ZW50LmlzQ29tcGxldGU7XG4gICAgICAgIGlmIChpbml0aWFsSXNWYWxpZENoZWNrKSB7XG4gICAgICAgICAgdmFsaWRhdG9yT2JzID0gKHRoaXMuYXBwQWN0aW9uRm9ybVZhbGlkYXRvcikgPyB0aGlzLmFwcEFjdGlvbkZvcm1WYWxpZGF0b3IodmFsdWUpIDogb2YodHJ1ZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdmFsaWRhdG9yT2JzID0gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IG1vZGlmaWVkT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuXG4gICAgICAgIGNvbnN0IGlzQ29uc2lkZXJlZE1vZGlmaWVkID0gKGV2ZW50LnByaXN0aW5lID09PSBmYWxzZSAmJiBpc1Byb2JhYmx5VG91Y2hlZCk7XG4gICAgICAgIGlmIChpc0NvbnNpZGVyZWRNb2RpZmllZCkge1xuICAgICAgICAgIG1vZGlmaWVkT2JzID0gKHRoaXMuYXBwQWN0aW9uRm9ybU1vZGlmaWVkKSA/IHRoaXMuYXBwQWN0aW9uRm9ybU1vZGlmaWVkKHZhbHVlKSA6IG9mKHRydWUpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG1vZGlmaWVkT2JzID0gb2YoZmFsc2UpO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgIHZhbGlkYXRvck9icyxcbiAgICAgICAgICBtb2RpZmllZE9ic1xuICAgICAgICBdKS5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgbWFwKChbdmFsaWQsIG1vZGlmaWVkXTogW2Jvb2xlYW4sIGJvb2xlYW5dKSA9PiAoeyB2YWxpZCwgbW9kaWZpZWQsIGV2ZW50IH0pKVxuICAgICAgICApO1xuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgoeyB2YWxpZCwgbW9kaWZpZWQsIGV2ZW50IH0pID0+IHtcblxuICAgICAgLy8gVXBkYXRlIE1vZGlmaWVkIFN0YXRlXG4gICAgICB0aGlzLnNvdXJjZS5zZXRJc01vZGlmaWVkKG1vZGlmaWVkKTtcblxuICAgICAgLy8gRGlzYWJsZSBpZiB0aGUgZm9ybSBpcyBub3QgeWV0IGNvbXBsZXRlL3ZhbGlkLlxuICAgICAgdGhpcy5zb3VyY2UuZW5hYmxlKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVksIHZhbGlkKTtcbiAgICB9KTtcblxuICAgIC8vIFRPRE86IFdhdGNoIHRoZSB3b3JraW5nIHN0YXRlIGFuZCBzdG9wIGFsbG93aW5nIGlucHV0IG9uIHdvcmtpbmcuLj9cbiAgICAvLyBUT0RPOiBXYXRjaCB0aGUgZGlzYWJsZWQgc3RhdGUgZm9yIHdoZW4gYW5vdGhlciBkaXNhYmxlZCBrZXkgZGlzYWJsZXMgdGhpcyBmb3JtLlxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5zb3VyY2UuZW5hYmxlKEFQUF9BQ1RJT05fRk9STV9ESVNBQkxFRF9LRVkpO1xuICAgIHRoaXMubG9ja1NldC5kZXN0cm95T25OZXh0VW5sb2NrKCgpID0+IHtcbiAgICAgIHRoaXMuX3RyaWdnZXJlZFN1Yi5kZXN0cm95KCk7XG4gICAgICB0aGlzLl9pc0NvbXBsZXRlU3ViLmRlc3Ryb3koKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBwcmVDaGVja1JlYWR5VmFsdWUodmFsdWU6IFQpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICBsZXQgdmFsaWRhdG9yT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gKHRoaXMuYXBwQWN0aW9uRm9ybVZhbGlkYXRvcikgPyB0aGlzLmFwcEFjdGlvbkZvcm1WYWxpZGF0b3IodmFsdWUpIDogb2YodHJ1ZSk7XG4gICAgbGV0IG1vZGlmaWVkT2JzOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gKHRoaXMuYXBwQWN0aW9uRm9ybU1vZGlmaWVkKSA/IHRoaXMuYXBwQWN0aW9uRm9ybU1vZGlmaWVkKHZhbHVlKSA6IG9mKHRydWUpO1xuXG4gICAgcmV0dXJuIGNvbWJpbmVMYXRlc3QoW1xuICAgICAgdmFsaWRhdG9yT2JzLFxuICAgICAgbW9kaWZpZWRPYnNcbiAgICBdKS5waXBlKFxuICAgICAgZmlyc3QoKSxcbiAgICAgIG1hcCgoW3ZhbGlkLCBtb2RpZmllZF06IFtib29sZWFuLCBib29sZWFuXSkgPT4gdmFsaWQgJiYgbW9kaWZpZWQpXG4gICAgKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWFkeVZhbHVlKHZhbHVlOiBUKTogT2JzZXJ2YWJsZTxEYnhBY3Rpb25Gb3JtVHJpZ2dlclJlc3VsdD4ge1xuICAgIHJldHVybiBvZih7IHZhbHVlIH0pO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { MatDialogModule } from '@angular/material/dialog';
|
|
2
|
+
import { NgModule } from '@angular/core';
|
|
3
|
+
import { CommonModule } from '@angular/common';
|
|
4
|
+
import { DbxActionFormDirective } from './form.action.directive';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DbxFormlyActionModule {
|
|
7
|
+
}
|
|
8
|
+
DbxFormlyActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DbxFormlyActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule,
|
|
10
|
+
MatDialogModule], exports: [DbxActionFormDirective] });
|
|
11
|
+
DbxFormlyActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyActionModule, imports: [[
|
|
12
|
+
CommonModule,
|
|
13
|
+
MatDialogModule
|
|
14
|
+
]] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormlyActionModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule,
|
|
20
|
+
MatDialogModule
|
|
21
|
+
],
|
|
22
|
+
declarations: [
|
|
23
|
+
DbxActionFormDirective
|
|
24
|
+
],
|
|
25
|
+
exports: [
|
|
26
|
+
DbxActionFormDirective
|
|
27
|
+
]
|
|
28
|
+
}]
|
|
29
|
+
}] });
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5hY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtL2FjdGlvbi9mb3JtLmFjdGlvbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQWNqRSxNQUFNLE9BQU8scUJBQXFCOztrSEFBckIscUJBQXFCO21IQUFyQixxQkFBcUIsaUJBTjlCLHNCQUFzQixhQUp0QixZQUFZO1FBQ1osZUFBZSxhQU1mLHNCQUFzQjttSEFHYixxQkFBcUIsWUFYdkI7WUFDUCxZQUFZO1lBQ1osZUFBZTtTQUNoQjsyRkFRVSxxQkFBcUI7a0JBWmpDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFO3dCQUNaLHNCQUFzQjtxQkFDdkI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLHNCQUFzQjtxQkFDdkI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBEYnhBY3Rpb25Gb3JtRGlyZWN0aXZlIH0gZnJvbSAnLi9mb3JtLmFjdGlvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBEYnhBY3Rpb25Gb3JtRGlyZWN0aXZlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYnhBY3Rpb25Gb3JtRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybWx5QWN0aW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './form.action.module';
|
|
2
|
+
export * from './form.action.directive';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vYWN0aW9uL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS5hY3Rpb24ubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS5hY3Rpb24uZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { Directive, EventEmitter, Host, Output } from '@angular/core';
|
|
2
|
+
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
3
|
+
import { DbxForm } from './form';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "./form";
|
|
6
|
+
/**
|
|
7
|
+
* Used to see form value changes.
|
|
8
|
+
*/
|
|
9
|
+
export class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
|
|
10
|
+
constructor(form) {
|
|
11
|
+
super();
|
|
12
|
+
this.form = form;
|
|
13
|
+
this.dbxFormValueChange = new EventEmitter();
|
|
14
|
+
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
this.sub = this.form.stream$.subscribe((x) => {
|
|
17
|
+
this.dbxFormValueChange.next(this.form.value);
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
DbxFormValueChangesDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormValueChangesDirective, deps: [{ token: i1.DbxForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
+
DbxFormValueChangesDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, usesInheritance: true, ngImport: i0 });
|
|
23
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormValueChangesDirective, decorators: [{
|
|
24
|
+
type: Directive,
|
|
25
|
+
args: [{
|
|
26
|
+
selector: '[dbxFormValueChange]'
|
|
27
|
+
}]
|
|
28
|
+
}], ctorParameters: function () { return [{ type: i1.DbxForm, decorators: [{
|
|
29
|
+
type: Host
|
|
30
|
+
}] }]; }, propDecorators: { dbxFormValueChange: [{
|
|
31
|
+
type: Output
|
|
32
|
+
}] } });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5jaGFuZ2VzLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9mb3JtLmNoYW5nZXMuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQVUsTUFBTSxlQUFlLENBQUM7QUFDOUUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFFBQVEsQ0FBQzs7O0FBRWpDOztHQUVHO0FBSUgsTUFBTSxPQUFPLDRCQUFxRCxTQUFRLDZCQUE2QjtJQUtyRyxZQUFvQyxJQUFhO1FBQy9DLEtBQUssRUFBRSxDQUFDO1FBRDBCLFNBQUksR0FBSixJQUFJLENBQVM7UUFGeEMsdUJBQWtCLEdBQUcsSUFBSSxZQUFZLEVBQUssQ0FBQztJQUlwRCxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDM0MsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7eUhBYlUsNEJBQTRCOzZHQUE1Qiw0QkFBNEI7MkZBQTVCLDRCQUE0QjtrQkFIeEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO2lCQUNqQzs7MEJBTWMsSUFBSTs0Q0FGUixrQkFBa0I7c0JBRDFCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEV2ZW50RW1pdHRlciwgSG9zdCwgT3V0cHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybSB9IGZyb20gJy4vZm9ybSc7XG5cbi8qKlxuICogVXNlZCB0byBzZWUgZm9ybSB2YWx1ZSBjaGFuZ2VzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4Rm9ybVZhbHVlQ2hhbmdlXSdcbn0pXG5leHBvcnQgY2xhc3MgRGJ4Rm9ybVZhbHVlQ2hhbmdlc0RpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICBAT3V0cHV0KClcbiAgcmVhZG9ubHkgZGJ4Rm9ybVZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxUPigpO1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGZvcm06IERieEZvcm0pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5zdWIgPSB0aGlzLmZvcm0uc3RyZWFtJC5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIHRoaXMuZGJ4Rm9ybVZhbHVlQ2hhbmdlLm5leHQodGhpcy5mb3JtLnZhbHVlKTtcbiAgICB9KTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Observable, combineLatest } from 'rxjs';
|
|
2
|
+
import { Directive, Host, Input } from '@angular/core';
|
|
3
|
+
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
4
|
+
import { DbxForm, DbxFormState } from '../form/form';
|
|
5
|
+
import { distinctUntilChanged, filter, first, map } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../form/form";
|
|
8
|
+
/**
|
|
9
|
+
* Used with a FormComponent to set the value based on the input value.
|
|
10
|
+
*/
|
|
11
|
+
export class DbxFormSourceDirective extends AbstractSubscriptionDirective {
|
|
12
|
+
constructor(form) {
|
|
13
|
+
super();
|
|
14
|
+
this.form = form;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sets a LoadingContext that is watched for the loading state.
|
|
18
|
+
*/
|
|
19
|
+
set obs(obs) {
|
|
20
|
+
this._setObs(obs);
|
|
21
|
+
}
|
|
22
|
+
_setObs(obs) {
|
|
23
|
+
let subscription;
|
|
24
|
+
if (obs) {
|
|
25
|
+
subscription = combineLatest([
|
|
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) => {
|
|
30
|
+
this.form.setValue(x);
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
this.sub = subscription;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DbxFormSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormSourceDirective, deps: [{ token: i1.DbxForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
37
|
+
DbxFormSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: { obs: ["dbxFormSource", "obs"] }, usesInheritance: true, ngImport: i0 });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
|
|
39
|
+
type: Directive,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: '[dbxFormSource]'
|
|
42
|
+
}]
|
|
43
|
+
}], ctorParameters: function () { return [{ type: i1.DbxForm, decorators: [{
|
|
44
|
+
type: Host
|
|
45
|
+
}] }]; }, propDecorators: { obs: [{
|
|
46
|
+
type: Input,
|
|
47
|
+
args: ['dbxFormSource']
|
|
48
|
+
}] } });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5pbnB1dC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vZm9ybS5pbnB1dC5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFFMUU7O0dBRUc7QUFJSCxNQUFNLE9BQU8sc0JBQStDLFNBQVEsNkJBQTZCO0lBRS9GLFlBQW9DLElBQWE7UUFDL0MsS0FBSyxFQUFFLENBQUM7UUFEMEIsU0FBSSxHQUFKLElBQUksQ0FBUztJQUVqRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNJLEdBQUcsQ0FBQyxHQUFrQjtRQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3BCLENBQUM7SUFFTyxPQUFPLENBQUMsR0FBa0I7UUFDaEMsSUFBSSxZQUFZLENBQUM7UUFFakIsSUFBSSxHQUFHLEVBQUU7WUFDUCxZQUFZLEdBQUcsYUFBYSxDQUFDO2dCQUMzQixnREFBZ0Q7Z0JBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FDcEIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxLQUFLLFlBQVksQ0FBQyxZQUFZLENBQUMsRUFDcEQsS0FBSyxFQUFFLENBQ1I7Z0JBQ0QsR0FBRzthQUNKLENBQUMsQ0FBQyxJQUFJLENBQ0wsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFDaEIsb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQ3hDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztJQUMxQixDQUFDOzttSEFsQ1Usc0JBQXNCO3VHQUF0QixzQkFBc0I7MkZBQXRCLHNCQUFzQjtrQkFIbEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsaUJBQWlCO2lCQUM1Qjs7MEJBR2MsSUFBSTs0Q0FRYixHQUFHO3NCQUROLEtBQUs7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9ic2VydmFibGUsIGNvbWJpbmVMYXRlc3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERpcmVjdGl2ZSwgSG9zdCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybSwgRGJ4Rm9ybVN0YXRlIH0gZnJvbSAnLi4vZm9ybS9mb3JtJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaWx0ZXIsIGZpcnN0LCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogVXNlZCB3aXRoIGEgRm9ybUNvbXBvbmVudCB0byBzZXQgdGhlIHZhbHVlIGJhc2VkIG9uIHRoZSBpbnB1dCB2YWx1ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZvcm1Tb3VyY2VdJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtU291cmNlRGlyZWN0aXZlPFQgZXh0ZW5kcyBvYmplY3QgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUge1xuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHVibGljIHJlYWRvbmx5IGZvcm06IERieEZvcm0pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYSBMb2FkaW5nQ29udGV4dCB0aGF0IGlzIHdhdGNoZWQgZm9yIHRoZSBsb2FkaW5nIHN0YXRlLlxuICAgKi9cbiAgQElucHV0KCdkYnhGb3JtU291cmNlJylcbiAgc2V0IG9icyhvYnM6IE9ic2VydmFibGU8VD4pIHtcbiAgICB0aGlzLl9zZXRPYnMob2JzKTtcbiAgfVxuXG4gIHByaXZhdGUgX3NldE9icyhvYnM6IE9ic2VydmFibGU8VD4pOiB2b2lkIHtcbiAgICBsZXQgc3Vic2NyaXB0aW9uO1xuXG4gICAgaWYgKG9icykge1xuICAgICAgc3Vic2NyaXB0aW9uID0gY29tYmluZUxhdGVzdChbXG4gICAgICAgIC8vIEVtaXQgdGhlIGZpcnN0IHRpbWUgaW5pdGlhbGl6aW5nIGlzbid0IHRoZXJlLlxuICAgICAgICB0aGlzLmZvcm0uc3RyZWFtJC5waXBlKFxuICAgICAgICAgIGZpbHRlcigoeCkgPT4geC5zdGF0ZSAhPT0gRGJ4Rm9ybVN0YXRlLklOSVRJQUxJWklORyksXG4gICAgICAgICAgZmlyc3QoKVxuICAgICAgICApLFxuICAgICAgICBvYnNcbiAgICAgIF0pLnBpcGUoXG4gICAgICAgIG1hcCgoeCkgPT4geFsxXSksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCh4LCB5KSA9PiB4ID09PSB5KSxcbiAgICAgICkuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh4KTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3ViID0gc3Vic2NyaXB0aW9uO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { forwardRef } from '@angular/core';
|
|
2
|
+
/**
|
|
3
|
+
* Current state of a DbxForm
|
|
4
|
+
*/
|
|
5
|
+
export var DbxFormState;
|
|
6
|
+
(function (DbxFormState) {
|
|
7
|
+
DbxFormState[DbxFormState["INITIALIZING"] = -1] = "INITIALIZING";
|
|
8
|
+
DbxFormState[DbxFormState["INCOMPLETE"] = 0] = "INCOMPLETE";
|
|
9
|
+
DbxFormState[DbxFormState["COMPLETE"] = 1] = "COMPLETE";
|
|
10
|
+
DbxFormState[DbxFormState["RESET"] = 2] = "RESET";
|
|
11
|
+
})(DbxFormState || (DbxFormState = {}));
|
|
12
|
+
/**
|
|
13
|
+
* Form that has an event stream, value, and state items.
|
|
14
|
+
*/
|
|
15
|
+
export class DbxForm {
|
|
16
|
+
}
|
|
17
|
+
export function ProvideDbxForm(sourceType) {
|
|
18
|
+
return [{ provide: DbxForm, useExisting: forwardRef(() => sourceType) }];
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9mb3JtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQWtCLE1BQU0sZUFBZSxDQUFDO0FBSTNEOztHQUVHO0FBQ0gsTUFBTSxDQUFOLElBQVksWUFLWDtBQUxELFdBQVksWUFBWTtJQUN0QixnRUFBaUIsQ0FBQTtJQUNqQiwyREFBYyxDQUFBO0lBQ2QsdURBQVksQ0FBQTtJQUNaLGlEQUFTLENBQUE7QUFDWCxDQUFDLEVBTFcsWUFBWSxLQUFaLFlBQVksUUFLdkI7QUFjRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsT0FBTztDQWU1QjtBQVdELE1BQU0sVUFBVSxjQUFjLENBQW9CLFVBQW1CO0lBQ25FLE9BQU8sQ0FBQyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDM0UsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZvcndhcmRSZWYsIFByb3ZpZGVyLCBUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBMb2NrU2V0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5cbi8qKlxuICogQ3VycmVudCBzdGF0ZSBvZiBhIERieEZvcm1cbiAqL1xuZXhwb3J0IGVudW0gRGJ4Rm9ybVN0YXRlIHtcbiAgSU5JVElBTElaSU5HID0gLTEsXG4gIElOQ09NUExFVEUgPSAwLFxuICBDT01QTEVURSA9IDEsXG4gIFJFU0VUID0gMlxufVxuXG4vKipcbiAqIERieEZvcm0gc3RyZWFtIGV2ZW50XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4Rm9ybUV2ZW50IHtcbiAgcmVhZG9ubHkgaXNDb21wbGV0ZTogYm9vbGVhbjtcbiAgcmVhZG9ubHkgc3RhdGU6IERieEZvcm1TdGF0ZTtcbiAgcmVhZG9ubHkgcHJpc3RpbmU/OiBib29sZWFuO1xuICByZWFkb25seSB1bnRvdWNoZWQ/OiBib29sZWFuO1xuICByZWFkb25seSBsYXN0UmVzZXRBdD86IERhdGU7XG4gIHJlYWRvbmx5IGNoYW5nZXNDb3VudD86IG51bWJlcjtcbn1cblxuLyoqXG4gKiBGb3JtIHRoYXQgaGFzIGFuIGV2ZW50IHN0cmVhbSwgdmFsdWUsIGFuZCBzdGF0ZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIERieEZvcm0ge1xuICAvKipcbiAgICogTG9ja1NldCBmb3IgdGhlIGZvcm0uXG4gICAqL1xuICBhYnN0cmFjdCByZWFkb25seSBsb2NrU2V0OiBMb2NrU2V0O1xuICAvKipcbiAgICogVHJ1ZSBpZiB0aGUgZm9ybSBpcyBjb21wbGV0ZS92YWxpZC5cbiAgICovXG4gIGFic3RyYWN0IHJlYWRvbmx5IGlzQ29tcGxldGU6IGJvb2xlYW47XG4gIGFic3RyYWN0IHJlYWRvbmx5IHN0YXRlOiBEYnhGb3JtU3RhdGU7XG4gIGFic3RyYWN0IHJlYWRvbmx5IHN0cmVhbSQ6IE9ic2VydmFibGU8RGJ4Rm9ybUV2ZW50PjtcbiAgYWJzdHJhY3QgcmVhZG9ubHkgdmFsdWU6IGFueTtcbiAgYWJzdHJhY3Qgc2V0VmFsdWUodmFsdWU6IGFueSk6IHZvaWQ7XG4gIGFic3RyYWN0IHJlc2V0Rm9ybSgpOiB2b2lkO1xuICBhYnN0cmFjdCBmb3JjZUZvcm1VcGRhdGUoKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIHR5cGVkIERieEZvcm1cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUeXBlZERieEZvcm08VD4gZXh0ZW5kcyBEYnhGb3JtIHtcbiAgcmVhZG9ubHkgdmFsdWU6IFQ7XG4gIHNldFZhbHVlKHZhbHVlOiBUKTogdm9pZDtcbiAgcmVzZXRGb3JtKCk6IHZvaWQ7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBQcm92aWRlRGJ4Rm9ybTxTIGV4dGVuZHMgRGJ4Rm9ybT4oc291cmNlVHlwZTogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICByZXR1cm4gW3sgcHJvdmlkZTogRGJ4Rm9ybSwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gc291cmNlVHlwZSkgfV07XG59XG4iXX0=
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DbxFormValueChangesDirective } from './form.changes.directive';
|
|
4
|
+
import { DbxFormSourceDirective } from './form.input.directive';
|
|
5
|
+
import { DbxFormLoadingPairSourceDirective } from './loading/form.loading.directive';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export class DbxFormModule {
|
|
8
|
+
}
|
|
9
|
+
DbxFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
10
|
+
DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormModule, declarations: [DbxFormSourceDirective,
|
|
11
|
+
DbxFormValueChangesDirective,
|
|
12
|
+
DbxFormLoadingPairSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective,
|
|
13
|
+
DbxFormValueChangesDirective,
|
|
14
|
+
DbxFormLoadingPairSourceDirective] });
|
|
15
|
+
DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormModule, imports: [[
|
|
16
|
+
CommonModule
|
|
17
|
+
]] });
|
|
18
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormModule, decorators: [{
|
|
19
|
+
type: NgModule,
|
|
20
|
+
args: [{
|
|
21
|
+
imports: [
|
|
22
|
+
CommonModule
|
|
23
|
+
],
|
|
24
|
+
declarations: [
|
|
25
|
+
DbxFormSourceDirective,
|
|
26
|
+
DbxFormValueChangesDirective,
|
|
27
|
+
DbxFormLoadingPairSourceDirective
|
|
28
|
+
],
|
|
29
|
+
exports: [
|
|
30
|
+
DbxFormSourceDirective,
|
|
31
|
+
DbxFormValueChangesDirective,
|
|
32
|
+
DbxFormLoadingPairSourceDirective
|
|
33
|
+
]
|
|
34
|
+
}]
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vZm9ybS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDaEUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0FBaUJyRixNQUFNLE9BQU8sYUFBYTs7MEdBQWIsYUFBYTsyR0FBYixhQUFhLGlCQVZ0QixzQkFBc0I7UUFDdEIsNEJBQTRCO1FBQzVCLGlDQUFpQyxhQUxqQyxZQUFZLGFBUVosc0JBQXNCO1FBQ3RCLDRCQUE0QjtRQUM1QixpQ0FBaUM7MkdBR3hCLGFBQWEsWUFkZjtZQUNQLFlBQVk7U0FDYjsyRkFZVSxhQUFhO2tCQWZ6QixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWixzQkFBc0I7d0JBQ3RCLDRCQUE0Qjt3QkFDNUIsaUNBQWlDO3FCQUNsQztvQkFDRCxPQUFPLEVBQUU7d0JBQ1Asc0JBQXNCO3dCQUN0Qiw0QkFBNEI7d0JBQzVCLGlDQUFpQztxQkFDbEM7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IERieEZvcm1WYWx1ZUNoYW5nZXNEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcm0uY2hhbmdlcy5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybVNvdXJjZURpcmVjdGl2ZSB9IGZyb20gJy4vZm9ybS5pbnB1dC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgRGJ4Rm9ybUxvYWRpbmdQYWlyU291cmNlRGlyZWN0aXZlIH0gZnJvbSAnLi9sb2FkaW5nL2Zvcm0ubG9hZGluZy5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERieEZvcm1Tb3VyY2VEaXJlY3RpdmUsXG4gICAgRGJ4Rm9ybVZhbHVlQ2hhbmdlc0RpcmVjdGl2ZSxcbiAgICBEYnhGb3JtTG9hZGluZ1BhaXJTb3VyY2VEaXJlY3RpdmVcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIERieEZvcm1Tb3VyY2VEaXJlY3RpdmUsXG4gICAgRGJ4Rm9ybVZhbHVlQ2hhbmdlc0RpcmVjdGl2ZSxcbiAgICBEYnhGb3JtTG9hZGluZ1BhaXJTb3VyY2VEaXJlY3RpdmVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtTW9kdWxlIHsgfVxuIl19
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from './action';
|
|
2
|
+
export * from './loading';
|
|
3
|
+
export * from './form.changes.directive';
|
|
4
|
+
export * from './form.input.directive';
|
|
5
|
+
export * from './form.module';
|
|
6
|
+
export * from './form';
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxVQUFVLENBQUM7QUFDekIsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYywwQkFBMEIsQ0FBQztBQUN6QyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9sb2FkaW5nJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS5jaGFuZ2VzLmRpcmVjdGl2ZSc7XG5leHBvcnQgKiBmcm9tICcuL2Zvcm0uaW5wdXQuZGlyZWN0aXZlJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9mb3JtJztcbiJdfQ==
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Observable, combineLatest } from 'rxjs';
|
|
2
|
+
import { Directive, Host, Input } from '@angular/core';
|
|
3
|
+
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
4
|
+
import { DbxForm, DbxFormState } from '../../form/form';
|
|
5
|
+
import { distinctUntilChanged, filter, first, map } from 'rxjs/operators';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "../../form/form";
|
|
8
|
+
/**
|
|
9
|
+
* Used with a FormComponent to set the value from a LoadingState when the value is available.
|
|
10
|
+
*/
|
|
11
|
+
export class DbxFormLoadingPairSourceDirective extends AbstractSubscriptionDirective {
|
|
12
|
+
constructor(form) {
|
|
13
|
+
super();
|
|
14
|
+
this.form = form;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Sets a LoadingContext that is watched for the loading state.
|
|
18
|
+
*/
|
|
19
|
+
set obs(obs) {
|
|
20
|
+
this._setObs(obs);
|
|
21
|
+
}
|
|
22
|
+
_setObs(obs) {
|
|
23
|
+
let subscription;
|
|
24
|
+
if (obs) {
|
|
25
|
+
subscription = combineLatest([
|
|
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]), 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
|
+
this.form.setValue(x.value);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
this.sub = subscription;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
DbxFormLoadingPairSourceDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormLoadingPairSourceDirective, deps: [{ token: i1.DbxForm, host: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
40
|
+
DbxFormLoadingPairSourceDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormLoadingPairSourceDirective, selector: "[dbxFormLoadingPairSource]", inputs: { obs: ["dbxFormLoadingPairSource", "obs"] }, usesInheritance: true, ngImport: i0 });
|
|
41
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormLoadingPairSourceDirective, decorators: [{
|
|
42
|
+
type: Directive,
|
|
43
|
+
args: [{
|
|
44
|
+
selector: '[dbxFormLoadingPairSource]'
|
|
45
|
+
}]
|
|
46
|
+
}], ctorParameters: function () { return [{ type: i1.DbxForm, decorators: [{
|
|
47
|
+
type: Host
|
|
48
|
+
}] }]; }, propDecorators: { obs: [{
|
|
49
|
+
type: Input,
|
|
50
|
+
args: ['dbxFormLoadingPairSource']
|
|
51
|
+
}] } });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS5sb2FkaW5nLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybS9sb2FkaW5nL2Zvcm0ubG9hZGluZy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxhQUFhLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7OztBQUUxRTs7R0FFRztBQUlILE1BQU0sT0FBTyxpQ0FBMEQsU0FBUSw2QkFBNkI7SUFFMUcsWUFBb0MsSUFBYTtRQUMvQyxLQUFLLEVBQUUsQ0FBQztRQUQwQixTQUFJLEdBQUosSUFBSSxDQUFTO0lBRWpELENBQUM7SUFFRDs7T0FFRztJQUNILElBQ0ksR0FBRyxDQUFDLEdBQWdDO1FBQ3RDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDcEIsQ0FBQztJQUVPLE9BQU8sQ0FBQyxHQUFnQztRQUM5QyxJQUFJLFlBQVksQ0FBQztRQUVqQixJQUFJLEdBQUcsRUFBRTtZQUNQLFlBQVksR0FBRyxhQUFhLENBQUM7Z0JBQzNCLGdEQUFnRDtnQkFDaEQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUNwQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssWUFBWSxDQUFDLFlBQVksQ0FBQyxFQUNwRCxLQUFLLEVBQUUsQ0FDUjtnQkFDRCxHQUFHO2FBQ0osQ0FBQyxDQUFDLElBQUksQ0FDTCxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUNoQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUN6QixvQkFBb0IsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUNwRCxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO2dCQUNoQixJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUU7b0JBQzFCLDJDQUEyQztvQkFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUM3QjtZQUNILENBQUMsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxJQUFJLENBQUMsR0FBRyxHQUFHLFlBQVksQ0FBQztJQUMxQixDQUFDOzs4SEF0Q1UsaUNBQWlDO2tIQUFqQyxpQ0FBaUM7MkZBQWpDLGlDQUFpQztrQkFIN0MsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsNEJBQTRCO2lCQUN2Qzs7MEJBR2MsSUFBSTs0Q0FRYixHQUFHO3NCQUROLEtBQUs7dUJBQUMsMEJBQTBCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgRGlyZWN0aXZlLCBIb3N0LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBEYnhGb3JtLCBEYnhGb3JtU3RhdGUgfSBmcm9tICcuLi8uLi9mb3JtL2Zvcm0nO1xuaW1wb3J0IHsgTG9hZGluZ1N0YXRlIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlsdGVyLCBmaXJzdCwgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG4vKipcbiAqIFVzZWQgd2l0aCBhIEZvcm1Db21wb25lbnQgdG8gc2V0IHRoZSB2YWx1ZSBmcm9tIGEgTG9hZGluZ1N0YXRlIHdoZW4gdGhlIHZhbHVlIGlzIGF2YWlsYWJsZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZvcm1Mb2FkaW5nUGFpclNvdXJjZV0nXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1Mb2FkaW5nUGFpclNvdXJjZURpcmVjdGl2ZTxUIGV4dGVuZHMgb2JqZWN0ID0gYW55PiBleHRlbmRzIEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIHtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHB1YmxpYyByZWFkb25seSBmb3JtOiBEYnhGb3JtKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIGEgTG9hZGluZ0NvbnRleHQgdGhhdCBpcyB3YXRjaGVkIGZvciB0aGUgbG9hZGluZyBzdGF0ZS5cbiAgICovXG4gIEBJbnB1dCgnZGJ4Rm9ybUxvYWRpbmdQYWlyU291cmNlJylcbiAgc2V0IG9icyhvYnM6IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPFQ+Pikge1xuICAgIHRoaXMuX3NldE9icyhvYnMpO1xuICB9XG5cbiAgcHJpdmF0ZSBfc2V0T2JzKG9iczogT2JzZXJ2YWJsZTxMb2FkaW5nU3RhdGU8VD4+KTogdm9pZCB7XG4gICAgbGV0IHN1YnNjcmlwdGlvbjtcblxuICAgIGlmIChvYnMpIHtcbiAgICAgIHN1YnNjcmlwdGlvbiA9IGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAvLyBFbWl0IHRoZSBmaXJzdCB0aW1lIGluaXRpYWxpemluZyBpc24ndCB0aGVyZS5cbiAgICAgICAgdGhpcy5mb3JtLnN0cmVhbSQucGlwZShcbiAgICAgICAgICBmaWx0ZXIoKHgpID0+IHguc3RhdGUgIT09IERieEZvcm1TdGF0ZS5JTklUSUFMSVpJTkcpLFxuICAgICAgICAgIGZpcnN0KClcbiAgICAgICAgKSxcbiAgICAgICAgb2JzXG4gICAgICBdKS5waXBlKFxuICAgICAgICBtYXAoKHgpID0+IHhbMV0pLFxuICAgICAgICBmaWx0ZXIoKHgpID0+IEJvb2xlYW4oeCkpLFxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoeCwgeSkgPT4geC52YWx1ZSA9PT0geS52YWx1ZSksXG4gICAgICApLnN1YnNjcmliZSgoeCkgPT4ge1xuICAgICAgICBpZiAoIXguZXJyb3IgJiYgIXgubG9hZGluZykge1xuICAgICAgICAgIC8vIGNvbnNvbGUubG9nKCdTZXR0aW5nIHZhbHVlOiAnLCB4Lm1vZGVsKTtcbiAgICAgICAgICB0aGlzLmZvcm0uc2V0VmFsdWUoeC52YWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuc3ViID0gc3Vic2NyaXB0aW9uO1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export * from './form.loading.directive';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm0vbG9hZGluZy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDBCQUEwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9mb3JtLmxvYWRpbmcuZGlyZWN0aXZlJztcbiJdfQ==
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import { switchMapMaybeObs } from '@dereekb/rxjs';
|
|
2
|
+
import { shareReplay, distinctUntilChanged, map } from 'rxjs/operators';
|
|
3
|
+
import { BehaviorSubject } from 'rxjs';
|
|
4
|
+
import { Component, ComponentFactoryResolver, NgZone, ViewChild, ViewContainerRef } from '@angular/core';
|
|
5
|
+
import { FieldType } from '@ngx-formly/core';
|
|
6
|
+
import { DbxDefaultChecklistItemFieldDisplayComponent } from './checklist.item.field.content.default.component';
|
|
7
|
+
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "@angular/material/checkbox";
|
|
10
|
+
import * as i2 from "@dereekb/dbx-web";
|
|
11
|
+
import * as i3 from "@angular/material/icon";
|
|
12
|
+
import * as i4 from "@angular/forms";
|
|
13
|
+
import * as i5 from "@angular/common";
|
|
14
|
+
import * as i6 from "@angular/material/core";
|
|
15
|
+
export class DbxChecklistItemFieldComponent extends FieldType {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this._displayContent = new BehaviorSubject(undefined);
|
|
19
|
+
this.displayContent$ = this._displayContent.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
|
|
20
|
+
this.anchor$ = this.displayContent$.pipe(map(x => x.anchor), shareReplay(1));
|
|
21
|
+
this.rippleDisabled$ = this.displayContent$.pipe(map(x => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged(), shareReplay(1));
|
|
22
|
+
}
|
|
23
|
+
get formGroup() {
|
|
24
|
+
return this.form;
|
|
25
|
+
}
|
|
26
|
+
get checkboxFieldKey() {
|
|
27
|
+
return this.key;
|
|
28
|
+
}
|
|
29
|
+
get label() {
|
|
30
|
+
return this.field.templateOptions?.label;
|
|
31
|
+
}
|
|
32
|
+
get description() {
|
|
33
|
+
return this.field.templateOptions?.description;
|
|
34
|
+
}
|
|
35
|
+
get required() {
|
|
36
|
+
return this.field.templateOptions?.required;
|
|
37
|
+
}
|
|
38
|
+
get errors() {
|
|
39
|
+
return this.field.formControl?.errors;
|
|
40
|
+
}
|
|
41
|
+
get componentClass() {
|
|
42
|
+
return this.field.componentClass ?? DbxDefaultChecklistItemFieldDisplayComponent;
|
|
43
|
+
}
|
|
44
|
+
ngOnInit() {
|
|
45
|
+
this._displayContent.next(this.field.displayContentObs);
|
|
46
|
+
}
|
|
47
|
+
ngOnDestroy() {
|
|
48
|
+
this._displayContent.complete();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
DbxChecklistItemFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
52
|
+
DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"checkboxFieldKey\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon>navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n", components: [{ type: i0.forwardRef(function () { return i1.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i0.forwardRef(function () { return i2.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { type: i0.forwardRef(function () { return i3.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i0.forwardRef(function () { return i4.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i0.forwardRef(function () { return i6.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
|
|
53
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
54
|
+
type: Component,
|
|
55
|
+
args: [{ template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"checkboxFieldKey\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon>navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n" }]
|
|
56
|
+
}] });
|
|
57
|
+
export class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
58
|
+
constructor(checklistItemFieldComponent, resolver, ngZone) {
|
|
59
|
+
super();
|
|
60
|
+
this.checklistItemFieldComponent = checklistItemFieldComponent;
|
|
61
|
+
this.resolver = resolver;
|
|
62
|
+
this.ngZone = ngZone;
|
|
63
|
+
this.displayContent$ = this.checklistItemFieldComponent.displayContent$;
|
|
64
|
+
this.isLoading$ = this.checklistItemFieldComponent.displayContent$;
|
|
65
|
+
}
|
|
66
|
+
ngOnInit() {
|
|
67
|
+
this.contentRef.clear();
|
|
68
|
+
const componentClass = this.checklistItemFieldComponent.componentClass;
|
|
69
|
+
const componentRef = this.contentRef.createComponent(componentClass);
|
|
70
|
+
this.sub = this.checklistItemFieldComponent.displayContent$.subscribe((x) => {
|
|
71
|
+
this.ngZone.run(() => componentRef.instance.displayContent = x);
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
DbxChecklistItemContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxChecklistItemContentComponent, deps: [{ token: DbxChecklistItemFieldComponent }, { token: i0.ComponentFactoryResolver }, { token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
DbxChecklistItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", viewQueries: [{ propertyName: "contentRef", first: true, predicate: ["content"], descendants: true, read: ViewContainerRef, static: true }], usesInheritance: true, ngImport: i0, template: `
|
|
77
|
+
<ng-template #content></ng-template>
|
|
78
|
+
`, isInline: true });
|
|
79
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxChecklistItemContentComponent, decorators: [{
|
|
80
|
+
type: Component,
|
|
81
|
+
args: [{
|
|
82
|
+
selector: 'dbx-checklist-item-content-component',
|
|
83
|
+
template: `
|
|
84
|
+
<ng-template #content></ng-template>
|
|
85
|
+
`
|
|
86
|
+
}]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: DbxChecklistItemFieldComponent }, { type: i0.ComponentFactoryResolver }, { type: i0.NgZone }]; }, propDecorators: { contentRef: [{
|
|
88
|
+
type: ViewChild,
|
|
89
|
+
args: ['content', { static: true, read: ViewContainerRef }]
|
|
90
|
+
}] } });
|
|
91
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2tsaXN0Lml0ZW0uZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvY2hlY2tsaXN0L2NoZWNrbGlzdC5pdGVtLmZpZWxkLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL2NoZWNrbGlzdC9jaGVja2xpc3QuaXRlbS5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDL0QsT0FBTyxFQUFFLFdBQVcsRUFBRSxvQkFBb0IsRUFBYSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNuRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3ZDLE9BQU8sRUFDTCxTQUFTLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxFQUEyQixTQUFTLEVBQUUsZ0JBQWdCLEVBQ2xHLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxTQUFTLEVBQXFCLE1BQU0sa0JBQWtCLENBQUM7QUFFaEUsT0FBTyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFDaEgsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7Ozs7O0FBbUJsRSxNQUFNLE9BQU8sOEJBQXdDLFNBQVEsU0FBNEM7SUFIekc7O1FBS1Usb0JBQWUsR0FBRyxJQUFJLGVBQWUsQ0FBZ0QsU0FBUyxDQUFDLENBQUM7UUFFL0Ysb0JBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FDbEQsaUJBQWlCLEVBQUUsRUFDbkIsb0JBQW9CLEVBQUUsRUFDdEIsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNm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LGtCQVNILDhCQUE4QjtpSEFUM0QsZ0NBQWdDLDhKQUtDLGdCQUFnQixrRUFUbEQ7O0dBRVQ7MkZBRVUsZ0NBQWdDO2tCQU41QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQ0FBc0M7b0JBQ2hELFFBQVEsRUFBRTs7R0FFVDtpQkFDRjswREFVeUMsOEJBQThCLHNGQUh0RSxVQUFVO3NCQURULFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSwgc3dpdGNoTWFwTWF5YmVPYnMgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgc3dpdGNoTWFwLCBtYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCwgQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLCBOZ1pvbmUsIE9uRGVzdHJveSwgT25Jbml0LCBUeXBlLCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWZcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBWYWxpZGF0aW9uRXJyb3JzLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBGaWVsZFR5cGUsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBDaGVja2xpc3RJdGVtRmllbGREaXNwbGF5Q29tcG9uZW50LCBDaGVja2xpc3RJdGVtRmllbGREaXNwbGF5Q29udGVudE9icyB9IGZyb20gJy4vY2hlY2tsaXN0Lml0ZW0nO1xuaW1wb3J0IHsgRGJ4RGVmYXVsdENoZWNrbGlzdEl0ZW1GaWVsZERpc3BsYXlDb21wb25lbnQgfSBmcm9tICcuL2NoZWNrbGlzdC5pdGVtLmZpZWxkLmNvbnRlbnQuZGVmYXVsdC5jb21wb25lbnQnO1xuaW1wb3J0IHsgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieENoZWNrbGlzdEl0ZW1GaWVsZENvbmZpZzxUID0gYW55PiB7XG4gIC8qKlxuICAgKiBPYnNlcnZhYmxlIHVzZWQgdG8gcmV0cmlldmUgY29udGVudCB0byBkaXNwbGF5IGZvciB0aGUgaXRlbS5cbiAgICovXG4gIGRpc3BsYXlDb250ZW50T2JzOiBDaGVja2xpc3RJdGVtRmllbGREaXNwbGF5Q29udGVudE9iczxUPjtcbiAgLyoqXG4gICAqIEN1c3RvbSBjb21wb25lbnQgY2xhc3MgdG8gdXNlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBjb21wb25lbnRDbGFzcz86IFR5cGU8Q2hlY2tsaXN0SXRlbUZpZWxkRGlzcGxheUNvbXBvbmVudDxUPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tsaXN0SXRlbUZvcm1seUZpZWxkQ29uZmlnPFQgPSBhbnk+IGV4dGVuZHMgRGJ4Q2hlY2tsaXN0SXRlbUZpZWxkQ29uZmlnPFQ+LCBGb3JtbHlGaWVsZENvbmZpZyB7IH1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnY2hlY2tsaXN0Lml0ZW0uZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieENoZWNrbGlzdEl0ZW1GaWVsZENvbXBvbmVudDxUID0gYW55PiBleHRlbmRzIEZpZWxkVHlwZTxDaGVja2xpc3RJdGVtRm9ybWx5RmllbGRDb25maWc8VD4+IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gIHByaXZhdGUgX2Rpc3BsYXlDb250ZW50ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxDaGVja2xpc3RJdGVtRmllbGREaXNwbGF5Q29udGVudE9iczxUPj4+KHVuZGVmaW5lZCk7XG5cbiAgcmVhZG9ubHkgZGlzcGxheUNvbnRlbnQkID0gdGhpcy5fZGlzcGxheUNvbnRlbnQucGlwZShcbiAgICBzd2l0Y2hNYXBNYXliZU9icygpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBhbmNob3IkID0gdGhpcy5kaXNwbGF5Q29udGVudCQucGlwZShcbiAgICBtYXAoeCA9PiB4LmFuY2hvciksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSByaXBwbGVEaXNhYmxlZCQgPSB0aGlzLmRpc3BsYXlDb250ZW50JC5waXBlKFxuICAgIG1hcCh4ID0+IHgucmlwcGxlID09PSBmYWxzZSB8fCAoeC5yaXBwbGUgIT09IHRydWUgJiYgIXguYW5jaG9yKSksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBjaGVja2JveEZpZWxkS2V5KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsO1xuICB9XG5cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucz8uZGVzY3JpcHRpb247XG4gIH1cblxuICBnZXQgcmVxdWlyZWQoKTogTWF5YmU8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucz8ucmVxdWlyZWQ7XG4gIH1cblxuICBnZXQgZXJyb3JzKCk6IE1heWJlPFZhbGlkYXRpb25FcnJvcnM+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC5mb3JtQ29udHJvbD8uZXJyb3JzO1xuICB9XG5cbiAgZ2V0IGNvbXBvbmVudENsYXNzKCk6IFR5cGU8Q2hlY2tsaXN0SXRlbUZpZWxkRGlzcGxheUNvbXBvbmVudDxUPj4ge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLmNvbXBvbmVudENsYXNzID8/IERieERlZmF1bHRDaGVja2xpc3RJdGVtRmllbGREaXNwbGF5Q29tcG9uZW50O1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5fZGlzcGxheUNvbnRlbnQubmV4dCh0aGlzLmZpZWxkLmRpc3BsYXlDb250ZW50T2JzKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuX2Rpc3BsYXlDb250ZW50LmNvbXBsZXRlKCk7XG4gIH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtY2hlY2tsaXN0LWl0ZW0tY29udGVudC1jb21wb25lbnQnLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD48L25nLXRlbXBsYXRlPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieENoZWNrbGlzdEl0ZW1Db250ZW50Q29tcG9uZW50PFQgPSBhbnk+IGV4dGVuZHMgQWJzdHJhY3RTdWJzY3JpcHRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHJlYWRvbmx5IGRpc3BsYXlDb250ZW50JCA9IHRoaXMuY2hlY2tsaXN0SXRlbUZpZWxkQ29tcG9uZW50LmRpc3BsYXlDb250ZW50JDtcbiAgcmVhZG9ubHkgaXNMb2FkaW5nJCA9IHRoaXMuY2hlY2tsaXN0SXRlbUZpZWxkQ29tcG9uZW50LmRpc3BsYXlDb250ZW50JFxuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICBjb250ZW50UmVmITogVmlld0NvbnRhaW5lclJlZjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICByZWFkb25seSBjaGVja2xpc3RJdGVtRmllbGRDb21wb25lbnQ6IERieENoZWNrbGlzdEl0ZW1GaWVsZENvbXBvbmVudDxUPixcbiAgICByZWFkb25seSByZXNvbHZlcjogQ29tcG9uZW50RmFjdG9yeVJlc29sdmVyLFxuICAgIHJlYWRvbmx5IG5nWm9uZTogTmdab25lXG4gICkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRSZWYuY2xlYXIoKTtcbiAgICBjb25zdCBjb21wb25lbnRDbGFzcyA9IHRoaXMuY2hlY2tsaXN0SXRlbUZpZWxkQ29tcG9uZW50LmNvbXBvbmVudENsYXNzO1xuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMuY29udGVudFJlZi5jcmVhdGVDb21wb25lbnQoY29tcG9uZW50Q2xhc3MpO1xuXG4gICAgdGhpcy5zdWIgPSB0aGlzLmNoZWNrbGlzdEl0ZW1GaWVsZENvbXBvbmVudC5kaXNwbGF5Q29udGVudCQuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4gY29tcG9uZW50UmVmLmluc3RhbmNlLmRpc3BsYXlDb250ZW50ID0geCk7XG4gICAgfSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1jaGVja2xpc3QtaXRlbS13cmFwcGVyXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgPGRpdiAqbmdJZj1cImxhYmVsXCIgY2xhc3M9XCJkYngtY2hlY2tsaXN0LWl0ZW0tbGFiZWxcIj57eyBsYWJlbCB9fTwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGJ4LWNoZWNrbGlzdC1pdGVtXCI+XG4gICAgPGRpdiBjbGFzcz1cImRieC1jaGVja2xpc3QtaXRlbS1jaGVja1wiPlxuICAgICAgPG1hdC1jaGVja2JveCBbZm9ybUNvbnRyb2xOYW1lXT1cImNoZWNrYm94RmllbGRLZXlcIj48L21hdC1jaGVja2JveD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWNoZWNrbGlzdC1pdGVtLWNvbnRlbnQtd3JhcHBlclwiPlxuICAgICAgPGRieC1hbmNob3IgW2Jsb2NrXT1cInRydWVcIiBbYW5jaG9yXT1cImFuY2hvciQgfCBhc3luY1wiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiZGJ4LWNoZWNrbGlzdC1pdGVtLWNvbnRlbnRcIiBtYXRSaXBwbGUgW21hdFJpcHBsZURpc2FibGVkXT1cIihyaXBwbGVEaXNhYmxlZCQgfCBhc3luYykgPz8gZmFsc2VcIj5cbiAgICAgICAgICA8ZGJ4LWNoZWNrbGlzdC1pdGVtLWNvbnRlbnQtY29tcG9uZW50PjwvZGJ4LWNoZWNrbGlzdC1pdGVtLWNvbnRlbnQtY29tcG9uZW50PlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3BhY2VyXCI+PC9zcGFuPlxuICAgICAgICAgIDxtYXQtaWNvbj5uYXZpZ2F0ZV9uZXh0PC9tYXQtaWNvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2RieC1hbmNob3I+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuICA8ZGl2ICpuZ0lmPVwiZGVzY3JpcHRpb25cIiBjbGFzcz1cImRieC1oaW50XCI+e3sgZGVzY3JpcHRpb24gfX08L2Rpdj5cbjwvZGl2PlxuIl19
|