@datarailsshared/datarailsshared 1.5.288 → 1.5.290
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/datarailsshared-datarailsshared-1.5.290.tgz +0 -0
- package/esm2022/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.mjs +16 -6
- package/fesm2022/datarailsshared-datarailsshared.mjs +27 -19
- package/fesm2022/datarailsshared-datarailsshared.mjs.map +1 -1
- package/lib/dr-inputs/date-pickers/dr-date-picker-with-timeframe/dr-date-picker-with-timeframe.component.d.ts +5 -2
- package/package.json +1 -1
- package/datarailsshared-datarailsshared-1.5.288.tgz +0 -0
|
Binary file
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
|
1
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, EventEmitter, HostBinding, Input, Output, TemplateRef } from '@angular/core';
|
|
2
2
|
import { DrDatePickerComponent } from '../dr-date-picker/dr-date-picker.component';
|
|
3
3
|
import { DateAdapter } from '@angular/material/core';
|
|
4
4
|
import { DrDatePickerService } from '../services/dr-date-picker.service';
|
|
@@ -8,13 +8,15 @@ import { debounceTime, takeUntil } from 'rxjs/operators';
|
|
|
8
8
|
import * as _ from 'lodash';
|
|
9
9
|
import { Subject } from 'rxjs';
|
|
10
10
|
import { PRESET_TAGS_LIST } from '../../../models/constants';
|
|
11
|
+
import { TooltipPosition } from '../../../dr-tooltip/enums/tooltip-position.enum';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
13
|
import * as i1 from "@angular/material/core";
|
|
13
14
|
import * as i2 from "../services/dr-date-picker.service";
|
|
14
15
|
import * as i3 from "@angular/forms";
|
|
15
16
|
import * as i4 from "@angular/common";
|
|
16
17
|
import * as i5 from "@angular/material/datepicker";
|
|
17
|
-
import * as i6 from "
|
|
18
|
+
import * as i6 from "../../../dr-tooltip/dr-tooltip.directive";
|
|
19
|
+
import * as i7 from "../../button/button.component";
|
|
18
20
|
export class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
19
21
|
get isDashboardClassDisplayed() {
|
|
20
22
|
return this.isDashboardDatepicker;
|
|
@@ -62,6 +64,8 @@ export class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
|
62
64
|
this.datePickerService = datePickerService;
|
|
63
65
|
this.isDashboardDatepicker = false;
|
|
64
66
|
this.canSelectTimeframe = true;
|
|
67
|
+
this.datepickerTooltipPosition = TooltipPosition.TOP;
|
|
68
|
+
this.datepickerTooltipTimeout = 0;
|
|
65
69
|
// eslint-disable-next-line
|
|
66
70
|
this.onChangeFormat = new EventEmitter();
|
|
67
71
|
this.onChangePresetTag = new EventEmitter();
|
|
@@ -159,17 +163,17 @@ export class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
|
159
163
|
this.isPrevDateDisabled = this._min && prevValue && prevValue.unix() < this._min.unix();
|
|
160
164
|
}
|
|
161
165
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrDatePickerWithTimeframeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.DateAdapter }, { token: i2.DrDatePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrDatePickerWithTimeframeComponent, selector: "dr-date-picker-with-timeframe", inputs: { isDashboardDatepicker: "isDashboardDatepicker", dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", presetTag: "presetTag" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, host: { properties: { "class.dr-date-picker-on-dashboard": "this.isDashboardClassDisplayed" } }, providers: [
|
|
166
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrDatePickerWithTimeframeComponent, selector: "dr-date-picker-with-timeframe", inputs: { isDashboardDatepicker: "isDashboardDatepicker", dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", presetTag: "presetTag", datepickerTooltip: "datepickerTooltip", datepickerTooltipPosition: "datepickerTooltipPosition", datepickerTooltipTimeout: "datepickerTooltipTimeout" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, host: { properties: { "class.dr-date-picker-on-dashboard": "this.isDashboardClassDisplayed" } }, providers: [
|
|
163
167
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },
|
|
164
168
|
{ provide: DrDatePickerService }
|
|
165
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "
|
|
169
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div [drTooltip]=\"datepickerTooltip\"\n [drTooltipPosition]=\"datepickerTooltipPosition\"\n [drTooltipMousleaveTimeout]=\"datepickerTooltipTimeout\"\n class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"], dependencies: [{ kind: "directive", type: i3.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i5.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: i6.DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipTheme", "drTooltipMousleaveTimeout", "drTooltipMouseEnterTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "component", type: i7.DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
166
170
|
}
|
|
167
171
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrDatePickerWithTimeframeComponent, decorators: [{
|
|
168
172
|
type: Component,
|
|
169
173
|
args: [{ selector: 'dr-date-picker-with-timeframe', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
170
174
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },
|
|
171
175
|
{ provide: DrDatePickerService }
|
|
172
|
-
], template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"] }]
|
|
176
|
+
], template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div [drTooltip]=\"datepickerTooltip\"\n [drTooltipPosition]=\"datepickerTooltipPosition\"\n [drTooltipMousleaveTimeout]=\"datepickerTooltipTimeout\"\n class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"] }]
|
|
173
177
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.DateAdapter }, { type: i2.DrDatePickerService }]; }, propDecorators: { isDashboardClassDisplayed: [{
|
|
174
178
|
type: HostBinding,
|
|
175
179
|
args: ['class.dr-date-picker-on-dashboard']
|
|
@@ -187,9 +191,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
187
191
|
type: Input
|
|
188
192
|
}], presetTag: [{
|
|
189
193
|
type: Input
|
|
194
|
+
}], datepickerTooltip: [{
|
|
195
|
+
type: Input
|
|
196
|
+
}], datepickerTooltipPosition: [{
|
|
197
|
+
type: Input
|
|
198
|
+
}], datepickerTooltipTimeout: [{
|
|
199
|
+
type: Input
|
|
190
200
|
}], onChangeFormat: [{
|
|
191
201
|
type: Output
|
|
192
202
|
}], onChangePresetTag: [{
|
|
193
203
|
type: Output
|
|
194
204
|
}] } });
|
|
195
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3pFLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN6RSxPQUFPLEVBQXFDLGVBQWUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekQsT0FBTyxLQUFLLENBQUMsTUFBTSxRQUFRLENBQUM7QUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7Ozs7Ozs7QUFZN0QsTUFBTSxPQUFPLGtDQUFtQyxTQUFRLHFCQUFxQjtJQUd6RSxJQUFzRCx5QkFBeUI7UUFDM0UsT0FBTyxJQUFJLENBQUMscUJBQXFCLENBQUM7SUFDdEMsQ0FBQztJQUFBLENBQUM7SUFJRixJQUFhLGdCQUFnQixDQUFDLEtBQThCO1FBQ3hELElBQUksS0FBSyxFQUFFO1lBQ1AsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksR0FBRyxFQUFFLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFlBQVksRUFBRSxHQUFHLEtBQUssRUFBRSxDQUFDO1lBQzNGLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7U0FDM0I7SUFDTCxDQUFDO0lBSUQsSUFBYSxtQkFBbUIsQ0FBQyxLQUF3QjtRQUNyRCxJQUFJLEtBQUssSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ3ZCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7U0FDdEQ7SUFDTCxDQUFDO0lBR0QsSUFBYSxxQkFBcUIsQ0FBQyxJQUFhO1FBQzVDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUM7SUFDeEQsQ0FBQztJQUVELElBQWEsU0FBUyxDQUFDLEdBQVc7UUFDOUIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBZSxDQUFDLENBQUM7SUFDNUQsQ0FBQztJQUVELElBQVcsS0FBSztRQUNaLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsSUFBVyxLQUFLLENBQUMsQ0FBUztRQUN0QixJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBY0QsSUFBVyx1QkFBdUI7UUFDOUIsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDYixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUM7U0FDM0I7UUFFRCxJQUFJLFlBQVksR0FBRyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDbkYsWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQ0FBZ0MsQ0FBQyxZQUFZLENBQUMsQ0FBQztTQUN4RjtRQUVELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDL0QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUUsR0FBRyxZQUFZLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO0lBQ3pGLENBQUM7SUFPRCxZQUNjLEdBQXNCLEVBQ3RCLFdBQTZCLEVBQ2hDLGlCQUFzQztRQUU3QyxLQUFLLENBQUMsR0FBRyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO1FBSmpDLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBQ3RCLGdCQUFXLEdBQVgsV0FBVyxDQUFrQjtRQUNoQyxzQkFBaUIsR0FBakIsaUJBQWlCLENBQXFCO1FBckV4QywwQkFBcUIsR0FBRyxLQUFLLENBQUM7UUFTOUIsdUJBQWtCLEdBQUcsSUFBSSxDQUFDO1FBMEJuQywyQkFBMkI7UUFDakIsbUJBQWMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBQzVDLHNCQUFpQixHQUFHLElBQUksWUFBWSxFQUFZLENBQUM7UUFFMUMsZ0JBQVcsR0FBRztZQUMzQixDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO1lBQ3JGLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLG1CQUFtQixFQUFFLENBQUMsRUFBRSxPQUFPLENBQUM7WUFDekYsQ0FBQyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxFQUFFLE9BQU8sQ0FBQztZQUN2RixDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQUUsT0FBTyxDQUFDO1lBQ25GLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLGlCQUFpQixFQUFFLENBQUMsRUFBRSxPQUFPLENBQUM7U0FDdkYsQ0FBQztRQWdCSyx1QkFBa0IsR0FBRyxLQUFLLENBQUM7UUFDM0IsdUJBQWtCLEdBQUcsS0FBSyxDQUFDO1FBRTFCLHVCQUFrQixHQUFvQixJQUFJLE9BQU8sRUFBVSxDQUFDO1FBUWhFLGlCQUFpQixDQUFDLDJCQUEyQixHQUFHLElBQUksQ0FBQztRQUVyRCxpQkFBaUIsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUMzRSxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUN0RSxDQUFDLENBQUMsQ0FBQztRQUVILGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQzlFLElBQUksTUFBTSxHQUFHLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxFQUFFLEdBQUcsS0FBSyxLQUFLLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsaUJBQWlCLEdBQUcsTUFBTSxFQUFFLEtBQUssQ0FBQztZQUN2QyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixDQUFDLDRCQUE0QixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDckcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUFDO1FBRUgsaUJBQWlCLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUN4RixJQUFJLEtBQUssRUFBRTtnQkFDUCxJQUFJLENBQUMsa0JBQWtCLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDbEM7aUJBQU07Z0JBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUNqRDtZQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUTtRQUNKLElBQUksQ0FBQyxpQkFBaUIsQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDN0UsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxrQkFBa0IsRUFBRTtZQUN6QixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2hILElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNqQyxDQUFDLENBQUMsQ0FBQztTQUNOO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxPQUFzQjtRQUM5QixJQUFJLE9BQU8sQ0FBQyxNQUFNLEVBQUUsWUFBWSxJQUFJLE9BQU8sQ0FBQyxNQUFNLENBQUMsWUFBWSxLQUFLLE9BQU8sQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1lBQzlGLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyx3QkFBd0IsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBQ2hGO0lBQ0wsQ0FBQztJQUVELGFBQWEsQ0FBQyxPQUFnQjtRQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3BELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsQ0FBQztTQUNwQztRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQzdCLElBQUksSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3pCLDJGQUEyRjtZQUMzRix5RUFBeUU7WUFDekUsb0RBQW9EO1lBQ3BELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztZQUMzQixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQztTQUN4RDthQUFNO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFFBQVEsQ0FBQyxDQUFDO1NBQ3JDO0lBQ0wsQ0FBQztJQUVBOzs7O01BSUU7SUFDTyxRQUFRLENBQUMsU0FBaUI7UUFDaEMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3hDLEtBQUssQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUNNLFVBQVUsQ0FBQyxLQUFhO1FBQzNCLEtBQUssQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDeEIsSUFBSSxDQUFDLEtBQUs7WUFBRSxPQUFPO1FBQ25CLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxDQUFDO0lBQzlCLENBQUM7SUFFTyxXQUFXLENBQUMsVUFBa0IsRUFBRSxNQUFjLEVBQUUsT0FBZ0I7UUFDcEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2RixDQUFDO0lBRU8sa0JBQWtCO1FBQ3RCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUk7WUFBRSxPQUFPO1FBQ3JDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzNFLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLFNBQVMsSUFBSSxTQUFTLENBQUMsSUFBSSxFQUFFLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUN4RixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxTQUFTLElBQUksU0FBUyxDQUFDLElBQUksRUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUYsQ0FBQztrSUF6S1Esa0NBQWtDO3NIQUFsQyxrQ0FBa0MsMGhCQUxoQztZQUNQLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxrQ0FBa0MsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFFO1lBQzVGLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFO1NBQ25DLHNFQy9CTCwyaURBMkJBOzs0RkRNYSxrQ0FBa0M7a0JBVjlDLFNBQVM7K0JBQ0ksK0JBQStCLG1CQUd4Qix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDO3dCQUNQLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLFdBQVcsb0NBQW9DLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRTt3QkFDNUYsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUU7cUJBQ25DO29LQUtxRCx5QkFBeUI7c0JBQTlFLFdBQVc7dUJBQUMsbUNBQW1DO2dCQUl2QyxxQkFBcUI7c0JBQTdCLEtBQUs7Z0JBRU8sZ0JBQWdCO3NCQUE1QixLQUFLO2dCQU9HLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFTyxtQkFBbUI7c0JBQS9CLEtBQUs7Z0JBS0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVPLHFCQUFxQjtzQkFBakMsS0FBSztnQkFJTyxTQUFTO3NCQUFyQixLQUFLO2dCQWNJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCwgU2ltcGxlQ2hhbmdlc1xufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERyRGF0ZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4uL2RyLWRhdGUtcGlja2VyL2RyLWRhdGUtcGlja2VyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEYXRlQWRhcHRlciB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuaW1wb3J0IHsgRHJEYXRlUGlja2VyU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2RyLWRhdGUtcGlja2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRGF0ZVRhZ3MsIElEYXRlUGlja2VyRm9ybWF0Q29uZmlnLCBUaW1lZnJhbWVPcHRpb24gfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvZGF0ZVBpY2tlcic7XG5pbXBvcnQgeyBkZWJvdW5jZVRpbWUsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCAqIGFzIF8gZnJvbSAnbG9kYXNoJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IE1vbWVudCB9IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgeyBQUkVTRVRfVEFHU19MSVNUIH0gZnJvbSAnLi4vLi4vLi4vbW9kZWxzL2NvbnN0YW50cyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50LnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUiwgdXNlRXhpc3Rpbmc6IERyRGF0ZVBpY2tlcldpdGhUaW1lZnJhbWVDb21wb25lbnQsIG11bHRpOiB0cnVlIH0sXG4gICAgICAgIHsgcHJvdmlkZTogRHJEYXRlUGlja2VyU2VydmljZSB9XG4gICAgXSxcbn0pXG5leHBvcnQgY2xhc3MgRHJEYXRlUGlja2VyV2l0aFRpbWVmcmFtZUNvbXBvbmVudCBleHRlbmRzIERyRGF0ZVBpY2tlckNvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBBZnRlclZpZXdJbml0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT25DaGFuZ2VzIHtcbiAgICBwcmVzZXRUYWdTZWxlY3RlZDogc3RyaW5nO1xuXG4gICAgQEhvc3RCaW5kaW5nKCdjbGFzcy5kci1kYXRlLXBpY2tlci1vbi1kYXNoYm9hcmQnKSBnZXQgaXNEYXNoYm9hcmRDbGFzc0Rpc3BsYXllZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNEYXNoYm9hcmREYXRlcGlja2VyO1xuICAgIH07XG5cbiAgICBASW5wdXQoKSBpc0Rhc2hib2FyZERhdGVwaWNrZXIgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpIHNldCBkYXRlRm9ybWF0Q29uZmlnKHZhbHVlOiBJRGF0ZVBpY2tlckZvcm1hdENvbmZpZykge1xuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnID0geyAuLi50aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdENvbmZpZywgLi4udmFsdWUgfTtcbiAgICAgICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgY2FuU2VsZWN0VGltZWZyYW1lID0gdHJ1ZTtcblxuICAgIEBJbnB1dCgpIHNldCBhdmFpbGFibGVUaW1lZnJhbWVzKHZhbHVlOiBUaW1lZnJhbWVPcHRpb25bXSkge1xuICAgICAgICBpZiAodmFsdWUgJiYgdmFsdWUubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmF2YWlsYWJsZVRpbWVmcmFtZXMgPSB2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBASW5wdXQoKSBwYWdpbmF0aW9uRGVib3VuY2U7XG5cbiAgICBASW5wdXQoKSBzZXQgaXNVc2luZ0RhdGVUYWdQcmVzZXRzKGZsYWc6IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5pc1VzaW5nRGF0ZVRhZ1ByZXNldHMgPSBmbGFnO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBwcmVzZXRUYWcodGFnOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5wcmVzZXRUYWckLm5leHQodGFnIGFzIERhdGVUYWdzKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHZhbHVlKCk6IE1vbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlubmVyVmFsdWU7XG4gICAgfVxuXG4gICAgcHVibGljIHNldCB2YWx1ZSh2OiBNb21lbnQpIHtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZUZyb21Nb21lbnQodik7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZVxuICAgIEBPdXRwdXQoKSBvbkNoYW5nZUZvcm1hdCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuICAgIEBPdXRwdXQoKSBvbkNoYW5nZVByZXNldFRhZyA9IG5ldyBFdmVudEVtaXR0ZXI8RGF0ZVRhZ3M+KCk7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IHBhZ2luZ1NldHVwID0ge1xuICAgICAgICBbVGltZWZyYW1lT3B0aW9uLllFQVJdOiAoZm9yd2FyZCkgPT4gdGhpcy5nZXROZXh0RGF0ZSgnYWRkQ2FsZW5kYXJZZWFycycsIDEsIGZvcndhcmQpLFxuICAgICAgICBbVGltZWZyYW1lT3B0aW9uLlFVQVJURVJdOiAoZm9yd2FyZCkgPT4gdGhpcy5nZXROZXh0RGF0ZSgnYWRkQ2FsZW5kYXJNb250aHMnLCAzLCBmb3J3YXJkKSxcbiAgICAgICAgW1RpbWVmcmFtZU9wdGlvbi5NT05USF06IChmb3J3YXJkKSA9PiB0aGlzLmdldE5leHREYXRlKCdhZGRDYWxlbmRhck1vbnRocycsIDEsIGZvcndhcmQpLFxuICAgICAgICBbVGltZWZyYW1lT3B0aW9uLkRBWV06IChmb3J3YXJkKSA9PiB0aGlzLmdldE5leHREYXRlKCdhZGRDYWxlbmRhckRheXMnLCAxLCBmb3J3YXJkKSxcbiAgICAgICAgW1RpbWVmcmFtZU9wdGlvbi5XRUVLXTogKGZvcndhcmQpID0+IHRoaXMuZ2V0TmV4dERhdGUoJ2FkZENhbGVuZGFyRGF5cycsIDcsIGZvcndhcmQpXG4gICAgfTtcblxuICAgIHB1YmxpYyBnZXQgZGlzcGxheWVkRm9ybWF0dGVkVmFsdWUoKTogc3RyaW5nIHtcbiAgICAgICAgaWYgKCF0aGlzLnZhbHVlKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5wbGFjZWhvbGRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBkaXNwbGF5VmFsdWUgPSBfLmNsb25lRGVlcCh0aGlzLnZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuaXNUaW1lZnJhbWVEZXBlbmRpbmdPbkZZKHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lKSkge1xuICAgICAgICAgICAgZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlUGlja2VyU2VydmljZS5zdWJ0cmFjdEZpc2NhbFllYXJNb250aHNGcm9tRGF0ZShkaXNwbGF5VmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZm9ybWF0Q2FjaGVkID0gdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXQkLmdldFZhbHVlKCk7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmdldERpc3BsYXlQcmVmaXgoKSArIGRpc3BsYXlWYWx1ZS5mb3JtYXQoZm9ybWF0Q2FjaGVkKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNOZXh0RGF0ZURpc2FibGVkID0gZmFsc2U7XG4gICAgcHVibGljIGlzUHJldkRhdGVEaXNhYmxlZCA9IGZhbHNlO1xuXG4gICAgcHJpdmF0ZSBvbkNoYW5nZURlYm91bmNlZCQ6IFN1YmplY3Q8bnVtYmVyPiA9IG5ldyBTdWJqZWN0PG51bWJlcj4oKTtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcm90ZWN0ZWQgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgcHJvdGVjdGVkIGRhdGVBZGFwdGVyOiBEYXRlQWRhcHRlcjxhbnk+LFxuICAgICAgICBwdWJsaWMgZGF0ZVBpY2tlclNlcnZpY2U6IERyRGF0ZVBpY2tlclNlcnZpY2UsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNkciwgZGF0ZUFkYXB0ZXIsIGRhdGVQaWNrZXJTZXJ2aWNlKTtcbiAgICAgICAgZGF0ZVBpY2tlclNlcnZpY2UuaXNUaW1lZnJhbWVTZWxlY3Rpb25FbmFibGVkID0gdHJ1ZTtcblxuICAgICAgICBkYXRlUGlja2VyU2VydmljZS5mb3JtYXQkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VGb3JtYXQuZW1pdChkYXRlUGlja2VyU2VydmljZS5ub3JtYWxpemVWYWx1ZSh2YWx1ZSkpO1xuICAgICAgICB9KTtcblxuICAgICAgICBkYXRlUGlja2VyU2VydmljZS5wcmVzZXRUYWckLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIGxldCB0YWdPYmogPSBQUkVTRVRfVEFHU19MSVNULmZpbmQoKHZhbCkgPT4gdmFsPy5rZXkgPT09IHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMucHJlc2V0VGFnU2VsZWN0ZWQgPSB0YWdPYmo/LmxhYmVsO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZVByZXNldFRhZy5lbWl0KHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5vblNhbWVEYXlTZWxlY3RlZEluQ2FsZW5kYXIkLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkJCkpLnN1YnNjcmliZSgodmFsdWUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVGcm9tTW9tZW50KHZhbHVlKTtcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZGF0ZVBpY2tlclNlcnZpY2UudXBkYXRlZERhdGVBbmRDbG9zZSQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZUZyb21Nb21lbnQodmFsdWUpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlQ2FsbGJhY2sodGhpcy5pbm5lclZhbHVlLnVuaXgoKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXIuY2xvc2UoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkluaXQoKSB7XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuaXNUaW1lZnJhbWVTZWxlY3Rpb25FbmFibGVkID0gdGhpcy5jYW5TZWxlY3RUaW1lZnJhbWU7XG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xuXG4gICAgICAgIGlmICh0aGlzLnBhZ2luYXRpb25EZWJvdW5jZSkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZURlYm91bmNlZCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSwgZGVib3VuY2VUaW1lKHRoaXMucGFnaW5hdGlvbkRlYm91bmNlKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh2YWx1ZSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNoYW5nZXMuZm9ybWF0Py5jdXJyZW50VmFsdWUgJiYgY2hhbmdlcy5mb3JtYXQuY3VycmVudFZhbHVlICE9PSBjaGFuZ2VzLmZvcm1hdC5wcmV2aW91c1ZhbHVlKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnVwZGF0ZVRpbWVmcmFtZUFuZEZvcm1hdChjaGFuZ2VzLmZvcm1hdC5jdXJyZW50VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcGFnaW5nQ2xpY2tlZChmb3J3YXJkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXSkge1xuICAgICAgICAgICAgY29uc3QgbmV4dFZhbHVlID0gdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0oZm9yd2FyZCk7XG4gICAgICAgICAgICB0aGlzLnBhZ2luZ0RhdGVDaGFuZ2UobmV4dFZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmRhdGVQaWNrZXIuY2xvc2UoKTtcbiAgICB9XG5cbiAgICBwYWdpbmdEYXRlQ2hhbmdlKG5ld1ZhbHVlOiBNb21lbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbkRlYm91bmNlKSB7XG4gICAgICAgICAgICAvLyB0aGlzIGlzIHJlcXVpcmVkIGZvciBub3Qgc2VuZGluZyBleHRyYSByZXF1ZXN0cyB3aGVuIHVzZXIgcXVpY2tseSBjbGlja2luZyBvbiBwYWdpbmF0aW9uXG4gICAgICAgICAgICAvLyBoZXJlIHdlIGRvIHRoZSBzYW1lIGFzIGluIHNldFZhbHVlRnJvbU1vbWVudChuZXdWYWx1ZSkgd2l0aCBkaWZmZXJlbmNlXG4gICAgICAgICAgICAvLyB0aGF0IHVwZGF0aW5nIG9mIG5nTW9kZWwvZm9ybUNvbnRyb2wgaXMgZGVib3VuY2VkXG4gICAgICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnJlc2V0UHJlc2V0VGFnKCk7XG4gICAgICAgICAgICBjb25zdCB0aW1lc3RhbXAgPSBuZXdWYWx1ZS51bml4KCk7XG4gICAgICAgICAgICB0aGlzLndyaXRlVmFsdWUodGltZXN0YW1wKTtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2VEZWJvdW5jZWQkLm5leHQodGhpcy5pbm5lclZhbHVlLnVuaXgoKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnNldFZhbHVlRnJvbU1vbWVudChuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAgLyoqXG4gICAgICogU2V0IGlubmVyIHZhbHVlIGZyb20gdGltZXN0YW1wIGFuZCBwcm9wYWdhdGVcbiAgICAgKlxuICAgICAqIEBwYXJhbSB0aW1lc3RhbXBcbiAgICAgKi9cbiAgICBwcm90ZWN0ZWQgc2V0VmFsdWUodGltZXN0YW1wOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5yZXNldFByZXNldFRhZygpO1xuICAgICAgICBzdXBlci5zZXRWYWx1ZSh0aW1lc3RhbXApO1xuICAgIH1cbiAgICBwdWJsaWMgd3JpdGVWYWx1ZSh2YWx1ZTogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgIHRoaXMucmVzdHJpY3RQYWdpbmF0aW9uKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXROZXh0RGF0ZShhY3Rpb25DYWxsOiBzdHJpbmcsIGFtb3VudDogbnVtYmVyLCBmb3J3YXJkOiBib29sZWFuKTogTW9tZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUFkYXB0ZXJbYWN0aW9uQ2FsbF0/Lih0aGlzLmlubmVyVmFsdWUsIGZvcndhcmQgPyBhbW91bnQgOiAtYW1vdW50KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc3RyaWN0UGFnaW5hdGlvbigpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLl9taW4gJiYgIXRoaXMuX21heCkgcmV0dXJuO1xuICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXSh0cnVlKTtcbiAgICAgICAgY29uc3QgcHJldlZhbHVlID0gdGhpcy5wYWdpbmdTZXR1cFt0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnRpbWVmcmFtZV0oZmFsc2UpO1xuICAgICAgICB0aGlzLmlzTmV4dERhdGVEaXNhYmxlZCA9IHRoaXMuX21heCAmJiBuZXh0VmFsdWUgJiYgbmV4dFZhbHVlLnVuaXgoKSA+IHRoaXMuX21heC51bml4KCk7XG4gICAgICAgIHRoaXMuaXNQcmV2RGF0ZURpc2FibGVkID0gdGhpcy5fbWluICYmIHByZXZWYWx1ZSAmJiBwcmV2VmFsdWUudW5peCgpIDwgdGhpcy5fbWluLnVuaXgoKTtcbiAgICB9XG59XG4iLCI8ZHItYnV0dG9uIFtkaXNhYmxlZF09XCJpc1ByZXZEYXRlRGlzYWJsZWRcIiAqbmdJZj1cIiFkaXNhYmxlZFwiIHRoZW1lPVwiaWNvblwiIGljb249XCJkci1pY29uLWFycm93LWxlZnRcIiAoY2xpY2spPVwicGFnaW5nQ2xpY2tlZChmYWxzZSlcIj48L2RyLWJ1dHRvbj5cbjxkaXYgY2xhc3M9XCJkci1kYXRlcGlja2VyLWlucHV0LWNvbnRhaW5lclwiPlxuICAgIDxpICpuZ0lmPVwiaXNEYXNoYm9hcmREYXRlcGlja2VyXCIgY2xhc3M9XCJkci1pY29uLWRhdGVcIj48L2k+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZHItZGF0ZXBpY2tlci1pbnB1dC1jb250YWluZXJfX2Zvcm1hdHRlZC12YWx1ZS1kaXNwbGF5XCIgKGNsaWNrKT1cImRhdGVwaWNrZXJJbnB1dC5jbGljaygpXCI+XG4gICAgICAgIDxzcGFuICpuZ0lmPVwicHJlc2V0VGFnU2VsZWN0ZWQgJiYgZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzXCI+IHt7IHByZXNldFRhZ1NlbGVjdGVkIH19IDwvc3Bhbj5cbiAgICAgICAgPHNwYW4+e3sgcHJlc2V0VGFnU2VsZWN0ZWQgJiYgZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzID8gJygnICsgZGlzcGxheWVkRm9ybWF0dGVkVmFsdWUgKyAnKScgOiBkaXNwbGF5ZWRGb3JtYXR0ZWRWYWx1ZSB9fTwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8aW5wdXRcbiAgICAgICAgICAgICNkYXRlcGlja2VySW5wdXRcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxuICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVQaWNrZXIub3BlbigpXCJcbiAgICAgICAgICAgIFttYXREYXRlcGlja2VyXT1cImRhdGVQaWNrZXJcIlxuICAgICAgICAgICAgW3JlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIFttaW5dPVwiX21pblwiXG4gICAgICAgICAgICBbbWF4XT1cIl9tYXhcIlxuICAgIC8+XG48L2Rpdj5cbjxkci1idXR0b24gW2Rpc2FibGVkXT1cImlzTmV4dERhdGVEaXNhYmxlZFwiICpuZ0lmPVwiIWRpc2FibGVkXCIgdGhlbWU9XCJpY29uXCIgaWNvbj1cImRyLWljb24tYXJyb3ctcmlnaHRcIiAoY2xpY2spPVwicGFnaW5nQ2xpY2tlZCh0cnVlKVwiPjwvZHItYnV0dG9uPlxuPG1hdC1kYXRlcGlja2VyICNkYXRlUGlja2VyXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJkci10aW1lZnJhbWUtZGF0ZXBpY2tlclwiXG4gICAgICAgICAgICAgICAgW2NhbGVuZGFySGVhZGVyQ29tcG9uZW50XT1cImN1c3RvbUhlYWRlclwiXG4gICAgICAgICAgICAgICAgKHllYXJTZWxlY3RlZCk9XCJjaG9zZW5QZXJpb2RIYW5kbGVyKCRldmVudCwgdGltZWZyYW1lT3B0aW9uLllFQVIpXCJcbiAgICAgICAgICAgICAgICAobW9udGhTZWxlY3RlZCk9XCJjaG9zZW5QZXJpb2RIYW5kbGVyKCRldmVudCwgdGltZWZyYW1lT3B0aW9uLk1PTlRIKVwiXG4gICAgICAgICAgICAgICAgW3BhbmVsQ2xhc3NdPVwiZGF0ZVBpY2tlclNlcnZpY2UuaXNVc2luZ0RhdGVUYWdQcmVzZXRzID8gJ2RhdGUtcGlja2VyLXByZXNldC10YWcnIDogJ2RyLXRpbWVmcmFtZS1kYXRlcGlja2VyJ1wiXG4gICAgICAgICAgICAgICAgPlxuPC9tYXQtZGF0ZXBpY2tlcj5cbiJdfQ==
|
|
205
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHItZGF0ZS1waWNrZXItd2l0aC10aW1lZnJhbWUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZHItaW5wdXRzL2RhdGUtcGlja2Vycy9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1pbnB1dHMvZGF0ZS1waWNrZXJzL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxZQUFZLEVBQ1osV0FBVyxFQUNYLEtBQUssRUFHTCxNQUFNLEVBRU4sV0FBVyxFQUNkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN6RSxPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFxQyxlQUFlLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNoRyxPQUFPLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pELE9BQU8sS0FBSyxDQUFDLE1BQU0sUUFBUSxDQUFDO0FBQzVCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FB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LGlCQUFpQjtzQkFBekIsS0FBSztnQkFDRyx5QkFBeUI7c0JBQWpDLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQVlJLGNBQWM7c0JBQXZCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBBZnRlclZpZXdJbml0LFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgSG9zdEJpbmRpbmcsXG4gICAgSW5wdXQsIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRHJEYXRlUGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vZHItZGF0ZS1waWNrZXIvZHItZGF0ZS1waWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IERhdGVBZGFwdGVyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBEckRhdGVQaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZHItZGF0ZS1waWNrZXIuc2VydmljZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBEYXRlVGFncywgSURhdGVQaWNrZXJGb3JtYXRDb25maWcsIFRpbWVmcmFtZU9wdGlvbiB9IGZyb20gJy4uLy4uLy4uL21vZGVscy9kYXRlUGlja2VyJztcbmltcG9ydCB7IGRlYm91bmNlVGltZSwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0ICogYXMgXyBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgTW9tZW50IH0gZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IFBSRVNFVF9UQUdTX0xJU1QgfSBmcm9tICcuLi8uLi8uLi9tb2RlbHMvY29uc3RhbnRzJztcbmltcG9ydCB7IFRvb2x0aXBQb3NpdGlvbiB9IGZyb20gJy4uLy4uLy4uL2RyLXRvb2x0aXAvZW51bXMvdG9vbHRpcC1wb3NpdGlvbi5lbnVtJztcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdkci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2RyLWRhdGUtcGlja2VyLXdpdGgtdGltZWZyYW1lLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9kci1kYXRlLXBpY2tlci13aXRoLXRpbWVmcmFtZS5jb21wb25lbnQuc2NzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLCB1c2VFeGlzdGluZzogRHJEYXRlUGlja2VyV2l0aFRpbWVmcmFtZUNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBEckRhdGVQaWNrZXJTZXJ2aWNlIH1cbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBEckRhdGVQaWNrZXJXaXRoVGltZWZyYW1lQ29tcG9uZW50IGV4dGVuZHMgRHJEYXRlUGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIEFmdGVyVmlld0luaXQsIE9uRGVzdHJveSwgT25Jbml0LCBPbkNoYW5nZXMge1xuICAgIHByZXNldFRhZ1NlbGVjdGVkOiBzdHJpbmc7XG5cbiAgICBASG9zdEJpbmRpbmcoJ2NsYXNzLmRyLWRhdGUtcGlja2VyLW9uLWRhc2hib2FyZCcpIGdldCBpc0Rhc2hib2FyZENsYXNzRGlzcGxheWVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pc0Rhc2hib2FyZERhdGVwaWNrZXI7XG4gICAgfTtcblxuICAgIEBJbnB1dCgpIGlzRGFzaGJvYXJkRGF0ZXBpY2tlciA9IGZhbHNlO1xuXG4gICAgQElucHV0KCkgc2V0IGRhdGVGb3JtYXRDb25maWcodmFsdWU6IElEYXRlUGlja2VyRm9ybWF0Q29uZmlnKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5mb3JtYXRDb25maWcgPSB7IC4uLnRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZm9ybWF0Q29uZmlnLCAuLi52YWx1ZSB9O1xuICAgICAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBASW5wdXQoKSBjYW5TZWxlY3RUaW1lZnJhbWUgPSB0cnVlO1xuXG4gICAgQElucHV0KCkgc2V0IGF2YWlsYWJsZVRpbWVmcmFtZXModmFsdWU6IFRpbWVmcmFtZU9wdGlvbltdKSB7XG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuYXZhaWxhYmxlVGltZWZyYW1lcyA9IHZhbHVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBJbnB1dCgpIHBhZ2luYXRpb25EZWJvdW5jZTtcblxuICAgIEBJbnB1dCgpIHNldCBpc1VzaW5nRGF0ZVRhZ1ByZXNldHMoZmxhZzogYm9vbGVhbikge1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmlzVXNpbmdEYXRlVGFnUHJlc2V0cyA9IGZsYWc7XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IHByZXNldFRhZyh0YWc6IHN0cmluZykge1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnByZXNldFRhZyQubmV4dCh0YWcgYXMgRGF0ZVRhZ3MpO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJUb29sdGlwOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgICBASW5wdXQoKSBkYXRlcGlja2VyVG9vbHRpcFBvc2l0aW9uOiBzdHJpbmcgPSBUb29sdGlwUG9zaXRpb24uVE9QO1xuICAgIEBJbnB1dCgpIGRhdGVwaWNrZXJUb29sdGlwVGltZW91dDogbnVtYmVyID0gMDtcblxuICAgIHB1YmxpYyBnZXQgdmFsdWUoKTogTW9tZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaW5uZXJWYWx1ZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0IHZhbHVlKHY6IE1vbWVudCkge1xuICAgICAgICB0aGlzLnNldFZhbHVlRnJvbU1vbWVudCh2KTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lXG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlRm9ybWF0ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG4gICAgQE91dHB1dCgpIG9uQ2hhbmdlUHJlc2V0VGFnID0gbmV3IEV2ZW50RW1pdHRlcjxEYXRlVGFncz4oKTtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgcGFnaW5nU2V0dXAgPSB7XG4gICAgICAgIFtUaW1lZnJhbWVPcHRpb24uWUVBUl06IChmb3J3YXJkKSA9PiB0aGlzLmdldE5leHREYXRlKCdhZGRDYWxlbmRhclllYXJzJywgMSwgZm9yd2FyZCksXG4gICAgICAgIFtUaW1lZnJhbWVPcHRpb24uUVVBUlRFUl06IChmb3J3YXJkKSA9PiB0aGlzLmdldE5leHREYXRlKCdhZGRDYWxlbmRhck1vbnRocycsIDMsIGZvcndhcmQpLFxuICAgICAgICBbVGltZWZyYW1lT3B0aW9uLk1PTlRIXTogKGZvcndhcmQpID0+IHRoaXMuZ2V0TmV4dERhdGUoJ2FkZENhbGVuZGFyTW9udGhzJywgMSwgZm9yd2FyZCksXG4gICAgICAgIFtUaW1lZnJhbWVPcHRpb24uREFZXTogKGZvcndhcmQpID0+IHRoaXMuZ2V0TmV4dERhdGUoJ2FkZENhbGVuZGFyRGF5cycsIDEsIGZvcndhcmQpLFxuICAgICAgICBbVGltZWZyYW1lT3B0aW9uLldFRUtdOiAoZm9yd2FyZCkgPT4gdGhpcy5nZXROZXh0RGF0ZSgnYWRkQ2FsZW5kYXJEYXlzJywgNywgZm9yd2FyZClcbiAgICB9O1xuXG4gICAgcHVibGljIGdldCBkaXNwbGF5ZWRGb3JtYXR0ZWRWYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMudmFsdWUpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnBsYWNlaG9sZGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGRpc3BsYXlWYWx1ZSA9IF8uY2xvbmVEZWVwKHRoaXMudmFsdWUpO1xuICAgICAgICBpZiAodGhpcy5kYXRlUGlja2VyU2VydmljZS5pc1RpbWVmcmFtZURlcGVuZGluZ09uRlkodGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWUpKSB7XG4gICAgICAgICAgICBkaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnN1YnRyYWN0RmlzY2FsWWVhck1vbnRoc0Zyb21EYXRlKGRpc3BsYXlWYWx1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBmb3JtYXRDYWNoZWQgPSB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdCQuZ2V0VmFsdWUoKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UuZ2V0RGlzcGxheVByZWZpeCgpICsgZGlzcGxheVZhbHVlLmZvcm1hdChmb3JtYXRDYWNoZWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBpc05leHREYXRlRGlzYWJsZWQgPSBmYWxzZTtcbiAgICBwdWJsaWMgaXNQcmV2RGF0ZURpc2FibGVkID0gZmFsc2U7XG5cbiAgICBwcml2YXRlIG9uQ2hhbmdlRGVib3VuY2VkJDogU3ViamVjdDxudW1iZXI+ID0gbmV3IFN1YmplY3Q8bnVtYmVyPigpO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByb3RlY3RlZCBjZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcm90ZWN0ZWQgZGF0ZUFkYXB0ZXI6IERhdGVBZGFwdGVyPGFueT4sXG4gICAgICAgIHB1YmxpYyBkYXRlUGlja2VyU2VydmljZTogRHJEYXRlUGlja2VyU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgc3VwZXIoY2RyLCBkYXRlQWRhcHRlciwgZGF0ZVBpY2tlclNlcnZpY2UpO1xuICAgICAgICBkYXRlUGlja2VyU2VydmljZS5pc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWQgPSB0cnVlO1xuXG4gICAgICAgIGRhdGVQaWNrZXJTZXJ2aWNlLmZvcm1hdCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUZvcm1hdC5lbWl0KGRhdGVQaWNrZXJTZXJ2aWNlLm5vcm1hbGl6ZVZhbHVlKHZhbHVlKSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIGRhdGVQaWNrZXJTZXJ2aWNlLnByZXNldFRhZyQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgbGV0IHRhZ09iaiA9IFBSRVNFVF9UQUdTX0xJU1QuZmluZCgodmFsKSA9PiB2YWw/LmtleSA9PT0gdmFsdWUpO1xuICAgICAgICAgICAgdGhpcy5wcmVzZXRUYWdTZWxlY3RlZCA9IHRhZ09iaj8ubGFiZWw7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlUHJlc2V0VGFnLmVtaXQodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLm9uU2FtZURheVNlbGVjdGVkSW5DYWxlbmRhciQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKCh2YWx1ZSkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZUZyb21Nb21lbnQodmFsdWUpO1xuICAgICAgICB9KTtcblxuICAgICAgICBkYXRlUGlja2VyU2VydmljZS51cGRhdGVkRGF0ZUFuZENsb3NlJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFZhbHVlRnJvbU1vbWVudCh2YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMub25DaGFuZ2VDYWxsYmFjayh0aGlzLmlubmVyVmFsdWUudW5peCgpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5kYXRlUGlja2VyU2VydmljZS5pc1RpbWVmcmFtZVNlbGVjdGlvbkVuYWJsZWQgPSB0aGlzLmNhblNlbGVjdFRpbWVmcmFtZTtcbiAgICAgICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG5cbiAgICAgICAgaWYgKHRoaXMucGFnaW5hdGlvbkRlYm91bmNlKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlRGVib3VuY2VkJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpLCBkZWJvdW5jZVRpbWUodGhpcy5wYWdpbmF0aW9uRGVib3VuY2UpKS5zdWJzY3JpYmUoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5vbkNoYW5nZUNhbGxiYWNrKHZhbHVlKTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAoY2hhbmdlcy5mb3JtYXQ/LmN1cnJlbnRWYWx1ZSAmJiBjaGFuZ2VzLmZvcm1hdC5jdXJyZW50VmFsdWUgIT09IGNoYW5nZXMuZm9ybWF0LnByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UudXBkYXRlVGltZWZyYW1lQW5kRm9ybWF0KGNoYW5nZXMuZm9ybWF0LmN1cnJlbnRWYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwYWdpbmdDbGlja2VkKGZvcndhcmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMucGFnaW5nU2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdKSB7XG4gICAgICAgICAgICBjb25zdCBuZXh0VmFsdWUgPSB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXShmb3J3YXJkKTtcbiAgICAgICAgICAgIHRoaXMucGFnaW5nRGF0ZUNoYW5nZShuZXh0VmFsdWUpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZGF0ZVBpY2tlci5jbG9zZSgpO1xuICAgIH1cblxuICAgIHBhZ2luZ0RhdGVDaGFuZ2UobmV3VmFsdWU6IE1vbWVudCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5wYWdpbmF0aW9uRGVib3VuY2UpIHtcbiAgICAgICAgICAgIC8vIHRoaXMgaXMgcmVxdWlyZWQgZm9yIG5vdCBzZW5kaW5nIGV4dHJhIHJlcXVlc3RzIHdoZW4gdXNlciBxdWlja2x5IGNsaWNraW5nIG9uIHBhZ2luYXRpb25cbiAgICAgICAgICAgIC8vIGhlcmUgd2UgZG8gdGhlIHNhbWUgYXMgaW4gc2V0VmFsdWVGcm9tTW9tZW50KG5ld1ZhbHVlKSB3aXRoIGRpZmZlcmVuY2VcbiAgICAgICAgICAgIC8vIHRoYXQgdXBkYXRpbmcgb2YgbmdNb2RlbC9mb3JtQ29udHJvbCBpcyBkZWJvdW5jZWRcbiAgICAgICAgICAgIHRoaXMuZGF0ZVBpY2tlclNlcnZpY2UucmVzZXRQcmVzZXRUYWcoKTtcbiAgICAgICAgICAgIGNvbnN0IHRpbWVzdGFtcCA9IG5ld1ZhbHVlLnVuaXgoKTtcbiAgICAgICAgICAgIHRoaXMud3JpdGVWYWx1ZSh0aW1lc3RhbXApO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZURlYm91bmNlZCQubmV4dCh0aGlzLmlubmVyVmFsdWUudW5peCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWVGcm9tTW9tZW50KG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAvKipcbiAgICAgKiBTZXQgaW5uZXIgdmFsdWUgZnJvbSB0aW1lc3RhbXAgYW5kIHByb3BhZ2F0ZVxuICAgICAqXG4gICAgICogQHBhcmFtIHRpbWVzdGFtcFxuICAgICAqL1xuICAgIHByb3RlY3RlZCBzZXRWYWx1ZSh0aW1lc3RhbXA6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVQaWNrZXJTZXJ2aWNlLnJlc2V0UHJlc2V0VGFnKCk7XG4gICAgICAgIHN1cGVyLnNldFZhbHVlKHRpbWVzdGFtcCk7XG4gICAgfVxuICAgIHB1YmxpYyB3cml0ZVZhbHVlKHZhbHVlOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIud3JpdGVWYWx1ZSh2YWx1ZSk7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgdGhpcy5yZXN0cmljdFBhZ2luYXRpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE5leHREYXRlKGFjdGlvbkNhbGw6IHN0cmluZywgYW1vdW50OiBudW1iZXIsIGZvcndhcmQ6IGJvb2xlYW4pOiBNb21lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlQWRhcHRlclthY3Rpb25DYWxsXT8uKHRoaXMuaW5uZXJWYWx1ZSwgZm9yd2FyZCA/IGFtb3VudCA6IC1hbW91bnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVzdHJpY3RQYWdpbmF0aW9uKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX21pbiAmJiAhdGhpcy5fbWF4KSByZXR1cm47XG4gICAgICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRoaXMucGFnaW5nU2V0dXBbdGhpcy5kYXRlUGlja2VyU2VydmljZS50aW1lZnJhbWVdKHRydWUpO1xuICAgICAgICBjb25zdCBwcmV2VmFsdWUgPSB0aGlzLnBhZ2luZ1NldHVwW3RoaXMuZGF0ZVBpY2tlclNlcnZpY2UudGltZWZyYW1lXShmYWxzZSk7XG4gICAgICAgIHRoaXMuaXNOZXh0RGF0ZURpc2FibGVkID0gdGhpcy5fbWF4ICYmIG5leHRWYWx1ZSAmJiBuZXh0VmFsdWUudW5peCgpID4gdGhpcy5fbWF4LnVuaXgoKTtcbiAgICAgICAgdGhpcy5pc1ByZXZEYXRlRGlzYWJsZWQgPSB0aGlzLl9taW4gJiYgcHJldlZhbHVlICYmIHByZXZWYWx1ZS51bml4KCkgPCB0aGlzLl9taW4udW5peCgpO1xuICAgIH1cbn1cbiIsIjxkci1idXR0b24gW2Rpc2FibGVkXT1cImlzUHJldkRhdGVEaXNhYmxlZFwiICpuZ0lmPVwiIWRpc2FibGVkXCIgdGhlbWU9XCJpY29uXCIgaWNvbj1cImRyLWljb24tYXJyb3ctbGVmdFwiIChjbGljayk9XCJwYWdpbmdDbGlja2VkKGZhbHNlKVwiPjwvZHItYnV0dG9uPlxuPGRpdiBbZHJUb29sdGlwXT1cImRhdGVwaWNrZXJUb29sdGlwXCJcbiAgICAgW2RyVG9vbHRpcFBvc2l0aW9uXT1cImRhdGVwaWNrZXJUb29sdGlwUG9zaXRpb25cIlxuICAgICBbZHJUb29sdGlwTW91c2xlYXZlVGltZW91dF09XCJkYXRlcGlja2VyVG9vbHRpcFRpbWVvdXRcIlxuICAgICBjbGFzcz1cImRyLWRhdGVwaWNrZXItaW5wdXQtY29udGFpbmVyXCI+XG4gICAgPGkgKm5nSWY9XCJpc0Rhc2hib2FyZERhdGVwaWNrZXJcIiBjbGFzcz1cImRyLWljb24tZGF0ZVwiPjwvaT5cblxuICAgIDxkaXYgY2xhc3M9XCJkci1kYXRlcGlja2VyLWlucHV0LWNvbnRhaW5lcl9fZm9ybWF0dGVkLXZhbHVlLWRpc3BsYXlcIiAoY2xpY2spPVwiZGF0ZXBpY2tlcklucHV0LmNsaWNrKClcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJwcmVzZXRUYWdTZWxlY3RlZCAmJiBkYXRlUGlja2VyU2VydmljZS5pc1VzaW5nRGF0ZVRhZ1ByZXNldHNcIj4ge3sgcHJlc2V0VGFnU2VsZWN0ZWQgfX0gPC9zcGFuPlxuICAgICAgICA8c3Bhbj57eyBwcmVzZXRUYWdTZWxlY3RlZCAmJiBkYXRlUGlja2VyU2VydmljZS5pc1VzaW5nRGF0ZVRhZ1ByZXNldHMgPyAnKCcgKyBkaXNwbGF5ZWRGb3JtYXR0ZWRWYWx1ZSArICcpJyA6IGRpc3BsYXllZEZvcm1hdHRlZFZhbHVlIH19PC9zcGFuPlxuICAgIDwvZGl2PlxuICAgIDxpbnB1dFxuICAgICAgICAgICAgI2RhdGVwaWNrZXJJbnB1dFxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXG4gICAgICAgICAgICAoY2xpY2spPVwiZGF0ZVBpY2tlci5vcGVuKClcIlxuICAgICAgICAgICAgW21hdERhdGVwaWNrZXJdPVwiZGF0ZVBpY2tlclwiXG4gICAgICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW21pbl09XCJfbWluXCJcbiAgICAgICAgICAgIFttYXhdPVwiX21heFwiXG4gICAgLz5cbjwvZGl2PlxuPGRyLWJ1dHRvbiBbZGlzYWJsZWRdPVwiaXNOZXh0RGF0ZURpc2FibGVkXCIgKm5nSWY9XCIhZGlzYWJsZWRcIiB0aGVtZT1cImljb25cIiBpY29uPVwiZHItaWNvbi1hcnJvdy1yaWdodFwiIChjbGljayk9XCJwYWdpbmdDbGlja2VkKHRydWUpXCI+PC9kci1idXR0b24+XG48bWF0LWRhdGVwaWNrZXIgI2RhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICBjbGFzcz1cImRyLXRpbWVmcmFtZS1kYXRlcGlja2VyXCJcbiAgICAgICAgICAgICAgICBbY2FsZW5kYXJIZWFkZXJDb21wb25lbnRdPVwiY3VzdG9tSGVhZGVyXCJcbiAgICAgICAgICAgICAgICAoeWVhclNlbGVjdGVkKT1cImNob3NlblBlcmlvZEhhbmRsZXIoJGV2ZW50LCB0aW1lZnJhbWVPcHRpb24uWUVBUilcIlxuICAgICAgICAgICAgICAgIChtb250aFNlbGVjdGVkKT1cImNob3NlblBlcmlvZEhhbmRsZXIoJGV2ZW50LCB0aW1lZnJhbWVPcHRpb24uTU9OVEgpXCJcbiAgICAgICAgICAgICAgICBbcGFuZWxDbGFzc109XCJkYXRlUGlja2VyU2VydmljZS5pc1VzaW5nRGF0ZVRhZ1ByZXNldHMgPyAnZGF0ZS1waWNrZXItcHJlc2V0LXRhZycgOiAnZHItdGltZWZyYW1lLWRhdGVwaWNrZXInXCJcbiAgICAgICAgICAgICAgICA+XG48L21hdC1kYXRlcGlja2VyPlxuIl19
|
|
@@ -3175,6 +3175,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3175
3175
|
type: Input
|
|
3176
3176
|
}] } });
|
|
3177
3177
|
|
|
3178
|
+
var TooltipPosition;
|
|
3179
|
+
(function (TooltipPosition) {
|
|
3180
|
+
TooltipPosition["TOP"] = "top";
|
|
3181
|
+
TooltipPosition["BOTTOM"] = "bottom";
|
|
3182
|
+
TooltipPosition["LEFT"] = "left";
|
|
3183
|
+
TooltipPosition["RIGHT"] = "right";
|
|
3184
|
+
TooltipPosition["TOP_RIGHT"] = "top-right";
|
|
3185
|
+
TooltipPosition["TOP_LEFT"] = "top-left";
|
|
3186
|
+
TooltipPosition["BOTTOM_RIGHT"] = "bottom-right";
|
|
3187
|
+
TooltipPosition["BOTTOM_LEFT"] = "bottom-left";
|
|
3188
|
+
TooltipPosition["RIGHT_TOP"] = "right-top";
|
|
3189
|
+
TooltipPosition["RIGHT_BOTTOM"] = "right-bottom";
|
|
3190
|
+
TooltipPosition["LEFT_TOP"] = "left-top";
|
|
3191
|
+
TooltipPosition["LEFT_BOTTOM"] = "left-bottom";
|
|
3192
|
+
})(TooltipPosition || (TooltipPosition = {}));
|
|
3193
|
+
|
|
3178
3194
|
class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
3179
3195
|
get isDashboardClassDisplayed() {
|
|
3180
3196
|
return this.isDashboardDatepicker;
|
|
@@ -3222,6 +3238,8 @@ class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
|
3222
3238
|
this.datePickerService = datePickerService;
|
|
3223
3239
|
this.isDashboardDatepicker = false;
|
|
3224
3240
|
this.canSelectTimeframe = true;
|
|
3241
|
+
this.datepickerTooltipPosition = TooltipPosition.TOP;
|
|
3242
|
+
this.datepickerTooltipTimeout = 0;
|
|
3225
3243
|
// eslint-disable-next-line
|
|
3226
3244
|
this.onChangeFormat = new EventEmitter();
|
|
3227
3245
|
this.onChangePresetTag = new EventEmitter();
|
|
@@ -3319,17 +3337,17 @@ class DrDatePickerWithTimeframeComponent extends DrDatePickerComponent {
|
|
|
3319
3337
|
this.isPrevDateDisabled = this._min && prevValue && prevValue.unix() < this._min.unix();
|
|
3320
3338
|
}
|
|
3321
3339
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrDatePickerWithTimeframeComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$4.DateAdapter }, { token: DrDatePickerService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3322
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrDatePickerWithTimeframeComponent, selector: "dr-date-picker-with-timeframe", inputs: { isDashboardDatepicker: "isDashboardDatepicker", dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", presetTag: "presetTag" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, host: { properties: { "class.dr-date-picker-on-dashboard": "this.isDashboardClassDisplayed" } }, providers: [
|
|
3340
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DrDatePickerWithTimeframeComponent, selector: "dr-date-picker-with-timeframe", inputs: { isDashboardDatepicker: "isDashboardDatepicker", dateFormatConfig: "dateFormatConfig", canSelectTimeframe: "canSelectTimeframe", availableTimeframes: "availableTimeframes", paginationDebounce: "paginationDebounce", isUsingDateTagPresets: "isUsingDateTagPresets", presetTag: "presetTag", datepickerTooltip: "datepickerTooltip", datepickerTooltipPosition: "datepickerTooltipPosition", datepickerTooltipTimeout: "datepickerTooltipTimeout" }, outputs: { onChangeFormat: "onChangeFormat", onChangePresetTag: "onChangePresetTag" }, host: { properties: { "class.dr-date-picker-on-dashboard": "this.isDashboardClassDisplayed" } }, providers: [
|
|
3323
3341
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },
|
|
3324
3342
|
{ provide: DrDatePickerService }
|
|
3325
|
-
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3343
|
+
], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div [drTooltip]=\"datepickerTooltip\"\n [drTooltipPosition]=\"datepickerTooltipPosition\"\n [drTooltipMousleaveTimeout]=\"datepickerTooltipTimeout\"\n class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i1$3.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i1$3.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: DrTooltipDirective, selector: "[drTooltip]", inputs: ["drTooltip", "drTooltipContext", "drTooltipPosition", "drTooltipClass", "drTooltipTheme", "drTooltipMousleaveTimeout", "drTooltipMouseEnterTimeout", "drTooltipOptions", "drTooltipShow"] }, { kind: "component", type: DrButtonComponent, selector: "dr-button", inputs: ["theme", "icon", "iconColor", "iconSize", "iconAfter", "iconAfterColor", "iconAfterSize", "disabled", "isLoading", "isActive"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3326
3344
|
}
|
|
3327
3345
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DrDatePickerWithTimeframeComponent, decorators: [{
|
|
3328
3346
|
type: Component,
|
|
3329
3347
|
args: [{ selector: 'dr-date-picker-with-timeframe', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
3330
3348
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DrDatePickerWithTimeframeComponent, multi: true },
|
|
3331
3349
|
{ provide: DrDatePickerService }
|
|
3332
|
-
], template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"] }]
|
|
3350
|
+
], template: "<dr-button [disabled]=\"isPrevDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-left\" (click)=\"pagingClicked(false)\"></dr-button>\n<div [drTooltip]=\"datepickerTooltip\"\n [drTooltipPosition]=\"datepickerTooltipPosition\"\n [drTooltipMousleaveTimeout]=\"datepickerTooltipTimeout\"\n class=\"dr-datepicker-input-container\">\n <i *ngIf=\"isDashboardDatepicker\" class=\"dr-icon-date\"></i>\n\n <div class=\"dr-datepicker-input-container__formatted-value-display\" (click)=\"datepickerInput.click()\">\n <span *ngIf=\"presetTagSelected && datePickerService.isUsingDateTagPresets\"> {{ presetTagSelected }} </span>\n <span>{{ presetTagSelected && datePickerService.isUsingDateTagPresets ? '(' + displayedFormattedValue + ')' : displayedFormattedValue }}</span>\n </div>\n <input\n #datepickerInput\n [(ngModel)]=\"value\"\n (click)=\"datePicker.open()\"\n [matDatepicker]=\"datePicker\"\n [readonly]=\"readonly\"\n [min]=\"_min\"\n [max]=\"_max\"\n />\n</div>\n<dr-button [disabled]=\"isNextDateDisabled\" *ngIf=\"!disabled\" theme=\"icon\" icon=\"dr-icon-arrow-right\" (click)=\"pagingClicked(true)\"></dr-button>\n<mat-datepicker #datePicker\n class=\"dr-timeframe-datepicker\"\n [calendarHeaderComponent]=\"customHeader\"\n (yearSelected)=\"chosenPeriodHandler($event, timeframeOption.YEAR)\"\n (monthSelected)=\"chosenPeriodHandler($event, timeframeOption.MONTH)\"\n [panelClass]=\"datePickerService.isUsingDateTagPresets ? 'date-picker-preset-tag' : 'dr-timeframe-datepicker'\"\n >\n</mat-datepicker>\n", 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 #9EA1AA;border-radius:6px;color:#333;overflow:hidden;outline:none;cursor:pointer}:host:hover{border-color:#9ea1aa}:host.active,:host:focus-within{border-color:#4646ce!important;color:#333}:host.disabled{pointer-events:none;border:1px solid #AEABAC;background:#f0f1f4;color:#aeabac}:host.disabled:after{color:#aeabac}:host.ng-valid.ng-dirty{border-color:#037c5a}:host.ng-invalid.ng-dirty:not(:focus-within){border-color:#bf1d30!important}:host.ng-untouched.ng-valid{border-color:#9ea1aa}:host:after,:host:before{position:absolute;display:flex;border-color:#6D6E6F transparent transparent;color:#6d6e6f}:host:after{font-family:DataRails!important;content:\"\\ea13\";font-size:24px;color:#6d6e6f;top:0;bottom:0;right:8px;pointer-events:none;position:absolute;display:flex;align-items:center;justify-content:center}:host i{display:flex;align-items:center;position:absolute;color:#6d6e6f;left:8px;top:0;bottom:0}:host input{display:flex;flex-grow:1;height:100%;border:none;text-align:left;padding-left:35px;padding-right:25px;cursor:pointer!important;outline:none}:host input.when-quarter{position:absolute;visibility:hidden}:host input:disabled{border:none;color:#aeabac;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 input::placeholder{color:#6d6e6f;font-size:14px;line-height:18px}::ng-deep .mat-datepicker-popup .mat-datepicker-content{margin:7px 0;box-shadow:0 4px 8px 1px #00000040;border-radius:12px!important}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]{border:inherit;color:inherit;background-color:inherit}::ng-deep .mat-datepicker-popup .mat-datepicker-content button[disabled]:hover{border:inherit}::ng-deep .mat-datepicker-popup .cdk-keyboard-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical),::ng-deep .mat-datepicker-popup .cdk-program-focused .mat-calendar-body-active>.mat-calendar-body-cell-content:not(.mat-calendar-body-selected):not(.mat-calendar-body-comparison-identical){background-color:#fff}::ng-deep .mat-datepicker-popup .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-datepicker-popup .mat-calendar-body-selected{background-color:#4646ce;color:#f2f2fb;font-weight:600}::ng-deep .mat-datepicker-popup .mat-calendar-body-today.mat-calendar-body-selected{box-shadow:none}::ng-deep .mat-datepicker-popup .mat-button-focus-overlay{background:#f5f5f5}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-icon-button:hover .mat-button-focus-overlay{opacity:1!important;background:#f5f5f5;transition:opacity .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-controls .mat-calendar-period-button:hover{background:#f5f5f5;transition:background .2s cubic-bezier(.35,0,.25,1)}::ng-deep .mat-datepicker-popup .mat-calendar-table-header th{font-size:14px;font-weight:600;color:#333}::ng-deep .mat-datepicker-popup .mat-calendar-table-header-divider{display:none}::ng-deep .mat-datepicker-popup .mat-calendar-body-label{color:#fff;padding:0}:host{border:none;display:flex;align-items:center}:host.disabled{background:transparent;color:#aeabac}:host.disabled.dr-date-picker-on-dashboard{border:none;padding:0 8px}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{text-decoration:none;color:#aeabac;font-weight:400}:host.disabled.dr-date-picker-on-dashboard .dr-datepicker-input-container i{color:#aeabac}:host.dr-date-picker-on-dashboard{width:-moz-fit-content;width:fit-content;justify-content:space-between}:host.dr-date-picker-on-dashboard mat-datepicker{position:absolute}:host.dr-date-picker-on-dashboard:after{visibility:hidden}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container{display:flex;flex-direction:row;justify-content:center;align-items:center;margin-left:-10px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container__formatted-value-display{font-weight:600;width:auto;margin-left:5px}:host.dr-date-picker-on-dashboard .dr-datepicker-input-container .dr-icon-date{display:block;position:relative;top:0;margin-right:8px;color:#4e566c}:host .dr-datepicker-input-container input{visibility:hidden;position:absolute;width:100%}:host .dr-datepicker-input-container__formatted-value-display{width:90px;height:22px;padding-left:0;text-align:center;line-height:22px;color:#0c142b;text-decoration-line:underline}:host .dr-datepicker-input-container__formatted-value-display:hover{background-color:#f2f2fb;border-radius:5px;cursor:pointer;text-decoration-line:underline;color:#4646ce}::ng-deep .date-picker-preset-tag{width:386px!important}::ng-deep .date-picker-preset-tag .mat-calendar-content{padding-left:32px!important;padding-right:32px!important}\n"] }]
|
|
3333
3351
|
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1$4.DateAdapter }, { type: DrDatePickerService }]; }, propDecorators: { isDashboardClassDisplayed: [{
|
|
3334
3352
|
type: HostBinding,
|
|
3335
3353
|
args: ['class.dr-date-picker-on-dashboard']
|
|
@@ -3347,6 +3365,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
3347
3365
|
type: Input
|
|
3348
3366
|
}], presetTag: [{
|
|
3349
3367
|
type: Input
|
|
3368
|
+
}], datepickerTooltip: [{
|
|
3369
|
+
type: Input
|
|
3370
|
+
}], datepickerTooltipPosition: [{
|
|
3371
|
+
type: Input
|
|
3372
|
+
}], datepickerTooltipTimeout: [{
|
|
3373
|
+
type: Input
|
|
3350
3374
|
}], onChangeFormat: [{
|
|
3351
3375
|
type: Output
|
|
3352
3376
|
}], onChangePresetTag: [{
|
|
@@ -7851,22 +7875,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
7851
7875
|
args: ['class']
|
|
7852
7876
|
}] } });
|
|
7853
7877
|
|
|
7854
|
-
var TooltipPosition;
|
|
7855
|
-
(function (TooltipPosition) {
|
|
7856
|
-
TooltipPosition["TOP"] = "top";
|
|
7857
|
-
TooltipPosition["BOTTOM"] = "bottom";
|
|
7858
|
-
TooltipPosition["LEFT"] = "left";
|
|
7859
|
-
TooltipPosition["RIGHT"] = "right";
|
|
7860
|
-
TooltipPosition["TOP_RIGHT"] = "top-right";
|
|
7861
|
-
TooltipPosition["TOP_LEFT"] = "top-left";
|
|
7862
|
-
TooltipPosition["BOTTOM_RIGHT"] = "bottom-right";
|
|
7863
|
-
TooltipPosition["BOTTOM_LEFT"] = "bottom-left";
|
|
7864
|
-
TooltipPosition["RIGHT_TOP"] = "right-top";
|
|
7865
|
-
TooltipPosition["RIGHT_BOTTOM"] = "right-bottom";
|
|
7866
|
-
TooltipPosition["LEFT_TOP"] = "left-top";
|
|
7867
|
-
TooltipPosition["LEFT_BOTTOM"] = "left-bottom";
|
|
7868
|
-
})(TooltipPosition || (TooltipPosition = {}));
|
|
7869
|
-
|
|
7870
7878
|
class ClickOutsideDirective {
|
|
7871
7879
|
constructor(_document /*: HTMLDocument*/, _el) {
|
|
7872
7880
|
this._document = _document;
|