@eui/components 15.0.0-rc.11 → 15.0.0-rc.12
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/docs/components/EuiDatepickerComponent.html +37 -106
- package/docs/components/EuiTimepickerComponent.html +7 -7
- package/docs/dependencies.html +1 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2020/eui-datepicker/eui-datepicker.component.mjs +43 -46
- package/esm2020/eui-timepicker/eui-timepicker.component.mjs +6 -9
- package/eui-datepicker/eui-datepicker.component.d.ts +5 -3
- package/eui-datepicker/eui-datepicker.component.d.ts.map +1 -1
- package/eui-timepicker/eui-timepicker.component.d.ts +3 -3
- package/eui-timepicker/eui-timepicker.component.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-datepicker.mjs +42 -45
- package/fesm2015/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2015/eui-components-eui-timepicker.mjs +5 -8
- package/fesm2015/eui-components-eui-timepicker.mjs.map +1 -1
- package/fesm2020/eui-components-eui-datepicker.mjs +42 -45
- package/fesm2020/eui-components-eui-datepicker.mjs.map +1 -1
- package/fesm2020/eui-components-eui-timepicker.mjs +5 -8
- package/fesm2020/eui-components-eui-timepicker.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.module.ts","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n HostListener,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatCalendarCellClassFunction, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { filter, takeUntil } from 'rxjs/operators';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport _moment from 'moment';\nimport { default as _rollupMoment } from 'moment';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, UxAppShellService } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nconst moment = _rollupMoment || _moment;\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDatepickerComponent extends BaseDirective implements OnInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n\n @Output() inputChange = new EventEmitter<any>();\n @Output() dateSelect = new EventEmitter<any>();\n\n @Input() styleClass = '';\n @Input() value: any;\n @Input() togglerIcon: string;\n @Input() togglerIconSvg = 'eui-calendar-outline';\n @Input() togglerLabel: string;\n @Input() placeholder: string;\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\n @Input() startView: 'month' | 'year' | 'multi-year';\n /** @deprecated will be removed in eUI16 */\n @Input() e2eAttr = 'eui-datepicker';\n @Input() minDate: any;\n @Input() maxDate: any;\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n @Input() dateOutputFormat: string;\n @Input() customHeader: any;\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n @Input()\n get isDatetimepicker(): boolean { return this._isDatetimepicker; }\n set isDatetimepicker(value: BooleanInput) { this._isDatetimepicker = coerceBooleanProperty(value); }\n private _isDatetimepicker = false;\n @Input()\n get hasSeconds(): boolean { return this._hasSeconds; }\n set hasSeconds(value: BooleanInput) { this._hasSeconds = coerceBooleanProperty(value); }\n private _hasSeconds = false;\n @Input()\n get isOneInputField(): boolean { return this._isOneInputField; }\n set isOneInputField(value: BooleanInput) { this._isOneInputField = coerceBooleanProperty(value); }\n private _isOneInputField = false;\n @Input()\n get hasNoButton(): boolean { return this._hasNoButton; }\n set hasNoButton(value: BooleanInput) { this._hasNoButton = coerceBooleanProperty(value); }\n private _hasNoButton = false;\n @Input()\n get isDatepickerBlock(): boolean { return this._isDatepickerBlock; }\n set isDatepickerBlock(value: BooleanInput) { this._isDatepickerBlock = coerceBooleanProperty(value); }\n private _isDatepickerBlock = false;\n @Input()\n get isReadOnly(): boolean { return this._isReadOnly; }\n set isReadOnly(value: BooleanInput) { this._isReadOnly = coerceBooleanProperty(value); }\n private _isReadOnly = false;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled = false;\n @Input()\n get isInputDisabled(): boolean { return this._isInputDisabled; }\n set isInputDisabled(value: BooleanInput) { this._isInputDisabled = coerceBooleanProperty(value); }\n private _isInputDisabled = false;\n @Input()\n get isButtonDisabled(): boolean { return this._isButtonDisabled; }\n set isButtonDisabled(value: BooleanInput) { this._isButtonDisabled = coerceBooleanProperty(value); }\n private _isButtonDisabled = false;\n @Input()\n get isPickerDisabled(): boolean { return this._isPickerDisabled; }\n set isPickerDisabled(value: BooleanInput) { this._isPickerDisabled = coerceBooleanProperty(value); }\n private _isPickerDisabled = false;\n @Input()\n get isClearable(): boolean { return this._isClearable; }\n set isClearable(value: BooleanInput) {this._isClearable = coerceBooleanProperty(value); }\n private _isClearable = false;\n @Input()\n get hasActionButtons(): boolean { return this._hasActionButtons; }\n set hasActionButtons(value: BooleanInput) {this._hasActionButtons = coerceBooleanProperty(value); }\n private _hasActionButtons = false;\n @Input()\n get hasTodayButton(): boolean { return this._hasTodayButton; }\n set hasTodayButton(value: BooleanInput) {this._hasTodayButton = coerceBooleanProperty(value); }\n private _hasTodayButton = false; // TODO: check whether it can be replaced along with the action buttons in favor of ng-content\n @Input()\n get restrictToRegex(): RegExp { return this._restrictToRegex; }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-datepicker'),\n ].join(' ').trim();\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats;\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private isNull = false;\n\n constructor(\n private adapter: DateAdapter<any>,\n private translateService: TranslateService,\n private localeService: LocaleService,\n private uxAppShellService: UxAppShellService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n @Optional() @Inject(forwardRef(() => EuiLetterFormatDirective)) public euiLetterFormat: EuiLetterFormatDirective,\n @Self() @Optional() private control: NgControl,\n @Inject(MAT_DATE_FORMATS) format: MatDateFormats) {\n super();\n this.format = format;\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService.getState().pipe(takeUntil(this.destroy$)).subscribe(state => {\n this.adapter.setLocale(state.id);\n });\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService.stream('eui.datepicker.PLACEHOLDER').pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService.stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService.stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService.stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n\n }\n\n this.uxAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe(bkps => this.breakpointsValue = bkps);\n\n if (this.isDatetimepicker && !this.hasActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.hasNoButton = true;\n } else {\n this.hasNoButton = false;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if(this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if(changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if(this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n }));\n }\n }\n }\n\n @HostListener('body:click', ['$event'])\n onClickOutside(e: MouseEvent): void {\n if (this.isDatetimepicker && this.calendar.opened && !this.hasActionButtons) {\n let clickInPopup = false;\n let clickOutside = false;\n let clickCloseButton = false;\n\n this.getEventPath(e).forEach((p: any) => {\n // checks whether you click within the calendar content\n if (p.className && p.className.indexOf('mat-datepicker-content') !== -1) {\n clickInPopup = true;\n }\n // checks whether you click outside the calendar content\n if (p.className && (p.className.indexOf('cdk-overlay-backdrop') !== -1)) {\n clickOutside = true;\n }\n // checks whether you click on the close button that appears below the calendar content when tabbing within the calendar\n if (p.className && p.className.indexOf('mat-datepicker-close-button') !== -1) {\n clickCloseButton = true;\n }\n });\n\n if ((!clickInPopup && clickOutside) || clickCloseButton) {\n this.calendar['closeCalendar']();\n }\n }\n }\n\n createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens\n });\n }\n\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n }\n if (this.isDatetimepicker) {\n // listens to the key up event, filters for the Escape key and closes the calendar upon pressing it\n const globalEscape = fromEvent<KeyboardEvent>(document, 'keyup')\n .pipe(\n filter((event) => event.key === 'Escape'),\n takeUntil(this.destroy$)).subscribe(() => this.calendar['closeCalendar']());\n\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.componentFactoryResolver, // TODO: check again if there is an update on framework side EUI-6207\n this.appRef,\n this.injector\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.hasActionButtons) {\n this.value = moment();\n }\n\n this.value = typeof(this.value) === 'string' ?moment(this.value, moment.ISO_8601): moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0\n });\n\n if (!this.hasActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const portalComponentInstance = this.portalHost.attach(this.portal);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n getEventPath(event): any {\n\n if (event.path) {\n return event.path;\n }\n\n const path = [];\n let target = event.target;\n\n while (target.parentNode) {\n path.push(target);\n target = target.parentNode;\n }\n\n path.push(document, window);\n\n return path;\n }\n\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n\n public datepickerFiltering(): boolean {\n return true;\n }\n\n public onDateInput(e: MatDatepickerInputEvent<any>): void {\n\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n // TODO: check to combine onDateChange and onDateInput into one function ()\n public onDateChange(e: MatDatepickerInputEvent<any>): void {\n\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n\n changedInput(e: string | Event): void {\n const value = (typeof e === 'string') ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter') {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (isDisabled) {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n this.isInputDisabled ? this.inputFormControl.disable(): this.inputFormControl.enable();\n }\n\n private propagateChange = (_: any): void => {\n };\n\n private propagateTouched = (): void => {\n };\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT },\n ],\n})\nexport class EuiLetterFormatDirective {\n\n}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT },\n ],\n})\nexport class EuiYearFormatDirective {\n\n}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT },\n ],\n})\nexport class EuiMonthYearFormatDirective {\n\n}\n","<div class=\"eui-datepicker__wrapper {{ styleClass }}\" [class.eui-datepicker__wrapper--responsive]=\"isDatepickerBlock\">\n <div euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <input\n euiInputText\n [readonly] =\"isReadOnly\"\n [euiClearable]= \"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"openCalendar()\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\">\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"(type==='regular') ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\">\n <mat-datepicker-actions *ngIf=\"hasActionButtons\">\n <div *ngIf=\"hasTodayButton\" class=\"eui-datepicker__footer\">\n <button euiButton euiBasicButton euiOutline matDatepickerApply aria-label=\"Today\" (click)=\"selectToday()\">\n <eui-icon-svg icon=\"eui-today-outline\" aria-label=\"Today Icon\"></eui-icon-svg>\n <span euiLabel>Today</span>\n </button>\n </div>\n <button euiButton euiSecondary matDatepickerCancel class=\"eui-datepicker__actions-cancel-button\">Cancel</button>\n <button euiButton euiPrimary matDatepickerApply>Apply</button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <button\n *ngIf=\"!hasNoButton\"\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton] = \"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n <span *ngIf=\"!togglerLabel && togglerIcon\" euiIcon aria-label=\"Open Calendar\" iconClass=\"{{ togglerIcon }}\"></span>\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatMomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\nimport { EuiTimepickerComponent, EuiTimepickerModule } from '@eui/components/eui-timepicker';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'DD/MM/YYYY',\n },\n display: {\n dateInput: 'DD/MM/YYYY',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'Date/Month/Year',\n monthYearA11yLabel: 'Month/Year',\n },\n};\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n TranslateModule,\n MatMomentDateModule,\n EuiButtonModule,\n EuiIconModule,\n EuiTimepickerModule,\n EuiInputTextModule,\n EuiInputGroupModule\n ],\n exports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective\n ],\n declarations: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective\n ],\n entryComponents: [EuiTimepickerComponent],\n providers: [\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DEFAULT_FORMATS },\n ]\n})\nexport class EuiDatepickerModule {\n}\n","import { AbstractControl } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator = (control: AbstractControl): { [key: string]: any } | null => {\n return control.value === null ? { 'invalidDate': true } : null;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-datepicker.mjs","sources":["../../eui-datepicker/eui-datepicker.component.ts","../../eui-datepicker/eui-datepicker.component.html","../../eui-datepicker/eui-datepicker.module.ts","../../eui-datepicker/eui-datepicker.validators.ts","../../eui-datepicker/eui-components-eui-datepicker.ts"],"sourcesContent":["import {\n ApplicationRef,\n Component,\n ComponentFactoryResolver,\n EventEmitter,\n Inject,\n Injector,\n Input,\n OnChanges,\n OnDestroy,\n DoCheck,\n OnInit,\n Optional,\n Output,\n Self,\n SimpleChanges,\n StaticProvider,\n ViewChild,\n ViewEncapsulation,\n Directive,\n forwardRef,\n HostBinding,\n} from '@angular/core';\nimport { ControlValueAccessor, FormControl, NgControl } from '@angular/forms';\nimport { DateAdapter, MatDateFormats, MAT_DATE_FORMATS } from '@angular/material/core';\nimport { MatCalendarCellClassFunction, MatDatepicker, MatDatepickerInputEvent } from '@angular/material/datepicker';\nimport { TranslateService } from '@ngx-translate/core';\nimport { fromEvent, Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\nimport { ComponentPortal, DomPortalOutlet } from '@angular/cdk/portal';\nimport { OverlayOutsideClickDispatcher } from '@angular/cdk/overlay';\nimport _moment from 'moment';\nimport { default as _rollupMoment } from 'moment';\n\nimport { EuiTimepickerComponent, EuiDateTimePickerConfig } from '@eui/components/eui-timepicker';\nimport { DYNAMIC_COMPONENT_CONFIG, LocaleService, UxAppShellService } from '@eui/core';\nimport { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { BaseDirective } from '@eui/components/shared';\n\nconst moment = _rollupMoment || _moment;\n\n@Component({\n selector: 'eui-datepicker',\n templateUrl: './eui-datepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiDatepickerComponent extends BaseDirective implements OnInit, ControlValueAccessor, OnDestroy, OnChanges, DoCheck {\n\n public inputFormControl = new FormControl();\n public breakpointsValue: any = {\n isMobile: false,\n isTablet: false,\n isLtDesktop: false,\n isDesktop: false,\n isXL: false,\n isXXL: false,\n };\n\n @ViewChild('calendar', { static: true }) calendar: MatDatepicker<any>;\n\n @Output() inputChange = new EventEmitter<any>();\n @Output() dateSelect = new EventEmitter<any>();\n\n @Input() styleClass = '';\n @Input() value: any;\n @Input() togglerIcon: string;\n @Input() togglerIconSvg = 'eui-calendar-outline';\n @Input() togglerLabel: string;\n @Input() placeholder: string;\n @Input() type: 'year' | 'month' | 'regular' = 'regular';\n @Input() startView: 'month' | 'year' | 'multi-year';\n /** @deprecated will be removed in eUI16 */\n @Input() e2eAttr = 'eui-datepicker';\n @Input() minDate: any;\n @Input() maxDate: any;\n @Input() datepickerFilter: (d: any) => boolean = this.datepickerFiltering;\n @Input() dateOutputFormat: string;\n @Input() customHeader: any;\n @Input() dateClass: MatCalendarCellClassFunction<any>;\n @Input()\n get isDatetimepicker(): boolean { return this._isDatetimepicker; }\n set isDatetimepicker(value: BooleanInput) { this._isDatetimepicker = coerceBooleanProperty(value); }\n private _isDatetimepicker = false;\n @Input()\n get hasSeconds(): boolean { return this._hasSeconds; }\n set hasSeconds(value: BooleanInput) { this._hasSeconds = coerceBooleanProperty(value); }\n private _hasSeconds = false;\n @Input()\n get isOneInputField(): boolean { return this._isOneInputField; }\n set isOneInputField(value: BooleanInput) { this._isOneInputField = coerceBooleanProperty(value); }\n private _isOneInputField = false;\n @Input()\n get hasNoButton(): boolean { return this._hasNoButton; }\n set hasNoButton(value: BooleanInput) { this._hasNoButton = coerceBooleanProperty(value); }\n private _hasNoButton = false;\n @Input()\n get isDatepickerBlock(): boolean { return this._isDatepickerBlock; }\n set isDatepickerBlock(value: BooleanInput) { this._isDatepickerBlock = coerceBooleanProperty(value); }\n private _isDatepickerBlock = false;\n @Input()\n get isReadOnly(): boolean { return this._isReadOnly; }\n set isReadOnly(value: BooleanInput) { this._isReadOnly = coerceBooleanProperty(value); }\n private _isReadOnly = false;\n @Input()\n get isDisabled(): boolean { return this._isDisabled; }\n set isDisabled(value: BooleanInput) { this._isDisabled = coerceBooleanProperty(value); }\n private _isDisabled = false;\n @Input()\n get isInputDisabled(): boolean { return this._isInputDisabled; }\n set isInputDisabled(value: BooleanInput) { this._isInputDisabled = coerceBooleanProperty(value); }\n private _isInputDisabled = false;\n @Input()\n get isButtonDisabled(): boolean { return this._isButtonDisabled; }\n set isButtonDisabled(value: BooleanInput) { this._isButtonDisabled = coerceBooleanProperty(value); }\n private _isButtonDisabled = false;\n @Input()\n get isPickerDisabled(): boolean { return this._isPickerDisabled; }\n set isPickerDisabled(value: BooleanInput) { this._isPickerDisabled = coerceBooleanProperty(value); }\n private _isPickerDisabled = false;\n @Input()\n get isClearable(): boolean { return this._isClearable; }\n set isClearable(value: BooleanInput) {this._isClearable = coerceBooleanProperty(value); }\n private _isClearable = false;\n @Input()\n get hasActionButtons(): boolean { return this._hasActionButtons; }\n set hasActionButtons(value: BooleanInput) {this._hasActionButtons = coerceBooleanProperty(value); }\n private _hasActionButtons = false;\n @Input()\n get hasTodayButton(): boolean { return this._hasTodayButton; }\n set hasTodayButton(value: BooleanInput) {this._hasTodayButton = coerceBooleanProperty(value); }\n private _hasTodayButton = false; // TODO: check whether it can be replaced along with the action buttons in favor of ng-content\n @Input()\n get restrictToRegex(): RegExp { return this._restrictToRegex; }\n set restrictToRegex(value: string | RegExp) {\n try {\n if (value instanceof RegExp) {\n this._restrictToRegex = value;\n } else if (typeof value === 'string') {\n this._restrictToRegex = new RegExp(value);\n } else {\n throw new Error(`restrictToRegex can only be string or RegExp, it cannot be ${typeof value}`);\n }\n } catch (e) {\n console.error(e);\n }\n }\n private _restrictToRegex: RegExp;\n\n @HostBinding('class')\n get cssClasses(): string {\n return [\n super.getCssClasses('eui-datepicker'),\n ].join(' ').trim();\n }\n\n private destroy$: Subject<boolean> = new Subject<boolean>();\n private format: MatDateFormats;\n private portalHost: DomPortalOutlet;\n private portal: ComponentPortal<EuiTimepickerComponent>;\n private isNull = false;\n\n constructor(\n private adapter: DateAdapter<any>,\n private translateService: TranslateService,\n private localeService: LocaleService,\n private uxAppShellService: UxAppShellService,\n private componentFactoryResolver: ComponentFactoryResolver,\n private injector: Injector,\n private appRef: ApplicationRef,\n private cdkConnectedOverlay: OverlayOutsideClickDispatcher,\n @Optional() @Inject(forwardRef(() => EuiLetterFormatDirective)) public euiLetterFormat: EuiLetterFormatDirective,\n @Self() @Optional() private control: NgControl,\n @Inject(MAT_DATE_FORMATS) format: MatDateFormats) {\n super();\n this.format = format;\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n this.inputFormControl.setValue(this.value);\n this.isInputDisabled ? this.inputFormControl.disable() : this.inputFormControl.enable();\n\n this.localeService.getState().pipe(takeUntil(this.destroy$)).subscribe(state => {\n this.adapter.setLocale(state.id);\n });\n\n if (!this.placeholder) {\n if (this.type === 'regular' && !this.isDatetimepicker) {\n this.translateService.stream('eui.datepicker.PLACEHOLDER').pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'regular' && this.isDatetimepicker) {\n this.translateService.stream('eui.datepicker.ISDATETIMEPICKER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'year') {\n this.translateService.stream('eui.datepicker.YEAR-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n } else if (this.type === 'month') {\n this.translateService.stream('eui.datepicker.MONTH-PLACEHOLDER')\n .pipe(takeUntil(this.destroy$)).subscribe((result: string) => {\n this.placeholder = result;\n });\n }\n\n }\n\n this.uxAppShellService.breakpoints$.pipe(takeUntil(this.destroy$)).subscribe(bkps => this.breakpointsValue = bkps);\n\n if (this.isDatetimepicker && !this.hasActionButtons) {\n this.calendar['closeCalendar'] = this.calendar.close;\n this.calendar.close = (): boolean => false;\n }\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n this.control?.touched ? this.inputFormControl.markAsTouched() : this.inputFormControl.markAsUntouched();\n this.control?.invalid ? this.inputFormControl.setErrors(this.control.errors) : this.inputFormControl.setErrors(null);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n\n if (changes && changes['isReadOnly']) {\n if (this.isReadOnly) {\n this.hasNoButton = true;\n } else {\n this.hasNoButton = false;\n }\n }\n\n if (changes && changes['isDisabled']) {\n this.setDisabledState(this.isDisabled);\n }\n\n if (changes && changes['value']) {\n this.inputFormControl.setValue(this.value);\n } else {\n if(this.dateOutputFormat && this.value) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n }\n }\n\n if(changes && changes['isClearable']) {\n // when is clearable is used listen if onclear is fired and update the value\n if(this.isClearable) {\n this.inputChange.pipe(takeUntil(this.destroy$)).subscribe((event => {\n if (event === null) {\n this.value = event;\n this.propagateChange(event);\n }\n }));\n }\n }\n }\n\n createInjector(data: any): Injector {\n const injectorTokens: StaticProvider = [{ provide: DYNAMIC_COMPONENT_CONFIG, useValue: data }];\n return Injector.create({\n parent: this.injector,\n providers: injectorTokens\n });\n }\n\n openCalendar(): void {\n if (!this.isReadOnly) {\n this.calendar.open();\n }\n if (this.isDatetimepicker) {\n this.calendar.opened = true;\n // listens to the keydown event once the calendar opened\n const keydownListenerSubscription = fromEvent<KeyboardEvent>(document, 'keydown')\n .pipe(takeUntil(this.destroy$)).subscribe((event: KeyboardEvent) => {\n switch(event.key) {\n case 'Escape': //cloases the calendar on Escape\n this.calendar['closeCalendar']();\n break;\n case 'Enter': { //closes the calendar if pressing Enter on the close calendar button only\n this.getEventPath(event).forEach((p: any)=> {\n if(p.className && p.className.indexOf('mat-datepicker-close-button') !== -1 ) {\n this.calendar['closeCalendar']();\n }\n });\n break;\n }\n }\n });\n\n this.portalHost = new DomPortalOutlet(\n document.querySelector('mat-calendar'),\n this.componentFactoryResolver, // TODO: check again if there is an update on framework side EUI-6207\n this.appRef,\n this.injector\n );\n const timeConfig: EuiDateTimePickerConfig = {\n hours: this.value && moment(this.value).hours(),\n mins: this.value && moment(this.value).minutes(),\n secs: this.value && moment(this.value).seconds(),\n isDatetimepicker: this.isDatetimepicker,\n hasSeconds: this.hasSeconds,\n isOneInputField: this.isOneInputField,\n callbackFn: (hours: number, mins: number, secs: number) => {\n if (this.hasActionButtons) {\n this.value = moment();\n }\n\n this.value = typeof(this.value) === 'string' ?moment(this.value, moment.ISO_8601): moment(this.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0\n });\n\n if (!this.hasActionButtons) {\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n };\n\n this.portal = new ComponentPortal(EuiTimepickerComponent, null, this.createInjector(timeConfig));\n const portalComponentInstance = this.portalHost.attach(this.portal);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n\n this.portalHost?.detach();\n }\n\n onOpened(): void {\n if(this.isDatetimepicker) {\n this.cdkConnectedOverlay._attachedOverlays[0]._outsidePointerEvents.pipe(takeUntil(this.destroy$)).subscribe(() => {\n this.calendar['closeCalendar']();\n });\n }\n }\n\n getEventPath(event): any {\n\n if (event.path) {\n return event.path;\n }\n\n const path = [];\n let target = event.target;\n\n while (target.parentNode) {\n path.push(target);\n target = target.parentNode;\n }\n\n path.push(document, window);\n\n return path;\n }\n\n chosenDateHandler(normalizedDate: any, calendar: MatDatepicker<any>): void {\n if (this.dateOutputFormat) {\n const formattedValue = moment(normalizedDate, this.dateOutputFormat);\n this.value = formattedValue;\n this.inputFormControl.setValue(formattedValue);\n\n this.propagateChange(formattedValue.format(this.dateOutputFormat));\n this.inputChange.emit(formattedValue.format(this.dateOutputFormat));\n this.dateSelect.emit(formattedValue.format(this.dateOutputFormat));\n } else {\n this.value = normalizedDate;\n this.inputFormControl.setValue(this.value);\n\n this.propagateChange(this.value);\n this.dateSelect.emit(this.value ? this.value : null);\n this.inputChange.emit(this.value ? this.value : null);\n }\n calendar.close();\n }\n\n public datepickerFiltering(): boolean {\n return true;\n }\n\n public onDateInput(e: MatDatepickerInputEvent<any>): void {\n\n if (!this.isDatetimepicker) {\n if (e.value === null) {\n this.propagateChange(null);\n this.inputChange.emit(null);\n } else if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.propagateChange(this.value.format(this.dateOutputFormat));\n this.inputChange.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.propagateChange(e.value);\n this.inputChange.emit(e?.value ? e.value : null);\n }\n this.propagateTouched();\n }\n }\n // TODO: check to combine onDateChange and onDateInput into one function ()\n public onDateChange(e: MatDatepickerInputEvent<any>): void {\n\n if (e.value === null) {\n this.propagateChange(null);\n this.dateSelect.emit(null);\n this.isNull = true;\n\n } else {\n this.isNull = false;\n if (this.isDatetimepicker) {\n const hours = this.value && moment(this.value).hours();\n const mins = this.value && moment(this.value).minutes();\n const secs = this.value && moment(this.value).seconds();\n\n this.value = moment(e.value, this.format.parse.dateInput);\n this.value.set({\n hour: hours || 0,\n minute: mins || 0,\n second: secs || 0\n });\n\n if (this.calendar.opened) {\n this.inputFormControl.setValue(this.value);\n }\n\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n } else {\n if (this.dateOutputFormat) {\n this.value = moment(e.value, this.dateOutputFormat);\n this.dateSelect.emit(this.value.format(this.dateOutputFormat));\n } else {\n this.dateSelect.emit(e?.value ? e.value : null);\n }\n }\n }\n }\n\n changedInput(e: string | Event): void {\n const value = (typeof e === 'string') ? e : (e.target as HTMLInputElement).value;\n if (!this.isNull) {\n this.value = moment(value, this.format.parse.dateInput);\n this.inputFormControl.setValue(this.value);\n if (this.dateOutputFormat && this.value != null) {\n this.propagateChange(moment(this.value).format(this.dateOutputFormat));\n } else {\n this.propagateChange(moment(this.value));\n }\n }\n }\n\n onClear(): void {\n this.dateSelect.emit(null);\n this.inputChange.emit(null);\n this.propagateChange(null);\n }\n\n onKeypress(e: KeyboardEvent): void {\n if (e.key === 'Enter') {\n this.openCalendar();\n e.preventDefault();\n }\n\n if (this._restrictToRegex) {\n if (!this._restrictToRegex.test(e.key)) {\n e.preventDefault();\n }\n }\n }\n\n selectToday(): void {\n this.inputFormControl.setValue(moment());\n }\n\n writeValue(value: any): void {\n this.value = value || '';\n this.inputFormControl.setValue(value);\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n convTypeToStartView(type: string): 'year' | 'month' | 'multi-year' {\n switch (type) {\n case 'month':\n return 'year';\n case 'year':\n return 'multi-year';\n case 'regular':\n return 'month';\n }\n }\n\n public setDisabledState?(isDisabled: boolean): void {\n this.isDisabled = isDisabled;\n if (isDisabled) {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = true;\n } else {\n this.isInputDisabled = this.isPickerDisabled = this.isButtonDisabled = false;\n }\n\n this.isInputDisabled ? this.inputFormControl.disable(): this.inputFormControl.enable();\n }\n\n private propagateChange = (_: any): void => {\n };\n\n private propagateTouched = (): void => {\n };\n}\n\nexport const LETTER_FORMAT = {\n parse: {\n dateInput: 'LL',\n },\n display: {\n dateInput: 'LL',\n monthYearLabel: 'LL',\n },\n};\n\nexport const YEAR_FORMAT = {\n parse: {\n dateInput: 'YYYY',\n },\n display: {\n dateInput: 'YYYY',\n monthYearLabel: 'YYYY',\n dateA11yLabel: 'YYYY',\n monthYearA11yLabel: 'YYYY',\n },\n};\n\nexport const MONTH_YEAR_FORMAT = {\n parse: {\n dateInput: 'MM/YYYY',\n },\n display: {\n dateInput: 'MM/YYYY',\n monthYearLabel: 'MMM YYYY',\n dateA11yLabel: 'LL',\n monthYearA11yLabel: 'MMMM YYYY',\n },\n};\n\n@Directive({\n selector: '[euiLetterFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: LETTER_FORMAT },\n ],\n})\nexport class EuiLetterFormatDirective {\n\n}\n\n@Directive({\n selector: '[euiYearFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: YEAR_FORMAT },\n ],\n})\nexport class EuiYearFormatDirective {\n\n}\n\n@Directive({\n selector: '[euiMonthYearFormat]',\n providers: [\n { provide: MAT_DATE_FORMATS, useValue: MONTH_YEAR_FORMAT },\n ],\n})\nexport class EuiMonthYearFormatDirective {\n\n}\n","<div class=\"eui-datepicker__wrapper {{ styleClass }}\" [class.eui-datepicker__wrapper--responsive]=\"isDatepickerBlock\">\n <div euiInputGroup>\n <div class=\"eui-input-group-addon\">\n <input\n euiInputText\n [readonly] =\"isReadOnly\"\n [euiClearable]= \"isClearable\"\n (clear)=\"onClear()\"\n [class.eui-datepicker--no-button]=\"hasNoButton\"\n [class.eui-datepicker--long-format]=\"!isDatepickerBlock && (isDatetimepicker || euiLetterFormat)\"\n [class.eui-datepicker--block]=\"isDatepickerBlock\"\n [formControl]=\"inputFormControl\"\n [matDatepicker]=\"calendar\"\n placeholder=\"{{ placeholder }}\"\n (dateInput)=\"onDateInput($event)\"\n (dateChange)=\"onDateChange($event)\"\n [min]=\"minDate\"\n [max]=\"maxDate\"\n [matDatepickerFilter]=\"datepickerFilter\"\n (click)=\"openCalendar()\"\n autocomplete=\"off\"\n aria-label=\"Date Input Field\"\n (keypress)=\"onKeypress($event)\"\n (change)=\"isDatetimepicker ? changedInput($event) : null\">\n <mat-datepicker\n #calendar\n panelClass=\"mat-calendar-{{ type }}\"\n [startView]=\"(type==='regular') ? (startView ? startView : convTypeToStartView(type)) : convTypeToStartView(type)\"\n (yearSelected)=\"type === 'year' ? chosenDateHandler($event, calendar) : null\"\n (monthSelected)=\"type === 'month' ? chosenDateHandler($event, calendar) : null\"\n [touchUi]=\"breakpointsValue.isTablet || breakpointsValue.isMobile\"\n [panelClass]=\"isDatetimepicker? 'eui-datepicker--container-height-large' : null\"\n [disabled]=\"isPickerDisabled\"\n [calendarHeaderComponent]=\"customHeader\"\n [dateClass]=\"dateClass\"\n (opened)=\"onOpened()\">\n <mat-datepicker-actions *ngIf=\"hasActionButtons\">\n <div *ngIf=\"hasTodayButton\" class=\"eui-datepicker__footer\">\n <button euiButton euiBasicButton euiOutline matDatepickerApply aria-label=\"Today\" (click)=\"selectToday()\">\n <eui-icon-svg icon=\"eui-today-outline\" aria-label=\"Today Icon\"></eui-icon-svg>\n <span euiLabel>Today</span>\n </button>\n </div>\n <button euiButton euiSecondary matDatepickerCancel class=\"eui-datepicker__actions-cancel-button\">Cancel</button>\n <button euiButton euiPrimary matDatepickerApply>Apply</button>\n </mat-datepicker-actions>\n </mat-datepicker>\n <button\n *ngIf=\"!hasNoButton\"\n (click)=\"openCalendar()\"\n euiButton\n type=\"button\"\n euiSecondary\n [euiIconButton] = \"!togglerLabel\"\n [euiDisabled]=\"isButtonDisabled\"\n aria-haspopup=\"dialog\">\n <span *ngIf=\"!togglerLabel && togglerIcon\" euiIcon aria-label=\"Open Calendar\" iconClass=\"{{ togglerIcon }}\"></span>\n <ng-container *ngIf=\"!togglerLabel && !togglerIcon\">\n <eui-icon-svg icon=\"{{ togglerIconSvg }}\" aria-label=\"Open Calendar\"></eui-icon-svg>\n </ng-container>\n <span *ngIf=\"togglerLabel\">{{ togglerLabel }}</span>\n </button>\n </div>\n </div>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { MatMomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\n\nimport { EuiDatepickerComponent, EuiLetterFormatDirective, EuiMonthYearFormatDirective, EuiYearFormatDirective } from './eui-datepicker.component';\nimport { EuiTimepickerComponent, EuiTimepickerModule } from '@eui/components/eui-timepicker';\nimport { EuiButtonModule } from '@eui/components/eui-button';\nimport { EuiIconModule } from '@eui/components/eui-icon';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiInputGroupModule } from '@eui/components/eui-input-group';\n\nexport const DEFAULT_FORMATS = {\n parse: {\n dateInput: 'DD/MM/YYYY',\n },\n display: {\n dateInput: 'DD/MM/YYYY',\n monthYearLabel: 'MM/YYYY',\n dateA11yLabel: 'Date/Month/Year',\n monthYearA11yLabel: 'Month/Year',\n },\n};\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n MatDatepickerModule,\n TranslateModule,\n MatMomentDateModule,\n EuiButtonModule,\n EuiIconModule,\n EuiTimepickerModule,\n EuiInputTextModule,\n EuiInputGroupModule\n ],\n exports: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective\n ],\n declarations: [\n EuiDatepickerComponent,\n EuiLetterFormatDirective,\n EuiYearFormatDirective,\n EuiMonthYearFormatDirective\n ],\n entryComponents: [EuiTimepickerComponent],\n providers: [\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: DEFAULT_FORMATS },\n ]\n})\nexport class EuiDatepickerModule {\n}\n","import { AbstractControl } from '@angular/forms';\n\n/**\n * @description\n * Validator that validates the date based on the provided format.\n *\n * @usageNotes\n * If the user types a value in the input field that is not aligned with the provided format the component propagates a null value that\n * can be used to validate the input field.\n *\n * @returns An error map with the\n * `invalidDate` if the validation check fails, otherwise `null`.\n */\nexport const dateInputValidator = (control: AbstractControl): { [key: string]: any } | null => {\n return control.value === null ? { 'invalidDate': true } : null;\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["_moment"],"mappings":"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"}
|
|
@@ -121,8 +121,7 @@ class EuiTimepickerComponent {
|
|
|
121
121
|
this.updateSeconds(val.toString());
|
|
122
122
|
}
|
|
123
123
|
updateHours(newVal) {
|
|
124
|
-
const
|
|
125
|
-
const enteredHour = this.toInteger(value);
|
|
124
|
+
const enteredHour = this.toInteger(newVal);
|
|
126
125
|
if (!isNaN(enteredHour)) {
|
|
127
126
|
this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;
|
|
128
127
|
}
|
|
@@ -136,8 +135,7 @@ class EuiTimepickerComponent {
|
|
|
136
135
|
this.propagateChange(this.propagatedValues);
|
|
137
136
|
}
|
|
138
137
|
updateMinutes(newVal) {
|
|
139
|
-
const
|
|
140
|
-
const enteredMin = this.toInteger(value);
|
|
138
|
+
const enteredMin = this.toInteger(newVal);
|
|
141
139
|
if (!isNaN(enteredMin)) {
|
|
142
140
|
this.mins = enteredMin % 60 < 0 ? 60 + enteredMin % 60 : enteredMin % 60;
|
|
143
141
|
this.changeHours(Math.floor(enteredMin / 60));
|
|
@@ -152,8 +150,7 @@ class EuiTimepickerComponent {
|
|
|
152
150
|
this.propagateChange(this.propagatedValues);
|
|
153
151
|
}
|
|
154
152
|
updateSeconds(newVal) {
|
|
155
|
-
const
|
|
156
|
-
const enteredSec = this.toInteger(value);
|
|
153
|
+
const enteredSec = this.toInteger(newVal);
|
|
157
154
|
if (!isNaN(enteredSec)) {
|
|
158
155
|
this.secs = enteredSec % 60 < 0 ? 60 + enteredSec % 60 : enteredSec % 60;
|
|
159
156
|
this.changeMinutes(Math.floor(enteredSec / 60));
|
|
@@ -236,10 +233,10 @@ class EuiTimepickerComponent {
|
|
|
236
233
|
}
|
|
237
234
|
}
|
|
238
235
|
/** @nocollapse */ EuiTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiTimepickerComponent, deps: [{ token: DYNAMIC_COMPONENT_CONFIG, optional: true }, { token: i1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
239
|
-
/** @nocollapse */ EuiTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EuiTimepickerComponent, selector: "eui-timepicker", inputs: { isreadOnly: "isreadOnly", isOneInputField: "isOneInputField", hasSeconds: "hasSeconds", timeMask: "timeMask" }, viewQueries: [{ propertyName: "inputHoursElement", first: true, predicate: ["inputrefhours"], descendants: true, read: ElementRef }, { propertyName: "inputMinsElement", first: true, predicate: ["inputrefmins"], descendants: true, read: ElementRef }, { propertyName: "inputSecsElement", first: true, predicate: ["inputrefsecs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (
|
|
236
|
+
/** @nocollapse */ EuiTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: EuiTimepickerComponent, selector: "eui-timepicker", inputs: { isreadOnly: "isreadOnly", isOneInputField: "isOneInputField", hasSeconds: "hasSeconds", timeMask: "timeMask" }, viewQueries: [{ propertyName: "inputHoursElement", first: true, predicate: ["inputrefhours"], descendants: true, read: ElementRef }, { propertyName: "inputMinsElement", first: true, predicate: ["inputrefmins"], descendants: true, read: ElementRef }, { propertyName: "inputSecsElement", first: true, predicate: ["inputrefsecs"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: 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: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i3.EuiInputNumberComponent, selector: "input[euiInputNumber]:not([euiInputCheckBox])", inputs: ["min", "max", "leadingZero", "isInvalid", "fractionDigits", "digits", "fillFraction", "roundUp", "noFormat", "styleClass", "value"] }, { kind: "component", type: i4.EuiInputTextComponent, selector: "input[euiInputText]", inputs: ["class", "isInvalid"] }, { kind: "component", type: i5.EuiIconSvgComponent, selector: "eui-icon-svg, span[euiIconSvg], i[euiIconSvg]", inputs: ["icon", "size", "fillColor", "set", "ariaLabelledby", "role", "style", "iconUrl", "aria-label", "ariaHidden", "focusable", "isLoading"] }, { kind: "directive", type: i6.MaskDirective, selector: "input[mask], textarea[mask]", inputs: ["mask", "specialCharacters", "patterns", "prefix", "suffix", "thousandSeparator", "decimalMarker", "dropSpecialCharacters", "hiddenInput", "showMaskTyped", "placeHolderCharacter", "shownMaskExpression", "showTemplate", "clearIfNotMatch", "validation", "separatorLimit", "allowNegativeNumbers", "leadZeroDateTime", "triggerOnMaskChange"], outputs: ["maskFilled"], exportAs: ["mask", "ngxMask"] }], encapsulation: i0.ViewEncapsulation.None });
|
|
240
237
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: EuiTimepickerComponent, decorators: [{
|
|
241
238
|
type: Component,
|
|
242
|
-
args: [{ selector: 'eui-timepicker', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (
|
|
239
|
+
args: [{ selector: 'eui-timepicker', encapsulation: ViewEncapsulation.None, template: "<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n", styles: [".eui-timepicker{align-items:center;display:flex}.eui-timepicker--centered{justify-content:center}.eui-timepicker__input-container{width:calc(4 * var(--eui-base-spacing-m))}.eui-timepicker__input{text-align:center;width:100%}.eui-timepicker__input--one-field{width:calc(6 * var(--eui-base-spacing-m));margin-bottom:var(--eui-base-spacing-2xs)}.eui-timepicker__spacer{text-align:center;width:var(--eui-base-spacing-m)}.eui-timepicker__chevron:not([href]){color:var(--eui-base-color-grey-25);display:flex;justify-content:center;padding:var(--eui-base-spacing-xs);text-decoration-line:none!important}.eui-timepicker__chevron:not([href]):hover{color:var(--eui-base-color-primary-100)}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}\n"] }]
|
|
243
240
|
}], ctorParameters: function () { return [{ type: EuiDateTimePickerConfig, decorators: [{
|
|
244
241
|
type: Optional
|
|
245
242
|
}, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/models/eui-date-time-picker.config.model.ts","../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/eui-timepicker.module.ts","../../eui-timepicker/eui-components-eui-timepicker.ts"],"sourcesContent":["export interface EuiDateTimePickerConfig {\n hours: number;\n mins: number;\n secs?: number;\n isDatetimepicker: boolean;\n hasSeconds: boolean;\n isOneInputField: boolean;\n callbackFn: (hours: number, mins: number, secs?: number) => void;\n}\n\nexport class EuiDateTimePickerConfig implements EuiDateTimePickerConfig {\n hours: number;\n mins: number;\n secs?: number;\n isDatetimepicker: boolean;\n hasSeconds: boolean;\n isOneInputField: boolean;\n callbackFn: (hours: number, mins: number, secs?: number) => void;\n\n constructor(values) {\n Object.assign(this, values);\n }\n}\n","import { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Component, ElementRef, Inject, Input, OnInit, Optional, ViewChild, ViewEncapsulation, Self, DoCheck, OnDestroy } from '@angular/core';\nimport { ControlValueAccessor, NgControl, FormControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\n\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, DoCheck, OnDestroy {\n\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n private propagatedValues: EuiTimePicker = {\n hours: null,\n mins: null,\n secs: this.hasSeconds ? null : undefined\n };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @Input()\n get isreadOnly(): boolean { return this._isreadOnly; }\n set isreadOnly(value: BooleanInput) { this._isreadOnly = coerceBooleanProperty(value); }\n private _isreadOnly = false;\n\n @Input()\n get isOneInputField(): boolean { return this._isOneInputField; }\n set isOneInputField(value: BooleanInput) { this._isOneInputField = coerceBooleanProperty(value); }\n private _isOneInputField = false;\n\n @Input()\n get hasSeconds(): boolean { return this._hasSeconds; }\n set hasSeconds(value: BooleanInput) { this._hasSeconds = coerceBooleanProperty(value); }\n private _hasSeconds = false;\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n @Input() timeMask = 'Hh:m0';\n\n @ViewChild('inputrefhours', { read: ElementRef }) protected inputHoursElement: ElementRef<HTMLInputElement>;\n @ViewChild('inputrefmins', { read: ElementRef }) protected inputMinsElement: ElementRef<HTMLInputElement>;\n @ViewChild('inputrefsecs', { read: ElementRef }) protected inputSecsElement: ElementRef<HTMLInputElement>;\n\n constructor(@Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiDateTimePickerConfig,\n @Self() @Optional() private control: NgControl,) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.isDatetimepicker = config?.isDatetimepicker;\n this.hasSeconds = config?.hasSeconds;\n this.isOneInputField = config?.isOneInputField;\n const hours = this.hours === 0 || null ? '00' : this.hours;\n const mins = this.mins === 0 || null ? '00': this.mins;\n const secs = this.secs === 0 || null ? '00': this.secs;\n this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n this.callbackFn = config?.callbackFn || this.callbackFn;\n\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n if (this.hasSeconds) {\n this.timeMask = 'Hh:m0:s0';\n }\n\n this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n const timeArray = value.split(':');\n this.oneInputHours = timeArray[0];\n this.oneInputMins = timeArray[1];\n this.oneInputSecs = timeArray[2];\n const splittedhours = value !== '' ? Number(this.oneInputHours): null;\n const splittedmins = value !== '' ? Number(this.oneInputMins): null;\n const splittedsecs= value !== '' ? Number(this.oneInputSecs): null;\n if(this.hasSeconds) {\n this.propagatedValues = {\n ...this.propagatedValues, hours: splittedhours, mins: splittedmins, secs: splittedsecs\n };\n this.callbackFn(splittedhours, splittedmins, splittedsecs);\n } else {\n this.propagatedValues = {\n ...this.propagatedValues, hours: splittedhours, mins: splittedmins\n };\n this.callbackFn(splittedhours, splittedmins);\n }\n if(splittedhours === null && splittedmins=== null && splittedsecs=== null) {\n this.propagateChange(null);\n } else {\n this.propagateChange(this.propagatedValues);\n }\n });\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n changeHours(step: number): void {\n const val = (isNaN(this.hours) ? 0 : this.hours) + (step);\n this.updateHours(val.toString());\n }\n\n changeMinutes(step: number): void {\n const val = (isNaN(this.mins) ? 0 : this.mins) + (step);\n this.updateMinutes(val.toString());\n }\n\n changeSeconds(step: number): void {\n const val = (isNaN(this.secs) ? 0 : this.secs) + (step);\n this.updateSeconds(val.toString());\n }\n\n updateHours(newVal: string | Event): void { // TODO EUI15 check on changing the keyup event for ngmodelchange\n const value = (typeof newVal === 'string') ? newVal : (newVal.target as HTMLInputElement).value;\n const enteredHour = this.toInteger(value);\n\n if (!isNaN(enteredHour)) {\n this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n } else {\n this.hours = NaN;\n }\n\n this.callbackFn(this.hours, this.mins);\n\n this.propagatedValues = {\n ...this.propagatedValues, hours: this.hours,\n };\n this.propagateChange(this.propagatedValues);\n }\n\n updateMinutes(newVal: string | Event): void { // TODO EUI15 check on changing the keyup event for ngmodelchange\n const value = (typeof newVal === 'string') ? newVal : (newVal.target as HTMLInputElement).value;\n const enteredMin = this.toInteger(value);\n\n if (!isNaN(enteredMin)) {\n this.mins = enteredMin % 60 < 0 ? 60 + enteredMin % 60 : enteredMin % 60;\n this.changeHours(Math.floor(enteredMin / 60));\n } else {\n this.mins = NaN;\n }\n\n this.callbackFn(this.hours, this.mins);\n\n this.propagatedValues = {\n ...this.propagatedValues, mins: this.mins\n };\n this.propagateChange(this.propagatedValues);\n }\n\n updateSeconds(newVal: string | Event): void { // TODO EUI15 check on changing the keyup event for ngmodelchange\n const value = (typeof newVal === 'string') ? newVal : (newVal.target as HTMLInputElement).value;\n const enteredSec = this.toInteger(value);\n\n if (!isNaN(enteredSec)) {\n this.secs = enteredSec % 60 < 0 ? 60 + enteredSec % 60 : enteredSec % 60;\n this.changeMinutes(Math.floor(enteredSec / 60));\n } else {\n this.secs = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues, secs: this.secs\n };\n\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n */\n onFocusOut(): void {\n\n if(this.oneInputHours && !this.oneInputMins && !this.oneInputSecs ) {\n switch (this.oneInputHours) {\n case '0':\n this.oneInputHours= '00';\n break;\n case '1':\n this.oneInputHours='01';\n break;\n case '2':\n this.oneInputHours='02';\n break;\n }\n this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n }\n\n this.propagateTouched();\n }\n\n writeValue(values: EuiTimePicker): void {\n if (typeof values !== 'object' || Array.isArray(values)) { throw new Error('value must be an EuiTimePicker Object'); }\n if (values.hours === undefined || values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number' ) {\n throw new Error('hours must be defined and be a number with range 0-23');\n }\n if (values.mins === undefined || values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number' ) {\n throw new Error('mins must be defined and be a number with range 0-59');\n }\n if (this.hasSeconds && (values.secs === undefined || values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number' )) {\n throw new Error('secs must be defined and be a number with range 0-59');\n }\n\n this.updateHours(values.hours.toString());\n this.updateMinutes(values.mins.toString());\n if (values.secs) {\n this.updateSeconds(values.secs.toString());\n }\n if (this.isOneInputField) {\n const hours = this.padNumber(values.hours);\n const mins = this.padNumber(values.mins);\n const secs =this.padNumber(values.secs);\n\n this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => { };\n\n private toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n }\n\n /**\n * Pads leading zero to the provided number when isOneInputField\n * @param value The value to add leading zero to\n * @private\n */\n private padNumber(value: number): string {\n if (!isNaN(this.toInteger(value))) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n }\n\n private propagateChange = (_: any): void => {\n };\n\n private propagateTouched = (): void => {\n };\n}\n","<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (keyup)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (keyup)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (keyup)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask';\n\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\nimport { EuiInputNumberDirectiveModule } from '@eui/components/eui-input-number';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EuiInputNumberDirectiveModule,\n EuiInputTextModule,\n EuiIconModule,\n NgxMaskModule.forRoot(),\n ],\n exports: [\n EuiTimepickerComponent\n ],\n declarations: [\n EuiTimepickerComponent\n ],\n})\nexport class EuiTimepickerModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-timepicker.mjs","sources":["../../eui-timepicker/models/eui-date-time-picker.config.model.ts","../../eui-timepicker/eui-timepicker.component.ts","../../eui-timepicker/eui-timepicker.component.html","../../eui-timepicker/eui-timepicker.module.ts","../../eui-timepicker/eui-components-eui-timepicker.ts"],"sourcesContent":["export interface EuiDateTimePickerConfig {\n hours: number;\n mins: number;\n secs?: number;\n isDatetimepicker: boolean;\n hasSeconds: boolean;\n isOneInputField: boolean;\n callbackFn: (hours: number, mins: number, secs?: number) => void;\n}\n\nexport class EuiDateTimePickerConfig implements EuiDateTimePickerConfig {\n hours: number;\n mins: number;\n secs?: number;\n isDatetimepicker: boolean;\n hasSeconds: boolean;\n isOneInputField: boolean;\n callbackFn: (hours: number, mins: number, secs?: number) => void;\n\n constructor(values) {\n Object.assign(this, values);\n }\n}\n","import { coerceBooleanProperty, BooleanInput } from '@angular/cdk/coercion';\nimport { Component, ElementRef, Inject, Input, OnInit, Optional, ViewChild, ViewEncapsulation, Self, DoCheck, OnDestroy } from '@angular/core';\nimport { ControlValueAccessor, NgControl, FormControl } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { DYNAMIC_COMPONENT_CONFIG } from '@eui/core';\nimport { EuiDateTimePickerConfig } from './models/eui-date-time-picker.config.model';\nimport { EuiTimePicker } from './models/eui-timepicker.model';\n\n@Component({\n selector: 'eui-timepicker',\n templateUrl: './eui-timepicker.component.html',\n styleUrls: ['./styles/_index.scss'],\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiTimepickerComponent implements ControlValueAccessor, OnInit, DoCheck, OnDestroy {\n\n hours: number;\n mins: number;\n secs: number;\n isDatetimepicker: boolean;\n oneInputFormControl = new FormControl();\n oneInputHours: string;\n oneInputMins: string;\n oneInputSecs: string;\n\n private propagatedValues: EuiTimePicker = {\n hours: null,\n mins: null,\n secs: this.hasSeconds ? null : undefined\n };\n private destroy$: Subject<boolean> = new Subject<boolean>();\n\n @Input()\n get isreadOnly(): boolean { return this._isreadOnly; }\n set isreadOnly(value: BooleanInput) { this._isreadOnly = coerceBooleanProperty(value); }\n private _isreadOnly = false;\n\n @Input()\n get isOneInputField(): boolean { return this._isOneInputField; }\n set isOneInputField(value: BooleanInput) { this._isOneInputField = coerceBooleanProperty(value); }\n private _isOneInputField = false;\n\n @Input()\n get hasSeconds(): boolean { return this._hasSeconds; }\n set hasSeconds(value: BooleanInput) { this._hasSeconds = coerceBooleanProperty(value); }\n private _hasSeconds = false;\n\n // eslint-disable-next-line @typescript-eslint/member-ordering\n @Input() timeMask = 'Hh:m0';\n\n @ViewChild('inputrefhours', { read: ElementRef }) protected inputHoursElement: ElementRef<HTMLInputElement>;\n @ViewChild('inputrefmins', { read: ElementRef }) protected inputMinsElement: ElementRef<HTMLInputElement>;\n @ViewChild('inputrefsecs', { read: ElementRef }) protected inputSecsElement: ElementRef<HTMLInputElement>;\n\n constructor(@Optional() @Inject(DYNAMIC_COMPONENT_CONFIG) config: EuiDateTimePickerConfig,\n @Self() @Optional() private control: NgControl,) {\n this.hours = config?.hours || 0;\n this.mins = config?.mins || 0;\n this.secs = config?.secs || 0;\n this.isDatetimepicker = config?.isDatetimepicker;\n this.hasSeconds = config?.hasSeconds;\n this.isOneInputField = config?.isOneInputField;\n const hours = this.hours === 0 || null ? '00' : this.hours;\n const mins = this.mins === 0 || null ? '00': this.mins;\n const secs = this.secs === 0 || null ? '00': this.secs;\n this.oneInputFormControl.setValue('' + hours + ':' + mins + ':' + secs);\n this.callbackFn = config?.callbackFn || this.callbackFn;\n\n if (this.control) {\n this.control.valueAccessor = this;\n }\n }\n\n ngOnInit(): void {\n if (this.hasSeconds) {\n this.timeMask = 'Hh:m0:s0';\n }\n\n this.oneInputFormControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe(value => {\n // splits the entered time into 3 parts based on the : and propagates back the corresponding parts\n const timeArray = value.split(':');\n this.oneInputHours = timeArray[0];\n this.oneInputMins = timeArray[1];\n this.oneInputSecs = timeArray[2];\n const splittedhours = value !== '' ? Number(this.oneInputHours): null;\n const splittedmins = value !== '' ? Number(this.oneInputMins): null;\n const splittedsecs= value !== '' ? Number(this.oneInputSecs): null;\n if(this.hasSeconds) {\n this.propagatedValues = {\n ...this.propagatedValues, hours: splittedhours, mins: splittedmins, secs: splittedsecs\n };\n this.callbackFn(splittedhours, splittedmins, splittedsecs);\n } else {\n this.propagatedValues = {\n ...this.propagatedValues, hours: splittedhours, mins: splittedmins\n };\n this.callbackFn(splittedhours, splittedmins);\n }\n if(splittedhours === null && splittedmins=== null && splittedsecs=== null) {\n this.propagateChange(null);\n } else {\n this.propagateChange(this.propagatedValues);\n }\n });\n }\n\n ngDoCheck(): void {\n if (this.control) {\n // marks the input control as touched/invalid if the form control is touched/invalid\n this.control?.touched ? this.oneInputFormControl.markAsTouched() : this.oneInputFormControl.markAsUntouched();\n this.control?.invalid ? this.oneInputFormControl.setErrors(this.control.errors) : this.oneInputFormControl.setErrors(null);\n }\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(true);\n this.destroy$.unsubscribe();\n }\n\n changeHours(step: number): void {\n const val = (isNaN(this.hours) ? 0 : this.hours) + (step);\n this.updateHours(val.toString());\n }\n\n changeMinutes(step: number): void {\n const val = (isNaN(this.mins) ? 0 : this.mins) + (step);\n this.updateMinutes(val.toString());\n }\n\n changeSeconds(step: number): void {\n const val = (isNaN(this.secs) ? 0 : this.secs) + (step);\n this.updateSeconds(val.toString());\n }\n\n updateHours(newVal: string): void {\n const enteredHour = this.toInteger(newVal);\n\n if (!isNaN(enteredHour)) {\n this.hours = (enteredHour < 0 ? 24 + enteredHour : enteredHour) % 24;\n } else {\n this.hours = NaN;\n }\n\n this.callbackFn(this.hours, this.mins);\n\n this.propagatedValues = {\n ...this.propagatedValues, hours: this.hours,\n };\n this.propagateChange(this.propagatedValues);\n }\n\n updateMinutes(newVal: string): void {\n const enteredMin = this.toInteger(newVal);\n\n if (!isNaN(enteredMin)) {\n this.mins = enteredMin % 60 < 0 ? 60 + enteredMin % 60 : enteredMin % 60;\n this.changeHours(Math.floor(enteredMin / 60));\n } else {\n this.mins = NaN;\n }\n\n this.callbackFn(this.hours, this.mins);\n\n this.propagatedValues = {\n ...this.propagatedValues, mins: this.mins\n };\n this.propagateChange(this.propagatedValues);\n }\n\n updateSeconds(newVal: string): void {\n const enteredSec = this.toInteger(newVal);\n\n if (!isNaN(enteredSec)) {\n this.secs = enteredSec % 60 < 0 ? 60 + enteredSec % 60 : enteredSec % 60;\n this.changeMinutes(Math.floor(enteredSec / 60));\n } else {\n this.secs = NaN;\n }\n\n this.callbackFn(this.hours, this.mins, this.secs);\n\n this.propagatedValues = {\n ...this.propagatedValues, secs: this.secs\n };\n\n this.propagateChange(this.propagatedValues);\n }\n /**\n * Autofills mins and secs with 00s if the user tabs after entering hours and marks the input as touched\n */\n onFocusOut(): void {\n\n if(this.oneInputHours && !this.oneInputMins && !this.oneInputSecs ) {\n switch (this.oneInputHours) {\n case '0':\n this.oneInputHours= '00';\n break;\n case '1':\n this.oneInputHours='01';\n break;\n case '2':\n this.oneInputHours='02';\n break;\n }\n this.oneInputFormControl.patchValue(`${this.oneInputHours} : 00 : 00`);\n }\n\n this.propagateTouched();\n }\n\n writeValue(values: EuiTimePicker): void {\n if (typeof values !== 'object' || Array.isArray(values)) { throw new Error('value must be an EuiTimePicker Object'); }\n if (values.hours === undefined || values.hours < 0 || values.hours > 23 || typeof values.hours !== 'number' ) {\n throw new Error('hours must be defined and be a number with range 0-23');\n }\n if (values.mins === undefined || values.mins < 0 || values.mins > 59 || typeof values.mins !== 'number' ) {\n throw new Error('mins must be defined and be a number with range 0-59');\n }\n if (this.hasSeconds && (values.secs === undefined || values.secs < 0 || values.secs > 59 || typeof values.secs !== 'number' )) {\n throw new Error('secs must be defined and be a number with range 0-59');\n }\n\n this.updateHours(values.hours.toString());\n this.updateMinutes(values.mins.toString());\n if (values.secs) {\n this.updateSeconds(values.secs.toString());\n }\n if (this.isOneInputField) {\n const hours = this.padNumber(values.hours);\n const mins = this.padNumber(values.mins);\n const secs =this.padNumber(values.secs);\n\n this.oneInputFormControl.patchValue('' + hours + ':' + mins + ':' + secs);\n }\n }\n\n registerOnChange(fn: any): void {\n this.propagateChange = fn;\n }\n\n registerOnTouched(fn: any): void {\n this.propagateTouched = fn;\n }\n\n private callbackFn: (hours: number, mins: number, secs?: number) => void = () => { };\n\n private toInteger(value: any): number {\n return parseInt(`${value}`, 10);\n }\n\n /**\n * Pads leading zero to the provided number when isOneInputField\n * @param value The value to add leading zero to\n * @private\n */\n private padNumber(value: number): string {\n if (!isNaN(this.toInteger(value))) {\n return `0${value}`.slice(-2);\n } else {\n return '';\n }\n }\n\n private propagateChange = (_: any): void => {\n };\n\n private propagateTouched = (): void => {\n };\n}\n","<div class=\"eui-timepicker\" [class.eui-timepicker--centered]=\"isDatetimepicker\">\n <ng-container *ngIf=\"isOneInputField; else multipleInputs\">\n <input\n [class.eui-timepicker__input--one-field]=\"isDatetimepicker\"\n euiInputText\n mask=\"{{ timeMask }}\"\n [leadZeroDateTime]=\"true\"\n placeholder=\"{{ timeMask }}\"\n aria-label=\"Time Input Field\"\n [formControl]=\"oneInputFormControl\"\n (focusout)=\"onFocusOut()\"\n [dropSpecialCharacters]=\"false\"\n [readOnly]=\"isreadOnly\">\n </ng-container>\n\n <ng-template #multipleInputs>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" class=\"eui-timepicker__chevron\" tabindex=\"-1\" (click)=\"changeHours(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Hours\"></eui-icon-svg>\n </a>\n <input #inputrefhours\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"HH\"\n [ngModel]=\"hours\"\n (ngModelChange)=\"updateHours($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Hours\"\n (keydown.ArrowUp)=\"changeHours(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeHours(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeHours(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Hours\"></eui-icon-svg>\n </a>\n </div>\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase Minutes\"></eui-icon-svg>\n </a>\n <input #inputrefmins\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"MM\"\n [ngModel]=\"mins\"\n (ngModelChange)=\"updateMinutes($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Minutes\"\n (keydown.ArrowUp)=\"changeMinutes(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeMinutes(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeMinutes(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease Minutes\"></eui-icon-svg>\n </a>\n </div>\n <ng-container *ngIf=\"hasSeconds\">\n <div class=\"eui-timepicker__spacer\">:</div>\n <div class=\"eui-timepicker__input-container\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(1)\">\n <eui-icon-svg icon=\"eui-chevron-up\" role=\"img\" aria-label=\"Increase seconds\"></eui-icon-svg>\n </a>\n <input #inputrefsecs\n euiInputNumber\n [leadingZero]=\"2\"\n [digits]=\"2\"\n [fractionDigits]=\"0\"\n class=\"eui-timepicker__input\"\n placeholder=\"SS\"\n [ngModel]=\"secs\"\n (ngModelChange)=\"updateSeconds($event)\"\n [readOnly]=\"isreadOnly\"\n aria-label=\"Seconds\"\n (keydown.ArrowUp)=\"changeSeconds(1); $event.preventDefault()\"\n (keydown.ArrowDown)=\"changeSeconds(-1); $event.preventDefault()\">\n <a *ngIf=\"!isreadOnly\" tabindex=\"-1\" class=\"eui-timepicker__chevron\" (click)=\"changeSeconds(-1)\">\n <eui-icon-svg icon=\"eui-chevron-down\" role=\"img\" aria-label=\"Decrease seconds\"></eui-icon-svg>\n </a>\n </div>\n </ng-container>\n </ng-template>\n</div>\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule } from 'ngx-mask';\n\nimport { EuiTimepickerComponent } from './eui-timepicker.component';\nimport { EuiInputNumberDirectiveModule } from '@eui/components/eui-input-number';\nimport { EuiInputTextModule } from '@eui/components/eui-input-text';\nimport { EuiIconModule } from '@eui/components/eui-icon';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n EuiInputNumberDirectiveModule,\n EuiInputTextModule,\n EuiIconModule,\n NgxMaskModule.forRoot(),\n ],\n exports: [\n EuiTimepickerComponent\n ],\n declarations: [\n EuiTimepickerComponent\n ],\n})\nexport class EuiTimepickerModule {\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|