e5core-angular-ui
Version:
e5 Anywhere Angular UI
99 lines • 9.22 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input, Output, EventEmitter, ChangeDetectorRef, ChangeDetectionStrategy, forwardRef } from '@angular/core';
import { NG_VALUE_ACCESSOR } from '@angular/forms';
export class E5coreUiDatepickerComponent {
/**
* @param {?} _changeDetectorRef
*/
constructor(_changeDetectorRef) {
this._changeDetectorRef = _changeDetectorRef;
this.isRequired = false;
this.dateChange = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?} event
* @return {?}
*/
updateDate(event) {
console.log(event);
this.displayedDate = event.target.value;
this.dateChange.emit(this.displayedDate);
}
/**
* @param {?} event
* @return {?}
*/
onKey(event) {
/** @type {?} */
const inputDate = event.target.value;
if (inputDate.length === 8 && inputDate.indexOf('/') === -1) {
/** @type {?} */
const year = inputDate.substring(4);
/** @type {?} */
const month = Number(inputDate.substring(2, 4)) - 1;
/** @type {?} */
const day = inputDate.substring(0, 2);
this.displayedDate = new Date(year, month, day);
this.dateChange.emit(this.displayedDate);
}
else if (inputDate.length === 10 && inputDate.indexOf('/') >= 0) {
/** @type {?} */
const dateSplit = inputDate.split('/');
if (dateSplit.length >= 3) {
/** @type {?} */
const day = dateSplit[0];
/** @type {?} */
const month = Number(dateSplit[1]) - 1;
/** @type {?} */
const year = dateSplit[2];
this.displayedDate = new Date(year, month, day);
this.dateChange.emit(this.displayedDate);
}
}
}
}
E5coreUiDatepickerComponent.decorators = [
{ type: Component, args: [{
selector: 'e5core-ui-datepicker',
template: "<mat-form-field>\n <input (keyup)=\"onKey($event)\" matInput required placeholder=\"{{placeHolder}}\" [disabled]=\"isDisabled\" [matDatepicker]=\"picker\" name=\"picker\" id=\"picker\" [(ngModel)]=\"displayedDate\" (dateChange)=\"updateDate($event)\">\n <mat-datepicker-toggle matSuffix [for]=\"picker\"></mat-datepicker-toggle>\n <mat-datepicker (selectedChanged)=\"updateDate($event)\" #picker></mat-datepicker>\n</mat-form-field>\n",
providers: [
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => E5coreUiDatepickerComponent), multi: true },
],
changeDetection: ChangeDetectionStrategy.OnPush,
styles: [""]
}] }
];
/** @nocollapse */
E5coreUiDatepickerComponent.ctorParameters = () => [
{ type: ChangeDetectorRef }
];
E5coreUiDatepickerComponent.propDecorators = {
displayedDate: [{ type: Input }],
isDisabled: [{ type: Input }],
placeHolder: [{ type: Input }],
isRequired: [{ type: Input }],
dateChange: [{ type: Output }]
};
if (false) {
/** @type {?} */
E5coreUiDatepickerComponent.prototype.displayedDate;
/** @type {?} */
E5coreUiDatepickerComponent.prototype.isDisabled;
/** @type {?} */
E5coreUiDatepickerComponent.prototype.placeHolder;
/** @type {?} */
E5coreUiDatepickerComponent.prototype.isRequired;
/** @type {?} */
E5coreUiDatepickerComponent.prototype.dateChange;
/** @type {?} */
E5coreUiDatepickerComponent.prototype._changeDetectorRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZTVjb3JlLXVpLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vZTVjb3JlLWFuZ3VsYXItdWkvIiwic291cmNlcyI6WyJsaWIvY29tcG9uZW50cy9lNWNvcmUtdWktZGF0ZXBpY2tlci9lNWNvcmUtdWktZGF0ZXBpY2tlci5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsVUFBVSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBV25ELE1BQU0sT0FBTywyQkFBMkI7Ozs7SUFPdEMsWUFBbUIsa0JBQXFDO1FBQXJDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBbUI7UUFIeEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNsQixlQUFVLEdBQXVCLElBQUksWUFBWSxFQUFRLENBQUM7SUFFZixDQUFDOzs7O0lBRTdELFFBQVE7SUFDUixDQUFDOzs7OztJQUVNLFVBQVUsQ0FBQyxLQUFLO1FBQ3JCLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUN4QyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDM0MsQ0FBQzs7Ozs7SUFFRCxLQUFLLENBQUMsS0FBVTs7Y0FDUixTQUFTLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLO1FBRXBDLElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksU0FBUyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRTs7a0JBQ3JELElBQUksR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQzs7a0JBQzdCLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDOztrQkFDN0MsR0FBRyxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUM7WUFDL0MsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1NBRTFDO2FBQU0sSUFBSSxTQUFTLENBQUMsTUFBTSxLQUFLLEVBQUUsSUFBSSxTQUFTLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTs7a0JBQzNELFNBQVMsR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztZQUN0QyxJQUFJLFNBQVMsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFOztzQkFDbkIsR0FBRyxHQUFHLFNBQVMsQ0FBQyxDQUFDLENBQUM7O3NCQUNsQixLQUFLLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7O3NCQUNoQyxJQUFJLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO2dCQUNoRCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDMUM7U0FDRjtJQUNILENBQUM7OztZQS9DRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsaWNBQW9EO2dCQUVwRCxTQUFTLEVBQUU7b0JBQ1AsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQywyQkFBMkIsQ0FBQyxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7aUJBQzFHO2dCQUNELGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7OztZQVh3RCxpQkFBaUI7Ozs0QkFhdkUsS0FBSzt5QkFDTCxLQUFLOzBCQUNMLEtBQUs7eUJBQ0wsS0FBSzt5QkFDTCxNQUFNOzs7O0lBSlAsb0RBQW9DOztJQUNwQyxpREFBb0M7O0lBQ3BDLGtEQUFvQzs7SUFDcEMsaURBQW1DOztJQUNuQyxpREFBMkU7O0lBRS9ELHlEQUE0QyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25Jbml0LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgZm9yd2FyZFJlZn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZTVjb3JlLXVpLWRhdGVwaWNrZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vZTVjb3JlLXVpLWRhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lNWNvcmUtdWktZGF0ZXBpY2tlci5jb21wb25lbnQuY3NzJ10sXG4gIHByb3ZpZGVyczogW1xuICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRTVjb3JlVWlEYXRlcGlja2VyQ29tcG9uZW50KSwgbXVsdGk6IHRydWUgfSxcbiAgXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG59KVxuZXhwb3J0IGNsYXNzIEU1Y29yZVVpRGF0ZXBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIHB1YmxpYyBkaXNwbGF5ZWREYXRlOiBEYXRlO1xuICBASW5wdXQoKSBwdWJsaWMgaXNEaXNhYmxlZDogYm9vbGVhbjtcbiAgQElucHV0KCkgcHVibGljIHBsYWNlSG9sZGVyOiBzdHJpbmc7XG4gIEBJbnB1dCgpIHB1YmxpYyBpc1JlcXVpcmVkID0gZmFsc2U7XG4gIEBPdXRwdXQoKSBwdWJsaWMgZGF0ZUNoYW5nZTogRXZlbnRFbWl0dGVyPERhdGU+ID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfY2hhbmdlRGV0ZWN0b3JSZWY6IENoYW5nZURldGVjdG9yUmVmKSB7IH1cblxuICBuZ09uSW5pdCgpIHtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVEYXRlKGV2ZW50KSB7XG4gICAgY29uc29sZS5sb2coZXZlbnQpO1xuICAgIHRoaXMuZGlzcGxheWVkRGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICB0aGlzLmRhdGVDaGFuZ2UuZW1pdCh0aGlzLmRpc3BsYXllZERhdGUpO1xuICB9XG5cbiAgb25LZXkoZXZlbnQ6IGFueSkge1xuICAgIGNvbnN0IGlucHV0RGF0ZSA9IGV2ZW50LnRhcmdldC52YWx1ZTtcblxuICAgIGlmIChpbnB1dERhdGUubGVuZ3RoID09PSA4ICYmIGlucHV0RGF0ZS5pbmRleE9mKCcvJykgPT09IC0xKSB7XG4gICAgICBjb25zdCB5ZWFyID0gaW5wdXREYXRlLnN1YnN0cmluZyg0KTtcbiAgICAgIGNvbnN0IG1vbnRoID0gTnVtYmVyKGlucHV0RGF0ZS5zdWJzdHJpbmcoMiwgNCkpIC0gMTtcbiAgICAgIGNvbnN0IGRheSA9IGlucHV0RGF0ZS5zdWJzdHJpbmcoMCwgMik7XG4gICAgIHRoaXMuZGlzcGxheWVkRGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoLCBkYXkpO1xuICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kaXNwbGF5ZWREYXRlKTtcblxuICAgIH0gZWxzZSBpZiAoaW5wdXREYXRlLmxlbmd0aCA9PT0gMTAgJiYgaW5wdXREYXRlLmluZGV4T2YoJy8nKSA+PSAwKSB7XG4gICAgICBjb25zdCBkYXRlU3BsaXQgPSBpbnB1dERhdGUuc3BsaXQoJy8nKTtcbiAgICAgIGlmIChkYXRlU3BsaXQubGVuZ3RoID49IDMpIHtcbiAgICAgICAgY29uc3QgZGF5ID0gZGF0ZVNwbGl0WzBdO1xuICAgICAgICBjb25zdCBtb250aCA9IE51bWJlcihkYXRlU3BsaXRbMV0pIC0gMTtcbiAgICAgICAgY29uc3QgeWVhciA9IGRhdGVTcGxpdFsyXTtcbiAgICAgICAgdGhpcy5kaXNwbGF5ZWREYXRlID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7ICAgICAgICBcbiAgICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQodGhpcy5kaXNwbGF5ZWREYXRlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIl19