@dereekb/dbx-form 11.1.8 → 12.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/lib/calendar.module.d.ts +1 -14
- package/calendar/lib/calendar.schedule.selection.cell.component.d.ts +8 -5
- package/calendar/lib/calendar.schedule.selection.component.d.ts +13 -10
- package/calendar/lib/calendar.schedule.selection.d.ts +6 -6
- package/calendar/lib/calendar.schedule.selection.days.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.days.form.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.dialog.button.component.d.ts +4 -4
- package/calendar/lib/calendar.schedule.selection.dialog.component.d.ts +5 -5
- package/calendar/lib/calendar.schedule.selection.popover.button.component.d.ts +4 -2
- package/calendar/lib/calendar.schedule.selection.popover.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.popover.content.component.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.range.component.d.ts +19 -17
- package/calendar/lib/calendar.schedule.selection.store.d.ts +2 -2
- package/calendar/lib/calendar.schedule.selection.store.provide.d.ts +1 -1
- package/calendar/lib/calendar.schedule.selection.toggle.button.component.d.ts +8 -12
- package/calendar/lib/field/schedule/calendar.schedule.field.component.d.ts +22 -22
- package/calendar/lib/field/schedule/calendar.schedule.module.d.ts +2 -10
- package/esm2022/calendar/lib/calendar.module.mjs +19 -101
- package/esm2022/calendar/lib/calendar.schedule.selection.cell.component.mjs +27 -28
- package/esm2022/calendar/lib/calendar.schedule.selection.component.mjs +38 -55
- package/esm2022/calendar/lib/calendar.schedule.selection.days.component.mjs +17 -13
- package/esm2022/calendar/lib/calendar.schedule.selection.days.form.component.mjs +11 -12
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.button.component.mjs +18 -21
- package/esm2022/calendar/lib/calendar.schedule.selection.dialog.component.mjs +12 -9
- package/esm2022/calendar/lib/calendar.schedule.selection.mjs +3 -2
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.button.component.mjs +22 -18
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.component.mjs +12 -9
- package/esm2022/calendar/lib/calendar.schedule.selection.popover.content.component.mjs +13 -10
- package/esm2022/calendar/lib/calendar.schedule.selection.range.component.mjs +52 -70
- package/esm2022/calendar/lib/calendar.schedule.selection.store.mjs +5 -5
- package/esm2022/calendar/lib/calendar.schedule.selection.store.provide.mjs +9 -8
- package/esm2022/calendar/lib/calendar.schedule.selection.toggle.button.component.mjs +48 -50
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.field.component.mjs +17 -14
- package/esm2022/calendar/lib/field/schedule/calendar.schedule.module.mjs +8 -40
- package/esm2022/lib/form/action/form.action.directive.mjs +58 -55
- package/esm2022/lib/form/action/form.action.module.mjs +9 -9
- package/esm2022/lib/form/action/transition/form.action.transition.module.mjs +9 -8
- package/esm2022/lib/form/action/transition/form.action.transition.safety.directive.mjs +10 -11
- package/esm2022/lib/form/form.mjs +1 -1
- package/esm2022/lib/form/form.module.mjs +4 -4
- package/esm2022/lib/form/io/form.changes.directive.mjs +11 -16
- package/esm2022/lib/form/io/form.input.directive.mjs +24 -38
- package/esm2022/lib/form/io/form.io.module.mjs +15 -9
- package/esm2022/lib/form/io/form.loading.directive.mjs +22 -42
- package/esm2022/lib/form.module.mjs +4 -4
- package/esm2022/lib/form.providers.mjs +32 -0
- package/esm2022/lib/formly/field/checklist/checklist.field.mjs +5 -5
- package/esm2022/lib/formly/field/checklist/checklist.item.field.component.mjs +51 -47
- package/esm2022/lib/formly/field/checklist/checklist.item.field.content.default.component.mjs +41 -29
- package/esm2022/lib/formly/field/checklist/checklist.item.field.mjs +3 -3
- package/esm2022/lib/formly/field/checklist/checklist.item.field.module.mjs +8 -45
- package/esm2022/lib/formly/field/checklist/checklist.item.mjs +1 -1
- package/esm2022/lib/formly/field/component/component.field.component.mjs +11 -8
- package/esm2022/lib/formly/field/component/component.field.module.mjs +8 -14
- package/esm2022/lib/formly/field/field.mjs +1 -1
- package/esm2022/lib/formly/field/form.field.module.mjs +4 -4
- package/esm2022/lib/formly/field/selection/list/list.field.component.mjs +17 -14
- package/esm2022/lib/formly/field/selection/list/list.field.module.mjs +8 -58
- package/esm2022/lib/formly/field/selection/pickable/pickable.chip.field.component.mjs +17 -13
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.directive.mjs +16 -16
- package/esm2022/lib/formly/field/selection/pickable/pickable.field.module.mjs +8 -68
- package/esm2022/lib/formly/field/selection/pickable/pickable.list.field.component.mjs +71 -54
- package/esm2022/lib/formly/field/selection/pickable/pickable.util.mjs +2 -2
- package/esm2022/lib/formly/field/selection/searchable/searchable.chip.field.component.mjs +21 -16
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.mjs +51 -49
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.directive.mjs +35 -27
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.mjs +1 -1
- package/esm2022/lib/formly/field/selection/searchable/searchable.field.module.mjs +8 -65
- package/esm2022/lib/formly/field/selection/searchable/searchable.mjs +1 -1
- package/esm2022/lib/formly/field/selection/searchable/searchable.text.field.component.mjs +48 -30
- package/esm2022/lib/formly/field/selection/searchable/text.chip.field.mjs +2 -2
- package/esm2022/lib/formly/field/selection/selection.field.mjs +1 -1
- package/esm2022/lib/formly/field/selection/selection.mjs +1 -1
- package/esm2022/lib/formly/field/selection/selection.module.mjs +4 -4
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.component.mjs +20 -21
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.field.module.mjs +6 -73
- package/esm2022/lib/formly/field/selection/sourceselect/sourceselect.mjs +1 -1
- package/esm2022/lib/formly/field/texteditor/texteditor.field.component.mjs +37 -22
- package/esm2022/lib/formly/field/texteditor/texteditor.field.mjs +2 -2
- package/esm2022/lib/formly/field/texteditor/texteditor.field.module.mjs +8 -33
- package/esm2022/lib/formly/field/value/array/array.field.component.mjs +72 -50
- package/esm2022/lib/formly/field/value/array/array.field.module.mjs +8 -44
- package/esm2022/lib/formly/field/value/boolean/boolean.field.mjs +2 -2
- package/esm2022/lib/formly/field/value/boolean/boolean.field.module.mjs +4 -4
- package/esm2022/lib/formly/field/value/date/date.field.module.mjs +5 -9
- package/esm2022/lib/formly/field/value/date/date.value.mjs +1 -1
- package/esm2022/lib/formly/field/value/date/datetime.field.component.mjs +8 -8
- package/esm2022/lib/formly/field/value/date/datetime.field.service.mjs +4 -4
- package/esm2022/lib/formly/field/value/date/datetime.mjs +1 -1
- package/esm2022/lib/formly/field/value/date/fixeddaterange.field.component.mjs +8 -8
- package/esm2022/lib/formly/field/value/number/number.field.mjs +1 -1
- package/esm2022/lib/formly/field/value/number/number.field.module.mjs +4 -4
- package/esm2022/lib/formly/field/value/phone/phone.field.component.mjs +4 -4
- package/esm2022/lib/formly/field/value/phone/phone.field.module.mjs +4 -4
- package/esm2022/lib/formly/field/value/text/text.address.field.mjs +1 -1
- package/esm2022/lib/formly/field/value/text/text.field.mjs +1 -1
- package/esm2022/lib/formly/field/value/text/text.field.module.mjs +4 -4
- package/esm2022/lib/formly/field/value/value.module.mjs +4 -4
- package/esm2022/lib/formly/field/wrapper/autotouch.wrapper.component.mjs +9 -7
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.component.mjs +19 -24
- package/esm2022/lib/formly/field/wrapper/expand.wrapper.delegate.mjs +7 -4
- package/esm2022/lib/formly/field/wrapper/flex.wrapper.component.mjs +11 -8
- package/esm2022/lib/formly/field/wrapper/form.wrapper.module.mjs +8 -39
- package/esm2022/lib/formly/field/wrapper/index.mjs +2 -1
- package/esm2022/lib/formly/field/wrapper/info.wrapper.component.mjs +19 -16
- package/esm2022/lib/formly/field/wrapper/section.wrapper.component.mjs +11 -7
- package/esm2022/lib/formly/field/wrapper/style.wrapper.component.mjs +16 -11
- package/esm2022/lib/formly/field/wrapper/subsection.wrapper.component.mjs +11 -8
- package/esm2022/lib/formly/field/wrapper/toggle.wrapper.component.mjs +21 -17
- package/esm2022/lib/formly/field/wrapper/working.wrapper.component.mjs +11 -8
- package/esm2022/lib/formly/field/wrapper/wrapper.mjs +1 -1
- package/esm2022/lib/formly/form/form.form.module.mjs +4 -4
- package/esm2022/lib/formly/form/search.form.component.mjs +4 -4
- package/esm2022/lib/formly/formly.component.template.mjs +29 -0
- package/esm2022/lib/formly/formly.context.directive.mjs +6 -5
- package/esm2022/lib/formly/formly.context.mjs +12 -8
- package/esm2022/lib/formly/formly.directive.mjs +29 -44
- package/esm2022/lib/formly/formly.form.component.mjs +24 -18
- package/esm2022/lib/formly/formly.module.mjs +10 -14
- package/esm2022/lib/formly/index.mjs +2 -1
- package/esm2022/lib/formly/template/login.mjs +1 -1
- package/esm2022/lib/formly/template/timezone.mjs +1 -1
- package/esm2022/lib/index.mjs +2 -1
- package/esm2022/lib/layout/form.layout.module.mjs +4 -4
- package/esm2022/lib/layout/form.spacer.component.mjs +3 -3
- package/esm2022/lib/validator/available.mjs +1 -1
- package/esm2022/lib/validator/boolean.mjs +1 -1
- package/esm2022/lib/validator/field.mjs +2 -2
- package/esm2022/lib/validator/number.mjs +1 -1
- package/esm2022/lib/validator/phone.mjs +1 -1
- package/esm2022/mapbox/lib/field/latlng/latlng.field.component.mjs +65 -47
- package/esm2022/mapbox/lib/field/latlng/latlng.field.marker.component.mjs +13 -10
- package/esm2022/mapbox/lib/field/latlng/latlng.module.mjs +10 -43
- package/esm2022/mapbox/lib/field/zoom/zoom.field.component.mjs +32 -26
- package/esm2022/mapbox/lib/field/zoom/zoom.module.mjs +8 -36
- package/esm2022/mapbox/lib/mapbox.module.mjs +4 -4
- package/fesm2022/dereekb-dbx-form-calendar.mjs +340 -457
- package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form-mapbox.mjs +114 -141
- package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form.mjs +931 -1106
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
- package/lib/extension/calendar/_calendar.scss +3 -3
- package/lib/form/_form.scss +3 -3
- package/lib/form/action/form.action.directive.d.ts +35 -16
- package/lib/form/action/form.action.module.d.ts +4 -3
- package/lib/form/action/transition/form.action.transition.module.d.ts +4 -2
- package/lib/form/action/transition/form.action.transition.safety.directive.d.ts +3 -2
- package/lib/form/io/form.changes.directive.d.ts +3 -4
- package/lib/form/io/form.input.directive.d.ts +7 -10
- package/lib/form/io/form.io.module.d.ts +8 -2
- package/lib/form/io/form.loading.directive.d.ts +10 -11
- package/lib/form.providers.d.ts +8 -0
- package/lib/formly/_formly.scss +3 -3
- package/lib/formly/field/checklist/_checklist.scss +3 -3
- package/lib/formly/field/checklist/checklist.field.d.ts +7 -7
- package/lib/formly/field/checklist/checklist.item.d.ts +7 -9
- package/lib/formly/field/checklist/checklist.item.field.component.d.ts +19 -18
- package/lib/formly/field/checklist/checklist.item.field.content.default.component.d.ts +5 -5
- package/lib/formly/field/checklist/checklist.item.field.d.ts +1 -1
- package/lib/formly/field/checklist/checklist.item.field.module.d.ts +3 -11
- package/lib/formly/field/component/_component.scss +3 -3
- package/lib/formly/field/component/component.field.component.d.ts +1 -1
- package/lib/formly/field/component/component.field.module.d.ts +2 -4
- package/lib/formly/field/field.d.ts +8 -5
- package/lib/formly/field/selection/list/_list.scss +3 -3
- package/lib/formly/field/selection/list/list.field.component.d.ts +7 -5
- package/lib/formly/field/selection/list/list.field.module.d.ts +2 -12
- package/lib/formly/field/selection/pickable/_pickable.scss +3 -3
- package/lib/formly/field/selection/pickable/pickable.chip.field.component.d.ts +1 -1
- package/lib/formly/field/selection/pickable/pickable.field.directive.d.ts +25 -23
- package/lib/formly/field/selection/pickable/pickable.field.module.d.ts +2 -13
- package/lib/formly/field/selection/pickable/pickable.list.field.component.d.ts +15 -14
- package/lib/formly/field/selection/searchable/_searchable.scss +3 -3
- package/lib/formly/field/selection/searchable/searchable.chip.field.component.d.ts +4 -4
- package/lib/formly/field/selection/searchable/searchable.d.ts +3 -3
- package/lib/formly/field/selection/searchable/searchable.field.autocomplete.item.component.d.ts +8 -12
- package/lib/formly/field/selection/searchable/searchable.field.directive.d.ts +30 -25
- package/lib/formly/field/selection/searchable/searchable.field.module.d.ts +2 -13
- package/lib/formly/field/selection/searchable/searchable.text.field.component.d.ts +6 -8
- package/lib/formly/field/selection/selection.d.ts +5 -5
- package/lib/formly/field/selection/sourceselect/_sourceselect.scss +3 -3
- package/lib/formly/field/selection/sourceselect/sourceselect.d.ts +1 -1
- package/lib/formly/field/selection/sourceselect/sourceselect.field.component.d.ts +5 -3
- package/lib/formly/field/selection/sourceselect/sourceselect.field.module.d.ts +2 -17
- package/lib/formly/field/texteditor/_texteditor.scss +9 -9
- package/lib/formly/field/texteditor/texteditor.field.component.d.ts +5 -4
- package/lib/formly/field/texteditor/texteditor.field.module.d.ts +2 -8
- package/lib/formly/field/value/array/_array.scss +5 -5
- package/lib/formly/field/value/array/array.field.component.d.ts +16 -18
- package/lib/formly/field/value/array/array.field.d.ts +8 -5
- package/lib/formly/field/value/array/array.field.module.d.ts +2 -10
- package/lib/formly/field/value/boolean/_boolean.scss +3 -3
- package/lib/formly/field/value/date/_date.scss +5 -5
- package/lib/formly/field/value/date/date.field.module.d.ts +8 -9
- package/lib/formly/field/value/date/datetime.field.service.d.ts +1 -1
- package/lib/formly/field/value/date/fixeddaterange.field.component.d.ts +13 -13
- package/lib/formly/field/value/number/_number.scss +2 -2
- package/lib/formly/field/value/phone/_phone.scss +6 -6
- package/lib/formly/field/value/phone/phone.field.component.d.ts +6 -5
- package/lib/formly/field/value/text/_text.scss +3 -3
- package/lib/formly/field/wrapper/_wrapper.scss +3 -3
- package/lib/formly/field/wrapper/autotouch.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/expand.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/expand.wrapper.delegate.d.ts +2 -0
- package/lib/formly/field/wrapper/flex.wrapper.component.d.ts +4 -4
- package/lib/formly/field/wrapper/form.wrapper.module.d.ts +2 -8
- package/lib/formly/field/wrapper/index.d.ts +1 -0
- package/lib/formly/field/wrapper/info.wrapper.component.d.ts +2 -2
- package/lib/formly/field/wrapper/section.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/style.wrapper.component.d.ts +5 -3
- package/lib/formly/field/wrapper/subsection.wrapper.component.d.ts +1 -1
- package/lib/formly/field/wrapper/toggle.wrapper.component.d.ts +2 -1
- package/lib/formly/field/wrapper/working.wrapper.component.d.ts +2 -2
- package/lib/formly/form/_form.scss +3 -3
- package/lib/formly/formly.component.template.d.ts +19 -0
- package/lib/formly/formly.context.d.ts +11 -7
- package/lib/formly/formly.context.directive.d.ts +2 -2
- package/lib/formly/formly.directive.d.ts +10 -10
- package/lib/formly/formly.form.component.d.ts +18 -13
- package/lib/formly/formly.module.d.ts +1 -1
- package/lib/formly/index.d.ts +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/layout/_layout.scss +3 -3
- package/lib/style/_all-typography.scss +1 -1
- package/lib/style/_theming.scss +1 -1
- package/mapbox/lib/field/latlng/latlng.field.component.d.ts +25 -23
- package/mapbox/lib/field/latlng/latlng.field.marker.component.d.ts +2 -1
- package/mapbox/lib/field/latlng/latlng.module.d.ts +2 -11
- package/mapbox/lib/field/zoom/zoom.field.component.d.ts +13 -13
- package/mapbox/lib/field/zoom/zoom.module.d.ts +3 -10
- package/package.json +12 -11
- package/mapbox/esm2022/dereekb-dbx-form-mapbox.mjs +0 -5
- package/mapbox/esm2022/index.mjs +0 -3
- package/mapbox/esm2022/lib/field/index.mjs +0 -3
- package/mapbox/esm2022/lib/field/latlng/index.mjs +0 -5
- package/mapbox/esm2022/lib/field/latlng/latlng.field.component.mjs +0 -244
- package/mapbox/esm2022/lib/field/latlng/latlng.field.marker.component.mjs +0 -31
- package/mapbox/esm2022/lib/field/latlng/latlng.field.mjs +0 -35
- package/mapbox/esm2022/lib/field/latlng/latlng.module.mjs +0 -59
- package/mapbox/esm2022/lib/field/zoom/index.mjs +0 -4
- package/mapbox/esm2022/lib/field/zoom/zoom.field.component.mjs +0 -140
- package/mapbox/esm2022/lib/field/zoom/zoom.field.mjs +0 -23
- package/mapbox/esm2022/lib/field/zoom/zoom.module.mjs +0 -57
- package/mapbox/esm2022/lib/mapbox.module.mjs +0 -16
- package/mapbox/fesm2022/dereekb-dbx-form-mapbox.mjs +0 -566
- package/mapbox/fesm2022/dereekb-dbx-form-mapbox.mjs.map +0 -1
- package/mapbox/package.json +0 -21
|
@@ -1,64 +1,63 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { forwardRef, inject, Directive,
|
|
3
|
-
import * as i1 from '@
|
|
4
|
-
import {
|
|
5
|
-
import * as i5 from '@dereekb/dbx-web';
|
|
6
|
-
import { DbxActionTransitionSafetyDirective, DbxTextModule, DbxLoadingModule, DbxFlexLayoutModule, DbxSectionLayoutModule, DbxRouterAnchorModule, dbxValueListItemDecisionFunction, DbxButtonModule, DbxListLayoutModule, AbstractDbxSelectionListWrapperDirective, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, AbstractDbxValueListViewItemComponent, DbxActionModule, CompactContextStore, mapCompactModeObs, DbxBarLayoutModule } from '@dereekb/dbx-web';
|
|
2
|
+
import { forwardRef, inject, input, Directive, effect, NgModule, output, signal, Component, ChangeDetectionStrategy, viewChild, InjectionToken, computed, ElementRef, Injectable, ChangeDetectorRef, ViewChild, EventEmitter, Output, Input, makeEnvironmentProviders } from '@angular/core';
|
|
3
|
+
import * as i1$1 from '@dereekb/dbx-web';
|
|
4
|
+
import { DbxActionTransitionSafetyDirective, DbxAnchorComponent, DbxSectionLayoutModule, DbxFlexGroupDirective, DbxSubSectionComponent, DbxLoadingComponent, dbxValueListItemDecisionFunction, DbxListModifierModule, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DbxListWrapperComponentImportsModule, DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE, AbstractDbxSelectionListViewDirective, addConfigToValueListItems, provideDbxListView, DbxSelectionValueListViewContentComponent, AbstractDbxValueListViewItemComponent, DbxLoadingModule, DbxButtonComponent, DbxButtonSpacerDirective, DbxActionModule, CompactContextStore, mapCompactModeObs, DbxBarDirective, DbxButtonModule } from '@dereekb/dbx-web';
|
|
7
5
|
import { isPast, addSeconds, startOfDay, addMinutes, addDays, isBefore } from 'date-fns';
|
|
8
|
-
import {
|
|
9
|
-
import * as
|
|
10
|
-
import { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective,
|
|
11
|
-
import { LockSet, SubscriptionObject, asObservable, cleanup, errorOnEmissionsInPeriod,
|
|
12
|
-
import {
|
|
13
|
-
import * as i1$1 from '@ngx-formly/core';
|
|
14
|
-
import { FieldType, FieldWrapper, FormlyModule, FieldArrayType } from '@ngx-formly/core';
|
|
6
|
+
import { map, of, shareReplay, switchMap, first, exhaustMap, catchError, delay, filter, combineLatest, distinctUntilChanged, Subject, tap, takeUntil, EMPTY, throttleTime, mergeMap, startWith, BehaviorSubject, debounceTime, scan, skip, combineLatestWith, interval, merge, timer } from 'rxjs';
|
|
7
|
+
import * as i2$3 from '@dereekb/dbx-core';
|
|
8
|
+
import { DbxActionContextStoreSourceInstance, AbstractSubscriptionDirective, DbxInjectionComponent, mergeDbxInjectionComponentConfigs, DbxDatePipeModule, DbxValuePipeModule } from '@dereekb/dbx-core';
|
|
9
|
+
import { LockSet, makeIsModifiedFunctionObservable, SubscriptionObject, asObservable, cleanup, errorOnEmissionsInPeriod, maybeValueFromObservableOrValue, filterMaybe, valueFromFinishedLoadingState, switchMapFilterMaybe, switchMapMaybeDefault, SimpleLoadingContext, distinctUntilHasDifferentValues, startWithBeginLoading, mapLoadingStateResults, successResult, listLoadingStateContext, mapIsListLoadingStateWithEmptyValue, loadingStateContext, isLoadingStateInLoadingState, isLoadingStateWithDefinedValue, isLoadingStateLoading, beginLoading, mapLoadingStateValueWithOperator, skipFirstMaybe, asObservableFromGetter, asyncPusherCache, scanCount } from '@dereekb/rxjs';
|
|
10
|
+
import { toObservable, toSignal } from '@angular/core/rxjs-interop';
|
|
15
11
|
import * as i2 from '@angular/forms';
|
|
16
|
-
import {
|
|
17
|
-
import * as
|
|
18
|
-
import {
|
|
19
|
-
import * as
|
|
12
|
+
import { ReactiveFormsModule, FormControl, FormsModule, Validators, FormGroup } from '@angular/forms';
|
|
13
|
+
import * as i1$2 from '@ngx-formly/core';
|
|
14
|
+
import { FieldType, FieldWrapper, FormlyModule, FieldArrayType, FormlyForm } from '@ngx-formly/core';
|
|
15
|
+
import * as i1$5 from '@angular/common';
|
|
16
|
+
import { NgIf, AsyncPipe, NgClass, NgStyle, NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
17
|
+
import * as i2$1 from '@angular/material/checkbox';
|
|
20
18
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
21
|
-
import * as
|
|
19
|
+
import * as i3 from '@angular/material/core';
|
|
20
|
+
import { MatRippleModule, MatOptionModule, DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
21
|
+
import * as i1 from '@angular/material/icon';
|
|
22
22
|
import { MatIconModule } from '@angular/material/icon';
|
|
23
|
-
import * as i6
|
|
24
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
25
|
-
import * as i10 from '@ngbracket/ngx-layout/flex';
|
|
26
|
-
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
23
|
+
import * as i6 from '@angular/material/button';
|
|
24
|
+
import { MatIconButton, MatButtonModule } from '@angular/material/button';
|
|
27
25
|
import { objectIsEmpty, mergeObjectsFunction, filterFromPOJOFunction, mergeObjects, filterFromPOJO, asArray, objectHasNoKeys, addPlusPrefixToNumber, convertMaybeToArray, isSelectedDecisionFunctionFactory, readKeysFrom, hasDifferentValues, makeValuesGroupMap, separateValues, filterUniqueValues, searchStringFilterFunction, caseInsensitiveFilterByIndexOfDecisionFactory, sortByStringFunction, mergeArraysIntoArray, lastValue, arrayToMap, setContainsAllValues, addToSetCopy, setsAreEquivalent, filterMaybeArrayValues, mergeArrays, firstValue, cachedGetter, makeGetter, asDecisionFunction, getValueFromGetter, asGetter, dateFromMinuteOfDay, dateToMinuteOfDay, isISO8601DayStringStart, mapIdentityFunction, MS_IN_MINUTE, isMonthDaySlashDate, HAS_WEBSITE_DOMAIN_NAME_REGEX, KeyValueTypleValueFilter, valuesFromPOJO, allObjectsAreEqual, isNumberDivisibleBy, nearestDivisibleValues, isE164PhoneNumber as isE164PhoneNumber$1, isValidPhoneExtensionNumber, e164PhoneNumberExtensionPair, mapMaybeFunction, transformNumberFunction, concatArrays, DOLLAR_AMOUNT_PRECISION, e164PhoneNumberFromE164PhoneNumberExtensionPair, transformStringFunction, US_STATE_CODE_STRING_REGEX, ZIP_CODE_STRING_REGEX, LAT_LNG_PATTERN, BooleanStringKeyArrayUtility, iterablesAreSetEquivalent, capitalizeFirstLetter } from '@dereekb/util';
|
|
28
|
-
import
|
|
29
|
-
import
|
|
30
|
-
import
|
|
31
|
-
import * as
|
|
32
|
-
import {
|
|
33
|
-
import * as i4$3 from '@angular/material/autocomplete';
|
|
34
|
-
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
35
|
-
import * as i4$5 from '@angular/material/form-field';
|
|
36
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
37
|
-
import * as i4$2 from '@angular/material/input';
|
|
38
|
-
import { MatInputModule } from '@angular/material/input';
|
|
26
|
+
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
|
27
|
+
import * as i2$2 from '@angular/material/divider';
|
|
28
|
+
import { MatDividerModule, MatDivider } from '@angular/material/divider';
|
|
29
|
+
import * as i4 from '@angular/material/input';
|
|
30
|
+
import { MatInput, MatInputModule } from '@angular/material/input';
|
|
39
31
|
import { FieldType as FieldType$1, FormlyMaterialModule } from '@ngx-formly/material';
|
|
40
|
-
import { camelCase } from 'change-case';
|
|
41
|
-
import * as
|
|
32
|
+
import { camelCase } from 'change-case-all';
|
|
33
|
+
import * as i1$3 from '@angular/material/chips';
|
|
42
34
|
import { MatChipsModule } from '@angular/material/chips';
|
|
43
|
-
import
|
|
35
|
+
import * as i5 from '@angular/material/autocomplete';
|
|
36
|
+
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
44
37
|
import { ENTER, COMMA } from '@angular/cdk/keycodes';
|
|
45
38
|
import { skipUntilTimeElapsedAfterLastEmission, toJsDate, parseJsDateString, parseISO8601DayStringToDate, formatToISO8601DateString, formatToISO8601DayStringForSystem, isSameDateHoursAndMinutes, safeToJsDate, guessCurrentTimezone, dateTimezoneUtcNormal, toJsDayDate, isSameDateDay, toLocalReadableTimeString, getTimezoneAbbreviation, utcDayForDate, readableTimeStringToDate, findMinDate, dateFromLogicalDate, findMaxDate, isSameDate, dateTimeMinuteWholeDayDecisionFunction, DateTimeMinuteInstance, limitDateTimeInstance, isSameDateDayRange, dateRange, clampDateRangeToDateRange, isDateInDateRange, isSameDateRange, allTimezoneInfos, timezoneInfoForSystem, searchTimezoneInfos } from '@dereekb/date';
|
|
46
39
|
import { FieldType as FieldType$2, FormlyMatFormFieldModule } from '@ngx-formly/material/form-field';
|
|
47
|
-
import
|
|
48
|
-
import
|
|
49
|
-
import * as i4$6 from '@angular/material/datepicker';
|
|
50
|
-
import { MatDatepickerModule, DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatCalendar } from '@angular/material/datepicker';
|
|
51
|
-
import * as i8 from '@angular/material/menu';
|
|
52
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
53
|
-
import * as i3$1 from 'ngx-editor';
|
|
40
|
+
import { MatSelect, MatOption, MatOptgroup } from '@angular/material/select';
|
|
41
|
+
import * as i1$4 from 'ngx-editor';
|
|
54
42
|
import { Editor, NgxEditorModule } from 'ngx-editor';
|
|
55
|
-
import * as
|
|
43
|
+
import * as i2$4 from '@angular/cdk/drag-drop';
|
|
56
44
|
import { DragDropModule } from '@angular/cdk/drag-drop';
|
|
45
|
+
import * as i4$1 from '@angular/material/form-field';
|
|
46
|
+
import { MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS } from '@angular/material/form-field';
|
|
47
|
+
import * as i4$2 from '@angular/material/datepicker';
|
|
48
|
+
import { DateRange, MAT_DATE_RANGE_SELECTION_STRATEGY, MatCalendar, MatDatepickerModule } from '@angular/material/datepicker';
|
|
49
|
+
import * as i8 from '@angular/material/menu';
|
|
50
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
51
|
+
import * as i10 from '@ngbracket/ngx-layout/flex';
|
|
52
|
+
import * as i11 from '@ngbracket/ngx-layout/extended';
|
|
53
|
+
import { FlexLayoutModule } from '@ngbracket/ngx-layout';
|
|
57
54
|
import { FormlyMatSliderModule } from '@ngx-formly/material/slider';
|
|
58
|
-
import * as i3$
|
|
55
|
+
import * as i3$1 from 'ngx-mat-intl-tel-input';
|
|
59
56
|
import { NgxMatIntlTelInputComponent } from 'ngx-mat-intl-tel-input';
|
|
60
57
|
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';
|
|
61
58
|
import { FormlyMatToggleModule } from '@ngx-formly/material/toggle';
|
|
59
|
+
import { provideDateFnsAdapter } from '@angular/material-date-fns-adapter';
|
|
60
|
+
import { enUS } from 'date-fns/locale';
|
|
62
61
|
|
|
63
62
|
/**
|
|
64
63
|
* Current state of a DbxForm
|
|
@@ -113,20 +112,38 @@ class DbxActionFormDirective {
|
|
|
113
112
|
form = inject((DbxMutableForm), { host: true });
|
|
114
113
|
source = inject((DbxActionContextStoreSourceInstance));
|
|
115
114
|
lockSet = new LockSet();
|
|
115
|
+
/**
|
|
116
|
+
* Whether or not to disable the form while the action is working.
|
|
117
|
+
*
|
|
118
|
+
* Defaults to true.
|
|
119
|
+
*/
|
|
120
|
+
dbxActionFormDisabledOnWorking = input(true);
|
|
116
121
|
/**
|
|
117
122
|
* Optional validator that checks whether or not the value is
|
|
118
123
|
* ready to send before the context store is marked enabled.
|
|
119
124
|
*/
|
|
120
|
-
|
|
125
|
+
dbxActionFormIsValid = input();
|
|
126
|
+
/**
|
|
127
|
+
* Optional function that checks whether or not the value is still the same/equal.
|
|
128
|
+
*/
|
|
129
|
+
dbxActionFormIsEqual = input();
|
|
121
130
|
/**
|
|
122
131
|
* Optional function that checks whether or not the value has been modified.
|
|
132
|
+
*
|
|
133
|
+
* If dbxActionFormIsEqual is provided, this will be ignored.
|
|
123
134
|
*/
|
|
124
|
-
|
|
135
|
+
dbxActionFormIsModified = input();
|
|
125
136
|
/**
|
|
126
137
|
* Optional function that maps the form's value to the source's value.
|
|
127
138
|
*/
|
|
128
|
-
dbxActionFormMapValue;
|
|
129
|
-
|
|
139
|
+
dbxActionFormMapValue = input();
|
|
140
|
+
dbxActionFormDisabledOnWorking$ = toObservable(this.dbxActionFormDisabledOnWorking);
|
|
141
|
+
isValidFunction$ = toObservable(this.dbxActionFormIsValid).pipe(map((x) => x ?? (() => of(true))), shareReplay(1));
|
|
142
|
+
isModifiedFunction$ = makeIsModifiedFunctionObservable({
|
|
143
|
+
isModified: toObservable(this.dbxActionFormIsModified),
|
|
144
|
+
isEqual: toObservable(this.dbxActionFormIsEqual)
|
|
145
|
+
}).pipe(shareReplay(1));
|
|
146
|
+
mapValueFunction$ = toObservable(this.dbxActionFormMapValue);
|
|
130
147
|
_triggeredSub = new SubscriptionObject();
|
|
131
148
|
_isCompleteSub = new SubscriptionObject();
|
|
132
149
|
_isWorkingSub = new SubscriptionObject();
|
|
@@ -136,12 +153,6 @@ class DbxActionFormDirective {
|
|
|
136
153
|
}
|
|
137
154
|
this.lockSet.addChildLockSet(this.source.lockSet, 'source');
|
|
138
155
|
}
|
|
139
|
-
get formDisabledOnWorking() {
|
|
140
|
-
return this._formDisabledWhileWorking.value;
|
|
141
|
-
}
|
|
142
|
-
set formDisabledOnWorking(formDisabledOnWorking) {
|
|
143
|
-
this._formDisabledWhileWorking.next(Boolean(formDisabledOnWorking ?? true));
|
|
144
|
-
}
|
|
145
156
|
ngOnInit() {
|
|
146
157
|
// Pass data from the form to the source when triggered.
|
|
147
158
|
this._triggeredSub.subscription = this.source.triggered$
|
|
@@ -184,23 +195,13 @@ class DbxActionFormDirective {
|
|
|
184
195
|
// More than a certain amount of updates implies that it is being typed into/used.
|
|
185
196
|
// 3 changes and 2 seconds are arbitrary values derived from guesses about any slow/late changes that may come from external directives for setup.
|
|
186
197
|
const isProbablyTouched = !event.untouched || ((event.changesCount ?? 0) > 3 && isPast(addSeconds(event.lastResetAt ?? new Date(), 2)));
|
|
187
|
-
|
|
188
|
-
const
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
}
|
|
192
|
-
else {
|
|
193
|
-
validatorObs = of(false);
|
|
194
|
-
}
|
|
195
|
-
let modifiedObs;
|
|
198
|
+
// create overrides
|
|
199
|
+
const returnFalseFunction = () => of(false);
|
|
200
|
+
const runIsValidCheck = event.isComplete;
|
|
201
|
+
const isValidFunction = runIsValidCheck ? undefined : returnFalseFunction;
|
|
196
202
|
const isConsideredModified = event.pristine === false && isProbablyTouched;
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
}
|
|
200
|
-
else {
|
|
201
|
-
modifiedObs = of(false);
|
|
202
|
-
}
|
|
203
|
-
return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => ({ valid, modified, value, event })));
|
|
203
|
+
const isModifiedFunction = isConsideredModified ? undefined : returnFalseFunction;
|
|
204
|
+
return this.checkIsValidAndIsModified(value, { isValidFunction, isModifiedFunction }).pipe(map(([valid, modified]) => ({ valid, modified, value, event })), first());
|
|
204
205
|
}));
|
|
205
206
|
}))
|
|
206
207
|
.subscribe(({ valid, modified /*, value, event */ }) => {
|
|
@@ -211,8 +212,8 @@ class DbxActionFormDirective {
|
|
|
211
212
|
this.source.enable(APP_ACTION_FORM_DISABLED_KEY, valid);
|
|
212
213
|
});
|
|
213
214
|
// Watch the working state and disable form while working
|
|
214
|
-
this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this.
|
|
215
|
-
.pipe(map(([isWorking,
|
|
215
|
+
this._isWorkingSub.subscription = combineLatest([this.source.isWorking$, this.dbxActionFormDisabledOnWorking$])
|
|
216
|
+
.pipe(map(([isWorking, disableFormWhileWorking]) => disableFormWhileWorking !== false && isWorking), distinctUntilChanged())
|
|
216
217
|
.subscribe((disable) => {
|
|
217
218
|
this.form.setDisabled(APP_ACTION_FORM_DISABLED_KEY, disable);
|
|
218
219
|
});
|
|
@@ -223,40 +224,40 @@ class DbxActionFormDirective {
|
|
|
223
224
|
this._triggeredSub.destroy();
|
|
224
225
|
this._isCompleteSub.destroy();
|
|
225
226
|
this._isWorkingSub.destroy();
|
|
226
|
-
this._formDisabledWhileWorking.complete();
|
|
227
227
|
this.form.setDisabled(APP_ACTION_FORM_DISABLED_KEY, false);
|
|
228
228
|
});
|
|
229
229
|
}
|
|
230
|
+
checkIsValidAndIsModified(value, overrides) {
|
|
231
|
+
const { isModifiedFunction: overrideIsModifiedFunction, isValidFunction: overrideIsValidFunction } = overrides ?? {};
|
|
232
|
+
const isValidFunctionObs = overrideIsValidFunction != null ? of(overrideIsValidFunction) : this.isValidFunction$;
|
|
233
|
+
const isModifiedFunctionObs = overrideIsModifiedFunction != null ? of(overrideIsModifiedFunction) : this.isModifiedFunction$;
|
|
234
|
+
return combineLatest([isValidFunctionObs, isModifiedFunctionObs]).pipe(switchMap(([isValid, isModified]) => {
|
|
235
|
+
return combineLatest([isValid(value), isModified(value)]).pipe(map(([valid, modified]) => [valid, modified]));
|
|
236
|
+
}));
|
|
237
|
+
}
|
|
230
238
|
preCheckReadyValue(value) {
|
|
231
|
-
|
|
232
|
-
const modifiedObs = this.dbxActionFormModified ? this.dbxActionFormModified(value) : of(true);
|
|
233
|
-
return combineLatest([validatorObs, modifiedObs]).pipe(first(), map(([valid, modified]) => valid && modified));
|
|
239
|
+
return this.checkIsValidAndIsModified(value);
|
|
234
240
|
}
|
|
235
241
|
readyValue(value) {
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
+
return this.mapValueFunction$.pipe(switchMap((mapFunction) => {
|
|
243
|
+
if (mapFunction) {
|
|
244
|
+
return asObservable(mapFunction(value));
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
return of({ value: value });
|
|
248
|
+
}
|
|
249
|
+
}));
|
|
242
250
|
}
|
|
243
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
244
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
251
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
252
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionFormDirective, isStandalone: true, selector: "[dbxActionForm]", inputs: { dbxActionFormDisabledOnWorking: { classPropertyName: "dbxActionFormDisabledOnWorking", publicName: "dbxActionFormDisabledOnWorking", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsValid: { classPropertyName: "dbxActionFormIsValid", publicName: "dbxActionFormIsValid", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsEqual: { classPropertyName: "dbxActionFormIsEqual", publicName: "dbxActionFormIsEqual", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormIsModified: { classPropertyName: "dbxActionFormIsModified", publicName: "dbxActionFormIsModified", isSignal: true, isRequired: false, transformFunction: null }, dbxActionFormMapValue: { classPropertyName: "dbxActionFormMapValue", publicName: "dbxActionFormMapValue", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
245
253
|
}
|
|
246
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
254
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormDirective, decorators: [{
|
|
247
255
|
type: Directive,
|
|
248
256
|
args: [{
|
|
249
|
-
selector: '[dbxActionForm]'
|
|
257
|
+
selector: '[dbxActionForm]',
|
|
258
|
+
standalone: true
|
|
250
259
|
}]
|
|
251
|
-
}], ctorParameters:
|
|
252
|
-
type: Input
|
|
253
|
-
}], dbxActionFormModified: [{
|
|
254
|
-
type: Input
|
|
255
|
-
}], dbxActionFormMapValue: [{
|
|
256
|
-
type: Input
|
|
257
|
-
}], formDisabledOnWorking: [{
|
|
258
|
-
type: Input
|
|
259
|
-
}] } });
|
|
260
|
+
}], ctorParameters: () => [] });
|
|
260
261
|
|
|
261
262
|
/**
|
|
262
263
|
* Extension of DbxActionTransitionSafetyDirective that forces the form to update first.
|
|
@@ -265,58 +266,62 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
265
266
|
*/
|
|
266
267
|
class DbxActionFormSafetyDirective extends DbxActionTransitionSafetyDirective {
|
|
267
268
|
dbxActionForm = inject((DbxActionFormDirective), { host: true });
|
|
268
|
-
|
|
269
|
+
dbxActionFormSafety = input('auto');
|
|
270
|
+
_dbxActionFormSafetyUpdateEffect = effect(() => this._safetyType.next(this.dbxActionFormSafety()));
|
|
269
271
|
_handleOnBeforeTransition(transition) {
|
|
270
272
|
this.dbxActionForm.form.forceFormUpdate();
|
|
271
273
|
return super._handleOnBeforeTransition(transition);
|
|
272
274
|
}
|
|
273
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
274
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
275
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormSafetyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
276
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxActionFormSafetyDirective, isStandalone: true, selector: "[dbxActionFormSafety]", inputs: { dbxActionFormSafety: { classPropertyName: "dbxActionFormSafety", publicName: "dbxActionFormSafety", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
275
277
|
}
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
278
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
|
|
277
279
|
type: Directive,
|
|
278
280
|
args: [{
|
|
279
|
-
selector: '[dbxActionFormSafety]'
|
|
281
|
+
selector: '[dbxActionFormSafety]',
|
|
282
|
+
standalone: true
|
|
280
283
|
}]
|
|
281
|
-
}]
|
|
282
|
-
type: Input,
|
|
283
|
-
args: ['dbxActionFormSafety']
|
|
284
|
-
}] } });
|
|
284
|
+
}] });
|
|
285
285
|
|
|
286
|
+
/**
|
|
287
|
+
* @deprecated import DbxActionFormSafetyDirective directly
|
|
288
|
+
*/
|
|
286
289
|
class DbxFormActionTransitionModule {
|
|
287
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
288
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
289
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
290
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
291
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, imports: [DbxActionFormSafetyDirective], exports: [DbxActionFormSafetyDirective] });
|
|
292
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule });
|
|
290
293
|
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
294
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, decorators: [{
|
|
292
295
|
type: NgModule,
|
|
293
296
|
args: [{
|
|
294
|
-
imports: [
|
|
295
|
-
declarations: [DbxActionFormSafetyDirective],
|
|
297
|
+
imports: [DbxActionFormSafetyDirective],
|
|
296
298
|
exports: [DbxActionFormSafetyDirective]
|
|
297
299
|
}]
|
|
298
300
|
}] });
|
|
299
301
|
|
|
302
|
+
/**
|
|
303
|
+
* @deprecated Import DbxActionFormDirective directly instead.
|
|
304
|
+
*/
|
|
300
305
|
class DbxFormActionModule {
|
|
301
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
302
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
303
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
306
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
307
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, imports: [DbxActionFormDirective], exports: [DbxActionFormDirective] });
|
|
308
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule });
|
|
304
309
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, decorators: [{
|
|
306
311
|
type: NgModule,
|
|
307
312
|
args: [{
|
|
308
|
-
imports: [
|
|
309
|
-
declarations: [DbxActionFormDirective],
|
|
313
|
+
imports: [DbxActionFormDirective],
|
|
310
314
|
exports: [DbxActionFormDirective]
|
|
311
315
|
}]
|
|
312
316
|
}] });
|
|
313
317
|
|
|
314
|
-
function dbxFormSourceObservable(form, inputObs,
|
|
315
|
-
return dbxFormSourceObservableFromStream(form.stream$, inputObs,
|
|
318
|
+
function dbxFormSourceObservable(form, inputObs, modeObs) {
|
|
319
|
+
return dbxFormSourceObservableFromStream(form.stream$, inputObs, modeObs);
|
|
316
320
|
}
|
|
317
|
-
function dbxFormSourceObservableFromStream(
|
|
321
|
+
function dbxFormSourceObservableFromStream(streamObs, inputObs, modeObs) {
|
|
318
322
|
const value$ = asObservable(inputObs).pipe(shareReplay(1)); // catch/share the latest emission
|
|
319
|
-
const state$ =
|
|
323
|
+
const state$ = streamObs.pipe(map((x) => x.state), distinctUntilChanged());
|
|
324
|
+
const mode$ = asObservable(modeObs).pipe(distinctUntilChanged());
|
|
320
325
|
return combineLatest([mode$, value$]).pipe(map((x) => x[0]), distinctUntilChanged(), switchMap((mode) => {
|
|
321
326
|
if (mode === 'reset') {
|
|
322
327
|
// reset only
|
|
@@ -331,12 +336,12 @@ function dbxFormSourceObservableFromStream(stream$, inputObs, mode$) {
|
|
|
331
336
|
else {
|
|
332
337
|
return [value, false];
|
|
333
338
|
}
|
|
334
|
-
}), tap(([
|
|
339
|
+
}), tap(([_, send]) => {
|
|
335
340
|
firstValueSent = true;
|
|
336
341
|
if (!send) {
|
|
337
342
|
doneSubject.next(undefined);
|
|
338
343
|
}
|
|
339
|
-
}), filter(([
|
|
344
|
+
}), filter(([_, send]) => send), map(([value, _]) => value), takeUntil(doneSubject), cleanup(() => {
|
|
340
345
|
doneSubject.complete();
|
|
341
346
|
}));
|
|
342
347
|
}
|
|
@@ -373,93 +378,58 @@ function dbxFormSourceObservableFromStream(stream$, inputObs, mode$) {
|
|
|
373
378
|
*/
|
|
374
379
|
class DbxFormSourceDirective extends AbstractSubscriptionDirective {
|
|
375
380
|
form = inject((DbxMutableForm), { host: true });
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
this._mode.next(mode);
|
|
382
|
-
}
|
|
383
|
-
set obs(obs) {
|
|
384
|
-
this.setObs(obs);
|
|
385
|
-
}
|
|
386
|
-
setObs(inputObs) {
|
|
381
|
+
dbxFormSourceMode = input();
|
|
382
|
+
dbxFormSource = input();
|
|
383
|
+
_setFormSourceObservableEffect = effect(() => {
|
|
384
|
+
const formSource = this.dbxFormSource();
|
|
385
|
+
const mode = this.dbxFormSourceMode() ?? 'reset';
|
|
387
386
|
let subscription;
|
|
388
|
-
if (
|
|
389
|
-
subscription = dbxFormSourceObservableFromStream(this.form.stream$,
|
|
387
|
+
if (formSource) {
|
|
388
|
+
subscription = dbxFormSourceObservableFromStream(this.form.stream$, formSource, mode).subscribe((x) => {
|
|
390
389
|
this.form.setValue(x);
|
|
391
390
|
});
|
|
392
391
|
}
|
|
393
392
|
this.sub = subscription;
|
|
394
|
-
}
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
this._mode.complete();
|
|
398
|
-
}
|
|
399
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
400
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormSourceDirective, selector: "[dbxFormSource]", inputs: { mode: ["dbxFormSourceMode", "mode"], obs: ["dbxFormSource", "obs"] }, usesInheritance: true, ngImport: i0 });
|
|
393
|
+
});
|
|
394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
395
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxFormSourceDirective, isStandalone: true, selector: "[dbxFormSource]", inputs: { dbxFormSourceMode: { classPropertyName: "dbxFormSourceMode", publicName: "dbxFormSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormSource: { classPropertyName: "dbxFormSource", publicName: "dbxFormSource", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
401
396
|
}
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
|
|
403
398
|
type: Directive,
|
|
404
399
|
args: [{
|
|
405
|
-
selector: '[dbxFormSource]'
|
|
400
|
+
selector: '[dbxFormSource]',
|
|
401
|
+
standalone: true
|
|
406
402
|
}]
|
|
407
|
-
}]
|
|
408
|
-
type: Input,
|
|
409
|
-
args: ['dbxFormSourceMode']
|
|
410
|
-
}], obs: [{
|
|
411
|
-
type: Input,
|
|
412
|
-
args: ['dbxFormSource']
|
|
413
|
-
}] } });
|
|
403
|
+
}] });
|
|
414
404
|
|
|
405
|
+
const DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE = 'reset';
|
|
415
406
|
/**
|
|
416
407
|
* Used with a FormComponent to set the value from a LoadingState when the value is available.
|
|
408
|
+
*
|
|
409
|
+
* Only passes non-null values from the source.
|
|
417
410
|
*/
|
|
418
411
|
class DbxFormLoadingSourceDirective extends AbstractSubscriptionDirective {
|
|
419
412
|
form = inject((DbxMutableForm), { host: true });
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
*/
|
|
430
|
-
set obs(obs) {
|
|
431
|
-
this._setObs(obs);
|
|
432
|
-
}
|
|
433
|
-
_setObs(inputObs) {
|
|
434
|
-
let subscription;
|
|
435
|
-
if (inputObs) {
|
|
436
|
-
subscription = dbxFormSourceObservableFromStream(this.form.stream$, inputObs, this._mode).subscribe((x) => {
|
|
437
|
-
if (isLoadingStateFinishedLoading(x)) {
|
|
438
|
-
this.form.setValue(x.value);
|
|
439
|
-
}
|
|
440
|
-
});
|
|
441
|
-
}
|
|
442
|
-
this.sub = subscription;
|
|
443
|
-
}
|
|
444
|
-
ngOnDestroy() {
|
|
445
|
-
super.ngOnDestroy();
|
|
446
|
-
this._mode.complete();
|
|
413
|
+
dbxFormLoadingSourceMode = input(DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE, { transform: (x) => x ?? DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE });
|
|
414
|
+
dbxFormLoadingSource = input();
|
|
415
|
+
mode$ = toObservable(this.dbxFormLoadingSourceMode);
|
|
416
|
+
source$ = toObservable(this.dbxFormLoadingSource).pipe(maybeValueFromObservableOrValue(), filterMaybe(), valueFromFinishedLoadingState());
|
|
417
|
+
constructor() {
|
|
418
|
+
super();
|
|
419
|
+
this.sub = dbxFormSourceObservableFromStream(this.form.stream$, this.source$, this.mode$).subscribe((x) => {
|
|
420
|
+
this.form.setValue(x);
|
|
421
|
+
});
|
|
447
422
|
}
|
|
448
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
449
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
423
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLoadingSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
424
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxFormLoadingSourceDirective, isStandalone: true, selector: "[dbxFormLoadingSource]", inputs: { dbxFormLoadingSourceMode: { classPropertyName: "dbxFormLoadingSourceMode", publicName: "dbxFormLoadingSourceMode", isSignal: true, isRequired: false, transformFunction: null }, dbxFormLoadingSource: { classPropertyName: "dbxFormLoadingSource", publicName: "dbxFormLoadingSource", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
450
425
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLoadingSourceDirective, decorators: [{
|
|
452
427
|
type: Directive,
|
|
453
428
|
args: [{
|
|
454
|
-
selector: '[dbxFormLoadingSource]'
|
|
429
|
+
selector: '[dbxFormLoadingSource]',
|
|
430
|
+
standalone: true
|
|
455
431
|
}]
|
|
456
|
-
}],
|
|
457
|
-
type: Input,
|
|
458
|
-
args: ['dbxFormLoadingSourceMode']
|
|
459
|
-
}], obs: [{
|
|
460
|
-
type: Input,
|
|
461
|
-
args: ['dbxFormLoadingSource']
|
|
462
|
-
}] } });
|
|
432
|
+
}], ctorParameters: () => [] });
|
|
463
433
|
|
|
464
434
|
/**
|
|
465
435
|
* Used to see form value changes.
|
|
@@ -468,46 +438,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
468
438
|
*/
|
|
469
439
|
class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
|
|
470
440
|
form = inject((DbxForm), { host: true });
|
|
471
|
-
dbxFormValueChange =
|
|
441
|
+
dbxFormValueChange = output();
|
|
472
442
|
ngOnInit() {
|
|
473
443
|
this.sub = this.form.stream$
|
|
474
444
|
.pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0))
|
|
475
445
|
.subscribe(({ isComplete, value }) => {
|
|
476
446
|
if (isComplete) {
|
|
477
|
-
this.dbxFormValueChange.
|
|
447
|
+
this.dbxFormValueChange.emit(value);
|
|
478
448
|
}
|
|
479
449
|
else {
|
|
480
|
-
this.dbxFormValueChange.
|
|
450
|
+
this.dbxFormValueChange.emit(undefined);
|
|
481
451
|
}
|
|
482
452
|
});
|
|
483
453
|
}
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
this.dbxFormValueChange.complete();
|
|
487
|
-
}
|
|
488
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormValueChangesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
489
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, usesInheritance: true, ngImport: i0 });
|
|
454
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormValueChangesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
455
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormValueChangesDirective, isStandalone: true, selector: "[dbxFormValueChange]", outputs: { dbxFormValueChange: "dbxFormValueChange" }, usesInheritance: true, ngImport: i0 });
|
|
490
456
|
}
|
|
491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
457
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormValueChangesDirective, decorators: [{
|
|
492
458
|
type: Directive,
|
|
493
459
|
args: [{
|
|
494
|
-
selector: '[dbxFormValueChange]'
|
|
460
|
+
selector: '[dbxFormValueChange]',
|
|
461
|
+
standalone: true
|
|
495
462
|
}]
|
|
496
|
-
}]
|
|
497
|
-
type: Output
|
|
498
|
-
}] } });
|
|
463
|
+
}] });
|
|
499
464
|
|
|
465
|
+
const importsAndExports$8 = [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective];
|
|
466
|
+
/**
|
|
467
|
+
* @deprecated import the directives directly instead.
|
|
468
|
+
*
|
|
469
|
+
* @see DbxFormSourceDirective
|
|
470
|
+
* @see DbxFormValueChangesDirective
|
|
471
|
+
* @see DbxFormLoadingSourceDirective
|
|
472
|
+
*/
|
|
500
473
|
class DbxFormIoModule {
|
|
501
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
502
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
503
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
474
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
475
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, imports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective], exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective] });
|
|
476
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule });
|
|
504
477
|
}
|
|
505
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
478
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, decorators: [{
|
|
506
479
|
type: NgModule,
|
|
507
480
|
args: [{
|
|
508
|
-
imports:
|
|
509
|
-
|
|
510
|
-
exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective]
|
|
481
|
+
imports: importsAndExports$8,
|
|
482
|
+
exports: importsAndExports$8
|
|
511
483
|
}]
|
|
512
484
|
}] });
|
|
513
485
|
|
|
@@ -524,11 +496,11 @@ function streamValueFromControl(fromControl, path) {
|
|
|
524
496
|
}
|
|
525
497
|
|
|
526
498
|
class DbxFormModule {
|
|
527
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
528
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
529
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
499
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
500
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
501
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
530
502
|
}
|
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
503
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, decorators: [{
|
|
532
504
|
type: NgModule,
|
|
533
505
|
args: [{
|
|
534
506
|
exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule]
|
|
@@ -560,45 +532,86 @@ function defaultValidationMessages() {
|
|
|
560
532
|
|
|
561
533
|
// MARK: Default
|
|
562
534
|
class DbxDefaultChecklistItemFieldDisplayComponent {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
535
|
+
_displayContentSignal = signal(undefined);
|
|
536
|
+
displayContentSignal = this._displayContentSignal.asReadonly();
|
|
537
|
+
setDisplayContent(displayContent) {
|
|
538
|
+
this._displayContentSignal.set(displayContent);
|
|
566
539
|
}
|
|
567
|
-
|
|
568
|
-
|
|
540
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultChecklistItemFieldDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
541
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDefaultChecklistItemFieldDisplayComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
|
|
542
|
+
@if (displayContentSignal()) {
|
|
543
|
+
<div class="dbx-default-checklist-item-field">
|
|
544
|
+
@if (displayContentSignal()?.label) {
|
|
545
|
+
<div class="item-label">{{ displayContentSignal()?.label }}</div>
|
|
546
|
+
}
|
|
547
|
+
@if (displayContentSignal()?.sublabel) {
|
|
548
|
+
<div class="item-sublabel">{{ displayContentSignal()?.sublabel }}</div>
|
|
549
|
+
}
|
|
550
|
+
@if (displayContentSignal()?.description) {
|
|
551
|
+
<div class="dbx-hint item-description">{{ displayContentSignal()?.description }}</div>
|
|
552
|
+
}
|
|
553
|
+
</div>
|
|
569
554
|
}
|
|
570
|
-
|
|
571
|
-
return this.displayContent?.description;
|
|
572
|
-
}
|
|
573
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxDefaultChecklistItemFieldDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
574
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxDefaultChecklistItemFieldDisplayComponent, selector: "ng-component", inputs: { displayContent: "displayContent" }, ngImport: i0, template: `
|
|
575
|
-
<div *ngIf="displayContent" class="dbx-default-checklist-item-field">
|
|
576
|
-
<div *ngIf="label" class="item-label">{{ label }}</div>
|
|
577
|
-
<div *ngIf="sublabel" class="item-sublabel">{{ sublabel }}</div>
|
|
578
|
-
<div *ngIf="description" class="dbx-hint item-description">{{ description }}</div>
|
|
579
|
-
</div>
|
|
580
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
555
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
581
556
|
}
|
|
582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
557
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultChecklistItemFieldDisplayComponent, decorators: [{
|
|
583
558
|
type: Component,
|
|
584
559
|
args: [{
|
|
585
560
|
template: `
|
|
586
|
-
|
|
587
|
-
<div
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
561
|
+
@if (displayContentSignal()) {
|
|
562
|
+
<div class="dbx-default-checklist-item-field">
|
|
563
|
+
@if (displayContentSignal()?.label) {
|
|
564
|
+
<div class="item-label">{{ displayContentSignal()?.label }}</div>
|
|
565
|
+
}
|
|
566
|
+
@if (displayContentSignal()?.sublabel) {
|
|
567
|
+
<div class="item-sublabel">{{ displayContentSignal()?.sublabel }}</div>
|
|
568
|
+
}
|
|
569
|
+
@if (displayContentSignal()?.description) {
|
|
570
|
+
<div class="dbx-hint item-description">{{ displayContentSignal()?.description }}</div>
|
|
571
|
+
}
|
|
572
|
+
</div>
|
|
573
|
+
}
|
|
574
|
+
`,
|
|
575
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
576
|
+
standalone: true,
|
|
577
|
+
imports: [NgIf]
|
|
592
578
|
}]
|
|
593
|
-
}]
|
|
594
|
-
type: Input
|
|
595
|
-
}] } });
|
|
579
|
+
}] });
|
|
596
580
|
|
|
581
|
+
class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
582
|
+
checklistItemFieldComponent = inject((DbxChecklistItemFieldComponent));
|
|
583
|
+
config = {
|
|
584
|
+
componentClass: this.checklistItemFieldComponent.componentClass,
|
|
585
|
+
init: (instance) => {
|
|
586
|
+
this.sub = this.checklistItemFieldComponent.displayContent$.subscribe((content) => {
|
|
587
|
+
instance.setDisplayContent(content);
|
|
588
|
+
});
|
|
589
|
+
}
|
|
590
|
+
};
|
|
591
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
592
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxChecklistItemContentComponent, isStandalone: true, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template: `
|
|
593
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
594
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
595
|
+
}
|
|
596
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemContentComponent, decorators: [{
|
|
597
|
+
type: Component,
|
|
598
|
+
args: [{
|
|
599
|
+
selector: 'dbx-checklist-item-content-component',
|
|
600
|
+
template: `
|
|
601
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
602
|
+
`,
|
|
603
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
604
|
+
standalone: true,
|
|
605
|
+
imports: [DbxInjectionComponent]
|
|
606
|
+
}]
|
|
607
|
+
}] });
|
|
597
608
|
class DbxChecklistItemFieldComponent extends FieldType {
|
|
598
|
-
|
|
599
|
-
displayContent$ = this.
|
|
609
|
+
_displayContentObs = signal(undefined);
|
|
610
|
+
displayContent$ = toObservable(this._displayContentObs).pipe(switchMapFilterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
600
611
|
anchor$ = this.displayContent$.pipe(map((x) => x.anchor), shareReplay(1));
|
|
601
612
|
rippleDisabled$ = this.displayContent$.pipe(map((x) => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged(), shareReplay(1));
|
|
613
|
+
anchorSignal = toSignal(this.anchor$);
|
|
614
|
+
rippleDisabledSignal = toSignal(this.rippleDisabled$, { initialValue: false });
|
|
602
615
|
get formGroup() {
|
|
603
616
|
return this.form;
|
|
604
617
|
}
|
|
@@ -624,43 +637,14 @@ class DbxChecklistItemFieldComponent extends FieldType {
|
|
|
624
637
|
return this.checklistField.componentClass ?? DbxDefaultChecklistItemFieldDisplayComponent;
|
|
625
638
|
}
|
|
626
639
|
ngOnInit() {
|
|
627
|
-
this.
|
|
628
|
-
}
|
|
629
|
-
ngOnDestroy() {
|
|
630
|
-
this._displayContent.complete();
|
|
640
|
+
this._displayContentObs.set(this.checklistField.displayContent);
|
|
631
641
|
}
|
|
632
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
633
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
634
|
-
}
|
|
635
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
636
|
-
type: Component,
|
|
637
|
-
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" }]
|
|
638
|
-
}] });
|
|
639
|
-
class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
640
|
-
cdRef = inject(ChangeDetectorRef);
|
|
641
|
-
checklistItemFieldComponent = inject((DbxChecklistItemFieldComponent));
|
|
642
|
-
config = {
|
|
643
|
-
componentClass: this.checklistItemFieldComponent.componentClass,
|
|
644
|
-
init: (instance) => {
|
|
645
|
-
this.sub = this.checklistItemFieldComponent.displayContent$.subscribe((x) => {
|
|
646
|
-
instance.displayContent = x;
|
|
647
|
-
safeDetectChanges(this.cdRef);
|
|
648
|
-
});
|
|
649
|
-
}
|
|
650
|
-
};
|
|
651
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxChecklistItemContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
652
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component", usesInheritance: true, ngImport: i0, template: `
|
|
653
|
-
<dbx-injection [config]="config"></dbx-injection>
|
|
654
|
-
`, isInline: true, dependencies: [{ kind: "component", type: i6.DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }] });
|
|
642
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
643
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxChecklistItemFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n @if (label) {\n <div class=\"dbx-checklist-item-label\">{{ label }}</div>\n }\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]=\"anchorSignal()\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"rippleDisabledSignal()\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n @if (!rippleDisabledSignal()) {\n <mat-icon>navigate_next</mat-icon>\n }\n </div>\n </dbx-anchor>\n </div>\n </div>\n @if (description) {\n <div class=\"dbx-hint\">{{ description }}</div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatCheckboxModule }, { kind: "component", type: i2$1.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: DbxChecklistItemContentComponent, selector: "dbx-checklist-item-content-component" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
655
644
|
}
|
|
656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
645
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
657
646
|
type: Component,
|
|
658
|
-
args: [{
|
|
659
|
-
selector: 'dbx-checklist-item-content-component',
|
|
660
|
-
template: `
|
|
661
|
-
<dbx-injection [config]="config"></dbx-injection>
|
|
662
|
-
`
|
|
663
|
-
}]
|
|
647
|
+
args: [{ changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [ReactiveFormsModule, MatCheckboxModule, DbxAnchorComponent, MatRippleModule, MatIconModule, NgIf, AsyncPipe, DbxChecklistItemContentComponent], template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n @if (label) {\n <div class=\"dbx-checklist-item-label\">{{ label }}</div>\n }\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]=\"anchorSignal()\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"rippleDisabledSignal()\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n @if (!rippleDisabledSignal()) {\n <mat-icon>navigate_next</mat-icon>\n }\n </div>\n </dbx-anchor>\n </div>\n </div>\n @if (description) {\n <div class=\"dbx-hint\">{{ description }}</div>\n }\n</div>\n" }]
|
|
664
648
|
}] });
|
|
665
649
|
|
|
666
650
|
class DbxFormInfoWrapperComponent extends FieldWrapper {
|
|
@@ -670,35 +654,38 @@ class DbxFormInfoWrapperComponent extends FieldWrapper {
|
|
|
670
654
|
onInfoClick() {
|
|
671
655
|
this.infoWrapper.onInfoClick();
|
|
672
656
|
}
|
|
673
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
674
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
675
|
-
<div class="dbx-form-info-wrapper
|
|
676
|
-
<div class="dbx-form-info-wrapper-content
|
|
657
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormInfoWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
658
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormInfoWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
659
|
+
<div class="dbx-form-info-wrapper dbx-flex-bar">
|
|
660
|
+
<div class="dbx-form-info-wrapper-content dbx-flex-grow">
|
|
677
661
|
<ng-container #fieldComponent></ng-container>
|
|
678
662
|
</div>
|
|
679
|
-
<div class="dbx-form-info-wrapper-info
|
|
663
|
+
<div class="dbx-form-info-wrapper-info dbx-flex-noshrink dbx-flex-column dbx-flex-center">
|
|
680
664
|
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
681
665
|
<mat-icon>info</mat-icon>
|
|
682
666
|
</button>
|
|
683
667
|
</div>
|
|
684
668
|
</div>
|
|
685
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
669
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
686
670
|
}
|
|
687
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
671
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormInfoWrapperComponent, decorators: [{
|
|
688
672
|
type: Component,
|
|
689
673
|
args: [{
|
|
690
674
|
template: `
|
|
691
|
-
<div class="dbx-form-info-wrapper
|
|
692
|
-
<div class="dbx-form-info-wrapper-content
|
|
675
|
+
<div class="dbx-form-info-wrapper dbx-flex-bar">
|
|
676
|
+
<div class="dbx-form-info-wrapper-content dbx-flex-grow">
|
|
693
677
|
<ng-container #fieldComponent></ng-container>
|
|
694
678
|
</div>
|
|
695
|
-
<div class="dbx-form-info-wrapper-info
|
|
679
|
+
<div class="dbx-form-info-wrapper-info dbx-flex-noshrink dbx-flex-column dbx-flex-center">
|
|
696
680
|
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
697
681
|
<mat-icon>info</mat-icon>
|
|
698
682
|
</button>
|
|
699
683
|
</div>
|
|
700
684
|
</div>
|
|
701
|
-
|
|
685
|
+
`,
|
|
686
|
+
imports: [MatIconButton, MatIconModule],
|
|
687
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
688
|
+
standalone: true
|
|
702
689
|
}]
|
|
703
690
|
}] });
|
|
704
691
|
|
|
@@ -706,14 +693,14 @@ class DbxFormSectionWrapperComponent extends FieldWrapper {
|
|
|
706
693
|
get headerConfig() {
|
|
707
694
|
return this.props;
|
|
708
695
|
}
|
|
709
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
710
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
696
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
697
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormSectionWrapperComponent, isStandalone: true, selector: "dbx-form-section-wrapper", usesInheritance: true, ngImport: i0, template: `
|
|
711
698
|
<dbx-section [headerConfig]="headerConfig">
|
|
712
699
|
<ng-container #fieldComponent></ng-container>
|
|
713
700
|
</dbx-section>
|
|
714
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
701
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSectionLayoutModule }, { kind: "component", type: i1$1.DbxSectionComponent, selector: "dbx-section", inputs: ["elevate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
715
702
|
}
|
|
716
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
703
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSectionWrapperComponent, decorators: [{
|
|
717
704
|
type: Component,
|
|
718
705
|
args: [{
|
|
719
706
|
selector: 'dbx-form-section-wrapper',
|
|
@@ -721,7 +708,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
721
708
|
<dbx-section [headerConfig]="headerConfig">
|
|
722
709
|
<ng-container #fieldComponent></ng-container>
|
|
723
710
|
</dbx-section>
|
|
724
|
-
|
|
711
|
+
`,
|
|
712
|
+
imports: [DbxSectionLayoutModule],
|
|
713
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
714
|
+
standalone: true
|
|
725
715
|
}]
|
|
726
716
|
}] });
|
|
727
717
|
|
|
@@ -738,21 +728,24 @@ class DbxFormFlexWrapperComponent extends FieldWrapper {
|
|
|
738
728
|
get breakToColumn() {
|
|
739
729
|
return this.flexWrapper.breakToColumn ?? false;
|
|
740
730
|
}
|
|
741
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
742
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
731
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFlexWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
732
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormFlexWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
743
733
|
<div class="dbx-form-flex-section" dbxFlexGroup [content]="false" [relative]="relative" [breakpoint]="breakpoint" [breakToColumn]="breakToColumn">
|
|
744
734
|
<ng-container #fieldComponent></ng-container>
|
|
745
735
|
</div>
|
|
746
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
736
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFlexGroupDirective, selector: "[dbxFlexGroup]", inputs: ["content", "breakToColumn", "relative", "breakpoint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
747
737
|
}
|
|
748
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
738
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFlexWrapperComponent, decorators: [{
|
|
749
739
|
type: Component,
|
|
750
740
|
args: [{
|
|
751
741
|
template: `
|
|
752
742
|
<div class="dbx-form-flex-section" dbxFlexGroup [content]="false" [relative]="relative" [breakpoint]="breakpoint" [breakToColumn]="breakToColumn">
|
|
753
743
|
<ng-container #fieldComponent></ng-container>
|
|
754
744
|
</div>
|
|
755
|
-
|
|
745
|
+
`,
|
|
746
|
+
imports: [DbxFlexGroupDirective],
|
|
747
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
748
|
+
standalone: true
|
|
756
749
|
}]
|
|
757
750
|
}] });
|
|
758
751
|
|
|
@@ -760,14 +753,14 @@ class DbxFormSubsectionWrapperComponent extends FieldWrapper {
|
|
|
760
753
|
get headerConfig() {
|
|
761
754
|
return this.props;
|
|
762
755
|
}
|
|
763
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
764
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
756
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSubsectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
757
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormSubsectionWrapperComponent, isStandalone: true, selector: "dbx-form-subsection-wrapper", usesInheritance: true, ngImport: i0, template: `
|
|
765
758
|
<dbx-subsection [headerConfig]="headerConfig">
|
|
766
759
|
<ng-container #fieldComponent></ng-container>
|
|
767
760
|
</dbx-subsection>
|
|
768
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
761
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxSubSectionComponent, selector: "dbx-subsection" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
769
762
|
}
|
|
770
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
763
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSubsectionWrapperComponent, decorators: [{
|
|
771
764
|
type: Component,
|
|
772
765
|
args: [{
|
|
773
766
|
selector: 'dbx-form-subsection-wrapper',
|
|
@@ -775,7 +768,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
775
768
|
<dbx-subsection [headerConfig]="headerConfig">
|
|
776
769
|
<ng-container #fieldComponent></ng-container>
|
|
777
770
|
</dbx-subsection>
|
|
778
|
-
|
|
771
|
+
`,
|
|
772
|
+
imports: [DbxSubSectionComponent],
|
|
773
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
774
|
+
standalone: true
|
|
779
775
|
}]
|
|
780
776
|
}] });
|
|
781
777
|
|
|
@@ -795,6 +791,8 @@ class AbstractFormExpandSectionWrapperDirective extends FieldWrapper {
|
|
|
795
791
|
hasValue$ = this.formControl$.pipe(switchMap((x) => x.valueChanges.pipe(startWith(x.value), map((value) => {
|
|
796
792
|
return this.hasValueFn(value);
|
|
797
793
|
}), shareReplay(1))));
|
|
794
|
+
showSignal = toSignal(this.show$, { initialValue: false });
|
|
795
|
+
hasValueSignal = toSignal(this.hasValue$, { initialValue: false });
|
|
798
796
|
get expandSection() {
|
|
799
797
|
return this.props;
|
|
800
798
|
}
|
|
@@ -821,10 +819,10 @@ class AbstractFormExpandSectionWrapperDirective extends FieldWrapper {
|
|
|
821
819
|
this._toggleOpen.complete();
|
|
822
820
|
this._formControlObs.complete();
|
|
823
821
|
}
|
|
824
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
825
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
822
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormExpandSectionWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
823
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractFormExpandSectionWrapperDirective, usesInheritance: true, ngImport: i0 });
|
|
826
824
|
}
|
|
827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
825
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormExpandSectionWrapperDirective, decorators: [{
|
|
828
826
|
type: Directive
|
|
829
827
|
}] });
|
|
830
828
|
|
|
@@ -835,31 +833,27 @@ class DbxFormExpandWrapperComponent extends AbstractFormExpandSectionWrapperDire
|
|
|
835
833
|
get buttonType() {
|
|
836
834
|
return this.expandSection.buttonType ?? 'button';
|
|
837
835
|
}
|
|
838
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
839
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
840
|
-
|
|
841
|
-
<ng-container
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] });
|
|
849
|
-
}
|
|
850
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormExpandWrapperComponent, decorators: [{
|
|
836
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExpandWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
837
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormExpandWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
838
|
+
@if (showSignal()) {
|
|
839
|
+
<ng-container #fieldComponent></ng-container>
|
|
840
|
+
} @else {
|
|
841
|
+
<span class="dbx-form-expand-wrapper-button" (click)="open()">{{ expandLabel }}</span>
|
|
842
|
+
}
|
|
843
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
844
|
+
}
|
|
845
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExpandWrapperComponent, decorators: [{
|
|
851
846
|
type: Component,
|
|
852
847
|
args: [{
|
|
853
848
|
template: `
|
|
854
|
-
|
|
855
|
-
<ng-container
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
`
|
|
849
|
+
@if (showSignal()) {
|
|
850
|
+
<ng-container #fieldComponent></ng-container>
|
|
851
|
+
} @else {
|
|
852
|
+
<span class="dbx-form-expand-wrapper-button" (click)="open()">{{ expandLabel }}</span>
|
|
853
|
+
}
|
|
854
|
+
`,
|
|
855
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
856
|
+
standalone: true
|
|
863
857
|
}]
|
|
864
858
|
}] });
|
|
865
859
|
|
|
@@ -875,17 +869,19 @@ class AutoTouchFieldWrapperComponent extends FieldWrapper {
|
|
|
875
869
|
}
|
|
876
870
|
});
|
|
877
871
|
}
|
|
878
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
879
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
872
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTouchFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
873
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: AutoTouchFieldWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
880
874
|
<ng-container #fieldComponent></ng-container>
|
|
881
|
-
`, isInline: true });
|
|
875
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
882
876
|
}
|
|
883
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
877
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTouchFieldWrapperComponent, decorators: [{
|
|
884
878
|
type: Component,
|
|
885
879
|
args: [{
|
|
886
880
|
template: `
|
|
887
881
|
<ng-container #fieldComponent></ng-container>
|
|
888
|
-
|
|
882
|
+
`,
|
|
883
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
884
|
+
standalone: true
|
|
889
885
|
}]
|
|
890
886
|
}] });
|
|
891
887
|
|
|
@@ -901,36 +897,40 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandSectionWrapperDire
|
|
|
901
897
|
return of(this.expandLabel);
|
|
902
898
|
}
|
|
903
899
|
}), shareReplay(1));
|
|
900
|
+
slideLabelSignal = toSignal(this.slideLabel$, { initialValue: '' });
|
|
904
901
|
onToggleChange() {
|
|
905
902
|
this.show$.pipe(first()).subscribe((show) => {
|
|
906
903
|
this._toggleOpen.next(!show);
|
|
907
904
|
});
|
|
908
905
|
}
|
|
909
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
910
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
911
|
-
<div class="dbx-form-toggle-wrapper"
|
|
906
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormToggleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
907
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormToggleWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
908
|
+
<div class="dbx-form-toggle-wrapper">
|
|
912
909
|
<div class="dbx-form-toggle-wrapper-toggle">
|
|
913
|
-
<mat-slide-toggle [checked]="
|
|
910
|
+
<mat-slide-toggle [checked]="showSignal()" (toggleChange)="onToggleChange()">{{ slideLabelSignal() }}</mat-slide-toggle>
|
|
914
911
|
</div>
|
|
915
|
-
|
|
912
|
+
@if (showSignal()) {
|
|
916
913
|
<ng-container #fieldComponent></ng-container>
|
|
917
|
-
|
|
914
|
+
}
|
|
918
915
|
</div>
|
|
919
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
916
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
920
917
|
}
|
|
921
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
918
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormToggleWrapperComponent, decorators: [{
|
|
922
919
|
type: Component,
|
|
923
920
|
args: [{
|
|
924
921
|
template: `
|
|
925
|
-
<div class="dbx-form-toggle-wrapper"
|
|
922
|
+
<div class="dbx-form-toggle-wrapper">
|
|
926
923
|
<div class="dbx-form-toggle-wrapper-toggle">
|
|
927
|
-
<mat-slide-toggle [checked]="
|
|
924
|
+
<mat-slide-toggle [checked]="showSignal()" (toggleChange)="onToggleChange()">{{ slideLabelSignal() }}</mat-slide-toggle>
|
|
928
925
|
</div>
|
|
929
|
-
|
|
926
|
+
@if (showSignal()) {
|
|
930
927
|
<ng-container #fieldComponent></ng-container>
|
|
931
|
-
|
|
928
|
+
}
|
|
932
929
|
</div>
|
|
933
|
-
|
|
930
|
+
`,
|
|
931
|
+
imports: [MatSlideToggle],
|
|
932
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
933
|
+
standalone: true
|
|
934
934
|
}]
|
|
935
935
|
}] });
|
|
936
936
|
|
|
@@ -939,6 +939,8 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
|
|
|
939
939
|
_class = new BehaviorSubject(undefined);
|
|
940
940
|
style$ = this._style.pipe(switchMapMaybeDefault({}), shareReplay(1));
|
|
941
941
|
class$ = this._class.pipe(switchMapMaybeDefault(''), shareReplay(1));
|
|
942
|
+
styleSignal = toSignal(this.style$);
|
|
943
|
+
classSignal = toSignal(this.class$);
|
|
942
944
|
get styleGetter() {
|
|
943
945
|
return this.props.styleGetter;
|
|
944
946
|
}
|
|
@@ -957,21 +959,24 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
|
|
|
957
959
|
this._style.complete();
|
|
958
960
|
this._class.complete();
|
|
959
961
|
}
|
|
960
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
961
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
962
|
-
<div class="dbx-form-style-wrapper" [ngClass]="(
|
|
962
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormStyleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
963
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormStyleWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
964
|
+
<div class="dbx-form-style-wrapper" [ngClass]="classSignal()" [ngStyle]="styleSignal()">
|
|
963
965
|
<ng-container #fieldComponent></ng-container>
|
|
964
966
|
</div>
|
|
965
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
967
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
966
968
|
}
|
|
967
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormStyleWrapperComponent, decorators: [{
|
|
968
970
|
type: Component,
|
|
969
971
|
args: [{
|
|
970
972
|
template: `
|
|
971
|
-
<div class="dbx-form-style-wrapper" [ngClass]="(
|
|
973
|
+
<div class="dbx-form-style-wrapper" [ngClass]="classSignal()" [ngStyle]="styleSignal()">
|
|
972
974
|
<ng-container #fieldComponent></ng-container>
|
|
973
975
|
</div>
|
|
974
|
-
|
|
976
|
+
`,
|
|
977
|
+
imports: [NgClass, NgStyle],
|
|
978
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
979
|
+
standalone: true
|
|
975
980
|
}]
|
|
976
981
|
}] });
|
|
977
982
|
|
|
@@ -992,15 +997,15 @@ class DbxFormWorkingWrapperComponent extends FieldWrapper {
|
|
|
992
997
|
this.workingContext.destroy();
|
|
993
998
|
this.sub.destroy();
|
|
994
999
|
}
|
|
995
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
996
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1000
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormWorkingWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1001
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormWorkingWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
997
1002
|
<div class="dbx-form-working-wrapper">
|
|
998
1003
|
<ng-container #fieldComponent></ng-container>
|
|
999
1004
|
<dbx-loading [linear]="true" [context]="workingContext"></dbx-loading>
|
|
1000
1005
|
</div>
|
|
1001
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1006
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1002
1007
|
}
|
|
1003
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1008
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormWorkingWrapperComponent, decorators: [{
|
|
1004
1009
|
type: Component,
|
|
1005
1010
|
args: [{
|
|
1006
1011
|
template: `
|
|
@@ -1008,7 +1013,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1008
1013
|
<ng-container #fieldComponent></ng-container>
|
|
1009
1014
|
<dbx-loading [linear]="true" [context]="workingContext"></dbx-loading>
|
|
1010
1015
|
</div>
|
|
1011
|
-
|
|
1016
|
+
`,
|
|
1017
|
+
imports: [DbxLoadingComponent],
|
|
1018
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1019
|
+
standalone: true
|
|
1012
1020
|
}]
|
|
1013
1021
|
}] });
|
|
1014
1022
|
|
|
@@ -1022,27 +1030,11 @@ const STYLE_WRAPPER_KEY = 'style';
|
|
|
1022
1030
|
const WORKING_WRAPPER_KEY = 'working';
|
|
1023
1031
|
const EXPAND_WRAPPER_KEY = 'expand';
|
|
1024
1032
|
|
|
1033
|
+
const importsAndExports$7 = [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent];
|
|
1025
1034
|
class DbxFormFormlyWrapperModule {
|
|
1026
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1027
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1028
|
-
|
|
1029
|
-
DbxLoadingModule,
|
|
1030
|
-
DbxFlexLayoutModule,
|
|
1031
|
-
DbxSectionLayoutModule,
|
|
1032
|
-
MatButtonModule,
|
|
1033
|
-
MatSlideToggleModule,
|
|
1034
|
-
MatIconModule,
|
|
1035
|
-
FlexLayoutModule, i1$1.FormlyModule] });
|
|
1036
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyWrapperModule, imports: [CommonModule,
|
|
1037
|
-
DbxTextModule,
|
|
1038
|
-
DbxLoadingModule,
|
|
1039
|
-
DbxFlexLayoutModule,
|
|
1040
|
-
DbxSectionLayoutModule,
|
|
1041
|
-
MatButtonModule,
|
|
1042
|
-
MatSlideToggleModule,
|
|
1043
|
-
MatIconModule,
|
|
1044
|
-
FlexLayoutModule,
|
|
1045
|
-
FormlyModule.forChild({
|
|
1035
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1036
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, imports: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent, i1$2.FormlyModule], exports: [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent] });
|
|
1037
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, imports: [DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormToggleWrapperComponent, DbxFormWorkingWrapperComponent, FormlyModule.forChild({
|
|
1046
1038
|
wrappers: [
|
|
1047
1039
|
{ name: AUTO_TOUCH_WRAPPER_KEY, component: AutoTouchFieldWrapperComponent },
|
|
1048
1040
|
{ name: EXPAND_WRAPPER_KEY, component: DbxFormExpandWrapperComponent },
|
|
@@ -1056,19 +1048,11 @@ class DbxFormFormlyWrapperModule {
|
|
|
1056
1048
|
]
|
|
1057
1049
|
})] });
|
|
1058
1050
|
}
|
|
1059
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1051
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, decorators: [{
|
|
1060
1052
|
type: NgModule,
|
|
1061
1053
|
args: [{
|
|
1062
1054
|
imports: [
|
|
1063
|
-
|
|
1064
|
-
DbxTextModule,
|
|
1065
|
-
DbxLoadingModule,
|
|
1066
|
-
DbxFlexLayoutModule,
|
|
1067
|
-
DbxSectionLayoutModule,
|
|
1068
|
-
MatButtonModule,
|
|
1069
|
-
MatSlideToggleModule,
|
|
1070
|
-
MatIconModule,
|
|
1071
|
-
FlexLayoutModule,
|
|
1055
|
+
...importsAndExports$7,
|
|
1072
1056
|
FormlyModule.forChild({
|
|
1073
1057
|
wrappers: [
|
|
1074
1058
|
{ name: AUTO_TOUCH_WRAPPER_KEY, component: AutoTouchFieldWrapperComponent },
|
|
@@ -1083,59 +1067,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1083
1067
|
]
|
|
1084
1068
|
})
|
|
1085
1069
|
],
|
|
1086
|
-
|
|
1087
|
-
exports: []
|
|
1070
|
+
exports: importsAndExports$7
|
|
1088
1071
|
}]
|
|
1089
1072
|
}] });
|
|
1090
1073
|
|
|
1074
|
+
const importsAndExports$6 = [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent];
|
|
1091
1075
|
class DbxFormFormlyChecklistItemFieldModule {
|
|
1092
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1093
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1094
|
-
|
|
1095
|
-
FormsModule,
|
|
1096
|
-
ReactiveFormsModule,
|
|
1097
|
-
MatRippleModule,
|
|
1098
|
-
MatCheckboxModule,
|
|
1099
|
-
MatButtonModule,
|
|
1100
|
-
MatIconModule,
|
|
1101
|
-
DbxRouterAnchorModule,
|
|
1102
|
-
DbxInjectionComponentModule,
|
|
1103
|
-
DbxFormFormlyWrapperModule, i1$1.FormlyModule], exports: [DbxFormFormlyWrapperModule] });
|
|
1104
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, imports: [CommonModule,
|
|
1105
|
-
DbxTextModule,
|
|
1106
|
-
FormsModule,
|
|
1107
|
-
ReactiveFormsModule,
|
|
1108
|
-
MatRippleModule,
|
|
1109
|
-
MatCheckboxModule,
|
|
1110
|
-
MatButtonModule,
|
|
1111
|
-
MatIconModule,
|
|
1112
|
-
DbxRouterAnchorModule,
|
|
1113
|
-
DbxInjectionComponentModule,
|
|
1114
|
-
DbxFormFormlyWrapperModule,
|
|
1076
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1077
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, imports: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent, DbxFormFormlyWrapperModule, i1$2.FormlyModule], exports: [DbxFormFormlyWrapperModule] });
|
|
1078
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, imports: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxFormFormlyWrapperModule,
|
|
1115
1079
|
FormlyModule.forChild({
|
|
1116
1080
|
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1117
1081
|
}), DbxFormFormlyWrapperModule] });
|
|
1118
1082
|
}
|
|
1119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1083
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, decorators: [{
|
|
1120
1084
|
type: NgModule,
|
|
1121
1085
|
args: [{
|
|
1122
1086
|
imports: [
|
|
1123
|
-
|
|
1124
|
-
DbxTextModule,
|
|
1125
|
-
FormsModule,
|
|
1126
|
-
ReactiveFormsModule,
|
|
1127
|
-
MatRippleModule,
|
|
1128
|
-
MatCheckboxModule,
|
|
1129
|
-
MatButtonModule,
|
|
1130
|
-
MatIconModule,
|
|
1131
|
-
DbxRouterAnchorModule,
|
|
1132
|
-
DbxInjectionComponentModule,
|
|
1087
|
+
...importsAndExports$6,
|
|
1133
1088
|
DbxFormFormlyWrapperModule,
|
|
1134
1089
|
FormlyModule.forChild({
|
|
1135
1090
|
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1136
1091
|
})
|
|
1137
1092
|
],
|
|
1138
|
-
declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent],
|
|
1139
1093
|
exports: [DbxFormFormlyWrapperModule]
|
|
1140
1094
|
}]
|
|
1141
1095
|
}] });
|
|
@@ -1237,12 +1191,12 @@ function validatorsForFieldConfig(input) {
|
|
|
1237
1191
|
}
|
|
1238
1192
|
|
|
1239
1193
|
function checklistItemField(config) {
|
|
1240
|
-
const { key,
|
|
1194
|
+
const { key, displayContent, componentClass } = config;
|
|
1241
1195
|
const fieldConfig = formlyField({
|
|
1242
1196
|
key,
|
|
1243
1197
|
type: 'checklistitem',
|
|
1244
1198
|
...propsAndConfigForFieldConfig(config, {
|
|
1245
|
-
|
|
1199
|
+
displayContent,
|
|
1246
1200
|
componentClass
|
|
1247
1201
|
})
|
|
1248
1202
|
});
|
|
@@ -1270,8 +1224,8 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1270
1224
|
...config,
|
|
1271
1225
|
key
|
|
1272
1226
|
};
|
|
1273
|
-
if (currentField.
|
|
1274
|
-
mergedConfig.
|
|
1227
|
+
if (currentField.displayContent && config.displayContent) {
|
|
1228
|
+
mergedConfig.displayContent = combineLatest([currentField.displayContent, config.displayContent]).pipe(map(([a, b]) => {
|
|
1275
1229
|
const result = {
|
|
1276
1230
|
...a,
|
|
1277
1231
|
...b
|
|
@@ -1300,14 +1254,14 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1300
1254
|
}
|
|
1301
1255
|
showValueFieldArrayCount(key, config) {
|
|
1302
1256
|
return this.field({
|
|
1303
|
-
|
|
1257
|
+
displayContent: this.contentWithDisplayValueFromData(key, (x) => addPlusPrefixToNumber(x?.length)),
|
|
1304
1258
|
...config,
|
|
1305
1259
|
key
|
|
1306
1260
|
});
|
|
1307
1261
|
}
|
|
1308
1262
|
showValueField(key, config, labelFn = (x) => x?.toString()) {
|
|
1309
1263
|
return this.field({
|
|
1310
|
-
|
|
1264
|
+
displayContent: this.contentWithDisplayValueFromData(key, labelFn),
|
|
1311
1265
|
...config,
|
|
1312
1266
|
key
|
|
1313
1267
|
});
|
|
@@ -1352,42 +1306,41 @@ class DbxFormComponentFieldComponent extends FieldType {
|
|
|
1352
1306
|
get config() {
|
|
1353
1307
|
return this.field.componentField;
|
|
1354
1308
|
}
|
|
1355
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1356
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormComponentFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1310
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormComponentFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1357
1311
|
<div class="dbx-form-component" dbx-injection [config]="config"></div>
|
|
1358
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1312
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1359
1313
|
}
|
|
1360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormComponentFieldComponent, decorators: [{
|
|
1361
1315
|
type: Component,
|
|
1362
1316
|
args: [{
|
|
1363
1317
|
template: `
|
|
1364
1318
|
<div class="dbx-form-component" dbx-injection [config]="config"></div>
|
|
1365
|
-
|
|
1319
|
+
`,
|
|
1320
|
+
imports: [DbxInjectionComponent],
|
|
1321
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1322
|
+
standalone: true
|
|
1366
1323
|
}]
|
|
1367
1324
|
}] });
|
|
1368
1325
|
|
|
1326
|
+
const importsAndExports$5 = [DbxFormComponentFieldComponent];
|
|
1369
1327
|
class DbxFormFormlyComponentFieldModule {
|
|
1370
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1371
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1372
|
-
|
|
1373
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyComponentFieldModule, imports: [CommonModule,
|
|
1374
|
-
DbxInjectionComponentModule,
|
|
1375
|
-
FormlyModule.forChild({
|
|
1328
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1329
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, imports: [DbxFormComponentFieldComponent, i1$2.FormlyModule], exports: [DbxFormComponentFieldComponent] });
|
|
1330
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, imports: [importsAndExports$5, FormlyModule.forChild({
|
|
1376
1331
|
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1377
1332
|
})] });
|
|
1378
1333
|
}
|
|
1379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1334
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, decorators: [{
|
|
1380
1335
|
type: NgModule,
|
|
1381
1336
|
args: [{
|
|
1382
1337
|
imports: [
|
|
1383
|
-
|
|
1384
|
-
DbxInjectionComponentModule,
|
|
1338
|
+
...importsAndExports$5,
|
|
1385
1339
|
FormlyModule.forChild({
|
|
1386
1340
|
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1387
1341
|
})
|
|
1388
1342
|
],
|
|
1389
|
-
|
|
1390
|
-
exports: [DbxFormComponentFieldComponent]
|
|
1343
|
+
exports: importsAndExports$5
|
|
1391
1344
|
}]
|
|
1392
1345
|
}] });
|
|
1393
1346
|
|
|
@@ -1423,14 +1376,14 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1423
1376
|
_formControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
1424
1377
|
values$ = this._formControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
1425
1378
|
_listComponentClassObs = new BehaviorSubject(undefined);
|
|
1426
|
-
listComponentClass$ = this._listComponentClassObs.pipe(
|
|
1379
|
+
listComponentClass$ = this._listComponentClassObs.pipe(switchMapFilterMaybe());
|
|
1427
1380
|
config$ = this.listComponentClass$.pipe(map((componentClass) => {
|
|
1428
1381
|
const loadMore = this.loadMore;
|
|
1429
1382
|
const config = {
|
|
1430
1383
|
componentClass,
|
|
1431
1384
|
init: (listView) => {
|
|
1432
|
-
listView.
|
|
1433
|
-
listView.
|
|
1385
|
+
listView.setSelectionMode('select'); // always enable select
|
|
1386
|
+
listView.setState(this.field.props.state$);
|
|
1434
1387
|
if (loadMore != null) {
|
|
1435
1388
|
this._loadMoreSub.subscription = listView.loadMore.subscribe(() => loadMore());
|
|
1436
1389
|
}
|
|
@@ -1443,6 +1396,8 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1443
1396
|
isSelectedModifierFunction$ = this.values$.pipe(distinctUntilHasDifferentValues(), map((values) => {
|
|
1444
1397
|
return dbxValueListItemDecisionFunction(isSelectedDecisionFunctionFactory({ readKey: this.readKey })(values));
|
|
1445
1398
|
}), shareReplay(1));
|
|
1399
|
+
configSignal = toSignal(this.config$);
|
|
1400
|
+
isSelectedModifierFunctionSignal = toSignal(this.isSelectedModifierFunction$);
|
|
1446
1401
|
get label() {
|
|
1447
1402
|
return this.field.props.label;
|
|
1448
1403
|
}
|
|
@@ -1480,72 +1435,32 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1480
1435
|
this.formControl.markAsTouched();
|
|
1481
1436
|
}
|
|
1482
1437
|
}
|
|
1483
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1484
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1438
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxItemListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1439
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxItemListFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-list-item-field\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\">\n @if (label) {\n <span class=\"dbx-label dbx-label-padded\">{{ label }}</span>\n }\n <div class=\"dbx-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n <mat-divider></mat-divider>\n @if (description) {\n <div class=\"dbx-form-description\">{{ description }}</div>\n }\n</div>\n", dependencies: [{ kind: "ngmodule", type: DbxListModifierModule }, { kind: "directive", type: i1$1.DbxValueListItemModifierDirective, selector: "dbxListItemModifier,[dbxListItemModifier]", inputs: ["dbxListItemModifier"] }, { kind: "directive", type: i1$1.DbxListItemIsSelectedModifierDirective, selector: "dbxListItemIsSelectedModifier,[dbxListItemIsSelectedModifier]", inputs: ["dbxListItemIsSelectedModifier"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1485
1440
|
}
|
|
1486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1441
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxItemListFieldComponent, decorators: [{
|
|
1487
1442
|
type: Component,
|
|
1488
|
-
args: [{ template: "<div class=\"dbx-list-item-field\"
|
|
1443
|
+
args: [{ imports: [DbxListModifierModule, DbxInjectionComponent, MatDividerModule], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-list-item-field\" dbxListItemModifier [dbxListItemIsSelectedModifier]=\"isSelectedModifierFunctionSignal()\">\n @if (label) {\n <span class=\"dbx-label dbx-label-padded\">{{ label }}</span>\n }\n <div class=\"dbx-list-item-field-content\">\n <dbx-injection [config]=\"configSignal()\"></dbx-injection>\n </div>\n <mat-divider></mat-divider>\n @if (description) {\n <div class=\"dbx-form-description\">{{ description }}</div>\n }\n</div>\n" }]
|
|
1489
1444
|
}] });
|
|
1490
1445
|
|
|
1446
|
+
const importsAndExports$4 = [DbxItemListFieldComponent];
|
|
1491
1447
|
class DbxFormFormlyDbxListFieldModule {
|
|
1492
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1493
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1494
|
-
|
|
1495
|
-
DbxLoadingModule,
|
|
1496
|
-
DbxButtonModule,
|
|
1497
|
-
FormsModule,
|
|
1498
|
-
MatDividerModule,
|
|
1499
|
-
MatButtonModule,
|
|
1500
|
-
MatInputModule,
|
|
1501
|
-
MatFormFieldModule,
|
|
1502
|
-
ReactiveFormsModule,
|
|
1503
|
-
MatAutocompleteModule,
|
|
1504
|
-
MatIconModule,
|
|
1505
|
-
DbxInjectionComponentModule,
|
|
1506
|
-
DbxListLayoutModule, i1$1.FormlyModule], exports: [DbxItemListFieldComponent] });
|
|
1507
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, imports: [CommonModule,
|
|
1508
|
-
DbxTextModule,
|
|
1509
|
-
DbxLoadingModule,
|
|
1510
|
-
DbxButtonModule,
|
|
1511
|
-
FormsModule,
|
|
1512
|
-
MatDividerModule,
|
|
1513
|
-
MatButtonModule,
|
|
1514
|
-
MatInputModule,
|
|
1515
|
-
MatFormFieldModule,
|
|
1516
|
-
ReactiveFormsModule,
|
|
1517
|
-
MatAutocompleteModule,
|
|
1518
|
-
MatIconModule,
|
|
1519
|
-
DbxInjectionComponentModule,
|
|
1520
|
-
DbxListLayoutModule,
|
|
1521
|
-
FormlyModule.forChild({
|
|
1448
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1449
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, imports: [DbxItemListFieldComponent, i1$2.FormlyModule], exports: [DbxItemListFieldComponent] });
|
|
1450
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, imports: [importsAndExports$4, FormlyModule.forChild({
|
|
1522
1451
|
types: [{ name: 'dbxlistfield', component: DbxItemListFieldComponent }]
|
|
1523
1452
|
})] });
|
|
1524
1453
|
}
|
|
1525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1454
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, decorators: [{
|
|
1526
1455
|
type: NgModule,
|
|
1527
1456
|
args: [{
|
|
1528
1457
|
imports: [
|
|
1529
|
-
|
|
1530
|
-
DbxTextModule,
|
|
1531
|
-
DbxLoadingModule,
|
|
1532
|
-
DbxButtonModule,
|
|
1533
|
-
FormsModule,
|
|
1534
|
-
MatDividerModule,
|
|
1535
|
-
MatButtonModule,
|
|
1536
|
-
MatInputModule,
|
|
1537
|
-
MatFormFieldModule,
|
|
1538
|
-
ReactiveFormsModule,
|
|
1539
|
-
MatAutocompleteModule,
|
|
1540
|
-
MatIconModule,
|
|
1541
|
-
DbxInjectionComponentModule,
|
|
1542
|
-
DbxListLayoutModule,
|
|
1458
|
+
...importsAndExports$4,
|
|
1543
1459
|
FormlyModule.forChild({
|
|
1544
1460
|
types: [{ name: 'dbxlistfield', component: DbxItemListFieldComponent }]
|
|
1545
1461
|
})
|
|
1546
1462
|
],
|
|
1547
|
-
|
|
1548
|
-
exports: [DbxItemListFieldComponent]
|
|
1463
|
+
exports: importsAndExports$4
|
|
1549
1464
|
}]
|
|
1550
1465
|
}] });
|
|
1551
1466
|
|
|
@@ -1553,7 +1468,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1553
1468
|
* Used for picking pre-set values using items as the presentation.
|
|
1554
1469
|
*/
|
|
1555
1470
|
class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
1556
|
-
filterMatInput;
|
|
1471
|
+
filterMatInput = viewChild('matInput', { read: MatInput });
|
|
1557
1472
|
inputCtrl = new FormControl('');
|
|
1558
1473
|
_formControlObs = new BehaviorSubject(undefined);
|
|
1559
1474
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
@@ -1615,13 +1530,15 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1615
1530
|
/**
|
|
1616
1531
|
* Context used for managing the loading of items, or when the current results change.
|
|
1617
1532
|
*/
|
|
1618
|
-
context =
|
|
1533
|
+
context = listLoadingStateContext({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
|
|
1619
1534
|
filterItemsLoadingState$ = this.items$.pipe(map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1));
|
|
1535
|
+
noItemsAvailable$ = this.filterItemsLoadingState$.pipe(mapIsListLoadingStateWithEmptyValue(), distinctUntilChanged());
|
|
1620
1536
|
/**
|
|
1621
1537
|
* Context used for searching/filtering.
|
|
1622
1538
|
*/
|
|
1623
|
-
filterResultsContext =
|
|
1624
|
-
|
|
1539
|
+
filterResultsContext = listLoadingStateContext({ obs: this.filteredSearchResultsState$, showLoadingOnNoValue: true });
|
|
1540
|
+
itemsSignal = toSignal(this.items$);
|
|
1541
|
+
noItemsAvailableSignal = toSignal(this.noItemsAvailable$);
|
|
1625
1542
|
get readonly() {
|
|
1626
1543
|
return this.props.readonly;
|
|
1627
1544
|
}
|
|
@@ -1753,7 +1670,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1753
1670
|
this.context.loading$
|
|
1754
1671
|
.pipe(delay(10), filter((x) => x), first())
|
|
1755
1672
|
.subscribe(() => {
|
|
1756
|
-
this.filterMatInput?.focus();
|
|
1673
|
+
this.filterMatInput()?.focus();
|
|
1757
1674
|
});
|
|
1758
1675
|
}
|
|
1759
1676
|
ngOnDestroy() {
|
|
@@ -1802,15 +1719,12 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1802
1719
|
this.formControl.markAsTouched();
|
|
1803
1720
|
this.formControl.markAsDirty();
|
|
1804
1721
|
}
|
|
1805
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1806
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
1722
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1723
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: AbstractDbxPickableItemFieldDirective, viewQueries: [{ propertyName: "filterMatInput", first: true, predicate: ["matInput"], descendants: true, read: MatInput, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
1807
1724
|
}
|
|
1808
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1725
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, decorators: [{
|
|
1809
1726
|
type: Directive
|
|
1810
|
-
}]
|
|
1811
|
-
type: ViewChild,
|
|
1812
|
-
args: ['filterMatInput', { static: true }]
|
|
1813
|
-
}] } });
|
|
1727
|
+
}] });
|
|
1814
1728
|
|
|
1815
1729
|
/**
|
|
1816
1730
|
* Used for picking pre-set values using chips as the presentation.
|
|
@@ -1826,30 +1740,14 @@ class DbxPickableChipListFieldComponent extends AbstractDbxPickableItemFieldDire
|
|
|
1826
1740
|
}
|
|
1827
1741
|
}
|
|
1828
1742
|
}
|
|
1829
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1830
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1743
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableChipListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1744
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPickableChipListFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelect\" [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" [disabled]=\"readonly\" #chipList>\n @for (item of itemsSignal(); track item.itemValue.value) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\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 @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i1$3.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i1$3.MatChipListbox, selector: "mat-chip-listbox", inputs: ["multiple", "aria-orientation", "selectable", "compareWith", "required", "hideSingleSelectionIndicator", "value"], outputs: ["change"] }, { kind: "component", type: i1$3.MatChipOption, selector: "mat-basic-chip-option, [mat-basic-chip-option], mat-chip-option, [mat-chip-option]", inputs: ["selectable", "selected"], outputs: ["selectionChange"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1831
1745
|
}
|
|
1832
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1746
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableChipListFieldComponent, decorators: [{
|
|
1833
1747
|
type: Component,
|
|
1834
|
-
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n
|
|
1748
|
+
args: [{ imports: [MatChipsModule, NgTemplateOutlet, FormsModule, ReactiveFormsModule, MatIconModule, MatInputModule, DbxLoadingComponent, MatDivider, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\n <!-- Content -->\n <div class=\"dbx-pickable-item-field-chips\">\n <mat-chip-listbox [multiple]=\"multiSelect\" [required]=\"required\" [selectable]=\"!isReadonlyOrDisabled\" [disabled]=\"readonly\" #chipList>\n @for (item of itemsSignal(); track item.itemValue.value) {\n <mat-chip-option (click)=\"itemClicked(item)\" [selected]=\"item.selected\" [disabled]=\"isReadonlyOrDisabled || item.disabled\">\n @if (item.itemValue.icon) {\n <mat-icon matChipAvatar>{{ item.itemValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ item.itemValue.label }}</span>\n @if (item.itemValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ item.itemValue.sublabel }}</span>\n }\n </mat-chip-option>\n }\n </mat-chip-listbox>\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 @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n" }]
|
|
1835
1749
|
}] });
|
|
1836
1750
|
|
|
1837
|
-
/**
|
|
1838
|
-
* Used for picking pre-set values using a selection list as the presentation.
|
|
1839
|
-
*/
|
|
1840
|
-
class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
1841
|
-
onSelectionChange(event) {
|
|
1842
|
-
const items = event.items;
|
|
1843
|
-
const values = items.map((x) => x.itemValue.value);
|
|
1844
|
-
this.setValues(values);
|
|
1845
|
-
}
|
|
1846
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1847
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.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 i5.DbxLoadingComponent; }), selector: "dbx-loading", inputs: ["show", "text", "mode", "color", "diameter", "linear", "padding", "context", "loading", "error"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.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 i2.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i4$2.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 i2.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 i6.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" }] });
|
|
1848
|
-
}
|
|
1849
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
1850
|
-
type: Component,
|
|
1851
|
-
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" }]
|
|
1852
|
-
}] });
|
|
1853
1751
|
// MARK: Selection List
|
|
1854
1752
|
class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
1855
1753
|
constructor() {
|
|
@@ -1857,16 +1755,20 @@ class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrap
|
|
|
1857
1755
|
componentClass: DbxPickableListFieldItemListViewComponent
|
|
1858
1756
|
});
|
|
1859
1757
|
}
|
|
1860
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1861
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1758
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1759
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxPickableListFieldItemListComponent, isStandalone: true, selector: "dbx-form-pickable-item-field-item-list", providers: provideDbxListViewWrapper(DbxPickableListFieldItemListComponent), usesInheritance: true, ngImport: i0, template: "\n <dbx-list [state]=\"currentState$\" [config]=\"configSignal()\" [disabled]=\"disabled()\" [selectionMode]=\"selectionModeSignal()\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n <ng-content emptyLoading select=\"[emptyLoading]\"></ng-content>\n </dbx-list>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxListWrapperComponentImportsModule }, { kind: "component", type: i1$1.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1862
1760
|
}
|
|
1863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1761
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
|
|
1864
1762
|
type: Component,
|
|
1865
1763
|
args: [{
|
|
1866
1764
|
selector: 'dbx-form-pickable-item-field-item-list',
|
|
1867
|
-
template:
|
|
1765
|
+
template: DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE,
|
|
1766
|
+
imports: [DbxListWrapperComponentImportsModule],
|
|
1767
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1768
|
+
providers: provideDbxListViewWrapper(DbxPickableListFieldItemListComponent),
|
|
1769
|
+
standalone: true
|
|
1868
1770
|
}]
|
|
1869
|
-
}], ctorParameters:
|
|
1771
|
+
}], ctorParameters: () => [] });
|
|
1870
1772
|
/**
|
|
1871
1773
|
* NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
|
|
1872
1774
|
*/
|
|
@@ -1889,116 +1791,93 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
|
|
|
1889
1791
|
items$ = this.values$.pipe(
|
|
1890
1792
|
// NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
|
|
1891
1793
|
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
1892
|
-
|
|
1893
|
-
static
|
|
1894
|
-
|
|
1895
|
-
|
|
1794
|
+
itemsSignal = toSignal(this.items$);
|
|
1795
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1796
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxPickableListFieldItemListViewComponent, isStandalone: true, selector: "ng-component", providers: provideDbxListView(DbxPickableListFieldItemListViewComponent), usesInheritance: true, ngImport: i0, template: `
|
|
1797
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
1798
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxSelectionValueListViewContentComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }] });
|
|
1896
1799
|
}
|
|
1897
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1800
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
1898
1801
|
type: Component,
|
|
1899
1802
|
args: [{
|
|
1900
1803
|
template: `
|
|
1901
|
-
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="
|
|
1804
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
1902
1805
|
`,
|
|
1903
|
-
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent)
|
|
1806
|
+
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent),
|
|
1807
|
+
imports: [DbxSelectionValueListViewContentComponent],
|
|
1808
|
+
standalone: true
|
|
1904
1809
|
}]
|
|
1905
1810
|
}] });
|
|
1906
1811
|
class DbxPickableListFieldItemListViewItemComponent extends AbstractDbxValueListViewItemComponent {
|
|
1907
|
-
|
|
1908
|
-
|
|
1909
|
-
|
|
1910
|
-
|
|
1911
|
-
|
|
1912
|
-
}
|
|
1913
|
-
get icon() {
|
|
1914
|
-
return this.itemValue.icon;
|
|
1915
|
-
}
|
|
1916
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1917
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxPickableListFieldItemListViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1812
|
+
label = this.itemValue.label;
|
|
1813
|
+
sublabel = this.itemValue.sublabel;
|
|
1814
|
+
icon = this.itemValue.icon;
|
|
1815
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1816
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPickableListFieldItemListViewItemComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
1918
1817
|
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
1919
|
-
|
|
1818
|
+
@if (icon) {
|
|
1819
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
1820
|
+
}
|
|
1920
1821
|
<span class="dbx-chip-label">{{ label }}</span>
|
|
1921
|
-
|
|
1822
|
+
@if (sublabel) {
|
|
1823
|
+
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
1824
|
+
}
|
|
1922
1825
|
</div>
|
|
1923
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
1826
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1924
1827
|
}
|
|
1925
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
|
|
1926
1829
|
type: Component,
|
|
1927
1830
|
args: [{
|
|
1928
1831
|
template: `
|
|
1929
1832
|
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
1930
|
-
|
|
1833
|
+
@if (icon) {
|
|
1834
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
1835
|
+
}
|
|
1931
1836
|
<span class="dbx-chip-label">{{ label }}</span>
|
|
1932
|
-
|
|
1837
|
+
@if (sublabel) {
|
|
1838
|
+
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
1839
|
+
}
|
|
1933
1840
|
</div>
|
|
1934
|
-
|
|
1841
|
+
`,
|
|
1842
|
+
imports: [MatIconModule],
|
|
1843
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1844
|
+
standalone: true
|
|
1935
1845
|
}]
|
|
1936
1846
|
}] });
|
|
1847
|
+
// List Field Component
|
|
1848
|
+
/**
|
|
1849
|
+
* Used for picking pre-set values using a selection list as the presentation.
|
|
1850
|
+
*/
|
|
1851
|
+
class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
1852
|
+
onSelectionChange(event) {
|
|
1853
|
+
const items = event.items;
|
|
1854
|
+
const values = items.map((x) => x.itemValue.value);
|
|
1855
|
+
this.setValues(values);
|
|
1856
|
+
}
|
|
1857
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1858
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxPickableListFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\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 @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n", dependencies: [{ kind: "component", type: DbxPickableListFieldItemListComponent, selector: "dbx-form-pickable-item-field-item-list" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i4.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: MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1859
|
+
}
|
|
1860
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
1861
|
+
type: Component,
|
|
1862
|
+
args: [{ imports: [DbxPickableListFieldItemListComponent, NgTemplateOutlet, FormsModule, ReactiveFormsModule, MatInputModule, MatDivider, DbxLoadingComponent, DbxInjectionComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\">\n @if (showFilterInput) {\n <ng-container *ngTemplateOutlet=\"filterTemplate\"></ng-container>\n }\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 @if (noItemsAvailableSignal()) {\n <p class=\"dbx-label\">No items match this filter.</p>\n }\n </div>\n</ng-template>\n" }]
|
|
1863
|
+
}] });
|
|
1937
1864
|
|
|
1865
|
+
const importsAndExports$3 = [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent];
|
|
1938
1866
|
class DbxFormFormlyPickableFieldModule {
|
|
1939
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1940
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
1941
|
-
|
|
1942
|
-
DbxLoadingModule,
|
|
1943
|
-
DbxButtonModule,
|
|
1944
|
-
FormsModule,
|
|
1945
|
-
MatButtonModule,
|
|
1946
|
-
MatInputModule,
|
|
1947
|
-
MatFormFieldModule,
|
|
1948
|
-
ReactiveFormsModule,
|
|
1949
|
-
MatAutocompleteModule,
|
|
1950
|
-
MatListModule,
|
|
1951
|
-
DbxDatePipeModule,
|
|
1952
|
-
DbxRouterAnchorModule,
|
|
1953
|
-
MatChipsModule,
|
|
1954
|
-
MatIconModule,
|
|
1955
|
-
DbxInjectionComponentModule,
|
|
1956
|
-
DbxListLayoutModule, i1$1.FormlyModule] });
|
|
1957
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [CommonModule,
|
|
1958
|
-
DbxTextModule,
|
|
1959
|
-
DbxLoadingModule,
|
|
1960
|
-
DbxButtonModule,
|
|
1961
|
-
FormsModule,
|
|
1962
|
-
MatButtonModule,
|
|
1963
|
-
MatInputModule,
|
|
1964
|
-
MatFormFieldModule,
|
|
1965
|
-
ReactiveFormsModule,
|
|
1966
|
-
MatAutocompleteModule,
|
|
1967
|
-
MatListModule,
|
|
1968
|
-
DbxDatePipeModule,
|
|
1969
|
-
DbxRouterAnchorModule,
|
|
1970
|
-
MatChipsModule,
|
|
1971
|
-
MatIconModule,
|
|
1972
|
-
DbxInjectionComponentModule,
|
|
1973
|
-
DbxListLayoutModule,
|
|
1974
|
-
FormlyModule.forChild({
|
|
1867
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1868
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, i1$2.FormlyModule], exports: [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent] });
|
|
1869
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [importsAndExports$3, FormlyModule.forChild({
|
|
1975
1870
|
types: [
|
|
1976
1871
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
1977
1872
|
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1978
1873
|
]
|
|
1979
1874
|
})] });
|
|
1980
1875
|
}
|
|
1981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1876
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, decorators: [{
|
|
1982
1877
|
type: NgModule,
|
|
1983
1878
|
args: [{
|
|
1984
1879
|
imports: [
|
|
1985
|
-
|
|
1986
|
-
DbxTextModule,
|
|
1987
|
-
DbxLoadingModule,
|
|
1988
|
-
DbxButtonModule,
|
|
1989
|
-
FormsModule,
|
|
1990
|
-
MatButtonModule,
|
|
1991
|
-
MatInputModule,
|
|
1992
|
-
MatFormFieldModule,
|
|
1993
|
-
ReactiveFormsModule,
|
|
1994
|
-
MatAutocompleteModule,
|
|
1995
|
-
MatListModule,
|
|
1996
|
-
DbxDatePipeModule,
|
|
1997
|
-
DbxRouterAnchorModule,
|
|
1998
|
-
MatChipsModule,
|
|
1999
|
-
MatIconModule,
|
|
2000
|
-
DbxInjectionComponentModule,
|
|
2001
|
-
DbxListLayoutModule,
|
|
1880
|
+
...importsAndExports$3,
|
|
2002
1881
|
FormlyModule.forChild({
|
|
2003
1882
|
types: [
|
|
2004
1883
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
@@ -2006,8 +1885,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2006
1885
|
]
|
|
2007
1886
|
})
|
|
2008
1887
|
],
|
|
2009
|
-
|
|
2010
|
-
exports: []
|
|
1888
|
+
exports: importsAndExports$3
|
|
2011
1889
|
}]
|
|
2012
1890
|
}] });
|
|
2013
1891
|
|
|
@@ -2061,7 +1939,7 @@ function pickableValueFieldValuesConfigForStaticLabeledValues(input) {
|
|
|
2061
1939
|
const optionsMap = new Map(allOptions.map((x) => [x.value, x]));
|
|
2062
1940
|
return {
|
|
2063
1941
|
loadValues: () => of(values),
|
|
2064
|
-
filterValues: filterPickableItemFieldValuesByLabel,
|
|
1942
|
+
filterValues: filterPickableItemFieldValuesByLabel, // auto filter by label
|
|
2065
1943
|
displayForValue: (values) => of(values.map((x) => {
|
|
2066
1944
|
const meta = x.meta ?? optionsMap.get(x.value);
|
|
2067
1945
|
return { ...x, meta, label: meta?.label ?? unknownOptionLabel };
|
|
@@ -2071,99 +1949,106 @@ function pickableValueFieldValuesConfigForStaticLabeledValues(input) {
|
|
|
2071
1949
|
|
|
2072
1950
|
const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearchableField');
|
|
2073
1951
|
class DbxSearchableFieldAutocompleteItemComponent {
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
1952
|
+
displayValue = input.required();
|
|
1953
|
+
configSignal = computed(() => {
|
|
1954
|
+
const displayValue = this.displayValue();
|
|
2077
1955
|
const config = {
|
|
2078
|
-
...
|
|
1956
|
+
...displayValue.display,
|
|
2079
1957
|
providers: mergeArraysIntoArray([
|
|
2080
1958
|
{
|
|
2081
1959
|
provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN,
|
|
2082
|
-
useValue:
|
|
1960
|
+
useValue: displayValue
|
|
2083
1961
|
}
|
|
2084
|
-
],
|
|
1962
|
+
], displayValue.display.providers)
|
|
2085
1963
|
};
|
|
2086
1964
|
return config;
|
|
2087
|
-
})
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
this._displayValue.complete();
|
|
2094
|
-
}
|
|
2095
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
2096
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: "displayValue" }, ngImport: i0, template: `
|
|
2097
|
-
<dbx-anchor [block]="true" [anchor]="anchor$ | async">
|
|
2098
|
-
<dbx-injection [config]="config$ | async"></dbx-injection>
|
|
1965
|
+
});
|
|
1966
|
+
anchorSignal = computed(() => this.displayValue().anchor);
|
|
1967
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1968
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "18.2.13", type: DbxSearchableFieldAutocompleteItemComponent, isStandalone: true, selector: "dbx-searchable-field-autocomplete-item", inputs: { displayValue: { classPropertyName: "displayValue", publicName: "displayValue", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
1969
|
+
<dbx-anchor [block]="true" [anchor]="anchorSignal()">
|
|
1970
|
+
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
2099
1971
|
</dbx-anchor>
|
|
2100
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1972
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxAnchorComponent, selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2101
1973
|
}
|
|
2102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1974
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
|
|
2103
1975
|
type: Component,
|
|
2104
1976
|
args: [{
|
|
2105
1977
|
selector: 'dbx-searchable-field-autocomplete-item',
|
|
2106
1978
|
template: `
|
|
2107
|
-
<dbx-anchor [block]="true" [anchor]="
|
|
2108
|
-
<dbx-injection [config]="
|
|
1979
|
+
<dbx-anchor [block]="true" [anchor]="anchorSignal()">
|
|
1980
|
+
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
2109
1981
|
</dbx-anchor>
|
|
2110
|
-
|
|
1982
|
+
`,
|
|
1983
|
+
imports: [DbxAnchorComponent, DbxInjectionComponent],
|
|
1984
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1985
|
+
standalone: true
|
|
2111
1986
|
}]
|
|
2112
|
-
}]
|
|
2113
|
-
type: Input
|
|
2114
|
-
}] } });
|
|
1987
|
+
}] });
|
|
2115
1988
|
// MARK: Default
|
|
2116
1989
|
class AbstractDbxSearchableFieldDisplayDirective {
|
|
2117
1990
|
displayValue = inject(DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN);
|
|
2118
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2119
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
1991
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1992
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractDbxSearchableFieldDisplayDirective, ngImport: i0 });
|
|
2120
1993
|
}
|
|
2121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1994
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
|
|
2122
1995
|
type: Directive
|
|
2123
1996
|
}] });
|
|
2124
1997
|
class DbxDefaultSearchableFieldDisplayComponent extends AbstractDbxSearchableFieldDisplayDirective {
|
|
2125
|
-
|
|
2126
|
-
|
|
2127
|
-
|
|
2128
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2129
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxDefaultSearchableFieldDisplayComponent, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
|
|
1998
|
+
icon = this.displayValue.icon;
|
|
1999
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2000
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDefaultSearchableFieldDisplayComponent, isStandalone: true, selector: "dbx-default-searchable-field-display", usesInheritance: true, ngImport: i0, template: `
|
|
2130
2001
|
<div class="dbx-default-searchable-field-display dbx-flex-bar">
|
|
2131
|
-
|
|
2002
|
+
@if (icon) {
|
|
2003
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
2004
|
+
}
|
|
2132
2005
|
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
2133
|
-
|
|
2006
|
+
@if (displayValue.sublabel) {
|
|
2007
|
+
<span class="dbx-chip-sublabel">({{ displayValue.sublabel }})</span>
|
|
2008
|
+
}
|
|
2134
2009
|
</div>
|
|
2135
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2010
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2136
2011
|
}
|
|
2137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
|
|
2138
2013
|
type: Component,
|
|
2139
2014
|
args: [{
|
|
2140
2015
|
selector: 'dbx-default-searchable-field-display',
|
|
2141
2016
|
template: `
|
|
2142
2017
|
<div class="dbx-default-searchable-field-display dbx-flex-bar">
|
|
2143
|
-
|
|
2018
|
+
@if (icon) {
|
|
2019
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
2020
|
+
}
|
|
2144
2021
|
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
2145
|
-
|
|
2022
|
+
@if (displayValue.sublabel) {
|
|
2023
|
+
<span class="dbx-chip-sublabel">({{ displayValue.sublabel }})</span>
|
|
2024
|
+
}
|
|
2146
2025
|
</div>
|
|
2147
|
-
|
|
2026
|
+
`,
|
|
2027
|
+
imports: [MatIconModule],
|
|
2028
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2029
|
+
standalone: true
|
|
2148
2030
|
}]
|
|
2149
2031
|
}] });
|
|
2150
2032
|
|
|
2033
|
+
const DEFAULT_SEARCH_INPUT_PLACEHOLDER = 'Type to Search';
|
|
2034
|
+
const DEFAULT_SEARCHABLE_FIELD_DISPLAY = {
|
|
2035
|
+
componentClass: DbxDefaultSearchableFieldDisplayComponent
|
|
2036
|
+
};
|
|
2151
2037
|
/**
|
|
2152
2038
|
* Abstract searchable field that provides a feature for searching for values, and for displaying values using Observables.
|
|
2153
2039
|
*
|
|
2154
2040
|
* Display values are cached for performance.
|
|
2155
2041
|
*/
|
|
2156
2042
|
class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
2157
|
-
cdRef = inject(ChangeDetectorRef);
|
|
2158
2043
|
/**
|
|
2159
|
-
*
|
|
2044
|
+
* Optional override set by the parent class for whether or not to allow the current value to sync to the input.
|
|
2160
2045
|
*/
|
|
2161
2046
|
allowSyncValueToInput = false;
|
|
2162
2047
|
/**
|
|
2163
|
-
*
|
|
2048
|
+
* Default placeholder text to use when searchOnEmptyText is false.
|
|
2164
2049
|
*/
|
|
2165
|
-
|
|
2166
|
-
textInput;
|
|
2050
|
+
defaultSearchInputPlaceholder = DEFAULT_SEARCH_INPUT_PLACEHOLDER;
|
|
2051
|
+
textInput = viewChild('textInput', { read: (ElementRef) });
|
|
2167
2052
|
inputCtrl = new FormControl('');
|
|
2168
2053
|
_formControlObs = new BehaviorSubject(undefined);
|
|
2169
2054
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
@@ -2175,12 +2060,17 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2175
2060
|
// Return begin loading to setup the loading state.
|
|
2176
2061
|
startWithBeginLoading())), shareReplay(1));
|
|
2177
2062
|
_singleValueSyncSubscription = new SubscriptionObject();
|
|
2178
|
-
searchContext =
|
|
2179
|
-
searchResults$ = this.searchResultsState$.pipe(map((x) => x?.value ?? []));
|
|
2063
|
+
searchContext = loadingStateContext({ obs: this.searchResultsState$, showLoadingOnNoValue: false });
|
|
2064
|
+
searchResults$ = this.searchResultsState$.pipe(map((x) => x?.value ?? []), shareReplay(1));
|
|
2065
|
+
isLoadingSearchResults$ = this.searchResultsState$.pipe(map(isLoadingStateInLoadingState), distinctUntilChanged(), shareReplay(1));
|
|
2180
2066
|
_formControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
2181
2067
|
values$ = this._formControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
2182
2068
|
displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay(1));
|
|
2183
2069
|
displayValues$ = this.displayValuesState$.pipe(map((x) => x?.value ?? []));
|
|
2070
|
+
inputValueSignal = toSignal(this.inputValue$);
|
|
2071
|
+
searchResultsSignal = toSignal(this.searchResults$);
|
|
2072
|
+
displayValuesSignal = toSignal(this.displayValues$);
|
|
2073
|
+
isLoadingSearchResultsSignal = toSignal(this.isLoadingSearchResults$);
|
|
2184
2074
|
get name() {
|
|
2185
2075
|
return this.field.name ?? camelCase(this.label ?? this.key);
|
|
2186
2076
|
}
|
|
@@ -2205,6 +2095,12 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2205
2095
|
get searchOnEmptyText() {
|
|
2206
2096
|
return this.searchableField.searchOnEmptyText ?? false;
|
|
2207
2097
|
}
|
|
2098
|
+
get searchInputPlaceholder() {
|
|
2099
|
+
const searchOnEmpty = this.searchOnEmptyText;
|
|
2100
|
+
const placeholder = this.searchableField.placeholder;
|
|
2101
|
+
const test = placeholder || (searchOnEmpty ? undefined : this.defaultSearchInputPlaceholder) || '';
|
|
2102
|
+
return test;
|
|
2103
|
+
}
|
|
2208
2104
|
get autocomplete() {
|
|
2209
2105
|
return (this.props.attributes?.['autocomplete'] ?? this.key);
|
|
2210
2106
|
}
|
|
@@ -2260,7 +2156,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2260
2156
|
if (needsDisplay.length > 0) {
|
|
2261
2157
|
// Go get the display value.
|
|
2262
2158
|
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
2263
|
-
const defaultDisplay = mergeDbxInjectionComponentConfigs([
|
|
2159
|
+
const defaultDisplay = mergeDbxInjectionComponentConfigs([DEFAULT_SEARCHABLE_FIELD_DISPLAY, this.display]);
|
|
2264
2160
|
const anchorForValue = this.useAnchor && this.anchorForValue;
|
|
2265
2161
|
obs = displayValuesObs.pipe(first(), map((displayResults) => {
|
|
2266
2162
|
// Assign the default component classes to complete configuration.
|
|
@@ -2301,12 +2197,6 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2301
2197
|
if (this.searchableField.textInputValidator) {
|
|
2302
2198
|
this.inputCtrl.setValidators(this.searchableField.textInputValidator);
|
|
2303
2199
|
}
|
|
2304
|
-
if (!this.defaultDisplay?.componentClass) {
|
|
2305
|
-
this.defaultDisplay = {
|
|
2306
|
-
...this.defaultDisplay,
|
|
2307
|
-
componentClass: DbxDefaultSearchableFieldDisplayComponent
|
|
2308
|
-
};
|
|
2309
|
-
}
|
|
2310
2200
|
if (this.allowSyncValueToInput && this.multiSelect === false) {
|
|
2311
2201
|
this._singleValueSyncSubscription.subscription = this.displayValues$.subscribe((x) => {
|
|
2312
2202
|
if (x[0]) {
|
|
@@ -2339,7 +2229,6 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2339
2229
|
text = (text || '').trim();
|
|
2340
2230
|
this.inputCtrl.setValue(text.trim());
|
|
2341
2231
|
}
|
|
2342
|
-
// console.log('Add: ', text, this.inputCtrl.valid);
|
|
2343
2232
|
if (!this.inputCtrl.valid) {
|
|
2344
2233
|
return;
|
|
2345
2234
|
}
|
|
@@ -2366,7 +2255,10 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2366
2255
|
return addedValue;
|
|
2367
2256
|
}
|
|
2368
2257
|
addValue(value) {
|
|
2369
|
-
|
|
2258
|
+
const textInput = this.textInput();
|
|
2259
|
+
if (textInput) {
|
|
2260
|
+
textInput.nativeElement.value = '';
|
|
2261
|
+
}
|
|
2370
2262
|
this.inputCtrl.setValue(null);
|
|
2371
2263
|
this.setValues([...this.values, value]);
|
|
2372
2264
|
}
|
|
@@ -2408,17 +2300,17 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2408
2300
|
this.formControl.markAsDirty();
|
|
2409
2301
|
this.formControl.markAsTouched();
|
|
2410
2302
|
}
|
|
2411
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2412
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2303
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2304
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "18.2.13", type: AbstractDbxSearchableValueFieldDirective, viewQueries: [{ propertyName: "textInput", first: true, predicate: ["textInput"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0 });
|
|
2413
2305
|
}
|
|
2414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2306
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, decorators: [{
|
|
2415
2307
|
type: Directive
|
|
2416
|
-
}]
|
|
2417
|
-
type: ViewChild,
|
|
2418
|
-
args: ['textInput']
|
|
2419
|
-
}] } });
|
|
2308
|
+
}] });
|
|
2420
2309
|
|
|
2421
2310
|
class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
2311
|
+
get multiSelect() {
|
|
2312
|
+
return this.props.multiSelect ?? true;
|
|
2313
|
+
}
|
|
2422
2314
|
_blur = new Subject();
|
|
2423
2315
|
_blurSub = new SubscriptionObject();
|
|
2424
2316
|
separatorKeysCodes = [ENTER, COMMA];
|
|
@@ -2439,9 +2331,6 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2439
2331
|
const text = event.value ?? this.inputCtrl.value;
|
|
2440
2332
|
return this._addWithTextValue(text);
|
|
2441
2333
|
}
|
|
2442
|
-
get multiSelect() {
|
|
2443
|
-
return this.props.multiSelect ?? true;
|
|
2444
|
-
}
|
|
2445
2334
|
_syncSingleValue(value) {
|
|
2446
2335
|
// Do nothing
|
|
2447
2336
|
}
|
|
@@ -2460,12 +2349,12 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2460
2349
|
onBlur() {
|
|
2461
2350
|
this._blur.next();
|
|
2462
2351
|
}
|
|
2463
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2464
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2352
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2353
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxSearchableChipFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-grid [required]=\"required\" [disabled]=\"readonly\" #chipList>\n @for (displayValue of displayValuesSignal(); track displayValue.value) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeWithDisplayValue(displayValue)\">\n @if (displayValue.icon) {\n <mat-icon matChipAvatar>{{ displayValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n @if (displayValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ displayValue.sublabel }}</span>\n }\n @if (!readonly) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip-row>\n }\n <input #textInput [name]=\"name\" [placeholder]=\"searchInputPlaceholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\" />\n </mat-chip-grid>\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 @for (displayValue of searchResultsSignal(); track displayValue.value) {\n <mat-option [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: MatChipsModule }, { kind: "directive", type: i1$3.MatChipAvatar, selector: "mat-chip-avatar, [matChipAvatar]" }, { kind: "component", type: i1$3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i1$3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i1$3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i1$3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DbxLoadingModule }, { kind: "component", type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2465
2354
|
}
|
|
2466
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2355
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
|
|
2467
2356
|
type: Component,
|
|
2468
|
-
args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-grid [required]=\"required\" [disabled]=\"readonly\" #chipList>\n
|
|
2357
|
+
args: [{ imports: [MatChipsModule, MatIconModule, FormsModule, ReactiveFormsModule, DbxLoadingModule, MatAutocompleteModule, MatOptionModule, DbxSearchableFieldAutocompleteItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-grid [required]=\"required\" [disabled]=\"readonly\" #chipList>\n @for (displayValue of displayValuesSignal(); track displayValue.value) {\n <mat-chip-row [removable]=\"true\" (removed)=\"removeWithDisplayValue(displayValue)\">\n @if (displayValue.icon) {\n <mat-icon matChipAvatar>{{ displayValue.icon }}</mat-icon>\n }\n <span class=\"dbx-chip-label\">{{ displayValue.label }}</span>\n @if (displayValue.sublabel) {\n <span class=\"dbx-chip-sublabel\">{{ displayValue.sublabel }}</span>\n }\n @if (!readonly) {\n <mat-icon matChipRemove>cancel</mat-icon>\n }\n </mat-chip-row>\n }\n <input #textInput [name]=\"name\" [placeholder]=\"searchInputPlaceholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" autocomplete=\"{{ autocomplete }}\" [matAutocompleteDisabled]=\"readonly\" [matChipInputFor]=\"chipList\" (keydown)=\"tabPressedOnInput($event)\" [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\" (matChipInputTokenEnd)=\"addChip($event)\" (blur)=\"onBlur()\" />\n </mat-chip-grid>\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 @for (displayValue of searchResultsSignal(); track displayValue.value) {\n <mat-option [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
|
|
2469
2358
|
}] });
|
|
2470
2359
|
|
|
2471
2360
|
/**
|
|
@@ -2539,9 +2428,10 @@ function searchableTextField(config) {
|
|
|
2539
2428
|
*/
|
|
2540
2429
|
class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
2541
2430
|
allowSyncValueToInput = true;
|
|
2542
|
-
selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1)
|
|
2543
|
-
|
|
2544
|
-
|
|
2431
|
+
selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1));
|
|
2432
|
+
selectedDisplayValueSignal = toSignal(this.selectedDisplayValue$);
|
|
2433
|
+
hasValueSignal = computed(() => Boolean(this.selectedDisplayValueSignal()));
|
|
2434
|
+
showSelectedDisplayValueSignal = computed(() => this.showSelectedValue && this.hasValueSignal());
|
|
2545
2435
|
get searchableField() {
|
|
2546
2436
|
return this.props;
|
|
2547
2437
|
}
|
|
@@ -2551,91 +2441,58 @@ class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2551
2441
|
get multiSelect() {
|
|
2552
2442
|
return false;
|
|
2553
2443
|
}
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2444
|
+
/*
|
|
2445
|
+
private _clearInputSub = new SubscriptionObject();
|
|
2446
|
+
|
|
2447
|
+
override ngOnInit(): void {
|
|
2448
|
+
super.ngOnInit();
|
|
2449
|
+
|
|
2450
|
+
this._clearInputSub.subscription = this.inputValue$.pipe(skipWhile((x) => !x)).subscribe((x) => {
|
|
2451
|
+
if (!x) {
|
|
2452
|
+
// this.clearValues();
|
|
2453
|
+
}
|
|
2454
|
+
});
|
|
2562
2455
|
}
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2456
|
+
|
|
2457
|
+
override ngOnDestroy(): void {
|
|
2458
|
+
super.ngOnDestroy();
|
|
2459
|
+
this._clearInputSub.destroy();
|
|
2566
2460
|
}
|
|
2461
|
+
*/
|
|
2567
2462
|
selected(event) {
|
|
2568
|
-
|
|
2463
|
+
const value = event.option.value;
|
|
2464
|
+
console.log('selected', value);
|
|
2465
|
+
if (value._clear) {
|
|
2466
|
+
this.clearValues();
|
|
2467
|
+
}
|
|
2468
|
+
else if (!value._ignore) {
|
|
2469
|
+
this.addWithDisplayValue(value);
|
|
2470
|
+
}
|
|
2569
2471
|
}
|
|
2570
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2472
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2473
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxSearchableTextFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': hasValueSignal(), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n @if (showSelectedDisplayValueSignal()) {\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"selectedDisplayValueSignal()!\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabel) {\n <div class=\"dbx-label\">{{ searchLabel }}</div>\n }\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"searchInputPlaceholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly || disabled\" 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 @for (displayValue of searchResultsSignal(); track displayValue.value) {\n <mat-option [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n <!-- If No Results -->\n @if (searchResultsSignal()?.length === 0) {\n @if (!isLoadingSearchResultsSignal()) {\n <mat-option value=\"\" disabled>\n <p class=\"dbx-clear-hint text-center\">No results found.</p>\n </mat-option>\n } @else {\n <mat-option value=\"\" disabled>\n <p class=\"dbx-clear-hint text-center\">Loading...</p>\n </mat-option>\n }\n }\n <!-- Add/Pick String Value -->\n @if (allowStringValues && inputValueSignal()) {\n <mat-option [value]=\"{ value: inputValueSignal() }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValueSignal() }}\"</p>\n </mat-option>\n }\n <!-- Show clear value -->\n @if (showClearValue && hasValueSignal()) {\n <mat-option value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n }\n</mat-autocomplete>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: 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: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: DbxLoadingModule }, { kind: "component", type: i1$1.DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }, { kind: "ngmodule", type: MatOptionModule }, { kind: "component", type: i3.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: DbxSearchableFieldAutocompleteItemComponent, selector: "dbx-searchable-field-autocomplete-item", inputs: ["displayValue"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2572
2474
|
}
|
|
2573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2475
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
|
|
2574
2476
|
type: Component,
|
|
2575
|
-
args: [{ template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (
|
|
2477
|
+
args: [{ imports: [FormsModule, MatInput, NgClass, ReactiveFormsModule, DbxLoadingModule, MatOptionModule, MatAutocompleteModule, MatChipsModule, MatIconModule, DbxSearchableFieldAutocompleteItemComponent], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': hasValueSignal(), 'dbx-searchable-text-field-show-value': showSelectedValue }\">\n <!-- Result View -->\n @if (showSelectedDisplayValueSignal()) {\n <div class=\"dbx-searchable-text-field-value mat-option mat-option-text\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"selectedDisplayValueSignal()!\"></dbx-searchable-field-autocomplete-item>\n </div>\n }\n <div class=\"dbx-searchable-text-field-input\">\n @if (searchLabel) {\n <div class=\"dbx-label\">{{ searchLabel }}</div>\n }\n <!-- View -->\n <input type=\"search\" [name]=\"name\" matInput #textInput [placeholder]=\"searchInputPlaceholder\" [formControl]=\"inputCtrl\" [matAutocomplete]=\"auto\" [matAutocompleteDisabled]=\"readonly || disabled\" 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 @for (displayValue of searchResultsSignal(); track displayValue.value) {\n <mat-option [value]=\"displayValue\">\n <dbx-searchable-field-autocomplete-item [displayValue]=\"displayValue\"></dbx-searchable-field-autocomplete-item>\n </mat-option>\n }\n <!-- If No Results -->\n @if (searchResultsSignal()?.length === 0) {\n @if (!isLoadingSearchResultsSignal()) {\n <mat-option value=\"\" disabled>\n <p class=\"dbx-clear-hint text-center\">No results found.</p>\n </mat-option>\n } @else {\n <mat-option value=\"\" disabled>\n <p class=\"dbx-clear-hint text-center\">Loading...</p>\n </mat-option>\n }\n }\n <!-- Add/Pick String Value -->\n @if (allowStringValues && inputValueSignal()) {\n <mat-option [value]=\"{ value: inputValueSignal() }\">\n <p class=\"dbx-clear-hint text-center\">\"{{ inputValueSignal() }}\"</p>\n </mat-option>\n }\n <!-- Show clear value -->\n @if (showClearValue && hasValueSignal()) {\n <mat-option value=\"\">\n <p class=\"dbx-clear-hint text-center\">Clear</p>\n </mat-option>\n }\n</mat-autocomplete>\n" }]
|
|
2576
2478
|
}] });
|
|
2577
2479
|
|
|
2480
|
+
const importsAndExports$2 = [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent];
|
|
2578
2481
|
class DbxFormFormlySearchableFieldModule {
|
|
2579
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2580
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2581
|
-
|
|
2582
|
-
DbxLoadingModule,
|
|
2583
|
-
DbxButtonModule,
|
|
2584
|
-
FormsModule,
|
|
2585
|
-
MatButtonModule,
|
|
2586
|
-
MatInputModule,
|
|
2587
|
-
MatFormFieldModule,
|
|
2588
|
-
ReactiveFormsModule,
|
|
2589
|
-
MatAutocompleteModule,
|
|
2590
|
-
MatListModule,
|
|
2591
|
-
DbxDatePipeModule,
|
|
2592
|
-
DbxRouterAnchorModule,
|
|
2593
|
-
MatChipsModule,
|
|
2594
|
-
MatIconModule,
|
|
2595
|
-
DbxInjectionComponentModule, i1$1.FormlyModule], exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent] });
|
|
2596
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [CommonModule,
|
|
2597
|
-
DbxTextModule,
|
|
2598
|
-
DbxLoadingModule,
|
|
2599
|
-
DbxButtonModule,
|
|
2600
|
-
FormsModule,
|
|
2601
|
-
MatButtonModule,
|
|
2602
|
-
MatInputModule,
|
|
2603
|
-
MatFormFieldModule,
|
|
2604
|
-
ReactiveFormsModule,
|
|
2605
|
-
MatAutocompleteModule,
|
|
2606
|
-
MatListModule,
|
|
2607
|
-
DbxDatePipeModule,
|
|
2608
|
-
DbxRouterAnchorModule,
|
|
2609
|
-
MatChipsModule,
|
|
2610
|
-
MatIconModule,
|
|
2611
|
-
DbxInjectionComponentModule,
|
|
2612
|
-
FormlyModule.forChild({
|
|
2482
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2483
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent, i1$2.FormlyModule], exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent] });
|
|
2484
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [importsAndExports$2, FormlyModule.forChild({
|
|
2613
2485
|
types: [
|
|
2614
2486
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
2615
2487
|
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2616
2488
|
]
|
|
2617
2489
|
})] });
|
|
2618
2490
|
}
|
|
2619
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2491
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, decorators: [{
|
|
2620
2492
|
type: NgModule,
|
|
2621
2493
|
args: [{
|
|
2622
2494
|
imports: [
|
|
2623
|
-
|
|
2624
|
-
DbxTextModule,
|
|
2625
|
-
DbxLoadingModule,
|
|
2626
|
-
DbxButtonModule,
|
|
2627
|
-
FormsModule,
|
|
2628
|
-
MatButtonModule,
|
|
2629
|
-
MatInputModule,
|
|
2630
|
-
MatFormFieldModule,
|
|
2631
|
-
ReactiveFormsModule,
|
|
2632
|
-
MatAutocompleteModule,
|
|
2633
|
-
MatListModule,
|
|
2634
|
-
DbxDatePipeModule,
|
|
2635
|
-
DbxRouterAnchorModule,
|
|
2636
|
-
MatChipsModule,
|
|
2637
|
-
MatIconModule,
|
|
2638
|
-
DbxInjectionComponentModule,
|
|
2495
|
+
...importsAndExports$2,
|
|
2639
2496
|
FormlyModule.forChild({
|
|
2640
2497
|
types: [
|
|
2641
2498
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
@@ -2643,15 +2500,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2643
2500
|
]
|
|
2644
2501
|
})
|
|
2645
2502
|
],
|
|
2646
|
-
|
|
2647
|
-
exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent]
|
|
2503
|
+
exports: importsAndExports$2
|
|
2648
2504
|
}]
|
|
2649
2505
|
}] });
|
|
2650
2506
|
|
|
2651
2507
|
function chipTextField(config) {
|
|
2652
2508
|
const convertStringValue = config.caseSensitive ? (x) => x : (x) => x?.toLowerCase();
|
|
2653
2509
|
return searchableChipField({
|
|
2654
|
-
search: () => of([]),
|
|
2510
|
+
search: () => of([]), // no search by default
|
|
2655
2511
|
...config,
|
|
2656
2512
|
allowStringValues: true,
|
|
2657
2513
|
convertStringValue,
|
|
@@ -2672,7 +2528,7 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2672
2528
|
_formControlObs = new BehaviorSubject(undefined);
|
|
2673
2529
|
_fromOpenSource = new BehaviorSubject({ values: [], valuesSet: new Set() });
|
|
2674
2530
|
_loadSources = new BehaviorSubject(undefined);
|
|
2675
|
-
buttonElement;
|
|
2531
|
+
buttonElement = viewChild('button', { read: (ElementRef) });
|
|
2676
2532
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
2677
2533
|
currentFormControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
|
|
2678
2534
|
values$ = this.currentFormControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
@@ -2784,7 +2640,7 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2784
2640
|
}));
|
|
2785
2641
|
return obs;
|
|
2786
2642
|
})), shareReplay(1));
|
|
2787
|
-
allOptionGroups$ = this.allOptionGroupsState$.pipe(
|
|
2643
|
+
allOptionGroups$ = this.allOptionGroupsState$.pipe(valueFromFinishedLoadingState(), map((x) => x ?? []), shareReplay(1));
|
|
2788
2644
|
options$ = this.allOptionGroups$.pipe(map((x) => {
|
|
2789
2645
|
const { included: groupedValues, excluded: nonGroupedGroup } = separateValues(x, (y) => Boolean(y.label));
|
|
2790
2646
|
const result = {
|
|
@@ -2795,6 +2651,8 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2795
2651
|
}), shareReplay(1));
|
|
2796
2652
|
nonGroupedValues$ = this.options$.pipe(map((x) => x.nonGroupedValues));
|
|
2797
2653
|
groupedOptions$ = this.options$.pipe(map((x) => x.groupedValues));
|
|
2654
|
+
nonGroupedValuesSignal = toSignal(this.nonGroupedValues$);
|
|
2655
|
+
groupedOptionsSignal = toSignal(this.groupedOptions$);
|
|
2798
2656
|
get sourceSelectField() {
|
|
2799
2657
|
return this.props;
|
|
2800
2658
|
}
|
|
@@ -2914,8 +2772,8 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2914
2772
|
}
|
|
2915
2773
|
handleSelectOptions = (_, context) => {
|
|
2916
2774
|
const { openSource } = this;
|
|
2917
|
-
|
|
2918
|
-
|
|
2775
|
+
const origin = this.buttonElement();
|
|
2776
|
+
if (openSource && origin) {
|
|
2919
2777
|
const sourceObs = openSource({ origin });
|
|
2920
2778
|
context.startWorkingWithObservable(sourceObs.pipe(first(), tap((result) => {
|
|
2921
2779
|
const valuesToAdd = mergeArrays([result.select, result.options]);
|
|
@@ -2964,16 +2822,13 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2964
2822
|
this.formControl.markAsDirty();
|
|
2965
2823
|
this.formControl.markAsTouched();
|
|
2966
2824
|
}
|
|
2967
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2968
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2825
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceSelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2826
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormSourceSelectFieldComponent, isStandalone: true, selector: "dbx-form-sourceselectfield", viewQueries: [{ propertyName: "buttonElement", first: true, predicate: ["button"], descendants: true, read: ElementRef, isSignal: true }], 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 @for (value of nonGroupedValuesSignal(); track value.value) {\n <mat-option [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n }\n @for (optionGroup of groupedOptionsSignal(); track optionGroup.label) {\n <mat-optgroup [label]=\"optionGroup.label\">\n @for (value of optionGroup.values; track value.value) {\n <mat-option [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (showOpenSourceButton) {\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\" class=\"dbx-source-select-field-button\">\n <dbx-button #button dbxActionButton [fab]=\"true\" [iconOnly]=\"true\" [icon]=\"selectButtonIcon\"></dbx-button>\n </dbx-action>\n }\n </div>\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n</div>\n", dependencies: [{ kind: "component", type: MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["type", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab"] }, { kind: "component", type: MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: DbxActionModule }, { kind: "directive", type: i2$3.DbxActionDirective, selector: "dbx-action,[dbxAction],dbx-action-context,[dbxActionContext]", exportAs: ["action", "dbxAction"] }, { kind: "directive", type: i2$3.DbxActionHandlerDirective, selector: "[dbxActionHandler]", inputs: ["dbxActionHandler"] }, { kind: "directive", type: i2$3.DbxActionValueDirective, selector: "dbxActionValue,[dbxActionValue]", inputs: ["dbxActionValue"] }, { kind: "directive", type: i2$3.DbxActionButtonDirective, selector: "[dbxActionButton]" }, { kind: "component", type: DbxLoadingComponent, selector: "dbx-loading", inputs: ["padding", "show", "text", "mode", "color", "diameter", "linear", "loading", "error", "context"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2969
2827
|
}
|
|
2970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2828
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceSelectFieldComponent, decorators: [{
|
|
2971
2829
|
type: Component,
|
|
2972
|
-
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
|
|
2973
|
-
}]
|
|
2974
|
-
type: ViewChild,
|
|
2975
|
-
args: ['button', { read: ElementRef, static: false }]
|
|
2976
|
-
}] } });
|
|
2830
|
+
args: [{ selector: 'dbx-form-sourceselectfield', changeDetection: ChangeDetectionStrategy.OnPush, imports: [MatSelect, MatOption, FormsModule, ReactiveFormsModule, DbxButtonComponent, MatOptgroup, DbxButtonSpacerDirective, DbxActionModule, DbxLoadingComponent], standalone: true, 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 @for (value of nonGroupedValuesSignal(); track value.value) {\n <mat-option [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n }\n @for (optionGroup of groupedOptionsSignal(); track optionGroup.label) {\n <mat-optgroup [label]=\"optionGroup.label\">\n @for (value of optionGroup.values; track value.value) {\n <mat-option [value]=\"value.value\">\n {{ value.label }}\n </mat-option>\n }\n </mat-optgroup>\n }\n </mat-select>\n @if (showOpenSourceButton) {\n <dbx-button-spacer></dbx-button-spacer>\n <dbx-action dbxActionValue [dbxActionHandler]=\"handleSelectOptions\" class=\"dbx-source-select-field-button\">\n <dbx-button #button dbxActionButton [fab]=\"true\" [iconOnly]=\"true\" [icon]=\"selectButtonIcon\"></dbx-button>\n </dbx-action>\n }\n </div>\n <dbx-loading class=\"dbx-source-select-field-loading\" [linear]=\"true\" [context]=\"context\"></dbx-loading>\n</div>\n" }]
|
|
2831
|
+
}] });
|
|
2977
2832
|
|
|
2978
2833
|
function sourceSelectField(config) {
|
|
2979
2834
|
const { key, materialFormField } = config;
|
|
@@ -2989,74 +2844,22 @@ function sourceSelectField(config) {
|
|
|
2989
2844
|
}
|
|
2990
2845
|
|
|
2991
2846
|
class DbxFormFormlySourceSelectModule {
|
|
2992
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2993
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
2994
|
-
|
|
2995
|
-
MatInputModule,
|
|
2996
|
-
MatDividerModule,
|
|
2997
|
-
MatFormFieldModule,
|
|
2998
|
-
MatSelectModule,
|
|
2999
|
-
MatButtonModule,
|
|
3000
|
-
MatDatepickerModule,
|
|
3001
|
-
MatNativeDateModule,
|
|
3002
|
-
MatMenuModule,
|
|
3003
|
-
ReactiveFormsModule,
|
|
3004
|
-
DbxDatePipeModule,
|
|
3005
|
-
DbxLoadingModule,
|
|
3006
|
-
DbxButtonModule,
|
|
3007
|
-
DbxActionModule,
|
|
3008
|
-
MatChipsModule,
|
|
3009
|
-
MatIconModule,
|
|
3010
|
-
FlexLayoutModule, i1$1.FormlyModule], exports: [DbxFormSourceSelectFieldComponent] });
|
|
3011
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [CommonModule,
|
|
3012
|
-
FormsModule,
|
|
3013
|
-
MatInputModule,
|
|
3014
|
-
MatDividerModule,
|
|
3015
|
-
MatFormFieldModule,
|
|
3016
|
-
MatSelectModule,
|
|
3017
|
-
MatButtonModule,
|
|
3018
|
-
MatDatepickerModule,
|
|
3019
|
-
MatNativeDateModule,
|
|
3020
|
-
MatMenuModule,
|
|
3021
|
-
ReactiveFormsModule,
|
|
3022
|
-
DbxDatePipeModule,
|
|
3023
|
-
DbxLoadingModule,
|
|
3024
|
-
DbxButtonModule,
|
|
3025
|
-
DbxActionModule,
|
|
3026
|
-
MatChipsModule,
|
|
3027
|
-
MatIconModule,
|
|
3028
|
-
FlexLayoutModule,
|
|
2847
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2848
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [DbxFormSourceSelectFieldComponent, i1$2.FormlyModule], exports: [DbxFormSourceSelectFieldComponent] });
|
|
2849
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [DbxFormSourceSelectFieldComponent,
|
|
3029
2850
|
FormlyModule.forChild({
|
|
3030
2851
|
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3031
2852
|
})] });
|
|
3032
2853
|
}
|
|
3033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2854
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, decorators: [{
|
|
3034
2855
|
type: NgModule,
|
|
3035
2856
|
args: [{
|
|
3036
2857
|
imports: [
|
|
3037
|
-
|
|
3038
|
-
FormsModule,
|
|
3039
|
-
MatInputModule,
|
|
3040
|
-
MatDividerModule,
|
|
3041
|
-
MatFormFieldModule,
|
|
3042
|
-
MatSelectModule,
|
|
3043
|
-
MatButtonModule,
|
|
3044
|
-
MatDatepickerModule,
|
|
3045
|
-
MatNativeDateModule,
|
|
3046
|
-
MatMenuModule,
|
|
3047
|
-
ReactiveFormsModule,
|
|
3048
|
-
DbxDatePipeModule,
|
|
3049
|
-
DbxLoadingModule,
|
|
3050
|
-
DbxButtonModule,
|
|
3051
|
-
DbxActionModule,
|
|
3052
|
-
MatChipsModule,
|
|
3053
|
-
MatIconModule,
|
|
3054
|
-
FlexLayoutModule,
|
|
2858
|
+
DbxFormSourceSelectFieldComponent,
|
|
3055
2859
|
FormlyModule.forChild({
|
|
3056
2860
|
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3057
2861
|
})
|
|
3058
2862
|
],
|
|
3059
|
-
declarations: [DbxFormSourceSelectFieldComponent],
|
|
3060
2863
|
exports: [DbxFormSourceSelectFieldComponent]
|
|
3061
2864
|
}]
|
|
3062
2865
|
}] });
|
|
@@ -3097,11 +2900,11 @@ function addValueSelectionOptionFunction(label) {
|
|
|
3097
2900
|
}
|
|
3098
2901
|
|
|
3099
2902
|
class DbxFormFormlySelectionModule {
|
|
3100
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3101
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
3102
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
2903
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2904
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
2905
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
3103
2906
|
}
|
|
3104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2907
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
|
|
3105
2908
|
type: NgModule,
|
|
3106
2909
|
args: [{
|
|
3107
2910
|
imports: [CommonModule],
|
|
@@ -3116,7 +2919,8 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3116
2919
|
_sub = new SubscriptionObject();
|
|
3117
2920
|
compactClass$ = mapCompactModeObs(this._compactContextStore?.mode$, {
|
|
3118
2921
|
compact: 'dbx-texteditor-field-compact'
|
|
3119
|
-
});
|
|
2922
|
+
}).pipe(filterMaybe());
|
|
2923
|
+
compactClassSignal = toSignal(this.compactClass$, { initialValue: '' });
|
|
3120
2924
|
get formGroupName() {
|
|
3121
2925
|
return this.field.key;
|
|
3122
2926
|
}
|
|
@@ -3134,9 +2938,11 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3134
2938
|
}
|
|
3135
2939
|
ngOnInit() {
|
|
3136
2940
|
this._editor = new Editor({});
|
|
2941
|
+
// TODO: Sync disabled state too
|
|
2942
|
+
// TODO: Sync the value periodically while not focused too
|
|
3137
2943
|
// Watch for value changes every second and update the pristine level.
|
|
3138
2944
|
this._sub.subscription = this.editor.valueChanges
|
|
3139
|
-
.pipe(debounceTime(
|
|
2945
|
+
.pipe(debounceTime(50), filter(() => this.editor.view.hasFocus()))
|
|
3140
2946
|
.subscribe(() => {
|
|
3141
2947
|
this.formControl.updateValueAndValidity();
|
|
3142
2948
|
this.formControl.markAsDirty();
|
|
@@ -3144,81 +2950,72 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3144
2950
|
}
|
|
3145
2951
|
ngOnDestroy() {
|
|
3146
2952
|
super.ngOnDestroy();
|
|
3147
|
-
if (this.
|
|
3148
|
-
this.
|
|
3149
|
-
delete this._editor;
|
|
2953
|
+
if (this._editor != null) {
|
|
2954
|
+
this._editor.destroy();
|
|
3150
2955
|
}
|
|
3151
2956
|
this._sub.destroy();
|
|
3152
2957
|
}
|
|
3153
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3155
|
-
<div class="dbx-texteditor-field" [ngClass]="(
|
|
3156
|
-
|
|
2958
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextEditorFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2959
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxTextEditorFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
2960
|
+
<div class="dbx-texteditor-field" [ngClass]="compactClassSignal()" [formGroup]="formGroup">
|
|
2961
|
+
@if (label) {
|
|
2962
|
+
<span class="dbx-label">{{ label }}</span>
|
|
2963
|
+
}
|
|
3157
2964
|
<div class="dbx-texteditor-field-input">
|
|
3158
2965
|
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
3159
2966
|
</div>
|
|
3160
2967
|
<div class="dbx-texteditor-field-menu">
|
|
3161
2968
|
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
3162
2969
|
</div>
|
|
3163
|
-
|
|
2970
|
+
@if (description) {
|
|
2971
|
+
<div class="dbx-form-description">{{ description }}</div>
|
|
2972
|
+
}
|
|
3164
2973
|
</div>
|
|
3165
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
2974
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: NgxEditorModule }, { kind: "component", type: i1$4.NgxEditorComponent, selector: "ngx-editor", inputs: ["editor", "outputFormat", "placeholder"], outputs: ["focusOut", "focusIn"] }, { kind: "component", type: i1$4.MenuComponent, selector: "ngx-editor-menu", inputs: ["toolbar", "colorPresets", "disabled", "editor", "customMenuRef", "dropdownPlacement"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3166
2975
|
}
|
|
3167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2976
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextEditorFieldComponent, decorators: [{
|
|
3168
2977
|
type: Component,
|
|
3169
2978
|
args: [{
|
|
3170
2979
|
template: `
|
|
3171
|
-
<div class="dbx-texteditor-field" [ngClass]="(
|
|
3172
|
-
|
|
2980
|
+
<div class="dbx-texteditor-field" [ngClass]="compactClassSignal()" [formGroup]="formGroup">
|
|
2981
|
+
@if (label) {
|
|
2982
|
+
<span class="dbx-label">{{ label }}</span>
|
|
2983
|
+
}
|
|
3173
2984
|
<div class="dbx-texteditor-field-input">
|
|
3174
2985
|
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
3175
2986
|
</div>
|
|
3176
2987
|
<div class="dbx-texteditor-field-menu">
|
|
3177
2988
|
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
3178
2989
|
</div>
|
|
3179
|
-
|
|
2990
|
+
@if (description) {
|
|
2991
|
+
<div class="dbx-form-description">{{ description }}</div>
|
|
2992
|
+
}
|
|
3180
2993
|
</div>
|
|
3181
|
-
|
|
2994
|
+
`,
|
|
2995
|
+
imports: [NgClass, NgxEditorModule, FormsModule, ReactiveFormsModule],
|
|
2996
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2997
|
+
standalone: true
|
|
3182
2998
|
}]
|
|
3183
2999
|
}] });
|
|
3184
3000
|
|
|
3001
|
+
const importsAndExports$1 = [DbxTextEditorFieldComponent];
|
|
3185
3002
|
class DbxFormFormlyTextEditorFieldModule {
|
|
3186
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3187
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
3188
|
-
|
|
3189
|
-
FormsModule,
|
|
3190
|
-
ReactiveFormsModule,
|
|
3191
|
-
NgxEditorModule,
|
|
3192
|
-
MatFormFieldModule,
|
|
3193
|
-
MatInputModule, i1$1.FormlyModule] });
|
|
3194
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [CommonModule,
|
|
3195
|
-
DbxTextModule,
|
|
3196
|
-
FormsModule,
|
|
3197
|
-
ReactiveFormsModule,
|
|
3198
|
-
NgxEditorModule,
|
|
3199
|
-
MatFormFieldModule,
|
|
3200
|
-
MatInputModule,
|
|
3201
|
-
FormlyModule.forChild({
|
|
3003
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3004
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [DbxTextEditorFieldComponent, i1$2.FormlyModule], exports: [DbxTextEditorFieldComponent] });
|
|
3005
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [importsAndExports$1, FormlyModule.forChild({
|
|
3202
3006
|
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
3203
3007
|
})] });
|
|
3204
3008
|
}
|
|
3205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3009
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, decorators: [{
|
|
3206
3010
|
type: NgModule,
|
|
3207
3011
|
args: [{
|
|
3208
3012
|
imports: [
|
|
3209
|
-
|
|
3210
|
-
DbxTextModule,
|
|
3211
|
-
FormsModule,
|
|
3212
|
-
ReactiveFormsModule,
|
|
3213
|
-
NgxEditorModule,
|
|
3214
|
-
MatFormFieldModule,
|
|
3215
|
-
MatInputModule,
|
|
3013
|
+
...importsAndExports$1,
|
|
3216
3014
|
FormlyModule.forChild({
|
|
3217
3015
|
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
3218
3016
|
})
|
|
3219
3017
|
],
|
|
3220
|
-
|
|
3221
|
-
exports: []
|
|
3018
|
+
exports: importsAndExports$1
|
|
3222
3019
|
}]
|
|
3223
3020
|
}] });
|
|
3224
3021
|
|
|
@@ -3227,7 +3024,7 @@ function textEditorField(config) {
|
|
|
3227
3024
|
const fieldConfig = formlyField({
|
|
3228
3025
|
key,
|
|
3229
3026
|
type: 'texteditor',
|
|
3230
|
-
defaultValue: '',
|
|
3027
|
+
defaultValue: '', // Set to always get a string as a result.
|
|
3231
3028
|
modelOptions: {
|
|
3232
3029
|
// https://formly.dev/examples/validation/async-validation-update-on
|
|
3233
3030
|
// Set to trigger value update on blurs with the form. However, the value is set internally too.
|
|
@@ -3322,9 +3119,6 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
|
3322
3119
|
return this.count < max;
|
|
3323
3120
|
}
|
|
3324
3121
|
}
|
|
3325
|
-
trackByFunction = (i, x) => {
|
|
3326
|
-
return x.key;
|
|
3327
|
-
};
|
|
3328
3122
|
/**
|
|
3329
3123
|
* Moves the target index up one value.
|
|
3330
3124
|
*
|
|
@@ -3375,38 +3169,48 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
|
3375
3169
|
fieldConfig
|
|
3376
3170
|
});
|
|
3377
3171
|
}
|
|
3378
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3379
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3172
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3173
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormRepeatArrayTypeComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
3380
3174
|
<div class="dbx-form-repeat-array">
|
|
3381
3175
|
<dbx-subsection [header]="label" [hint]="description">
|
|
3382
3176
|
<!-- Fields -->
|
|
3383
3177
|
<div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
|
|
3384
|
-
|
|
3385
|
-
<div class="dbx-form-repeat-array-
|
|
3386
|
-
|
|
3387
|
-
<
|
|
3388
|
-
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3396
|
-
|
|
3397
|
-
|
|
3398
|
-
|
|
3399
|
-
|
|
3178
|
+
@for (field of field.fieldGroup; track field.key; let i = $index; let last = $last) {
|
|
3179
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y">
|
|
3180
|
+
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3181
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3182
|
+
@if (!disableRearrange) {
|
|
3183
|
+
<button class="dbx-form-repeat-array-drag-button" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3184
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3185
|
+
}
|
|
3186
|
+
<h4>
|
|
3187
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3188
|
+
<span>{{ labelForItem(field, i) }}</span>
|
|
3189
|
+
</h4>
|
|
3190
|
+
<span class="dbx-spacer"></span>
|
|
3191
|
+
@if (allowDuplicate(i)) {
|
|
3192
|
+
<dbx-button [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3193
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3194
|
+
}
|
|
3195
|
+
@if (allowRemove(i)) {
|
|
3196
|
+
<dbx-button color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3197
|
+
}
|
|
3198
|
+
</dbx-bar>
|
|
3199
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3200
|
+
</div>
|
|
3201
|
+
}
|
|
3400
3202
|
</div>
|
|
3401
3203
|
<!-- Add Button -->
|
|
3402
3204
|
<div class="dbx-form-repeat-array-footer">
|
|
3403
|
-
|
|
3205
|
+
@if (allowAdd) {
|
|
3206
|
+
<dbx-button [raised]="true" [disabled]="addItemDisabled" [text]="addText" (buttonClick)="addClicked()"></dbx-button>
|
|
3207
|
+
}
|
|
3404
3208
|
</div>
|
|
3405
3209
|
</dbx-subsection>
|
|
3406
3210
|
</div>
|
|
3407
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
3211
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxSubSectionComponent, selector: "dbx-subsection" }, { kind: "directive", type: DbxBarDirective, selector: "dbx-bar,[dbxBar]", inputs: ["color"] }, { kind: "component", type: DbxButtonComponent, selector: "dbx-button", inputs: ["type", "color", "spinnerColor", "customButtonColor", "customTextColor", "customSpinnerColor", "basic", "raised", "stroked", "flat", "iconOnly", "fab"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$2.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i2$4.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i2$4.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i2$4.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }, { kind: "directive", type: i2$4.CdkDragPlaceholder, selector: "ng-template[cdkDragPlaceholder]", inputs: ["data"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
3408
3212
|
}
|
|
3409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3213
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
|
|
3410
3214
|
type: Component,
|
|
3411
3215
|
args: [{
|
|
3412
3216
|
template: `
|
|
@@ -3414,79 +3218,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3414
3218
|
<dbx-subsection [header]="label" [hint]="description">
|
|
3415
3219
|
<!-- Fields -->
|
|
3416
3220
|
<div class="dbx-form-repeat-array-fields" cdkDropList [cdkDropListDisabled]="disableRearrange" (cdkDropListDropped)="drop($event)">
|
|
3417
|
-
|
|
3418
|
-
<div class="dbx-form-repeat-array-
|
|
3419
|
-
|
|
3420
|
-
<
|
|
3421
|
-
|
|
3422
|
-
|
|
3423
|
-
|
|
3424
|
-
|
|
3425
|
-
|
|
3426
|
-
|
|
3427
|
-
|
|
3428
|
-
|
|
3429
|
-
|
|
3430
|
-
|
|
3431
|
-
|
|
3432
|
-
|
|
3221
|
+
@for (field of field.fieldGroup; track field.key; let i = $index; let last = $last) {
|
|
3222
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y">
|
|
3223
|
+
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3224
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3225
|
+
@if (!disableRearrange) {
|
|
3226
|
+
<button class="dbx-form-repeat-array-drag-button" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3227
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3228
|
+
}
|
|
3229
|
+
<h4>
|
|
3230
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3231
|
+
<span>{{ labelForItem(field, i) }}</span>
|
|
3232
|
+
</h4>
|
|
3233
|
+
<span class="dbx-spacer"></span>
|
|
3234
|
+
@if (allowDuplicate(i)) {
|
|
3235
|
+
<dbx-button [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3236
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3237
|
+
}
|
|
3238
|
+
@if (allowRemove(i)) {
|
|
3239
|
+
<dbx-button color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3240
|
+
}
|
|
3241
|
+
</dbx-bar>
|
|
3242
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3243
|
+
</div>
|
|
3244
|
+
}
|
|
3433
3245
|
</div>
|
|
3434
3246
|
<!-- Add Button -->
|
|
3435
3247
|
<div class="dbx-form-repeat-array-footer">
|
|
3436
|
-
|
|
3248
|
+
@if (allowAdd) {
|
|
3249
|
+
<dbx-button [raised]="true" [disabled]="addItemDisabled" [text]="addText" (buttonClick)="addClicked()"></dbx-button>
|
|
3250
|
+
}
|
|
3437
3251
|
</div>
|
|
3438
3252
|
</dbx-subsection>
|
|
3439
3253
|
</div>
|
|
3440
|
-
|
|
3254
|
+
`,
|
|
3255
|
+
imports: [DbxSubSectionComponent, DbxBarDirective, DbxButtonComponent, FormlyModule, DragDropModule, MatIconModule, DbxButtonSpacerDirective, MatFormFieldModule, FormsModule, ReactiveFormsModule],
|
|
3256
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3257
|
+
standalone: true
|
|
3441
3258
|
}]
|
|
3442
3259
|
}] });
|
|
3443
3260
|
|
|
3261
|
+
const importsAndExports = [DbxFormRepeatArrayTypeComponent];
|
|
3444
3262
|
class DbxFormFormlyArrayFieldModule {
|
|
3445
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3446
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
3447
|
-
|
|
3448
|
-
ReactiveFormsModule,
|
|
3449
|
-
MatDividerModule,
|
|
3450
|
-
MatButtonModule,
|
|
3451
|
-
MatIconModule,
|
|
3452
|
-
DragDropModule,
|
|
3453
|
-
DbxSectionLayoutModule,
|
|
3454
|
-
DbxBarLayoutModule,
|
|
3455
|
-
DbxButtonModule, i1$1.FormlyModule] });
|
|
3456
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormFormlyArrayFieldModule, imports: [CommonModule,
|
|
3457
|
-
MatFormFieldModule,
|
|
3458
|
-
ReactiveFormsModule,
|
|
3459
|
-
MatDividerModule,
|
|
3460
|
-
MatButtonModule,
|
|
3461
|
-
MatIconModule,
|
|
3462
|
-
DragDropModule,
|
|
3463
|
-
DbxSectionLayoutModule,
|
|
3464
|
-
DbxBarLayoutModule,
|
|
3465
|
-
DbxButtonModule,
|
|
3466
|
-
FormlyModule.forChild({
|
|
3263
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3264
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, imports: [DbxFormRepeatArrayTypeComponent, i1$2.FormlyModule], exports: [DbxFormRepeatArrayTypeComponent] });
|
|
3265
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, imports: [importsAndExports, FormlyModule.forChild({
|
|
3467
3266
|
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
3468
3267
|
})] });
|
|
3469
3268
|
}
|
|
3470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, decorators: [{
|
|
3471
3270
|
type: NgModule,
|
|
3472
3271
|
args: [{
|
|
3473
3272
|
imports: [
|
|
3474
|
-
|
|
3475
|
-
MatFormFieldModule,
|
|
3476
|
-
ReactiveFormsModule,
|
|
3477
|
-
MatDividerModule,
|
|
3478
|
-
MatButtonModule,
|
|
3479
|
-
MatIconModule,
|
|
3480
|
-
DragDropModule,
|
|
3481
|
-
DbxSectionLayoutModule,
|
|
3482
|
-
DbxBarLayoutModule,
|
|
3483
|
-
DbxButtonModule,
|
|
3273
|
+
...importsAndExports,
|
|
3484
3274
|
FormlyModule.forChild({
|
|
3485
3275
|
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
3486
3276
|
})
|
|
3487
3277
|
],
|
|
3488
|
-
|
|
3489
|
-
exports: []
|
|
3278
|
+
exports: importsAndExports
|
|
3490
3279
|
}]
|
|
3491
3280
|
}] });
|
|
3492
3281
|
|
|
@@ -3517,11 +3306,11 @@ function repeatArrayField(config) {
|
|
|
3517
3306
|
}
|
|
3518
3307
|
|
|
3519
3308
|
class DbxFormFormlyBooleanFieldModule {
|
|
3520
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3521
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
3522
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
3309
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3310
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule });
|
|
3311
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule });
|
|
3523
3312
|
}
|
|
3524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3313
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule, decorators: [{
|
|
3525
3314
|
type: NgModule,
|
|
3526
3315
|
args: [{
|
|
3527
3316
|
imports: [],
|
|
@@ -3536,7 +3325,7 @@ function toggleField(config) {
|
|
|
3536
3325
|
return formlyField({
|
|
3537
3326
|
key,
|
|
3538
3327
|
type: 'toggle',
|
|
3539
|
-
wrappers: [AUTO_TOUCH_WRAPPER_KEY, STYLE_WRAPPER_KEY, 'form-field'],
|
|
3328
|
+
wrappers: [AUTO_TOUCH_WRAPPER_KEY, STYLE_WRAPPER_KEY, 'form-field'], // NOTE: Must specify form-field if other wrapper specified, otherwise it will not be used.
|
|
3540
3329
|
defaultValue: defaultValue ?? false,
|
|
3541
3330
|
...propsAndConfigForFieldConfig(config, {
|
|
3542
3331
|
classGetter,
|
|
@@ -3614,10 +3403,10 @@ class DbxDateTimeFieldMenuPresetsService {
|
|
|
3614
3403
|
set configurations(configurations) {
|
|
3615
3404
|
this._configurations.next(configurations);
|
|
3616
3405
|
}
|
|
3617
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3618
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
3406
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3407
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, providedIn: 'root' });
|
|
3619
3408
|
}
|
|
3620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, decorators: [{
|
|
3621
3410
|
type: Injectable,
|
|
3622
3411
|
args: [{
|
|
3623
3412
|
providedIn: 'root'
|
|
@@ -3917,7 +3706,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
3917
3706
|
return DbxDateTimeFieldTimeMode.NONE;
|
|
3918
3707
|
}
|
|
3919
3708
|
else {
|
|
3920
|
-
return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : this.dateTimeField.timeMode ?? DbxDateTimeFieldTimeMode.REQUIRED;
|
|
3709
|
+
return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : (this.dateTimeField.timeMode ?? DbxDateTimeFieldTimeMode.REQUIRED);
|
|
3921
3710
|
}
|
|
3922
3711
|
}
|
|
3923
3712
|
get isDateRequired() {
|
|
@@ -4027,7 +3816,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4027
3816
|
}
|
|
4028
3817
|
return result;
|
|
4029
3818
|
}), distinctUntilChanged(isSameDateHoursAndMinutes), shareReplay(1));
|
|
4030
|
-
dateTimePickerConfig$ = combineLatest([this._config.pipe(
|
|
3819
|
+
dateTimePickerConfig$ = combineLatest([this._config.pipe(switchMapFilterMaybe()), this.syncConfigBeforeValue$, this.syncConfigAfterValue$]).pipe(map(([x, dateInputMin, dateInputMax]) => {
|
|
4031
3820
|
let result = x;
|
|
4032
3821
|
if (dateInputMin != null || dateInputMax != null) {
|
|
4033
3822
|
const { min: limitMin, max: limitMax } = x?.limits ?? {};
|
|
@@ -4087,7 +3876,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4087
3876
|
});
|
|
4088
3877
|
}), shareReplay(1));
|
|
4089
3878
|
hasEmptyDisplayValue$ = this.displayValue$.pipe(map((x) => !x), distinctUntilChanged(), shareReplay(1));
|
|
4090
|
-
presets$ = this._presets.pipe(
|
|
3879
|
+
presets$ = this._presets.pipe(switchMapFilterMaybe(), map((x) => x.map(dateTimePreset)), shareReplay(1));
|
|
4091
3880
|
showClearButton$ = this.hasEmptyDisplayValue$.pipe(map((x) => Boolean(this.showClearButton && !x)), distinctUntilChanged(), shareReplay(1));
|
|
4092
3881
|
canAutofillDateWithOnlyAvailableDate$ = this.dateMinAndMaxIsSameDay$;
|
|
4093
3882
|
showDateInput$ = this.dateMinAndMaxIsSameDay$.pipe(map((dateMinAndMaxIsSameDay) => {
|
|
@@ -4391,10 +4180,10 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4391
4180
|
clearValue() {
|
|
4392
4181
|
this._cleared.next();
|
|
4393
4182
|
}
|
|
4394
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4395
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxDateTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutGap=\"6px grid\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput$ | async\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"(showDateInput$ | async) ? '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=\"mat-datepicker-button-highlight 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 <!-- Date Hint -->\n <ng-container [ngSwitch]=\"hasError$ | async\">\n <ng-container *ngSwitchCase=\"false\">\n <div *ngIf=\"!hideDateHint\" class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\">\n <ng-container [ngSwitch]=\"hasEmptyDisplayValue$ | async\">\n <ng-container *ngSwitchCase=\"true\">\n <span class=\"dbx-small\">No date/time set</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"false\">\n <ng-container [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\">\n <b class=\"dbx-ok\">{{ allDayLabel }}</b>\n {{ displayValue$ | async | date: 'fullDate' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"displayValue$ | async\">\n <b class=\"dbx-ok\">{{ atTimeLabel }}</b>\n {{ displayValue$ | async | date: 'medium' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ dateLabel }}</mat-label>\n <input #dateInput matInput [disabled]=\"disabled\" [required]=\"isDateRequired\" [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 <button matPrefix class=\"dbx-datetime-row-button\" *ngIf=\"!hideDatePicker\" mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <button matSuffix *ngIf=\"showClearButton$ | async\" class=\"dbx-datetime-clear-button\" mat-icon-button aria-label=\"clears the date and time menu\" [disabled]=\"disabled\" (click)=\"clearValue()\">\n <mat-icon>clear</mat-icon>\n </button>\n <span matTextSuffix *ngIf=\"!(showTimeInput$ | async)\">\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\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 <ng-container *ngFor=\"let preset of presets$ | async\">\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n </ng-container>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ timeLabel }}</mat-label>\n <input #timeInput [errorStateMatcher]=\"timeErrorStateMatcher\" matInput [required]=\"isTimeRequired\" [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnTimeInput($event)\" />\n <button matPrefix class=\"dbx-datetime-row-button\" mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\" [disabled]=\"disabled\">\n <mat-icon>timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n <mat-error *ngIf=\"timeInputCtrl.hasError('pattern')\">The input time is not recognizable.</mat-error>\n </mat-form-field>\n</ng-template>\n\n<!-- Timezone Suffix -->\n<ng-template #timezoneSuffixTemplate>\n <span *ngIf=\"showTimezone\" class=\"dbx-datetime-timezone dbx-faint\">{{ timezoneAbbreviation$ | async }}</span>\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: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4$2.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: i4$5.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$5.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$5.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4$5.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4$5.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i5$1.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6$1.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i6$1.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i4$6.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$6.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["disabled", "disableRipple", "role"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.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: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.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: i10.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$2.DefaultClassDirective, selector: " [ngClass], [ngClass.xs], [ngClass.sm], [ngClass.md], [ngClass.lg], [ngClass.xl], [ngClass.lt-sm], [ngClass.lt-md], [ngClass.lt-lg], [ngClass.lt-xl], [ngClass.gt-xs], [ngClass.gt-sm], [ngClass.gt-md], [ngClass.gt-lg]", inputs: ["ngClass", "ngClass.xs", "ngClass.sm", "ngClass.md", "ngClass.lg", "ngClass.xl", "ngClass.lt-sm", "ngClass.lt-md", "ngClass.lt-lg", "ngClass.lt-xl", "ngClass.gt-xs", "ngClass.gt-sm", "ngClass.gt-md", "ngClass.gt-lg"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i1.DatePipe, name: "date" }, { kind: "pipe", type: i6.DateDistancePipe, name: "dateDistance" }, { kind: "pipe", type: i6.TimeDistancePipe, name: "timeDistance" }, { kind: "pipe", type: i6.GetValuePipe, name: "getValue" }] });
|
|
4183
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4184
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxDateTimeFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutGap=\"6px grid\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput$ | async\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"(showDateInput$ | async) ? '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=\"mat-datepicker-button-highlight 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 <!-- Date Hint -->\n <ng-container [ngSwitch]=\"hasError$ | async\">\n <ng-container *ngSwitchCase=\"false\">\n <div *ngIf=\"!hideDateHint\" class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\">\n <ng-container [ngSwitch]=\"hasEmptyDisplayValue$ | async\">\n <ng-container *ngSwitchCase=\"true\">\n <span class=\"dbx-small\">No date/time set</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"false\">\n <ng-container [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\">\n <b class=\"dbx-ok\">{{ allDayLabel }}</b>\n {{ displayValue$ | async | date: 'fullDate' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"displayValue$ | async\">\n <b class=\"dbx-ok\">{{ atTimeLabel }}</b>\n {{ displayValue$ | async | date: 'medium' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ dateLabel }}</mat-label>\n <input #dateInput matInput [disabled]=\"disabled\" [required]=\"isDateRequired\" [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 <button matPrefix class=\"dbx-datetime-row-button\" *ngIf=\"!hideDatePicker\" mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <button matSuffix *ngIf=\"showClearButton$ | async\" class=\"dbx-datetime-clear-button\" mat-icon-button aria-label=\"clears the date and time menu\" [disabled]=\"disabled\" (click)=\"clearValue()\">\n <mat-icon>clear</mat-icon>\n </button>\n <span matTextSuffix *ngIf=\"!(showTimeInput$ | async)\">\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\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 <ng-container *ngFor=\"let preset of presets$ | async\">\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n </ng-container>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ timeLabel }}</mat-label>\n <input #timeInput [errorStateMatcher]=\"timeErrorStateMatcher\" matInput [required]=\"isTimeRequired\" [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnTimeInput($event)\" />\n <button matPrefix class=\"dbx-datetime-row-button\" mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\" [disabled]=\"disabled\">\n <mat-icon>timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n <mat-error *ngIf=\"timeInputCtrl.hasError('pattern')\">The input time is not recognizable.</mat-error>\n </mat-form-field>\n</ng-template>\n\n<!-- Timezone Suffix -->\n<ng-template #timezoneSuffixTemplate>\n <span *ngIf=\"showTimezone\" class=\"dbx-datetime-timezone dbx-faint\">{{ timezoneAbbreviation$ | async }}</span>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$5.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$5.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i4.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: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i4$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i4$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i4$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i2$2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "component", type: i6.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i4$2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4$2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i8.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i8.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i8.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i10.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: i10.DefaultLayoutGapDirective, selector: " [fxLayoutGap], [fxLayoutGap.xs], [fxLayoutGap.sm], [fxLayoutGap.md], [fxLayoutGap.lg], [fxLayoutGap.xl], [fxLayoutGap.lt-sm], [fxLayoutGap.lt-md], [fxLayoutGap.lt-lg], [fxLayoutGap.lt-xl], [fxLayoutGap.gt-xs], [fxLayoutGap.gt-sm], [fxLayoutGap.gt-md], [fxLayoutGap.gt-lg]", inputs: ["fxLayoutGap", "fxLayoutGap.xs", "fxLayoutGap.sm", "fxLayoutGap.md", "fxLayoutGap.lg", "fxLayoutGap.xl", "fxLayoutGap.lt-sm", "fxLayoutGap.lt-md", "fxLayoutGap.lt-lg", "fxLayoutGap.lt-xl", "fxLayoutGap.gt-xs", "fxLayoutGap.gt-sm", "fxLayoutGap.gt-md", "fxLayoutGap.gt-lg"] }, { kind: "directive", type: i10.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: i10.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: i11.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$5.AsyncPipe, name: "async" }, { kind: "pipe", type: i1$5.DatePipe, name: "date" }, { kind: "pipe", type: i2$3.DateDistancePipe, name: "dateDistance" }, { kind: "pipe", type: i2$3.TimeDistancePipe, name: "timeDistance" }, { kind: "pipe", type: i2$3.GetValuePipe, name: "getValue" }] });
|
|
4396
4185
|
}
|
|
4397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4186
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
|
|
4398
4187
|
type: Component,
|
|
4399
4188
|
args: [{ template: "<div class=\"dbx-datetime-field\" fxLayout=\"row wrap\" fxLayout.xs=\"column wrap\" fxLayoutGap=\"6px grid\" fxLayoutAlign=\"space-evenly stretch\">\n <!-- Date -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"dateOnly ? '100' : '50'\" *ngIf=\"showDateInput$ | async\">\n <ng-container *ngTemplateOutlet=\"dateInputTemplate\"></ng-container>\n </div>\n <!-- Time -->\n <div class=\"dbx-datetime-row\" fxFlex.lt-sm=\"100\" [fxFlex]=\"(showDateInput$ | async) ? '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=\"mat-datepicker-button-highlight 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 <!-- Date Hint -->\n <ng-container [ngSwitch]=\"hasError$ | async\">\n <ng-container *ngSwitchCase=\"false\">\n <div *ngIf=\"!hideDateHint\" class=\"dbx-datetime-row dbx-datetime-hint-row\" fxFlex=\"100\">\n <div class=\"dbx-hint\">\n <ng-container [ngSwitch]=\"hasEmptyDisplayValue$ | async\">\n <ng-container *ngSwitchCase=\"true\">\n <span class=\"dbx-small\">No date/time set</span>\n </ng-container>\n <ng-container *ngSwitchCase=\"false\">\n <ng-container [ngSwitch]=\"fullDay$ | async\">\n <small *ngSwitchCase=\"true\">\n <b class=\"dbx-ok\">{{ allDayLabel }}</b>\n {{ displayValue$ | async | date: 'fullDate' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | dateDistance }})\n </small>\n <small *ngSwitchCase=\"false\">\n <ng-container *ngIf=\"displayValue$ | async\">\n <b class=\"dbx-ok\">{{ atTimeLabel }}</b>\n {{ displayValue$ | async | date: 'medium' }} {{ timezoneAbbreviation$ | async }} ({{ displayValue$ | async | timeDistance }})\n </ng-container>\n </small>\n </ng-container>\n </ng-container>\n </ng-container>\n </div>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"true\">\n <mat-error *ngIf=\"currentErrorMessage$ | async\">{{ currentErrorMessage$ | async }}</mat-error>\n </ng-container>\n </ng-container>\n</div>\n\n<!-- Date Input Template -->\n<ng-template #dateInputTemplate>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ dateLabel }}</mat-label>\n <input #dateInput matInput [disabled]=\"disabled\" [required]=\"isDateRequired\" [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 <button matPrefix class=\"dbx-datetime-row-button\" *ngIf=\"!hideDatePicker\" mat-icon-button (click)=\"picker.open()\" [disabled]=\"disabled\">\n <mat-icon>calendar_today</mat-icon>\n </button>\n <button matSuffix *ngIf=\"showClearButton$ | async\" class=\"dbx-datetime-clear-button\" mat-icon-button aria-label=\"clears the date and time menu\" [disabled]=\"disabled\" (click)=\"clearValue()\">\n <mat-icon>clear</mat-icon>\n </button>\n <span matTextSuffix *ngIf=\"!(showTimeInput$ | async)\">\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n </mat-form-field>\n</ng-template>\n\n<!-- Time Menu/Input Template -->\n<ng-template #timeMenuAndInputTemplate>\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 <ng-container *ngFor=\"let preset of presets$ | async\">\n <button mat-menu-item (click)=\"selectPreset(preset)\">{{ preset.label | getValue }}</button>\n </ng-container>\n </mat-menu>\n <mat-form-field class=\"dbx-datetime-row-field\">\n <mat-label>{{ timeLabel }}</mat-label>\n <input #timeInput [errorStateMatcher]=\"timeErrorStateMatcher\" matInput [required]=\"isTimeRequired\" [formControl]=\"timeInputCtrl\" (focus)=\"focusTime()\" (focusout)=\"focusOutTime()\" (keydown)=\"keydownOnTimeInput($event)\" />\n <button matPrefix class=\"dbx-datetime-row-button\" mat-icon-button [matMenuTriggerFor]=\"timemenu\" aria-label=\"opens the time menu\" [disabled]=\"disabled\">\n <mat-icon>timer</mat-icon>\n </button>\n <span matTextSuffix>\n <ng-container *ngTemplateOutlet=\"timezoneSuffixTemplate\"></ng-container>\n </span>\n <mat-error *ngIf=\"timeInputCtrl.hasError('pattern')\">The input time is not recognizable.</mat-error>\n </mat-form-field>\n</ng-template>\n\n<!-- Timezone Suffix -->\n<ng-template #timezoneSuffixTemplate>\n <span *ngIf=\"showTimezone\" class=\"dbx-datetime-timezone dbx-faint\">{{ timezoneAbbreviation$ | async }}</span>\n</ng-template>\n" }]
|
|
4400
4189
|
}] });
|
|
@@ -4831,15 +4620,15 @@ class DbxFixedDateRangeFieldComponent extends FieldType$1 {
|
|
|
4831
4620
|
_createDateRange(date) {
|
|
4832
4621
|
return date ? dateRange({ ...this._currentDateRangeInput, date }) : undefined;
|
|
4833
4622
|
}
|
|
4834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
4623
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4624
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFixedDateRangeFieldComponent, selector: "ng-component", providers: [
|
|
4836
4625
|
{
|
|
4837
4626
|
provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
|
|
4838
4627
|
useClass: forwardRef(() => DbxFixedDateRangeFieldSelectionStrategy)
|
|
4839
4628
|
}
|
|
4840
|
-
], viewQueries: [{ propertyName: "calendar", first: true, predicate: MatCalendar, descendants: true }, { propertyName: "startDateInputElement", first: true, predicate: ["startDateInput"], descendants: true, read: ElementRef }, { propertyName: "endDateInputElement", first: true, predicate: ["endDateInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-fixeddaterange-field\">\n <mat-calendar #calendarView [selected]=\"calendarSelection$ | async\" [dateFilter]=\"(pickerFilter$ | async) || defaultPickerFilter\" [minDate]=\"min$ | async\" [maxDate]=\"max$ | async\" (selectedChange)=\"selectedChange($event)\"></mat-calendar>\n <mat-form-field class=\"dbx-fixeddaterange-field-input\" appearance=\"fill\">\n <mat-date-range-input *ngIf=\"showRangeInput\" [formGroup]=\"inputRangeForm\">\n <input #startDateInput matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input #endDateInput [ngClass]=\"(endDisabled$ | async) ? 'dbx-fixeddaterange-field-input-end' : ''\" [attr.tabindex]=\"(endDisabled$ | async) ? -1 : 0\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n </mat-form-field>\n <mat-error *ngIf=\"formControl.hasError('required')\">Date range is required</mat-error>\n</div>\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: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$
|
|
4629
|
+
], viewQueries: [{ propertyName: "calendar", first: true, predicate: MatCalendar, descendants: true }, { propertyName: "startDateInputElement", first: true, predicate: ["startDateInput"], descendants: true, read: ElementRef }, { propertyName: "endDateInputElement", first: true, predicate: ["endDateInput"], descendants: true, read: ElementRef }], usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-fixeddaterange-field\">\n <mat-calendar #calendarView [selected]=\"calendarSelection$ | async\" [dateFilter]=\"(pickerFilter$ | async) || defaultPickerFilter\" [minDate]=\"min$ | async\" [maxDate]=\"max$ | async\" (selectedChange)=\"selectedChange($event)\"></mat-calendar>\n <mat-form-field class=\"dbx-fixeddaterange-field-input\" appearance=\"fill\">\n <mat-date-range-input *ngIf=\"showRangeInput\" [formGroup]=\"inputRangeForm\">\n <input #startDateInput matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input #endDateInput [ngClass]=\"(endDisabled$ | async) ? 'dbx-fixeddaterange-field-input-end' : ''\" [attr.tabindex]=\"(endDisabled$ | async) ? -1 : 0\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n </mat-form-field>\n <mat-error *ngIf=\"formControl.hasError('required')\">Date range is required</mat-error>\n</div>\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "component", type: i4$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "component", type: i4$2.MatCalendar, selector: "mat-calendar", inputs: ["headerComponent", "startAt", "startView", "selected", "minDate", "maxDate", "dateFilter", "dateClass", "comparisonStart", "comparisonEnd", "startDateAccessibleName", "endDateAccessibleName"], outputs: ["selectedChange", "yearSelected", "monthSelected", "viewChanged", "_userSelection", "_userDragDrop"], exportAs: ["matCalendar"] }, { kind: "component", type: i4$2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i4$2.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i4$2.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i11.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$5.AsyncPipe, name: "async" }] });
|
|
4841
4630
|
}
|
|
4842
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4631
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldComponent, decorators: [{
|
|
4843
4632
|
type: Component,
|
|
4844
4633
|
args: [{ providers: [
|
|
4845
4634
|
{
|
|
@@ -4904,16 +4693,16 @@ class DbxFixedDateRangeFieldSelectionStrategy {
|
|
|
4904
4693
|
const year = date.getFullYear();
|
|
4905
4694
|
return this._dateAdapter.createDate(year, monthIndex, day);
|
|
4906
4695
|
}
|
|
4907
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4908
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
4696
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4697
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy });
|
|
4909
4698
|
}
|
|
4910
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4699
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy, decorators: [{
|
|
4911
4700
|
type: Injectable
|
|
4912
4701
|
}] });
|
|
4913
4702
|
|
|
4914
4703
|
class DbxFormFormlyDateFieldModule {
|
|
4915
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4916
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
4704
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4705
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, declarations: [DbxDateTimeFieldComponent, DbxFixedDateRangeFieldComponent], imports: [CommonModule,
|
|
4917
4706
|
FormsModule,
|
|
4918
4707
|
MatInputModule,
|
|
4919
4708
|
MatDividerModule,
|
|
@@ -4921,15 +4710,14 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4921
4710
|
DbxButtonModule,
|
|
4922
4711
|
MatButtonModule,
|
|
4923
4712
|
MatDatepickerModule,
|
|
4924
|
-
MatNativeDateModule,
|
|
4925
4713
|
MatMenuModule,
|
|
4926
4714
|
ReactiveFormsModule,
|
|
4927
4715
|
DbxDatePipeModule,
|
|
4928
4716
|
DbxValuePipeModule,
|
|
4929
4717
|
MatChipsModule,
|
|
4930
4718
|
MatIconModule,
|
|
4931
|
-
FlexLayoutModule, i1$
|
|
4932
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
4719
|
+
FlexLayoutModule, i1$2.FormlyModule], exports: [DbxFormFormlyWrapperModule] });
|
|
4720
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, imports: [CommonModule,
|
|
4933
4721
|
FormsModule,
|
|
4934
4722
|
MatInputModule,
|
|
4935
4723
|
MatDividerModule,
|
|
@@ -4937,7 +4725,6 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4937
4725
|
DbxButtonModule,
|
|
4938
4726
|
MatButtonModule,
|
|
4939
4727
|
MatDatepickerModule,
|
|
4940
|
-
MatNativeDateModule,
|
|
4941
4728
|
MatMenuModule,
|
|
4942
4729
|
ReactiveFormsModule,
|
|
4943
4730
|
DbxDatePipeModule,
|
|
@@ -4953,7 +4740,7 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4953
4740
|
]
|
|
4954
4741
|
}), DbxFormFormlyWrapperModule] });
|
|
4955
4742
|
}
|
|
4956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4743
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, decorators: [{
|
|
4957
4744
|
type: NgModule,
|
|
4958
4745
|
args: [{
|
|
4959
4746
|
imports: [
|
|
@@ -4965,7 +4752,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4965
4752
|
DbxButtonModule,
|
|
4966
4753
|
MatButtonModule,
|
|
4967
4754
|
MatDatepickerModule,
|
|
4968
|
-
MatNativeDateModule,
|
|
4969
4755
|
MatMenuModule,
|
|
4970
4756
|
ReactiveFormsModule,
|
|
4971
4757
|
DbxDatePipeModule,
|
|
@@ -5257,7 +5043,7 @@ const FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY = 'fieldValuesAreEqual';
|
|
|
5257
5043
|
function fieldValuesAreEqualValidator(config = {}) {
|
|
5258
5044
|
const { keysFilter, valuesFilter: inputValuesFilter, isEqual = (a, b) => a === b, message = 'Field values are not equal.' } = config;
|
|
5259
5045
|
const valuesFilter = inputValuesFilter ?? {
|
|
5260
|
-
valueFilter: KeyValueTypleValueFilter.NONE,
|
|
5046
|
+
valueFilter: KeyValueTypleValueFilter.NONE, // keep all values. Null/undefined should be processed.
|
|
5261
5047
|
keysFilter
|
|
5262
5048
|
};
|
|
5263
5049
|
return (control) => {
|
|
@@ -5487,11 +5273,11 @@ function dollarAmountField(config) {
|
|
|
5487
5273
|
}
|
|
5488
5274
|
|
|
5489
5275
|
class DbxFormFormlyNumberFieldModule {
|
|
5490
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5491
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5492
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5277
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, imports: [FormlyMaterialModule, FormlyMatSliderModule], exports: [DbxFormFormlyWrapperModule] });
|
|
5278
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, imports: [FormlyMaterialModule, FormlyMatSliderModule, DbxFormFormlyWrapperModule] });
|
|
5493
5279
|
}
|
|
5494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5280
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, decorators: [{
|
|
5495
5281
|
type: NgModule,
|
|
5496
5282
|
args: [{
|
|
5497
5283
|
imports: [FormlyMaterialModule, FormlyMatSliderModule],
|
|
@@ -5578,17 +5364,17 @@ class DbxPhoneFieldComponent extends FieldType$1 {
|
|
|
5578
5364
|
this.inputSync.destroy();
|
|
5579
5365
|
this.outputSync.destroy();
|
|
5580
5366
|
}
|
|
5581
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5582
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
5367
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5368
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxPhoneFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-form-phone-field\" [formGroup]=\"inputFormGroup\">\n <ngx-mat-intl-tel-input class=\"dbx-form-phone-field-phone-content\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"phoneCtrl\"></ngx-mat-intl-tel-input>\n <div *ngIf=\"allowExtension\" class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" #extensionInput [formControl]=\"extensionCtrl\" />\n </div>\n</div>\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: ["minlength"] }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i3$1.NgxMatIntlTelInputComponent, selector: "ngx-mat-intl-tel-input", inputs: ["preferredCountries", "enablePlaceholder", "inputPlaceholder", "cssClass", "name", "onlyCountries", "errorStateMatcher", "enableSearch", "searchPlaceholder", "describedBy", "format", "placeholder", "required", "disabled"], outputs: ["countryChanged"] }] });
|
|
5583
5369
|
}
|
|
5584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPhoneFieldComponent, decorators: [{
|
|
5585
5371
|
type: Component,
|
|
5586
5372
|
args: [{ template: "<div class=\"dbx-form-phone-field\" [formGroup]=\"inputFormGroup\">\n <ngx-mat-intl-tel-input class=\"dbx-form-phone-field-phone-content\" [required]=\"required\" [preferredCountries]=\"preferredCountries\" [enablePlaceholder]=\"false\" name=\"phone\" [formControl]=\"phoneCtrl\"></ngx-mat-intl-tel-input>\n <div *ngIf=\"allowExtension\" class=\"dbx-form-phone-field-extension-content\">\n <span class=\"dbx-hint dbx-button-spacer\">Ext.</span>\n <input class=\"dbx-form-phone-field-extension-input\" placeholder=\"123\" minlength=\"0\" maxlength=\"6\" #extensionInput [formControl]=\"extensionCtrl\" />\n </div>\n</div>\n" }]
|
|
5587
5373
|
}] });
|
|
5588
5374
|
|
|
5589
5375
|
class DbxFormFormlyPhoneFieldModule {
|
|
5590
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5591
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5376
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5377
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, declarations: [DbxPhoneFieldComponent], imports: [CommonModule,
|
|
5592
5378
|
MatInputModule,
|
|
5593
5379
|
MatFormFieldModule,
|
|
5594
5380
|
FormsModule,
|
|
@@ -5597,8 +5383,8 @@ class DbxFormFormlyPhoneFieldModule {
|
|
|
5597
5383
|
MatChipsModule,
|
|
5598
5384
|
MatIconModule,
|
|
5599
5385
|
FlexLayoutModule,
|
|
5600
|
-
FormlyMatFormFieldModule, i1$
|
|
5601
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5386
|
+
FormlyMatFormFieldModule, i1$2.FormlyModule, NgxMatIntlTelInputComponent] });
|
|
5387
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, imports: [CommonModule,
|
|
5602
5388
|
MatInputModule,
|
|
5603
5389
|
MatFormFieldModule,
|
|
5604
5390
|
FormsModule,
|
|
@@ -5613,7 +5399,7 @@ class DbxFormFormlyPhoneFieldModule {
|
|
|
5613
5399
|
}),
|
|
5614
5400
|
NgxMatIntlTelInputComponent] });
|
|
5615
5401
|
}
|
|
5616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5402
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, decorators: [{
|
|
5617
5403
|
type: NgModule,
|
|
5618
5404
|
args: [{
|
|
5619
5405
|
imports: [
|
|
@@ -5919,11 +5705,11 @@ function addressListField(config = {}) {
|
|
|
5919
5705
|
}
|
|
5920
5706
|
|
|
5921
5707
|
class DbxFormFormlyTextFieldModule {
|
|
5922
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5923
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5924
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5709
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule], exports: [DbxFormFormlyWrapperModule] });
|
|
5710
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule, DbxFormFormlyWrapperModule] });
|
|
5925
5711
|
}
|
|
5926
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5712
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, decorators: [{
|
|
5927
5713
|
type: NgModule,
|
|
5928
5714
|
args: [{
|
|
5929
5715
|
imports: [FormlyMaterialModule],
|
|
@@ -5940,11 +5726,11 @@ function hiddenField({ key, required = false }) {
|
|
|
5940
5726
|
}
|
|
5941
5727
|
|
|
5942
5728
|
class DbxFormFormlyValueModule {
|
|
5943
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5944
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5945
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5729
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5730
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule], exports: [DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyTextFieldModule] });
|
|
5731
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, imports: [CommonModule, DbxFormFormlyArrayFieldModule, DbxFormFormlyBooleanFieldModule, DbxFormFormlyDateFieldModule, DbxFormFormlyPhoneFieldModule, DbxFormFormlyNumberFieldModule, DbxFormFormlyTextFieldModule] });
|
|
5946
5732
|
}
|
|
5947
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5733
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, decorators: [{
|
|
5948
5734
|
type: NgModule,
|
|
5949
5735
|
args: [{
|
|
5950
5736
|
imports: [CommonModule],
|
|
@@ -5954,11 +5740,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5954
5740
|
}] });
|
|
5955
5741
|
|
|
5956
5742
|
class DbxFormFormlyFieldModule {
|
|
5957
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5958
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5959
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5743
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5744
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule], exports: [DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
|
|
5745
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, imports: [CommonModule, DbxFormFormlyChecklistItemFieldModule, DbxFormFormlyComponentFieldModule, DbxFormFormlySelectionModule, DbxFormFormlyTextEditorFieldModule, DbxFormFormlyValueModule, DbxFormFormlyWrapperModule] });
|
|
5960
5746
|
}
|
|
5961
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, decorators: [{
|
|
5962
5748
|
type: NgModule,
|
|
5963
5749
|
args: [{
|
|
5964
5750
|
imports: [CommonModule],
|
|
@@ -5971,13 +5757,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5971
5757
|
* Allows a directive to provide a formly context and form.
|
|
5972
5758
|
*/
|
|
5973
5759
|
function provideFormlyContext() {
|
|
5974
|
-
return [
|
|
5975
|
-
{
|
|
5976
|
-
provide: DbxFormlyContext,
|
|
5977
|
-
useClass: DbxFormlyContext
|
|
5978
|
-
},
|
|
5979
|
-
...provideDbxMutableForm(DbxFormlyContext)
|
|
5980
|
-
];
|
|
5760
|
+
return [DbxFormlyContext, ...provideDbxMutableForm(DbxFormlyContext)];
|
|
5981
5761
|
}
|
|
5982
5762
|
/**
|
|
5983
5763
|
* DbxForm Instance that registers a delegate and manages the state of that form/delegate.
|
|
@@ -5992,6 +5772,9 @@ class DbxFormlyContext {
|
|
|
5992
5772
|
fields$ = this._fields.pipe(filterMaybe(), shareReplay(1));
|
|
5993
5773
|
disabled$ = this._disabled.pipe(filterMaybe(), shareReplay(1));
|
|
5994
5774
|
stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap((x) => (x ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE))), shareReplay(1));
|
|
5775
|
+
ngOnDestroy() {
|
|
5776
|
+
this.destroy();
|
|
5777
|
+
}
|
|
5995
5778
|
destroy() {
|
|
5996
5779
|
this.lockSet.destroyOnNextUnlock(() => {
|
|
5997
5780
|
this._fields.complete();
|
|
@@ -6059,21 +5842,24 @@ class DbxFormlyContext {
|
|
|
6059
5842
|
this._delegate.value.forceFormUpdate();
|
|
6060
5843
|
}
|
|
6061
5844
|
}
|
|
5845
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5846
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext });
|
|
6062
5847
|
}
|
|
5848
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext, decorators: [{
|
|
5849
|
+
type: Injectable
|
|
5850
|
+
}] });
|
|
6063
5851
|
|
|
6064
5852
|
/**
|
|
6065
|
-
* Abstract component for wrapping a
|
|
5853
|
+
* Abstract component for wrapping a DbxFormlyContext.
|
|
5854
|
+
*
|
|
5855
|
+
* The implementing component should use provideFormlyContext() to provide the DbxFormlyContext specific to this directive. The context is injected using only self.
|
|
6066
5856
|
*/
|
|
6067
5857
|
class AbstractFormlyFormDirective {
|
|
6068
|
-
context = inject((DbxFormlyContext));
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
}
|
|
6072
|
-
set disabled(disabled) {
|
|
6073
|
-
this.context.setDisabled(undefined, disabled);
|
|
6074
|
-
}
|
|
5858
|
+
context = inject((DbxFormlyContext), { self: true });
|
|
5859
|
+
disabled = input(false);
|
|
5860
|
+
_setDisabledOnContext = effect(() => this.context.setDisabled(undefined, this.disabled()));
|
|
6075
5861
|
ngOnDestroy() {
|
|
6076
|
-
this.
|
|
5862
|
+
this._setDisabledOnContext.destroy();
|
|
6077
5863
|
}
|
|
6078
5864
|
// Utility Functions
|
|
6079
5865
|
getValue() {
|
|
@@ -6091,14 +5877,12 @@ class AbstractFormlyFormDirective {
|
|
|
6091
5877
|
setDisabled(key, disabled) {
|
|
6092
5878
|
this.context.setDisabled(key, disabled);
|
|
6093
5879
|
}
|
|
6094
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6095
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
5880
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormlyFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5881
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractFormlyFormDirective, inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
6096
5882
|
}
|
|
6097
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5883
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormlyFormDirective, decorators: [{
|
|
6098
5884
|
type: Directive
|
|
6099
|
-
}]
|
|
6100
|
-
type: Input
|
|
6101
|
-
}] } });
|
|
5885
|
+
}] });
|
|
6102
5886
|
/**
|
|
6103
5887
|
* Abstract component for wrapping a form.
|
|
6104
5888
|
*/
|
|
@@ -6106,10 +5890,10 @@ class AbstractSyncFormlyFormDirective extends AbstractFormlyFormDirective {
|
|
|
6106
5890
|
ngOnInit() {
|
|
6107
5891
|
this.context.fields = this.fields;
|
|
6108
5892
|
}
|
|
6109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6110
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5893
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5894
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractSyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
6111
5895
|
}
|
|
6112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5896
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSyncFormlyFormDirective, decorators: [{
|
|
6113
5897
|
type: Directive
|
|
6114
5898
|
}] });
|
|
6115
5899
|
/**
|
|
@@ -6126,34 +5910,22 @@ class AbstractAsyncFormlyFormDirective extends AbstractFormlyFormDirective {
|
|
|
6126
5910
|
super.ngOnDestroy();
|
|
6127
5911
|
this._fieldsSub.destroy();
|
|
6128
5912
|
}
|
|
6129
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6130
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5913
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5914
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractAsyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
6131
5915
|
}
|
|
6132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5916
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractAsyncFormlyFormDirective, decorators: [{
|
|
6133
5917
|
type: Directive
|
|
6134
5918
|
}] });
|
|
6135
5919
|
class AbstractConfigAsyncFormlyFormDirective extends AbstractAsyncFormlyFormDirective {
|
|
6136
|
-
|
|
6137
|
-
currentConfig$ = this.
|
|
6138
|
-
config$ = this.
|
|
6139
|
-
|
|
6140
|
-
|
|
6141
|
-
}
|
|
6142
|
-
set config(config) {
|
|
6143
|
-
this._config.next(config);
|
|
6144
|
-
}
|
|
6145
|
-
ngOnDestroy() {
|
|
6146
|
-
super.ngOnDestroy();
|
|
6147
|
-
this._config.complete();
|
|
6148
|
-
}
|
|
6149
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6150
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: AbstractConfigAsyncFormlyFormDirective, inputs: { config: "config" }, usesInheritance: true, ngImport: i0 });
|
|
5920
|
+
config = input(undefined);
|
|
5921
|
+
currentConfig$ = toObservable(this.config).pipe(maybeValueFromObservableOrValue());
|
|
5922
|
+
config$ = this.currentConfig$.pipe(filterMaybe(), shareReplay(1));
|
|
5923
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5924
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: AbstractConfigAsyncFormlyFormDirective, inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0 });
|
|
6151
5925
|
}
|
|
6152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, decorators: [{
|
|
6153
5927
|
type: Directive
|
|
6154
|
-
}]
|
|
6155
|
-
type: Input
|
|
6156
|
-
}] } });
|
|
5928
|
+
}] });
|
|
6157
5929
|
|
|
6158
5930
|
function dbxFormSearchFormFields(config) {
|
|
6159
5931
|
const { label, placeholder = 'Search', materialFormField } = config || {};
|
|
@@ -6174,8 +5946,9 @@ function dbxFormSearchFormFields(config) {
|
|
|
6174
5946
|
/**
|
|
6175
5947
|
* Used for rending a form from a DbxFormlyContext.
|
|
6176
5948
|
*/
|
|
6177
|
-
class
|
|
5949
|
+
class DbxFormlyComponent extends AbstractSubscriptionDirective {
|
|
6178
5950
|
_dbxFormlyContext = inject((DbxFormlyContext));
|
|
5951
|
+
formlyForm = viewChild(FormlyForm);
|
|
6179
5952
|
_fields = new BehaviorSubject(undefined);
|
|
6180
5953
|
_events = new BehaviorSubject({ isComplete: false, state: DbxFormState.INITIALIZING, status: 'PENDING' });
|
|
6181
5954
|
_disabled = new BehaviorSubject(undefined);
|
|
@@ -6184,9 +5957,9 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6184
5957
|
_disabledSub = new SubscriptionObject();
|
|
6185
5958
|
_enforceDisabledSub = new SubscriptionObject();
|
|
6186
5959
|
form = new FormGroup({});
|
|
6187
|
-
|
|
5960
|
+
modelSignal = signal({});
|
|
6188
5961
|
options = {};
|
|
6189
|
-
fields$ = this._fields.pipe(
|
|
5962
|
+
fields$ = this._fields.pipe(switchMapFilterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
6190
5963
|
stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime(50, undefined, { leading: true, trailing: true }), scanCount(-1),
|
|
6191
5964
|
// update on validation changes too. Does not count towards changes since last reset.
|
|
6192
5965
|
switchMap((changesSinceLastReset) => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(() => changesSinceLastReset))), map((changesSinceLastResetCount) => ({
|
|
@@ -6237,6 +6010,8 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6237
6010
|
return of(state);
|
|
6238
6011
|
}
|
|
6239
6012
|
}))), shareReplay(1));
|
|
6013
|
+
_fieldsSignal = toSignal(this.fields$, { initialValue: undefined });
|
|
6014
|
+
fieldsSignal = computed(() => this._fieldsSignal() ?? []);
|
|
6240
6015
|
ngOnInit() {
|
|
6241
6016
|
this._dbxFormlyContext.setDelegate(this);
|
|
6242
6017
|
const resyncDisabledState = () => {
|
|
@@ -6281,8 +6056,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6281
6056
|
return of(this.form.value);
|
|
6282
6057
|
}
|
|
6283
6058
|
setValue(value) {
|
|
6284
|
-
|
|
6285
|
-
this.model = structuredClone(value);
|
|
6059
|
+
this.modelSignal.set(structuredClone(value));
|
|
6286
6060
|
if (this.options.updateInitialValue) {
|
|
6287
6061
|
this.options.updateInitialValue();
|
|
6288
6062
|
this.options.resetModel?.();
|
|
@@ -6323,27 +6097,30 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6323
6097
|
forceFormUpdate() {
|
|
6324
6098
|
this._forceUpdate.next();
|
|
6325
6099
|
}
|
|
6326
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6327
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6100
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "18.2.13", type: DbxFormlyComponent, isStandalone: true, selector: "dbx-formly", host: { classAttribute: "dbx-formly" }, providers: provideDbxMutableForm(DbxFormlyComponent), viewQueries: [{ propertyName: "formlyForm", first: true, predicate: FormlyForm, descendants: true, isSignal: true }], exportAs: ["formly"], usesInheritance: true, ngImport: i0, template: `
|
|
6328
6102
|
<form [formGroup]="form" class="dbx-formly">
|
|
6329
|
-
<formly-form [form]="form" [
|
|
6103
|
+
<formly-form [form]="form" [options]="options" [fields]="fieldsSignal()" [model]="modelSignal()"></formly-form>
|
|
6330
6104
|
</form>
|
|
6331
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i1$
|
|
6105
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: FormlyModule }, { kind: "component", type: i1$2.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
6332
6106
|
}
|
|
6333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyComponent, decorators: [{
|
|
6334
6108
|
type: Component,
|
|
6335
6109
|
args: [{
|
|
6336
6110
|
selector: 'dbx-formly',
|
|
6337
6111
|
exportAs: 'formly',
|
|
6338
6112
|
template: `
|
|
6339
6113
|
<form [formGroup]="form" class="dbx-formly">
|
|
6340
|
-
<formly-form [form]="form" [
|
|
6114
|
+
<formly-form [form]="form" [options]="options" [fields]="fieldsSignal()" [model]="modelSignal()"></formly-form>
|
|
6341
6115
|
</form>
|
|
6342
6116
|
`,
|
|
6343
|
-
providers: provideDbxMutableForm(DbxFormlyFormComponent),
|
|
6344
6117
|
host: {
|
|
6345
6118
|
class: 'dbx-formly'
|
|
6346
|
-
}
|
|
6119
|
+
},
|
|
6120
|
+
providers: provideDbxMutableForm(DbxFormlyComponent),
|
|
6121
|
+
imports: [FormsModule, ReactiveFormsModule, FormlyModule],
|
|
6122
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6123
|
+
standalone: true
|
|
6347
6124
|
}]
|
|
6348
6125
|
}] });
|
|
6349
6126
|
|
|
@@ -6357,12 +6134,12 @@ class DbxFormSearchFormComponent extends AbstractConfigAsyncFormlyFormDirective
|
|
|
6357
6134
|
super.ngOnDestroy();
|
|
6358
6135
|
this.search.complete();
|
|
6359
6136
|
}
|
|
6360
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6361
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
6137
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6138
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormSearchFormComponent, selector: "dbx-form-search-form", outputs: { search: "search" }, host: { classAttribute: "d-block dbx-form-search-form" }, providers: [provideFormlyContext()], usesInheritance: true, ngImport: i0, template: `
|
|
6362
6139
|
<dbx-formly (dbxFormValueChange)="searchChanged($event)"></dbx-formly>
|
|
6363
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }, { kind: "component", type:
|
|
6140
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }, { kind: "component", type: DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
|
|
6364
6141
|
}
|
|
6365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSearchFormComponent, decorators: [{
|
|
6366
6143
|
type: Component,
|
|
6367
6144
|
args: [{
|
|
6368
6145
|
template: `
|
|
@@ -6394,14 +6171,15 @@ class DbxFormlyFieldsContextDirective extends AbstractAsyncFormlyFormDirective {
|
|
|
6394
6171
|
super.ngOnDestroy();
|
|
6395
6172
|
this._fields.complete();
|
|
6396
6173
|
}
|
|
6397
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6398
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
6174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6175
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormlyFieldsContextDirective, isStandalone: true, selector: "[dbxFormlyFields]", inputs: { fields: ["dbxFormlyFields", "fields"] }, providers: provideFormlyContext(), usesInheritance: true, ngImport: i0 });
|
|
6399
6176
|
}
|
|
6400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6177
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFieldsContextDirective, decorators: [{
|
|
6401
6178
|
type: Directive,
|
|
6402
6179
|
args: [{
|
|
6403
6180
|
selector: '[dbxFormlyFields]',
|
|
6404
|
-
providers: provideFormlyContext()
|
|
6181
|
+
providers: provideFormlyContext(),
|
|
6182
|
+
standalone: true
|
|
6405
6183
|
}]
|
|
6406
6184
|
}], propDecorators: { fields: [{
|
|
6407
6185
|
type: Input,
|
|
@@ -6409,44 +6187,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6409
6187
|
}] } });
|
|
6410
6188
|
|
|
6411
6189
|
class DbxFormlyModule {
|
|
6412
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6413
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
6190
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6191
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, imports: [DbxFormlyComponent, DbxFormlyFieldsContextDirective, CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule], exports: [
|
|
6414
6192
|
// Modules (?)
|
|
6415
6193
|
FormsModule,
|
|
6416
6194
|
ReactiveFormsModule,
|
|
6417
6195
|
// Directives
|
|
6418
|
-
|
|
6419
|
-
DbxFormlyFieldsContextDirective
|
|
6420
|
-
|
|
6421
|
-
] });
|
|
6422
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFormlyModule, imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule,
|
|
6196
|
+
DbxFormlyComponent,
|
|
6197
|
+
DbxFormlyFieldsContextDirective] });
|
|
6198
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, imports: [DbxFormlyComponent, CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule,
|
|
6423
6199
|
// Modules (?)
|
|
6424
6200
|
FormsModule,
|
|
6425
6201
|
ReactiveFormsModule] });
|
|
6426
6202
|
}
|
|
6427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6203
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, decorators: [{
|
|
6428
6204
|
type: NgModule,
|
|
6429
6205
|
args: [{
|
|
6430
|
-
imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
6431
|
-
declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective],
|
|
6206
|
+
imports: [DbxFormlyComponent, DbxFormlyFieldsContextDirective, CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
6432
6207
|
exports: [
|
|
6433
6208
|
// Modules (?)
|
|
6434
6209
|
FormsModule,
|
|
6435
6210
|
ReactiveFormsModule,
|
|
6436
6211
|
// Directives
|
|
6437
|
-
|
|
6212
|
+
DbxFormlyComponent,
|
|
6438
6213
|
DbxFormlyFieldsContextDirective
|
|
6439
|
-
// Helper Modules
|
|
6440
6214
|
]
|
|
6441
6215
|
}]
|
|
6442
6216
|
}] });
|
|
6443
6217
|
|
|
6444
6218
|
class DbxFormFormlyFormModule {
|
|
6445
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6446
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
6447
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6219
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6220
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, declarations: [DbxFormSearchFormComponent], imports: [CommonModule, DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule], exports: [DbxFormSearchFormComponent] });
|
|
6221
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, imports: [CommonModule, DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
|
|
6448
6222
|
}
|
|
6449
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6223
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, decorators: [{
|
|
6450
6224
|
type: NgModule,
|
|
6451
6225
|
args: [{
|
|
6452
6226
|
imports: [CommonModule, DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule],
|
|
@@ -6596,16 +6370,41 @@ function timezoneStringField(config = {}) {
|
|
|
6596
6370
|
});
|
|
6597
6371
|
}
|
|
6598
6372
|
|
|
6373
|
+
/**
|
|
6374
|
+
* Default template for a view that extends AbstractFormlyFormDirective.
|
|
6375
|
+
*/
|
|
6376
|
+
const DBX_FORMLY_FORM_COMPONENT_TEMPLATE = `<dbx-formly></dbx-formly>`;
|
|
6377
|
+
/**
|
|
6378
|
+
* Default providers for a view that extends AbstractFormlyFormDirective.
|
|
6379
|
+
*/
|
|
6380
|
+
const dbxFormlyFormComponentProviders = provideFormlyContext;
|
|
6381
|
+
const dbxFormlyFormComponentImports = [DbxFormlyComponent];
|
|
6382
|
+
/**
|
|
6383
|
+
* Default imports module for a view that extends AbstractFormlyFormDirective.
|
|
6384
|
+
*/
|
|
6385
|
+
class DbxFormlyFormComponentImportsModule {
|
|
6386
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6387
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, imports: [DbxFormlyComponent], exports: [DbxFormlyComponent] });
|
|
6388
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, imports: [dbxFormlyFormComponentImports] });
|
|
6389
|
+
}
|
|
6390
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, decorators: [{
|
|
6391
|
+
type: NgModule,
|
|
6392
|
+
args: [{
|
|
6393
|
+
imports: dbxFormlyFormComponentImports,
|
|
6394
|
+
exports: dbxFormlyFormComponentImports
|
|
6395
|
+
}]
|
|
6396
|
+
}] });
|
|
6397
|
+
|
|
6599
6398
|
/**
|
|
6600
6399
|
* Provides vertical spacing after a form.
|
|
6601
6400
|
*/
|
|
6602
6401
|
class DbxFormSpacerComponent {
|
|
6603
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6604
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
6402
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6403
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template: `
|
|
6605
6404
|
<div class="dbx-form-spacer"></div>
|
|
6606
6405
|
`, isInline: true });
|
|
6607
6406
|
}
|
|
6608
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSpacerComponent, decorators: [{
|
|
6609
6408
|
type: Component,
|
|
6610
6409
|
args: [{
|
|
6611
6410
|
selector: 'dbx-form-spacer',
|
|
@@ -6616,11 +6415,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6616
6415
|
}] });
|
|
6617
6416
|
|
|
6618
6417
|
class DbxFormLayoutModule {
|
|
6619
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6620
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
6621
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6418
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6419
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, declarations: [DbxFormSpacerComponent], imports: [CommonModule], exports: [DbxFormSpacerComponent] });
|
|
6420
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, imports: [CommonModule] });
|
|
6622
6421
|
}
|
|
6623
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6422
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, decorators: [{
|
|
6624
6423
|
type: NgModule,
|
|
6625
6424
|
args: [{
|
|
6626
6425
|
imports: [CommonModule],
|
|
@@ -6630,20 +6429,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6630
6429
|
}] });
|
|
6631
6430
|
|
|
6632
6431
|
class DbxFormExtensionModule {
|
|
6633
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6634
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
6635
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
6432
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6433
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule] });
|
|
6434
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule] });
|
|
6636
6435
|
}
|
|
6637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6436
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, decorators: [{
|
|
6638
6437
|
type: NgModule,
|
|
6639
6438
|
args: [{
|
|
6640
6439
|
exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule]
|
|
6641
6440
|
}]
|
|
6642
6441
|
}] });
|
|
6643
6442
|
|
|
6443
|
+
function provideDbxFormConfiguration(config) {
|
|
6444
|
+
const { provideDateAdapter, defaultDateTimePresets } = config ?? {};
|
|
6445
|
+
const providers = [
|
|
6446
|
+
{
|
|
6447
|
+
provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
|
|
6448
|
+
useValue: {
|
|
6449
|
+
subscriptSizing: 'dynamic',
|
|
6450
|
+
floatLabel: 'always',
|
|
6451
|
+
appearance: 'outline'
|
|
6452
|
+
}
|
|
6453
|
+
},
|
|
6454
|
+
{
|
|
6455
|
+
provide: DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN,
|
|
6456
|
+
useValue: defaultDateTimePresets ?? DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS
|
|
6457
|
+
}
|
|
6458
|
+
];
|
|
6459
|
+
if (provideDateAdapter !== false) {
|
|
6460
|
+
providers.push(provideDateFnsAdapter());
|
|
6461
|
+
providers.push({
|
|
6462
|
+
provide: MAT_DATE_LOCALE,
|
|
6463
|
+
useValue: enUS
|
|
6464
|
+
});
|
|
6465
|
+
}
|
|
6466
|
+
return makeEnvironmentProviders(providers);
|
|
6467
|
+
}
|
|
6468
|
+
|
|
6644
6469
|
/**
|
|
6645
6470
|
* Generated bundle index. Do not edit.
|
|
6646
6471
|
*/
|
|
6647
6472
|
|
|
6648
|
-
export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, 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, DbxDateTimeFieldMenuPresetsService, 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,
|
|
6473
|
+
export { APP_ACTION_FORM_DISABLED_KEY, AbstractAsyncFormlyFormDirective, AbstractConfigAsyncFormlyFormDirective, AbstractDbxPickableItemFieldDirective, AbstractDbxSearchableFieldDisplayDirective, AbstractDbxSearchableValueFieldDirective, AbstractFormExpandSectionWrapperDirective, AbstractFormlyFormDirective, AbstractSyncFormlyFormDirective, AutoTouchFieldWrapperComponent, ChecklistItemFieldDataSetBuilder, DBX_DATE_TIME_FIELD_DATE_NOT_IN_SCHEDULE_ERROR, DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN, DBX_DATE_TIME_FIELD_TIME_NOT_IN_RANGE_ERROR, DBX_FORMLY_FORM_COMPONENT_TEMPLATE, DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN, DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS, 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, DbxDateTimeFieldMenuPresetsService, 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, DbxFormStyleWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormToggleWrapperComponent, DbxFormValueChangesDirective, DbxFormWorkingWrapperComponent, DbxFormlyComponent, DbxFormlyContext, DbxFormlyFieldsContextDirective, DbxFormlyFormComponentImportsModule, DbxFormlyModule, DbxItemListFieldComponent, DbxMutableForm, DbxPhoneFieldComponent, DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent, DbxSearchableChipFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxSearchableTextFieldComponent, DbxTextEditorFieldComponent, FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_ERROR_VALIDATION_KEY, FIELD_VALUE_IS_AVAILABLE_VALIDATION_KEY, INVALID_PHONE_NUMBER_EXTENSION_MESSAGE, 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, TAKE_NEXT_UPCOMING_TIME_CONFIG_OBS, addValueSelectionOptionFunction, addWrapperToFormlyFieldConfig, addressField, addressFormlyFields, addressLineField, addressListField, autoTouchWrapper, checkIsFieldFlexLayoutGroupFieldConfig, checkboxField, checklistItemField, chipTextField, cityField, componentField, countryField, dateRangeField, dateTimeField, dateTimePreset, dateTimeRangeField, dbxDateRangeIsSameDateRangeFieldValue, dbxDateTimeInputValueParseFactory, dbxDateTimeIsSameDateTimeFieldValue, dbxDateTimeOutputValueFactory, dbxFormSearchFormFields, dbxFormSourceObservable, dbxFormSourceObservableFromStream, dbxFormlyFormComponentProviders, dbxListField, defaultValidationMessages, disableFormlyFieldAutofillAttributes, dollarAmountField, emailField, expandWrapper, fieldValueIsAvailableValidator, fieldValuesAreEqualValidator, filterPartialPotentialFieldConfigValuesFromObject, filterPickableItemFieldValuesByLabel, filterPickableItemFieldValuesByLabelFilterFunction, fixedDateRangeField, flexLayoutWrapper, formlyField, hiddenField, infoWrapper, isDbxDateTimeFieldTimeDateConfig, isDivisibleBy, isDomain, isE164PhoneNumber, isE164PhoneNumberWithValidExtension, isInRange, isPhoneExtension, isTruthy, latLngTextField, makeMetaFilterSearchableFieldValueDisplayFn, maxLengthValidationMessage, maxValidationMessage, mergePropsValueObjects, minLengthValidationMessage, minValidationMessage, nameField, numberField, numberFieldTransformParser, numberSliderField, partialPotentialFieldConfigKeys, partialPotentialFieldConfigKeysFilter, phoneAndLabelSectionField, phoneField, phoneListField, pickableItemChipField, pickableItemListField, pickableValueFieldValuesConfigForStaticLabeledValues, propsAndConfigForFieldConfig, propsValueForFieldConfig, provideDbxForm, provideDbxFormConfiguration, provideDbxMutableForm, provideFormlyContext, repeatArrayField, searchableChipField, searchableStringChipField, searchableTextField, sectionWrapper, sortPickableItemsByLabel, sortPickableItemsByLabelStringFunction, sourceSelectField, stateField, streamValueFromControl, styleWrapper, subsectionWrapper, syncConfigValueObs, textAreaField, textEditorField, textField, textFieldTransformParser, textIsAvailableField, textPasswordField, textPasswordWithVerifyFieldGroup, textVerifyPasswordField, timeOnlyField, timezoneStringField, timezoneStringSearchFunction, toggleDisableFormControl, toggleField, toggleWrapper, usernamePasswordLoginFields, validatorsForFieldConfig, valueSelectionField, workingWrapper, wrappedPhoneAndLabelField, zipCodeField };
|
|
6649
6474
|
//# sourceMappingURL=dereekb-dbx-form.mjs.map
|