tnx-shared 5.1.404 → 5.1.405

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.
@@ -171,7 +171,7 @@ export class DatetimePickerComponent {
171
171
  DatetimePickerComponent.decorators = [
172
172
  { type: Component, args: [{
173
173
  selector: 'datetime-picker',
174
- template: "<p-calendar #calendar [disabled]=\"control.disabled || disabled\" [selectOtherMonths]=\"true\"\r\n [inputStyleClass]=\"'input-calendar'\" [autoZIndex]=\"true\" [minDate]=\"control.minDate\" [maxDate]=\"control.maxDate\"\r\n [dateFormat]=\"'dd/mm/yy'\" [hourFormat]=\"24\" [placeholder]=\"control.placeholder\" [showIcon]=\"control.showIcon\"\r\n [locale]=\"vi\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1900:2050\" [showTime]=\"control.showTime\"\r\n [timeOnly]=\"control.timeOnly\" [showOnFocus]=\"control.showOnFocus\" [keepInvalid]=\"true\" [appendTo]=\"control.appendTo\"\r\n [panelStyleClass]=\"getPanelClass()\" [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\" [(ngModel)]=\"_controlModelData\" (onFocus)=\"onFocusCalendar($event)\"\r\n (onBlur)=\"onBlurCalendar($event)\" (onSelect)=\"onSelectDateTime($event)\" (onShow)=\"onShowCalendar($event)\"\r\n (onClose)=\"onCloseCalendar($event)\">\r\n</p-calendar>",
174
+ template: "<p-calendar #calendar [disabled]=\"control.disabled || disabled\" [selectOtherMonths]=\"true\"\r\n [inputStyleClass]=\"'input-calendar'\" [autoZIndex]=\"true\" [minDate]=\"control.minDate\" [maxDate]=\"control.maxDate\"\r\n [dateFormat]=\"control.dateFormat\" [hourFormat]=\"24\" [placeholder]=\"control.placeholder\" [showIcon]=\"control.showIcon\"\r\n [locale]=\"vi\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" [yearRange]=\"control.yearRange\" [showTime]=\"control.showTime\"\r\n [timeOnly]=\"control.timeOnly\" [showOnFocus]=\"control.showOnFocus\" [keepInvalid]=\"true\" [appendTo]=\"control.appendTo\"\r\n [panelStyleClass]=\"getPanelClass()\" [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [view]=\"control.view\"\r\n [(ngModel)]=\"_controlModelData\"\r\n (onFocus)=\"onFocusCalendar($event)\" (onBlur)=\"onBlurCalendar($event)\"\r\n (onSelect)=\"onSelectDateTime($event)\" (onShow)=\"onShowCalendar($event)\"\r\n (onClose)=\"onCloseCalendar($event)\"\r\n>\r\n</p-calendar>\r\n",
175
175
  providers: [
176
176
  {
177
177
  provide: NG_VALUE_ACCESSOR,
@@ -197,4 +197,4 @@ DatetimePickerComponent.propDecorators = {
197
197
  onBlur: [{ type: Output }],
198
198
  onClose: [{ type: Output }]
199
199
  };
200
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFjOUQsTUFBTSxPQUFPLHVCQUF1QjtJQXlCaEMsWUFDWSxpQkFBbUMsRUFDbkMsY0FBNkI7UUFEN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXRCekMsT0FBRSxHQUFHLDBCQUEwQixDQUFDO1FBS2hDLDBCQUFxQixHQUFHLGVBQWUsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUloQyxZQUFPLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUc1RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxhQUFRLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDdEQsY0FBUyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBQ3ZELFlBQU8sR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNyRCxXQUFNLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFDcEQsWUFBTyxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO0lBTS9ELENBQUM7SUFFRCxRQUFRO1FBQ0osSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUFRO1FBQ2YsSUFBSSxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsQ0FBQyxHQUFHLFlBQVksSUFBSSxDQUFDLEVBQUU7Z0JBQ3hCLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEVBQUU7b0JBQ3ZCLEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxjQUFjLEdBQUcsRUFBRSxDQUFDLENBQUM7aUJBQ3ZDO3FCQUNJO29CQUNELEdBQUcsR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztpQkFDL0I7YUFDSjtZQUVELElBQUksV0FBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFO2dCQUNsQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsR0FBRyxDQUFDO2dCQUM3QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO29CQUN2QixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDL0M7YUFDSjtTQUNKO2FBQ0k7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1lBQzlCLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztZQUMzQixJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLENBQUM7U0FDcEM7SUFDTCxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0lBQ3JDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBVTtRQUNmLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztJQUNoQyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsRUFBTztRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBTztRQUNyQixJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsZ0JBQWdCLENBQUUsVUFBbUI7UUFDakMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsVUFBVSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxhQUFhO1FBQ1QsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsSUFBSSxNQUFNLEVBQUU7WUFDakMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxVQUFVLENBQUM7U0FDL0M7UUFDRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDO0lBQ25DLENBQUM7SUFFRCxlQUFlLENBQUMsR0FBRztRQUNmLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO1lBQ2QsS0FBSyxFQUFFLEdBQUc7U0FDYixDQUFDLENBQUM7UUFFSCxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFO1lBQ2xCLEdBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7U0FDdkI7SUFDTCxDQUFDO0lBRUQsY0FBYyxDQUFDLEdBQUc7UUFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQztZQUNiLEtBQUssRUFBRSxHQUFHO1NBQ2IsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELGNBQWMsQ0FBQyxHQUFHO1FBQ2QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUM7SUFDN0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxHQUFHO1FBQ2YsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNwRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2pDLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzNFLElBQUksUUFBUSxJQUFJLEtBQUssRUFBRTtZQUNuQixLQUFLLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUM3QyxJQUFJLFFBQVEsSUFBSSxLQUFLLENBQUMsS0FBSyxFQUFFO2dCQUN6QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7YUFDMUI7U0FDSjtRQUNELElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxHQUFHO1FBQ2hCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFLO1FBQzVCLElBQUksS0FBSyxJQUFJLEVBQUUsRUFBRTtZQUNiLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxjQUFjLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7WUFDeEUsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FDL0MsU0FBUyxFQUNULElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FDeEIsQ0FBQztZQUVGLElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO29CQUM5QyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFO3dCQUN0QixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTs0QkFDL0IsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO3lCQUNqRDtxQkFDSjt5QkFDSSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRTt3QkFDcEMsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDO3FCQUNqRDtpQkFDSjtxQkFDSTtvQkFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxDQUFDO2lCQUNuQzthQUNKOztnQkFDSSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQ3RDO2FBQ0k7WUFDRCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDO1NBQ2pDO1FBRUQsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDeEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUM7U0FDbEU7YUFDSTtZQUNELElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUM7U0FDbEM7UUFFRCxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVPLFlBQVksQ0FBQyxJQUFVLEVBQUUsUUFBUTtRQUNyQyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BCLE9BQU8sRUFBRSxDQUFDO1NBQ2I7UUFDRCxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQ3ZCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDaEMsT0FBTyxjQUFjLElBQUksRUFBRSxDQUFDO1NBQy9CO1FBQ0QsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNyQyxJQUFJLEVBQUUsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUFFLEVBQUUsR0FBRyxHQUFHLEdBQUcsRUFBRSxDQUFDO1FBQ2xDLE1BQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUV4QyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLElBQUksSUFBSSxFQUFFLENBQUM7U0FDaEM7UUFDRCxNQUFNLElBQUksR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRU8sT0FBTyxDQUFDLElBQVU7UUFDdEIsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2pDLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDbEMsSUFBSSxFQUFFLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ25DLElBQUksRUFBRSxDQUFDLE1BQU0sSUFBSSxDQUFDO1lBQUUsRUFBRSxHQUFHLEdBQUcsR0FBRyxFQUFFLENBQUM7UUFDbEMsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDdkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7WUFqTkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLG1nQ0FBK0M7Z0JBRS9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3dCQUN0RCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBbEJRLGdCQUFnQjtZQUtoQixhQUFhOzs7dUJBMkJqQixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtzQkFFdEMsS0FBSzt1QkFDTCxLQUFLO3FCQUVMLE1BQU07dUJBQ04sTUFBTTt3QkFDTixNQUFNO3NCQUNOLE1BQU07cUJBQ04sTUFBTTtzQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJ3RuLWN1c3RvbS1wcmltZW5nL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgaXNWYWxpZERhdGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IERhdGVUaW1lQ29udHJvbFNjaGVtYSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRSB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY2FsZW5kYXIuY29uZmlnJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkYXRldGltZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGV0aW1lUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRldGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcblxyXG4gICAgdmkgPSBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRTtcclxuXHJcbiAgICBfcHJldlZhbHVlOiBhbnk7XHJcbiAgICBfY29udHJvbE1vZGVsRGF0YTogYW55O1xyXG4gICAgX3RpbWVPbmx5TW9kZWxEYXRhOiBzdHJpbmc7XHJcbiAgICBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgPSAnMTk1bXMgZWFzZS1pbic7XHJcbiAgICBzaG93VHJhbnNpdGlvbk9wdGlvbnMgPSAnMjI1bXMgZWFzZS1vdXQnO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyJywgeyBzdGF0aWM6IHRydWUgfSkgY2FsZW5kYXI6IENhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IERhdGVUaW1lQ29udHJvbFNjaGVtYSA9IG5ldyBEYXRlVGltZUNvbnRyb2xTY2hlbWEoKTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLm9uSW5pdC5lbWl0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIGlmICghKG9iaiBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLnRpbWVPbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqID0gbmV3IERhdGUoYDAwMDEtMDEtMDFUJHtvYmp9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmogPSBuZXcgRGF0ZShTdHJpbmcob2JqKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShvYmopKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sTW9kZWxEYXRhID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC50aW1lT25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhID0gdGhpcy5nZXRUaW1lKG9iaik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyLnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhci51cGRhdGVJbnB1dGZpZWxkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUlucHV0ZmllbGQoKSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhci51cGRhdGVJbnB1dGZpZWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2FsZW5kYXIudmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGFuZWxDbGFzcygpIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFwcGVuZFRvID09ICdib2R5Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sLnBhbmVsQ2xhc3N9IHAtZml4ZWRgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLnBhbmVsQ2xhc3M7XHJcbiAgICB9XHJcblxyXG4gICAgb25Gb2N1c0NhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KHtcclxuICAgICAgICAgICAgZXZlbnQ6IGV2dFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZXZ0LnRhcmdldC52YWx1ZSkge1xyXG4gICAgICAgICAgICBldnQudGFyZ2V0LnNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkJsdXJDYWxlbmRhcihldnQpIHtcclxuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KHtcclxuICAgICAgICAgICAgZXZlbnQ6IGV2dFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2hvd0NhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIHRoaXMuX3ByZXZWYWx1ZSA9IHRoaXMuX2NvbnRyb2xNb2RlbERhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZUNhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5jYWxlbmRhci5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpbnB1dC52YWx1ZS50cmltKCk7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnRvRGF0ZVN0cmluZyh0aGlzLl9wcmV2VmFsdWUsIHRoaXMuY29udHJvbC5zaG93VGltZSk7XHJcbiAgICAgICAgaWYgKG9sZFZhbHVlICE9IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5hdXRvQ29yZWN0RGF0ZVRpbWUodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAob2xkVmFsdWUgIT0gaW5wdXQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlLm5leHQodGhpcy5fY29udHJvbE1vZGVsRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3REYXRlVGltZShldnQpIHtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQodGhpcy5fY29udHJvbE1vZGVsRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhdXRvQ29yZWN0RGF0ZVRpbWUoaW5wdXQpIHtcclxuICAgICAgICBpZiAoaW5wdXQgIT0gJycpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZVZhbHVlID0gdGhpcy5jb250cm9sLnRpbWVPbmx5ID8gYDAxLzAxLzAwMDEgJHtpbnB1dH1gIDogaW5wdXQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2NvbW1vblNlcnZpY2UucHJvY2Vzc0RhdGVJbnB1dChcclxuICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5zaG93VGltZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC50aW1lT25seVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubWluRGF0ZSB8fCB0aGlzLmNvbnRyb2wubWF4RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubWF4RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID4gdGhpcy5jb250cm9sLm1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSB0aGlzLmNvbnRyb2wubWF4RGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQgPCB0aGlzLmNvbnRyb2wubWluRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sTW9kZWxEYXRhID0gdGhpcy5jb250cm9sLm1pbkRhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29udHJvbE1vZGVsRGF0YSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fY29udHJvbE1vZGVsRGF0YSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fY29udHJvbE1vZGVsRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLl90aW1lT25seU1vZGVsRGF0YSA9IHRoaXMuZ2V0VGltZSh0aGlzLl9jb250cm9sTW9kZWxEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZVN0cmluZyh0aGlzLl9jb250cm9sTW9kZWxEYXRhLCB0aGlzLmNvbnRyb2wuc2hvd1RpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9EYXRlU3RyaW5nKGRhdGU6IERhdGUsIHNob3dUaW1lKSB7XHJcbiAgICAgICAgaWYgKCFpc1ZhbGlkRGF0ZShkYXRlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudGltZU9ubHkpIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZSA9IHRoaXMuZ2V0VGltZShkYXRlKTtcclxuICAgICAgICAgICAgcmV0dXJuIGAwMS8wMS8wMDAxICR7dGltZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZGQgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpO1xyXG4gICAgICAgIGlmIChkZC5sZW5ndGggPT0gMSkgZGQgPSAnMCcgKyBkZDtcclxuICAgICAgICBsZXQgTU0gPSBTdHJpbmcoZGF0ZS5nZXRNb250aCgpICsgMSk7XHJcbiAgICAgICAgaWYgKE1NLmxlbmd0aCA9PSAxKSBNTSA9ICcwJyArIE1NO1xyXG4gICAgICAgIGNvbnN0IHl5eXkgPSBTdHJpbmcoZGF0ZS5nZXRGdWxsWWVhcigpKTtcclxuXHJcbiAgICAgICAgaWYgKCFzaG93VGltZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7ZGR9LyR7TU19LyR7eXl5eX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy5nZXRUaW1lKGRhdGUpO1xyXG4gICAgICAgIHJldHVybiBgJHtkZH0vJHtNTX0vJHt5eXl5fSAke3RpbWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFRpbWUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGxldCBoaCA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpO1xyXG4gICAgICAgIGlmIChoaC5sZW5ndGggPT0gMSkgaGggPSAnMCcgKyBoaDtcclxuICAgICAgICBsZXQgbW0gPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpO1xyXG4gICAgICAgIGlmIChtbS5sZW5ndGggPT0gMSkgbW0gPSAnMCcgKyBtbTtcclxuICAgICAgICByZXR1cm4gYCR7aGh9OiR7bW19YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpcmVDaGFuZ2VFdmVudCgpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29udHJvbC50aW1lT25seSA/IHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhIDogdGhpcy5fY29udHJvbE1vZGVsRGF0YTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KHZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
200
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXRpbWUtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy90bngtc2hhcmVkL3NyYy9saWIvIiwic291cmNlcyI6WyJjb21wb25lbnRzL2RhdGV0aW1lLXBpY2tlci9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0RyxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDdkQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUMvRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFjOUQsTUFBTSxPQUFPLHVCQUF1QjtJQXlCaEMsWUFDWSxpQkFBbUMsRUFDbkMsY0FBNkI7UUFEN0Isc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFrQjtRQUNuQyxtQkFBYyxHQUFkLGNBQWMsQ0FBZTtRQXRCekMsT0FBRSxHQUFHLDBCQUEwQixDQUFDO1FBS2hDLDBCQUFxQixHQUFHLGVBQWUsQ0FBQztRQUN4QywwQkFBcUIsR0FBRyxnQkFBZ0IsQ0FBQztRQUloQyxZQUFPLEdBQTBCLElBQUkscUJBQXFCLEVBQUUsQ0FBQztRQUc1RCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUNqQyxhQUFRLEdBQXNCLElBQUksWUFB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bEMsT0FBTyxHQUFHLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRU8sZUFBZTtRQUNuQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDdkYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNyQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDOzs7WUFqTkosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLHNuQ0FBK0M7Z0JBRS9DLFNBQVMsRUFBRTtvQkFDUDt3QkFDSSxPQUFPLEVBQUUsaUJBQWlCO3dCQUMxQixXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLHVCQUF1QixDQUFDO3dCQUN0RCxLQUFLLEVBQUUsSUFBSTtxQkFDZDtpQkFDSjs7YUFDSjs7O1lBbEJRLGdCQUFnQjtZQUtoQixhQUFhOzs7dUJBMkJqQixTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtzQkFFdEMsS0FBSzt1QkFDTCxLQUFLO3FCQUVMLE1BQU07dUJBQ04sTUFBTTt3QkFDTixNQUFNO3NCQUNOLE1BQU07cUJBQ04sTUFBTTtzQkFDTixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsIElucHV0LCBPbkluaXQsIE91dHB1dCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgVHJhbnNsYXRlU2VydmljZSB9IGZyb20gJ0BuZ3gtdHJhbnNsYXRlL2NvcmUnO1xyXG5pbXBvcnQgeyBDYWxlbmRhciB9IGZyb20gJ3RuLWN1c3RvbS1wcmltZW5nL2NhbGVuZGFyJztcclxuaW1wb3J0IHsgaXNWYWxpZERhdGUgfSBmcm9tICcuLi8uLi9jbGFzc2VzL2Vudmlyb25tZW50LXNjaGVtYSc7XHJcbmltcG9ydCB7IERhdGVUaW1lQ29udHJvbFNjaGVtYSB9IGZyb20gJy4uLy4uL2NsYXNzZXMvZm9ybS1zY2hlbWEnO1xyXG5pbXBvcnQgeyBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRSB9IGZyb20gJy4uLy4uL2NvbmZpZ3MvY2FsZW5kYXIuY29uZmlnJztcclxuaW1wb3J0IHsgQ29tbW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2NvbW1vbi5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gICAgc2VsZWN0b3I6ICdkYXRldGltZS1waWNrZXInLFxyXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGV0aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kYXRldGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIHByb3ZpZGVyczogW1xyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGV0aW1lUGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgICAgICAgbXVsdGk6IHRydWVcclxuICAgICAgICB9XHJcbiAgICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRldGltZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG5cclxuICAgIG9uQ2hhbmdlOiBGdW5jdGlvbjtcclxuICAgIG9uVG91Y2hlZDogRnVuY3Rpb247XHJcblxyXG4gICAgdmkgPSBDT05GSUdfQ0FMRU5EQVJfVklFVE5BTUVTRTtcclxuXHJcbiAgICBfcHJldlZhbHVlOiBhbnk7XHJcbiAgICBfY29udHJvbE1vZGVsRGF0YTogYW55O1xyXG4gICAgX3RpbWVPbmx5TW9kZWxEYXRhOiBzdHJpbmc7XHJcbiAgICBoaWRlVHJhbnNpdGlvbk9wdGlvbnMgPSAnMTk1bXMgZWFzZS1pbic7XHJcbiAgICBzaG93VHJhbnNpdGlvbk9wdGlvbnMgPSAnMjI1bXMgZWFzZS1vdXQnO1xyXG5cclxuICAgIEBWaWV3Q2hpbGQoJ2NhbGVuZGFyJywgeyBzdGF0aWM6IHRydWUgfSkgY2FsZW5kYXI6IENhbGVuZGFyO1xyXG5cclxuICAgIEBJbnB1dCgpIGNvbnRyb2w6IERhdGVUaW1lQ29udHJvbFNjaGVtYSA9IG5ldyBEYXRlVGltZUNvbnRyb2xTY2hlbWEoKTtcclxuICAgIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuO1xyXG5cclxuICAgIEBPdXRwdXQoKSBvbkluaXQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvblNlbGVjdDogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25Gb2N1czogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAgIEBPdXRwdXQoKSBvbkJsdXI6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbiAgICBAT3V0cHV0KCkgb25DbG9zZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuXHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF90cmFuc2xhdGVTZXJ2aWNlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgX2NvbW1vblNlcnZpY2U6IENvbW1vblNlcnZpY2UsXHJcbiAgICApIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpIHtcclxuICAgICAgICB0aGlzLm9uSW5pdC5lbWl0KHRoaXMpO1xyXG4gICAgfVxyXG5cclxuICAgIHdyaXRlVmFsdWUob2JqOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICBpZiAob2JqKSB7XHJcbiAgICAgICAgICAgIGlmICghKG9iaiBpbnN0YW5jZW9mIERhdGUpKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5jb250cm9sLnRpbWVPbmx5KSB7XHJcbiAgICAgICAgICAgICAgICAgICAgb2JqID0gbmV3IERhdGUoYDAwMDEtMDEtMDFUJHtvYmp9YCk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgICAgICAgICBvYmogPSBuZXcgRGF0ZShTdHJpbmcob2JqKSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmIChpc1ZhbGlkRGF0ZShvYmopKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sTW9kZWxEYXRhID0gb2JqO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuY29udHJvbC50aW1lT25seSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhID0gdGhpcy5nZXRUaW1lKG9iaik7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSBudWxsO1xyXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyLnZhbHVlID0gbnVsbDtcclxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhci51cGRhdGVJbnB1dGZpZWxkKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUlucHV0ZmllbGQoKSB7XHJcbiAgICAgICAgdGhpcy5jYWxlbmRhci51cGRhdGVJbnB1dGZpZWxkKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0VmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgICAgIHRoaXMuY2FsZW5kYXIudmFsdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuXHJcbiAgICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMub25Ub3VjaGVkID0gZm47XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RGlzYWJsZWRTdGF0ZT8oaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY29udHJvbC5kaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0UGFuZWxDbGFzcygpIHtcclxuICAgICAgICBpZiAodGhpcy5jb250cm9sLmFwcGVuZFRvID09ICdib2R5Jykge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7dGhpcy5jb250cm9sLnBhbmVsQ2xhc3N9IHAtZml4ZWRgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdGhpcy5jb250cm9sLnBhbmVsQ2xhc3M7XHJcbiAgICB9XHJcblxyXG4gICAgb25Gb2N1c0NhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIHRoaXMub25Gb2N1cy5lbWl0KHtcclxuICAgICAgICAgICAgZXZlbnQ6IGV2dFxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICBpZiAoZXZ0LnRhcmdldC52YWx1ZSkge1xyXG4gICAgICAgICAgICBldnQudGFyZ2V0LnNlbGVjdCgpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBvbkJsdXJDYWxlbmRhcihldnQpIHtcclxuICAgICAgICB0aGlzLm9uQmx1ci5lbWl0KHtcclxuICAgICAgICAgICAgZXZlbnQ6IGV2dFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2hvd0NhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIHRoaXMuX3ByZXZWYWx1ZSA9IHRoaXMuX2NvbnRyb2xNb2RlbERhdGE7XHJcbiAgICB9XHJcblxyXG4gICAgb25DbG9zZUNhbGVuZGFyKGV2dCkge1xyXG4gICAgICAgIGNvbnN0IGlucHV0ID0gdGhpcy5jYWxlbmRhci5lbC5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJ2lucHV0Jyk7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBpbnB1dC52YWx1ZS50cmltKCk7XHJcbiAgICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnRvRGF0ZVN0cmluZyh0aGlzLl9wcmV2VmFsdWUsIHRoaXMuY29udHJvbC5zaG93VGltZSk7XHJcbiAgICAgICAgaWYgKG9sZFZhbHVlICE9IHZhbHVlKSB7XHJcbiAgICAgICAgICAgIGlucHV0LnZhbHVlID0gdGhpcy5hdXRvQ29yZWN0RGF0ZVRpbWUodmFsdWUpO1xyXG4gICAgICAgICAgICBpZiAob2xkVmFsdWUgIT0gaW5wdXQudmFsdWUpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuZmlyZUNoYW5nZUV2ZW50KCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5vbkNsb3NlLm5leHQodGhpcy5fY29udHJvbE1vZGVsRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgb25TZWxlY3REYXRlVGltZShldnQpIHtcclxuICAgICAgICB0aGlzLm9uU2VsZWN0Lm5leHQodGhpcy5fY29udHJvbE1vZGVsRGF0YSk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBhdXRvQ29yZWN0RGF0ZVRpbWUoaW5wdXQpIHtcclxuICAgICAgICBpZiAoaW5wdXQgIT0gJycpIHtcclxuICAgICAgICAgICAgY29uc3QgZGF0ZVZhbHVlID0gdGhpcy5jb250cm9sLnRpbWVPbmx5ID8gYDAxLzAxLzAwMDEgJHtpbnB1dH1gIDogaW5wdXQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuX2NvbW1vblNlcnZpY2UucHJvY2Vzc0RhdGVJbnB1dChcclxuICAgICAgICAgICAgICAgIGRhdGVWYWx1ZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC5zaG93VGltZSxcclxuICAgICAgICAgICAgICAgIHRoaXMuY29udHJvbC50aW1lT25seVxyXG4gICAgICAgICAgICApO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzVmFsaWREYXRlKHJlc3VsdCkpIHtcclxuICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubWluRGF0ZSB8fCB0aGlzLmNvbnRyb2wubWF4RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmNvbnRyb2wubWF4RGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzdWx0ID4gdGhpcy5jb250cm9sLm1heERhdGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSB0aGlzLmNvbnRyb2wubWF4RGF0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBlbHNlIGlmIChyZXN1bHQgPCB0aGlzLmNvbnRyb2wubWluRGF0ZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLl9jb250cm9sTW9kZWxEYXRhID0gdGhpcy5jb250cm9sLm1pbkRhdGU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fY29udHJvbE1vZGVsRGF0YSA9IHJlc3VsdDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBlbHNlIHRoaXMuX2NvbnRyb2xNb2RlbERhdGEgPSBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgICBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5fY29udHJvbE1vZGVsRGF0YSA9IG51bGw7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5fY29udHJvbE1vZGVsRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLl90aW1lT25seU1vZGVsRGF0YSA9IHRoaXMuZ2V0VGltZSh0aGlzLl9jb250cm9sTW9kZWxEYXRhKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhID0gbnVsbDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiB0aGlzLnRvRGF0ZVN0cmluZyh0aGlzLl9jb250cm9sTW9kZWxEYXRhLCB0aGlzLmNvbnRyb2wuc2hvd1RpbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgdG9EYXRlU3RyaW5nKGRhdGU6IERhdGUsIHNob3dUaW1lKSB7XHJcbiAgICAgICAgaWYgKCFpc1ZhbGlkRGF0ZShkYXRlKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLmNvbnRyb2wudGltZU9ubHkpIHtcclxuICAgICAgICAgICAgY29uc3QgdGltZSA9IHRoaXMuZ2V0VGltZShkYXRlKTtcclxuICAgICAgICAgICAgcmV0dXJuIGAwMS8wMS8wMDAxICR7dGltZX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBsZXQgZGQgPSBTdHJpbmcoZGF0ZS5nZXREYXRlKCkpO1xyXG4gICAgICAgIGlmIChkZC5sZW5ndGggPT0gMSkgZGQgPSAnMCcgKyBkZDtcclxuICAgICAgICBsZXQgTU0gPSBTdHJpbmcoZGF0ZS5nZXRNb250aCgpICsgMSk7XHJcbiAgICAgICAgaWYgKE1NLmxlbmd0aCA9PSAxKSBNTSA9ICcwJyArIE1NO1xyXG4gICAgICAgIGNvbnN0IHl5eXkgPSBTdHJpbmcoZGF0ZS5nZXRGdWxsWWVhcigpKTtcclxuXHJcbiAgICAgICAgaWYgKCFzaG93VGltZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYCR7ZGR9LyR7TU19LyR7eXl5eX1gO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zdCB0aW1lID0gdGhpcy5nZXRUaW1lKGRhdGUpO1xyXG4gICAgICAgIHJldHVybiBgJHtkZH0vJHtNTX0vJHt5eXl5fSAke3RpbWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGdldFRpbWUoZGF0ZTogRGF0ZSkge1xyXG4gICAgICAgIGxldCBoaCA9IFN0cmluZyhkYXRlLmdldEhvdXJzKCkpO1xyXG4gICAgICAgIGlmIChoaC5sZW5ndGggPT0gMSkgaGggPSAnMCcgKyBoaDtcclxuICAgICAgICBsZXQgbW0gPSBTdHJpbmcoZGF0ZS5nZXRNaW51dGVzKCkpO1xyXG4gICAgICAgIGlmIChtbS5sZW5ndGggPT0gMSkgbW0gPSAnMCcgKyBtbTtcclxuICAgICAgICByZXR1cm4gYCR7aGh9OiR7bW19YDtcclxuICAgIH1cclxuXHJcbiAgICBwcml2YXRlIGZpcmVDaGFuZ2VFdmVudCgpIHtcclxuICAgICAgICBjb25zdCB2YWx1ZSA9IHRoaXMuY29udHJvbC50aW1lT25seSA/IHRoaXMuX3RpbWVPbmx5TW9kZWxEYXRhIDogdGhpcy5fY29udHJvbE1vZGVsRGF0YTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlZC5lbWl0KHZhbHVlKTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -960,6 +960,9 @@ class DateTimeControlSchema extends FormControlBase {
960
960
  this.minDate = null;
961
961
  this.maxDate = null;
962
962
  this.timeOnly = false;
963
+ this.dateFormat = 'dd/mm/yy';
964
+ this.view = 'date';
965
+ this.yearRange = '1950:2050';
963
966
  for (const key in init) {
964
967
  this[key] = init[key];
965
968
  }
@@ -1676,6 +1679,7 @@ var Operator;
1676
1679
  Operator["greaterThanEqual"] = "gte";
1677
1680
  Operator["lower"] = "lt";
1678
1681
  Operator["lowerThanEqual"] = "lte";
1682
+ Operator["relationalData"] = "relationaldata";
1679
1683
  Operator["contain"] = "contains";
1680
1684
  Operator["notContain"] = "ncontains";
1681
1685
  Operator["startWith"] = "startswith";
@@ -14544,7 +14548,11 @@ class DataFormBase extends ComponentBaseWithButton {
14544
14548
  const enableVersion = this._entityMetadataService.getByCode('enableVersion');
14545
14549
  if (enableVersion == '1') {
14546
14550
  this.setting.filterCheckExistByVersion = [
14547
- new Filter({ field: 'code', operator: Operator.notEqual, value: JSON.stringify(this.model.data.code) })
14551
+ new Filter({
14552
+ field: 'code',
14553
+ operator: Operator.notEqual,
14554
+ value: JSON.stringify(this.model.data.code)
14555
+ })
14548
14556
  ];
14549
14557
  }
14550
14558
  }
@@ -14647,8 +14655,8 @@ class DataFormBase extends ComponentBaseWithButton {
14647
14655
  return __awaiter(this, void 0, void 0, function* () {
14648
14656
  const validated = yield this.validateFormBase();
14649
14657
  if (validated) {
14650
- this.triggerSaveFileUpload();
14651
14658
  yield this.onBeforeSave();
14659
+ this.triggerSaveFileUpload();
14652
14660
  if (this.autoSave) {
14653
14661
  if (this._isFormEdit() || this._isFormView()) {
14654
14662
  yield this.onUpdate();
@@ -19432,11 +19440,10 @@ class ListComponentBase extends ComponentBase {
19432
19440
  case DataType.date:
19433
19441
  case DataType.datetime:
19434
19442
  templateFilter.push(...this.getRangeFilter(col, item => {
19435
- const date = new Date(item);
19443
+ const date = new Date(item[0]);
19436
19444
  return new Date(date.getFullYear(), date.getMonth(), date.getDate());
19437
- // return addDay(item, 1, -1);
19438
19445
  }, item => {
19439
- const date = new Date(item);
19446
+ const date = new Date(item[1]);
19440
19447
  return new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1, 0, 0, -1);
19441
19448
  }));
19442
19449
  break;
@@ -19457,7 +19464,7 @@ class ListComponentBase extends ComponentBase {
19457
19464
  operator: Operator.greaterThanEqual,
19458
19465
  sourceField: col.field,
19459
19466
  subField: 0,
19460
- funcGetValue: funcGetValueFrom ? funcGetValueTo : (item) => item[0],
19467
+ funcGetValue: funcGetValueFrom ? funcGetValueFrom : (item) => item[0],
19461
19468
  }),
19462
19469
  new Filter({
19463
19470
  field: this.getFieldFilter(col),
@@ -43776,7 +43783,7 @@ class DatetimePickerComponent {
43776
43783
  DatetimePickerComponent.decorators = [
43777
43784
  { type: Component, args: [{
43778
43785
  selector: 'datetime-picker',
43779
- template: "<p-calendar #calendar [disabled]=\"control.disabled || disabled\" [selectOtherMonths]=\"true\"\r\n [inputStyleClass]=\"'input-calendar'\" [autoZIndex]=\"true\" [minDate]=\"control.minDate\" [maxDate]=\"control.maxDate\"\r\n [dateFormat]=\"'dd/mm/yy'\" [hourFormat]=\"24\" [placeholder]=\"control.placeholder\" [showIcon]=\"control.showIcon\"\r\n [locale]=\"vi\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" yearRange=\"1900:2050\" [showTime]=\"control.showTime\"\r\n [timeOnly]=\"control.timeOnly\" [showOnFocus]=\"control.showOnFocus\" [keepInvalid]=\"true\" [appendTo]=\"control.appendTo\"\r\n [panelStyleClass]=\"getPanelClass()\" [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\" [(ngModel)]=\"_controlModelData\" (onFocus)=\"onFocusCalendar($event)\"\r\n (onBlur)=\"onBlurCalendar($event)\" (onSelect)=\"onSelectDateTime($event)\" (onShow)=\"onShowCalendar($event)\"\r\n (onClose)=\"onCloseCalendar($event)\">\r\n</p-calendar>",
43786
+ template: "<p-calendar #calendar [disabled]=\"control.disabled || disabled\" [selectOtherMonths]=\"true\"\r\n [inputStyleClass]=\"'input-calendar'\" [autoZIndex]=\"true\" [minDate]=\"control.minDate\" [maxDate]=\"control.maxDate\"\r\n [dateFormat]=\"control.dateFormat\" [hourFormat]=\"24\" [placeholder]=\"control.placeholder\" [showIcon]=\"control.showIcon\"\r\n [locale]=\"vi\" [monthNavigator]=\"true\" [yearNavigator]=\"true\" [yearRange]=\"control.yearRange\" [showTime]=\"control.showTime\"\r\n [timeOnly]=\"control.timeOnly\" [showOnFocus]=\"control.showOnFocus\" [keepInvalid]=\"true\" [appendTo]=\"control.appendTo\"\r\n [panelStyleClass]=\"getPanelClass()\" [showTransitionOptions]=\"showTransitionOptions\"\r\n [hideTransitionOptions]=\"hideTransitionOptions\"\r\n [view]=\"control.view\"\r\n [(ngModel)]=\"_controlModelData\"\r\n (onFocus)=\"onFocusCalendar($event)\" (onBlur)=\"onBlurCalendar($event)\"\r\n (onSelect)=\"onSelectDateTime($event)\" (onShow)=\"onShowCalendar($event)\"\r\n (onClose)=\"onCloseCalendar($event)\"\r\n>\r\n</p-calendar>\r\n",
43780
43787
  providers: [
43781
43788
  {
43782
43789
  provide: NG_VALUE_ACCESSOR,