@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,21 +1,45 @@
|
|
|
1
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
1
2
|
import { Component } from '@angular/core';
|
|
2
3
|
import { AbstractDbxSearchableValueFieldDirective } from './searchable.field.directive';
|
|
4
|
+
import { map, shareReplay, skipWhile, distinctUntilChanged } from 'rxjs';
|
|
5
|
+
import { tapDetectChanges } from '@dereekb/dbx-core';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "
|
|
5
|
-
import * as i2 from "@
|
|
6
|
-
import * as i3 from "
|
|
7
|
-
import * as i4 from "@angular/material/
|
|
8
|
-
import * as i5 from "@
|
|
9
|
-
import * as i6 from "@angular/
|
|
10
|
-
import * as i7 from "@angular/
|
|
11
|
-
import * as i8 from "@angular/forms";
|
|
7
|
+
import * as i1 from "./searchable.field.autocomplete.item.component";
|
|
8
|
+
import * as i2 from "@dereekb/dbx-web";
|
|
9
|
+
import * as i3 from "@angular/material/autocomplete";
|
|
10
|
+
import * as i4 from "@angular/material/core";
|
|
11
|
+
import * as i5 from "@angular/common";
|
|
12
|
+
import * as i6 from "@angular/material/input";
|
|
13
|
+
import * as i7 from "@angular/forms";
|
|
12
14
|
/**
|
|
13
15
|
* Display component for selecting a single item/value.
|
|
14
16
|
*/
|
|
15
17
|
export class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
16
18
|
constructor() {
|
|
17
19
|
super(...arguments);
|
|
20
|
+
this.selectedDisplayValue$ = this.displayValues$.pipe(map(x => x[0]), shareReplay(1), tapDetectChanges(this.cdRef));
|
|
21
|
+
this.hasValue$ = this.selectedDisplayValue$.pipe(map(x => Boolean(x)));
|
|
22
|
+
this.showSelectedDisplayValue$ = this.selectedDisplayValue$.pipe(map(x => this.showSelectedValue && Boolean(x)), distinctUntilChanged(), shareReplay(1), tapDetectChanges(this.cdRef));
|
|
18
23
|
this.multiSelect = false;
|
|
24
|
+
this._clearInputSub = new SubscriptionObject();
|
|
25
|
+
}
|
|
26
|
+
get searchableField() {
|
|
27
|
+
return this.field.searchableField;
|
|
28
|
+
}
|
|
29
|
+
get showSelectedValue() {
|
|
30
|
+
return this.searchableField.showSelectedValue ?? !this.allowStringValues; // Show the selected value only if string values are allowed.
|
|
31
|
+
}
|
|
32
|
+
ngOnInit() {
|
|
33
|
+
super.ngOnInit();
|
|
34
|
+
this._clearInputSub.subscription = this.inputValue$.pipe(skipWhile((x) => !x)).subscribe((x) => {
|
|
35
|
+
if (!x) {
|
|
36
|
+
// this.clearValues();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
ngOnDestroy() {
|
|
41
|
+
super.ngOnDestroy();
|
|
42
|
+
this._clearInputSub.destroy();
|
|
19
43
|
}
|
|
20
44
|
selected(event) {
|
|
21
45
|
const e = event;
|
|
@@ -23,9 +47,9 @@ export class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueF
|
|
|
23
47
|
}
|
|
24
48
|
}
|
|
25
49
|
DbxSearchableTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
26
|
-
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\">\n <!--
|
|
50
|
+
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\"\n [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\">\n </dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\"\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\">\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (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 <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1.DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { type: i2.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i4.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6.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: i7.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: i3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i5.AsyncPipe } });
|
|
27
51
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
|
|
28
52
|
type: Component,
|
|
29
|
-
args: [{ template: "<div class=\"dbx-searchable-text-field\">\n <!--
|
|
53
|
+
args: [{ template: "<div class=\"dbx-searchable-text-field\"\n [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (hasValue$ | async), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\" *ngIf=\"showSelectedDisplayValue$ | async\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"(selectedDisplayValue$ | async)!\">\n </dbx-searchable-field-autocomplete-item>\n </div>\n <div class=\"dbx-searchable-text-field-input\">\n <div class=\"dbx-label\">Search</div>\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"placeholder\" [formControl]=\"inputCtrl\"\n [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly\" autocomplete=\"{{ autocomplete }}\">\n <div class=\"searchable-field-form-loading\">\n <dbx-loading [linear]=\"true\" [context]=\"searchContext\"></dbx-loading>\n </div>\n </div>\n</div>\n\n<!-- Autocomplete -->\n<mat-autocomplete class=\"dbx-searchable-text-field-autocomplete\" #auto (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 <!-- Add/Pick String Value -->\n <mat-option *ngIf=\"allowStringValues && (inputValue$ | async)\" [value]=\"{ value: (inputValue$ | async) }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValue$ | async }}\"</p>\n </mat-option>\n <!-- Show clear value -->\n <mat-option *ngIf=\"showClearValue && (hasValue$ | async)\" value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n</mat-autocomplete>\n" }]
|
|
30
54
|
}] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoYWJsZS50ZXh0LmZpZWxkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWFyY2hhYmxlL3NlYXJjaGFibGUudGV4dC5maWVsZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC9zZWxlY3Rpb24vc2VhcmNoYWJsZS9zZWFyY2hhYmxlLnRleHQuZmllbGQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFMUMsT0FBTyxFQUFFLHdDQUF3QyxFQUE0RSxNQUFNLDhCQUE4QixDQUFDO0FBQ2xLLE9BQU8sRUFBRSxHQUFHLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUN6RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQzs7Ozs7Ozs7O0FBVXJEOztHQUVHO0FBSUgsTUFBTSxPQUFPLCtCQUFtQyxTQUFRLHdDQUEwRjtJQUhsSjs7UUFLVywwQkFBcUIsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQyxDQUFDLEVBQUUsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDL0csY0FBUyxHQUFHLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNsRSw4QkFBeUIsR0FBRyxJQUFJLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsSUFBSSxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsRUFBRSxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQVV6SyxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUU5QixtQkFBYyxHQUFHLElBQUksa0JBQWtCLEVBQUUsQ0FBQztLQXdCbkQ7SUFsQ0MsSUFBYSxlQUFlO1FBQzFCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDcEMsQ0FBQztJQUVELElBQUksaUJBQWlCO1FBQ25CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxpQkFBaUIsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFJLDZEQUE2RDtJQUM1SSxDQUFDO0lBTVEsUUFBUTtRQUNmLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUVqQixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDdEQsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUNyQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQ2hCLElBQUksQ0FBQyxDQUFDLEVBQUU7Z0JBQ04sc0JBQXNCO2FBQ3ZCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRVEsV0FBVztRQUNsQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNoQyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsTUFBTSxDQUFDLEdBQWlDLEtBQUssQ0FBQztRQUM5QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMzQyxDQUFDOzs0SEF0Q1UsK0JBQStCO2dIQUEvQiwrQkFBK0IsMkVDckI1QyxreERBaUNBOzJGRFphLCtCQUErQjtrQkFIM0MsU0FBUyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRBdXRvY29tcGxldGVTZWxlY3RlZEV2ZW50IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEFic3RyYWN0RGJ4U2VhcmNoYWJsZVZhbHVlRmllbGREaXJlY3RpdmUsIFNlYXJjaGFibGVWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnLCBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZyB9IGZyb20gJy4vc2VhcmNoYWJsZS5maWVsZC5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgbWFwLCBzaGFyZVJlcGxheSwgc2tpcFdoaWxlLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdGFwRGV0ZWN0Q2hhbmdlcyB9IGZyb20gJ0BkZXJlZWtiL2RieC1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlVGV4dFZhbHVlRmllbGRzRmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7XG4gIHNob3dTZWxlY3RlZFZhbHVlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWFyY2hhYmxlVGV4dFZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4gZXh0ZW5kcyBTZWFyY2hhYmxlVmFsdWVGaWVsZHNGb3JtbHlGaWVsZENvbmZpZzxUPiB7XG4gIHNlYXJjaGFibGVGaWVsZDogU2VhcmNoYWJsZVRleHRWYWx1ZUZpZWxkc0ZpZWxkQ29uZmlnPFQ+O1xufVxuXG4vKipcbiAqIERpc3BsYXkgY29tcG9uZW50IGZvciBzZWxlY3RpbmcgYSBzaW5nbGUgaXRlbS92YWx1ZS5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHRlbXBsYXRlVXJsOiAnc2VhcmNoYWJsZS50ZXh0LmZpZWxkLmNvbXBvbmVudC5odG1sJ1xufSlcbmV4cG9ydCBjbGFzcyBEYnhTZWFyY2hhYmxlVGV4dEZpZWxkQ29tcG9uZW50PFQ+IGV4dGVuZHMgQWJzdHJhY3REYnhTZWFyY2hhYmxlVmFsdWVGaWVsZERpcmVjdGl2ZTxULCBTZWFyY2hhYmxlVGV4dFZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWc8VD4+IHtcblxuICByZWFkb25seSBzZWxlY3RlZERpc3BsYXlWYWx1ZSQgPSB0aGlzLmRpc3BsYXlWYWx1ZXMkLnBpcGUobWFwKHggPT4geFswXSksIHNoYXJlUmVwbGF5KDEpLCB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpKTtcbiAgcmVhZG9ubHkgaGFzVmFsdWUkID0gdGhpcy5zZWxlY3RlZERpc3BsYXlWYWx1ZSQucGlwZShtYXAoeCA9PiBCb29sZWFuKHgpKSk7XG4gIHJlYWRvbmx5IHNob3dTZWxlY3RlZERpc3BsYXlWYWx1ZSQgPSB0aGlzLnNlbGVjdGVkRGlzcGxheVZhbHVlJC5waXBlKG1hcCh4ID0+IHRoaXMuc2hvd1NlbGVjdGVkVmFsdWUgJiYgQm9vbGVhbih4KSksIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksIHNoYXJlUmVwbGF5KDEpLCB0YXBEZXRlY3RDaGFuZ2VzKHRoaXMuY2RSZWYpKTtcblxuICBvdmVycmlkZSBnZXQgc2VhcmNoYWJsZUZpZWxkKCk6IFNlYXJjaGFibGVUZXh0VmFsdWVGaWVsZHNGaWVsZENvbmZpZzxUPiB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQuc2VhcmNoYWJsZUZpZWxkO1xuICB9XG5cbiAgZ2V0IHNob3dTZWxlY3RlZFZhbHVlKCkge1xuICAgIHJldHVybiB0aGlzLnNlYXJjaGFibGVGaWVsZC5zaG93U2VsZWN0ZWRWYWx1ZSA/PyAhdGhpcy5hbGxvd1N0cmluZ1ZhbHVlczsgICAgLy8gU2hvdyB0aGUgc2VsZWN0ZWQgdmFsdWUgb25seSBpZiBzdHJpbmcgdmFsdWVzIGFyZSBhbGxvd2VkLlxuICB9XG5cbiAgb3ZlcnJpZGUgcmVhZG9ubHkgbXVsdGlTZWxlY3QgPSBmYWxzZTtcblxuICBwcml2YXRlIF9jbGVhcklucHV0U3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuXG4gIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25Jbml0KCk7XG5cbiAgICB0aGlzLl9jbGVhcklucHV0U3ViLnN1YnNjcmlwdGlvbiA9IHRoaXMuaW5wdXRWYWx1ZSQucGlwZShcbiAgICAgIHNraXBXaGlsZSgoeCkgPT4gIXgpXG4gICAgKS5zdWJzY3JpYmUoKHgpID0+IHtcbiAgICAgIGlmICgheCkge1xuICAgICAgICAvLyB0aGlzLmNsZWFyVmFsdWVzKCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIG92ZXJyaWRlIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgdGhpcy5fY2xlYXJJbnB1dFN1Yi5kZXN0cm95KCk7XG4gIH1cblxuICBzZWxlY3RlZChldmVudDogYW55KTogdm9pZCB7XG4gICAgY29uc3QgZTogTWF0QXV0b2NvbXBsZXRlU2VsZWN0ZWRFdmVudCA9IGV2ZW50O1xuICAgIHRoaXMuYWRkV2l0aERpc3BsYXlWYWx1ZShlLm9wdGlvbi52YWx1ZSk7XG4gIH1cblxufVxuIiwiPGRpdiBjbGFzcz1cImRieC1zZWFyY2hhYmxlLXRleHQtZmllbGRcIlxuICBbbmdDbGFzc109XCJ7ICdkYngtc2VhcmNoYWJsZS10ZXh0LWZpZWxkLWhhcy12YWx1ZSc6IChoYXNWYWx1ZSQgfCBhc3luYyksICdkYngtc2VhcmNoYWJsZS10ZXh0LWZpZWxkLXNob3ctdmFsdWUnOiBzaG93U2VsZWN0ZWRWYWx1ZSB9XCI+XG4gIDwhLS0gUmVzdWx0IFZpZXcgLS0+XG4gIDxkaXYgY2xhc3M9XCJkYngtc2VhcmNoYWJsZS10ZXh0LWZpZWxkLXZhbHVlIG1hdC1vcHRpb24gbWF0LW9wdGlvbi10ZXh0XCIgKm5nSWY9XCJzaG93U2VsZWN0ZWREaXNwbGF5VmFsdWUkIHwgYXN5bmNcIj5cbiAgICA8ZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0gW2Rpc3BsYXlWYWx1ZV09XCIoc2VsZWN0ZWREaXNwbGF5VmFsdWUkIHwgYXN5bmMpIVwiPlxuICAgIDwvZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwiZGJ4LXNlYXJjaGFibGUtdGV4dC1maWVsZC1pbnB1dFwiPlxuICAgIDxkaXYgY2xhc3M9XCJkYngtbGFiZWxcIj5TZWFyY2g8L2Rpdj5cbiAgICA8IS0tIFZpZXcgLS0+XG4gICAgPGlucHV0IHR5cGU9XCJzZWFyY2hcIiBbbmFtZV09XCJuYW1lXCIgbWF0SW5wdXQgI3RleHRJbnB1dCBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIiBbZm9ybUNvbnRyb2xdPVwiaW5wdXRDdHJsXCJcbiAgICAgIFttYXRBdXRvY29tcGxldGVdPVwiYXV0b1wiIFttYXRBdXRvY29tcGxldGVEaXNhYmxlZF09XCJyZWFkb25seVwiIGF1dG9jb21wbGV0ZT1cInt7IGF1dG9jb21wbGV0ZSB9fVwiPlxuICAgIDxkaXYgY2xhc3M9XCJzZWFyY2hhYmxlLWZpZWxkLWZvcm0tbG9hZGluZ1wiPlxuICAgICAgPGRieC1sb2FkaW5nIFtsaW5lYXJdPVwidHJ1ZVwiIFtjb250ZXh0XT1cInNlYXJjaENvbnRleHRcIj48L2RieC1sb2FkaW5nPlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48IS0tIEF1dG9jb21wbGV0ZSAtLT5cbjxtYXQtYXV0b2NvbXBsZXRlIGNsYXNzPVwiZGJ4LXNlYXJjaGFibGUtdGV4dC1maWVsZC1hdXRvY29tcGxldGVcIiAjYXV0byAob3B0aW9uU2VsZWN0ZWQpPVwic2VsZWN0ZWQoJGV2ZW50KVwiPlxuICA8bWF0LW9wdGlvbiAqbmdGb3I9XCJsZXQgZGlzcGxheVZhbHVlIG9mIChzZWFyY2hSZXN1bHRzJCB8IGFzeW5jKVwiIFt2YWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8ZGJ4LXNlYXJjaGFibGUtZmllbGQtYXV0b2NvbXBsZXRlLWl0ZW0gW2Rpc3BsYXlWYWx1ZV09XCJkaXNwbGF5VmFsdWVcIj5cbiAgICA8L2RieC1zZWFyY2hhYmxlLWZpZWxkLWF1dG9jb21wbGV0ZS1pdGVtPlxuICA8L21hdC1vcHRpb24+XG4gIDwhLS0gQWRkL1BpY2sgU3RyaW5nIFZhbHVlIC0tPlxuICA8bWF0LW9wdGlvbiAqbmdJZj1cImFsbG93U3RyaW5nVmFsdWVzICYmIChpbnB1dFZhbHVlJCB8IGFzeW5jKVwiIFt2YWx1ZV09XCJ7IHZhbHVlOiAoaW5wdXRWYWx1ZSQgfCBhc3luYykgfVwiPlxuICAgIDxwIGNsYXNzPVwiZGJ4LWNsZWFyLWhpbnQgdGV4dC1jZW50ZXJcIj5cInt7IGlucHV0VmFsdWUkIHwgYXN5bmMgfX1cIjwvcD5cbiAgPC9tYXQtb3B0aW9uPlxuICA8IS0tIFNob3cgY2xlYXIgdmFsdWUgLS0+XG4gIDxtYXQtb3B0aW9uICpuZ0lmPVwic2hvd0NsZWFyVmFsdWUgJiYgKGhhc1ZhbHVlJCB8IGFzeW5jKVwiIHZhbHVlPVwiXCI+XG4gICAgPHAgY2xhc3M9XCJkYngtY2xlYXItaGludCB0ZXh0LWNlbnRlclwiPkNsZWFyPC9wPlxuICA8L21hdC1vcHRpb24+XG48L21hdC1hdXRvY29tcGxldGU+XG4iXX0=
|
|
@@ -12,4 +12,4 @@ export function chipTextField(config) {
|
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
15
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dC5jaGlwLmZpZWxkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3NlYXJjaGFibGUvdGV4dC5jaGlwLmZpZWxkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUIsT0FBTyxFQUFzQixXQUFXLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFTOUQsTUFBTSxVQUFVLGFBQWEsQ0FBc0MsTUFBUztJQUMxRSxNQUFNLGtCQUFrQixHQUFHLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFFM0csT0FBTyxXQUFXLENBQUk7UUFDcEIsSUFBSSxFQUFFLHFCQUFxQjtRQUMzQixpQkFBaUIsRUFBRSxJQUFJO1FBQ3ZCLGtCQUFrQjtRQUNsQixHQUFHLE1BQU07UUFDVCxlQUFlLEVBQUUsQ0FBQyxNQUEyQyxFQUFFLEVBQUU7WUFDL0QsT0FBTyxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxHQUFHLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiQG5neC1mb3JtbHkvY29yZVwiO1xuaW1wb3J0IHsgb2YgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTGFiZWxlZEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCB9IGZyb20gXCIuLi8uLi9maWVsZFwiO1xuaW1wb3J0IHsgU2VhcmNoYWJsZVZhbHVlRmllbGRWYWx1ZSB9IGZyb20gXCIuL3NlYXJjaGFibGVcIjtcbmltcG9ydCB7IFN0cmluZ1ZhbHVlRmllbGRzRmllbGRDb25maWcsIFN0cmluZ1ZhbHVlRmllbGRzRm9ybWx5RmllbGRDb25maWcgfSBmcm9tIFwiLi9zZWFyY2hhYmxlLmZpZWxkLmRpcmVjdGl2ZVwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIENoaXBUZXh0RmllbGRDb25maWcgZXh0ZW5kcyBMYWJlbGVkRmllbGRDb25maWcsIFN0cmluZ1ZhbHVlRmllbGRzRmllbGRDb25maWcgeyB9XG5leHBvcnQgaW50ZXJmYWNlIENoaXBUZXh0RmllbGRGb3JtbHlDb25maWcgZXh0ZW5kcyBTdHJpbmdWYWx1ZUZpZWxkc0Zvcm1seUZpZWxkQ29uZmlnLCBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNhc2VTZW5zaXRpdmU/OiBib29sZWFuO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY2hpcFRleHRGaWVsZDxDIGV4dGVuZHMgQ2hpcFRleHRGaWVsZEZvcm1seUNvbmZpZz4oY29uZmlnOiBDKTogQyB7XG4gIGNvbnN0IGNvbnZlcnRTdHJpbmdWYWx1ZSA9IChjb25maWcuY2FzZVNlbnNpdGl2ZSkgPyAoKHg6IHN0cmluZykgPT4geCkgOiAoKHg6IHN0cmluZykgPT4geD8udG9Mb3dlckNhc2UoKSk7XG5cbiAgcmV0dXJuIGZvcm1seUZpZWxkPEM+KHtcbiAgICB0eXBlOiAnc2VhcmNoYWJsZWNoaXBmaWVsZCcsXG4gICAgYWxsb3dTdHJpbmdWYWx1ZXM6IHRydWUsXG4gICAgY29udmVydFN0cmluZ1ZhbHVlLFxuICAgIC4uLmNvbmZpZyxcbiAgICBkaXNwbGF5Rm9yVmFsdWU6ICh2YWx1ZXM6IFNlYXJjaGFibGVWYWx1ZUZpZWxkVmFsdWU8c3RyaW5nPltdKSA9PiB7XG4gICAgICByZXR1cm4gb2YodmFsdWVzLm1hcCh4ID0+ICh7IC4uLngsIGxhYmVsOiB4LnZhbHVlIH0pKSk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3NlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblZhbHVlPFQsIE0gPSBhbnk+IHtcbiAgLyoqXG4gKiBWYWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBmaWVsZC5cbiAqL1xuICB2YWx1ZTogVDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1ldGFkYXRhIG9uIHRoZSBmaWVsZC5cbiAgICovXG4gIG1ldGE/OiBNYXliZTxNPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5ZWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uRGlzcGxheVZhbHVlPFQsIE0gPSBhbnk+
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvc2VsZWN0aW9uL3NlbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWF5YmUgfSBmcm9tIFwiQGRlcmVla2IvdXRpbFwiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdGlvblZhbHVlPFQsIE0gPSBhbnk+IHtcbiAgLyoqXG4gKiBWYWx1ZSBhc3NvY2lhdGVkIHdpdGggdGhpcyBmaWVsZC5cbiAqL1xuICB2YWx1ZTogVDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIG1ldGFkYXRhIG9uIHRoZSBmaWVsZC5cbiAgICovXG4gIG1ldGE/OiBNYXliZTxNPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5ZWQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0aW9uRGlzcGxheVZhbHVlPFQsIE0gPSBhbnk+IGV4dGVuZHMgU2VsZWN0aW9uVmFsdWU8VCwgTT4ge1xuICBsYWJlbDogc3RyaW5nO1xuICBzdWJsYWJlbD86IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSB2YWx1ZSBpcyBrbm93bi5cbiAgICovXG4gIGlzVW5rbm93bj86IE1heWJlPGJvb2xlYW4+O1xufVxuXG4vKipcbiAqIFVzZWQgdG8gaGFzaCB0aGUgdmFsdWUgZnJvbSB0aGUgaW5wdXQgcGlja2FibGUgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIFNlbGVjdGlvblZhbHVlSGFzaEZuPFQ+ID0gKHZhbHVlOiBUKSA9PiBhbnk7XG4iXX0=
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { DbxFormFormlyPickableFieldModule } from './pickable/pickable.field.module';
|
|
4
|
+
import { DbxFormFormlySearchableFieldModule } from './searchable/searchable.field.module';
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DbxFormFormlySelectionModule {
|
|
7
|
+
}
|
|
8
|
+
DbxFormFormlySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
9
|
+
DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule,
|
|
10
|
+
DbxFormFormlySearchableFieldModule] });
|
|
11
|
+
DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [[
|
|
12
|
+
CommonModule
|
|
13
|
+
], DbxFormFormlyPickableFieldModule,
|
|
14
|
+
DbxFormFormlySearchableFieldModule] });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
|
|
16
|
+
type: NgModule,
|
|
17
|
+
args: [{
|
|
18
|
+
imports: [
|
|
19
|
+
CommonModule
|
|
20
|
+
],
|
|
21
|
+
declarations: [],
|
|
22
|
+
exports: [
|
|
23
|
+
DbxFormFormlyPickableFieldModule,
|
|
24
|
+
DbxFormFormlySearchableFieldModule
|
|
25
|
+
]
|
|
26
|
+
}]
|
|
27
|
+
}] });
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3NlbGVjdGlvbi9zZWxlY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQ3BGLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHNDQUFzQyxDQUFDOztBQVkxRixNQUFNLE9BQU8sNEJBQTRCOzt5SEFBNUIsNEJBQTRCOzBIQUE1Qiw0QkFBNEIsWUFSckMsWUFBWSxhQUlaLGdDQUFnQztRQUNoQyxrQ0FBa0M7MEhBR3pCLDRCQUE0QixZQVQ5QjtZQUNQLFlBQVk7U0FDYixFQUdDLGdDQUFnQztRQUNoQyxrQ0FBa0M7MkZBR3pCLDRCQUE0QjtrQkFWeEMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTtxQkFDYjtvQkFDRCxZQUFZLEVBQUUsRUFBRTtvQkFDaEIsT0FBTyxFQUFFO3dCQUNQLGdDQUFnQzt3QkFDaEMsa0NBQWtDO3FCQUNuQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgRGJ4Rm9ybUZvcm1seVBpY2thYmxlRmllbGRNb2R1bGUgfSBmcm9tICcuL3BpY2thYmxlL3BpY2thYmxlLmZpZWxkLm1vZHVsZSc7XG5pbXBvcnQgeyBEYnhGb3JtRm9ybWx5U2VhcmNoYWJsZUZpZWxkTW9kdWxlIH0gZnJvbSAnLi9zZWFyY2hhYmxlL3NlYXJjaGFibGUuZmllbGQubW9kdWxlJztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZVxuICBdLFxuICBkZWNsYXJhdGlvbnM6IFtdLFxuICBleHBvcnRzOiBbXG4gICAgRGJ4Rm9ybUZvcm1seVBpY2thYmxlRmllbGRNb2R1bGUsXG4gICAgRGJ4Rm9ybUZvcm1seVNlYXJjaGFibGVGaWVsZE1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1Gb3JtbHlTZWxlY3Rpb25Nb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './texteditor.field.component';
|
|
2
|
+
export * from './texteditor.field.module';
|
|
3
|
+
export * from './texteditor.field';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC90ZXh0ZWRpdG9yL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi90ZXh0ZWRpdG9yLmZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL3RleHRlZGl0b3IuZmllbGQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGVkaXRvci5maWVsZCc7XG4iXX0=
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { CompactContextStore, mapCompactModeObs } from '@dereekb/dbx-web';
|
|
2
|
+
import { Component, Optional } from '@angular/core';
|
|
3
|
+
import { FieldType } from '@ngx-formly/material';
|
|
4
|
+
import { Editor } from 'ngx-editor';
|
|
5
|
+
import { debounceTime, filter } from 'rxjs/operators';
|
|
6
|
+
import { SubscriptionObject } from '@dereekb/rxjs';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@dereekb/dbx-web";
|
|
9
|
+
import * as i2 from "ngx-editor";
|
|
10
|
+
import * as i3 from "@angular/common";
|
|
11
|
+
import * as i4 from "@angular/forms";
|
|
12
|
+
export class DbxTextEditorFieldComponent extends FieldType {
|
|
13
|
+
constructor(compact) {
|
|
14
|
+
super();
|
|
15
|
+
this.compact = compact;
|
|
16
|
+
this._sub = new SubscriptionObject();
|
|
17
|
+
this.compactClass$ = mapCompactModeObs(this.compact?.mode$, {
|
|
18
|
+
compact: 'dbx-texteditor-field-compact'
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
get formGroupName() {
|
|
22
|
+
return this.field.key;
|
|
23
|
+
}
|
|
24
|
+
get formGroup() {
|
|
25
|
+
return this.form;
|
|
26
|
+
}
|
|
27
|
+
get editor() {
|
|
28
|
+
return this._editor;
|
|
29
|
+
}
|
|
30
|
+
get label() {
|
|
31
|
+
return this.field.templateOptions?.label;
|
|
32
|
+
}
|
|
33
|
+
get description() {
|
|
34
|
+
return this.to.description;
|
|
35
|
+
}
|
|
36
|
+
ngOnInit() {
|
|
37
|
+
super.ngOnInit();
|
|
38
|
+
this._editor = new Editor({});
|
|
39
|
+
// Watch for value changes every second and update the pristine level.
|
|
40
|
+
this._sub.subscription = this.editor.valueChanges.pipe(debounceTime(100), filter(_ => this.editor.view.hasFocus())).subscribe(() => {
|
|
41
|
+
this.formControl.updateValueAndValidity();
|
|
42
|
+
this.formControl.markAsDirty();
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
ngOnDestroy() {
|
|
46
|
+
super.ngOnDestroy();
|
|
47
|
+
if (this.editor) {
|
|
48
|
+
this.editor.destroy();
|
|
49
|
+
delete this._editor;
|
|
50
|
+
}
|
|
51
|
+
this._sub.destroy();
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
DbxTextEditorFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxTextEditorFieldComponent, deps: [{ token: i1.CompactContextStore, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
55
|
+
DbxTextEditorFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxTextEditorFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
56
|
+
<div class="dbx-texteditor-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
57
|
+
<dbx-label *ngIf="label">{{ label }}</dbx-label>
|
|
58
|
+
<div class="dbx-texteditor-field-input">
|
|
59
|
+
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
60
|
+
</div>
|
|
61
|
+
<div class="dbx-texteditor-field-menu">
|
|
62
|
+
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
63
|
+
</div>
|
|
64
|
+
<div>
|
|
65
|
+
<dbx-hint *ngIf="description">{{ description }}</dbx-hint>
|
|
66
|
+
</div>
|
|
67
|
+
</div>
|
|
68
|
+
`, isInline: true, components: [{ type: i1.DbxLabelComponent, selector: "dbx-label" }, { type: i2.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { type: i2.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { type: i1.DbxHintComponent, selector: "dbx-hint" }], directives: [{ type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], pipes: { "async": i3.AsyncPipe } });
|
|
69
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxTextEditorFieldComponent, decorators: [{
|
|
70
|
+
type: Component,
|
|
71
|
+
args: [{
|
|
72
|
+
template: `
|
|
73
|
+
<div class="dbx-texteditor-field" [ngClass]="(compactClass$ | async) ?? ''" [formGroup]="formGroup">
|
|
74
|
+
<dbx-label *ngIf="label">{{ label }}</dbx-label>
|
|
75
|
+
<div class="dbx-texteditor-field-input">
|
|
76
|
+
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
77
|
+
</div>
|
|
78
|
+
<div class="dbx-texteditor-field-menu">
|
|
79
|
+
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
80
|
+
</div>
|
|
81
|
+
<div>
|
|
82
|
+
<dbx-hint *ngIf="description">{{ description }}</dbx-hint>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
`
|
|
86
|
+
}]
|
|
87
|
+
}], ctorParameters: function () { return [{ type: i1.CompactContextStore, decorators: [{
|
|
88
|
+
type: Optional
|
|
89
|
+
}] }]; } });
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVkaXRvci5maWVsZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC90ZXh0ZWRpdG9yL3RleHRlZGl0b3IuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFFLE9BQU8sRUFDTCxTQUFTLEVBQXFCLFFBQVEsRUFDdkMsTUFBTSxlQUFlLENBQUM7QUFFdkIsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQXFCbkQsTUFBTSxPQUFPLDJCQUF1RyxTQUFRLFNBQThCO0lBU3hKLFlBQWlDLE9BQTRCO1FBQzNELEtBQUssRUFBRSxDQUFDO1FBRHVCLFlBQU8sR0FBUCxPQUFPLENBQXFCO1FBTnJELFNBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFFL0Isa0JBQWEsR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLEtBQUssRUFBRTtZQUM5RCxPQUFPLEVBQUUsOEJBQThCO1NBQ3hDLENBQUMsQ0FBQztJQUlILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBYSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFpQixDQUFDO0lBQ2hDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxPQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDO0lBQzNDLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0lBQzdCLENBQUM7SUFFUSxRQUFRO1FBQ2YsS0FBSyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRWpCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFFOUIsc0VBQXNFO1FBQ3RFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FDcEQsWUFBWSxDQUFDLEdBQUcsQ0FBQyxFQUNqQixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUN6QyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7WUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFUSxXQUFXO1FBQ2xCLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUVwQixJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDZixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ3RCLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztTQUNyQjtRQUNELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDdEIsQ0FBQzs7d0hBeERVLDJCQUEyQjs0R0FBM0IsMkJBQTJCLDJFQWY1Qjs7Ozs7Ozs7Ozs7OztHQWFUOzJGQUVVLDJCQUEyQjtrQkFoQnZDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7O0dBYVQ7aUJBQ0Y7OzBCQVVjLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDb21wYWN0Q29udGV4dFN0b3JlLCBtYXBDb21wYWN0TW9kZU9icyB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGVDb25maWcsIEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBGaWVsZFR5cGUgfSBmcm9tICdAbmd4LWZvcm1seS9tYXRlcmlhbCc7XG5pbXBvcnQgeyBFZGl0b3IgfSBmcm9tICduZ3gtZWRpdG9yJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uT2JqZWN0IH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFRleHRFZGl0b3JDb21wb25lbnRGaWVsZENvbmZpZyBleHRlbmRzIEZvcm1seUZpZWxkQ29uZmlnIHsgfVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LXRleHRlZGl0b3ItZmllbGRcIiBbbmdDbGFzc109XCIoY29tcGFjdENsYXNzJCB8IGFzeW5jKSA/PyAnJ1wiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICA8ZGJ4LWxhYmVsICpuZ0lmPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvZGJ4LWxhYmVsPlxuICAgICAgPGRpdiBjbGFzcz1cImRieC10ZXh0ZWRpdG9yLWZpZWxkLWlucHV0XCI+XG4gICAgICAgIDxuZ3gtZWRpdG9yIFtlZGl0b3JdPVwiZWRpdG9yXCIgb3V0cHV0Rm9ybWF0PVwiaHRtbFwiIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiIFtmb3JtQ29udHJvbE5hbWVdPVwiZm9ybUdyb3VwTmFtZVwiPjwvbmd4LWVkaXRvcj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cImRieC10ZXh0ZWRpdG9yLWZpZWxkLW1lbnVcIj5cbiAgICAgICAgPG5neC1lZGl0b3ItbWVudSBbZWRpdG9yXT1cImVkaXRvclwiPjwvbmd4LWVkaXRvci1tZW51PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2PlxuICAgICAgICA8ZGJ4LWhpbnQgKm5nSWY9XCJkZXNjcmlwdGlvblwiPnt7IGRlc2NyaXB0aW9uIH19PC9kYngtaGludD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieFRleHRFZGl0b3JGaWVsZENvbXBvbmVudDxUIGV4dGVuZHMgVGV4dEVkaXRvckNvbXBvbmVudEZpZWxkQ29uZmlnID0gVGV4dEVkaXRvckNvbXBvbmVudEZpZWxkQ29uZmlnPiBleHRlbmRzIEZpZWxkVHlwZTxUICYgRmllbGRUeXBlQ29uZmlnPiBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcblxuICBwcml2YXRlIF9lZGl0b3I/OiBFZGl0b3I7XG4gIHByaXZhdGUgX3N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICByZWFkb25seSBjb21wYWN0Q2xhc3MkID0gbWFwQ29tcGFjdE1vZGVPYnModGhpcy5jb21wYWN0Py5tb2RlJCwge1xuICAgIGNvbXBhY3Q6ICdkYngtdGV4dGVkaXRvci1maWVsZC1jb21wYWN0J1xuICB9KTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSByZWFkb25seSBjb21wYWN0OiBDb21wYWN0Q29udGV4dFN0b3JlKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXBOYW1lKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQua2V5IGFzIHN0cmluZztcbiAgfVxuXG4gIGdldCBmb3JtR3JvdXAoKTogRm9ybUdyb3VwIHtcbiAgICByZXR1cm4gdGhpcy5mb3JtIGFzIEZvcm1Hcm91cDtcbiAgfVxuXG4gIGdldCBlZGl0b3IoKTogRWRpdG9yIHtcbiAgICByZXR1cm4gdGhpcy5fZWRpdG9yITtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBNYXliZTxzdHJpbmc+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/LmxhYmVsO1xuICB9XG5cbiAgZ2V0IGRlc2NyaXB0aW9uKCk6IE1heWJlPHN0cmluZz4ge1xuICAgIHJldHVybiB0aGlzLnRvLmRlc2NyaXB0aW9uO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkluaXQoKTtcblxuICAgIHRoaXMuX2VkaXRvciA9IG5ldyBFZGl0b3Ioe30pO1xuXG4gICAgLy8gV2F0Y2ggZm9yIHZhbHVlIGNoYW5nZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgdGhlIHByaXN0aW5lIGxldmVsLlxuICAgIHRoaXMuX3N1Yi5zdWJzY3JpcHRpb24gPSB0aGlzLmVkaXRvci52YWx1ZUNoYW5nZXMucGlwZShcbiAgICAgIGRlYm91bmNlVGltZSgxMDApLFxuICAgICAgZmlsdGVyKF8gPT4gdGhpcy5lZGl0b3Iudmlldy5oYXNGb2N1cygpKVxuICAgICkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgIHRoaXMuZm9ybUNvbnRyb2wudXBkYXRlVmFsdWVBbmRWYWxpZGl0eSgpO1xuICAgICAgdGhpcy5mb3JtQ29udHJvbC5tYXJrQXNEaXJ0eSgpO1xuICAgIH0pO1xuICB9XG5cbiAgb3ZlcnJpZGUgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgc3VwZXIubmdPbkRlc3Ryb3koKTtcblxuICAgIGlmICh0aGlzLmVkaXRvcikge1xuICAgICAgdGhpcy5lZGl0b3IuZGVzdHJveSgpO1xuICAgICAgZGVsZXRlIHRoaXMuX2VkaXRvcjtcbiAgICB9XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { formlyField, templateOptionsForFieldConfig } from '../field';
|
|
2
|
+
export function textEditorField(config) {
|
|
3
|
+
const { key, minLength, maxLength } = config;
|
|
4
|
+
const fieldConfig = formlyField({
|
|
5
|
+
key,
|
|
6
|
+
type: 'texteditor',
|
|
7
|
+
defaultValue: '',
|
|
8
|
+
modelOptions: {
|
|
9
|
+
// https://formly.dev/examples/validation/async-validation-update-on
|
|
10
|
+
// Set to trigger value update on blurs with the form. However, the value is set internally too.
|
|
11
|
+
updateOn: 'blur'
|
|
12
|
+
},
|
|
13
|
+
...templateOptionsForFieldConfig(config, {
|
|
14
|
+
minLength,
|
|
15
|
+
maxLength
|
|
16
|
+
})
|
|
17
|
+
});
|
|
18
|
+
return fieldConfig;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVkaXRvci5maWVsZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1mb3JtL3NyYy9saWIvZm9ybWx5L2ZpZWxkL3RleHRlZGl0b3IvdGV4dGVkaXRvci5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQXNCLFdBQVcsRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUsxRixNQUFNLFVBQVUsZUFBZSxDQUFDLE1BQTZCO0lBQzNELE1BQU0sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUM3QyxNQUFNLFdBQVcsR0FBc0IsV0FBVyxDQUFDO1FBQ2pELEdBQUc7UUFDSCxJQUFJLEVBQUUsWUFBWTtRQUNsQixZQUFZLEVBQUUsRUFBRTtRQUNoQixZQUFZLEVBQUU7WUFDWixvRUFBb0U7WUFDcEUsZ0dBQWdHO1lBQ2hHLFFBQVEsRUFBRSxNQUFNO1NBQ2pCO1FBQ0QsR0FBRyw2QkFBNkIsQ0FBQyxNQUFNLEVBQUU7WUFDdkMsU0FBUztZQUNULFNBQVM7U0FDVixDQUFDO0tBQ0gsQ0FBQyxDQUFDO0lBRUgsT0FBTyxXQUFXLENBQUM7QUFDckIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlc2NyaXB0aW9uRmllbGRDb25maWcgfSBmcm9tICcuLy4uL2ZpZWxkJztcbmltcG9ydCB7IEZvcm1seUZpZWxkQ29uZmlnIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBMYWJlbGVkRmllbGRDb25maWcsIGZvcm1seUZpZWxkLCB0ZW1wbGF0ZU9wdGlvbnNGb3JGaWVsZENvbmZpZyB9IGZyb20gJy4uL2ZpZWxkJztcbmltcG9ydCB7IFRleHRGaWVsZExlbmd0aENvbmZpZyB9IGZyb20gJy4uL3ZhbHVlL3RleHQvdGV4dC5maWVsZCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGV4dEVkaXRvckZpZWxkQ29uZmlnIGV4dGVuZHMgTGFiZWxlZEZpZWxkQ29uZmlnLCBEZXNjcmlwdGlvbkZpZWxkQ29uZmlnLCBUZXh0RmllbGRMZW5ndGhDb25maWcgeyB9XG5cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0RWRpdG9yRmllbGQoY29uZmlnOiBUZXh0RWRpdG9yRmllbGRDb25maWcpOiBGb3JtbHlGaWVsZENvbmZpZyB7XG4gIGNvbnN0IHsga2V5LCBtaW5MZW5ndGgsIG1heExlbmd0aCB9ID0gY29uZmlnO1xuICBjb25zdCBmaWVsZENvbmZpZzogRm9ybWx5RmllbGRDb25maWcgPSBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICd0ZXh0ZWRpdG9yJyxcbiAgICBkZWZhdWx0VmFsdWU6ICcnLCAgIC8vIFNldCB0byBhbHdheXMgZ2V0IGEgc3RyaW5nIGFzIGEgcmVzdWx0LlxuICAgIG1vZGVsT3B0aW9uczoge1xuICAgICAgLy8gaHR0cHM6Ly9mb3JtbHkuZGV2L2V4YW1wbGVzL3ZhbGlkYXRpb24vYXN5bmMtdmFsaWRhdGlvbi11cGRhdGUtb25cbiAgICAgIC8vIFNldCB0byB0cmlnZ2VyIHZhbHVlIHVwZGF0ZSBvbiBibHVycyB3aXRoIHRoZSBmb3JtLiBIb3dldmVyLCB0aGUgdmFsdWUgaXMgc2V0IGludGVybmFsbHkgdG9vLlxuICAgICAgdXBkYXRlT246ICdibHVyJ1xuICAgIH0sXG4gICAgLi4udGVtcGxhdGVPcHRpb25zRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICBtaW5MZW5ndGgsXG4gICAgICBtYXhMZW5ndGhcbiAgICB9KVxuICB9KTtcblxuICByZXR1cm4gZmllbGRDb25maWc7XG59XG4iXX0=
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { DbxTextModule } from '@dereekb/dbx-web';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
|
+
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
6
|
+
import { MatInputModule } from '@angular/material/input';
|
|
7
|
+
import { FormlyModule } from '@ngx-formly/core';
|
|
8
|
+
import { NgxEditorModule } from 'ngx-editor';
|
|
9
|
+
import { DbxTextEditorFieldComponent } from './texteditor.field.component';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@ngx-formly/core";
|
|
12
|
+
export class DbxFormFormlyTextEditorFieldModule {
|
|
13
|
+
}
|
|
14
|
+
DbxFormFormlyTextEditorFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
15
|
+
DbxFormFormlyTextEditorFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, declarations: [DbxTextEditorFieldComponent], imports: [CommonModule,
|
|
16
|
+
DbxTextModule,
|
|
17
|
+
FormsModule,
|
|
18
|
+
ReactiveFormsModule,
|
|
19
|
+
NgxEditorModule,
|
|
20
|
+
MatFormFieldModule,
|
|
21
|
+
MatInputModule, i1.FormlyModule] });
|
|
22
|
+
DbxFormFormlyTextEditorFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [[
|
|
23
|
+
CommonModule,
|
|
24
|
+
DbxTextModule,
|
|
25
|
+
FormsModule,
|
|
26
|
+
ReactiveFormsModule,
|
|
27
|
+
NgxEditorModule,
|
|
28
|
+
MatFormFieldModule,
|
|
29
|
+
MatInputModule,
|
|
30
|
+
FormlyModule.forChild({
|
|
31
|
+
types: [
|
|
32
|
+
{ name: 'texteditor', component: DbxTextEditorFieldComponent }
|
|
33
|
+
]
|
|
34
|
+
})
|
|
35
|
+
]] });
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, decorators: [{
|
|
37
|
+
type: NgModule,
|
|
38
|
+
args: [{
|
|
39
|
+
imports: [
|
|
40
|
+
CommonModule,
|
|
41
|
+
DbxTextModule,
|
|
42
|
+
FormsModule,
|
|
43
|
+
ReactiveFormsModule,
|
|
44
|
+
NgxEditorModule,
|
|
45
|
+
MatFormFieldModule,
|
|
46
|
+
MatInputModule,
|
|
47
|
+
FormlyModule.forChild({
|
|
48
|
+
types: [
|
|
49
|
+
{ name: 'texteditor', component: DbxTextEditorFieldComponent }
|
|
50
|
+
]
|
|
51
|
+
})
|
|
52
|
+
],
|
|
53
|
+
declarations: [
|
|
54
|
+
DbxTextEditorFieldComponent
|
|
55
|
+
],
|
|
56
|
+
exports: []
|
|
57
|
+
}]
|
|
58
|
+
}] });
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGV4dGVkaXRvci5maWVsZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC90ZXh0ZWRpdG9yL3RleHRlZGl0b3IuZmllbGQubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBQzdDLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFzQjNFLE1BQU0sT0FBTyxrQ0FBa0M7OytIQUFsQyxrQ0FBa0M7Z0lBQWxDLGtDQUFrQyxpQkFKM0MsMkJBQTJCLGFBZDNCLFlBQVk7UUFDWixhQUFhO1FBQ2IsV0FBVztRQUNYLG1CQUFtQjtRQUNuQixlQUFlO1FBQ2Ysa0JBQWtCO1FBQ2xCLGNBQWM7Z0lBWUwsa0NBQWtDLFlBbkJwQztZQUNQLFlBQVk7WUFDWixhQUFhO1lBQ2IsV0FBVztZQUNYLG1CQUFtQjtZQUNuQixlQUFlO1lBQ2Ysa0JBQWtCO1lBQ2xCLGNBQWM7WUFDZCxZQUFZLENBQUMsUUFBUSxDQUFDO2dCQUNwQixLQUFLLEVBQUU7b0JBQ0wsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRTtpQkFDL0Q7YUFDRixDQUFDO1NBQ0g7MkZBTVUsa0NBQWtDO2tCQXBCOUMsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixhQUFhO3dCQUNiLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUNuQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsY0FBYzt3QkFDZCxZQUFZLENBQUMsUUFBUSxDQUFDOzRCQUNwQixLQUFLLEVBQUU7Z0NBQ0wsRUFBRSxJQUFJLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSwyQkFBMkIsRUFBRTs2QkFDL0Q7eUJBQ0YsQ0FBQztxQkFDSDtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osMkJBQTJCO3FCQUM1QjtvQkFDRCxPQUFPLEVBQUUsRUFBRTtpQkFDWiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieFRleHRNb2R1bGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRm9ybXNNb2R1bGUsIFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXRGb3JtRmllbGRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkJztcbmltcG9ydCB7IE1hdElucHV0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaW5wdXQnO1xuaW1wb3J0IHsgRm9ybWx5TW9kdWxlIH0gZnJvbSAnQG5neC1mb3JtbHkvY29yZSc7XG5pbXBvcnQgeyBOZ3hFZGl0b3JNb2R1bGUgfSBmcm9tICduZ3gtZWRpdG9yJztcbmltcG9ydCB7IERieFRleHRFZGl0b3JGaWVsZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dGVkaXRvci5maWVsZC5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIERieFRleHRNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICBOZ3hFZGl0b3JNb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIEZvcm1seU1vZHVsZS5mb3JDaGlsZCh7XG4gICAgICB0eXBlczogW1xuICAgICAgICB7IG5hbWU6ICd0ZXh0ZWRpdG9yJywgY29tcG9uZW50OiBEYnhUZXh0RWRpdG9yRmllbGRDb21wb25lbnQgfVxuICAgICAgXVxuICAgIH0pXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW1xuICAgIERieFRleHRFZGl0b3JGaWVsZENvbXBvbmVudFxuICBdLFxuICBleHBvcnRzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGb3JtRm9ybWx5VGV4dEVkaXRvckZpZWxkTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,22 +1,25 @@
|
|
|
1
1
|
import { Component } from '@angular/core';
|
|
2
|
+
import { getValueFromObjectOrGetter } from '@dereekb/util';
|
|
2
3
|
import { FieldArrayType } from '@ngx-formly/core';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@dereekb/dbx-web";
|
|
5
|
-
import * as i2 from "@
|
|
6
|
-
import * as i3 from "@angular/material/
|
|
7
|
-
import * as i4 from "@
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
import * as i2 from "@angular/material/button";
|
|
7
|
+
import * as i3 from "@angular/material/icon";
|
|
8
|
+
import * as i4 from "@ngx-formly/core";
|
|
9
|
+
import * as i5 from "@angular/cdk/drag-drop";
|
|
10
|
+
import * as i6 from "@angular/common";
|
|
11
|
+
export class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
12
|
+
get repeatArrayField() {
|
|
13
|
+
return this.field.repeatArrayField;
|
|
11
14
|
}
|
|
12
|
-
get
|
|
13
|
-
return this.
|
|
15
|
+
get label() {
|
|
16
|
+
return this.field.templateOptions.label ?? this.field.key;
|
|
14
17
|
}
|
|
15
18
|
get addText() {
|
|
16
|
-
return this.
|
|
19
|
+
return this.repeatArrayField.addText ?? 'Add';
|
|
17
20
|
}
|
|
18
21
|
get removeText() {
|
|
19
|
-
return this.
|
|
22
|
+
return this.repeatArrayField.removeText ?? 'Remove';
|
|
20
23
|
}
|
|
21
24
|
get max() {
|
|
22
25
|
return this.field.templateOptions?.maxLength;
|
|
@@ -33,55 +36,88 @@ export class DbxFormRepeatTypeComponent extends FieldArrayType {
|
|
|
33
36
|
return (this.count < max);
|
|
34
37
|
}
|
|
35
38
|
}
|
|
39
|
+
/**
|
|
40
|
+
* Moves the target index up one value.
|
|
41
|
+
*
|
|
42
|
+
* @param index
|
|
43
|
+
*/
|
|
44
|
+
moveUp(index) {
|
|
45
|
+
if (index === 0) {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
this.swapIndexes(index, index - 1);
|
|
49
|
+
}
|
|
50
|
+
moveDown(index) {
|
|
51
|
+
this.swapIndexes(index, index + 1);
|
|
52
|
+
}
|
|
53
|
+
swapIndexes(currentIndex, targetIndex) {
|
|
54
|
+
const array = this.model;
|
|
55
|
+
const targetValue = array[currentIndex];
|
|
56
|
+
if (!targetValue) {
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
this.remove(currentIndex);
|
|
60
|
+
this.add(targetIndex, targetValue);
|
|
61
|
+
}
|
|
62
|
+
drop(event) {
|
|
63
|
+
this.swapIndexes(event.previousIndex, event.currentIndex);
|
|
64
|
+
}
|
|
65
|
+
labelForItem(field) {
|
|
66
|
+
return getValueFromObjectOrGetter(this.repeatArrayField.labelForField ?? '', field);
|
|
67
|
+
}
|
|
36
68
|
}
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
<div class="form-repeat-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
<
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
<
|
|
46
|
-
|
|
47
|
-
|
|
69
|
+
DbxFormRepeatArrayTypeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
70
|
+
DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.0", type: DbxFormRepeatArrayTypeComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
71
|
+
<div class="dbx-form-repeat-array">
|
|
72
|
+
<dbx-subsection [header]="label">
|
|
73
|
+
<!-- Fields -->
|
|
74
|
+
<div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
|
|
75
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last;">
|
|
76
|
+
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
|
|
77
|
+
<dbx-bar>
|
|
78
|
+
<button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
|
|
79
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
80
|
+
<h4><span class="repeat-array-number">{{ i + 1 }}</span><span>{{ labelForItem(field) }}</span></h4>
|
|
81
|
+
<span class="dbx-spacer"></span>
|
|
82
|
+
<button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
|
|
83
|
+
</dbx-bar>
|
|
84
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
48
85
|
</div>
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
<div class="form-repeat-section-footer">
|
|
56
|
-
<button *ngIf="canAdd" mat-button (click)="add()">{{ addText }}</button>
|
|
57
|
-
</div>
|
|
86
|
+
</div>
|
|
87
|
+
<!-- Add Button -->
|
|
88
|
+
<div class="dbx-form-repeat-array-footer">
|
|
89
|
+
<button *ngIf="canAdd" mat-raised-button (click)="add()">{{ addText }}</button>
|
|
90
|
+
</div>
|
|
91
|
+
</dbx-subsection>
|
|
58
92
|
</div>
|
|
59
|
-
`, isInline: true, components: [{ type: i1.DbxButtonSpacerComponent, selector: "dbx-button-spacer" }, { type:
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type:
|
|
93
|
+
`, isInline: true, components: [{ type: i1.DbxSubSectionComponent, selector: "dbx-subsection" }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1.DbxButtonSpacerComponent, selector: "dbx-button-spacer" }, { type: i4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i5.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { type: i5.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i1.DbxBarDirective, selector: "dbx-bar", inputs: ["color"] }, { type: i5.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.0", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
|
|
61
95
|
type: Component,
|
|
62
96
|
args: [{
|
|
63
97
|
template: `
|
|
64
|
-
<div class="form-repeat-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
<
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
<
|
|
71
|
-
|
|
72
|
-
|
|
98
|
+
<div class="dbx-form-repeat-array">
|
|
99
|
+
<dbx-subsection [header]="label">
|
|
100
|
+
<!-- Fields -->
|
|
101
|
+
<div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
|
|
102
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last;">
|
|
103
|
+
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
|
|
104
|
+
<dbx-bar>
|
|
105
|
+
<button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
|
|
106
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
107
|
+
<h4><span class="repeat-array-number">{{ i + 1 }}</span><span>{{ labelForItem(field) }}</span></h4>
|
|
108
|
+
<span class="dbx-spacer"></span>
|
|
109
|
+
<button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
|
|
110
|
+
</dbx-bar>
|
|
111
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
73
112
|
</div>
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<div class="form-repeat-section-footer">
|
|
81
|
-
<button *ngIf="canAdd" mat-button (click)="add()">{{ addText }}</button>
|
|
82
|
-
</div>
|
|
113
|
+
</div>
|
|
114
|
+
<!-- Add Button -->
|
|
115
|
+
<div class="dbx-form-repeat-array-footer">
|
|
116
|
+
<button *ngIf="canAdd" mat-raised-button (click)="add()">{{ addText }}</button>
|
|
117
|
+
</div>
|
|
118
|
+
</dbx-subsection>
|
|
83
119
|
</div>
|
|
84
120
|
`
|
|
85
121
|
}]
|
|
86
122
|
}] });
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
123
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZvcm0vc3JjL2xpYi9mb3JtbHkvZmllbGQvdmFsdWUvYXJyYXkvYXJyYXkuZmllbGQuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFtQiwwQkFBMEIsRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUNuRixPQUFPLEVBQXdCLGNBQWMsRUFBNEMsTUFBTSxrQkFBa0IsQ0FBQzs7Ozs7Ozs7QUFzQ2xILE1BQU0sT0FBTywrQkFBZ0MsU0FBUSxjQUE4QztJQUVqRyxJQUFJLGdCQUFnQjtRQUNsQixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBYSxDQUFDO0lBQ3RFLENBQUM7SUFFRCxJQUFJLE9BQU87UUFDVCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLElBQUksS0FBSyxDQUFDO0lBQ2hELENBQUM7SUFFRCxJQUFJLFVBQVU7UUFDWixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLElBQUksUUFBUSxDQUFDO0lBQ3RELENBQUM7SUFFRCxJQUFJLEdBQUc7UUFDTCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLFNBQVMsQ0FBQztJQUMvQyxDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLElBQUksQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDO1FBRXJCLElBQUksR0FBRyxJQUFJLElBQUksRUFBRTtZQUNmLE9BQU8sSUFBSSxDQUFDO1NBQ2I7YUFBTTtZQUNMLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsQ0FBQyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQztJQUVEOzs7O09BSUc7SUFDSCxNQUFNLENBQUMsS0FBYTtRQUNsQixJQUFJLEtBQUssS0FBSyxDQUFDLEVBQUU7WUFDZixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELFFBQVEsQ0FBQyxLQUFhO1FBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSyxFQUFFLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFlBQW9CLEVBQUUsV0FBbUI7UUFDbkQsTUFBTSxLQUFLLEdBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUNoQyxNQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFeEMsSUFBSSxDQUFDLFdBQVcsRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCxJQUFJLENBQUMsS0FBdUI7UUFDMUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQXdCO1FBQ25DLE9BQU8sMEJBQTBCLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsSUFBSSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDdEYsQ0FBQzs7NEhBdkVVLCtCQUErQjtnSEFBL0IsK0JBQStCLDJFQXpCaEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJUOzJGQUVVLCtCQUErQjtrQkExQjNDLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXVCVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENka0RyYWdEcm9wIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2RyYWctZHJvcCc7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEdldHRlcldpdGhJbnB1dCwgZ2V0VmFsdWVGcm9tT2JqZWN0T3JHZXR0ZXIsIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBGaWVsZEFycmF5VHlwZUNvbmZpZywgRmllbGRBcnJheVR5cGUsIEZvcm1seVRlbXBsYXRlT3B0aW9ucywgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGb3JtUmVwZWF0QXJyYXlDb25maWcge1xuICBsYWJlbEZvckZpZWxkPzogc3RyaW5nIHwgR2V0dGVyV2l0aElucHV0PHN0cmluZywgRm9ybWx5RmllbGRDb25maWc+O1xuICBhZGRUZXh0Pzogc3RyaW5nO1xuICByZW1vdmVUZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIERieEZvcm1SZXBlYXRBcnJheUZvcm1seUNvbmZpZyBleHRlbmRzIEZpZWxkQXJyYXlUeXBlQ29uZmlnIHtcbiAgcmVwZWF0QXJyYXlGaWVsZDogRGJ4Rm9ybVJlcGVhdEFycmF5Q29uZmlnO1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiZGJ4LWZvcm0tcmVwZWF0LWFycmF5XCI+XG4gICAgICA8ZGJ4LXN1YnNlY3Rpb24gW2hlYWRlcl09XCJsYWJlbFwiPlxuICAgICAgICA8IS0tIEZpZWxkcyAtLT5cbiAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1maWVsZHNcIiBjZGtEcm9wTGlzdCAoY2RrRHJvcExpc3REcm9wcGVkKT1cImRyb3AoJGV2ZW50KVwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImRieC1mb3JtLXJlcGVhdC1hcnJheS1maWVsZFwiIGNka0RyYWcgY2RrRHJhZ0xvY2tBeGlzPVwieVwiICpuZ0Zvcj1cImxldCBmaWVsZCBvZiBmaWVsZC5maWVsZEdyb3VwOyBsZXQgaSA9IGluZGV4OyBsZXQgbGFzdCA9IGxhc3Q7XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJleGFtcGxlLWN1c3RvbS1wbGFjZWhvbGRlclwiICpjZGtEcmFnUGxhY2Vob2xkZXI+PC9kaXY+XG4gICAgICAgICAgICAgIDxkYngtYmFyPlxuICAgICAgICAgICAgICAgIDxidXR0b24gY2RrRHJhZ0hhbmRsZSBtYXQtZmxhdC1idXR0b24+PG1hdC1pY29uPmRyYWdfaGFuZGxlPC9tYXQtaWNvbj48L2J1dHRvbj5cbiAgICAgICAgICAgICAgICA8ZGJ4LWJ1dHRvbi1zcGFjZXI+PC9kYngtYnV0dG9uLXNwYWNlcj5cbiAgICAgICAgICAgICAgICA8aDQ+PHNwYW4gY2xhc3M9XCJyZXBlYXQtYXJyYXktbnVtYmVyXCI+e3sgaSArIDEgfX08L3NwYW4+PHNwYW4+e3sgbGFiZWxGb3JJdGVtKGZpZWxkKSB9fTwvc3Bhbj48L2g0PlxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZGJ4LXNwYWNlclwiPjwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8YnV0dG9uIG1hdC1mbGF0LWJ1dHRvbiBjb2xvcj1cIndhcm5cIiAoY2xpY2spPVwicmVtb3ZlKGkpXCI+e3sgcmVtb3ZlVGV4dCB9fTwvYnV0dG9uPlxuICAgICAgICAgICAgICA8L2RieC1iYXI+XG4gICAgICAgICAgICAgIDxmb3JtbHktZmllbGQgY2xhc3M9XCJkYngtZm9ybS1yZXBlYXQtYXJyYXktZmllbGQtY29udGVudFwiIFtmaWVsZF09XCJmaWVsZFwiPjwvZm9ybWx5LWZpZWxkPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8IS0tIEFkZCBCdXR0b24gLS0+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJkYngtZm9ybS1yZXBlYXQtYXJyYXktZm9vdGVyXCI+XG4gICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImNhbkFkZFwiIG1hdC1yYWlzZWQtYnV0dG9uIChjbGljayk9XCJhZGQoKVwiPnt7IGFkZFRleHQgfX08L2J1dHRvbj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2RieC1zdWJzZWN0aW9uPlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieEZvcm1SZXBlYXRBcnJheVR5cGVDb21wb25lbnQgZXh0ZW5kcyBGaWVsZEFycmF5VHlwZTxEYnhGb3JtUmVwZWF0QXJyYXlGb3JtbHlDb25maWc+e1xuXG4gIGdldCByZXBlYXRBcnJheUZpZWxkKCk6IERieEZvcm1SZXBlYXRBcnJheUNvbmZpZyB7XG4gICAgcmV0dXJuIHRoaXMuZmllbGQucmVwZWF0QXJyYXlGaWVsZDtcbiAgfVxuXG4gIGdldCBsYWJlbCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLnRlbXBsYXRlT3B0aW9ucy5sYWJlbCA/PyB0aGlzLmZpZWxkLmtleSBhcyBzdHJpbmc7XG4gIH1cblxuICBnZXQgYWRkVGV4dCgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnJlcGVhdEFycmF5RmllbGQuYWRkVGV4dCA/PyAnQWRkJztcbiAgfVxuXG4gIGdldCByZW1vdmVUZXh0KCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMucmVwZWF0QXJyYXlGaWVsZC5yZW1vdmVUZXh0ID8/ICdSZW1vdmUnO1xuICB9XG5cbiAgZ2V0IG1heCgpOiBNYXliZTxudW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5maWVsZC50ZW1wbGF0ZU9wdGlvbnM/Lm1heExlbmd0aDtcbiAgfVxuXG4gIGdldCBjb3VudCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLmZpZWxkLmZpZWxkR3JvdXA/Lmxlbmd0aCA/PyAwO1xuICB9XG5cbiAgZ2V0IGNhbkFkZCgpOiBib29sZWFuIHtcbiAgICBjb25zdCBtYXggPSB0aGlzLm1heDtcblxuICAgIGlmIChtYXggPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAodGhpcy5jb3VudCA8IG1heCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE1vdmVzIHRoZSB0YXJnZXQgaW5kZXggdXAgb25lIHZhbHVlLlxuICAgKiBcbiAgICogQHBhcmFtIGluZGV4IFxuICAgKi9cbiAgbW92ZVVwKGluZGV4OiBudW1iZXIpIHtcbiAgICBpZiAoaW5kZXggPT09IDApIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLnN3YXBJbmRleGVzKGluZGV4LCBpbmRleCAtIDEpO1xuICB9XG5cbiAgbW92ZURvd24oaW5kZXg6IG51bWJlcikge1xuICAgIHRoaXMuc3dhcEluZGV4ZXMoaW5kZXgsIGluZGV4ICsgMSk7XG4gIH1cblxuICBzd2FwSW5kZXhlcyhjdXJyZW50SW5kZXg6IG51bWJlciwgdGFyZ2V0SW5kZXg6IG51bWJlcikge1xuICAgIGNvbnN0IGFycmF5OiBhbnlbXSA9IHRoaXMubW9kZWw7XG4gICAgY29uc3QgdGFyZ2V0VmFsdWUgPSBhcnJheVtjdXJyZW50SW5kZXhdO1xuXG4gICAgaWYgKCF0YXJnZXRWYWx1ZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlKGN1cnJlbnRJbmRleCk7XG4gICAgdGhpcy5hZGQodGFyZ2V0SW5kZXgsIHRhcmdldFZhbHVlKTtcbiAgfVxuXG4gIGRyb3AoZXZlbnQ6IENka0RyYWdEcm9wPGFueT4pIHtcbiAgICB0aGlzLnN3YXBJbmRleGVzKGV2ZW50LnByZXZpb3VzSW5kZXgsIGV2ZW50LmN1cnJlbnRJbmRleCk7XG4gIH1cblxuICBsYWJlbEZvckl0ZW0oZmllbGQ6IEZvcm1seUZpZWxkQ29uZmlnKTogc3RyaW5nIHtcbiAgICByZXR1cm4gZ2V0VmFsdWVGcm9tT2JqZWN0T3JHZXR0ZXIodGhpcy5yZXBlYXRBcnJheUZpZWxkLmxhYmVsRm9yRmllbGQgPz8gJycsIGZpZWxkKTtcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { formlyField, templateOptionsForFieldConfig } from "../../field";
|
|
2
|
+
export function repeatArrayField(config) {
|
|
3
|
+
const { key, repeatFieldGroup, maxLength, addText, removeText, labelForField } = config;
|
|
4
|
+
return formlyField({
|
|
5
|
+
key,
|
|
6
|
+
type: 'repeatarray',
|
|
7
|
+
repeatArrayField: {
|
|
8
|
+
labelForField,
|
|
9
|
+
addText,
|
|
10
|
+
removeText,
|
|
11
|
+
},
|
|
12
|
+
...templateOptionsForFieldConfig(config, {
|
|
13
|
+
maxLength
|
|
14
|
+
}),
|
|
15
|
+
fieldArray: {
|
|
16
|
+
fieldGroup: repeatFieldGroup
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJyYXkuZmllbGQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZm9ybS9zcmMvbGliL2Zvcm1seS9maWVsZC92YWx1ZS9hcnJheS9hcnJheS5maWVsZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWUsV0FBVyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBU3RGLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxNQUE4QjtJQUM3RCxNQUFNLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLGFBQWEsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUV4RixPQUFPLFdBQVcsQ0FBQztRQUNqQixHQUFHO1FBQ0gsSUFBSSxFQUFFLGFBQWE7UUFDbkIsZ0JBQWdCLEVBQUU7WUFDaEIsYUFBYTtZQUNiLE9BQU87WUFDUCxVQUFVO1NBQ1g7UUFDRCxHQUFHLDZCQUE2QixDQUFDLE1BQU0sRUFBRTtZQUN2QyxTQUFTO1NBQ1YsQ0FBQztRQUNGLFVBQVUsRUFBRTtZQUNWLFVBQVUsRUFBRSxnQkFBZ0I7U0FDN0I7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybWx5RmllbGRDb25maWcgfSBmcm9tICdAbmd4LWZvcm1seS9jb3JlJztcbmltcG9ydCB7IEZpZWxkQ29uZmlnLCBmb3JtbHlGaWVsZCwgdGVtcGxhdGVPcHRpb25zRm9yRmllbGRDb25maWcgfSBmcm9tIFwiLi4vLi4vZmllbGRcIjtcbmltcG9ydCB7IERieEZvcm1SZXBlYXRBcnJheUNvbmZpZyB9IGZyb20gJy4vYXJyYXkuZmllbGQuY29tcG9uZW50JztcblxuZXhwb3J0IGludGVyZmFjZSBSZXBlYXRBcnJheUZpZWxkQ29uZmlnIGV4dGVuZHMgRGJ4Rm9ybVJlcGVhdEFycmF5Q29uZmlnLCBGaWVsZENvbmZpZyB7XG4gIGxhYmVsPzogc3RyaW5nO1xuICByZXBlYXRGaWVsZEdyb3VwOiBGb3JtbHlGaWVsZENvbmZpZ1tdO1xuICBtYXhMZW5ndGg/OiBudW1iZXI7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiByZXBlYXRBcnJheUZpZWxkKGNvbmZpZzogUmVwZWF0QXJyYXlGaWVsZENvbmZpZyk6IEZvcm1seUZpZWxkQ29uZmlnIHtcbiAgY29uc3QgeyBrZXksIHJlcGVhdEZpZWxkR3JvdXAsIG1heExlbmd0aCwgYWRkVGV4dCwgcmVtb3ZlVGV4dCwgbGFiZWxGb3JGaWVsZCB9ID0gY29uZmlnO1xuXG4gIHJldHVybiBmb3JtbHlGaWVsZCh7XG4gICAga2V5LFxuICAgIHR5cGU6ICdyZXBlYXRhcnJheScsXG4gICAgcmVwZWF0QXJyYXlGaWVsZDoge1xuICAgICAgbGFiZWxGb3JGaWVsZCxcbiAgICAgIGFkZFRleHQsXG4gICAgICByZW1vdmVUZXh0LFxuICAgIH0sXG4gICAgLi4udGVtcGxhdGVPcHRpb25zRm9yRmllbGRDb25maWcoY29uZmlnLCB7XG4gICAgICBtYXhMZW5ndGhcbiAgICB9KSxcbiAgICBmaWVsZEFycmF5OiB7XG4gICAgICBmaWVsZEdyb3VwOiByZXBlYXRGaWVsZEdyb3VwXG4gICAgfVxuICB9KTtcbn1cbiJdfQ==
|