@datarailsshared/datarailsshared 1.3.49 → 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;
@@ -122,7 +123,7 @@ export class DrDatePickerComponent {
122
123
  return value;
123
124
  }
124
125
  chosenMonthHandler(normalizedMonth, datepicker) {
125
- if (this.datePickerService.timeframe == 'month') {
126
+ if (this.datePickerService.timeframe === 'month') {
126
127
  this.tryToNormalaizeTimeframe(normalizedMonth, 'month');
127
128
  this.writeValue(normalizedMonth);
128
129
  this.onChangeCallback(normalizedMonth);
@@ -130,16 +131,12 @@ export class DrDatePickerComponent {
130
131
  }
131
132
  }
132
133
  chosenYearHandler(normalizedYear, datepicker) {
133
- if (this.datePickerService.timeframe == 'year') {
134
+ if (this.datePickerService.timeframe === 'year') {
134
135
  this.tryToNormalaizeTimeframe(normalizedYear, 'year');
135
136
  this.writeValue(normalizedYear);
136
137
  this.onChangeCallback(normalizedYear);
137
138
  datepicker.close();
138
139
  }
139
- else if (['quarter', 'day'].includes(this.datePickerService.timeframe)) {
140
- this.writeValue(normalizedYear);
141
- datepicker.close();
142
- }
143
140
  }
144
141
  pagingClicked(forward) {
145
142
  this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);
@@ -183,4 +180,4 @@ DrDatePickerComponent.propDecorators = {
183
180
  dp: [{ type: ViewChild, args: ['datePicker',] }]
184
181
  };
185
182
  export { ɵ0 };
186
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUM3RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFrRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsUUFBUSxDQUFDLENBQUM7QUFFakMsTUFBTSxJQUFJLEdBQUcsR0FBRyxFQUFFLEdBQUUsQ0FBQyxDQUFDOztBQVl0QixNQUFNLE9BQU8scUJBQXFCO0lBc0RoQyxZQUNVLEdBQXNCLEVBQ3RCLFlBQThCLEVBQzlCLGlCQUFzQztRQUZ0QyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDOUIsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFxQjtRQXhEeEMsZUFBVSxHQUFHLElBQUksT0FBTyxFQUFT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b25lbnQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgSW5wdXQsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsIFZpZXdDaGlsZCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95LCBPdXRwdXQsIEV2ZW50RW1pdHRlclxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IE1hdERhdGVwaWNrZXIgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyJztcclxuaW1wb3J0IHsgTUFUX0RFRkFVTFRfREFURV9GT1JNQVQsIE1PTlRIX1lFQVJfRk9STUFULCBRVUFSVEVSX0ZPUk1BVCwgWUVBUl9GT1JNQVQgfSBmcm9tICcuLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XHJcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2RyLWRhdGUtcGlja2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoJ21vbWVudCcpO1xyXG5cclxuY29uc3Qgbm9vcCA9ICgpID0+IHt9O1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdkci1kYXRlLXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kci1kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IERyRGF0ZVBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfVxyXG4gIF0sXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgRHJEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSB7XHJcbiAgcHJpdmF0ZSBfZGVzdHJveWVkID0gbmV3IFN1YmplY3Q8dm9pZD4gKCk7XHJcbiAgcmVhZG9ubHkgPSB0cnVlO1xyXG4gIEBJbnB1dCgpIF9mb3JtYXQgPSBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVDtcclxuICBjdXN0b21IZWFkZXIgPSBEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQ7XHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlRm9ybWF0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+ICgpO1xyXG4gIEBJbnB1dCgpIHNldCBmb3JtYXQodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZSkge1xyXG4gICAgICB2YWx1ZSA9IHRoaXMubm9ybWFsaXplVmFsdWUodmFsdWUpO1xyXG4gICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcclxuICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXQubmV4dCh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc2V0VGltZWZyYW1lKHZhbHVlKTtcclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBJbnB1dCgpIHRpbWVmcmFtZVNlbGVjdGlvbjogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHRha2VFbmRPZlBlcmlvZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0JztcclxuICBASW5wdXQoKSBtaW46IERhdGUgPSBudWxsO1xyXG4gIEBJbnB1dCgpIG1heDogRGF0ZSA9IG51bGw7XHJcbiAgQFZpZXdDaGlsZCgnZGF0ZVBpY2tlcicpIHB1YmxpYyBkcDtcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5jYWxlbmRhckluc3RhbmNlID0gdGhpcy5kcDtcclxuICAgIGlmICh0aGlzLl9mb3JtYXQgPT09IE1BVF9ERUZBVUxUX0RBVEVfRk9STUFUKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICBjb25zdCBwb3B1cEluc3RhbmNlID0gdGhpcy5kcC5fcG9wdXBDb21wb25lbnRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICBjb25zdCBjYWxlbmRlckluc3RhbmNlID0gcG9wdXBJbnN0YW5jZS5fY2FsZW5kYXIuX2NhbGVuZGFySGVhZGVyUG9ydGFsLl9hdHRhY2hlZEhvc3QuX2F0dGFjaGVkUmVmLmluc3RhbmNlO1xyXG4gICAgICAgY2FsZW5kZXJJbnN0YW5jZS5jdXJyZW50UGVyaW9kQ2xpY2tlZCA9IGZ1bmN0aW9uICgpIHtcclxuICAgICAgICAgIHRoaXMuY2FsZW5kYXJWaWV3U2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdICYmIHRoaXMuY2FsZW5kYXJWaWV3U2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdKHRoaXMuY2FsZW5kYXIpO1xyXG4gICAgICAgIH07XHJcbiAgICAgIH0sIDEwMDApO1xyXG4gIH1cclxuXHJcbiAgY2FsZW5kYXJWaWV3U2V0dXAgPSB7XHJcbiAgICAneWVhcic6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbXVsdGkteWVhcicsXHJcbiAgICAnbW9udGgnOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ3llYXInLFxyXG4gICAgJ3F1YXJ0ZXInOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ25vbmUnLFxyXG4gICAgJ2RheSc6IChjYWxlbmRhcikgPT4gY2FsZW5kYXIuY3VycmVudFZpZXcgPSAnbW9udGgnXHJcbiAgfVxyXG5cclxuICBwYWdpbmdTZXR1cCA9IHtcclxuICAgICd5ZWFyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcclxuICAgICdxdWFydGVyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyTW9udGhzJywgMywgZm9yd2FyZCksXHJcbiAgICAnbW9udGgnOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJNb250aHMnLCAxLCBmb3J3YXJkKSxcclxuICAgICdkYXknOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJEYXlzJywgMSwgZm9yd2FyZClcclxuICB9XHJcblxyXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gbnVsbDtcclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcclxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgX2RhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+LFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlja2VyU2VydmljZTogRHJEYXRlUGlja2VyU2VydmljZVxyXG4gICkgeyBcclxuICAgIGRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdFxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLl9mb3JtYXQgPSB2YWx1ZTtcclxuICAgICAgICAgIHRoaXMub25DaGFuZ2VGb3JtYXQuZW1pdCh0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKSk7XHJcbiAgICAgICAgICBjZHIubWFya0ZvckNoZWNrKClcclxuICAgICAgICB9KTtcclxuXHJcbiAgICBkYXRlUGlja2VyU2VydmljZS51cGRhdGVkUXVhdGVyXHJcbiAgICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuX2Rlc3Ryb3llZCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSgodmFsdWUpID0+IHtcclxuICAgICAgICAgICAgdGhpcy50cnlUb05vcm1hbGFpemVUaW1lZnJhbWUodmFsdWUsICdxdWFydGVyJylcclxuICAgICAgICAgICAgdGhpcy53cml0ZVZhbHVlKHZhbHVlKTtcclxuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcclxuICAgICAgICB9KTtcclxuICB9XHJcblxyXG4gIHRyeVRvTm9ybWFsYWl6ZVRpbWVmcmFtZShub3JtYWxpemVkUmVmOiBNb21lbnQsIHRpbWVmcmFtZTogbW9tZW50LnVuaXRPZlRpbWUuU3RhcnRPZikge1xyXG4gICAgaWYgKHRoaXMudGFrZUVuZE9mUGVyaW9kKSB7XHJcbiAgICAgICAgbm9ybWFsaXplZFJlZi5lbmRPZih0aW1lZnJhbWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICBpZiAodiAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdjtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gbW9tZW50LnVuaXgodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMudHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKHRoaXMuaW5uZXJWYWx1ZSwgdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUpXHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHF1YXJ0ZXJEaXNwbGF5KCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0UXVhcnRlckRpc3BsYXkodGhpcy52YWx1ZSwgdGhpcy5fZm9ybWF0KTtcclxuICB9XHJcblxyXG4gIG5vcm1hbGl6ZVZhbHVlKHZhbHVlKSB7XHJcbiAgICBpZiAodmFsdWUuaW5jbHVkZXMoJ2QnKSkge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL2QvZywgJ0QnKTtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUuaW5jbHVkZXMoJ0QnKSkge1xyXG4gICAgICB2YWx1ZSA9IHZhbHVlLnJlcGxhY2UoL0QvZywgJ2QnKTtcclxuICAgIH1cclxuICAgIHJldHVybiB2YWx1ZTtcclxuICB9XHJcblxyXG4gIGNob3Nlbk1vbnRoSGFuZGxlcihub3JtYWxpemVkTW9udGg6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUgPT0gJ21vbnRoJykge1xyXG4gICAgICAgIHRoaXMudHJ5VG9Ob3JtYWxhaXplVGltZWZyYW1lKG5vcm1hbGl6ZWRNb250aCwgJ21vbnRoJyk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5vcm1hbGl6ZWRNb250aCk7XHJcbiAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKG5vcm1hbGl6ZWRNb250aCk7XHJcbiAgICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hvc2VuWWVhckhhbmRsZXIobm9ybWFsaXplZFllYXI6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUgPT0gJ3llYXInKSB7XHJcbiAgICAgICAgdGhpcy50cnlUb05vcm1hbGFpemVUaW1lZnJhbWUobm9ybWFsaXplZFllYXIsICd5ZWFyJyk7XHJcbiAgICAgICAgdGhpcy53cml0ZVZhbHVlKG5vcm1hbGl6ZWRZZWFyKTtcclxuICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobm9ybWFsaXplZFllYXIpO1xyXG4gICAgICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH0gZWxzZSBpZiAoWydxdWFydGVyJywgJ2RheSddLmluY2x1ZGVzKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lKSkge1xyXG4gICAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkWWVhcik7XHJcbiAgICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICBwYWdpbmdDbGlja2VkKGZvcndhcmQpIHtcclxuICAgIHRoaXMucGFnaW5nU2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdICYmIHRoaXMucGFnaW5nU2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdKGZvcndhcmQpO1xyXG4gICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5jYWxlbmRhckluc3RhbmNlLmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBwYWdpbmdEYXRlQ2hhbmdlKGFjdGlvbkNhbGw6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGZvcndhcmQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IG5ld1ZhbHVlID0gdGhpcy5fZGF0ZUFkYXB0ZXJbYWN0aW9uQ2FsbF0odGhpcy5pbm5lclZhbHVlLCBmb3J3YXJkPyBhbW91bnQ6IC0gYW1vdW50KTtcclxuICAgIHRoaXMud3JpdGVWYWx1ZShuZXdWYWx1ZSk7XHJcbiAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobmV3VmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl9kZXN0cm95ZWQubmV4dCgpO1xyXG4gICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
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;
@@ -2195,7 +2195,7 @@ class DrDatePickerComponent {
2195
2195
  return value;
2196
2196
  }
2197
2197
  chosenMonthHandler(normalizedMonth, datepicker) {
2198
- if (this.datePickerService.timeframe == 'month') {
2198
+ if (this.datePickerService.timeframe === 'month') {
2199
2199
  this.tryToNormalaizeTimeframe(normalizedMonth, 'month');
2200
2200
  this.writeValue(normalizedMonth);
2201
2201
  this.onChangeCallback(normalizedMonth);
@@ -2203,16 +2203,12 @@ class DrDatePickerComponent {
2203
2203
  }
2204
2204
  }
2205
2205
  chosenYearHandler(normalizedYear, datepicker) {
2206
- if (this.datePickerService.timeframe == 'year') {
2206
+ if (this.datePickerService.timeframe === 'year') {
2207
2207
  this.tryToNormalaizeTimeframe(normalizedYear, 'year');
2208
2208
  this.writeValue(normalizedYear);
2209
2209
  this.onChangeCallback(normalizedYear);
2210
2210
  datepicker.close();
2211
2211
  }
2212
- else if (['quarter', 'day'].includes(this.datePickerService.timeframe)) {
2213
- this.writeValue(normalizedYear);
2214
- datepicker.close();
2215
- }
2216
2212
  }
2217
2213
  pagingClicked(forward) {
2218
2214
  this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);