@dereekb/dbx-form 9.21.0 → 9.22.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +4 -4
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +0 -1
- package/esm2020/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +1 -1
- package/esm2020/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +1 -1
- package/esm2020/calendar/lib/calendar.schedule.selection.range.component.mjs +13 -12
- package/esm2020/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +4 -7
- package/esm2020/lib/formly/field/field.mjs +1 -1
- package/esm2020/lib/formly/field/selection/index.mjs +2 -1
- package/esm2020/lib/formly/field/selection/list/list.field.component.mjs +1 -1
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.directive.mjs +5 -4
- package/esm2020/lib/formly/field/selection/pickable/pickable.field.mjs +5 -3
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.directive.mjs +7 -6
- package/esm2020/lib/formly/field/selection/searchable/searchable.field.mjs +5 -3
- package/esm2020/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2020/lib/formly/field/selection/selection.field.mjs +3 -2
- package/esm2020/lib/formly/field/selection/selection.module.mjs +5 -4
- package/esm2020/lib/formly/field/selection/sourceselect/index.mjs +5 -0
- package/esm2020/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +316 -0
- package/esm2020/lib/formly/field/selection/sourceselect/sourceselect.field.mjs +14 -0
- package/esm2020/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +93 -0
- package/esm2020/lib/formly/field/selection/sourceselect/sourceselect.mjs +2 -0
- package/esm2020/lib/formly/field/texteditor/texteditor.field.mjs +3 -2
- package/esm2020/lib/formly/field/value/array/array.field.component.mjs +12 -10
- package/esm2020/lib/formly/field/value/boolean/boolean.field.mjs +11 -5
- package/esm2020/lib/formly/field/value/date/date.field.module.mjs +5 -1
- package/esm2020/lib/formly/field/value/date/datetime.field.component.mjs +11 -10
- package/esm2020/lib/formly/field/value/date/datetime.field.mjs +4 -2
- package/esm2020/lib/formly/field/value/number/number.field.mjs +3 -2
- package/esm2020/lib/formly/field/value/phone/phone.field.mjs +3 -2
- package/esm2020/lib/formly/field/value/text/text.field.mjs +5 -3
- package/esm2020/mapbox/lib/field/latlng/latlng.field.component.mjs +3 -3
- package/esm2020/mapbox/lib/field/zoom/zoom.field.component.mjs +3 -3
- package/fesm2015/dereekb-dbx-form-calendar.mjs +22 -24
- package/fesm2015/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-form-mapbox.mjs +4 -4
- package/fesm2015/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2015/dereekb-dbx-form.mjs +470 -87
- package/fesm2015/dereekb-dbx-form.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form-calendar.mjs +20 -23
- package/fesm2020/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form-mapbox.mjs +4 -4
- package/fesm2020/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-form.mjs +476 -59
- package/fesm2020/dereekb-dbx-form.mjs.map +1 -1
- package/lib/formly/_formly.scss +4 -0
- package/lib/formly/field/field.d.ts +4 -0
- package/lib/formly/field/selection/_selection.scss +4 -0
- package/lib/formly/field/selection/index.d.ts +1 -0
- package/lib/formly/field/selection/list/list.field.component.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.field.d.ts +2 -2
- package/lib/formly/field/selection/searchable/_searchable.scss +2 -0
- package/lib/formly/field/selection/searchable/searchable.d.ts +4 -4
- package/lib/formly/field/selection/searchable/searchable.field.d.ts +3 -3
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +1 -1
- package/lib/formly/field/selection/selection.field.d.ts +11 -2
- package/lib/formly/field/selection/selection.module.d.ts +2 -1
- package/lib/formly/field/selection/sourceselect/_sourceselect.scss +54 -0
- package/lib/formly/field/selection/sourceselect/index.d.ts +4 -0
- package/lib/formly/field/selection/sourceselect/sourceselect.d.ts +97 -0
- package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +92 -0
- package/lib/formly/field/selection/sourceselect/sourceselect.field.d.ts +7 -0
- package/lib/formly/field/selection/sourceselect/sourceselect.field.module.d.ts +23 -0
- package/lib/formly/field/texteditor/texteditor.field.d.ts +2 -2
- package/lib/formly/field/value/array/_array.scss +6 -2
- package/lib/formly/field/value/boolean/boolean.field.d.ts +3 -3
- package/lib/formly/field/value/date/_date.scss +8 -2
- package/lib/formly/field/value/date/date.field.module.d.ts +12 -11
- package/lib/formly/field/value/date/datetime.field.d.ts +2 -2
- package/lib/formly/field/value/number/number.field.d.ts +2 -2
- package/lib/formly/field/value/text/text.field.d.ts +3 -3
- package/mapbox/esm2020/lib/field/latlng/latlng.field.component.mjs +3 -3
- package/mapbox/esm2020/lib/field/zoom/zoom.field.component.mjs +3 -3
- package/mapbox/fesm2015/dereekb-dbx-form-mapbox.mjs +4 -4
- package/mapbox/fesm2015/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/mapbox/fesm2020/dereekb-dbx-form-mapbox.mjs +4 -4
- package/mapbox/fesm2020/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/mapbox/package.json +4 -4
- package/package.json +4 -4
|
@@ -8,35 +8,35 @@ import * as i3 from '@uirouter/core';
|
|
|
8
8
|
import * as i2 from '@dereekb/dbx-core';
|
|
9
9
|
import { AbstractSubscriptionDirective, safeDetectChanges, DbxInjectionComponentModule, DbxDatePipeModule, mergeDbxInjectionComponentConfigs, tapDetectChanges } from '@dereekb/dbx-core';
|
|
10
10
|
import * as i2$1 from '@dereekb/dbx-web';
|
|
11
|
-
import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, dbxValueListItemDecisionFunction, DbxButtonModule, DbxListLayoutModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, AbstractDbxValueListViewItemComponent, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
|
|
11
|
+
import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, dbxValueListItemDecisionFunction, DbxButtonModule, DbxListLayoutModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, AbstractDbxValueListViewItemComponent, DbxActionModule, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
|
|
12
12
|
import { isPast, addSeconds, isSameMinute, startOfDay, isSameDay, addMinutes, addDays } from 'date-fns';
|
|
13
|
-
import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, shareReplay, Subject, tap, takeUntil, EMPTY, mergeMap, startWith, debounceTime, skipWhile, interval, merge, throttleTime,
|
|
14
|
-
import { LockSet, SubscriptionObject, asObservable, cleanup, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext, distinctUntilHasDifferentValues, startWithBeginLoading, mapLoadingStateResults, successResult, ListLoadingStateContextInstance, isListLoadingStateEmpty, LoadingStateContextInstance, skipFirstMaybe, asyncPusherCache, scanCount } from '@dereekb/rxjs';
|
|
13
|
+
import { BehaviorSubject, switchMap, first, exhaustMap, of, catchError, delay, filter, combineLatest, map, distinctUntilChanged, shareReplay, Subject, tap, takeUntil, EMPTY, mergeMap, startWith, debounceTime, skipWhile, scan, interval, merge, throttleTime, timer } from 'rxjs';
|
|
14
|
+
import { LockSet, SubscriptionObject, asObservable, cleanup, loadingStateHasFinishedLoading, switchMapMaybeObs, filterMaybe, switchMapMaybeDefault, SimpleLoadingContext, distinctUntilHasDifferentValues, startWithBeginLoading, mapLoadingStateResults, successResult, ListLoadingStateContextInstance, isListLoadingStateEmpty, LoadingStateContextInstance, loadingStateHasValue, loadingStateIsLoading, beginLoading, mapLoadingStateValueWithOperator, valueFromLoadingState, loadingStateContext, skipFirstMaybe, asyncPusherCache, scanCount } from '@dereekb/rxjs';
|
|
15
15
|
import * as i1$2 from '@ngx-formly/core';
|
|
16
16
|
import { FieldType, FieldWrapper, FormlyModule, FieldArrayType } from '@ngx-formly/core';
|
|
17
17
|
import * as i3$1 from '@angular/forms';
|
|
18
18
|
import { FormsModule, ReactiveFormsModule, FormControl, Validators, FormGroup } from '@angular/forms';
|
|
19
|
-
import * as
|
|
19
|
+
import * as i4$1 from '@angular/material/core';
|
|
20
20
|
import { MatRippleModule, MatNativeDateModule } from '@angular/material/core';
|
|
21
|
-
import * as i4$
|
|
21
|
+
import * as i4$2 from '@angular/material/checkbox';
|
|
22
22
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
23
23
|
import * as i5 from '@angular/material/icon';
|
|
24
24
|
import { MatIconModule } from '@angular/material/icon';
|
|
25
25
|
import * as i1$1 from '@angular/material/button';
|
|
26
26
|
import { MatButtonModule } from '@angular/material/button';
|
|
27
|
-
import * as i3$
|
|
27
|
+
import * as i3$2 from '@angular/flex-layout/flex';
|
|
28
28
|
import { FlexLayoutModule } from '@angular/flex-layout';
|
|
29
|
-
import { objectIsEmpty, mergeObjectsFunction, filterFromPOJOFunction, mergeObjects, filterFromPOJO, asArray, objectHasNoKeys, addPlusPrefixToNumber, convertMaybeToArray, isSelectedDecisionFunctionFactory, readKeysFrom, hasDifferentValues, makeValuesGroupMap, findUnique, searchStringFilterFunction, caseInsensitiveFilterByIndexOfDecisionFactory, sortByStringFunction, mergeIntoArray, lastValue,
|
|
29
|
+
import { objectIsEmpty, mergeObjectsFunction, filterFromPOJOFunction, mergeObjects, filterFromPOJO, asArray, objectHasNoKeys, addPlusPrefixToNumber, convertMaybeToArray, isSelectedDecisionFunctionFactory, readKeysFrom, hasDifferentValues, makeValuesGroupMap, separateValues, findUnique, searchStringFilterFunction, caseInsensitiveFilterByIndexOfDecisionFactory, sortByStringFunction, mergeIntoArray, lastValue, arrayToMap, setContainsAllValues, addToSetCopy, setsAreEquivalent, filterMaybeValues, mergeArrays, cachedGetter, makeGetter, asDecisionFunction, getValueFromGetter, dateFromLogicalDate, WEBSITE_DOMAIN_NAME_REGEX, KeyValueTypleValueFilter, valuesFromPOJO, allObjectsAreEqual, isNumberDivisibleBy, nearestDivisibleValues, transformNumberFunction, concatArrays, transformStringFunction, US_STATE_CODE_STRING_REGEX, ZIP_CODE_STRING_REGEX, LAT_LNG_PATTERN, BooleanStringKeyArrayUtilityInstance, capitalizeFirstLetter } from '@dereekb/util';
|
|
30
30
|
import * as i2$2 from '@angular/material/slide-toggle';
|
|
31
31
|
import { MatSlideToggleModule } from '@angular/material/slide-toggle';
|
|
32
32
|
import * as i2$3 from '@angular/flex-layout/extended';
|
|
33
33
|
import * as i5$1 from '@angular/material/divider';
|
|
34
34
|
import { MatDividerModule } from '@angular/material/divider';
|
|
35
|
-
import * as i4$
|
|
35
|
+
import * as i4$4 from '@angular/material/autocomplete';
|
|
36
36
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
37
37
|
import * as i3$4 from '@angular/material/form-field';
|
|
38
38
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
39
|
-
import * as i4$
|
|
39
|
+
import * as i4$3 from '@angular/material/input';
|
|
40
40
|
import { MatInputModule } from '@angular/material/input';
|
|
41
41
|
import { FieldType as FieldType$1, FormlyMaterialModule } from '@ngx-formly/material';
|
|
42
42
|
import { camelCase } from 'change-case';
|
|
@@ -45,17 +45,19 @@ import { MatChipsModule } from '@angular/material/chips';
|
|
|
45
45
|
import { MatListModule } from '@angular/material/list';
|
|
46
46
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
47
47
|
import { skipUntilTimeElapsedAfterLastEmission, toJsDate, parseISO8601DayStringToDate, formatToISO8601DayString, formatToISO8601DateString, safeToJsDate, guessCurrentTimezone, toReadableTimeString, utcDayForDate, readableTimeStringToDate, findMinDate, findMaxDate, dateTimeMinuteDecisionFunction, DateTimeMinuteInstance, toLocalReadableTimeString, allTimezoneInfos, timezoneInfoForSystem, searchTimezoneInfos } from '@dereekb/date';
|
|
48
|
-
import
|
|
49
|
-
import
|
|
50
|
-
import
|
|
51
|
-
import
|
|
52
|
-
import * as i7 from '@angular/material/datepicker';
|
|
48
|
+
import { FieldType as FieldType$2, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
49
|
+
import * as i3$3 from '@angular/material/select';
|
|
50
|
+
import { MatSelectModule } from '@angular/material/select';
|
|
51
|
+
import * as i8 from '@angular/material/datepicker';
|
|
53
52
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
54
|
-
import * as
|
|
53
|
+
import * as i9 from '@angular/material/menu';
|
|
55
54
|
import { MatMenuModule } from '@angular/material/menu';
|
|
55
|
+
import * as i4$5 from 'ngx-editor';
|
|
56
|
+
import { Editor, NgxEditorModule } from 'ngx-editor';
|
|
57
|
+
import * as i4$6 from '@angular/cdk/drag-drop';
|
|
58
|
+
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
56
59
|
import * as i2$4 from 'ngx-mat-intl-tel-input';
|
|
57
60
|
import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';
|
|
58
|
-
import { FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
59
61
|
import { ADDRESS_CITY_MAX_LENGTH, ADDRESS_STATE_CODE_MAX_LENGTH, ADDRESS_STATE_MAX_LENGTH, ADDRESS_COUNTRY_MAX_LENGTH, ADDRESS_ZIP_MAX_LENGTH, ADDRESS_LINE_MAX_LENGTH } from '@dereekb/model';
|
|
60
62
|
import { cloneDeep } from 'lodash';
|
|
61
63
|
import { FormlyMatToggleModule } from '@ngx-formly/material/toggle';
|
|
@@ -603,7 +605,7 @@ class DbxChecklistItemFieldComponent extends FieldType {
|
|
|
603
605
|
}
|
|
604
606
|
}
|
|
605
607
|
DbxChecklistItemFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
606
|
-
DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i0.forwardRef(function () { return
|
|
608
|
+
DbxChecklistItemFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i4$1.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i0.forwardRef(function () { return i4$2.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i0.forwardRef(function () { return i5.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i2$1.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
|
|
607
609
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
608
610
|
type: Component,
|
|
609
611
|
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" }]
|
|
@@ -660,7 +662,7 @@ DbxFormInfoWrapperComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
660
662
|
</button>
|
|
661
663
|
</div>
|
|
662
664
|
</div>
|
|
663
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i1$1.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"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$
|
|
665
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1$1.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"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.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"] }, { kind: "directive", type: i3$2.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"] }, { kind: "directive", type: i3$2.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"] }] });
|
|
664
666
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormInfoWrapperComponent, decorators: [{
|
|
665
667
|
type: Component,
|
|
666
668
|
args: [{
|
|
@@ -1779,8 +1781,9 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1779
1781
|
getDisplayValuesForFieldValues(values) {
|
|
1780
1782
|
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
1781
1783
|
const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
|
|
1782
|
-
const
|
|
1783
|
-
|
|
1784
|
+
const {
|
|
1785
|
+
//
|
|
1786
|
+
included: hasDisplay, excluded: needsDisplay } = separateValues(mappingResult, (x) => Boolean(x[3]));
|
|
1784
1787
|
if (needsDisplay.length > 0) {
|
|
1785
1788
|
// Go get the display value.
|
|
1786
1789
|
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
@@ -1890,7 +1893,7 @@ class DbxPickableChipListFieldComponent extends AbstractDbxPickableItemFieldDire
|
|
|
1890
1893
|
}
|
|
1891
1894
|
}
|
|
1892
1895
|
DbxPickableChipListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxPickableChipListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1893
|
-
DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$
|
|
1896
|
+
DbxPickableChipListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$3.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"] }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "component", type: i2.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
1894
1897
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxPickableChipListFieldComponent, decorators: [{
|
|
1895
1898
|
type: Component,
|
|
1896
1899
|
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" }]
|
|
@@ -1907,7 +1910,7 @@ class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirectiv
|
|
|
1907
1910
|
}
|
|
1908
1911
|
}
|
|
1909
1912
|
DbxPickableListFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1910
|
-
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2$1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$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]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i4$
|
|
1913
|
+
DbxPickableListFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i1.NgTemplateOutlet; }), selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i0.forwardRef(function () { return i2$1.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$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]" }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i4$3.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"] }, { kind: "directive", type: i0.forwardRef(function () { return i3$1.FormControlDirective; }), selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i0.forwardRef(function () { return i5$1.MatDivider; }), selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i0.forwardRef(function () { return i2.DbxInjectionComponent; }), selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: i0.forwardRef(function () { return DbxPickableListFieldItemListComponent; }), selector: "dbx-form-pickable-item-field-item-list" }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
|
|
1911
1914
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
1912
1915
|
type: Component,
|
|
1913
1916
|
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" }]
|
|
@@ -2081,22 +2084,24 @@ function sortPickableItemsByLabel(chips) {
|
|
|
2081
2084
|
return chips.sort(sortPickableItemsByLabelStringFunction);
|
|
2082
2085
|
}
|
|
2083
2086
|
function pickableItemChipField(config) {
|
|
2084
|
-
const { key } = config;
|
|
2087
|
+
const { key, materialFormField } = config;
|
|
2085
2088
|
return formlyField({
|
|
2086
2089
|
key,
|
|
2087
2090
|
type: 'pickablechipfield',
|
|
2088
2091
|
...propsAndConfigForFieldConfig(config, {
|
|
2092
|
+
...materialFormField,
|
|
2089
2093
|
...config,
|
|
2090
2094
|
autocomplete: false
|
|
2091
2095
|
})
|
|
2092
2096
|
});
|
|
2093
2097
|
}
|
|
2094
2098
|
function pickableItemListField(config) {
|
|
2095
|
-
const { key } = config;
|
|
2099
|
+
const { key, materialFormField } = config;
|
|
2096
2100
|
return formlyField({
|
|
2097
2101
|
key,
|
|
2098
2102
|
type: 'pickablelistfield',
|
|
2099
2103
|
...propsAndConfigForFieldConfig(config, {
|
|
2104
|
+
...materialFormField,
|
|
2100
2105
|
...config,
|
|
2101
2106
|
autocomplete: false
|
|
2102
2107
|
})
|
|
@@ -2210,8 +2215,8 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2210
2215
|
this.singleValueSyncSubscription = new SubscriptionObject();
|
|
2211
2216
|
this.searchContext = new LoadingStateContextInstance({ obs: this.searchResultsState$, showLoadingOnNoValue: false });
|
|
2212
2217
|
this.searchResults$ = this.searchResultsState$.pipe(map((x) => x?.value ?? []));
|
|
2213
|
-
this.
|
|
2214
|
-
this.values$ = this.
|
|
2218
|
+
this.currentFormControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
2219
|
+
this.values$ = this.currentFormControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
2215
2220
|
this.displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay(1));
|
|
2216
2221
|
this.displayValues$ = this.displayValuesState$.pipe(map((x) => x?.value ?? []));
|
|
2217
2222
|
}
|
|
@@ -2278,8 +2283,9 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2278
2283
|
getDisplayValuesForFieldValues(values) {
|
|
2279
2284
|
return this._displayHashMap.pipe(mergeMap((displayMap) => {
|
|
2280
2285
|
const mappingResult = values.map((x) => [x, this.hashForValue(x.value)]).map(([x, hash], i) => [i, hash, x, displayMap.get(hash)]);
|
|
2281
|
-
const
|
|
2282
|
-
|
|
2286
|
+
const {
|
|
2287
|
+
//
|
|
2288
|
+
included: hasDisplay, excluded: needsDisplay } = separateValues(mappingResult, (x) => Boolean(x[3]));
|
|
2283
2289
|
let obs;
|
|
2284
2290
|
if (needsDisplay.length > 0) {
|
|
2285
2291
|
// Go get the display value.
|
|
@@ -2476,7 +2482,7 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2476
2482
|
}
|
|
2477
2483
|
}
|
|
2478
2484
|
DbxSearchableChipFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2479
|
-
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$
|
|
2485
|
+
DbxSearchableChipFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i4$4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i6.MatChipList, selector: "mat-chip-list", inputs: ["role", "aria-describedby", "errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { kind: "directive", type: i6.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "role", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { kind: "directive", type: i6.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i6.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2480
2486
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
|
|
2481
2487
|
type: Component,
|
|
2482
2488
|
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" }]
|
|
@@ -2525,11 +2531,12 @@ function searchableStringChipField(config) {
|
|
|
2525
2531
|
});
|
|
2526
2532
|
}
|
|
2527
2533
|
function searchableChipField(config) {
|
|
2528
|
-
const { key, placeholder } = config;
|
|
2534
|
+
const { key, placeholder, materialFormField } = config;
|
|
2529
2535
|
return formlyField({
|
|
2530
2536
|
key,
|
|
2531
2537
|
type: 'searchablechipfield',
|
|
2532
2538
|
...propsAndConfigForFieldConfig(config, {
|
|
2539
|
+
...materialFormField,
|
|
2533
2540
|
...config,
|
|
2534
2541
|
placeholder: placeholder ?? 'Add...',
|
|
2535
2542
|
autocomplete: false
|
|
@@ -2537,11 +2544,12 @@ function searchableChipField(config) {
|
|
|
2537
2544
|
});
|
|
2538
2545
|
}
|
|
2539
2546
|
function searchableTextField(config) {
|
|
2540
|
-
const { key } = config;
|
|
2547
|
+
const { key, materialFormField } = config;
|
|
2541
2548
|
return formlyField({
|
|
2542
2549
|
key,
|
|
2543
2550
|
type: 'searchabletextfield',
|
|
2544
2551
|
...propsAndConfigForFieldConfig(config, {
|
|
2552
|
+
...materialFormField,
|
|
2545
2553
|
...config,
|
|
2546
2554
|
autocomplete: false
|
|
2547
2555
|
})
|
|
@@ -2583,7 +2591,7 @@ class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2583
2591
|
}
|
|
2584
2592
|
}
|
|
2585
2593
|
DbxSearchableTextFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2586
|
-
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 *ngIf=\"searchLabel\" class=\"dbx-label\">{{ searchLabel }}</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", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$
|
|
2594
|
+
DbxSearchableTextFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 *ngIf=\"searchLabel\" class=\"dbx-label\">{{ searchLabel }}</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", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4$3.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"] }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i4$4.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i4$4.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2587
2595
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
|
|
2588
2596
|
type: Component,
|
|
2589
2597
|
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 *ngIf=\"searchLabel\" class=\"dbx-label\">{{ searchLabel }}</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" }]
|
|
@@ -2675,8 +2683,398 @@ function chipTextField(config) {
|
|
|
2675
2683
|
});
|
|
2676
2684
|
}
|
|
2677
2685
|
|
|
2686
|
+
/**
|
|
2687
|
+
* Component that displays a select view (multi or not)
|
|
2688
|
+
*/
|
|
2689
|
+
class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
2690
|
+
constructor() {
|
|
2691
|
+
super(...arguments);
|
|
2692
|
+
this._cacheMetaSub = new SubscriptionObject();
|
|
2693
|
+
this._clearDisplayHashMapSub = new SubscriptionObject();
|
|
2694
|
+
this._valueMetaHashMap = new BehaviorSubject(new Map());
|
|
2695
|
+
this._displayHashMap = new BehaviorSubject(new Map());
|
|
2696
|
+
this._formControlObs = new BehaviorSubject(undefined);
|
|
2697
|
+
this._fromOpenSource = new BehaviorSubject({ values: [], valuesSet: new Set() });
|
|
2698
|
+
this._loadSources = new BehaviorSubject(undefined);
|
|
2699
|
+
this.formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
2700
|
+
this.currentFormControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
|
|
2701
|
+
this.values$ = this.currentFormControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
2702
|
+
this.allValuesEverSelected$ = this.values$.pipe(scan((acc, values) => {
|
|
2703
|
+
let result = acc;
|
|
2704
|
+
if (!setContainsAllValues(acc, values)) {
|
|
2705
|
+
result = addToSetCopy(acc, values);
|
|
2706
|
+
}
|
|
2707
|
+
return result;
|
|
2708
|
+
}, new Set()), distinctUntilChanged(), map((x) => Array.from(x)), shareReplay(1));
|
|
2709
|
+
this.sourceSelectValuesFromValuesState$ = this.allValuesEverSelected$.pipe(distinctUntilChanged(), switchMap((values) => this.loadSourceSelectValueForValues(values)), shareReplay(1));
|
|
2710
|
+
this.loadSources$ = this._loadSources.pipe(filterMaybe(), switchMap((loadSource) => {
|
|
2711
|
+
const { valueReader } = this;
|
|
2712
|
+
return loadSource.pipe(switchMap((sources) => {
|
|
2713
|
+
const sourceObs = sources.map((x) => x.meta.pipe(map((metaState) => ({ ...metaState, label: x.label }))));
|
|
2714
|
+
if (sourceObs.length === 0) {
|
|
2715
|
+
return of(successResult([]));
|
|
2716
|
+
}
|
|
2717
|
+
else {
|
|
2718
|
+
return combineLatest(sourceObs).pipe(map((x) => {
|
|
2719
|
+
const statesWithValues = x.filter((y) => loadingStateHasValue(y));
|
|
2720
|
+
const loading = x.findIndex(loadingStateIsLoading) !== -1;
|
|
2721
|
+
const value = statesWithValues.map((y) => {
|
|
2722
|
+
const group = {
|
|
2723
|
+
label: y.label,
|
|
2724
|
+
values: y.value.map((meta) => ({ meta, value: valueReader(meta) }))
|
|
2725
|
+
};
|
|
2726
|
+
return group;
|
|
2727
|
+
});
|
|
2728
|
+
return {
|
|
2729
|
+
loading,
|
|
2730
|
+
value
|
|
2731
|
+
};
|
|
2732
|
+
}));
|
|
2733
|
+
}
|
|
2734
|
+
}));
|
|
2735
|
+
}));
|
|
2736
|
+
this.fromOpenSource$ = this._fromOpenSource.pipe(distinctUntilChanged((a, b) => setsAreEquivalent(a.valuesSet, b.valuesSet)), map((x) => {
|
|
2737
|
+
const group = {
|
|
2738
|
+
label: '',
|
|
2739
|
+
values: x.values
|
|
2740
|
+
};
|
|
2741
|
+
return group;
|
|
2742
|
+
}), shareReplay(1));
|
|
2743
|
+
this.valueGroupsFromSourcesState$ = combineLatest([this.fromOpenSource$, this.loadSources$]).pipe(map(([fromOpenSourceGroup, loadSources]) => {
|
|
2744
|
+
const loadSourcesValue = loadSources.value ?? [];
|
|
2745
|
+
const value = [fromOpenSourceGroup, ...loadSourcesValue];
|
|
2746
|
+
const result = {
|
|
2747
|
+
loading: loadSources.loading,
|
|
2748
|
+
value
|
|
2749
|
+
};
|
|
2750
|
+
return result;
|
|
2751
|
+
}), shareReplay(1));
|
|
2752
|
+
this.allValueGroupsState$ = this.sourceSelectValuesFromValuesState$.pipe(switchMap((sourceSelectValuesFromValues) => {
|
|
2753
|
+
if (loadingStateHasValue(sourceSelectValuesFromValues)) {
|
|
2754
|
+
const valuesFromValuesGroup = {
|
|
2755
|
+
label: '',
|
|
2756
|
+
values: sourceSelectValuesFromValues.value
|
|
2757
|
+
};
|
|
2758
|
+
return this.valueGroupsFromSourcesState$.pipe(map((sourcesState) => {
|
|
2759
|
+
const allGroups = [valuesFromValuesGroup, ...sourcesState.value];
|
|
2760
|
+
const result = {
|
|
2761
|
+
loading: sourceSelectValuesFromValues.loading || sourcesState.loading,
|
|
2762
|
+
value: allGroups
|
|
2763
|
+
};
|
|
2764
|
+
return result;
|
|
2765
|
+
}));
|
|
2766
|
+
}
|
|
2767
|
+
else {
|
|
2768
|
+
return of(beginLoading({}));
|
|
2769
|
+
}
|
|
2770
|
+
}), shareReplay(1));
|
|
2771
|
+
this.allOptionGroupsState$ = this.allValueGroupsState$.pipe(mapLoadingStateValueWithOperator(switchMap((groups) => {
|
|
2772
|
+
const allGroupsReducedByLabel = makeValuesGroupMap(groups, (x) => x.label);
|
|
2773
|
+
const valuesEncountered = new Set();
|
|
2774
|
+
const allUniqueValues = [];
|
|
2775
|
+
const simplifiedValuesGroups = [];
|
|
2776
|
+
// sort to put the blank label first
|
|
2777
|
+
Array.from(allGroupsReducedByLabel.entries())
|
|
2778
|
+
.sort(sortByStringFunction((x) => x[0]))
|
|
2779
|
+
.forEach(([label, groups]) => {
|
|
2780
|
+
const values = [];
|
|
2781
|
+
groups.forEach((group) => {
|
|
2782
|
+
group.values.forEach((selectValue) => {
|
|
2783
|
+
if (!valuesEncountered.has(selectValue.value)) {
|
|
2784
|
+
values.push(selectValue);
|
|
2785
|
+
allUniqueValues.push(selectValue);
|
|
2786
|
+
valuesEncountered.add(selectValue.value);
|
|
2787
|
+
}
|
|
2788
|
+
});
|
|
2789
|
+
});
|
|
2790
|
+
if (values.length > 0) {
|
|
2791
|
+
simplifiedValuesGroups.push({
|
|
2792
|
+
label,
|
|
2793
|
+
values
|
|
2794
|
+
});
|
|
2795
|
+
}
|
|
2796
|
+
});
|
|
2797
|
+
const obs = this.getDisplayValuesForSelectValues(allUniqueValues).pipe(map((displayValues) => {
|
|
2798
|
+
const displayValuesMap = new Map(displayValues.map((x) => [x.value, x]));
|
|
2799
|
+
const displayGroups = simplifiedValuesGroups.map((valueGroup) => {
|
|
2800
|
+
const values = filterMaybeValues(valueGroup.values.map((x) => displayValuesMap.get(x.value)));
|
|
2801
|
+
return {
|
|
2802
|
+
label: valueGroup.label,
|
|
2803
|
+
values
|
|
2804
|
+
};
|
|
2805
|
+
});
|
|
2806
|
+
return displayGroups;
|
|
2807
|
+
}));
|
|
2808
|
+
return obs;
|
|
2809
|
+
})), shareReplay(1));
|
|
2810
|
+
this.allOptionGroups$ = this.allOptionGroupsState$.pipe(valueFromLoadingState(), shareReplay(1));
|
|
2811
|
+
this.options$ = this.allOptionGroups$.pipe(map((x) => {
|
|
2812
|
+
const { included: groupedValues, excluded: nonGroupedGroup } = separateValues(x, (y) => Boolean(y.label));
|
|
2813
|
+
const result = {
|
|
2814
|
+
nonGroupedValues: nonGroupedGroup[0]?.values ?? [],
|
|
2815
|
+
groupedValues
|
|
2816
|
+
};
|
|
2817
|
+
return result;
|
|
2818
|
+
}), shareReplay(1));
|
|
2819
|
+
this.nonGroupedValues$ = this.options$.pipe(map((x) => x.nonGroupedValues));
|
|
2820
|
+
this.groupedOptions$ = this.options$.pipe(map((x) => x.groupedValues));
|
|
2821
|
+
this.context = loadingStateContext({ obs: this.allOptionGroupsState$ });
|
|
2822
|
+
this.handleSelectOptions = (_, context) => {
|
|
2823
|
+
const { openSource } = this;
|
|
2824
|
+
if (openSource) {
|
|
2825
|
+
const sourceObs = openSource();
|
|
2826
|
+
context.startWorkingWithObservable(sourceObs.pipe(first(), tap((result) => {
|
|
2827
|
+
const valuesToAdd = mergeArrays([result.select, result.options]);
|
|
2828
|
+
if (valuesToAdd.length) {
|
|
2829
|
+
this.addToOpenSourceMap(valuesToAdd);
|
|
2830
|
+
}
|
|
2831
|
+
if (result.select) {
|
|
2832
|
+
this.addToCurrentValue(result.select.map((x) => this.valueReader(x)));
|
|
2833
|
+
}
|
|
2834
|
+
})));
|
|
2835
|
+
}
|
|
2836
|
+
else {
|
|
2837
|
+
context.reject();
|
|
2838
|
+
}
|
|
2839
|
+
};
|
|
2840
|
+
}
|
|
2841
|
+
get sourceSelectField() {
|
|
2842
|
+
return this.props;
|
|
2843
|
+
}
|
|
2844
|
+
get openSource() {
|
|
2845
|
+
return this.props.openSource;
|
|
2846
|
+
}
|
|
2847
|
+
get showOpenSourceButton() {
|
|
2848
|
+
return Boolean(this.openSource);
|
|
2849
|
+
}
|
|
2850
|
+
get loadSources() {
|
|
2851
|
+
return this.props.loadSources;
|
|
2852
|
+
}
|
|
2853
|
+
get valueReader() {
|
|
2854
|
+
return this.props.valueReader;
|
|
2855
|
+
}
|
|
2856
|
+
get metaLoader() {
|
|
2857
|
+
return this.props.metaLoader;
|
|
2858
|
+
}
|
|
2859
|
+
get displayForValue() {
|
|
2860
|
+
return this.props.displayForValue;
|
|
2861
|
+
}
|
|
2862
|
+
get selectButtonIcon() {
|
|
2863
|
+
return this.props.selectButtonIcon ?? 'add';
|
|
2864
|
+
}
|
|
2865
|
+
get multiple() {
|
|
2866
|
+
return this.props.multiple || false;
|
|
2867
|
+
}
|
|
2868
|
+
get refreshDisplayValues$() {
|
|
2869
|
+
return this.props.refreshDisplayValues$;
|
|
2870
|
+
}
|
|
2871
|
+
loadSourceSelectValueForValues(values) {
|
|
2872
|
+
return this.getSourceSelectValueForValues(values).pipe(map((sourceSelectValues) => successResult(sourceSelectValues)), startWithBeginLoading(), shareReplay(1));
|
|
2873
|
+
}
|
|
2874
|
+
getSourceSelectValueForValues(values) {
|
|
2875
|
+
const { valueReader } = this;
|
|
2876
|
+
return this._valueMetaHashMap.pipe(mergeMap((metaMap) => {
|
|
2877
|
+
const mappingResult = values.map((hash, i) => [i, hash, metaMap.get(hash)]);
|
|
2878
|
+
const {
|
|
2879
|
+
//
|
|
2880
|
+
included: hasMeta, excluded: needsMeta } = separateValues(mappingResult, (x) => Boolean(x[2]));
|
|
2881
|
+
let obs;
|
|
2882
|
+
if (needsMeta.length > 0) {
|
|
2883
|
+
// Go get the meta value.
|
|
2884
|
+
const metaValuesObs = this.metaLoader(needsMeta.map((x) => x[1]));
|
|
2885
|
+
obs = metaValuesObs.pipe(first(), map((metaResults) => {
|
|
2886
|
+
const metaResultsMapping = metaResults.map((meta) => ({ meta, value: valueReader(meta) }));
|
|
2887
|
+
const valueIndexHashMap = new Map(metaResultsMapping.map((x) => [x.value, x]));
|
|
2888
|
+
// Update metaMap. No need to push an update notification.
|
|
2889
|
+
metaResultsMapping.forEach((x) => metaMap.set(x.value, x));
|
|
2890
|
+
// Zip values back together.
|
|
2891
|
+
const newDisplayValues = mappingResult.map((x) => x[2] ?? valueIndexHashMap.get(x[1]));
|
|
2892
|
+
// Return display values.
|
|
2893
|
+
return newDisplayValues;
|
|
2894
|
+
}));
|
|
2895
|
+
}
|
|
2896
|
+
else {
|
|
2897
|
+
// If all display values are hashed return them
|
|
2898
|
+
obs = of(hasMeta.map((x) => x[2]));
|
|
2899
|
+
}
|
|
2900
|
+
return obs;
|
|
2901
|
+
}));
|
|
2902
|
+
}
|
|
2903
|
+
loadDisplayValuesForSelectValues(values) {
|
|
2904
|
+
return this.getDisplayValuesForSelectValues(values).pipe(map((displayValues) => successResult(displayValues)), startWithBeginLoading(), shareReplay(1));
|
|
2905
|
+
}
|
|
2906
|
+
getDisplayValuesForSelectValues(values) {
|
|
2907
|
+
return this._displayHashMap.pipe(mergeMap((metaMap) => {
|
|
2908
|
+
const mappingResult = values.map((x) => [x, x.value]).map(([x, hash], i) => [i, hash, x, metaMap.get(hash)]);
|
|
2909
|
+
const hasDisplay = mappingResult.filter((x) => Boolean(x[3]));
|
|
2910
|
+
const needsDisplay = mappingResult.filter((x) => !x[3]);
|
|
2911
|
+
let obs;
|
|
2912
|
+
if (needsDisplay.length > 0) {
|
|
2913
|
+
// Go get the display value.
|
|
2914
|
+
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
2915
|
+
obs = displayValuesObs.pipe(first(), map((displayResults) => {
|
|
2916
|
+
const displayResultsMapping = displayResults.map((x) => [x, x.value]);
|
|
2917
|
+
const valueIndexHashMap = new Map(displayResultsMapping.map(([x, hash]) => [hash, x]));
|
|
2918
|
+
// Update metaMap. No need to push an update notification.
|
|
2919
|
+
displayResultsMapping.forEach(([x, hash]) => metaMap.set(hash, x));
|
|
2920
|
+
// Zip values back together.
|
|
2921
|
+
const newDisplayValues = mappingResult.map((x) => x[3] ?? valueIndexHashMap.get(x[1]));
|
|
2922
|
+
// Return display values.
|
|
2923
|
+
return newDisplayValues;
|
|
2924
|
+
}));
|
|
2925
|
+
}
|
|
2926
|
+
else {
|
|
2927
|
+
// If all display values are hashed return that.
|
|
2928
|
+
obs = of(hasDisplay.map((x) => x[3]));
|
|
2929
|
+
}
|
|
2930
|
+
return obs;
|
|
2931
|
+
}));
|
|
2932
|
+
}
|
|
2933
|
+
ngOnInit() {
|
|
2934
|
+
const { loadSources } = this;
|
|
2935
|
+
this._loadSources.next(loadSources?.() || of([]));
|
|
2936
|
+
if (this.refreshDisplayValues$ != null) {
|
|
2937
|
+
this._clearDisplayHashMapSub.subscription = this.refreshDisplayValues$.subscribe(() => this._displayHashMap.next(new Map()));
|
|
2938
|
+
}
|
|
2939
|
+
this._formControlObs.next(this.formControl);
|
|
2940
|
+
// copy all values from the sources into the values hash map to prevent reloading
|
|
2941
|
+
this._cacheMetaSub.subscription = this.valueGroupsFromSourcesState$.subscribe((x) => {
|
|
2942
|
+
const hashMap = this._valueMetaHashMap.value;
|
|
2943
|
+
x.value.forEach((x) => x.values.forEach((y) => hashMap.set(y.value, y)));
|
|
2944
|
+
});
|
|
2945
|
+
}
|
|
2946
|
+
ngOnDestroy() {
|
|
2947
|
+
super.ngOnDestroy();
|
|
2948
|
+
this._valueMetaHashMap.complete();
|
|
2949
|
+
this._displayHashMap.complete();
|
|
2950
|
+
this._formControlObs.complete();
|
|
2951
|
+
this._fromOpenSource.complete();
|
|
2952
|
+
this._loadSources.complete();
|
|
2953
|
+
this.context.destroy();
|
|
2954
|
+
}
|
|
2955
|
+
addToOpenSourceMap(input) {
|
|
2956
|
+
const { valueReader } = this;
|
|
2957
|
+
const { values: meta, valuesSet: initialValues } = this._fromOpenSource.value;
|
|
2958
|
+
const newMetaFromInput = [];
|
|
2959
|
+
const valuesSet = new Set(initialValues);
|
|
2960
|
+
input.forEach((x) => {
|
|
2961
|
+
const value = valueReader(x);
|
|
2962
|
+
if (!valuesSet.has(value)) {
|
|
2963
|
+
newMetaFromInput.push({ meta: x, value });
|
|
2964
|
+
valuesSet.add(value);
|
|
2965
|
+
}
|
|
2966
|
+
});
|
|
2967
|
+
if (newMetaFromInput.length > 0) {
|
|
2968
|
+
this._fromOpenSource.next({
|
|
2969
|
+
values: [...meta, ...newMetaFromInput],
|
|
2970
|
+
valuesSet: valuesSet
|
|
2971
|
+
});
|
|
2972
|
+
}
|
|
2973
|
+
}
|
|
2974
|
+
addToCurrentValue(values) {
|
|
2975
|
+
const currentValue = asArray(this.formControl.value);
|
|
2976
|
+
const newValueArray = [...currentValue, ...values];
|
|
2977
|
+
const value = this.multiple ? values : lastValue(newValueArray); // pick last value, as the last value added is the newest value.
|
|
2978
|
+
this.formControl.setValue(value);
|
|
2979
|
+
this.formControl.markAsDirty();
|
|
2980
|
+
this.formControl.markAsTouched();
|
|
2981
|
+
}
|
|
2982
|
+
}
|
|
2983
|
+
DbxFormSourceSelectFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormSourceSelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2984
|
+
DbxFormSourceSelectFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFormSourceSelectFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-source-select-field\">\n <div class=\"dbx-source-select-field-content\">\n <mat-select class=\"dbx-source-select-field-select\" [id]=\"id\" [formControl]=\"formControl\" [multiple]=\"props.multiple\">\n <mat-option *ngFor=\"let value of nonGroupedValues$ | async\" [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n <mat-optgroup *ngFor=\"let optionGroup of groupedOptions$ | async\" [label]=\"optionGroup.label\">\n <mat-option *ngFor=\"let value of optionGroup.values\" [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n <ng-container *ngIf=\"showOpenSourceButton\">\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\" class=\"dbx-source-select-field-button\">\n <dbx-button dbxActionButton [iconOnly]=\"true\" [icon]=\"selectButtonIcon\"></dbx-button>\n </dbx-action>\n </ng-container>\n </div>\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n</div>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3$3.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { kind: "component", type: i4$1.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { kind: "component", type: i4$1.MatOptgroup, selector: "mat-optgroup", inputs: ["disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i2$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "context", "loading", "error"] }, { kind: "directive", type: i2.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: i2$1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i2$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "directive", type: i2.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2.DbxActionValueDirective, selector: "[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2985
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormSourceSelectFieldComponent, decorators: [{
|
|
2986
|
+
type: Component,
|
|
2987
|
+
args: [{ template: "<div class=\"dbx-source-select-field\">\n <div class=\"dbx-source-select-field-content\">\n <mat-select class=\"dbx-source-select-field-select\" [id]=\"id\" [formControl]=\"formControl\" [multiple]=\"props.multiple\">\n <mat-option *ngFor=\"let value of nonGroupedValues$ | async\" [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n <mat-optgroup *ngFor=\"let optionGroup of groupedOptions$ | async\" [label]=\"optionGroup.label\">\n <mat-option *ngFor=\"let value of optionGroup.values\" [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n </mat-optgroup>\n </mat-select>\n <ng-container *ngIf=\"showOpenSourceButton\">\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\" class=\"dbx-source-select-field-button\">\n <dbx-button dbxActionButton [iconOnly]=\"true\" [icon]=\"selectButtonIcon\"></dbx-button>\n </dbx-action>\n </ng-container>\n </div>\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n</div>\n" }]
|
|
2988
|
+
}] });
|
|
2989
|
+
|
|
2990
|
+
function sourceSelectField(config) {
|
|
2991
|
+
const { key, materialFormField } = config;
|
|
2992
|
+
return formlyField({
|
|
2993
|
+
key,
|
|
2994
|
+
type: 'sourceselectfield',
|
|
2995
|
+
...propsAndConfigForFieldConfig(config, {
|
|
2996
|
+
...materialFormField,
|
|
2997
|
+
...config,
|
|
2998
|
+
autocomplete: false
|
|
2999
|
+
})
|
|
3000
|
+
});
|
|
3001
|
+
}
|
|
3002
|
+
|
|
3003
|
+
class DbxFormFormlySourceSelectModule {
|
|
3004
|
+
}
|
|
3005
|
+
DbxFormFormlySourceSelectModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySourceSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3006
|
+
DbxFormFormlySourceSelectModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySourceSelectModule, declarations: [DbxFormSourceSelectFieldComponent], imports: [CommonModule,
|
|
3007
|
+
FormsModule,
|
|
3008
|
+
MatInputModule,
|
|
3009
|
+
MatDividerModule,
|
|
3010
|
+
MatFormFieldModule,
|
|
3011
|
+
MatSelectModule,
|
|
3012
|
+
MatButtonModule,
|
|
3013
|
+
MatDatepickerModule,
|
|
3014
|
+
MatNativeDateModule,
|
|
3015
|
+
MatMenuModule,
|
|
3016
|
+
ReactiveFormsModule,
|
|
3017
|
+
DbxDatePipeModule,
|
|
3018
|
+
DbxLoadingModule,
|
|
3019
|
+
DbxButtonModule,
|
|
3020
|
+
DbxActionModule,
|
|
3021
|
+
MatChipsModule,
|
|
3022
|
+
MatIconModule,
|
|
3023
|
+
FlexLayoutModule, i1$2.FormlyModule], exports: [DbxFormSourceSelectFieldComponent] });
|
|
3024
|
+
DbxFormFormlySourceSelectModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [CommonModule,
|
|
3025
|
+
FormsModule,
|
|
3026
|
+
MatInputModule,
|
|
3027
|
+
MatDividerModule,
|
|
3028
|
+
MatFormFieldModule,
|
|
3029
|
+
MatSelectModule,
|
|
3030
|
+
MatButtonModule,
|
|
3031
|
+
MatDatepickerModule,
|
|
3032
|
+
MatNativeDateModule,
|
|
3033
|
+
MatMenuModule,
|
|
3034
|
+
ReactiveFormsModule,
|
|
3035
|
+
DbxDatePipeModule,
|
|
3036
|
+
DbxLoadingModule,
|
|
3037
|
+
DbxButtonModule,
|
|
3038
|
+
DbxActionModule,
|
|
3039
|
+
MatChipsModule,
|
|
3040
|
+
MatIconModule,
|
|
3041
|
+
FlexLayoutModule,
|
|
3042
|
+
FormlyModule.forChild({
|
|
3043
|
+
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3044
|
+
})] });
|
|
3045
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySourceSelectModule, decorators: [{
|
|
3046
|
+
type: NgModule,
|
|
3047
|
+
args: [{
|
|
3048
|
+
imports: [
|
|
3049
|
+
CommonModule,
|
|
3050
|
+
FormsModule,
|
|
3051
|
+
MatInputModule,
|
|
3052
|
+
MatDividerModule,
|
|
3053
|
+
MatFormFieldModule,
|
|
3054
|
+
MatSelectModule,
|
|
3055
|
+
MatButtonModule,
|
|
3056
|
+
MatDatepickerModule,
|
|
3057
|
+
MatNativeDateModule,
|
|
3058
|
+
MatMenuModule,
|
|
3059
|
+
ReactiveFormsModule,
|
|
3060
|
+
DbxDatePipeModule,
|
|
3061
|
+
DbxLoadingModule,
|
|
3062
|
+
DbxButtonModule,
|
|
3063
|
+
DbxActionModule,
|
|
3064
|
+
MatChipsModule,
|
|
3065
|
+
MatIconModule,
|
|
3066
|
+
FlexLayoutModule,
|
|
3067
|
+
FormlyModule.forChild({
|
|
3068
|
+
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3069
|
+
})
|
|
3070
|
+
],
|
|
3071
|
+
declarations: [DbxFormSourceSelectFieldComponent],
|
|
3072
|
+
exports: [DbxFormSourceSelectFieldComponent]
|
|
3073
|
+
}]
|
|
3074
|
+
}] });
|
|
3075
|
+
|
|
2678
3076
|
function valueSelectionField(config) {
|
|
2679
|
-
const { key, native = false, addClearOption = false, selectAllOption: inputSelectAllOption, options: inputOptions } = config;
|
|
3077
|
+
const { key, native = false, addClearOption = false, selectAllOption: inputSelectAllOption, options: inputOptions, materialFormField } = config;
|
|
2680
3078
|
let selectAllOptionConfig;
|
|
2681
3079
|
if (inputSelectAllOption) {
|
|
2682
3080
|
selectAllOptionConfig = {
|
|
@@ -2688,6 +3086,7 @@ function valueSelectionField(config) {
|
|
|
2688
3086
|
key,
|
|
2689
3087
|
type: native ? 'native-select' : 'select',
|
|
2690
3088
|
...propsAndConfigForFieldConfig(config, {
|
|
3089
|
+
...materialFormField,
|
|
2691
3090
|
options,
|
|
2692
3091
|
multiple: config.multiple ?? false,
|
|
2693
3092
|
...selectAllOptionConfig
|
|
@@ -2709,14 +3108,14 @@ function addValueSelectionOptionFunction(label) {
|
|
|
2709
3108
|
class DbxFormFormlySelectionModule {
|
|
2710
3109
|
}
|
|
2711
3110
|
DbxFormFormlySelectionModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2712
|
-
DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
|
|
2713
|
-
DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule] });
|
|
3111
|
+
DbxFormFormlySelectionModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
3112
|
+
DbxFormFormlySelectionModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
2714
3113
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
|
|
2715
3114
|
type: NgModule,
|
|
2716
3115
|
args: [{
|
|
2717
3116
|
imports: [CommonModule],
|
|
2718
3117
|
declarations: [],
|
|
2719
|
-
exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule]
|
|
3118
|
+
exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule]
|
|
2720
3119
|
}]
|
|
2721
3120
|
}] });
|
|
2722
3121
|
|
|
@@ -2775,7 +3174,7 @@ DbxTextEditorFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.
|
|
|
2775
3174
|
</div>
|
|
2776
3175
|
<dbx-form-description *ngIf="description">{{ description }}</dbx-form-description>
|
|
2777
3176
|
</div>
|
|
2778
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLabelComponent, selector: "dbx-label" }, { kind: "component", type: i2$1.DbxFormDescriptionComponent, selector: "dbx-form-description" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4$
|
|
3177
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.DbxLabelComponent, selector: "dbx-label" }, { kind: "component", type: i2$1.DbxFormDescriptionComponent, selector: "dbx-form-description" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i3$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i3$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i4$5.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i4$5.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
2779
3178
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxTextEditorFieldComponent, decorators: [{
|
|
2780
3179
|
type: Component,
|
|
2781
3180
|
args: [{
|
|
@@ -2837,7 +3236,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
2837
3236
|
}] });
|
|
2838
3237
|
|
|
2839
3238
|
function textEditorField(config) {
|
|
2840
|
-
const { key, minLength, maxLength } = config;
|
|
3239
|
+
const { key, minLength, maxLength, materialFormField } = config;
|
|
2841
3240
|
const fieldConfig = formlyField({
|
|
2842
3241
|
key,
|
|
2843
3242
|
type: 'texteditor',
|
|
@@ -2848,6 +3247,7 @@ function textEditorField(config) {
|
|
|
2848
3247
|
updateOn: 'blur'
|
|
2849
3248
|
},
|
|
2850
3249
|
...propsAndConfigForFieldConfig(config, {
|
|
3250
|
+
...materialFormField,
|
|
2851
3251
|
minLength,
|
|
2852
3252
|
maxLength
|
|
2853
3253
|
})
|
|
@@ -3000,16 +3400,17 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
3000
3400
|
<div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
|
|
3001
3401
|
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; trackBy: trackByFunction; let i = index; let last = last">
|
|
3002
3402
|
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3003
|
-
<dbx-bar class="dbx-bar-fixed-height">
|
|
3004
|
-
<button *ngIf="!disableRearrange" cdkDragHandle mat-
|
|
3403
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3404
|
+
<button *ngIf="!disableRearrange" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3005
3405
|
<dbx-button-spacer></dbx-button-spacer>
|
|
3006
3406
|
<h4>
|
|
3007
3407
|
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3008
3408
|
<span>{{ labelForItem(field, i) }}</span>
|
|
3009
3409
|
</h4>
|
|
3010
3410
|
<span class="dbx-spacer"></span>
|
|
3011
|
-
<dbx-button *ngIf="allowDuplicate(i)" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3012
|
-
<dbx-button
|
|
3411
|
+
<dbx-button *ngIf="allowDuplicate(i)" [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3412
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3413
|
+
<dbx-button *ngIf="allowRemove(i)" color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3013
3414
|
</dbx-bar>
|
|
3014
3415
|
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3015
3416
|
</div>
|
|
@@ -3020,7 +3421,7 @@ DbxFormRepeatArrayTypeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
|
|
|
3020
3421
|
</div>
|
|
3021
3422
|
</dbx-subsection>
|
|
3022
3423
|
</div>
|
|
3023
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.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"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$
|
|
3424
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$1.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"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4$6.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"] }, { kind: "directive", type: i4$6.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i4$6.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i4$6.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "component", type: i2$1.DbxSubSectionComponent, selector: "dbx-subsection" }, { kind: "directive", type: i2$1.DbxBarDirective, selector: "dbx-bar,[dbxBar]", inputs: ["color"] }, { kind: "component", type: i2$1.DbxButtonComponent, selector: "dbx-button", inputs: ["type", "raised", "stroked", "flat", "iconOnly", "color", "customButtonColor", "customTextColor", "customSpinnerColor"] }, { kind: "directive", type: i2$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i1$2.FormlyField, selector: "formly-field", inputs: ["field"] }] });
|
|
3024
3425
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
|
|
3025
3426
|
type: Component,
|
|
3026
3427
|
args: [{
|
|
@@ -3031,16 +3432,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
3031
3432
|
<div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
|
|
3032
3433
|
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y" *ngFor="let field of field.fieldGroup; trackBy: trackByFunction; let i = index; let last = last">
|
|
3033
3434
|
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3034
|
-
<dbx-bar class="dbx-bar-fixed-height">
|
|
3035
|
-
<button *ngIf="!disableRearrange" cdkDragHandle mat-
|
|
3435
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3436
|
+
<button *ngIf="!disableRearrange" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3036
3437
|
<dbx-button-spacer></dbx-button-spacer>
|
|
3037
3438
|
<h4>
|
|
3038
3439
|
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3039
3440
|
<span>{{ labelForItem(field, i) }}</span>
|
|
3040
3441
|
</h4>
|
|
3041
3442
|
<span class="dbx-spacer"></span>
|
|
3042
|
-
<dbx-button *ngIf="allowDuplicate(i)" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3043
|
-
<dbx-button
|
|
3443
|
+
<dbx-button *ngIf="allowDuplicate(i)" [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3444
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3445
|
+
<dbx-button *ngIf="allowRemove(i)" color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3044
3446
|
</dbx-bar>
|
|
3045
3447
|
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3046
3448
|
</div>
|
|
@@ -3145,22 +3547,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
3145
3547
|
}] });
|
|
3146
3548
|
|
|
3147
3549
|
function toggleField(config) {
|
|
3148
|
-
const { key, defaultValue } = config;
|
|
3550
|
+
const { key, defaultValue, materialFormField } = config;
|
|
3149
3551
|
return formlyField({
|
|
3150
3552
|
key,
|
|
3151
3553
|
type: 'toggle',
|
|
3152
3554
|
wrappers: ['autotouch', 'form-field'],
|
|
3153
3555
|
defaultValue: defaultValue ?? false,
|
|
3154
|
-
...propsAndConfigForFieldConfig(config
|
|
3556
|
+
...propsAndConfigForFieldConfig(config, {
|
|
3557
|
+
appearance: 'standard',
|
|
3558
|
+
...materialFormField
|
|
3559
|
+
})
|
|
3155
3560
|
});
|
|
3156
3561
|
}
|
|
3157
3562
|
function checkboxField(config) {
|
|
3158
|
-
const { key, defaultValue } = config;
|
|
3563
|
+
const { key, defaultValue, materialFormField } = config;
|
|
3159
3564
|
return formlyField({
|
|
3160
3565
|
key,
|
|
3161
3566
|
type: 'checkbox',
|
|
3162
3567
|
defaultValue: defaultValue ?? false,
|
|
3163
|
-
...propsAndConfigForFieldConfig(config
|
|
3568
|
+
...propsAndConfigForFieldConfig(config, {
|
|
3569
|
+
appearance: 'standard',
|
|
3570
|
+
...materialFormField
|
|
3571
|
+
})
|
|
3164
3572
|
});
|
|
3165
3573
|
}
|
|
3166
3574
|
/*
|
|
@@ -3590,10 +3998,10 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
3590
3998
|
}
|
|
3591
3999
|
}
|
|
3592
4000
|
DbxDateTimeFieldComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxDateTimeFieldComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
3593
|
-
DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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\"
|
|
4001
|
+
DbxDateTimeFieldComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", 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 <!-- Additional spacing -->\n <dbx-button-spacer *ngIf=\"!dateOnly\"></dbx-button-spacer>\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 *ngIf=\"showAddTime$ | async\" class=\"add-time-button-wrapper\">\n <button mat-button class=\"dbx-button-spacer 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 *ngIf=\"!hideDateHint\" 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\">{{ allDayLabel }}</b>\n {{ displayValue$ | async | date: 'fullDate' }} ({{ displayValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">{{ atTimeLabel }}</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 class=\"dbx-button-spacer\" *ngIf=\"!hideDatePicker\" 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\" [ngClass]=\"{ 'dbx-datetime-row-field-full-width': hideDatePicker }\">\n <mat-label>{{ dateLabel }}</mat-label>\n <input #dateInput matInput [min]=\"dateInputMin$ | async\" [max]=\"dateInputMax$ | async\" [matDatepicker]=\"picker\" [matDatepickerFilter]=\"(pickerFilter$ | async) || defaultPickerFilter\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\" (keydown)=\"keydownOnDateInput($event)\" />\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 class=\"dbx-button-spacer\" 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>{{ timeLabel }}</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnTimeInput($event)\" />\n </mat-form-field>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i3$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]" }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "component", type: i3$4.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$4.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$3.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"] }, { kind: "component", type: i5$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i2$1.DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "component", type: i1$1.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"] }, { kind: "component", type: i8.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i8.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i9.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i9.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i9.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i3$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$2.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"] }, { kind: "directive", type: i3$2.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"] }, { kind: "directive", type: i3$2.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"] }, { kind: "directive", type: i2$3.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"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i2.TimeDistancePipe, name: "timeDistance" }, { kind: "pipe", type: i2.DateDistancePipe, name: "dateDistance" }] });
|
|
3594
4002
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
|
|
3595
4003
|
type: Component,
|
|
3596
|
-
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\"
|
|
4004
|
+
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 <!-- Additional spacing -->\n <dbx-button-spacer *ngIf=\"!dateOnly\"></dbx-button-spacer>\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 *ngIf=\"showAddTime$ | async\" class=\"add-time-button-wrapper\">\n <button mat-button class=\"dbx-button-spacer 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 *ngIf=\"!hideDateHint\" 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\">{{ allDayLabel }}</b>\n {{ displayValue$ | async | date: 'fullDate' }} ({{ displayValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"value$ | async\">\n <b class=\"dbx-ok\">{{ atTimeLabel }}</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 class=\"dbx-button-spacer\" *ngIf=\"!hideDatePicker\" 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\" [ngClass]=\"{ 'dbx-datetime-row-field-full-width': hideDatePicker }\">\n <mat-label>{{ dateLabel }}</mat-label>\n <input #dateInput matInput [min]=\"dateInputMin$ | async\" [max]=\"dateInputMax$ | async\" [matDatepicker]=\"picker\" [matDatepickerFilter]=\"(pickerFilter$ | async) || defaultPickerFilter\" (dateChange)=\"datePicked($event)\" [value]=\"dateValue$ | async\" (keydown)=\"keydownOnDateInput($event)\" />\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 class=\"dbx-button-spacer\" 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>{{ timeLabel }}</mat-label>\n <input #timeInput matInput [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnTimeInput($event)\" />\n </mat-form-field>\n</ng-template>\n" }]
|
|
3597
4005
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }]; } });
|
|
3598
4006
|
|
|
3599
4007
|
class DbxFormFormlyDateFieldModule {
|
|
@@ -3604,6 +4012,7 @@ DbxFormFormlyDateFieldModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.
|
|
|
3604
4012
|
MatInputModule,
|
|
3605
4013
|
MatDividerModule,
|
|
3606
4014
|
MatFormFieldModule,
|
|
4015
|
+
DbxButtonModule,
|
|
3607
4016
|
MatButtonModule,
|
|
3608
4017
|
MatDatepickerModule,
|
|
3609
4018
|
MatNativeDateModule,
|
|
@@ -3618,6 +4027,7 @@ DbxFormFormlyDateFieldModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.
|
|
|
3618
4027
|
MatInputModule,
|
|
3619
4028
|
MatDividerModule,
|
|
3620
4029
|
MatFormFieldModule,
|
|
4030
|
+
DbxButtonModule,
|
|
3621
4031
|
MatButtonModule,
|
|
3622
4032
|
MatDatepickerModule,
|
|
3623
4033
|
MatNativeDateModule,
|
|
@@ -3639,6 +4049,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
3639
4049
|
MatInputModule,
|
|
3640
4050
|
MatDividerModule,
|
|
3641
4051
|
MatFormFieldModule,
|
|
4052
|
+
DbxButtonModule,
|
|
3642
4053
|
MatButtonModule,
|
|
3643
4054
|
MatDatepickerModule,
|
|
3644
4055
|
MatNativeDateModule,
|
|
@@ -3672,11 +4083,13 @@ function timeOnlyField(config = {}) {
|
|
|
3672
4083
|
});
|
|
3673
4084
|
}
|
|
3674
4085
|
function dateTimeField(config = {}) {
|
|
3675
|
-
const { key = 'date', dateLabel, timeLabel, allDayLabel, atTimeLabel, timeMode = DbxDateTimeFieldTimeMode.REQUIRED, valueMode, fullDayInUTC, fullDayFieldName, getConfigObs, getSyncFieldsObs, hideDatePicker, hideDateHint, timeOnly = false } = config;
|
|
4086
|
+
const { key = 'date', dateLabel, timeLabel, allDayLabel, atTimeLabel, timeMode = DbxDateTimeFieldTimeMode.REQUIRED, valueMode, fullDayInUTC, fullDayFieldName, getConfigObs, getSyncFieldsObs, hideDatePicker, hideDateHint, timeOnly = false, materialFormField } = config;
|
|
3676
4087
|
const fieldConfig = formlyField({
|
|
3677
4088
|
key,
|
|
3678
4089
|
type: 'datetime',
|
|
3679
4090
|
...propsAndConfigForFieldConfig(config, {
|
|
4091
|
+
...materialFormField,
|
|
4092
|
+
appearance: 'standard',
|
|
3680
4093
|
dateLabel,
|
|
3681
4094
|
timeLabel,
|
|
3682
4095
|
allDayLabel,
|
|
@@ -3859,7 +4272,7 @@ function numberFieldTransformParser(config) {
|
|
|
3859
4272
|
return parsers;
|
|
3860
4273
|
}
|
|
3861
4274
|
function numberField(config) {
|
|
3862
|
-
const { key, min, max, step, enforceStep, inputType: type = 'number' } = config;
|
|
4275
|
+
const { key, min, max, step, enforceStep, inputType: type = 'number', materialFormField } = config;
|
|
3863
4276
|
const parsers = numberFieldTransformParser(config);
|
|
3864
4277
|
const validators = [];
|
|
3865
4278
|
if (step && enforceStep) {
|
|
@@ -3869,6 +4282,7 @@ function numberField(config) {
|
|
|
3869
4282
|
key,
|
|
3870
4283
|
type: 'input',
|
|
3871
4284
|
...propsAndConfigForFieldConfig(config, {
|
|
4285
|
+
...materialFormField,
|
|
3872
4286
|
type,
|
|
3873
4287
|
min,
|
|
3874
4288
|
max,
|
|
@@ -3978,12 +4392,13 @@ function textFieldTransformParser(config) {
|
|
|
3978
4392
|
return parsers;
|
|
3979
4393
|
}
|
|
3980
4394
|
function textField(config) {
|
|
3981
|
-
const { transform, key, pattern, minLength, maxLength, inputType: type = 'text' } = config;
|
|
4395
|
+
const { transform, key, pattern, minLength, maxLength, inputType: type = 'text', materialFormField } = config;
|
|
3982
4396
|
const parsers = textFieldTransformParser(config);
|
|
3983
4397
|
return formlyField({
|
|
3984
4398
|
key,
|
|
3985
4399
|
type: 'input',
|
|
3986
4400
|
...propsAndConfigForFieldConfig(config, {
|
|
4401
|
+
...materialFormField,
|
|
3987
4402
|
type,
|
|
3988
4403
|
minLength,
|
|
3989
4404
|
maxLength,
|
|
@@ -3993,12 +4408,13 @@ function textField(config) {
|
|
|
3993
4408
|
});
|
|
3994
4409
|
}
|
|
3995
4410
|
function textAreaField(config) {
|
|
3996
|
-
const { key, rows = 3, pattern, minLength, maxLength } = config;
|
|
4411
|
+
const { key, rows = 3, pattern, minLength, maxLength, materialFormField } = config;
|
|
3997
4412
|
const parsers = textFieldTransformParser(config);
|
|
3998
4413
|
return formlyField({
|
|
3999
4414
|
key,
|
|
4000
4415
|
type: 'textarea',
|
|
4001
4416
|
...propsAndConfigForFieldConfig(config, {
|
|
4417
|
+
...materialFormField,
|
|
4002
4418
|
rows,
|
|
4003
4419
|
minLength,
|
|
4004
4420
|
maxLength,
|
|
@@ -4009,11 +4425,12 @@ function textAreaField(config) {
|
|
|
4009
4425
|
}
|
|
4010
4426
|
|
|
4011
4427
|
function phoneField(config = {}) {
|
|
4012
|
-
const { key = 'phone', preferredCountries, onlyCountries } = config;
|
|
4428
|
+
const { key = 'phone', label = 'Phone Number', preferredCountries, onlyCountries } = config;
|
|
4013
4429
|
const fieldConfig = formlyField({
|
|
4014
4430
|
key,
|
|
4015
4431
|
type: 'intphone',
|
|
4016
4432
|
...propsAndConfigForFieldConfig(config, {
|
|
4433
|
+
label,
|
|
4017
4434
|
preferredCountries,
|
|
4018
4435
|
onlyCountries
|
|
4019
4436
|
})
|
|
@@ -4962,5 +5379,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
4962
5379
|
* Generated bundle index. Do not edit.
|
|
4963
5380
|
*/
|
|
4964
5381
|
|
|
4965
|
-
export { APP_ACTION_FORM_DISABLED_KEY, AUTO_TOUCH_WRAPPER_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_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_PREFERRED_COUNTRIES, DISPLAY_FOR_TIMEZONE_STRING_VALUE, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSearchFormComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxItemListFieldComponent, 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, IS_DIVISIBLE_BY_VALIDATION_KEY, 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, addValueSelectionOptionFunction, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressLineField, addressListField, autoTouchWrapper, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateRangeField, dateTimeField, dbxDateTimeInputValueParseFactory, dbxDateTimeOutputValueFactory, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, dbxListField, defaultValidationMessages, disableFormlyFieldAutofillAttributes, dollarAmountField, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPartialPotentialFieldConfigValuesFromObject, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, isDivisibleBy, isDomain, isInRange, isTruthy, latLngTextField, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, mergePropsValueObjects, minLengthValidationMessage, minValidationMessage, nameField, numberField, numberFieldTransformParser, partialPotentialFieldConfigKeys, partialPotentialFieldConfigKeysFilter, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, propsAndConfigForFieldConfig, propsForFieldConfig, propsValueForFieldConfig, provideDbxForm, provideDbxMutableForm, provideFormlyContext, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, sortPickableItemsByLabelStringFunction, stateField, styleWrapper, subsectionWrapper, syncConfigValueObs, textAreaField, textEditorField, textField, textFieldTransformParser, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, timezoneStringField, timezoneStringSearchFunction, toggleField, toggleWrapper, usernamePasswordLoginFields, validatorsForFieldConfig, valueSelectionField, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
|
|
5382
|
+
export { APP_ACTION_FORM_DISABLED_KEY, AUTO_TOUCH_WRAPPER_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_LAT_LNG_TEXT_FIELD_PATTERN_MESSAGE, DEFAULT_LAT_LNG_TEXT_FIELD_PLACEHOLDER, DEFAULT_PREFERRED_COUNTRIES, DISPLAY_FOR_TIMEZONE_STRING_VALUE, DbxActionFormDirective, DbxActionFormSafetyDirective, DbxChecklistItemContentComponent, DbxChecklistItemFieldComponent, DbxDateTimeFieldComponent, DbxDateTimeFieldTimeMode, DbxDateTimeValueMode, DbxDefaultChecklistItemFieldDisplayComponent, DbxDefaultSearchableFieldDisplayComponent, DbxForm, DbxFormActionModule, DbxFormActionTransitionModule, DbxFormComponentFieldComponent, DbxFormExpandWrapperComponent, DbxFormExtensionModule, DbxFormFlexWrapperComponent, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySelectionModule, DbxFormFormlySourceSelectModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyTextFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule, DbxFormInfoWrapperComponent, DbxFormIoModule, DbxFormLayoutModule, DbxFormLoadingSourceDirective, DbxFormModule, DbxFormRepeatArrayTypeComponent, DbxFormSearchFormComponent, DbxFormSectionWrapperComponent, DbxFormSourceDirective, DbxFormSourceSelectFieldComponent, DbxFormSpacerComponent, DbxFormState, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponent, DbxFormlyModule, DbxItemListFieldComponent, 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, IS_DIVISIBLE_BY_VALIDATION_KEY, 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, addValueSelectionOptionFunction, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressLineField, addressListField, autoTouchWrapper, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateRangeField, dateTimeField, dbxDateTimeInputValueParseFactory, dbxDateTimeOutputValueFactory, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, dbxListField, defaultValidationMessages, disableFormlyFieldAutofillAttributes, dollarAmountField, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPartialPotentialFieldConfigValuesFromObject, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, isDivisibleBy, isDomain, isInRange, isTruthy, latLngTextField, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, mergePropsValueObjects, minLengthValidationMessage, minValidationMessage, nameField, numberField, numberFieldTransformParser, partialPotentialFieldConfigKeys, partialPotentialFieldConfigKeysFilter, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, propsAndConfigForFieldConfig, propsForFieldConfig, propsValueForFieldConfig, provideDbxForm, provideDbxMutableForm, provideFormlyContext, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, sortPickableItemsByLabelStringFunction, sourceSelectField, stateField, styleWrapper, subsectionWrapper, syncConfigValueObs, textAreaField, textEditorField, textField, textFieldTransformParser, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, timezoneStringField, timezoneStringSearchFunction, toggleField, toggleWrapper, usernamePasswordLoginFields, validatorsForFieldConfig, valueSelectionField, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
|
|
4966
5383
|
//# sourceMappingURL=dereekb-dbx-form.mjs.map
|