@enigmatry/entry-components 20.3.1-preview.1 → 21.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -0
- package/fesm2022/enigmatry-entry-components-button.mjs +14 -11
- package/fesm2022/enigmatry-entry-components-button.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-common.mjs +31 -31
- package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +20 -20
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-dialog.mjs +21 -21
- package/fesm2022/enigmatry-entry-components-dialog.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-file-input.mjs +11 -12
- package/fesm2022/enigmatry-entry-components-file-input.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-permissions.mjs +10 -10
- package/fesm2022/enigmatry-entry-components-permissions.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +33 -33
- package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-spinner.mjs +22 -13
- package/fesm2022/enigmatry-entry-components-spinner.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-table.mjs +224 -322
- package/fesm2022/enigmatry-entry-components-table.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-validation.mjs +31 -24
- package/fesm2022/enigmatry-entry-components-validation.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components.mjs +4 -4
- package/fesm2022/enigmatry-entry-components.mjs.map +1 -1
- package/package.json +25 -24
- package/styles/modules/components/toggle/_generator.scss +1 -1
- package/styles/partials/core/components/forms/_general.scss +1 -0
- package/table/README.md +57 -44
- package/{button/index.d.ts → types/enigmatry-entry-components-button.d.ts} +1 -1
- package/types/enigmatry-entry-components-table.d.ts +256 -0
- package/table/index.d.ts +0 -260
- /package/{common/index.d.ts → types/enigmatry-entry-components-common.d.ts} +0 -0
- /package/{date-time-picker/index.d.ts → types/enigmatry-entry-components-date-time-picker.d.ts} +0 -0
- /package/{dialog/index.d.ts → types/enigmatry-entry-components-dialog.d.ts} +0 -0
- /package/{file-input/index.d.ts → types/enigmatry-entry-components-file-input.d.ts} +0 -0
- /package/{permissions/index.d.ts → types/enigmatry-entry-components-permissions.d.ts} +0 -0
- /package/{search-filter/index.d.ts → types/enigmatry-entry-components-search-filter.d.ts} +0 -0
- /package/{spinner/index.d.ts → types/enigmatry-entry-components-spinner.d.ts} +0 -0
- /package/{validation/index.d.ts → types/enigmatry-entry-components-validation.d.ts} +0 -0
- /package/{index.d.ts → types/enigmatry-entry-components.d.ts} +0 -0
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { inject, Input, HostBinding, Component, ChangeDetectorRef, ViewChild, Output, ChangeDetectionStrategy, NgModule } from '@angular/core';
|
|
3
|
-
import * as
|
|
3
|
+
import * as i2$1 from '@angular/forms';
|
|
4
4
|
import { FormControl, FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
5
5
|
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
6
6
|
import * as i1 from '@enigmatry/entry-components/common';
|
|
7
7
|
import { NgControlAccessorDirective, ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';
|
|
8
8
|
import { Subject, takeUntil } from 'rxjs';
|
|
9
9
|
import { createInjectionToken, provideConfig } from '@enigmatry/entry-components';
|
|
10
|
-
import * as
|
|
10
|
+
import * as i3 from '@angular/material/form-field';
|
|
11
11
|
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
12
12
|
import * as i2 from '@angular/material/select';
|
|
13
13
|
import { MatSelectModule } from '@angular/material/select';
|
|
14
|
-
import * as i3 from '@angular/common';
|
|
14
|
+
import * as i3$1 from '@angular/common';
|
|
15
15
|
import { CommonModule } from '@angular/common';
|
|
16
|
-
import * as
|
|
16
|
+
import * as i4 from '@angular/material/datepicker';
|
|
17
17
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
|
18
|
-
import * as
|
|
18
|
+
import * as i5 from '@angular/material/input';
|
|
19
19
|
import { MatInputModule } from '@angular/material/input';
|
|
20
|
-
import * as
|
|
20
|
+
import * as i6 from '@angular/material/button';
|
|
21
21
|
import { MatButtonModule } from '@angular/material/button';
|
|
22
|
-
import * as
|
|
22
|
+
import * as i7 from '@angular/material/icon';
|
|
23
23
|
import { MatIconModule } from '@angular/material/icon';
|
|
24
|
-
import * as
|
|
24
|
+
import * as i8 from '@enigmatry/entry-components/validation';
|
|
25
25
|
import { EntryValidationModule } from '@enigmatry/entry-components/validation';
|
|
26
26
|
|
|
27
27
|
/**
|
|
@@ -101,10 +101,10 @@ class EntryTimePickerComponent {
|
|
|
101
101
|
this.hours += this.halfADay;
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
104
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
105
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryTimePickerComponent, isStandalone: false, selector: "entry-time-picker", inputs: { date: "date", showSeconds: "showSeconds", is12HourClock: "is12HourClock", defaultTime: "defaultTime" }, host: { properties: { "class": "this.class" } }, usesOnChanges: true, ngImport: i0, template: "<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (hour of possibleHours; track hour) {\n <mat-option [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (minute of sixty; track minute) {\n <mat-option [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (showSeconds) {\n <span class=\"time-separator\">:</span>\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (second of sixty; track second) {\n <mat-option [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n@if (is12HourClock) {\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n </mat-form-field>\n}", dependencies: [{ kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i2.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", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "pipe", type: i3$1.DecimalPipe, name: "number" }] }); }
|
|
106
106
|
}
|
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
107
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryTimePickerComponent, decorators: [{
|
|
108
108
|
type: Component,
|
|
109
109
|
args: [{ selector: 'entry-time-picker', standalone: false, template: "<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (hour of possibleHours; track hour) {\n <mat-option [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (minute of sixty; track minute) {\n <mat-option [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (showSeconds) {\n <span class=\"time-separator\">:</span>\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (second of sixty; track second) {\n <mat-option [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n@if (is12HourClock) {\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n </mat-form-field>\n}" }]
|
|
110
110
|
}], propDecorators: { class: [{
|
|
@@ -207,18 +207,18 @@ class EntryDateTimePickerComponent {
|
|
|
207
207
|
this.calendarControl?.enable({ emitEvent: false });
|
|
208
208
|
}
|
|
209
209
|
}
|
|
210
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
211
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
210
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
211
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryDateTimePickerComponent, isStandalone: false, selector: "entry-date-time-picker", inputs: { label: "label", showSeconds: "showSeconds", min: "min", max: "max", placeholder: "placeholder", hint: "hint", defaultTime: "defaultTime", disabled: "disabled" }, outputs: { dateTimeChanged: "dateTimeChanged" }, host: { properties: { "class": "this.class" } }, providers: [
|
|
212
212
|
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
213
213
|
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
214
|
-
], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], hostDirectives: [{ directive: i1.NoopControlValueAccessorDirective }, { directive: i1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n <mat-hint
|
|
214
|
+
], viewQueries: [{ propertyName: "timePicker", first: true, predicate: EntryTimePickerComponent, descendants: true, static: true }], hostDirectives: [{ directive: i1.NoopControlValueAccessorDirective }, { directive: i1.NgControlAccessorDirective }], ngImport: i0, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n @if (hint) {\n <mat-hint>{{hint}}</mat-hint>\n }\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds ?? config.showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>", dependencies: [{ kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: i3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: i4.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i4.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i4.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i4.MatDatepickerActions, selector: "mat-datepicker-actions, mat-date-range-picker-actions" }, { kind: "directive", type: i4.MatDatepickerApply, selector: "[matDatepickerApply], [matDateRangePickerApply]" }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i6.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i7.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i8.EntryDisplayControlValidationDirective, selector: "[entryDisplayControlValidation]", inputs: ["control"] }, { kind: "component", type: EntryTimePickerComponent, selector: "entry-time-picker", inputs: ["date", "showSeconds", "is12HourClock", "defaultTime"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
215
215
|
}
|
|
216
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
216
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerComponent, decorators: [{
|
|
217
217
|
type: Component,
|
|
218
218
|
args: [{ selector: 'entry-date-time-picker', providers: [
|
|
219
219
|
{ provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },
|
|
220
220
|
{ provide: DateAdapter, useClass: EntryDateTimeAdapter }
|
|
221
|
-
], hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n <mat-hint
|
|
221
|
+
], hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective], changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n @if (hint) {\n <mat-hint>{{hint}}</mat-hint>\n }\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds ?? config.showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>" }]
|
|
222
222
|
}], propDecorators: { class: [{
|
|
223
223
|
type: HostBinding,
|
|
224
224
|
args: ['class']
|
|
@@ -246,8 +246,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.10", ngImpo
|
|
|
246
246
|
}] } });
|
|
247
247
|
|
|
248
248
|
class EntryDateTimePickerModule {
|
|
249
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
250
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
250
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerModule, declarations: [EntryDateTimePickerComponent,
|
|
251
251
|
EntryTimePickerComponent], imports: [CommonModule,
|
|
252
252
|
FormsModule,
|
|
253
253
|
ReactiveFormsModule,
|
|
@@ -258,7 +258,7 @@ class EntryDateTimePickerModule {
|
|
|
258
258
|
MatButtonModule,
|
|
259
259
|
MatIconModule,
|
|
260
260
|
EntryValidationModule], exports: [EntryDateTimePickerComponent] }); }
|
|
261
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
261
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerModule, imports: [CommonModule,
|
|
262
262
|
FormsModule,
|
|
263
263
|
ReactiveFormsModule,
|
|
264
264
|
MatFormFieldModule,
|
|
@@ -269,7 +269,7 @@ class EntryDateTimePickerModule {
|
|
|
269
269
|
MatIconModule,
|
|
270
270
|
EntryValidationModule] }); }
|
|
271
271
|
}
|
|
272
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
272
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDateTimePickerModule, decorators: [{
|
|
273
273
|
type: NgModule,
|
|
274
274
|
args: [{
|
|
275
275
|
imports: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigmatry-entry-components-date-time-picker.mjs","sources":["../../../../libs/entry-components/date-time-picker/date-time-picker-config.model.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.component.ts","../../../../libs/entry-components/date-time-picker/date-time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.module.ts","../../../../libs/entry-components/date-time-picker/enigmatry-entry-components-date-time-picker.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { createInjectionToken, provideConfig } from '@enigmatry/entry-components';\n/**\n * Used to provide default configurations on module level.\n */\nexport class EntryDateTimePickerConfig {\n /** Shows seconds selector in date-time-picker pop-up (default false) */\n showSeconds: boolean;\n\n constructor(config: Partial<EntryDateTimePickerConfig> = {}) {\n this.showSeconds = config.showSeconds ?? false;\n }\n}\n\n// eslint-disable-next-line no-secrets/no-secrets\n/**\n * Entry date-time-picker injection token of EntryDateTimePickerConfig type containing dialog default configurations.\n *\n * Defaults:\n * - showSeconds: false\n */\nexport const ENTRY_DATE_TIME_PICKER_CONFIG = createInjectionToken(new EntryDateTimePickerConfig());\n\n/**\n * Can be used to provide entry date-time-picker configuration.\n */\nexport const provideEntryDateTimePickerConfig = (config: Partial<EntryDateTimePickerConfig>): Provider =>\n provideConfig(ENTRY_DATE_TIME_PICKER_CONFIG, () => new EntryDateTimePickerConfig(config));","import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { EntryDateTimeAdapter } from '@enigmatry/entry-components/common';\n\nexport type meridiem = 'am' | 'pm';\n\n@Component({\n selector: 'entry-time-picker',\n templateUrl: './time-picker.component.html',\n standalone: false\n})\nexport class EntryTimePickerComponent<D> implements OnChanges {\n @HostBinding('class') class = 'entry-time-picker';\n readonly timeAdapter = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n private readonly hoursInDay = 24;\n private readonly halfADay = 12;\n private readonly minutesInHour = 60;\n\n @Input() date: D | undefined;\n @Input() showSeconds: boolean;\n @Input() is12HourClock: boolean;\n @Input() defaultTime: D | undefined;\n\n hours = 0;\n minutes = 0;\n seconds = 0;\n meridiem: meridiem = 'am';\n\n readonly hours12 = Array.from(Array(this.halfADay), (_, i) => i + 1);\n readonly hours24 = Array.from(Array(this.hoursInDay), (_, i) => i);\n readonly sixty = Array.from(Array(this.minutesInHour), (_, i) => i);\n\n get possibleHours() {\n return this.is12HourClock ? this.hours12 : this.hours24;\n }\n\n ngOnChanges(_changes: SimpleChanges): void {\n this.update();\n }\n\n update() {\n const now = this.timeAdapter.today();\n\n this.hours = this.date\n ? this.timeAdapter.getHours(this.date)\n : this.timeAdapter.getHours(this.defaultTime ?? now);\n\n this.minutes = this.date\n ? this.timeAdapter.getMinutes(this.date)\n : this.timeAdapter.getMinutes(this.defaultTime ?? now);\n\n this.seconds = this.showSeconds && this.date\n ? this.timeAdapter.getSeconds(this.date)\n : this.timeAdapter.getSeconds(this.defaultTime ?? now);\n\n this.meridiem = this.hours >= this.halfADay ? 'pm' : 'am';\n\n if (this.is12HourClock) {\n this.to12HourClock();\n }\n }\n\n to12HourClock() {\n if (this.hours > this.halfADay) {\n this.hours -= this.halfADay;\n }\n if (this.hours === 0) {\n this.hours = this.halfADay;\n }\n }\n\n to24HourClock() {\n if (!this.is12HourClock) {\n return;\n }\n if (this.meridiem === 'am' && this.hours === this.halfADay) {\n this.hours = 0;\n }\n if (this.meridiem === 'pm' && this.hours !== this.halfADay) {\n this.hours += this.halfADay;\n }\n }\n}\n","<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (hour of possibleHours; track hour) {\n <mat-option [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (minute of sixty; track minute) {\n <mat-option [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (showSeconds) {\n <span class=\"time-separator\">:</span>\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (second of sixty; track second) {\n <mat-option [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n@if (is12HourClock) {\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n </mat-form-field>\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit,\n Output, ViewChild, inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MAT_DATE_FORMATS, DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective,\n NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ENTRY_DATE_TIME_PICKER_CONFIG, EntryDateTimePickerConfig } from './date-time-picker-config.model';\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@Component({\n selector: 'entry-date-time-picker',\n templateUrl: './date-time-picker.component.html',\n providers: [\n { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },\n { provide: DateAdapter, useClass: EntryDateTimeAdapter }\n ],\n hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy {\n @HostBinding('class') class = 'entry-date-time-picker';\n\n @Input() label: string;\n @Input() showSeconds: boolean | undefined;\n @Input() min: D;\n @Input() max: D;\n @Input() placeholder: string | undefined;\n @Input() hint: string | undefined;\n @Input() defaultTime: D | undefined;\n @Output() dateTimeChanged = new Subject<D>();\n\n _disabled: boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.setDisabled();\n }\n\n private ngControlAccessor = inject(NgControlAccessorDirective);\n private dateTimeAdapter: EntryDateTimeAdapter<D, unknown> = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n private format: MatDateFormats = inject(ENTRY_MAT_DATE_TIME_FORMATS);\n private changeDetectorRef = inject(ChangeDetectorRef);\n public config: EntryDateTimePickerConfig = inject(ENTRY_DATE_TIME_PICKER_CONFIG);\n\n // Control bound to component using FormsApi (ngModel, formControl, formControlName)\n get formControl(): FormControl<D> {\n return this.ngControlAccessor.control;\n }\n\n // Control that is connected to calendar\n calendarControl: FormControl<D | null | undefined> = new FormControl<D | undefined>(undefined);\n\n is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);\n\n @ViewChild(EntryTimePickerComponent, { static: true }) timePicker: EntryTimePickerComponent<D>;\n\n private $destroy = new Subject<void>();\n\n get minDate() {\n if (!this.min) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.min);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n get maxDate() {\n if (!this.max) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.max);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n ngOnInit(): void {\n this.calendarControl.setValue(this.formControl.value, { emitEvent: false });\n this.setDisabled();\n this.formControl.statusChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(status => {\n if (status === 'DISABLED') {\n this.calendarControl.disable({ emitEvent: false });\n } else {\n this.calendarControl.enable({ emitEvent: false });\n }\n this.changeDetectorRef.markForCheck();\n });\n\n this.formControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.calendarControl.setValue(value, { emitEvent: false });\n this.dateTimeChanged.next(value);\n }\n );\n\n this.calendarControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.timePicker.to24HourClock();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.dateTimeAdapter.setTime(value!, this.timePicker.hours, this.timePicker.minutes, this.timePicker.seconds);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.formControl.setValue(value!);\n this.formControl.markAsDirty();\n this.formControl.markAsTouched();\n });\n }\n\n ngOnDestroy(): void {\n this.$destroy.next();\n this.$destroy.complete();\n }\n\n private setDisabled() {\n if (this._disabled && this.formControl?.enabled) {\n this.formControl?.disable();\n this.calendarControl?.disable({ emitEvent: false });\n } else if (this.formControl?.disabled) {\n this.formControl?.enable();\n this.calendarControl?.enable({ emitEvent: false });\n }\n }\n}\n","<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n <mat-hint *ngIf=\"hint\">{{hint}}</mat-hint>\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds ?? config.showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { EntryValidationModule } from '@enigmatry/entry-components/validation';\nimport { EntryDateTimePickerComponent } from './date-time-picker.component';\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n MatIconModule,\n EntryValidationModule\n ],\n declarations: [\n EntryDateTimePickerComponent,\n EntryTimePickerComponent\n ],\n exports: [\n EntryDateTimePickerComponent\n ]\n})\nexport class EntryDateTimePickerModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i10.EntryTimePickerComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enigmatry-entry-components-date-time-picker.mjs","sources":["../../../../libs/entry-components/date-time-picker/date-time-picker-config.model.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.ts","../../../../libs/entry-components/date-time-picker/time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.component.ts","../../../../libs/entry-components/date-time-picker/date-time-picker.component.html","../../../../libs/entry-components/date-time-picker/date-time-picker.module.ts","../../../../libs/entry-components/date-time-picker/enigmatry-entry-components-date-time-picker.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { createInjectionToken, provideConfig } from '@enigmatry/entry-components';\n/**\n * Used to provide default configurations on module level.\n */\nexport class EntryDateTimePickerConfig {\n /** Shows seconds selector in date-time-picker pop-up (default false) */\n showSeconds: boolean;\n\n constructor(config: Partial<EntryDateTimePickerConfig> = {}) {\n this.showSeconds = config.showSeconds ?? false;\n }\n}\n\n// eslint-disable-next-line no-secrets/no-secrets\n/**\n * Entry date-time-picker injection token of EntryDateTimePickerConfig type containing dialog default configurations.\n *\n * Defaults:\n * - showSeconds: false\n */\nexport const ENTRY_DATE_TIME_PICKER_CONFIG = createInjectionToken(new EntryDateTimePickerConfig());\n\n/**\n * Can be used to provide entry date-time-picker configuration.\n */\nexport const provideEntryDateTimePickerConfig = (config: Partial<EntryDateTimePickerConfig>): Provider =>\n provideConfig(ENTRY_DATE_TIME_PICKER_CONFIG, () => new EntryDateTimePickerConfig(config));","import { Component, HostBinding, Input, OnChanges, SimpleChanges, inject } from '@angular/core';\nimport { DateAdapter } from '@angular/material/core';\nimport { EntryDateTimeAdapter } from '@enigmatry/entry-components/common';\n\nexport type meridiem = 'am' | 'pm';\n\n@Component({\n selector: 'entry-time-picker',\n templateUrl: './time-picker.component.html',\n standalone: false\n})\nexport class EntryTimePickerComponent<D> implements OnChanges {\n @HostBinding('class') class = 'entry-time-picker';\n readonly timeAdapter = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n private readonly hoursInDay = 24;\n private readonly halfADay = 12;\n private readonly minutesInHour = 60;\n\n @Input() date: D | undefined;\n @Input() showSeconds: boolean;\n @Input() is12HourClock: boolean;\n @Input() defaultTime: D | undefined;\n\n hours = 0;\n minutes = 0;\n seconds = 0;\n meridiem: meridiem = 'am';\n\n readonly hours12 = Array.from(Array(this.halfADay), (_, i) => i + 1);\n readonly hours24 = Array.from(Array(this.hoursInDay), (_, i) => i);\n readonly sixty = Array.from(Array(this.minutesInHour), (_, i) => i);\n\n get possibleHours() {\n return this.is12HourClock ? this.hours12 : this.hours24;\n }\n\n ngOnChanges(_changes: SimpleChanges): void {\n this.update();\n }\n\n update() {\n const now = this.timeAdapter.today();\n\n this.hours = this.date\n ? this.timeAdapter.getHours(this.date)\n : this.timeAdapter.getHours(this.defaultTime ?? now);\n\n this.minutes = this.date\n ? this.timeAdapter.getMinutes(this.date)\n : this.timeAdapter.getMinutes(this.defaultTime ?? now);\n\n this.seconds = this.showSeconds && this.date\n ? this.timeAdapter.getSeconds(this.date)\n : this.timeAdapter.getSeconds(this.defaultTime ?? now);\n\n this.meridiem = this.hours >= this.halfADay ? 'pm' : 'am';\n\n if (this.is12HourClock) {\n this.to12HourClock();\n }\n }\n\n to12HourClock() {\n if (this.hours > this.halfADay) {\n this.hours -= this.halfADay;\n }\n if (this.hours === 0) {\n this.hours = this.halfADay;\n }\n }\n\n to24HourClock() {\n if (!this.is12HourClock) {\n return;\n }\n if (this.meridiem === 'am' && this.hours === this.halfADay) {\n this.hours = 0;\n }\n if (this.meridiem === 'pm' && this.hours !== this.halfADay) {\n this.hours += this.halfADay;\n }\n }\n}\n","<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"hours\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (hour of possibleHours; track hour) {\n <mat-option [value]=\"hour\">{{hour | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n<span class=\"time-separator\">:</span>\n<mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"minutes\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (minute of sixty; track minute) {\n <mat-option [value]=\"minute\">{{minute | number:'2.0'}}</mat-option>\n }\n </mat-select>\n</mat-form-field>\n@if (showSeconds) {\n <span class=\"time-separator\">:</span>\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"seconds\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n @for (second of sixty; track second) {\n <mat-option [value]=\"second\">{{second | number:'2.0'}}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n}\n@if (is12HourClock) {\n <mat-form-field appearance=\"fill\">\n <mat-select [(value)]=\"meridiem\" [hideSingleSelectionIndicator]=\"true\" [panelWidth]=\"null\">\n <mat-option value=\"am\">AM</mat-option>\n <mat-option value=\"pm\">PM</mat-option>\n </mat-select>\n </mat-form-field>\n}","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, HostBinding, Input, OnDestroy, OnInit,\n Output, ViewChild, inject } from '@angular/core';\nimport { FormControl } from '@angular/forms';\nimport { MAT_DATE_FORMATS, DateAdapter, MatDateFormats } from '@angular/material/core';\nimport { ENTRY_MAT_DATE_TIME_FORMATS, EntryDateTimeAdapter, NgControlAccessorDirective,\n NoopControlValueAccessorDirective } from '@enigmatry/entry-components/common';\nimport { Subject, takeUntil } from 'rxjs';\nimport { ENTRY_DATE_TIME_PICKER_CONFIG, EntryDateTimePickerConfig } from './date-time-picker-config.model';\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@Component({\n selector: 'entry-date-time-picker',\n templateUrl: './date-time-picker.component.html',\n providers: [\n { provide: MAT_DATE_FORMATS, useFactory: () => inject(ENTRY_MAT_DATE_TIME_FORMATS) },\n { provide: DateAdapter, useClass: EntryDateTimeAdapter }\n ],\n hostDirectives: [NoopControlValueAccessorDirective, NgControlAccessorDirective],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryDateTimePickerComponent<D> implements OnInit, OnDestroy {\n @HostBinding('class') class = 'entry-date-time-picker';\n\n @Input() label: string;\n @Input() showSeconds: boolean | undefined;\n @Input() min: D;\n @Input() max: D;\n @Input() placeholder: string | undefined;\n @Input() hint: string | undefined;\n @Input() defaultTime: D | undefined;\n @Output() dateTimeChanged = new Subject<D>();\n\n _disabled: boolean;\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = value;\n this.setDisabled();\n }\n\n private ngControlAccessor = inject(NgControlAccessorDirective);\n private dateTimeAdapter: EntryDateTimeAdapter<D, unknown> = inject(DateAdapter) as EntryDateTimeAdapter<D, unknown>;\n private format: MatDateFormats = inject(ENTRY_MAT_DATE_TIME_FORMATS);\n private changeDetectorRef = inject(ChangeDetectorRef);\n public config: EntryDateTimePickerConfig = inject(ENTRY_DATE_TIME_PICKER_CONFIG);\n\n // Control bound to component using FormsApi (ngModel, formControl, formControlName)\n get formControl(): FormControl<D> {\n return this.ngControlAccessor.control;\n }\n\n // Control that is connected to calendar\n calendarControl: FormControl<D | null | undefined> = new FormControl<D | undefined>(undefined);\n\n is12HourClock = this.dateTimeAdapter.is12HoursClock(this.format.display.dateInput);\n\n @ViewChild(EntryTimePickerComponent, { static: true }) timePicker: EntryTimePickerComponent<D>;\n\n private $destroy = new Subject<void>();\n\n get minDate() {\n if (!this.min) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.min);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n get maxDate() {\n if (!this.max) {\n return undefined;\n }\n const result = this.dateTimeAdapter.clone(this.max);\n this.dateTimeAdapter.setTime(result, 0, 0, 0);\n return result;\n }\n\n ngOnInit(): void {\n this.calendarControl.setValue(this.formControl.value, { emitEvent: false });\n this.setDisabled();\n this.formControl.statusChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(status => {\n if (status === 'DISABLED') {\n this.calendarControl.disable({ emitEvent: false });\n } else {\n this.calendarControl.enable({ emitEvent: false });\n }\n this.changeDetectorRef.markForCheck();\n });\n\n this.formControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.calendarControl.setValue(value, { emitEvent: false });\n this.dateTimeChanged.next(value);\n }\n );\n\n this.calendarControl.valueChanges\n .pipe(takeUntil(this.$destroy))\n .subscribe(value => {\n this.timePicker.to24HourClock();\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.dateTimeAdapter.setTime(value!, this.timePicker.hours, this.timePicker.minutes, this.timePicker.seconds);\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n this.formControl.setValue(value!);\n this.formControl.markAsDirty();\n this.formControl.markAsTouched();\n });\n }\n\n ngOnDestroy(): void {\n this.$destroy.next();\n this.$destroy.complete();\n }\n\n private setDisabled() {\n if (this._disabled && this.formControl?.enabled) {\n this.formControl?.disable();\n this.calendarControl?.disable({ emitEvent: false });\n } else if (this.formControl?.disabled) {\n this.formControl?.enable();\n this.calendarControl?.enable({ emitEvent: false });\n }\n }\n}\n","<mat-form-field>\n <mat-label>{{ label }}</mat-label>\n <input matInput [matDatepicker]=\"hiddenPicker\" [placeholder]=\"placeholder!\" [formControl]=\"formControl\">\n @if (hint) {\n <mat-hint>{{hint}}</mat-hint>\n }\n <mat-datepicker #hiddenPicker class=\"hidden\"></mat-datepicker>\n <input class=\"hidden\" matInput [min]=\"minDate\" [max]=\"maxDate\" [matDatepicker]=\"picker\"\n [formControl]=\"calendarControl\" aria-label=\"Calendar Control\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker #picker (opened)=\"timePicker.update()\">\n <mat-datepicker-actions>\n <entry-time-picker [date]=\"formControl.value\" [showSeconds]=\"showSeconds ?? config.showSeconds\" [is12HourClock]=\"is12HourClock\"\n [defaultTime]=\"defaultTime\"></entry-time-picker>\n <button mat-raised-button color=\"primary\" matDateRangePickerApply class=\"entry-submit-button\">\n <mat-icon aria-hidden=\"false\" aria-label=\"Apply\" fontIcon=\"done\" class=\"icon\"></mat-icon>\n </button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <mat-error entryDisplayControlValidation [control]=\"formControl\"></mat-error>\n</mat-form-field>","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatInputModule } from '@angular/material/input';\nimport { MatSelectModule } from '@angular/material/select';\nimport { EntryValidationModule } from '@enigmatry/entry-components/validation';\nimport { EntryDateTimePickerComponent } from './date-time-picker.component';\nimport { EntryTimePickerComponent } from './time-picker.component';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatDatepickerModule,\n MatInputModule,\n MatSelectModule,\n MatButtonModule,\n MatIconModule,\n EntryValidationModule\n ],\n declarations: [\n EntryDateTimePickerComponent,\n EntryTimePickerComponent\n ],\n exports: [\n EntryDateTimePickerComponent\n ]\n})\nexport class EntryDateTimePickerModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i3","i2","i9.EntryTimePickerComponent"],"mappings":"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"}
|
|
@@ -74,12 +74,12 @@ class EntryDialogComponent {
|
|
|
74
74
|
});
|
|
75
75
|
this.close = (value = true) => this.mdDialogRef.close(value);
|
|
76
76
|
}
|
|
77
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
78
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
77
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
78
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryDialogComponent, isStandalone: false, selector: "entry-dialog", inputs: { title: "title", buttonsAlignment: "buttonsAlignment", confirmButtonText: "confirmButtonText", cancelButtonText: "cancelButtonText", hideButtons: "hideButtons", hideCancel: "hideCancel", hideClose: "hideClose", disableConfirm: "disableConfirm", buttonsTemplate: "buttonsTemplate", confirm: "confirm", cancel: "cancel" }, ngImport: i0, template: "<div class=\"entry-dialog\" role=\"dialog\">\n <div class=\"dialog-header\">\n <h1 class=\"title\" [class.without-close-icon]=\"hideClose\" mat-dialog-title>{{ title }}</h1>\n @if (!hideClose) {\n <button mat-icon-button type=\"button\" class=\"close-button\" (click)=\"cancel()\"\n aria-label=\"Close dialog\">\n <mat-icon aria-hidden=\"true\">close</mat-icon>\n </button>\n }\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n @if (!hideButtons) {\n <mat-dialog-actions class=\"dialog-actions\" [align]=\"buttonsAlignment\">\n @if(buttonsTemplate) {\n <ng-container [ngTemplateOutlet]=\"buttonsTemplate\"></ng-container>\n }\n\n @else {\n <ng-container [ngTemplateOutlet]=\"defaultButtonsTemplate\"></ng-container>\n }\n </mat-dialog-actions>\n }\n\n <ng-template #defaultButtonsTemplate>\n <button cdkFocusInitial mat-button entry-submit-button (click)=\"onSubmit()\">\n <span>{{confirmButtonText}}</span>\n </button>\n @if (!hideCancel) {\n <button mat-button entry-cancel-button (click)=\"cancel()\">\n <span>{{cancelButtonText}}</span>\n </button>\n }\n </ng-template>\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i5.EntryButtonDirective, selector: "[mat-button][entry-submit-button],[mat-button][entry-cancel-button]" }] }); }
|
|
79
79
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
80
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogComponent, decorators: [{
|
|
81
81
|
type: Component,
|
|
82
|
-
args: [{ selector: 'entry-dialog', standalone: false, template: "<div class=\"entry-dialog\" role=\"dialog\">\n <div class=\"dialog-header\">\n <h1 class=\"title\" [class.without-close-icon]=\"hideClose\" mat-dialog-title>{{ title }}</h1>\n <button mat-icon-button
|
|
82
|
+
args: [{ selector: 'entry-dialog', standalone: false, template: "<div class=\"entry-dialog\" role=\"dialog\">\n <div class=\"dialog-header\">\n <h1 class=\"title\" [class.without-close-icon]=\"hideClose\" mat-dialog-title>{{ title }}</h1>\n @if (!hideClose) {\n <button mat-icon-button type=\"button\" class=\"close-button\" (click)=\"cancel()\"\n aria-label=\"Close dialog\">\n <mat-icon aria-hidden=\"true\">close</mat-icon>\n </button>\n }\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n @if (!hideButtons) {\n <mat-dialog-actions class=\"dialog-actions\" [align]=\"buttonsAlignment\">\n @if(buttonsTemplate) {\n <ng-container [ngTemplateOutlet]=\"buttonsTemplate\"></ng-container>\n }\n\n @else {\n <ng-container [ngTemplateOutlet]=\"defaultButtonsTemplate\"></ng-container>\n }\n </mat-dialog-actions>\n }\n\n <ng-template #defaultButtonsTemplate>\n <button cdkFocusInitial mat-button entry-submit-button (click)=\"onSubmit()\">\n <span>{{confirmButtonText}}</span>\n </button>\n @if (!hideCancel) {\n <button mat-button entry-cancel-button (click)=\"cancel()\">\n <span>{{cancelButtonText}}</span>\n </button>\n }\n </ng-template>\n</div>" }]
|
|
83
83
|
}], propDecorators: { title: [{
|
|
84
84
|
type: Input
|
|
85
85
|
}], buttonsAlignment: [{
|
|
@@ -111,10 +111,10 @@ class EntryAlertDialogComponent extends EntryDialogComponent {
|
|
|
111
111
|
this.config = inject(ENTRY_DIALOG_CONFIG);
|
|
112
112
|
this.data = inject(MAT_DIALOG_DATA);
|
|
113
113
|
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
114
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryAlertDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EntryAlertDialogComponent, isStandalone: false, selector: "entry-alert-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>", dependencies: [{ kind: "component", type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
116
116
|
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryAlertDialogComponent, decorators: [{
|
|
118
118
|
type: Component,
|
|
119
119
|
args: [{ selector: 'entry-alert-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>" }]
|
|
120
120
|
}] });
|
|
@@ -126,10 +126,10 @@ class EntryConfirmDialogComponent extends EntryDialogComponent {
|
|
|
126
126
|
this.config = inject(ENTRY_DIALOG_CONFIG);
|
|
127
127
|
this.data = inject(MAT_DIALOG_DATA);
|
|
128
128
|
}
|
|
129
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
130
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
129
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryConfirmDialogComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
130
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.8", type: EntryConfirmDialogComponent, isStandalone: false, selector: "entry-confirm-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>", dependencies: [{ kind: "component", type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
131
131
|
}
|
|
132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
132
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryConfirmDialogComponent, decorators: [{
|
|
133
133
|
type: Component,
|
|
134
134
|
args: [{ selector: 'entry-confirm-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>" }]
|
|
135
135
|
}] });
|
|
@@ -157,12 +157,12 @@ class EntryErrorDialogComponent extends EntryDialogComponent {
|
|
|
157
157
|
this.errors = [this.data.message];
|
|
158
158
|
}
|
|
159
159
|
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
160
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryErrorDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.8", type: EntryErrorDialogComponent, isStandalone: false, selector: "entry-error-dialog", usesInheritance: true, ngImport: i0, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n @for (error of errors; track error) {\n <p>{{error}}</p>\n }\n</entry-dialog>", dependencies: [{ kind: "component", type: EntryDialogComponent, selector: "entry-dialog", inputs: ["title", "buttonsAlignment", "confirmButtonText", "cancelButtonText", "hideButtons", "hideCancel", "hideClose", "disableConfirm", "buttonsTemplate", "confirm", "cancel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
162
162
|
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
163
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryErrorDialogComponent, decorators: [{
|
|
164
164
|
type: Component,
|
|
165
|
-
args: [{ selector: 'entry-error-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n
|
|
165
|
+
args: [{ selector: 'entry-error-dialog', changeDetection: ChangeDetectionStrategy.OnPush, standalone: false, template: "<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n @for (error of errors; track error) {\n <p>{{error}}</p>\n }\n</entry-dialog>" }]
|
|
166
166
|
}], ctorParameters: () => [] });
|
|
167
167
|
|
|
168
168
|
/**
|
|
@@ -231,16 +231,16 @@ class EntryDialogService {
|
|
|
231
231
|
configuration.panelClass = ['dialog-container', cssClass];
|
|
232
232
|
};
|
|
233
233
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
235
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
235
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogService }); }
|
|
236
236
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogService, decorators: [{
|
|
238
238
|
type: Injectable
|
|
239
239
|
}] });
|
|
240
240
|
|
|
241
241
|
class EntryDialogModule {
|
|
242
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
243
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
243
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogModule, declarations: [EntryDialogComponent,
|
|
244
244
|
EntryAlertDialogComponent,
|
|
245
245
|
EntryConfirmDialogComponent,
|
|
246
246
|
EntryErrorDialogComponent], imports: [CommonModule,
|
|
@@ -251,13 +251,13 @@ class EntryDialogModule {
|
|
|
251
251
|
EntryAlertDialogComponent,
|
|
252
252
|
EntryConfirmDialogComponent,
|
|
253
253
|
EntryErrorDialogComponent] }); }
|
|
254
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
254
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogModule, providers: [EntryDialogService], imports: [CommonModule,
|
|
255
255
|
MatDialogModule,
|
|
256
256
|
MatIconModule,
|
|
257
257
|
MatButtonModule,
|
|
258
258
|
EntryButtonModule] }); }
|
|
259
259
|
}
|
|
260
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
260
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.8", ngImport: i0, type: EntryDialogModule, decorators: [{
|
|
261
261
|
type: NgModule,
|
|
262
262
|
args: [{
|
|
263
263
|
declarations: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigmatry-entry-components-dialog.mjs","sources":["../../../../libs/entry-components/dialog/entry-dialog-config.model.ts","../../../../libs/entry-components/dialog/dialogs/entry-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/entry-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/error/entry-error-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/error/entry-error-dialog.component.html","../../../../libs/entry-components/dialog/entry-dialog.service.ts","../../../../libs/entry-components/dialog/entry-dialog.module.ts","../../../../libs/entry-components/dialog/enigmatry-entry-components-dialog.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { createInjectionToken, provideConfig } from '@enigmatry/entry-components/common';\nimport { EntryDialogButtonsAlignment } from './entry-dialog-buttons-alignment.type';\n\n/**\n * Used to provide default configurations on module level.\n */\nexport class EntryDialogConfig {\n /** Confirm button label (default 'Ok') */\n confirmButtonText: string;\n /** Cancel button label (default 'Cancel') */\n cancelButtonText: string;\n /** Dialog buttons horizontal alignment (default 'align-right') */\n buttonsAlignment: EntryDialogButtonsAlignment;\n /** Determines if close button is visible (default is true) */\n hideClose: boolean;\n /** Disable closing dialog when pressing escape or clicking on backdrop (default false) */\n disableClose: boolean;\n\n constructor(config: Partial<EntryDialogConfig> = {}) {\n this.confirmButtonText = config.confirmButtonText ?? 'Ok';\n this.cancelButtonText = config.cancelButtonText ?? 'Cancel';\n this.buttonsAlignment = config.buttonsAlignment ?? 'end';\n this.hideClose = config.hideClose ?? true;\n this.disableClose = config.disableClose ?? false;\n }\n}\n\n/**\n * Entry dialog injection token of EntryDialogConfig type containing dialog default configurations.\n *\n * Defaults:\n * - confirmButtonText: 'Ok'\n * - cancelButtonText: 'Cancel'\n * - buttonsAlignment: 'end'\n * - hideClose: true\n * - disableClose: false\n */\nexport const ENTRY_DIALOG_CONFIG = createInjectionToken(new EntryDialogConfig());\n\n/**\n * Can be used to provide entry dialog configuration.\n */\nexport const provideEntryDialogConfig = (config: Partial<EntryDialogConfig>): Provider =>\n provideConfig(ENTRY_DIALOG_CONFIG, () => new EntryDialogConfig(config));\n","/* eslint-disable no-secrets/no-secrets */\nimport { Component, inject, Input, TemplateRef } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Observable, of } from 'rxjs';\nimport { EntryDialogButtonsAlignment } from '../entry-dialog-buttons-alignment.type';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../entry-dialog-config.model';\n\n/**\n * Base Entry dialog component. Must be extended when building custom dialogs.\n *\n * @example\n * ```html\n * <entry-dialog title=\"TITLE\"><p>Dialog content</p></entry-dialog>\n * ```\n */\n@Component({\n selector: 'entry-dialog',\n templateUrl: './entry-dialog.component.html',\n styleUrls: ['./entry-dialog.component.scss'],\n standalone: false\n})\nexport class EntryDialogComponent {\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n protected readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n\n /** Dialog header title */\n @Input() title: string;\n /** Dialog buttons horizontal alignment */\n @Input() buttonsAlignment: EntryDialogButtonsAlignment = this.config.buttonsAlignment;\n /** Confirm button label */\n @Input() confirmButtonText = this.config.confirmButtonText;\n /** Cancel button label */\n @Input() cancelButtonText = this.config.cancelButtonText;\n /** Show or hide dialog buttons */\n @Input() hideButtons: boolean;\n /** Show or hide dialog cancel button */\n @Input() hideCancel: boolean;\n /** Show or hide dialog close button */\n @Input() hideClose: boolean = this.config.hideClose;\n /** Enable or disable dialog confirm button */\n @Input() disableConfirm: boolean;\n /** Provide custom buttons template */\n @Input() buttonsTemplate: TemplateRef<any> | null | undefined;\n\n @Input() confirm: () => Observable<unknown> = () => of(true);\n @Input() cancel = () => this.close(false);\n\n onSubmit = () =>\n this.confirm().subscribe({\n next: closeDialog => {\n if (closeDialog) {\n this.close(closeDialog);\n }\n }\n });\n\n close = (value: unknown = true) => this.mdDialogRef.close(value);\n}\n","<div class=\"entry-dialog\" role=\"dialog\">\n <div class=\"dialog-header\">\n <h1 class=\"title\" [class.without-close-icon]=\"hideClose\" mat-dialog-title>{{ title }}</h1>\n <button mat-icon-button *ngIf=\"!hideClose\" type=\"button\" class=\"close-button\" (click)=\"cancel()\"\n aria-label=\"Close dialog\">\n <mat-icon aria-hidden=\"true\">close</mat-icon>\n </button>\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n <mat-dialog-actions class=\"dialog-actions\" [align]=\"buttonsAlignment\" *ngIf=\"!hideButtons\">\n @if(buttonsTemplate) {\n <ng-container *ngTemplateOutlet=\"buttonsTemplate\"></ng-container>\n }\n\n @else {\n <ng-container *ngTemplateOutlet=\"defaultButtonsTemplate\"></ng-container>\n }\n </mat-dialog-actions>\n\n <ng-template #defaultButtonsTemplate>\n <button cdkFocusInitial mat-button entry-submit-button (click)=\"onSubmit()\">\n <span>{{confirmButtonText}}</span>\n </button>\n <button *ngIf=\"!hideCancel\" mat-button entry-cancel-button (click)=\"cancel()\">\n <span>{{cancelButtonText}}</span>\n </button>\n </ng-template>\n</div>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryAlertDialogData } from './entry-alert-dialog-data.interface';\n\n@Component({\n selector: 'entry-alert-dialog',\n templateUrl: './entry-alert-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryAlertDialogComponent extends EntryDialogComponent {\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryAlertDialogData = inject(MAT_DIALOG_DATA);\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryConfirmDialogData } from './entry-confirm-dialog-data.interface';\n\n@Component({\n selector: 'entry-confirm-dialog',\n templateUrl: './entry-confirm-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryConfirmDialogComponent extends EntryDialogComponent {\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryConfirmDialogData = inject(MAT_DIALOG_DATA);\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryErrorDialogData } from './entry-error-dialog-data.interface';\n\n@Component({\n selector: 'entry-error-dialog',\n templateUrl: './entry-error-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryErrorDialogComponent extends EntryDialogComponent {\n errors: string[] = [];\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryErrorDialogData = inject(MAT_DIALOG_DATA);\n\n constructor() {\n super();\n this.extractValidationErrors();\n }\n\n private extractValidationErrors(): void {\n if (Array.isArray(this.data.errors)) {\n this.errors = this.data.errors as string[];\n } else if (this.data.errors.errors) {\n const validationErrors = this.data.errors.errors;\n this.errors = Object.entries(validationErrors)\n .map(values => values[1])\n .reduce((a, b) => a.concat(b), []);\n } else if (this.data.message) {\n this.errors = [this.data.message];\n }\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p *ngFor=\"let error of errors\">{{error}}</p>\n</entry-dialog>","import { inject, Injectable, Type } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { IEntryAlertDialogData } from './dialogs/alert/entry-alert-dialog-data.interface';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { IEntryConfirmDialogData } from './dialogs/confirm/entry-confirm-dialog-data.interface';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { IEntryErrorDialogData } from './dialogs/error/entry-error-dialog-data.interface';\nimport { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from './entry-dialog-config.model';\n\n/**\n * Used to open built-in and custom entry dialogs.\n */\n@Injectable()\nexport class EntryDialogService {\n protected readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n private readonly matDialog: MatDialog = inject(MatDialog);\n\n /**\n * Opens alert dialog.\n *\n * @param data - Contains title, message and optional confirm button text\n * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openAlert = (data: Partial<IEntryAlertDialogData>): Observable<true | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryAlertDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens confirm dialog.\n *\n * @param data - Contains title, message and optional confirm/cancel buttons text\n * @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openConfirm = (data: Partial<IEntryConfirmDialogData>): Observable<boolean | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryConfirmDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens error dialog.\n *\n * @param data - Contains title, errors and optional confirm button text\n * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openError = (data: Partial<IEntryErrorDialogData>): Observable<true | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryErrorDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens dialog with custom component.\n *\n * @param component - Dialog custom component implementation\n * @param data - Optional parameter used to supply component with input parameters\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @param cssClass - Optional parameter used to set custom class to Material overlay pane\n * @returns Any result custom implementation provides\n */\n open = (\n component: Type<EntryDialogComponent>,\n data: unknown = undefined,\n disableClose: boolean | undefined = undefined,\n cssClass = ''): Observable<any> => {\n const configuration = new MatDialogConfig<unknown>();\n configuration.data = data;\n configuration.disableClose = disableClose === undefined\n ? this.config.disableClose\n : disableClose;\n this.setPanelClassFor(configuration, cssClass);\n\n return this.matDialog\n .open(component, configuration)\n .afterClosed()\n .pipe(take(1));\n };\n\n /**\n * Closes all opened dialogs.\n */\n closeAll = (): void => this.matDialog.closeAll();\n\n private setPanelClassFor = <T>(configuration: MatDialogConfig<T>, cssClass: string) => {\n configuration.panelClass = ['dialog-container', cssClass];\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { EntryButtonModule } from '@enigmatry/entry-components/button';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';\nimport { EntryDialogService } from './entry-dialog.service';\n\n@NgModule({\n declarations: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent,\n EntryErrorDialogComponent\n ],\n imports: [\n CommonModule,\n MatDialogModule,\n MatIconModule,\n MatButtonModule,\n EntryButtonModule\n ],\n exports: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent,\n EntryErrorDialogComponent\n ],\n providers: [EntryDialogService]\n})\nexport class EntryDialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EntryDialogComponent","i2.EntryDialogComponent"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enigmatry-entry-components-dialog.mjs","sources":["../../../../libs/entry-components/dialog/entry-dialog-config.model.ts","../../../../libs/entry-components/dialog/dialogs/entry-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/entry-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/alert/entry-alert-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/confirm/entry-confirm-dialog.component.html","../../../../libs/entry-components/dialog/dialogs/error/entry-error-dialog.component.ts","../../../../libs/entry-components/dialog/dialogs/error/entry-error-dialog.component.html","../../../../libs/entry-components/dialog/entry-dialog.service.ts","../../../../libs/entry-components/dialog/entry-dialog.module.ts","../../../../libs/entry-components/dialog/enigmatry-entry-components-dialog.ts"],"sourcesContent":["import { Provider } from '@angular/core';\nimport { createInjectionToken, provideConfig } from '@enigmatry/entry-components/common';\nimport { EntryDialogButtonsAlignment } from './entry-dialog-buttons-alignment.type';\n\n/**\n * Used to provide default configurations on module level.\n */\nexport class EntryDialogConfig {\n /** Confirm button label (default 'Ok') */\n confirmButtonText: string;\n /** Cancel button label (default 'Cancel') */\n cancelButtonText: string;\n /** Dialog buttons horizontal alignment (default 'align-right') */\n buttonsAlignment: EntryDialogButtonsAlignment;\n /** Determines if close button is visible (default is true) */\n hideClose: boolean;\n /** Disable closing dialog when pressing escape or clicking on backdrop (default false) */\n disableClose: boolean;\n\n constructor(config: Partial<EntryDialogConfig> = {}) {\n this.confirmButtonText = config.confirmButtonText ?? 'Ok';\n this.cancelButtonText = config.cancelButtonText ?? 'Cancel';\n this.buttonsAlignment = config.buttonsAlignment ?? 'end';\n this.hideClose = config.hideClose ?? true;\n this.disableClose = config.disableClose ?? false;\n }\n}\n\n/**\n * Entry dialog injection token of EntryDialogConfig type containing dialog default configurations.\n *\n * Defaults:\n * - confirmButtonText: 'Ok'\n * - cancelButtonText: 'Cancel'\n * - buttonsAlignment: 'end'\n * - hideClose: true\n * - disableClose: false\n */\nexport const ENTRY_DIALOG_CONFIG = createInjectionToken(new EntryDialogConfig());\n\n/**\n * Can be used to provide entry dialog configuration.\n */\nexport const provideEntryDialogConfig = (config: Partial<EntryDialogConfig>): Provider =>\n provideConfig(ENTRY_DIALOG_CONFIG, () => new EntryDialogConfig(config));\n","/* eslint-disable no-secrets/no-secrets */\nimport { Component, inject, Input, TemplateRef } from '@angular/core';\nimport { MatDialogRef } from '@angular/material/dialog';\nimport { Observable, of } from 'rxjs';\nimport { EntryDialogButtonsAlignment } from '../entry-dialog-buttons-alignment.type';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../entry-dialog-config.model';\n\n/**\n * Base Entry dialog component. Must be extended when building custom dialogs.\n *\n * @example\n * ```html\n * <entry-dialog title=\"TITLE\"><p>Dialog content</p></entry-dialog>\n * ```\n */\n@Component({\n selector: 'entry-dialog',\n templateUrl: './entry-dialog.component.html',\n styleUrls: ['./entry-dialog.component.scss'],\n standalone: false\n})\nexport class EntryDialogComponent {\n protected readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n protected readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n\n /** Dialog header title */\n @Input() title: string;\n /** Dialog buttons horizontal alignment */\n @Input() buttonsAlignment: EntryDialogButtonsAlignment = this.config.buttonsAlignment;\n /** Confirm button label */\n @Input() confirmButtonText = this.config.confirmButtonText;\n /** Cancel button label */\n @Input() cancelButtonText = this.config.cancelButtonText;\n /** Show or hide dialog buttons */\n @Input() hideButtons: boolean;\n /** Show or hide dialog cancel button */\n @Input() hideCancel: boolean;\n /** Show or hide dialog close button */\n @Input() hideClose: boolean = this.config.hideClose;\n /** Enable or disable dialog confirm button */\n @Input() disableConfirm: boolean;\n /** Provide custom buttons template */\n @Input() buttonsTemplate: TemplateRef<any> | null | undefined;\n\n @Input() confirm: () => Observable<unknown> = () => of(true);\n @Input() cancel = () => this.close(false);\n\n onSubmit = () =>\n this.confirm().subscribe({\n next: closeDialog => {\n if (closeDialog) {\n this.close(closeDialog);\n }\n }\n });\n\n close = (value: unknown = true) => this.mdDialogRef.close(value);\n}\n","<div class=\"entry-dialog\" role=\"dialog\">\n <div class=\"dialog-header\">\n <h1 class=\"title\" [class.without-close-icon]=\"hideClose\" mat-dialog-title>{{ title }}</h1>\n @if (!hideClose) {\n <button mat-icon-button type=\"button\" class=\"close-button\" (click)=\"cancel()\"\n aria-label=\"Close dialog\">\n <mat-icon aria-hidden=\"true\">close</mat-icon>\n </button>\n }\n </div>\n\n <mat-dialog-content class=\"dialog-content\" [ngClass]=\"{'with-actions': !hideButtons}\">\n <ng-content></ng-content>\n </mat-dialog-content>\n\n @if (!hideButtons) {\n <mat-dialog-actions class=\"dialog-actions\" [align]=\"buttonsAlignment\">\n @if(buttonsTemplate) {\n <ng-container [ngTemplateOutlet]=\"buttonsTemplate\"></ng-container>\n }\n\n @else {\n <ng-container [ngTemplateOutlet]=\"defaultButtonsTemplate\"></ng-container>\n }\n </mat-dialog-actions>\n }\n\n <ng-template #defaultButtonsTemplate>\n <button cdkFocusInitial mat-button entry-submit-button (click)=\"onSubmit()\">\n <span>{{confirmButtonText}}</span>\n </button>\n @if (!hideCancel) {\n <button mat-button entry-cancel-button (click)=\"cancel()\">\n <span>{{cancelButtonText}}</span>\n </button>\n }\n </ng-template>\n</div>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryAlertDialogData } from './entry-alert-dialog-data.interface';\n\n@Component({\n selector: 'entry-alert-dialog',\n templateUrl: './entry-alert-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryAlertDialogComponent extends EntryDialogComponent {\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryAlertDialogData = inject(MAT_DIALOG_DATA);\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryConfirmDialogData } from './entry-confirm-dialog-data.interface';\n\n@Component({\n selector: 'entry-confirm-dialog',\n templateUrl: './entry-confirm-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryConfirmDialogComponent extends EntryDialogComponent {\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryConfirmDialogData = inject(MAT_DIALOG_DATA);\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [cancelButtonText]=\"data.cancelText ?? config.cancelButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\">\n <p>{{data.message}}</p>\n</entry-dialog>","import { ChangeDetectionStrategy, Component, inject } from '@angular/core';\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from '../../entry-dialog-config.model';\nimport { EntryDialogComponent } from '../entry-dialog.component';\nimport { IEntryErrorDialogData } from './entry-error-dialog-data.interface';\n\n@Component({\n selector: 'entry-error-dialog',\n templateUrl: './entry-error-dialog.component.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false\n})\nexport class EntryErrorDialogComponent extends EntryDialogComponent {\n errors: string[] = [];\n protected override readonly mdDialogRef: MatDialogRef<EntryDialogComponent> = inject(MatDialogRef<EntryDialogComponent>);\n override readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n readonly data: IEntryErrorDialogData = inject(MAT_DIALOG_DATA);\n\n constructor() {\n super();\n this.extractValidationErrors();\n }\n\n private extractValidationErrors(): void {\n if (Array.isArray(this.data.errors)) {\n this.errors = this.data.errors as string[];\n } else if (this.data.errors.errors) {\n const validationErrors = this.data.errors.errors;\n this.errors = Object.entries(validationErrors)\n .map(values => values[1])\n .reduce((a, b) => a.concat(b), []);\n } else if (this.data.message) {\n this.errors = [this.data.message];\n }\n }\n}\n","<entry-dialog\n [title]=\"data.title\"\n [confirmButtonText]=\"data.confirmText ?? config.confirmButtonText\"\n [buttonsAlignment]=\"data.buttonsAlignment ?? config.buttonsAlignment\"\n [hideClose]=\"data.hideClose ?? config.hideClose\"\n [hideCancel]=\"true\">\n @for (error of errors; track error) {\n <p>{{error}}</p>\n }\n</entry-dialog>","import { inject, Injectable, Type } from '@angular/core';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\nimport { IEntryAlertDialogData } from './dialogs/alert/entry-alert-dialog-data.interface';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { IEntryConfirmDialogData } from './dialogs/confirm/entry-confirm-dialog-data.interface';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { IEntryErrorDialogData } from './dialogs/error/entry-error-dialog-data.interface';\nimport { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';\nimport { ENTRY_DIALOG_CONFIG, EntryDialogConfig } from './entry-dialog-config.model';\n\n/**\n * Used to open built-in and custom entry dialogs.\n */\n@Injectable()\nexport class EntryDialogService {\n protected readonly config: EntryDialogConfig = inject(ENTRY_DIALOG_CONFIG);\n private readonly matDialog: MatDialog = inject(MatDialog);\n\n /**\n * Opens alert dialog.\n *\n * @param data - Contains title, message and optional confirm button text\n * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openAlert = (data: Partial<IEntryAlertDialogData>): Observable<true | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryAlertDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens confirm dialog.\n *\n * @param data - Contains title, message and optional confirm/cancel buttons text\n * @returns `true` if confirmed, `false` if canceled or closed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openConfirm = (data: Partial<IEntryConfirmDialogData>): Observable<boolean | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryConfirmDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens error dialog.\n *\n * @param data - Contains title, errors and optional confirm button text\n * @returns `true` if confirmed, `undefined` if closed by clicking on backdrop or pressing escape\n */\n openError = (data: Partial<IEntryErrorDialogData>): Observable<true | undefined> => {\n data.disableClose = data.disableClose === undefined ? this.config.disableClose : data.disableClose;\n return this.open(EntryErrorDialogComponent, data, data.disableClose);\n };\n\n /**\n * Opens dialog with custom component.\n *\n * @param component - Dialog custom component implementation\n * @param data - Optional parameter used to supply component with input parameters\n * @param disableClose - Optional parameter that disable closing dialog when pressing escape or clicking on backdrop\n * @param cssClass - Optional parameter used to set custom class to Material overlay pane\n * @returns Any result custom implementation provides\n */\n open = (\n component: Type<EntryDialogComponent>,\n data: unknown = undefined,\n disableClose: boolean | undefined = undefined,\n cssClass = ''): Observable<any> => {\n const configuration = new MatDialogConfig<unknown>();\n configuration.data = data;\n configuration.disableClose = disableClose === undefined\n ? this.config.disableClose\n : disableClose;\n this.setPanelClassFor(configuration, cssClass);\n\n return this.matDialog\n .open(component, configuration)\n .afterClosed()\n .pipe(take(1));\n };\n\n /**\n * Closes all opened dialogs.\n */\n closeAll = (): void => this.matDialog.closeAll();\n\n private setPanelClassFor = <T>(configuration: MatDialogConfig<T>, cssClass: string) => {\n configuration.panelClass = ['dialog-container', cssClass];\n };\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { EntryButtonModule } from '@enigmatry/entry-components/button';\nimport { EntryAlertDialogComponent } from './dialogs/alert/entry-alert-dialog.component';\nimport { EntryConfirmDialogComponent } from './dialogs/confirm/entry-confirm-dialog.component';\nimport { EntryDialogComponent } from './dialogs/entry-dialog.component';\nimport { EntryErrorDialogComponent } from './dialogs/error/entry-error-dialog.component';\nimport { EntryDialogService } from './entry-dialog.service';\n\n@NgModule({\n declarations: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent,\n EntryErrorDialogComponent\n ],\n imports: [\n CommonModule,\n MatDialogModule,\n MatIconModule,\n MatButtonModule,\n EntryButtonModule\n ],\n exports: [\n EntryDialogComponent,\n EntryAlertDialogComponent,\n EntryConfirmDialogComponent,\n EntryErrorDialogComponent\n ],\n providers: [EntryDialogService]\n})\nexport class EntryDialogModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.EntryDialogComponent"],"mappings":"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"}
|