@dereekb/dbx-form 4.1.0 → 5.1.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/LICENSE +21 -0
- package/_index.scss +4 -5
- package/esm2020/lib/form/action/form.action.directive.mjs +20 -21
- package/esm2020/lib/form/action/form.action.module.mjs +6 -17
- package/esm2020/lib/form/action/transition/form.action.transition.module.mjs +5 -13
- package/esm2020/lib/form/action/transition/form.action.transition.safety.directive.mjs +2 -2
- package/esm2020/lib/form/form.mjs +4 -7
- package/esm2020/lib/form/form.module.mjs +4 -12
- package/esm2020/lib/form/io/form.changes.directive.mjs +4 -2
- package/esm2020/lib/form/io/form.input.directive.mjs +3 -6
- package/esm2020/lib/form/io/form.io.module.mjs +6 -22
- package/esm2020/lib/form/io/form.loading.directive.mjs +1 -1
- package/esm2020/lib/form.module.mjs +4 -12
- package/esm2020/lib/formly/config/index.mjs +1 -1
- package/esm2020/lib/formly/config/validation.mjs +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.field.mjs +6 -9
- package/esm2020/lib/formly/field/checklist/checklist.item.field.component.mjs +14 -12
- 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 +1 -1
- package/esm2020/lib/formly/field/checklist/checklist.item.field.module.mjs +6 -18
- package/esm2020/lib/formly/field/checklist/checklist.item.mjs +1 -1
- package/esm2020/lib/formly/field/component/component.field.component.mjs +1 -1
- package/esm2020/lib/formly/field/component/component.field.mjs +1 -1
- package/esm2020/lib/formly/field/component/component.field.module.mjs +5 -13
- package/esm2020/lib/formly/field/field.mjs +4 -2
- package/esm2020/lib/formly/field/form.field.module.mjs +5 -26
- package/esm2020/lib/formly/field/selection/pickable/index.mjs +1 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +5 -5
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +43 -43
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +3 -3
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.module.mjs +5 -15
- package/esm2020/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +17 -12
- package/esm2020/lib/formly/field/selection/pickable/pickable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +15 -13
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +24 -26
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +6 -5
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.module.mjs +7 -19
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +7 -8
- package/esm2020/lib/formly/field/selection/searchable/text.chip.field.mjs +5 -5
- package/esm2020/lib/formly/field/selection/selection.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.module.mjs +5 -14
- package/esm2020/lib/formly/field/texteditor/texteditor.field.component.mjs +5 -3
- package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +1 -1
- package/esm2020/lib/formly/field/texteditor/texteditor.field.module.mjs +4 -10
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +31 -25
- package/esm2020/lib/formly/field/value/array/array.field.mjs +3 -3
- package/esm2020/lib/formly/field/value/array/array.field.module.mjs +4 -10
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/boolean/boolean.field.module.mjs +1 -1
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +5 -13
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +24 -33
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +3 -3
- package/esm2020/lib/formly/field/value/enum/enum.field.mjs +2 -2
- package/esm2020/lib/formly/field/value/enum/enum.field.module.mjs +1 -1
- package/esm2020/lib/formly/field/value/enum/enum.mjs +1 -1
- package/esm2020/lib/formly/field/value/hidden.field.mjs +1 -1
- package/esm2020/lib/formly/field/value/phone/phone.field.component.mjs +3 -3
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +2 -4
- package/esm2020/lib/formly/field/value/phone/phone.field.module.mjs +4 -10
- package/esm2020/lib/formly/field/value/text/text.additional.field.mjs +2 -2
- package/esm2020/lib/formly/field/value/text/text.address.field.mjs +12 -6
- package/esm2020/lib/formly/field/value/text/text.field.mjs +2 -2
- package/esm2020/lib/formly/field/value/text/text.field.module.mjs +4 -10
- package/esm2020/lib/formly/field/value/value.module.mjs +5 -26
- package/esm2020/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +8 -4
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.component.mjs +15 -15
- package/esm2020/lib/formly/field/wrapper/expandable.wrapper.delegate.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/flex.wrapper.component.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/form.wrapper.module.mjs +3 -21
- package/esm2020/lib/formly/field/wrapper/info.wrapper.component.mjs +3 -5
- package/esm2020/lib/formly/field/wrapper/section.wrapper.component.mjs +1 -1
- package/esm2020/lib/formly/field/wrapper/style.wrapper.component.mjs +2 -2
- package/esm2020/lib/formly/field/wrapper/subsection.wrapper.component.mjs +7 -7
- package/esm2020/lib/formly/field/wrapper/toggle.wrapper.component.mjs +16 -16
- package/esm2020/lib/formly/field/wrapper/working.wrapper.component.mjs +2 -2
- package/esm2020/lib/formly/field/wrapper/wrapper.mjs +6 -4
- package/esm2020/lib/formly/formly.context.directive.mjs +4 -4
- package/esm2020/lib/formly/formly.context.mjs +9 -7
- package/esm2020/lib/formly/formly.directive.mjs +1 -1
- package/esm2020/lib/formly/formly.form.component.mjs +7 -7
- package/esm2020/lib/formly/formly.module.mjs +5 -25
- package/esm2020/lib/formly/template/available.mjs +6 -4
- package/esm2020/lib/formly/template/login.mjs +8 -11
- package/esm2020/lib/layout/form.layout.module.mjs +5 -13
- package/esm2020/lib/layout/form.spacer.component.mjs +7 -3
- package/esm2020/lib/validator/available.mjs +2 -3
- package/esm2020/lib/validator/boolean.mjs +2 -2
- package/esm2020/lib/validator/email.mjs +2 -2
- package/esm2020/lib/validator/field.mjs +3 -3
- package/esm2020/lib/validator/number.mjs +20 -16
- package/fesm2015/dereekb-dbx-form.mjs +420 -624
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +423 -624
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/form/_form.scss +6 -4
- package/lib/form/action/form.action.directive.d.ts +4 -4
- package/lib/form/form.d.ts +4 -4
- package/lib/form/io/form.changes.directive.d.ts +3 -3
- package/lib/form/io/form.input.directive.d.ts +3 -3
- package/lib/form/io/form.loading.directive.d.ts +3 -3
- package/lib/formly/_formly.scss +6 -4
- package/lib/formly/config/validation.d.ts +4 -4
- package/lib/formly/field/checklist/_checklist.scss +6 -10
- package/lib/formly/field/checklist/checklist.field.d.ts +3 -3
- package/lib/formly/field/checklist/checklist.item.d.ts +8 -8
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +7 -9
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +4 -4
- package/lib/formly/field/checklist/checklist.item.field.d.ts +3 -3
- package/lib/formly/field/component/_component.scss +6 -4
- package/lib/formly/field/component/component.field.component.d.ts +3 -4
- package/lib/formly/field/component/component.field.d.ts +3 -4
- package/lib/formly/field/field.d.ts +3 -3
- package/lib/formly/field/selection/pickable/_pickable.scss +4 -3
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.d.ts +9 -11
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +3 -3
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +49 -50
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +7 -7
- package/lib/formly/field/selection/searchable/_searchable.scss +4 -6
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +8 -8
- package/lib/formly/field/selection/searchable/searchable.d.ts +9 -8
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +1 -1
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +9 -9
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +25 -25
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +12 -9
- package/lib/formly/field/selection/searchable/text.chip.field.d.ts +3 -3
- package/lib/formly/field/selection/selection.d.ts +6 -6
- package/lib/formly/field/texteditor/_texteditor.scss +3 -8
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +1 -2
- package/lib/formly/field/value/array/_array.scss +2 -6
- package/lib/formly/field/value/array/array.field.component.d.ts +1 -1
- package/lib/formly/field/value/array/array.field.d.ts +1 -1
- package/lib/formly/field/value/boolean/_boolean.scss +6 -4
- package/lib/formly/field/value/date/_date.scss +7 -9
- package/lib/formly/field/value/date/datetime.field.component.d.ts +2 -3
- package/lib/formly/field/value/date/datetime.field.d.ts +1 -2
- package/lib/formly/field/value/enum/_enum.scss +6 -4
- package/lib/formly/field/value/enum/enum.field.d.ts +1 -1
- package/lib/formly/field/value/hidden.field.d.ts +1 -2
- package/lib/formly/field/value/phone/_phone.scss +2 -4
- package/lib/formly/field/value/text/_text.scss +6 -4
- package/lib/formly/field/value/text/text.additional.field.d.ts +3 -3
- package/lib/formly/field/value/text/text.address.field.d.ts +1 -2
- package/lib/formly/field/wrapper/_wrapper.scss +4 -4
- package/lib/formly/field/wrapper/expandable.wrapper.component.d.ts +4 -4
- package/lib/formly/field/wrapper/expandable.wrapper.delegate.d.ts +11 -11
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +4 -4
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +4 -2
- package/lib/formly/field/wrapper/wrapper.d.ts +2 -2
- package/lib/formly/formly.context.d.ts +4 -5
- package/lib/formly/formly.context.directive.d.ts +1 -1
- package/lib/formly/formly.directive.d.ts +1 -1
- package/lib/formly/formly.form.component.d.ts +2 -2
- package/lib/formly/template/login.d.ts +2 -3
- package/lib/layout/_layout.scss +6 -4
- package/lib/style/_config.scss +8 -6
- package/lib/style/_core.scss +1 -1
- package/lib/style/_mixin.scss +1 -1
- package/lib/style/_theming.scss +2 -12
- package/lib/style/_variables.scss +1 -1
- package/lib/validator/available.d.ts +1 -1
- package/lib/validator/boolean.d.ts +1 -1
- package/lib/validator/email.d.ts +1 -1
- package/lib/validator/field.d.ts +6 -6
- package/lib/validator/number.d.ts +8 -1
- package/package.json +4 -3
|
@@ -3,16 +3,15 @@ import { forwardRef, Directive, Host, Input, NgModule, EventEmitter, Output, Com
|
|
|
3
3
|
import * as i5 from '@angular/common';
|
|
4
4
|
import { CommonModule } from '@angular/common';
|
|
5
5
|
import * as i1$1 from '@dereekb/dbx-web';
|
|
6
|
-
import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems,
|
|
6
|
+
import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, AbstractDbxValueListViewItemComponent, DbxButtonModule, DbxListLayoutModule, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
|
|
7
7
|
import { isPast, addSeconds, isSameMinute, startOfDay, isSameDay, addMinutes } from 'date-fns';
|
|
8
|
-
import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, mergeMap, shareReplay
|
|
9
|
-
import { LockSet, SubscriptionObject, asObservable, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext,
|
|
8
|
+
import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, mergeMap, shareReplay, startWith, debounceTime, Subject, skipWhile, interval, tap, merge, throttleTime, scan } from 'rxjs';
|
|
9
|
+
import { LockSet, SubscriptionObject, asObservable, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext, startWithBeginLoading, mapLoadingStateResults, successResult, ListLoadingStateContextInstance, isListLoadingStateEmpty, LoadingStateContextInstance, skipFirstMaybe, asyncPusherCache, scanCount } from '@dereekb/rxjs';
|
|
10
10
|
import * as i2 from '@dereekb/dbx-core';
|
|
11
11
|
import { AbstractSubscriptionDirective, safeDetectChanges, DbxInjectionComponentModule, DbxDatePipeModule, mergeDbxInjectionComponentConfigs, tapDetectChanges } from '@dereekb/dbx-core';
|
|
12
12
|
import * as i3 from '@uirouter/core';
|
|
13
13
|
import * as i4 from '@angular/material/dialog';
|
|
14
14
|
import { MatDialogModule } from '@angular/material/dialog';
|
|
15
|
-
import { distinctUntilChanged as distinctUntilChanged$1, shareReplay, map as map$1, delay as delay$1, debounceTime as debounceTime$1, filter as filter$1, switchMap as switchMap$1, startWith as startWith$1, tap, throttleTime, first as first$1 } from 'rxjs/operators';
|
|
16
15
|
import * as i1$4 from '@ngx-formly/core';
|
|
17
16
|
import { FieldType, FieldWrapper, FormlyModule, FieldArrayType } from '@ngx-formly/core';
|
|
18
17
|
import * as i1 from '@angular/material/checkbox';
|
|
@@ -86,14 +85,11 @@ class DbxForm {
|
|
|
86
85
|
}
|
|
87
86
|
class DbxMutableForm extends DbxForm {
|
|
88
87
|
}
|
|
89
|
-
function
|
|
88
|
+
function provideDbxForm(sourceType) {
|
|
90
89
|
return [{ provide: DbxForm, useExisting: forwardRef(() => sourceType) }];
|
|
91
90
|
}
|
|
92
|
-
function
|
|
93
|
-
return [
|
|
94
|
-
...ProvideDbxForm(sourceType),
|
|
95
|
-
{ provide: DbxMutableForm, useExisting: forwardRef(() => sourceType) }
|
|
96
|
-
];
|
|
91
|
+
function provideDbxMutableForm(sourceType) {
|
|
92
|
+
return [...provideDbxForm(sourceType), { provide: DbxMutableForm, useExisting: forwardRef(() => sourceType) }];
|
|
97
93
|
}
|
|
98
94
|
|
|
99
95
|
const APP_ACTION_FORM_DISABLED_KEY = 'dbx_action_form';
|
|
@@ -126,7 +122,8 @@ class DbxActionFormDirective {
|
|
|
126
122
|
}
|
|
127
123
|
ngOnInit() {
|
|
128
124
|
// Pass data from the form to the source when triggered.
|
|
129
|
-
this._triggeredSub.subscription = this.source.triggered
|
|
125
|
+
this._triggeredSub.subscription = this.source.triggered$
|
|
126
|
+
.pipe(switchMap(() => this.form.stream$.pipe(first(), exhaustMap((stream) => {
|
|
130
127
|
const { isComplete } = stream;
|
|
131
128
|
const doNothing = {}; // nothing, form not complete
|
|
132
129
|
let obs;
|
|
@@ -144,7 +141,8 @@ class DbxActionFormDirective {
|
|
|
144
141
|
obs = of(doNothing);
|
|
145
142
|
}
|
|
146
143
|
return obs;
|
|
147
|
-
}))))
|
|
144
|
+
}))))
|
|
145
|
+
.subscribe((result) => {
|
|
148
146
|
if (result.reject) {
|
|
149
147
|
this.source.reject(result.reject);
|
|
150
148
|
}
|
|
@@ -156,36 +154,34 @@ class DbxActionFormDirective {
|
|
|
156
154
|
}
|
|
157
155
|
});
|
|
158
156
|
// Update the enabled/disabled state
|
|
159
|
-
this._isCompleteSub.subscription = this.form.stream
|
|
157
|
+
this._isCompleteSub.subscription = this.form.stream$
|
|
158
|
+
.pipe(delay(0), filter((x) => x.state !== DbxFormState.INITIALIZING), switchMap((event) => {
|
|
160
159
|
return this.form.getValue().pipe(first(), exhaustMap((value) => {
|
|
161
160
|
var _a, _b;
|
|
162
161
|
// Use both changes count and whether or not something was in the past to guage whether or not the item has been touched.
|
|
163
162
|
// Angular Form's untouched is whether or not focus has been lost but we can still recieve value updates.
|
|
164
163
|
// More than a certain amount of updates implies that it is being typed into.
|
|
165
|
-
const isProbablyTouched = !event.untouched ||
|
|
166
|
-
(((_a = event.changesCount) !== null && _a !== void 0 ? _a : 0) > 3 && isPast(addSeconds((_b = event.lastResetAt) !== null && _b !== void 0 ? _b : new Date(), 2)));
|
|
164
|
+
const isProbablyTouched = !event.untouched || (((_a = event.changesCount) !== null && _a !== void 0 ? _a : 0) > 3 && isPast(addSeconds((_b = event.lastResetAt) !== null && _b !== void 0 ? _b : new Date(), 2)));
|
|
167
165
|
let validatorObs;
|
|
168
166
|
const initialIsValidCheck = event.isComplete;
|
|
169
167
|
if (initialIsValidCheck) {
|
|
170
|
-
validatorObs =
|
|
168
|
+
validatorObs = this.dbxActionFormValidator ? this.dbxActionFormValidator(value) : of(true);
|
|
171
169
|
}
|
|
172
170
|
else {
|
|
173
171
|
validatorObs = of(false);
|
|
174
172
|
}
|
|
175
173
|
let modifiedObs;
|
|
176
|
-
const isConsideredModified =
|
|
174
|
+
const isConsideredModified = event.pristine === false && isProbablyTouched;
|
|
177
175
|
if (isConsideredModified) {
|
|
178
|
-
modifiedObs =
|
|
176
|
+
modifiedObs = this.dbxActionFormModified ? this.dbxActionFormModified(value) : of(true);
|
|
179
177
|
}
|
|
180
178
|
else {
|
|
181
179
|
modifiedObs = of(false);
|
|
182
180
|
}
|
|
183
|
-
return combineLatest([
|
|
184
|
-
validatorObs,
|
|
185
|
-
modifiedObs
|
|
186
|
-
]).pipe(first(), map(([valid, modified]) => ({ valid, modified, value, event })));
|
|
181
|
+
return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => ({ valid, modified, value, event })));
|
|
187
182
|
}));
|
|
188
|
-
}))
|
|
183
|
+
}))
|
|
184
|
+
.subscribe(({ valid, modified /*, value, event */ }) => {
|
|
189
185
|
// console.log('x: ', value, event, valid, modified);
|
|
190
186
|
// Update Modified State
|
|
191
187
|
this.source.setIsModified(modified);
|
|
@@ -193,7 +189,9 @@ class DbxActionFormDirective {
|
|
|
193
189
|
this.source.enable(APP_ACTION_FORM_DISABLED_KEY, valid);
|
|
194
190
|
});
|
|
195
191
|
// Watch the working state and disable form while working
|
|
196
|
-
this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this._formDisabledWhileWorking])
|
|
192
|
+
this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this._formDisabledWhileWorking])
|
|
193
|
+
.pipe(map(([isWorking, lockOnWorking]) => lockOnWorking && isWorking), distinctUntilChanged())
|
|
194
|
+
.subscribe((disable) => {
|
|
197
195
|
this.form.setDisabled(APP_ACTION_FORM_DISABLED_KEY, disable);
|
|
198
196
|
});
|
|
199
197
|
}
|
|
@@ -208,12 +206,9 @@ class DbxActionFormDirective {
|
|
|
208
206
|
});
|
|
209
207
|
}
|
|
210
208
|
preCheckReadyValue(value) {
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
return combineLatest([
|
|
214
|
-
validatorObs,
|
|
215
|
-
modifiedObs
|
|
216
|
-
]).pipe(first(), map(([valid, modified]) => valid && modified));
|
|
209
|
+
const validatorObs = this.dbxActionFormValidator ? this.dbxActionFormValidator(value) : of(true);
|
|
210
|
+
const modifiedObs = this.dbxActionFormModified ? this.dbxActionFormModified(value) : of(true);
|
|
211
|
+
return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => valid && modified));
|
|
217
212
|
}
|
|
218
213
|
readyValue(value) {
|
|
219
214
|
return of({ value });
|
|
@@ -258,7 +253,7 @@ DbxActionFormSafetyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12
|
|
|
258
253
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
|
|
259
254
|
type: Directive,
|
|
260
255
|
args: [{
|
|
261
|
-
selector: '[dbxActionFormSafety]'
|
|
256
|
+
selector: '[dbxActionFormSafety]'
|
|
262
257
|
}]
|
|
263
258
|
}], ctorParameters: function () {
|
|
264
259
|
return [{ type: DbxActionFormDirective, decorators: [{
|
|
@@ -273,59 +268,37 @@ class DbxFormActionTransitionModule {
|
|
|
273
268
|
}
|
|
274
269
|
DbxFormActionTransitionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
275
270
|
DbxFormActionTransitionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, declarations: [DbxActionFormSafetyDirective], imports: [CommonModule], exports: [DbxActionFormSafetyDirective] });
|
|
276
|
-
DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, imports: [[
|
|
277
|
-
CommonModule
|
|
278
|
-
]] });
|
|
271
|
+
DbxFormActionTransitionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, imports: [[CommonModule]] });
|
|
279
272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionTransitionModule, decorators: [{
|
|
280
273
|
type: NgModule,
|
|
281
274
|
args: [{
|
|
282
|
-
imports: [
|
|
283
|
-
|
|
284
|
-
]
|
|
285
|
-
declarations: [
|
|
286
|
-
DbxActionFormSafetyDirective
|
|
287
|
-
],
|
|
288
|
-
exports: [
|
|
289
|
-
DbxActionFormSafetyDirective
|
|
290
|
-
]
|
|
275
|
+
imports: [CommonModule],
|
|
276
|
+
declarations: [DbxActionFormSafetyDirective],
|
|
277
|
+
exports: [DbxActionFormSafetyDirective]
|
|
291
278
|
}]
|
|
292
279
|
}] });
|
|
293
280
|
|
|
294
281
|
class DbxFormActionModule {
|
|
295
282
|
}
|
|
296
283
|
DbxFormActionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
297
|
-
DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule,
|
|
298
|
-
|
|
299
|
-
DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, imports: [[
|
|
300
|
-
CommonModule,
|
|
301
|
-
MatDialogModule
|
|
302
|
-
]] });
|
|
284
|
+
DbxFormActionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, declarations: [DbxActionFormDirective], imports: [CommonModule, MatDialogModule], exports: [DbxActionFormDirective] });
|
|
285
|
+
DbxFormActionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, imports: [[CommonModule, MatDialogModule]] });
|
|
303
286
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormActionModule, decorators: [{
|
|
304
287
|
type: NgModule,
|
|
305
288
|
args: [{
|
|
306
|
-
imports: [
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
],
|
|
310
|
-
declarations: [
|
|
311
|
-
DbxActionFormDirective
|
|
312
|
-
],
|
|
313
|
-
exports: [
|
|
314
|
-
DbxActionFormDirective
|
|
315
|
-
]
|
|
289
|
+
imports: [CommonModule, MatDialogModule],
|
|
290
|
+
declarations: [DbxActionFormDirective],
|
|
291
|
+
exports: [DbxActionFormDirective]
|
|
316
292
|
}]
|
|
317
293
|
}] });
|
|
318
294
|
|
|
319
295
|
function dbxFormSourceObservable(form, inputObs, mode$) {
|
|
320
296
|
const observable = asObservable(inputObs);
|
|
321
|
-
return combineLatest([
|
|
322
|
-
observable.pipe(distinctUntilChanged()),
|
|
323
|
-
mode$.pipe(distinctUntilChanged())
|
|
324
|
-
]).pipe(switchMap(([value, mode]) => form.stream$.pipe(
|
|
297
|
+
return combineLatest([observable.pipe(distinctUntilChanged()), mode$.pipe(distinctUntilChanged())]).pipe(switchMap(([value, mode]) => form.stream$.pipe(
|
|
325
298
|
// wait for the form to finish initializing.
|
|
326
299
|
filter((x) => x.state !== DbxFormState.INITIALIZING),
|
|
327
300
|
// if mode is reset, then filter out changes until the form is reset again.
|
|
328
|
-
filter((x) => (
|
|
301
|
+
filter((x) => (mode === 'reset' ? x.state === DbxFormState.RESET : true)), first(), map(() => value))));
|
|
329
302
|
}
|
|
330
303
|
/**
|
|
331
304
|
* Used with a FormComponent to set the value based on the input value.
|
|
@@ -446,7 +419,9 @@ class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
|
|
|
446
419
|
this.dbxFormValueChange = new EventEmitter();
|
|
447
420
|
}
|
|
448
421
|
ngOnInit() {
|
|
449
|
-
this.sub = this.form.stream
|
|
422
|
+
this.sub = this.form.stream$
|
|
423
|
+
.pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0))
|
|
424
|
+
.subscribe(({ isComplete, value }) => {
|
|
450
425
|
if (isComplete) {
|
|
451
426
|
this.dbxFormValueChange.next(value);
|
|
452
427
|
}
|
|
@@ -478,50 +453,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
478
453
|
class DbxFormIoModule {
|
|
479
454
|
}
|
|
480
455
|
DbxFormIoModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
481
|
-
DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, declarations: [DbxFormSourceDirective,
|
|
482
|
-
|
|
483
|
-
DbxFormLoadingSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective,
|
|
484
|
-
DbxFormValueChangesDirective,
|
|
485
|
-
DbxFormLoadingSourceDirective] });
|
|
486
|
-
DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, imports: [[
|
|
487
|
-
CommonModule
|
|
488
|
-
]] });
|
|
456
|
+
DbxFormIoModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, declarations: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective], imports: [CommonModule], exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective] });
|
|
457
|
+
DbxFormIoModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, imports: [[CommonModule]] });
|
|
489
458
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormIoModule, decorators: [{
|
|
490
459
|
type: NgModule,
|
|
491
460
|
args: [{
|
|
492
|
-
imports: [
|
|
493
|
-
|
|
494
|
-
]
|
|
495
|
-
declarations: [
|
|
496
|
-
DbxFormSourceDirective,
|
|
497
|
-
DbxFormValueChangesDirective,
|
|
498
|
-
DbxFormLoadingSourceDirective
|
|
499
|
-
],
|
|
500
|
-
exports: [
|
|
501
|
-
DbxFormSourceDirective,
|
|
502
|
-
DbxFormValueChangesDirective,
|
|
503
|
-
DbxFormLoadingSourceDirective
|
|
504
|
-
]
|
|
461
|
+
imports: [CommonModule],
|
|
462
|
+
declarations: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective],
|
|
463
|
+
exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective]
|
|
505
464
|
}]
|
|
506
465
|
}] });
|
|
507
466
|
|
|
508
467
|
class DbxFormModule {
|
|
509
468
|
}
|
|
510
469
|
DbxFormModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
511
|
-
DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule,
|
|
512
|
-
|
|
513
|
-
DbxFormIoModule] });
|
|
514
|
-
DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule,
|
|
515
|
-
DbxFormActionModule,
|
|
516
|
-
DbxFormIoModule] });
|
|
470
|
+
DbxFormModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
471
|
+
DbxFormModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
517
472
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormModule, decorators: [{
|
|
518
473
|
type: NgModule,
|
|
519
474
|
args: [{
|
|
520
|
-
exports: [
|
|
521
|
-
DbxFormActionTransitionModule,
|
|
522
|
-
DbxFormActionModule,
|
|
523
|
-
DbxFormIoModule
|
|
524
|
-
]
|
|
475
|
+
exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule]
|
|
525
476
|
}]
|
|
526
477
|
}] });
|
|
527
478
|
|
|
@@ -589,9 +540,9 @@ class DbxChecklistItemFieldComponent extends FieldType {
|
|
|
589
540
|
constructor() {
|
|
590
541
|
super(...arguments);
|
|
591
542
|
this._displayContent = new BehaviorSubject(undefined);
|
|
592
|
-
this.displayContent$ = this._displayContent.pipe(switchMapMaybeObs(), distinctUntilChanged
|
|
593
|
-
this.anchor$ = this.displayContent$.pipe(map
|
|
594
|
-
this.rippleDisabled$ = this.displayContent$.pipe(map
|
|
543
|
+
this.displayContent$ = this._displayContent.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
|
|
544
|
+
this.anchor$ = this.displayContent$.pipe(map((x) => x.anchor), shareReplay(1));
|
|
545
|
+
this.rippleDisabled$ = this.displayContent$.pipe(map((x) => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged(), shareReplay(1));
|
|
595
546
|
}
|
|
596
547
|
get formGroup() {
|
|
597
548
|
return this.form;
|
|
@@ -630,10 +581,10 @@ class DbxChecklistItemFieldComponent extends FieldType {
|
|
|
630
581
|
}
|
|
631
582
|
}
|
|
632
583
|
DbxChecklistItemFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
633
|
-
DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"
|
|
584
|
+
DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"(rippleDisabled$ | async) !== true\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n", components: [{ type: i0.forwardRef(function () { return i1.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex", "aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { type: i0.forwardRef(function () { return i1$1.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { type: i0.forwardRef(function () { return i2$1.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i0.forwardRef(function () { return i4$1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i0.forwardRef(function () { return i4$1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i0.forwardRef(function () { return i6.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
|
|
634
585
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
635
586
|
type: Component,
|
|
636
|
-
args: [{ template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"
|
|
587
|
+
args: [{ template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"(rippleDisabled$ | async) !== true\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n" }]
|
|
637
588
|
}] });
|
|
638
589
|
class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
639
590
|
constructor(checklistItemFieldComponent, cdRef) {
|
|
@@ -654,12 +605,16 @@ class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
|
654
605
|
}
|
|
655
606
|
}
|
|
656
607
|
DbxChecklistItemContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemContentComponent, deps: [{ token: DbxChecklistItemFieldComponent }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
657
|
-
DbxChecklistItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template:
|
|
608
|
+
DbxChecklistItemContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template: `
|
|
609
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
610
|
+
`, isInline: true, components: [{ type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
|
|
658
611
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxChecklistItemContentComponent, decorators: [{
|
|
659
612
|
type: Component,
|
|
660
613
|
args: [{
|
|
661
614
|
selector: 'dbx-checklist-item-content-component',
|
|
662
|
-
template:
|
|
615
|
+
template: `
|
|
616
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
617
|
+
`
|
|
663
618
|
}]
|
|
664
619
|
}], ctorParameters: function () { return [{ type: DbxChecklistItemFieldComponent }, { type: i0.ChangeDetectorRef }]; } });
|
|
665
620
|
|
|
@@ -678,8 +633,7 @@ DbxFormInfoWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.
|
|
|
678
633
|
<ng-container #fieldComponent></ng-container>
|
|
679
634
|
</div>
|
|
680
635
|
<div class="dbx-form-info-wrapper-info" fxFlex="noshrink" fxLayout="column" fxLayoutAlign="center center">
|
|
681
|
-
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')"
|
|
682
|
-
(click)="onInfoClick()">
|
|
636
|
+
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
683
637
|
<mat-icon>info</mat-icon>
|
|
684
638
|
</button>
|
|
685
639
|
</div>
|
|
@@ -694,8 +648,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
694
648
|
<ng-container #fieldComponent></ng-container>
|
|
695
649
|
</div>
|
|
696
650
|
<div class="dbx-form-info-wrapper-info" fxFlex="noshrink" fxLayout="column" fxLayoutAlign="center center">
|
|
697
|
-
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')"
|
|
698
|
-
(click)="onInfoClick()">
|
|
651
|
+
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
699
652
|
<mat-icon>info</mat-icon>
|
|
700
653
|
</button>
|
|
701
654
|
</div>
|
|
@@ -773,17 +726,17 @@ class DbxFormSubsectionWrapperComponent extends FieldWrapper {
|
|
|
773
726
|
}
|
|
774
727
|
DbxFormSubsectionWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSubsectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
775
728
|
DbxFormSubsectionWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSubsectionWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
729
|
+
<dbx-subsection [header]="header" [hint]="hint">
|
|
730
|
+
<ng-container #fieldComponent></ng-container>
|
|
731
|
+
</dbx-subsection>
|
|
779
732
|
`, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }] });
|
|
780
733
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSubsectionWrapperComponent, decorators: [{
|
|
781
734
|
type: Component,
|
|
782
735
|
args: [{
|
|
783
736
|
template: `
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
737
|
+
<dbx-subsection [header]="header" [hint]="hint">
|
|
738
|
+
<ng-container #fieldComponent></ng-container>
|
|
739
|
+
</dbx-subsection>
|
|
787
740
|
`
|
|
788
741
|
}]
|
|
789
742
|
}] });
|
|
@@ -802,10 +755,10 @@ class AbstractFormExpandableSectionWrapperDirective extends FieldWrapper {
|
|
|
802
755
|
else {
|
|
803
756
|
return this.hasValue$;
|
|
804
757
|
}
|
|
805
|
-
}), shareReplay
|
|
758
|
+
}), shareReplay(1));
|
|
806
759
|
this.hasValue$ = this.formControl$.pipe(switchMap((x) => x.valueChanges.pipe(startWith(x.value), map((value) => {
|
|
807
760
|
return this.hasValueFn(value);
|
|
808
|
-
}), shareReplay
|
|
761
|
+
}), shareReplay(1))));
|
|
809
762
|
}
|
|
810
763
|
get expandableSection() {
|
|
811
764
|
return this.to.expandWrapper;
|
|
@@ -853,27 +806,27 @@ class DbxFormExpandWrapperComponent extends AbstractFormExpandableSectionWrapper
|
|
|
853
806
|
}
|
|
854
807
|
DbxFormExpandWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExpandWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
855
808
|
DbxFormExpandWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormExpandWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
809
|
+
<ng-container [ngSwitch]="show$ | async">
|
|
810
|
+
<ng-container *ngSwitchCase="true">
|
|
811
|
+
<ng-container #fieldComponent></ng-container>
|
|
812
|
+
</ng-container>
|
|
813
|
+
<ng-container *ngSwitchCase="false">
|
|
814
|
+
<span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
|
|
815
|
+
</ng-container>
|
|
862
816
|
</ng-container>
|
|
863
|
-
</ng-container>
|
|
864
817
|
`, isInline: true, directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i5.AsyncPipe } });
|
|
865
818
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExpandWrapperComponent, decorators: [{
|
|
866
819
|
type: Component,
|
|
867
820
|
args: [{
|
|
868
821
|
template: `
|
|
869
|
-
|
|
870
|
-
|
|
871
|
-
|
|
872
|
-
|
|
873
|
-
|
|
874
|
-
|
|
822
|
+
<ng-container [ngSwitch]="show$ | async">
|
|
823
|
+
<ng-container *ngSwitchCase="true">
|
|
824
|
+
<ng-container #fieldComponent></ng-container>
|
|
825
|
+
</ng-container>
|
|
826
|
+
<ng-container *ngSwitchCase="false">
|
|
827
|
+
<span class="dbx-form-expandable-section-button" (click)="open()">{{ expandLabel }}</span>
|
|
828
|
+
</ng-container>
|
|
875
829
|
</ng-container>
|
|
876
|
-
</ng-container>
|
|
877
830
|
`
|
|
878
831
|
}]
|
|
879
832
|
}] });
|
|
@@ -883,7 +836,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
883
836
|
*/
|
|
884
837
|
class AutoTouchFieldWrapperComponent extends FieldWrapper {
|
|
885
838
|
ngOnInit() {
|
|
886
|
-
this.formControl.valueChanges.pipe(delay
|
|
839
|
+
this.formControl.valueChanges.pipe(delay(200)).subscribe(() => {
|
|
887
840
|
if (!this.formControl.pristine && this.formControl.untouched) {
|
|
888
841
|
this.formControl.markAsTouched();
|
|
889
842
|
this.formControl.updateValueAndValidity();
|
|
@@ -892,11 +845,15 @@ class AutoTouchFieldWrapperComponent extends FieldWrapper {
|
|
|
892
845
|
}
|
|
893
846
|
}
|
|
894
847
|
AutoTouchFieldWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AutoTouchFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
895
|
-
AutoTouchFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AutoTouchFieldWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template:
|
|
848
|
+
AutoTouchFieldWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: AutoTouchFieldWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
849
|
+
<ng-container #fieldComponent></ng-container>
|
|
850
|
+
`, isInline: true });
|
|
896
851
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: AutoTouchFieldWrapperComponent, decorators: [{
|
|
897
852
|
type: Component,
|
|
898
853
|
args: [{
|
|
899
|
-
template:
|
|
854
|
+
template: `
|
|
855
|
+
<ng-container #fieldComponent></ng-container>
|
|
856
|
+
`
|
|
900
857
|
}]
|
|
901
858
|
}] });
|
|
902
859
|
|
|
@@ -906,7 +863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
906
863
|
class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapperDirective {
|
|
907
864
|
constructor() {
|
|
908
865
|
super(...arguments);
|
|
909
|
-
this.slideLabel$ = this._toggleOpen.pipe(switchMap(x => {
|
|
866
|
+
this.slideLabel$ = this._toggleOpen.pipe(switchMap((x) => {
|
|
910
867
|
var _a, _b;
|
|
911
868
|
if ((_a = this.expandableSection) === null || _a === void 0 ? void 0 : _a.toggleLabelObs) {
|
|
912
869
|
return (_b = this.expandableSection) === null || _b === void 0 ? void 0 : _b.toggleLabelObs(x);
|
|
@@ -914,7 +871,7 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapper
|
|
|
914
871
|
else {
|
|
915
872
|
return of(this.expandLabel);
|
|
916
873
|
}
|
|
917
|
-
}), shareReplay
|
|
874
|
+
}), shareReplay(1));
|
|
918
875
|
}
|
|
919
876
|
onToggleChange() {
|
|
920
877
|
this.show$.pipe(first()).subscribe((show) => {
|
|
@@ -924,27 +881,27 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandableSectionWrapper
|
|
|
924
881
|
}
|
|
925
882
|
DbxFormToggleWrapperComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormToggleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
926
883
|
DbxFormToggleWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormToggleWrapperComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
884
|
+
<div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
|
|
885
|
+
<div class="dbx-form-toggle-wrapper-toggle">
|
|
886
|
+
<mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
|
|
887
|
+
</div>
|
|
888
|
+
<ng-container *ngSwitchCase="true">
|
|
889
|
+
<ng-container #fieldComponent></ng-container>
|
|
890
|
+
</ng-container>
|
|
930
891
|
</div>
|
|
931
|
-
<ng-container *ngSwitchCase="true">
|
|
932
|
-
<ng-container #fieldComponent></ng-container>
|
|
933
|
-
</ng-container>
|
|
934
|
-
</div>
|
|
935
892
|
`, isInline: true, components: [{ type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["disabled", "disableRipple", "color", "tabIndex", "name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "checked"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], directives: [{ type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }], pipes: { "async": i5.AsyncPipe } });
|
|
936
893
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormToggleWrapperComponent, decorators: [{
|
|
937
894
|
type: Component,
|
|
938
895
|
args: [{
|
|
939
896
|
template: `
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
897
|
+
<div class="dbx-form-toggle-wrapper" [ngSwitch]="show$ | async">
|
|
898
|
+
<div class="dbx-form-toggle-wrapper-toggle">
|
|
899
|
+
<mat-slide-toggle [checked]="show$ | async" (toggleChange)="onToggleChange()">{{ slideLabel$ | async }}</mat-slide-toggle>
|
|
900
|
+
</div>
|
|
901
|
+
<ng-container *ngSwitchCase="true">
|
|
902
|
+
<ng-container #fieldComponent></ng-container>
|
|
903
|
+
</ng-container>
|
|
943
904
|
</div>
|
|
944
|
-
<ng-container *ngSwitchCase="true">
|
|
945
|
-
<ng-container #fieldComponent></ng-container>
|
|
946
|
-
</ng-container>
|
|
947
|
-
</div>
|
|
948
905
|
`
|
|
949
906
|
}]
|
|
950
907
|
}] });
|
|
@@ -953,7 +910,7 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
|
|
|
953
910
|
constructor() {
|
|
954
911
|
super(...arguments);
|
|
955
912
|
this._style = new BehaviorSubject(undefined);
|
|
956
|
-
this.style$ = this._style.pipe(switchMapMaybeDefault(''), shareReplay
|
|
913
|
+
this.style$ = this._style.pipe(switchMapMaybeDefault(''), shareReplay(1));
|
|
957
914
|
}
|
|
958
915
|
get styleWrapper() {
|
|
959
916
|
return this.field.styleWrapper;
|
|
@@ -1029,15 +986,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1029
986
|
class DbxFormFormlyWrapperModule {
|
|
1030
987
|
}
|
|
1031
988
|
DbxFormFormlyWrapperModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1032
|
-
DbxFormFormlyWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, declarations: [AutoTouchFieldWrapperComponent,
|
|
1033
|
-
DbxFormSectionWrapperComponent,
|
|
1034
|
-
DbxFormSubsectionWrapperComponent,
|
|
1035
|
-
DbxFormInfoWrapperComponent,
|
|
1036
|
-
DbxFormExpandWrapperComponent,
|
|
1037
|
-
DbxFormToggleWrapperComponent,
|
|
1038
|
-
DbxFormFlexWrapperComponent,
|
|
1039
|
-
DbxFormStyleWrapperComponent,
|
|
1040
|
-
DbxFormWorkingWrapperComponent], imports: [CommonModule,
|
|
989
|
+
DbxFormFormlyWrapperModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyWrapperModule, declarations: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent], imports: [CommonModule,
|
|
1041
990
|
DbxTextModule,
|
|
1042
991
|
DbxLoadingModule,
|
|
1043
992
|
DbxFlexLayoutModule,
|
|
@@ -1097,17 +1046,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1097
1046
|
]
|
|
1098
1047
|
})
|
|
1099
1048
|
],
|
|
1100
|
-
declarations: [
|
|
1101
|
-
AutoTouchFieldWrapperComponent,
|
|
1102
|
-
DbxFormSectionWrapperComponent,
|
|
1103
|
-
DbxFormSubsectionWrapperComponent,
|
|
1104
|
-
DbxFormInfoWrapperComponent,
|
|
1105
|
-
DbxFormExpandWrapperComponent,
|
|
1106
|
-
DbxFormToggleWrapperComponent,
|
|
1107
|
-
DbxFormFlexWrapperComponent,
|
|
1108
|
-
DbxFormStyleWrapperComponent,
|
|
1109
|
-
DbxFormWorkingWrapperComponent
|
|
1110
|
-
],
|
|
1049
|
+
declarations: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent],
|
|
1111
1050
|
exports: []
|
|
1112
1051
|
}]
|
|
1113
1052
|
}] });
|
|
@@ -1115,9 +1054,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1115
1054
|
class DbxFormFormlyChecklistItemFieldModule {
|
|
1116
1055
|
}
|
|
1117
1056
|
DbxFormFormlyChecklistItemFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1118
|
-
DbxFormFormlyChecklistItemFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, declarations: [DbxChecklistItemFieldComponent,
|
|
1119
|
-
DbxChecklistItemContentComponent,
|
|
1120
|
-
DbxDefaultChecklistItemFieldDisplayComponent], imports: [CommonModule,
|
|
1057
|
+
DbxFormFormlyChecklistItemFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent], imports: [CommonModule,
|
|
1121
1058
|
DbxTextModule,
|
|
1122
1059
|
FormsModule,
|
|
1123
1060
|
ReactiveFormsModule,
|
|
@@ -1141,9 +1078,7 @@ DbxFormFormlyChecklistItemFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVers
|
|
|
1141
1078
|
DbxInjectionComponentModule,
|
|
1142
1079
|
DbxFormFormlyWrapperModule,
|
|
1143
1080
|
FormlyModule.forChild({
|
|
1144
|
-
types: [
|
|
1145
|
-
{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }
|
|
1146
|
-
]
|
|
1081
|
+
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1147
1082
|
})
|
|
1148
1083
|
], DbxFormFormlyWrapperModule] });
|
|
1149
1084
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, decorators: [{
|
|
@@ -1162,19 +1097,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1162
1097
|
DbxInjectionComponentModule,
|
|
1163
1098
|
DbxFormFormlyWrapperModule,
|
|
1164
1099
|
FormlyModule.forChild({
|
|
1165
|
-
types: [
|
|
1166
|
-
{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }
|
|
1167
|
-
]
|
|
1100
|
+
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1168
1101
|
})
|
|
1169
1102
|
],
|
|
1170
|
-
declarations: [
|
|
1171
|
-
|
|
1172
|
-
DbxChecklistItemContentComponent,
|
|
1173
|
-
DbxDefaultChecklistItemFieldDisplayComponent
|
|
1174
|
-
],
|
|
1175
|
-
exports: [
|
|
1176
|
-
DbxFormFormlyWrapperModule
|
|
1177
|
-
]
|
|
1103
|
+
declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent],
|
|
1104
|
+
exports: [DbxFormFormlyWrapperModule]
|
|
1178
1105
|
}]
|
|
1179
1106
|
}] });
|
|
1180
1107
|
|
|
@@ -1195,7 +1122,9 @@ function templateOptionsForFieldConfig(fieldConfig, override) {
|
|
|
1195
1122
|
};
|
|
1196
1123
|
}
|
|
1197
1124
|
function templateOptionsValueForFieldConfig(fieldConfig, override) {
|
|
1198
|
-
const { label, placeholder, required, readonly, description, autocomplete } = mergeObjects([fieldConfig, override], {
|
|
1125
|
+
const { label, placeholder, required, readonly, description, autocomplete } = mergeObjects([fieldConfig, override], {
|
|
1126
|
+
keysFilter: ['label', 'placeholder', 'required', 'readonly', 'description', 'autocomplete']
|
|
1127
|
+
});
|
|
1199
1128
|
const attributes = mergeObjects([fieldConfig.attributes, override === null || override === void 0 ? void 0 : override.attributes]);
|
|
1200
1129
|
const result = filterFromPOJO(Object.assign(Object.assign({}, override), { label,
|
|
1201
1130
|
placeholder,
|
|
@@ -1252,10 +1181,7 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1252
1181
|
const currentField = this._assertFieldExists(key).field;
|
|
1253
1182
|
const mergedConfig = Object.assign(Object.assign(Object.assign({}, currentField), config), { key });
|
|
1254
1183
|
if (currentField.displayContentObs && config.displayContentObs) {
|
|
1255
|
-
mergedConfig.displayContentObs = combineLatest([
|
|
1256
|
-
currentField.displayContentObs,
|
|
1257
|
-
config.displayContentObs
|
|
1258
|
-
]).pipe(map$1(([a, b]) => {
|
|
1184
|
+
mergedConfig.displayContentObs = combineLatest([currentField.displayContentObs, config.displayContentObs]).pipe(map(([a, b]) => {
|
|
1259
1185
|
const result = Object.assign(Object.assign({}, a), b);
|
|
1260
1186
|
// console.log('A and b: ', a, b, result);
|
|
1261
1187
|
return result;
|
|
@@ -1283,10 +1209,11 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1283
1209
|
}
|
|
1284
1210
|
field(config) {
|
|
1285
1211
|
const key = config.key;
|
|
1286
|
-
|
|
1212
|
+
const field = {
|
|
1287
1213
|
key,
|
|
1288
1214
|
field: config
|
|
1289
|
-
}
|
|
1215
|
+
};
|
|
1216
|
+
this._fields.set(key, field);
|
|
1290
1217
|
}
|
|
1291
1218
|
// MARK: Build/Finish
|
|
1292
1219
|
build() {
|
|
@@ -1296,7 +1223,7 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1296
1223
|
}
|
|
1297
1224
|
// MARK: Utility
|
|
1298
1225
|
customContentFromData(mapFn) {
|
|
1299
|
-
return this.dataObs$.pipe(map
|
|
1226
|
+
return this.dataObs$.pipe(map(mapFn));
|
|
1300
1227
|
}
|
|
1301
1228
|
contentWithValueFromData(key, contentFn) {
|
|
1302
1229
|
return this.customContentFromData((data) => {
|
|
@@ -1340,9 +1267,7 @@ DbxFormFormlyComponentFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion:
|
|
|
1340
1267
|
CommonModule,
|
|
1341
1268
|
DbxInjectionComponentModule,
|
|
1342
1269
|
FormlyModule.forChild({
|
|
1343
|
-
types: [
|
|
1344
|
-
{ name: 'component', component: DbxFormComponentFieldComponent }
|
|
1345
|
-
]
|
|
1270
|
+
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1346
1271
|
})
|
|
1347
1272
|
]] });
|
|
1348
1273
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyComponentFieldModule, decorators: [{
|
|
@@ -1352,17 +1277,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1352
1277
|
CommonModule,
|
|
1353
1278
|
DbxInjectionComponentModule,
|
|
1354
1279
|
FormlyModule.forChild({
|
|
1355
|
-
types: [
|
|
1356
|
-
{ name: 'component', component: DbxFormComponentFieldComponent }
|
|
1357
|
-
]
|
|
1280
|
+
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1358
1281
|
})
|
|
1359
1282
|
],
|
|
1360
|
-
declarations: [
|
|
1361
|
-
|
|
1362
|
-
],
|
|
1363
|
-
exports: [
|
|
1364
|
-
DbxFormComponentFieldComponent
|
|
1365
|
-
]
|
|
1283
|
+
declarations: [DbxFormComponentFieldComponent],
|
|
1284
|
+
exports: [DbxFormComponentFieldComponent]
|
|
1366
1285
|
}]
|
|
1367
1286
|
}] });
|
|
1368
1287
|
|
|
@@ -1384,14 +1303,14 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1384
1303
|
this.formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
1385
1304
|
this._displayHashMap = new BehaviorSubject(new Map());
|
|
1386
1305
|
this.filterInputValue$ = this.inputCtrl.valueChanges.pipe(startWith(undefined));
|
|
1387
|
-
this.filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay
|
|
1388
|
-
this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)),
|
|
1389
|
-
this._formControlValue = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value), shareReplay
|
|
1390
|
-
this.loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1306
|
+
this.filterInputValueString$ = this.filterInputValue$.pipe(debounceTime(200), distinctUntilChanged(), shareReplay(1));
|
|
1307
|
+
this.loadResultsDisplayValuesState$ = this.formControl$.pipe(first(), switchMap(() => this.loadValuesFn().pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)), startWithBeginLoading())), shareReplay(1));
|
|
1308
|
+
this._formControlValue = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
1309
|
+
this.loadResultsDisplayValues$ = this.loadResultsDisplayValuesState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1391
1310
|
/**
|
|
1392
1311
|
* Current values in the form control.
|
|
1393
1312
|
*/
|
|
1394
|
-
this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay
|
|
1313
|
+
this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
1395
1314
|
/**
|
|
1396
1315
|
* Current values with their display value.
|
|
1397
1316
|
*/
|
|
@@ -1401,16 +1320,16 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1401
1320
|
currentValues.forEach((x) => {
|
|
1402
1321
|
var _a;
|
|
1403
1322
|
const key = this.hashForValue(x);
|
|
1404
|
-
|
|
1323
|
+
const displayValue = (_a = displayValuesMap.get(key)) === null || _a === void 0 ? void 0 : _a[0];
|
|
1405
1324
|
if (!displayValue) {
|
|
1406
1325
|
valuesNotInDisplayMap.push(x);
|
|
1407
1326
|
}
|
|
1408
1327
|
});
|
|
1409
1328
|
if (valuesNotInDisplayMap.length) {
|
|
1410
|
-
return this.loadDisplayValuesForValues(valuesNotInDisplayMap).pipe(map(x => mapLoadingStateResults(x, {
|
|
1329
|
+
return this.loadDisplayValuesForValues(valuesNotInDisplayMap).pipe(map((x) => mapLoadingStateResults(x, {
|
|
1411
1330
|
mapValue: (loadedValues) => {
|
|
1412
|
-
loadedValues.forEach(x => { var _a; return x.isUnknown = (_a = x.isUnknown) !== null && _a !== void 0 ? _a : true; }); // Assign unknown flag.
|
|
1413
|
-
return
|
|
1331
|
+
loadedValues.forEach((x) => { var _a; return (x.isUnknown = (_a = x.isUnknown) !== null && _a !== void 0 ? _a : true); }); // Assign unknown flag.
|
|
1332
|
+
return [...displayValues, ...loadedValues];
|
|
1414
1333
|
}
|
|
1415
1334
|
})));
|
|
1416
1335
|
}
|
|
@@ -1421,27 +1340,27 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1421
1340
|
/**
|
|
1422
1341
|
* Results to be displayed if filtered.
|
|
1423
1342
|
*/
|
|
1424
|
-
this.filteredSearchResultsState$ = this.loadResultsDisplayValues$.pipe(switchMap((values) => this.filterInputValueString$.pipe(switchMap(text => combineLatest([this._filterValues(text, values), this.displayValuesState$]).pipe(map(([values, displayState]) => mapLoadingStateResults(displayState, {
|
|
1343
|
+
this.filteredSearchResultsState$ = this.loadResultsDisplayValues$.pipe(switchMap((values) => this.filterInputValueString$.pipe(switchMap((text) => combineLatest([this._filterValues(text, values), this.displayValuesState$]).pipe(map(([values, displayState]) => mapLoadingStateResults(displayState, {
|
|
1425
1344
|
mapValue: (displayValues) => {
|
|
1426
|
-
const valueHashSet = new Set(values.map(x => this.hashForValue(x)));
|
|
1427
|
-
return displayValues.filter(x => !x.isUnknown && valueHashSet.has(x._hash));
|
|
1345
|
+
const valueHashSet = new Set(values.map((x) => this.hashForValue(x)));
|
|
1346
|
+
return displayValues.filter((x) => !x.isUnknown && valueHashSet.has(x._hash));
|
|
1428
1347
|
}
|
|
1429
|
-
})),
|
|
1430
|
-
this.filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map(x => x === null || x === void 0 ? void 0 : x.value), filterMaybe(), shareReplay
|
|
1348
|
+
})), startWithBeginLoading())))), shareReplay(1));
|
|
1349
|
+
this.filteredSearchResults$ = this.filteredSearchResultsState$.pipe(map((x) => x === null || x === void 0 ? void 0 : x.value), filterMaybe(), shareReplay(1));
|
|
1431
1350
|
this.items$ = combineLatest([this.filteredSearchResults$, this.values$]).pipe(map(([displayValues, values]) => {
|
|
1432
|
-
const selectedHashValuesSet = new Set(values.map(x => this.hashForValue(x)));
|
|
1351
|
+
const selectedHashValuesSet = new Set(values.map((x) => this.hashForValue(x)));
|
|
1433
1352
|
let items = displayValues.map((x) => ({ itemValue: x, selected: selectedHashValuesSet.has(x._hash) }));
|
|
1434
1353
|
if (this.sortItems) {
|
|
1435
1354
|
items = this.sortItems(items);
|
|
1436
1355
|
}
|
|
1437
1356
|
return items;
|
|
1438
|
-
}), shareReplay
|
|
1439
|
-
this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(
|
|
1357
|
+
}), shareReplay(1));
|
|
1358
|
+
this.itemsLoadingState$ = this.loadResultsDisplayValues$.pipe(switchMap(() => this.items$.pipe(first(), map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1))));
|
|
1440
1359
|
/**
|
|
1441
1360
|
* Context used for managing the loading of items, or when the current results change.
|
|
1442
1361
|
*/
|
|
1443
1362
|
this.context = new ListLoadingStateContextInstance({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
|
|
1444
|
-
this.filterItemsLoadingState$ = this.items$.pipe(map(x => successResult(x)),
|
|
1363
|
+
this.filterItemsLoadingState$ = this.items$.pipe(map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1));
|
|
1445
1364
|
/**
|
|
1446
1365
|
* Context used for searching/filtering.
|
|
1447
1366
|
*/
|
|
@@ -1471,7 +1390,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1471
1390
|
}
|
|
1472
1391
|
get name() {
|
|
1473
1392
|
var _a, _b;
|
|
1474
|
-
return (_a = this.field.name) !== null && _a !== void 0 ? _a :
|
|
1393
|
+
return (_a = this.field.name) !== null && _a !== void 0 ? _a : camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key);
|
|
1475
1394
|
}
|
|
1476
1395
|
get label() {
|
|
1477
1396
|
var _a;
|
|
@@ -1479,7 +1398,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1479
1398
|
}
|
|
1480
1399
|
get autocomplete() {
|
|
1481
1400
|
var _a, _b, _c;
|
|
1482
|
-
return (_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key;
|
|
1401
|
+
return ((_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key);
|
|
1483
1402
|
}
|
|
1484
1403
|
get changeSelectionModeToViewOnDisabled() {
|
|
1485
1404
|
var _a;
|
|
@@ -1500,7 +1419,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1500
1419
|
}
|
|
1501
1420
|
get filterValuesFn() {
|
|
1502
1421
|
var _a;
|
|
1503
|
-
return (_a = this.pickableField.filterValues) !== null && _a !== void 0 ? _a : ((_, x) => of(x.map(y => y.value)));
|
|
1422
|
+
return (_a = this.pickableField.filterValues) !== null && _a !== void 0 ? _a : ((_, x) => of(x.map((y) => y.value)));
|
|
1504
1423
|
}
|
|
1505
1424
|
get skipFilterFnOnEmpty() {
|
|
1506
1425
|
var _a;
|
|
@@ -1515,7 +1434,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1515
1434
|
result = this.filterValuesFn(filterText, values);
|
|
1516
1435
|
}
|
|
1517
1436
|
else {
|
|
1518
|
-
result = of(values.map(x => x.value));
|
|
1437
|
+
result = of(values.map((x) => x.value));
|
|
1519
1438
|
}
|
|
1520
1439
|
return result;
|
|
1521
1440
|
};
|
|
@@ -1543,44 +1462,44 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1543
1462
|
return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
|
|
1544
1463
|
}
|
|
1545
1464
|
loadDisplayValuesForFieldValues(values) {
|
|
1546
|
-
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)),
|
|
1465
|
+
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
|
|
1547
1466
|
}
|
|
1548
1467
|
getDisplayValuesForFieldValues(values) {
|
|
1549
1468
|
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
1550
|
-
const mappingResult = values
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
const hasDisplay = mappingResult.filter(x => Boolean(x[3]));
|
|
1554
|
-
const needsDisplay = mappingResult.filter(x => !x[3]);
|
|
1469
|
+
const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
|
|
1470
|
+
const hasDisplay = mappingResult.filter((x) => Boolean(x[3]));
|
|
1471
|
+
const needsDisplay = mappingResult.filter((x) => !x[3]);
|
|
1555
1472
|
if (needsDisplay.length > 0) {
|
|
1556
1473
|
// Go get the display value.
|
|
1557
|
-
const displayValuesObs = this.displayForValue(needsDisplay.map(x => x[2]));
|
|
1474
|
+
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
1558
1475
|
return displayValuesObs.pipe(first(), map((displayResults) => {
|
|
1559
1476
|
const displayResultsWithHash = displayResults.map((x) => {
|
|
1560
1477
|
x._hash = this.hashForValue(x.value);
|
|
1561
1478
|
return x;
|
|
1562
1479
|
});
|
|
1563
1480
|
// Create a map to re-join values later.
|
|
1564
|
-
const displayResultsMapping = displayResultsWithHash.map(x => [x, x._hash]);
|
|
1481
|
+
const displayResultsMapping = displayResultsWithHash.map((x) => [x, x._hash]);
|
|
1565
1482
|
const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
|
|
1566
1483
|
// Update displayMap. No need to push an update notification.
|
|
1567
1484
|
displayResultsMapping.forEach(([x, hash]) => displayMap.set(hash, x));
|
|
1568
1485
|
// Zip values back together.
|
|
1569
|
-
const newDisplayValues = mappingResult.map(x => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
|
|
1486
|
+
const newDisplayValues = mappingResult.map((x) => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
|
|
1570
1487
|
// Return display values.
|
|
1571
1488
|
return newDisplayValues;
|
|
1572
1489
|
}));
|
|
1573
1490
|
}
|
|
1574
1491
|
else {
|
|
1575
1492
|
// If all display values are hashed return that.
|
|
1576
|
-
return of(hasDisplay.map(x => x[3]));
|
|
1493
|
+
return of(hasDisplay.map((x) => x[3]));
|
|
1577
1494
|
}
|
|
1578
1495
|
}));
|
|
1579
1496
|
}
|
|
1580
1497
|
ngOnInit() {
|
|
1581
1498
|
this._formControlObs.next(this.formControl);
|
|
1582
1499
|
// Focus after finished loading for the first time.
|
|
1583
|
-
this.context.loading
|
|
1500
|
+
this.context.loading$
|
|
1501
|
+
.pipe(delay(10), filter((x) => x), first())
|
|
1502
|
+
.subscribe(() => {
|
|
1584
1503
|
var _a;
|
|
1585
1504
|
(_a = this.filterMatInput) === null || _a === void 0 ? void 0 : _a.focus();
|
|
1586
1505
|
});
|
|
@@ -1592,7 +1511,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1592
1511
|
this.filterResultsContext.destroy();
|
|
1593
1512
|
}
|
|
1594
1513
|
_getValueOnFormControl(valueOnFormControl) {
|
|
1595
|
-
const value =
|
|
1514
|
+
const value = valueOnFormControl != null ? [].concat(valueOnFormControl) : []; // Always return an array.
|
|
1596
1515
|
return value;
|
|
1597
1516
|
}
|
|
1598
1517
|
addValue(value) {
|
|
@@ -1600,7 +1519,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1600
1519
|
}
|
|
1601
1520
|
removeValue(value) {
|
|
1602
1521
|
const hashToFilter = this.hashForValue(value);
|
|
1603
|
-
const values = this.values.filter(x => this.hashForValue(x) !== hashToFilter);
|
|
1522
|
+
const values = this.values.filter((x) => this.hashForValue(x) !== hashToFilter);
|
|
1604
1523
|
this.setValues(values);
|
|
1605
1524
|
}
|
|
1606
1525
|
setValues(values) {
|
|
@@ -1609,7 +1528,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1609
1528
|
values = findUnique(values, this.hashForValue);
|
|
1610
1529
|
}
|
|
1611
1530
|
if (!this.multiSelect) {
|
|
1612
|
-
values = [values[0]].filter(x => x != null);
|
|
1531
|
+
values = [values[0]].filter((x) => x != null);
|
|
1613
1532
|
}
|
|
1614
1533
|
this._setValueOnFormControl(values);
|
|
1615
1534
|
}
|
|
@@ -1617,7 +1536,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1617
1536
|
_setValueOnFormControl(values) {
|
|
1618
1537
|
let newValue = values;
|
|
1619
1538
|
if (!this.asArrayValue) {
|
|
1620
|
-
newValue = [values[0]].filter(x => x != null)[0];
|
|
1539
|
+
newValue = [values[0]].filter((x) => x != null)[0];
|
|
1621
1540
|
}
|
|
1622
1541
|
this.formControl.setValue(newValue);
|
|
1623
1542
|
this.formControl.markAsTouched();
|
|
@@ -1649,10 +1568,10 @@ class DbxPickableChipListFieldComponent extends AbstractDbxPickableItemFieldDire
|
|
|
1649
1568
|
}
|
|
1650
1569
|
}
|
|
1651
1570
|
DbxPickableChipListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableChipListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1652
|
-
DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableChipListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\"
|
|
1571
|
+
DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableChipListFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\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 [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: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.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: i6$1.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: i4$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
|
|
1653
1572
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableChipListFieldComponent, decorators: [{
|
|
1654
1573
|
type: Component,
|
|
1655
|
-
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\"
|
|
1574
|
+
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n <ng-container *ngIf=\"showFilterInput\">\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n </ng-container>\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-list [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" #chipList>\n <mat-chip *ngFor=\"let item of items$ | async\" (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n <span class=\"dbx-chip-sublabel\" *ngIf=\"item.itemValue.sublabel\">{{ item.itemValue.sublabel }}</span>\n </mat-chip>\n </mat-chip-list>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\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 [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" }]
|
|
1656
1575
|
}] });
|
|
1657
1576
|
|
|
1658
1577
|
/**
|
|
@@ -1661,15 +1580,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1661
1580
|
class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
1662
1581
|
onSelectionChange(event) {
|
|
1663
1582
|
const items = event.items;
|
|
1664
|
-
const values = items.map(x => x.itemValue.value);
|
|
1583
|
+
const values = items.map((x) => x.itemValue.value);
|
|
1665
1584
|
this.setValues(values);
|
|
1666
1585
|
}
|
|
1667
1586
|
}
|
|
1668
1587
|
DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1669
|
-
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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$\"
|
|
1588
|
+
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\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 [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$1.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.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { type: i0.forwardRef(function () { return i4$2.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i0.forwardRef(function () { return i5.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i0.forwardRef(function () { return i5.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i0.forwardRef(function () { return i6$1.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 i4$1.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 i4$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { type: i0.forwardRef(function () { return i4$1.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i0.forwardRef(function () { return i5.AsyncPipe; }) } });
|
|
1670
1589
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
1671
1590
|
type: Component,
|
|
1672
|
-
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$\"
|
|
1591
|
+
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$\" (selectionChange)=\"onSelectionChange($event)\"></dbx-form-pickable-item-field-item-list>\n </div>\n <dbx-injection [config]=\"footerConfig\"></dbx-injection>\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 [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" }]
|
|
1673
1592
|
}] });
|
|
1674
1593
|
// MARK: Selection List
|
|
1675
1594
|
class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
@@ -1695,12 +1614,13 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
|
|
|
1695
1614
|
constructor(dbxPickableListFieldComponent) {
|
|
1696
1615
|
super();
|
|
1697
1616
|
this.dbxPickableListFieldComponent = dbxPickableListFieldComponent;
|
|
1617
|
+
// TODO: any belongs here for now, but item list typings need to be updated.
|
|
1698
1618
|
this.config = {
|
|
1699
1619
|
componentClass: DbxPickableListFieldItemListViewItemComponent
|
|
1700
1620
|
};
|
|
1701
1621
|
this.items$ = this.values$.pipe(
|
|
1702
1622
|
// NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
|
|
1703
|
-
map(x => addConfigToValueListItems(this.config, x)), shareReplay
|
|
1623
|
+
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
1704
1624
|
}
|
|
1705
1625
|
get multiple() {
|
|
1706
1626
|
return this.dbxPickableListFieldComponent.multiSelect;
|
|
@@ -1714,12 +1634,16 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
|
|
|
1714
1634
|
}
|
|
1715
1635
|
}
|
|
1716
1636
|
DbxPickableListFieldItemListViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: [{ token: DbxPickableListFieldComponent }], target: i0.ɵɵFactoryTarget.Component });
|
|
1717
|
-
DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers:
|
|
1637
|
+
DbxPickableListFieldItemListViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPickableListFieldItemListViewComponent, selector: "ng-component", providers: provideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `
|
|
1638
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>
|
|
1639
|
+
`, isInline: true, components: [{ type: i1$1.DbxSelectionValueListItemViewComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }], pipes: { "async": i5.AsyncPipe } });
|
|
1718
1640
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
1719
1641
|
type: Component,
|
|
1720
1642
|
args: [{
|
|
1721
|
-
template:
|
|
1722
|
-
|
|
1643
|
+
template: `
|
|
1644
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="items$ | async"></dbx-selection-list-view-content>
|
|
1645
|
+
`,
|
|
1646
|
+
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent)
|
|
1723
1647
|
}]
|
|
1724
1648
|
}], ctorParameters: function () { return [{ type: DbxPickableListFieldComponent }]; } });
|
|
1725
1649
|
class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
|
|
@@ -1743,11 +1667,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1743
1667
|
class DbxFormFormlyPickableFieldModule {
|
|
1744
1668
|
}
|
|
1745
1669
|
DbxFormFormlyPickableFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1746
|
-
DbxFormFormlyPickableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, declarations: [DbxPickableChipListFieldComponent,
|
|
1747
|
-
DbxPickableListFieldComponent,
|
|
1748
|
-
DbxPickableListFieldItemListComponent,
|
|
1749
|
-
DbxPickableListFieldItemListViewComponent,
|
|
1750
|
-
DbxPickableListFieldItemListViewItemComponent], imports: [CommonModule,
|
|
1670
|
+
DbxFormFormlyPickableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPickableFieldModule, declarations: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent], imports: [CommonModule,
|
|
1751
1671
|
DbxTextModule,
|
|
1752
1672
|
DbxLoadingModule,
|
|
1753
1673
|
DbxButtonModule,
|
|
@@ -1785,7 +1705,7 @@ DbxFormFormlyPickableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion:
|
|
|
1785
1705
|
FormlyModule.forChild({
|
|
1786
1706
|
types: [
|
|
1787
1707
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
1788
|
-
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1708
|
+
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1789
1709
|
]
|
|
1790
1710
|
})
|
|
1791
1711
|
]] });
|
|
@@ -1813,17 +1733,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
1813
1733
|
FormlyModule.forChild({
|
|
1814
1734
|
types: [
|
|
1815
1735
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
1816
|
-
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1736
|
+
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1817
1737
|
]
|
|
1818
1738
|
})
|
|
1819
1739
|
],
|
|
1820
|
-
declarations: [
|
|
1821
|
-
DbxPickableChipListFieldComponent,
|
|
1822
|
-
DbxPickableListFieldComponent,
|
|
1823
|
-
DbxPickableListFieldItemListComponent,
|
|
1824
|
-
DbxPickableListFieldItemListViewComponent,
|
|
1825
|
-
DbxPickableListFieldItemListViewItemComponent
|
|
1826
|
-
],
|
|
1740
|
+
declarations: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent],
|
|
1827
1741
|
exports: []
|
|
1828
1742
|
}]
|
|
1829
1743
|
}] });
|
|
@@ -1832,12 +1746,12 @@ function filterPickableItemFieldValuesByLabel(filterText, values) {
|
|
|
1832
1746
|
let filteredValues;
|
|
1833
1747
|
if (filterText) {
|
|
1834
1748
|
const searchString = filterText.toLocaleLowerCase();
|
|
1835
|
-
filteredValues = values.filter(x => x.label.toLocaleLowerCase().indexOf(searchString) !== -1);
|
|
1749
|
+
filteredValues = values.filter((x) => x.label.toLocaleLowerCase().indexOf(searchString) !== -1);
|
|
1836
1750
|
}
|
|
1837
1751
|
else {
|
|
1838
1752
|
filteredValues = values;
|
|
1839
1753
|
}
|
|
1840
|
-
return of(filteredValues.map(x => x.value));
|
|
1754
|
+
return of(filteredValues.map((x) => x.value));
|
|
1841
1755
|
}
|
|
1842
1756
|
function sortPickableItemsByLabel(chips) {
|
|
1843
1757
|
return chips.sort((a, b) => a.itemValue.label.localeCompare(b.itemValue.label));
|
|
@@ -1859,15 +1773,17 @@ const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearcha
|
|
|
1859
1773
|
class DbxSearchableFieldAutocompleteItemComponent {
|
|
1860
1774
|
constructor() {
|
|
1861
1775
|
this._displayValue = new BehaviorSubject(undefined);
|
|
1862
|
-
this.displayValue$ = this._displayValue.pipe(filterMaybe(), shareReplay
|
|
1863
|
-
this.config$ = this.displayValue$.pipe(map(x => {
|
|
1864
|
-
const config = Object.assign(Object.assign({}, x.display), { providers: mergeIntoArray([
|
|
1776
|
+
this.displayValue$ = this._displayValue.pipe(filterMaybe(), shareReplay(1));
|
|
1777
|
+
this.config$ = this.displayValue$.pipe(map((x) => {
|
|
1778
|
+
const config = Object.assign(Object.assign({}, x.display), { providers: mergeIntoArray([
|
|
1779
|
+
{
|
|
1865
1780
|
provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN,
|
|
1866
1781
|
useValue: x
|
|
1867
|
-
}
|
|
1782
|
+
}
|
|
1783
|
+
], x.display.providers) });
|
|
1868
1784
|
return config;
|
|
1869
1785
|
}));
|
|
1870
|
-
this.anchor$ = this.displayValue$.pipe(map(x => x.anchor));
|
|
1786
|
+
this.anchor$ = this.displayValue$.pipe(map((x) => x.anchor));
|
|
1871
1787
|
}
|
|
1872
1788
|
set displayValue(displayValue) {
|
|
1873
1789
|
this._displayValue.next(displayValue);
|
|
@@ -1915,20 +1831,20 @@ class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFie
|
|
|
1915
1831
|
}
|
|
1916
1832
|
DbxDefaultSearchableFieldDisplayComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1917
1833
|
DbxDefaultSearchableFieldDisplayComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1834
|
+
<div class="dbx-default-searchable-field-display">
|
|
1835
|
+
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
1836
|
+
<span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
|
|
1837
|
+
</div>
|
|
1922
1838
|
`, isInline: true, directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1923
1839
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
|
|
1924
1840
|
type: Component,
|
|
1925
1841
|
args: [{
|
|
1926
1842
|
selector: 'dbx-default-searchable-field-display',
|
|
1927
1843
|
template: `
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1844
|
+
<div class="dbx-default-searchable-field-display">
|
|
1845
|
+
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
1846
|
+
<span class="dbx-chip-sublabel" *ngIf="displayValue.sublabel">({{ displayValue.sublabel }})</span>
|
|
1847
|
+
</div>
|
|
1932
1848
|
`
|
|
1933
1849
|
}]
|
|
1934
1850
|
}] });
|
|
@@ -1952,20 +1868,20 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
1952
1868
|
this._displayHashMap = new BehaviorSubject(new Map());
|
|
1953
1869
|
this.inputValue$ = this.inputCtrl.valueChanges.pipe(startWith(this.inputCtrl.value));
|
|
1954
1870
|
this.inputValueString$ = this.inputValue$.pipe(debounceTime(200), distinctUntilChanged());
|
|
1955
|
-
this.searchResultsState$ = this.inputValueString$.pipe(switchMap((text) => (
|
|
1871
|
+
this.searchResultsState$ = this.inputValueString$.pipe(switchMap((text) => (text || this.searchOnEmptyText ? this.search(text !== null && text !== void 0 ? text : '') : of([])).pipe(switchMap((x) => this.loadDisplayValuesForFieldValues(x)),
|
|
1956
1872
|
// Return begin loading to setup the loading state.
|
|
1957
|
-
|
|
1873
|
+
startWithBeginLoading())), shareReplay(1));
|
|
1958
1874
|
this.singleValueSyncSubscription = new SubscriptionObject();
|
|
1959
1875
|
this.searchContext = new LoadingStateContextInstance({ obs: this.searchResultsState$, showLoadingOnNoValue: false });
|
|
1960
|
-
this.searchResults$ = this.searchResultsState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1961
|
-
this._formControlValue = this.formControl$.pipe(switchMap(control => control.valueChanges.pipe(startWith(control.value), shareReplay
|
|
1962
|
-
this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay
|
|
1963
|
-
this.displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay
|
|
1964
|
-
this.displayValues$ = this.displayValuesState$.pipe(map(x => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1876
|
+
this.searchResults$ = this.searchResultsState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1877
|
+
this._formControlValue = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
1878
|
+
this.values$ = this._formControlValue.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
1879
|
+
this.displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay(1));
|
|
1880
|
+
this.displayValues$ = this.displayValuesState$.pipe(map((x) => { var _a; return (_a = x === null || x === void 0 ? void 0 : x.value) !== null && _a !== void 0 ? _a : []; }));
|
|
1965
1881
|
}
|
|
1966
1882
|
get name() {
|
|
1967
1883
|
var _a, _b;
|
|
1968
|
-
return (_a = this.field.name) !== null && _a !== void 0 ? _a :
|
|
1884
|
+
return (_a = this.field.name) !== null && _a !== void 0 ? _a : camelCase((_b = this.label) !== null && _b !== void 0 ? _b : this.key);
|
|
1969
1885
|
}
|
|
1970
1886
|
get label() {
|
|
1971
1887
|
var _a;
|
|
@@ -1984,7 +1900,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
1984
1900
|
}
|
|
1985
1901
|
get autocomplete() {
|
|
1986
1902
|
var _a, _b, _c;
|
|
1987
|
-
return (_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key;
|
|
1903
|
+
return ((_c = (_b = (_a = this.field.templateOptions) === null || _a === void 0 ? void 0 : _a.attributes) === null || _b === void 0 ? void 0 : _b['autocomplete']) !== null && _c !== void 0 ? _c : this.key);
|
|
1988
1904
|
}
|
|
1989
1905
|
get hashForValue() {
|
|
1990
1906
|
var _a;
|
|
@@ -2024,24 +1940,22 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2024
1940
|
return this.loadDisplayValuesForFieldValues(values.map((value) => ({ value })));
|
|
2025
1941
|
}
|
|
2026
1942
|
loadDisplayValuesForFieldValues(values) {
|
|
2027
|
-
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)),
|
|
1943
|
+
return this.getDisplayValuesForFieldValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
|
|
2028
1944
|
}
|
|
2029
1945
|
getDisplayValuesForFieldValues(values) {
|
|
2030
1946
|
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
2031
|
-
const mappingResult = values
|
|
2032
|
-
|
|
2033
|
-
|
|
2034
|
-
const hasDisplay = mappingResult.filter(x => Boolean(x[3]));
|
|
2035
|
-
const needsDisplay = mappingResult.filter(x => !x[3]);
|
|
1947
|
+
const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
|
|
1948
|
+
const hasDisplay = mappingResult.filter((x) => Boolean(x[3]));
|
|
1949
|
+
const needsDisplay = mappingResult.filter((x) => !x[3]);
|
|
2036
1950
|
let obs;
|
|
2037
1951
|
if (needsDisplay.length > 0) {
|
|
2038
1952
|
// Go get the display value.
|
|
2039
|
-
const displayValuesObs = this.displayForValue(needsDisplay.map(x => x[2]));
|
|
1953
|
+
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
2040
1954
|
const defaultDisplay = mergeDbxInjectionComponentConfigs([this.defaultDisplay, this.display]);
|
|
2041
1955
|
const anchorForValue = this.useAnchor && this.anchorForValue;
|
|
2042
1956
|
obs = displayValuesObs.pipe(first(), map((displayResults) => {
|
|
2043
1957
|
// Assign the default component classes to complete configuration.
|
|
2044
|
-
displayResults.forEach(x => {
|
|
1958
|
+
displayResults.forEach((x) => {
|
|
2045
1959
|
if (!x.display) {
|
|
2046
1960
|
x.display = defaultDisplay;
|
|
2047
1961
|
}
|
|
@@ -2053,19 +1967,19 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2053
1967
|
}
|
|
2054
1968
|
});
|
|
2055
1969
|
// Create a map to re-join values later.
|
|
2056
|
-
const displayResultsMapping = displayResults.map(x => [x, this.hashForValue(x.value)]);
|
|
1970
|
+
const displayResultsMapping = displayResults.map((x) => [x, this.hashForValue(x.value)]);
|
|
2057
1971
|
const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
|
|
2058
1972
|
// Update displayMap. No need to push an update notification.
|
|
2059
1973
|
displayResultsMapping.forEach(([x, hash]) => displayMap.set(hash, x));
|
|
2060
1974
|
// Zip values back together.
|
|
2061
|
-
const newDisplayValues = mappingResult.map(x => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
|
|
1975
|
+
const newDisplayValues = mappingResult.map((x) => { var _a; return (_a = x[3]) !== null && _a !== void 0 ? _a : valueIndexHashMap.get(x[1]); });
|
|
2062
1976
|
// Return display values.
|
|
2063
1977
|
return newDisplayValues;
|
|
2064
1978
|
}));
|
|
2065
1979
|
}
|
|
2066
1980
|
else {
|
|
2067
1981
|
// If all display values are hashed return that.
|
|
2068
|
-
obs = of(hasDisplay.map(x => x[3]));
|
|
1982
|
+
obs = of(hasDisplay.map((x) => x[3]));
|
|
2069
1983
|
}
|
|
2070
1984
|
return obs;
|
|
2071
1985
|
}));
|
|
@@ -2114,7 +2028,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2114
2028
|
return;
|
|
2115
2029
|
}
|
|
2116
2030
|
if (text) {
|
|
2117
|
-
const value =
|
|
2031
|
+
const value = this.convertStringValue ? this.convertStringValue(text) : text;
|
|
2118
2032
|
this.addValue(value);
|
|
2119
2033
|
}
|
|
2120
2034
|
}
|
|
@@ -2144,10 +2058,10 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2144
2058
|
let values;
|
|
2145
2059
|
if (this.hashForValue) {
|
|
2146
2060
|
const hashToFilter = this.hashForValue(value);
|
|
2147
|
-
values = this.values.filter(x => this.hashForValue(x) !== hashToFilter);
|
|
2061
|
+
values = this.values.filter((x) => this.hashForValue(x) !== hashToFilter);
|
|
2148
2062
|
}
|
|
2149
2063
|
else {
|
|
2150
|
-
values = this.values.filter(x => x !== value);
|
|
2064
|
+
values = this.values.filter((x) => x !== value);
|
|
2151
2065
|
}
|
|
2152
2066
|
this.setValues(values);
|
|
2153
2067
|
}
|
|
@@ -2163,11 +2077,11 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2163
2077
|
}
|
|
2164
2078
|
// MARK: Internal
|
|
2165
2079
|
_getValueOnFormControl(valueOnFormControl) {
|
|
2166
|
-
const value =
|
|
2080
|
+
const value = valueOnFormControl != null ? [].concat(valueOnFormControl) : []; // Always return an array.
|
|
2167
2081
|
return value;
|
|
2168
2082
|
}
|
|
2169
2083
|
_setValueOnFormControl(values) {
|
|
2170
|
-
const value =
|
|
2084
|
+
const value = this.multiSelect ? values : lastValue(values); // pick last value, as the last value added is the newest value.
|
|
2171
2085
|
this.formControl.setValue(value);
|
|
2172
2086
|
this.formControl.markAsDirty();
|
|
2173
2087
|
this.formControl.markAsTouched();
|
|
@@ -2225,10 +2139,10 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2225
2139
|
}
|
|
2226
2140
|
}
|
|
2227
2141
|
DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2228
|
-
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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\"
|
|
2142
|
+
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", 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\" (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\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [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\" (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n", components: [{ type: i1$5.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], directives: [{ type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1$5.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: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$5.MatChipRemove, selector: "[matChipRemove]" }, { type: i4$1.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$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i1$5.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], pipes: { "async": i5.AsyncPipe } });
|
|
2229
2143
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
|
|
2230
2144
|
type: Component,
|
|
2231
|
-
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\"
|
|
2145
|
+
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\" (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\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [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\" (optionSelected)=\"selected($event)\">\n <mat-option *ngFor=\"let displayValue of searchResults$ | async\" [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n</mat-autocomplete>\n" }]
|
|
2232
2146
|
}] });
|
|
2233
2147
|
|
|
2234
2148
|
/**
|
|
@@ -2243,9 +2157,10 @@ function makeMetaFilterSearchableFieldValueDisplayFn({ loadMetaForValues, makeDi
|
|
|
2243
2157
|
let allValues;
|
|
2244
2158
|
if (needLoading.length > 0) {
|
|
2245
2159
|
const loadingResult = loadMetaForValues(needLoading);
|
|
2246
|
-
allValues = loadingResult.pipe(map
|
|
2160
|
+
allValues = loadingResult.pipe(map((result) => {
|
|
2247
2161
|
const resultMap = arrayToMap(result, (x) => x.value);
|
|
2248
|
-
const mergedWithLoad = needLoading
|
|
2162
|
+
const mergedWithLoad = needLoading
|
|
2163
|
+
.map((x) => {
|
|
2249
2164
|
var _a;
|
|
2250
2165
|
const id = x.value;
|
|
2251
2166
|
const loadedItem = resultMap.get(id);
|
|
@@ -2253,9 +2168,10 @@ function makeMetaFilterSearchableFieldValueDisplayFn({ loadMetaForValues, makeDi
|
|
|
2253
2168
|
const meta = loadedItem === null || loadedItem === void 0 ? void 0 : loadedItem.meta;
|
|
2254
2169
|
return Object.assign(Object.assign({}, x), { anchor,
|
|
2255
2170
|
meta });
|
|
2256
|
-
})
|
|
2171
|
+
})
|
|
2172
|
+
.filter((x) => !x.meta);
|
|
2257
2173
|
return mergedWithLoad;
|
|
2258
|
-
}), map
|
|
2174
|
+
}), map((result) => [...loaded, ...result]));
|
|
2259
2175
|
}
|
|
2260
2176
|
else {
|
|
2261
2177
|
allValues = of(loaded);
|
|
@@ -2286,9 +2202,9 @@ function searchableTextField(config) {
|
|
|
2286
2202
|
class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
2287
2203
|
constructor() {
|
|
2288
2204
|
super(...arguments);
|
|
2289
|
-
this.selectedDisplayValue$ = this.displayValues$.pipe(map(x => x[0]), shareReplay
|
|
2290
|
-
this.hasValue$ = this.selectedDisplayValue$.pipe(map(x => Boolean(x)));
|
|
2291
|
-
this.showSelectedDisplayValue$ = this.selectedDisplayValue$.pipe(map(x => this.showSelectedValue && Boolean(x)), distinctUntilChanged(), shareReplay
|
|
2205
|
+
this.selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1), tapDetectChanges(this.cdRef));
|
|
2206
|
+
this.hasValue$ = this.selectedDisplayValue$.pipe(map((x) => Boolean(x)));
|
|
2207
|
+
this.showSelectedDisplayValue$ = this.selectedDisplayValue$.pipe(map((x) => this.showSelectedValue && Boolean(x)), distinctUntilChanged(), shareReplay(1), tapDetectChanges(this.cdRef));
|
|
2292
2208
|
this.multiSelect = false;
|
|
2293
2209
|
this._clearInputSub = new SubscriptionObject();
|
|
2294
2210
|
}
|
|
@@ -2312,24 +2228,20 @@ class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2312
2228
|
this._clearInputSub.destroy();
|
|
2313
2229
|
}
|
|
2314
2230
|
selected(event) {
|
|
2315
|
-
|
|
2316
|
-
this.addWithDisplayValue(e.option.value);
|
|
2231
|
+
this.addWithDisplayValue(event.option.value);
|
|
2317
2232
|
}
|
|
2318
2233
|
}
|
|
2319
2234
|
DbxSearchableTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2320
|
-
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\"
|
|
2235
|
+
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxSearchableTextFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\" [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)!\"></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\" [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\"></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: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { type: i4$3.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.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$1.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: i4$1.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$3.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.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 } });
|
|
2321
2236
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
|
|
2322
2237
|
type: Component,
|
|
2323
|
-
args: [{ template: "<div class=\"dbx-searchable-text-field\"
|
|
2238
|
+
args: [{ template: "<div class=\"dbx-searchable-text-field\" [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)!\"></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\" [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\"></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" }]
|
|
2324
2239
|
}] });
|
|
2325
2240
|
|
|
2326
2241
|
class DbxFormFormlySearchableFieldModule {
|
|
2327
2242
|
}
|
|
2328
2243
|
DbxFormFormlySearchableFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2329
|
-
DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, declarations: [DbxSearchableChipFieldComponent,
|
|
2330
|
-
DbxSearchableTextFieldComponent,
|
|
2331
|
-
DbxSearchableFieldAutocompleteItemComponent,
|
|
2332
|
-
DbxDefaultSearchableFieldDisplayComponent], imports: [CommonModule,
|
|
2244
|
+
DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, declarations: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent], imports: [CommonModule,
|
|
2333
2245
|
DbxTextModule,
|
|
2334
2246
|
DbxLoadingModule,
|
|
2335
2247
|
DbxButtonModule,
|
|
@@ -2344,8 +2256,7 @@ DbxFormFormlySearchableFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion
|
|
|
2344
2256
|
DbxRouterAnchorModule,
|
|
2345
2257
|
MatChipsModule,
|
|
2346
2258
|
MatIconModule,
|
|
2347
|
-
DbxInjectionComponentModule, i1$4.FormlyModule], exports: [DbxSearchableChipFieldComponent,
|
|
2348
|
-
DbxSearchableTextFieldComponent] });
|
|
2259
|
+
DbxInjectionComponentModule, i1$4.FormlyModule], exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent] });
|
|
2349
2260
|
DbxFormFormlySearchableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [[
|
|
2350
2261
|
CommonModule,
|
|
2351
2262
|
DbxTextModule,
|
|
@@ -2366,7 +2277,7 @@ DbxFormFormlySearchableFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion
|
|
|
2366
2277
|
FormlyModule.forChild({
|
|
2367
2278
|
types: [
|
|
2368
2279
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
2369
|
-
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2280
|
+
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2370
2281
|
]
|
|
2371
2282
|
})
|
|
2372
2283
|
]] });
|
|
@@ -2393,50 +2304,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2393
2304
|
FormlyModule.forChild({
|
|
2394
2305
|
types: [
|
|
2395
2306
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
2396
|
-
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2307
|
+
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2397
2308
|
]
|
|
2398
2309
|
})
|
|
2399
2310
|
],
|
|
2400
|
-
declarations: [
|
|
2401
|
-
|
|
2402
|
-
DbxSearchableTextFieldComponent,
|
|
2403
|
-
DbxSearchableFieldAutocompleteItemComponent,
|
|
2404
|
-
DbxDefaultSearchableFieldDisplayComponent
|
|
2405
|
-
],
|
|
2406
|
-
exports: [
|
|
2407
|
-
DbxSearchableChipFieldComponent,
|
|
2408
|
-
DbxSearchableTextFieldComponent
|
|
2409
|
-
]
|
|
2311
|
+
declarations: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent],
|
|
2312
|
+
exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent]
|
|
2410
2313
|
}]
|
|
2411
2314
|
}] });
|
|
2412
2315
|
|
|
2413
2316
|
function chipTextField(config) {
|
|
2414
|
-
const convertStringValue =
|
|
2317
|
+
const convertStringValue = config.caseSensitive ? (x) => x : (x) => x === null || x === void 0 ? void 0 : x.toLowerCase();
|
|
2415
2318
|
return formlyField(Object.assign(Object.assign({ type: 'searchablechipfield', allowStringValues: true, convertStringValue }, config), { displayForValue: (values) => {
|
|
2416
|
-
return of(values.map(x => (Object.assign(Object.assign({}, x), { label: x.value }))));
|
|
2319
|
+
return of(values.map((x) => (Object.assign(Object.assign({}, x), { label: x.value }))));
|
|
2417
2320
|
} }));
|
|
2418
2321
|
}
|
|
2419
2322
|
|
|
2420
2323
|
class DbxFormFormlySelectionModule {
|
|
2421
2324
|
}
|
|
2422
2325
|
DbxFormFormlySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2423
|
-
DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule,
|
|
2424
|
-
|
|
2425
|
-
DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [[
|
|
2426
|
-
CommonModule
|
|
2427
|
-
], DbxFormFormlyPickableFieldModule,
|
|
2428
|
-
DbxFormFormlySearchableFieldModule] });
|
|
2326
|
+
DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
|
|
2327
|
+
DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [[CommonModule], DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
|
|
2429
2328
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
|
|
2430
2329
|
type: NgModule,
|
|
2431
2330
|
args: [{
|
|
2432
|
-
imports: [
|
|
2433
|
-
CommonModule
|
|
2434
|
-
],
|
|
2331
|
+
imports: [CommonModule],
|
|
2435
2332
|
declarations: [],
|
|
2436
|
-
exports: [
|
|
2437
|
-
DbxFormFormlyPickableFieldModule,
|
|
2438
|
-
DbxFormFormlySearchableFieldModule
|
|
2439
|
-
]
|
|
2333
|
+
exports: [DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule]
|
|
2440
2334
|
}]
|
|
2441
2335
|
}] });
|
|
2442
2336
|
|
|
@@ -2469,7 +2363,9 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
2469
2363
|
ngOnInit() {
|
|
2470
2364
|
this._editor = new Editor({});
|
|
2471
2365
|
// Watch for value changes every second and update the pristine level.
|
|
2472
|
-
this._sub.subscription = this.editor.valueChanges
|
|
2366
|
+
this._sub.subscription = this.editor.valueChanges
|
|
2367
|
+
.pipe(debounceTime(100), filter(() => this.editor.view.hasFocus()))
|
|
2368
|
+
.subscribe(() => {
|
|
2473
2369
|
this.formControl.updateValueAndValidity();
|
|
2474
2370
|
this.formControl.markAsDirty();
|
|
2475
2371
|
});
|
|
@@ -2541,9 +2437,7 @@ DbxFormFormlyTextEditorFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion
|
|
|
2541
2437
|
MatFormFieldModule,
|
|
2542
2438
|
MatInputModule,
|
|
2543
2439
|
FormlyModule.forChild({
|
|
2544
|
-
types: [
|
|
2545
|
-
{ name: 'texteditor', component: DbxTextEditorFieldComponent }
|
|
2546
|
-
]
|
|
2440
|
+
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
2547
2441
|
})
|
|
2548
2442
|
]] });
|
|
2549
2443
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, decorators: [{
|
|
@@ -2558,14 +2452,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2558
2452
|
MatFormFieldModule,
|
|
2559
2453
|
MatInputModule,
|
|
2560
2454
|
FormlyModule.forChild({
|
|
2561
|
-
types: [
|
|
2562
|
-
{ name: 'texteditor', component: DbxTextEditorFieldComponent }
|
|
2563
|
-
]
|
|
2455
|
+
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
2564
2456
|
})
|
|
2565
2457
|
],
|
|
2566
|
-
declarations: [
|
|
2567
|
-
DbxTextEditorFieldComponent
|
|
2568
|
-
],
|
|
2458
|
+
declarations: [DbxTextEditorFieldComponent],
|
|
2569
2459
|
exports: []
|
|
2570
2460
|
}]
|
|
2571
2461
|
}] });
|
|
@@ -2613,7 +2503,7 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
|
2613
2503
|
return true;
|
|
2614
2504
|
}
|
|
2615
2505
|
else {
|
|
2616
|
-
return
|
|
2506
|
+
return this.count < max;
|
|
2617
2507
|
}
|
|
2618
2508
|
}
|
|
2619
2509
|
/**
|
|
@@ -2653,17 +2543,20 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
2653
2543
|
<dbx-subsection [header]="label">
|
|
2654
2544
|
<!-- Fields -->
|
|
2655
2545
|
<div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
|
|
2661
|
-
|
|
2662
|
-
<span class="
|
|
2663
|
-
<
|
|
2664
|
-
</
|
|
2665
|
-
<
|
|
2666
|
-
|
|
2546
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
|
|
2547
|
+
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
|
|
2548
|
+
<dbx-bar>
|
|
2549
|
+
<button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
|
|
2550
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
2551
|
+
<h4>
|
|
2552
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
2553
|
+
<span>{{ labelForItem(field) }}</span>
|
|
2554
|
+
</h4>
|
|
2555
|
+
<span class="dbx-spacer"></span>
|
|
2556
|
+
<button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
|
|
2557
|
+
</dbx-bar>
|
|
2558
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
2559
|
+
</div>
|
|
2667
2560
|
</div>
|
|
2668
2561
|
<!-- Add Button -->
|
|
2669
2562
|
<div class="dbx-form-repeat-array-footer">
|
|
@@ -2671,7 +2564,7 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
2671
2564
|
</div>
|
|
2672
2565
|
</dbx-subsection>
|
|
2673
2566
|
</div>
|
|
2674
|
-
`, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }, { type: i1$2.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: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i5$1.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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.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$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i1$1.DbxBarDirective, selector: "dbx-bar", inputs: ["color"] }, { type: i5$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,dbxButtonSpacer" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2567
|
+
`, isInline: true, components: [{ type: i1$1.DbxSubSectionComponent, selector: "dbx-subsection" }, { type: i1$2.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: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1$4.FormlyField, selector: "formly-field", inputs: ["field"] }], directives: [{ type: i5$1.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: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5$1.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$1.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { type: i1$1.DbxBarDirective, selector: "dbx-bar,[dbxBar]", inputs: ["color"] }, { type: i5$1.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { type: i1$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
2675
2568
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
|
|
2676
2569
|
type: Component,
|
|
2677
2570
|
args: [{
|
|
@@ -2680,17 +2573,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2680
2573
|
<dbx-subsection [header]="label">
|
|
2681
2574
|
<!-- Fields -->
|
|
2682
2575
|
<div class="dbx-form-repeat-array-fields" cdkDropList (cdkDropListDropped)="drop($event)">
|
|
2683
|
-
|
|
2684
|
-
|
|
2685
|
-
|
|
2686
|
-
|
|
2687
|
-
|
|
2688
|
-
|
|
2689
|
-
<span class="
|
|
2690
|
-
<
|
|
2691
|
-
</
|
|
2692
|
-
<
|
|
2693
|
-
|
|
2576
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; let i = index; let last = last">
|
|
2577
|
+
<div class="example-custom-placeholder" *cdkDragPlaceholder></div>
|
|
2578
|
+
<dbx-bar>
|
|
2579
|
+
<button cdkDragHandle mat-flat-button><mat-icon>drag_handle</mat-icon></button>
|
|
2580
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
2581
|
+
<h4>
|
|
2582
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
2583
|
+
<span>{{ labelForItem(field) }}</span>
|
|
2584
|
+
</h4>
|
|
2585
|
+
<span class="dbx-spacer"></span>
|
|
2586
|
+
<button mat-flat-button color="warn" (click)="remove(i)">{{ removeText }}</button>
|
|
2587
|
+
</dbx-bar>
|
|
2588
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
2589
|
+
</div>
|
|
2694
2590
|
</div>
|
|
2695
2591
|
<!-- Add Button -->
|
|
2696
2592
|
<div class="dbx-form-repeat-array-footer">
|
|
@@ -2727,9 +2623,7 @@ DbxFormFormlyArrayFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
|
|
|
2727
2623
|
DbxBarLayoutModule,
|
|
2728
2624
|
DbxButtonModule,
|
|
2729
2625
|
FormlyModule.forChild({
|
|
2730
|
-
types: [
|
|
2731
|
-
{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }
|
|
2732
|
-
]
|
|
2626
|
+
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
2733
2627
|
})
|
|
2734
2628
|
]] });
|
|
2735
2629
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyArrayFieldModule, decorators: [{
|
|
@@ -2747,14 +2641,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
2747
2641
|
DbxBarLayoutModule,
|
|
2748
2642
|
DbxButtonModule,
|
|
2749
2643
|
FormlyModule.forChild({
|
|
2750
|
-
types: [
|
|
2751
|
-
{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }
|
|
2752
|
-
]
|
|
2644
|
+
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
2753
2645
|
})
|
|
2754
2646
|
],
|
|
2755
|
-
declarations: [
|
|
2756
|
-
DbxFormRepeatArrayTypeComponent
|
|
2757
|
-
],
|
|
2647
|
+
declarations: [DbxFormRepeatArrayTypeComponent],
|
|
2758
2648
|
exports: []
|
|
2759
2649
|
}]
|
|
2760
2650
|
}] });
|
|
@@ -2764,7 +2654,7 @@ function repeatArrayField(config) {
|
|
|
2764
2654
|
return formlyField(Object.assign(Object.assign({ key, type: 'repeatarray', repeatArrayField: {
|
|
2765
2655
|
labelForField,
|
|
2766
2656
|
addText,
|
|
2767
|
-
removeText
|
|
2657
|
+
removeText
|
|
2768
2658
|
} }, templateOptionsForFieldConfig(config, {
|
|
2769
2659
|
maxLength
|
|
2770
2660
|
})), { fieldArray: {
|
|
@@ -2842,12 +2732,12 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
2842
2732
|
this._formControlObs = new BehaviorSubject(undefined);
|
|
2843
2733
|
this.formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
2844
2734
|
this._updateTime = new Subject();
|
|
2845
|
-
this.value$ = this.formControl$.pipe(switchMap
|
|
2735
|
+
this.value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), distinctUntilChanged((a, b) => isSameMinute(a, b)), shareReplay(1));
|
|
2846
2736
|
/**
|
|
2847
2737
|
* Used to trigger/display visual updates (specifically on timeDistance, etc.).
|
|
2848
2738
|
*/
|
|
2849
|
-
this.displayValue$ = interval(10 * 1000).pipe(startWith
|
|
2850
|
-
this.timeString$ = this.value$.pipe(filterMaybe(), map
|
|
2739
|
+
this.displayValue$ = interval(10 * 1000).pipe(startWith(0), map(() => new Date().getMinutes()), distinctUntilChanged(), tap(() => this.cdRef.markForCheck()), switchMap(() => this.value$), shareReplay(1));
|
|
2740
|
+
this.timeString$ = this.value$.pipe(filterMaybe(), map((x) => {
|
|
2851
2741
|
const timezone = guessCurrentTimezone();
|
|
2852
2742
|
const timeString = toReadableTimeString(x, timezone);
|
|
2853
2743
|
return timeString;
|
|
@@ -2856,23 +2746,17 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
2856
2746
|
validators: []
|
|
2857
2747
|
});
|
|
2858
2748
|
this.timeInputCtrl = new FormControl('', {
|
|
2859
|
-
validators: [
|
|
2860
|
-
Validators.pattern(/^(now)$|^([0-9]|(0[0-9])|(1[0-9])|(2[0-3]))(:)?([0-5][0-9])?(\s)?([apAP][Mm])?(\\s)*$/)
|
|
2861
|
-
]
|
|
2749
|
+
validators: [Validators.pattern(/^(now)$|^([0-9]|(0[0-9])|(1[0-9])|(2[0-3]))(:)?([0-5][0-9])?(\s)?([apAP][Mm])?(\\s)*$/)]
|
|
2862
2750
|
});
|
|
2863
2751
|
this._config = new BehaviorSubject(undefined);
|
|
2864
|
-
this.fullDay$ = this.fullDayControl$.pipe(switchMap
|
|
2865
|
-
this.showTimeInput$ = this.fullDay$.pipe(map
|
|
2866
|
-
this.showAddTime$ = this.showTimeInput$.pipe(map
|
|
2867
|
-
this.date$ = this.dateInputCtrl.valueChanges.pipe(startWith
|
|
2868
|
-
this.dateValue$ = merge(this.date$, this.value$.pipe(skipFirstMaybe())).pipe(map
|
|
2869
|
-
this.timeInput$ = this._updateTime.pipe(debounceTime
|
|
2752
|
+
this.fullDay$ = this.fullDayControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))));
|
|
2753
|
+
this.showTimeInput$ = this.fullDay$.pipe(map((x) => !x && this.timeMode !== DbxDateTimeFieldTimeMode.NONE));
|
|
2754
|
+
this.showAddTime$ = this.showTimeInput$.pipe(map((x) => !x && this.timeMode === DbxDateTimeFieldTimeMode.OPTIONAL), shareReplay(1));
|
|
2755
|
+
this.date$ = this.dateInputCtrl.valueChanges.pipe(startWith(this.dateInputCtrl.value), filterMaybe(), shareReplay(1));
|
|
2756
|
+
this.dateValue$ = merge(this.date$, this.value$.pipe(skipFirstMaybe())).pipe(map((x) => (x ? startOfDay(x) : x)), distinctUntilChanged((a, b) => a != null && b != null && isSameDay(a, b)), shareReplay(1));
|
|
2757
|
+
this.timeInput$ = this._updateTime.pipe(debounceTime(5), map(() => this.timeInputCtrl.value), distinctUntilChanged());
|
|
2870
2758
|
this.config$ = this._config.pipe(switchMapMaybeDefault(), shareReplay(1));
|
|
2871
|
-
this.rawDateTime$ = combineLatest([
|
|
2872
|
-
this.dateValue$,
|
|
2873
|
-
this.timeInput$.pipe(startWith$1(null)),
|
|
2874
|
-
this.fullDay$
|
|
2875
|
-
]).pipe(map$1(([date, timeString, fullDay]) => {
|
|
2759
|
+
this.rawDateTime$ = combineLatest([this.dateValue$, this.timeInput$.pipe(startWith(null)), this.fullDay$]).pipe(map(([date, timeString, fullDay]) => {
|
|
2876
2760
|
var _a;
|
|
2877
2761
|
let result;
|
|
2878
2762
|
if (date) {
|
|
@@ -2885,22 +2769,19 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
2885
2769
|
}
|
|
2886
2770
|
}
|
|
2887
2771
|
else if (timeString) {
|
|
2888
|
-
result =
|
|
2889
|
-
|
|
2890
|
-
|
|
2891
|
-
|
|
2772
|
+
result =
|
|
2773
|
+
(_a = readableTimeStringToDate(timeString, {
|
|
2774
|
+
date,
|
|
2775
|
+
useSystemTimezone: true
|
|
2776
|
+
})) !== null && _a !== void 0 ? _a : date;
|
|
2892
2777
|
}
|
|
2893
2778
|
else {
|
|
2894
2779
|
result = date;
|
|
2895
2780
|
}
|
|
2896
2781
|
}
|
|
2897
2782
|
return result;
|
|
2898
|
-
}), distinctUntilChanged
|
|
2899
|
-
this.timeOutput$ = combineLatest([
|
|
2900
|
-
this.rawDateTime$,
|
|
2901
|
-
this._offset,
|
|
2902
|
-
this.config$.pipe(distinctUntilChanged$1()),
|
|
2903
|
-
]).pipe(throttleTime(40, undefined, { leading: false, trailing: true }), distinctUntilChanged$1((current, next) => current[0] === next[0] && next[1] === 0), tap(([_, stepsOffset]) => (stepsOffset) ? this._offset.next(0) : 0), map$1(([date, stepsOffset, config]) => {
|
|
2783
|
+
}), distinctUntilChanged((a, b) => a != null && b != null && isSameMinute(a, b)), shareReplay(1));
|
|
2784
|
+
this.timeOutput$ = combineLatest([this.rawDateTime$, this._offset, this.config$.pipe(distinctUntilChanged())]).pipe(throttleTime(40, undefined, { leading: false, trailing: true }), distinctUntilChanged((current, next) => current[0] === next[0] && next[1] === 0), tap(([, stepsOffset]) => (stepsOffset ? this._offset.next(0) : 0)), map(([date, stepsOffset, config]) => {
|
|
2904
2785
|
if (date != null) {
|
|
2905
2786
|
const instance = new DateTimeMinuteInstance(Object.assign(Object.assign({ date }, config), { roundDownToMinute: true }));
|
|
2906
2787
|
date = instance.limit(date);
|
|
@@ -2908,7 +2789,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
2908
2789
|
date = addMinutes(date, minutes);
|
|
2909
2790
|
}
|
|
2910
2791
|
return date;
|
|
2911
|
-
}), distinctUntilChanged
|
|
2792
|
+
}), distinctUntilChanged((a, b) => a != null && b != null && isSameMinute(a, b)), shareReplay(1));
|
|
2912
2793
|
}
|
|
2913
2794
|
get dateOnly() {
|
|
2914
2795
|
return this.timeMode === DbxDateTimeFieldTimeMode.NONE;
|
|
@@ -2924,7 +2805,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
2924
2805
|
}
|
|
2925
2806
|
get timeMode() {
|
|
2926
2807
|
var _a;
|
|
2927
|
-
return
|
|
2808
|
+
return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : (_a = this.dateTimeField.timeMode) !== null && _a !== void 0 ? _a : DbxDateTimeFieldTimeMode.REQUIRED;
|
|
2928
2809
|
}
|
|
2929
2810
|
get description() {
|
|
2930
2811
|
var _a;
|
|
@@ -3033,11 +2914,12 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
3033
2914
|
offset = 5;
|
|
3034
2915
|
}
|
|
3035
2916
|
if (direction !== 0) {
|
|
3036
|
-
this._offset.next(this._offset.value +
|
|
2917
|
+
this._offset.next(this._offset.value + offset * direction);
|
|
3037
2918
|
this._updateTime.next();
|
|
3038
2919
|
}
|
|
3039
2920
|
}
|
|
3040
2921
|
focusTime() {
|
|
2922
|
+
// do nothing
|
|
3041
2923
|
}
|
|
3042
2924
|
focusOutTime() {
|
|
3043
2925
|
this._updateTime.next();
|
|
@@ -3049,16 +2931,16 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
3049
2931
|
this.setFullDay(true);
|
|
3050
2932
|
}
|
|
3051
2933
|
setFullDay(fullDay) {
|
|
3052
|
-
this.fullDayControl$.pipe(first
|
|
2934
|
+
this.fullDayControl$.pipe(first()).subscribe((x) => {
|
|
3053
2935
|
x.setValue(fullDay);
|
|
3054
2936
|
});
|
|
3055
2937
|
}
|
|
3056
2938
|
}
|
|
3057
2939
|
DbxDateTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDateTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3058
|
-
DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxDateTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? '50' : '100'\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon
|
|
2940
|
+
DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxDateTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? '50' : '100'\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n Add Time\n </button>\n </div>\n </div>\n <div class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\" [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\">\n <b class=\"dbx-ok\">All Day</b>\n {{ dateValue$ | async | date: 'fullDate' }} ({{ dateValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">At</b>\n {{ displayValue$ | async | date: 'medium' }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Date</mat-label>\n <input #dateInput matInput [formControl]=\"dateInputCtrl\" [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\" />\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\n <button mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\" [disabled]=\"disabled\">\n <mat-icon>timer</mat-icon>\n </button>\n <mat-menu #timemenu=\"matMenu\">\n <ng-container *ngIf=\"timeMode === 'optional'\">\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n </ng-container>\n <button mat-menu-item (click)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00AM')\">\n <span>Midnight</span>\n </button>\n <button mat-menu-item (click)=\"setTime('6:00AM')\">\n <span>6:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('8:00AM')\">\n <span>8:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('10:00AM')\">\n <span>10:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00PM')\">\n <span>Noon</span>\n </button>\n <button mat-menu-item (click)=\"setTime('2:00PM')\">\n <span>2:00PM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('5:00PM')\">\n <span>5:00PM</span>\n </button>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Time</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnInput($event)\" />\n </mat-form-field>\n</ng-template>\n", components: [{ type: i1$2.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: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i3$2.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i4$4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { type: i5$2.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { type: i5$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { type: i4$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], directives: [{ type: i3$1.DefaultLayoutDirective, selector: " [fxLayout], [fxLayout.xs], [fxLayout.sm], [fxLayout.md], [fxLayout.lg], [fxLayout.xl], [fxLayout.lt-sm], [fxLayout.lt-md], [fxLayout.lt-lg], [fxLayout.lt-xl], [fxLayout.gt-xs], [fxLayout.gt-sm], [fxLayout.gt-md], [fxLayout.gt-lg]", inputs: ["fxLayout", "fxLayout.xs", "fxLayout.sm", "fxLayout.md", "fxLayout.lg", "fxLayout.xl", "fxLayout.lt-sm", "fxLayout.lt-md", "fxLayout.lt-lg", "fxLayout.lt-xl", "fxLayout.gt-xs", "fxLayout.gt-sm", "fxLayout.gt-md", "fxLayout.gt-lg"] }, { type: i3$1.DefaultLayoutAlignDirective, selector: " [fxLayoutAlign], [fxLayoutAlign.xs], [fxLayoutAlign.sm], [fxLayoutAlign.md], [fxLayoutAlign.lg], [fxLayoutAlign.xl], [fxLayoutAlign.lt-sm], [fxLayoutAlign.lt-md], [fxLayoutAlign.lt-lg], [fxLayoutAlign.lt-xl], [fxLayoutAlign.gt-xs], [fxLayoutAlign.gt-sm], [fxLayoutAlign.gt-md], [fxLayoutAlign.gt-lg]", inputs: ["fxLayoutAlign", "fxLayoutAlign.xs", "fxLayoutAlign.sm", "fxLayoutAlign.md", "fxLayoutAlign.lg", "fxLayoutAlign.xl", "fxLayoutAlign.lt-sm", "fxLayoutAlign.lt-md", "fxLayoutAlign.lt-lg", "fxLayoutAlign.lt-xl", "fxLayoutAlign.gt-xs", "fxLayoutAlign.gt-sm", "fxLayoutAlign.gt-md", "fxLayoutAlign.gt-lg"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.DefaultFlexDirective, selector: " [fxFlex], [fxFlex.xs], [fxFlex.sm], [fxFlex.md], [fxFlex.lg], [fxFlex.xl], [fxFlex.lt-sm], [fxFlex.lt-md], [fxFlex.lt-lg], [fxFlex.lt-xl], [fxFlex.gt-xs], [fxFlex.gt-sm], [fxFlex.gt-md], [fxFlex.gt-lg]", inputs: ["fxFlex", "fxFlex.xs", "fxFlex.sm", "fxFlex.md", "fxFlex.lg", "fxFlex.xl", "fxFlex.lt-sm", "fxFlex.lt-md", "fxFlex.lt-lg", "fxFlex.lt-xl", "fxFlex.gt-xs", "fxFlex.gt-sm", "fxFlex.gt-md", "fxFlex.gt-lg"] }, { type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i2$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { type: i5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { type: i3$2.MatLabel, selector: "mat-label" }, { type: i6$1.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: i4$1.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$4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i5$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }], pipes: { "async": i5.AsyncPipe, "date": i5.DatePipe, "dateDistance": i2.DateDistancePipe, "timeDistance": i2.TimeDistancePipe } });
|
|
3059
2941
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
|
|
3060
2942
|
type: Component,
|
|
3061
|
-
args: [{ template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? '50' : '100'\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon
|
|
2943
|
+
args: [{ template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"showDateInput ? '50' : '100'\">\n <ng-container *ngIf=\"showTimeInput$ | async\">\n <ng-container *ngTemplateOutlet=\"timeMenuAndInputTemplate\"></ng-container>\n </ng-container>\n <div class=\"add-time-button-wrapper\" *ngIf=\"showAddTime$ | async\">\n <button mat-button class=\"add-time-button\" ngClass.lt-sm=\"add-time-button-full\" (click)=\"addTime()\">\n <mat-icon>timer</mat-icon>\n Add Time\n </button>\n </div>\n </div>\n <div class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\" [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\">\n <b class=\"dbx-ok\">All Day</b>\n {{ dateValue$ | async | date: 'fullDate' }} ({{ dateValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">At</b>\n {{ displayValue$ | async | date: 'medium' }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </div>\n </div>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <button mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Date</mat-label>\n <input #dateInput matInput [formControl]=\"dateInputCtrl\" [matDatepicker]=\"picker\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\" />\n <mat-datepicker #picker></mat-datepicker>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\n <button mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\" [disabled]=\"disabled\">\n <mat-icon>timer</mat-icon>\n </button>\n <mat-menu #timemenu=\"matMenu\">\n <ng-container *ngIf=\"timeMode === 'optional'\">\n <button mat-menu-item (click)=\"removeTime()\">\n <span>Remove Time</span>\n </button>\n <mat-divider></mat-divider>\n </ng-container>\n <button mat-menu-item (click)=\"setLogicalTime('now')\">\n <span>Now</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00AM')\">\n <span>Midnight</span>\n </button>\n <button mat-menu-item (click)=\"setTime('6:00AM')\">\n <span>6:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('8:00AM')\">\n <span>8:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('10:00AM')\">\n <span>10:00AM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('12:00PM')\">\n <span>Noon</span>\n </button>\n <button mat-menu-item (click)=\"setTime('2:00PM')\">\n <span>2:00PM</span>\n </button>\n <button mat-menu-item (click)=\"setTime('5:00PM')\">\n <span>5:00PM</span>\n </button>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>Time</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnInput($event)\" />\n </mat-form-field>\n</ng-template>\n" }]
|
|
3062
2944
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
3063
2945
|
|
|
3064
2946
|
class DbxFormFormlyDateFieldModule {
|
|
@@ -3094,9 +2976,7 @@ DbxFormFormlyDateFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
|
|
|
3094
2976
|
MatIconModule,
|
|
3095
2977
|
FlexLayoutModule,
|
|
3096
2978
|
FormlyModule.forChild({
|
|
3097
|
-
types: [
|
|
3098
|
-
{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }
|
|
3099
|
-
]
|
|
2979
|
+
types: [{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }]
|
|
3100
2980
|
})
|
|
3101
2981
|
], DbxFormFormlyWrapperModule] });
|
|
3102
2982
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyDateFieldModule, decorators: [{
|
|
@@ -3118,17 +2998,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
3118
2998
|
MatIconModule,
|
|
3119
2999
|
FlexLayoutModule,
|
|
3120
3000
|
FormlyModule.forChild({
|
|
3121
|
-
types: [
|
|
3122
|
-
{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }
|
|
3123
|
-
]
|
|
3001
|
+
types: [{ name: 'datetime', component: DbxDateTimeFieldComponent, wrappers: ['style', 'form-field'] }]
|
|
3124
3002
|
})
|
|
3125
3003
|
],
|
|
3126
|
-
declarations: [
|
|
3127
|
-
|
|
3128
|
-
],
|
|
3129
|
-
exports: [
|
|
3130
|
-
DbxFormFormlyWrapperModule
|
|
3131
|
-
]
|
|
3004
|
+
declarations: [DbxDateTimeFieldComponent],
|
|
3005
|
+
exports: [DbxFormFormlyWrapperModule]
|
|
3132
3006
|
}]
|
|
3133
3007
|
}] });
|
|
3134
3008
|
|
|
@@ -3145,10 +3019,10 @@ function timeOnlyField(config = {}) {
|
|
|
3145
3019
|
function dateTimeField(config = {}) {
|
|
3146
3020
|
const { key = 'date', timeMode = DbxDateTimeFieldTimeMode.REQUIRED, fullDayFieldName, getConfigObs, timeOnly = false } = config;
|
|
3147
3021
|
const fieldConfig = formlyField(Object.assign(Object.assign({ key, type: 'datetime', dateTimeField: {
|
|
3148
|
-
timeMode:
|
|
3022
|
+
timeMode: timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : timeMode,
|
|
3149
3023
|
fullDayFieldName,
|
|
3150
3024
|
getConfigObs,
|
|
3151
|
-
timeOnly
|
|
3025
|
+
timeOnly
|
|
3152
3026
|
} }, templateOptionsForFieldConfig(config)), { styleWrapper: {
|
|
3153
3027
|
style: 'dbx-datetime-parent-form-field'
|
|
3154
3028
|
} }));
|
|
@@ -3167,7 +3041,7 @@ function staticEnumField({ key, label = '', placeholder = '', description, multi
|
|
|
3167
3041
|
multiple,
|
|
3168
3042
|
selectAllOption: 'Select All',
|
|
3169
3043
|
options
|
|
3170
|
-
}
|
|
3044
|
+
}
|
|
3171
3045
|
});
|
|
3172
3046
|
return fieldConfig;
|
|
3173
3047
|
}
|
|
@@ -3203,10 +3077,10 @@ class DbxPhoneFieldComponent extends FieldType$1 {
|
|
|
3203
3077
|
}
|
|
3204
3078
|
}
|
|
3205
3079
|
DbxPhoneFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3206
|
-
DbxPhoneFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\"
|
|
3080
|
+
DbxPhoneFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\"></ngx-mat-intl-tel-input>\n", components: [{ type: i1$6.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }], directives: [{ type: i4$1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i4$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
3207
3081
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxPhoneFieldComponent, decorators: [{
|
|
3208
3082
|
type: Component,
|
|
3209
|
-
args: [{ template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\"
|
|
3083
|
+
args: [{ template: "<ngx-mat-intl-tel-input class=\"dbx-form-phone-field\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"formControl\"></ngx-mat-intl-tel-input>\n" }]
|
|
3210
3084
|
}] });
|
|
3211
3085
|
|
|
3212
3086
|
class DbxFormFormlyPhoneFieldModule {
|
|
@@ -3236,9 +3110,7 @@ DbxFormFormlyPhoneFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12
|
|
|
3236
3110
|
FlexLayoutModule,
|
|
3237
3111
|
FormlyMatFormFieldModule,
|
|
3238
3112
|
FormlyModule.forChild({
|
|
3239
|
-
types: [
|
|
3240
|
-
{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }
|
|
3241
|
-
]
|
|
3113
|
+
types: [{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }]
|
|
3242
3114
|
})
|
|
3243
3115
|
]] });
|
|
3244
3116
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, decorators: [{
|
|
@@ -3257,14 +3129,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
3257
3129
|
FlexLayoutModule,
|
|
3258
3130
|
FormlyMatFormFieldModule,
|
|
3259
3131
|
FormlyModule.forChild({
|
|
3260
|
-
types: [
|
|
3261
|
-
{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }
|
|
3262
|
-
]
|
|
3132
|
+
types: [{ name: 'intphone', component: DbxPhoneFieldComponent, wrappers: ['form-field'] }]
|
|
3263
3133
|
})
|
|
3264
3134
|
],
|
|
3265
|
-
declarations: [
|
|
3266
|
-
DbxPhoneFieldComponent
|
|
3267
|
-
],
|
|
3135
|
+
declarations: [DbxPhoneFieldComponent],
|
|
3268
3136
|
exports: []
|
|
3269
3137
|
}]
|
|
3270
3138
|
}] });
|
|
@@ -3340,9 +3208,11 @@ function flexLayoutWrapper(fieldConfigs, { relative, breakpoint, size: defaultSi
|
|
|
3340
3208
|
}
|
|
3341
3209
|
},
|
|
3342
3210
|
fieldGroup: fieldConfigs.map((inputConfig) => {
|
|
3343
|
-
const fieldConfig = checkIsFieldFlexLayoutGroupFieldConfig(inputConfig)
|
|
3344
|
-
|
|
3345
|
-
|
|
3211
|
+
const fieldConfig = checkIsFieldFlexLayoutGroupFieldConfig(inputConfig)
|
|
3212
|
+
? inputConfig
|
|
3213
|
+
: {
|
|
3214
|
+
field: inputConfig
|
|
3215
|
+
};
|
|
3346
3216
|
const { field, size = defaultSize } = fieldConfig;
|
|
3347
3217
|
const className = `dbx-flex-${size}`;
|
|
3348
3218
|
return Object.assign(Object.assign({}, field), { className });
|
|
@@ -3364,7 +3234,7 @@ function textAreaField(config) {
|
|
|
3364
3234
|
return formlyField(Object.assign({ key, type: 'textarea' }, templateOptionsForFieldConfig(config, {
|
|
3365
3235
|
rows,
|
|
3366
3236
|
minLength,
|
|
3367
|
-
maxLength
|
|
3237
|
+
maxLength
|
|
3368
3238
|
})));
|
|
3369
3239
|
}
|
|
3370
3240
|
|
|
@@ -3409,7 +3279,6 @@ function phoneListField(repeatConfig = {}) {
|
|
|
3409
3279
|
addText,
|
|
3410
3280
|
removeText, repeatFieldGroup: repeatFieldGroup !== null && repeatFieldGroup !== void 0 ? repeatFieldGroup : [wrappedPhoneAndLabelField(phoneAndLabel)] }));
|
|
3411
3281
|
}
|
|
3412
|
-
;
|
|
3413
3282
|
|
|
3414
3283
|
const PHONE_LABEL_MAX_LENGTH = 100;
|
|
3415
3284
|
const ADDRESS_COUNTRY_MAX_LENGTH = 80;
|
|
@@ -3502,15 +3371,20 @@ function addressFormlyFields() {
|
|
|
3502
3371
|
autocomplete: 'address-line2',
|
|
3503
3372
|
maxLength: ADDRESS_LINE_MAX_LENGTH
|
|
3504
3373
|
}),
|
|
3505
|
-
flexLayoutWrapper([
|
|
3374
|
+
flexLayoutWrapper([
|
|
3375
|
+
{
|
|
3506
3376
|
field: cityField({})
|
|
3507
|
-
},
|
|
3377
|
+
},
|
|
3378
|
+
{
|
|
3508
3379
|
field: stateField({})
|
|
3509
|
-
},
|
|
3380
|
+
},
|
|
3381
|
+
{
|
|
3510
3382
|
field: zipCodeField({})
|
|
3511
|
-
},
|
|
3383
|
+
},
|
|
3384
|
+
{
|
|
3512
3385
|
field: countryField({})
|
|
3513
|
-
}
|
|
3386
|
+
}
|
|
3387
|
+
], { size: 1, relative: true })
|
|
3514
3388
|
];
|
|
3515
3389
|
}
|
|
3516
3390
|
function addressField({ key = 'address', required = false } = {}) {
|
|
@@ -3528,6 +3402,7 @@ function addressField({ key = 'address', required = false } = {}) {
|
|
|
3528
3402
|
function addressListField({ key = 'addresses', required = false, maxAddresses = 6 } = {}) {
|
|
3529
3403
|
return repeatArrayField({
|
|
3530
3404
|
key,
|
|
3405
|
+
required,
|
|
3531
3406
|
label: 'Addresses',
|
|
3532
3407
|
labelForField: 'Address',
|
|
3533
3408
|
addText: 'Add Address',
|
|
@@ -3541,19 +3416,13 @@ class DbxFormFormlyTextFieldModule {
|
|
|
3541
3416
|
}
|
|
3542
3417
|
DbxFormFormlyTextFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3543
3418
|
DbxFormFormlyTextFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule], exports: [DbxFormFormlyWrapperModule] });
|
|
3544
|
-
DbxFormFormlyTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [[
|
|
3545
|
-
FormlyMaterialModule
|
|
3546
|
-
], DbxFormFormlyWrapperModule] });
|
|
3419
|
+
DbxFormFormlyTextFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [[FormlyMaterialModule], DbxFormFormlyWrapperModule] });
|
|
3547
3420
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyTextFieldModule, decorators: [{
|
|
3548
3421
|
type: NgModule,
|
|
3549
3422
|
args: [{
|
|
3550
|
-
imports: [
|
|
3551
|
-
FormlyMaterialModule
|
|
3552
|
-
],
|
|
3423
|
+
imports: [FormlyMaterialModule],
|
|
3553
3424
|
declarations: [],
|
|
3554
|
-
exports: [
|
|
3555
|
-
DbxFormFormlyWrapperModule
|
|
3556
|
-
]
|
|
3425
|
+
exports: [DbxFormFormlyWrapperModule]
|
|
3557
3426
|
}]
|
|
3558
3427
|
}] });
|
|
3559
3428
|
|
|
@@ -3567,70 +3436,28 @@ function hiddenField({ key, required = false }) {
|
|
|
3567
3436
|
class DbxFormFormlyValueModule {
|
|
3568
3437
|
}
|
|
3569
3438
|
DbxFormFormlyValueModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3570
|
-
DbxFormFormlyValueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule], exports: [DbxFormFormlyArrayFieldModule,
|
|
3571
|
-
|
|
3572
|
-
DbxFormFormlyDateFieldModule,
|
|
3573
|
-
DbxFormFormlyEnumFieldModule,
|
|
3574
|
-
DbxFormFormlyPhoneFieldModule,
|
|
3575
|
-
DbxFormFormlyTextFieldModule] });
|
|
3576
|
-
DbxFormFormlyValueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [[
|
|
3577
|
-
CommonModule
|
|
3578
|
-
], DbxFormFormlyArrayFieldModule,
|
|
3579
|
-
DbxFormFormlyBooleanFieldModule,
|
|
3580
|
-
DbxFormFormlyDateFieldModule,
|
|
3581
|
-
DbxFormFormlyEnumFieldModule,
|
|
3582
|
-
DbxFormFormlyPhoneFieldModule,
|
|
3583
|
-
DbxFormFormlyTextFieldModule] });
|
|
3439
|
+
DbxFormFormlyValueModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule], exports: [DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule] });
|
|
3440
|
+
DbxFormFormlyValueModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, imports: [[CommonModule], DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule] });
|
|
3584
3441
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyValueModule, decorators: [{
|
|
3585
3442
|
type: NgModule,
|
|
3586
3443
|
args: [{
|
|
3587
|
-
imports: [
|
|
3588
|
-
CommonModule
|
|
3589
|
-
],
|
|
3444
|
+
imports: [CommonModule],
|
|
3590
3445
|
declarations: [],
|
|
3591
|
-
exports: [
|
|
3592
|
-
DbxFormFormlyArrayFieldModule,
|
|
3593
|
-
DbxFormFormlyBooleanFieldModule,
|
|
3594
|
-
DbxFormFormlyDateFieldModule,
|
|
3595
|
-
DbxFormFormlyEnumFieldModule,
|
|
3596
|
-
DbxFormFormlyPhoneFieldModule,
|
|
3597
|
-
DbxFormFormlyTextFieldModule
|
|
3598
|
-
]
|
|
3446
|
+
exports: [DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyTextFieldModule]
|
|
3599
3447
|
}]
|
|
3600
3448
|
}] });
|
|
3601
3449
|
|
|
3602
3450
|
class DbxFormFormlyFieldModule {
|
|
3603
3451
|
}
|
|
3604
3452
|
DbxFormFormlyFieldModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3605
|
-
DbxFormFormlyFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule], exports: [DbxFormFormlyChecklistItemFieldModule,
|
|
3606
|
-
|
|
3607
|
-
DbxFormFormlySelectionModule,
|
|
3608
|
-
DbxFormFormlyTextEditorFieldModule,
|
|
3609
|
-
DbxFormFormlyValueModule,
|
|
3610
|
-
DbxFormFormlyWrapperModule] });
|
|
3611
|
-
DbxFormFormlyFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [[
|
|
3612
|
-
CommonModule
|
|
3613
|
-
], DbxFormFormlyChecklistItemFieldModule,
|
|
3614
|
-
DbxFormFormlyComponentFieldModule,
|
|
3615
|
-
DbxFormFormlySelectionModule,
|
|
3616
|
-
DbxFormFormlyTextEditorFieldModule,
|
|
3617
|
-
DbxFormFormlyValueModule,
|
|
3618
|
-
DbxFormFormlyWrapperModule] });
|
|
3453
|
+
DbxFormFormlyFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule], exports: [DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
|
|
3454
|
+
DbxFormFormlyFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [[CommonModule], DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
|
|
3619
3455
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormFormlyFieldModule, decorators: [{
|
|
3620
3456
|
type: NgModule,
|
|
3621
3457
|
args: [{
|
|
3622
|
-
imports: [
|
|
3623
|
-
CommonModule
|
|
3624
|
-
],
|
|
3458
|
+
imports: [CommonModule],
|
|
3625
3459
|
declarations: [],
|
|
3626
|
-
exports: [
|
|
3627
|
-
DbxFormFormlyChecklistItemFieldModule,
|
|
3628
|
-
DbxFormFormlyComponentFieldModule,
|
|
3629
|
-
DbxFormFormlySelectionModule,
|
|
3630
|
-
DbxFormFormlyTextEditorFieldModule,
|
|
3631
|
-
DbxFormFormlyValueModule,
|
|
3632
|
-
DbxFormFormlyWrapperModule
|
|
3633
|
-
]
|
|
3460
|
+
exports: [DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule]
|
|
3634
3461
|
}]
|
|
3635
3462
|
}] });
|
|
3636
3463
|
|
|
@@ -3644,7 +3471,7 @@ const FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY = 'fieldValuesAreEqual';
|
|
|
3644
3471
|
* @returns
|
|
3645
3472
|
*/
|
|
3646
3473
|
function fieldValuesAreEqualValidator(config = {}) {
|
|
3647
|
-
const { keysFilter, valuesFilter: inputValuesFilter, isEqual = (
|
|
3474
|
+
const { keysFilter, valuesFilter: inputValuesFilter, isEqual = (a, b) => a === b, message = 'Field values are not equal.' } = config;
|
|
3648
3475
|
const valuesFilter = inputValuesFilter !== null && inputValuesFilter !== void 0 ? inputValuesFilter : {
|
|
3649
3476
|
valueFilter: KeyValueTypleValueFilter.NONE,
|
|
3650
3477
|
keysFilter
|
|
@@ -3664,7 +3491,6 @@ function fieldValuesAreEqualValidator(config = {}) {
|
|
|
3664
3491
|
};
|
|
3665
3492
|
}
|
|
3666
3493
|
|
|
3667
|
-
;
|
|
3668
3494
|
/**
|
|
3669
3495
|
* Configured simple text password field.
|
|
3670
3496
|
*
|
|
@@ -3687,12 +3513,14 @@ function textPasswordWithVerifyFieldGroup(config) {
|
|
|
3687
3513
|
var _a, _b, _c, _d, _e;
|
|
3688
3514
|
const passwordFieldConfig = textPasswordField(config.password);
|
|
3689
3515
|
const verifyPasswordFieldKey = (_b = (_a = config.verifyPassword) === null || _a === void 0 ? void 0 : _a.key) !== null && _b !== void 0 ? _b : `verify${capitalizeFirstLetter(String(passwordFieldConfig.key))}`;
|
|
3690
|
-
const verifyPasswordField = textVerifyPasswordField(Object.assign(Object.assign(Object.assign({}, config.password), config.verifyPassword), { label: (_d = (
|
|
3516
|
+
const verifyPasswordField = textVerifyPasswordField(Object.assign(Object.assign(Object.assign({}, config.password), config.verifyPassword), { label: (_d = (_c = config.verifyPassword) === null || _c === void 0 ? void 0 : _c.label) !== null && _d !== void 0 ? _d : `Verify ${(_e = passwordFieldConfig.templateOptions) === null || _e === void 0 ? void 0 : _e.label}`, key: verifyPasswordFieldKey }));
|
|
3691
3517
|
const validators = {
|
|
3692
|
-
validation: [
|
|
3518
|
+
validation: [
|
|
3519
|
+
{
|
|
3693
3520
|
errorPath: verifyPasswordFieldKey,
|
|
3694
3521
|
expression: fieldValuesAreEqualValidator({ keysFilter: [passwordFieldConfig.key, verifyPasswordField.key], message: 'The passwords do not match.' })
|
|
3695
|
-
}
|
|
3522
|
+
}
|
|
3523
|
+
]
|
|
3696
3524
|
};
|
|
3697
3525
|
const groupFieldConfig = {
|
|
3698
3526
|
validators,
|
|
@@ -3700,7 +3528,6 @@ function textPasswordWithVerifyFieldGroup(config) {
|
|
|
3700
3528
|
};
|
|
3701
3529
|
return groupFieldConfig;
|
|
3702
3530
|
}
|
|
3703
|
-
;
|
|
3704
3531
|
/**
|
|
3705
3532
|
* Template for login field that takes in a username and password.
|
|
3706
3533
|
*
|
|
@@ -3729,11 +3556,8 @@ function usernamePasswordLoginFields({ username, password, verifyPassword }) {
|
|
|
3729
3556
|
else {
|
|
3730
3557
|
usernameField = textField(Object.assign(Object.assign({}, usernameFieldConfig.username), defaultUsernameFieldConfig));
|
|
3731
3558
|
}
|
|
3732
|
-
const passwordField =
|
|
3733
|
-
return [
|
|
3734
|
-
usernameField,
|
|
3735
|
-
passwordField
|
|
3736
|
-
];
|
|
3559
|
+
const passwordField = verifyPassword ? textPasswordWithVerifyFieldGroup({ password, verifyPassword: verifyPassword === true ? undefined : verifyPassword }) : textPasswordField(password);
|
|
3560
|
+
return [usernameField, passwordField];
|
|
3737
3561
|
}
|
|
3738
3562
|
|
|
3739
3563
|
const FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY = 'fieldValueIsAvailable';
|
|
@@ -3751,7 +3575,7 @@ function fieldValueIsAvailableValidator(config) {
|
|
|
3751
3575
|
const pusher = asyncPusherCache({
|
|
3752
3576
|
throttle
|
|
3753
3577
|
});
|
|
3754
|
-
return (control) => pusher(control.valueChanges)(control.value).pipe(switchMap
|
|
3578
|
+
return (control) => pusher(control.valueChanges)(control.value).pipe(switchMap((x) => checkValueIsAvailable(x)), map((isAvailable) => {
|
|
3755
3579
|
if (isAvailable) {
|
|
3756
3580
|
return null;
|
|
3757
3581
|
}
|
|
@@ -3762,15 +3586,17 @@ function fieldValueIsAvailableValidator(config) {
|
|
|
3762
3586
|
}
|
|
3763
3587
|
}), catchError(() => of({
|
|
3764
3588
|
[FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY]: { message: 'An error occured.' }
|
|
3765
|
-
})), first
|
|
3589
|
+
})), first());
|
|
3766
3590
|
}
|
|
3767
3591
|
|
|
3768
3592
|
function textIsAvailableField(config) {
|
|
3769
3593
|
const field = textField(config);
|
|
3770
3594
|
field.asyncValidators = {
|
|
3771
|
-
validation: [
|
|
3772
|
-
|
|
3773
|
-
|
|
3595
|
+
validation: [
|
|
3596
|
+
{
|
|
3597
|
+
expression: fieldValueIsAvailableValidator(Object.assign(Object.assign({}, config), { message: config === null || config === void 0 ? void 0 : config.isNotAvailableErrorMessage }))
|
|
3598
|
+
}
|
|
3599
|
+
]
|
|
3774
3600
|
};
|
|
3775
3601
|
return workingWrapper(field, {});
|
|
3776
3602
|
}
|
|
@@ -3778,12 +3604,14 @@ function textIsAvailableField(config) {
|
|
|
3778
3604
|
/**
|
|
3779
3605
|
* Allows a directive to provide a formly context and form.
|
|
3780
3606
|
*/
|
|
3781
|
-
function
|
|
3782
|
-
return [
|
|
3607
|
+
function provideFormlyContext() {
|
|
3608
|
+
return [
|
|
3609
|
+
{
|
|
3783
3610
|
provide: DbxFormlyContext,
|
|
3784
3611
|
useClass: DbxFormlyContext
|
|
3785
3612
|
},
|
|
3786
|
-
...
|
|
3613
|
+
...provideDbxMutableForm(DbxFormlyContext)
|
|
3614
|
+
];
|
|
3787
3615
|
}
|
|
3788
3616
|
/**
|
|
3789
3617
|
* DbxForm Instance that registers a delegate and manages the state of that form/delegate.
|
|
@@ -3797,7 +3625,7 @@ class DbxFormlyContext {
|
|
|
3797
3625
|
this._delegate = new BehaviorSubject(undefined);
|
|
3798
3626
|
this.fields$ = this._fields.pipe(filterMaybe());
|
|
3799
3627
|
this.disabled$ = this._disabled.pipe(filterMaybe());
|
|
3800
|
-
this.stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap(x => (x
|
|
3628
|
+
this.stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap((x) => (x ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE))), shareReplay(1));
|
|
3801
3629
|
}
|
|
3802
3630
|
destroy() {
|
|
3803
3631
|
this.lockSet.destroyOnNextUnlock(() => {
|
|
@@ -3832,7 +3660,7 @@ class DbxFormlyContext {
|
|
|
3832
3660
|
}
|
|
3833
3661
|
// MARK: FormComponent
|
|
3834
3662
|
getValue() {
|
|
3835
|
-
return this._delegate.pipe(filterMaybe(), switchMap(x => x.getValue()), shareReplay
|
|
3663
|
+
return this._delegate.pipe(filterMaybe(), switchMap((x) => x.getValue()), shareReplay(1));
|
|
3836
3664
|
}
|
|
3837
3665
|
setValue(value) {
|
|
3838
3666
|
this._initialValue.next(value);
|
|
@@ -3948,7 +3776,7 @@ class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyFormDire
|
|
|
3948
3776
|
constructor() {
|
|
3949
3777
|
super(...arguments);
|
|
3950
3778
|
this._config = new BehaviorSubject(undefined);
|
|
3951
|
-
this.config$ = this._config.pipe(filterMaybe(), shareReplay
|
|
3779
|
+
this.config$ = this._config.pipe(filterMaybe(), shareReplay(1));
|
|
3952
3780
|
}
|
|
3953
3781
|
get config() {
|
|
3954
3782
|
return this._config.value;
|
|
@@ -3990,12 +3818,12 @@ class DbxFormlyFieldsContextDirective extends AbstractAsyncFormlyFormDirective {
|
|
|
3990
3818
|
}
|
|
3991
3819
|
}
|
|
3992
3820
|
DbxFormlyFieldsContextDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
3993
|
-
DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers:
|
|
3821
|
+
DbxFormlyFieldsContextDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFieldsContextDirective, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: provideFormlyContext(), usesInheritance: true, ngImport: i0 });
|
|
3994
3822
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFieldsContextDirective, decorators: [{
|
|
3995
3823
|
type: Directive,
|
|
3996
3824
|
args: [{
|
|
3997
3825
|
selector: '[dbxFormlyFields]',
|
|
3998
|
-
providers:
|
|
3826
|
+
providers: provideFormlyContext()
|
|
3999
3827
|
}]
|
|
4000
3828
|
}], propDecorators: { fields: [{
|
|
4001
3829
|
type: Input,
|
|
@@ -4018,10 +3846,10 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
4018
3846
|
this.form = new FormGroup({});
|
|
4019
3847
|
this.model = {};
|
|
4020
3848
|
this.options = {};
|
|
4021
|
-
this.fields$ = this._fields.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay
|
|
4022
|
-
this.stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime
|
|
3849
|
+
this.fields$ = this._fields.pipe(switchMapMaybeObs(), distinctUntilChanged(), shareReplay(1));
|
|
3850
|
+
this.stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime(50, undefined, { leading: true, trailing: true }), scanCount(-1),
|
|
4023
3851
|
// update on validation changes too. Does not count towards changes since last reset.
|
|
4024
|
-
switchMap(changesSinceLastReset => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(
|
|
3852
|
+
switchMap((changesSinceLastReset) => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(() => changesSinceLastReset))), map((changesSinceLastResetCount) => ({
|
|
4025
3853
|
changesSinceLastResetCount,
|
|
4026
3854
|
isFormValid: this.form.status !== 'PENDING' && this.form.valid,
|
|
4027
3855
|
isFormDisabled: this.form.disabled
|
|
@@ -4043,7 +3871,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
4043
3871
|
const complete = isFormValid;
|
|
4044
3872
|
const nextState = {
|
|
4045
3873
|
isComplete: complete,
|
|
4046
|
-
state:
|
|
3874
|
+
state: isReset ? DbxFormState.RESET : DbxFormState.USED,
|
|
4047
3875
|
status: this.form.status,
|
|
4048
3876
|
untouched: this.form.untouched,
|
|
4049
3877
|
pristine: this.form.pristine,
|
|
@@ -4054,7 +3882,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
4054
3882
|
};
|
|
4055
3883
|
// console.log('Change: ', nextState);
|
|
4056
3884
|
return nextState;
|
|
4057
|
-
}))), shareReplay
|
|
3885
|
+
}))), shareReplay(1));
|
|
4058
3886
|
}
|
|
4059
3887
|
ngOnInit() {
|
|
4060
3888
|
this.context.setDelegate(this);
|
|
@@ -4135,7 +3963,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
4135
3963
|
}
|
|
4136
3964
|
}
|
|
4137
3965
|
DbxFormlyFormComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyFormComponent, deps: [{ token: DbxFormlyContext }], target: i0.ɵɵFactoryTarget.Component });
|
|
4138
|
-
DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFormComponent, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers:
|
|
3966
|
+
DbxFormlyFormComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormlyFormComponent, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers: provideDbxMutableForm(DbxFormlyFormComponent), exportAs: ["formly"], usesInheritance: true, ngImport: i0, template: `
|
|
4139
3967
|
<form [formGroup]="form" class="dbx-formly">
|
|
4140
3968
|
<formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
|
|
4141
3969
|
</form>
|
|
@@ -4150,9 +3978,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
4150
3978
|
<formly-form [form]="form" [fields]="(fields$ | async) ?? []" [model]="model"></formly-form>
|
|
4151
3979
|
</form>
|
|
4152
3980
|
`,
|
|
4153
|
-
providers:
|
|
3981
|
+
providers: provideDbxMutableForm(DbxFormlyFormComponent),
|
|
4154
3982
|
host: {
|
|
4155
|
-
|
|
3983
|
+
class: 'dbx-formly'
|
|
4156
3984
|
}
|
|
4157
3985
|
}]
|
|
4158
3986
|
}], ctorParameters: function () { return [{ type: DbxFormlyContext }]; } });
|
|
@@ -4160,12 +3988,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
4160
3988
|
class DbxFormlyModule {
|
|
4161
3989
|
}
|
|
4162
3990
|
DbxFormlyModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4163
|
-
DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyFormComponent,
|
|
4164
|
-
DbxFormlyFieldsContextDirective], imports: [CommonModule,
|
|
4165
|
-
FormsModule,
|
|
4166
|
-
ReactiveFormsModule,
|
|
4167
|
-
FormlyModule,
|
|
4168
|
-
FormlyMatToggleModule], exports: [
|
|
3991
|
+
DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective], imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule], exports: [
|
|
4169
3992
|
// Modules (?)
|
|
4170
3993
|
FormsModule,
|
|
4171
3994
|
ReactiveFormsModule,
|
|
@@ -4174,30 +3997,15 @@ DbxFormlyModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version
|
|
|
4174
3997
|
DbxFormlyFieldsContextDirective
|
|
4175
3998
|
// Helper Modules
|
|
4176
3999
|
] });
|
|
4177
|
-
DbxFormlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, imports: [[
|
|
4178
|
-
CommonModule,
|
|
4179
|
-
FormsModule,
|
|
4180
|
-
ReactiveFormsModule,
|
|
4181
|
-
FormlyModule,
|
|
4182
|
-
FormlyMatToggleModule
|
|
4183
|
-
],
|
|
4000
|
+
DbxFormlyModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, imports: [[CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
4184
4001
|
// Modules (?)
|
|
4185
4002
|
FormsModule,
|
|
4186
4003
|
ReactiveFormsModule] });
|
|
4187
4004
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormlyModule, decorators: [{
|
|
4188
4005
|
type: NgModule,
|
|
4189
4006
|
args: [{
|
|
4190
|
-
imports: [
|
|
4191
|
-
|
|
4192
|
-
FormsModule,
|
|
4193
|
-
ReactiveFormsModule,
|
|
4194
|
-
FormlyModule,
|
|
4195
|
-
FormlyMatToggleModule
|
|
4196
|
-
],
|
|
4197
|
-
declarations: [
|
|
4198
|
-
DbxFormlyFormComponent,
|
|
4199
|
-
DbxFormlyFieldsContextDirective
|
|
4200
|
-
],
|
|
4007
|
+
imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
4008
|
+
declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective],
|
|
4201
4009
|
exports: [
|
|
4202
4010
|
// Modules (?)
|
|
4203
4011
|
FormsModule,
|
|
@@ -4216,12 +4024,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
4216
4024
|
class DbxFormSpacerComponent {
|
|
4217
4025
|
}
|
|
4218
4026
|
DbxFormSpacerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
4219
|
-
DbxFormSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template:
|
|
4027
|
+
DbxFormSpacerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template: `
|
|
4028
|
+
<div class="dbx-form-spacer"></div>
|
|
4029
|
+
`, isInline: true });
|
|
4220
4030
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormSpacerComponent, decorators: [{
|
|
4221
4031
|
type: Component,
|
|
4222
4032
|
args: [{
|
|
4223
4033
|
selector: 'dbx-form-spacer',
|
|
4224
|
-
template:
|
|
4034
|
+
template: `
|
|
4035
|
+
<div class="dbx-form-spacer"></div>
|
|
4036
|
+
`
|
|
4225
4037
|
}]
|
|
4226
4038
|
}] });
|
|
4227
4039
|
|
|
@@ -4229,25 +4041,17 @@ class DbxFormLayoutModule {
|
|
|
4229
4041
|
}
|
|
4230
4042
|
DbxFormLayoutModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4231
4043
|
DbxFormLayoutModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, declarations: [DbxFormSpacerComponent], imports: [CommonModule], exports: [DbxFormSpacerComponent] });
|
|
4232
|
-
DbxFormLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, imports: [[
|
|
4233
|
-
CommonModule
|
|
4234
|
-
]] });
|
|
4044
|
+
DbxFormLayoutModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, imports: [[CommonModule]] });
|
|
4235
4045
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormLayoutModule, decorators: [{
|
|
4236
4046
|
type: NgModule,
|
|
4237
4047
|
args: [{
|
|
4238
|
-
imports: [
|
|
4239
|
-
|
|
4240
|
-
]
|
|
4241
|
-
declarations: [
|
|
4242
|
-
DbxFormSpacerComponent
|
|
4243
|
-
],
|
|
4244
|
-
exports: [
|
|
4245
|
-
DbxFormSpacerComponent
|
|
4246
|
-
]
|
|
4048
|
+
imports: [CommonModule],
|
|
4049
|
+
declarations: [DbxFormSpacerComponent],
|
|
4050
|
+
exports: [DbxFormSpacerComponent]
|
|
4247
4051
|
}]
|
|
4248
4052
|
}] });
|
|
4249
4053
|
|
|
4250
|
-
function
|
|
4054
|
+
function isTruthy() {
|
|
4251
4055
|
return (control) => {
|
|
4252
4056
|
const value = control.value;
|
|
4253
4057
|
if (!value) {
|
|
@@ -4260,26 +4064,26 @@ function IsTruthy() {
|
|
|
4260
4064
|
}
|
|
4261
4065
|
|
|
4262
4066
|
const DOMAIN_NAME_REGEX = /(.+)\.(.+)/;
|
|
4263
|
-
function
|
|
4067
|
+
function isDomain() {
|
|
4264
4068
|
return Validators.pattern(DOMAIN_NAME_REGEX);
|
|
4265
4069
|
}
|
|
4266
4070
|
|
|
4267
|
-
|
|
4071
|
+
/**
|
|
4072
|
+
* Merges the use of the min and max validator.
|
|
4073
|
+
*
|
|
4074
|
+
* @param min
|
|
4075
|
+
* @param max
|
|
4076
|
+
* @returns
|
|
4077
|
+
*/
|
|
4078
|
+
function isInRange(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER) {
|
|
4079
|
+
const minFn = Validators.min(min);
|
|
4080
|
+
const maxFn = Validators.max(max);
|
|
4268
4081
|
return (control) => {
|
|
4269
|
-
const
|
|
4270
|
-
const
|
|
4271
|
-
|
|
4272
|
-
|
|
4273
|
-
|
|
4274
|
-
const bigEnough = value >= min;
|
|
4275
|
-
const smallEnough = value <= max;
|
|
4276
|
-
if (!bigEnough) {
|
|
4277
|
-
errors.min = value;
|
|
4278
|
-
}
|
|
4279
|
-
if (!smallEnough) {
|
|
4280
|
-
errors.max = value;
|
|
4281
|
-
}
|
|
4282
|
-
}
|
|
4082
|
+
const minError = minFn(control);
|
|
4083
|
+
const maxError = maxFn(control);
|
|
4084
|
+
let errors = null;
|
|
4085
|
+
if (minError || maxError) {
|
|
4086
|
+
errors = Object.assign(Object.assign({}, minError), maxError);
|
|
4283
4087
|
}
|
|
4284
4088
|
return errors;
|
|
4285
4089
|
};
|
|
@@ -4288,20 +4092,12 @@ function IsInRange(min = Number.MIN_SAFE_INTEGER, max = Number.MAX_SAFE_INTEGER)
|
|
|
4288
4092
|
class DbxFormExtensionModule {
|
|
4289
4093
|
}
|
|
4290
4094
|
DbxFormExtensionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4291
|
-
DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule,
|
|
4292
|
-
|
|
4293
|
-
DbxFormFormlyFieldModule] });
|
|
4294
|
-
DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule,
|
|
4295
|
-
DbxFormlyModule,
|
|
4296
|
-
DbxFormFormlyFieldModule] });
|
|
4095
|
+
DbxFormExtensionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
|
|
4096
|
+
DbxFormExtensionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
|
|
4297
4097
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFormExtensionModule, decorators: [{
|
|
4298
4098
|
type: NgModule,
|
|
4299
4099
|
args: [{
|
|
4300
|
-
exports: [
|
|
4301
|
-
DbxFormModule,
|
|
4302
|
-
DbxFormlyModule,
|
|
4303
|
-
DbxFormFormlyFieldModule
|
|
4304
|
-
]
|
|
4100
|
+
exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule]
|
|
4305
4101
|
}]
|
|
4306
4102
|
}] });
|
|
4307
4103
|
|
|
@@ -4309,5 +4105,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
4309
4105
|
* Generated bundle index. Do not edit.
|
|
4310
4106
|
*/
|
|
4311
4107
|
|
|
4312
|
-
export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandableSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_PREFERRED_COUNTRIES, DOMAIN_NAME_REGEX, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, EXPANDABLE_WRAPPER_KEY, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FLEX_WRAPPER_KEY, INFO_WRAPPER_KEY, INVALID_PHONE_NUMBER_MESSAGE,
|
|
4108
|
+
export { ADDRESS_CITY_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandableSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_FORM_DISABLED_KEY, DEFAULT_HAS_VALUE_FN, DEFAULT_PREFERRED_COUNTRIES, DOMAIN_NAME_REGEX, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyEnumFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, EXPANDABLE_WRAPPER_KEY, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, FLEX_WRAPPER_KEY, INFO_WRAPPER_KEY, INVALID_PHONE_NUMBER_MESSAGE, LABEL_STRING_MAX_LENGTH, MAX_LENGTH_VALIDATION_MESSAGE, MAX_VALIDATION_MESSAGE, MIN_LENGTH_VALIDATION_MESSAGE, MIN_VALIDATION_MESSAGE, PHONE_LABEL_MAX_LENGTH, REQUIRED_VALIDATION_MESSAGE, SEARCH_STRING_MAX_LENGTH, SECTION_WRAPPER_KEY, STYLE_WRAPPER_KEY, SUBSECTION_WRAPPER_KEY, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, TOGGLE_WRAPPER_KEY, WORKING_WRAPPER_KEY, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressListField, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateTimeField, dbxFormSourceObservable, defaultValidationMessages, disableFormlyFieldAutofillAttributes, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPickableItemFieldValuesByLabel, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, isDomain, isInRange, isTruthy, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, minLengthValidationMessage, minValidationMessage, nameField, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, provideDbxForm, provideDbxMutableForm, provideFormlyContext, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, stateField, staticEnumField, styleWrapper, subsectionWrapper, templateOptionsForFieldConfig, templateOptionsValueForFieldConfig, textAreaField, textEditorField, textField, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, toggleField, toggleWrapper, usernamePasswordLoginFields, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
|
|
4313
4109
|
//# sourceMappingURL=dereekb-dbx-form.mjs.map
|