@dereekb/dbx-form 0.0.1 → 1.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/{src/_index.scss → _index.scss} +8 -0
- package/esm2020/lib/form/action/form.action.directive.mjs +42 -40
- package/esm2020/lib/form/action/form.action.module.mjs +6 -6
- package/esm2020/lib/form/action/index.mjs +2 -1
- package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +26 -0
- package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +40 -0
- package/esm2020/lib/form/action/transition/index.mjs +3 -0
- package/esm2020/lib/form/form.mjs +11 -4
- package/esm2020/lib/form/form.module.mjs +13 -24
- package/esm2020/lib/form/index.mjs +2 -4
- package/esm2020/lib/form/io/form.changes.directive.mjs +34 -0
- package/esm2020/lib/form/io/form.input.directive.mjs +49 -0
- package/esm2020/lib/form/io/form.io.module.mjs +36 -0
- package/esm2020/lib/form/io/form.loading.directive.mjs +52 -0
- package/esm2020/lib/form/io/index.mjs +5 -0
- package/esm2020/lib/form.module.mjs +25 -0
- package/esm2020/lib/formly/config/index.mjs +2 -0
- package/esm2020/lib/formly/config/validation.mjs +22 -0
- package/esm2020/lib/formly/field/checklist/checklist.field.mjs +105 -0
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +28 -30
- package/esm2020/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.item.field.mjs +8 -112
- package/esm2020/lib/formly/field/checklist/index.mjs +2 -1
- package/esm2020/lib/formly/field/component/component.field.component.mjs +7 -7
- package/esm2020/lib/formly/field/component/component.field.mjs +4 -2
- package/esm2020/lib/formly/field/field.mjs +35 -2
- package/esm2020/lib/formly/field/form.field.module.mjs +44 -0
- package/esm2020/lib/formly/field/index.mjs +3 -1
- package/esm2020/lib/formly/field/selection/index.mjs +2 -1
- package/esm2020/lib/formly/field/selection/pickable/index.mjs +2 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +14 -12
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +40 -31
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +39 -0
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +22 -13
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +75 -16
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +32 -15
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +64 -50
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +69 -53
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +30 -7
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +8 -10
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +35 -11
- package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.module.mjs +28 -0
- package/esm2020/lib/formly/field/texteditor/index.mjs +4 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +90 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +20 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +59 -0
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +87 -51
- package/esm2020/lib/formly/field/value/array/array.field.mjs +20 -0
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +25 -7
- package/esm2020/lib/formly/field/value/array/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +11 -20
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +9 -6
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +74 -44
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +36 -0
- package/esm2020/lib/formly/field/value/date/index.mjs +2 -2
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +16 -0
- package/esm2020/lib/formly/field/value/enum/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +13 -33
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +50 -52
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +15 -7
- package/esm2020/lib/formly/field/value/text/index.mjs +2 -1
- package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +81 -0
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +16 -23
- package/esm2020/lib/formly/field/value/text/text.field.mjs +11 -110
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +9 -4
- package/esm2020/lib/formly/field/value/value.module.mjs +44 -0
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +12 -56
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +58 -0
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +18 -8
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +43 -30
- package/esm2020/lib/formly/field/wrapper/index.mjs +3 -3
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +16 -16
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +17 -23
- package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +43 -0
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +17 -23
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +16 -20
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +81 -0
- package/esm2020/lib/formly/formly.context.directive.mjs +38 -0
- package/esm2020/lib/formly/formly.context.mjs +45 -70
- package/esm2020/lib/formly/formly.directive.mjs +9 -6
- package/esm2020/lib/formly/formly.form.component.mjs +127 -0
- package/esm2020/lib/formly/formly.module.mjs +11 -12
- package/esm2020/lib/formly/index.mjs +4 -2
- package/esm2020/lib/index.mjs +2 -1
- package/fesm2015/dereekb-dbx-form.mjs +1603 -898
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +1650 -880
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/{src/lib → lib}/form/_form.scss +0 -0
- package/lib/form/action/form.action.directive.d.ts +3 -3
- package/lib/form/action/form.action.module.d.ts +4 -4
- package/lib/form/action/index.d.ts +1 -0
- package/lib/form/action/transition/form.action.transition.module.d.ts +8 -0
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +20 -0
- package/lib/form/action/transition/index.d.ts +2 -0
- package/lib/form/form.d.ts +30 -19
- package/lib/form/form.module.d.ts +4 -5
- package/lib/form/index.d.ts +1 -3
- package/lib/form/{form.changes.directive.d.ts → io/form.changes.directive.d.ts} +1 -1
- package/lib/form/{form.input.directive.d.ts → io/form.input.directive.d.ts} +3 -3
- package/lib/form/io/form.io.module.d.ts +10 -0
- package/lib/form/io/form.loading.directive.d.ts +19 -0
- package/lib/form/io/index.d.ts +4 -0
- package/lib/form.module.d.ts +9 -0
- package/{src/lib → lib}/formly/_formly.scss +0 -0
- package/lib/formly/config/index.d.ts +1 -0
- package/lib/formly/config/validation.d.ts +19 -0
- package/{src/lib → lib}/formly/field/_field.scss +0 -0
- package/lib/formly/field/checklist/_checklist.scss +76 -0
- package/lib/formly/field/checklist/checklist.field.d.ts +45 -0
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +13 -12
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +1 -1
- package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -47
- package/lib/formly/field/checklist/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/component/_component.scss +0 -0
- package/lib/formly/field/component/component.field.component.d.ts +6 -2
- package/lib/formly/field/field.d.ts +17 -3
- package/{src/lib → lib}/formly/field/fields_TODO.scss +0 -0
- package/lib/formly/field/form.field.module.d.ts +13 -0
- package/lib/formly/field/index.d.ts +2 -0
- package/{src/lib → lib}/formly/field/selection/_selection.scss +0 -0
- package/lib/formly/field/selection/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/selection/pickable/_pickable.scss +10 -1
- package/lib/formly/field/selection/pickable/index.d.ts +1 -0
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +13 -0
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +17 -13
- 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 +27 -3
- package/lib/formly/field/selection/searchable/_searchable.scss +59 -0
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +7 -1
- package/lib/formly/field/selection/searchable/searchable.d.ts +6 -8
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +20 -14
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +20 -11
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +33 -24
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +11 -1
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +2 -2
- package/lib/formly/field/selection/selection.d.ts +1 -0
- package/lib/formly/field/selection/selection.module.d.ts +9 -0
- package/lib/formly/field/texteditor/_texteditor.scss +98 -0
- package/lib/formly/field/texteditor/index.d.ts +3 -0
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +26 -0
- package/lib/formly/field/texteditor/texteditor.field.d.ts +7 -0
- package/lib/formly/field/texteditor/texteditor.field.module.d.ts +14 -0
- package/{src/lib → lib}/formly/field/value/_value.scss +0 -0
- package/lib/formly/field/value/array/_array.scss +73 -0
- package/lib/formly/field/value/array/array.field.component.d.ts +22 -11
- package/lib/formly/field/value/array/array.field.d.ts +9 -0
- package/lib/formly/field/value/array/array.field.module.d.ts +6 -3
- package/lib/formly/field/value/array/index.d.ts +1 -0
- package/{src/lib → lib}/formly/field/value/boolean/_boolean.scss +0 -0
- package/lib/formly/field/value/boolean/boolean.field.d.ts +5 -5
- package/lib/formly/field/value/date/_date.scss +79 -0
- package/lib/formly/field/value/date/date.field.module.d.ts +2 -1
- package/lib/formly/field/value/date/datetime.field.component.d.ts +16 -13
- package/lib/formly/field/value/date/datetime.field.d.ts +14 -0
- package/lib/formly/field/value/date/index.d.ts +1 -1
- package/{src/lib → lib}/formly/field/value/enum/_enum.scss +0 -0
- package/lib/formly/field/value/enum/enum.field.d.ts +2 -2
- package/lib/formly/field/value/enum/enum.field.module.d.ts +6 -0
- package/lib/formly/field/value/enum/index.d.ts +1 -0
- package/lib/formly/field/value/hidden.field.d.ts +2 -2
- package/lib/formly/field/value/index.d.ts +1 -0
- package/lib/formly/field/value/phone/_phone.scss +55 -0
- package/lib/formly/field/value/phone/phone.field.component.d.ts +8 -14
- package/lib/formly/field/value/phone/phone.field.d.ts +20 -18
- package/lib/formly/field/value/phone/phone.field.module.d.ts +10 -8
- package/{src/lib → lib}/formly/field/value/text/_text.scss +0 -0
- package/lib/formly/field/value/text/index.d.ts +1 -0
- package/lib/formly/field/value/text/text.additional.field.d.ts +19 -0
- package/lib/formly/field/value/text/text.address.field.d.ts +8 -9
- package/lib/formly/field/value/text/text.field.d.ts +5 -33
- package/lib/formly/field/value/text/text.field.module.d.ts +3 -2
- package/lib/formly/field/value/value.module.d.ts +13 -0
- package/{src/lib → lib}/formly/field/wrapper/_wrapper.scss +15 -2
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +8 -37
- package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +36 -0
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +19 -4
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +10 -8
- package/lib/formly/field/wrapper/index.d.ts +2 -2
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +9 -9
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +16 -5
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +22 -0
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +16 -5
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +6 -14
- package/lib/formly/field/wrapper/wrapper.d.ts +34 -0
- package/{src/lib → lib}/formly/form_TODO.scss +0 -0
- package/lib/formly/formly.context.d.ts +14 -22
- package/lib/formly/formly.context.directive.d.ts +17 -0
- package/lib/formly/formly.directive.d.ts +7 -3
- package/lib/formly/formly.form.component.d.ts +35 -0
- package/lib/formly/formly.module.d.ts +7 -6
- package/lib/formly/index.d.ts +3 -1
- package/lib/index.d.ts +1 -0
- package/{src/lib → lib}/layout/_layout.scss +0 -0
- package/{src/lib → lib}/style/_all-core.scss +0 -0
- package/{src/lib → lib}/style/_all-theme.scss +0 -0
- package/{src/lib → lib}/style/_all-typography.scss +0 -0
- package/{src/lib → lib}/style/_config.scss +0 -0
- package/{src/lib → lib}/style/_core.scss +0 -0
- package/{src/lib → lib}/style/_mixin.scss +0 -0
- package/{src/lib → lib}/style/_theming.scss +0 -0
- package/{src/lib → lib}/style/_variables.scss +0 -0
- package/package.json +14 -14
- package/esm2020/lib/form/form.changes.directive.mjs +0 -33
- package/esm2020/lib/form/form.input.directive.mjs +0 -49
- package/esm2020/lib/form/loading/form.loading.directive.mjs +0 -52
- package/esm2020/lib/form/loading/index.mjs +0 -2
- package/esm2020/lib/formly/field/value/date/date.field.mjs +0 -36
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.layout.mjs +0 -20
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.mjs +0 -10
- package/esm2020/lib/formly/formly.component.mjs +0 -134
- package/lib/form/loading/form.loading.directive.d.ts +0 -19
- package/lib/form/loading/index.d.ts +0 -1
- package/lib/formly/field/value/date/date.field.d.ts +0 -13
- package/lib/formly/field/wrapper/flex.wrapper.layout.d.ts +0 -10
- package/lib/formly/field/wrapper/toggle.wrapper.d.ts +0 -7
- package/lib/formly/formly.component.d.ts +0 -36
- package/src/lib/formly/field/checklist/_checklist.scss +0 -26
- package/src/lib/formly/field/checklist/checklist.item_TODO.scss +0 -57
- package/src/lib/formly/field/selection/generic_TODO.scss +0 -36
- package/src/lib/formly/field/selection/searchable/_searchable.scss +0 -26
- package/src/lib/formly/field/texteditor/_texteditor.scss +0 -26
- package/src/lib/formly/field/texteditor/texteditor_TODO.scss +0 -32
- package/src/lib/formly/field/value/array/_array.scss +0 -26
- package/src/lib/formly/field/value/date/_date.scss +0 -26
- package/src/lib/formly/field/value/date/date_TODO.scss +0 -27
- package/src/lib/formly/field/value/phone/_phone.scss +0 -26
- package/src/lib/formly/field/value/phone/phone_TODO.scss +0 -10
- package/src/lib/formly/field/wrapper/wrapper_TODO.scss +0 -34
|
@@ -1,30 +1,89 @@
|
|
|
1
1
|
import { Component } from "@angular/core";
|
|
2
|
+
import { DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListWrapperDirective, ProvideDbxListView, AbstractSelectionValueListViewDirective, AbstractDbxSelectionValueListViewItemComponent, mapItemValuesToValueListItemConfig } from "@dereekb/dbx-web";
|
|
3
|
+
import { map, shareReplay } from "rxjs";
|
|
2
4
|
import { AbstractDbxPickableItemFieldDirective } from "./pickable.field.directive";
|
|
3
5
|
import * as i0 from "@angular/core";
|
|
4
6
|
import * as i1 from "@dereekb/dbx-web";
|
|
5
|
-
import * as i2 from "@
|
|
6
|
-
import * as i3 from "@
|
|
7
|
-
import * as i4 from "@angular/
|
|
8
|
-
import * as i5 from "@angular/
|
|
9
|
-
import * as i6 from "@angular/
|
|
10
|
-
import * as i7 from "@angular/forms";
|
|
7
|
+
import * as i2 from "@dereekb/dbx-core";
|
|
8
|
+
import * as i3 from "@angular/material/divider";
|
|
9
|
+
import * as i4 from "@angular/common";
|
|
10
|
+
import * as i5 from "@angular/material/input";
|
|
11
|
+
import * as i6 from "@angular/forms";
|
|
11
12
|
/**
|
|
12
13
|
* Used for picking pre-set values using a selection list as the presentation.
|
|
13
14
|
*/
|
|
14
15
|
export class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
15
|
-
|
|
16
|
-
const
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
return ({ item: value, selected, disabled });
|
|
20
|
-
});
|
|
21
|
-
this.setValues(items.map(x => x.item.display.value));
|
|
16
|
+
onSelectionChange(event) {
|
|
17
|
+
const items = event.items;
|
|
18
|
+
const values = items.map(x => x.value.value);
|
|
19
|
+
this.setValues(values);
|
|
22
20
|
}
|
|
23
21
|
}
|
|
24
22
|
DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
-
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <div class=\"dbx-
|
|
23
|
+
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxPickableListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injected-content [config]=\"footerConfig\"></dbx-injected-content>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n", components: [{ type: i0.forwardRef(function () { return i1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { type: i0.forwardRef(function () { return i2.DbxInjectedComponent; }), selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i3.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i4.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i5.MatInput; }), selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i0.forwardRef(function () { return i6.DefaultValueAccessor; }), selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i0.forwardRef(function () { return i6.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i6.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i4.AsyncPipe; }) } });
|
|
26
24
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
27
25
|
type: Component,
|
|
28
|
-
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <div class=\"dbx-
|
|
26
|
+
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-list\">\n <div class=\"dbx-pickable-item-field-list-content\">\n <dbx-form-pickable-item-field-item-list [disabled]=\"isReadonlyOrDisabled\" [state$]=\"filterItemsLoadingState$\"\n (selectionChange)=\"onSelectionChange($event)\">\n </dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injected-content [config]=\"footerConfig\"></dbx-injected-content>\n </div>\n </dbx-loading>\n</div>\n\n<!-- Filter Input -->\n<ng-template #filterTemplate>\n <div class=\"dbx-pickable-item-field-filter\">\n <div class=\"dbx-label\">{{ filterLabel }}</div>\n <input [name]=\"name\" autocomplete=\"{{ autocomplete }}\" #filterMatInput=\"matInput\" matInput\n [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\">\n <mat-divider></mat-divider>\n <dbx-loading [linear]=\"true\" [context]=\"filterResultsContext\"></dbx-loading>\n <!-- No items found. -->\n <p *ngIf=\"noItemsAvailable$ | async\" class=\"dbx-label\">No items match this filter.</p>\n </div>\n</ng-template>\n" }]
|
|
27
|
+
}] });
|
|
28
|
+
// MARK: Selection List
|
|
29
|
+
export class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
30
|
+
constructor() {
|
|
31
|
+
super({
|
|
32
|
+
componentClass: DbxPickableListFieldItemListViewComponent
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
DbxPickableListFieldItemListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
37
|
+
DbxPickableListFieldItemListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxPickableListFieldItemListComponent, selector: "dbx-form-pickable-item-field-item-list", usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n</dbx-list>\n", isInline: true, components: [{ type: i1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled"], outputs: ["contentScrolled"] }], pipes: { "async": i4.AsyncPipe } });
|
|
38
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
|
|
39
|
+
type: Component,
|
|
40
|
+
args: [{
|
|
41
|
+
selector: 'dbx-form-pickable-item-field-item-list',
|
|
42
|
+
template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE
|
|
43
|
+
}]
|
|
44
|
+
}], ctorParameters: function () { return []; } });
|
|
45
|
+
/**
|
|
46
|
+
* NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
|
|
47
|
+
*/
|
|
48
|
+
export class DbxPickableListFieldItemListViewComponent extends AbstractSelectionValueListViewDirective {
|
|
49
|
+
constructor(dbxPickableListFieldComponent) {
|
|
50
|
+
super();
|
|
51
|
+
this.dbxPickableListFieldComponent = dbxPickableListFieldComponent;
|
|
52
|
+
this.config = {
|
|
53
|
+
componentClass: DbxPickableListFieldItemListViewItemComponent
|
|
54
|
+
};
|
|
55
|
+
this.items$ = this.values$.pipe(
|
|
56
|
+
// NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
|
|
57
|
+
map(x => mapItemValuesToValueListItemConfig(this.config, x)), shareReplay(1));
|
|
58
|
+
}
|
|
59
|
+
get multiple() {
|
|
60
|
+
return this.dbxPickableListFieldComponent.multiSelect;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
|
+
DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `<dbx-selection-list-view-content [multiple]="multiple" [items]="items$ | async"></dbx-selection-list-view-content>`, isInline: true, components: [{ type: i1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "items"] }], pipes: { "async": i4.AsyncPipe } });
|
|
65
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
66
|
+
type: Component,
|
|
67
|
+
args: [{
|
|
68
|
+
template: `<dbx-selection-list-view-content [multiple]="multiple" [items]="items$ | async"></dbx-selection-list-view-content>`,
|
|
69
|
+
providers: ProvideDbxListView(DbxPickableListFieldItemListViewComponent)
|
|
70
|
+
}]
|
|
71
|
+
}], ctorParameters: function () { return [{ type: DbxPickableListFieldComponent }]; } });
|
|
72
|
+
export class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxSelectionValueListViewItemComponent {
|
|
73
|
+
get label() {
|
|
74
|
+
return this.value.label;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
DbxPickableListFieldItemListViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
78
|
+
DbxPickableListFieldItemListViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxPickableListFieldItemListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
79
|
+
<p>{{ label }}</p>
|
|
80
|
+
`, isInline: true });
|
|
81
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
|
|
82
|
+
type: Component,
|
|
83
|
+
args: [{
|
|
84
|
+
template: `
|
|
85
|
+
<p>{{ label }}</p>
|
|
86
|
+
`
|
|
87
|
+
}]
|
|
29
88
|
}] });
|
|
30
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vcGlja2FibGUvcGlja2FibGUubGlzdC5maWVsZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSx3Q0FBd0MsRUFBRSxrQkFBa0IsRUFBRSx1Q0FBdUMsRUFBRSw4Q0FBOEMsRUFBc0Isa0NBQWtDLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUMxUixPQUFPLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV4QyxPQUFPLEVBQUUscUNBQXFDLEVBQXlCLE1BQU0sNEJBQTRCLENBQUM7Ozs7Ozs7O0FBRTFHOztHQUVHO0FBSUgsTUFBTSxPQUFPLDZCQUFpQyxTQUFRLHFDQUF3QztJQUU1RixpQkFBaUIsQ0FBQyxLQUFjO1FBQzlCLE1BQU0sS0FBSyxHQUFJLEtBQStELENBQUMsS0FBSyxDQUFDO1FBQ3JGLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzdDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDekIsQ0FBQzs7MEhBTlUsNkJBQTZCOzhHQUE3Qiw2QkFBNkIsMkVDYjFDLHV5Q0E2QkEsNFBERGEscUNBQXFDOzJGQWZyQyw2QkFBNkI7a0JBSHpDLFNBQVM7OztBQWFWLHVCQUF1QjtBQUt2QixNQUFNLE9BQU8scUNBQXlDLFNBQVEsd0NBQWtFO0lBRTlIO1FBQ0UsS0FBSyxDQUFDO1lBQ0osY0FBYyxFQUFFLHlDQUF5QztTQUMxRCxDQUFDLENBQUM7SUFDTCxDQUFDOztrSUFOVSxxQ0FBcUM7c0hBQXJDLHFDQUFxQzsyRkFBckMscUNBQXFDO2tCQUpqRCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRSx1Q0FBdUM7aUJBQ2xEOztBQVdEOztHQUVHO0FBS0gsTUFBTSxPQUFPLHlDQUE2QyxTQUFRLHVDQUFpRTtJQWdCakksWUFBcUIsNkJBQStEO1FBQ2xGLEtBQUssRUFBRSxDQUFDO1FBRFcsa0NBQTZCLEdBQTdCLDZCQUE2QixDQUFrQztRQWQzRSxXQUFNLEdBQStCO1lBQzVDLGNBQWMsRUFBRSw2Q0FBNkM7U0FDOUQsQ0FBQztRQU1PLFdBQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakMsbUtBQW1LO1FBQ25LLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLGtDQUFrQyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFDNUQsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQUM7SUFJRixDQUFDO0lBWkQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsNkJBQTZCLENBQUMsV0FBVyxDQUFDO0lBQ3hELENBQUM7O3NJQVJVLHlDQUF5QyxrQkFnQkEsNkJBQTZCOzBIQWhCdEUseUNBQXlDLHVDQUZ6QyxrQkFBa0IsQ0FBQyx5Q0FBeUMsQ0FBQyxpREFEOUQsb0hBQW9IOzJGQUduSCx5Q0FBeUM7a0JBSnJELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLG9IQUFvSDtvQkFDOUgsU0FBUyxFQUFFLGtCQUFrQiwyQ0FBMkM7aUJBQ3pFOzBEQWlCcUQsNkJBQTZCO0FBV25GLE1BQU0sT0FBTyw2Q0FBaUQsU0FBUSw4Q0FBaUY7SUFFckosSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQztJQUMxQixDQUFDOzswSUFKVSw2Q0FBNkM7OEhBQTdDLDZDQUE2QywyRUFKOUM7O0dBRVQ7MkZBRVUsNkNBQTZDO2tCQUx6RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRTs7R0FFVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZyB9IGZyb20gXCJAZGVyZWVrYi9kYngtY29yZVwiO1xuaW1wb3J0IHsgREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFLCBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlLCBQcm92aWRlRGJ4TGlzdFZpZXcsIEFic3RyYWN0U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0RpcmVjdGl2ZSwgQWJzdHJhY3REYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudCwgTGlzdFNlbGVjdGlvblN0YXRlLCBtYXBJdGVtVmFsdWVzVG9WYWx1ZUxpc3RJdGVtQ29uZmlnIH0gZnJvbSBcIkBkZXJlZWtiL2RieC13ZWJcIjtcbmltcG9ydCB7IG1hcCwgc2hhcmVSZXBsYXkgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSBcIi4vcGlja2FibGVcIjtcbmltcG9ydCB7IEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmUsIFBpY2thYmxlSXRlbUZpZWxkSXRlbSB9IGZyb20gXCIuL3BpY2thYmxlLmZpZWxkLmRpcmVjdGl2ZVwiO1xuXG4vKipcbiAqIFVzZWQgZm9yIHBpY2tpbmcgcHJlLXNldCB2YWx1ZXMgdXNpbmcgYSBzZWxlY3Rpb24gbGlzdCBhcyB0aGUgcHJlc2VudGF0aW9uLlxuICovXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdwaWNrYWJsZS5saXN0LmZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0RGJ4UGlja2FibGVJdGVtRmllbGREaXJlY3RpdmU8VD4ge1xuXG4gIG9uU2VsZWN0aW9uQ2hhbmdlKGV2ZW50OiB1bmtub3duKSB7XG4gICAgY29uc3QgaXRlbXMgPSAoZXZlbnQgYXMgTGlzdFNlbGVjdGlvblN0YXRlPFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4pLml0ZW1zO1xuICAgIGNvbnN0IHZhbHVlcyA9IGl0ZW1zLm1hcCh4ID0+IHgudmFsdWUudmFsdWUpO1xuICAgIHRoaXMuc2V0VmFsdWVzKHZhbHVlcyk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBTZWxlY3Rpb24gTGlzdFxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LWZvcm0tcGlja2FibGUtaXRlbS1maWVsZC1pdGVtLWxpc3QnLFxuICB0ZW1wbGF0ZTogREVGQVVMVF9MSVNUX1dSQVBQRVJfRElSRUNUSVZFX1RFTVBMQVRFXG59KVxuZXhwb3J0IGNsYXNzIERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlbGVjdGlvbkxpc3RXcmFwcGVyRGlyZWN0aXZlPFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPj4ge1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKHtcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudFxuICAgIH0pO1xuICB9XG5cbn1cblxuLyoqXG4gKiBOT1RFOiBWYWx1ZXMgaW5wdXQgYXJlIFBpY2thYmxlSXRlbUZpZWxkSXRlbTxUPiwgYnV0IG91dHB1dCB2YWx1ZXMgYXJlIFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPi5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgPGRieC1zZWxlY3Rpb24tbGlzdC12aWV3LWNvbnRlbnQgW211bHRpcGxlXT1cIm11bHRpcGxlXCIgW2l0ZW1zXT1cIml0ZW1zJCB8IGFzeW5jXCI+PC9kYngtc2VsZWN0aW9uLWxpc3Qtdmlldy1jb250ZW50PmAsXG4gIHByb3ZpZGVyczogUHJvdmlkZURieExpc3RWaWV3KERieFBpY2thYmxlTGlzdEZpZWxkSXRlbUxpc3RWaWV3Q29tcG9uZW50KVxufSlcbmV4cG9ydCBjbGFzcyBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0NvbXBvbmVudDxUPiBleHRlbmRzIEFic3RyYWN0U2VsZWN0aW9uVmFsdWVMaXN0Vmlld0RpcmVjdGl2ZTxQaWNrYWJsZUl0ZW1GaWVsZEl0ZW08VD4+IHtcblxuICByZWFkb25seSBjb25maWc6IERieEluamVjdGVkQ29tcG9uZW50Q29uZmlnID0ge1xuICAgIGNvbXBvbmVudENsYXNzOiBEYnhQaWNrYWJsZUxpc3RGaWVsZEl0ZW1MaXN0Vmlld0l0ZW1Db21wb25lbnRcbiAgfTtcblxuICBnZXQgbXVsdGlwbGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuZGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQubXVsdGlTZWxlY3Q7XG4gIH1cblxuICByZWFkb25seSBpdGVtcyQgPSB0aGlzLnZhbHVlcyQucGlwZShcbiAgICAvLyBOT1RFOiBUaGlzIGNhdXNlcyB0aGUgXCJ2YWx1ZVwiIHRvIGJlIGEgUGlja2FibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+LCB3aGljaCBtZWFucyB3ZSBlbWl0IFBpY2thYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPiB0byBEYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudC5cbiAgICBtYXAoeCA9PiBtYXBJdGVtVmFsdWVzVG9WYWx1ZUxpc3RJdGVtQ29uZmlnKHRoaXMuY29uZmlnLCB4KSksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICBjb25zdHJ1Y3RvcihyZWFkb25seSBkYnhQaWNrYWJsZUxpc3RGaWVsZENvbXBvbmVudDogRGJ4UGlja2FibGVMaXN0RmllbGRDb21wb25lbnQ8VD4pIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPHA+e3sgbGFiZWwgfX08L3A+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4UGlja2FibGVMaXN0RmllbGRJdGVtTGlzdFZpZXdJdGVtQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhTZWxlY3Rpb25WYWx1ZUxpc3RWaWV3SXRlbUNvbXBvbmVudDxQaWNrYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4+IHtcblxuICBnZXQgbGFiZWwoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy52YWx1ZS5sYWJlbDtcbiAgfVxuXG59XG4iLCI8ZGl2IGNsYXNzPVwiZGJ4LXBpY2thYmxlLWl0ZW0tZmllbGRcIj5cbiAgPGRieC1sb2FkaW5nIFtjb250ZXh0XT1cImNvbnRleHRcIj5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd0ZpbHRlcklucHV0XCI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiZmlsdGVyVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIENvbnRlbnQgLS0+XG4gICAgPGRpdiBjbGFzcz1cImRieC1waWNrYWJsZS1pdGVtLWZpZWxkLWxpc3RcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1saXN0LWNvbnRlbnRcIj5cbiAgICAgICAgPGRieC1mb3JtLXBpY2thYmxlLWl0ZW0tZmllbGQtaXRlbS1saXN0IFtkaXNhYmxlZF09XCJpc1JlYWRvbmx5T3JEaXNhYmxlZFwiIFtzdGF0ZSRdPVwiZmlsdGVySXRlbXNMb2FkaW5nU3RhdGUkXCJcbiAgICAgICAgICAoc2VsZWN0aW9uQ2hhbmdlKT1cIm9uU2VsZWN0aW9uQ2hhbmdlKCRldmVudClcIj5cbiAgICAgICAgPC9kYngtZm9ybS1waWNrYWJsZS1pdGVtLWZpZWxkLWl0ZW0tbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRieC1pbmplY3RlZC1jb250ZW50IFtjb25maWddPVwiZm9vdGVyQ29uZmlnXCI+PC9kYngtaW5qZWN0ZWQtY29udGVudD5cbiAgICA8L2Rpdj5cbiAgPC9kYngtbG9hZGluZz5cbjwvZGl2PlxuXG48IS0tIEZpbHRlciBJbnB1dCAtLT5cbjxuZy10ZW1wbGF0ZSAjZmlsdGVyVGVtcGxhdGU+XG4gIDxkaXYgY2xhc3M9XCJkYngtcGlja2FibGUtaXRlbS1maWVsZC1maWx0ZXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWxhYmVsXCI+e3sgZmlsdGVyTGFiZWwgfX08L2Rpdj5cbiAgICA8aW5wdXQgW25hbWVdPVwibmFtZVwiIGF1dG9jb21wbGV0ZT1cInt7IGF1dG9jb21wbGV0ZSB9fVwiICNmaWx0ZXJNYXRJbnB1dD1cIm1hdElucHV0XCIgbWF0SW5wdXRcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJpbnB1dEN0cmxcIj5cbiAgICA8bWF0LWRpdmlkZXI+PC9tYXQtZGl2aWRlcj5cbiAgICA8ZGJ4LWxvYWRpbmcgW2xpbmVhcl09XCJ0cnVlXCIgW2NvbnRleHRdPVwiZmlsdGVyUmVzdWx0c0NvbnRleHRcIj48L2RieC1sb2FkaW5nPlxuICAgIDwhLS0gTm8gaXRlbXMgZm91bmQuIC0tPlxuICAgIDxwICpuZ0lmPVwibm9JdGVtc0F2YWlsYWJsZSQgfCBhc3luY1wiIGNsYXNzPVwiZGJ4LWxhYmVsXCI+Tm8gaXRlbXMgbWF0Y2ggdGhpcyBmaWx0ZXIuPC9wPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
@@ -1,19 +1,23 @@
|
|
|
1
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
2
|
+
import { Subject } from 'rxjs';
|
|
1
3
|
import { Component } from '@angular/core';
|
|
2
4
|
import { AbstractDbxSearchableValueFieldDirective } from './searchable.field.directive';
|
|
3
5
|
import { COMMA, ENTER } from '@angular/cdk/keycodes';
|
|
6
|
+
import { skipUntilTimeElapsedAfterLastEmission } from '@dereekb/date';
|
|
4
7
|
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/material/
|
|
6
|
-
import * as i2 from "@angular/material/
|
|
7
|
-
import * as i3 from "
|
|
8
|
-
import * as i4 from "@angular/material/
|
|
9
|
-
import * as i5 from "@angular/material/
|
|
10
|
-
import * as i6 from "
|
|
11
|
-
import * as i7 from "@
|
|
12
|
-
import * as i8 from "@angular/
|
|
13
|
-
import * as i9 from "@angular/forms";
|
|
8
|
+
import * as i1 from "@angular/material/chips";
|
|
9
|
+
import * as i2 from "@angular/material/icon";
|
|
10
|
+
import * as i3 from "@dereekb/dbx-web";
|
|
11
|
+
import * as i4 from "@angular/material/autocomplete";
|
|
12
|
+
import * as i5 from "@angular/material/core";
|
|
13
|
+
import * as i6 from "./searchable.field.autocomplete.item.component";
|
|
14
|
+
import * as i7 from "@angular/common";
|
|
15
|
+
import * as i8 from "@angular/forms";
|
|
14
16
|
export class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
15
17
|
constructor() {
|
|
16
18
|
super(...arguments);
|
|
19
|
+
this._blur = new Subject();
|
|
20
|
+
this._blurSub = new SubscriptionObject();
|
|
17
21
|
this.separatorKeysCodes = [ENTER, COMMA];
|
|
18
22
|
}
|
|
19
23
|
selected(event) {
|
|
@@ -21,9 +25,7 @@ export class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueF
|
|
|
21
25
|
}
|
|
22
26
|
tabPressedOnInput(event) {
|
|
23
27
|
if (event?.key?.toLowerCase() === 'tab') {
|
|
24
|
-
|
|
25
|
-
if ((value || '').trim()) {
|
|
26
|
-
this._addWithTextValue(value);
|
|
28
|
+
if (this._tryAddCurrentInputValue()) {
|
|
27
29
|
event.preventDefault();
|
|
28
30
|
event.stopImmediatePropagation();
|
|
29
31
|
return false;
|
|
@@ -35,11 +37,26 @@ export class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueF
|
|
|
35
37
|
const text = event.value ?? this.inputCtrl.value;
|
|
36
38
|
return this._addWithTextValue(text);
|
|
37
39
|
}
|
|
40
|
+
ngOnInit() {
|
|
41
|
+
super.ngOnInit();
|
|
42
|
+
// Only try and add the text item as a value if a value wasn't just added (for example, clicking a value).
|
|
43
|
+
this._blurSub.subscription = this._blur.pipe(skipUntilTimeElapsedAfterLastEmission(this.values$, 100)).subscribe(() => {
|
|
44
|
+
this._tryAddCurrentInputValue();
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
ngOnDestroy() {
|
|
48
|
+
super.ngOnDestroy();
|
|
49
|
+
this._blur.complete();
|
|
50
|
+
this._blurSub.destroy();
|
|
51
|
+
}
|
|
52
|
+
onBlur() {
|
|
53
|
+
this._blur.next();
|
|
54
|
+
}
|
|
38
55
|
}
|
|
39
56
|
DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
40
|
-
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!--
|
|
57
|
+
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableChipFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i5.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i6.DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.MatChipRemove, selector: "[matChipRemove]" }, { type: i8.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i8.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i7.AsyncPipe } });
|
|
41
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
|
|
42
59
|
type: Component,
|
|
43
|
-
args: [{ template: "<div class=\"dbx-searchable-field\">\n <!--
|
|
60
|
+
args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-list [selectable]=\"!readonly\" [required]=\"required\" [disabled]=\"readonly\" #chipList>\n <mat-chip *ngFor=\"let displayValue of displayValues$ | async\" [removable]=\"true\"\n (removed)=\"removeWithDisplayValue(displayValue)\">\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"displayValue.sublabel\">{{ displayValue.sublabel }}</span>\n <mat-icon *ngIf=\"!readonly\" matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input #textInput [name]=\"name\" [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\"\n autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\"\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\">\n </mat-chip-list>\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto=\"matAutocomplete\"\n (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of (searchResults$ | async)\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\">\n </dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
|
|
44
61
|
}] });
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
62
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5jaGlwLmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlL3NlYXJjaGFibGUuY2hpcC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUcxQyxPQUFPLEVBQUUsd0NBQXdDLEVBQTRFLE1BQU0sOEJBQThCLENBQUM7QUFDbEssT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUscUNBQXFDLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7Ozs7Ozs7QUFXdEUsTUFBTSxPQUFPLCtCQUFtQyxTQUFRLHdDQUEwRjtJQUhsSjs7UUFLVSxVQUFLLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQUM1QixhQUFRLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO1FBRW5DLHVCQUFrQixHQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBMEN4RDtJQXhDQyxRQUFRLENBQUMsS0FBbUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGlCQUFpQixDQUFDLEtBQW9CO1FBQ3BDLElBQUksS0FBSyxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsS0FBSyxLQUFLLEVBQUU7WUFDdkMsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsRUFBRTtnQkFDbkMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO2dCQUN2QixLQUFLLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDakMsT0FBTyxLQUFLLENBQUM7YUFDZDtTQUNGO1FBRUQsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDO0lBRUQsT0FBTyxDQUFDLEtBQXdCO1FBQzlCLE1BQU0sSUFBSSxHQUFHLEtBQUssQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDakQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVRLFFBQVE7UUFDZixLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFFakIsMEdBQTBHO1FBQzFHLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3BILElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVRLFdBQVc7UUFDbEIsS0FBSyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQzs7NEhBN0NVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJFQ2xCNUMsNGhEQTBCQTsyRkRSYSwrQkFBK0I7a0JBSDNDLFNBQVMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdWJzY3JpcHRpb25PYmplY3QgfSBmcm9tICdAZGVyZWVrYi9yeGpzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2F1dG9jb21wbGV0ZSc7XG5pbXBvcnQgeyBNYXRDaGlwSW5wdXRFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnLCBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4vc2VhcmNoYWJsZS5maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ09NTUEsIEVOVEVSIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2tleWNvZGVzJztcbmltcG9ydCB7IHNraXBVbnRpbFRpbWVFbGFwc2VkQWZ0ZXJMYXN0RW1pc3Npb24gfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7IH1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlQ2hpcFZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiB7XG4gIHNlYXJjaGFibGVGaWVsZDogU2VhcmNoYWJsZUNoaXBWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGVVcmw6ICdzZWFyY2hhYmxlLmNoaXAuZmllbGQuY29tcG9uZW50Lmh0bWwnXG59KVxuZXhwb3J0IGNsYXNzIERieFNlYXJjaGFibGVDaGlwRmllbGRDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlyZWN0aXZlPFQsIFNlYXJjaGFibGVDaGlwVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPj4ge1xuXG4gIHByaXZhdGUgX2JsdXIgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuICBwcml2YXRlIF9ibHVyU3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIHJlYWRvbmx5IHNlcGFyYXRvcktleXNDb2RlczogbnVtYmVyW10gPSBbRU5URVIsIENPTU1BXTtcblxuICBzZWxlY3RlZChldmVudDogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCk6IHZvaWQge1xuICAgIHRoaXMuYWRkV2l0aERpc3BsYXlWYWx1ZShldmVudC5vcHRpb24udmFsdWUpO1xuICB9XG5cbiAgdGFiUHJlc3NlZE9uSW5wdXQoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiBib29sZWFuIHtcbiAgICBpZiAoZXZlbnQ/LmtleT8udG9Mb3dlckNhc2UoKSA9PT0gJ3RhYicpIHtcbiAgICAgIGlmICh0aGlzLl90cnlBZGRDdXJyZW50SW5wdXRWYWx1ZSgpKSB7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgIGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBhZGRDaGlwKGV2ZW50OiBNYXRDaGlwSW5wdXRFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHRleHQgPSBldmVudC52YWx1ZSA/PyB0aGlzLmlucHV0Q3RybC52YWx1ZTtcbiAgICByZXR1cm4gdGhpcy5fYWRkV2l0aFRleHRWYWx1ZSh0ZXh0KTtcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICAvLyBPbmx5IHRyeSBhbmQgYWRkIHRoZSB0ZXh0IGl0ZW0gYXMgYSB2YWx1ZSBpZiBhIHZhbHVlIHdhc24ndCBqdXN0IGFkZGVkIChmb3IgZXhhbXBsZSwgY2xpY2tpbmcgYSB2YWx1ZSkuXG4gICAgdGhpcy5fYmx1clN1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLl9ibHVyLnBpcGUoc2tpcFVudGlsVGltZUVsYXBzZWRBZnRlckxhc3RFbWlzc2lvbih0aGlzLnZhbHVlcyQsIDEwMCkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICB0aGlzLl90cnlBZGRDdXJyZW50SW5wdXRWYWx1ZSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcbiAgICB0aGlzLl9ibHVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fYmx1clN1Yi5kZXN0cm95KCk7XG4gIH1cblxuICBvbkJsdXIoKTogdm9pZCB7XG4gICAgdGhpcy5fYmx1ci5uZXh0KCk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1zZWFyY2hhYmxlLWZpZWxkXCI+XG4gIDwhLS0gVmlldyAtLT5cbiAgPG1hdC1jaGlwLWxpc3QgW3NlbGVjdGFibGVdPVwiIXJlYWRvbmx5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgW2Rpc2FibGVkXT1cInJlYWRvbmx5XCIgI2NoaXBMaXN0PlxuICAgIDxtYXQtY2hpcCAqbmdGb3I9XCJsZXQgZGlzcGxheVZhbHVlIG9mIGRpc3BsYXlWYWx1ZXMkIHwgYXN5bmNcIiBbcmVtb3ZhYmxlXT1cInRydWVcIlxuICAgICAgKHJlbW92ZWQpPVwicmVtb3ZlV2l0aERpc3BsYXlWYWx1ZShkaXNwbGF5VmFsdWUpXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLWxhYmVsXCI+e3sgZGlzcGxheVZhbHVlLmxhYmVsIH19PC9zcGFuPlxuICAgICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1zdWJsYWJlbFwiICpuZ0lmPVwiZGlzcGxheVZhbHVlLnN1YmxhYmVsXCI+e3sgZGlzcGxheVZhbHVlLnN1YmxhYmVsIH19PC9zcGFuPlxuICAgICAgPG1hdC1pY29uICpuZ0lmPVwiIXJlYWRvbmx5XCIgbWF0Q2hpcFJlbW92ZT5jYW5jZWw8L21hdC1pY29uPlxuICAgIDwvbWF0LWNoaXA+XG4gICAgPGlucHV0ICN0ZXh0SW5wdXQgW25hbWVdPVwibmFtZVwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbF09XCJpbnB1dEN0cmxcIiBbbWF0QXV0b2NvbXBsZXRlXT1cImF1dG9cIlxuICAgICAgYXV0b2NvbXBsZXRlPVwie3sgYXV0b2NvbXBsZXRlIH19XCIgW21hdEF1dG9jb21wbGV0ZURpc2FibGVkXT1cInJlYWRvbmx5XCIgW21hdENoaXBJbnB1dEZvcl09XCJjaGlwTGlzdFwiIChrZXlkb3duKT1cInRhYlByZXNzZWRPbklucHV0KCRldmVudClcIlxuICAgICAgW21hdENoaXBJbnB1dFNlcGFyYXRvcktleUNvZGVzXT1cInNlcGFyYXRvcktleXNDb2Rlc1wiIChtYXRDaGlwSW5wdXRUb2tlbkVuZCk9XCJhZGRDaGlwKCRldmVudClcIiAoYmx1cik9XCJvbkJsdXIoKVwiPlxuICA8L21hdC1jaGlwLWxpc3Q+XG4gIDxkaXYgY2xhc3M9XCJzZWFyY2hhYmxlLWZpZWxkLWZvcm0tbG9hZGluZ1wiPlxuICAgIDxkYngtbG9hZGluZyBbbGluZWFyXT1cInRydWVcIiBbY29udGV4dF09XCJzZWFyY2hDb250ZXh0XCI+PC9kYngtbG9hZGluZz5cbiAgPC9kaXY+XG48L2Rpdj5cblxuPCEtLSBBdXRvY29tcGxldGUgLS0+XG48bWF0LWF1dG9jb21wbGV0ZSBjbGFzcz1cImRieC1zZWFyY2hhYmxlLXRleHQtZmllbGQtYXV0b2NvbXBsZXRlXCIgI2F1dG89XCJtYXRBdXRvY29tcGxldGVcIlxuICAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQoJGV2ZW50KVwiPlxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGlzcGxheVZhbHVlIG9mIChzZWFyY2hSZXN1bHRzJCB8IGFzeW5jKVwiIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8ZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0gW2Rpc3BsYXlWYWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8L2RieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtPlxuICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG4iXX0=
|
|
@@ -1,73 +1,87 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { filterMaybe } from '@dereekb/rxjs';
|
|
2
|
+
import { BehaviorSubject, map, shareReplay } from 'rxjs';
|
|
3
|
+
import { Component, Directive, Inject, InjectionToken, Input } from '@angular/core';
|
|
4
|
+
import { mergeIntoArray } from '@dereekb/util';
|
|
2
5
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@
|
|
4
|
-
import * as i2 from "@dereekb/dbx-
|
|
6
|
+
import * as i1 from "@dereekb/dbx-web";
|
|
7
|
+
import * as i2 from "@dereekb/dbx-core";
|
|
8
|
+
import * as i3 from "@angular/common";
|
|
9
|
+
export const DBX_SEARCHABLE_FIELD_COMPONENT_DATA = new InjectionToken('DbxSearchableField');
|
|
5
10
|
export class DbxSearchableFieldAutocompleteItemComponent {
|
|
6
|
-
|
|
7
|
-
this.
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
11
|
+
constructor() {
|
|
12
|
+
this._displayValue = new BehaviorSubject(undefined);
|
|
13
|
+
this.displayValue$ = this._displayValue.pipe(filterMaybe(), shareReplay(1));
|
|
14
|
+
this.config$ = this.displayValue$.pipe(map(x => {
|
|
15
|
+
const config = {
|
|
16
|
+
...x.display,
|
|
17
|
+
providers: mergeIntoArray([{
|
|
18
|
+
provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA,
|
|
19
|
+
useValue: x
|
|
20
|
+
}], x.display.providers)
|
|
21
|
+
};
|
|
22
|
+
return config;
|
|
23
|
+
}));
|
|
24
|
+
this.anchor$ = this.displayValue$.pipe(map(x => x.anchor));
|
|
25
|
+
}
|
|
26
|
+
set displayValue(displayValue) {
|
|
27
|
+
this._displayValue.next(displayValue);
|
|
28
|
+
}
|
|
29
|
+
ngOnDestroy() {
|
|
30
|
+
this._displayValue.complete();
|
|
13
31
|
}
|
|
14
32
|
}
|
|
15
33
|
DbxSearchableFieldAutocompleteItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
16
|
-
DbxSearchableFieldAutocompleteItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: "displayValue" },
|
|
17
|
-
<
|
|
18
|
-
|
|
34
|
+
DbxSearchableFieldAutocompleteItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: "displayValue" }, ngImport: i0, template: `
|
|
35
|
+
<dbx-anchor [block]="true" [anchor]="anchor$ | async">
|
|
36
|
+
<dbx-injected-content [config]="config$ | async"></dbx-injected-content>
|
|
37
|
+
</dbx-anchor>
|
|
38
|
+
`, isInline: true, components: [{ type: i1.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i2.DbxInjectedComponent, selector: "dbx-injected-content, [dbx-injected-content]", inputs: ["config", "template"] }], pipes: { "async": i3.AsyncPipe } });
|
|
19
39
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
|
|
20
40
|
type: Component,
|
|
21
41
|
args: [{
|
|
22
42
|
selector: 'dbx-searchable-field-autocomplete-item',
|
|
23
43
|
template: `
|
|
24
|
-
<
|
|
44
|
+
<dbx-anchor [block]="true" [anchor]="anchor$ | async">
|
|
45
|
+
<dbx-injected-content [config]="config$ | async"></dbx-injected-content>
|
|
46
|
+
</dbx-anchor>
|
|
25
47
|
`
|
|
26
48
|
}]
|
|
27
|
-
}], propDecorators: {
|
|
28
|
-
type: ViewChild,
|
|
29
|
-
args: ['content', { static: true, read: ViewContainerRef }]
|
|
30
|
-
}], displayValue: [{
|
|
49
|
+
}], propDecorators: { displayValue: [{
|
|
31
50
|
type: Input
|
|
32
51
|
}] } });
|
|
33
52
|
// MARK: Default
|
|
34
|
-
export class
|
|
53
|
+
export class AbstractDbxSearchableFieldDisplayDirective {
|
|
54
|
+
constructor(displayValue) {
|
|
55
|
+
this.displayValue = displayValue;
|
|
56
|
+
}
|
|
35
57
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
58
|
+
AbstractDbxSearchableFieldDisplayDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [{ token: DBX_SEARCHABLE_FIELD_COMPONENT_DATA }], target: i0.ɵɵFactoryTarget.Directive });
|
|
59
|
+
AbstractDbxSearchableFieldDisplayDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.2.0", type: AbstractDbxSearchableFieldDisplayDirective, ngImport: i0 });
|
|
60
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
|
|
61
|
+
type: Directive
|
|
62
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
63
|
+
type: Inject,
|
|
64
|
+
args: [DBX_SEARCHABLE_FIELD_COMPONENT_DATA]
|
|
65
|
+
}] }]; } });
|
|
66
|
+
export class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFieldDisplayDirective {
|
|
67
|
+
}
|
|
68
|
+
DbxDefaultSearchableFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
69
|
+
DbxDefaultSearchableFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
|
|
70
|
+
<div class="dbx-default-searchable-field-display">
|
|
71
|
+
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
72
|
+
<span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
|
|
73
|
+
</div>
|
|
74
|
+
`, isInline: true, directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
41
75
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
|
|
42
76
|
type: Component,
|
|
43
77
|
args: [{
|
|
44
78
|
selector: 'dbx-default-searchable-field-display',
|
|
45
79
|
template: `
|
|
46
|
-
|
|
47
|
-
<span class="
|
|
80
|
+
<div class="dbx-default-searchable-field-display">
|
|
81
|
+
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
82
|
+
<span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
|
|
83
|
+
</div>
|
|
48
84
|
`
|
|
49
85
|
}]
|
|
50
|
-
}]
|
|
51
|
-
|
|
52
|
-
}] } });
|
|
53
|
-
export class DbxDefaultSearchableAnchorFieldDisplayComponent {
|
|
54
|
-
}
|
|
55
|
-
DbxDefaultSearchableAnchorFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDefaultSearchableAnchorFieldDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
56
|
-
DbxDefaultSearchableAnchorFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxDefaultSearchableAnchorFieldDisplayComponent, selector: "ng-component", inputs: { displayValue: "displayValue" }, ngImport: i0, template: `
|
|
57
|
-
<dbx-anchor [block]="true" [anchor]="displayValue?.anchor">
|
|
58
|
-
<dbx-default-searchable-field-display [displayValue]="displayValue"></dbx-default-searchable-field-display>
|
|
59
|
-
</dbx-anchor>
|
|
60
|
-
`, isInline: true, components: [{ type: i2.DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", inputs: ["displayValue"] }] });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxDefaultSearchableAnchorFieldDisplayComponent, decorators: [{
|
|
62
|
-
type: Component,
|
|
63
|
-
args: [{
|
|
64
|
-
template: `
|
|
65
|
-
<dbx-anchor [block]="true" [anchor]="displayValue?.anchor">
|
|
66
|
-
<dbx-default-searchable-field-display [displayValue]="displayValue"></dbx-default-searchable-field-display>
|
|
67
|
-
</dbx-anchor>
|
|
68
|
-
`
|
|
69
|
-
}]
|
|
70
|
-
}], propDecorators: { displayValue: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}] } });
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5hdXRvY29tcGxldGUuaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmF1dG9jb21wbGV0ZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTdEYsTUFBTSxPQUFPLDJDQUEyQztJQVF0RCxRQUFRO1FBQ04sSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUNyQixNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsWUFBWSxFQUFFLGNBQWMsQ0FBQztRQUV6RCxJQUFJLGNBQWMsRUFBRTtZQUNsQixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNsRSxZQUFZLENBQUMsUUFBUSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1NBQ3hEO0lBQ0gsQ0FBQzs7d0lBaEJVLDJDQUEyQzs0SEFBM0MsMkNBQTJDLHVNQUVWLGdCQUFnQiwyQ0FObEQ7O0dBRVQ7MkZBRVUsMkNBQTJDO2tCQU52RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRTs7R0FFVDtpQkFDRjs4QkFJQyxPQUFPO3NCQUROLFNBQVM7dUJBQUMsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBSTlELFlBQVk7c0JBRFgsS0FBSzs7QUFpQlIsZ0JBQWdCO0FBUWhCLE1BQU0sT0FBTyx5Q0FBeUM7O3NJQUF6Qyx5Q0FBeUM7MEhBQXpDLHlDQUF5QyxzSEFMMUM7OztHQUdUOzJGQUVVLHlDQUF5QztrQkFQckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUU7OztHQUdUO2lCQUNGOzhCQUlDLFlBQVk7c0JBRFgsS0FBSzs7QUFZUixNQUFNLE9BQU8sK0NBQStDOzs0SUFBL0MsK0NBQStDO2dJQUEvQywrQ0FBK0MsOEZBTmhEOzs7O0dBSVQsaUlBWlUseUNBQXlDOzJGQWN6QywrQ0FBK0M7a0JBUDNELFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7O0dBSVQ7aUJBQ0Y7OEJBSUMsWUFBWTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0LCBWaWV3Q2hpbGQsIFZpZXdDb250YWluZXJSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlYXJjaGFibGVGaWVsZERpc3BsYXlDb21wb25lbnQsIFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSAnLi9zZWFyY2hhYmxlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZSAjY29udGVudD48L25nLXRlbXBsYXRlPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFNlYXJjaGFibGVGaWVsZEF1dG9jb21wbGV0ZUl0ZW1Db21wb25lbnQ8VD4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBWaWV3Q2hpbGQoJ2NvbnRlbnQnLCB7IHN0YXRpYzogdHJ1ZSwgcmVhZDogVmlld0NvbnRhaW5lclJlZiB9KVxuICBjb250ZW50ITogVmlld0NvbnRhaW5lclJlZjtcblxuICBASW5wdXQoKVxuICBkaXNwbGF5VmFsdWU/OiBTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPjtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnQuY2xlYXIoKTtcbiAgICBjb25zdCBjb21wb25lbnRDbGFzcyA9IHRoaXMuZGlzcGxheVZhbHVlPy5jb21wb25lbnRDbGFzcztcblxuICAgIGlmIChjb21wb25lbnRDbGFzcykge1xuICAgICAgY29uc3QgY29tcG9uZW50UmVmID0gdGhpcy5jb250ZW50LmNyZWF0ZUNvbXBvbmVudChjb21wb25lbnRDbGFzcyk7XG4gICAgICBjb21wb25lbnRSZWYuaW5zdGFuY2UuZGlzcGxheVZhbHVlID0gdGhpcy5kaXNwbGF5VmFsdWU7XG4gICAgfVxuICB9XG5cbiAgLy8gVE9ETzogTWF5IG5lZWQgdG8gaGFuZGxlIHRoZSBjb21wb25lbnQgYmVpbmcgcmV1c2VkL2lucHV0IGNoYW5naW5nLlxuXG59XG5cbi8vIE1BUks6IERlZmF1bHRcbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1kZWZhdWx0LXNlYXJjaGFibGUtZmllbGQtZGlzcGxheScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHNwYW4gY2xhc3M9XCJzLWNoaXAtbGFiZWxcIj57eyBkaXNwbGF5VmFsdWUubGFiZWwgfX08L3NwYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJzLWNoaXAtc3VibGFiZWxcIiAqbmdJZj1cImRpc3BsYXlWYWx1ZS5zdWJsYWJlbFwiPih7eyBkaXNwbGF5VmFsdWUuc3VibGFiZWwgfX0pPC9zcGFuPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieERlZmF1bHRTZWFyY2hhYmxlRmllbGREaXNwbGF5Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgU2VhcmNoYWJsZUZpZWxkRGlzcGxheUNvbXBvbmVudDxUPiB7XG5cbiAgQElucHV0KClcbiAgZGlzcGxheVZhbHVlITogU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD47XG5cbn1cblxuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlOiBgXG4gICAgPGRieC1hbmNob3IgW2Jsb2NrXT1cInRydWVcIiBbYW5jaG9yXT1cImRpc3BsYXlWYWx1ZT8uYW5jaG9yXCI+XG4gICAgICA8ZGJ4LWRlZmF1bHQtc2VhcmNoYWJsZS1maWVsZC1kaXNwbGF5IFtkaXNwbGF5VmFsdWVdPVwiZGlzcGxheVZhbHVlXCI+PC9kYngtZGVmYXVsdC1zZWFyY2hhYmxlLWZpZWxkLWRpc3BsYXk+XG4gICAgPC9kYngtYW5jaG9yPlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieERlZmF1bHRTZWFyY2hhYmxlQW5jaG9yRmllbGREaXNwbGF5Q29tcG9uZW50PFQ+IGltcGxlbWVudHMgU2VhcmNoYWJsZUZpZWxkRGlzcGxheUNvbXBvbmVudDxUPiB7XG5cbiAgQElucHV0KClcbiAgZGlzcGxheVZhbHVlITogU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD47XG5cbn1cbiJdfQ==
|
|
86
|
+
}] });
|
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS5maWVsZC5hdXRvY29tcGxldGUuaXRlbS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLmZpZWxkLmF1dG9jb21wbGV0ZS5pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxlQUFlLEVBQUUsR0FBRyxFQUFjLFdBQVcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNyRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFFLEtBQUssRUFBYSxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQVMsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7OztBQUd0RCxNQUFNLENBQUMsTUFBTSxtQ0FBbUMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBVTVGLE1BQU0sT0FBTywyQ0FBMkM7SUFSeEQ7UUFVVSxrQkFBYSxHQUFHLElBQUksZUFBZSxDQUF1RCxTQUFTLENBQUMsQ0FBQztRQUNwRyxrQkFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZFLFlBQU8sR0FBMkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQ3pGLE1BQU0sTUFBTSxHQUErQjtnQkFDekMsR0FBRyxDQUFDLENBQUMsT0FBTztnQkFDWixTQUFTLEVBQUUsY0FBYyxDQUFDLENBQUM7d0JBQ3pCLE9BQU8sRUFBRSxtQ0FBbUM7d0JBQzVDLFFBQVEsRUFBRSxDQUFDO3FCQUNaLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQzthQUN6QixDQUFDO1lBRUYsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUVLLFlBQU8sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztLQVdoRTtJQVRDLElBQ0ksWUFBWSxDQUFDLFlBQTJEO1FBQzFFLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzt3SUExQlUsMkNBQTJDOzRIQUEzQywyQ0FBMkMsd0hBTjVDOzs7O0dBSVQ7MkZBRVUsMkNBQTJDO2tCQVJ2RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFFBQVEsRUFBRTs7OztHQUlUO2lCQUNGOzhCQXFCSyxZQUFZO3NCQURmLEtBQUs7O0FBV1IsZ0JBQWdCO0FBRWhCLE1BQU0sT0FBZ0IsMENBQTBDO0lBRTlELFlBQWtFLFlBQTJEO1FBQTNELGlCQUFZLEdBQVosWUFBWSxDQUErQztJQUFJLENBQUM7O3VJQUY5RywwQ0FBMEMsa0JBRTFDLG1DQUFtQzsySEFGbkMsMENBQTBDOzJGQUExQywwQ0FBMEM7a0JBRC9ELFNBQVM7OzBCQUdLLE1BQU07MkJBQUMsbUNBQW1DOztBQWF6RCxNQUFNLE9BQU8seUNBQTZDLFNBQVEsMENBQTZDOztzSUFBbEcseUNBQXlDOzBIQUF6Qyx5Q0FBeUMsbUdBUDFDOzs7OztHQUtUOzJGQUVVLHlDQUF5QztrQkFUckQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0NBQXNDO29CQUNoRCxRQUFRLEVBQUU7Ozs7O0dBS1Q7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBtYXAsIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIERpcmVjdGl2ZSwgSW5qZWN0LCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uRGVzdHJveSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlIH0gZnJvbSAnLi9zZWFyY2hhYmxlJztcbmltcG9ydCB7IE1heWJlLCBtZXJnZUludG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRGJ4SW5qZWN0ZWRDb21wb25lbnRDb25maWcgfSBmcm9tICdAZGVyZWVrYi9kYngtY29yZSc7XG5cbmV4cG9ydCBjb25zdCBEQlhfU0VBUkNIQUJMRV9GSUVMRF9DT01QT05FTlRfREFUQSA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGJ4U2VhcmNoYWJsZUZpZWxkJyk7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2RieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGJ4LWFuY2hvciBbYmxvY2tdPVwidHJ1ZVwiIFthbmNob3JdPVwiYW5jaG9yJCB8IGFzeW5jXCI+XG4gICAgICA8ZGJ4LWluamVjdGVkLWNvbnRlbnQgW2NvbmZpZ109XCJjb25maWckIHwgYXN5bmNcIj48L2RieC1pbmplY3RlZC1jb250ZW50PlxuICAgIDwvZGJ4LWFuY2hvcj5cbiAgYFxufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWFyY2hhYmxlRmllbGRBdXRvY29tcGxldGVJdGVtQ29tcG9uZW50PFQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9kaXNwbGF5VmFsdWUgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1heWJlPENvbmZpZ3VyZWRTZWFyY2hhYmxlVmFsdWVGaWVsZERpc3BsYXlWYWx1ZTxUPj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZSQgPSB0aGlzLl9kaXNwbGF5VmFsdWUucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG5cbiAgcmVhZG9ubHkgY29uZmlnJDogT2JzZXJ2YWJsZTxEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZz4gPSB0aGlzLmRpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiB7XG4gICAgY29uc3QgY29uZmlnOiBEYnhJbmplY3RlZENvbXBvbmVudENvbmZpZyA9IHtcbiAgICAgIC4uLnguZGlzcGxheSxcbiAgICAgIHByb3ZpZGVyczogbWVyZ2VJbnRvQXJyYXkoW3tcbiAgICAgICAgcHJvdmlkZTogREJYX1NFQVJDSEFCTEVfRklFTERfQ09NUE9ORU5UX0RBVEEsXG4gICAgICAgIHVzZVZhbHVlOiB4XG4gICAgICB9XSwgeC5kaXNwbGF5LnByb3ZpZGVycylcbiAgICB9O1xuXG4gICAgcmV0dXJuIGNvbmZpZztcbiAgfSkpO1xuXG4gIHJlYWRvbmx5IGFuY2hvciQgPSB0aGlzLmRpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiB4LmFuY2hvcikpO1xuXG4gIEBJbnB1dCgpXG4gIHNldCBkaXNwbGF5VmFsdWUoZGlzcGxheVZhbHVlOiBDb25maWd1cmVkU2VhcmNoYWJsZVZhbHVlRmllbGREaXNwbGF5VmFsdWU8VD4pIHtcbiAgICB0aGlzLl9kaXNwbGF5VmFsdWUubmV4dChkaXNwbGF5VmFsdWUpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fZGlzcGxheVZhbHVlLmNvbXBsZXRlKCk7XG4gIH1cblxufVxuXG4vLyBNQVJLOiBEZWZhdWx0XG5ARGlyZWN0aXZlKClcbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdERieFNlYXJjaGFibGVGaWVsZERpc3BsYXlEaXJlY3RpdmU8VD4ge1xuXG4gIGNvbnN0cnVjdG9yKEBJbmplY3QoREJYX1NFQVJDSEFCTEVfRklFTERfQ09NUE9ORU5UX0RBVEEpIHJlYWRvbmx5IGRpc3BsYXlWYWx1ZTogQ29uZmlndXJlZFNlYXJjaGFibGVWYWx1ZUZpZWxkRGlzcGxheVZhbHVlPFQ+KSB7IH1cblxufVxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdkYngtZGVmYXVsdC1zZWFyY2hhYmxlLWZpZWxkLWRpc3BsYXknLFxuICB0ZW1wbGF0ZTogYFxuICA8ZGl2IGNsYXNzPVwiZGJ4LWRlZmF1bHQtc2VhcmNoYWJsZS1maWVsZC1kaXNwbGF5XCI+XG4gICAgPHNwYW4gY2xhc3M9XCJkYngtY2hpcC1sYWJlbFwiPnt7IGRpc3BsYXlWYWx1ZS5sYWJlbCB9fTwvc3Bhbj5cbiAgICA8c3BhbiBjbGFzcz1cImRieC1jaGlwLXN1YmxhYmVsXCIgKm5nSWY9XCJkaXNwbGF5VmFsdWUuc3VibGFiZWxcIj4oe3sgZGlzcGxheVZhbHVlLnN1YmxhYmVsIH19KTwvc3Bhbj5cbiAgPC9kaXY+XG4gIGBcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RGVmYXVsdFNlYXJjaGFibGVGaWVsZERpc3BsYXlDb21wb25lbnQ8VD4gZXh0ZW5kcyBBYnN0cmFjdERieFNlYXJjaGFibGVGaWVsZERpc3BsYXlEaXJlY3RpdmU8VD57IH1cbiJdfQ==
|