@mediusinc/mng-commons 7.0.0-rc.1 → 7.0.0-rc.3
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/core/index.d.ts +24 -4
- package/fesm2022/mediusinc-mng-commons-core.mjs +108 -72
- package/fesm2022/mediusinc-mng-commons-core.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-filter.mjs +16 -0
- package/fesm2022/mediusinc-mng-commons-filter.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-form.mjs +406 -49
- package/fesm2022/mediusinc-mng-commons-form.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-model.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DnEnjeJ9.mjs +30 -0
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-DnEnjeJ9.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BuhoFRkG.mjs +2700 -0
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BuhoFRkG.mjs.map +1 -0
- package/fesm2022/mediusinc-mng-commons-table.mjs +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api-class.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs +31 -3
- package/fesm2022/mediusinc-mng-commons-tableview-api.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons-tableview.mjs +155 -123
- package/fesm2022/mediusinc-mng-commons-tableview.mjs.map +1 -1
- package/fesm2022/mediusinc-mng-commons.mjs.map +1 -1
- package/filter/index.d.ts +13 -0
- package/form/index.d.ts +109 -22
- package/i18n/en.json +12 -1
- package/i18n/sl.json +12 -1
- package/package.json +24 -24
- package/table/api/index.d.ts +2 -2
- package/table/index.d.ts +97 -29
- package/tableview/api/index.d.ts +17 -2
- package/tableview/index.d.ts +7 -1
- package/version-info.json +6 -6
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-0Dtv48mq.mjs +0 -30
- package/fesm2022/mediusinc-mng-commons-table-column-toggle.component-0Dtv48mq.mjs.map +0 -1
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BsAwyXiN.mjs +0 -2417
- package/fesm2022/mediusinc-mng-commons-table-mediusinc-mng-commons-table-BsAwyXiN.mjs.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NgTemplateOutlet } from '@angular/common';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { forwardRef, inject, Injector, DestroyRef, input, booleanAttribute, output, viewChild, signal, computed, effect, ChangeDetectionStrategy, Component,
|
|
3
|
+
import { forwardRef, inject, Injector, DestroyRef, input, booleanAttribute, output, viewChild, signal, computed, effect, ChangeDetectionStrategy, ViewEncapsulation, Component, numberAttribute, ChangeDetectorRef, ElementRef, Renderer2, afterNextRender, Directive } from '@angular/core';
|
|
4
4
|
import { takeUntilDestroyed, toObservable as toObservable$1 } from '@angular/core/rxjs-interop';
|
|
5
5
|
import * as i1 from '@angular/forms';
|
|
6
6
|
import { NG_VALUE_ACCESSOR, FormsModule, NG_VALIDATORS, FormBuilder, Validators, ReactiveFormsModule, NgControl } from '@angular/forms';
|
|
@@ -10,8 +10,13 @@ import { InputGroup } from 'primeng/inputgroup';
|
|
|
10
10
|
import { InputGroupAddon } from 'primeng/inputgroupaddon';
|
|
11
11
|
import { ReplaySubject, take, switchMap, of, merge, Subject, distinctUntilChanged, debounceTime, combineLatest, tap, map as map$1 } from 'rxjs';
|
|
12
12
|
import { map } from 'rxjs/operators';
|
|
13
|
-
import { LoggerService, CommonsInternalError, FilterMatchMode, fromSubscribeError, getErrorLogLevel, toObservable, narrowI18nToTranslation, TemplateDirective } from '@mediusinc/mng-commons/core';
|
|
13
|
+
import { LoggerService, CommonsInternalError, FilterMatchMode, fromSubscribeError, getErrorLogLevel, toObservable, narrowI18nToTranslation, booleanWithDefaultAttribute, TemplateDirective } from '@mediusinc/mng-commons/core';
|
|
14
|
+
import { Divider } from 'primeng/divider';
|
|
14
15
|
import { DatePicker } from 'primeng/datepicker';
|
|
16
|
+
import * as i1$1 from 'primeng/inputmask';
|
|
17
|
+
import { InputMask, InputMaskModule } from 'primeng/inputmask';
|
|
18
|
+
import { Listbox } from 'primeng/listbox';
|
|
19
|
+
import { Overlay } from 'primeng/overlay';
|
|
15
20
|
import { MultiSelect } from 'primeng/multiselect';
|
|
16
21
|
import { Select } from 'primeng/select';
|
|
17
22
|
import { InputNumber } from 'primeng/inputnumber';
|
|
@@ -294,6 +299,32 @@ class AutocompleteComponent {
|
|
|
294
299
|
});
|
|
295
300
|
}
|
|
296
301
|
}
|
|
302
|
+
else if (optionsValuePropertyInit && Array.isArray(value) && value?.length > 0) {
|
|
303
|
+
const matchedItems = value?.map(v => this.suggestions().find(i => v == i[optionsValuePropertyInit])).filter(Boolean);
|
|
304
|
+
if (matchedItems && matchedItems.length === value?.length) {
|
|
305
|
+
this.setValueFromWrite(matchedItems);
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
this.getLookup({
|
|
309
|
+
limit: 50
|
|
310
|
+
})
|
|
311
|
+
.pipe(take(1))
|
|
312
|
+
.subscribe({
|
|
313
|
+
next: items => {
|
|
314
|
+
const matchedItems = value?.map(v => items.find(i => v == i[optionsValuePropertyInit])).filter(Boolean);
|
|
315
|
+
if (matchedItems && matchedItems.length === value?.length) {
|
|
316
|
+
this.setValueFromWrite(matchedItems);
|
|
317
|
+
}
|
|
318
|
+
else {
|
|
319
|
+
this.setValueFromWrite(value);
|
|
320
|
+
}
|
|
321
|
+
},
|
|
322
|
+
error: () => {
|
|
323
|
+
this.setValueFromWrite(value);
|
|
324
|
+
}
|
|
325
|
+
});
|
|
326
|
+
}
|
|
327
|
+
}
|
|
297
328
|
else {
|
|
298
329
|
this.setValueFromWrite(value);
|
|
299
330
|
}
|
|
@@ -442,13 +473,310 @@ class AutocompleteComponent {
|
|
|
442
473
|
return value;
|
|
443
474
|
}
|
|
444
475
|
}
|
|
445
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
446
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
476
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AutocompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
477
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: AutocompleteComponent, isStandalone: true, selector: "mng-autocomplete", inputs: { dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: true, transformFunction: null }, optionsTrackProperty: { classPropertyName: "optionsTrackProperty", publicName: "optionsTrackProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsValuePropertyInit: { classPropertyName: "optionsValuePropertyInit", publicName: "optionsValueProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsLabelPropertyInit: { classPropertyName: "optionsLabelPropertyInit", publicName: "optionsLabelProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsLabelTranslate: { classPropertyName: "optionsLabelTranslate", publicName: "optionsLabelTranslate", isSignal: true, isRequired: false, transformFunction: null }, inlineSearch: { classPropertyName: "inlineSearch", publicName: "inlineSearch", isSignal: true, isRequired: false, transformFunction: null }, openOnFocus: { classPropertyName: "openOnFocus", publicName: "openOnFocus", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, dropdownClassName: { classPropertyName: "dropdownClassName", publicName: "dropdownClassName", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, autoClear: { classPropertyName: "autoClear", publicName: "autoClear", isSignal: true, isRequired: false, transformFunction: null }, selectFirst: { classPropertyName: "selectFirst", publicName: "selectFirst", isSignal: true, isRequired: false, transformFunction: null }, searchTrim: { classPropertyName: "searchTrim", publicName: "searchTrim", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", blur: "blur" }, providers: [AUTOCOMPLETE_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeAutocomplete", first: true, predicate: AutoComplete, descendants: true, isSignal: true }], ngImport: i0, template: "<p-inputgroup [class]=\"{'has-prepends': prependTemplates().length > 0}\">\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n <p-autoComplete\n [ngModel]=\"ngModelValue()\"\n [placeholder]=\"placeholder()\"\n [dropdown]=\"true\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [suggestions]=\"suggestions()\"\n [multiple]=\"multiselect()\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [inputStyle]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\"\n [minLength]=\"openOnFocus() ? 0 : 1\"\n [showClear]=\"showClear()\"\n [forceSelection]=\"autoClear()\"\n [disabled]=\"disabled()\"\n [completeOnFocus]=\"openOnFocus()\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n (onUnselect)=\"onUnselect($event)\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onClear)=\"onClear()\"\n (onShow)=\"onShow()\"\n (onHide)=\"onHide()\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n </p-autoComplete>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n", styles: [".has-prepends .p-autocomplete-input-multiple{border-top-left-radius:0!important;border-bottom-left-radius:0!important}p-inputgroup{font-size:1rem}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AutoComplete, selector: "p-autoComplete, p-autocomplete, p-auto-complete", inputs: ["minLength", "minQueryLength", "delay", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "addOnTab", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "typeahead", "addOnBlur", "separator", "appendTo"], outputs: ["completeMethod", "onSelect", "onUnselect", "onAdd", "onFocus", "onBlur", "onDropdownClick", "onClear", "onInputKeydown", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
447
478
|
}
|
|
448
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
479
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AutocompleteComponent, decorators: [{
|
|
449
480
|
type: Component,
|
|
450
|
-
args: [{ selector: 'mng-autocomplete', providers: [AUTOCOMPLETE_VALUE_ACCESSOR], imports: [TranslatePipe, FormsModule, AutoComplete, InputGroup, InputGroupAddon, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-inputgroup>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n <p-autoComplete\n [ngModel]=\"ngModelValue()\"\n [placeholder]=\"placeholder()\"\n [dropdown]=\"true\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [suggestions]=\"suggestions()\"\n [multiple]=\"multiselect()\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [inputStyle]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\"\n [minLength]=\"openOnFocus() ? 0 : 1\"\n [showClear]=\"showClear()\"\n [forceSelection]=\"autoClear()\"\n [disabled]=\"disabled()\"\n [completeOnFocus]=\"openOnFocus()\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n (onUnselect)=\"onUnselect($event)\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onClear)=\"onClear()\"\n (onShow)=\"onShow()\"\n (onHide)=\"onHide()\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n </p-autoComplete>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n" }]
|
|
451
|
-
}], ctorParameters: () => [] });
|
|
481
|
+
args: [{ selector: 'mng-autocomplete', encapsulation: ViewEncapsulation.None, providers: [AUTOCOMPLETE_VALUE_ACCESSOR], imports: [TranslatePipe, FormsModule, AutoComplete, InputGroup, InputGroupAddon, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-inputgroup [class]=\"{'has-prepends': prependTemplates().length > 0}\">\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n <p-autoComplete\n [ngModel]=\"ngModelValue()\"\n [placeholder]=\"placeholder()\"\n [dropdown]=\"true\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [suggestions]=\"suggestions()\"\n [multiple]=\"multiselect()\"\n [showEmptyMessage]=\"true\"\n [emptyMessage]=\"'mngAutocomplete.noMatches' | translate\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [inputStyle]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\"\n [minLength]=\"openOnFocus() ? 0 : 1\"\n [showClear]=\"showClear()\"\n [forceSelection]=\"autoClear()\"\n [disabled]=\"disabled()\"\n [completeOnFocus]=\"openOnFocus()\"\n (completeMethod)=\"onSearch($event)\"\n (onSelect)=\"onSelect($event)\"\n (onUnselect)=\"onUnselect($event)\"\n (onFocus)=\"onFocus($event)\"\n (onBlur)=\"onBlur($event)\"\n (onClear)=\"onClear()\"\n (onShow)=\"onShow()\"\n (onHide)=\"onHide()\"\n appendTo=\"body\"\n dropdownMode=\"current\">\n </p-autoComplete>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n", styles: [".has-prepends .p-autocomplete-input-multiple{border-top-left-radius:0!important;border-bottom-left-radius:0!important}p-inputgroup{font-size:1rem}\n"] }]
|
|
482
|
+
}], ctorParameters: () => [], propDecorators: { dataProvider: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataProvider", required: true }] }], optionsTrackProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsTrackProperty", required: false }] }], optionsValuePropertyInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsValueProperty", required: false }] }], optionsLabelPropertyInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsLabelProperty", required: false }] }], optionsLabelTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsLabelTranslate", required: false }] }], inlineSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSearch", required: false }] }], openOnFocus: [{ type: i0.Input, args: [{ isSignal: true, alias: "openOnFocus", required: false }] }], multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], dropdownClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownClassName", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], autoClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "autoClear", required: false }] }], selectFirst: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectFirst", required: false }] }], searchTrim: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchTrim", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], blur: [{ type: i0.Output, args: ["blur"] }], primeAutocomplete: [{ type: i0.ViewChild, args: [i0.forwardRef(() => AutoComplete), { isSignal: true }] }] } });
|
|
483
|
+
|
|
484
|
+
const DATETIME_PICKER_VALUE_ACCESSOR = {
|
|
485
|
+
provide: NG_VALUE_ACCESSOR,
|
|
486
|
+
useExisting: forwardRef(() => DatetimePickerComponent),
|
|
487
|
+
multi: true
|
|
488
|
+
};
|
|
489
|
+
const DATETIME_PICKER_VALIDATOR = {
|
|
490
|
+
provide: NG_VALIDATORS,
|
|
491
|
+
useExisting: forwardRef(() => DatetimePickerComponent),
|
|
492
|
+
multi: true
|
|
493
|
+
};
|
|
494
|
+
class DatetimePickerComponent {
|
|
495
|
+
constructor() {
|
|
496
|
+
// Track form state/callbacks
|
|
497
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
498
|
+
this.onChangeFn = () => { };
|
|
499
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
500
|
+
this.onTouchedFn = () => { };
|
|
501
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
502
|
+
this.onValidatorChangeFn = () => { };
|
|
503
|
+
//////////////////////
|
|
504
|
+
//////////////////////
|
|
505
|
+
//////////////////////
|
|
506
|
+
this.templates = input([], ...(ngDevMode ? [{ debugName: "templates" }] : []));
|
|
507
|
+
this.prependTemplates = computed(() => this.templates().filter(t => t.name() === 'prepend'), ...(ngDevMode ? [{ debugName: "prependTemplates" }] : []));
|
|
508
|
+
this.appendTemplates = computed(() => this.templates().filter(t => t.name() === 'append'), ...(ngDevMode ? [{ debugName: "appendTemplates" }] : []));
|
|
509
|
+
// custom inputs
|
|
510
|
+
this.timeInput = input(false, ...(ngDevMode ? [{ debugName: "timeInput", alias: 'time', transform: booleanAttribute }] : [{ alias: 'time', transform: booleanAttribute }]));
|
|
511
|
+
this.timeSelect = input(true, ...(ngDevMode ? [{ debugName: "timeSelect", transform: v => booleanWithDefaultAttribute(v, true) }] : [{ transform: v => booleanWithDefaultAttribute(v, true) }]));
|
|
512
|
+
this.timeSelectInterval = input(60, ...(ngDevMode ? [{ debugName: "timeSelectInterval", transform: v => numberAttribute(v, 60) }] : [{ transform: v => numberAttribute(v, 60) }])); // minutes
|
|
513
|
+
this.secondsInput = input(false, ...(ngDevMode ? [{ debugName: "secondsInput", alias: 'seconds', transform: booleanAttribute }] : [{ alias: 'seconds', transform: booleanAttribute }]));
|
|
514
|
+
this.milliseconds = input(false, ...(ngDevMode ? [{ debugName: "milliseconds", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
515
|
+
this.primeTimePicker = input(false, ...(ngDevMode ? [{ debugName: "primeTimePicker", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
516
|
+
// default inputs
|
|
517
|
+
this.dateFormat = input('dd/mm/yy', ...(ngDevMode ? [{ debugName: "dateFormat" }] : []));
|
|
518
|
+
this.placeholder = input(...(ngDevMode ? [undefined, { debugName: "placeholder" }] : []));
|
|
519
|
+
this.minDate = input(null, ...(ngDevMode ? [{ debugName: "minDate" }] : []));
|
|
520
|
+
this.maxDate = input(null, ...(ngDevMode ? [{ debugName: "maxDate" }] : []));
|
|
521
|
+
this.disabledInput = input(false, ...(ngDevMode ? [{ debugName: "disabledInput", alias: 'disabled', transform: booleanAttribute }] : [{ alias: 'disabled', transform: booleanAttribute }]));
|
|
522
|
+
this.required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
523
|
+
this.showIcon = input(true, ...(ngDevMode ? [{ debugName: "showIcon", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
524
|
+
this.showButtonBar = input(false, ...(ngDevMode ? [{ debugName: "showButtonBar", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
525
|
+
this.showClear = input(false, ...(ngDevMode ? [{ debugName: "showClear", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
526
|
+
this.className = input('', ...(ngDevMode ? [{ debugName: "className" }] : []));
|
|
527
|
+
this.panelStyleClass = input(...(ngDevMode ? [undefined, { debugName: "panelStyleClass" }] : []));
|
|
528
|
+
this.inputStyleClass = input(...(ngDevMode ? [undefined, { debugName: "inputStyleClass" }] : []));
|
|
529
|
+
this.dateRange = input(false, ...(ngDevMode ? [{ debugName: "dateRange", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
530
|
+
// eslint-disable-next-line @angular-eslint/no-output-native
|
|
531
|
+
this.blur = output();
|
|
532
|
+
this.maskInput = viewChild(InputMask, ...(ngDevMode ? [{ debugName: "maskInput" }] : []));
|
|
533
|
+
// signals
|
|
534
|
+
this.time = computed(() => this.timeInput() || this.seconds() || this.milliseconds(), ...(ngDevMode ? [{ debugName: "time" }] : []));
|
|
535
|
+
this.seconds = computed(() => this.secondsInput() || this.milliseconds(), ...(ngDevMode ? [{ debugName: "seconds" }] : []));
|
|
536
|
+
// this value will be inside the date
|
|
537
|
+
this.displayDate = signal(null, ...(ngDevMode ? [{ debugName: "displayDate" }] : []));
|
|
538
|
+
this.selectedDate = signal(null, ...(ngDevMode ? [{ debugName: "selectedDate" }] : []));
|
|
539
|
+
// bind to time selection. Type is string, but any manipulation is done in a Date object
|
|
540
|
+
this.selectedTime = signal(null, ...(ngDevMode ? [{ debugName: "selectedTime" }] : []));
|
|
541
|
+
this.overlayVisible = signal(false, ...(ngDevMode ? [{ debugName: "overlayVisible" }] : []));
|
|
542
|
+
// signal for formControl disabled state
|
|
543
|
+
this._disabled = signal(false, ...(ngDevMode ? [{ debugName: "_disabled" }] : []));
|
|
544
|
+
this.disabled = computed(() => this.disabledInput() || this._disabled(), ...(ngDevMode ? [{ debugName: "disabled" }] : []));
|
|
545
|
+
// mask: it must be all nine otherwise will auto complete before you start
|
|
546
|
+
// format: ensures that even if the user doesn't enter the whole value, the rest will fill out by itself
|
|
547
|
+
// placeholder: just a nice placeholder for user convenience
|
|
548
|
+
this.inputMaskConfig = computed(() => {
|
|
549
|
+
if (this.seconds()) {
|
|
550
|
+
if (this.milliseconds()) {
|
|
551
|
+
return { mask: '99:99:99.999', format: '00:00:00.000', placeholder: this.disabled() ? undefined : '12:00:00.000' };
|
|
552
|
+
}
|
|
553
|
+
else {
|
|
554
|
+
return { mask: '99:99:99', format: '00:00:00', placeholder: this.disabled() ? undefined : '12:00:00' };
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
return { mask: '99:99', format: '00:00', placeholder: this.disabled() ? undefined : '12:00' };
|
|
559
|
+
}
|
|
560
|
+
}, ...(ngDevMode ? [{ debugName: "inputMaskConfig" }] : []));
|
|
561
|
+
this.selectOptions = computed(() => {
|
|
562
|
+
const options = [];
|
|
563
|
+
// 24 * 60
|
|
564
|
+
for (let minutes = 0; minutes < 1440; minutes += this.timeSelectInterval()) {
|
|
565
|
+
const interval = new Date(0, 0, 0, 0, minutes);
|
|
566
|
+
options.push({
|
|
567
|
+
label: this.formatOptionLabel(interval),
|
|
568
|
+
value: this.formatOptionValue(interval)
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
return options;
|
|
572
|
+
}, ...(ngDevMode ? [{ debugName: "selectOptions" }] : []));
|
|
573
|
+
this.timeValid = signal(true, ...(ngDevMode ? [{ debugName: "timeValid" }] : []));
|
|
574
|
+
this.formatOptionLabel = (date) => {
|
|
575
|
+
const hh = date.getHours().toString().padStart(2, '0');
|
|
576
|
+
const mm = date.getMinutes().toString().padStart(2, '0');
|
|
577
|
+
return `${hh}:${mm}`;
|
|
578
|
+
};
|
|
579
|
+
this.formatOptionValue = (date) => {
|
|
580
|
+
const hh = date.getHours().toString().padStart(2, '0');
|
|
581
|
+
const mm = date.getMinutes().toString().padStart(2, '0');
|
|
582
|
+
// options values must stay true to the format, for the value and dropdown option to stay sync
|
|
583
|
+
if (this.seconds()) {
|
|
584
|
+
if (this.milliseconds()) {
|
|
585
|
+
return `${hh}:${mm}:00.000`;
|
|
586
|
+
}
|
|
587
|
+
else {
|
|
588
|
+
return `${hh}:${mm}:00`;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
return `${hh}:${mm}`;
|
|
592
|
+
};
|
|
593
|
+
}
|
|
594
|
+
//////////////////////
|
|
595
|
+
//////////////////////
|
|
596
|
+
//////////////////////
|
|
597
|
+
writeValue(obj) {
|
|
598
|
+
if (this.dateRange()) {
|
|
599
|
+
const value = Array.isArray(obj) && (obj?.length ?? 0) >= 2
|
|
600
|
+
? obj
|
|
601
|
+
.slice(0, 2)
|
|
602
|
+
.map(v => (typeof v === 'string' || typeof v === 'number' || v instanceof Date ? new Date(v) : null))
|
|
603
|
+
.filter(v => v != null)
|
|
604
|
+
: null;
|
|
605
|
+
const normalized = value && value.length === 2 ? value : null;
|
|
606
|
+
this.displayDate.set(normalized);
|
|
607
|
+
}
|
|
608
|
+
else {
|
|
609
|
+
let value = typeof obj === 'string' || typeof obj === 'number' || obj instanceof Date ? new Date(obj) : null;
|
|
610
|
+
if (value && isNaN(value.getTime()))
|
|
611
|
+
value = null;
|
|
612
|
+
const dateValue = value ? new Date(value.getFullYear(), value.getMonth(), value.getDate()) : null;
|
|
613
|
+
// keep this way, because of time zones
|
|
614
|
+
let timeValue = value
|
|
615
|
+
? `${value.getHours().toString().padStart(2, '0')}:` +
|
|
616
|
+
`${value.getMinutes().toString().padStart(2, '0')}:` +
|
|
617
|
+
`${value.getSeconds().toString().padStart(2, '0')}.` +
|
|
618
|
+
`${value.getMilliseconds().toString().padStart(3, '0')}`
|
|
619
|
+
: null;
|
|
620
|
+
if (this.time() && !this.seconds()) {
|
|
621
|
+
timeValue = timeValue?.substring(0, 6) ?? null;
|
|
622
|
+
}
|
|
623
|
+
else if (this.time() && !this.milliseconds()) {
|
|
624
|
+
timeValue = timeValue?.substring(0, 8) ?? null;
|
|
625
|
+
}
|
|
626
|
+
this.displayDate.set(value); // Date Object
|
|
627
|
+
this.selectedDate.set(dateValue); // Only Date
|
|
628
|
+
// Only time as a string
|
|
629
|
+
this.selectedTime.set(timeValue);
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
registerOnChange(fn) {
|
|
633
|
+
this.onChangeFn = fn;
|
|
634
|
+
}
|
|
635
|
+
registerOnTouched(fn) {
|
|
636
|
+
this.onTouchedFn = fn;
|
|
637
|
+
}
|
|
638
|
+
setDisabledState(isDisabled) {
|
|
639
|
+
this._disabled.set(isDisabled);
|
|
640
|
+
}
|
|
641
|
+
registerOnValidatorChange(fn) {
|
|
642
|
+
this.onValidatorChangeFn = fn; // store reference if needed
|
|
643
|
+
}
|
|
644
|
+
validate() {
|
|
645
|
+
this.timeValid.set(this.isTimeParsedValid(this.parseTime(this.selectedTime())));
|
|
646
|
+
return this.timeValid() ? null : { invalidTime: true };
|
|
647
|
+
}
|
|
648
|
+
isTimeParsedValid(time) {
|
|
649
|
+
// Validate ranges
|
|
650
|
+
return !this.time() || time == null || (time.hours <= 23 && time.minutes <= 59 && time.seconds <= 59 && time.milliseconds <= 999);
|
|
651
|
+
}
|
|
652
|
+
parseTime(time) {
|
|
653
|
+
if (time == null) {
|
|
654
|
+
return null;
|
|
655
|
+
}
|
|
656
|
+
const cleaned = time.replace(/_/g, '0');
|
|
657
|
+
// Regex for all formats: HH:mm, HH:mm:ss, HH:mm:ss.SSS
|
|
658
|
+
const regex = /^(\d{2}):(\d{2})(?::(\d{2}))?(?:\.(\d{0,3}))?$/;
|
|
659
|
+
const match = cleaned.match(regex);
|
|
660
|
+
if (match) {
|
|
661
|
+
const hh = +match[1]; // Hours
|
|
662
|
+
const mm = +match[2]; // Minutes
|
|
663
|
+
const ss = match[3] ? +match[3] : 0; // Seconds (default 0)
|
|
664
|
+
const ms = match[4] ? +match[4].padEnd(3, '0') : 0; // Milliseconds (default 0)
|
|
665
|
+
return { hours: hh, minutes: mm, seconds: ss, milliseconds: ms };
|
|
666
|
+
}
|
|
667
|
+
return null;
|
|
668
|
+
}
|
|
669
|
+
//////////////////////
|
|
670
|
+
//////////////////////
|
|
671
|
+
//////////////////////
|
|
672
|
+
onDateEnter() {
|
|
673
|
+
const value = this.displayDate();
|
|
674
|
+
if (value != null) {
|
|
675
|
+
this.onDateSelect(value);
|
|
676
|
+
}
|
|
677
|
+
}
|
|
678
|
+
onDateSelect(date) {
|
|
679
|
+
if (Array.isArray(this.displayDate())) {
|
|
680
|
+
this.onChangeFn(this.displayDate());
|
|
681
|
+
return;
|
|
682
|
+
}
|
|
683
|
+
this.selectedDate.set(date);
|
|
684
|
+
if (this.time() && !this.primeTimePicker())
|
|
685
|
+
this.combineAndUpdate();
|
|
686
|
+
else
|
|
687
|
+
this.onChangeFn(date);
|
|
688
|
+
}
|
|
689
|
+
onTimeSelect() {
|
|
690
|
+
this.combineAndUpdate();
|
|
691
|
+
}
|
|
692
|
+
onSelectToday() {
|
|
693
|
+
this.selectedDate.set(new Date());
|
|
694
|
+
this.combineAndUpdate();
|
|
695
|
+
}
|
|
696
|
+
onClear() {
|
|
697
|
+
this.selectedDate.set(null);
|
|
698
|
+
this.selectedTime.set(null);
|
|
699
|
+
this.displayDate.set(null);
|
|
700
|
+
this.onChangeFn(this.displayDate());
|
|
701
|
+
}
|
|
702
|
+
combineAndUpdate() {
|
|
703
|
+
// our base
|
|
704
|
+
const date = this.selectedDate();
|
|
705
|
+
// now we need to combine it and change the date value
|
|
706
|
+
const base = date ?? new Date();
|
|
707
|
+
const final = this.timeSelect() ? new Date(base.getFullYear(), base.getMonth(), base.getDate()) : new Date(base);
|
|
708
|
+
// if no date, only save when validated
|
|
709
|
+
if (this.time()) {
|
|
710
|
+
let time = this.selectedTime();
|
|
711
|
+
const isMaksInputFocused = this.maskInput()?.focused;
|
|
712
|
+
// invalid time (null/empty string). Our input mask has a default value on focus, so you can't just check for null
|
|
713
|
+
if ((time == this.inputMaskConfig().format && !isMaksInputFocused && !this.displayDate()) || time === '') {
|
|
714
|
+
this.maskInput()?.clear(); // triggers combineAndUpdate so we return
|
|
715
|
+
return; // to avoid validation
|
|
716
|
+
}
|
|
717
|
+
// if the date is selected first
|
|
718
|
+
if (date != null && time == null) {
|
|
719
|
+
const closestOption = this.findClosestOptionToNow();
|
|
720
|
+
this.selectedTime.set(closestOption.value);
|
|
721
|
+
time = closestOption.value;
|
|
722
|
+
}
|
|
723
|
+
const parsedTime = this.parseTime(time);
|
|
724
|
+
if (parsedTime != null && this.isTimeParsedValid(parsedTime)) {
|
|
725
|
+
final.setHours(parsedTime.hours, parsedTime.minutes, parsedTime.seconds, parsedTime.milliseconds);
|
|
726
|
+
this.displayDate.set(final);
|
|
727
|
+
this.onChangeFn(this.displayDate());
|
|
728
|
+
}
|
|
729
|
+
else {
|
|
730
|
+
this.onValidatorChangeFn();
|
|
731
|
+
}
|
|
732
|
+
}
|
|
733
|
+
else {
|
|
734
|
+
this.displayDate.set(final);
|
|
735
|
+
this.onChangeFn(this.displayDate());
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
findClosestOptionToNow() {
|
|
739
|
+
const now = new Date();
|
|
740
|
+
const nowMinutes = now.getHours() * 60 + now.getMinutes();
|
|
741
|
+
const options = this.selectOptions();
|
|
742
|
+
let index = Math.round(nowMinutes / this.timeSelectInterval());
|
|
743
|
+
index = Math.min(index, options.length - 1);
|
|
744
|
+
return options[index];
|
|
745
|
+
}
|
|
746
|
+
handleDateBlur(event) {
|
|
747
|
+
const value = this.displayDate();
|
|
748
|
+
if (value != null) {
|
|
749
|
+
this.onDateSelect(value);
|
|
750
|
+
}
|
|
751
|
+
this.handleBlur(event);
|
|
752
|
+
}
|
|
753
|
+
handleBlur(event) {
|
|
754
|
+
const value = this.displayDate();
|
|
755
|
+
if (value != null) {
|
|
756
|
+
this.onDateSelect(value);
|
|
757
|
+
}
|
|
758
|
+
this.onTouchedFn();
|
|
759
|
+
this.blur.emit(event);
|
|
760
|
+
}
|
|
761
|
+
focusTimeInputMask(event, inputMask) {
|
|
762
|
+
event.preventDefault();
|
|
763
|
+
inputMask.inputViewChild?.nativeElement.focus();
|
|
764
|
+
}
|
|
765
|
+
openOverlay() {
|
|
766
|
+
this.overlayVisible.set(true);
|
|
767
|
+
}
|
|
768
|
+
closeOverlay() {
|
|
769
|
+
this.overlayVisible.set(false);
|
|
770
|
+
}
|
|
771
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatetimePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
772
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DatetimePickerComponent, isStandalone: true, selector: "mng-datetime-picker", inputs: { templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null }, timeInput: { classPropertyName: "timeInput", publicName: "time", isSignal: true, isRequired: false, transformFunction: null }, timeSelect: { classPropertyName: "timeSelect", publicName: "timeSelect", isSignal: true, isRequired: false, transformFunction: null }, timeSelectInterval: { classPropertyName: "timeSelectInterval", publicName: "timeSelectInterval", isSignal: true, isRequired: false, transformFunction: null }, secondsInput: { classPropertyName: "secondsInput", publicName: "seconds", isSignal: true, isRequired: false, transformFunction: null }, milliseconds: { classPropertyName: "milliseconds", publicName: "milliseconds", isSignal: true, isRequired: false, transformFunction: null }, primeTimePicker: { classPropertyName: "primeTimePicker", publicName: "primeTimePicker", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, showIcon: { classPropertyName: "showIcon", publicName: "showIcon", isSignal: true, isRequired: false, transformFunction: null }, showButtonBar: { classPropertyName: "showButtonBar", publicName: "showButtonBar", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, panelStyleClass: { classPropertyName: "panelStyleClass", publicName: "panelStyleClass", isSignal: true, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: true, isRequired: false, transformFunction: null }, dateRange: { classPropertyName: "dateRange", publicName: "dateRange", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { blur: "blur" }, host: { classAttribute: "block" }, providers: [DATETIME_PICKER_VALUE_ACCESSOR, DATETIME_PICKER_VALIDATOR], viewQueries: [{ propertyName: "maskInput", first: true, predicate: InputMask, descendants: true, isSignal: true }], ngImport: i0, template: "<p-inputgroup class=\"flex-col gap-2\">\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <!-- Append to body, to prevent overflow in popups (like editable) -->\n <div class=\"flex gap-1\">\n <p-date-picker\n appendTo=\"body\"\n [class]=\"className() + ' basis-1/2 shrink-0'\"\n [panelStyleClass]=\"panelStyleClass()\"\n [inputStyleClass]=\"inputStyleClass()\"\n [minDate]=\"minDate()\"\n [maxDate]=\"maxDate()\"\n [showClear]=\"showClear()\"\n [placeholder]=\"placeholder()\"\n [dateFormat]=\"dateFormat()\"\n [disabled]=\"disabled()\"\n [showTime]=\"time() && primeTimePicker()\"\n [showIcon]=\"showIcon()\"\n [showSeconds]=\"primeTimePicker() && seconds()\"\n [selectionMode]=\"!time() && dateRange() ? 'range' : 'single'\"\n [showButtonBar]=\"showButtonBar()\"\n [inputStyle]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\"\n [firstDayOfWeek]=\"1\"\n [(ngModel)]=\"displayDate\"\n (onSelect)=\"onDateSelect($event)\"\n (keyup.enter)=\"onDateEnter()\"\n (onBlur)=\"handleDateBlur($event)\"\n (onClear)=\"onClear()\"\n (onTodayClick)=\"onSelectToday()\"\n (onClearClick)=\"onClear()\" />\n @if (time() && !primeTimePicker()) {\n <p-inputgroup class=\"basis-1/2 shrink-0\">\n <p-inputmask\n #InputMask\n class=\"w-full flex\"\n [invalid]=\"!timeValid()\"\n [(ngModel)]=\"selectedTime\"\n (ngModelChange)=\"onTimeSelect()\"\n [disabled]=\"disabled()\"\n [mask]=\"inputMaskConfig().mask\"\n [placeholder]=\"inputMaskConfig().placeholder\"\n [slotChar]=\"inputMaskConfig().format\"\n [showClear]=\"showClear()\"\n (onClear)=\"onClear()\"\n (click)=\"openOverlay()\"\n (onFocus)=\"openOverlay()\"\n (onBlur)=\"closeOverlay()\"\n [style]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\" />\n <button\n class=\"p-datepicker-dropdown cursor-pointer flex-shrink-0\"\n [disabled]=\"disabled()\"\n [style]=\"{borderTopLeftRadius: '0', borderBottomLeftRadius: '0'}\"\n (click)=\"focusTimeInputMask($event, InputMask)\"\n aria-label=\"Focus time mask input\">\n <i class=\"pi pi-clock\"></i>\n </button>\n </p-inputgroup>\n @if (timeSelect() && !disabled()) {\n <!-- Using display:contents rendering, so that the parents flex gap doesn\u2019t apply to this container -->\n <p-overlay class=\"contents\" [(visible)]=\"overlayVisible\" appendTo=\"body\">\n <!-- Refresh event is unnecessary, because it shares the value with the MaskInput, which then triggers ngModelChange.\n It still exists because defaultPropagation closes the popup in filters/editor on select, and disabling it, doesn't trigger the change event -->\n <p-listbox\n class=\"mr-10\"\n [options]=\"selectOptions()\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [(ngModel)]=\"selectedTime\"\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.preventDefault()\"\n (mouseup)=\"closeOverlay()\"\n (onChange)=\"onTimeSelect()\" />\n </p-overlay>\n }\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n</p-inputgroup>\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-datetime-picker .p-inputtext.p-invalid:enabled:focus{border-color:var(--p-inputtext-invalid-border-color)}\n"], dependencies: [{ kind: "component", type: DatePicker, selector: "p-datePicker, p-datepicker, p-date-picker", inputs: ["iconDisplay", "styleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "ariaLabelledBy", "ariaLabel", "iconAriaLabel", "dateFormat", "multipleSeparator", "rangeSeparator", "inline", "showOtherMonths", "selectOtherMonths", "showIcon", "icon", "readonlyInput", "shortYearCutoff", "hourFormat", "timeOnly", "stepHour", "stepMinute", "stepSecond", "showSeconds", "showOnFocus", "showWeek", "startWeekFromFirstDayOfYear", "showClear", "dataType", "selectionMode", "maxDateCount", "showButtonBar", "todayButtonStyleClass", "clearButtonStyleClass", "autofocus", "autoZIndex", "baseZIndex", "panelStyleClass", "panelStyle", "keepInvalid", "hideOnDateTimeSelect", "touchUI", "timeSeparator", "focusTrap", "showTransitionOptions", "hideTransitionOptions", "tabindex", "minDate", "maxDate", "disabledDates", "disabledDays", "showTime", "responsiveOptions", "numberOfMonths", "firstDayOfWeek", "view", "defaultDate", "appendTo"], outputs: ["onFocus", "onBlur", "onClose", "onSelect", "onClear", "onInput", "onTodayClick", "onClearClick", "onMonthChange", "onYearChange", "onClickOutside", "onShow"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "ngmodule", type: InputMaskModule }, { kind: "component", type: i1$1.InputMask, selector: "p-inputmask, p-inputMask, p-input-mask", inputs: ["type", "slotChar", "autoClear", "showClear", "style", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabel", "ariaLabelledBy", "ariaRequired", "readonly", "unmask", "characterPattern", "autofocus", "autocomplete", "keepBuffer", "mask"], outputs: ["onComplete", "onFocus", "onBlur", "onInput", "onKeydown", "onClear"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Listbox, selector: "p-listbox, p-listBox, p-list-box", inputs: ["hostName", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "ariaLabel", "selectOnFocus", "searchLocale", "focusOnHover", "filterMessage", "filterFields", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "scrollHeight", "tabindex", "multiple", "styleClass", "listStyle", "listStyleClass", "readonly", "checkbox", "filter", "filterBy", "filterMatchMode", "filterLocale", "metaKeySelection", "dataKey", "showToggleAll", "optionLabel", "optionValue", "optionGroupChildren", "optionGroupLabel", "optionDisabled", "ariaFilterLabel", "filterPlaceHolder", "emptyFilterMessage", "emptyMessage", "group", "options", "filterValue", "selectAll", "striped", "highlightOnSelect", "checkmark", "dragdrop", "dropListData", "fluid"], outputs: ["onChange", "onClick", "onDblClick", "onFilter", "onFocus", "onBlur", "onSelectAllChange", "onLazyLoad", "onDrop"] }, { kind: "component", type: Overlay, selector: "p-overlay", inputs: ["hostName", "visible", "mode", "style", "styleClass", "contentStyle", "contentStyleClass", "target", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "listener", "responsive", "options", "appendTo", "hostAttrSelector"], outputs: ["visibleChange", "onBeforeShow", "onShow", "onBeforeHide", "onHide", "onAnimationStart", "onAnimationDone"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
773
|
+
}
|
|
774
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatetimePickerComponent, decorators: [{
|
|
775
|
+
type: Component,
|
|
776
|
+
args: [{ selector: 'mng-datetime-picker', changeDetection: ChangeDetectionStrategy.OnPush, providers: [DATETIME_PICKER_VALUE_ACCESSOR, DATETIME_PICKER_VALIDATOR], imports: [DatePicker, InputGroup, InputGroupAddon, InputMaskModule, NgTemplateOutlet, FormsModule, Listbox, Overlay], encapsulation: ViewEncapsulation.None, host: {
|
|
777
|
+
class: 'block'
|
|
778
|
+
}, template: "<p-inputgroup class=\"flex-col gap-2\">\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <!-- Append to body, to prevent overflow in popups (like editable) -->\n <div class=\"flex gap-1\">\n <p-date-picker\n appendTo=\"body\"\n [class]=\"className() + ' basis-1/2 shrink-0'\"\n [panelStyleClass]=\"panelStyleClass()\"\n [inputStyleClass]=\"inputStyleClass()\"\n [minDate]=\"minDate()\"\n [maxDate]=\"maxDate()\"\n [showClear]=\"showClear()\"\n [placeholder]=\"placeholder()\"\n [dateFormat]=\"dateFormat()\"\n [disabled]=\"disabled()\"\n [showTime]=\"time() && primeTimePicker()\"\n [showIcon]=\"showIcon()\"\n [showSeconds]=\"primeTimePicker() && seconds()\"\n [selectionMode]=\"!time() && dateRange() ? 'range' : 'single'\"\n [showButtonBar]=\"showButtonBar()\"\n [inputStyle]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\"\n [firstDayOfWeek]=\"1\"\n [(ngModel)]=\"displayDate\"\n (onSelect)=\"onDateSelect($event)\"\n (keyup.enter)=\"onDateEnter()\"\n (onBlur)=\"handleDateBlur($event)\"\n (onClear)=\"onClear()\"\n (onTodayClick)=\"onSelectToday()\"\n (onClearClick)=\"onClear()\" />\n @if (time() && !primeTimePicker()) {\n <p-inputgroup class=\"basis-1/2 shrink-0\">\n <p-inputmask\n #InputMask\n class=\"w-full flex\"\n [invalid]=\"!timeValid()\"\n [(ngModel)]=\"selectedTime\"\n (ngModelChange)=\"onTimeSelect()\"\n [disabled]=\"disabled()\"\n [mask]=\"inputMaskConfig().mask\"\n [placeholder]=\"inputMaskConfig().placeholder\"\n [slotChar]=\"inputMaskConfig().format\"\n [showClear]=\"showClear()\"\n (onClear)=\"onClear()\"\n (click)=\"openOverlay()\"\n (onFocus)=\"openOverlay()\"\n (onBlur)=\"closeOverlay()\"\n [style]=\"{borderTopRightRadius: '0', borderBottomRightRadius: '0'}\" />\n <button\n class=\"p-datepicker-dropdown cursor-pointer flex-shrink-0\"\n [disabled]=\"disabled()\"\n [style]=\"{borderTopLeftRadius: '0', borderBottomLeftRadius: '0'}\"\n (click)=\"focusTimeInputMask($event, InputMask)\"\n aria-label=\"Focus time mask input\">\n <i class=\"pi pi-clock\"></i>\n </button>\n </p-inputgroup>\n @if (timeSelect() && !disabled()) {\n <!-- Using display:contents rendering, so that the parents flex gap doesn\u2019t apply to this container -->\n <p-overlay class=\"contents\" [(visible)]=\"overlayVisible\" appendTo=\"body\">\n <!-- Refresh event is unnecessary, because it shares the value with the MaskInput, which then triggers ngModelChange.\n It still exists because defaultPropagation closes the popup in filters/editor on select, and disabling it, doesn't trigger the change event -->\n <p-listbox\n class=\"mr-10\"\n [options]=\"selectOptions()\"\n optionLabel=\"label\"\n optionValue=\"value\"\n [(ngModel)]=\"selectedTime\"\n (click)=\"$event.stopPropagation()\"\n (mousedown)=\"$event.preventDefault()\"\n (mouseup)=\"closeOverlay()\"\n (onChange)=\"onTimeSelect()\" />\n </p-overlay>\n }\n }\n </div>\n\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n</p-inputgroup>\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-datetime-picker .p-inputtext.p-invalid:enabled:focus{border-color:var(--p-inputtext-invalid-border-color)}\n"] }]
|
|
779
|
+
}], propDecorators: { templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], timeInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "time", required: false }] }], timeSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSelect", required: false }] }], timeSelectInterval: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSelectInterval", required: false }] }], secondsInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "seconds", required: false }] }], milliseconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "milliseconds", required: false }] }], primeTimePicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "primeTimePicker", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], showIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "showIcon", required: false }] }], showButtonBar: [{ type: i0.Input, args: [{ isSignal: true, alias: "showButtonBar", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], panelStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "panelStyleClass", required: false }] }], inputStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyleClass", required: false }] }], dateRange: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateRange", required: false }] }], blur: [{ type: i0.Output, args: ["blur"] }], maskInput: [{ type: i0.ViewChild, args: [i0.forwardRef(() => InputMask), { isSignal: true }] }] } });
|
|
452
780
|
|
|
453
781
|
const DATE_RANGE_VALUE_ACCESSOR = {
|
|
454
782
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -466,11 +794,16 @@ class DateRangeComponent {
|
|
|
466
794
|
this.injector = inject(Injector);
|
|
467
795
|
this.destroyRef = inject(DestroyRef);
|
|
468
796
|
this.cdr = inject(ChangeDetectorRef);
|
|
469
|
-
this.placeholder = input(...(ngDevMode ? [
|
|
797
|
+
this.placeholder = input('', ...(ngDevMode ? [{ debugName: "placeholder" }] : []));
|
|
470
798
|
this.showTime = input(false, ...(ngDevMode ? [{ debugName: "showTime", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
471
799
|
this.showSeconds = input(false, ...(ngDevMode ? [{ debugName: "showSeconds", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
800
|
+
this.milliseconds = input(false, ...(ngDevMode ? [{ debugName: "milliseconds", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
801
|
+
this.primeTimePicker = input(false, ...(ngDevMode ? [{ debugName: "primeTimePicker", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
802
|
+
this.timeSelect = input(true, ...(ngDevMode ? [{ debugName: "timeSelect", transform: v => booleanWithDefaultAttribute(v, true) }] : [{ transform: v => booleanWithDefaultAttribute(v, true) }]));
|
|
803
|
+
this.timeSelectInterval = input(60, ...(ngDevMode ? [{ debugName: "timeSelectInterval", transform: v => numberAttribute(v, 60) }] : [{ transform: v => numberAttribute(v, 60) }])); // minutes
|
|
472
804
|
this.dateFormat = input(...(ngDevMode ? [undefined, { debugName: "dateFormat" }] : []));
|
|
473
805
|
this.className = input(...(ngDevMode ? [undefined, { debugName: "className" }] : []));
|
|
806
|
+
this.inputStyleClass = input(...(ngDevMode ? [undefined, { debugName: "inputStyleClass" }] : []));
|
|
474
807
|
this.required = input(false, ...(ngDevMode ? [{ debugName: "required", transform: booleanAttribute }] : [{ transform: booleanAttribute }]));
|
|
475
808
|
this.disabled = input(false, ...(ngDevMode ? [{ debugName: "disabled", transform: booleanAttribute }] : [{
|
|
476
809
|
transform: booleanAttribute
|
|
@@ -583,15 +916,15 @@ class DateRangeComponent {
|
|
|
583
916
|
this.onChangeFn(date);
|
|
584
917
|
}
|
|
585
918
|
}
|
|
586
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
587
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
919
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
920
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DateRangeComponent, isStandalone: true, selector: "mng-date-range", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, showTime: { classPropertyName: "showTime", publicName: "showTime", isSignal: true, isRequired: false, transformFunction: null }, showSeconds: { classPropertyName: "showSeconds", publicName: "showSeconds", isSignal: true, isRequired: false, transformFunction: null }, milliseconds: { classPropertyName: "milliseconds", publicName: "milliseconds", isSignal: true, isRequired: false, transformFunction: null }, primeTimePicker: { classPropertyName: "primeTimePicker", publicName: "primeTimePicker", isSignal: true, isRequired: false, transformFunction: null }, timeSelect: { classPropertyName: "timeSelect", publicName: "timeSelect", isSignal: true, isRequired: false, transformFunction: null }, timeSelectInterval: { classPropertyName: "timeSelectInterval", publicName: "timeSelectInterval", isSignal: true, isRequired: false, transformFunction: null }, dateFormat: { classPropertyName: "dateFormat", publicName: "dateFormat", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, inputStyleClass: { classPropertyName: "inputStyleClass", publicName: "inputStyleClass", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "className()" } }, providers: [DATE_RANGE_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR], ngImport: i0, template: "@if (showTime()) {\n <div class=\"flex gap-1\" [class.flex-col]=\"vertical()\">\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"fromCtrl\"\n [maxDate]=\"toCtrl.value\"\n [placeholder]=\"(placeholder() + ' ' + ('mngTable.filterRangeFrom' | translate)).trim()\"\n [dateFormat]=\"dateFormat()\"\n showIcon=\"true\"\n time=\"true\"\n [seconds]=\"showSeconds()\"\n [milliseconds]=\"milliseconds()\"\n [primeTimePicker]=\"primeTimePicker()\"\n [timeSelect]=\"timeSelect()\"\n [timeSelectInterval]=\"timeSelectInterval()\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n @if (!vertical()) {\n <p-divider layout=\"horizontal\" class=\"!w-3 !p-0\" />\n }\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"toCtrl\"\n [minDate]=\"fromCtrl.value\"\n [placeholder]=\"(placeholder() + ' ' + ('mngTable.filterRangeTo' | translate)).trim()\"\n [dateFormat]=\"dateFormat()\"\n showIcon=\"true\"\n time=\"true\"\n [seconds]=\"showSeconds()\"\n [milliseconds]=\"milliseconds()\"\n [primeTimePicker]=\"primeTimePicker()\"\n [timeSelect]=\"timeSelect()\"\n [timeSelectInterval]=\"timeSelectInterval()\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n </div>\n} @else {\n <p-input-group>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"dateRangeCtrl\"\n [placeholder]=\"placeholder()\"\n [dateFormat]=\"dateFormat()\"\n dateRange=\"true\"\n showIcon=\"true\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container\n ></p-input-group>\n}\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-date-range.ng-dirty.ng-invalid p-date-picker>.p-datepicker>.p-inputtext{border-color:var(--p-inputtext-invalid-border-color, #f87171)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: DatetimePickerComponent, selector: "mng-datetime-picker", inputs: ["templates", "time", "timeSelect", "timeSelectInterval", "seconds", "milliseconds", "primeTimePicker", "dateFormat", "placeholder", "minDate", "maxDate", "disabled", "required", "showIcon", "showButtonBar", "showClear", "className", "panelStyleClass", "inputStyleClass", "dateRange"], outputs: ["blur"] }, { kind: "component", type: Divider, selector: "p-divider", inputs: ["styleClass", "layout", "type", "align"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
588
921
|
}
|
|
589
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
590
923
|
type: Component,
|
|
591
|
-
args: [{ selector: 'mng-date-range', providers: [DATE_RANGE_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR], imports: [FormsModule, ReactiveFormsModule,
|
|
924
|
+
args: [{ selector: 'mng-date-range', providers: [DATE_RANGE_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR], imports: [FormsModule, ReactiveFormsModule, TranslatePipe, DatetimePickerComponent, Divider, InputGroupAddon, NgTemplateOutlet, InputGroup], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
592
925
|
'[class]': 'className()'
|
|
593
|
-
}, template: "@if (showTime()) {\n <div class=\"flex gap-1\" [class.flex-col]=\"vertical()\">\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <
|
|
594
|
-
}] });
|
|
926
|
+
}, template: "@if (showTime()) {\n <div class=\"flex gap-1\" [class.flex-col]=\"vertical()\">\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"fromCtrl\"\n [maxDate]=\"toCtrl.value\"\n [placeholder]=\"(placeholder() + ' ' + ('mngTable.filterRangeFrom' | translate)).trim()\"\n [dateFormat]=\"dateFormat()\"\n showIcon=\"true\"\n time=\"true\"\n [seconds]=\"showSeconds()\"\n [milliseconds]=\"milliseconds()\"\n [primeTimePicker]=\"primeTimePicker()\"\n [timeSelect]=\"timeSelect()\"\n [timeSelectInterval]=\"timeSelectInterval()\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n @if (!vertical()) {\n <p-divider layout=\"horizontal\" class=\"!w-3 !p-0\" />\n }\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"toCtrl\"\n [minDate]=\"fromCtrl.value\"\n [placeholder]=\"(placeholder() + ' ' + ('mngTable.filterRangeTo' | translate)).trim()\"\n [dateFormat]=\"dateFormat()\"\n showIcon=\"true\"\n time=\"true\"\n [seconds]=\"showSeconds()\"\n [milliseconds]=\"milliseconds()\"\n [primeTimePicker]=\"primeTimePicker()\"\n [timeSelect]=\"timeSelect()\"\n [timeSelectInterval]=\"timeSelectInterval()\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n </div>\n} @else {\n <p-input-group>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <mng-datetime-picker\n class=\"w-full\"\n [inputStyleClass]=\"inputStyleClass()\"\n [formControl]=\"dateRangeCtrl\"\n [placeholder]=\"placeholder()\"\n [dateFormat]=\"dateFormat()\"\n dateRange=\"true\"\n showIcon=\"true\"\n (blur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container\n ></p-input-group>\n}\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-date-range.ng-dirty.ng-invalid p-date-picker>.p-datepicker>.p-inputtext{border-color:var(--p-inputtext-invalid-border-color, #f87171)}\n"] }]
|
|
927
|
+
}], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], showTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "showTime", required: false }] }], showSeconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "showSeconds", required: false }] }], milliseconds: [{ type: i0.Input, args: [{ isSignal: true, alias: "milliseconds", required: false }] }], primeTimePicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "primeTimePicker", required: false }] }], timeSelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSelect", required: false }] }], timeSelectInterval: [{ type: i0.Input, args: [{ isSignal: true, alias: "timeSelectInterval", required: false }] }], dateFormat: [{ type: i0.Input, args: [{ isSignal: true, alias: "dateFormat", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], inputStyleClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyleClass", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }] } });
|
|
595
928
|
|
|
596
929
|
const DROPDOWN_VALUE_ACCESSOR = {
|
|
597
930
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -950,13 +1283,13 @@ class DropdownComponent {
|
|
|
950
1283
|
return value;
|
|
951
1284
|
}
|
|
952
1285
|
}
|
|
953
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
954
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
1286
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DropdownComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1287
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: DropdownComponent, isStandalone: true, selector: "mng-dropdown", inputs: { dataProvider: { classPropertyName: "dataProvider", publicName: "dataProvider", isSignal: true, isRequired: false, transformFunction: null }, options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, optionsTrackProperty: { classPropertyName: "optionsTrackProperty", publicName: "optionsTrackProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsLabelPropertyInit: { classPropertyName: "optionsLabelPropertyInit", publicName: "optionsLabelProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsLabelTranslate: { classPropertyName: "optionsLabelTranslate", publicName: "optionsLabelTranslate", isSignal: true, isRequired: false, transformFunction: null }, optionsValuePropertyInput: { classPropertyName: "optionsValuePropertyInput", publicName: "optionsValueProperty", isSignal: true, isRequired: false, transformFunction: null }, optionsDisabledProperty: { classPropertyName: "optionsDisabledProperty", publicName: "optionsDisabledProperty", isSignal: true, isRequired: false, transformFunction: null }, multiselect: { classPropertyName: "multiselect", publicName: "multiselect", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, showClear: { classPropertyName: "showClear", publicName: "showClear", isSignal: true, isRequired: false, transformFunction: null }, selectFirstItemInput: { classPropertyName: "selectFirstItemInput", publicName: "selectFirstItem", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null }, dropdownClassName: { classPropertyName: "dropdownClassName", publicName: "dropdownClassName", isSignal: true, isRequired: false, transformFunction: null }, changeValueOnBlur: { classPropertyName: "changeValueOnBlur", publicName: "changeValueOnBlur", isSignal: true, isRequired: false, transformFunction: null }, loadingInput: { classPropertyName: "loadingInput", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, disabledInput: { classPropertyName: "disabledInput", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, allowInput: { classPropertyName: "allowInput", publicName: "allowInput", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null }, inlineSearch: { classPropertyName: "inlineSearch", publicName: "inlineSearch", isSignal: true, isRequired: false, transformFunction: null }, searchTrim: { classPropertyName: "searchTrim", publicName: "searchTrim", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { valueChange: "valueChange", blur: "blur" }, providers: [DROPDOWN_VALUE_ACCESSOR], viewQueries: [{ propertyName: "primeSelect", first: true, predicate: Select, descendants: true, isSignal: true }, { propertyName: "primeMultiselect", first: true, predicate: MultiSelect, descendants: true, isSignal: true }], ngImport: i0, template: "<p-inputgroup>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n @if (!multiselect()) {\n <p-select\n [(ngModel)]=\"ngModelValue\"\n [placeholder]=\"placeholder()\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [optionValue]=\"optionsValueProperty()\"\n [optionDisabled]=\"optionsDisabledProperty()\"\n [options]=\"items()\"\n [showClear]=\"showClear()\"\n [editable]=\"allowInput()\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [disabled]=\"disabled()\"\n [filter]=\"inlineSearch() && !allowInput()\"\n [filterBy]=\"optionsLabelProperty()\"\n (onBlur)=\"onDropdownBlur($event)\"\n (onChange)=\"onDropdownChange($event)\"\n (onShow)=\"onDropdownPanelShow()\"\n (onHide)=\"onDropdownPanelHide()\"\n (onFocus)=\"onFocus()\"\n [dropdownIcon]=\"loading() ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\n [appendTo]=\"appendTo()\">\n </p-select>\n } @else {\n <p-multiSelect\n [ngModel]=\"ngModelValue()\"\n [maxSelectedLabels]=\"1\"\n [selectedItemsLabel]=\"'mngDropdown.multiselectOverMaxDisplayLimit' | translate\"\n [placeholder]=\"placeholder()\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [optionValue]=\"optionsValueProperty()\"\n [optionDisabled]=\"optionsDisabledProperty()\"\n [options]=\"items()\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [filter]=\"true\"\n [showToggleAll]=\"false\"\n [disabled]=\"disabled()\"\n (onChange)=\"onMultiselectChange($event)\"\n (onPanelHide)=\"onMultiselectPanelHide()\"\n (onBlur)=\"onMultiselectBlur($event)\"\n (onFocus)=\"onFocus()\"\n appendTo=\"body\">\n </p-multiSelect>\n }\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n", dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "component", type: MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
955
1288
|
}
|
|
956
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1289
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DropdownComponent, decorators: [{
|
|
957
1290
|
type: Component,
|
|
958
1291
|
args: [{ selector: 'mng-dropdown', providers: [DROPDOWN_VALUE_ACCESSOR], imports: [TranslatePipe, FormsModule, Select, MultiSelect, InputGroup, InputGroupAddon, NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, template: "<p-inputgroup>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n @if (!multiselect()) {\n <p-select\n [(ngModel)]=\"ngModelValue\"\n [placeholder]=\"placeholder()\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [optionValue]=\"optionsValueProperty()\"\n [optionDisabled]=\"optionsDisabledProperty()\"\n [options]=\"items()\"\n [showClear]=\"showClear()\"\n [editable]=\"allowInput()\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [disabled]=\"disabled()\"\n [filter]=\"inlineSearch() && !allowInput()\"\n [filterBy]=\"optionsLabelProperty()\"\n (onBlur)=\"onDropdownBlur($event)\"\n (onChange)=\"onDropdownChange($event)\"\n (onShow)=\"onDropdownPanelShow()\"\n (onHide)=\"onDropdownPanelHide()\"\n (onFocus)=\"onFocus()\"\n [dropdownIcon]=\"loading() ? 'pi pi-spinner pi-spin' : 'pi pi-chevron-down'\"\n [appendTo]=\"appendTo()\">\n </p-select>\n } @else {\n <p-multiSelect\n [ngModel]=\"ngModelValue()\"\n [maxSelectedLabels]=\"1\"\n [selectedItemsLabel]=\"'mngDropdown.multiselectOverMaxDisplayLimit' | translate\"\n [placeholder]=\"placeholder()\"\n [dataKey]=\"optionsTrackProperty()\"\n [optionLabel]=\"optionsLabelProperty()\"\n [optionValue]=\"optionsValueProperty()\"\n [optionDisabled]=\"optionsDisabledProperty()\"\n [options]=\"items()\"\n [styleClass]=\"className()\"\n [panelStyleClass]=\"dropdownClassName()\"\n [filter]=\"true\"\n [showToggleAll]=\"false\"\n [disabled]=\"disabled()\"\n (onChange)=\"onMultiselectChange($event)\"\n (onPanelHide)=\"onMultiselectPanelHide()\"\n (onBlur)=\"onMultiselectBlur($event)\"\n (onFocus)=\"onFocus()\"\n appendTo=\"body\">\n </p-multiSelect>\n }\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</p-inputgroup>\n" }]
|
|
959
|
-
}], ctorParameters: () => [] });
|
|
1292
|
+
}], ctorParameters: () => [], propDecorators: { dataProvider: [{ type: i0.Input, args: [{ isSignal: true, alias: "dataProvider", required: false }] }], options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: false }] }], optionsTrackProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsTrackProperty", required: false }] }], optionsLabelPropertyInit: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsLabelProperty", required: false }] }], optionsLabelTranslate: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsLabelTranslate", required: false }] }], optionsValuePropertyInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsValueProperty", required: false }] }], optionsDisabledProperty: [{ type: i0.Input, args: [{ isSignal: true, alias: "optionsDisabledProperty", required: false }] }], multiselect: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiselect", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], showClear: [{ type: i0.Input, args: [{ isSignal: true, alias: "showClear", required: false }] }], selectFirstItemInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectFirstItem", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], dropdownClassName: [{ type: i0.Input, args: [{ isSignal: true, alias: "dropdownClassName", required: false }] }], changeValueOnBlur: [{ type: i0.Input, args: [{ isSignal: true, alias: "changeValueOnBlur", required: false }] }], loadingInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], disabledInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], allowInput: [{ type: i0.Input, args: [{ isSignal: true, alias: "allowInput", required: false }] }], appendTo: [{ type: i0.Input, args: [{ isSignal: true, alias: "appendTo", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], inlineSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "inlineSearch", required: false }] }], searchTrim: [{ type: i0.Input, args: [{ isSignal: true, alias: "searchTrim", required: false }] }], valueChange: [{ type: i0.Output, args: ["valueChange"] }], blur: [{ type: i0.Output, args: ["blur"] }], primeSelect: [{ type: i0.ViewChild, args: [i0.forwardRef(() => Select), { isSignal: true }] }], primeMultiselect: [{ type: i0.ViewChild, args: [i0.forwardRef(() => MultiSelect), { isSignal: true }] }] } });
|
|
960
1293
|
|
|
961
1294
|
const NUMBER_RANGE_VALUE_ACCESSOR = {
|
|
962
1295
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -1069,13 +1402,13 @@ class NumberRangeComponent {
|
|
|
1069
1402
|
const toDate = this.toCtrl.value;
|
|
1070
1403
|
this.onChangeFn([fromDate, toDate]);
|
|
1071
1404
|
}
|
|
1072
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1073
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.
|
|
1405
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NumberRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1406
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.15", type: NumberRangeComponent, isStandalone: true, selector: "mng-number-range", inputs: { placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, useGrouping: { classPropertyName: "useGrouping", publicName: "useGrouping", isSignal: true, isRequired: false, transformFunction: null }, minFractionDigits: { classPropertyName: "minFractionDigits", publicName: "minFractionDigits", isSignal: true, isRequired: false, transformFunction: null }, maxFractionDigits: { classPropertyName: "maxFractionDigits", publicName: "maxFractionDigits", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, vertical: { classPropertyName: "vertical", publicName: "vertical", isSignal: true, isRequired: false, transformFunction: null }, templates: { classPropertyName: "templates", publicName: "templates", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { keyDown: "keyDown" }, providers: [NUMBER_RANGE_VALUE_ACCESSOR, NUMBER_RANGE_VALIDATOR], ngImport: i0, template: "<div class=\"flex gap-1\" [class.flex-col]=\"vertical()\">\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <p-inputNumber\n [formControl]=\"fromCtrl\"\n [placeholder]=\"placeholder() + ' ' + ('mngTable.filterRangeFrom' | translate)\"\n [useGrouping]=\"useGrouping()\"\n [minFractionDigits]=\"minFractionDigits()\"\n [maxFractionDigits]=\"maxFractionDigits()\"\n [max]=\"toCtrl.value\"\n [inputStyleClass]=\"className()\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onBlur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <p-inputNumber\n [formControl]=\"toCtrl\"\n [placeholder]=\"placeholder() + ' ' + ('mngTable.filterRangeTo' | translate)\"\n [useGrouping]=\"useGrouping()\"\n [minFractionDigits]=\"minFractionDigits()\"\n [maxFractionDigits]=\"maxFractionDigits()\"\n [min]=\"fromCtrl.value\"\n [inputStyleClass]=\"className()\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onBlur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n</div>\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-number-range.ng-dirty.ng-invalid>div>p-inputnumber .p-inputtext{border-color:var(--p-inputtext-invalid-border-color, #f87171)}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: InputNumber, selector: "p-inputNumber, p-inputnumber, p-input-number", inputs: ["showButtons", "format", "buttonLayout", "inputId", "styleClass", "placeholder", "tabindex", "title", "ariaLabelledBy", "ariaDescribedBy", "ariaLabel", "ariaRequired", "autocomplete", "incrementButtonClass", "decrementButtonClass", "incrementButtonIcon", "decrementButtonIcon", "readonly", "allowEmpty", "locale", "localeMatcher", "mode", "currency", "currencyDisplay", "useGrouping", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "inputStyle", "inputStyleClass", "showClear", "autofocus"], outputs: ["onInput", "onFocus", "onBlur", "onKeyDown", "onClear"] }, { kind: "component", type: InputGroup, selector: "p-inputgroup, p-inputGroup, p-input-group", inputs: ["styleClass"] }, { kind: "component", type: InputGroupAddon, selector: "p-inputgroup-addon, p-inputGroupAddon", inputs: ["style", "styleClass"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
1074
1407
|
}
|
|
1075
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1408
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NumberRangeComponent, decorators: [{
|
|
1076
1409
|
type: Component,
|
|
1077
1410
|
args: [{ selector: 'mng-number-range', providers: [NUMBER_RANGE_VALUE_ACCESSOR, NUMBER_RANGE_VALIDATOR], imports: [FormsModule, ReactiveFormsModule, InputNumber, InputGroup, InputGroupAddon, NgTemplateOutlet, TranslatePipe], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"flex gap-1\" [class.flex-col]=\"vertical()\">\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <p-inputNumber\n [formControl]=\"fromCtrl\"\n [placeholder]=\"placeholder() + ' ' + ('mngTable.filterRangeFrom' | translate)\"\n [useGrouping]=\"useGrouping()\"\n [minFractionDigits]=\"minFractionDigits()\"\n [maxFractionDigits]=\"maxFractionDigits()\"\n [max]=\"toCtrl.value\"\n [inputStyleClass]=\"className()\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onBlur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n <p-inputgroup>\n <ng-container *ngTemplateOutlet=\"prependAddons\"></ng-container>\n <p-inputNumber\n [formControl]=\"toCtrl\"\n [placeholder]=\"placeholder() + ' ' + ('mngTable.filterRangeTo' | translate)\"\n [useGrouping]=\"useGrouping()\"\n [minFractionDigits]=\"minFractionDigits()\"\n [maxFractionDigits]=\"maxFractionDigits()\"\n [min]=\"fromCtrl.value\"\n [inputStyleClass]=\"className()\"\n (onKeyDown)=\"onKeyDown($event)\"\n (onBlur)=\"onBlur()\" />\n <ng-container *ngTemplateOutlet=\"appendAddons\"></ng-container>\n </p-inputgroup>\n</div>\n\n<ng-template #prependAddons>\n @for (pt of prependTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"pt.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n<ng-template #appendAddons>\n @for (at of appendTemplates(); track $index) {\n <p-inputgroup-addon>\n <ng-container *ngTemplateOutlet=\"at.template\"></ng-container>\n </p-inputgroup-addon>\n }\n</ng-template>\n", styles: ["mng-number-range.ng-dirty.ng-invalid>div>p-inputnumber .p-inputtext{border-color:var(--p-inputtext-invalid-border-color, #f87171)}\n"] }]
|
|
1078
|
-
}], ctorParameters: () => [] });
|
|
1411
|
+
}], ctorParameters: () => [], propDecorators: { placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], useGrouping: [{ type: i0.Input, args: [{ isSignal: true, alias: "useGrouping", required: false }] }], minFractionDigits: [{ type: i0.Input, args: [{ isSignal: true, alias: "minFractionDigits", required: false }] }], maxFractionDigits: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxFractionDigits", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], vertical: [{ type: i0.Input, args: [{ isSignal: true, alias: "vertical", required: false }] }], templates: [{ type: i0.Input, args: [{ isSignal: true, alias: "templates", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], keyDown: [{ type: i0.Output, args: ["keyDown"] }] } });
|
|
1079
1412
|
|
|
1080
1413
|
/**
|
|
1081
1414
|
* Directive that converts empty string values to undefined or null when the input loses focus.
|
|
@@ -1155,16 +1488,16 @@ class InputEmptyValueDirective {
|
|
|
1155
1488
|
return undefined;
|
|
1156
1489
|
}
|
|
1157
1490
|
}
|
|
1158
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1159
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1491
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InputEmptyValueDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1492
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: InputEmptyValueDirective, isStandalone: true, selector: "[mngInputEmptyValue]", inputs: { mngInputEmptyValue: { classPropertyName: "mngInputEmptyValue", publicName: "mngInputEmptyValue", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "onBlur()" } }, ngImport: i0 }); }
|
|
1160
1493
|
}
|
|
1161
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1494
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InputEmptyValueDirective, decorators: [{
|
|
1162
1495
|
type: Directive,
|
|
1163
1496
|
args: [{
|
|
1164
1497
|
selector: '[mngInputEmptyValue]',
|
|
1165
1498
|
host: { '(blur)': 'onBlur()' }
|
|
1166
1499
|
}]
|
|
1167
|
-
}] });
|
|
1500
|
+
}], propDecorators: { mngInputEmptyValue: [{ type: i0.Input, args: [{ isSignal: true, alias: "mngInputEmptyValue", required: false }] }] } });
|
|
1168
1501
|
|
|
1169
1502
|
class InputTrimDirective {
|
|
1170
1503
|
constructor() {
|
|
@@ -1189,7 +1522,8 @@ class InputTrimDirective {
|
|
|
1189
1522
|
#afterNextRenderRef;
|
|
1190
1523
|
onBlur() {
|
|
1191
1524
|
const control = this.#ngControl?.control;
|
|
1192
|
-
const
|
|
1525
|
+
const inputValue = this.#inputEl.value;
|
|
1526
|
+
const value = control ? control.value : inputValue;
|
|
1193
1527
|
let trimmedValue;
|
|
1194
1528
|
if (typeof value === 'string') {
|
|
1195
1529
|
trimmedValue = this.#getTrimmedValue(value);
|
|
@@ -1202,6 +1536,13 @@ class InputTrimDirective {
|
|
|
1202
1536
|
}
|
|
1203
1537
|
}
|
|
1204
1538
|
}
|
|
1539
|
+
// used when the control value is an array (ex. multiSelect) and has an embedded input which value must be trimmed before added to the array
|
|
1540
|
+
else if (Array.isArray(value) && inputValue != null) {
|
|
1541
|
+
trimmedValue = this.#getTrimmedValue(inputValue);
|
|
1542
|
+
if (trimmedValue != null) {
|
|
1543
|
+
this.#inputEl.value = trimmedValue;
|
|
1544
|
+
}
|
|
1545
|
+
}
|
|
1205
1546
|
}
|
|
1206
1547
|
#getTrimmedValue(value) {
|
|
1207
1548
|
switch (this.mngInputTrim()) {
|
|
@@ -1215,80 +1556,96 @@ class InputTrimDirective {
|
|
|
1215
1556
|
return value;
|
|
1216
1557
|
}
|
|
1217
1558
|
}
|
|
1218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1219
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1559
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InputTrimDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1560
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: InputTrimDirective, isStandalone: true, selector: "[mngInputTrim]", inputs: { mngInputTrim: { classPropertyName: "mngInputTrim", publicName: "mngInputTrim", isSignal: true, isRequired: false, transformFunction: null } }, host: { listeners: { "blur": "onBlur()", "keydown.tab": "onBlur()", "keydown.enter": "onBlur()" } }, ngImport: i0 }); }
|
|
1220
1561
|
}
|
|
1221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1562
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: InputTrimDirective, decorators: [{
|
|
1222
1563
|
type: Directive,
|
|
1223
1564
|
args: [{
|
|
1224
1565
|
selector: '[mngInputTrim]',
|
|
1225
|
-
host: { '(blur)': 'onBlur()' }
|
|
1566
|
+
host: { '(blur)': 'onBlur()', '(keydown.tab)': 'onBlur()', '(keydown.enter)': 'onBlur()' }
|
|
1226
1567
|
}]
|
|
1227
|
-
}] });
|
|
1568
|
+
}], propDecorators: { mngInputTrim: [{ type: i0.Input, args: [{ isSignal: true, alias: "mngInputTrim", required: false }] }] } });
|
|
1228
1569
|
|
|
1229
1570
|
class AutocompleteTemplateDirective extends TemplateDirective {
|
|
1230
1571
|
constructor() {
|
|
1231
1572
|
super(...arguments);
|
|
1232
1573
|
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1233
1574
|
}
|
|
1234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1235
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1575
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AutocompleteTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1576
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: AutocompleteTemplateDirective, isStandalone: true, selector: "[mngAutocompleteTemplate]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["mngAutocompleteTemplate"], usesInheritance: true, ngImport: i0 }); }
|
|
1236
1577
|
}
|
|
1237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1578
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: AutocompleteTemplateDirective, decorators: [{
|
|
1238
1579
|
type: Directive,
|
|
1239
1580
|
args: [{
|
|
1240
1581
|
selector: '[mngAutocompleteTemplate]',
|
|
1241
1582
|
exportAs: 'mngAutocompleteTemplate'
|
|
1242
1583
|
}]
|
|
1243
|
-
}] });
|
|
1584
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
1244
1585
|
|
|
1245
1586
|
class DateRangeTemplateDirective extends TemplateDirective {
|
|
1246
1587
|
constructor() {
|
|
1247
1588
|
super(...arguments);
|
|
1248
1589
|
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1249
1590
|
}
|
|
1250
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1251
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1591
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DateRangeTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1592
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: DateRangeTemplateDirective, isStandalone: true, selector: "[mngDateRangeTemplate]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["mngDateRangeTemplate"], usesInheritance: true, ngImport: i0 }); }
|
|
1252
1593
|
}
|
|
1253
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1594
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DateRangeTemplateDirective, decorators: [{
|
|
1254
1595
|
type: Directive,
|
|
1255
1596
|
args: [{
|
|
1256
1597
|
selector: '[mngDateRangeTemplate]',
|
|
1257
1598
|
exportAs: 'mngDateRangeTemplate'
|
|
1258
1599
|
}]
|
|
1259
|
-
}] });
|
|
1600
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
1260
1601
|
|
|
1261
1602
|
class DropdownTemplateDirective extends TemplateDirective {
|
|
1262
1603
|
constructor() {
|
|
1263
1604
|
super(...arguments);
|
|
1264
1605
|
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1265
1606
|
}
|
|
1266
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1267
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1607
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DropdownTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1608
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: DropdownTemplateDirective, isStandalone: true, selector: "[mngDropdownTemplate]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["mngDropdownTemplate"], usesInheritance: true, ngImport: i0 }); }
|
|
1268
1609
|
}
|
|
1269
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1610
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DropdownTemplateDirective, decorators: [{
|
|
1270
1611
|
type: Directive,
|
|
1271
1612
|
args: [{
|
|
1272
1613
|
selector: '[mngDropdownTemplate]',
|
|
1273
1614
|
exportAs: 'mngDropdownTemplate'
|
|
1274
1615
|
}]
|
|
1275
|
-
}] });
|
|
1616
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
1276
1617
|
|
|
1277
1618
|
class NumberRangeTemplateDirective extends TemplateDirective {
|
|
1278
1619
|
constructor() {
|
|
1279
1620
|
super(...arguments);
|
|
1280
1621
|
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1281
1622
|
}
|
|
1282
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.
|
|
1283
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.
|
|
1623
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NumberRangeTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1624
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: NumberRangeTemplateDirective, isStandalone: true, selector: "[mngNumberRangeTemplate]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["mngNumberRangeTemplate"], usesInheritance: true, ngImport: i0 }); }
|
|
1284
1625
|
}
|
|
1285
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.
|
|
1626
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: NumberRangeTemplateDirective, decorators: [{
|
|
1286
1627
|
type: Directive,
|
|
1287
1628
|
args: [{
|
|
1288
1629
|
selector: '[mngNumberRangeTemplate]',
|
|
1289
1630
|
exportAs: 'mngNumberRangeTemplate'
|
|
1290
1631
|
}]
|
|
1291
|
-
}] });
|
|
1632
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
1633
|
+
|
|
1634
|
+
class DatetimePickerTemplateDirective extends TemplateDirective {
|
|
1635
|
+
constructor() {
|
|
1636
|
+
super(...arguments);
|
|
1637
|
+
this.name = input.required(...(ngDevMode ? [{ debugName: "name" }] : []));
|
|
1638
|
+
}
|
|
1639
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatetimePickerTemplateDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1640
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.15", type: DatetimePickerTemplateDirective, isStandalone: true, selector: "[mngDatetimePickerTemplate]", inputs: { name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: true, transformFunction: null } }, exportAs: ["mngDatetimePickerTemplate"], usesInheritance: true, ngImport: i0 }); }
|
|
1641
|
+
}
|
|
1642
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.15", ngImport: i0, type: DatetimePickerTemplateDirective, decorators: [{
|
|
1643
|
+
type: Directive,
|
|
1644
|
+
args: [{
|
|
1645
|
+
selector: '[mngDatetimePickerTemplate]',
|
|
1646
|
+
exportAs: 'mngDatetimePickerTemplate'
|
|
1647
|
+
}]
|
|
1648
|
+
}], propDecorators: { name: [{ type: i0.Input, args: [{ isSignal: true, alias: "name", required: true }] }] } });
|
|
1292
1649
|
|
|
1293
1650
|
// components
|
|
1294
1651
|
|
|
@@ -1296,5 +1653,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.7", ngImpor
|
|
|
1296
1653
|
* Generated bundle index. Do not edit.
|
|
1297
1654
|
*/
|
|
1298
1655
|
|
|
1299
|
-
export { AUTOCOMPLETE_VALUE_ACCESSOR, AutocompleteComponent, AutocompleteTemplateDirective, DATE_RANGE_VALIDATOR, DATE_RANGE_VALUE_ACCESSOR, DROPDOWN_VALUE_ACCESSOR, DateRangeComponent, DateRangeTemplateDirective, DropdownComponent, DropdownTemplateDirective, InputEmptyValueDirective, InputTrimDirective, NUMBER_RANGE_VALIDATOR, NUMBER_RANGE_VALUE_ACCESSOR, NumberRangeComponent, NumberRangeTemplateDirective };
|
|
1656
|
+
export { AUTOCOMPLETE_VALUE_ACCESSOR, AutocompleteComponent, AutocompleteTemplateDirective, DATETIME_PICKER_VALIDATOR, DATETIME_PICKER_VALUE_ACCESSOR, DATE_RANGE_VALIDATOR, DATE_RANGE_VALUE_ACCESSOR, DROPDOWN_VALUE_ACCESSOR, DateRangeComponent, DateRangeTemplateDirective, DatetimePickerComponent, DatetimePickerTemplateDirective, DropdownComponent, DropdownTemplateDirective, InputEmptyValueDirective, InputTrimDirective, NUMBER_RANGE_VALIDATOR, NUMBER_RANGE_VALUE_ACCESSOR, NumberRangeComponent, NumberRangeTemplateDirective };
|
|
1300
1657
|
//# sourceMappingURL=mediusinc-mng-commons-form.mjs.map
|