@enigmatry/entry-components 16.1.1-preview.3 → 16.1.1-preview.4
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/common/common.module.d.ts +3 -1
- package/common/date-time/entry-date-time-adapter.d.ts +12 -7
- package/common/date-time/entry-date-time-formats.d.ts +25 -0
- package/common/date-time/entry-time-adapter.d.ts +9 -0
- package/common/date-time/index.d.ts +4 -2
- package/common/date-time/native-time-adapter.d.ts +13 -0
- package/common/directives/index.d.ts +2 -0
- package/common/directives/ng-control-accessor.directive.d.ts +12 -0
- package/common/directives/noop-control-value-accessor.d.ts +10 -0
- package/date-time-picker/README.md +69 -0
- package/date-time-picker/date-time-picker.component.d.ts +35 -0
- package/date-time-picker/date-time-picker.module.d.ts +16 -0
- package/date-time-picker/index.d.ts +5 -0
- package/date-time-picker/public-api.d.ts +2 -0
- package/date-time-picker/time-picker.component.d.ts +26 -0
- package/esm2022/common/common.module.mjs +11 -3
- package/esm2022/common/date-time/entry-date-time-adapter.mjs +30 -12
- package/esm2022/common/date-time/entry-date-time-formats.mjs +14 -0
- package/esm2022/common/date-time/entry-time-adapter.mjs +10 -0
- package/esm2022/common/date-time/index.mjs +5 -3
- package/esm2022/common/date-time/native-time-adapter.mjs +31 -0
- package/esm2022/common/directives/index.mjs +3 -1
- package/esm2022/common/directives/ng-control-accessor.directive.mjs +46 -0
- package/esm2022/common/directives/noop-control-value-accessor.mjs +32 -0
- package/esm2022/date-time-picker/date-time-picker.component.mjs +126 -0
- package/esm2022/date-time-picker/date-time-picker.module.mjs +58 -0
- package/esm2022/date-time-picker/enigmatry-entry-components-date-time-picker.mjs +5 -0
- package/esm2022/date-time-picker/public-api.mjs +3 -0
- package/esm2022/date-time-picker/time-picker.component.mjs +80 -0
- package/esm2022/search-filter/date-time/date-time-search-filter.component.mjs +4 -4
- package/fesm2022/enigmatry-entry-components-common.mjs +158 -16
- package/fesm2022/enigmatry-entry-components-common.mjs.map +1 -1
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs +258 -0
- package/fesm2022/enigmatry-entry-components-date-time-picker.mjs.map +1 -0
- package/fesm2022/enigmatry-entry-components-search-filter.mjs +3 -3
- package/fesm2022/enigmatry-entry-components-search-filter.mjs.map +1 -1
- package/package.json +95 -89
- package/styles/partials/core/components/_index.scss +2 -1
- package/styles/partials/core/components/date-time-picker/_general.scss +65 -0
- package/styles/partials/core/components/forms/_general.scss +0 -4
- package/common/date-time/entry-date-time.d.ts +0 -7
- package/esm2022/common/date-time/entry-date-time.mjs +0 -3
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Directive, Input, Self, Injectable, NgModule, InjectionToken,
|
|
2
|
+
import { Directive, Input, Self, inject, Injectable, NgModule, InjectionToken, LOCALE_ID, Optional, Inject, SkipSelf } from '@angular/core';
|
|
3
3
|
import { CommonModule } from '@angular/common';
|
|
4
|
-
import { Subject, fromEvent, timer } from 'rxjs';
|
|
4
|
+
import { Subject, fromEvent, timer, takeUntil as takeUntil$1 } from 'rxjs';
|
|
5
5
|
import { takeUntil } from 'rxjs/operators';
|
|
6
6
|
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
7
7
|
import * as i1 from '@angular/forms';
|
|
8
|
+
import { NG_VALUE_ACCESSOR, NgControl, FormControlDirective, FormControlName, NgModel, UntypedFormControl } from '@angular/forms';
|
|
8
9
|
import { debounce, throttle } from 'lodash-es';
|
|
9
10
|
import { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';
|
|
10
11
|
import * as i1$1 from '@angular/material/core';
|
|
@@ -127,6 +128,77 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
127
128
|
type: Self
|
|
128
129
|
}] }, { type: i0.ElementRef }]; } });
|
|
129
130
|
|
|
131
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
132
|
+
class NoopControlValueAccessorDirective {
|
|
133
|
+
writeValue(_obj) { }
|
|
134
|
+
registerOnChange(_fn) { }
|
|
135
|
+
registerOnTouched(_fn) { }
|
|
136
|
+
setDisabledState(_isDisabled) { }
|
|
137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoopControlValueAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
138
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NoopControlValueAccessorDirective, isStandalone: true, providers: [
|
|
139
|
+
{
|
|
140
|
+
provide: NG_VALUE_ACCESSOR,
|
|
141
|
+
multi: true,
|
|
142
|
+
useExisting: NoopControlValueAccessorDirective
|
|
143
|
+
}
|
|
144
|
+
], ngImport: i0 }); }
|
|
145
|
+
}
|
|
146
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NoopControlValueAccessorDirective, decorators: [{
|
|
147
|
+
type: Directive,
|
|
148
|
+
args: [{
|
|
149
|
+
standalone: true,
|
|
150
|
+
providers: [
|
|
151
|
+
{
|
|
152
|
+
provide: NG_VALUE_ACCESSOR,
|
|
153
|
+
multi: true,
|
|
154
|
+
useExisting: NoopControlValueAccessorDirective
|
|
155
|
+
}
|
|
156
|
+
]
|
|
157
|
+
}]
|
|
158
|
+
}] });
|
|
159
|
+
|
|
160
|
+
class NgControlAccessorDirective {
|
|
161
|
+
constructor() {
|
|
162
|
+
this.ngControl = inject(NgControl, {
|
|
163
|
+
optional: true,
|
|
164
|
+
self: true
|
|
165
|
+
});
|
|
166
|
+
this.destroy$ = new Subject();
|
|
167
|
+
}
|
|
168
|
+
ngOnInit() {
|
|
169
|
+
if (this.ngControl instanceof FormControlDirective ||
|
|
170
|
+
this.ngControl instanceof FormControlName ||
|
|
171
|
+
this.ngControl instanceof NgModel) {
|
|
172
|
+
this.control = this.ngControl.control;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.control = new UntypedFormControl();
|
|
176
|
+
}
|
|
177
|
+
if (this.ngControl instanceof NgModel) {
|
|
178
|
+
const ngModel = this.ngControl;
|
|
179
|
+
ngModel.control.valueChanges
|
|
180
|
+
.pipe(takeUntil$1(this.destroy$))
|
|
181
|
+
.subscribe(newValue => {
|
|
182
|
+
if (ngModel.model !== newValue || ngModel.viewModel !== newValue) {
|
|
183
|
+
ngModel.viewToModelUpdate(newValue);
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
ngOnDestroy() {
|
|
189
|
+
this.destroy$.next();
|
|
190
|
+
this.destroy$.complete();
|
|
191
|
+
}
|
|
192
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgControlAccessorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
193
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: NgControlAccessorDirective, isStandalone: true, ngImport: i0 }); }
|
|
194
|
+
}
|
|
195
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: NgControlAccessorDirective, decorators: [{
|
|
196
|
+
type: Directive,
|
|
197
|
+
args: [{
|
|
198
|
+
standalone: true
|
|
199
|
+
}]
|
|
200
|
+
}] });
|
|
201
|
+
|
|
130
202
|
/**
|
|
131
203
|
* abstract class EventManagerPlugin will be exposed in the public api
|
|
132
204
|
* https://github.com/angular/angular/pull/49969
|
|
@@ -225,6 +297,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
225
297
|
const DIRECTIVES = [
|
|
226
298
|
AutoDisableButtonDirective,
|
|
227
299
|
ScrollToInvalidControlDirective,
|
|
300
|
+
NoopControlValueAccessorDirective,
|
|
301
|
+
NgControlAccessorDirective
|
|
228
302
|
];
|
|
229
303
|
const EVENT_PLUGINS = [
|
|
230
304
|
DebounceEventPlugin,
|
|
@@ -244,8 +318,12 @@ class EntryCommonModule {
|
|
|
244
318
|
}
|
|
245
319
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
246
320
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: EntryCommonModule, imports: [CommonModule, AutoDisableButtonDirective,
|
|
247
|
-
ScrollToInvalidControlDirective
|
|
248
|
-
|
|
321
|
+
ScrollToInvalidControlDirective,
|
|
322
|
+
NoopControlValueAccessorDirective,
|
|
323
|
+
NgControlAccessorDirective], exports: [AutoDisableButtonDirective,
|
|
324
|
+
ScrollToInvalidControlDirective,
|
|
325
|
+
NoopControlValueAccessorDirective,
|
|
326
|
+
NgControlAccessorDirective] }); }
|
|
249
327
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCommonModule, imports: [CommonModule] }); }
|
|
250
328
|
}
|
|
251
329
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryCommonModule, decorators: [{
|
|
@@ -295,16 +373,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
295
373
|
type: Injectable
|
|
296
374
|
}] });
|
|
297
375
|
|
|
298
|
-
|
|
376
|
+
class EntryTimeAdapter {
|
|
377
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTimeAdapter, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
378
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTimeAdapter }); }
|
|
379
|
+
}
|
|
380
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryTimeAdapter, decorators: [{
|
|
381
|
+
type: Injectable
|
|
382
|
+
}] });
|
|
299
383
|
|
|
300
384
|
/**
|
|
301
|
-
* Extends
|
|
385
|
+
* Extends DateAdapter with time support. Used by EntryDateTimePicker component.
|
|
302
386
|
*/
|
|
303
387
|
class EntryDateTimeAdapter extends DateAdapter {
|
|
304
|
-
constructor(matDateLocale,
|
|
388
|
+
constructor(matDateLocale, dateAdapter, timeAdapter) {
|
|
305
389
|
super();
|
|
306
390
|
this.dateAdapter = dateAdapter;
|
|
307
|
-
this.
|
|
391
|
+
this.timeAdapter = timeAdapter;
|
|
308
392
|
this.dateAdapter.setLocale(matDateLocale);
|
|
309
393
|
}
|
|
310
394
|
getYear(date) {
|
|
@@ -373,10 +457,31 @@ class EntryDateTimeAdapter extends DateAdapter {
|
|
|
373
457
|
invalid() {
|
|
374
458
|
return this.dateAdapter.invalid();
|
|
375
459
|
}
|
|
376
|
-
|
|
377
|
-
return this.
|
|
460
|
+
getHours(date) {
|
|
461
|
+
return this.timeAdapter.getHours(date);
|
|
462
|
+
}
|
|
463
|
+
getMinutes(date) {
|
|
464
|
+
return this.timeAdapter.getMinutes(date);
|
|
465
|
+
}
|
|
466
|
+
getSeconds(date) {
|
|
467
|
+
return this.timeAdapter.getSeconds(date);
|
|
468
|
+
}
|
|
469
|
+
setTime(date, hours, minutes, seconds) {
|
|
470
|
+
return this.timeAdapter.setTime(date, hours, minutes, seconds);
|
|
471
|
+
}
|
|
472
|
+
is12HoursClock(displayFormat) {
|
|
473
|
+
const now = this.format(this.today(), displayFormat).toLowerCase();
|
|
474
|
+
return now.includes('a') || now.includes('p');
|
|
378
475
|
}
|
|
379
|
-
|
|
476
|
+
compareDate(first, second) {
|
|
477
|
+
return this.getYear(first) - this.getYear(second) ||
|
|
478
|
+
this.getMonth(first) - this.getMonth(second) ||
|
|
479
|
+
this.getDate(first) - this.getDate(second) ||
|
|
480
|
+
this.getHours(first) - this.getHours(second) ||
|
|
481
|
+
this.getMinutes(first) - this.getMinutes(second) ||
|
|
482
|
+
this.getSeconds(first) - this.getSeconds(second);
|
|
483
|
+
}
|
|
484
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimeAdapter, deps: [{ token: MAT_DATE_LOCALE, optional: true }, { token: i1$1.DateAdapter, skipSelf: true }, { token: EntryTimeAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
380
485
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimeAdapter }); }
|
|
381
486
|
}
|
|
382
487
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryDateTimeAdapter, decorators: [{
|
|
@@ -386,16 +491,53 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
386
491
|
}, {
|
|
387
492
|
type: Inject,
|
|
388
493
|
args: [MAT_DATE_LOCALE]
|
|
389
|
-
}] }, { type: undefined, decorators: [{
|
|
390
|
-
type: Inject,
|
|
391
|
-
args: [ENTRY_MAT_DATE_TIME]
|
|
392
494
|
}] }, { type: i1$1.DateAdapter, decorators: [{
|
|
393
495
|
type: SkipSelf
|
|
394
|
-
}] }]; } });
|
|
496
|
+
}] }, { type: EntryTimeAdapter }]; } });
|
|
497
|
+
|
|
498
|
+
const defaultDateTimeFormats = {
|
|
499
|
+
parse: {
|
|
500
|
+
dateInput: ['dd-MM-yyyy', 'dd-MM-yyyy HH', 'dd-MM-yyyy HH:mm'],
|
|
501
|
+
},
|
|
502
|
+
display: {
|
|
503
|
+
dateInput: 'dd-MM-yyyy HH:mm',
|
|
504
|
+
monthYearLabel: { year: 'numeric', month: 'short' },
|
|
505
|
+
dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },
|
|
506
|
+
monthYearA11yLabel: { year: 'numeric', month: 'long' }
|
|
507
|
+
}
|
|
508
|
+
};
|
|
509
|
+
const ENTRY_MAT_DATE_TIME_FORMATS = new InjectionToken('entry-date-time-formats');
|
|
510
|
+
|
|
511
|
+
class EntryNativeTimeAdapter extends EntryTimeAdapter {
|
|
512
|
+
getHours(date) {
|
|
513
|
+
return date?.getHours();
|
|
514
|
+
}
|
|
515
|
+
getMinutes(date) {
|
|
516
|
+
return date?.getMinutes();
|
|
517
|
+
}
|
|
518
|
+
getSeconds(date) {
|
|
519
|
+
return date?.getSeconds();
|
|
520
|
+
}
|
|
521
|
+
setTime(date, hours, minutes, seconds) {
|
|
522
|
+
date?.setHours(hours, minutes, seconds, 0);
|
|
523
|
+
return date;
|
|
524
|
+
}
|
|
525
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryNativeTimeAdapter, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
526
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryNativeTimeAdapter }); }
|
|
527
|
+
}
|
|
528
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: EntryNativeTimeAdapter, decorators: [{
|
|
529
|
+
type: Injectable
|
|
530
|
+
}] });
|
|
531
|
+
function provideEntryNativeTimeAdapter(dateTimeFormats = defaultDateTimeFormats) {
|
|
532
|
+
return [
|
|
533
|
+
{ provide: EntryTimeAdapter, useClass: EntryNativeTimeAdapter },
|
|
534
|
+
{ provide: ENTRY_MAT_DATE_TIME_FORMATS, useValue: dateTimeFormats }
|
|
535
|
+
];
|
|
536
|
+
}
|
|
395
537
|
|
|
396
538
|
/**
|
|
397
539
|
* Generated bundle index. Do not edit.
|
|
398
540
|
*/
|
|
399
541
|
|
|
400
|
-
export { AcceptLanguageInterceptor, AutoDisableButtonDirective, DebounceEventPlugin,
|
|
542
|
+
export { AcceptLanguageInterceptor, AutoDisableButtonDirective, DebounceEventPlugin, ENTRY_MAT_DATE_TIME_FORMATS, EntryCommonModule, EntryDateTimeAdapter, EntryNativeTimeAdapter, EntryTimeAdapter, NG_EVENT_PLUGINS, NgControlAccessorDirective, NoopControlValueAccessorDirective, ScrollToInvalidControlDirective, ThrottleEventPlugin, createInjectionToken, defaultDateTimeFormats, provideConfig, provideEntryNativeTimeAdapter };
|
|
401
543
|
//# sourceMappingURL=enigmatry-entry-components-common.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"enigmatry-entry-components-common.mjs","sources":["../../../../libs/entry-components/common/constants.ts","../../../../libs/entry-components/common/directives/auto-disable-button.directive.ts","../../../../libs/entry-components/common/directives/scroll-to-invalid-control.directive.ts","../../../../libs/entry-components/common/event-plugins/abstract.plugin.ts","../../../../libs/entry-components/common/event-plugins/debounce.plugin.ts","../../../../libs/entry-components/common/event-plugins/throttle.plugin.ts","../../../../libs/entry-components/common/common.module.ts","../../../../libs/entry-components/common/utils/provide-config.ts","../../../../libs/entry-components/common/interceptors/accept-language.interceptor.ts","../../../../libs/entry-components/common/date-time/entry-date-time.ts","../../../../libs/entry-components/common/date-time/entry-date-time-adapter.ts","../../../../libs/entry-components/common/enigmatry-entry-components-common.ts"],"sourcesContent":["export const NG_VALID_CLASS = '.ng-valid';\r\nexport const NG_INVALID_CLASS = '.ng-invalid';\r\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, fromEvent, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NG_VALID_CLASS } from '../constants';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\n\n/**\n * Auto disable button after click or submit with entry-auto-disable directive.\n * Directive is applied to 'button[entry-auto-disable]:not([disabled])'\n * Default auto disable interval is 2000ms (2sec)\n *\n * Usage\n * <button mat-button entry-submit-button entry-auto-disable type=\"submit\">Submit</button>\n * or with auto disabled interval in milliseconds\n * <button mat-button entry-submit-button entry-auto-disable=\"5000\" type=\"submit\">Submit</button>\n */\n@Directive({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'button[entry-auto-disable]:not([disabled])'\n})\nexport class AutoDisableButtonDirective implements OnInit, OnDestroy {\n\n private _destroy$ = new Subject<void>();\n private _disableIntervalInMs = 2000;\n\n constructor(private elementRef: ElementRef<HTMLButtonElement>) { }\n\n @Input('entry-auto-disable')\n get disableIntervalInMs() {\n return this._disableIntervalInMs;\n }\n set disableIntervalInMs(value: NumberInput) {\n this._disableIntervalInMs = coerceNumberProperty(value, 2000);\n }\n\n ngOnInit(): void {\n const button = this.elementRef.nativeElement;\n const isTypeSubmit = button.getAttribute('type') === 'submit';\n const form: HTMLFormElement = button.closest('form');\n\n if (isTypeSubmit && form) {\n // listen to form submit event\n fromEvent(form, 'submit')\n .pipe(takeUntil(this._destroy$))\n .subscribe(_ => {\n if (form.matches(NG_VALID_CLASS)) {\n this.disableButton(this._disableIntervalInMs);\n }\n });\n } else {\n // otherwise listen to click event\n fromEvent(button, 'click')\n .pipe(takeUntil(this._destroy$))\n .subscribe(_ => this.disableButton(this._disableIntervalInMs));\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private disableButton(disablePeriodInMs: number): void {\n const button = this.elementRef.nativeElement;\n\n button.disabled = true;\n\n timer(disablePeriodInMs)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => button.disabled = false);\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, Self } from '@angular/core';\r\nimport { ControlContainer } from '@angular/forms';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { NG_INVALID_CLASS } from '../constants';\r\n\r\n/**\r\n * Scroll to first invalid control when form is submitted.\r\n * Directive is applied to 'form[formGroup],form[ngForm]' (reactive or template driven forms)\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: 'form[formGroup],form[ngForm]'\r\n})\r\nexport class ScrollToInvalidControlDirective implements OnInit, OnDestroy {\r\n\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n @Self() private form: ControlContainer,\r\n private elementRef: ElementRef<HTMLFormElement>) { }\r\n\r\n ngOnInit(): void {\r\n fromEvent(this.elementRef.nativeElement, 'submit')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => {\r\n if (this.form.invalid) {\r\n this.scrollToInvalidControl();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private scrollToInvalidControl() {\r\n const firstInvalidControl: HTMLElement =\r\n this.elementRef.nativeElement.querySelector(NG_INVALID_CLASS);\r\n\r\n if (firstInvalidControl) {\r\n firstInvalidControl.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center' // vertical alignment\r\n });\r\n }\r\n }\r\n}\r\n","import { EventManager } from '@angular/platform-browser';\r\n\r\n/**\r\n * abstract class EventManagerPlugin will be exposed in the public api\r\n * https://github.com/angular/angular/pull/49969\r\n *\r\n * Until then creating it from reference\r\n * https://github.com/angular/angular/blob/main/packages/platform-browser/src/dom/events/event_manager.ts#L93\r\n *\r\n * How to create custom event modifiers\r\n * https://github.com/Tinkoff/ng-event-plugins,\r\n * https://github.com/angular/angular/blob/main/packages/platform-browser/src/dom/events/key_events.ts\r\n * https://netbasal.com/lifting-the-veil-insights-into-angulars-eventmanagerplugin-ed9d14cbb31a\r\n */\r\nexport abstract class EventManagerPlugin {\r\n\r\n // Using non-null assertion because it's set by EventManager's constructor\r\n manager!: EventManager;\r\n\r\n /** Should return `true` for every event name that should be supported by this plugin */\r\n abstract supports(eventName: string): boolean;\r\n\r\n /**\r\n * Registers a handler for a specific element and event.\r\n *\r\n * @param element The HTML element to receive event notifications.\r\n * @param eventName The name of the event to listen for.\r\n * @param handler A function to call when the notification occurs. Receives the\r\n * event object as an argument.\r\n * @returns A callback function that can be used to remove the handler.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n abstract addEventListener(element: HTMLElement, eventName: string, handler: Function): Function;\r\n}\r\n\r\n/**\r\n * Entry event plugin base class\r\n */\r\nexport abstract class EntryEventManagerPlugin extends EventManagerPlugin {\r\n abstract modifier: string;\r\n\r\n /** return `true` for every event name that has specified modifier */\r\n supports(eventName: string): boolean {\r\n return eventName.includes(this.modifier);\r\n }\r\n\r\n /** unwrap params e.g. (click.debounce.500) => ['debounce', 500] */\r\n unwrapParams(eventName: string): string[] {\r\n return eventName\r\n .substring(eventName.indexOf(this.modifier))\r\n .split('.')\r\n .filter(x => !!x);\r\n }\r\n\r\n /** get event name e.g. (click.debounce.500) => click */\r\n unwrapEventName(eventName: string): string {\r\n return eventName.substring(0, eventName.indexOf(this.modifier));\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\nimport { Injectable } from '@angular/core';\r\nimport { EntryEventManagerPlugin } from './abstract.plugin';\r\nimport { debounce } from 'lodash-es';\r\n\r\n/**\r\n * Provides event plugin for debouncing events.\r\n *\r\n * How to use:\r\n * <button (click.debounce)=\"doSomething($event)\">\r\n * <input (keyup.debounce.500)=\"doSomething($event)\">\r\n */\r\n@Injectable()\r\nexport class DebounceEventPlugin extends EntryEventManagerPlugin {\r\n\r\n modifier = '.debounce';\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n // e.g. (click.debounce.500)\r\n const [_modifier, milliseconds = 500, option = 'leading'] = this.unwrapParams(eventName);\r\n\r\n // run original handler inside ngZone in which the event occurred\r\n const innerHandler = (event: any) => this.manager.getZone().runGuarded(() => originalHandler(event));\r\n\r\n // create debounced handler\r\n const debouncedHandler = debounce(innerHandler, milliseconds,\r\n { leading: option === 'leading', trailing: option === 'trailing' });\r\n\r\n // register event with debounced handler\r\n return this.manager.addEventListener(element, this.unwrapEventName(eventName), debouncedHandler);\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\nimport { Injectable } from '@angular/core';\r\nimport { EntryEventManagerPlugin } from './abstract.plugin';\r\nimport { throttle } from 'lodash-es';\r\n\r\n/**\r\n * Provides event plugin for throttling events.\r\n *\r\n * How to use:\r\n * <button (click.throttle)=\"doSomething($event)\">\r\n * <input (keyup.throttle.500)=\"doSomething($event)\">\r\n */\r\n@Injectable()\r\nexport class ThrottleEventPlugin extends EntryEventManagerPlugin {\r\n\r\n modifier = '.throttle';\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n // e.g. (keyup.throttle.500)\r\n const [_modifier, milliseconds = 500] = this.unwrapParams(eventName);\r\n\r\n // run original handler inside ngZone in which the event occurred\r\n const innerHandler = (event: any) => this.manager.getZone().runGuarded(() => originalHandler(event));\r\n\r\n // create throttled handler\r\n const throttledHandler = throttle(innerHandler, milliseconds);\r\n\r\n // register event with throttled handler\r\n return this.manager.addEventListener(element, this.unwrapEventName(eventName), throttledHandler);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\r\n\r\n/** Directives */\r\n\r\nimport { AutoDisableButtonDirective } from './directives/auto-disable-button.directive';\r\nimport { ScrollToInvalidControlDirective } from './directives/scroll-to-invalid-control.directive';\r\n\r\nconst DIRECTIVES = [\r\n AutoDisableButtonDirective,\r\n ScrollToInvalidControlDirective,\r\n];\r\n\r\n/** Event plugins */\n\nimport { DebounceEventPlugin } from './event-plugins/debounce.plugin';\nimport { ThrottleEventPlugin } from './event-plugins/throttle.plugin';\nimport { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';\n\nconst EVENT_PLUGINS = [\n DebounceEventPlugin,\n ThrottleEventPlugin\n];\n\nexport const NG_EVENT_PLUGINS: Provider[] = EVENT_PLUGINS.map(useClass => ({\n provide: EVENT_MANAGER_PLUGINS,\n multi: true,\n useClass\n}));\n\n\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n CommonModule,\r\n DIRECTIVES\r\n ],\r\n exports: [\r\n DIRECTIVES\r\n ]\r\n})\r\nexport class EntryCommonModule {\r\n static forRoot(): ModuleWithProviders<EntryCommonModule> {\n return {\n ngModule: EntryCommonModule,\n providers: NG_EVENT_PLUGINS\n };\n }\n}\r\n","import { InjectionToken, Provider } from '@angular/core';\r\n\r\nexport function createInjectionToken<T>(defaultValue: T): InjectionToken<T> {\r\n return new InjectionToken<T>(defaultValue.constructor.name,\r\n {\r\n providedIn: 'root',\r\n factory: () => defaultValue\r\n }\r\n );\r\n}\r\n\r\nexport function provideConfig<T>(token: InjectionToken<T>, factory: () => T): Provider {\r\n return {\r\n provide: token,\r\n useFactory: factory\r\n };\r\n}\r\n","import { Injectable, LOCALE_ID, inject } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n/**\n * Sets the Accept-Language HTTP request header using the value from LOCALE_ID.\n */\n@Injectable()\nexport class AcceptLanguageInterceptor implements HttpInterceptor {\n private localeId = inject(LOCALE_ID);\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n const newRequest = request.clone({\n headers: request.headers.set('Accept-Language', this.localeId)\n });\n return next.handle(newRequest);\n }\n}\n","import { InjectionToken } from '@angular/core';\nimport { MatDateFormats } from '@angular/material/core';\n\nexport declare type EntryMatDateTime<D> = {\n matDateFormats: MatDateFormats;\n compareDate(first: D, second: D): number;\n};\n\nexport const ENTRY_MAT_DATE_TIME = new InjectionToken<EntryMatDateTime<any>>('');\n","import { Inject, Injectable, Optional, SkipSelf } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { ENTRY_MAT_DATE_TIME, EntryMatDateTime } from './entry-date-time';\n\n/**\n * Extends provided DateAdapter with date time support\n */\n@Injectable()\nexport class EntryDateTimeAdapter<D, L> extends DateAdapter<D, L> {\n private compareFunction: (first: D, second: D) => number;\n\n constructor(@Optional() @Inject(MAT_DATE_LOCALE) matDateLocale: L,\n @Inject(ENTRY_MAT_DATE_TIME) entryMatDateTime: EntryMatDateTime<D>,\n @SkipSelf() private dateAdapter: DateAdapter<D, L>) {\n super();\n this.compareFunction = entryMatDateTime.compareDate;\n this.dateAdapter.setLocale(matDateLocale);\n }\n\n getYear(date: D): number {\n return this.dateAdapter.getYear(date);\n }\n\n getMonth(date: D): number {\n return this.dateAdapter.getMonth(date);\n }\n\n getDate(date: D): number {\n return this.dateAdapter.getDate(date);\n }\n\n getDayOfWeek(date: D): number {\n return this.dateAdapter.getDayOfWeek(date);\n }\n\n getMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n return this.dateAdapter.getMonthNames(style);\n }\n\n getDateNames(): string[] {\n return this.dateAdapter.getDateNames();\n }\n\n getDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n return this.dateAdapter.getDayOfWeekNames(style);\n }\n\n getYearName(date: D): string {\n return this.dateAdapter.getYearName(date);\n }\n\n getFirstDayOfWeek(): number {\n return this.dateAdapter.getFirstDayOfWeek();\n }\n\n getNumDaysInMonth(date: D): number {\n return this.dateAdapter.getNumDaysInMonth(date);\n }\n\n clone(date: D): D {\n return this.dateAdapter.clone(date);\n }\n\n createDate(year: number, month: number, date: number): D {\n return this.dateAdapter.createDate(year, month, date);\n }\n\n today(): D {\n return this.dateAdapter.today();\n }\n\n parse(value: any, parseFormat: any): D {\n return this.dateAdapter.parse(value, parseFormat);\n }\n\n format(date: D, displayFormat: any): string {\n return this.dateAdapter.format(date, displayFormat);\n }\n\n addCalendarYears(date: D, years: number): D {\n return this.dateAdapter.addCalendarYears(date, years);\n }\n\n addCalendarMonths(date: D, months: number): D {\n return this.dateAdapter.addCalendarMonths(date, months);\n }\n\n addCalendarDays(date: D, days: number): D {\n return this.dateAdapter.addCalendarDays(date, days);\n }\n\n toIso8601(date: D): string {\n return this.dateAdapter.toIso8601(date);\n }\n\n isDateInstance(obj: any): boolean {\n return this.dateAdapter.isDateInstance(obj);\n }\n\n isValid(date: D): boolean {\n return this.dateAdapter.isValid(date);\n }\n\n invalid(): D {\n return this.dateAdapter.invalid();\n }\n\n override compareDate(first: D, second: D): number {\n return this.compareFunction(first, second);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"enigmatry-entry-components-common.mjs","sources":["../../../../libs/entry-components/common/constants.ts","../../../../libs/entry-components/common/directives/auto-disable-button.directive.ts","../../../../libs/entry-components/common/directives/scroll-to-invalid-control.directive.ts","../../../../libs/entry-components/common/directives/noop-control-value-accessor.ts","../../../../libs/entry-components/common/directives/ng-control-accessor.directive.ts","../../../../libs/entry-components/common/event-plugins/abstract.plugin.ts","../../../../libs/entry-components/common/event-plugins/debounce.plugin.ts","../../../../libs/entry-components/common/event-plugins/throttle.plugin.ts","../../../../libs/entry-components/common/common.module.ts","../../../../libs/entry-components/common/utils/provide-config.ts","../../../../libs/entry-components/common/interceptors/accept-language.interceptor.ts","../../../../libs/entry-components/common/date-time/entry-time-adapter.ts","../../../../libs/entry-components/common/date-time/entry-date-time-adapter.ts","../../../../libs/entry-components/common/date-time/entry-date-time-formats.ts","../../../../libs/entry-components/common/date-time/native-time-adapter.ts","../../../../libs/entry-components/common/enigmatry-entry-components-common.ts"],"sourcesContent":["export const NG_VALID_CLASS = '.ng-valid';\r\nexport const NG_INVALID_CLASS = '.ng-invalid';\r\n","import { Directive, ElementRef, Input, OnDestroy, OnInit } from '@angular/core';\nimport { Subject, fromEvent, timer } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { NG_VALID_CLASS } from '../constants';\nimport { NumberInput, coerceNumberProperty } from '@angular/cdk/coercion';\n\n/**\n * Auto disable button after click or submit with entry-auto-disable directive.\n * Directive is applied to 'button[entry-auto-disable]:not([disabled])'\n * Default auto disable interval is 2000ms (2sec)\n *\n * Usage\n * <button mat-button entry-submit-button entry-auto-disable type=\"submit\">Submit</button>\n * or with auto disabled interval in milliseconds\n * <button mat-button entry-submit-button entry-auto-disable=\"5000\" type=\"submit\">Submit</button>\n */\n@Directive({\n standalone: true,\n // eslint-disable-next-line @angular-eslint/directive-selector\n selector: 'button[entry-auto-disable]:not([disabled])'\n})\nexport class AutoDisableButtonDirective implements OnInit, OnDestroy {\n\n private _destroy$ = new Subject<void>();\n private _disableIntervalInMs = 2000;\n\n constructor(private elementRef: ElementRef<HTMLButtonElement>) { }\n\n @Input('entry-auto-disable')\n get disableIntervalInMs() {\n return this._disableIntervalInMs;\n }\n set disableIntervalInMs(value: NumberInput) {\n this._disableIntervalInMs = coerceNumberProperty(value, 2000);\n }\n\n ngOnInit(): void {\n const button = this.elementRef.nativeElement;\n const isTypeSubmit = button.getAttribute('type') === 'submit';\n const form: HTMLFormElement = button.closest('form');\n\n if (isTypeSubmit && form) {\n // listen to form submit event\n fromEvent(form, 'submit')\n .pipe(takeUntil(this._destroy$))\n .subscribe(_ => {\n if (form.matches(NG_VALID_CLASS)) {\n this.disableButton(this._disableIntervalInMs);\n }\n });\n } else {\n // otherwise listen to click event\n fromEvent(button, 'click')\n .pipe(takeUntil(this._destroy$))\n .subscribe(_ => this.disableButton(this._disableIntervalInMs));\n }\n }\n\n ngOnDestroy(): void {\n this._destroy$.next();\n this._destroy$.complete();\n }\n\n private disableButton(disablePeriodInMs: number): void {\n const button = this.elementRef.nativeElement;\n\n button.disabled = true;\n\n timer(disablePeriodInMs)\n .pipe(takeUntil(this._destroy$))\n .subscribe(() => button.disabled = false);\n }\n}\n","import { Directive, ElementRef, OnDestroy, OnInit, Self } from '@angular/core';\r\nimport { ControlContainer } from '@angular/forms';\r\nimport { Subject, fromEvent } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { NG_INVALID_CLASS } from '../constants';\r\n\r\n/**\r\n * Scroll to first invalid control when form is submitted.\r\n * Directive is applied to 'form[formGroup],form[ngForm]' (reactive or template driven forms)\r\n */\r\n@Directive({\r\n standalone: true,\r\n selector: 'form[formGroup],form[ngForm]'\r\n})\r\nexport class ScrollToInvalidControlDirective implements OnInit, OnDestroy {\r\n\r\n private destroy$ = new Subject<void>();\r\n\r\n constructor(\r\n @Self() private form: ControlContainer,\r\n private elementRef: ElementRef<HTMLFormElement>) { }\r\n\r\n ngOnInit(): void {\r\n fromEvent(this.elementRef.nativeElement, 'submit')\r\n .pipe(takeUntil(this.destroy$))\r\n .subscribe(_ => {\r\n if (this.form.invalid) {\r\n this.scrollToInvalidControl();\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n this.destroy$.next();\r\n this.destroy$.complete();\r\n }\r\n\r\n private scrollToInvalidControl() {\r\n const firstInvalidControl: HTMLElement =\r\n this.elementRef.nativeElement.querySelector(NG_INVALID_CLASS);\r\n\r\n if (firstInvalidControl) {\r\n firstInvalidControl.scrollIntoView({\r\n behavior: 'smooth',\r\n block: 'center' // vertical alignment\r\n });\r\n }\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/no-empty-function */\nimport { Directive } from \"@angular/core\";\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\n\n@Directive({\n standalone: true,\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useExisting: NoopControlValueAccessorDirective\n }\n ]\n})\nexport class NoopControlValueAccessorDirective implements ControlValueAccessor {\n writeValue(_obj: any): void { }\n registerOnChange(_fn: any): void { }\n registerOnTouched(_fn: any): void { }\n setDisabledState?(_isDisabled: boolean): void { }\n}","import { Directive, OnDestroy, OnInit, inject } from \"@angular/core\";\nimport { FormControlDirective, FormControlName, NgControl, NgModel, UntypedFormControl } from \"@angular/forms\";\nimport { Subject, takeUntil } from \"rxjs\";\n\n@Directive({\n standalone: true\n})\nexport class NgControlAccessorDirective implements OnDestroy, OnInit {\n control: UntypedFormControl;\n\n ngControl = inject(NgControl, {\n optional: true,\n self: true\n });\n\n private destroy$ = new Subject<void>();\n\n ngOnInit() {\n if (this.ngControl instanceof FormControlDirective ||\n this.ngControl instanceof FormControlName ||\n this.ngControl instanceof NgModel) {\n this.control = this.ngControl.control;\n } else {\n this.control = new UntypedFormControl();\n }\n\n if (this.ngControl instanceof NgModel) {\n const ngModel = this.ngControl as NgModel;\n ngModel.control.valueChanges\n .pipe(takeUntil(this.destroy$))\n .subscribe(newValue => {\n if (ngModel.model !== newValue || ngModel.viewModel !== newValue) {\n ngModel.viewToModelUpdate(newValue);\n }\n })\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next();\n this.destroy$.complete();\n }\n}","import { EventManager } from '@angular/platform-browser';\r\n\r\n/**\r\n * abstract class EventManagerPlugin will be exposed in the public api\r\n * https://github.com/angular/angular/pull/49969\r\n *\r\n * Until then creating it from reference\r\n * https://github.com/angular/angular/blob/main/packages/platform-browser/src/dom/events/event_manager.ts#L93\r\n *\r\n * How to create custom event modifiers\r\n * https://github.com/Tinkoff/ng-event-plugins,\r\n * https://github.com/angular/angular/blob/main/packages/platform-browser/src/dom/events/key_events.ts\r\n * https://netbasal.com/lifting-the-veil-insights-into-angulars-eventmanagerplugin-ed9d14cbb31a\r\n */\r\nexport abstract class EventManagerPlugin {\r\n\r\n // Using non-null assertion because it's set by EventManager's constructor\r\n manager!: EventManager;\r\n\r\n /** Should return `true` for every event name that should be supported by this plugin */\r\n abstract supports(eventName: string): boolean;\r\n\r\n /**\r\n * Registers a handler for a specific element and event.\r\n *\r\n * @param element The HTML element to receive event notifications.\r\n * @param eventName The name of the event to listen for.\r\n * @param handler A function to call when the notification occurs. Receives the\r\n * event object as an argument.\r\n * @returns A callback function that can be used to remove the handler.\r\n */\r\n // eslint-disable-next-line @typescript-eslint/ban-types\r\n abstract addEventListener(element: HTMLElement, eventName: string, handler: Function): Function;\r\n}\r\n\r\n/**\r\n * Entry event plugin base class\r\n */\r\nexport abstract class EntryEventManagerPlugin extends EventManagerPlugin {\r\n abstract modifier: string;\r\n\r\n /** return `true` for every event name that has specified modifier */\r\n supports(eventName: string): boolean {\r\n return eventName.includes(this.modifier);\r\n }\r\n\r\n /** unwrap params e.g. (click.debounce.500) => ['debounce', 500] */\r\n unwrapParams(eventName: string): string[] {\r\n return eventName\r\n .substring(eventName.indexOf(this.modifier))\r\n .split('.')\r\n .filter(x => !!x);\r\n }\r\n\r\n /** get event name e.g. (click.debounce.500) => click */\r\n unwrapEventName(eventName: string): string {\r\n return eventName.substring(0, eventName.indexOf(this.modifier));\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\nimport { Injectable } from '@angular/core';\r\nimport { EntryEventManagerPlugin } from './abstract.plugin';\r\nimport { debounce } from 'lodash-es';\r\n\r\n/**\r\n * Provides event plugin for debouncing events.\r\n *\r\n * How to use:\r\n * <button (click.debounce)=\"doSomething($event)\">\r\n * <input (keyup.debounce.500)=\"doSomething($event)\">\r\n */\r\n@Injectable()\r\nexport class DebounceEventPlugin extends EntryEventManagerPlugin {\r\n\r\n modifier = '.debounce';\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n // e.g. (click.debounce.500)\r\n const [_modifier, milliseconds = 500, option = 'leading'] = this.unwrapParams(eventName);\r\n\r\n // run original handler inside ngZone in which the event occurred\r\n const innerHandler = (event: any) => this.manager.getZone().runGuarded(() => originalHandler(event));\r\n\r\n // create debounced handler\r\n const debouncedHandler = debounce(innerHandler, milliseconds,\r\n { leading: option === 'leading', trailing: option === 'trailing' });\r\n\r\n // register event with debounced handler\r\n return this.manager.addEventListener(element, this.unwrapEventName(eventName), debouncedHandler);\r\n }\r\n}\r\n","/* eslint-disable @typescript-eslint/ban-types */\r\nimport { Injectable } from '@angular/core';\r\nimport { EntryEventManagerPlugin } from './abstract.plugin';\r\nimport { throttle } from 'lodash-es';\r\n\r\n/**\r\n * Provides event plugin for throttling events.\r\n *\r\n * How to use:\r\n * <button (click.throttle)=\"doSomething($event)\">\r\n * <input (keyup.throttle.500)=\"doSomething($event)\">\r\n */\r\n@Injectable()\r\nexport class ThrottleEventPlugin extends EntryEventManagerPlugin {\r\n\r\n modifier = '.throttle';\r\n\r\n addEventListener(element: HTMLElement, eventName: string, originalHandler: Function): Function {\r\n // e.g. (keyup.throttle.500)\r\n const [_modifier, milliseconds = 500] = this.unwrapParams(eventName);\r\n\r\n // run original handler inside ngZone in which the event occurred\r\n const innerHandler = (event: any) => this.manager.getZone().runGuarded(() => originalHandler(event));\r\n\r\n // create throttled handler\r\n const throttledHandler = throttle(innerHandler, milliseconds);\r\n\r\n // register event with throttled handler\r\n return this.manager.addEventListener(element, this.unwrapEventName(eventName), throttledHandler);\r\n }\r\n}\r\n","import { ModuleWithProviders, NgModule, Provider } from '@angular/core';\nimport { CommonModule } from '@angular/common';\n\n/** Directives */\n\nimport { AutoDisableButtonDirective } from './directives/auto-disable-button.directive';\nimport { ScrollToInvalidControlDirective } from './directives/scroll-to-invalid-control.directive';\nimport { NoopControlValueAccessorDirective } from './directives/noop-control-value-accessor';\nimport { NgControlAccessorDirective } from './directives/ng-control-accessor.directive';\n\nconst DIRECTIVES = [\n AutoDisableButtonDirective,\n ScrollToInvalidControlDirective,\n NoopControlValueAccessorDirective,\n NgControlAccessorDirective\n];\n\n/** Event plugins */\n\nimport { DebounceEventPlugin } from './event-plugins/debounce.plugin';\nimport { ThrottleEventPlugin } from './event-plugins/throttle.plugin';\nimport { EVENT_MANAGER_PLUGINS } from '@angular/platform-browser';\n\nconst EVENT_PLUGINS = [\n DebounceEventPlugin,\n ThrottleEventPlugin\n];\n\nexport const NG_EVENT_PLUGINS: Provider[] = EVENT_PLUGINS.map(useClass => ({\n provide: EVENT_MANAGER_PLUGINS,\n multi: true,\n useClass\n}));\n\n\n@NgModule({\n declarations: [\n ],\n imports: [\n CommonModule,\n DIRECTIVES\n ],\n exports: [\n DIRECTIVES\n ]\n})\nexport class EntryCommonModule {\n static forRoot(): ModuleWithProviders<EntryCommonModule> {\n return {\n ngModule: EntryCommonModule,\n providers: NG_EVENT_PLUGINS\n };\n }\n}\n","import { InjectionToken, Provider } from '@angular/core';\r\n\r\nexport function createInjectionToken<T>(defaultValue: T): InjectionToken<T> {\r\n return new InjectionToken<T>(defaultValue.constructor.name,\r\n {\r\n providedIn: 'root',\r\n factory: () => defaultValue\r\n }\r\n );\r\n}\r\n\r\nexport function provideConfig<T>(token: InjectionToken<T>, factory: () => T): Provider {\r\n return {\r\n provide: token,\r\n useFactory: factory\r\n };\r\n}\r\n","import { Injectable, LOCALE_ID, inject } from '@angular/core';\nimport {\n HttpRequest,\n HttpHandler,\n HttpEvent,\n HttpInterceptor\n} from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\n/**\n * Sets the Accept-Language HTTP request header using the value from LOCALE_ID.\n */\n@Injectable()\nexport class AcceptLanguageInterceptor implements HttpInterceptor {\n private localeId = inject(LOCALE_ID);\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler): Observable<HttpEvent<unknown>> {\n const newRequest = request.clone({\n headers: request.headers.set('Accept-Language', this.localeId)\n });\n return next.handle(newRequest);\n }\n}\n","import { Injectable } from \"@angular/core\";\n\n@Injectable()\nexport abstract class EntryTimeAdapter<D> {\n abstract getHours(date: D): number;\n abstract getMinutes(date: D): number;\n abstract getSeconds(date: D): number;\n abstract setTime(date: D, hours: number, minutes: number, seconds: number): D;\n}","import { Inject, Injectable, Optional, SkipSelf } from '@angular/core';\nimport { DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { EntryTimeAdapter } from './entry-time-adapter';\n\n/**\n * Extends DateAdapter with time support. Used by EntryDateTimePicker component.\n */\n@Injectable()\nexport class EntryDateTimeAdapter<D, L> extends DateAdapter<D, L> implements EntryTimeAdapter<D> {\n\n\tconstructor(\n\t\t@Optional() @Inject(MAT_DATE_LOCALE) matDateLocale: L,\n\t\t@SkipSelf() private readonly dateAdapter: DateAdapter<D, L>,\n\t\tprivate readonly timeAdapter: EntryTimeAdapter<D>) {\n\t\tsuper();\n\t\tthis.dateAdapter.setLocale(matDateLocale);\n\t}\n\n\tgetYear(date: D): number {\n\t\treturn this.dateAdapter.getYear(date);\n\t}\n\n\tgetMonth(date: D): number {\n\t\treturn this.dateAdapter.getMonth(date);\n\t}\n\n\tgetDate(date: D): number {\n\t\treturn this.dateAdapter.getDate(date);\n\t}\n\n\tgetDayOfWeek(date: D): number {\n\t\treturn this.dateAdapter.getDayOfWeek(date);\n\t}\n\n\tgetMonthNames(style: 'long' | 'short' | 'narrow'): string[] {\n\t\treturn this.dateAdapter.getMonthNames(style);\n\t}\n\n\tgetDateNames(): string[] {\n\t\treturn this.dateAdapter.getDateNames();\n\t}\n\n\tgetDayOfWeekNames(style: 'long' | 'short' | 'narrow'): string[] {\n\t\treturn this.dateAdapter.getDayOfWeekNames(style);\n\t}\n\n\tgetYearName(date: D): string {\n\t\treturn this.dateAdapter.getYearName(date);\n\t}\n\n\tgetFirstDayOfWeek(): number {\n\t\treturn this.dateAdapter.getFirstDayOfWeek();\n\t}\n\n\tgetNumDaysInMonth(date: D): number {\n\t\treturn this.dateAdapter.getNumDaysInMonth(date);\n\t}\n\n\tclone(date: D): D {\n\t\treturn this.dateAdapter.clone(date);\n\t}\n\n\tcreateDate(year: number, month: number, date: number): D {\n\t\treturn this.dateAdapter.createDate(year, month, date);\n\t}\n\n\ttoday(): D {\n\t\treturn this.dateAdapter.today();\n\t}\n\n\tparse(value: any, parseFormat: any): D {\n\t\treturn this.dateAdapter.parse(value, parseFormat);\n\t}\n\n\tformat(date: D, displayFormat: any): string {\n\t\treturn this.dateAdapter.format(date, displayFormat);\n\t}\n\n\taddCalendarYears(date: D, years: number): D {\n\t\treturn this.dateAdapter.addCalendarYears(date, years);\n\t}\n\n\taddCalendarMonths(date: D, months: number): D {\n\t\treturn this.dateAdapter.addCalendarMonths(date, months);\n\t}\n\n\taddCalendarDays(date: D, days: number): D {\n\t\treturn this.dateAdapter.addCalendarDays(date, days);\n\t}\n\n\ttoIso8601(date: D): string {\n\t\treturn this.dateAdapter.toIso8601(date);\n\t}\n\n\tisDateInstance(obj: any): boolean {\n\t\treturn this.dateAdapter.isDateInstance(obj);\n\t}\n\n\tisValid(date: D): boolean {\n\t\treturn this.dateAdapter.isValid(date);\n\t}\n\n\tinvalid(): D {\n\t\treturn this.dateAdapter.invalid();\n\t}\n\n\tgetHours(date: D): number {\n\t\treturn this.timeAdapter.getHours(date);\n\t}\n\n\tgetMinutes(date: D): number {\n\t\treturn this.timeAdapter.getMinutes(date);\n\t}\n\n\tgetSeconds(date: D): number {\n\t\treturn this.timeAdapter.getSeconds(date);\n\t}\n\n\tsetTime(date: D, hours: number, minutes: number, seconds: number): D {\n\t\treturn this.timeAdapter.setTime(date, hours, minutes, seconds);\n\t}\n\n\tis12HoursClock(displayFormat: any): boolean {\n\t\tconst now = this.format(this.today(), displayFormat).toLowerCase();\n\t\treturn now.includes('a') || now.includes('p');\n\t}\n\n\toverride compareDate(first: D, second: D): number {\n\t\treturn this.getYear(first) - this.getYear(second) ||\n\t\t\tthis.getMonth(first) - this.getMonth(second) ||\n\t\t\tthis.getDate(first) - this.getDate(second) ||\n\t\t\tthis.getHours(first) - this.getHours(second) ||\n\t\t\tthis.getMinutes(first) - this.getMinutes(second) ||\n\t\t\tthis.getSeconds(first) - this.getSeconds(second);\n\t}\n\n}\n","import { InjectionToken } from '@angular/core';\nimport { MatDateFormats } from '@angular/material/core';\n\nexport type EntryDateTimeFormats = MatDateFormats;\n\nexport const defaultDateTimeFormats = {\n parse: {\n dateInput: ['dd-MM-yyyy', 'dd-MM-yyyy HH', 'dd-MM-yyyy HH:mm'],\n },\n display: {\n dateInput: 'dd-MM-yyyy HH:mm',\n monthYearLabel: { year: 'numeric', month: 'short' },\n dateA11yLabel: { year: 'numeric', month: 'long', day: 'numeric' },\n monthYearA11yLabel: { year: 'numeric', month: 'long' }\n }\n};\n\nexport const ENTRY_MAT_DATE_TIME_FORMATS = new InjectionToken<EntryDateTimeFormats>('entry-date-time-formats');","import { Injectable, Provider } from \"@angular/core\";\nimport { EntryTimeAdapter } from \"./entry-time-adapter\";\nimport { EntryDateTimeFormats, defaultDateTimeFormats, ENTRY_MAT_DATE_TIME_FORMATS } from \"./entry-date-time-formats\";\n\n@Injectable()\nexport class EntryNativeTimeAdapter extends EntryTimeAdapter<Date> {\n\n getHours(date: Date): number {\n return date?.getHours();\n }\n\n getMinutes(date: Date): number {\n return date?.getMinutes();\n }\n\n getSeconds(date: Date): number {\n return date?.getSeconds();\n }\n\n setTime(date: Date, hours: number, minutes: number, seconds: number): Date {\n date?.setHours(hours, minutes, seconds, 0);\n return date;\n }\n}\n\nexport function provideEntryNativeTimeAdapter(dateTimeFormats: EntryDateTimeFormats = defaultDateTimeFormats): Provider[] {\n return [\n { provide: EntryTimeAdapter, useClass: EntryNativeTimeAdapter },\n { provide: ENTRY_MAT_DATE_TIME_FORMATS, useValue: dateTimeFormats }\n ]\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["takeUntil","i1","i2.EntryTimeAdapter"],"mappings":"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"}
|