@dereekb/dbx-form 13.16.0 → 13.18.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/fesm2022/dereekb-dbx-form-calendar.mjs +53 -316
- package/fesm2022/dereekb-dbx-form-calendar.mjs.map +1 -1
- package/fesm2022/{dereekb-dbx-form-expand.field.component-xIW9lckC.mjs → dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs} +3 -3
- package/fesm2022/{dereekb-dbx-form-expand.field.component-xIW9lckC.mjs.map → dereekb-dbx-form-expand.field.component-uqVNtX2s.mjs.map} +1 -1
- package/fesm2022/dereekb-dbx-form-mapbox.mjs +10 -538
- package/fesm2022/dereekb-dbx-form-mapbox.mjs.map +1 -1
- package/fesm2022/dereekb-dbx-form-style-demo.mjs +417 -0
- package/fesm2022/dereekb-dbx-form-style-demo.mjs.map +1 -0
- package/fesm2022/dereekb-dbx-form.mjs +1974 -9092
- package/fesm2022/dereekb-dbx-form.mjs.map +1 -1
- package/lib/extension/calendar/_calendar.scss +3 -3
- package/lib/forge/field/_field.scss +15 -0
- package/lib/forge/field/selection/pickable/_pickable.scss +11 -6
- package/lib/forge/field/selection/searchable/_searchable.scss +71 -3
- package/lib/forge/field/selection/sourceselect/_sourceselect.scss +1 -1
- package/lib/{formly → forge}/field/texteditor/_texteditor.scss +7 -3
- package/lib/{formly → forge}/field/value/array/_array.scss +4 -4
- package/lib/{formly → forge}/field/value/date/_date.scss +5 -9
- package/lib/{formly → forge}/field/value/duration/_duration.scss +7 -7
- package/lib/{formly → forge}/field/value/phone/_phone.scss +1 -1
- package/lib/forge/preset/_preset.scss +4 -4
- package/lib/forge/style/_shared.scss +9 -0
- package/lib/form/_form.scss +3 -0
- package/lib/style/_all-core.scss +0 -4
- package/lib/style/_all-theme.scss +0 -4
- package/lib/style/_all-typography.scss +0 -2
- package/package.json +12 -10
- package/style-demo/README.md +7 -0
- package/types/dereekb-dbx-form-calendar.d.ts +81 -232
- package/types/dereekb-dbx-form-mapbox.d.ts +9 -250
- package/types/dereekb-dbx-form-style-demo.d.ts +195 -0
- package/types/dereekb-dbx-form.d.ts +4191 -8496
- package/lib/formly/_formly.scss +0 -17
- package/lib/formly/field/_field.scss +0 -27
- package/lib/formly/field/checklist/_checklist.scss +0 -49
- package/lib/formly/field/component/_component.scss +0 -10
- package/lib/formly/field/selection/_selection.scss +0 -21
- package/lib/formly/field/selection/list/_list.scss +0 -15
- package/lib/formly/field/selection/pickable/_pickable.scss +0 -18
- package/lib/formly/field/selection/searchable/_searchable.scss +0 -88
- package/lib/formly/field/selection/sourceselect/_sourceselect.scss +0 -42
- package/lib/formly/field/value/_value.scss +0 -30
- package/lib/formly/field/value/boolean/_boolean.scss +0 -52
- package/lib/formly/field/value/number/_number.scss +0 -17
- package/lib/formly/field/value/text/_text.scss +0 -10
- package/lib/formly/field/wrapper/_wrapper.scss +0 -31
|
@@ -1,22 +1,21 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { formlyField, propsAndConfigForFieldConfig, dbxForgeToggleField, AbstractSyncForgeFormDirective, DbxForgeFormComponentImportsModule, dbxForgeFormComponentProviders, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DbxFormSourceDirective, DbxActionFormDirective, formlyFlexLayoutWrapper, formlyToggleField, AbstractSyncFormlyFormDirective, DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule, dbxFormlyFormComponentProviders, DBX_FORMLY_FORM_COMPONENT_TEMPLATE } from '@dereekb/dbx-form';
|
|
3
|
-
import * as i1$3 from '@dereekb/dbx-web';
|
|
4
|
-
import { DbxActionModule, DbxButtonSpacerDirective, DbxContentContainerDirective, DbxLabelBlockComponent, AbstractPopoverDirective, DbxPopoverInteractionModule, DbxPopoverService, DbxButtonComponent, AbstractDialogDirective, sanitizeDbxDialogContentConfig, DbxDialogModule, CompactContextStore } from '@dereekb/dbx-web';
|
|
1
|
+
import { filterFromPOJO, isInAllowedDaysOfWeekSet, mapValuesToSet, unique, mergeArrays, iterableToArray, isIterable, firstValueFromIterable, minAndMaxNumber, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter } from '@dereekb/util';
|
|
5
2
|
import * as i0 from '@angular/core';
|
|
6
3
|
import { Injectable, inject, Directive, Optional, SkipSelf, Injector, ChangeDetectionStrategy, Component, viewChild, input, effect, computed, ElementRef, output, InjectionToken, NgModule } from '@angular/core';
|
|
7
|
-
import { FieldType } from '@ngx-formly/material';
|
|
8
4
|
import { switchMap, first, tap, map, distinctUntilChanged, shareReplay, of, combineLatestWith, BehaviorSubject, filter, combineLatest, EMPTY, startWith, throttleTime, skip } from 'rxjs';
|
|
9
5
|
import { filterMaybe, distinctUntilHasDifferentValues, asObservableFromGetter, asObservable } from '@dereekb/rxjs';
|
|
10
6
|
import { DateCellScheduleDayCode, expandDateCellScheduleDayCodesToDayOfWeekSet, dateCellTimingStartsAtForStartOfDay, dateCellTimingRelativeIndexFactory, dateCellDayOfWeekFactory, dateTimezoneUtcNormal, findMaxDate, findMinDate, isSameDateRange, isSameDateDay, isSameDate, dateCellTimingDateFactory, expandDateCellScheduleRange, formatToISO8601DayStringForSystem, changeDateCellScheduleDateRangeToTimezone, isSameDateCellScheduleDateRange, dateCellTimingRelativeIndexArrayFactory, isInfiniteDateRange, copyDateCellScheduleDateFilterConfig, SYSTEM_DATE_TIMEZONE_UTC_NORMAL_INSTANCE, dateCellScheduleDateFilter, fullDateCellScheduleRange, dateCellTimingTimezoneNormalInstance, expandDateCellScheduleDayCodes, fullWeekDateCellScheduleDayCodes, dateCellScheduleDayCodesAreSetsEquivalent, simplifyDateCellScheduleDayCodes, dateCellTimingStartDateFactory, isDateInDateRangeFunction, isDateWithinDateCellRangeFunction, dateCellScheduleEncodedWeek, enabledDaysFromDateCellScheduleDayCodes, dateCellScheduleDayCodesFromEnabledDays, formatToMonthDayString, dateRange, DateRangeType } from '@dereekb/date';
|
|
11
|
-
import { isInAllowedDaysOfWeekSet, mapValuesToSet, unique, mergeArrays, iterableToArray, isIterable, firstValueFromIterable, minAndMaxNumber, range, toggleInSet, removeFromSet, addToSet, isIndexNumberInIndexRangeFunction, getDaysOfWeekNames, reduceBooleansWithAnd, mergeObjects, KeyValueTypleValueFilter, filterFromPOJO } from '@dereekb/util';
|
|
12
7
|
import { ComponentStore } from '@ngrx/component-store';
|
|
13
8
|
import { endOfDay, startOfDay, isBefore, endOfWeek } from 'date-fns';
|
|
14
9
|
import * as i1$1 from '@dereekb/dbx-core';
|
|
15
10
|
import { completeOnDestroy, cleanSubscription, TimezoneAbbreviationPipe, switchMapDbxInjectionComponentConfig, DbxInjectionComponent } from '@dereekb/dbx-core';
|
|
16
11
|
import { toSignal, toObservable } from '@angular/core/rxjs-interop';
|
|
17
12
|
import { MatDialog } from '@angular/material/dialog';
|
|
13
|
+
import * as i1$3 from '@dereekb/dbx-web';
|
|
14
|
+
import { DbxActionModule, DbxButtonSpacerDirective, DbxContentContainerDirective, DbxLabelBlockComponent, AbstractPopoverDirective, DbxPopoverInteractionModule, DbxPopoverService, DbxButtonComponent, AbstractDialogDirective, sanitizeDbxDialogContentConfig, DbxDialogModule, CompactContextStore } from '@dereekb/dbx-web';
|
|
18
15
|
import { CalendarMonthViewComponent, CalendarDatePipe } from 'angular-calendar';
|
|
19
16
|
import { DbxCalendarStore, prepareAndSortCalendarEvents, DbxCalendarBaseComponent } from '@dereekb/dbx-web/calendar';
|
|
17
|
+
import * as i1 from '@dereekb/dbx-form';
|
|
18
|
+
import { dbxForgeToggleField, AbstractSyncForgeFormDirective, DbxForgeFormComponentImportsModule, dbxForgeFormComponentProviders, DBX_FORGE_FORM_COMPONENT_TEMPLATE, DbxFormSourceDirective, DbxActionFormDirective } from '@dereekb/dbx-form';
|
|
20
19
|
import * as i2 from '@angular/forms';
|
|
21
20
|
import { FormGroup, FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
22
21
|
import * as i1$2 from '@angular/material/form-field';
|
|
@@ -26,44 +25,49 @@ import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
|
26
25
|
import { NgClass } from '@angular/common';
|
|
27
26
|
import * as i1$4 from '@angular/material/icon';
|
|
28
27
|
import { MatIconModule } from '@angular/material/icon';
|
|
29
|
-
import * as i1$5 from '@ngx-formly/core';
|
|
30
|
-
import { FormlyModule } from '@ngx-formly/core';
|
|
31
28
|
import { setupMetaTracking, resolveValueFieldContext, DEFAULT_PROPS, DEFAULT_VALIDATION_MESSAGES, buildValueFieldInputs } from '@ng-forge/dynamic-forms/integration';
|
|
32
29
|
|
|
33
|
-
/* eslint-disable @typescript-eslint/no-deprecated -- legacy formly calendar factory; references deprecated config interfaces and is itself deprecated in favor of dbxForgeDateScheduleRangeField() */
|
|
34
30
|
/**
|
|
35
|
-
*
|
|
31
|
+
* The custom forge field type name for the calendar date schedule range field.
|
|
32
|
+
*/
|
|
33
|
+
const FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE = 'dbx-forge-calendar-date-schedule-range';
|
|
34
|
+
/**
|
|
35
|
+
* Creates a forge field definition for a calendar date schedule range picker.
|
|
36
36
|
*
|
|
37
|
-
*
|
|
38
|
-
* @returns A validated Formly field configuration for date schedule range selection.
|
|
37
|
+
* This is the forge equivalent of {@link dateScheduleRangeField}.
|
|
39
38
|
*
|
|
40
|
-
* @
|
|
39
|
+
* @param config - Optional schedule range field configuration overrides.
|
|
40
|
+
* @returns A validated forge field definition for date schedule range selection.
|
|
41
41
|
*/
|
|
42
|
-
function
|
|
43
|
-
const { key = 'schedule',
|
|
44
|
-
const
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
42
|
+
function dbxForgeDateScheduleRangeField(config = {}) {
|
|
43
|
+
const { key = 'schedule', label, description, required, readonly: isReadonly, appearance, allowTextInput, hideCustomize, allowCustomizeWithoutDateRange, outputTimezone, defaultScheduleDays, minMaxDateRange, filter, exclusions, dialogContentConfig, computeSelectionResultRelativeToFilter, initialSelectionState, cellContentFactory, customDetailsConfig } = config;
|
|
44
|
+
const props = filterFromPOJO({
|
|
45
|
+
label: label ?? 'Schedule',
|
|
46
|
+
description,
|
|
47
|
+
appearance,
|
|
48
|
+
allowTextInput,
|
|
49
|
+
hideCustomize,
|
|
50
|
+
allowCustomizeWithoutDateRange,
|
|
51
|
+
outputTimezone,
|
|
52
|
+
defaultScheduleDays,
|
|
53
|
+
minMaxDateRange,
|
|
54
|
+
filter,
|
|
55
|
+
exclusions,
|
|
56
|
+
dialogContentConfig,
|
|
57
|
+
computeSelectionResultRelativeToFilter,
|
|
58
|
+
initialSelectionState,
|
|
59
|
+
cellContentFactory,
|
|
60
|
+
customDetailsConfig
|
|
61
|
+
});
|
|
62
|
+
return filterFromPOJO({
|
|
63
|
+
key,
|
|
64
|
+
type: FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE,
|
|
65
|
+
label: label ?? 'Schedule',
|
|
66
|
+
value: undefined,
|
|
67
|
+
required,
|
|
68
|
+
readonly: isReadonly,
|
|
69
|
+
props: Object.keys(props).length > 0 ? props : undefined
|
|
70
|
+
});
|
|
67
71
|
}
|
|
68
72
|
|
|
69
73
|
var CalendarScheduleSelectionDayState;
|
|
@@ -1338,11 +1342,11 @@ class DbxScheduleSelectionCalendarDateRangeComponent {
|
|
|
1338
1342
|
this._pickerOpened.next(false);
|
|
1339
1343
|
}
|
|
1340
1344
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1341
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxScheduleSelectionCalendarDateRangeComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-range", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, openPickerOnTextClick: { classPropertyName: "openPickerOnTextClick", publicName: "openPickerOnTextClick", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showCustomize: { classPropertyName: "showCustomize", publicName: "showCustomize", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],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"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1345
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.11", type: DbxScheduleSelectionCalendarDateRangeComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-range", inputs: { required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, openPickerOnTextClick: { classPropertyName: "openPickerOnTextClick", publicName: "openPickerOnTextClick", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, hint: { classPropertyName: "hint", publicName: "hint", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, showCustomize: { classPropertyName: "showCustomize", publicName: "showCustomize", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "picker", first: true, predicate: ["picker"], descendants: true, isSignal: true }], ngImport: i0, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg dbx-color-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n", dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$2.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$2.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i1$2.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i1$2.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { 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: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],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"] }, { kind: "directive", type: DbxButtonSpacerDirective, selector: "dbx-button-spacer,[dbxButtonSpacer]" }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i3.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i3.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i3.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i3.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i3.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "pipe", type: TimezoneAbbreviationPipe, name: "timezoneAbbreviation" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1342
1346
|
}
|
|
1343
1347
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxScheduleSelectionCalendarDateRangeComponent, decorators: [{
|
|
1344
1348
|
type: Component,
|
|
1345
|
-
args: [{ selector: 'dbx-schedule-selection-calendar-date-range', imports: [MatFormFieldModule, FormsModule, ReactiveFormsModule, DbxButtonSpacerDirective, MatDatepickerModule, TimezoneAbbreviationPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n" }]
|
|
1349
|
+
args: [{ selector: 'dbx-schedule-selection-calendar-date-range', imports: [MatFormFieldModule, FormsModule, ReactiveFormsModule, DbxButtonSpacerDirective, MatDatepickerModule, TimezoneAbbreviationPipe], changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, template: "<mat-form-field class=\"dbx-schedule-selection-calendar-date-range-field\">\n @if (label()) {\n <mat-label>{{ label() }}</mat-label>\n }\n <div class=\"dbx-schedule-selection-calendar-date-range-field-content\">\n <!-- Primary Content -->\n <div class=\"dbx-flex\">\n @if (showCustomLabelSignal()) {\n <div class=\"date-range-field-customized\">\n <span class=\"dbx-accent-bg dbx-color-bg date-range-field-customized-text\">Custom</span>\n </div>\n }\n <dbx-button-spacer></dbx-button-spacer>\n <mat-datepicker-toggle class=\"mat-datepicker-button-highlight\" matIconSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <dbx-button-spacer></dbx-button-spacer>\n <mat-date-range-input (click)=\"clickedDateRangeInput()\" [required]=\"required()\" [dateFilter]=\"datePickerFilterSignal()\" [formGroup]=\"range\" [rangePicker]=\"picker\">\n <input [errorStateMatcher]=\"errorStateMatcher\" matStartDate formControlName=\"start\" placeholder=\"Start date\" />\n <input [errorStateMatcher]=\"errorStateMatcher\" matEndDate formControlName=\"end\" placeholder=\"End date\" />\n </mat-date-range-input>\n @if (timezoneSignal()) {\n <span class=\"dbx-schedule-selection-timezone dbx-faint dbx-nowrap dbx-icon-spacer\">{{ timezoneSignal() | timezoneAbbreviation: timezoneReleventDateSignal() }}</span>\n }\n @if (showCustomize()) {\n <div>\n <dbx-button-spacer></dbx-button-spacer>\n <ng-content select=\"[customizeButton]\"></ng-content>\n </div>\n }\n <mat-date-range-picker #picker (opened)=\"pickerOpened()\" (closed)=\"pickerClosed()\"></mat-date-range-picker>\n </div>\n <!-- Custom Content -->\n <div>\n <ng-content></ng-content>\n </div>\n </div>\n @if (currentErrorMessageSignal()) {\n <mat-error>{{ currentErrorMessageSignal() }}</mat-error>\n }\n <mat-hint>{{ hint() }}</mat-hint>\n</mat-form-field>\n" }]
|
|
1346
1350
|
}], propDecorators: { picker: [{ type: i0.ViewChild, args: ['picker', { isSignal: true }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], openPickerOnTextClick: [{ type: i0.Input, args: [{ isSignal: true, alias: "openPickerOnTextClick", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], hint: [{ type: i0.Input, args: [{ isSignal: true, alias: "hint", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], showCustomize: [{ type: i0.Input, args: [{ isSignal: true, alias: "showCustomize", required: false }] }] } });
|
|
1347
1351
|
|
|
1348
1352
|
class DbxScheduleSelectionCalendarDatePopoverContentComponent {
|
|
@@ -1769,211 +1773,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImpo
|
|
|
1769
1773
|
}]
|
|
1770
1774
|
}], propDecorators: { buttonText: [{ type: i0.Input, args: [{ isSignal: true, alias: "buttonText", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], contentConfig: [{ type: i0.Input, args: [{ isSignal: true, alias: "contentConfig", required: false }] }] } });
|
|
1771
1775
|
|
|
1772
|
-
/**
|
|
1773
|
-
* @deprecated Use DbxForgeCalendarDateScheduleRangeFieldComponent instead.
|
|
1774
|
-
*/
|
|
1775
|
-
class DbxFormCalendarDateScheduleRangeFieldComponent extends FieldType {
|
|
1776
|
-
compact = inject(CompactContextStore, { optional: true });
|
|
1777
|
-
dbxCalendarScheduleSelectionStore = inject(DbxCalendarScheduleSelectionStore);
|
|
1778
|
-
_syncSub = cleanSubscription();
|
|
1779
|
-
_valueSub = cleanSubscription();
|
|
1780
|
-
_timezoneSub = cleanSubscription();
|
|
1781
|
-
_minMaxDateRangeSub = cleanSubscription();
|
|
1782
|
-
_defaultWeekSub = cleanSubscription();
|
|
1783
|
-
_filterSub = cleanSubscription();
|
|
1784
|
-
_exclusionsSub = cleanSubscription();
|
|
1785
|
-
_formControlObs = completeOnDestroy(new BehaviorSubject(undefined));
|
|
1786
|
-
formControl$ = this._formControlObs.pipe(filterMaybe());
|
|
1787
|
-
value$ = this.formControl$.pipe(switchMap((control) => control.valueChanges.pipe(startWith(control.value))), shareReplay(1));
|
|
1788
|
-
disableCustomize$ = this.value$.pipe(map((x) => (this.allowCustomizeWithoutDateRange ? false : !x)), distinctUntilChanged(), shareReplay(1));
|
|
1789
|
-
disabledSignal = toSignal(this.disableCustomize$);
|
|
1790
|
-
get formGroupName() {
|
|
1791
|
-
return this.field.key;
|
|
1792
|
-
}
|
|
1793
|
-
get formGroup() {
|
|
1794
|
-
return this.form;
|
|
1795
|
-
}
|
|
1796
|
-
get label() {
|
|
1797
|
-
return this.field.props?.label;
|
|
1798
|
-
}
|
|
1799
|
-
get description() {
|
|
1800
|
-
return this.props.description;
|
|
1801
|
-
}
|
|
1802
|
-
get isReadonlyOrDisabled() {
|
|
1803
|
-
return this.props.readonly || this.disabled;
|
|
1804
|
-
}
|
|
1805
|
-
get openPickerOnTextClick() {
|
|
1806
|
-
return this.props.allowTextInput !== true; // Opposite of allowTextInput
|
|
1807
|
-
}
|
|
1808
|
-
get allowCustomizeWithoutDateRange() {
|
|
1809
|
-
return this.props.allowCustomizeWithoutDateRange ?? false;
|
|
1810
|
-
}
|
|
1811
|
-
get showCustomize() {
|
|
1812
|
-
return !this.props.hideCustomize;
|
|
1813
|
-
}
|
|
1814
|
-
get defaultScheduleDays() {
|
|
1815
|
-
return this.props.defaultScheduleDays;
|
|
1816
|
-
}
|
|
1817
|
-
get minMaxDateRange() {
|
|
1818
|
-
return this.props.minMaxDateRange;
|
|
1819
|
-
}
|
|
1820
|
-
get filter() {
|
|
1821
|
-
return this.props.filter;
|
|
1822
|
-
}
|
|
1823
|
-
get exclusions() {
|
|
1824
|
-
return this.props.exclusions;
|
|
1825
|
-
}
|
|
1826
|
-
get outputTimezone() {
|
|
1827
|
-
return this.props.outputTimezone;
|
|
1828
|
-
}
|
|
1829
|
-
get initialSelectionState() {
|
|
1830
|
-
return this.props.initialSelectionState;
|
|
1831
|
-
}
|
|
1832
|
-
get computeSelectionResultRelativeToFilter() {
|
|
1833
|
-
return this.props.computeSelectionResultRelativeToFilter;
|
|
1834
|
-
}
|
|
1835
|
-
get dialogContentConfig() {
|
|
1836
|
-
return this.props.dialogContentConfig;
|
|
1837
|
-
}
|
|
1838
|
-
get customDetailsConfig() {
|
|
1839
|
-
return this.props.customDetailsConfig;
|
|
1840
|
-
}
|
|
1841
|
-
get cellContentFactory() {
|
|
1842
|
-
return this.props.cellContentFactory;
|
|
1843
|
-
}
|
|
1844
|
-
ngOnInit() {
|
|
1845
|
-
this._formControlObs.next(this.formControl);
|
|
1846
|
-
this._syncSub.subscription = this.value$.pipe(distinctUntilChanged(isSameDateCellScheduleDateRange)).subscribe((x) => {
|
|
1847
|
-
this.dbxCalendarScheduleSelectionStore.setDateScheduleRangeValue(x);
|
|
1848
|
-
});
|
|
1849
|
-
this._valueSub.subscription = this.dbxCalendarScheduleSelectionStore.currentDateCellScheduleRangeValue$.subscribe((x) => {
|
|
1850
|
-
this.formControl.setValue(x);
|
|
1851
|
-
});
|
|
1852
|
-
const { outputTimezone, minMaxDateRange, filter, exclusions, defaultScheduleDays } = this;
|
|
1853
|
-
if (filter != null) {
|
|
1854
|
-
this._filterSub.subscription = this.dbxCalendarScheduleSelectionStore.setFilter(asObservable(filter));
|
|
1855
|
-
}
|
|
1856
|
-
if (defaultScheduleDays != null) {
|
|
1857
|
-
this._defaultWeekSub.subscription = this.dbxCalendarScheduleSelectionStore.setDefaultScheduleDays(asObservable(defaultScheduleDays));
|
|
1858
|
-
}
|
|
1859
|
-
if (minMaxDateRange != null) {
|
|
1860
|
-
this._minMaxDateRangeSub.subscription = this.dbxCalendarScheduleSelectionStore.setMinMaxDateRange(asObservable(minMaxDateRange));
|
|
1861
|
-
}
|
|
1862
|
-
if (exclusions != null) {
|
|
1863
|
-
this._exclusionsSub.subscription = this.dbxCalendarScheduleSelectionStore.setExclusions(asObservable(exclusions));
|
|
1864
|
-
}
|
|
1865
|
-
if (outputTimezone != null) {
|
|
1866
|
-
this.dbxCalendarScheduleSelectionStore.setOutputTimezone(asObservable(this.outputTimezone));
|
|
1867
|
-
}
|
|
1868
|
-
if (this.initialSelectionState !== undefined) {
|
|
1869
|
-
this.dbxCalendarScheduleSelectionStore.setInitialSelectionState(this.initialSelectionState);
|
|
1870
|
-
}
|
|
1871
|
-
if (this.computeSelectionResultRelativeToFilter != null) {
|
|
1872
|
-
this.dbxCalendarScheduleSelectionStore.setComputeSelectionResultRelativeToFilter(this.computeSelectionResultRelativeToFilter);
|
|
1873
|
-
}
|
|
1874
|
-
if (this.cellContentFactory != null) {
|
|
1875
|
-
this.dbxCalendarScheduleSelectionStore.setCellContentFactory(this.cellContentFactory);
|
|
1876
|
-
}
|
|
1877
|
-
}
|
|
1878
|
-
ngOnDestroy() {
|
|
1879
|
-
super.ngOnDestroy();
|
|
1880
|
-
}
|
|
1881
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1882
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxFormCalendarDateScheduleRangeFieldComponent, isStandalone: true, selector: "ng-component", providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()], usesInheritance: true, ngImport: i0, template: `
|
|
1883
|
-
<div class="dbx-schedule-selection-field">
|
|
1884
|
-
<dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
|
|
1885
|
-
<dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disabledSignal()" [contentConfig]="dialogContentConfig"></dbx-schedule-selection-calendar-date-dialog-button>
|
|
1886
|
-
<dbx-injection [config]="customDetailsConfig"></dbx-injection>
|
|
1887
|
-
</dbx-schedule-selection-calendar-date-range>
|
|
1888
|
-
</div>
|
|
1889
|
-
`, isInline: true, dependencies: [{ kind: "component", type: DbxInjectionComponent, selector: "dbx-injection, [dbxInjection], [dbx-injection]", inputs: ["config", "template"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateRangeComponent, selector: "dbx-schedule-selection-calendar-date-range", inputs: ["required", "openPickerOnTextClick", "label", "hint", "disabled", "showCustomize"] }, { kind: "component", type: DbxScheduleSelectionCalendarDateDialogButtonComponent, selector: "dbx-schedule-selection-calendar-date-dialog-button", inputs: ["buttonText", "disabled", "contentConfig"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1890
|
-
}
|
|
1891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarDateScheduleRangeFieldComponent, decorators: [{
|
|
1892
|
-
type: Component,
|
|
1893
|
-
args: [{
|
|
1894
|
-
template: `
|
|
1895
|
-
<div class="dbx-schedule-selection-field">
|
|
1896
|
-
<dbx-schedule-selection-calendar-date-range [openPickerOnTextClick]="openPickerOnTextClick" [showCustomize]="showCustomize" [required]="required" [disabled]="isReadonlyOrDisabled" [label]="label" [hint]="description">
|
|
1897
|
-
<dbx-schedule-selection-calendar-date-dialog-button customizeButton [disabled]="disabledSignal()" [contentConfig]="dialogContentConfig"></dbx-schedule-selection-calendar-date-dialog-button>
|
|
1898
|
-
<dbx-injection [config]="customDetailsConfig"></dbx-injection>
|
|
1899
|
-
</dbx-schedule-selection-calendar-date-range>
|
|
1900
|
-
</div>
|
|
1901
|
-
`,
|
|
1902
|
-
providers: [provideCalendarScheduleSelectionStoreIfParentIsUnavailable()],
|
|
1903
|
-
imports: [DbxInjectionComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent],
|
|
1904
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1905
|
-
standalone: true
|
|
1906
|
-
}]
|
|
1907
|
-
}] });
|
|
1908
|
-
|
|
1909
|
-
/* eslint-disable @typescript-eslint/no-deprecated -- legacy NgModule that wraps the deprecated DbxFormCalendarDateScheduleRangeFieldComponent; replacement is provideDbxForgeCalendarFieldDeclarations() */
|
|
1910
|
-
const importsAndExports$1 = [DbxFormCalendarDateScheduleRangeFieldComponent];
|
|
1911
|
-
/**
|
|
1912
|
-
* @deprecated Use provideDbxForgeCalendarFieldDeclarations() instead.
|
|
1913
|
-
*/
|
|
1914
|
-
class DbxFormDateScheduleRangeFieldModule {
|
|
1915
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
1916
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [DbxFormCalendarDateScheduleRangeFieldComponent, i1$5.FormlyModule], exports: [DbxFormCalendarDateScheduleRangeFieldComponent] });
|
|
1917
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, imports: [importsAndExports$1, FormlyModule.forChild({
|
|
1918
|
-
types: [{ name: 'date-schedule-range', component: DbxFormCalendarDateScheduleRangeFieldComponent }]
|
|
1919
|
-
})] });
|
|
1920
|
-
}
|
|
1921
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormDateScheduleRangeFieldModule, decorators: [{
|
|
1922
|
-
type: NgModule,
|
|
1923
|
-
args: [{
|
|
1924
|
-
imports: [
|
|
1925
|
-
...importsAndExports$1,
|
|
1926
|
-
FormlyModule.forChild({
|
|
1927
|
-
types: [{ name: 'date-schedule-range', component: DbxFormCalendarDateScheduleRangeFieldComponent }]
|
|
1928
|
-
})
|
|
1929
|
-
],
|
|
1930
|
-
exports: importsAndExports$1
|
|
1931
|
-
}]
|
|
1932
|
-
}] });
|
|
1933
|
-
|
|
1934
|
-
/**
|
|
1935
|
-
* The custom forge field type name for the calendar date schedule range field.
|
|
1936
|
-
*/
|
|
1937
|
-
const FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE = 'dbx-forge-calendar-date-schedule-range';
|
|
1938
|
-
/**
|
|
1939
|
-
* Creates a forge field definition for a calendar date schedule range picker.
|
|
1940
|
-
*
|
|
1941
|
-
* This is the forge equivalent of {@link dateScheduleRangeField}.
|
|
1942
|
-
*
|
|
1943
|
-
* @param config - Optional schedule range field configuration overrides.
|
|
1944
|
-
* @returns A validated forge field definition for date schedule range selection.
|
|
1945
|
-
*/
|
|
1946
|
-
function dbxForgeDateScheduleRangeField(config = {}) {
|
|
1947
|
-
const { key = 'schedule', label, description, required, readonly: isReadonly, appearance, allowTextInput, hideCustomize, allowCustomizeWithoutDateRange, outputTimezone, defaultScheduleDays, minMaxDateRange, filter, exclusions, dialogContentConfig, computeSelectionResultRelativeToFilter, initialSelectionState, cellContentFactory, customDetailsConfig } = config;
|
|
1948
|
-
const props = filterFromPOJO({
|
|
1949
|
-
label: label ?? 'Schedule',
|
|
1950
|
-
description,
|
|
1951
|
-
appearance,
|
|
1952
|
-
allowTextInput,
|
|
1953
|
-
hideCustomize,
|
|
1954
|
-
allowCustomizeWithoutDateRange,
|
|
1955
|
-
outputTimezone,
|
|
1956
|
-
defaultScheduleDays,
|
|
1957
|
-
minMaxDateRange,
|
|
1958
|
-
filter,
|
|
1959
|
-
exclusions,
|
|
1960
|
-
dialogContentConfig,
|
|
1961
|
-
computeSelectionResultRelativeToFilter,
|
|
1962
|
-
initialSelectionState,
|
|
1963
|
-
cellContentFactory,
|
|
1964
|
-
customDetailsConfig
|
|
1965
|
-
});
|
|
1966
|
-
return filterFromPOJO({
|
|
1967
|
-
key,
|
|
1968
|
-
type: FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE,
|
|
1969
|
-
label: label ?? 'Schedule',
|
|
1970
|
-
value: undefined,
|
|
1971
|
-
required,
|
|
1972
|
-
readonly: isReadonly,
|
|
1973
|
-
props: Object.keys(props).length > 0 ? props : undefined
|
|
1974
|
-
});
|
|
1975
|
-
}
|
|
1976
|
-
|
|
1977
1776
|
/**
|
|
1978
1777
|
* Forge custom field component for calendar date schedule range selection.
|
|
1979
1778
|
*
|
|
@@ -2155,62 +1954,10 @@ var calendar_schedule_forge_field_component = /*#__PURE__*/Object.freeze({
|
|
|
2155
1954
|
calendarDateScheduleRangeFieldMapper: calendarDateScheduleRangeFieldMapper
|
|
2156
1955
|
});
|
|
2157
1956
|
|
|
2158
|
-
/* eslint-disable @typescript-eslint/no-deprecated -- legacy formly day-selection field factory; replacement is dbxScheduleSelectionCalendarDateDaysForgeFormFields() */
|
|
2159
|
-
// COMPAT: Deprecated aliases
|
|
2160
|
-
/**
|
|
2161
|
-
* Creates form fields for selecting which days of the week are enabled in a schedule selection calendar,
|
|
2162
|
-
* wrapped in a responsive flex layout.
|
|
2163
|
-
*
|
|
2164
|
-
* @returns Array of Formly field configs with toggle fields for each day of the week.
|
|
2165
|
-
*
|
|
2166
|
-
* @deprecated Use dbxScheduleSelectionCalendarDateDaysForgeFormFields() instead.
|
|
2167
|
-
*/
|
|
2168
|
-
function dbxScheduleSelectionCalendarDateDaysFormFields() {
|
|
2169
|
-
const fields = dbxScheduleSelectionCalendarDateDaysFormDayFields();
|
|
2170
|
-
return [formlyFlexLayoutWrapper(fields, { relative: true, size: 3 })];
|
|
2171
|
-
}
|
|
2172
|
-
/**
|
|
2173
|
-
* Creates an array of toggle field configs, one for each day of the week, keyed by lowercase day name.
|
|
2174
|
-
*
|
|
2175
|
-
* @returns The toggle Formly field configs for each day of the week.
|
|
2176
|
-
*
|
|
2177
|
-
* @deprecated Use forge toggle fields directly.
|
|
2178
|
-
*/
|
|
2179
|
-
function dbxScheduleSelectionCalendarDateDaysFormDayFields() {
|
|
2180
|
-
return getDaysOfWeekNames(false).map((dayOfWeekName) => {
|
|
2181
|
-
return formlyToggleField({
|
|
2182
|
-
key: dayOfWeekName.toLowerCase(),
|
|
2183
|
-
label: dayOfWeekName
|
|
2184
|
-
});
|
|
2185
|
-
});
|
|
2186
|
-
}
|
|
2187
|
-
|
|
2188
|
-
/* eslint-disable @typescript-eslint/no-deprecated -- legacy formly day-selection component; replacement is DbxScheduleSelectionCalendarDateDaysForgeFormComponent */
|
|
2189
|
-
/**
|
|
2190
|
-
* @deprecated Use DbxScheduleSelectionCalendarDateDaysForgeFormComponent instead.
|
|
2191
|
-
*/
|
|
2192
|
-
class DbxScheduleSelectionCalendarDateDaysFormComponent extends AbstractSyncFormlyFormDirective {
|
|
2193
|
-
fields = dbxScheduleSelectionCalendarDateDaysFormFields();
|
|
2194
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
2195
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.11", type: DbxScheduleSelectionCalendarDateDaysFormComponent, isStandalone: true, selector: "dbx-schedule-selection-calendar-date-days-form", providers: dbxFormlyFormComponentProviders(), usesInheritance: true, ngImport: i0, template: "<dbx-formly></dbx-formly>", isInline: true, dependencies: [{ kind: "ngmodule", type: DbxFormlyFormComponentImportsModule }, { kind: "component", type: i1.DbxFormlyComponent, selector: "dbx-formly", exportAs: ["formly"] }, { kind: "ngmodule", type: DbxFormFormlyWrapperModule }, { kind: "ngmodule", type: DbxFormFormlyBooleanFieldModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2196
|
-
}
|
|
2197
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxScheduleSelectionCalendarDateDaysFormComponent, decorators: [{
|
|
2198
|
-
type: Component,
|
|
2199
|
-
args: [{
|
|
2200
|
-
selector: 'dbx-schedule-selection-calendar-date-days-form',
|
|
2201
|
-
template: DBX_FORMLY_FORM_COMPONENT_TEMPLATE,
|
|
2202
|
-
providers: dbxFormlyFormComponentProviders(),
|
|
2203
|
-
imports: [DbxFormlyFormComponentImportsModule, DbxFormFormlyWrapperModule, DbxFormFormlyBooleanFieldModule],
|
|
2204
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
2205
|
-
standalone: true
|
|
2206
|
-
}]
|
|
2207
|
-
}] });
|
|
2208
|
-
|
|
2209
|
-
/* eslint-disable @typescript-eslint/no-deprecated -- aggregator NgModule for the deprecated DbxFormCalendarModule; replacement is provideDbxForgeCalendarFieldDeclarations() */
|
|
2210
1957
|
const importsAndExports = [
|
|
2211
1958
|
DbxScheduleSelectionCalendarComponent,
|
|
2212
1959
|
DbxScheduleSelectionCalendarDateDaysComponent,
|
|
2213
|
-
|
|
1960
|
+
DbxScheduleSelectionCalendarDateDaysForgeFormComponent,
|
|
2214
1961
|
DbxScheduleSelectionCalendarDateRangeComponent,
|
|
2215
1962
|
DbxScheduleSelectionCalendarDatePopoverButtonComponent,
|
|
2216
1963
|
DbxScheduleSelectionCalendarCellComponent,
|
|
@@ -2219,9 +1966,7 @@ const importsAndExports = [
|
|
|
2219
1966
|
DbxCalendarScheduleSelectionStoreInjectionBlockDirective,
|
|
2220
1967
|
DbxScheduleSelectionCalendarDateDialogComponent,
|
|
2221
1968
|
DbxScheduleSelectionCalendarDateDialogButtonComponent,
|
|
2222
|
-
DbxScheduleSelectionCalendarSelectionToggleButtonComponent
|
|
2223
|
-
//
|
|
2224
|
-
DbxFormFormlyWrapperModule
|
|
1969
|
+
DbxScheduleSelectionCalendarSelectionToggleButtonComponent
|
|
2225
1970
|
];
|
|
2226
1971
|
/**
|
|
2227
1972
|
* @deprecated Import components directly and use provideDbxForgeCalendarFieldDeclarations().
|
|
@@ -2230,7 +1975,7 @@ class DbxFormCalendarModule {
|
|
|
2230
1975
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
2231
1976
|
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
|
|
2232
1977
|
DbxScheduleSelectionCalendarDateDaysComponent,
|
|
2233
|
-
|
|
1978
|
+
DbxScheduleSelectionCalendarDateDaysForgeFormComponent,
|
|
2234
1979
|
DbxScheduleSelectionCalendarDateRangeComponent,
|
|
2235
1980
|
DbxScheduleSelectionCalendarDatePopoverButtonComponent,
|
|
2236
1981
|
DbxScheduleSelectionCalendarCellComponent,
|
|
@@ -2239,11 +1984,9 @@ class DbxFormCalendarModule {
|
|
|
2239
1984
|
DbxCalendarScheduleSelectionStoreInjectionBlockDirective,
|
|
2240
1985
|
DbxScheduleSelectionCalendarDateDialogComponent,
|
|
2241
1986
|
DbxScheduleSelectionCalendarDateDialogButtonComponent,
|
|
2242
|
-
DbxScheduleSelectionCalendarSelectionToggleButtonComponent,
|
|
2243
|
-
//
|
|
2244
|
-
DbxFormFormlyWrapperModule], exports: [DbxScheduleSelectionCalendarComponent,
|
|
1987
|
+
DbxScheduleSelectionCalendarSelectionToggleButtonComponent], exports: [DbxScheduleSelectionCalendarComponent,
|
|
2245
1988
|
DbxScheduleSelectionCalendarDateDaysComponent,
|
|
2246
|
-
|
|
1989
|
+
DbxScheduleSelectionCalendarDateDaysForgeFormComponent,
|
|
2247
1990
|
DbxScheduleSelectionCalendarDateRangeComponent,
|
|
2248
1991
|
DbxScheduleSelectionCalendarDatePopoverButtonComponent,
|
|
2249
1992
|
DbxScheduleSelectionCalendarCellComponent,
|
|
@@ -2252,12 +1995,10 @@ class DbxFormCalendarModule {
|
|
|
2252
1995
|
DbxCalendarScheduleSelectionStoreInjectionBlockDirective,
|
|
2253
1996
|
DbxScheduleSelectionCalendarDateDialogComponent,
|
|
2254
1997
|
DbxScheduleSelectionCalendarDateDialogButtonComponent,
|
|
2255
|
-
DbxScheduleSelectionCalendarSelectionToggleButtonComponent
|
|
2256
|
-
//
|
|
2257
|
-
DbxFormFormlyWrapperModule] });
|
|
1998
|
+
DbxScheduleSelectionCalendarSelectionToggleButtonComponent] });
|
|
2258
1999
|
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarModule, imports: [DbxScheduleSelectionCalendarComponent,
|
|
2259
2000
|
DbxScheduleSelectionCalendarDateDaysComponent,
|
|
2260
|
-
|
|
2001
|
+
DbxScheduleSelectionCalendarDateDaysForgeFormComponent,
|
|
2261
2002
|
DbxScheduleSelectionCalendarDateRangeComponent,
|
|
2262
2003
|
DbxScheduleSelectionCalendarDatePopoverButtonComponent,
|
|
2263
2004
|
DbxScheduleSelectionCalendarCellComponent,
|
|
@@ -2265,11 +2006,7 @@ class DbxFormCalendarModule {
|
|
|
2265
2006
|
DbxScheduleSelectionCalendarDatePopoverContentComponent,
|
|
2266
2007
|
DbxScheduleSelectionCalendarDateDialogComponent,
|
|
2267
2008
|
DbxScheduleSelectionCalendarDateDialogButtonComponent,
|
|
2268
|
-
DbxScheduleSelectionCalendarSelectionToggleButtonComponent
|
|
2269
|
-
//
|
|
2270
|
-
DbxFormFormlyWrapperModule,
|
|
2271
|
-
//
|
|
2272
|
-
DbxFormFormlyWrapperModule] });
|
|
2009
|
+
DbxScheduleSelectionCalendarSelectionToggleButtonComponent] });
|
|
2273
2010
|
}
|
|
2274
2011
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.11", ngImport: i0, type: DbxFormCalendarModule, decorators: [{
|
|
2275
2012
|
type: NgModule,
|
|
@@ -2299,5 +2036,5 @@ const DBX_FORGE_CALENDAR_FIELD_TYPES = [DbxForgeCalendarDateScheduleRangeFieldTy
|
|
|
2299
2036
|
* Generated bundle index. Do not edit.
|
|
2300
2037
|
*/
|
|
2301
2038
|
|
|
2302
|
-
export { CalendarScheduleSelectionDayState, DBX_FORGE_CALENDAR_FIELD_TYPES, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxForgeCalendarDateScheduleRangeFieldComponent,
|
|
2039
|
+
export { CalendarScheduleSelectionDayState, DBX_FORGE_CALENDAR_FIELD_TYPES, DEFAULT_DBX_SCHEDULE_SELECTION_CALENDAR_DATE_POPUP_CONTENT_CONFIG_TOKEN, DEFAULT_SCHEDULE_SELECTION_CALENDAR_DATE_POPOVER_KEY, DbxCalendarScheduleSelectionStore, DbxCalendarScheduleSelectionStoreInjectionBlockDirective, DbxCalendarScheduleSelectionStoreProviderBlock, DbxForgeCalendarDateScheduleRangeFieldComponent, DbxFormCalendarModule, DbxScheduleSelectionCalendarCellComponent, DbxScheduleSelectionCalendarComponent, DbxScheduleSelectionCalendarDateDaysComponent, DbxScheduleSelectionCalendarDateDaysForgeFormComponent, DbxScheduleSelectionCalendarDateDialogButtonComponent, DbxScheduleSelectionCalendarDateDialogComponent, DbxScheduleSelectionCalendarDatePopoverButtonComponent, DbxScheduleSelectionCalendarDatePopoverComponent, DbxScheduleSelectionCalendarDatePopoverContentComponent, DbxScheduleSelectionCalendarDateRangeComponent, DbxScheduleSelectionCalendarSelectionToggleButtonComponent, FORGE_CALENDAR_DATE_SCHEDULE_RANGE_FIELD_TYPE, calendarDateScheduleRangeFieldMapper, calendarScheduleMaxDate, calendarScheduleMinAndMaxDateRange, calendarScheduleMinDate, calendarScheduleStartBeingUsedFromFilter, computeCalendarScheduleSelectionDateCellRange, computeCalendarScheduleSelectionRange, computeScheduleSelectionRangeAndExclusion, computeScheduleSelectionValue, dbxForgeDateScheduleRangeField, dbxScheduleSelectionCalendarBeforeMonthViewRenderFactory, dbxScheduleSelectionCalendarDateDaysForgeFormDayFields, dbxScheduleSelectionCalendarDateDaysForgeFormFields, defaultCalendarScheduleSelectionCellContentFactory, finalizeNewCalendarScheduleSelectionState, finalizeUpdateStateWithChangedScheduleDays, initialCalendarScheduleSelectionState, isEnabledDayInCalendarScheduleSelectionState, noSelectionCalendarScheduleSelectionState, provideCalendarScheduleSelectionStoreIfParentIsUnavailable, updateStateWithChangedDates, updateStateWithChangedDefaultScheduleDays, updateStateWithChangedRange, updateStateWithChangedScheduleDays, updateStateWithComputeSelectionResultRelativeToFilter, updateStateWithDateCellScheduleRangeValue, updateStateWithExclusions, updateStateWithFilter, updateStateWithInitialSelectionState, updateStateWithMinMaxDateRange, updateStateWithSelectionMode, updateStateWithTimezoneValue };
|
|
2303
2040
|
//# sourceMappingURL=dereekb-dbx-form-calendar.mjs.map
|