@datarailsshared/datarailsshared 1.3.48 → 1.3.50

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.
@@ -80,6 +80,7 @@ export class DrDatePickerComponent {
80
80
  if (this.takeEndOfPeriod) {
81
81
  normalizedRef.endOf(timeframe);
82
82
  }
83
+ normalizedRef.set('hour', 12);
83
84
  }
84
85
  get value() {
85
86
  return this.innerValue;
@@ -87,6 +88,7 @@ export class DrDatePickerComponent {
87
88
  set value(v) {
88
89
  if (v !== this.innerValue) {
89
90
  this.innerValue = v;
91
+ this.onChangeCallback(v);
90
92
  }
91
93
  this.cdr.markForCheck();
92
94
  }
@@ -121,7 +123,7 @@ export class DrDatePickerComponent {
121
123
  return value;
122
124
  }
123
125
  chosenMonthHandler(normalizedMonth, datepicker) {
124
- if (this.datePickerService.timeframe == 'month') {
126
+ if (this.datePickerService.timeframe === 'month') {
125
127
  this.tryToNormalaizeTimeframe(normalizedMonth, 'month');
126
128
  this.writeValue(normalizedMonth);
127
129
  this.onChangeCallback(normalizedMonth);
@@ -129,16 +131,12 @@ export class DrDatePickerComponent {
129
131
  }
130
132
  }
131
133
  chosenYearHandler(normalizedYear, datepicker) {
132
- if (this.datePickerService.timeframe == 'year') {
134
+ if (this.datePickerService.timeframe === 'year') {
133
135
  this.tryToNormalaizeTimeframe(normalizedYear, 'year');
134
136
  this.writeValue(normalizedYear);
135
137
  this.onChangeCallback(normalizedYear);
136
138
  datepicker.close();
137
139
  }
138
- else if (['quarter', 'day'].includes(this.datePickerService.timeframe)) {
139
- this.writeValue(normalizedYear);
140
- datepicker.close();
141
- }
142
140
  }
143
141
  pagingClicked(forward) {
144
142
  this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);
@@ -182,4 +180,4 @@ DrDatePickerComponent.propDecorators = {
182
180
  dp: [{ type: ViewChild, args: ['datePicker',] }]
183
181
  };
184
182
  export { ɵ0 };
185
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUM3RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFrRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDOztBQVl0QixNQUFNLE9BQU8scUJBQXFCO0lBc0RoQyxZQUNVLEdBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLGlCQUFzQztRQUZ0QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQXhEeEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFT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LFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xILElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNsRCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0IsRUFBRSxNQUFjLEVBQUUsT0FBZ0I7UUFDbkUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLE9BQU8sQ0FBQSxDQUFDLENBQUMsTUFBTSxDQUFBLENBQUMsQ0FBQyxDQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQzNGLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN2QixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzdCLENBQUM7OztZQTNLRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGdCQUFnQjtnQkFDMUIsd2xFQUE4QztnQkFFOUMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07Z0JBQy9DLFNBQVMsRUFBRTtvQkFDVCxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxXQUFXLEVBQUUscUJBQXFCLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTtpQkFDaEY7O2FBRUY7OztZQXpCQyxpQkFBaUI7WUFPVixXQUFXO1lBQ1gsbUJBQW1COzs7c0JBcUJ6QixLQUFLOzZCQUVMLE1BQU07cUJBQ04sS0FBSztpQ0FTTCxLQUFLOzhCQUNMLEtBQUs7MEJBQ0wsS0FBSztrQkFDTCxLQUFLO2tCQUNMLEtBQUs7aUJBQ0wsU0FBUyxTQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBJbnB1dCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCwgTU9OVEhfWUVBUl9GT1JNQVQsIFFVQVJURVJfRk9STUFULCBZRUFSX0ZPUk1BVCB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRlUGlja2VyJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0IHsgRHJEYXRlUGlja2VyQ3VzdG9tSGVhZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgRHJEYXRlUGlja2VyU2VydmljZSB9IGZyb20gJy4vZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XHJcblxyXG5jb25zdCBub29wID0gKCkgPT4ge307XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2RyLWRhdGUtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZHItZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRHJEYXRlUGlja2VyQ29tcG9uZW50LCBtdWx0aTogdHJ1ZSB9XHJcbiAgXSxcclxuXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJDb21wb25lbnQgaW1wbGVtZW50cyBDb250cm9sVmFsdWVBY2Nlc3NvciwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPiAoKTtcclxuICByZWFkb25seSA9IHRydWU7XHJcbiAgQElucHV0KCkgX2Zvcm1hdCA9IE1BVF9ERUZBVUxUX0RBVEVfRk9STUFUO1xyXG4gIGN1c3RvbUhlYWRlciA9IERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudDtcclxuICBAT3V0cHV0KCkgb25DaGFuZ2VGb3JtYXQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4gKCk7XHJcbiAgQElucHV0KCkgc2V0IGZvcm1hdCh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIHZhbHVlID0gdGhpcy5ub3JtYWxpemVWYWx1ZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdC5uZXh0KHZhbHVlKTtcclxuICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5zZXRUaW1lZnJhbWUodmFsdWUpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgdGltZWZyYW1lU2VsZWN0aW9uOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdGFrZUVuZE9mUGVyaW9kOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QnO1xyXG4gIEBJbnB1dCgpIG1pbjogRGF0ZSA9IG51bGw7XHJcbiAgQElucHV0KCkgbWF4OiBEYXRlID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgcHVibGljIGRwO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UgPSB0aGlzLmRwO1xyXG4gICAgaWYgKHRoaXMuX2Zvcm1hdCA9PT0gTUFUX0RFRkFVTFRfREFURV9GT1JNQVQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgIGNvbnN0IHBvcHVwSW5zdGFuY2UgPSB0aGlzLmRwLl9wb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgIGNvbnN0IGNhbGVuZGVySW5zdGFuY2UgPSBwb3B1cEluc3RhbmNlLl9jYWxlbmRhci5fY2FsZW5kYXJIZWFkZXJQb3J0YWwuX2F0dGFjaGVkSG9zdC5fYXR0YWNoZWRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICBjYWxlbmRlckluc3RhbmNlLmN1cnJlbnRQZXJpb2RDbGlja2VkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgdGhpcy5jYWxlbmRhclZpZXdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0gJiYgdGhpcy5jYWxlbmRhclZpZXdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0odGhpcy5jYWxlbmRhcik7XHJcbiAgICAgICAgfTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgfVxyXG5cclxuICBjYWxlbmRhclZpZXdTZXR1cCA9IHtcclxuICAgICd5ZWFyJzogKGNhbGVuZGFyKSA9PiBjYWxlbmRhci5jdXJyZW50VmlldyA9ICdtdWx0aS15ZWFyJyxcclxuICAgICdtb250aCc6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAneWVhcicsXHJcbiAgICAncXVhcnRlcic6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbm9uZScsXHJcbiAgICAnZGF5JzogKGNhbGVuZGFyKSA9PiBjYWxlbmRhci5jdXJyZW50VmlldyA9ICdtb250aCdcclxuICB9XHJcblxyXG4gIHBhZ2luZ1NldHVwID0ge1xyXG4gICAgJ3llYXInOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJZZWFycycsIDEsIGZvcndhcmQpLFxyXG4gICAgJ3F1YXJ0ZXInOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJNb250aHMnLCAzLCBmb3J3YXJkKSxcclxuICAgICdtb250aCc6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhck1vbnRocycsIDEsIGZvcndhcmQpLFxyXG4gICAgJ2RheSc6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhckRheXMnLCAxLCBmb3J3YXJkKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBpbm5lclZhbHVlOiBhbnkgPSBudWxsO1xyXG4gIHByaXZhdGUgb25Ub3VjaGVkQ2FsbGJhY2s6ICgpID0+IHZvaWQgPSBub29wO1xyXG4gIHByaXZhdGUgb25DaGFuZ2VDYWxsYmFjazogKF86IGFueSkgPT4gdm9pZCA9IG5vb3A7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPGFueT4sXHJcbiAgICBwcml2YXRlIGRhdGVQaWNrZXJTZXJ2aWNlOiBEckRhdGVQaWNrZXJTZXJ2aWNlXHJcbiAgKSB7IFxyXG4gICAgZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0XHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xyXG4gICAgICAgICAgdGhpcy5vbkNoYW5nZUZvcm1hdC5lbWl0KHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpKTtcclxuICAgICAgICAgIGNkci5tYXJrRm9yQ2hlY2soKVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgIGRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWF0ZXJcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLnRyeVRvTm9ybWFsYWl6ZVRpbWVmcmFtZSh2YWx1ZSwgJ3F1YXJ0ZXInKVxyXG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xyXG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodmFsdWUpO1xyXG4gICAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKG5vcm1hbGl6ZWRSZWY6IE1vbWVudCwgdGltZWZyYW1lOiBtb21lbnQudW5pdE9mVGltZS5TdGFydE9mKSB7XHJcbiAgICBpZiAodGhpcy50YWtlRW5kT2ZQZXJpb2QpIHtcclxuICAgICAgICBub3JtYWxpemVkUmVmLmVuZE9mKHRpbWVmcmFtZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBudW1iZXIpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2O1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPbkNoYW5nZShmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZENhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XHJcbiAgICBpZiAodmFsdWUgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xyXG4gICAgICBpZiAodmFsdWUgJiYgdHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xyXG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IG1vbWVudC51bml4KHZhbHVlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2YWx1ZTtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLnRyeVRvTm9ybWFsYWl6ZVRpbWVmcmFtZSh0aGlzLmlubmVyVmFsdWUsIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lKVxyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldCBxdWFydGVyRGlzcGxheSgpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldFF1YXJ0ZXJEaXNwbGF5KHRoaXMudmFsdWUsIHRoaXMuX2Zvcm1hdCk7XHJcbiAgfVxyXG5cclxuICBub3JtYWxpemVWYWx1ZSh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlLmluY2x1ZGVzKCdkJykpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9kL2csICdEJyk7XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlLmluY2x1ZGVzKCdEJykpIHtcclxuICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9EL2csICdkJyk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdmFsdWU7XHJcbiAgfVxyXG5cclxuICBjaG9zZW5Nb250aEhhbmRsZXIobm9ybWFsaXplZE1vbnRoOiBNb21lbnQsIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lID09ICdtb250aCcpIHtcclxuICAgICAgICB0aGlzLnRyeVRvTm9ybWFsYWl6ZVRpbWVmcmFtZShub3JtYWxpemVkTW9udGgsICdtb250aCcpO1xyXG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkTW9udGgpO1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhub3JtYWxpemVkTW9udGgpO1xyXG4gICAgICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNob3NlblllYXJIYW5kbGVyKG5vcm1hbGl6ZWRZZWFyOiBNb21lbnQsIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8YW55Pikge1xyXG4gICAgaWYgKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lID09ICd5ZWFyJykge1xyXG4gICAgICAgIHRoaXMudHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKG5vcm1hbGl6ZWRZZWFyLCAneWVhcicpO1xyXG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkWWVhcik7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5vcm1hbGl6ZWRZZWFyKTtcclxuICAgICAgICBkYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9IGVsc2UgaWYgKFsncXVhcnRlcicsICdkYXknXS5pbmNsdWRlcyh0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZSkpIHtcclxuICAgICAgICB0aGlzLndyaXRlVmFsdWUobm9ybWFsaXplZFllYXIpO1xyXG4gICAgICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgcGFnaW5nQ2xpY2tlZChmb3J3YXJkKSB7XHJcbiAgICB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXSAmJiB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXShmb3J3YXJkKTtcclxuICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuY2FsZW5kYXJJbnN0YW5jZS5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgcGFnaW5nRGF0ZUNoYW5nZShhY3Rpb25DYWxsOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBmb3J3YXJkOiBib29sZWFuKSB7XHJcbiAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuX2RhdGVBZGFwdGVyW2FjdGlvbkNhbGxdKHRoaXMuaW5uZXJWYWx1ZSwgZm9yd2FyZD8gYW1vdW50OiAtIGFtb3VudCk7XHJcbiAgICB0aGlzLndyaXRlVmFsdWUobmV3VmFsdWUpO1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5ld1ZhbHVlKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcclxuICAgIHRoaXMuX2Rlc3Ryb3llZC5jb21wbGV0ZSgpO1xyXG4gIH1cclxufVxyXG4iXX0=
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUM3RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFrRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDOztBQVl0QixNQUFNLE9BQU8scUJBQXFCO0lBc0RoQyxZQUNVLEdBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLGlCQUFzQztRQUZ0QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQXhEeEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFT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S0FBSyxFQUFFLENBQUM7SUFDbEQsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQWtCLEVBQUUsTUFBYyxFQUFFLE9BQWdCO1FBQ25FLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUEsQ0FBQyxDQUFDLE1BQU0sQ0FBQSxDQUFDLENBQUMsQ0FBRSxNQUFNLENBQUMsQ0FBQztRQUMzRixJQUFJLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNsQyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM3QixDQUFDOzs7WUExS0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxnQkFBZ0I7Z0JBQzFCLHdsRUFBOEM7Z0JBRTlDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxTQUFTLEVBQUU7b0JBQ1QsRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLHFCQUFxQixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7aUJBQ2hGOzthQUVGOzs7WUF6QkMsaUJBQWlCO1lBT1YsV0FBVztZQUNYLG1CQUFtQjs7O3NCQXFCekIsS0FBSzs2QkFFTCxNQUFNO3FCQUNOLEtBQUs7aUNBU0wsS0FBSzs4QkFDTCxLQUFLOzBCQUNMLEtBQUs7a0JBQ0wsS0FBSztrQkFDTCxLQUFLO2lCQUNMLFNBQVMsU0FBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPdXRwdXQsIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTUFUX0RFRkFVTFRfREFURV9GT1JNQVQsIE1PTlRIX1lFQVJfRk9STUFULCBRVUFSVEVSX0ZPUk1BVCwgWUVBUl9GT1JNQVQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XHJcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2RyLWRhdGUtcGlja2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xyXG5cclxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kci1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IERyRGF0ZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfVxyXG4gIF0sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4gKCk7XHJcbiAgcmVhZG9ubHkgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIF9mb3JtYXQgPSBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVDtcclxuICBjdXN0b21IZWFkZXIgPSBEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlRm9ybWF0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+ICgpO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtYXQodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB2YWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xyXG4gICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXQubmV4dCh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc2V0VGltZWZyYW1lKHZhbHVlKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHRpbWVmcmFtZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRha2VFbmRPZlBlcmlvZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0JztcclxuICBASW5wdXQoKSBtaW46IERhdGUgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG1heDogRGF0ZSA9IG51bGw7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIHB1YmxpYyBkcDtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5jYWxlbmRhckluc3RhbmNlID0gdGhpcy5kcDtcclxuICAgIGlmICh0aGlzLl9mb3JtYXQgPT09IE1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICBjb25zdCBwb3B1cEluc3RhbmNlID0gdGhpcy5kcC5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICBjb25zdCBjYWxlbmRlckluc3RhbmNlID0gcG9wdXBJbnN0YW5jZS5fY2FsZW5kYXIuX2NhbGVuZGFySGVhZGVyUG9ydGFsLl9hdHRhY2hlZEhvc3QuX2F0dGFjaGVkUmVmLmluc3RhbmNlO1xyXG4gICAgICAgY2FsZW5kZXJJbnN0YW5jZS5jdXJyZW50UGVyaW9kQ2xpY2tlZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJWaWV3U2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdICYmIHRoaXMuY2FsZW5kYXJWaWV3U2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdKHRoaXMuY2FsZW5kYXIpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgY2FsZW5kYXJWaWV3U2V0dXAgPSB7XHJcbiAgICAneWVhcic6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbXVsdGkteWVhcicsXHJcbiAgICAnbW9udGgnOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ3llYXInLFxyXG4gICAgJ3F1YXJ0ZXInOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ25vbmUnLFxyXG4gICAgJ2RheSc6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbW9udGgnXHJcbiAgfVxyXG5cclxuICBwYWdpbmdTZXR1cCA9IHtcclxuICAgICd5ZWFyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcclxuICAgICdxdWFydGVyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyTW9udGhzJywgMywgZm9yd2FyZCksXHJcbiAgICAnbW9udGgnOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJNb250aHMnLCAxLCBmb3J3YXJkKSxcclxuICAgICdkYXknOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJEYXlzJywgMSwgZm9yd2FyZClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gbnVsbDtcclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcclxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VyU2VydmljZTogRHJEYXRlUGlja2VyU2VydmljZVxyXG4gICkgeyBcclxuICAgIGRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2VGb3JtYXQuZW1pdCh0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKSk7XHJcbiAgICAgICAgICBjZHIubWFya0ZvckNoZWNrKClcclxuICAgICAgICB9KTtcclxuXHJcbiAgICBkYXRlUGlja2VyU2VydmljZS51cGRhdGVkUXVhdGVyXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cnlUb05vcm1hbGFpemVUaW1lZnJhbWUodmFsdWUsICdxdWFydGVyJylcclxuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyeVRvTm9ybWFsYWl6ZVRpbWVmcmFtZShub3JtYWxpemVkUmVmOiBNb21lbnQsIHRpbWVmcmFtZTogbW9tZW50LnVuaXRPZlRpbWUuU3RhcnRPZikge1xyXG4gICAgaWYgKHRoaXMudGFrZUVuZE9mUGVyaW9kKSB7XHJcbiAgICAgICAgbm9ybWFsaXplZFJlZi5lbmRPZih0aW1lZnJhbWUpO1xyXG4gICAgfVxyXG4gICAgbm9ybWFsaXplZFJlZi5zZXQoJ2hvdXInLCAxMik7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHNldCB2YWx1ZSh2OiBudW1iZXIpIHtcclxuICAgIGlmICh2ICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSB2O1xyXG4gICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSBtb21lbnQudW5peCh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy50cnlUb05vcm1hbGFpemVUaW1lZnJhbWUodGhpcy5pbm5lclZhbHVlLCB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZSlcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgcXVhcnRlckRpc3BsYXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlja2VyU2VydmljZS5nZXRRdWFydGVyRGlzcGxheSh0aGlzLnZhbHVlLCB0aGlzLl9mb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgbm9ybWFsaXplVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnZCcpKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvZC9nLCAnRCcpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZS5pbmNsdWRlcygnRCcpKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvRC9nLCAnZCcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY2hvc2VuTW9udGhIYW5kbGVyKG5vcm1hbGl6ZWRNb250aDogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPGFueT4pIHtcclxuICAgIGlmICh0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICAgIHRoaXMudHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKG5vcm1hbGl6ZWRNb250aCwgJ21vbnRoJyk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5vcm1hbGl6ZWRNb250aCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5vcm1hbGl6ZWRNb250aCk7XHJcbiAgICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hvc2VuWWVhckhhbmRsZXIobm9ybWFsaXplZFllYXI6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUgPT09ICd5ZWFyJykge1xyXG4gICAgICAgIHRoaXMudHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKG5vcm1hbGl6ZWRZZWFyLCAneWVhcicpO1xyXG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkWWVhcik7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5vcm1hbGl6ZWRZZWFyKTtcclxuICAgICAgICBkYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHBhZ2luZ0NsaWNrZWQoZm9yd2FyZCkge1xyXG4gICAgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0gJiYgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0oZm9yd2FyZCk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHBhZ2luZ0RhdGVDaGFuZ2UoYWN0aW9uQ2FsbDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgZm9yd2FyZDogYm9vbGVhbikge1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLl9kYXRlQWRhcHRlclthY3Rpb25DYWxsXSh0aGlzLmlubmVyVmFsdWUsIGZvcndhcmQ/IGFtb3VudDogLSBhbW91bnQpO1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
@@ -53,22 +53,22 @@ export class DrDatePickerCustomHeaderComponent {
53
53
  this.timeframeSelection = false;
54
54
  this.periodMonthLabel = '';
55
55
  this.periodYearLabel = '';
56
- _calendar.stateChanges
57
- .pipe(takeUntil(this._destroyed))
58
- .subscribe(() => cdr.markForCheck());
56
+ _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
59
57
  this.datePickerService.format
60
58
  .pipe(take(1))
61
59
  .subscribe(value => {
62
60
  this.selectedTimeframe = this.timeframeOptions.filter(option => option.format == value)[0].value;
63
61
  });
62
+ _calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
64
63
  }
65
64
  ngOnDestroy() {
66
65
  this._destroyed.next();
67
66
  this._destroyed.complete();
68
67
  }
69
- setPeriodLabels(currentTimeframeOption) {
68
+ setPeriodLabels() {
69
+ const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];
70
70
  const fullPeriodLabel = currentTimeframeOption.periodLabel();
71
- if (this.selectedTimeframe === 'month') {
71
+ if (this._calendar.currentView === 'month') {
72
72
  this.periodMonthLabel = fullPeriodLabel.slice(0, 3);
73
73
  this.periodYearLabel = fullPeriodLabel.slice(4);
74
74
  }
@@ -76,12 +76,12 @@ export class DrDatePickerCustomHeaderComponent {
76
76
  this.periodMonthLabel = '';
77
77
  this.periodYearLabel = fullPeriodLabel;
78
78
  }
79
+ this.cdr.markForCheck();
79
80
  }
80
81
  setTimeframe() {
81
82
  this.timeframeSelection = false;
82
83
  this._calendar.currentView = this.selectedTimeframe;
83
84
  const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
84
- this.setPeriodLabels(chosenTimeframeOption);
85
85
  this.datePickerService.format.next(chosenTimeframeOption.format);
86
86
  this.datePickerService.setTimeframe(chosenTimeframeOption.format);
87
87
  if (this.selectedTimeframe == 'none') {
@@ -103,12 +103,11 @@ export class DrDatePickerCustomHeaderComponent {
103
103
  this.datePickerService.calendarInstance.close();
104
104
  }
105
105
  pagingClicked(forward) {
106
- this.pagingSetup[this.selectedTimeframe] && this.pagingSetup[this.selectedTimeframe](forward);
106
+ this.pagingSetup[this._calendar.currentView] && this.pagingSetup[this._calendar.currentView](forward);
107
107
  }
108
108
  pagingDateChange(actionCall, amount, forward) {
109
109
  this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward ? amount : -amount);
110
- const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
111
- this.setPeriodLabels(chosenTimeframeOption);
110
+ this.setPeriodLabels();
112
111
  }
113
112
  }
114
113
  DrDatePickerCustomHeaderComponent.decorators = [
@@ -116,7 +115,7 @@ DrDatePickerCustomHeaderComponent.decorators = [
116
115
  selector: 'dr-date-picker_custom-header.component',
117
116
  template: "<div class=\"dr-datepicker__timeframe-select__wrapper\">\r\n <dr-select \r\n class=\"dr-datepicker__timeframe-select\"\r\n [(ngModel)]=\"selectedTimeframe\"\r\n [items]=\"timeframeOptions\"\r\n bindLabel=\"title\"\r\n bindValue=\"value\"\r\n (ngModelChange)=\"setTimeframe()\">\r\n </dr-select>\r\n</div>\r\n\r\n<div class=\"dr-date-paging\">\r\n <div class=\"dr-date-paging flip-page-button\"\r\n (click)=\"pagingClicked(false)\">\r\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i> \r\n </div>\r\n <span class=\"example-header-label\">\r\n <span (click)=\"switchViewOnClickOnPeriodLabel('year')\">{{periodMonthLabel + ' '}}</span> \r\n <span (click)=\"switchViewOnClickOnPeriodLabel('multi-year')\">{{periodYearLabel}}</span>\r\n </span>\r\n <div class=\"dr-date-paging flip-page-button\"\r\n (click)=\"pagingClicked(true)\">\r\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\r\n </div>\r\n</div>\r\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuater\">\r\n <div *ngFor=\"let quarter of quarters\" \r\n class=\"quarter-selector\" (click)=\"onSelectQuater(quarter)\"\r\n [class]=\"quarter == selectedQuarter ? 'selected' : ''\"\r\n >Q{{quarter}}</div>\r\n</div>\r\n\r\n",
118
117
  changeDetection: ChangeDetectionStrategy.OnPush,
119
- styles: [":host{height:54px;align-items:center;font-family:\"Poppins\";font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 8px;grid-gap:4px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#F2F2FB;color:#4646ce}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#F2F2FB;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"]
118
+ styles: [":host{height:54px;align-items:center;font-family:\"Poppins\";font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 8px;grid-gap:4px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#F2F2FB;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#F2F2FB;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"]
120
119
  },] }
121
120
  ];
122
121
  DrDatePickerCustomHeaderComponent.ctorParameters = () => [
@@ -126,4 +125,4 @@ DrDatePickerCustomHeaderComponent.ctorParameters = () => [
126
125
  { type: ChangeDetectorRef },
127
126
  { type: DrDatePickerService }
128
127
  ];
129
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQWEsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFpQmpDLE1BQU0sT0FBTyxpQ0FBaUM7SUEyQzFDLFlBQ1ksU0FBOEIsRUFDOUIsWUFBaUMsRUFDUCxZQUE4QixFQUN4RCxHQUFzQixFQUN0QixpQkFBc0M7UUFKdEMsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ1AsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQ3hELFFBQUcsR0FB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YW5nZURldGVjdGlvblN0cmF0ZWd5LCBPbkRlc3Ryb3ksIENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEluamVjdCB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyB0YWtlLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IE1hdENhbGVuZGFyLCBNYXRDYWxlbmRhclZpZXcgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgRGF0ZUFkYXB0ZXIsIE1BVF9EQVRFX0ZPUk1BVFN9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xyXG5pbXBvcnQgeyBDdXN0b21EYXRlRm9ybWF0LCBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCwgTU9OVEhfWUVBUl9GT1JNQVQsIFFVQVJURVJfRk9STUFULCBZRUFSX0ZPUk1BVCB9IGZyb20gXCIuLi8uLi8uLi9tb2RlbHMvZGF0ZVBpY2tlclwiO1xyXG5pbXBvcnQgeyBEckRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSBcIi4uL2RyLWRhdGUtcGlja2VyLnNlcnZpY2VcIjtcclxuXHJcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVGltZWZyYW1lT3B0aW9uIHtcclxuICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgdmFsdWU6IE1hdENhbGVuZGFyVmlldyxcclxuICAgICAgZm9ybWF0OiBzdHJpbmcsXHJcbiAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBzdHJpbmdcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG4gICAgXHJcbiAgfSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQ8TW9tZW50PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcXVhcnRlcnMgPSBbMSwgMiwgMywgNF07XHJcbiAgICBzZWxlY3RlZFF1YXJ0ZXIgPSAxO1xyXG4gICAgdGltZWZyYW1lT3B0aW9uczogSVRpbWVmcmFtZU9wdGlvbltdID0gW3tcclxuICAgICAgdGl0bGU6ICdEYXknLFxyXG4gICAgICB2YWx1ZTogJ21vbnRoJyxcclxuICAgICAgZm9ybWF0OiBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCxcclxuICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IHRoaXMuX2RhdGVBZGFwdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUsIHRoaXMuX2RhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb2NhbGVVcHBlckNhc2UoKVxyXG4gICAgfSx7XHJcbiAgICAgIHRpdGxlOiAnTW9udGgnLFxyXG4gICAgICB2YWx1ZTogJ3llYXInLFxyXG4gICAgICBmb3JtYXQ6IE1PTlRIX1lFQVJfRk9STUFULFxyXG4gICAgICBwZXJpb2RMYWJlbDogKCkgPT4gU3RyaW5nKG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS55ZWFyKCkpXHJcbiAgICB9LHtcclxuICAgICAgdGl0bGU6ICdRdWFydGVyJyxcclxuICAgICAgdmFsdWU6IDxNYXRDYWxlbmRhclZpZXc+ICdub25lJyxcclxuICAgICAgZm9ybWF0OiBRVUFSVEVSX0ZPUk1BVCxcclxuICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IFN0cmluZyhtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkueWVhcigpKVxyXG4gICAgfSx7XHJcbiAgICAgIHRpdGxlOiAnWWVhcicsXHJcbiAgICAgIHZhbHVlOiAnbXVsdGkteWVhcicsXHJcbiAgICAgIGZvcm1hdDogWUVBUl9GT1JNQVQsXHJcbiAgICAgIHBlcmlvZExhYmVsOiAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gbW9tZW50KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpLnllYXIoKTtcclxuICAgICAgICBjb25zdCBzdGFydFBlcmlvZCA9IE1hdGguZmxvb3IoY3VycmVudFllYXIvMjQpKjI0O1xyXG4gICAgICAgIHJldHVybiBzdGFydFBlcmlvZCArICctJyArIChzdGFydFBlcmlvZCArIDIzKTtcclxuICAgICAgfVxyXG4gICAgfV1cclxuXHJcbiAgICBwYWdpbmdTZXR1cCA9IHtcclxuICAgICAgJ3llYXInOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJZZWFycycsIDEsIGZvcndhcmQpLFxyXG4gICAgICAnbm9uZSc6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXHJcbiAgICAgICdtb250aCc6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhck1vbnRocycsIDEsIGZvcndhcmQpLFxyXG4gICAgICAnbXVsdGkteWVhcic6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMjQsIGZvcndhcmQpXHJcbiAgICB9XHJcbiAgICAgXHJcbiAgICBzZWxlY3RlZFRpbWVmcmFtZTogTWF0Q2FsZW5kYXJWaWV3ID0gJ21vbnRoJztcclxuICAgIHRpbWVmcmFtZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gICAgcGVyaW9kTW9udGhMYWJlbCA9ICcnO1xyXG4gICAgcGVyaW9kWWVhckxhYmVsID0gJyc7XHJcbiAgICBjb25zdHJ1Y3RvcihcclxuICAgICAgICBwcml2YXRlIF9jYWxlbmRhcjogTWF0Q2FsZW5kYXI8TW9tZW50PixcclxuICAgICAgICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8TW9tZW50PixcclxuICAgICAgICBASW5qZWN0KE1BVF9EQVRFX0ZPUk1BVFMpIHByaXZhdGUgX2RhdGVGb3JtYXRzOiBDdXN0b21EYXRlRm9ybWF0LFxyXG4gICAgICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgICAgICBwcml2YXRlIGRhdGVQaWNrZXJTZXJ2aWNlOiBEckRhdGVQaWNrZXJTZXJ2aWNlKSB7XHJcbiAgICAgICAgICBfY2FsZW5kYXIuc3RhdGVDaGFuZ2VzXHJcbiAgICAgICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCgpID0+IGNkci5tYXJrRm9yQ2hlY2soKSk7XHJcbiAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdFxyXG4gICAgICAgICAgICAucGlwZSh0YWtlKDEpKVxyXG4gICAgICAgICAgICAuc3Vic2NyaWJlKCB2YWx1ZSA9PiB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi5mb3JtYXQgPT0gdmFsdWUpWzBdLnZhbHVlO1xyXG4gICAgICAgICAgICB9KVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRQZXJpb2RMYWJlbHMoY3VycmVudFRpbWVmcmFtZU9wdGlvbikge1xyXG4gICAgICBjb25zdCBmdWxsUGVyaW9kTGFiZWwgPSBjdXJyZW50VGltZWZyYW1lT3B0aW9uLnBlcmlvZExhYmVsKCk7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGltZWZyYW1lID09PSAnbW9udGgnKSB7XHJcbiAgICAgICAgdGhpcy5wZXJpb2RNb250aExhYmVsID0gZnVsbFBlcmlvZExhYmVsLnNsaWNlKDAsMyk7XHJcbiAgICAgICAgdGhpcy5wZXJpb2RZZWFyTGFiZWwgPSBmdWxsUGVyaW9kTGFiZWwuc2xpY2UoNCk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5wZXJpb2RNb250aExhYmVsID0gJyc7XHJcbiAgICAgICAgdGhpcy5wZXJpb2RZZWFyTGFiZWwgPSBmdWxsUGVyaW9kTGFiZWw7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgc2V0VGltZWZyYW1lKCkge1xyXG4gICAgICB0aGlzLnRpbWVmcmFtZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWU7XHJcbiAgICAgIGNvbnN0IGNob3NlblRpbWVmcmFtZU9wdGlvbiA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSlbMF07XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKGNob3NlblRpbWVmcmFtZU9wdGlvbik7XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Lm5leHQoY2hvc2VuVGltZWZyYW1lT3B0aW9uLmZvcm1hdCk7ICBcclxuICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5zZXRUaW1lZnJhbWUoY2hvc2VuVGltZWZyYW1lT3B0aW9uLmZvcm1hdCk7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGltZWZyYW1lID09IDxNYXRDYWxlbmRhclZpZXc+J25vbmUnKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSBtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkucXVhcnRlcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1cnJlbnRWaWV3SXNRdWF0ZXIoKSB7XHJcbiAgICAgIHJldHVybiAhWydtb250aCcsICd5ZWFyJywgJ211bHRpLXllYXInXS5pbmNsdWRlcyh0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlldyk7XHJcbiAgICB9XHJcbiBcclxuICAgIHN3aXRjaFZpZXdPbkNsaWNrT25QZXJpb2RMYWJlbCh2aWV3OiAneWVhcicgfCAnbXVsdGkteWVhcicpIHtcclxuICAgICAgdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXcgPSB2aWV3O1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UXVhdGVyKHF1YXJ0ZXJOdW1iZXI6IG51bWJlcikge1xyXG4gICAgICBjb25zdCBtb250aHNJblF1YXJ0ZXIgPSAzO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS5xdWFydGVyKCk7XHJcblxyXG4gICAgICBjb25zdCB1bmFkYXB0ZWREYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSxcclxuICAgICAgICBtb250aHNJblF1YXJ0ZXIgKiAocXVhcnRlck51bWJlciAtIHRoaXMuc2VsZWN0ZWRRdWFydGVyKSk7XHJcbiAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB1bmFkYXB0ZWREYXRlO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWF0ZXIubmV4dChtb21lbnQodW5hZGFwdGVkRGF0ZSkpO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwYWdpbmdDbGlja2VkKGZvcndhcmQpIHtcclxuICAgICAgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLnNlbGVjdGVkVGltZWZyYW1lXSAmJiB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuc2VsZWN0ZWRUaW1lZnJhbWVdKGZvcndhcmQpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZ2luZ0RhdGVDaGFuZ2UoYWN0aW9uQ2FsbDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgZm9yd2FyZDogYm9vbGVhbikge1xyXG4gICAgICB0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXJbYWN0aW9uQ2FsbF0odGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSwgZm9yd2FyZD8gYW1vdW50OiAtIGFtb3VudCk7XHJcbiAgICAgIGNvbnN0IGNob3NlblRpbWVmcmFtZU9wdGlvbiA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSlbMF07XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKGNob3NlblRpbWVmcmFtZU9wdGlvbik7XHJcbiAgICB9XHJcbiAgfSJdfQ==
128
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQWEsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2SSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUVoRSxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFpQmpDLE1BQU0sT0FBTyxpQ0FBaUM7SUEyQzFDLFlBQ1ksU0FBOEIsRUFDOUIsWUFBaUMsRUFDUCxZQUE4QixFQUN4RCxHQUFzQixFQUN0QixpQkFBc0M7UUFKdEMsY0FBUyxHQUFULFNBQVMsQ0FBcUI7UUFDOUIsaUJBQVksR0FBWixZQUFZLENBQXFCO1FBQ1AsaUJBQVksR0FBWixZQUFZLENBQWtCO1FBQ3hELFFBQUcsR0FB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Q0FBQyxNQUFNOzthQUVoRDs7O1lBcEJNLFdBQVc7WUFDWCxXQUFXO1lBQ1gsZ0JBQWdCLHVCQWtFaEIsTUFBTSxTQUFDLGdCQUFnQjtZQXZFYSxpQkFBaUI7WUFNckQsbUJBQW1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIE9uRGVzdHJveSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgSW5qZWN0IH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IHRha2UsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgTWF0Q2FsZW5kYXIsIE1hdENhbGVuZGFyVmlldyB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBEYXRlQWRhcHRlciwgTUFUX0RBVEVfRk9STUFUU30gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IEN1c3RvbURhdGVGb3JtYXQsIE1BVF9ERUZBVUxUX0RBVEVfRk9STUFULCBNT05USF9ZRUFSX0ZPUk1BVCwgUVVBUlRFUl9GT1JNQVQsIFlFQVJfRk9STUFUIH0gZnJvbSBcIi4uLy4uLy4uL21vZGVscy9kYXRlUGlja2VyXCI7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tIFwiLi4vZHItZGF0ZS1waWNrZXIuc2VydmljZVwiO1xyXG5cclxuY29uc3QgbW9tZW50ID0gcmVxdWlyZSgnbW9tZW50Jyk7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIElUaW1lZnJhbWVPcHRpb24ge1xyXG4gICAgICB0aXRsZTogc3RyaW5nLFxyXG4gICAgICB2YWx1ZTogTWF0Q2FsZW5kYXJWaWV3LFxyXG4gICAgICBmb3JtYXQ6IHN0cmluZyxcclxuICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IHN0cmluZ1xyXG59XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICAgIHNlbGVjdG9yOiAnZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQnLFxyXG4gICAgdGVtcGxhdGVVcmw6ICdkci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbiAgICBcclxuICB9KVxyXG5cclxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudDxNb21lbnQ+IGltcGxlbWVudHMgT25EZXN0cm95IHtcclxuICAgIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgICBxdWFydGVycyA9IFsxLCAyLCAzLCA0XTtcclxuICAgIHNlbGVjdGVkUXVhcnRlciA9IDE7XHJcbiAgICB0aW1lZnJhbWVPcHRpb25zOiBJVGltZWZyYW1lT3B0aW9uW10gPSBbe1xyXG4gICAgICB0aXRsZTogJ0RheScsXHJcbiAgICAgIHZhbHVlOiAnbW9udGgnLFxyXG4gICAgICBmb3JtYXQ6IE1BVF9ERUZBVUxUX0RBVEVfRk9STUFULFxyXG4gICAgICBwZXJpb2RMYWJlbDogKCkgPT4gdGhpcy5fZGF0ZUFkYXB0ZXJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5mb3JtYXQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSwgdGhpcy5fZGF0ZUZvcm1hdHMuZGlzcGxheS5tb250aFllYXJMYWJlbClcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC50b0xvY2FsZVVwcGVyQ2FzZSgpXHJcbiAgICB9LHtcclxuICAgICAgdGl0bGU6ICdNb250aCcsXHJcbiAgICAgIHZhbHVlOiAneWVhcicsXHJcbiAgICAgIGZvcm1hdDogTU9OVEhfWUVBUl9GT1JNQVQsXHJcbiAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBTdHJpbmcobW9tZW50KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpLnllYXIoKSlcclxuICAgIH0se1xyXG4gICAgICB0aXRsZTogJ1F1YXJ0ZXInLFxyXG4gICAgICB2YWx1ZTogPE1hdENhbGVuZGFyVmlldz4gJ25vbmUnLFxyXG4gICAgICBmb3JtYXQ6IFFVQVJURVJfRk9STUFULFxyXG4gICAgICBwZXJpb2RMYWJlbDogKCkgPT4gU3RyaW5nKG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS55ZWFyKCkpXHJcbiAgICB9LHtcclxuICAgICAgdGl0bGU6ICdZZWFyJyxcclxuICAgICAgdmFsdWU6ICdtdWx0aS15ZWFyJyxcclxuICAgICAgZm9ybWF0OiBZRUFSX0ZPUk1BVCxcclxuICAgICAgcGVyaW9kTGFiZWw6ICAoKSA9PiB7XHJcbiAgICAgICAgY29uc3QgY3VycmVudFllYXIgPSBtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkueWVhcigpO1xyXG4gICAgICAgIGNvbnN0IHN0YXJ0UGVyaW9kID0gTWF0aC5mbG9vcihjdXJyZW50WWVhci8yNCkqMjQ7XHJcbiAgICAgICAgcmV0dXJuIHN0YXJ0UGVyaW9kICsgJy0nICsgKHN0YXJ0UGVyaW9kICsgMjMpO1xyXG4gICAgICB9XHJcbiAgICB9XVxyXG5cclxuICAgIHBhZ2luZ1NldHVwID0ge1xyXG4gICAgICAneWVhcic6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXHJcbiAgICAgICdub25lJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcclxuICAgICAgJ21vbnRoJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyTW9udGhzJywgMSwgZm9yd2FyZCksXHJcbiAgICAgICdtdWx0aS15ZWFyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAyNCwgZm9yd2FyZClcclxuICAgIH1cclxuICAgICBcclxuICAgIHNlbGVjdGVkVGltZWZyYW1lOiBNYXRDYWxlbmRhclZpZXcgPSAnbW9udGgnO1xyXG4gICAgdGltZWZyYW1lU2VsZWN0aW9uID0gZmFsc2U7XHJcbiAgICBwZXJpb2RNb250aExhYmVsID0gJyc7XHJcbiAgICBwZXJpb2RZZWFyTGFiZWwgPSAnJztcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgX2NhbGVuZGFyOiBNYXRDYWxlbmRhcjxNb21lbnQ+LFxyXG4gICAgICAgIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxNb21lbnQ+LFxyXG4gICAgICAgIEBJbmplY3QoTUFUX0RBVEVfRk9STUFUUykgcHJpdmF0ZSBfZGF0ZUZvcm1hdHM6IEN1c3RvbURhdGVGb3JtYXQsXHJcbiAgICAgICAgcHJpdmF0ZSBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxyXG4gICAgICAgIHByaXZhdGUgZGF0ZVBpY2tlclNlcnZpY2U6IERyRGF0ZVBpY2tlclNlcnZpY2UpIHtcclxuICAgICAgICAgIF9jYWxlbmRhci5zdGF0ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0UGVyaW9kTGFiZWxzKCkpO1xyXG4gICAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXRcclxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSggdmFsdWUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24uZm9ybWF0ID09IHZhbHVlKVswXS52YWx1ZTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICBfY2FsZW5kYXIudmlld0NoYW5nZWQucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSkuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2V0UGVyaW9kTGFiZWxzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICAgIH1cclxuXHJcbiAgICBzZXRQZXJpb2RMYWJlbHMoKSB7XHJcbiAgICAgIGNvbnN0IGN1cnJlbnRUaW1lZnJhbWVPcHRpb24gPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuX2NhbGVuZGFyLmN1cnJlbnRWaWV3KVswXTtcclxuICAgICAgY29uc3QgZnVsbFBlcmlvZExhYmVsID0gY3VycmVudFRpbWVmcmFtZU9wdGlvbi5wZXJpb2RMYWJlbCgpO1xyXG4gICAgICBpZiAodGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgICB0aGlzLnBlcmlvZE1vbnRoTGFiZWwgPSBmdWxsUGVyaW9kTGFiZWwuc2xpY2UoMCwzKTtcclxuICAgICAgICB0aGlzLnBlcmlvZFllYXJMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbC5zbGljZSg0KTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnBlcmlvZE1vbnRoTGFiZWwgPSAnJztcclxuICAgICAgICB0aGlzLnBlcmlvZFllYXJMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgc2V0VGltZWZyYW1lKCkge1xyXG4gICAgICB0aGlzLnRpbWVmcmFtZVNlbGVjdGlvbiA9IGZhbHNlO1xyXG4gICAgICB0aGlzLl9jYWxlbmRhci5jdXJyZW50VmlldyA9IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWU7XHJcbiAgICAgIGNvbnN0IGNob3NlblRpbWVmcmFtZU9wdGlvbiA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSlbMF07XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Lm5leHQoY2hvc2VuVGltZWZyYW1lT3B0aW9uLmZvcm1hdCk7ICBcclxuICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5zZXRUaW1lZnJhbWUoY2hvc2VuVGltZWZyYW1lT3B0aW9uLmZvcm1hdCk7XHJcbiAgICAgIGlmICh0aGlzLnNlbGVjdGVkVGltZWZyYW1lID09IDxNYXRDYWxlbmRhclZpZXc+J25vbmUnKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSBtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkucXVhcnRlcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1cnJlbnRWaWV3SXNRdWF0ZXIoKSB7XHJcbiAgICAgIHJldHVybiAhWydtb250aCcsICd5ZWFyJywgJ211bHRpLXllYXInXS5pbmNsdWRlcyh0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlldyk7XHJcbiAgICB9XHJcbiBcclxuICAgIHN3aXRjaFZpZXdPbkNsaWNrT25QZXJpb2RMYWJlbCh2aWV3OiAneWVhcicgfCAnbXVsdGkteWVhcicpIHtcclxuICAgICAgdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXcgPSB2aWV3O1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UXVhdGVyKHF1YXJ0ZXJOdW1iZXI6IG51bWJlcikge1xyXG4gICAgICBjb25zdCBtb250aHNJblF1YXJ0ZXIgPSAzO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS5xdWFydGVyKCk7XHJcblxyXG4gICAgICBjb25zdCB1bmFkYXB0ZWREYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSxcclxuICAgICAgICBtb250aHNJblF1YXJ0ZXIgKiAocXVhcnRlck51bWJlciAtIHRoaXMuc2VsZWN0ZWRRdWFydGVyKSk7XHJcbiAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB1bmFkYXB0ZWREYXRlO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWF0ZXIubmV4dChtb21lbnQodW5hZGFwdGVkRGF0ZSkpO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwYWdpbmdDbGlja2VkKGZvcndhcmQpIHtcclxuICAgICAgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlld10gJiYgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlld10oZm9yd2FyZCk7XHJcbiAgICB9XHJcblxyXG4gICAgcGFnaW5nRGF0ZUNoYW5nZShhY3Rpb25DYWxsOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBmb3J3YXJkOiBib29sZWFuKSB7XHJcbiAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB0aGlzLl9kYXRlQWRhcHRlclthY3Rpb25DYWxsXSh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlLCBmb3J3YXJkPyBhbW91bnQ6IC0gYW1vdW50KTtcclxuICAgICAgdGhpcy5zZXRQZXJpb2RMYWJlbHMoKTtcclxuICAgIH1cclxuICB9Il19
@@ -2005,22 +2005,22 @@ class DrDatePickerCustomHeaderComponent {
2005
2005
  this.timeframeSelection = false;
2006
2006
  this.periodMonthLabel = '';
2007
2007
  this.periodYearLabel = '';
2008
- _calendar.stateChanges
2009
- .pipe(takeUntil(this._destroyed))
2010
- .subscribe(() => cdr.markForCheck());
2008
+ _calendar.stateChanges.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
2011
2009
  this.datePickerService.format
2012
2010
  .pipe(take(1))
2013
2011
  .subscribe(value => {
2014
2012
  this.selectedTimeframe = this.timeframeOptions.filter(option => option.format == value)[0].value;
2015
2013
  });
2014
+ _calendar.viewChanged.pipe(takeUntil(this._destroyed)).subscribe(() => this.setPeriodLabels());
2016
2015
  }
2017
2016
  ngOnDestroy() {
2018
2017
  this._destroyed.next();
2019
2018
  this._destroyed.complete();
2020
2019
  }
2021
- setPeriodLabels(currentTimeframeOption) {
2020
+ setPeriodLabels() {
2021
+ const currentTimeframeOption = this.timeframeOptions.filter(option => option.value === this._calendar.currentView)[0];
2022
2022
  const fullPeriodLabel = currentTimeframeOption.periodLabel();
2023
- if (this.selectedTimeframe === 'month') {
2023
+ if (this._calendar.currentView === 'month') {
2024
2024
  this.periodMonthLabel = fullPeriodLabel.slice(0, 3);
2025
2025
  this.periodYearLabel = fullPeriodLabel.slice(4);
2026
2026
  }
@@ -2028,12 +2028,12 @@ class DrDatePickerCustomHeaderComponent {
2028
2028
  this.periodMonthLabel = '';
2029
2029
  this.periodYearLabel = fullPeriodLabel;
2030
2030
  }
2031
+ this.cdr.markForCheck();
2031
2032
  }
2032
2033
  setTimeframe() {
2033
2034
  this.timeframeSelection = false;
2034
2035
  this._calendar.currentView = this.selectedTimeframe;
2035
2036
  const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
2036
- this.setPeriodLabels(chosenTimeframeOption);
2037
2037
  this.datePickerService.format.next(chosenTimeframeOption.format);
2038
2038
  this.datePickerService.setTimeframe(chosenTimeframeOption.format);
2039
2039
  if (this.selectedTimeframe == 'none') {
@@ -2055,12 +2055,11 @@ class DrDatePickerCustomHeaderComponent {
2055
2055
  this.datePickerService.calendarInstance.close();
2056
2056
  }
2057
2057
  pagingClicked(forward) {
2058
- this.pagingSetup[this.selectedTimeframe] && this.pagingSetup[this.selectedTimeframe](forward);
2058
+ this.pagingSetup[this._calendar.currentView] && this.pagingSetup[this._calendar.currentView](forward);
2059
2059
  }
2060
2060
  pagingDateChange(actionCall, amount, forward) {
2061
2061
  this._calendar.activeDate = this._dateAdapter[actionCall](this._calendar.activeDate, forward ? amount : -amount);
2062
- const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
2063
- this.setPeriodLabels(chosenTimeframeOption);
2062
+ this.setPeriodLabels();
2064
2063
  }
2065
2064
  }
2066
2065
  DrDatePickerCustomHeaderComponent.decorators = [
@@ -2068,7 +2067,7 @@ DrDatePickerCustomHeaderComponent.decorators = [
2068
2067
  selector: 'dr-date-picker_custom-header.component',
2069
2068
  template: "<div class=\"dr-datepicker__timeframe-select__wrapper\">\r\n <dr-select \r\n class=\"dr-datepicker__timeframe-select\"\r\n [(ngModel)]=\"selectedTimeframe\"\r\n [items]=\"timeframeOptions\"\r\n bindLabel=\"title\"\r\n bindValue=\"value\"\r\n (ngModelChange)=\"setTimeframe()\">\r\n </dr-select>\r\n</div>\r\n\r\n<div class=\"dr-date-paging\">\r\n <div class=\"dr-date-paging flip-page-button\"\r\n (click)=\"pagingClicked(false)\">\r\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i> \r\n </div>\r\n <span class=\"example-header-label\">\r\n <span (click)=\"switchViewOnClickOnPeriodLabel('year')\">{{periodMonthLabel + ' '}}</span> \r\n <span (click)=\"switchViewOnClickOnPeriodLabel('multi-year')\">{{periodYearLabel}}</span>\r\n </span>\r\n <div class=\"dr-date-paging flip-page-button\"\r\n (click)=\"pagingClicked(true)\">\r\n <i class=\"dr-icon-arrow-right presentation_buttons-navigate_input\"></i>\r\n </div>\r\n</div>\r\n<div #quarterlyDatePicker class=\"dr-quarterly-datepicker\" *ngIf=\"currentViewIsQuater\">\r\n <div *ngFor=\"let quarter of quarters\" \r\n class=\"quarter-selector\" (click)=\"onSelectQuater(quarter)\"\r\n [class]=\"quarter == selectedQuarter ? 'selected' : ''\"\r\n >Q{{quarter}}</div>\r\n</div>\r\n\r\n",
2070
2069
  changeDetection: ChangeDetectionStrategy.OnPush,
2071
- styles: [":host{height:54px;align-items:center;font-family:\"Poppins\";font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 8px;grid-gap:4px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#F2F2FB;color:#4646ce}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#F2F2FB;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"]
2070
+ styles: [":host{height:54px;align-items:center;font-family:\"Poppins\";font-style:normal;font-weight:600;font-size:14px;line-height:22px}.dr-datepicker__timeframe-select__wrapper{background-color:#f9faff;padding:16px 32px;border-radius:18px 18px 0 0}.dr-date-paging{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:16px 8px;grid-gap:4px;gap:4px}.dr-date-paging.flip-page-button{width:20px;height:20px;padding:0;color:#4e566c}.dr-date-paging.flip-page-button:hover{border-radius:50%;background:#F2F2FB;color:#4646ce}.example-header-label{cursor:pointer}.dr-quarterly-datepicker{display:flex;justify-content:space-between;padding:10px}.dr-quarterly-datepicker .quarter-selector{display:block;width:74px;height:40px;text-align:center;border-radius:40px;font-weight:400;padding-top:9px}.dr-quarterly-datepicker .quarter-selector:hover{background:#F2F2FB;color:#4646ce;font-weight:600;cursor:pointer}.dr-quarterly-datepicker .quarter-selector.selected{background-color:#4646ce;color:#f3f7ff;font-weight:600}\n"]
2072
2071
  },] }
2073
2072
  ];
2074
2073
  DrDatePickerCustomHeaderComponent.ctorParameters = () => [
@@ -2153,6 +2152,7 @@ class DrDatePickerComponent {
2153
2152
  if (this.takeEndOfPeriod) {
2154
2153
  normalizedRef.endOf(timeframe);
2155
2154
  }
2155
+ normalizedRef.set('hour', 12);
2156
2156
  }
2157
2157
  get value() {
2158
2158
  return this.innerValue;
@@ -2160,6 +2160,7 @@ class DrDatePickerComponent {
2160
2160
  set value(v) {
2161
2161
  if (v !== this.innerValue) {
2162
2162
  this.innerValue = v;
2163
+ this.onChangeCallback(v);
2163
2164
  }
2164
2165
  this.cdr.markForCheck();
2165
2166
  }
@@ -2194,7 +2195,7 @@ class DrDatePickerComponent {
2194
2195
  return value;
2195
2196
  }
2196
2197
  chosenMonthHandler(normalizedMonth, datepicker) {
2197
- if (this.datePickerService.timeframe == 'month') {
2198
+ if (this.datePickerService.timeframe === 'month') {
2198
2199
  this.tryToNormalaizeTimeframe(normalizedMonth, 'month');
2199
2200
  this.writeValue(normalizedMonth);
2200
2201
  this.onChangeCallback(normalizedMonth);
@@ -2202,16 +2203,12 @@ class DrDatePickerComponent {
2202
2203
  }
2203
2204
  }
2204
2205
  chosenYearHandler(normalizedYear, datepicker) {
2205
- if (this.datePickerService.timeframe == 'year') {
2206
+ if (this.datePickerService.timeframe === 'year') {
2206
2207
  this.tryToNormalaizeTimeframe(normalizedYear, 'year');
2207
2208
  this.writeValue(normalizedYear);
2208
2209
  this.onChangeCallback(normalizedYear);
2209
2210
  datepicker.close();
2210
2211
  }
2211
- else if (['quarter', 'day'].includes(this.datePickerService.timeframe)) {
2212
- this.writeValue(normalizedYear);
2213
- datepicker.close();
2214
- }
2215
2212
  }
2216
2213
  pagingClicked(forward) {
2217
2214
  this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);