UNPKG

tolga-ng2

Version:

Angular 2/4 components and directives

80 lines 10.9 kB
import { Component, forwardRef, Input } from '@angular/core'; import { NG_VALUE_ACCESSOR } from "@angular/forms"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/forms"; export class NgsmTimepickerComponent { constructor() { this.propagateChange = (_) => { }; } getClassNames() { if (this.config.required && !this.innerValue) return "invalid"; else if (this.config.required && this.innerValue) return "valid"; return ""; } init() { //this.ngsmService.log("ngsmTimepicker", "init"); let self = this; setTimeout(function () { $(`#${self.config.id}`).calendar({ type: 'time', onChange: jQuery.proxy(function (value) { let formatedTime = moment(value).format("HH:mm A"); //self.ngsmService.log("ngsmTimepicker", formatedTime); self.propagateChange(formatedTime); }, self) }); }, 250); } ngOnInit() { //this.ngsmService.log("ngsmTimepicker", "ngOnInit"); } ngOnChanges() { //this.ngsmService.log("ngsmTimepicker", "ngOnChanges"); if (this.config && this.config.id) { this.init(); } } get value() { return this.innerValue; } ; writeValue(value) { if (value !== undefined) { //this.ngsmService.log("ngsm-timepicker writeValue", value); var dateValue = moment(value); if (moment(dateValue).isValid()) this.innerValue = `${dateValue.format("HH:mm A")}`; else this.innerValue = value; } } onTouchedCallback() { } registerOnTouched() { } registerOnChange(fn) { this.propagateChange = fn; } } NgsmTimepickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgsmTimepickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); NgsmTimepickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: NgsmTimepickerComponent, selector: "ngsm-timepicker", inputs: { config: "config" }, providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgsmTimepickerComponent), multi: true } ], usesOnChanges: true, ngImport: i0, template: "<div id=\"{{config.id}}\"\r\n class=\"ui calendar\">\r\n <div class=\"ui input left icon\">\r\n <i class=\"time icon\"></i>\r\n <input [(ngModel)]=\"innerValue\"\r\n [ngClass]=\"getClassNames()\"\r\n placeholder=\"{{config.placeholder}}\">\r\n </div>\r\n</div>", styles: [""], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: NgsmTimepickerComponent, decorators: [{ type: Component, args: [{ selector: 'ngsm-timepicker', providers: [ { provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => NgsmTimepickerComponent), multi: true } ], template: "<div id=\"{{config.id}}\"\r\n class=\"ui calendar\">\r\n <div class=\"ui input left icon\">\r\n <i class=\"time icon\"></i>\r\n <input [(ngModel)]=\"innerValue\"\r\n [ngClass]=\"getClassNames()\"\r\n placeholder=\"{{config.placeholder}}\">\r\n </div>\r\n</div>" }] }], ctorParameters: function () { return []; }, propDecorators: { config: [{ type: Input }] } }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdzbS10aW1lcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy9hcHAvbmdzbS9jb21wb25lbnRzL25nc20tdGltZXBpY2tlci9uZ3NtLXRpbWVwaWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2FwcC9uZ3NtL2NvbXBvbmVudHMvbmdzbS10aW1lcGlja2VyL25nc20tdGltZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFDeEUsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7O0FBa0J6RSxNQUFNLE9BQU8sdUJBQXVCO0lBT2xDO1FBcURBLG9CQUFlLEdBQUcsQ0FBQyxDQUFNLEVBQUUsRUFBRSxHQUFHLENBQUMsQ0FBQztJQXJEbEIsQ0FBQztJQUVqQixhQUFhO1FBQ1gsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQzFDLE9BQU8sU0FBUyxDQUFDO2FBQ2QsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUM5QyxPQUFPLE9BQU8sQ0FBQztRQUNqQixPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxJQUFJO1FBQ0YsaURBQWlEO1FBQ2pELElBQUksSUFBSSxHQUFHLElBQUksQ0FBQztRQUNoQixVQUFVLENBQUM7WUFDSCxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRSxDQUFFLENBQUMsUUFBUSxDQUFDO2dCQUN0QyxJQUFJLEVBQUUsTUFBTTtnQkFDWixRQUFRLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEtBQUs7b0JBQ3BDLElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7b0JBQ25ELHVEQUF1RDtvQkFDdkQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDckMsQ0FBQyxFQUFFLElBQUksQ0FBQzthQUNULENBQUMsQ0FBQztRQUNMLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNWLENBQUM7SUFFRCxRQUFRO1FBQ04scURBQXFEO0lBQ3ZELENBQUM7SUFFRCxXQUFXO1FBQ1Qsd0RBQXdEO1FBQ3hELElBQUksSUFBSSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDYjtJQUNILENBQUM7SUFFRCxJQUFJLEtBQUs7UUFDUCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDekIsQ0FBQztJQUFBLENBQUM7SUFFRixVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUU7WUFDdkIsNERBQTREO1lBQzVELElBQUksU0FBUyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM5QixJQUFJLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxPQUFPLEVBQUU7Z0JBQzdCLElBQUksQ0FBQyxVQUFVLEdBQUcsR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7O2dCQUVuRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7SUFFRCxpQkFBaUIsS0FBSyxDQUFDO0lBQ3ZCLGlCQUFpQixLQUFLLENBQUM7SUFHdkIsZ0JBQWdCLENBQUMsRUFBRTtRQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLEVBQUUsQ0FBQztJQUM1QixDQUFDOztvSEFoRVUsdUJBQXVCO3dHQUF2Qix1QkFBdUIsd0VBUnZCO1FBQ1Q7WUFDRSxPQUFPLEVBQUUsaUJBQWlCO1lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsdUJBQXVCLENBQUM7WUFDdEQsS0FBSyxFQUFFLElBQUk7U0FDWjtLQUNGLCtDQ2pCSCx5UkFRTTsyRkRXTyx1QkFBdUI7a0JBWm5DLFNBQVM7K0JBQ0UsaUJBQWlCLGFBR2hCO3dCQUNUOzRCQUNFLE9BQU8sRUFBRSxpQkFBaUI7NEJBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLHdCQUF3QixDQUFDOzRCQUN0RCxLQUFLLEVBQUUsSUFBSTt5QkFDWjtxQkFDRjswRUFLRCxNQUFNO3NCQURMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIGZvcndhcmRSZWYsIElucHV0LCBPbkNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XHJcbmltcG9ydCB7IE5nc21EYXRlcGlja2VyQ29uZmlnIH0gZnJvbSAnLi4vLi4vbW9kZWxzL25nc21EYXRlcGlja2VyQ29uZmlnJztcclxuXHJcblxyXG5kZWNsYXJlIHZhciBtb21lbnQ6IGFueTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmdzbS10aW1lcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmdzbS10aW1lcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9uZ3NtLXRpbWVwaWNrZXIuY29tcG9uZW50LmNzcyddLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gTmdzbVRpbWVwaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfVxyXG4gIF1cclxufSlcclxuZXhwb3J0IGNsYXNzIE5nc21UaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XHJcblxyXG4gIEBJbnB1dCgpXHJcbiAgY29uZmlnOiBOZ3NtRGF0ZXBpY2tlckNvbmZpZztcclxuXHJcbiAgaW5uZXJWYWx1ZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBnZXRDbGFzc05hbWVzKCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLnJlcXVpcmVkICYmICF0aGlzLmlubmVyVmFsdWUpXHJcbiAgICAgIHJldHVybiBcImludmFsaWRcIjtcclxuICAgIGVsc2UgaWYgKHRoaXMuY29uZmlnLnJlcXVpcmVkICYmIHRoaXMuaW5uZXJWYWx1ZSlcclxuICAgICAgcmV0dXJuIFwidmFsaWRcIjtcclxuICAgIHJldHVybiBcIlwiO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIC8vdGhpcy5uZ3NtU2VydmljZS5sb2coXCJuZ3NtVGltZXBpY2tlclwiLCBcImluaXRcIik7XHJcbiAgICBsZXQgc2VsZiA9IHRoaXM7XHJcbiAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcclxuICAgICAgKDxhbnk+JChgIyR7c2VsZi5jb25maWcuaWR9YCkpLmNhbGVuZGFyKHtcclxuICAgICAgICB0eXBlOiAndGltZScsXHJcbiAgICAgICAgb25DaGFuZ2U6IGpRdWVyeS5wcm94eShmdW5jdGlvbiAodmFsdWUpIHtcclxuICAgICAgICAgIGxldCBmb3JtYXRlZFRpbWUgPSBtb21lbnQodmFsdWUpLmZvcm1hdChcIkhIOm1tIEFcIik7XHJcbiAgICAgICAgICAvL3NlbGYubmdzbVNlcnZpY2UubG9nKFwibmdzbVRpbWVwaWNrZXJcIiwgZm9ybWF0ZWRUaW1lKTtcclxuICAgICAgICAgIHNlbGYucHJvcGFnYXRlQ2hhbmdlKGZvcm1hdGVkVGltZSk7XHJcbiAgICAgICAgfSwgc2VsZilcclxuICAgICAgfSk7XHJcbiAgICB9LCAyNTApO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICAvL3RoaXMubmdzbVNlcnZpY2UubG9nKFwibmdzbVRpbWVwaWNrZXJcIiwgXCJuZ09uSW5pdFwiKTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgLy90aGlzLm5nc21TZXJ2aWNlLmxvZyhcIm5nc21UaW1lcGlja2VyXCIsIFwibmdPbkNoYW5nZXNcIik7XHJcbiAgICBpZiAodGhpcy5jb25maWcgJiYgdGhpcy5jb25maWcuaWQpIHtcclxuICAgICAgdGhpcy5pbml0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgdmFsdWUoKTogYW55IHtcclxuICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XHJcbiAgfTtcclxuXHJcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodmFsdWUgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAvL3RoaXMubmdzbVNlcnZpY2UubG9nKFwibmdzbS10aW1lcGlja2VyIHdyaXRlVmFsdWVcIiwgdmFsdWUpO1xyXG4gICAgICB2YXIgZGF0ZVZhbHVlID0gbW9tZW50KHZhbHVlKTtcclxuICAgICAgaWYgKG1vbWVudChkYXRlVmFsdWUpLmlzVmFsaWQoKSlcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSBgJHtkYXRlVmFsdWUuZm9ybWF0KFwiSEg6bW0gQVwiKX1gO1xyXG4gICAgICBlbHNlXHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblRvdWNoZWRDYWxsYmFjaygpIHsgfVxyXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKCkgeyB9XHJcbiAgcHJvcGFnYXRlQ2hhbmdlID0gKF86IGFueSkgPT4geyB9O1xyXG5cclxuICByZWdpc3Rlck9uQ2hhbmdlKGZuKSB7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSA9IGZuO1xyXG4gIH1cclxuXHJcblxyXG59XHJcbiIsIjxkaXYgaWQ9XCJ7e2NvbmZpZy5pZH19XCJcclxuICBjbGFzcz1cInVpIGNhbGVuZGFyXCI+XHJcbiAgPGRpdiBjbGFzcz1cInVpIGlucHV0IGxlZnQgaWNvblwiPlxyXG4gICAgPGkgY2xhc3M9XCJ0aW1lIGljb25cIj48L2k+XHJcbiAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJpbm5lclZhbHVlXCJcclxuICAgICAgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NOYW1lcygpXCJcclxuICAgICAgcGxhY2Vob2xkZXI9XCJ7e2NvbmZpZy5wbGFjZWhvbGRlcn19XCI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==