@dereekb/dbx-form 11.1.8 → 12.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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 +14 -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 +935 -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 +4 -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 +10 -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,66 @@ 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
|
-
|
|
274
|
-
|
|
275
|
+
ngOnDestroy() {
|
|
276
|
+
super.ngOnDestroy();
|
|
277
|
+
this._dbxActionFormSafetyUpdateEffect.destroy();
|
|
278
|
+
}
|
|
279
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormSafetyDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
280
|
+
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
281
|
}
|
|
276
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxActionFormSafetyDirective, decorators: [{
|
|
277
283
|
type: Directive,
|
|
278
284
|
args: [{
|
|
279
|
-
selector: '[dbxActionFormSafety]'
|
|
285
|
+
selector: '[dbxActionFormSafety]',
|
|
286
|
+
standalone: true
|
|
280
287
|
}]
|
|
281
|
-
}]
|
|
282
|
-
type: Input,
|
|
283
|
-
args: ['dbxActionFormSafety']
|
|
284
|
-
}] } });
|
|
288
|
+
}] });
|
|
285
289
|
|
|
290
|
+
/**
|
|
291
|
+
* @deprecated import DbxActionFormSafetyDirective directly
|
|
292
|
+
*/
|
|
286
293
|
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: "
|
|
294
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
295
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, imports: [DbxActionFormSafetyDirective], exports: [DbxActionFormSafetyDirective] });
|
|
296
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule });
|
|
290
297
|
}
|
|
291
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
298
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionTransitionModule, decorators: [{
|
|
292
299
|
type: NgModule,
|
|
293
300
|
args: [{
|
|
294
|
-
imports: [
|
|
295
|
-
declarations: [DbxActionFormSafetyDirective],
|
|
301
|
+
imports: [DbxActionFormSafetyDirective],
|
|
296
302
|
exports: [DbxActionFormSafetyDirective]
|
|
297
303
|
}]
|
|
298
304
|
}] });
|
|
299
305
|
|
|
306
|
+
/**
|
|
307
|
+
* @deprecated Import DbxActionFormDirective directly instead.
|
|
308
|
+
*/
|
|
300
309
|
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: "
|
|
310
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
311
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, imports: [DbxActionFormDirective], exports: [DbxActionFormDirective] });
|
|
312
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule });
|
|
304
313
|
}
|
|
305
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
314
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormActionModule, decorators: [{
|
|
306
315
|
type: NgModule,
|
|
307
316
|
args: [{
|
|
308
|
-
imports: [
|
|
309
|
-
declarations: [DbxActionFormDirective],
|
|
317
|
+
imports: [DbxActionFormDirective],
|
|
310
318
|
exports: [DbxActionFormDirective]
|
|
311
319
|
}]
|
|
312
320
|
}] });
|
|
313
321
|
|
|
314
|
-
function dbxFormSourceObservable(form, inputObs,
|
|
315
|
-
return dbxFormSourceObservableFromStream(form.stream$, inputObs,
|
|
322
|
+
function dbxFormSourceObservable(form, inputObs, modeObs) {
|
|
323
|
+
return dbxFormSourceObservableFromStream(form.stream$, inputObs, modeObs);
|
|
316
324
|
}
|
|
317
|
-
function dbxFormSourceObservableFromStream(
|
|
325
|
+
function dbxFormSourceObservableFromStream(streamObs, inputObs, modeObs) {
|
|
318
326
|
const value$ = asObservable(inputObs).pipe(shareReplay(1)); // catch/share the latest emission
|
|
319
|
-
const state$ =
|
|
327
|
+
const state$ = streamObs.pipe(map((x) => x.state), distinctUntilChanged());
|
|
328
|
+
const mode$ = asObservable(modeObs).pipe(distinctUntilChanged());
|
|
320
329
|
return combineLatest([mode$, value$]).pipe(map((x) => x[0]), distinctUntilChanged(), switchMap((mode) => {
|
|
321
330
|
if (mode === 'reset') {
|
|
322
331
|
// reset only
|
|
@@ -331,12 +340,12 @@ function dbxFormSourceObservableFromStream(stream$, inputObs, mode$) {
|
|
|
331
340
|
else {
|
|
332
341
|
return [value, false];
|
|
333
342
|
}
|
|
334
|
-
}), tap(([
|
|
343
|
+
}), tap(([_, send]) => {
|
|
335
344
|
firstValueSent = true;
|
|
336
345
|
if (!send) {
|
|
337
346
|
doneSubject.next(undefined);
|
|
338
347
|
}
|
|
339
|
-
}), filter(([
|
|
348
|
+
}), filter(([_, send]) => send), map(([value, _]) => value), takeUntil(doneSubject), cleanup(() => {
|
|
340
349
|
doneSubject.complete();
|
|
341
350
|
}));
|
|
342
351
|
}
|
|
@@ -373,93 +382,58 @@ function dbxFormSourceObservableFromStream(stream$, inputObs, mode$) {
|
|
|
373
382
|
*/
|
|
374
383
|
class DbxFormSourceDirective extends AbstractSubscriptionDirective {
|
|
375
384
|
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) {
|
|
385
|
+
dbxFormSourceMode = input();
|
|
386
|
+
dbxFormSource = input();
|
|
387
|
+
_setFormSourceObservableEffect = effect(() => {
|
|
388
|
+
const formSource = this.dbxFormSource();
|
|
389
|
+
const mode = this.dbxFormSourceMode() ?? 'reset';
|
|
387
390
|
let subscription;
|
|
388
|
-
if (
|
|
389
|
-
subscription = dbxFormSourceObservableFromStream(this.form.stream$,
|
|
391
|
+
if (formSource) {
|
|
392
|
+
subscription = dbxFormSourceObservableFromStream(this.form.stream$, formSource, mode).subscribe((x) => {
|
|
390
393
|
this.form.setValue(x);
|
|
391
394
|
});
|
|
392
395
|
}
|
|
393
396
|
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 });
|
|
397
|
+
});
|
|
398
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
399
|
+
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
400
|
}
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
401
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceDirective, decorators: [{
|
|
403
402
|
type: Directive,
|
|
404
403
|
args: [{
|
|
405
|
-
selector: '[dbxFormSource]'
|
|
404
|
+
selector: '[dbxFormSource]',
|
|
405
|
+
standalone: true
|
|
406
406
|
}]
|
|
407
|
-
}]
|
|
408
|
-
type: Input,
|
|
409
|
-
args: ['dbxFormSourceMode']
|
|
410
|
-
}], obs: [{
|
|
411
|
-
type: Input,
|
|
412
|
-
args: ['dbxFormSource']
|
|
413
|
-
}] } });
|
|
407
|
+
}] });
|
|
414
408
|
|
|
409
|
+
const DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE = 'reset';
|
|
415
410
|
/**
|
|
416
411
|
* Used with a FormComponent to set the value from a LoadingState when the value is available.
|
|
412
|
+
*
|
|
413
|
+
* Only passes non-null values from the source.
|
|
417
414
|
*/
|
|
418
415
|
class DbxFormLoadingSourceDirective extends AbstractSubscriptionDirective {
|
|
419
416
|
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();
|
|
417
|
+
dbxFormLoadingSourceMode = input(DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE, { transform: (x) => x ?? DEFAULT_DBX_FORM_LOADING_SOURCE_DIRECTIVE_MODE });
|
|
418
|
+
dbxFormLoadingSource = input();
|
|
419
|
+
mode$ = toObservable(this.dbxFormLoadingSourceMode);
|
|
420
|
+
source$ = toObservable(this.dbxFormLoadingSource).pipe(maybeValueFromObservableOrValue(), filterMaybe(), valueFromFinishedLoadingState());
|
|
421
|
+
constructor() {
|
|
422
|
+
super();
|
|
423
|
+
this.sub = dbxFormSourceObservableFromStream(this.form.stream$, this.source$, this.mode$).subscribe((x) => {
|
|
424
|
+
this.form.setValue(x);
|
|
425
|
+
});
|
|
447
426
|
}
|
|
448
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
449
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
427
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLoadingSourceDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
428
|
+
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
429
|
}
|
|
451
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
430
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLoadingSourceDirective, decorators: [{
|
|
452
431
|
type: Directive,
|
|
453
432
|
args: [{
|
|
454
|
-
selector: '[dbxFormLoadingSource]'
|
|
433
|
+
selector: '[dbxFormLoadingSource]',
|
|
434
|
+
standalone: true
|
|
455
435
|
}]
|
|
456
|
-
}],
|
|
457
|
-
type: Input,
|
|
458
|
-
args: ['dbxFormLoadingSourceMode']
|
|
459
|
-
}], obs: [{
|
|
460
|
-
type: Input,
|
|
461
|
-
args: ['dbxFormLoadingSource']
|
|
462
|
-
}] } });
|
|
436
|
+
}], ctorParameters: () => [] });
|
|
463
437
|
|
|
464
438
|
/**
|
|
465
439
|
* Used to see form value changes.
|
|
@@ -468,46 +442,48 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
468
442
|
*/
|
|
469
443
|
class DbxFormValueChangesDirective extends AbstractSubscriptionDirective {
|
|
470
444
|
form = inject((DbxForm), { host: true });
|
|
471
|
-
dbxFormValueChange =
|
|
445
|
+
dbxFormValueChange = output();
|
|
472
446
|
ngOnInit() {
|
|
473
447
|
this.sub = this.form.stream$
|
|
474
448
|
.pipe(mergeMap((x) => this.form.getValue().pipe(first(), map((value) => ({ isComplete: x.isComplete, value })))), delay(0))
|
|
475
449
|
.subscribe(({ isComplete, value }) => {
|
|
476
450
|
if (isComplete) {
|
|
477
|
-
this.dbxFormValueChange.
|
|
451
|
+
this.dbxFormValueChange.emit(value);
|
|
478
452
|
}
|
|
479
453
|
else {
|
|
480
|
-
this.dbxFormValueChange.
|
|
454
|
+
this.dbxFormValueChange.emit(undefined);
|
|
481
455
|
}
|
|
482
456
|
});
|
|
483
457
|
}
|
|
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 });
|
|
458
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormValueChangesDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
459
|
+
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
460
|
}
|
|
491
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
461
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormValueChangesDirective, decorators: [{
|
|
492
462
|
type: Directive,
|
|
493
463
|
args: [{
|
|
494
|
-
selector: '[dbxFormValueChange]'
|
|
464
|
+
selector: '[dbxFormValueChange]',
|
|
465
|
+
standalone: true
|
|
495
466
|
}]
|
|
496
|
-
}]
|
|
497
|
-
type: Output
|
|
498
|
-
}] } });
|
|
467
|
+
}] });
|
|
499
468
|
|
|
469
|
+
const importsAndExports$8 = [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective];
|
|
470
|
+
/**
|
|
471
|
+
* @deprecated import the directives directly instead.
|
|
472
|
+
*
|
|
473
|
+
* @see DbxFormSourceDirective
|
|
474
|
+
* @see DbxFormValueChangesDirective
|
|
475
|
+
* @see DbxFormLoadingSourceDirective
|
|
476
|
+
*/
|
|
500
477
|
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: "
|
|
478
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
479
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, imports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective], exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective] });
|
|
480
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule });
|
|
504
481
|
}
|
|
505
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
482
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormIoModule, decorators: [{
|
|
506
483
|
type: NgModule,
|
|
507
484
|
args: [{
|
|
508
|
-
imports:
|
|
509
|
-
|
|
510
|
-
exports: [DbxFormSourceDirective, DbxFormValueChangesDirective, DbxFormLoadingSourceDirective]
|
|
485
|
+
imports: importsAndExports$8,
|
|
486
|
+
exports: importsAndExports$8
|
|
511
487
|
}]
|
|
512
488
|
}] });
|
|
513
489
|
|
|
@@ -524,11 +500,11 @@ function streamValueFromControl(fromControl, path) {
|
|
|
524
500
|
}
|
|
525
501
|
|
|
526
502
|
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: "
|
|
503
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
504
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
505
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, imports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule] });
|
|
530
506
|
}
|
|
531
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
507
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormModule, decorators: [{
|
|
532
508
|
type: NgModule,
|
|
533
509
|
args: [{
|
|
534
510
|
exports: [DbxFormActionTransitionModule, DbxFormActionModule, DbxFormIoModule]
|
|
@@ -560,45 +536,86 @@ function defaultValidationMessages() {
|
|
|
560
536
|
|
|
561
537
|
// MARK: Default
|
|
562
538
|
class DbxDefaultChecklistItemFieldDisplayComponent {
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
539
|
+
_displayContentSignal = signal(undefined);
|
|
540
|
+
displayContentSignal = this._displayContentSignal.asReadonly();
|
|
541
|
+
setDisplayContent(displayContent) {
|
|
542
|
+
this._displayContentSignal.set(displayContent);
|
|
566
543
|
}
|
|
567
|
-
|
|
568
|
-
|
|
544
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultChecklistItemFieldDisplayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
545
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxDefaultChecklistItemFieldDisplayComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
|
|
546
|
+
@if (displayContentSignal()) {
|
|
547
|
+
<div class="dbx-default-checklist-item-field">
|
|
548
|
+
@if (displayContentSignal()?.label) {
|
|
549
|
+
<div class="item-label">{{ displayContentSignal()?.label }}</div>
|
|
550
|
+
}
|
|
551
|
+
@if (displayContentSignal()?.sublabel) {
|
|
552
|
+
<div class="item-sublabel">{{ displayContentSignal()?.sublabel }}</div>
|
|
553
|
+
}
|
|
554
|
+
@if (displayContentSignal()?.description) {
|
|
555
|
+
<div class="dbx-hint item-description">{{ displayContentSignal()?.description }}</div>
|
|
556
|
+
}
|
|
557
|
+
</div>
|
|
569
558
|
}
|
|
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"] }] });
|
|
559
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
581
560
|
}
|
|
582
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultChecklistItemFieldDisplayComponent, decorators: [{
|
|
583
562
|
type: Component,
|
|
584
563
|
args: [{
|
|
585
564
|
template: `
|
|
586
|
-
|
|
587
|
-
<div
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
565
|
+
@if (displayContentSignal()) {
|
|
566
|
+
<div class="dbx-default-checklist-item-field">
|
|
567
|
+
@if (displayContentSignal()?.label) {
|
|
568
|
+
<div class="item-label">{{ displayContentSignal()?.label }}</div>
|
|
569
|
+
}
|
|
570
|
+
@if (displayContentSignal()?.sublabel) {
|
|
571
|
+
<div class="item-sublabel">{{ displayContentSignal()?.sublabel }}</div>
|
|
572
|
+
}
|
|
573
|
+
@if (displayContentSignal()?.description) {
|
|
574
|
+
<div class="dbx-hint item-description">{{ displayContentSignal()?.description }}</div>
|
|
575
|
+
}
|
|
576
|
+
</div>
|
|
577
|
+
}
|
|
578
|
+
`,
|
|
579
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
580
|
+
standalone: true,
|
|
581
|
+
imports: [NgIf]
|
|
592
582
|
}]
|
|
593
|
-
}]
|
|
594
|
-
type: Input
|
|
595
|
-
}] } });
|
|
583
|
+
}] });
|
|
596
584
|
|
|
585
|
+
class DbxChecklistItemContentComponent extends AbstractSubscriptionDirective {
|
|
586
|
+
checklistItemFieldComponent = inject((DbxChecklistItemFieldComponent));
|
|
587
|
+
config = {
|
|
588
|
+
componentClass: this.checklistItemFieldComponent.componentClass,
|
|
589
|
+
init: (instance) => {
|
|
590
|
+
this.sub = this.checklistItemFieldComponent.displayContent$.subscribe((content) => {
|
|
591
|
+
instance.setDisplayContent(content);
|
|
592
|
+
});
|
|
593
|
+
}
|
|
594
|
+
};
|
|
595
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemContentComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
596
|
+
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: `
|
|
597
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
598
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
599
|
+
}
|
|
600
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemContentComponent, decorators: [{
|
|
601
|
+
type: Component,
|
|
602
|
+
args: [{
|
|
603
|
+
selector: 'dbx-checklist-item-content-component',
|
|
604
|
+
template: `
|
|
605
|
+
<dbx-injection [config]="config"></dbx-injection>
|
|
606
|
+
`,
|
|
607
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
608
|
+
standalone: true,
|
|
609
|
+
imports: [DbxInjectionComponent]
|
|
610
|
+
}]
|
|
611
|
+
}] });
|
|
597
612
|
class DbxChecklistItemFieldComponent extends FieldType {
|
|
598
|
-
|
|
599
|
-
displayContent$ = this.
|
|
613
|
+
_displayContentObs = signal(undefined);
|
|
614
|
+
displayContent$ = toObservable(this._displayContentObs).pipe(switchMapFilterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
600
615
|
anchor$ = this.displayContent$.pipe(map((x) => x.anchor), shareReplay(1));
|
|
601
616
|
rippleDisabled$ = this.displayContent$.pipe(map((x) => x.ripple === false || (x.ripple !== true && !x.anchor)), distinctUntilChanged(), shareReplay(1));
|
|
617
|
+
anchorSignal = toSignal(this.anchor$);
|
|
618
|
+
rippleDisabledSignal = toSignal(this.rippleDisabled$, { initialValue: false });
|
|
602
619
|
get formGroup() {
|
|
603
620
|
return this.form;
|
|
604
621
|
}
|
|
@@ -624,43 +641,14 @@ class DbxChecklistItemFieldComponent extends FieldType {
|
|
|
624
641
|
return this.checklistField.componentClass ?? DbxDefaultChecklistItemFieldDisplayComponent;
|
|
625
642
|
}
|
|
626
643
|
ngOnInit() {
|
|
627
|
-
this.
|
|
644
|
+
this._displayContentObs.set(this.checklistField.displayContent);
|
|
628
645
|
}
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
}
|
|
632
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
633
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DbxChecklistItemFieldComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "<div class=\"dbx-checklist-item-wrapper\" [formGroup]=\"formGroup\">\n <div *ngIf=\"label\" class=\"dbx-checklist-item-label\">{{ label }}</div>\n <div class=\"dbx-checklist-item\">\n <div class=\"dbx-checklist-item-check\">\n <mat-checkbox [formControlName]=\"formControlName\"></mat-checkbox>\n </div>\n <div class=\"dbx-checklist-item-content-wrapper\">\n <dbx-anchor [block]=\"true\" [anchor]=\"anchor$ | async\">\n <div class=\"dbx-checklist-item-content\" matRipple [matRippleDisabled]=\"(rippleDisabled$ | async) ?? false\">\n <dbx-checklist-item-content-component></dbx-checklist-item-content-component>\n <span class=\"spacer\"></span>\n <mat-icon *ngIf=\"(rippleDisabled$ | async) !== true\">navigate_next</mat-icon>\n </div>\n </dbx-anchor>\n </div>\n </div>\n <div *ngIf=\"description\" class=\"dbx-hint\">{{ description }}</div>\n</div>\n", dependencies: [{ kind: "directive", type: i0.forwardRef(function () { return i1.NgIf; }), selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgControlStatus; }), selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i0.forwardRef(function () { return i2.NgControlStatusGroup; }), selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i0.forwardRef(function () { return i2.FormGroupDirective; }), selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i0.forwardRef(function () { return i2.FormControlName; }), selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i0.forwardRef(function () { return i4.MatRipple; }), selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i0.forwardRef(function () { return i4$1.MatCheckbox; }), selector: "mat-checkbox", inputs: ["disableRipple", "color", "tabIndex"], exportAs: ["matCheckbox"] }, { kind: "component", type: i0.forwardRef(function () { return i7.MatIcon; }), selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i0.forwardRef(function () { return i5.DbxAnchorComponent; }), selector: "dbx-anchor, [dbx-anchor]", inputs: ["block"] }, { kind: "component", type: i0.forwardRef(function () { return DbxChecklistItemContentComponent; }), selector: "dbx-checklist-item-content-component" }, { kind: "pipe", type: i0.forwardRef(function () { return i1.AsyncPipe; }), name: "async" }] });
|
|
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"] }] });
|
|
646
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
647
|
+
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
648
|
}
|
|
656
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
649
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxChecklistItemFieldComponent, decorators: [{
|
|
657
650
|
type: Component,
|
|
658
|
-
args: [{
|
|
659
|
-
selector: 'dbx-checklist-item-content-component',
|
|
660
|
-
template: `
|
|
661
|
-
<dbx-injection [config]="config"></dbx-injection>
|
|
662
|
-
`
|
|
663
|
-
}]
|
|
651
|
+
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
652
|
}] });
|
|
665
653
|
|
|
666
654
|
class DbxFormInfoWrapperComponent extends FieldWrapper {
|
|
@@ -670,35 +658,38 @@ class DbxFormInfoWrapperComponent extends FieldWrapper {
|
|
|
670
658
|
onInfoClick() {
|
|
671
659
|
this.infoWrapper.onInfoClick();
|
|
672
660
|
}
|
|
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
|
|
661
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormInfoWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
662
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormInfoWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
663
|
+
<div class="dbx-form-info-wrapper dbx-flex-bar">
|
|
664
|
+
<div class="dbx-form-info-wrapper-content dbx-flex-grow">
|
|
677
665
|
<ng-container #fieldComponent></ng-container>
|
|
678
666
|
</div>
|
|
679
|
-
<div class="dbx-form-info-wrapper-info
|
|
667
|
+
<div class="dbx-form-info-wrapper-info dbx-flex-noshrink dbx-flex-column dbx-flex-center">
|
|
680
668
|
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
681
669
|
<mat-icon>info</mat-icon>
|
|
682
670
|
</button>
|
|
683
671
|
</div>
|
|
684
672
|
</div>
|
|
685
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
673
|
+
`, 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
674
|
}
|
|
687
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
675
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormInfoWrapperComponent, decorators: [{
|
|
688
676
|
type: Component,
|
|
689
677
|
args: [{
|
|
690
678
|
template: `
|
|
691
|
-
<div class="dbx-form-info-wrapper
|
|
692
|
-
<div class="dbx-form-info-wrapper-content
|
|
679
|
+
<div class="dbx-form-info-wrapper dbx-flex-bar">
|
|
680
|
+
<div class="dbx-form-info-wrapper-content dbx-flex-grow">
|
|
693
681
|
<ng-container #fieldComponent></ng-container>
|
|
694
682
|
</div>
|
|
695
|
-
<div class="dbx-form-info-wrapper-info
|
|
683
|
+
<div class="dbx-form-info-wrapper-info dbx-flex-noshrink dbx-flex-column dbx-flex-center">
|
|
696
684
|
<button mat-icon-button [attr.aria-label]="'show info button for ' + (to.label || 'section')" (click)="onInfoClick()">
|
|
697
685
|
<mat-icon>info</mat-icon>
|
|
698
686
|
</button>
|
|
699
687
|
</div>
|
|
700
688
|
</div>
|
|
701
|
-
|
|
689
|
+
`,
|
|
690
|
+
imports: [MatIconButton, MatIconModule],
|
|
691
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
692
|
+
standalone: true
|
|
702
693
|
}]
|
|
703
694
|
}] });
|
|
704
695
|
|
|
@@ -706,14 +697,14 @@ class DbxFormSectionWrapperComponent extends FieldWrapper {
|
|
|
706
697
|
get headerConfig() {
|
|
707
698
|
return this.props;
|
|
708
699
|
}
|
|
709
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
710
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
700
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
701
|
+
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
702
|
<dbx-section [headerConfig]="headerConfig">
|
|
712
703
|
<ng-container #fieldComponent></ng-container>
|
|
713
704
|
</dbx-section>
|
|
714
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
705
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: DbxSectionLayoutModule }, { kind: "component", type: i1$1.DbxSectionComponent, selector: "dbx-section", inputs: ["elevate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
715
706
|
}
|
|
716
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
707
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSectionWrapperComponent, decorators: [{
|
|
717
708
|
type: Component,
|
|
718
709
|
args: [{
|
|
719
710
|
selector: 'dbx-form-section-wrapper',
|
|
@@ -721,7 +712,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
721
712
|
<dbx-section [headerConfig]="headerConfig">
|
|
722
713
|
<ng-container #fieldComponent></ng-container>
|
|
723
714
|
</dbx-section>
|
|
724
|
-
|
|
715
|
+
`,
|
|
716
|
+
imports: [DbxSectionLayoutModule],
|
|
717
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
718
|
+
standalone: true
|
|
725
719
|
}]
|
|
726
720
|
}] });
|
|
727
721
|
|
|
@@ -738,21 +732,24 @@ class DbxFormFlexWrapperComponent extends FieldWrapper {
|
|
|
738
732
|
get breakToColumn() {
|
|
739
733
|
return this.flexWrapper.breakToColumn ?? false;
|
|
740
734
|
}
|
|
741
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
742
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
735
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFlexWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
736
|
+
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
737
|
<div class="dbx-form-flex-section" dbxFlexGroup [content]="false" [relative]="relative" [breakpoint]="breakpoint" [breakToColumn]="breakToColumn">
|
|
744
738
|
<ng-container #fieldComponent></ng-container>
|
|
745
739
|
</div>
|
|
746
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
740
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFlexGroupDirective, selector: "[dbxFlexGroup]", inputs: ["content", "breakToColumn", "relative", "breakpoint"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
747
741
|
}
|
|
748
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
742
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFlexWrapperComponent, decorators: [{
|
|
749
743
|
type: Component,
|
|
750
744
|
args: [{
|
|
751
745
|
template: `
|
|
752
746
|
<div class="dbx-form-flex-section" dbxFlexGroup [content]="false" [relative]="relative" [breakpoint]="breakpoint" [breakToColumn]="breakToColumn">
|
|
753
747
|
<ng-container #fieldComponent></ng-container>
|
|
754
748
|
</div>
|
|
755
|
-
|
|
749
|
+
`,
|
|
750
|
+
imports: [DbxFlexGroupDirective],
|
|
751
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
752
|
+
standalone: true
|
|
756
753
|
}]
|
|
757
754
|
}] });
|
|
758
755
|
|
|
@@ -760,14 +757,14 @@ class DbxFormSubsectionWrapperComponent extends FieldWrapper {
|
|
|
760
757
|
get headerConfig() {
|
|
761
758
|
return this.props;
|
|
762
759
|
}
|
|
763
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
764
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
760
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSubsectionWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
761
|
+
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
762
|
<dbx-subsection [headerConfig]="headerConfig">
|
|
766
763
|
<ng-container #fieldComponent></ng-container>
|
|
767
764
|
</dbx-subsection>
|
|
768
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
765
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxSubSectionComponent, selector: "dbx-subsection" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
769
766
|
}
|
|
770
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
767
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSubsectionWrapperComponent, decorators: [{
|
|
771
768
|
type: Component,
|
|
772
769
|
args: [{
|
|
773
770
|
selector: 'dbx-form-subsection-wrapper',
|
|
@@ -775,7 +772,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
775
772
|
<dbx-subsection [headerConfig]="headerConfig">
|
|
776
773
|
<ng-container #fieldComponent></ng-container>
|
|
777
774
|
</dbx-subsection>
|
|
778
|
-
|
|
775
|
+
`,
|
|
776
|
+
imports: [DbxSubSectionComponent],
|
|
777
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
778
|
+
standalone: true
|
|
779
779
|
}]
|
|
780
780
|
}] });
|
|
781
781
|
|
|
@@ -795,6 +795,8 @@ class AbstractFormExpandSectionWrapperDirective extends FieldWrapper {
|
|
|
795
795
|
hasValue$ = this.formControl$.pipe(switchMap((x) => x.valueChanges.pipe(startWith(x.value), map((value) => {
|
|
796
796
|
return this.hasValueFn(value);
|
|
797
797
|
}), shareReplay(1))));
|
|
798
|
+
showSignal = toSignal(this.show$, { initialValue: false });
|
|
799
|
+
hasValueSignal = toSignal(this.hasValue$, { initialValue: false });
|
|
798
800
|
get expandSection() {
|
|
799
801
|
return this.props;
|
|
800
802
|
}
|
|
@@ -821,10 +823,10 @@ class AbstractFormExpandSectionWrapperDirective extends FieldWrapper {
|
|
|
821
823
|
this._toggleOpen.complete();
|
|
822
824
|
this._formControlObs.complete();
|
|
823
825
|
}
|
|
824
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
825
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
826
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormExpandSectionWrapperDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
827
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractFormExpandSectionWrapperDirective, usesInheritance: true, ngImport: i0 });
|
|
826
828
|
}
|
|
827
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
829
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormExpandSectionWrapperDirective, decorators: [{
|
|
828
830
|
type: Directive
|
|
829
831
|
}] });
|
|
830
832
|
|
|
@@ -835,31 +837,27 @@ class DbxFormExpandWrapperComponent extends AbstractFormExpandSectionWrapperDire
|
|
|
835
837
|
get buttonType() {
|
|
836
838
|
return this.expandSection.buttonType ?? 'button';
|
|
837
839
|
}
|
|
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: [{
|
|
840
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExpandWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
841
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormExpandWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
842
|
+
@if (showSignal()) {
|
|
843
|
+
<ng-container #fieldComponent></ng-container>
|
|
844
|
+
} @else {
|
|
845
|
+
<span class="dbx-form-expand-wrapper-button" (click)="open()">{{ expandLabel }}</span>
|
|
846
|
+
}
|
|
847
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
848
|
+
}
|
|
849
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExpandWrapperComponent, decorators: [{
|
|
851
850
|
type: Component,
|
|
852
851
|
args: [{
|
|
853
852
|
template: `
|
|
854
|
-
|
|
855
|
-
<ng-container
|
|
856
|
-
|
|
857
|
-
|
|
858
|
-
|
|
859
|
-
|
|
860
|
-
|
|
861
|
-
|
|
862
|
-
`
|
|
853
|
+
@if (showSignal()) {
|
|
854
|
+
<ng-container #fieldComponent></ng-container>
|
|
855
|
+
} @else {
|
|
856
|
+
<span class="dbx-form-expand-wrapper-button" (click)="open()">{{ expandLabel }}</span>
|
|
857
|
+
}
|
|
858
|
+
`,
|
|
859
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
860
|
+
standalone: true
|
|
863
861
|
}]
|
|
864
862
|
}] });
|
|
865
863
|
|
|
@@ -875,17 +873,19 @@ class AutoTouchFieldWrapperComponent extends FieldWrapper {
|
|
|
875
873
|
}
|
|
876
874
|
});
|
|
877
875
|
}
|
|
878
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
879
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
876
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTouchFieldWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
877
|
+
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
878
|
<ng-container #fieldComponent></ng-container>
|
|
881
|
-
`, isInline: true });
|
|
879
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
882
880
|
}
|
|
883
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
881
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AutoTouchFieldWrapperComponent, decorators: [{
|
|
884
882
|
type: Component,
|
|
885
883
|
args: [{
|
|
886
884
|
template: `
|
|
887
885
|
<ng-container #fieldComponent></ng-container>
|
|
888
|
-
|
|
886
|
+
`,
|
|
887
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
888
|
+
standalone: true
|
|
889
889
|
}]
|
|
890
890
|
}] });
|
|
891
891
|
|
|
@@ -901,36 +901,40 @@ class DbxFormToggleWrapperComponent extends AbstractFormExpandSectionWrapperDire
|
|
|
901
901
|
return of(this.expandLabel);
|
|
902
902
|
}
|
|
903
903
|
}), shareReplay(1));
|
|
904
|
+
slideLabelSignal = toSignal(this.slideLabel$, { initialValue: '' });
|
|
904
905
|
onToggleChange() {
|
|
905
906
|
this.show$.pipe(first()).subscribe((show) => {
|
|
906
907
|
this._toggleOpen.next(!show);
|
|
907
908
|
});
|
|
908
909
|
}
|
|
909
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
910
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
911
|
-
<div class="dbx-form-toggle-wrapper"
|
|
910
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormToggleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
911
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxFormToggleWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
912
|
+
<div class="dbx-form-toggle-wrapper">
|
|
912
913
|
<div class="dbx-form-toggle-wrapper-toggle">
|
|
913
|
-
<mat-slide-toggle [checked]="
|
|
914
|
+
<mat-slide-toggle [checked]="showSignal()" (toggleChange)="onToggleChange()">{{ slideLabelSignal() }}</mat-slide-toggle>
|
|
914
915
|
</div>
|
|
915
|
-
|
|
916
|
+
@if (showSignal()) {
|
|
916
917
|
<ng-container #fieldComponent></ng-container>
|
|
917
|
-
|
|
918
|
+
}
|
|
918
919
|
</div>
|
|
919
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
920
|
+
`, 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
921
|
}
|
|
921
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormToggleWrapperComponent, decorators: [{
|
|
922
923
|
type: Component,
|
|
923
924
|
args: [{
|
|
924
925
|
template: `
|
|
925
|
-
<div class="dbx-form-toggle-wrapper"
|
|
926
|
+
<div class="dbx-form-toggle-wrapper">
|
|
926
927
|
<div class="dbx-form-toggle-wrapper-toggle">
|
|
927
|
-
<mat-slide-toggle [checked]="
|
|
928
|
+
<mat-slide-toggle [checked]="showSignal()" (toggleChange)="onToggleChange()">{{ slideLabelSignal() }}</mat-slide-toggle>
|
|
928
929
|
</div>
|
|
929
|
-
|
|
930
|
+
@if (showSignal()) {
|
|
930
931
|
<ng-container #fieldComponent></ng-container>
|
|
931
|
-
|
|
932
|
+
}
|
|
932
933
|
</div>
|
|
933
|
-
|
|
934
|
+
`,
|
|
935
|
+
imports: [MatSlideToggle],
|
|
936
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
937
|
+
standalone: true
|
|
934
938
|
}]
|
|
935
939
|
}] });
|
|
936
940
|
|
|
@@ -939,6 +943,8 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
|
|
|
939
943
|
_class = new BehaviorSubject(undefined);
|
|
940
944
|
style$ = this._style.pipe(switchMapMaybeDefault({}), shareReplay(1));
|
|
941
945
|
class$ = this._class.pipe(switchMapMaybeDefault(''), shareReplay(1));
|
|
946
|
+
styleSignal = toSignal(this.style$);
|
|
947
|
+
classSignal = toSignal(this.class$);
|
|
942
948
|
get styleGetter() {
|
|
943
949
|
return this.props.styleGetter;
|
|
944
950
|
}
|
|
@@ -957,21 +963,24 @@ class DbxFormStyleWrapperComponent extends FieldWrapper {
|
|
|
957
963
|
this._style.complete();
|
|
958
964
|
this._class.complete();
|
|
959
965
|
}
|
|
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]="(
|
|
966
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormStyleWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
967
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormStyleWrapperComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
968
|
+
<div class="dbx-form-style-wrapper" [ngClass]="classSignal()" [ngStyle]="styleSignal()">
|
|
963
969
|
<ng-container #fieldComponent></ng-container>
|
|
964
970
|
</div>
|
|
965
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
971
|
+
`, 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
972
|
}
|
|
967
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
973
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormStyleWrapperComponent, decorators: [{
|
|
968
974
|
type: Component,
|
|
969
975
|
args: [{
|
|
970
976
|
template: `
|
|
971
|
-
<div class="dbx-form-style-wrapper" [ngClass]="(
|
|
977
|
+
<div class="dbx-form-style-wrapper" [ngClass]="classSignal()" [ngStyle]="styleSignal()">
|
|
972
978
|
<ng-container #fieldComponent></ng-container>
|
|
973
979
|
</div>
|
|
974
|
-
|
|
980
|
+
`,
|
|
981
|
+
imports: [NgClass, NgStyle],
|
|
982
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
983
|
+
standalone: true
|
|
975
984
|
}]
|
|
976
985
|
}] });
|
|
977
986
|
|
|
@@ -992,15 +1001,15 @@ class DbxFormWorkingWrapperComponent extends FieldWrapper {
|
|
|
992
1001
|
this.workingContext.destroy();
|
|
993
1002
|
this.sub.destroy();
|
|
994
1003
|
}
|
|
995
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
996
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1004
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormWorkingWrapperComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1005
|
+
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
1006
|
<div class="dbx-form-working-wrapper">
|
|
998
1007
|
<ng-container #fieldComponent></ng-container>
|
|
999
1008
|
<dbx-loading [linear]="true" [context]="workingContext"></dbx-loading>
|
|
1000
1009
|
</div>
|
|
1001
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1010
|
+
`, 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
1011
|
}
|
|
1003
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1012
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormWorkingWrapperComponent, decorators: [{
|
|
1004
1013
|
type: Component,
|
|
1005
1014
|
args: [{
|
|
1006
1015
|
template: `
|
|
@@ -1008,7 +1017,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1008
1017
|
<ng-container #fieldComponent></ng-container>
|
|
1009
1018
|
<dbx-loading [linear]="true" [context]="workingContext"></dbx-loading>
|
|
1010
1019
|
</div>
|
|
1011
|
-
|
|
1020
|
+
`,
|
|
1021
|
+
imports: [DbxLoadingComponent],
|
|
1022
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1023
|
+
standalone: true
|
|
1012
1024
|
}]
|
|
1013
1025
|
}] });
|
|
1014
1026
|
|
|
@@ -1022,27 +1034,11 @@ const STYLE_WRAPPER_KEY = 'style';
|
|
|
1022
1034
|
const WORKING_WRAPPER_KEY = 'working';
|
|
1023
1035
|
const EXPAND_WRAPPER_KEY = 'expand';
|
|
1024
1036
|
|
|
1037
|
+
const importsAndExports$7 = [AutoTouchFieldWrapperComponent, DbxFormSectionWrapperComponent, DbxFormSubsectionWrapperComponent, DbxFormInfoWrapperComponent, DbxFormExpandWrapperComponent, DbxFormToggleWrapperComponent, DbxFormFlexWrapperComponent, DbxFormStyleWrapperComponent, DbxFormWorkingWrapperComponent];
|
|
1025
1038
|
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({
|
|
1039
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1040
|
+
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] });
|
|
1041
|
+
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
1042
|
wrappers: [
|
|
1047
1043
|
{ name: AUTO_TOUCH_WRAPPER_KEY, component: AutoTouchFieldWrapperComponent },
|
|
1048
1044
|
{ name: EXPAND_WRAPPER_KEY, component: DbxFormExpandWrapperComponent },
|
|
@@ -1056,19 +1052,11 @@ class DbxFormFormlyWrapperModule {
|
|
|
1056
1052
|
]
|
|
1057
1053
|
})] });
|
|
1058
1054
|
}
|
|
1059
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1055
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyWrapperModule, decorators: [{
|
|
1060
1056
|
type: NgModule,
|
|
1061
1057
|
args: [{
|
|
1062
1058
|
imports: [
|
|
1063
|
-
|
|
1064
|
-
DbxTextModule,
|
|
1065
|
-
DbxLoadingModule,
|
|
1066
|
-
DbxFlexLayoutModule,
|
|
1067
|
-
DbxSectionLayoutModule,
|
|
1068
|
-
MatButtonModule,
|
|
1069
|
-
MatSlideToggleModule,
|
|
1070
|
-
MatIconModule,
|
|
1071
|
-
FlexLayoutModule,
|
|
1059
|
+
...importsAndExports$7,
|
|
1072
1060
|
FormlyModule.forChild({
|
|
1073
1061
|
wrappers: [
|
|
1074
1062
|
{ name: AUTO_TOUCH_WRAPPER_KEY, component: AutoTouchFieldWrapperComponent },
|
|
@@ -1083,59 +1071,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1083
1071
|
]
|
|
1084
1072
|
})
|
|
1085
1073
|
],
|
|
1086
|
-
|
|
1087
|
-
exports: []
|
|
1074
|
+
exports: importsAndExports$7
|
|
1088
1075
|
}]
|
|
1089
1076
|
}] });
|
|
1090
1077
|
|
|
1078
|
+
const importsAndExports$6 = [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent];
|
|
1091
1079
|
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,
|
|
1080
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1081
|
+
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] });
|
|
1082
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, imports: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxFormFormlyWrapperModule,
|
|
1115
1083
|
FormlyModule.forChild({
|
|
1116
1084
|
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1117
1085
|
}), DbxFormFormlyWrapperModule] });
|
|
1118
1086
|
}
|
|
1119
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1087
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyChecklistItemFieldModule, decorators: [{
|
|
1120
1088
|
type: NgModule,
|
|
1121
1089
|
args: [{
|
|
1122
1090
|
imports: [
|
|
1123
|
-
|
|
1124
|
-
DbxTextModule,
|
|
1125
|
-
FormsModule,
|
|
1126
|
-
ReactiveFormsModule,
|
|
1127
|
-
MatRippleModule,
|
|
1128
|
-
MatCheckboxModule,
|
|
1129
|
-
MatButtonModule,
|
|
1130
|
-
MatIconModule,
|
|
1131
|
-
DbxRouterAnchorModule,
|
|
1132
|
-
DbxInjectionComponentModule,
|
|
1091
|
+
...importsAndExports$6,
|
|
1133
1092
|
DbxFormFormlyWrapperModule,
|
|
1134
1093
|
FormlyModule.forChild({
|
|
1135
1094
|
types: [{ name: 'checklistitem', component: DbxChecklistItemFieldComponent }]
|
|
1136
1095
|
})
|
|
1137
1096
|
],
|
|
1138
|
-
declarations: [DbxChecklistItemFieldComponent, DbxChecklistItemContentComponent, DbxDefaultChecklistItemFieldDisplayComponent],
|
|
1139
1097
|
exports: [DbxFormFormlyWrapperModule]
|
|
1140
1098
|
}]
|
|
1141
1099
|
}] });
|
|
@@ -1237,12 +1195,12 @@ function validatorsForFieldConfig(input) {
|
|
|
1237
1195
|
}
|
|
1238
1196
|
|
|
1239
1197
|
function checklistItemField(config) {
|
|
1240
|
-
const { key,
|
|
1198
|
+
const { key, displayContent, componentClass } = config;
|
|
1241
1199
|
const fieldConfig = formlyField({
|
|
1242
1200
|
key,
|
|
1243
1201
|
type: 'checklistitem',
|
|
1244
1202
|
...propsAndConfigForFieldConfig(config, {
|
|
1245
|
-
|
|
1203
|
+
displayContent,
|
|
1246
1204
|
componentClass
|
|
1247
1205
|
})
|
|
1248
1206
|
});
|
|
@@ -1270,8 +1228,8 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1270
1228
|
...config,
|
|
1271
1229
|
key
|
|
1272
1230
|
};
|
|
1273
|
-
if (currentField.
|
|
1274
|
-
mergedConfig.
|
|
1231
|
+
if (currentField.displayContent && config.displayContent) {
|
|
1232
|
+
mergedConfig.displayContent = combineLatest([currentField.displayContent, config.displayContent]).pipe(map(([a, b]) => {
|
|
1275
1233
|
const result = {
|
|
1276
1234
|
...a,
|
|
1277
1235
|
...b
|
|
@@ -1300,14 +1258,14 @@ class ChecklistItemFieldDataSetBuilder {
|
|
|
1300
1258
|
}
|
|
1301
1259
|
showValueFieldArrayCount(key, config) {
|
|
1302
1260
|
return this.field({
|
|
1303
|
-
|
|
1261
|
+
displayContent: this.contentWithDisplayValueFromData(key, (x) => addPlusPrefixToNumber(x?.length)),
|
|
1304
1262
|
...config,
|
|
1305
1263
|
key
|
|
1306
1264
|
});
|
|
1307
1265
|
}
|
|
1308
1266
|
showValueField(key, config, labelFn = (x) => x?.toString()) {
|
|
1309
1267
|
return this.field({
|
|
1310
|
-
|
|
1268
|
+
displayContent: this.contentWithDisplayValueFromData(key, labelFn),
|
|
1311
1269
|
...config,
|
|
1312
1270
|
key
|
|
1313
1271
|
});
|
|
@@ -1352,42 +1310,41 @@ class DbxFormComponentFieldComponent extends FieldType {
|
|
|
1352
1310
|
get config() {
|
|
1353
1311
|
return this.field.componentField;
|
|
1354
1312
|
}
|
|
1355
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1356
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1313
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormComponentFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1314
|
+
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
1315
|
<div class="dbx-form-component" dbx-injection [config]="config"></div>
|
|
1358
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1316
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1359
1317
|
}
|
|
1360
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1318
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormComponentFieldComponent, decorators: [{
|
|
1361
1319
|
type: Component,
|
|
1362
1320
|
args: [{
|
|
1363
1321
|
template: `
|
|
1364
1322
|
<div class="dbx-form-component" dbx-injection [config]="config"></div>
|
|
1365
|
-
|
|
1323
|
+
`,
|
|
1324
|
+
imports: [DbxInjectionComponent],
|
|
1325
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1326
|
+
standalone: true
|
|
1366
1327
|
}]
|
|
1367
1328
|
}] });
|
|
1368
1329
|
|
|
1330
|
+
const importsAndExports$5 = [DbxFormComponentFieldComponent];
|
|
1369
1331
|
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({
|
|
1332
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1333
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, imports: [DbxFormComponentFieldComponent, i1$2.FormlyModule], exports: [DbxFormComponentFieldComponent] });
|
|
1334
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, imports: [importsAndExports$5, FormlyModule.forChild({
|
|
1376
1335
|
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1377
1336
|
})] });
|
|
1378
1337
|
}
|
|
1379
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1338
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyComponentFieldModule, decorators: [{
|
|
1380
1339
|
type: NgModule,
|
|
1381
1340
|
args: [{
|
|
1382
1341
|
imports: [
|
|
1383
|
-
|
|
1384
|
-
DbxInjectionComponentModule,
|
|
1342
|
+
...importsAndExports$5,
|
|
1385
1343
|
FormlyModule.forChild({
|
|
1386
1344
|
types: [{ name: 'component', component: DbxFormComponentFieldComponent }]
|
|
1387
1345
|
})
|
|
1388
1346
|
],
|
|
1389
|
-
|
|
1390
|
-
exports: [DbxFormComponentFieldComponent]
|
|
1347
|
+
exports: importsAndExports$5
|
|
1391
1348
|
}]
|
|
1392
1349
|
}] });
|
|
1393
1350
|
|
|
@@ -1423,14 +1380,14 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1423
1380
|
_formControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
1424
1381
|
values$ = this._formControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
1425
1382
|
_listComponentClassObs = new BehaviorSubject(undefined);
|
|
1426
|
-
listComponentClass$ = this._listComponentClassObs.pipe(
|
|
1383
|
+
listComponentClass$ = this._listComponentClassObs.pipe(switchMapFilterMaybe());
|
|
1427
1384
|
config$ = this.listComponentClass$.pipe(map((componentClass) => {
|
|
1428
1385
|
const loadMore = this.loadMore;
|
|
1429
1386
|
const config = {
|
|
1430
1387
|
componentClass,
|
|
1431
1388
|
init: (listView) => {
|
|
1432
|
-
listView.
|
|
1433
|
-
listView.
|
|
1389
|
+
listView.setSelectionMode('select'); // always enable select
|
|
1390
|
+
listView.setState(this.field.props.state$);
|
|
1434
1391
|
if (loadMore != null) {
|
|
1435
1392
|
this._loadMoreSub.subscription = listView.loadMore.subscribe(() => loadMore());
|
|
1436
1393
|
}
|
|
@@ -1443,6 +1400,8 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1443
1400
|
isSelectedModifierFunction$ = this.values$.pipe(distinctUntilHasDifferentValues(), map((values) => {
|
|
1444
1401
|
return dbxValueListItemDecisionFunction(isSelectedDecisionFunctionFactory({ readKey: this.readKey })(values));
|
|
1445
1402
|
}), shareReplay(1));
|
|
1403
|
+
configSignal = toSignal(this.config$);
|
|
1404
|
+
isSelectedModifierFunctionSignal = toSignal(this.isSelectedModifierFunction$);
|
|
1446
1405
|
get label() {
|
|
1447
1406
|
return this.field.props.label;
|
|
1448
1407
|
}
|
|
@@ -1480,72 +1439,32 @@ class DbxItemListFieldComponent extends FieldType {
|
|
|
1480
1439
|
this.formControl.markAsTouched();
|
|
1481
1440
|
}
|
|
1482
1441
|
}
|
|
1483
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1484
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1442
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxItemListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1443
|
+
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
1444
|
}
|
|
1486
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1445
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxItemListFieldComponent, decorators: [{
|
|
1487
1446
|
type: Component,
|
|
1488
|
-
args: [{ template: "<div class=\"dbx-list-item-field\"
|
|
1447
|
+
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
1448
|
}] });
|
|
1490
1449
|
|
|
1450
|
+
const importsAndExports$4 = [DbxItemListFieldComponent];
|
|
1491
1451
|
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({
|
|
1452
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1453
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, imports: [DbxItemListFieldComponent, i1$2.FormlyModule], exports: [DbxItemListFieldComponent] });
|
|
1454
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, imports: [importsAndExports$4, FormlyModule.forChild({
|
|
1522
1455
|
types: [{ name: 'dbxlistfield', component: DbxItemListFieldComponent }]
|
|
1523
1456
|
})] });
|
|
1524
1457
|
}
|
|
1525
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1458
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDbxListFieldModule, decorators: [{
|
|
1526
1459
|
type: NgModule,
|
|
1527
1460
|
args: [{
|
|
1528
1461
|
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,
|
|
1462
|
+
...importsAndExports$4,
|
|
1543
1463
|
FormlyModule.forChild({
|
|
1544
1464
|
types: [{ name: 'dbxlistfield', component: DbxItemListFieldComponent }]
|
|
1545
1465
|
})
|
|
1546
1466
|
],
|
|
1547
|
-
|
|
1548
|
-
exports: [DbxItemListFieldComponent]
|
|
1467
|
+
exports: importsAndExports$4
|
|
1549
1468
|
}]
|
|
1550
1469
|
}] });
|
|
1551
1470
|
|
|
@@ -1553,7 +1472,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1553
1472
|
* Used for picking pre-set values using items as the presentation.
|
|
1554
1473
|
*/
|
|
1555
1474
|
class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
1556
|
-
filterMatInput;
|
|
1475
|
+
filterMatInput = viewChild('matInput', { read: MatInput });
|
|
1557
1476
|
inputCtrl = new FormControl('');
|
|
1558
1477
|
_formControlObs = new BehaviorSubject(undefined);
|
|
1559
1478
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
@@ -1615,13 +1534,15 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1615
1534
|
/**
|
|
1616
1535
|
* Context used for managing the loading of items, or when the current results change.
|
|
1617
1536
|
*/
|
|
1618
|
-
context =
|
|
1537
|
+
context = listLoadingStateContext({ obs: this.itemsLoadingState$, showLoadingOnNoValue: false });
|
|
1619
1538
|
filterItemsLoadingState$ = this.items$.pipe(map((x) => successResult(x)), startWithBeginLoading(), shareReplay(1));
|
|
1539
|
+
noItemsAvailable$ = this.filterItemsLoadingState$.pipe(mapIsListLoadingStateWithEmptyValue(), distinctUntilChanged());
|
|
1620
1540
|
/**
|
|
1621
1541
|
* Context used for searching/filtering.
|
|
1622
1542
|
*/
|
|
1623
|
-
filterResultsContext =
|
|
1624
|
-
|
|
1543
|
+
filterResultsContext = listLoadingStateContext({ obs: this.filteredSearchResultsState$, showLoadingOnNoValue: true });
|
|
1544
|
+
itemsSignal = toSignal(this.items$);
|
|
1545
|
+
noItemsAvailableSignal = toSignal(this.noItemsAvailable$);
|
|
1625
1546
|
get readonly() {
|
|
1626
1547
|
return this.props.readonly;
|
|
1627
1548
|
}
|
|
@@ -1753,7 +1674,7 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1753
1674
|
this.context.loading$
|
|
1754
1675
|
.pipe(delay(10), filter((x) => x), first())
|
|
1755
1676
|
.subscribe(() => {
|
|
1756
|
-
this.filterMatInput?.focus();
|
|
1677
|
+
this.filterMatInput()?.focus();
|
|
1757
1678
|
});
|
|
1758
1679
|
}
|
|
1759
1680
|
ngOnDestroy() {
|
|
@@ -1802,15 +1723,12 @@ class AbstractDbxPickableItemFieldDirective extends FieldType$1 {
|
|
|
1802
1723
|
this.formControl.markAsTouched();
|
|
1803
1724
|
this.formControl.markAsDirty();
|
|
1804
1725
|
}
|
|
1805
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1806
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
1726
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
1727
|
+
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
1728
|
}
|
|
1808
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1729
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxPickableItemFieldDirective, decorators: [{
|
|
1809
1730
|
type: Directive
|
|
1810
|
-
}]
|
|
1811
|
-
type: ViewChild,
|
|
1812
|
-
args: ['filterMatInput', { static: true }]
|
|
1813
|
-
}] } });
|
|
1731
|
+
}] });
|
|
1814
1732
|
|
|
1815
1733
|
/**
|
|
1816
1734
|
* Used for picking pre-set values using chips as the presentation.
|
|
@@ -1826,30 +1744,14 @@ class DbxPickableChipListFieldComponent extends AbstractDbxPickableItemFieldDire
|
|
|
1826
1744
|
}
|
|
1827
1745
|
}
|
|
1828
1746
|
}
|
|
1829
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1830
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
1747
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableChipListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1748
|
+
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
1749
|
}
|
|
1832
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1750
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableChipListFieldComponent, decorators: [{
|
|
1833
1751
|
type: Component,
|
|
1834
|
-
args: [{ template: "<div class=\"dbx-pickable-item-field\">\n <dbx-loading [context]=\"context\" [linear]=\"true\">\n
|
|
1752
|
+
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
1753
|
}] });
|
|
1836
1754
|
|
|
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
1755
|
// MARK: Selection List
|
|
1854
1756
|
class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrapperDirective {
|
|
1855
1757
|
constructor() {
|
|
@@ -1857,16 +1759,20 @@ class DbxPickableListFieldItemListComponent extends AbstractDbxSelectionListWrap
|
|
|
1857
1759
|
componentClass: DbxPickableListFieldItemListViewComponent
|
|
1858
1760
|
});
|
|
1859
1761
|
}
|
|
1860
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
1861
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
1762
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1763
|
+
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
1764
|
}
|
|
1863
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1765
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListComponent, decorators: [{
|
|
1864
1766
|
type: Component,
|
|
1865
1767
|
args: [{
|
|
1866
1768
|
selector: 'dbx-form-pickable-item-field-item-list',
|
|
1867
|
-
template:
|
|
1769
|
+
template: DEFAULT_LIST_WRAPPER_COMPONENT_CONFIGURATION_TEMPLATE,
|
|
1770
|
+
imports: [DbxListWrapperComponentImportsModule],
|
|
1771
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1772
|
+
providers: provideDbxListViewWrapper(DbxPickableListFieldItemListComponent),
|
|
1773
|
+
standalone: true
|
|
1868
1774
|
}]
|
|
1869
|
-
}], ctorParameters:
|
|
1775
|
+
}], ctorParameters: () => [] });
|
|
1870
1776
|
/**
|
|
1871
1777
|
* NOTE: Values input are PickableItemFieldItem<T>, but output values are PickableValueFieldDisplayValue<T>.
|
|
1872
1778
|
*/
|
|
@@ -1889,116 +1795,93 @@ class DbxPickableListFieldItemListViewComponent extends AbstractDbxSelectionList
|
|
|
1889
1795
|
items$ = this.values$.pipe(
|
|
1890
1796
|
// NOTE: This causes the "value" to be a PickableValueFieldDisplayValue<T>, which means we emit PickableValueFieldDisplayValue<T> to DbxPickableListFieldComponent.
|
|
1891
1797
|
map((x) => addConfigToValueListItems(this.config, x)), shareReplay(1));
|
|
1892
|
-
|
|
1893
|
-
static
|
|
1894
|
-
|
|
1895
|
-
|
|
1798
|
+
itemsSignal = toSignal(this.items$);
|
|
1799
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1800
|
+
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: `
|
|
1801
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
1802
|
+
`, isInline: true, dependencies: [{ kind: "component", type: DbxSelectionValueListViewContentComponent, selector: "dbx-selection-list-view-content", inputs: ["multiple", "selectionMode"] }] });
|
|
1896
1803
|
}
|
|
1897
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1804
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewComponent, decorators: [{
|
|
1898
1805
|
type: Component,
|
|
1899
1806
|
args: [{
|
|
1900
1807
|
template: `
|
|
1901
|
-
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="
|
|
1808
|
+
<dbx-selection-list-view-content [multiple]="multiple" [selectionMode]="selectionMode" [items]="itemsSignal()"></dbx-selection-list-view-content>
|
|
1902
1809
|
`,
|
|
1903
|
-
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent)
|
|
1810
|
+
providers: provideDbxListView(DbxPickableListFieldItemListViewComponent),
|
|
1811
|
+
imports: [DbxSelectionValueListViewContentComponent],
|
|
1812
|
+
standalone: true
|
|
1904
1813
|
}]
|
|
1905
1814
|
}] });
|
|
1906
1815
|
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: `
|
|
1816
|
+
label = this.itemValue.label;
|
|
1817
|
+
sublabel = this.itemValue.sublabel;
|
|
1818
|
+
icon = this.itemValue.icon;
|
|
1819
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1820
|
+
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
1821
|
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
1919
|
-
|
|
1822
|
+
@if (icon) {
|
|
1823
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
1824
|
+
}
|
|
1920
1825
|
<span class="dbx-chip-label">{{ label }}</span>
|
|
1921
|
-
|
|
1826
|
+
@if (sublabel) {
|
|
1827
|
+
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
1828
|
+
}
|
|
1922
1829
|
</div>
|
|
1923
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
1830
|
+
`, 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
1831
|
}
|
|
1925
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1832
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldItemListViewItemComponent, decorators: [{
|
|
1926
1833
|
type: Component,
|
|
1927
1834
|
args: [{
|
|
1928
1835
|
template: `
|
|
1929
1836
|
<div class="dbx-default-pickable-item-field-list-item dbx-flex-bar">
|
|
1930
|
-
|
|
1837
|
+
@if (icon) {
|
|
1838
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
1839
|
+
}
|
|
1931
1840
|
<span class="dbx-chip-label">{{ label }}</span>
|
|
1932
|
-
|
|
1841
|
+
@if (sublabel) {
|
|
1842
|
+
<span class="dbx-chip-sublabel">({{ sublabel }})</span>
|
|
1843
|
+
}
|
|
1933
1844
|
</div>
|
|
1934
|
-
|
|
1845
|
+
`,
|
|
1846
|
+
imports: [MatIconModule],
|
|
1847
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1848
|
+
standalone: true
|
|
1935
1849
|
}]
|
|
1936
1850
|
}] });
|
|
1851
|
+
// List Field Component
|
|
1852
|
+
/**
|
|
1853
|
+
* Used for picking pre-set values using a selection list as the presentation.
|
|
1854
|
+
*/
|
|
1855
|
+
class DbxPickableListFieldComponent extends AbstractDbxPickableItemFieldDirective {
|
|
1856
|
+
onSelectionChange(event) {
|
|
1857
|
+
const items = event.items;
|
|
1858
|
+
const values = items.map((x) => x.itemValue.value);
|
|
1859
|
+
this.setValues(values);
|
|
1860
|
+
}
|
|
1861
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1862
|
+
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 });
|
|
1863
|
+
}
|
|
1864
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPickableListFieldComponent, decorators: [{
|
|
1865
|
+
type: Component,
|
|
1866
|
+
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" }]
|
|
1867
|
+
}] });
|
|
1937
1868
|
|
|
1869
|
+
const importsAndExports$3 = [DbxPickableChipListFieldComponent, DbxPickableListFieldComponent, DbxPickableListFieldItemListComponent, DbxPickableListFieldItemListViewComponent, DbxPickableListFieldItemListViewItemComponent];
|
|
1938
1870
|
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({
|
|
1871
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1872
|
+
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] });
|
|
1873
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, imports: [importsAndExports$3, FormlyModule.forChild({
|
|
1975
1874
|
types: [
|
|
1976
1875
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
1977
1876
|
{ name: 'pickablelistfield', component: DbxPickableListFieldComponent, wrappers: ['form-field'] }
|
|
1978
1877
|
]
|
|
1979
1878
|
})] });
|
|
1980
1879
|
}
|
|
1981
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1880
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPickableFieldModule, decorators: [{
|
|
1982
1881
|
type: NgModule,
|
|
1983
1882
|
args: [{
|
|
1984
1883
|
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,
|
|
1884
|
+
...importsAndExports$3,
|
|
2002
1885
|
FormlyModule.forChild({
|
|
2003
1886
|
types: [
|
|
2004
1887
|
{ name: 'pickablechipfield', component: DbxPickableChipListFieldComponent, wrappers: ['form-field'] },
|
|
@@ -2006,8 +1889,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2006
1889
|
]
|
|
2007
1890
|
})
|
|
2008
1891
|
],
|
|
2009
|
-
|
|
2010
|
-
exports: []
|
|
1892
|
+
exports: importsAndExports$3
|
|
2011
1893
|
}]
|
|
2012
1894
|
}] });
|
|
2013
1895
|
|
|
@@ -2061,7 +1943,7 @@ function pickableValueFieldValuesConfigForStaticLabeledValues(input) {
|
|
|
2061
1943
|
const optionsMap = new Map(allOptions.map((x) => [x.value, x]));
|
|
2062
1944
|
return {
|
|
2063
1945
|
loadValues: () => of(values),
|
|
2064
|
-
filterValues: filterPickableItemFieldValuesByLabel,
|
|
1946
|
+
filterValues: filterPickableItemFieldValuesByLabel, // auto filter by label
|
|
2065
1947
|
displayForValue: (values) => of(values.map((x) => {
|
|
2066
1948
|
const meta = x.meta ?? optionsMap.get(x.value);
|
|
2067
1949
|
return { ...x, meta, label: meta?.label ?? unknownOptionLabel };
|
|
@@ -2071,99 +1953,106 @@ function pickableValueFieldValuesConfigForStaticLabeledValues(input) {
|
|
|
2071
1953
|
|
|
2072
1954
|
const DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN = new InjectionToken('DbxSearchableField');
|
|
2073
1955
|
class DbxSearchableFieldAutocompleteItemComponent {
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
1956
|
+
displayValue = input.required();
|
|
1957
|
+
configSignal = computed(() => {
|
|
1958
|
+
const displayValue = this.displayValue();
|
|
2077
1959
|
const config = {
|
|
2078
|
-
...
|
|
1960
|
+
...displayValue.display,
|
|
2079
1961
|
providers: mergeArraysIntoArray([
|
|
2080
1962
|
{
|
|
2081
1963
|
provide: DBX_SEARCHABLE_FIELD_COMPONENT_DATA_TOKEN,
|
|
2082
|
-
useValue:
|
|
1964
|
+
useValue: displayValue
|
|
2083
1965
|
}
|
|
2084
|
-
],
|
|
1966
|
+
], displayValue.display.providers)
|
|
2085
1967
|
};
|
|
2086
1968
|
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>
|
|
1969
|
+
});
|
|
1970
|
+
anchorSignal = computed(() => this.displayValue().anchor);
|
|
1971
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1972
|
+
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: `
|
|
1973
|
+
<dbx-anchor [block]="true" [anchor]="anchorSignal()">
|
|
1974
|
+
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
2099
1975
|
</dbx-anchor>
|
|
2100
|
-
`, isInline: true, dependencies: [{ kind: "component", type:
|
|
1976
|
+
`, 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
1977
|
}
|
|
2102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1978
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableFieldAutocompleteItemComponent, decorators: [{
|
|
2103
1979
|
type: Component,
|
|
2104
1980
|
args: [{
|
|
2105
1981
|
selector: 'dbx-searchable-field-autocomplete-item',
|
|
2106
1982
|
template: `
|
|
2107
|
-
<dbx-anchor [block]="true" [anchor]="
|
|
2108
|
-
<dbx-injection [config]="
|
|
1983
|
+
<dbx-anchor [block]="true" [anchor]="anchorSignal()">
|
|
1984
|
+
<dbx-injection [config]="configSignal()"></dbx-injection>
|
|
2109
1985
|
</dbx-anchor>
|
|
2110
|
-
|
|
1986
|
+
`,
|
|
1987
|
+
imports: [DbxAnchorComponent, DbxInjectionComponent],
|
|
1988
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1989
|
+
standalone: true
|
|
2111
1990
|
}]
|
|
2112
|
-
}]
|
|
2113
|
-
type: Input
|
|
2114
|
-
}] } });
|
|
1991
|
+
}] });
|
|
2115
1992
|
// MARK: Default
|
|
2116
1993
|
class AbstractDbxSearchableFieldDisplayDirective {
|
|
2117
1994
|
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: "
|
|
1995
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1996
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractDbxSearchableFieldDisplayDirective, ngImport: i0 });
|
|
2120
1997
|
}
|
|
2121
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1998
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableFieldDisplayDirective, decorators: [{
|
|
2122
1999
|
type: Directive
|
|
2123
2000
|
}] });
|
|
2124
2001
|
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: `
|
|
2002
|
+
icon = this.displayValue.icon;
|
|
2003
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2004
|
+
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
2005
|
<div class="dbx-default-searchable-field-display dbx-flex-bar">
|
|
2131
|
-
|
|
2006
|
+
@if (icon) {
|
|
2007
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
2008
|
+
}
|
|
2132
2009
|
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
2133
|
-
|
|
2010
|
+
@if (displayValue.sublabel) {
|
|
2011
|
+
<span class="dbx-chip-sublabel">({{ displayValue.sublabel }})</span>
|
|
2012
|
+
}
|
|
2134
2013
|
</div>
|
|
2135
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
2014
|
+
`, 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
2015
|
}
|
|
2137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2016
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDefaultSearchableFieldDisplayComponent, decorators: [{
|
|
2138
2017
|
type: Component,
|
|
2139
2018
|
args: [{
|
|
2140
2019
|
selector: 'dbx-default-searchable-field-display',
|
|
2141
2020
|
template: `
|
|
2142
2021
|
<div class="dbx-default-searchable-field-display dbx-flex-bar">
|
|
2143
|
-
|
|
2022
|
+
@if (icon) {
|
|
2023
|
+
<mat-icon class="dbx-icon-spacer">{{ icon }}</mat-icon>
|
|
2024
|
+
}
|
|
2144
2025
|
<span class="dbx-chip-label">{{ displayValue.label }}</span>
|
|
2145
|
-
|
|
2026
|
+
@if (displayValue.sublabel) {
|
|
2027
|
+
<span class="dbx-chip-sublabel">({{ displayValue.sublabel }})</span>
|
|
2028
|
+
}
|
|
2146
2029
|
</div>
|
|
2147
|
-
|
|
2030
|
+
`,
|
|
2031
|
+
imports: [MatIconModule],
|
|
2032
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2033
|
+
standalone: true
|
|
2148
2034
|
}]
|
|
2149
2035
|
}] });
|
|
2150
2036
|
|
|
2037
|
+
const DEFAULT_SEARCH_INPUT_PLACEHOLDER = 'Type to Search';
|
|
2038
|
+
const DEFAULT_SEARCHABLE_FIELD_DISPLAY = {
|
|
2039
|
+
componentClass: DbxDefaultSearchableFieldDisplayComponent
|
|
2040
|
+
};
|
|
2151
2041
|
/**
|
|
2152
2042
|
* Abstract searchable field that provides a feature for searching for values, and for displaying values using Observables.
|
|
2153
2043
|
*
|
|
2154
2044
|
* Display values are cached for performance.
|
|
2155
2045
|
*/
|
|
2156
2046
|
class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
2157
|
-
cdRef = inject(ChangeDetectorRef);
|
|
2158
2047
|
/**
|
|
2159
|
-
*
|
|
2048
|
+
* Optional override set by the parent class for whether or not to allow the current value to sync to the input.
|
|
2160
2049
|
*/
|
|
2161
2050
|
allowSyncValueToInput = false;
|
|
2162
2051
|
/**
|
|
2163
|
-
*
|
|
2052
|
+
* Default placeholder text to use when searchOnEmptyText is false.
|
|
2164
2053
|
*/
|
|
2165
|
-
|
|
2166
|
-
textInput;
|
|
2054
|
+
defaultSearchInputPlaceholder = DEFAULT_SEARCH_INPUT_PLACEHOLDER;
|
|
2055
|
+
textInput = viewChild('textInput', { read: (ElementRef) });
|
|
2167
2056
|
inputCtrl = new FormControl('');
|
|
2168
2057
|
_formControlObs = new BehaviorSubject(undefined);
|
|
2169
2058
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
@@ -2175,12 +2064,17 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2175
2064
|
// Return begin loading to setup the loading state.
|
|
2176
2065
|
startWithBeginLoading())), shareReplay(1));
|
|
2177
2066
|
_singleValueSyncSubscription = new SubscriptionObject();
|
|
2178
|
-
searchContext =
|
|
2179
|
-
searchResults$ = this.searchResultsState$.pipe(map((x) => x?.value ?? []));
|
|
2067
|
+
searchContext = loadingStateContext({ obs: this.searchResultsState$, showLoadingOnNoValue: false });
|
|
2068
|
+
searchResults$ = this.searchResultsState$.pipe(map((x) => x?.value ?? []), shareReplay(1));
|
|
2069
|
+
isLoadingSearchResults$ = this.searchResultsState$.pipe(map(isLoadingStateInLoadingState), distinctUntilChanged(), shareReplay(1));
|
|
2180
2070
|
_formControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value), shareReplay(1))));
|
|
2181
2071
|
values$ = this._formControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
2182
2072
|
displayValuesState$ = this.values$.pipe(distinctUntilChanged(), switchMap((values) => this.loadDisplayValuesForValues(values)), shareReplay(1));
|
|
2183
2073
|
displayValues$ = this.displayValuesState$.pipe(map((x) => x?.value ?? []));
|
|
2074
|
+
inputValueSignal = toSignal(this.inputValue$);
|
|
2075
|
+
searchResultsSignal = toSignal(this.searchResults$);
|
|
2076
|
+
displayValuesSignal = toSignal(this.displayValues$);
|
|
2077
|
+
isLoadingSearchResultsSignal = toSignal(this.isLoadingSearchResults$);
|
|
2184
2078
|
get name() {
|
|
2185
2079
|
return this.field.name ?? camelCase(this.label ?? this.key);
|
|
2186
2080
|
}
|
|
@@ -2205,6 +2099,12 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2205
2099
|
get searchOnEmptyText() {
|
|
2206
2100
|
return this.searchableField.searchOnEmptyText ?? false;
|
|
2207
2101
|
}
|
|
2102
|
+
get searchInputPlaceholder() {
|
|
2103
|
+
const searchOnEmpty = this.searchOnEmptyText;
|
|
2104
|
+
const placeholder = this.searchableField.placeholder;
|
|
2105
|
+
const test = placeholder || (searchOnEmpty ? undefined : this.defaultSearchInputPlaceholder) || '';
|
|
2106
|
+
return test;
|
|
2107
|
+
}
|
|
2208
2108
|
get autocomplete() {
|
|
2209
2109
|
return (this.props.attributes?.['autocomplete'] ?? this.key);
|
|
2210
2110
|
}
|
|
@@ -2260,7 +2160,7 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2260
2160
|
if (needsDisplay.length > 0) {
|
|
2261
2161
|
// Go get the display value.
|
|
2262
2162
|
const displayValuesObs = this.displayForValue(needsDisplay.map((x) => x[2]));
|
|
2263
|
-
const defaultDisplay = mergeDbxInjectionComponentConfigs([
|
|
2163
|
+
const defaultDisplay = mergeDbxInjectionComponentConfigs([DEFAULT_SEARCHABLE_FIELD_DISPLAY, this.display]);
|
|
2264
2164
|
const anchorForValue = this.useAnchor && this.anchorForValue;
|
|
2265
2165
|
obs = displayValuesObs.pipe(first(), map((displayResults) => {
|
|
2266
2166
|
// Assign the default component classes to complete configuration.
|
|
@@ -2301,12 +2201,6 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2301
2201
|
if (this.searchableField.textInputValidator) {
|
|
2302
2202
|
this.inputCtrl.setValidators(this.searchableField.textInputValidator);
|
|
2303
2203
|
}
|
|
2304
|
-
if (!this.defaultDisplay?.componentClass) {
|
|
2305
|
-
this.defaultDisplay = {
|
|
2306
|
-
...this.defaultDisplay,
|
|
2307
|
-
componentClass: DbxDefaultSearchableFieldDisplayComponent
|
|
2308
|
-
};
|
|
2309
|
-
}
|
|
2310
2204
|
if (this.allowSyncValueToInput && this.multiSelect === false) {
|
|
2311
2205
|
this._singleValueSyncSubscription.subscription = this.displayValues$.subscribe((x) => {
|
|
2312
2206
|
if (x[0]) {
|
|
@@ -2339,7 +2233,6 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2339
2233
|
text = (text || '').trim();
|
|
2340
2234
|
this.inputCtrl.setValue(text.trim());
|
|
2341
2235
|
}
|
|
2342
|
-
// console.log('Add: ', text, this.inputCtrl.valid);
|
|
2343
2236
|
if (!this.inputCtrl.valid) {
|
|
2344
2237
|
return;
|
|
2345
2238
|
}
|
|
@@ -2366,7 +2259,10 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2366
2259
|
return addedValue;
|
|
2367
2260
|
}
|
|
2368
2261
|
addValue(value) {
|
|
2369
|
-
|
|
2262
|
+
const textInput = this.textInput();
|
|
2263
|
+
if (textInput) {
|
|
2264
|
+
textInput.nativeElement.value = '';
|
|
2265
|
+
}
|
|
2370
2266
|
this.inputCtrl.setValue(null);
|
|
2371
2267
|
this.setValues([...this.values, value]);
|
|
2372
2268
|
}
|
|
@@ -2408,17 +2304,17 @@ class AbstractDbxSearchableValueFieldDirective extends FieldType$1 {
|
|
|
2408
2304
|
this.formControl.markAsDirty();
|
|
2409
2305
|
this.formControl.markAsTouched();
|
|
2410
2306
|
}
|
|
2411
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2412
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
2307
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
2308
|
+
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
2309
|
}
|
|
2414
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxSearchableValueFieldDirective, decorators: [{
|
|
2415
2311
|
type: Directive
|
|
2416
|
-
}]
|
|
2417
|
-
type: ViewChild,
|
|
2418
|
-
args: ['textInput']
|
|
2419
|
-
}] } });
|
|
2312
|
+
}] });
|
|
2420
2313
|
|
|
2421
2314
|
class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
2315
|
+
get multiSelect() {
|
|
2316
|
+
return this.props.multiSelect ?? true;
|
|
2317
|
+
}
|
|
2422
2318
|
_blur = new Subject();
|
|
2423
2319
|
_blurSub = new SubscriptionObject();
|
|
2424
2320
|
separatorKeysCodes = [ENTER, COMMA];
|
|
@@ -2439,9 +2335,6 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2439
2335
|
const text = event.value ?? this.inputCtrl.value;
|
|
2440
2336
|
return this._addWithTextValue(text);
|
|
2441
2337
|
}
|
|
2442
|
-
get multiSelect() {
|
|
2443
|
-
return this.props.multiSelect ?? true;
|
|
2444
|
-
}
|
|
2445
2338
|
_syncSingleValue(value) {
|
|
2446
2339
|
// Do nothing
|
|
2447
2340
|
}
|
|
@@ -2460,12 +2353,12 @@ class DbxSearchableChipFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2460
2353
|
onBlur() {
|
|
2461
2354
|
this._blur.next();
|
|
2462
2355
|
}
|
|
2463
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2464
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2356
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableChipFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2357
|
+
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
2358
|
}
|
|
2466
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2359
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableChipFieldComponent, decorators: [{
|
|
2467
2360
|
type: Component,
|
|
2468
|
-
args: [{ template: "<div class=\"dbx-searchable-field\">\n <!-- View -->\n <mat-chip-grid [required]=\"required\" [disabled]=\"readonly\" #chipList>\n
|
|
2361
|
+
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
2362
|
}] });
|
|
2470
2363
|
|
|
2471
2364
|
/**
|
|
@@ -2539,9 +2432,10 @@ function searchableTextField(config) {
|
|
|
2539
2432
|
*/
|
|
2540
2433
|
class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDirective {
|
|
2541
2434
|
allowSyncValueToInput = true;
|
|
2542
|
-
selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1)
|
|
2543
|
-
|
|
2544
|
-
|
|
2435
|
+
selectedDisplayValue$ = this.displayValues$.pipe(map((x) => x[0]), shareReplay(1));
|
|
2436
|
+
selectedDisplayValueSignal = toSignal(this.selectedDisplayValue$);
|
|
2437
|
+
hasValueSignal = computed(() => Boolean(this.selectedDisplayValueSignal()));
|
|
2438
|
+
showSelectedDisplayValueSignal = computed(() => this.showSelectedValue && this.hasValueSignal());
|
|
2545
2439
|
get searchableField() {
|
|
2546
2440
|
return this.props;
|
|
2547
2441
|
}
|
|
@@ -2551,91 +2445,58 @@ class DbxSearchableTextFieldComponent extends AbstractDbxSearchableValueFieldDir
|
|
|
2551
2445
|
get multiSelect() {
|
|
2552
2446
|
return false;
|
|
2553
2447
|
}
|
|
2554
|
-
|
|
2555
|
-
|
|
2556
|
-
|
|
2557
|
-
|
|
2558
|
-
|
|
2559
|
-
|
|
2560
|
-
|
|
2561
|
-
|
|
2448
|
+
/*
|
|
2449
|
+
private _clearInputSub = new SubscriptionObject();
|
|
2450
|
+
|
|
2451
|
+
override ngOnInit(): void {
|
|
2452
|
+
super.ngOnInit();
|
|
2453
|
+
|
|
2454
|
+
this._clearInputSub.subscription = this.inputValue$.pipe(skipWhile((x) => !x)).subscribe((x) => {
|
|
2455
|
+
if (!x) {
|
|
2456
|
+
// this.clearValues();
|
|
2457
|
+
}
|
|
2458
|
+
});
|
|
2562
2459
|
}
|
|
2563
|
-
|
|
2564
|
-
|
|
2565
|
-
|
|
2460
|
+
|
|
2461
|
+
override ngOnDestroy(): void {
|
|
2462
|
+
super.ngOnDestroy();
|
|
2463
|
+
this._clearInputSub.destroy();
|
|
2566
2464
|
}
|
|
2465
|
+
*/
|
|
2567
2466
|
selected(event) {
|
|
2568
|
-
|
|
2467
|
+
const value = event.option.value;
|
|
2468
|
+
console.log('selected', value);
|
|
2469
|
+
if (value._clear) {
|
|
2470
|
+
this.clearValues();
|
|
2471
|
+
}
|
|
2472
|
+
else if (!value._ignore) {
|
|
2473
|
+
this.addWithDisplayValue(value);
|
|
2474
|
+
}
|
|
2569
2475
|
}
|
|
2570
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2571
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2476
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableTextFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2477
|
+
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
2478
|
}
|
|
2573
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxSearchableTextFieldComponent, decorators: [{
|
|
2574
2480
|
type: Component,
|
|
2575
|
-
args: [{ template: "<div class=\"dbx-searchable-text-field\" [ngClass]=\"{ 'dbx-searchable-text-field-has-value': (
|
|
2481
|
+
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
2482
|
}] });
|
|
2577
2483
|
|
|
2484
|
+
const importsAndExports$2 = [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent, DbxSearchableFieldAutocompleteItemComponent, DbxDefaultSearchableFieldDisplayComponent];
|
|
2578
2485
|
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({
|
|
2486
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2487
|
+
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] });
|
|
2488
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, imports: [importsAndExports$2, FormlyModule.forChild({
|
|
2613
2489
|
types: [
|
|
2614
2490
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
2615
2491
|
{ name: 'searchabletextfield', component: DbxSearchableTextFieldComponent, wrappers: ['form-field'] }
|
|
2616
2492
|
]
|
|
2617
2493
|
})] });
|
|
2618
2494
|
}
|
|
2619
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2495
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySearchableFieldModule, decorators: [{
|
|
2620
2496
|
type: NgModule,
|
|
2621
2497
|
args: [{
|
|
2622
2498
|
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,
|
|
2499
|
+
...importsAndExports$2,
|
|
2639
2500
|
FormlyModule.forChild({
|
|
2640
2501
|
types: [
|
|
2641
2502
|
{ name: 'searchablechipfield', component: DbxSearchableChipFieldComponent, wrappers: ['form-field'] },
|
|
@@ -2643,15 +2504,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
2643
2504
|
]
|
|
2644
2505
|
})
|
|
2645
2506
|
],
|
|
2646
|
-
|
|
2647
|
-
exports: [DbxSearchableChipFieldComponent, DbxSearchableTextFieldComponent]
|
|
2507
|
+
exports: importsAndExports$2
|
|
2648
2508
|
}]
|
|
2649
2509
|
}] });
|
|
2650
2510
|
|
|
2651
2511
|
function chipTextField(config) {
|
|
2652
2512
|
const convertStringValue = config.caseSensitive ? (x) => x : (x) => x?.toLowerCase();
|
|
2653
2513
|
return searchableChipField({
|
|
2654
|
-
search: () => of([]),
|
|
2514
|
+
search: () => of([]), // no search by default
|
|
2655
2515
|
...config,
|
|
2656
2516
|
allowStringValues: true,
|
|
2657
2517
|
convertStringValue,
|
|
@@ -2672,7 +2532,7 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2672
2532
|
_formControlObs = new BehaviorSubject(undefined);
|
|
2673
2533
|
_fromOpenSource = new BehaviorSubject({ values: [], valuesSet: new Set() });
|
|
2674
2534
|
_loadSources = new BehaviorSubject(undefined);
|
|
2675
|
-
buttonElement;
|
|
2535
|
+
buttonElement = viewChild('button', { read: (ElementRef) });
|
|
2676
2536
|
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
2677
2537
|
currentFormControlValue$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
|
|
2678
2538
|
values$ = this.currentFormControlValue$.pipe(map(convertMaybeToArray), shareReplay(1));
|
|
@@ -2784,7 +2644,7 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2784
2644
|
}));
|
|
2785
2645
|
return obs;
|
|
2786
2646
|
})), shareReplay(1));
|
|
2787
|
-
allOptionGroups$ = this.allOptionGroupsState$.pipe(
|
|
2647
|
+
allOptionGroups$ = this.allOptionGroupsState$.pipe(valueFromFinishedLoadingState(), map((x) => x ?? []), shareReplay(1));
|
|
2788
2648
|
options$ = this.allOptionGroups$.pipe(map((x) => {
|
|
2789
2649
|
const { included: groupedValues, excluded: nonGroupedGroup } = separateValues(x, (y) => Boolean(y.label));
|
|
2790
2650
|
const result = {
|
|
@@ -2795,6 +2655,8 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2795
2655
|
}), shareReplay(1));
|
|
2796
2656
|
nonGroupedValues$ = this.options$.pipe(map((x) => x.nonGroupedValues));
|
|
2797
2657
|
groupedOptions$ = this.options$.pipe(map((x) => x.groupedValues));
|
|
2658
|
+
nonGroupedValuesSignal = toSignal(this.nonGroupedValues$);
|
|
2659
|
+
groupedOptionsSignal = toSignal(this.groupedOptions$);
|
|
2798
2660
|
get sourceSelectField() {
|
|
2799
2661
|
return this.props;
|
|
2800
2662
|
}
|
|
@@ -2914,8 +2776,8 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2914
2776
|
}
|
|
2915
2777
|
handleSelectOptions = (_, context) => {
|
|
2916
2778
|
const { openSource } = this;
|
|
2917
|
-
|
|
2918
|
-
|
|
2779
|
+
const origin = this.buttonElement();
|
|
2780
|
+
if (openSource && origin) {
|
|
2919
2781
|
const sourceObs = openSource({ origin });
|
|
2920
2782
|
context.startWorkingWithObservable(sourceObs.pipe(first(), tap((result) => {
|
|
2921
2783
|
const valuesToAdd = mergeArrays([result.select, result.options]);
|
|
@@ -2964,16 +2826,13 @@ class DbxFormSourceSelectFieldComponent extends FieldType$2 {
|
|
|
2964
2826
|
this.formControl.markAsDirty();
|
|
2965
2827
|
this.formControl.markAsTouched();
|
|
2966
2828
|
}
|
|
2967
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
2968
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
2829
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceSelectFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2830
|
+
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
2831
|
}
|
|
2970
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2832
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSourceSelectFieldComponent, decorators: [{
|
|
2971
2833
|
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
|
-
}] } });
|
|
2834
|
+
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" }]
|
|
2835
|
+
}] });
|
|
2977
2836
|
|
|
2978
2837
|
function sourceSelectField(config) {
|
|
2979
2838
|
const { key, materialFormField } = config;
|
|
@@ -2989,74 +2848,22 @@ function sourceSelectField(config) {
|
|
|
2989
2848
|
}
|
|
2990
2849
|
|
|
2991
2850
|
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,
|
|
2851
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2852
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [DbxFormSourceSelectFieldComponent, i1$2.FormlyModule], exports: [DbxFormSourceSelectFieldComponent] });
|
|
2853
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, imports: [DbxFormSourceSelectFieldComponent,
|
|
3029
2854
|
FormlyModule.forChild({
|
|
3030
2855
|
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3031
2856
|
})] });
|
|
3032
2857
|
}
|
|
3033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2858
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySourceSelectModule, decorators: [{
|
|
3034
2859
|
type: NgModule,
|
|
3035
2860
|
args: [{
|
|
3036
2861
|
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,
|
|
2862
|
+
DbxFormSourceSelectFieldComponent,
|
|
3055
2863
|
FormlyModule.forChild({
|
|
3056
2864
|
types: [{ name: 'sourceselectfield', component: DbxFormSourceSelectFieldComponent, wrappers: ['form-field'] }]
|
|
3057
2865
|
})
|
|
3058
2866
|
],
|
|
3059
|
-
declarations: [DbxFormSourceSelectFieldComponent],
|
|
3060
2867
|
exports: [DbxFormSourceSelectFieldComponent]
|
|
3061
2868
|
}]
|
|
3062
2869
|
}] });
|
|
@@ -3097,11 +2904,11 @@ function addValueSelectionOptionFunction(label) {
|
|
|
3097
2904
|
}
|
|
3098
2905
|
|
|
3099
2906
|
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: "
|
|
2907
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2908
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule], exports: [DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
2909
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, imports: [CommonModule, DbxFormFormlyDbxListFieldModule, DbxFormFormlyPickableFieldModule, DbxFormFormlySearchableFieldModule, DbxFormFormlySourceSelectModule] });
|
|
3103
2910
|
}
|
|
3104
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2911
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlySelectionModule, decorators: [{
|
|
3105
2912
|
type: NgModule,
|
|
3106
2913
|
args: [{
|
|
3107
2914
|
imports: [CommonModule],
|
|
@@ -3116,7 +2923,8 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3116
2923
|
_sub = new SubscriptionObject();
|
|
3117
2924
|
compactClass$ = mapCompactModeObs(this._compactContextStore?.mode$, {
|
|
3118
2925
|
compact: 'dbx-texteditor-field-compact'
|
|
3119
|
-
});
|
|
2926
|
+
}).pipe(filterMaybe());
|
|
2927
|
+
compactClassSignal = toSignal(this.compactClass$, { initialValue: '' });
|
|
3120
2928
|
get formGroupName() {
|
|
3121
2929
|
return this.field.key;
|
|
3122
2930
|
}
|
|
@@ -3134,9 +2942,11 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3134
2942
|
}
|
|
3135
2943
|
ngOnInit() {
|
|
3136
2944
|
this._editor = new Editor({});
|
|
2945
|
+
// TODO: Sync disabled state too
|
|
2946
|
+
// TODO: Sync the value periodically while not focused too
|
|
3137
2947
|
// Watch for value changes every second and update the pristine level.
|
|
3138
2948
|
this._sub.subscription = this.editor.valueChanges
|
|
3139
|
-
.pipe(debounceTime(
|
|
2949
|
+
.pipe(debounceTime(50), filter(() => this.editor.view.hasFocus()))
|
|
3140
2950
|
.subscribe(() => {
|
|
3141
2951
|
this.formControl.updateValueAndValidity();
|
|
3142
2952
|
this.formControl.markAsDirty();
|
|
@@ -3144,81 +2954,72 @@ class DbxTextEditorFieldComponent extends FieldType$1 {
|
|
|
3144
2954
|
}
|
|
3145
2955
|
ngOnDestroy() {
|
|
3146
2956
|
super.ngOnDestroy();
|
|
3147
|
-
if (this.
|
|
3148
|
-
this.
|
|
3149
|
-
delete this._editor;
|
|
2957
|
+
if (this._editor != null) {
|
|
2958
|
+
this._editor.destroy();
|
|
3150
2959
|
}
|
|
3151
2960
|
this._sub.destroy();
|
|
3152
2961
|
}
|
|
3153
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3154
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3155
|
-
<div class="dbx-texteditor-field" [ngClass]="(
|
|
3156
|
-
|
|
2962
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextEditorFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2963
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: DbxTextEditorFieldComponent, isStandalone: true, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
|
|
2964
|
+
<div class="dbx-texteditor-field" [ngClass]="compactClassSignal()" [formGroup]="formGroup">
|
|
2965
|
+
@if (label) {
|
|
2966
|
+
<span class="dbx-label">{{ label }}</span>
|
|
2967
|
+
}
|
|
3157
2968
|
<div class="dbx-texteditor-field-input">
|
|
3158
2969
|
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
3159
2970
|
</div>
|
|
3160
2971
|
<div class="dbx-texteditor-field-menu">
|
|
3161
2972
|
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
3162
2973
|
</div>
|
|
3163
|
-
|
|
2974
|
+
@if (description) {
|
|
2975
|
+
<div class="dbx-form-description">{{ description }}</div>
|
|
2976
|
+
}
|
|
3164
2977
|
</div>
|
|
3165
|
-
`, isInline: true, dependencies: [{ kind: "directive", type:
|
|
2978
|
+
`, 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
2979
|
}
|
|
3167
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
2980
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxTextEditorFieldComponent, decorators: [{
|
|
3168
2981
|
type: Component,
|
|
3169
2982
|
args: [{
|
|
3170
2983
|
template: `
|
|
3171
|
-
<div class="dbx-texteditor-field" [ngClass]="(
|
|
3172
|
-
|
|
2984
|
+
<div class="dbx-texteditor-field" [ngClass]="compactClassSignal()" [formGroup]="formGroup">
|
|
2985
|
+
@if (label) {
|
|
2986
|
+
<span class="dbx-label">{{ label }}</span>
|
|
2987
|
+
}
|
|
3173
2988
|
<div class="dbx-texteditor-field-input">
|
|
3174
2989
|
<ngx-editor [editor]="editor" outputFormat="html" [placeholder]="placeholder" [formControlName]="formGroupName"></ngx-editor>
|
|
3175
2990
|
</div>
|
|
3176
2991
|
<div class="dbx-texteditor-field-menu">
|
|
3177
2992
|
<ngx-editor-menu [editor]="editor"></ngx-editor-menu>
|
|
3178
2993
|
</div>
|
|
3179
|
-
|
|
2994
|
+
@if (description) {
|
|
2995
|
+
<div class="dbx-form-description">{{ description }}</div>
|
|
2996
|
+
}
|
|
3180
2997
|
</div>
|
|
3181
|
-
|
|
2998
|
+
`,
|
|
2999
|
+
imports: [NgClass, NgxEditorModule, FormsModule, ReactiveFormsModule],
|
|
3000
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3001
|
+
standalone: true
|
|
3182
3002
|
}]
|
|
3183
3003
|
}] });
|
|
3184
3004
|
|
|
3005
|
+
const importsAndExports$1 = [DbxTextEditorFieldComponent];
|
|
3185
3006
|
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({
|
|
3007
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3008
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [DbxTextEditorFieldComponent, i1$2.FormlyModule], exports: [DbxTextEditorFieldComponent] });
|
|
3009
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, imports: [importsAndExports$1, FormlyModule.forChild({
|
|
3202
3010
|
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
3203
3011
|
})] });
|
|
3204
3012
|
}
|
|
3205
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3013
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextEditorFieldModule, decorators: [{
|
|
3206
3014
|
type: NgModule,
|
|
3207
3015
|
args: [{
|
|
3208
3016
|
imports: [
|
|
3209
|
-
|
|
3210
|
-
DbxTextModule,
|
|
3211
|
-
FormsModule,
|
|
3212
|
-
ReactiveFormsModule,
|
|
3213
|
-
NgxEditorModule,
|
|
3214
|
-
MatFormFieldModule,
|
|
3215
|
-
MatInputModule,
|
|
3017
|
+
...importsAndExports$1,
|
|
3216
3018
|
FormlyModule.forChild({
|
|
3217
3019
|
types: [{ name: 'texteditor', component: DbxTextEditorFieldComponent }]
|
|
3218
3020
|
})
|
|
3219
3021
|
],
|
|
3220
|
-
|
|
3221
|
-
exports: []
|
|
3022
|
+
exports: importsAndExports$1
|
|
3222
3023
|
}]
|
|
3223
3024
|
}] });
|
|
3224
3025
|
|
|
@@ -3227,7 +3028,7 @@ function textEditorField(config) {
|
|
|
3227
3028
|
const fieldConfig = formlyField({
|
|
3228
3029
|
key,
|
|
3229
3030
|
type: 'texteditor',
|
|
3230
|
-
defaultValue: '',
|
|
3031
|
+
defaultValue: '', // Set to always get a string as a result.
|
|
3231
3032
|
modelOptions: {
|
|
3232
3033
|
// https://formly.dev/examples/validation/async-validation-update-on
|
|
3233
3034
|
// Set to trigger value update on blurs with the form. However, the value is set internally too.
|
|
@@ -3322,9 +3123,6 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
|
3322
3123
|
return this.count < max;
|
|
3323
3124
|
}
|
|
3324
3125
|
}
|
|
3325
|
-
trackByFunction = (i, x) => {
|
|
3326
|
-
return x.key;
|
|
3327
|
-
};
|
|
3328
3126
|
/**
|
|
3329
3127
|
* Moves the target index up one value.
|
|
3330
3128
|
*
|
|
@@ -3375,38 +3173,48 @@ class DbxFormRepeatArrayTypeComponent extends FieldArrayType {
|
|
|
3375
3173
|
fieldConfig
|
|
3376
3174
|
});
|
|
3377
3175
|
}
|
|
3378
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3379
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
3176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
3177
|
+
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
3178
|
<div class="dbx-form-repeat-array">
|
|
3381
3179
|
<dbx-subsection [header]="label" [hint]="description">
|
|
3382
3180
|
<!-- Fields -->
|
|
3383
3181
|
<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
|
-
|
|
3182
|
+
@for (field of field.fieldGroup; track field.key; let i = $index; let last = $last) {
|
|
3183
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y">
|
|
3184
|
+
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3185
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3186
|
+
@if (!disableRearrange) {
|
|
3187
|
+
<button class="dbx-form-repeat-array-drag-button" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3188
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3189
|
+
}
|
|
3190
|
+
<h4>
|
|
3191
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3192
|
+
<span>{{ labelForItem(field, i) }}</span>
|
|
3193
|
+
</h4>
|
|
3194
|
+
<span class="dbx-spacer"></span>
|
|
3195
|
+
@if (allowDuplicate(i)) {
|
|
3196
|
+
<dbx-button [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3197
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3198
|
+
}
|
|
3199
|
+
@if (allowRemove(i)) {
|
|
3200
|
+
<dbx-button color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3201
|
+
}
|
|
3202
|
+
</dbx-bar>
|
|
3203
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3204
|
+
</div>
|
|
3205
|
+
}
|
|
3400
3206
|
</div>
|
|
3401
3207
|
<!-- Add Button -->
|
|
3402
3208
|
<div class="dbx-form-repeat-array-footer">
|
|
3403
|
-
|
|
3209
|
+
@if (allowAdd) {
|
|
3210
|
+
<dbx-button [raised]="true" [disabled]="addItemDisabled" [text]="addText" (buttonClick)="addClicked()"></dbx-button>
|
|
3211
|
+
}
|
|
3404
3212
|
</div>
|
|
3405
3213
|
</dbx-subsection>
|
|
3406
3214
|
</div>
|
|
3407
|
-
`, isInline: true, dependencies: [{ kind: "
|
|
3215
|
+
`, 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
3216
|
}
|
|
3409
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3217
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormRepeatArrayTypeComponent, decorators: [{
|
|
3410
3218
|
type: Component,
|
|
3411
3219
|
args: [{
|
|
3412
3220
|
template: `
|
|
@@ -3414,79 +3222,64 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3414
3222
|
<dbx-subsection [header]="label" [hint]="description">
|
|
3415
3223
|
<!-- Fields -->
|
|
3416
3224
|
<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
|
-
|
|
3225
|
+
@for (field of field.fieldGroup; track field.key; let i = $index; let last = $last) {
|
|
3226
|
+
<div class="dbx-form-repeat-array-field" cdkDrag cdkDragLockAxis="y">
|
|
3227
|
+
<div class="dbx-form-repeat-array-drag-placeholder" *cdkDragPlaceholder></div>
|
|
3228
|
+
<dbx-bar class="dbx-form-repeat-array-bar dbx-bar-fixed-height">
|
|
3229
|
+
@if (!disableRearrange) {
|
|
3230
|
+
<button class="dbx-form-repeat-array-drag-button" cdkDragHandle mat-stroked-button><mat-icon>drag_handle</mat-icon></button>
|
|
3231
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3232
|
+
}
|
|
3233
|
+
<h4>
|
|
3234
|
+
<span class="repeat-array-number">{{ i + 1 }}</span>
|
|
3235
|
+
<span>{{ labelForItem(field, i) }}</span>
|
|
3236
|
+
</h4>
|
|
3237
|
+
<span class="dbx-spacer"></span>
|
|
3238
|
+
@if (allowDuplicate(i)) {
|
|
3239
|
+
<dbx-button [stroked]="true" [text]="duplicateText" (buttonClick)="duplicate(i)"></dbx-button>
|
|
3240
|
+
<dbx-button-spacer></dbx-button-spacer>
|
|
3241
|
+
}
|
|
3242
|
+
@if (allowRemove(i)) {
|
|
3243
|
+
<dbx-button color="warn" [stroked]="true" [text]="removeText" (buttonClick)="remove(i)"></dbx-button>
|
|
3244
|
+
}
|
|
3245
|
+
</dbx-bar>
|
|
3246
|
+
<formly-field class="dbx-form-repeat-array-field-content" [field]="field"></formly-field>
|
|
3247
|
+
</div>
|
|
3248
|
+
}
|
|
3433
3249
|
</div>
|
|
3434
3250
|
<!-- Add Button -->
|
|
3435
3251
|
<div class="dbx-form-repeat-array-footer">
|
|
3436
|
-
|
|
3252
|
+
@if (allowAdd) {
|
|
3253
|
+
<dbx-button [raised]="true" [disabled]="addItemDisabled" [text]="addText" (buttonClick)="addClicked()"></dbx-button>
|
|
3254
|
+
}
|
|
3437
3255
|
</div>
|
|
3438
3256
|
</dbx-subsection>
|
|
3439
3257
|
</div>
|
|
3440
|
-
|
|
3258
|
+
`,
|
|
3259
|
+
imports: [DbxSubSectionComponent, DbxBarDirective, DbxButtonComponent, FormlyModule, DragDropModule, MatIconModule, DbxButtonSpacerDirective, MatFormFieldModule, FormsModule, ReactiveFormsModule],
|
|
3260
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
3261
|
+
standalone: true
|
|
3441
3262
|
}]
|
|
3442
3263
|
}] });
|
|
3443
3264
|
|
|
3265
|
+
const importsAndExports = [DbxFormRepeatArrayTypeComponent];
|
|
3444
3266
|
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({
|
|
3267
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3268
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, imports: [DbxFormRepeatArrayTypeComponent, i1$2.FormlyModule], exports: [DbxFormRepeatArrayTypeComponent] });
|
|
3269
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, imports: [importsAndExports, FormlyModule.forChild({
|
|
3467
3270
|
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
3468
3271
|
})] });
|
|
3469
3272
|
}
|
|
3470
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3273
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyArrayFieldModule, decorators: [{
|
|
3471
3274
|
type: NgModule,
|
|
3472
3275
|
args: [{
|
|
3473
3276
|
imports: [
|
|
3474
|
-
|
|
3475
|
-
MatFormFieldModule,
|
|
3476
|
-
ReactiveFormsModule,
|
|
3477
|
-
MatDividerModule,
|
|
3478
|
-
MatButtonModule,
|
|
3479
|
-
MatIconModule,
|
|
3480
|
-
DragDropModule,
|
|
3481
|
-
DbxSectionLayoutModule,
|
|
3482
|
-
DbxBarLayoutModule,
|
|
3483
|
-
DbxButtonModule,
|
|
3277
|
+
...importsAndExports,
|
|
3484
3278
|
FormlyModule.forChild({
|
|
3485
3279
|
types: [{ name: 'repeatarray', component: DbxFormRepeatArrayTypeComponent }]
|
|
3486
3280
|
})
|
|
3487
3281
|
],
|
|
3488
|
-
|
|
3489
|
-
exports: []
|
|
3282
|
+
exports: importsAndExports
|
|
3490
3283
|
}]
|
|
3491
3284
|
}] });
|
|
3492
3285
|
|
|
@@ -3517,11 +3310,11 @@ function repeatArrayField(config) {
|
|
|
3517
3310
|
}
|
|
3518
3311
|
|
|
3519
3312
|
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: "
|
|
3313
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
3314
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule });
|
|
3315
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule });
|
|
3523
3316
|
}
|
|
3524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyBooleanFieldModule, decorators: [{
|
|
3525
3318
|
type: NgModule,
|
|
3526
3319
|
args: [{
|
|
3527
3320
|
imports: [],
|
|
@@ -3536,7 +3329,7 @@ function toggleField(config) {
|
|
|
3536
3329
|
return formlyField({
|
|
3537
3330
|
key,
|
|
3538
3331
|
type: 'toggle',
|
|
3539
|
-
wrappers: [AUTO_TOUCH_WRAPPER_KEY, STYLE_WRAPPER_KEY, 'form-field'],
|
|
3332
|
+
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
3333
|
defaultValue: defaultValue ?? false,
|
|
3541
3334
|
...propsAndConfigForFieldConfig(config, {
|
|
3542
3335
|
classGetter,
|
|
@@ -3614,10 +3407,10 @@ class DbxDateTimeFieldMenuPresetsService {
|
|
|
3614
3407
|
set configurations(configurations) {
|
|
3615
3408
|
this._configurations.next(configurations);
|
|
3616
3409
|
}
|
|
3617
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
3618
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
3410
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
3411
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, providedIn: 'root' });
|
|
3619
3412
|
}
|
|
3620
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
3413
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldMenuPresetsService, decorators: [{
|
|
3621
3414
|
type: Injectable,
|
|
3622
3415
|
args: [{
|
|
3623
3416
|
providedIn: 'root'
|
|
@@ -3917,7 +3710,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
3917
3710
|
return DbxDateTimeFieldTimeMode.NONE;
|
|
3918
3711
|
}
|
|
3919
3712
|
else {
|
|
3920
|
-
return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : this.dateTimeField.timeMode ?? DbxDateTimeFieldTimeMode.REQUIRED;
|
|
3713
|
+
return this.timeOnly ? DbxDateTimeFieldTimeMode.REQUIRED : (this.dateTimeField.timeMode ?? DbxDateTimeFieldTimeMode.REQUIRED);
|
|
3921
3714
|
}
|
|
3922
3715
|
}
|
|
3923
3716
|
get isDateRequired() {
|
|
@@ -4027,7 +3820,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4027
3820
|
}
|
|
4028
3821
|
return result;
|
|
4029
3822
|
}), distinctUntilChanged(isSameDateHoursAndMinutes), shareReplay(1));
|
|
4030
|
-
dateTimePickerConfig$ = combineLatest([this._config.pipe(
|
|
3823
|
+
dateTimePickerConfig$ = combineLatest([this._config.pipe(switchMapFilterMaybe()), this.syncConfigBeforeValue$, this.syncConfigAfterValue$]).pipe(map(([x, dateInputMin, dateInputMax]) => {
|
|
4031
3824
|
let result = x;
|
|
4032
3825
|
if (dateInputMin != null || dateInputMax != null) {
|
|
4033
3826
|
const { min: limitMin, max: limitMax } = x?.limits ?? {};
|
|
@@ -4087,7 +3880,7 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4087
3880
|
});
|
|
4088
3881
|
}), shareReplay(1));
|
|
4089
3882
|
hasEmptyDisplayValue$ = this.displayValue$.pipe(map((x) => !x), distinctUntilChanged(), shareReplay(1));
|
|
4090
|
-
presets$ = this._presets.pipe(
|
|
3883
|
+
presets$ = this._presets.pipe(switchMapFilterMaybe(), map((x) => x.map(dateTimePreset)), shareReplay(1));
|
|
4091
3884
|
showClearButton$ = this.hasEmptyDisplayValue$.pipe(map((x) => Boolean(this.showClearButton && !x)), distinctUntilChanged(), shareReplay(1));
|
|
4092
3885
|
canAutofillDateWithOnlyAvailableDate$ = this.dateMinAndMaxIsSameDay$;
|
|
4093
3886
|
showDateInput$ = this.dateMinAndMaxIsSameDay$.pipe(map((dateMinAndMaxIsSameDay) => {
|
|
@@ -4391,10 +4184,10 @@ class DbxDateTimeFieldComponent extends FieldType$1 {
|
|
|
4391
4184
|
clearValue() {
|
|
4392
4185
|
this._cleared.next();
|
|
4393
4186
|
}
|
|
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" }] });
|
|
4187
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4188
|
+
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
4189
|
}
|
|
4397
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4190
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxDateTimeFieldComponent, decorators: [{
|
|
4398
4191
|
type: Component,
|
|
4399
4192
|
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
4193
|
}] });
|
|
@@ -4831,15 +4624,15 @@ class DbxFixedDateRangeFieldComponent extends FieldType$1 {
|
|
|
4831
4624
|
_createDateRange(date) {
|
|
4832
4625
|
return date ? dateRange({ ...this._currentDateRangeInput, date }) : undefined;
|
|
4833
4626
|
}
|
|
4834
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4835
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
4627
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
4628
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFixedDateRangeFieldComponent, selector: "ng-component", providers: [
|
|
4836
4629
|
{
|
|
4837
4630
|
provide: MAT_DATE_RANGE_SELECTION_STRATEGY,
|
|
4838
4631
|
useClass: forwardRef(() => DbxFixedDateRangeFieldSelectionStrategy)
|
|
4839
4632
|
}
|
|
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$
|
|
4633
|
+
], 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
4634
|
}
|
|
4842
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4635
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldComponent, decorators: [{
|
|
4843
4636
|
type: Component,
|
|
4844
4637
|
args: [{ providers: [
|
|
4845
4638
|
{
|
|
@@ -4904,16 +4697,16 @@ class DbxFixedDateRangeFieldSelectionStrategy {
|
|
|
4904
4697
|
const year = date.getFullYear();
|
|
4905
4698
|
return this._dateAdapter.createDate(year, monthIndex, day);
|
|
4906
4699
|
}
|
|
4907
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4908
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
4700
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
4701
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy });
|
|
4909
4702
|
}
|
|
4910
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4703
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFixedDateRangeFieldSelectionStrategy, decorators: [{
|
|
4911
4704
|
type: Injectable
|
|
4912
4705
|
}] });
|
|
4913
4706
|
|
|
4914
4707
|
class DbxFormFormlyDateFieldModule {
|
|
4915
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
4916
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
4708
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
4709
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, declarations: [DbxDateTimeFieldComponent, DbxFixedDateRangeFieldComponent], imports: [CommonModule,
|
|
4917
4710
|
FormsModule,
|
|
4918
4711
|
MatInputModule,
|
|
4919
4712
|
MatDividerModule,
|
|
@@ -4921,15 +4714,14 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4921
4714
|
DbxButtonModule,
|
|
4922
4715
|
MatButtonModule,
|
|
4923
4716
|
MatDatepickerModule,
|
|
4924
|
-
MatNativeDateModule,
|
|
4925
4717
|
MatMenuModule,
|
|
4926
4718
|
ReactiveFormsModule,
|
|
4927
4719
|
DbxDatePipeModule,
|
|
4928
4720
|
DbxValuePipeModule,
|
|
4929
4721
|
MatChipsModule,
|
|
4930
4722
|
MatIconModule,
|
|
4931
|
-
FlexLayoutModule, i1$
|
|
4932
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
4723
|
+
FlexLayoutModule, i1$2.FormlyModule], exports: [DbxFormFormlyWrapperModule] });
|
|
4724
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, imports: [CommonModule,
|
|
4933
4725
|
FormsModule,
|
|
4934
4726
|
MatInputModule,
|
|
4935
4727
|
MatDividerModule,
|
|
@@ -4937,7 +4729,6 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4937
4729
|
DbxButtonModule,
|
|
4938
4730
|
MatButtonModule,
|
|
4939
4731
|
MatDatepickerModule,
|
|
4940
|
-
MatNativeDateModule,
|
|
4941
4732
|
MatMenuModule,
|
|
4942
4733
|
ReactiveFormsModule,
|
|
4943
4734
|
DbxDatePipeModule,
|
|
@@ -4953,7 +4744,7 @@ class DbxFormFormlyDateFieldModule {
|
|
|
4953
4744
|
]
|
|
4954
4745
|
}), DbxFormFormlyWrapperModule] });
|
|
4955
4746
|
}
|
|
4956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
4747
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyDateFieldModule, decorators: [{
|
|
4957
4748
|
type: NgModule,
|
|
4958
4749
|
args: [{
|
|
4959
4750
|
imports: [
|
|
@@ -4965,7 +4756,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
4965
4756
|
DbxButtonModule,
|
|
4966
4757
|
MatButtonModule,
|
|
4967
4758
|
MatDatepickerModule,
|
|
4968
|
-
MatNativeDateModule,
|
|
4969
4759
|
MatMenuModule,
|
|
4970
4760
|
ReactiveFormsModule,
|
|
4971
4761
|
DbxDatePipeModule,
|
|
@@ -5257,7 +5047,7 @@ const FIELD_VALUES_ARE_EQUAL_VALIDATION_KEY = 'fieldValuesAreEqual';
|
|
|
5257
5047
|
function fieldValuesAreEqualValidator(config = {}) {
|
|
5258
5048
|
const { keysFilter, valuesFilter: inputValuesFilter, isEqual = (a, b) => a === b, message = 'Field values are not equal.' } = config;
|
|
5259
5049
|
const valuesFilter = inputValuesFilter ?? {
|
|
5260
|
-
valueFilter: KeyValueTypleValueFilter.NONE,
|
|
5050
|
+
valueFilter: KeyValueTypleValueFilter.NONE, // keep all values. Null/undefined should be processed.
|
|
5261
5051
|
keysFilter
|
|
5262
5052
|
};
|
|
5263
5053
|
return (control) => {
|
|
@@ -5487,11 +5277,11 @@ function dollarAmountField(config) {
|
|
|
5487
5277
|
}
|
|
5488
5278
|
|
|
5489
5279
|
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: "
|
|
5280
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5281
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, imports: [FormlyMaterialModule, FormlyMatSliderModule], exports: [DbxFormFormlyWrapperModule] });
|
|
5282
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, imports: [FormlyMaterialModule, FormlyMatSliderModule, DbxFormFormlyWrapperModule] });
|
|
5493
5283
|
}
|
|
5494
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyNumberFieldModule, decorators: [{
|
|
5495
5285
|
type: NgModule,
|
|
5496
5286
|
args: [{
|
|
5497
5287
|
imports: [FormlyMaterialModule, FormlyMatSliderModule],
|
|
@@ -5578,17 +5368,17 @@ class DbxPhoneFieldComponent extends FieldType$1 {
|
|
|
5578
5368
|
this.inputSync.destroy();
|
|
5579
5369
|
this.outputSync.destroy();
|
|
5580
5370
|
}
|
|
5581
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5582
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
5371
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPhoneFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5372
|
+
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
5373
|
}
|
|
5584
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5374
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxPhoneFieldComponent, decorators: [{
|
|
5585
5375
|
type: Component,
|
|
5586
5376
|
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
5377
|
}] });
|
|
5588
5378
|
|
|
5589
5379
|
class DbxFormFormlyPhoneFieldModule {
|
|
5590
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
5591
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
5380
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5381
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, declarations: [DbxPhoneFieldComponent], imports: [CommonModule,
|
|
5592
5382
|
MatInputModule,
|
|
5593
5383
|
MatFormFieldModule,
|
|
5594
5384
|
FormsModule,
|
|
@@ -5597,8 +5387,8 @@ class DbxFormFormlyPhoneFieldModule {
|
|
|
5597
5387
|
MatChipsModule,
|
|
5598
5388
|
MatIconModule,
|
|
5599
5389
|
FlexLayoutModule,
|
|
5600
|
-
FormlyMatFormFieldModule, i1$
|
|
5601
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
5390
|
+
FormlyMatFormFieldModule, i1$2.FormlyModule, NgxMatIntlTelInputComponent] });
|
|
5391
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, imports: [CommonModule,
|
|
5602
5392
|
MatInputModule,
|
|
5603
5393
|
MatFormFieldModule,
|
|
5604
5394
|
FormsModule,
|
|
@@ -5613,7 +5403,7 @@ class DbxFormFormlyPhoneFieldModule {
|
|
|
5613
5403
|
}),
|
|
5614
5404
|
NgxMatIntlTelInputComponent] });
|
|
5615
5405
|
}
|
|
5616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5406
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyPhoneFieldModule, decorators: [{
|
|
5617
5407
|
type: NgModule,
|
|
5618
5408
|
args: [{
|
|
5619
5409
|
imports: [
|
|
@@ -5919,11 +5709,11 @@ function addressListField(config = {}) {
|
|
|
5919
5709
|
}
|
|
5920
5710
|
|
|
5921
5711
|
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: "
|
|
5712
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5713
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule], exports: [DbxFormFormlyWrapperModule] });
|
|
5714
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, imports: [FormlyMaterialModule, DbxFormFormlyWrapperModule] });
|
|
5925
5715
|
}
|
|
5926
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5716
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyTextFieldModule, decorators: [{
|
|
5927
5717
|
type: NgModule,
|
|
5928
5718
|
args: [{
|
|
5929
5719
|
imports: [FormlyMaterialModule],
|
|
@@ -5940,11 +5730,11 @@ function hiddenField({ key, required = false }) {
|
|
|
5940
5730
|
}
|
|
5941
5731
|
|
|
5942
5732
|
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: "
|
|
5733
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5734
|
+
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] });
|
|
5735
|
+
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
5736
|
}
|
|
5947
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyValueModule, decorators: [{
|
|
5948
5738
|
type: NgModule,
|
|
5949
5739
|
args: [{
|
|
5950
5740
|
imports: [CommonModule],
|
|
@@ -5954,11 +5744,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5954
5744
|
}] });
|
|
5955
5745
|
|
|
5956
5746
|
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: "
|
|
5747
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
5748
|
+
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] });
|
|
5749
|
+
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
5750
|
}
|
|
5961
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5751
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFieldModule, decorators: [{
|
|
5962
5752
|
type: NgModule,
|
|
5963
5753
|
args: [{
|
|
5964
5754
|
imports: [CommonModule],
|
|
@@ -5971,13 +5761,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
5971
5761
|
* Allows a directive to provide a formly context and form.
|
|
5972
5762
|
*/
|
|
5973
5763
|
function provideFormlyContext() {
|
|
5974
|
-
return [
|
|
5975
|
-
{
|
|
5976
|
-
provide: DbxFormlyContext,
|
|
5977
|
-
useClass: DbxFormlyContext
|
|
5978
|
-
},
|
|
5979
|
-
...provideDbxMutableForm(DbxFormlyContext)
|
|
5980
|
-
];
|
|
5764
|
+
return [DbxFormlyContext, ...provideDbxMutableForm(DbxFormlyContext)];
|
|
5981
5765
|
}
|
|
5982
5766
|
/**
|
|
5983
5767
|
* DbxForm Instance that registers a delegate and manages the state of that form/delegate.
|
|
@@ -5992,6 +5776,9 @@ class DbxFormlyContext {
|
|
|
5992
5776
|
fields$ = this._fields.pipe(filterMaybe(), shareReplay(1));
|
|
5993
5777
|
disabled$ = this._disabled.pipe(filterMaybe(), shareReplay(1));
|
|
5994
5778
|
stream$ = this._delegate.pipe(distinctUntilChanged(), switchMap((x) => (x ? x.stream$ : of(DbxFormlyContext.INITIAL_STATE))), shareReplay(1));
|
|
5779
|
+
ngOnDestroy() {
|
|
5780
|
+
this.destroy();
|
|
5781
|
+
}
|
|
5995
5782
|
destroy() {
|
|
5996
5783
|
this.lockSet.destroyOnNextUnlock(() => {
|
|
5997
5784
|
this._fields.complete();
|
|
@@ -6059,21 +5846,24 @@ class DbxFormlyContext {
|
|
|
6059
5846
|
this._delegate.value.forceFormUpdate();
|
|
6060
5847
|
}
|
|
6061
5848
|
}
|
|
5849
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
5850
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext });
|
|
6062
5851
|
}
|
|
5852
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyContext, decorators: [{
|
|
5853
|
+
type: Injectable
|
|
5854
|
+
}] });
|
|
6063
5855
|
|
|
6064
5856
|
/**
|
|
6065
|
-
* Abstract component for wrapping a
|
|
5857
|
+
* Abstract component for wrapping a DbxFormlyContext.
|
|
5858
|
+
*
|
|
5859
|
+
* The implementing component should use provideFormlyContext() to provide the DbxFormlyContext specific to this directive. The context is injected using only self.
|
|
6066
5860
|
*/
|
|
6067
5861
|
class AbstractFormlyFormDirective {
|
|
6068
|
-
context = inject((DbxFormlyContext));
|
|
6069
|
-
|
|
6070
|
-
|
|
6071
|
-
}
|
|
6072
|
-
set disabled(disabled) {
|
|
6073
|
-
this.context.setDisabled(undefined, disabled);
|
|
6074
|
-
}
|
|
5862
|
+
context = inject((DbxFormlyContext), { self: true });
|
|
5863
|
+
disabled = input(false);
|
|
5864
|
+
_setDisabledOnContext = effect(() => this.context.setDisabled(undefined, this.disabled()));
|
|
6075
5865
|
ngOnDestroy() {
|
|
6076
|
-
this.
|
|
5866
|
+
this._setDisabledOnContext.destroy();
|
|
6077
5867
|
}
|
|
6078
5868
|
// Utility Functions
|
|
6079
5869
|
getValue() {
|
|
@@ -6091,14 +5881,12 @@ class AbstractFormlyFormDirective {
|
|
|
6091
5881
|
setDisabled(key, disabled) {
|
|
6092
5882
|
this.context.setDisabled(key, disabled);
|
|
6093
5883
|
}
|
|
6094
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6095
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "
|
|
5884
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormlyFormDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
5885
|
+
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
5886
|
}
|
|
6097
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5887
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractFormlyFormDirective, decorators: [{
|
|
6098
5888
|
type: Directive
|
|
6099
|
-
}]
|
|
6100
|
-
type: Input
|
|
6101
|
-
}] } });
|
|
5889
|
+
}] });
|
|
6102
5890
|
/**
|
|
6103
5891
|
* Abstract component for wrapping a form.
|
|
6104
5892
|
*/
|
|
@@ -6106,10 +5894,10 @@ class AbstractSyncFormlyFormDirective extends AbstractFormlyFormDirective {
|
|
|
6106
5894
|
ngOnInit() {
|
|
6107
5895
|
this.context.fields = this.fields;
|
|
6108
5896
|
}
|
|
6109
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6110
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5897
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5898
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractSyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
6111
5899
|
}
|
|
6112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5900
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractSyncFormlyFormDirective, decorators: [{
|
|
6113
5901
|
type: Directive
|
|
6114
5902
|
}] });
|
|
6115
5903
|
/**
|
|
@@ -6126,34 +5914,22 @@ class AbstractAsyncFormlyFormDirective extends AbstractFormlyFormDirective {
|
|
|
6126
5914
|
super.ngOnDestroy();
|
|
6127
5915
|
this._fieldsSub.destroy();
|
|
6128
5916
|
}
|
|
6129
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6130
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
5917
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5918
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: AbstractAsyncFormlyFormDirective, usesInheritance: true, ngImport: i0 });
|
|
6131
5919
|
}
|
|
6132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5920
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractAsyncFormlyFormDirective, decorators: [{
|
|
6133
5921
|
type: Directive
|
|
6134
5922
|
}] });
|
|
6135
5923
|
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 });
|
|
5924
|
+
config = input(undefined);
|
|
5925
|
+
currentConfig$ = toObservable(this.config).pipe(maybeValueFromObservableOrValue());
|
|
5926
|
+
config$ = this.currentConfig$.pipe(filterMaybe(), shareReplay(1));
|
|
5927
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
5928
|
+
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
5929
|
}
|
|
6152
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
5930
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractConfigAsyncFormlyFormDirective, decorators: [{
|
|
6153
5931
|
type: Directive
|
|
6154
|
-
}]
|
|
6155
|
-
type: Input
|
|
6156
|
-
}] } });
|
|
5932
|
+
}] });
|
|
6157
5933
|
|
|
6158
5934
|
function dbxFormSearchFormFields(config) {
|
|
6159
5935
|
const { label, placeholder = 'Search', materialFormField } = config || {};
|
|
@@ -6174,8 +5950,9 @@ function dbxFormSearchFormFields(config) {
|
|
|
6174
5950
|
/**
|
|
6175
5951
|
* Used for rending a form from a DbxFormlyContext.
|
|
6176
5952
|
*/
|
|
6177
|
-
class
|
|
5953
|
+
class DbxFormlyComponent extends AbstractSubscriptionDirective {
|
|
6178
5954
|
_dbxFormlyContext = inject((DbxFormlyContext));
|
|
5955
|
+
formlyForm = viewChild(FormlyForm);
|
|
6179
5956
|
_fields = new BehaviorSubject(undefined);
|
|
6180
5957
|
_events = new BehaviorSubject({ isComplete: false, state: DbxFormState.INITIALIZING, status: 'PENDING' });
|
|
6181
5958
|
_disabled = new BehaviorSubject(undefined);
|
|
@@ -6184,9 +5961,9 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6184
5961
|
_disabledSub = new SubscriptionObject();
|
|
6185
5962
|
_enforceDisabledSub = new SubscriptionObject();
|
|
6186
5963
|
form = new FormGroup({});
|
|
6187
|
-
|
|
5964
|
+
modelSignal = signal({});
|
|
6188
5965
|
options = {};
|
|
6189
|
-
fields$ = this._fields.pipe(
|
|
5966
|
+
fields$ = this._fields.pipe(switchMapFilterMaybe(), distinctUntilChanged(), shareReplay(1));
|
|
6190
5967
|
stream$ = this._reset.pipe(switchMap((lastResetAt) => this.form.valueChanges.pipe(startWith(0), distinctUntilChanged(), throttleTime(50, undefined, { leading: true, trailing: true }), scanCount(-1),
|
|
6191
5968
|
// update on validation changes too. Does not count towards changes since last reset.
|
|
6192
5969
|
switchMap((changesSinceLastReset) => this.form.statusChanges.pipe(startWith(this.form.status), distinctUntilChanged()).pipe(map(() => changesSinceLastReset))), map((changesSinceLastResetCount) => ({
|
|
@@ -6237,6 +6014,8 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6237
6014
|
return of(state);
|
|
6238
6015
|
}
|
|
6239
6016
|
}))), shareReplay(1));
|
|
6017
|
+
_fieldsSignal = toSignal(this.fields$, { initialValue: undefined });
|
|
6018
|
+
fieldsSignal = computed(() => this._fieldsSignal() ?? []);
|
|
6240
6019
|
ngOnInit() {
|
|
6241
6020
|
this._dbxFormlyContext.setDelegate(this);
|
|
6242
6021
|
const resyncDisabledState = () => {
|
|
@@ -6281,8 +6060,7 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6281
6060
|
return of(this.form.value);
|
|
6282
6061
|
}
|
|
6283
6062
|
setValue(value) {
|
|
6284
|
-
|
|
6285
|
-
this.model = structuredClone(value);
|
|
6063
|
+
this.modelSignal.set(structuredClone(value));
|
|
6286
6064
|
if (this.options.updateInitialValue) {
|
|
6287
6065
|
this.options.updateInitialValue();
|
|
6288
6066
|
this.options.resetModel?.();
|
|
@@ -6323,27 +6101,30 @@ class DbxFormlyFormComponent extends AbstractSubscriptionDirective {
|
|
|
6323
6101
|
forceFormUpdate() {
|
|
6324
6102
|
this._forceUpdate.next();
|
|
6325
6103
|
}
|
|
6326
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6327
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
6104
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6105
|
+
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
6106
|
<form [formGroup]="form" class="dbx-formly">
|
|
6329
|
-
<formly-form [form]="form" [
|
|
6107
|
+
<formly-form [form]="form" [options]="options" [fields]="fieldsSignal()" [model]="modelSignal()"></formly-form>
|
|
6330
6108
|
</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$
|
|
6109
|
+
`, 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
6110
|
}
|
|
6333
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6111
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyComponent, decorators: [{
|
|
6334
6112
|
type: Component,
|
|
6335
6113
|
args: [{
|
|
6336
6114
|
selector: 'dbx-formly',
|
|
6337
6115
|
exportAs: 'formly',
|
|
6338
6116
|
template: `
|
|
6339
6117
|
<form [formGroup]="form" class="dbx-formly">
|
|
6340
|
-
<formly-form [form]="form" [
|
|
6118
|
+
<formly-form [form]="form" [options]="options" [fields]="fieldsSignal()" [model]="modelSignal()"></formly-form>
|
|
6341
6119
|
</form>
|
|
6342
6120
|
`,
|
|
6343
|
-
providers: provideDbxMutableForm(DbxFormlyFormComponent),
|
|
6344
6121
|
host: {
|
|
6345
6122
|
class: 'dbx-formly'
|
|
6346
|
-
}
|
|
6123
|
+
},
|
|
6124
|
+
providers: provideDbxMutableForm(DbxFormlyComponent),
|
|
6125
|
+
imports: [FormsModule, ReactiveFormsModule, FormlyModule],
|
|
6126
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
6127
|
+
standalone: true
|
|
6347
6128
|
}]
|
|
6348
6129
|
}] });
|
|
6349
6130
|
|
|
@@ -6357,12 +6138,12 @@ class DbxFormSearchFormComponent extends AbstractConfigAsyncFormlyFormDirective
|
|
|
6357
6138
|
super.ngOnDestroy();
|
|
6358
6139
|
this.search.complete();
|
|
6359
6140
|
}
|
|
6360
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6361
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
6141
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSearchFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
6142
|
+
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
6143
|
<dbx-formly (dbxFormValueChange)="searchChanged($event)"></dbx-formly>
|
|
6363
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }, { kind: "component", type:
|
|
6144
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DbxFormValueChangesDirective, selector: "[dbxFormValueChange]", outputs: ["dbxFormValueChange"] }, { kind: "component", type: DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }] });
|
|
6364
6145
|
}
|
|
6365
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSearchFormComponent, decorators: [{
|
|
6366
6147
|
type: Component,
|
|
6367
6148
|
args: [{
|
|
6368
6149
|
template: `
|
|
@@ -6394,14 +6175,15 @@ class DbxFormlyFieldsContextDirective extends AbstractAsyncFormlyFormDirective {
|
|
|
6394
6175
|
super.ngOnDestroy();
|
|
6395
6176
|
this._fields.complete();
|
|
6396
6177
|
}
|
|
6397
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6398
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
6178
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFieldsContextDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
6179
|
+
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
6180
|
}
|
|
6400
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6181
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFieldsContextDirective, decorators: [{
|
|
6401
6182
|
type: Directive,
|
|
6402
6183
|
args: [{
|
|
6403
6184
|
selector: '[dbxFormlyFields]',
|
|
6404
|
-
providers: provideFormlyContext()
|
|
6185
|
+
providers: provideFormlyContext(),
|
|
6186
|
+
standalone: true
|
|
6405
6187
|
}]
|
|
6406
6188
|
}], propDecorators: { fields: [{
|
|
6407
6189
|
type: Input,
|
|
@@ -6409,44 +6191,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6409
6191
|
}] } });
|
|
6410
6192
|
|
|
6411
6193
|
class DbxFormlyModule {
|
|
6412
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6413
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
6194
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6195
|
+
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
6196
|
// Modules (?)
|
|
6415
6197
|
FormsModule,
|
|
6416
6198
|
ReactiveFormsModule,
|
|
6417
6199
|
// 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,
|
|
6200
|
+
DbxFormlyComponent,
|
|
6201
|
+
DbxFormlyFieldsContextDirective] });
|
|
6202
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, imports: [DbxFormlyComponent, CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule,
|
|
6423
6203
|
// Modules (?)
|
|
6424
6204
|
FormsModule,
|
|
6425
6205
|
ReactiveFormsModule] });
|
|
6426
6206
|
}
|
|
6427
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6207
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyModule, decorators: [{
|
|
6428
6208
|
type: NgModule,
|
|
6429
6209
|
args: [{
|
|
6430
|
-
imports: [CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
6431
|
-
declarations: [DbxFormlyFormComponent, DbxFormlyFieldsContextDirective],
|
|
6210
|
+
imports: [DbxFormlyComponent, DbxFormlyFieldsContextDirective, CommonModule, FormsModule, ReactiveFormsModule, FormlyModule, FormlyMatToggleModule],
|
|
6432
6211
|
exports: [
|
|
6433
6212
|
// Modules (?)
|
|
6434
6213
|
FormsModule,
|
|
6435
6214
|
ReactiveFormsModule,
|
|
6436
6215
|
// Directives
|
|
6437
|
-
|
|
6216
|
+
DbxFormlyComponent,
|
|
6438
6217
|
DbxFormlyFieldsContextDirective
|
|
6439
|
-
// Helper Modules
|
|
6440
6218
|
]
|
|
6441
6219
|
}]
|
|
6442
6220
|
}] });
|
|
6443
6221
|
|
|
6444
6222
|
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: "
|
|
6223
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6224
|
+
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] });
|
|
6225
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, imports: [CommonModule, DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule] });
|
|
6448
6226
|
}
|
|
6449
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6227
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormFormlyFormModule, decorators: [{
|
|
6450
6228
|
type: NgModule,
|
|
6451
6229
|
args: [{
|
|
6452
6230
|
imports: [CommonModule, DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule],
|
|
@@ -6596,16 +6374,41 @@ function timezoneStringField(config = {}) {
|
|
|
6596
6374
|
});
|
|
6597
6375
|
}
|
|
6598
6376
|
|
|
6377
|
+
/**
|
|
6378
|
+
* Default template for a view that extends AbstractFormlyFormDirective.
|
|
6379
|
+
*/
|
|
6380
|
+
const DBX_FORMLY_FORM_COMPONENT_TEMPLATE = `<dbx-formly></dbx-formly>`;
|
|
6381
|
+
/**
|
|
6382
|
+
* Default providers for a view that extends AbstractFormlyFormDirective.
|
|
6383
|
+
*/
|
|
6384
|
+
const dbxFormlyFormComponentProviders = provideFormlyContext;
|
|
6385
|
+
const dbxFormlyFormComponentImports = [DbxFormlyComponent];
|
|
6386
|
+
/**
|
|
6387
|
+
* Default imports module for a view that extends AbstractFormlyFormDirective.
|
|
6388
|
+
*/
|
|
6389
|
+
class DbxFormlyFormComponentImportsModule {
|
|
6390
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6391
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, imports: [DbxFormlyComponent], exports: [DbxFormlyComponent] });
|
|
6392
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, imports: [dbxFormlyFormComponentImports] });
|
|
6393
|
+
}
|
|
6394
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormlyFormComponentImportsModule, decorators: [{
|
|
6395
|
+
type: NgModule,
|
|
6396
|
+
args: [{
|
|
6397
|
+
imports: dbxFormlyFormComponentImports,
|
|
6398
|
+
exports: dbxFormlyFormComponentImports
|
|
6399
|
+
}]
|
|
6400
|
+
}] });
|
|
6401
|
+
|
|
6599
6402
|
/**
|
|
6600
6403
|
* Provides vertical spacing after a form.
|
|
6601
6404
|
*/
|
|
6602
6405
|
class DbxFormSpacerComponent {
|
|
6603
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
6604
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
6406
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSpacerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6407
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: DbxFormSpacerComponent, selector: "dbx-form-spacer", ngImport: i0, template: `
|
|
6605
6408
|
<div class="dbx-form-spacer"></div>
|
|
6606
6409
|
`, isInline: true });
|
|
6607
6410
|
}
|
|
6608
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6411
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormSpacerComponent, decorators: [{
|
|
6609
6412
|
type: Component,
|
|
6610
6413
|
args: [{
|
|
6611
6414
|
selector: 'dbx-form-spacer',
|
|
@@ -6616,11 +6419,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6616
6419
|
}] });
|
|
6617
6420
|
|
|
6618
6421
|
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: "
|
|
6422
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6423
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, declarations: [DbxFormSpacerComponent], imports: [CommonModule], exports: [DbxFormSpacerComponent] });
|
|
6424
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, imports: [CommonModule] });
|
|
6622
6425
|
}
|
|
6623
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormLayoutModule, decorators: [{
|
|
6624
6427
|
type: NgModule,
|
|
6625
6428
|
args: [{
|
|
6626
6429
|
imports: [CommonModule],
|
|
@@ -6630,20 +6433,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
6630
6433
|
}] });
|
|
6631
6434
|
|
|
6632
6435
|
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: "
|
|
6436
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
6437
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule] });
|
|
6438
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, imports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule] });
|
|
6636
6439
|
}
|
|
6637
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
6440
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFormExtensionModule, decorators: [{
|
|
6638
6441
|
type: NgModule,
|
|
6639
6442
|
args: [{
|
|
6640
6443
|
exports: [DbxFormModule, DbxFormlyModule, DbxFormFormlyFieldModule, DbxFormFormlyFormModule]
|
|
6641
6444
|
}]
|
|
6642
6445
|
}] });
|
|
6643
6446
|
|
|
6447
|
+
function provideDbxFormConfiguration(config) {
|
|
6448
|
+
const { provideDateAdapter, defaultDateTimePresets } = config ?? {};
|
|
6449
|
+
const providers = [
|
|
6450
|
+
{
|
|
6451
|
+
provide: MAT_FORM_FIELD_DEFAULT_OPTIONS,
|
|
6452
|
+
useValue: {
|
|
6453
|
+
subscriptSizing: 'dynamic',
|
|
6454
|
+
floatLabel: 'always',
|
|
6455
|
+
appearance: 'outline'
|
|
6456
|
+
}
|
|
6457
|
+
},
|
|
6458
|
+
{
|
|
6459
|
+
provide: DBX_DATE_TIME_FIELD_MENU_PRESETS_TOKEN,
|
|
6460
|
+
useValue: defaultDateTimePresets ?? DEFAULT_DATE_TIME_FIELD_MENU_PRESETS_PRESETS
|
|
6461
|
+
}
|
|
6462
|
+
];
|
|
6463
|
+
if (provideDateAdapter !== false) {
|
|
6464
|
+
providers.push(provideDateFnsAdapter());
|
|
6465
|
+
providers.push({
|
|
6466
|
+
provide: MAT_DATE_LOCALE,
|
|
6467
|
+
useValue: enUS
|
|
6468
|
+
});
|
|
6469
|
+
}
|
|
6470
|
+
return makeEnvironmentProviders(providers);
|
|
6471
|
+
}
|
|
6472
|
+
|
|
6644
6473
|
/**
|
|
6645
6474
|
* Generated bundle index. Do not edit.
|
|
6646
6475
|
*/
|
|
6647
6476
|
|
|
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,
|
|
6477
|
+
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
6478
|
//# sourceMappingURL=dereekb-dbx-form.mjs.map
|