UNPKG

innotec-materials

Version:

Innotec Materials is an UI framework who's desgined for all products of Innotec GmbH. Innotec Materials is based on Angular 2 an bootstrap.

193 lines 8.67 kB
"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; var __metadata = (this && this.__metadata) || function (k, v) { if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); }; Object.defineProperty(exports, "__esModule", { value: true }); var core_1 = require("@angular/core"); var forms_1 = require("@angular/forms"); var moment = require('moment'); var noop = function () { }; var CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR = { provide: forms_1.NG_VALUE_ACCESSOR, useExisting: core_1.forwardRef(function () { return Datetimepicker; }), multi: true }; var Datetimepicker = (function () { function Datetimepicker() { this.hourStep = 1; this.minuteStep = 5; this.btnoktext = 'OK'; this.btncnltext = 'Cancel'; this.startingDay = 1; this.datepickerMode = 'day'; this.editicon = 'icon-pen-on-paper-edit'; this.undefinedlabel = 'n.V'; this._value = ''; this.warningclass = ''; this._onTouchedCallback = noop; this._onChangeCallback = noop; moment.locale(localStorage.getItem('locale') || 'en'); } Object.defineProperty(Datetimepicker.prototype, "warning", { set: function (warning) { if (warning) { this.warningclass = ' warning'; } if (!warning) { this.warningclass = ''; } }, enumerable: true, configurable: true }); Object.defineProperty(Datetimepicker.prototype, "value", { get: function () { if (!this._value) { return ''; } return this._value; }, set: function (v) { if (v !== this._value) { this._value = v; this._onChangeCallback(v); } }, enumerable: true, configurable: true }); ; Datetimepicker.prototype.onTouched = function () { this._onTouchedCallback(); }; Datetimepicker.prototype.writeValue = function (value) { this._value = value; this.setReadableDate(); }; Datetimepicker.prototype.registerOnChange = function (fn) { this._onChangeCallback = fn; }; Datetimepicker.prototype.registerOnTouched = function (fn) { this._onTouchedCallback = fn; }; Datetimepicker.prototype.openPicker = function () { if (!this.disabled) { this.lgModal.show(); } }; Datetimepicker.prototype.setReadableDate = function () { if (this.datepickerMode === 'month') { return this.readabledate = moment(this.value).format('MMMM YYYY'); } if (moment(this.value).isSame(moment(), 'day') || moment(this.value).isSame(moment().add(1, 'day'), 'day')) { return this.readabledate = moment(this.value).calendar(); } this.readabledate = moment(this.value).calendar(true) + ' ' + moment(this.value).format('HH:mm'); }; Datetimepicker.prototype.transform = function () { var time = this.time; var hours = moment(time).hours(); var minutes = moment(time).minutes(); var completetimestamp = moment(this.datePick).hour(hours).minutes(minutes); this.internalDateTime = moment(completetimestamp).utc().format('YYYY-MM-DDTHH:mm:ssZ'); this.value = this.internalDateTime; this.setReadableDate(); }; Datetimepicker.prototype.ngOnInit = function () { var _this = this; setTimeout(function () { if (!_this.value) { _this.internalDateTime = moment().toDate(); _this.readabledate = _this.undefinedlabel; } else { _this.internalDateTime = _this.value; _this.setReadableDate(); } _this.time = moment(_this.internalDateTime).toDate(); _this.datePick = moment(_this.internalDateTime).toDate(); }, 100); if (!this.disabled) { this.datetimepicklerclass = 'datetimepickler_container'; this.labelclass = 'label editable'; } else { this.datetimepicklerclass = 'datetimepickler_container disabled'; this.labelclass = 'label labeldisabled'; } }; __decorate([ core_1.Input(), __metadata("design:type", Boolean) ], Datetimepicker.prototype, "showMeridian", void 0); __decorate([ core_1.Input(), __metadata("design:type", Number) ], Datetimepicker.prototype, "hourStep", void 0); __decorate([ core_1.Input(), __metadata("design:type", Number) ], Datetimepicker.prototype, "minuteStep", void 0); __decorate([ core_1.Input(), __metadata("design:type", String) ], Datetimepicker.prototype, "label", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Datetimepicker.prototype, "btnoktext", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Datetimepicker.prototype, "btncnltext", void 0); __decorate([ core_1.Input(), __metadata("design:type", Number) ], Datetimepicker.prototype, "startingDay", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Datetimepicker.prototype, "datepickerMode", void 0); __decorate([ core_1.Input(), __metadata("design:type", Boolean) ], Datetimepicker.prototype, "disableTimepicker", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Datetimepicker.prototype, "editicon", void 0); __decorate([ core_1.Input(), __metadata("design:type", Boolean) ], Datetimepicker.prototype, "disabled", void 0); __decorate([ core_1.Input(), __metadata("design:type", Object) ], Datetimepicker.prototype, "undefinedlabel", void 0); __decorate([ core_1.Input(), __metadata("design:type", Boolean), __metadata("design:paramtypes", [Boolean]) ], Datetimepicker.prototype, "warning", null); __decorate([ core_1.ViewChild('lgModal'), __metadata("design:type", Object) ], Datetimepicker.prototype, "lgModal", void 0); Datetimepicker = __decorate([ core_1.Component({ selector: 'datetimepicker', template: "\n <div class=\"label\" [class]=\"labelclass + warningclass\"><span *ngIf=\"!disabled\" [class]=\"editicon\"></span>&nbsp;<span>{{ label }}</span></div><div class=\"datetimepickler_container\" (click)=\"openPicker()\" [class]=\"datetimepicklerclass\"><div class=\"datetimepickler_item\" *ngIf=\"!disabled\"><span class=\"datetimepickler_open icon-calendar\"></span></div><div class=\"datetimepickler_item\">{{ readabledate }}</div></div><div class=\"modal fade\" #lgModal=\"bs-modal\" bsModal=\"bsModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myLargeModalLabel\" aria-hidden=\"true\"><div class=\"modal-dialog modal-sm\"><div class=\"outline\"><div class=\"modalpick\"><div class=\"datetimpicker_header\" align=\"center\"><h5>{{ label }}</h5></div><div class=\"datepicker\"><datepicker [(ngModel)]=\"datePick\" [showWeeks]=\"false\" [startingDay]=\"startingDay\" [datepickerMode]=\"datepickerMode\"></datepicker></div><div class=\"timepicker\" *ngIf=\"!disableTimepicker\"><div align=\"center\"><timepicker [(ngModel)]=\"time\" [showMeridian]=\"showMeridian\" [hourStep]=\"hourStep\" [minuteStep]=\"minuteStep\"></timepicker></div></div><div class=\"btngroup\"><button class=\"datetimepicklerOKbtn\" (click)=\"lgModal.hide(); transform()\">OK</button><button class=\"datetimepicklerCancelbtn\" (click)=\"lgModal.hide();\">Cancel</button></div></div></div></div></div>\n ", providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR] }), __metadata("design:paramtypes", []) ], Datetimepicker); return Datetimepicker; }()); exports.Datetimepicker = Datetimepicker; //# sourceMappingURL=datetimepicker.component.js.map