ngx-ode-ui 3.12.0-dev.18 → 3.12.0-dev.19

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.
@@ -38,6 +38,7 @@ export class DatepickerComponent extends OdeComponent {
38
38
  this.labelsService = labelsService;
39
39
  this.innerValue = '';
40
40
  this.disabled = false;
41
+ this._readonly = false;
41
42
  this.enableTime = false;
42
43
  this.placeholder = '';
43
44
  this.changeDate = new EventEmitter();
@@ -68,6 +69,26 @@ export class DatepickerComponent extends OdeComponent {
68
69
  }
69
70
  }
70
71
  }
72
+ /**
73
+ * @param {?} val
74
+ * @return {?}
75
+ */
76
+ set readonly(val) {
77
+ this._readonly = val;
78
+ if (this.datePickerInst && this.datePickerInst.altInput) {
79
+ // Apply the readonly attribute addition/removal to the visible input (wrapped)
80
+ if (val)
81
+ this.datePickerInst.altInput.setAttribute('readonly', "");
82
+ else
83
+ this.datePickerInst.altInput.removeAttribute('readonly');
84
+ }
85
+ }
86
+ /**
87
+ * @return {?}
88
+ */
89
+ get readonly() {
90
+ return this._readonly;
91
+ }
71
92
  /**
72
93
  * @return {?}
73
94
  */
@@ -98,12 +119,25 @@ export class DatepickerComponent extends OdeComponent {
98
119
  enableTime: this.enableTime,
99
120
  minDate: this.minDate,
100
121
  maxDate: this.maxDate,
101
- clickOpens: !this.disabled,
122
+ clickOpens: false,
102
123
  wrap: true,
103
124
  // to add input decoration (calendar icon and delete icon)
104
125
  locale: datePickerLocale
105
126
  };
106
127
  this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);
128
+ if (!this.disabled) {
129
+ this.datePickerInst.altInput.addEventListener('click', (/**
130
+ * @param {?} e
131
+ * @return {?}
132
+ */
133
+ e => {
134
+ if (!this.readonly) {
135
+ this.datePickerInst.toggle();
136
+ }
137
+ }));
138
+ }
139
+ // Force updating the date input readonly attribute :
140
+ this.readonly = this._readonly;
107
141
  }
108
142
  /**
109
143
  * @return {?}
@@ -148,8 +182,9 @@ export class DatepickerComponent extends OdeComponent {
148
182
  DatepickerComponent.decorators = [
149
183
  { type: Component, args: [{
150
184
  selector: 'ode-date-picker',
151
- template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
152
- providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
185
+ template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
186
+ providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
187
+ styles: [".hidden{visibility:hidden}"]
153
188
  }] }
154
189
  ];
155
190
  /** @nocollapse */
@@ -163,6 +198,7 @@ DatepickerComponent.propDecorators = {
163
198
  inputElement: [{ type: ViewChild, args: ['inputRef', { static: false },] }],
164
199
  model: [{ type: ViewChild, args: [NgModel, { static: false },] }],
165
200
  disabled: [{ type: Input }],
201
+ readonly: [{ type: Input }],
166
202
  enableTime: [{ type: Input }],
167
203
  placeholder: [{ type: Input }],
168
204
  minDate: [{ type: Input }],
@@ -189,6 +225,8 @@ if (false) {
189
225
  /** @type {?} */
190
226
  DatepickerComponent.prototype.disabled;
191
227
  /** @type {?} */
228
+ DatepickerComponent.prototype._readonly;
229
+ /** @type {?} */
192
230
  DatepickerComponent.prototype.enableTime;
193
231
  /** @type {?} */
194
232
  DatepickerComponent.prototype.placeholder;
@@ -220,4 +258,4 @@ if (false) {
220
258
  DatepickerComponent.prototype.labelsService;
221
259
  }
222
260
  export { ɵ0 };
223
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQ3JFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLDJCQUEyQixDQUFDOzs7TUFHekMsSUFBSTs7O0FBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQTs7O0FBQ0QsTUFBTSxPQUFPLG1DQUFtQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVU7OztJQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2Q7QUFPRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTs7Ozs7O0lBRWpELFlBQW9CLFFBQW1CLEVBQ25CLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFosYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXdCeEMsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQWU3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBR2pCLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFHbkIsZ0JBQVcsR0FBRyxFQUFFLENBQUM7UUFTakIsZUFBVSxHQUF5QixJQUFJLFlBQVksRUFBVSxDQUFDO1FBRXRELHFCQUFnQixHQUFxQixJQUFJLENBQUM7UUFDMUMsc0JBQWlCLEdBQWUsSUFBSSxDQUFDO0lBdERqQyxDQUFDOzs7O0lBRWIsSUFBSSxLQUFLO1FBQ0wsT0FBTyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQzNCLENBQUM7Ozs7O0lBRUQsSUFBSSxLQUFLLENBQUMsQ0FBTTs7WUFDUixJQUFJLEdBQUcsS0FBSztRQUNoQixJQUFJLElBQUksQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUFFO1lBQy9CLElBQUksR0FBRyxJQUFJLENBQUM7U0FDZjtRQUNELElBQUksQ0FBQyxLQUFLLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7WUFDcEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pCLElBQUksQ0FBQyxJQUFJLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDM0I7U0FFSjtJQUNMLENBQUM7Ozs7SUFxQ0QsZUFBZTtRQUNYLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixxRUFBcUU7UUFDckUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLEVBQUUsWUFBWSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBRTlFLGdCQUFnQjtRQUNoQixJQUFJLElBQUksQ0FBQyxRQUFRLEtBQUssSUFBSSxFQUFFO1lBQ3hCLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDO1NBQ2hDOztjQUVLLGlCQUFpQixHQUFHLFNBQVMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQzs7WUFDdEQsZ0JBQWdCLEdBQUcsRUFBRTtRQUN6QixJQUFJLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUM1QixnQkFBZ0IsR0FBRyxNQUFNLENBQUMsRUFBRSxDQUFDO1NBQ2hDOzs7Y0FHSyxPQUFPLEdBQUc7WUFDWixRQUFRLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUN4QixTQUFTLEVBQUUsT0FBTzs7WUFDbEIsVUFBVSxFQUFFLE9BQU87O1lBQ25CLFVBQVUsRUFBRSxLQUFLO1lBQ2pCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQzFCLElBQUksRUFBRSxJQUFJOztZQUNWLE1BQU0sRUFBRSxnQkFBZ0I7U0FDM0I7UUFFRCxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxhQUFhLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDdkYsQ0FBQzs7OztJQUVELFdBQVc7UUFDUCxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUVELFVBQVUsQ0FBQyxLQUFVO1FBQ2pCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDOzs7OztJQUVELGdCQUFnQixDQUFDLEVBQU87UUFDcEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUMvQixDQUFDOzs7OztJQUVELGlCQUFpQixDQUFDLEVBQU87UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVELE1BQU0sQ0FBQyxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOzs7WUEzSEosU0FBUyxTQUFDO2dCQUNQLFFBQVEsRUFBRSxpQkFBaUI7Z0JBQzNCLGdlQUEwQztnQkFDMUMsU0FBUyxFQUFFLENBQUUsbUNBQW1DLENBQUU7YUFDckQ7Ozs7WUFyQjJCLFNBQVM7WUFJN0IsYUFBYTtZQUo2QixRQUFROzs7Z0NBbURyRCxTQUFTLFNBQUMsbUJBQW1CLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzJCQUdoRCxTQUFTLFNBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTtvQkFNdkMsU0FBUyxTQUFDLE9BQU8sRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7dUJBR3BDLEtBQUs7eUJBR0wsS0FBSzswQkFHTCxLQUFLO3NCQUdMLEtBQUs7c0JBR0wsS0FBSzt5QkFHTCxNQUFNOzs7Ozs7O0lBN0JQLHlDQUE2Qjs7SUFFN0IsZ0RBQzhCOztJQUU5QiwyQ0FDeUI7Ozs7O0lBR3pCLDZDQUFrQzs7SUFFbEMsb0NBQ2U7O0lBRWYsdUNBQ2lCOztJQUVqQix5Q0FDbUI7O0lBRW5CLDBDQUNpQjs7SUFFakIsc0NBQ1E7O0lBRVIsc0NBQ1E7O0lBRVIseUNBQzhEOzs7OztJQUU5RCwrQ0FBa0Q7Ozs7O0lBQ2xELGdEQUE2Qzs7Ozs7SUExRGpDLHVDQUEyQjs7Ozs7SUFDM0IsNENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLFxuICBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7TGFiZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFiZWxzLnNlcnZpY2UnO1xuaW1wb3J0IEZsYXRwaWNrciBmcm9tICdmbGF0cGlja3InO1xuaW1wb3J0IEZyZW5jaCBmcm9tICdmbGF0cGlja3IvZGlzdC9sMTBuL2ZyLmpzJztcblxuLy8gYWNjZXNzIG5nbW9kZWxcbmNvbnN0IE5PT1AgPSAoKSA9PiB7XG59O1xuZXhwb3J0IGNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLWRhdGUtcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgcHJvdmlkZXJzOiBbIENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SIF1cbn0pXG5leHBvcnQgY2xhc3MgRGF0ZXBpY2tlckNvbXBvbmVudCBleHRlbmRzIE9kZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgICAgICAgICAgICAgIHByaXZhdGUgbGFiZWxzU2VydmljZTogTGFiZWxzU2VydmljZSxcbiAgICAgICAgICAgICAgICBpbmplY3RvcjogSW5qZWN0b3IpIHtcbiAgICAgICAgICAgICAgICAgICAgc3VwZXIoaW5qZWN0b3IpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgIGdldCB2YWx1ZSgpOiBhbnkge1xuICAgICAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xuICAgIH1cblxuICAgIHNldCB2YWx1ZSh2OiBhbnkpIHtcbiAgICAgICAgbGV0IGluaXQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuaW5uZXJWYWx1ZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICBpbml0ID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICBpZiAodiAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2O1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHYpO1xuICAgICAgICAgICAgaWYgKCFpbml0KSB7XG4gICAgICAgICAgICAgICAgdGhpcy5jaGFuZ2VEYXRlLmVtaXQodik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gJyc7XG5cbiAgICBAVmlld0NoaWxkKCdkYXRlUGlja2VyRWxlbWVudCcsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGRhdGVQaWNrZXJFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRSZWYnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBpbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvLyBpbnN0YW5jZSBmbGF0cGlja3JcbiAgICBwcml2YXRlIGRhdGVQaWNrZXJJbnN0OiBGbGF0cGlja3I7XG5cbiAgICBAVmlld0NoaWxkKE5nTW9kZWwsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIG1vZGVsOiBOZ01vZGVsO1xuXG4gICAgQElucHV0KClcbiAgICBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBlbmFibGVUaW1lID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkRhdGU7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heERhdGU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjaGFuZ2VEYXRlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gTk9PUDtcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gTk9PUDtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIC8vIGFkZCBhdHRyIGRhdGEtaW5wdXQsIG1hbmRhdG9yeSBmb3IgdGhlIHBpY2tlciB0byB3b3JrIGluIHdyYXAgbW9kZVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGF0YS1pbnB1dCcsICcnKTtcblxuICAgICAgICAvLyBkaXNhYmxlZCBjYXNlXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF2aWdhdG9yTGFuZ3VhZ2UgPSBuYXZpZ2F0b3IubGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcbiAgICAgICAgbGV0IGRhdGVQaWNrZXJMb2NhbGUgPSB7fTtcbiAgICAgICAgaWYgKG5hdmlnYXRvckxhbmd1YWdlID09PSAnZnInKSB7XG4gICAgICAgICAgICBkYXRlUGlja2VyTG9jYWxlID0gRnJlbmNoLmZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3B0aW9ucyBmb3IgdGhlIGZsYXRwaWNrciBpbnN0YW5jZVxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgYWx0SW5wdXQ6ICF0aGlzLmRpc2FibGVkLFxuICAgICAgICAgICAgYWx0Rm9ybWF0OiAnZC9tL1knLCAvLyBkYXRlIGZvcm1hdCBkaXNwbGF5ZWQgdG8gdXNlclxuICAgICAgICAgICAgZGF0ZUZvcm1hdDogJ1ktbS1kJywgLy8gZGF0ZSBmb3JtYXQgc2VudCB0byBzZXJ2ZXJcbiAgICAgICAgICAgIGFsbG93SW5wdXQ6IGZhbHNlLFxuICAgICAgICAgICAgZW5hYmxlVGltZTogdGhpcy5lbmFibGVUaW1lLFxuICAgICAgICAgICAgbWluRGF0ZTogdGhpcy5taW5EYXRlLFxuICAgICAgICAgICAgbWF4RGF0ZTogdGhpcy5tYXhEYXRlLFxuICAgICAgICAgICAgY2xpY2tPcGVuczogIXRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICB3cmFwOiB0cnVlLCAvLyB0byBhZGQgaW5wdXQgZGVjb3JhdGlvbiAoY2FsZW5kYXIgaWNvbiBhbmQgZGVsZXRlIGljb24pXG4gICAgICAgICAgICBsb2NhbGU6IGRhdGVQaWNrZXJMb2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0ID0gbmV3IEZsYXRwaWNrcih0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUgJiYgdGhpcy5kYXRlUGlja2VySW5zdCkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LnNldERhdGUodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICBsYWJlbHMobGFiZWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxzU2VydmljZS5nZXRMYWJlbChsYWJlbCk7XG4gICAgfVxufVxuIl19
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDNUMsT0FBTyxFQUFpQixTQUFTLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQ3JFLEtBQUssRUFBYSxNQUFNLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEYsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxPQUFPLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUVsRixPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFDNUQsT0FBTyxTQUFTLE1BQU0sV0FBVyxDQUFDO0FBQ2xDLE9BQU8sTUFBTSxNQUFNLDJCQUEyQixDQUFDOzs7TUFHekMsSUFBSTs7O0FBQUcsR0FBRyxFQUFFO0FBQ2xCLENBQUMsQ0FBQTs7O0FBQ0QsTUFBTSxPQUFPLG1DQUFtQyxHQUFRO0lBQ3BELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVU7OztJQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2Q7QUFRRCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsWUFBWTs7Ozs7O0lBRWpELFlBQW9CLFFBQW1CLEVBQ25CLGFBQTRCLEVBQ3BDLFFBQWtCO1FBQ2QsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBSFosYUFBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXdCeEMsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQWU3QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBY2pCLGNBQVMs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MkIsU0FBUztZQUk3QixhQUFhO1lBSjZCLFFBQVE7OztnQ0FvRHJELFNBQVMsU0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7MkJBR2hELFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO29CQU12QyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTt1QkFHcEMsS0FBSzt1QkFHTCxLQUFLO3lCQWNMLEtBQUs7MEJBR0wsS0FBSztzQkFHTCxLQUFLO3NCQUdMLEtBQUs7eUJBR0wsTUFBTTs7Ozs7OztJQTNDUCx5Q0FBNkI7O0lBRTdCLGdEQUM4Qjs7SUFFOUIsMkNBQ3lCOzs7OztJQUd6Qiw2Q0FBa0M7O0lBRWxDLG9DQUNlOztJQUVmLHVDQUNpQjs7SUFjakIsd0NBQWtCOztJQUVsQix5Q0FDbUI7O0lBRW5CLDBDQUNpQjs7SUFFakIsc0NBQ1E7O0lBRVIsc0NBQ1E7O0lBRVIseUNBQzhEOzs7OztJQUU5RCwrQ0FBa0Q7Ozs7O0lBQ2xELGdEQUE2Qzs7Ozs7SUF4RWpDLHVDQUEyQjs7Ozs7SUFDM0IsNENBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2RlQ29tcG9uZW50IH0gZnJvbSAnbmd4LW9kZS1jb3JlJztcbmltcG9ydCB7IEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBmb3J3YXJkUmVmLFxuICBJbnB1dCwgT25EZXN0cm95LCBPdXRwdXQsIFJlbmRlcmVyMiwgVmlld0NoaWxkLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IsIE5nTW9kZWwgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7TGFiZWxzU2VydmljZX0gZnJvbSAnLi4vLi4vc2VydmljZXMvbGFiZWxzLnNlcnZpY2UnO1xuaW1wb3J0IEZsYXRwaWNrciBmcm9tICdmbGF0cGlja3InO1xuaW1wb3J0IEZyZW5jaCBmcm9tICdmbGF0cGlja3IvZGlzdC9sMTBuL2ZyLmpzJztcblxuLy8gYWNjZXNzIG5nbW9kZWxcbmNvbnN0IE5PT1AgPSAoKSA9PiB7XG59O1xuZXhwb3J0IGNvbnN0IENVU1RPTV9JTlBVVF9DT05UUk9MX1ZBTFVFX0FDQ0VTU09SOiBhbnkgPSB7XG4gICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gRGF0ZXBpY2tlckNvbXBvbmVudCksXG4gICAgbXVsdGk6IHRydWVcbn07XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnb2RlLWRhdGUtcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZGF0ZXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxuICAgIHByb3ZpZGVyczogWyBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUiBdXG59KVxuZXhwb3J0IGNsYXNzIERhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBPZGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIEFmdGVyVmlld0luaXQsIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICAgICAgICAgICAgICBwcml2YXRlIGxhYmVsc1NlcnZpY2U6IExhYmVsc1NlcnZpY2UsXG4gICAgICAgICAgICAgICAgaW5qZWN0b3I6IEluamVjdG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHN1cGVyKGluamVjdG9yKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICBnZXQgdmFsdWUoKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgICB9XG5cbiAgICBzZXQgdmFsdWUodjogYW55KSB7XG4gICAgICAgIGxldCBpbml0ID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLmlubmVyVmFsdWUgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaW5pdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHYgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcbiAgICAgICAgICAgIGlmICghaW5pdCkge1xuICAgICAgICAgICAgICAgIHRoaXMuY2hhbmdlRGF0ZS5lbWl0KHYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGlubmVyVmFsdWU6IGFueSA9ICcnO1xuXG4gICAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlckVsZW1lbnQnLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBkYXRlUGlja2VyRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lucHV0UmVmJywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgaW5wdXRFbGVtZW50OiBFbGVtZW50UmVmO1xuXG4gICAgLy8gaW5zdGFuY2UgZmxhdHBpY2tyXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VySW5zdDogRmxhdHBpY2tyO1xuXG4gICAgQFZpZXdDaGlsZChOZ01vZGVsLCB7IHN0YXRpYzogZmFsc2UgfSlcbiAgICBtb2RlbDogTmdNb2RlbDtcblxuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHJlYWRvbmx5KCB2YWw6Ym9vbGVhbiApIHtcbiAgICAgICAgdGhpcy5fcmVhZG9ubHkgPSB2YWw7XG4gICAgICAgIGlmKCB0aGlzLmRhdGVQaWNrZXJJbnN0ICYmIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQgKSB7XG4gICAgICAgICAgICAvLyBBcHBseSB0aGUgcmVhZG9ubHkgYXR0cmlidXRlIGFkZGl0aW9uL3JlbW92YWwgdG8gdGhlIHZpc2libGUgaW5wdXQgKHdyYXBwZWQpXG4gICAgICAgICAgICBpZiggdmFsICkgdGhpcy5kYXRlUGlja2VySW5zdC5hbHRJbnB1dC5zZXRBdHRyaWJ1dGUoJ3JlYWRvbmx5JywgXCJcIik7XG4gICAgICAgICAgICBlbHNlICAgICAgdGhpcy5kYXRlUGlja2VySW5zdC5hbHRJbnB1dC5yZW1vdmVBdHRyaWJ1dGUoJ3JlYWRvbmx5Jyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IHJlYWRvbmx5KCk6Ym9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9yZWFkb25seTtcbiAgICB9XG4gICAgX3JlYWRvbmx5ID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGVuYWJsZVRpbWUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXIgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgbWluRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4RGF0ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZURhdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBOT09QO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBOT09QO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgLy8gYWRkIGF0dHIgZGF0YS1pbnB1dCwgbWFuZGF0b3J5IGZvciB0aGUgcGlja2VyIHRvIHdvcmsgaW4gd3JhcCBtb2RlXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkYXRhLWlucHV0JywgJycpO1xuXG4gICAgICAgIC8vIGRpc2FibGVkIGNhc2VcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXZpZ2F0b3JMYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xuICAgICAgICBsZXQgZGF0ZVBpY2tlckxvY2FsZSA9IHt9O1xuICAgICAgICBpZiAobmF2aWdhdG9yTGFuZ3VhZ2UgPT09ICdmcicpIHtcbiAgICAgICAgICAgIGRhdGVQaWNrZXJMb2NhbGUgPSBGcmVuY2guZnI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvcHRpb25zIGZvciB0aGUgZmxhdHBpY2tyIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBhbHRJbnB1dDogIXRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICBhbHRGb3JtYXQ6ICdkL20vWScsIC8vIGRhdGUgZm9ybWF0IGRpc3BsYXllZCB0byB1c2VyXG4gICAgICAgICAgICBkYXRlRm9ybWF0OiAnWS1tLWQnLCAvLyBkYXRlIGZvcm1hdCBzZW50IHRvIHNlcnZlclxuICAgICAgICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmVuYWJsZVRpbWUsXG4gICAgICAgICAgICBtaW5EYXRlOiB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgICBtYXhEYXRlOiB0aGlzLm1heERhdGUsXG4gICAgICAgICAgICBjbGlja09wZW5zOiBmYWxzZSxcbiAgICAgICAgICAgIHdyYXA6IHRydWUsIC8vIHRvIGFkZCBpbnB1dCBkZWNvcmF0aW9uIChjYWxlbmRhciBpY29uIGFuZCBkZWxldGUgaWNvbilcbiAgICAgICAgICAgIGxvY2FsZTogZGF0ZVBpY2tlckxvY2FsZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QgPSBuZXcgRmxhdHBpY2tyKHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG4gICAgICAgIGlmKCAhdGhpcy5kaXNhYmxlZCApIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHtcbiAgICAgICAgICAgICAgICBpZiggIXRoaXMucmVhZG9ubHkgKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QudG9nZ2xlKCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3JjZSB1cGRhdGluZyB0aGUgZGF0ZSBpbnB1dCByZWFkb25seSBhdHRyaWJ1dGUgOlxuICAgICAgICB0aGlzLnJlYWRvbmx5ID0gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSAmJiB0aGlzLmRhdGVQaWNrZXJJbnN0KSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3Quc2V0RGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGxhYmVscyhsYWJlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbHNTZXJ2aWNlLmdldExhYmVsKGxhYmVsKTtcbiAgICB9XG59XG4iXX0=
@@ -35,6 +35,7 @@ var DatepickerComponent = /** @class */ (function (_super) {
35
35
  _this.labelsService = labelsService;
36
36
  _this.innerValue = '';
37
37
  _this.disabled = false;
38
+ _this._readonly = false;
38
39
  _this.enableTime = false;
39
40
  _this.placeholder = '';
40
41
  _this.changeDate = new EventEmitter();
@@ -70,6 +71,30 @@ var DatepickerComponent = /** @class */ (function (_super) {
70
71
  enumerable: true,
71
72
  configurable: true
72
73
  });
74
+ Object.defineProperty(DatepickerComponent.prototype, "readonly", {
75
+ get: /**
76
+ * @return {?}
77
+ */
78
+ function () {
79
+ return this._readonly;
80
+ },
81
+ set: /**
82
+ * @param {?} val
83
+ * @return {?}
84
+ */
85
+ function (val) {
86
+ this._readonly = val;
87
+ if (this.datePickerInst && this.datePickerInst.altInput) {
88
+ // Apply the readonly attribute addition/removal to the visible input (wrapped)
89
+ if (val)
90
+ this.datePickerInst.altInput.setAttribute('readonly', "");
91
+ else
92
+ this.datePickerInst.altInput.removeAttribute('readonly');
93
+ }
94
+ },
95
+ enumerable: true,
96
+ configurable: true
97
+ });
73
98
  /**
74
99
  * @return {?}
75
100
  */
@@ -77,6 +102,7 @@ var DatepickerComponent = /** @class */ (function (_super) {
77
102
  * @return {?}
78
103
  */
79
104
  function () {
105
+ var _this = this;
80
106
  _super.prototype.ngAfterViewInit.call(this);
81
107
  // add attr data-input, mandatory for the picker to work in wrap mode
82
108
  this.renderer.setAttribute(this.inputElement.nativeElement, 'data-input', '');
@@ -103,12 +129,25 @@ var DatepickerComponent = /** @class */ (function (_super) {
103
129
  enableTime: this.enableTime,
104
130
  minDate: this.minDate,
105
131
  maxDate: this.maxDate,
106
- clickOpens: !this.disabled,
132
+ clickOpens: false,
107
133
  wrap: true,
108
134
  // to add input decoration (calendar icon and delete icon)
109
135
  locale: datePickerLocale
110
136
  };
111
137
  this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);
138
+ if (!this.disabled) {
139
+ this.datePickerInst.altInput.addEventListener('click', (/**
140
+ * @param {?} e
141
+ * @return {?}
142
+ */
143
+ function (e) {
144
+ if (!_this.readonly) {
145
+ _this.datePickerInst.toggle();
146
+ }
147
+ }));
148
+ }
149
+ // Force updating the date input readonly attribute :
150
+ this.readonly = this._readonly;
112
151
  };
113
152
  /**
114
153
  * @return {?}
@@ -171,8 +210,9 @@ var DatepickerComponent = /** @class */ (function (_super) {
171
210
  DatepickerComponent.decorators = [
172
211
  { type: Component, args: [{
173
212
  selector: 'ode-date-picker',
174
- template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
175
- providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
213
+ template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
214
+ providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
215
+ styles: [".hidden{visibility:hidden}"]
176
216
  }] }
177
217
  ];
178
218
  /** @nocollapse */
@@ -186,6 +226,7 @@ var DatepickerComponent = /** @class */ (function (_super) {
186
226
  inputElement: [{ type: ViewChild, args: ['inputRef', { static: false },] }],
187
227
  model: [{ type: ViewChild, args: [NgModel, { static: false },] }],
188
228
  disabled: [{ type: Input }],
229
+ readonly: [{ type: Input }],
189
230
  enableTime: [{ type: Input }],
190
231
  placeholder: [{ type: Input }],
191
232
  minDate: [{ type: Input }],
@@ -215,6 +256,8 @@ if (false) {
215
256
  /** @type {?} */
216
257
  DatepickerComponent.prototype.disabled;
217
258
  /** @type {?} */
259
+ DatepickerComponent.prototype._readonly;
260
+ /** @type {?} */
218
261
  DatepickerComponent.prototype.enableTime;
219
262
  /** @type {?} */
220
263
  DatepickerComponent.prototype.placeholder;
@@ -246,4 +289,4 @@ if (false) {
246
289
  DatepickerComponent.prototype.labelsService;
247
290
  }
248
291
  export { ɵ0 };
249
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUNyRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSwyQkFBMkIsQ0FBQzs7O0lBR3pDLElBQUk7OztBQUFHO0FBQ2IsQ0FBQyxDQUFBOzs7QUFDRCxNQUFNLEtBQU8sbUNBQW1DLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVTs7O0lBQUMsY0FBTSxPQUFBLG1CQUFtQixFQUFuQixDQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2Q7QUFFRDtJQUt5QywrQ0FBWTtJQUVqRCw2QkFBb0IsUUFBbUIsRUFDbkIsYUFBNEIsRUFDcEMsUUFBa0I7UUFGOUIsWUFHZ0Isa0JBQU0sUUFBUSxDQUFDLFNBQ2xCO1FBSk8sY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixtQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXdCeEMsZ0JBQVUsR0FBUSxFQUFFLENBQUM7UUFlN0IsY0FBUSxHQUFHLEtBQUssQ0FBQztRQUdqQixnQkFBVSxHQUFHLEtBQUssQ0FBQztR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O0lBRUQsK0NBQWlCOzs7O0lBQWpCLFVBQWtCLEVBQU87UUFDckIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLEVBQUUsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVELG9DQUFNOzs7O0lBQU4sVUFBTyxLQUFLO1FBQ1IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUM5QyxDQUFDOztnQkEzSEosU0FBUyxTQUFDO29CQUNQLFFBQVEsRUFBRSxpQkFBaUI7b0JBQzNCLGdlQUEwQztvQkFDMUMsU0FBUyxFQUFFLENBQUUsbUNBQW1DLENBQUU7aUJBQ3JEOzs7O2dCQXJCMkIsU0FBUztnQkFJN0IsYUFBYTtnQkFKNkIsUUFBUTs7O29DQW1EckQsU0FBUyxTQUFDLG1CQUFtQixFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTsrQkFHaEQsU0FBUyxTQUFDLFVBQVUsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7d0JBTXZDLFNBQVMsU0FBQyxPQUFPLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFOzJCQUdwQyxLQUFLOzZCQUdMLEtBQUs7OEJBR0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7NkJBR0wsTUFBTTs7SUErRFgsMEJBQUM7Q0FBQSxBQTVIRCxDQUt5QyxZQUFZLEdBdUhwRDtTQXZIWSxtQkFBbUI7Ozs7OztJQTJCNUIseUNBQTZCOztJQUU3QixnREFDOEI7O0lBRTlCLDJDQUN5Qjs7Ozs7SUFHekIsNkNBQWtDOztJQUVsQyxvQ0FDZTs7SUFFZix1Q0FDaUI7O0lBRWpCLHlDQUNtQjs7SUFFbkIsMENBQ2lCOztJQUVqQixzQ0FDUTs7SUFFUixzQ0FDUTs7SUFFUix5Q0FDOEQ7Ozs7O0lBRTlELCtDQUFrRDs7Ozs7SUFDbEQsZ0RBQTZDOzs7OztJQTFEakMsdUNBQTJCOzs7OztJQUMzQiw0Q0FBb0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPZGVDb21wb25lbnQgfSBmcm9tICduZ3gtb2RlLWNvcmUnO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIGZvcndhcmRSZWYsXG4gIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgUmVuZGVyZXIyLCBWaWV3Q2hpbGQsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiwgTmdNb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHtMYWJlbHNTZXJ2aWNlfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sYWJlbHMuc2VydmljZSc7XG5pbXBvcnQgRmxhdHBpY2tyIGZyb20gJ2ZsYXRwaWNrcic7XG5pbXBvcnQgRnJlbmNoIGZyb20gJ2ZsYXRwaWNrci9kaXN0L2wxMG4vZnIuanMnO1xuXG4vLyBhY2Nlc3Mgbmdtb2RlbFxuY29uc3QgTk9PUCA9ICgpID0+IHtcbn07XG5leHBvcnQgY29uc3QgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1I6IGFueSA9IHtcbiAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBEYXRlcGlja2VyQ29tcG9uZW50KSxcbiAgICBtdWx0aTogdHJ1ZVxufTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdvZGUtZGF0ZS1waWNrZXInLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFsgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBsYWJlbHNTZXJ2aWNlOiBMYWJlbHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xuICAgICAgICBsZXQgaW5pdCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbm5lclZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGluaXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICBpZiAoIWluaXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURhdGUuZW1pdCh2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbm5lclZhbHVlOiBhbnkgPSAnJztcblxuICAgIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXJFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgZGF0ZVBpY2tlckVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8vIGluc3RhbmNlIGZsYXRwaWNrclxuICAgIHByaXZhdGUgZGF0ZVBpY2tlckluc3Q6IEZsYXRwaWNrcjtcblxuICAgIEBWaWV3Q2hpbGQoTmdNb2RlbCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgbW9kZWw6IE5nTW9kZWw7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIGVuYWJsZVRpbWUgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcGxhY2Vob2xkZXIgPSAnJztcblxuICAgIEBJbnB1dCgpXG4gICAgbWluRGF0ZTtcblxuICAgIEBJbnB1dCgpXG4gICAgbWF4RGF0ZTtcblxuICAgIEBPdXRwdXQoKVxuICAgIGNoYW5nZURhdGU6IEV2ZW50RW1pdHRlcjxzdHJpbmc+ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBOT09QO1xuICAgIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBOT09QO1xuXG4gICAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgLy8gYWRkIGF0dHIgZGF0YS1pbnB1dCwgbWFuZGF0b3J5IGZvciB0aGUgcGlja2VyIHRvIHdvcmsgaW4gd3JhcCBtb2RlXG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuaW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsICdkYXRhLWlucHV0JywgJycpO1xuXG4gICAgICAgIC8vIGRpc2FibGVkIGNhc2VcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHRoaXMubW9kZWwuY29udHJvbC5kaXNhYmxlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBuYXZpZ2F0b3JMYW5ndWFnZSA9IG5hdmlnYXRvci5sYW5ndWFnZS5zcGxpdCgnLScpWzBdO1xuICAgICAgICBsZXQgZGF0ZVBpY2tlckxvY2FsZSA9IHt9O1xuICAgICAgICBpZiAobmF2aWdhdG9yTGFuZ3VhZ2UgPT09ICdmcicpIHtcbiAgICAgICAgICAgIGRhdGVQaWNrZXJMb2NhbGUgPSBGcmVuY2guZnI7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBvcHRpb25zIGZvciB0aGUgZmxhdHBpY2tyIGluc3RhbmNlXG4gICAgICAgIGNvbnN0IG9wdGlvbnMgPSB7XG4gICAgICAgICAgICBhbHRJbnB1dDogIXRoaXMuZGlzYWJsZWQsXG4gICAgICAgICAgICBhbHRGb3JtYXQ6ICdkL20vWScsIC8vIGRhdGUgZm9ybWF0IGRpc3BsYXllZCB0byB1c2VyXG4gICAgICAgICAgICBkYXRlRm9ybWF0OiAnWS1tLWQnLCAvLyBkYXRlIGZvcm1hdCBzZW50IHRvIHNlcnZlclxuICAgICAgICAgICAgYWxsb3dJbnB1dDogZmFsc2UsXG4gICAgICAgICAgICBlbmFibGVUaW1lOiB0aGlzLmVuYWJsZVRpbWUsXG4gICAgICAgICAgICBtaW5EYXRlOiB0aGlzLm1pbkRhdGUsXG4gICAgICAgICAgICBtYXhEYXRlOiB0aGlzLm1heERhdGUsXG4gICAgICAgICAgICBjbGlja09wZW5zOiAhdGhpcy5kaXNhYmxlZCxcbiAgICAgICAgICAgIHdyYXA6IHRydWUsIC8vIHRvIGFkZCBpbnB1dCBkZWNvcmF0aW9uIChjYWxlbmRhciBpY29uIGFuZCBkZWxldGUgaWNvbilcbiAgICAgICAgICAgIGxvY2FsZTogZGF0ZVBpY2tlckxvY2FsZVxuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QgPSBuZXcgRmxhdHBpY2tyKHRoaXMuZGF0ZVBpY2tlckVsZW1lbnQubmF0aXZlRWxlbWVudCwgb3B0aW9ucyk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuZGVzdHJveSgpO1xuICAgIH1cblxuICAgIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgICAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSAmJiB0aGlzLmRhdGVQaWNrZXJJbnN0KSB7XG4gICAgICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3Quc2V0RGF0ZSh2YWx1ZSk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xuICAgIH1cblxuICAgIGxhYmVscyhsYWJlbCkge1xuICAgICAgICByZXR1cm4gdGhpcy5sYWJlbHNTZXJ2aWNlLmdldExhYmVsKGxhYmVsKTtcbiAgICB9XG59XG4iXX0=
292
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtb2RlLXVpLyIsInNvdXJjZXMiOlsibGliL2NvbXBvbmVudHMvZGF0ZXBpY2tlci9kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzVDLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUNyRSxLQUFLLEVBQWEsTUFBTSxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRWxGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEYsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLCtCQUErQixDQUFDO0FBQzVELE9BQU8sU0FBUyxNQUFNLFdBQVcsQ0FBQztBQUNsQyxPQUFPLE1BQU0sTUFBTSwyQkFBMkIsQ0FBQzs7O0lBR3pDLElBQUk7OztBQUFHO0FBQ2IsQ0FBQyxDQUFBOzs7QUFDRCxNQUFNLEtBQU8sbUNBQW1DLEdBQVE7SUFDcEQsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixXQUFXLEVBQUUsVUFBVTs7O0lBQUMsY0FBTSxPQUFBLG1CQUFtQixFQUFuQixDQUFtQixFQUFDO0lBQ2xELEtBQUssRUFBRSxJQUFJO0NBQ2Q7QUFFRDtJQU15QywrQ0FBWTtJQUVqRCw2QkFBb0IsUUFBbUIsRUFDbkIsYUFBNEIsRUFDcEMsUUFBa0I7UUFGOUIsWUFHZ0Isa0JBQU0sUUFBUSxDQUFDLFNBQ2xCO1FBSk8sY0FBUSxHQUFSLFFBQVEsQ0FBVztRQUNuQixtQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQXdCeEMsZ0JBQVUsR0FBUSxFQUFFLENBQUM7UUFlN0IsY0FBUSxHQUFHLEtBQUssQ0FBQztRQWNqQixlQUFTLEdBQUcsS0FBSyxDQUFDO1FBR2xCLGdCQUFVLEdBQUcsS0FBSyxDQUFDO1FBR25CLGlCQUFXLEdBQUcsRUFBRSxDQUFDO1FBU2pCLGdCQUFVLEdBQXlCLElBQUksWUFBWSxFQUFVLENBQUM7UUFFdEQsc0JBQWdCLEdBQXFCLElBQUksQ0FBQztRQUMxQyx1QkFBaUIsR0FBZSxJQUFJLENBQUM7O0lBcEVqQyxDQUFDO0lBRWIsc0JBQUksc0NBQUs7Ozs7UUFBVDtZQUNJLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUMzQixDQUFDOzs7OztRQUVELFVBQVUsQ0FBTTs7Z0JBQ1IsSUFBSSxHQUFHLEtBQUs7WUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxLQUFLLFNBQVMsRUFBRTtnQkFDL0IsSUFBSSxHQUFHLElBQUksQ0FBQzthQUNmO1lBQ0QsSUFBSSxDQUFDLEtBQUssSUFBSSxDQUFDLFVBQVUsRUFBRTtnQkFDdkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUM7Z0JBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDekIsSUFBSSxDQUFDLElBQUksRUFBRTtvQkFDUCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztpQkFDM0I7YUFFSjtRQUNMLENBQUM7OztPQWZBO0lBa0NELHNCQUNJLHlDQUFROzs7O1FBUVo7WUFDSSxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDMUIsQ0FBQzs7Ozs7UUFYRCxVQUNjLEdBQVc7WUFDckIsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFDckIsSUFBSSxJQUFJLENBQUMsY0FBYyxJQUFJLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFHO2dCQUN0RCwrRUFBK0U7Z0JBQy9FLElBQUksR0FBRztvQkFBRyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLEVBQUUsQ0FBQyxDQUFDOztvQkFDMUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3RFO1FBQ0wsQ0FBQzs7O09BQUE7Ozs7SUF3QkQsNkNBQWU7OztJQUFmO1FBQUEsaUJBeUNDO1FBeENHLGlCQUFNLGVBQWUsV0FBRSxDQUFDO1FBQ3hCLHFFQUFxRTtRQUNyRSxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFFOUUsZ0JBQWdCO1FBQ2hCLElBQUksSUFBSSxDQUFDLFFBQVEsS0FBSyxJQUFJLEVBQUU7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7U0FDaEM7O1lBRUssaUJBQWlCLEdBQUcsU0FBUyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDOztZQUN0RCxnQkFBZ0IsR0FBRyxFQUFFO1FBQ3pCLElBQUksaUJBQWlCLEtBQUssSUFBSSxFQUFFO1lBQzVCLGdCQUFnQixHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUM7U0FDaEM7OztZQUdLLE9BQU8sR0FBRztZQUNaLFFBQVEsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRO1lBQ3hCLFNBQVMsRUFBRSxPQUFPOztZQUNsQixVQUFVLEVBQUUsT0FBTzs7WUFDbkIsVUFBVSxFQUFFLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87WUFDckIsVUFBVSxFQUFFLEtBQUs7WUFDakIsSUFBSSxFQUFFLElBQUk7O1lBQ1YsTUFBTSxFQUFFLGdCQUFnQjtTQUMzQjtRQUVELElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGFBQWEsRUFBRSxPQUFPLENBQUMsQ0FBQztRQUNuRixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRztZQUNqQixJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPOzs7O1lBQUUsVUFBQSxDQUFDO2dCQUNwRCxJQUFJLENBQUMsS0FBSSxDQUFDLFFBQVEsRUFBRztvQkFDakIsS0FBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztpQkFDaEM7WUFDTCxDQUFDLEVBQUMsQ0FBQztTQUNOO1FBRUQscURBQXFEO1FBQ3JELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUNuQyxDQUFDOzs7O0lBRUQseUNBQVc7OztJQUFYO1FBQ0ksaUJBQU0sV0FBVyxXQUFFLENBQUM7UUFDcEIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUNsQyxDQUFDOzs7OztJQUVELHdDQUFVOzs7O0lBQVYsVUFBVyxLQUFVO1FBQ2pCLElBQUksS0FBSyxLQUFLLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsRCxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztZQUN4QixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDTCxDQUFDOzs7OztJQUVELDhDQUFnQjs7OztJQUFoQixVQUFpQixFQUFPO1FBQ3BCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxFQUFFLENBQUM7SUFDL0IsQ0FBQzs7Ozs7SUFFRCwrQ0FBaUI7Ozs7SUFBakIsVUFBa0IsRUFBTztRQUNyQixJQUFJLENBQUMsaUJBQWlCLEdBQUcsRUFBRSxDQUFDO0lBQ2hDLENBQUM7Ozs7O0lBRUQsb0NBQU07Ozs7SUFBTixVQUFPLEtBQUs7UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzlDLENBQUM7O2dCQXBKSixTQUFTLFNBQUM7b0JBQ1AsUUFBUSxFQUFFLGlCQUFpQjtvQkFDM0IsZ2pCQUEwQztvQkFFMUMsU0FBUyxFQUFFLENBQUUsbUNBQW1DLENBQUU7O2lCQUNyRDs7OztnQkF0QjJCLFNBQVM7Z0JBSTdCLGFBQWE7Z0JBSjZCLFFBQVE7OztvQ0FvRHJELFNBQVMsU0FBQyxtQkFBbUIsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7K0JBR2hELFNBQVMsU0FBQyxVQUFVLEVBQUUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFO3dCQU12QyxTQUFTLFNBQUMsT0FBTyxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRTsyQkFHcEMsS0FBSzsyQkFHTCxLQUFLOzZCQWNMLEtBQUs7OEJBR0wsS0FBSzswQkFHTCxLQUFLOzBCQUdMLEtBQUs7NkJBR0wsTUFBTTs7SUF5RVgsMEJBQUM7Q0FBQSxBQXJKRCxDQU15QyxZQUFZLEdBK0lwRDtTQS9JWSxtQkFBbUI7Ozs7OztJQTJCNUIseUNBQTZCOztJQUU3QixnREFDOEI7O0lBRTlCLDJDQUN5Qjs7Ozs7SUFHekIsNkNBQWtDOztJQUVsQyxvQ0FDZTs7SUFFZix1Q0FDaUI7O0lBY2pCLHdDQUFrQjs7SUFFbEIseUNBQ21COztJQUVuQiwwQ0FDaUI7O0lBRWpCLHNDQUNROztJQUVSLHNDQUNROztJQUVSLHlDQUM4RDs7Ozs7SUFFOUQsK0NBQWtEOzs7OztJQUNsRCxnREFBNkM7Ozs7O0lBeEVqQyx1Q0FBMkI7Ozs7O0lBQzNCLDRDQUFvQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE9kZUNvbXBvbmVudCB9IGZyb20gJ25neC1vZGUtY29yZSc7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgZm9yd2FyZFJlZixcbiAgSW5wdXQsIE9uRGVzdHJveSwgT3V0cHV0LCBSZW5kZXJlcjIsIFZpZXdDaGlsZCwgSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SLCBOZ01vZGVsIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQge0xhYmVsc1NlcnZpY2V9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2xhYmVscy5zZXJ2aWNlJztcbmltcG9ydCBGbGF0cGlja3IgZnJvbSAnZmxhdHBpY2tyJztcbmltcG9ydCBGcmVuY2ggZnJvbSAnZmxhdHBpY2tyL2Rpc3QvbDEwbi9mci5qcyc7XG5cbi8vIGFjY2VzcyBuZ21vZGVsXG5jb25zdCBOT09QID0gKCkgPT4ge1xufTtcbmV4cG9ydCBjb25zdCBDVVNUT01fSU5QVVRfQ09OVFJPTF9WQUxVRV9BQ0NFU1NPUjogYW55ID0ge1xuICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IERhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgIG11bHRpOiB0cnVlXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ29kZS1kYXRlLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RhdGVwaWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2RhdGVwaWNrZXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBwcm92aWRlcnM6IFsgQ1VTVE9NX0lOUFVUX0NPTlRST0xfVkFMVUVfQUNDRVNTT1IgXVxufSlcbmV4cG9ydCBjbGFzcyBEYXRlcGlja2VyQ29tcG9uZW50IGV4dGVuZHMgT2RlQ29tcG9uZW50IGltcGxlbWVudHMgT25EZXN0cm95LCBBZnRlclZpZXdJbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBsYWJlbHNTZXJ2aWNlOiBMYWJlbHNTZXJ2aWNlLFxuICAgICAgICAgICAgICAgIGluamVjdG9yOiBJbmplY3Rvcikge1xuICAgICAgICAgICAgICAgICAgICBzdXBlcihpbmplY3Rvcik7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgZ2V0IHZhbHVlKCk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gICAgfVxuXG4gICAgc2V0IHZhbHVlKHY6IGFueSkge1xuICAgICAgICBsZXQgaW5pdCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5pbm5lclZhbHVlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgIGluaXQgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XG4gICAgICAgICAgICBpZiAoIWluaXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmNoYW5nZURhdGUuZW1pdCh2KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpbm5lclZhbHVlOiBhbnkgPSAnJztcblxuICAgIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXJFbGVtZW50JywgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgZGF0ZVBpY2tlckVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiBmYWxzZSB9KVxuICAgIGlucHV0RWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8vIGluc3RhbmNlIGZsYXRwaWNrclxuICAgIHByaXZhdGUgZGF0ZVBpY2tlckluc3Q6IEZsYXRwaWNrcjtcblxuICAgIEBWaWV3Q2hpbGQoTmdNb2RlbCwgeyBzdGF0aWM6IGZhbHNlIH0pXG4gICAgbW9kZWw6IE5nTW9kZWw7XG5cbiAgICBASW5wdXQoKVxuICAgIGRpc2FibGVkID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHNldCByZWFkb25seSggdmFsOmJvb2xlYW4gKSB7XG4gICAgICAgIHRoaXMuX3JlYWRvbmx5ID0gdmFsO1xuICAgICAgICBpZiggdGhpcy5kYXRlUGlja2VySW5zdCAmJiB0aGlzLmRhdGVQaWNrZXJJbnN0LmFsdElucHV0ICkge1xuICAgICAgICAgICAgLy8gQXBwbHkgdGhlIHJlYWRvbmx5IGF0dHJpYnV0ZSBhZGRpdGlvbi9yZW1vdmFsIHRvIHRoZSB2aXNpYmxlIGlucHV0ICh3cmFwcGVkKVxuICAgICAgICAgICAgaWYoIHZhbCApIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQuc2V0QXR0cmlidXRlKCdyZWFkb25seScsIFwiXCIpO1xuICAgICAgICAgICAgZWxzZSAgICAgIHRoaXMuZGF0ZVBpY2tlckluc3QuYWx0SW5wdXQucmVtb3ZlQXR0cmlidXRlKCdyZWFkb25seScpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCByZWFkb25seSgpOmJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fcmVhZG9ubHk7XG4gICAgfVxuICAgIF9yZWFkb25seSA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBlbmFibGVUaW1lID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHBsYWNlaG9sZGVyID0gJyc7XG5cbiAgICBASW5wdXQoKVxuICAgIG1pbkRhdGU7XG5cbiAgICBASW5wdXQoKVxuICAgIG1heERhdGU7XG5cbiAgICBAT3V0cHV0KClcbiAgICBjaGFuZ2VEYXRlOiBFdmVudEVtaXR0ZXI8c3RyaW5nPiA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gTk9PUDtcbiAgICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gTk9PUDtcblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIC8vIGFkZCBhdHRyIGRhdGEtaW5wdXQsIG1hbmRhdG9yeSBmb3IgdGhlIHBpY2tlciB0byB3b3JrIGluIHdyYXAgbW9kZVxuICAgICAgICB0aGlzLnJlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCAnZGF0YS1pbnB1dCcsICcnKTtcblxuICAgICAgICAvLyBkaXNhYmxlZCBjYXNlXG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkID09PSB0cnVlKSB7XG4gICAgICAgICAgICB0aGlzLm1vZGVsLmNvbnRyb2wuZGlzYWJsZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbmF2aWdhdG9yTGFuZ3VhZ2UgPSBuYXZpZ2F0b3IubGFuZ3VhZ2Uuc3BsaXQoJy0nKVswXTtcbiAgICAgICAgbGV0IGRhdGVQaWNrZXJMb2NhbGUgPSB7fTtcbiAgICAgICAgaWYgKG5hdmlnYXRvckxhbmd1YWdlID09PSAnZnInKSB7XG4gICAgICAgICAgICBkYXRlUGlja2VyTG9jYWxlID0gRnJlbmNoLmZyO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gb3B0aW9ucyBmb3IgdGhlIGZsYXRwaWNrciBpbnN0YW5jZVxuICAgICAgICBjb25zdCBvcHRpb25zID0ge1xuICAgICAgICAgICAgYWx0SW5wdXQ6ICF0aGlzLmRpc2FibGVkLFxuICAgICAgICAgICAgYWx0Rm9ybWF0OiAnZC9tL1knLCAvLyBkYXRlIGZvcm1hdCBkaXNwbGF5ZWQgdG8gdXNlclxuICAgICAgICAgICAgZGF0ZUZvcm1hdDogJ1ktbS1kJywgLy8gZGF0ZSBmb3JtYXQgc2VudCB0byBzZXJ2ZXJcbiAgICAgICAgICAgIGFsbG93SW5wdXQ6IGZhbHNlLFxuICAgICAgICAgICAgZW5hYmxlVGltZTogdGhpcy5lbmFibGVUaW1lLFxuICAgICAgICAgICAgbWluRGF0ZTogdGhpcy5taW5EYXRlLFxuICAgICAgICAgICAgbWF4RGF0ZTogdGhpcy5tYXhEYXRlLFxuICAgICAgICAgICAgY2xpY2tPcGVuczogZmFsc2UsXG4gICAgICAgICAgICB3cmFwOiB0cnVlLCAvLyB0byBhZGQgaW5wdXQgZGVjb3JhdGlvbiAoY2FsZW5kYXIgaWNvbiBhbmQgZGVsZXRlIGljb24pXG4gICAgICAgICAgICBsb2NhbGU6IGRhdGVQaWNrZXJMb2NhbGVcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0ID0gbmV3IEZsYXRwaWNrcih0aGlzLmRhdGVQaWNrZXJFbGVtZW50Lm5hdGl2ZUVsZW1lbnQsIG9wdGlvbnMpO1xuICAgICAgICBpZiggIXRoaXMuZGlzYWJsZWQgKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LmFsdElucHV0LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7XG4gICAgICAgICAgICAgICAgaWYoICF0aGlzLnJlYWRvbmx5ICkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LnRvZ2dsZSgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRm9yY2UgdXBkYXRpbmcgdGhlIGRhdGUgaW5wdXQgcmVhZG9ubHkgYXR0cmlidXRlIDpcbiAgICAgICAgdGhpcy5yZWFkb25seSA9IHRoaXMuX3JlYWRvbmx5O1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LmRlc3Ryb3koKTtcbiAgICB9XG5cbiAgICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUgJiYgdGhpcy5kYXRlUGlja2VySW5zdCkge1xuICAgICAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJJbnN0LnNldERhdGUodmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcbiAgICB9XG5cbiAgICBsYWJlbHMobGFiZWwpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFiZWxzU2VydmljZS5nZXRMYWJlbChsYWJlbCk7XG4gICAgfVxufVxuIl19
@@ -353,6 +353,7 @@ class DatepickerComponent extends OdeComponent {
353
353
  this.labelsService = labelsService;
354
354
  this.innerValue = '';
355
355
  this.disabled = false;
356
+ this._readonly = false;
356
357
  this.enableTime = false;
357
358
  this.placeholder = '';
358
359
  this.changeDate = new EventEmitter();
@@ -383,6 +384,26 @@ class DatepickerComponent extends OdeComponent {
383
384
  }
384
385
  }
385
386
  }
387
+ /**
388
+ * @param {?} val
389
+ * @return {?}
390
+ */
391
+ set readonly(val) {
392
+ this._readonly = val;
393
+ if (this.datePickerInst && this.datePickerInst.altInput) {
394
+ // Apply the readonly attribute addition/removal to the visible input (wrapped)
395
+ if (val)
396
+ this.datePickerInst.altInput.setAttribute('readonly', "");
397
+ else
398
+ this.datePickerInst.altInput.removeAttribute('readonly');
399
+ }
400
+ }
401
+ /**
402
+ * @return {?}
403
+ */
404
+ get readonly() {
405
+ return this._readonly;
406
+ }
386
407
  /**
387
408
  * @return {?}
388
409
  */
@@ -413,12 +434,25 @@ class DatepickerComponent extends OdeComponent {
413
434
  enableTime: this.enableTime,
414
435
  minDate: this.minDate,
415
436
  maxDate: this.maxDate,
416
- clickOpens: !this.disabled,
437
+ clickOpens: false,
417
438
  wrap: true,
418
439
  // to add input decoration (calendar icon and delete icon)
419
440
  locale: datePickerLocale
420
441
  };
421
442
  this.datePickerInst = new Flatpickr(this.datePickerElement.nativeElement, options);
443
+ if (!this.disabled) {
444
+ this.datePickerInst.altInput.addEventListener('click', (/**
445
+ * @param {?} e
446
+ * @return {?}
447
+ */
448
+ e => {
449
+ if (!this.readonly) {
450
+ this.datePickerInst.toggle();
451
+ }
452
+ }));
453
+ }
454
+ // Force updating the date input readonly attribute :
455
+ this.readonly = this._readonly;
422
456
  }
423
457
  /**
424
458
  * @return {?}
@@ -463,8 +497,9 @@ class DatepickerComponent extends OdeComponent {
463
497
  DatepickerComponent.decorators = [
464
498
  { type: Component, args: [{
465
499
  selector: 'ode-date-picker',
466
- template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
467
- providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR]
500
+ template: "<div class=\"flatpickr\" #datePickerElement>\n <input type=\"date\" [(ngModel)]=\"value\" [disabled]=\"disabled\" [ngClass]=\"{ 'cursor-default': disabled }\" placeholder=\"{{ placeholder }}\" #inputRef>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-toggle [title]=\"labels('datepicker.open')\"><i class=\"fa fa-calendar open\" aria-hidden=\"true\"></i></a>\n <a *ngIf=\"!disabled\" [class.hidden]=\"readonly\" data-clear [title]=\"labels('datepicker.delete')\"><i class=\"fa fa-times delete\" aria-hidden=\"true\"></i></a>\n</div>\n",
501
+ providers: [CUSTOM_INPUT_CONTROL_VALUE_ACCESSOR],
502
+ styles: [".hidden{visibility:hidden}"]
468
503
  }] }
469
504
  ];
470
505
  /** @nocollapse */
@@ -478,6 +513,7 @@ DatepickerComponent.propDecorators = {
478
513
  inputElement: [{ type: ViewChild, args: ['inputRef', { static: false },] }],
479
514
  model: [{ type: ViewChild, args: [NgModel, { static: false },] }],
480
515
  disabled: [{ type: Input }],
516
+ readonly: [{ type: Input }],
481
517
  enableTime: [{ type: Input }],
482
518
  placeholder: [{ type: Input }],
483
519
  minDate: [{ type: Input }],
@@ -504,6 +540,8 @@ if (false) {
504
540
  /** @type {?} */
505
541
  DatepickerComponent.prototype.disabled;
506
542
  /** @type {?} */
543
+ DatepickerComponent.prototype._readonly;
544
+ /** @type {?} */
507
545
  DatepickerComponent.prototype.enableTime;
508
546
  /** @type {?} */
509
547
  DatepickerComponent.prototype.placeholder;