UNPKG

ngx-datetime-16

Version:

Update of ng2-datetime that is compatible with Angular v16+

1 lines 19.1 kB
{"version":3,"file":"ngx-datetime-16.mjs","sources":["../../../projects/ngx-datetime/src/lib/ngx-datetime.component.ts","../../../projects/ngx-datetime/src/lib/ngx-datetime.module.ts","../../../projects/ngx-datetime/src/public-api.ts","../../../projects/ngx-datetime/src/ngx-datetime-16.ts"],"sourcesContent":["import {\n Component,\n Input,\n HostListener,\n AfterViewInit,\n OnDestroy,\n SimpleChanges,\n OnChanges,\n HostBinding,\n forwardRef,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { ITimepickerEvent } from './ITimepickerEvent';\n\ndeclare var jQuery: any;\ndeclare var $: any;\n\nconst CUSTOM_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NgxDatetimeComponent),\n multi: true,\n};\n\n@Component({\n selector: 'ngx-datetime',\n providers: [CUSTOM_ACCESSOR],\n template: `\n <div class=\"ng2-datetime\">\n <div\n [ngClass]=\"{ 'input-group': !datepickerOptions.hideIcon, date: true }\"\n >\n <input\n id=\"{{ idDatePicker }}\"\n type=\"text\"\n class=\"form-control\"\n [attr.readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.placeholder]=\"datepickerOptions.placeholder || 'Choose date'\"\n [attr.tabindex]=\"tabindex\"\n [(ngModel)]=\"dateModel\"\n (blur)=\"onTouched()\"\n (keyup)=\"checkEmptyValue($event)\"\n />\n <div\n [hidden]=\"datepickerOptions.hideIcon || datepickerOptions === false\"\n (click)=\"showDatepicker()\"\n class=\"input-group-addon\"\n >\n <span\n [ngClass]=\"datepickerOptions.icon || 'glyphicon glyphicon-th'\"\n ></span>\n </div>\n </div>\n <div\n [ngClass]=\"{\n 'input-group': !timepickerOptions.hideIcon,\n 'bootstrap-timepicker timepicker': true\n }\"\n >\n <input\n id=\"{{ idTimePicker }}\"\n type=\"text\"\n class=\"form-control input-small\"\n [attr.readonly]=\"readonly\"\n [attr.required]=\"required\"\n [attr.placeholder]=\"timepickerOptions.placeholder || 'Set time'\"\n [attr.tabindex]=\"tabindex\"\n [(ngModel)]=\"timeModel\"\n (focus)=\"showTimepicker()\"\n (blur)=\"onTouched()\"\n (keyup)=\"checkEmptyValue($event)\"\n />\n <span\n [hidden]=\"timepickerOptions.hideIcon || false\"\n class=\"input-group-addon\"\n >\n <i\n [ngClass]=\"timepickerOptions.icon || 'glyphicon glyphicon-time'\"\n ></i>\n </span>\n </div>\n <button *ngIf=\"hasClearButton\" type=\"button\" (click)=\"clearModels()\">\n Clear\n </button>\n </div>\n `,\n styles: ['.ng2-datetime *[hidden] { display: none; }'],\n})\nexport class NgxDatetimeComponent\n implements ControlValueAccessor, AfterViewInit, OnDestroy, OnChanges\n{\n @Input('timepicker') timepickerOptions: any = {};\n @Input('datepicker') datepickerOptions: any = {};\n @Input('hasClearButton') hasClearButton?: boolean;\n @Input() readonly?: boolean;\n @Input() required?: boolean;\n @Input() tabindex?: string;\n\n date!: Date; // ngModel\n dateModel?: string;\n timeModel?: string;\n\n // instances\n datepicker: any;\n timepicker: any;\n\n idDatePicker: string = uniqueId('q-datepicker_');\n idTimePicker: string = uniqueId('q-timepicker_');\n\n onChange = (_: any) => {};\n\n @HostListener('blur')\n onTouched = () => {};\n\n @HostBinding('attr.tabindex')\n get tabindexAttr(): string | undefined {\n return this.tabindex === undefined ? '-1' : undefined;\n }\n\n ngAfterViewInit() {\n this.init();\n }\n\n ngOnDestroy() {\n if (this.datepicker) {\n this.datepicker.datepicker('destroy');\n }\n if (this.timepicker) {\n this.timepicker.timepicker('remove');\n }\n }\n\n ngOnChanges(changes: SimpleChanges) {\n if (changes) {\n if (changes['datepickerOptions'] && this.datepicker) {\n this.datepicker.datepicker('destroy');\n\n if (changes['datepickerOptions'].currentValue) {\n this.datepicker = null;\n this.init();\n } else if (changes['datepickerOptions'].currentValue === false) {\n this.datepicker.remove();\n }\n }\n if (changes['timepickerOptions'] && this.timepicker) {\n this.timepicker.timepicker('remove');\n\n if (changes['timepickerOptions'].currentValue) {\n this.timepicker = null;\n this.init();\n } else if (changes['timepickerOptions'].currentValue === false) {\n this.timepicker.parent().remove();\n }\n }\n }\n }\n\n writeValue(value: any) {\n this.date = value;\n if (isDate(this.date)) {\n setTimeout(() => {\n this.updateModel(this.date);\n }, 0);\n } else {\n this.clearModels();\n }\n }\n\n registerOnChange(fn: (_: any) => void) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void) {\n this.onTouched = fn;\n }\n\n checkEmptyValue(e: any) {\n const value = e.target.value;\n if (\n value === '' &&\n (this.timepickerOptions === false ||\n this.datepickerOptions === false ||\n (this.timeModel === '' && this.dateModel === ''))\n ) {\n this.onChange(undefined);\n }\n }\n\n clearModels() {\n this.onChange(undefined);\n if (this.timepicker) {\n this.timepicker.timepicker('setTime', null);\n }\n this.updateDatepicker(null);\n }\n\n showTimepicker() {\n this.timepicker.timepicker('showWidget');\n }\n\n showDatepicker() {\n this.datepicker.datepicker('show');\n }\n\n //////////////////////////////////\n\n private init(): void {\n if (!this.datepicker && this.datepickerOptions !== false) {\n let options = jQuery.extend(\n { enableOnReadonly: !this.readonly },\n this.datepickerOptions\n );\n this.datepicker = (<any>$('#' + this.idDatePicker)).datepicker(options);\n this.datepicker.on('changeDate', (e: any) => {\n let newDate: Date = e.date;\n\n if (isDate(this.date) && isDate(newDate)) {\n // get hours/minutes\n newDate.setHours(this.date.getHours());\n newDate.setMinutes(this.date.getMinutes());\n newDate.setSeconds(this.date.getSeconds());\n }\n\n this.date = newDate;\n this.onChange(newDate);\n });\n } else if (this.datepickerOptions === false) {\n (<any>$('#' + this.idDatePicker)).remove();\n }\n\n if (!this.timepicker && this.timepickerOptions !== false) {\n let options = jQuery.extend(\n { defaultTime: false },\n this.timepickerOptions\n );\n this.timepicker = (<any>$('#' + this.idTimePicker)).timepicker(options);\n this.timepicker.on('changeTime.timepicker', (e: ITimepickerEvent) => {\n let { meridian, hours } = e.time;\n\n if (meridian) {\n // has meridian -> convert 12 to 24h\n if (meridian === 'PM' && hours < 12) {\n hours = hours + 12;\n }\n if (meridian === 'AM' && hours === 12) {\n hours = hours - 12;\n }\n hours = parseInt(this.pad(hours), 10);\n }\n\n if (!isDate(this.date)) {\n this.date = new Date();\n this.updateDatepicker(this.date);\n }\n\n this.date.setHours(hours);\n this.date.setMinutes(e.time.minutes);\n this.date.setSeconds(e.time.seconds);\n this.onChange(this.date);\n });\n } else if (this.timepickerOptions === false) {\n (<any>$('#' + this.idTimePicker)).parent().remove();\n }\n\n this.updateModel(this.date);\n }\n\n private updateModel(date: Date): void {\n this.updateDatepicker(date);\n\n // update timepicker\n if (this.timepicker !== undefined && isDate(date)) {\n let hours = date.getHours();\n if (this.timepickerOptions.showMeridian) {\n // Convert 24 to 12 hour system\n hours = hours === 0 || hours === 12 ? 12 : hours % 12;\n }\n const meridian = date.getHours() >= 12 ? ' PM' : ' AM';\n const time =\n this.pad(hours) +\n ':' +\n this.pad(this.date.getMinutes()) +\n ':' +\n this.pad(this.date.getSeconds()) +\n (this.timepickerOptions.showMeridian ||\n this.timepickerOptions.showMeridian === undefined\n ? meridian\n : '');\n this.timepicker.timepicker('setTime', time);\n this.timeModel = time; // fix initial empty timeModel bug\n }\n }\n\n private updateDatepicker(date?: any) {\n if (this.datepicker !== undefined) {\n this.datepicker.datepicker('update', date);\n }\n }\n\n private pad(value: any): string {\n return value.toString().length < 2 ? '0' + value : value.toString();\n }\n}\n\nlet id = 0;\nfunction uniqueId(prefix: string): string {\n return prefix + ++id;\n}\n\nfunction isDate(obj: any) {\n return Object.prototype.toString.call(obj) === '[object Date]';\n}\n","import { NgModule } from '@angular/core';\nimport { NgxDatetimeComponent } from './ngx-datetime.component';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\n@NgModule({\n declarations: [NgxDatetimeComponent],\n imports: [CommonModule, FormsModule, ReactiveFormsModule],\n exports: [NgxDatetimeComponent],\n})\nexport class NgxDatetimeModule {}\n","/*\n * Public API Surface of ngx-datetime\n */\n\nexport * from './lib/ngx-datetime.component';\nexport * from './lib/ngx-datetime.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}