@datarailsshared/datarailsshared 1.3.39 → 1.3.42
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.
- package/bundles/datarailsshared-datarailsshared.umd.js +281 -56
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.3.42.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +3 -1
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +4 -2
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +8 -4
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.component.js +87 -41
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.service.js +41 -0
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +129 -0
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +4 -2
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +9 -3
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +5 -3
- package/esm2015/lib/models/datePicker.js +5 -2
- package/fesm2015/datarailsshared-datarailsshared.js +268 -55
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/dr-inputs/dr-date-picker/dr-date-picker.component.d.ts +29 -5
- package/lib/dr-inputs/dr-date-picker/dr-date-picker.service.d.ts +12 -0
- package/lib/dr-inputs/dr-date-picker/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +41 -0
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +4 -2
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +1 -0
- package/lib/models/datePicker.d.ts +4 -0
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.3.39.tgz +0 -0
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export * from './public-api';
|
|
5
5
|
export { components as ɵa } from './lib/date-tags/date-tag.module';
|
|
6
|
+
export { DrDatePickerService as ɵc } from './lib/dr-inputs/dr-date-picker/dr-date-picker.service';
|
|
7
|
+
export { DrDatePickerCustomHeaderComponent as ɵe } from './lib/dr-inputs/dr-date-picker/dr-date-picker_custom-header/dr-date-picker_custom-header.component';
|
|
6
8
|
export { POPUP_ANIMATION as ɵb } from './lib/models/constants';
|
|
7
|
-
export { CustomDateFormat as
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
export { CustomDateFormat as ɵd } from './lib/models/datePicker';
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvZGF0YXJhaWxzc2hhcmVkLWRhdGFyYWlsc3NoYXJlZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsY0FBYyxDQUFDO0FBRTdCLE9BQU8sRUFBQyxVQUFVLElBQUksRUFBRSxFQUFDLE1BQU0saUNBQWlDLENBQUM7QUFDakUsT0FBTyxFQUFDLG1CQUFtQixJQUFJLEVBQUUsRUFBQyxNQUFNLHVEQUF1RCxDQUFDO0FBQ2hHLE9BQU8sRUFBQyxpQ0FBaUMsSUFBSSxFQUFFLEVBQUMsTUFBTSxvR0FBb0csQ0FBQztBQUMzSixPQUFPLEVBQUMsZUFBZSxJQUFJLEVBQUUsRUFBQyxNQUFNLHdCQUF3QixDQUFDO0FBQzdELE9BQU8sRUFBQyxnQkFBZ0IsSUFBSSxFQUFFLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcblxuZXhwb3J0IHtjb21wb25lbnRzIGFzIMm1YX0gZnJvbSAnLi9saWIvZGF0ZS10YWdzL2RhdGUtdGFnLm1vZHVsZSc7XG5leHBvcnQge0RyRGF0ZVBpY2tlclNlcnZpY2UgYXMgybVjfSBmcm9tICcuL2xpYi9kci1pbnB1dHMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5leHBvcnQge0RyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCBhcyDJtWV9IGZyb20gJy4vbGliL2RyLWlucHV0cy9kci1kYXRlLXBpY2tlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyL2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JztcbmV4cG9ydCB7UE9QVVBfQU5JTUFUSU9OIGFzIMm1Yn0gZnJvbSAnLi9saWIvbW9kZWxzL2NvbnN0YW50cyc7XG5leHBvcnQge0N1c3RvbURhdGVGb3JtYXQgYXMgybVkfSBmcm9tICcuL2xpYi9tb2RlbHMvZGF0ZVBpY2tlcic7Il19
|
|
@@ -63,12 +63,16 @@ export class DrDropdownPositionDirective {
|
|
|
63
63
|
}
|
|
64
64
|
else {
|
|
65
65
|
const defaultChildPadding = 3;
|
|
66
|
-
const widthMoreWindowRight = window.innerWidth - this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding;
|
|
67
|
-
const widthMoreWindowBottom = window.innerHeight - this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding;
|
|
66
|
+
const widthMoreWindowRight = window.innerWidth - (this.position.clientX - this.el.nativeElement.offsetWidth - defaultPadding);
|
|
67
|
+
const widthMoreWindowBottom = window.innerHeight - (this.position.clientY - this.el.nativeElement.offsetHeight - defaultPadding);
|
|
68
|
+
const spaceRightAmount = window.innerWidth - (this.position.clientX + this.el.nativeElement.offsetWidth + defaultPadding);
|
|
68
69
|
this.widthMoreRight = !(widthMoreWindowRight < 0);
|
|
69
|
-
|
|
70
|
+
let calculatedHorizantallyPos = widthMoreWindowRight < 0
|
|
70
71
|
? -this.position.x + -defaultChildPadding
|
|
71
72
|
: this.position.x + defaultChildPadding + xDifference;
|
|
73
|
+
if (spaceRightAmount <= 0) {
|
|
74
|
+
calculatedHorizantallyPos -= this.el.nativeElement.offsetWidth;
|
|
75
|
+
}
|
|
72
76
|
const deltaHeight = widthMoreWindowBottom < 0 ? widthMoreWindowBottom : defaultDelta;
|
|
73
77
|
this.renderer.setStyle(this.el.nativeElement, 'top', (this.position.y + deltaHeight) + 'px');
|
|
74
78
|
this.renderer.setStyle(this.el.nativeElement, 'left', (calculatedHorizantallyPos) + 'px');
|
|
@@ -90,4 +94,4 @@ DrDropdownPositionDirective.propDecorators = {
|
|
|
90
94
|
drDropdownPosition: [{ type: Input }],
|
|
91
95
|
position: [{ type: Input }]
|
|
92
96
|
};
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPaEYsTUFBTSxPQUFPLDJCQUEyQjtJQU9wQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdEQsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFLN0QsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNoSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFx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QUM7WUFDMUYsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsU0FBUyxFQUFFLE9BQU8sQ0FBQyxDQUFDO1NBQ3JFO0lBQ0wsQ0FBQzs7O1lBOUZKLFNBQVMsU0FBQztnQkFDUCxRQUFRLEVBQUUsc0JBQXNCO2dCQUNoQyxRQUFRLEVBQUUsa0JBQWtCO2FBQy9COzs7WUFObUIsVUFBVTtZQUFpQixTQUFTOzs7aUNBU25ELEtBQUs7dUJBQ0wsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgSW5wdXQsIE9uSW5pdCwgUmVuZGVyZXIyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IElEcm9wZG93bkNvb3JkaW5hdGUsIEVsUG9zaXRpb24gfSBmcm9tICcuLi9tb2RlbHMvZHJvcGRvd24nO1xyXG5cclxuQERpcmVjdGl2ZSh7XHJcbiAgICBzZWxlY3RvcjogJ1tkckRyb3Bkb3duUG9zaXRpb25dJyxcclxuICAgIGV4cG9ydEFzOiAnZHJvcGRvd25Qb3NpdGlvbidcclxufSlcclxuZXhwb3J0IGNsYXNzIERyRHJvcGRvd25Qb3NpdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gICAgQElucHV0KCkgZHJEcm9wZG93blBvc2l0aW9uO1xyXG4gICAgQElucHV0KCkgcG9zaXRpb246IEVsUG9zaXRpb24gfCBJRHJvcGRvd25Db29yZGluYXRlID0gJ2xlZnQnO1xyXG5cclxuICAgIHdpZHRoTW9yZVJpZ2h0OiBib29sZWFuO1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWw6IEVsZW1lbnRSZWYsIHByaXZhdGUgcmVuZGVyZXI6IFJlbmRlcmVyMikge1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgICAgIHNldFRpbWVvdXQodGhpcy5jYWxjdWxhdGVQb3NpdGlvbi5iaW5kKHRoaXMpLCAxKTtcclxuICAgIH1cclxuXHJcbiAgICBjYWxjdWxhdGVQb3NpdGlvbigpIHtcclxuICAgICAgICBsZXQgeERpZmZlcmVuY2UgPSAwO1xyXG4gICAgICAgIGxldCBkZWZhdWx0RGVsdGEgPSAxMDtcclxuICAgICAgICBsZXQgZGVmYXVsdFBhZGRpbmcgPSAwO1xyXG5cclxuICAgICAgICBpZiAodGhpcy5wb3NpdGlvbiA9PT0gJ2NoaWxkJykge1xyXG4gICAgICAgICAgICBkZWZhdWx0RGVsdGEgPSAwO1xyXG4gICAgICAgICAgICBkZWZhdWx0UGFkZGluZyA9IDEwO1xyXG4gICAgICAgICAgICB4RGlmZmVyZW5jZSA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGggLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGg7XHJcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9IHtcclxuICAgICAgICAgICAgICAgIHg6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCxcclxuICAgICAgICAgICAgICAgIHk6IHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0VG9wIC0gOSxcclxuICAgICAgICAgICAgICAgIGNsaWVudFg6IHBhcmVudFJlY3QueCArIHRoaXMuZWwubmF0aXZlRWxlbWVudC5wYXJlbnRFbGVtZW50LnBhcmVudEVsZW1lbnQub2Zmc2V0V2lkdGgsXHJcbiAgICAgICAgICAgICAgICBjbGllbnRZOiBwYXJlbnRSZWN0LnlcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3NpdGlvbiA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0b3AnLFxyXG4gICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nID9cclxuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgLSB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyAncHgnIDpcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgKyAncHgnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JyxcclxuICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnID9cclxuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi53aWR0aCArICdweCcgOlxyXG4gICAgICAgICAgICAgICAgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArICdweCcpO1xyXG4gICAgICAgICAgICBjb25zdCBtZW51SGVpZ2h0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldEhlaWdodDtcclxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSA9IG1lbnVIZWlnaHQgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ID4gd2luZG93LmlubmVySGVpZ2h0O1xyXG4gICAgICAgICAgICBjb25zdCBoZWlnaHRNb3JlV2luZG93VG9wID0gbWVudUhlaWdodCAtIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnkgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgLyAyID4gNDg7IC8vIGhlYWRlciBoZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd1JpZ2h0ID0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCArIDI1MCA+IHdpbmRvdy5pbm5lcldpZHRoO1xyXG5cclxuICAgICAgICAgICAgY29uc3Qgc3BhY2VCZXR3ZWVuRWxBbmRSaWdodEJvcmRlciA9IHdpbmRvdy5pbm5lcldpZHRoIC0gKHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgpO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoTW9yZVJpZ2h0ID0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueCA8IHNwYWNlQmV0d2VlbkVsQW5kUmlnaHRCb3JkZXI7XHJcblxyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9ICd0b3AnO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93Qm90dG9tICYmIHdpZHRoTW9yZVdpbmRvd1JpZ2h0ICYmICFoZWlnaHRNb3JlV2luZG93VG9wIHx8IHRoaXMucG9zaXRpb24gPT09ICd0b3AtbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAndG9wLWxlZnQnO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0cmFuc2Zvcm0nLFxyXG4gICAgICAgICAgICAgICAgICAndHJhbnNsYXRlKC0xMDAlLCBjYWxjKC0xMDAlICsgJyArIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCArICdweCkpJyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dUb3AgJiYgaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9ICdsZWZ0LWNlbnRlcic7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tbGVmdCcpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJywgYHRyYW5zbGF0ZShjYWxjKC0xMDAlICsgJHsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ud2lkdGggfXB4KSwgJHsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgOCB9cHgpYCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc3QgY2xhc3NOYW1lID0gdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcCcgPyAnY29udGVudC10b3AnXHJcbiAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAndG9wLWxlZnQnID8gJ2NvbnRlbnQtdG9wLWxlZnQnXHJcbiAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20nID8gJ2NvbnRlbnQtYm90dG9tJ1xyXG4gICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdib3R0b20tbGVmdCcgPyAnY29udGVudC1ib3R0b20tbGVmdCdcclxuICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdsZWZ0JyA/ICdjb250ZW50LWxlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgICA6IHRoaXMucG9zaXRpb24gPT09ICdsZWZ0LWNlbnRlcicgPyAnY29udGVudC1sZWZ0LWNlbnRlcidcclxuICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAncmlnaHQnID8gJ2NvbnRlbnQtcmlnaHQnXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLXJpZ2h0JyA/ICdjb250ZW50LWJvdHRvbS1yaWdodCcgOiAnJztcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIGNsYXNzTmFtZSk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGRlZmF1bHRDaGlsZFBhZGRpbmcgPSAzO1xyXG4gICAgICAgICAgICBjb25zdCB3aWR0aE1vcmVXaW5kb3dSaWdodCA9IHdpbmRvdy5pbm5lcldpZHRoIC0gdGhpcy5wb3NpdGlvbi5jbGllbnRYIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoIC0gZGVmYXVsdFBhZGRpbmc7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtIHRoaXMucG9zaXRpb24uY2xpZW50WSAtIHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgLSBkZWZhdWx0UGFkZGluZztcclxuICAgICAgICAgICAgdGhpcy53aWR0aE1vcmVSaWdodCA9ICEod2lkdGhNb3JlV2luZG93UmlnaHQgPCAwKTtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MgPSB3aWR0aE1vcmVXaW5kb3dSaWdodCA8IDBcclxuICAgICAgICAgICAgICA/IC10aGlzLnBvc2l0aW9uLnggKyAtZGVmYXVsdENoaWxkUGFkZGluZ1xyXG4gICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbi54ICsgZGVmYXVsdENoaWxkUGFkZGluZyArIHhEaWZmZXJlbmNlO1xyXG5cclxuICAgICAgICAgICAgY29uc3QgZGVsdGFIZWlnaHQgPSB3aWR0aE1vcmVXaW5kb3dCb3R0b20gPCAwID8gd2lkdGhNb3JlV2luZG93Qm90dG9tIDogZGVmYXVsdERlbHRhO1xyXG5cclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICd0b3AnLCAodGhpcy5wb3NpdGlvbi55ICsgZGVsdGFIZWlnaHQpICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbGVmdCcsIChjYWxjdWxhdGVkSG9yaXphbnRhbGx5UG9zKSArICdweCcpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3otaW5kZXgnLCAnMTAwMTAnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
|
|
97
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItZHJvcGRvd24vZHItZHJvcGRvd24tcG9zaXRpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBVSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFPaEYsTUFBTSxPQUFPLDJCQUEyQjtJQU9wQyxZQUFvQixFQUFjLEVBQVUsUUFBbUI7UUFBM0MsT0FBRSxHQUFGLEVBQUUsQ0FBWTtRQUFVLGFBQVEsR0FBUixRQUFRLENBQVc7UUFKdEQsYUFBUSxHQUFxQyxNQUFNLENBQUM7SUFLN0QsQ0FBQztJQUVELFFBQVE7UUFDSixVQUFVLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2IsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBQ3BCLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLGNBQWMsR0FBRyxDQUFDLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtZQUMzQixZQUFZLEdBQUcsQ0FBQyxDQUFDO1lBQ2pCLGNBQWMsR0FBRyxFQUFFLENBQUM7WUFDcEIsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNoSCxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFFN0YsSUFBSSxDQUFDLFFBQVEsR0FBRztnQkFDWixDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVztnQkFDcEMsQ0FBQyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsU0FBUyxHQUFHLENBQUM7Z0JBQ2xFLE9BQU8sRUFBRSxVQUFVLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsV0FBVztnQkFDckYsT0FBTyxFQUFFLFVBQVUsQ0FBQyxDQUFDO2FBQ3hCLENBQUM7U0FDTDtRQUVELElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxLQUFLLFFBQVEsRUFBRTtZQUNuQyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQ2pELElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbkUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQ2xELElBQUksQ0FBQyxRQUFRLEtBQUssT0FBTyxDQUFDLENBQUM7Z0JBQ3pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsQ0FBQztnQkFDbEUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUN0QyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUM7WUFDdEQsTUFBTSxzQkFBc0IsR0FBRyxVQUFVLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDO1lBQzNGLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsaUJBQWlCO1lBQy9ILE1BQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQztZQUVqRixNQUFNLDRCQUE0QixHQUFHLE1BQU0sQ0FBQyxVQUFVLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQ3pILElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyw0QkFBNEIsQ0FBQztZQUUvRSxJQUFJLHNCQUFzQixFQUFFO2dCQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQzthQUN6QjtZQUNELElBQUksc0JBQXNCLElBQUksb0JBQW9CLElBQUksQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLFVBQVUsRUFBRTtnQkFDeEcsSUFBSSxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFdBQVcsRUFDdkQsZ0NBQWdDLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQzthQUNqRjtZQUNELElBQUksbUJBQW1CLElBQUksc0JBQXNCLEVBQUU7Z0JBQy9DLElBQUksQ0FBQyxRQUFRLEdBQUcsYUFBYSxDQUFDO2FBQ2pDO1lBQ0QsSUFBSSxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsRUFBRTtnQkFDakMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsV0FBVyxFQUFFLDBCQUEyQixJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBTSxRQUFTLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBRSxLQUFLLENBQUMsQ0FBQzthQUMxSztZQUNELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLENBQUMsQ0FBQyxhQUFhO2dCQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGtCQUFrQjtvQkFDakQsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxnQkFBZ0I7d0JBQzdDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMscUJBQXFCOzRCQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLGNBQWM7Z0NBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGFBQWEsQ0FBQyxDQUFDLENBQUMscUJBQXFCO29DQUN2RCxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsS0FBSyxPQUFPLENBQUMsQ0FBQyxDQUFDLGVBQWU7d0NBQzNDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLGNBQWMsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUMvRSxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLENBQUMsQ0FBQztZQUN6RCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1lBQzlCLE1BQU0sb0JBQW9CLEdBQUcsTUFBTSxDQUFDLFVBQVUsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsR0FBRyxjQUFjLENBQUMsQ0FBQztZQUM5SCxNQUFNLHFCQUFxQixHQUFHLE1BQU0sQ0FBQyxXQUFXLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEdBQUcsY0FBYyxDQUFDLENBQUM7WUFDakksTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsVUFBVSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLENBQUMsV0FBVyxHQUFHLGNBQWMsQ0FBQyxDQUFDO1lBQzFILElBQUksQ0FBQyxjQUFjLEdBQUcsQ0FBQyxDQUFDLG9CQUFvQixHQUFHLENBQUMsQ0FBQyxDQUFDO1lBRWxELElBQUkseUJBQXlCLEdBQUcsb0JBQW9CLEdBQUcsQ0FBQztnQkFDdEQsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7Z0JBQ3pDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxtQkFBbUIsR0FBRyxXQUFXLENBQUM7WUFFeEQsSUFBSSxnQkFBZ0IsSUFBSSxDQUFDLEVBQUU7Z0JBQ3pCLHlCQUF5QixJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQzthQUNoRTtZQUVELE1BQU0sV0FBVyxHQUFHLHFCQUFxQixHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQztZQUVyRixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQztZQUM3RixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1lBQzFGLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLFNBQVMsRUFBRSxPQUFPLENBQUMsQ0FBQztTQUNyRTtJQUNMLENBQUM7OztZQW5HSixTQUFTLFNBQUM7Z0JBQ1AsUUFBUSxFQUFFLHNCQUFzQjtnQkFDaEMsUUFBUSxFQUFFLGtCQUFrQjthQUMvQjs7O1lBTm1CLFVBQVU7WUFBaUIsU0FBUzs7O2lDQVNuRCxLQUFLO3VCQUNMLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIFJlbmRlcmVyMiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJRHJvcGRvd25Db29yZGluYXRlLCBFbFBvc2l0aW9uIH0gZnJvbSAnLi4vbW9kZWxzL2Ryb3Bkb3duJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gICAgc2VsZWN0b3I6ICdbZHJEcm9wZG93blBvc2l0aW9uXScsXHJcbiAgICBleHBvcnRBczogJ2Ryb3Bkb3duUG9zaXRpb24nXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckRyb3Bkb3duUG9zaXRpb25EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xyXG5cclxuICAgIEBJbnB1dCgpIGRyRHJvcGRvd25Qb3NpdGlvbjtcclxuICAgIEBJbnB1dCgpIHBvc2l0aW9uOiBFbFBvc2l0aW9uIHwgSURyb3Bkb3duQ29vcmRpbmF0ZSA9ICdsZWZ0JztcclxuXHJcbiAgICB3aWR0aE1vcmVSaWdodDogYm9vbGVhbjtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHtcclxuICAgIH1cclxuXHJcbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgICAgICBzZXRUaW1lb3V0KHRoaXMuY2FsY3VsYXRlUG9zaXRpb24uYmluZCh0aGlzKSwgMSk7XHJcbiAgICB9XHJcblxyXG4gICAgY2FsY3VsYXRlUG9zaXRpb24oKSB7XHJcbiAgICAgICAgbGV0IHhEaWZmZXJlbmNlID0gMDtcclxuICAgICAgICBsZXQgZGVmYXVsdERlbHRhID0gMTA7XHJcbiAgICAgICAgbGV0IGRlZmF1bHRQYWRkaW5nID0gMDtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMucG9zaXRpb24gPT09ICdjaGlsZCcpIHtcclxuICAgICAgICAgICAgZGVmYXVsdERlbHRhID0gMDtcclxuICAgICAgICAgICAgZGVmYXVsdFBhZGRpbmcgPSAxMDtcclxuICAgICAgICAgICAgeERpZmZlcmVuY2UgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoIC0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICBjb25zdCBwYXJlbnRSZWN0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LnBhcmVudEVsZW1lbnQucGFyZW50RWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSB7XHJcbiAgICAgICAgICAgICAgICB4OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGgsXHJcbiAgICAgICAgICAgICAgICB5OiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFRvcCAtIDksXHJcbiAgICAgICAgICAgICAgICBjbGllbnRYOiBwYXJlbnRSZWN0LnggKyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQucGFyZW50RWxlbWVudC5wYXJlbnRFbGVtZW50Lm9mZnNldFdpZHRoLFxyXG4gICAgICAgICAgICAgICAgY2xpZW50WTogcGFyZW50UmVjdC55XHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zaXRpb24gPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndG9wJyxcclxuICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55IC0gdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0ICsgJ3B4JyA6XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnbGVmdCcsXHJcbiAgICAgICAgICAgICAgdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyA/XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ud2lkdGggKyAncHgnIDpcclxuICAgICAgICAgICAgICAgIHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyAncHgnKTtcclxuICAgICAgICAgICAgY29uc3QgbWVudUhlaWdodCA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQ7XHJcbiAgICAgICAgICAgIGNvbnN0IGhlaWdodE1vcmVXaW5kb3dCb3R0b20gPSBtZW51SGVpZ2h0ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24ueSA+IHdpbmRvdy5pbm5lckhlaWdodDtcclxuICAgICAgICAgICAgY29uc3QgaGVpZ2h0TW9yZVdpbmRvd1RvcCA9IG1lbnVIZWlnaHQgLSB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi55ICsgdGhpcy5kckRyb3Bkb3duUG9zaXRpb24uaGVpZ2h0IC8gMiA+IDQ4OyAvLyBoZWFkZXIgaGVpZ2h0O1xyXG4gICAgICAgICAgICBjb25zdCB3aWR0aE1vcmVXaW5kb3dSaWdodCA9IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggKyAyNTAgPiB3aW5kb3cuaW5uZXJXaWR0aDtcclxuXHJcbiAgICAgICAgICAgIGNvbnN0IHNwYWNlQmV0d2VlbkVsQW5kUmlnaHRCb3JkZXIgPSB3aW5kb3cuaW5uZXJXaWR0aCAtICh0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi54ICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoKTtcclxuICAgICAgICAgICAgdGhpcy53aWR0aE1vcmVSaWdodCA9IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLnggPCBzcGFjZUJldHdlZW5FbEFuZFJpZ2h0Qm9yZGVyO1xyXG5cclxuICAgICAgICAgICAgaWYgKGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAndG9wJztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBpZiAoaGVpZ2h0TW9yZVdpbmRvd0JvdHRvbSAmJiB3aWR0aE1vcmVXaW5kb3dSaWdodCAmJiAhaGVpZ2h0TW9yZVdpbmRvd1RvcCB8fCB0aGlzLnBvc2l0aW9uID09PSAndG9wLWxlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnBvc2l0aW9uID0gJ3RvcC1sZWZ0JztcclxuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAndHJhbnNmb3JtJyxcclxuICAgICAgICAgICAgICAgICAgJ3RyYW5zbGF0ZSgtMTAwJSwgY2FsYygtMTAwJSArICcgKyB0aGlzLmRyRHJvcGRvd25Qb3NpdGlvbi5oZWlnaHQgKyAncHgpKScpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmIChoZWlnaHRNb3JlV2luZG93VG9wICYmIGhlaWdodE1vcmVXaW5kb3dCb3R0b20pIHtcclxuICAgICAgICAgICAgICAgIHRoaXMucG9zaXRpb24gPSAnbGVmdC1jZW50ZXInO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGlmICh0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLWxlZnQnKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RyYW5zZm9ybScsIGB0cmFuc2xhdGUoY2FsYygtMTAwJSArICR7IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLndpZHRoIH1weCksICR7IHRoaXMuZHJEcm9wZG93blBvc2l0aW9uLmhlaWdodCArIDggfXB4KWApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnN0IGNsYXNzTmFtZSA9IHRoaXMucG9zaXRpb24gPT09ICd0b3AnID8gJ2NvbnRlbnQtdG9wJ1xyXG4gICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ3RvcC1sZWZ0JyA/ICdjb250ZW50LXRvcC1sZWZ0J1xyXG4gICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tJyA/ICdjb250ZW50LWJvdHRvbSdcclxuICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnYm90dG9tLWxlZnQnID8gJ2NvbnRlbnQtYm90dG9tLWxlZnQnXHJcbiAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdCcgPyAnY29udGVudC1sZWZ0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgOiB0aGlzLnBvc2l0aW9uID09PSAnbGVmdC1jZW50ZXInID8gJ2NvbnRlbnQtbGVmdC1jZW50ZXInXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ3JpZ2h0JyA/ICdjb250ZW50LXJpZ2h0J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbiA9PT0gJ2JvdHRvbS1yaWdodCcgPyAnY29udGVudC1ib3R0b20tcmlnaHQnIDogJyc7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5lbC5uYXRpdmVFbGVtZW50LCBjbGFzc05hbWUpO1xyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3otaW5kZXgnLCAnMTAwMTAnKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBjb25zdCBkZWZhdWx0Q2hpbGRQYWRkaW5nID0gMztcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGhNb3JlV2luZG93UmlnaHQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtICh0aGlzLnBvc2l0aW9uLmNsaWVudFggLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0V2lkdGggLSBkZWZhdWx0UGFkZGluZyk7XHJcbiAgICAgICAgICAgIGNvbnN0IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA9IHdpbmRvdy5pbm5lckhlaWdodCAtICh0aGlzLnBvc2l0aW9uLmNsaWVudFkgLSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQub2Zmc2V0SGVpZ2h0IC0gZGVmYXVsdFBhZGRpbmcpO1xyXG4gICAgICAgICAgICBjb25zdCBzcGFjZVJpZ2h0QW1vdW50ID0gd2luZG93LmlubmVyV2lkdGggLSAodGhpcy5wb3NpdGlvbi5jbGllbnRYICsgdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoICsgZGVmYXVsdFBhZGRpbmcpO1xyXG4gICAgICAgICAgICB0aGlzLndpZHRoTW9yZVJpZ2h0ID0gISh3aWR0aE1vcmVXaW5kb3dSaWdodCA8IDApO1xyXG5cclxuICAgICAgICAgICAgbGV0IGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MgPSB3aWR0aE1vcmVXaW5kb3dSaWdodCA8IDBcclxuICAgICAgICAgICAgICA/IC10aGlzLnBvc2l0aW9uLnggKyAtZGVmYXVsdENoaWxkUGFkZGluZ1xyXG4gICAgICAgICAgICAgIDogdGhpcy5wb3NpdGlvbi54ICsgZGVmYXVsdENoaWxkUGFkZGluZyArIHhEaWZmZXJlbmNlO1xyXG5cclxuICAgICAgICAgICAgaWYgKHNwYWNlUmlnaHRBbW91bnQgPD0gMCkge1xyXG4gICAgICAgICAgICAgIGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MgLT0gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm9mZnNldFdpZHRoO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBjb25zdCBkZWx0YUhlaWdodCA9IHdpZHRoTW9yZVdpbmRvd0JvdHRvbSA8IDAgPyB3aWR0aE1vcmVXaW5kb3dCb3R0b20gOiBkZWZhdWx0RGVsdGE7XHJcblxyXG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RvcCcsICh0aGlzLnBvc2l0aW9uLnkgKyBkZWx0YUhlaWdodCkgKyAncHgnKTtcclxuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdsZWZ0JywgKGNhbGN1bGF0ZWRIb3JpemFudGFsbHlQb3MpICsgJ3B4Jyk7XHJcbiAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnei1pbmRleCcsICcxMDAxMCcpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG4iXX0=
|
|
@@ -1,65 +1,75 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Input, ChangeDetectorRef, ViewChild } from '@angular/core';
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Input, ChangeDetectorRef, ViewChild, Output, EventEmitter } from '@angular/core';
|
|
2
2
|
import { NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { MAT_DEFAULT_DATE_FORMAT
|
|
3
|
+
import { MAT_DEFAULT_DATE_FORMAT } from '../../models/datePicker';
|
|
4
4
|
import * as moment from 'moment';
|
|
5
|
+
import { DrDatePickerCustomHeaderComponent } from './dr-date-picker_custom-header/dr-date-picker_custom-header.component';
|
|
6
|
+
import { DateAdapter } from '@angular/material/core';
|
|
7
|
+
import { DrDatePickerService } from './dr-date-picker.service';
|
|
8
|
+
import { Subject } from 'rxjs';
|
|
9
|
+
import { takeUntil } from 'rxjs/operators';
|
|
5
10
|
const noop = () => { };
|
|
6
11
|
const ɵ0 = noop;
|
|
7
12
|
export class DrDatePickerComponent {
|
|
8
|
-
constructor(cdr) {
|
|
13
|
+
constructor(cdr, _dateAdapter, datePickerService) {
|
|
9
14
|
this.cdr = cdr;
|
|
15
|
+
this._dateAdapter = _dateAdapter;
|
|
16
|
+
this.datePickerService = datePickerService;
|
|
17
|
+
this._destroyed = new Subject();
|
|
10
18
|
this.readonly = true;
|
|
11
|
-
this._lastView = 'month';
|
|
12
19
|
this._format = MAT_DEFAULT_DATE_FORMAT;
|
|
20
|
+
this.customHeader = DrDatePickerCustomHeaderComponent;
|
|
21
|
+
this.onChangeFormat = new EventEmitter();
|
|
22
|
+
this.timeframeSelection = false;
|
|
13
23
|
this.placeholder = 'Select';
|
|
14
24
|
this.min = null;
|
|
15
25
|
this.max = null;
|
|
26
|
+
this.calendarViewSetup = {
|
|
27
|
+
'year': (calendar) => calendar.currentView = 'multi-year',
|
|
28
|
+
'month': (calendar) => calendar.currentView = 'year',
|
|
29
|
+
'quarter': (calendar) => calendar.currentView = 'none',
|
|
30
|
+
'day': (calendar) => calendar.currentView = 'month'
|
|
31
|
+
};
|
|
32
|
+
this.pagingSetup = {
|
|
33
|
+
'year': (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
|
|
34
|
+
'quarter': (forward) => this.pagingDateChange('addCalendarMonths', 3, forward),
|
|
35
|
+
'month': (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),
|
|
36
|
+
'day': (forward) => this.pagingDateChange('addCalendarDays', 1, forward)
|
|
37
|
+
};
|
|
16
38
|
this.innerValue = null;
|
|
17
39
|
this.onTouchedCallback = noop;
|
|
18
40
|
this.onChangeCallback = noop;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
this._lastView = 'month';
|
|
32
|
-
this._format = MAT_DEFAULT_DATE_FORMAT;
|
|
33
|
-
}
|
|
34
|
-
this.cdr.markForCheck();
|
|
41
|
+
datePickerService.format
|
|
42
|
+
.pipe(takeUntil(this._destroyed))
|
|
43
|
+
.subscribe((value) => {
|
|
44
|
+
this._format = value;
|
|
45
|
+
this.onChangeFormat.emit(this.normalizeValue(value));
|
|
46
|
+
cdr.markForCheck();
|
|
47
|
+
});
|
|
48
|
+
datePickerService.updatedQuater
|
|
49
|
+
.pipe(takeUntil(this._destroyed))
|
|
50
|
+
.subscribe((value) => {
|
|
51
|
+
this.writeValue(value);
|
|
52
|
+
});
|
|
35
53
|
}
|
|
36
54
|
set format(value) {
|
|
37
55
|
if (value) {
|
|
38
|
-
|
|
39
|
-
value = value.replace(/d/g, 'D');
|
|
40
|
-
}
|
|
41
|
-
else if (value.includes('D')) {
|
|
42
|
-
value = value.replace(/D/g, 'd');
|
|
43
|
-
}
|
|
56
|
+
value = this.normalizeValue(value);
|
|
44
57
|
this._format = value;
|
|
58
|
+
this.datePickerService.format.next(value);
|
|
59
|
+
this.datePickerService.setTimeframe(value);
|
|
45
60
|
this.cdr.markForCheck();
|
|
46
61
|
}
|
|
47
62
|
}
|
|
48
63
|
ngAfterViewInit() {
|
|
49
|
-
|
|
64
|
+
this.datePickerService.calendarInstance = this.dp;
|
|
65
|
+
if (this._format === MAT_DEFAULT_DATE_FORMAT) {
|
|
50
66
|
return;
|
|
51
67
|
}
|
|
52
|
-
const lastView = this._lastView;
|
|
53
68
|
setTimeout(() => {
|
|
54
69
|
const popupInstance = this.dp._popupComponentRef.instance;
|
|
55
70
|
const calenderInstance = popupInstance._calendar._calendarHeaderPortal._attachedHost._attachedRef.instance;
|
|
56
71
|
calenderInstance.currentPeriodClicked = function () {
|
|
57
|
-
|
|
58
|
-
this.calendar.currentView = 'multi-year';
|
|
59
|
-
}
|
|
60
|
-
else if (lastView === 'year') {
|
|
61
|
-
this.calendar.currentView = this.calendar.currentView == 'year' ? 'multi-year' : 'year';
|
|
62
|
-
}
|
|
72
|
+
this.calendarViewSetup[this.datePickerService.timeframe] && this.calendarViewSetup[this.datePickerService.timeframe](this.calendar);
|
|
63
73
|
};
|
|
64
74
|
}, 1000);
|
|
65
75
|
}
|
|
@@ -87,45 +97,81 @@ export class DrDatePickerComponent {
|
|
|
87
97
|
else {
|
|
88
98
|
this.innerValue = value;
|
|
89
99
|
}
|
|
100
|
+
if (this.timeframeSelection) {
|
|
101
|
+
moment(value).endOf(this.datePickerService.timeframe);
|
|
102
|
+
}
|
|
90
103
|
this.cdr.markForCheck();
|
|
91
104
|
}
|
|
92
105
|
}
|
|
106
|
+
get quarterDisplay() {
|
|
107
|
+
return this.datePickerService.getQuarterDisplay(this.value, this._format);
|
|
108
|
+
}
|
|
109
|
+
normalizeValue(value) {
|
|
110
|
+
if (value.includes('d')) {
|
|
111
|
+
value = value.replace(/d/g, 'D');
|
|
112
|
+
}
|
|
113
|
+
else if (value.includes('D')) {
|
|
114
|
+
value = value.replace(/D/g, 'd');
|
|
115
|
+
}
|
|
116
|
+
return value;
|
|
117
|
+
}
|
|
93
118
|
chosenMonthHandler(normalizedMonth, datepicker) {
|
|
94
|
-
if (this.
|
|
119
|
+
if (this.datePickerService.timeframe == 'month') {
|
|
95
120
|
this.writeValue(normalizedMonth);
|
|
96
121
|
this.onChangeCallback(normalizedMonth);
|
|
97
122
|
datepicker.close();
|
|
98
123
|
}
|
|
99
124
|
}
|
|
100
125
|
chosenYearHandler(normalizedYear, datepicker) {
|
|
101
|
-
if (this.
|
|
126
|
+
if (this.datePickerService.timeframe == 'year') {
|
|
102
127
|
this.writeValue(normalizedYear);
|
|
103
128
|
this.onChangeCallback(normalizedYear);
|
|
104
129
|
datepicker.close();
|
|
105
130
|
}
|
|
131
|
+
else if (['quarter', 'day'].includes(this.datePickerService.timeframe)) {
|
|
132
|
+
this.writeValue(normalizedYear);
|
|
133
|
+
datepicker.close();
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
pagingClicked(forward) {
|
|
137
|
+
this.pagingSetup[this.datePickerService.timeframe] && this.pagingSetup[this.datePickerService.timeframe](forward);
|
|
138
|
+
this.datePickerService.calendarInstance.close();
|
|
139
|
+
}
|
|
140
|
+
pagingDateChange(actionCall, amount, forward) {
|
|
141
|
+
const newValue = this._dateAdapter[actionCall](this.innerValue, forward ? amount : -amount);
|
|
142
|
+
this.writeValue(newValue);
|
|
143
|
+
this.onChangeCallback(newValue);
|
|
144
|
+
}
|
|
145
|
+
ngOnDestroy() {
|
|
146
|
+
this._destroyed.next();
|
|
147
|
+
this._destroyed.complete();
|
|
106
148
|
}
|
|
107
149
|
}
|
|
108
150
|
DrDatePickerComponent.decorators = [
|
|
109
151
|
{ type: Component, args: [{
|
|
110
152
|
selector: 'dr-date-picker',
|
|
111
|
-
template: "<i class=\"dr-icon-
|
|
153
|
+
template: "<div class=\"dr-datepicker__with-timeframe-selection\"\r\n *ngIf=\"timeframeSelection;else noTimeframeSelection\">\r\n <div class=\"dr-input-date-paging__flip-page-button\"\r\n (click)=\"pagingClicked(false)\"\r\n >\r\n <i class=\"dr-icon-arrow-left presentation_buttons-navigate_input\"></i> \r\n </div>\r\n <div class=\"dr-input-date-paging__quarter-display\"\r\n *ngIf=\"_format.includes('Q')\"\r\n (click)=\"datePicker.open()\"\r\n >{{quarterDisplay}}</div>\r\n <input [(ngModel)]=\"value\"\r\n (click)=\"datePicker.open()\"\r\n [matDatepicker]=\"datePicker\"\r\n [placeholder]=\"placeholder\"\r\n [drDatePickerFormat]=\"_format\"\r\n [readonly]=\"readonly\"\r\n [class]=\"_format.includes('Q') ? 'when-quarter' : ''\"\r\n [min]=\"min\"\r\n [max]=\"max\"/>\r\n <div class=\"dr-input-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 <mat-datepicker #datePicker\r\n class=\"dr-timeframe-datepicker\"\r\n [calendarHeaderComponent]=\"customHeader\"\r\n (yearSelected)=\"chosenYearHandler($event, datePicker)\"\r\n (monthSelected)=\"chosenMonthHandler($event, datePicker)\">\r\n </mat-datepicker>\r\n</div>\r\n\r\n<ng-template class=\"dr-datepicker__no-timeframe-selection\"\r\n #noTimeframeSelection>\r\n <i class=\"dr-icon-schedule\"></i>\r\n <input [(ngModel)]=\"value\"\r\n (click)=\"datePicker.open()\"\r\n [matDatepicker]=\"datePicker\"\r\n [placeholder]=\"placeholder\"\r\n [drDatePickerFormat]=\"_format\"\r\n [readonly]=\"readonly\"\r\n [min]=\"min\"\r\n [max]=\"max\"/>\r\n <mat-datepicker #datePicker\r\n (yearSelected)=\"chosenYearHandler($event, datePicker)\"\r\n (monthSelected)=\"chosenMonthHandler($event, datePicker)\">\r\n </mat-datepicker>\r\n</ng-template>\r\n\r\n",
|
|
112
154
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
113
155
|
providers: [
|
|
114
156
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerComponent, multi: true }
|
|
115
157
|
],
|
|
116
|
-
styles: [":host{position:relative;width:100%;display:flex;flex-direction:row;min-height:32px;height:32px;font-size:14px;font-family:\"Poppins\",sans-serif;background:#fff;border:1px solid #C3C4CE;border-radius:6px;color:#85889c;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#85889c}:host:focus-within{border-color:#21b8f1!important;color:#151b3f}:host.disabled{pointer-events:none;border:none;color:#85889c;background:#E5E6EA}:host.ng-valid.ng-dirty{border-color:#03a678}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#de2833!important}:host.ng-untouched.ng-valid{border-color:#c3c4ce}:host:after,:host:before{position:absolute;display:flex;border-color:#
|
|
158
|
+
styles: [":host{position:relative;width:100%;display:flex;flex-direction:row;min-height:32px;height:32px;font-size:14px;font-family:\"Poppins\",sans-serif;background-color:#fff;border:1px solid #C3C4CE;border-radius:6px;color:#85889c;overflow:hidden;outline:none;cursor:pointer}:host.period-datepicker{border:none}:host:hover{border-color:#85889c}:host:focus-within{border-color:#21b8f1!important;color:#151b3f}:host.disabled{pointer-events:none;border:none;color:#85889c;background:#E5E6EA}:host.ng-valid.ng-dirty{border-color:#03a678}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#de2833!important}:host.ng-untouched.ng-valid{border-color:#c3c4ce}:host:after,:host:before{position:absolute;display:flex;border-color:#999999 transparent transparent;color:#999}:host:after{content:\"\";height:0;width:0;border-style:solid;border-width:5px 5px 2.5px;right:11px;top:13px}:host i{position:absolute;color:#999;left:8px;top:3px}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#85889c;background:transparent}:host input::-webkit-search-decoration,:host input::-webkit-search-cancel-button,:host input::-webkit-search-results-button,:host input::-webkit-search-results-decoration{-webkit-appearance:none}:host .dr-datepicker__with-timeframe-selection{display:flex;align-items:center}:host .dr-datepicker__with-timeframe-selection .dr-input-date-paging__flip-page-button{width:25px;height:25px;border-radius:16px;padding:0;background-color:#fff}:host .dr-datepicker__with-timeframe-selection .dr-input-date-paging__flip-page-button i{position:relative;color:#0c142b;top:unset;left:unset}:host .dr-datepicker__with-timeframe-selection .dr-input-date-paging__flip-page-button:hover{background-color:#f2f2fb;color:#4646ce}:host .dr-datepicker__with-timeframe-selection input{width:90px;padding:0;border-radius:5px;text-decoration:underline;text-align:center}:host .dr-datepicker__with-timeframe-selection input:hover{background-color:#f2f2fb;color:#4646ce}:host .dr-input-date-paging__quarter-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;-webkit-text-decoration-line:underline;text-decoration-line:underline}:host .dr-input-date-paging__quarter-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;-webkit-text-decoration-line:underline;text-decoration-line:underline;color:#4646ce}::ng-deep .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-calendar-body-cell:not(.mat-calendar-body-disabled):hover>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background:#F2F2FB;color:#4646ce;font-weight:600}::ng-deep .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-button-focus-overlay{background:#F3F7FF}::ng-deep .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#F3F7FF;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-calendar-controls .mat-calendar-period-button:hover{background:#F3F7FF;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#19181a}::ng-deep .mat-calendar-table-header-divider{display:none}::ng-deep .mat-calendar-body-label{color:#fff;padding:0}\n"]
|
|
117
159
|
},] }
|
|
118
160
|
];
|
|
119
161
|
DrDatePickerComponent.ctorParameters = () => [
|
|
120
|
-
{ type: ChangeDetectorRef }
|
|
162
|
+
{ type: ChangeDetectorRef },
|
|
163
|
+
{ type: DateAdapter },
|
|
164
|
+
{ type: DrDatePickerService }
|
|
121
165
|
];
|
|
122
166
|
DrDatePickerComponent.propDecorators = {
|
|
123
|
-
|
|
167
|
+
_format: [{ type: Input }],
|
|
168
|
+
onChangeFormat: [{ type: Output }],
|
|
124
169
|
format: [{ type: Input }],
|
|
170
|
+
timeframeSelection: [{ type: Input }],
|
|
125
171
|
placeholder: [{ type: Input }],
|
|
126
172
|
min: [{ type: Input }],
|
|
127
173
|
max: [{ type: Input }],
|
|
128
174
|
dp: [{ type: ViewChild, args: ['datePicker',] }]
|
|
129
175
|
};
|
|
130
176
|
export { ɵ0 };
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUM3QixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRWxHLE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBRWpDLE1BQU0sSUFBSSxHQUFHLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQzs7QUFZdEIsTUFBTSxPQUFPLHFCQUFxQjtJQTBEaEMsWUFDVSxHQUFzQjtRQUF0QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQTFEaEMsYUFBUSxHQUFHLElBQUksQ0FBQztRQUNoQixjQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLFlBQU8sR0FBRyx1QkFBdUIsQ0FBQztRQTZCekIsZ0JBQVcsR0FBVyxRQUFRLENBQUM7UUFDL0IsUUFBRyxHQUFTLElBQUksQ0FBQztRQUNqQixRQUFHLEdBQVMsSUFBSSxDQUFDO1FBb0JsQixlQUFVLEdBQVEsSUFBSSxDQUFDO1FBQ3ZCLHNCQUFpQixHQUFlLElBQUksQ0FBQztRQUNyQyxxQkFBZ0IsR0FBcUIsSUFBSSxDQUFDO0lBSTlDLENBQUM7SUF2REwsSUFBYSxRQUFRLENBQUMsSUFBcUM7UUFDekQsUUFBUSxJQUFJLEVBQUU7WUFDWixLQUFLLE1BQU07Z0JBQ1QsSUFBSSxDQUFDLFNBQVMsR0FB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ICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBJbnB1dCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0XHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCwgTU9OVEhfWUVBUl9GT1JNQVQsIFlFQVJfRk9STUFUIH0gZnJvbSAnLi4vLi4vbW9kZWxzL2RhdGVQaWNrZXInO1xyXG5pbXBvcnQgeyBNb21lbnQgfSBmcm9tICdtb21lbnQnO1xyXG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kci1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEckRhdGVQaWNrZXJDb21wb25lbnQsIG11bHRpOiB0cnVlIH1cclxuICBdLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0IHtcclxuICByZWFkb25seSA9IHRydWU7XHJcbiAgX2xhc3RWaWV3ID0gJ21vbnRoJztcclxuICBfZm9ybWF0ID0gTUFUX0RFRkFVTFRfREFURV9GT1JNQVQ7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBsYXN0Vmlldyh2aWV3OiAneWVhcicgfCAnbW9udGgnIHwgJ211bHRpLXllYXInKSB7XHJcbiAgICBzd2l0Y2ggKHZpZXcpIHtcclxuICAgICAgY2FzZSAneWVhcic6XHJcbiAgICAgICAgdGhpcy5fbGFzdFZpZXcgPSAnbXVsdGkteWVhcic7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0ID0gWUVBUl9GT1JNQVQ7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIGNhc2UgJ21vbnRoJzpcclxuICAgICAgICB0aGlzLl9sYXN0VmlldyA9ICd5ZWFyJztcclxuICAgICAgICB0aGlzLl9mb3JtYXQgPSBNT05USF9ZRUFSX0ZPUk1BVDtcclxuICAgICAgICBicmVhaztcclxuICAgICAgZGVmYXVsdDpcclxuICAgICAgICB0aGlzLl9sYXN0VmlldyA9ICdtb250aCc7XHJcbiAgICAgICAgdGhpcy5fZm9ybWF0ID0gTUFUX0RFRkFVTFRfREFURV9GT1JNQVQ7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcbiAgQElucHV0KCkgc2V0IGZvcm1hdCh2YWx1ZSkge1xyXG4gICAgaWYgKHZhbHVlKSB7XHJcbiAgICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnZCcpKSB7XHJcbiAgICAgICAgdmFsdWUgPSB2YWx1ZS5yZXBsYWNlKC9kL2csICdEJyk7XHJcbiAgICAgIH0gZWxzZSBpZiAodmFsdWUuaW5jbHVkZXMoJ0QnKSkge1xyXG4gICAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvRC9nLCAnZCcpO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuX2Zvcm1hdCA9IHZhbHVlO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyA9ICdTZWxlY3QnO1xyXG4gIEBJbnB1dCgpIG1pbjogRGF0ZSA9IG51bGw7XHJcbiAgQElucHV0KCkgbWF4OiBEYXRlID0gbnVsbDtcclxuICBAVmlld0NoaWxkKCdkYXRlUGlja2VyJykgcHVibGljIGRwO1xyXG5cclxuICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5fbGFzdFZpZXcgPT09ICdtb250aCcpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgICBjb25zdCBsYXN0VmlldyA9IHRoaXMuX2xhc3RWaWV3O1xyXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcclxuICAgICAgIGNvbnN0IHBvcHVwSW5zdGFuY2UgPSB0aGlzLmRwLl9wb3B1cENvbXBvbmVudFJlZi5pbnN0YW5jZTtcclxuICAgICAgIGNvbnN0IGNhbGVuZGVySW5zdGFuY2UgPSBwb3B1cEluc3RhbmNlLl9jYWxlbmRhci5fY2FsZW5kYXJIZWFkZXJQb3J0YWwuX2F0dGFjaGVkSG9zdC5fYXR0YWNoZWRSZWYuaW5zdGFuY2U7XHJcbiAgICAgICBjYWxlbmRlckluc3RhbmNlLmN1cnJlbnRQZXJpb2RDbGlja2VkID0gZnVuY3Rpb24gKCkge1xyXG4gICAgICAgICAgaWYgKGxhc3RWaWV3ID09PSAnbXVsdGkteWVhcicpIHtcclxuICAgICAgICAgICAgdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9ICdtdWx0aS15ZWFyJztcclxuICAgICAgICAgIH0gZWxzZSBpZiAobGFzdFZpZXcgPT09ICd5ZWFyJykge1xyXG4gICAgICAgICAgICB0aGlzLmNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gdGhpcy5jYWxlbmRhci5jdXJyZW50VmlldyA9PSAneWVhcicgPyAnbXVsdGkteWVhcicgOiAneWVhcic7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfTtcclxuICAgICAgfSwgMTAwMCk7XHJcbiAgfVxyXG4gIHByaXZhdGUgaW5uZXJWYWx1ZTogYW55ID0gbnVsbDtcclxuICBwcml2YXRlIG9uVG91Y2hlZENhbGxiYWNrOiAoKSA9PiB2b2lkID0gbm9vcDtcclxuICBwcml2YXRlIG9uQ2hhbmdlQ2FsbGJhY2s6IChfOiBhbnkpID0+IHZvaWQgPSBub29wO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICApIHsgfVxyXG5cclxuICBwdWJsaWMgZ2V0IHZhbHVlKCk6IG51bWJlciB7XHJcbiAgICByZXR1cm4gdGhpcy5pbm5lclZhbHVlO1xyXG4gIH1cclxuICBwdWJsaWMgc2V0IHZhbHVlKHY6IG51bWJlcikge1xyXG4gICAgaWYgKHYgIT09IHRoaXMuaW5uZXJWYWx1ZSkge1xyXG4gICAgICB0aGlzLmlubmVyVmFsdWUgPSB2O1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodik7XHJcbiAgICB9XHJcbiAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcclxuICAgIHRoaXMub25Ub3VjaGVkQ2FsbGJhY2sgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpOiB2b2lkIHtcclxuICAgIGlmICh2YWx1ZSAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gbW9tZW50LnVuaXgodmFsdWUpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHZhbHVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hvc2VuTW9udGhIYW5kbGVyKG5vcm1hbGl6ZWRNb250aDogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPGFueT4pIHtcclxuICAgIGlmICh0aGlzLl9sYXN0VmlldyA9PT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkTW9udGgpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobm9ybWFsaXplZE1vbnRoKTtcclxuICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hvc2VuWWVhckhhbmRsZXIobm9ybWFsaXplZFllYXI6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5fbGFzdFZpZXcgPT09ICdtdWx0aS15ZWFyJykge1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUobm9ybWFsaXplZFllYXIpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobm9ybWFsaXplZFllYXIpO1xyXG4gICAgICBkYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
177
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULHVCQUF1QixFQUN2QixLQUFLLEVBQ0wsaUJBQWlCLEVBQUUsU0FBUyxFQUE0QixNQUFNLEVBQUUsWUFBWSxFQUM3RSxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFekUsT0FBTyxFQUFFLHVCQUF1QixFQUFrRCxNQUFNLHlCQUF5QixDQUFDO0FBRWxILE9BQU8sS0FBSyxNQUFNLE1BQU0sUUFBUSxDQUFDO0FBQ2pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLHVFQUF1RSxDQUFDO0FBQzFILE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUUzQyxNQUFNLElBQUksR0FBRyxHQUFHLEVBQUUsR0FBRSxDQUFDLENBQUM7O0FBWXRCLE1BQU0sT0FBTyxxQkFBcUI7SUFxRGhDLFlBQ1UsR0FBc0IsRUFDdEIsWUFBOEIsRUFDOUIsaUJBQXNDO1FBRnRDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGlCQUFZLEdBQVosWUFBWSxDQUFrQjtRQUM5QixzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBdkR4QyxlQUFVLEdBQUcsSUFBSSxPQUFPLEVBQVMsQ0FBQztRQUMx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SSxDQUFDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDN0IsQ0FBQzs7O1lBbktGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO2dCQUMxQix3bEVBQThDO2dCQUU5QyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsU0FBUyxFQUFFO29CQUNULEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxxQkFBcUIsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO2lCQUNoRjs7YUFFRjs7O1lBeEJDLGlCQUFpQjtZQVFWLFdBQVc7WUFDWCxtQkFBbUI7OztzQkFtQnpCLEtBQUs7NkJBRUwsTUFBTTtxQkFDTixLQUFLO2lDQVNMLEtBQUs7MEJBQ0wsS0FBSztrQkFDTCxLQUFLO2tCQUNMLEtBQUs7aUJBQ0wsU0FBUyxTQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBJbnB1dCxcclxuICBDaGFuZ2VEZXRlY3RvclJlZiwgVmlld0NoaWxkLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE91dHB1dCwgRXZlbnRFbWl0dGVyXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXInO1xyXG5pbXBvcnQgeyBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCwgTU9OVEhfWUVBUl9GT1JNQVQsIFFVQVJURVJfRk9STUFULCBZRUFSX0ZPUk1BVCB9IGZyb20gJy4uLy4uL21vZGVscy9kYXRlUGlja2VyJztcclxuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlckN1c3RvbUhlYWRlckNvbXBvbmVudCB9IGZyb20gJy4vZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tICcuL2RyLWRhdGUtcGlja2VyLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuXHJcbmNvbnN0IG5vb3AgPSAoKSA9PiB7fTtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZHItZGF0ZS1waWNrZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kci1kYXRlLXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZHItZGF0ZS1waWNrZXIuY29tcG9uZW50LnNjc3MnXSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHsgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsIHVzZUV4aXN0aW5nOiBEckRhdGVQaWNrZXJDb21wb25lbnQsIG11bHRpOiB0cnVlIH1cclxuICBdLFxyXG5cclxufSlcclxuZXhwb3J0IGNsYXNzIERyRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3kge1xyXG4gIHByaXZhdGUgX2Rlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+ICgpO1xyXG4gIHJlYWRvbmx5ID0gdHJ1ZTtcclxuICBASW5wdXQoKSBfZm9ybWF0ID0gTUFUX0RFRkFVTFRfREFURV9GT1JNQVQ7XHJcbiAgY3VzdG9tSGVhZGVyID0gRHJEYXRlUGlja2VyQ3VzdG9tSGVhZGVyQ29tcG9uZW50O1xyXG4gIEBPdXRwdXQoKSBvbkNoYW5nZUZvcm1hdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPiAoKTtcclxuICBASW5wdXQoKSBzZXQgZm9ybWF0KHZhbHVlKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdmFsdWUgPSB0aGlzLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKTtcclxuICAgICAgdGhpcy5fZm9ybWF0ID0gdmFsdWU7XHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Lm5leHQodmFsdWUpO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnNldFRpbWVmcmFtZSh2YWx1ZSk7XHJcbiAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgfVxyXG4gIH1cclxuICBASW5wdXQoKSB0aW1lZnJhbWVTZWxlY3Rpb246IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nID0gJ1NlbGVjdCc7XHJcbiAgQElucHV0KCkgbWluOiBEYXRlID0gbnVsbDtcclxuICBASW5wdXQoKSBtYXg6IERhdGUgPSBudWxsO1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVQaWNrZXInKSBwdWJsaWMgZHA7XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuY2FsZW5kYXJJbnN0YW5jZSA9IHRoaXMuZHA7XHJcbiAgICBpZiAodGhpcy5fZm9ybWF0ID09PSBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgY29uc3QgcG9wdXBJbnN0YW5jZSA9IHRoaXMuZHAuX3BvcHVwQ29tcG9uZW50UmVmLmluc3RhbmNlO1xyXG4gICAgICAgY29uc3QgY2FsZW5kZXJJbnN0YW5jZSA9IHBvcHVwSW5zdGFuY2UuX2NhbGVuZGFyLl9jYWxlbmRhckhlYWRlclBvcnRhbC5fYXR0YWNoZWRIb3N0Ll9hdHRhY2hlZFJlZi5pbnN0YW5jZTtcclxuICAgICAgIGNhbGVuZGVySW5zdGFuY2UuY3VycmVudFBlcmlvZENsaWNrZWQgPSBmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgICB0aGlzLmNhbGVuZGFyVmlld1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXSAmJiB0aGlzLmNhbGVuZGFyVmlld1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXSh0aGlzLmNhbGVuZGFyKTtcclxuICAgICAgICB9O1xyXG4gICAgICB9LCAxMDAwKTtcclxuICB9XHJcblxyXG4gIGNhbGVuZGFyVmlld1NldHVwID0ge1xyXG4gICAgJ3llYXInOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ211bHRpLXllYXInLFxyXG4gICAgJ21vbnRoJzogKGNhbGVuZGFyKSA9PiBjYWxlbmRhci5jdXJyZW50VmlldyA9ICd5ZWFyJyxcclxuICAgICdxdWFydGVyJzogKGNhbGVuZGFyKSA9PiBjYWxlbmRhci5jdXJyZW50VmlldyA9ICdub25lJyxcclxuICAgICdkYXknOiAoY2FsZW5kYXIpID0+IGNhbGVuZGFyLmN1cnJlbnRWaWV3ID0gJ21vbnRoJ1xyXG4gIH1cclxuXHJcbiAgcGFnaW5nU2V0dXAgPSB7XHJcbiAgICAneWVhcic6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXHJcbiAgICAncXVhcnRlcic6IChmb3J3YXJkKSA9PiAgdGhpcy5wYWdpbmdEYXRlQ2hhbmdlKCdhZGRDYWxlbmRhck1vbnRocycsIDMsIGZvcndhcmQpLFxyXG4gICAgJ21vbnRoJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyTW9udGhzJywgMSwgZm9yd2FyZCksXHJcbiAgICAnZGF5JzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyRGF5cycsIDEsIGZvcndhcmQpXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGlubmVyVmFsdWU6IGFueSA9IG51bGw7XHJcbiAgcHJpdmF0ZSBvblRvdWNoZWRDYWxsYmFjazogKCkgPT4gdm9pZCA9IG5vb3A7XHJcbiAgcHJpdmF0ZSBvbkNoYW5nZUNhbGxiYWNrOiAoXzogYW55KSA9PiB2b2lkID0gbm9vcDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIF9kYXRlQWRhcHRlcjogRGF0ZUFkYXB0ZXI8YW55PixcclxuICAgIHByaXZhdGUgZGF0ZVBpY2tlclNlcnZpY2U6IERyRGF0ZVBpY2tlclNlcnZpY2VcclxuICApIHsgXHJcbiAgICBkYXRlUGlja2VyU2VydmljZS5mb3JtYXRcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5fZm9ybWF0ID0gdmFsdWU7XHJcbiAgICAgICAgICB0aGlzLm9uQ2hhbmdlRm9ybWF0LmVtaXQodGhpcy5ub3JtYWxpemVWYWx1ZSh2YWx1ZSkpO1xyXG4gICAgICAgICAgY2RyLm1hcmtGb3JDaGVjaygpXHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgZGF0ZVBpY2tlclNlcnZpY2UudXBkYXRlZFF1YXRlclxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95ZWQpKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodmFsdWUpO1xyXG4gICAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGdldCB2YWx1ZSgpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBzZXQgdmFsdWUodjogbnVtYmVyKSB7XHJcbiAgICBpZiAodiAhPT0gdGhpcy5pbm5lclZhbHVlKSB7XHJcbiAgICAgIHRoaXMuaW5uZXJWYWx1ZSA9IHY7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2KTtcclxuICAgIH1cclxuICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5vblRvdWNoZWRDYWxsYmFjayA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKHZhbHVlICE9PSB0aGlzLmlubmVyVmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlICYmIHR5cGVvZiB2YWx1ZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICB0aGlzLmlubmVyVmFsdWUgPSBtb21lbnQudW5peCh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5pbm5lclZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMudGltZWZyYW1lU2VsZWN0aW9uKSB7XHJcbiAgICAgICAgbW9tZW50KHZhbHVlKS5lbmRPZih0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZSk7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXQgcXVhcnRlckRpc3BsYXkoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlja2VyU2VydmljZS5nZXRRdWFydGVyRGlzcGxheSh0aGlzLnZhbHVlLCB0aGlzLl9mb3JtYXQpO1xyXG4gIH1cclxuXHJcbiAgbm9ybWFsaXplVmFsdWUodmFsdWUpIHtcclxuICAgIGlmICh2YWx1ZS5pbmNsdWRlcygnZCcpKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvZC9nLCAnRCcpO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZS5pbmNsdWRlcygnRCcpKSB7XHJcbiAgICAgIHZhbHVlID0gdmFsdWUucmVwbGFjZSgvRC9nLCAnZCcpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHZhbHVlO1xyXG4gIH1cclxuXHJcbiAgY2hvc2VuTW9udGhIYW5kbGVyKG5vcm1hbGl6ZWRNb250aDogTW9tZW50LCBkYXRlcGlja2VyOiBNYXREYXRlcGlja2VyPGFueT4pIHtcclxuICAgIGlmICh0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZSA9PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkTW9udGgpO1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sobm9ybWFsaXplZE1vbnRoKTtcclxuICAgICAgZGF0ZXBpY2tlci5jbG9zZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2hvc2VuWWVhckhhbmRsZXIobm9ybWFsaXplZFllYXI6IE1vbWVudCwgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+KSB7XHJcbiAgICBpZiAodGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUgPT0gJ3llYXInKSB7XHJcbiAgICAgIHRoaXMud3JpdGVWYWx1ZShub3JtYWxpemVkWWVhcik7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhub3JtYWxpemVkWWVhcik7XHJcbiAgICAgIGRhdGVwaWNrZXIuY2xvc2UoKTtcclxuICAgIH0gZWxzZSBpZiAoWydxdWFydGVyJywgJ2RheSddLmluY2x1ZGVzKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lKSkge1xyXG4gICAgICB0aGlzLndyaXRlVmFsdWUobm9ybWFsaXplZFllYXIpO1xyXG4gICAgICBkYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIHBhZ2luZ0NsaWNrZWQoZm9yd2FyZCkge1xyXG4gICAgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0gJiYgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0oZm9yd2FyZCk7XHJcbiAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIHBhZ2luZ0RhdGVDaGFuZ2UoYWN0aW9uQ2FsbDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgZm9yd2FyZDogYm9vbGVhbikge1xyXG4gICAgY29uc3QgbmV3VmFsdWUgPSB0aGlzLl9kYXRlQWRhcHRlclthY3Rpb25DYWxsXSh0aGlzLmlubmVyVmFsdWUsIGZvcndhcmQ/IGFtb3VudDogLSBhbW91bnQpO1xyXG4gICAgdGhpcy53cml0ZVZhbHVlKG5ld1ZhbHVlKTtcclxuICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayhuZXdWYWx1ZSk7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuX2Rlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLl9kZXN0cm95ZWQuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import { Injectable } from "@angular/core";
|
|
2
|
+
import * as moment from 'moment';
|
|
3
|
+
import { Subject, BehaviorSubject } from "rxjs";
|
|
4
|
+
import { MAT_DEFAULT_DATE_FORMAT } from "../../models/datePicker";
|
|
5
|
+
import * as i0 from "@angular/core";
|
|
6
|
+
export class DrDatePickerService {
|
|
7
|
+
constructor() {
|
|
8
|
+
this.timeframe = 'day';
|
|
9
|
+
this.format = new BehaviorSubject(MAT_DEFAULT_DATE_FORMAT);
|
|
10
|
+
this.updatedQuater = new Subject();
|
|
11
|
+
}
|
|
12
|
+
getQuarterDisplay(value, format) {
|
|
13
|
+
return 'Q' + moment(value).quarter() + format.charAt(1) + moment(value).year();
|
|
14
|
+
}
|
|
15
|
+
setTimeframe(format) {
|
|
16
|
+
const lowerCaseFormat = format.toLowerCase();
|
|
17
|
+
switch (true) {
|
|
18
|
+
case lowerCaseFormat.includes('q'):
|
|
19
|
+
this.timeframe = 'quarter';
|
|
20
|
+
break;
|
|
21
|
+
case lowerCaseFormat.includes('d'):
|
|
22
|
+
this.timeframe = 'day';
|
|
23
|
+
break;
|
|
24
|
+
case lowerCaseFormat.includes('m'):
|
|
25
|
+
this.timeframe = 'month';
|
|
26
|
+
break;
|
|
27
|
+
case lowerCaseFormat.includes('y'):
|
|
28
|
+
this.timeframe = 'year';
|
|
29
|
+
break;
|
|
30
|
+
default:
|
|
31
|
+
this.timeframe = 'day';
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
DrDatePickerService.ɵprov = i0.ɵɵdefineInjectable({ factory: function DrDatePickerService_Factory() { return new DrDatePickerService(); }, token: DrDatePickerService, providedIn: "root" });
|
|
36
|
+
DrDatePickerService.decorators = [
|
|
37
|
+
{ type: Injectable, args: [{
|
|
38
|
+
providedIn: 'root',
|
|
39
|
+
},] }
|
|
40
|
+
];
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWlucHV0cy9kci1kYXRlLXBpY2tlci9kci1kYXRlLXBpY2tlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHM0MsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUJBQXlCLENBQUM7O0FBT2xFLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFJSSxjQUFTLEdBQW9CLEtBQUssQ0FBQztRQUNuQyxXQUFNLEdBQUcsSUFBSSxlQUFlLENBQVMsdUJBQXVCLENBQUMsQ0FBQztRQUM5RCxrQkFBYSxHQUFHLElBQUksT0FBTyxFQUFVLENBQUM7S0EwQnpDO0lBdkJHLGlCQUFpQixDQUFDLEtBQUssRUFBRSxNQUFNO1FBQzNCLE9BQU8sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNuRixDQUFDO0lBRUQsWUFBWSxDQUFDLE1BQU07UUFDZixNQUFNLGVBQWUsR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDN0MsUUFBUSxJQUFJLEVBQUU7WUFDVixLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLFNBQVMsQ0FBQztnQkFDM0IsTUFBTTtZQUNWLEtBQUssZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO2dCQUN2QixNQUFNO1lBQ1YsS0FBSyxlQUFlLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztnQkFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUM7Z0JBQ3pCLE1BQU07WUFDVixLQUFLLGVBQWUsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDO2dCQUM5QixJQUFJLENBQUMsU0FBUyxHQUFHLE1BQU0sQ0FBQztnQkFDeEIsTUFBTTtZQUNWO2dCQUNJLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQzlCO0lBQ0wsQ0FBQzs7OztZQS9CSixVQUFVLFNBQUM7Z0JBQ1IsVUFBVSxFQUFFLE1BQU07YUFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTWF0RGF0ZXBpY2tlciB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9kYXRlcGlja2VyXCI7XHJcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gXCJtb21lbnRcIjtcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IFN1YmplY3QsIEJlaGF2aW9yU3ViamVjdCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IE1BVF9ERUZBVUxUX0RBVEVfRk9STUFUIH0gZnJvbSBcIi4uLy4uL21vZGVscy9kYXRlUGlja2VyXCI7XHJcblxyXG5leHBvcnQgdHlwZSBUaW1lZnJhbWVPcHRpb24gPSAnZGF5JyB8ICdxdWFydGVyJyB8ICdtb250aCcgfCAneWVhcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJTZXJ2aWNlIHtcclxuICAgIHRpbWVmcmFtZTogVGltZWZyYW1lT3B0aW9uID0gJ2RheSc7XHJcbiAgICBmb3JtYXQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oTUFUX0RFRkFVTFRfREFURV9GT1JNQVQpOyAgXHJcbiAgICB1cGRhdGVkUXVhdGVyID0gbmV3IFN1YmplY3Q8TW9tZW50PigpOyBcclxuICAgIGNhbGVuZGFySW5zdGFuY2U6IE1hdERhdGVwaWNrZXI8YW55PjtcclxuXHJcbiAgICBnZXRRdWFydGVyRGlzcGxheSh2YWx1ZSwgZm9ybWF0KXtcclxuICAgICAgICByZXR1cm4gJ1EnICsgbW9tZW50KHZhbHVlKS5xdWFydGVyKCkgKyBmb3JtYXQuY2hhckF0KDEpICsgbW9tZW50KHZhbHVlKS55ZWFyKCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHNldFRpbWVmcmFtZShmb3JtYXQpIHtcclxuICAgICAgICBjb25zdCBsb3dlckNhc2VGb3JtYXQgPSBmb3JtYXQudG9Mb3dlckNhc2UoKTtcclxuICAgICAgICBzd2l0Y2ggKHRydWUpIHtcclxuICAgICAgICAgICAgY2FzZSBsb3dlckNhc2VGb3JtYXQuaW5jbHVkZXMoJ3EnKTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZWZyYW1lID0gJ3F1YXJ0ZXInO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgbG93ZXJDYXNlRm9ybWF0LmluY2x1ZGVzKCdkJyk6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVmcmFtZSA9ICdkYXknO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGNhc2UgbG93ZXJDYXNlRm9ybWF0LmluY2x1ZGVzKCdtJyk6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVmcmFtZSA9ICdtb250aCc7XHJcbiAgICAgICAgICAgICAgICBicmVhaztcclxuICAgICAgICAgICAgY2FzZSBsb3dlckNhc2VGb3JtYXQuaW5jbHVkZXMoJ3knKTpcclxuICAgICAgICAgICAgICAgIHRoaXMudGltZWZyYW1lID0gJ3llYXInO1xyXG4gICAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIGRlZmF1bHQ6XHJcbiAgICAgICAgICAgICAgICB0aGlzLnRpbWVmcmFtZSA9ICdkYXknO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufSJdfQ==
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Inject } from "@angular/core";
|
|
2
|
+
import { Subject } from "rxjs";
|
|
3
|
+
import { take, takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { MatCalendar } from '@angular/material/datepicker';
|
|
5
|
+
import { DateAdapter, MAT_DATE_FORMATS } from '@angular/material/core';
|
|
6
|
+
import { CustomDateFormat, MAT_DEFAULT_DATE_FORMAT, MONTH_YEAR_FORMAT, QUARTER_FORMAT, YEAR_FORMAT } from "../../../models/datePicker";
|
|
7
|
+
import * as moment from 'moment';
|
|
8
|
+
import { DrDatePickerService } from "../dr-date-picker.service";
|
|
9
|
+
export class DrDatePickerCustomHeaderComponent {
|
|
10
|
+
constructor(_calendar, _dateAdapter, _dateFormats, cdr, datePickerService) {
|
|
11
|
+
this._calendar = _calendar;
|
|
12
|
+
this._dateAdapter = _dateAdapter;
|
|
13
|
+
this._dateFormats = _dateFormats;
|
|
14
|
+
this.cdr = cdr;
|
|
15
|
+
this.datePickerService = datePickerService;
|
|
16
|
+
this._destroyed = new Subject();
|
|
17
|
+
this.quarters = [1, 2, 3, 4];
|
|
18
|
+
this.selectedQuarter = 1;
|
|
19
|
+
this.timeframeOptions = [{
|
|
20
|
+
title: 'Day',
|
|
21
|
+
value: 'month',
|
|
22
|
+
format: MAT_DEFAULT_DATE_FORMAT,
|
|
23
|
+
periodLabel: () => this._dateAdapter
|
|
24
|
+
.format(this._calendar.activeDate, this._dateFormats.display.monthYearLabel)
|
|
25
|
+
.toLocaleUpperCase()
|
|
26
|
+
}, {
|
|
27
|
+
title: 'Month',
|
|
28
|
+
value: 'year',
|
|
29
|
+
format: MONTH_YEAR_FORMAT,
|
|
30
|
+
periodLabel: () => String(moment(this._calendar.activeDate).year())
|
|
31
|
+
}, {
|
|
32
|
+
title: 'Quarter',
|
|
33
|
+
value: 'none',
|
|
34
|
+
format: QUARTER_FORMAT,
|
|
35
|
+
periodLabel: () => String(moment(this._calendar.activeDate).year())
|
|
36
|
+
}, {
|
|
37
|
+
title: 'Year',
|
|
38
|
+
value: 'multi-year',
|
|
39
|
+
format: YEAR_FORMAT,
|
|
40
|
+
periodLabel: () => {
|
|
41
|
+
const currentYear = moment(this._calendar.activeDate).year();
|
|
42
|
+
const startPeriod = Math.floor(currentYear / 24) * 24;
|
|
43
|
+
return startPeriod + '-' + (startPeriod + 23);
|
|
44
|
+
}
|
|
45
|
+
}];
|
|
46
|
+
this.pagingSetup = {
|
|
47
|
+
'year': (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
|
|
48
|
+
'none': (forward) => this.pagingDateChange('addCalendarYears', 1, forward),
|
|
49
|
+
'month': (forward) => this.pagingDateChange('addCalendarMonths', 1, forward),
|
|
50
|
+
'multi-year': (forward) => this.pagingDateChange('addCalendarYears', 24, forward)
|
|
51
|
+
};
|
|
52
|
+
this.selectedTimeframe = 'month';
|
|
53
|
+
this.timeframeSelection = false;
|
|
54
|
+
this.periodMonthLabel = '';
|
|
55
|
+
this.periodYearLabel = '';
|
|
56
|
+
_calendar.stateChanges
|
|
57
|
+
.pipe(takeUntil(this._destroyed))
|
|
58
|
+
.subscribe(() => cdr.markForCheck());
|
|
59
|
+
this.datePickerService.format
|
|
60
|
+
.pipe(take(1))
|
|
61
|
+
.subscribe(value => {
|
|
62
|
+
this.selectedTimeframe = this.timeframeOptions.filter(option => option.format == value)[0].value;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
ngOnDestroy() {
|
|
66
|
+
this._destroyed.next();
|
|
67
|
+
this._destroyed.complete();
|
|
68
|
+
}
|
|
69
|
+
setPeriodLabels(currentTimeframeOption) {
|
|
70
|
+
const fullPeriodLabel = currentTimeframeOption.periodLabel();
|
|
71
|
+
if (this.selectedTimeframe === 'month') {
|
|
72
|
+
this.periodMonthLabel = fullPeriodLabel.slice(0, 3);
|
|
73
|
+
this.periodYearLabel = fullPeriodLabel.slice(4);
|
|
74
|
+
}
|
|
75
|
+
else {
|
|
76
|
+
this.periodMonthLabel = '';
|
|
77
|
+
this.periodYearLabel = fullPeriodLabel;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
setTimeframe() {
|
|
81
|
+
this.timeframeSelection = false;
|
|
82
|
+
this._calendar.currentView = this.selectedTimeframe;
|
|
83
|
+
const chosenTimeframeOption = this.timeframeOptions.filter(option => option.value === this.selectedTimeframe)[0];
|
|
84
|
+
this.setPeriodLabels(chosenTimeframeOption);
|
|
85
|
+
this.datePickerService.format.next(chosenTimeframeOption.format);
|
|
86
|
+
this.datePickerService.setTimeframe(chosenTimeframeOption.format);
|
|
87
|
+
if (this.selectedTimeframe == null) {
|
|
88
|
+
this.selectedQuarter = moment(this._calendar.activeDate).quarter();
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
get currentViewIsQuater() {
|
|
92
|
+
return !['month', 'year', 'multi-year'].includes(this._calendar.currentView);
|
|
93
|
+
}
|
|
94
|
+
switchViewOnClickOnPeriodLabel(view) {
|
|
95
|
+
this._calendar.currentView = view;
|
|
96
|
+
}
|
|
97
|
+
onSelectQuater(quarterNumber) {
|
|
98
|
+
const monthsInQuarter = 3;
|
|
99
|
+
this.selectedQuarter = moment(this._calendar.activeDate).quarter();
|
|
100
|
+
const unadaptedDate = this._dateAdapter.addCalendarMonths(this._calendar.activeDate, monthsInQuarter * (quarterNumber - this.selectedQuarter));
|
|
101
|
+
this._calendar.activeDate = unadaptedDate;
|
|
102
|
+
this.datePickerService.updatedQuater.next(moment(unadaptedDate));
|
|
103
|
+
this.datePickerService.calendarInstance.close();
|
|
104
|
+
}
|
|
105
|
+
pagingClicked(forward) {
|
|
106
|
+
this.pagingSetup[this.selectedTimeframe] && this.pagingSetup[this.selectedTimeframe](forward);
|
|
107
|
+
}
|
|
108
|
+
pagingDateChange(actionCall, amount, forward) {
|
|
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);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
DrDatePickerCustomHeaderComponent.decorators = [
|
|
115
|
+
{ type: Component, args: [{
|
|
116
|
+
selector: 'dr-date-picker_custom-header.component',
|
|
117
|
+
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
|
+
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"]
|
|
120
|
+
},] }
|
|
121
|
+
];
|
|
122
|
+
DrDatePickerCustomHeaderComponent.ctorParameters = () => [
|
|
123
|
+
{ type: MatCalendar },
|
|
124
|
+
{ type: DateAdapter },
|
|
125
|
+
{ type: CustomDateFormat, decorators: [{ type: Inject, args: [MAT_DATE_FORMATS,] }] },
|
|
126
|
+
{ type: ChangeDetectorRef },
|
|
127
|
+
{ type: DrDatePickerService }
|
|
128
|
+
];
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQWEsaUJBQWlCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFdBQVcsRUFBbUIsTUFBTSw4QkFBOEIsQ0FBQztBQUM1RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGdCQUFnQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLHVCQUF1QixFQUFFLGlCQUFpQixFQUFFLGNBQWMsRUFBRSxXQUFXLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN2SSxPQUFPLEtBQUssTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUNqQyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQWlCaEUsTUFBTSxPQUFPLGlDQUFpQztJQTRDMUMsWUFDWSxTQUE4QixFQUM5QixZQUFpQyxFQUNQLFlBQThCLEVBQ3hELEdBQXNCLEVBQ3RCLGlCQUFzQztRQUp0QyxjQUFTLEdBQVQsU0FBUyxDQUFxQjtRQUM5QixpQkFBWSxHQUFaLFlBQVksQ0FBcUI7UUFDUCxpQkFBWSxHQUFaLFlBQVksQ0FBa0I7UUFDeEQsUUFBRyxHQUFILEdBQUcsQ0FB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b25TdHJhdGVneSwgT25EZXN0cm95LCBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBJbmplY3QgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgdGFrZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBNYXRDYWxlbmRhciwgTWF0Q2FsZW5kYXJWaWV3IH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7IERhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgQ3VzdG9tRGF0ZUZvcm1hdCwgTUFUX0RFRkFVTFRfREFURV9GT1JNQVQsIE1PTlRIX1lFQVJfRk9STUFULCBRVUFSVEVSX0ZPUk1BVCwgWUVBUl9GT1JNQVQgfSBmcm9tIFwiLi4vLi4vLi4vbW9kZWxzL2RhdGVQaWNrZXJcIjtcclxuaW1wb3J0ICogYXMgbW9tZW50IGZyb20gJ21vbWVudCc7XHJcbmltcG9ydCB7IERyRGF0ZVBpY2tlclNlcnZpY2UgfSBmcm9tIFwiLi4vZHItZGF0ZS1waWNrZXIuc2VydmljZVwiO1xyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJVGltZWZyYW1lT3B0aW9uIHtcclxuICAgICAgdGl0bGU6IHN0cmluZyxcclxuICAgICAgdmFsdWU6IE1hdENhbGVuZGFyVmlldyxcclxuICAgICAgZm9ybWF0OiBzdHJpbmcsXHJcbiAgICAgIHBlcmlvZExhYmVsOiAoKSA9PiBzdHJpbmdcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ2RyLWRhdGUtcGlja2VyX2N1c3RvbS1oZWFkZXIuY29tcG9uZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnZHItZGF0ZS1waWNrZXJfY3VzdG9tLWhlYWRlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kYXRlLXBpY2tlcl9jdXN0b20taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG4gICAgXHJcbiAgfSlcclxuXHJcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJDdXN0b21IZWFkZXJDb21wb25lbnQ8TW9tZW50PiBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcbiAgICBwcml2YXRlIF9kZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG4gICAgcXVhcnRlcnMgPSBbMSwgMiwgMywgNF07XHJcbiAgICBzZWxlY3RlZFF1YXJ0ZXIgPSAxO1xyXG4gICAgdGltZWZyYW1lT3B0aW9uczogSVRpbWVmcmFtZU9wdGlvbltdID0gW3tcclxuICAgICAgdGl0bGU6ICdEYXknLFxyXG4gICAgICB2YWx1ZTogJ21vbnRoJyxcclxuICAgICAgZm9ybWF0OiBNQVRfREVGQVVMVF9EQVRFX0ZPUk1BVCxcclxuICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IHRoaXMuX2RhdGVBZGFwdGVyXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAuZm9ybWF0KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUsIHRoaXMuX2RhdGVGb3JtYXRzLmRpc3BsYXkubW9udGhZZWFyTGFiZWwpXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAudG9Mb2NhbGVVcHBlckNhc2UoKVxyXG4gICAgfSx7XHJcbiAgICAgIHRpdGxlOiAnTW9udGgnLFxyXG4gICAgICB2YWx1ZTogJ3llYXInLFxyXG4gICAgICBmb3JtYXQ6IE1PTlRIX1lFQVJfRk9STUFULFxyXG4gICAgICBwZXJpb2RMYWJlbDogKCkgPT4gU3RyaW5nKG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS55ZWFyKCkpXHJcbiAgICB9LHtcclxuICAgICAgdGl0bGU6ICdRdWFydGVyJyxcclxuICAgICAgdmFsdWU6IDxNYXRDYWxlbmRhclZpZXc+ICdub25lJyxcclxuICAgICAgZm9ybWF0OiBRVUFSVEVSX0ZPUk1BVCxcclxuICAgICAgcGVyaW9kTGFiZWw6ICgpID0+IFN0cmluZyhtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkueWVhcigpKVxyXG4gICAgfSx7XHJcbiAgICAgIHRpdGxlOiAnWWVhcicsXHJcbiAgICAgIHZhbHVlOiAnbXVsdGkteWVhcicsXHJcbiAgICAgIGZvcm1hdDogWUVBUl9GT1JNQVQsXHJcbiAgICAgIHBlcmlvZExhYmVsOiAgKCkgPT4ge1xyXG4gICAgICAgIGNvbnN0IGN1cnJlbnRZZWFyID0gbW9tZW50KHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUpLnllYXIoKTtcclxuICAgICAgICBjb25zdCBzdGFydFBlcmlvZCA9IE1hdGguZmxvb3IoY3VycmVudFllYXIvMjQpKjI0O1xyXG4gICAgICAgIHJldHVybiBzdGFydFBlcmlvZCArICctJyArIChzdGFydFBlcmlvZCArIDIzKTtcclxuICAgICAgfVxyXG4gICAgfV1cclxuXHJcblxyXG4gICAgcGFnaW5nU2V0dXAgPSB7XHJcbiAgICAgICd5ZWFyJzogKGZvcndhcmQpID0+ICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UoJ2FkZENhbGVuZGFyWWVhcnMnLCAxLCBmb3J3YXJkKSxcclxuICAgICAgJ25vbmUnOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJZZWFycycsIDEsIGZvcndhcmQpLFxyXG4gICAgICAnbW9udGgnOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJNb250aHMnLCAxLCBmb3J3YXJkKSxcclxuICAgICAgJ211bHRpLXllYXInOiAoZm9yd2FyZCkgPT4gIHRoaXMucGFnaW5nRGF0ZUNoYW5nZSgnYWRkQ2FsZW5kYXJZZWFycycsIDI0LCBmb3J3YXJkKVxyXG4gICAgfVxyXG4gICAgIFxyXG4gICAgc2VsZWN0ZWRUaW1lZnJhbWU6IE1hdENhbGVuZGFyVmlldyA9ICdtb250aCc7XHJcbiAgICB0aW1lZnJhbWVTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgIHBlcmlvZE1vbnRoTGFiZWwgPSAnJztcclxuICAgIHBlcmlvZFllYXJMYWJlbCA9ICcnO1xyXG4gICAgY29uc3RydWN0b3IoXHJcbiAgICAgICAgcHJpdmF0ZSBfY2FsZW5kYXI6IE1hdENhbGVuZGFyPE1vbWVudD4sXHJcbiAgICAgICAgcHJpdmF0ZSBfZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPE1vbWVudD4sXHJcbiAgICAgICAgQEluamVjdChNQVRfREFURV9GT1JNQVRTKSBwcml2YXRlIF9kYXRlRm9ybWF0czogQ3VzdG9tRGF0ZUZvcm1hdCxcclxuICAgICAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICAgICAgcHJpdmF0ZSBkYXRlUGlja2VyU2VydmljZTogRHJEYXRlUGlja2VyU2VydmljZSkge1xyXG4gICAgICAgICAgX2NhbGVuZGFyLnN0YXRlQ2hhbmdlc1xyXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveWVkKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoKSA9PiBjZHIubWFya0ZvckNoZWNrKCkpO1xyXG4gICAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXRcclxuICAgICAgICAgICAgLnBpcGUodGFrZSgxKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSggdmFsdWUgPT4ge1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUgPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24uZm9ybWF0ID09IHZhbHVlKVswXS52YWx1ZTtcclxuICAgICAgICAgICAgfSlcclxuICAgIH1cclxuXHJcbiAgICBuZ09uRGVzdHJveSgpIHtcclxuICAgICAgdGhpcy5fZGVzdHJveWVkLm5leHQoKTtcclxuICAgICAgdGhpcy5fZGVzdHJveWVkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc2V0UGVyaW9kTGFiZWxzKGN1cnJlbnRUaW1lZnJhbWVPcHRpb24pIHtcclxuICAgICAgY29uc3QgZnVsbFBlcmlvZExhYmVsID0gY3VycmVudFRpbWVmcmFtZU9wdGlvbi5wZXJpb2RMYWJlbCgpO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9PT0gJ21vbnRoJykge1xyXG4gICAgICAgIHRoaXMucGVyaW9kTW9udGhMYWJlbCA9IGZ1bGxQZXJpb2RMYWJlbC5zbGljZSgwLDMpO1xyXG4gICAgICAgIHRoaXMucGVyaW9kWWVhckxhYmVsID0gZnVsbFBlcmlvZExhYmVsLnNsaWNlKDQpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRoaXMucGVyaW9kTW9udGhMYWJlbCA9ICcnO1xyXG4gICAgICAgIHRoaXMucGVyaW9kWWVhckxhYmVsID0gZnVsbFBlcmlvZExhYmVsO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBcclxuICAgIHNldFRpbWVmcmFtZSgpIHtcclxuICAgICAgdGhpcy50aW1lZnJhbWVTZWxlY3Rpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXcgPSB0aGlzLnNlbGVjdGVkVGltZWZyYW1lO1xyXG4gICAgICBjb25zdCBjaG9zZW5UaW1lZnJhbWVPcHRpb24gPSB0aGlzLnRpbWVmcmFtZU9wdGlvbnMuZmlsdGVyKG9wdGlvbiA9PiBvcHRpb24udmFsdWUgPT09IHRoaXMuc2VsZWN0ZWRUaW1lZnJhbWUpWzBdO1xyXG4gICAgICB0aGlzLnNldFBlcmlvZExhYmVscyhjaG9zZW5UaW1lZnJhbWVPcHRpb24pO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdC5uZXh0KGNob3NlblRpbWVmcmFtZU9wdGlvbi5mb3JtYXQpOyAgXHJcbiAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2Uuc2V0VGltZWZyYW1lKGNob3NlblRpbWVmcmFtZU9wdGlvbi5mb3JtYXQpO1xyXG4gICAgICBpZiAodGhpcy5zZWxlY3RlZFRpbWVmcmFtZSA9PSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZFF1YXJ0ZXIgPSBtb21lbnQodGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSkucXVhcnRlcigpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0IGN1cnJlbnRWaWV3SXNRdWF0ZXIoKSB7XHJcbiAgICAgIHJldHVybiAhWydtb250aCcsICd5ZWFyJywgJ211bHRpLXllYXInXS5pbmNsdWRlcyh0aGlzLl9jYWxlbmRhci5jdXJyZW50Vmlldyk7XHJcbiAgICB9XHJcbiBcclxuICAgIHN3aXRjaFZpZXdPbkNsaWNrT25QZXJpb2RMYWJlbCh2aWV3OiAneWVhcicgfCAnbXVsdGkteWVhcicpIHtcclxuICAgICAgdGhpcy5fY2FsZW5kYXIuY3VycmVudFZpZXcgPSB2aWV3O1xyXG4gICAgfVxyXG5cclxuICAgIG9uU2VsZWN0UXVhdGVyKHF1YXJ0ZXJOdW1iZXI6IG51bWJlcikge1xyXG4gICAgICBjb25zdCBtb250aHNJblF1YXJ0ZXIgPSAzO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkUXVhcnRlciA9IG1vbWVudCh0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlKS5xdWFydGVyKCk7XHJcblxyXG4gICAgICBjb25zdCB1bmFkYXB0ZWREYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXIuYWRkQ2FsZW5kYXJNb250aHModGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSxcclxuICAgICAgICBtb250aHNJblF1YXJ0ZXIgKiAocXVhcnRlck51bWJlciAtIHRoaXMuc2VsZWN0ZWRRdWFydGVyKSk7XHJcbiAgICAgIHRoaXMuX2NhbGVuZGFyLmFjdGl2ZURhdGUgPSB1bmFkYXB0ZWREYXRlO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZWRRdWF0ZXIubmV4dChtb21lbnQodW5hZGFwdGVkRGF0ZSkpO1xyXG4gICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmNhbGVuZGFySW5zdGFuY2UuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICBwYWdpbmdDbGlja2VkKGZvcndhcmQpIHtcclxuICAgICAgdGhpcy5wYWdpbmdTZXR1cFt0aGlzLnNlbGVjdGVkVGltZWZyYW1lXSAmJiB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuc2VsZWN0ZWRUaW1lZnJhbWVdKGZvcndhcmQpO1xyXG4gICAgfVxyXG5cclxuICAgIHBhZ2luZ0RhdGVDaGFuZ2UoYWN0aW9uQ2FsbDogc3RyaW5nLCBhbW91bnQ6IG51bWJlciwgZm9yd2FyZDogYm9vbGVhbikge1xyXG4gICAgICB0aGlzLl9jYWxlbmRhci5hY3RpdmVEYXRlID0gdGhpcy5fZGF0ZUFkYXB0ZXJbYWN0aW9uQ2FsbF0odGhpcy5fY2FsZW5kYXIuYWN0aXZlRGF0ZSwgZm9yd2FyZD8gYW1vdW50OiAtIGFtb3VudCk7XHJcbiAgICAgIGNvbnN0IGNob3NlblRpbWVmcmFtZU9wdGlvbiA9IHRoaXMudGltZWZyYW1lT3B0aW9ucy5maWx0ZXIob3B0aW9uID0+IG9wdGlvbi52YWx1ZSA9PT0gdGhpcy5zZWxlY3RlZFRpbWVmcmFtZSlbMF07XHJcbiAgICAgIHRoaXMuc2V0UGVyaW9kTGFiZWxzKGNob3NlblRpbWVmcmFtZU9wdGlvbik7XHJcbiAgICB9XHJcbiAgfSJdfQ==
|