@datarailsshared/datarailsshared 1.3.49 → 1.3.51
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.styles.css +3 -3
- package/assets/styles/_styles.scss +2 -2
- package/assets/styles/img/default-avatar.svg +5 -5
- package/bundles/datarailsshared-datarailsshared.umd.js +3984 -3995
- package/bundles/datarailsshared-datarailsshared.umd.js.map +1 -1
- package/datarailsshared-datarailsshared-1.3.51.tgz +0 -0
- package/datarailsshared-datarailsshared.d.ts +9 -9
- package/datarailsshared-datarailsshared.metadata.json +1 -1
- package/esm2015/datarailsshared-datarailsshared.js +9 -9
- package/esm2015/lib/date-tags/date-tag.component.js +70 -70
- package/esm2015/lib/date-tags/date-tag.module.js +50 -50
- package/esm2015/lib/date-tags/day-tag/day-tag.component.js +81 -81
- package/esm2015/lib/date-tags/forecast-tag/forecast-tag.component.js +143 -143
- package/esm2015/lib/date-tags/month-tag/month-tag.component.js +87 -87
- package/esm2015/lib/date-tags/quarter-tag/quarter-tag.component.js +101 -101
- package/esm2015/lib/date-tags/week-tag/week-tag.component.js +124 -124
- package/esm2015/lib/date-tags/year-tag/year-tag.component.js +93 -93
- package/esm2015/lib/dr-accordion/accordion-item-body.component.js +57 -57
- package/esm2015/lib/dr-accordion/accordion-item-header.component.js +79 -79
- package/esm2015/lib/dr-accordion/accordion-item.component.js +123 -123
- package/esm2015/lib/dr-accordion/accordion.component.js +43 -43
- package/esm2015/lib/dr-accordion/accordion.module.js +23 -23
- package/esm2015/lib/dr-avatar/dr-avatar.component.js +42 -42
- package/esm2015/lib/dr-avatar/dr-avatar.module.js +26 -26
- package/esm2015/lib/dr-avatar/dr-avatar.pipe.js +15 -15
- package/esm2015/lib/dr-dropdown/dr-dropdown-item-show.pipe.js +12 -12
- package/esm2015/lib/dr-dropdown/dr-dropdown-position.directive.js +97 -97
- package/esm2015/lib/dr-dropdown/dr-dropdown.component.js +110 -110
- package/esm2015/lib/dr-dropdown/dr-dropdown.directive.js +89 -89
- package/esm2015/lib/dr-dropdown/dr-dropdown.module.js +34 -34
- package/esm2015/lib/dr-dropdown/dr-dropdown.service.js +24 -24
- package/esm2015/lib/dr-inputs/button/button.component.js +80 -80
- package/esm2015/lib/dr-inputs/checkbox/checkbox.component.js +63 -63
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.js +47 -47
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.component.js +183 -186
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker.service.js +41 -41
- package/esm2015/lib/dr-inputs/dr-date-picker/dr-date-picker_custom-header/dr-date-picker_custom-header.component.js +129 -129
- package/esm2015/lib/dr-inputs/dr-input/dr-input.component.js +185 -185
- package/esm2015/lib/dr-inputs/dr-inputs.module.js +51 -51
- package/esm2015/lib/dr-inputs/dr-model-debounce-change.directive.js +31 -31
- package/esm2015/lib/dr-inputs/dr-select/dr-select.component.js +90 -90
- package/esm2015/lib/dr-inputs/dr-toggle/dr-toggle.component.js +64 -64
- package/esm2015/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.js +56 -56
- package/esm2015/lib/dr-inputs/radio-button/radio-button.component.js +64 -64
- package/esm2015/lib/dr-inputs/radio-button/radio-group.component.js +164 -164
- package/esm2015/lib/dr-popover/dr-popover-ref.js +20 -20
- package/esm2015/lib/dr-popover/dr-popover.component.js +77 -77
- package/esm2015/lib/dr-popover/dr-popover.directive.js +72 -72
- package/esm2015/lib/dr-popover/dr-popover.module.js +23 -23
- package/esm2015/lib/dr-popover/dr-popover.service.js +102 -102
- package/esm2015/lib/dr-spinner/dr-spinner.component.js +29 -29
- package/esm2015/lib/dr-spinner/dr-spinner.directive.js +53 -53
- package/esm2015/lib/dr-spinner/dr-spinner.module.js +18 -18
- package/esm2015/lib/dr-tabs/dr-tab.component.js +23 -23
- package/esm2015/lib/dr-tabs/dr-tabs.component.js +28 -28
- package/esm2015/lib/dr-tabs/dr-tabs.module.js +30 -30
- package/esm2015/lib/dr-tags/dr-tag.component.js +54 -54
- package/esm2015/lib/dr-tags/dr-tag.module.js +22 -22
- package/esm2015/lib/dr-tooltip/dr-tooltip.component.js +30 -30
- package/esm2015/lib/dr-tooltip/dr-tooltip.directive.js +102 -102
- package/esm2015/lib/dr-tooltip/dr-tooltip.module.js +23 -23
- package/esm2015/lib/list-tags/list-tag.component.js +41 -41
- package/esm2015/lib/list-tags/list-tag.module.js +29 -29
- package/esm2015/lib/models/constants.js +97 -97
- package/esm2015/lib/models/datePicker.js +40 -40
- package/esm2015/lib/models/dropdown.js +2 -2
- package/esm2015/lib/models/popover.js +27 -27
- package/esm2015/lib/models/serverTags.js +2 -2
- package/esm2015/public-api.js +57 -57
- package/fesm2015/datarailsshared-datarailsshared.js +3365 -3368
- package/fesm2015/datarailsshared-datarailsshared.js.map +1 -1
- package/lib/date-tags/date-tag.component.d.ts +27 -27
- package/lib/date-tags/date-tag.module.d.ts +4 -4
- package/lib/date-tags/day-tag/day-tag.component.d.ts +12 -12
- package/lib/date-tags/forecast-tag/forecast-tag.component.d.ts +21 -21
- package/lib/date-tags/month-tag/month-tag.component.d.ts +14 -14
- package/lib/date-tags/quarter-tag/quarter-tag.component.d.ts +17 -17
- package/lib/date-tags/week-tag/week-tag.component.d.ts +19 -19
- package/lib/date-tags/year-tag/year-tag.component.d.ts +14 -14
- package/lib/dr-accordion/accordion-item-body.component.d.ts +11 -11
- package/lib/dr-accordion/accordion-item-header.component.d.ts +16 -16
- package/lib/dr-accordion/accordion-item.component.d.ts +53 -53
- package/lib/dr-accordion/accordion.component.d.ts +19 -19
- package/lib/dr-accordion/accordion.module.d.ts +2 -2
- package/lib/dr-avatar/dr-avatar.component.d.ts +10 -10
- package/lib/dr-avatar/dr-avatar.module.d.ts +2 -2
- package/lib/dr-avatar/dr-avatar.pipe.d.ts +4 -4
- package/lib/dr-dropdown/dr-dropdown-item-show.pipe.d.ts +5 -5
- package/lib/dr-dropdown/dr-dropdown-position.directive.d.ts +12 -12
- package/lib/dr-dropdown/dr-dropdown.component.d.ts +26 -26
- package/lib/dr-dropdown/dr-dropdown.directive.d.ts +23 -23
- package/lib/dr-dropdown/dr-dropdown.module.d.ts +2 -2
- package/lib/dr-dropdown/dr-dropdown.service.d.ts +11 -11
- package/lib/dr-inputs/button/button.component.d.ts +21 -21
- package/lib/dr-inputs/checkbox/checkbox.component.d.ts +20 -20
- package/lib/dr-inputs/dr-date-picker/dr-date-picker-format.directive.d.ts +10 -10
- package/lib/dr-inputs/dr-date-picker/dr-date-picker.component.d.ts +54 -54
- package/lib/dr-inputs/dr-date-picker/dr-date-picker.service.d.ts +12 -12
- package/lib/dr-inputs/dr-date-picker/dr-date-picker_custom-header/dr-date-picker_custom-header.component.d.ts +41 -41
- package/lib/dr-inputs/dr-input/dr-input.component.d.ts +58 -58
- package/lib/dr-inputs/dr-inputs.module.d.ts +2 -2
- package/lib/dr-inputs/dr-model-debounce-change.directive.d.ts +11 -11
- package/lib/dr-inputs/dr-select/dr-select.component.d.ts +38 -38
- package/lib/dr-inputs/dr-toggle/dr-toggle.component.d.ts +23 -23
- package/lib/dr-inputs/dr-toggle-button/dr-toggle-button.component.d.ts +19 -19
- package/lib/dr-inputs/radio-button/radio-button.component.d.ts +21 -21
- package/lib/dr-inputs/radio-button/radio-group.component.d.ts +39 -39
- package/lib/dr-popover/dr-popover-ref.d.ts +16 -16
- package/lib/dr-popover/dr-popover.component.d.ts +26 -26
- package/lib/dr-popover/dr-popover.directive.d.ts +26 -26
- package/lib/dr-popover/dr-popover.module.d.ts +2 -2
- package/lib/dr-popover/dr-popover.service.d.ts +17 -17
- package/lib/dr-spinner/dr-spinner.component.d.ts +10 -10
- package/lib/dr-spinner/dr-spinner.directive.d.ts +15 -15
- package/lib/dr-spinner/dr-spinner.module.d.ts +2 -2
- package/lib/dr-tabs/dr-tab.component.d.ts +8 -8
- package/lib/dr-tabs/dr-tabs.component.d.ts +11 -11
- package/lib/dr-tabs/dr-tabs.module.d.ts +2 -2
- package/lib/dr-tags/dr-tag.component.d.ts +15 -15
- package/lib/dr-tags/dr-tag.module.d.ts +2 -2
- package/lib/dr-tooltip/dr-tooltip.component.d.ts +16 -16
- package/lib/dr-tooltip/dr-tooltip.directive.d.ts +23 -23
- package/lib/dr-tooltip/dr-tooltip.module.d.ts +2 -2
- package/lib/list-tags/list-tag.component.d.ts +14 -14
- package/lib/list-tags/list-tag.module.d.ts +2 -2
- package/lib/models/constants.d.ts +87 -87
- package/lib/models/datePicker.d.ts +25 -25
- package/lib/models/dropdown.d.ts +48 -48
- package/lib/models/popover.d.ts +32 -32
- package/lib/models/serverTags.d.ts +28 -28
- package/package.json +1 -1
- package/public-api.d.ts +55 -55
- package/datarailsshared-datarailsshared-1.3.49.tgz +0 -0
|
@@ -1,93 +1,93 @@
|
|
|
1
|
-
import { Component, Input } from "@angular/core";
|
|
2
|
-
import { FormControl } from "@angular/forms";
|
|
3
|
-
import { AnyTagComponent } from "../date-tag.component";
|
|
4
|
-
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
5
|
-
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from "@angular/material-moment-adapter";
|
|
6
|
-
// @ts-ignore
|
|
7
|
-
const moment = require("moment");
|
|
8
|
-
const YEAR_FORMATS = {
|
|
9
|
-
parse: {
|
|
10
|
-
dateInput: "YYYY",
|
|
11
|
-
},
|
|
12
|
-
display: {
|
|
13
|
-
dateInput: "YYYY",
|
|
14
|
-
monthYearLabel: "MMMM YYYY",
|
|
15
|
-
dateA11yLabel: "LL",
|
|
16
|
-
monthYearA11yLabel: "MMMM YYYY"
|
|
17
|
-
},
|
|
18
|
-
};
|
|
19
|
-
const ɵ0 = YEAR_FORMATS;
|
|
20
|
-
export class YearTagComponent extends AnyTagComponent {
|
|
21
|
-
constructor() {
|
|
22
|
-
super();
|
|
23
|
-
this.lockedDate = [];
|
|
24
|
-
this.date = new FormControl(moment());
|
|
25
|
-
this.dateFilter = (date) => {
|
|
26
|
-
const calendarDateYear = moment(date).year();
|
|
27
|
-
let status = true;
|
|
28
|
-
this.lockedDate.forEach(timestamp => {
|
|
29
|
-
const lockDate = moment.unix(timestamp);
|
|
30
|
-
return status = !(lockDate.year() === calendarDateYear);
|
|
31
|
-
});
|
|
32
|
-
return status;
|
|
33
|
-
};
|
|
34
|
-
}
|
|
35
|
-
initDate() {
|
|
36
|
-
if (this.defaultValue) {
|
|
37
|
-
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY");
|
|
38
|
-
this.date = new FormControl(moment(this.defaultValue * 1000));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.dateObj.date = moment(new Date()).format("YYYY");
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
initName() {
|
|
45
|
-
if (!this.name) {
|
|
46
|
-
this.name = "Year";
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
chosenTagHandler(value) {
|
|
50
|
-
const date = new Date();
|
|
51
|
-
const year = moment(value).year();
|
|
52
|
-
date.setTime(0);
|
|
53
|
-
date.setFullYear(year, 0, 1);
|
|
54
|
-
const resultDate = moment.utc(date);
|
|
55
|
-
resultDate.hour(12);
|
|
56
|
-
const resultTag = {
|
|
57
|
-
name: this.name,
|
|
58
|
-
value: parseInt(resultDate.format("X"), 10),
|
|
59
|
-
label: resultDate.format("YYYY"),
|
|
60
|
-
locked: !this.dateFilter(value)
|
|
61
|
-
};
|
|
62
|
-
console.log("resultTag", resultTag);
|
|
63
|
-
this.dateChange.emit(resultTag);
|
|
64
|
-
}
|
|
65
|
-
chosenYearHandler(normalizedYear, datepicker) {
|
|
66
|
-
const ctrlValue = this.date.value;
|
|
67
|
-
ctrlValue.year(normalizedYear.year());
|
|
68
|
-
this.date.setValue(ctrlValue);
|
|
69
|
-
this.dateObj.date = this.date.value;
|
|
70
|
-
this.chosenTagHandler(this.date.value);
|
|
71
|
-
datepicker.close();
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
YearTagComponent.decorators = [
|
|
75
|
-
{ type: Component, args: [{
|
|
76
|
-
template: "<div>\
|
|
77
|
-
selector: "year-tag",
|
|
78
|
-
providers: [
|
|
79
|
-
{
|
|
80
|
-
provide: DateAdapter,
|
|
81
|
-
useClass: MomentDateAdapter,
|
|
82
|
-
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
83
|
-
},
|
|
84
|
-
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
85
|
-
]
|
|
86
|
-
},] }
|
|
87
|
-
];
|
|
88
|
-
YearTagComponent.ctorParameters = () => [];
|
|
89
|
-
YearTagComponent.propDecorators = {
|
|
90
|
-
lockedDate: [{ type: Input }]
|
|
91
|
-
};
|
|
92
|
-
export { ɵ0 };
|
|
93
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, Input } from "@angular/core";
|
|
2
|
+
import { FormControl } from "@angular/forms";
|
|
3
|
+
import { AnyTagComponent } from "../date-tag.component";
|
|
4
|
+
import { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from "@angular/material/core";
|
|
5
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from "@angular/material-moment-adapter";
|
|
6
|
+
// @ts-ignore
|
|
7
|
+
const moment = require("moment");
|
|
8
|
+
const YEAR_FORMATS = {
|
|
9
|
+
parse: {
|
|
10
|
+
dateInput: "YYYY",
|
|
11
|
+
},
|
|
12
|
+
display: {
|
|
13
|
+
dateInput: "YYYY",
|
|
14
|
+
monthYearLabel: "MMMM YYYY",
|
|
15
|
+
dateA11yLabel: "LL",
|
|
16
|
+
monthYearA11yLabel: "MMMM YYYY"
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
const ɵ0 = YEAR_FORMATS;
|
|
20
|
+
export class YearTagComponent extends AnyTagComponent {
|
|
21
|
+
constructor() {
|
|
22
|
+
super();
|
|
23
|
+
this.lockedDate = [];
|
|
24
|
+
this.date = new FormControl(moment());
|
|
25
|
+
this.dateFilter = (date) => {
|
|
26
|
+
const calendarDateYear = moment(date).year();
|
|
27
|
+
let status = true;
|
|
28
|
+
this.lockedDate.forEach(timestamp => {
|
|
29
|
+
const lockDate = moment.unix(timestamp);
|
|
30
|
+
return status = !(lockDate.year() === calendarDateYear);
|
|
31
|
+
});
|
|
32
|
+
return status;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
initDate() {
|
|
36
|
+
if (this.defaultValue) {
|
|
37
|
+
this.dateObj.date = moment(new Date(this.defaultValue * 1000)).utc().format("YYYY");
|
|
38
|
+
this.date = new FormControl(moment(this.defaultValue * 1000));
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
this.dateObj.date = moment(new Date()).format("YYYY");
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
initName() {
|
|
45
|
+
if (!this.name) {
|
|
46
|
+
this.name = "Year";
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
chosenTagHandler(value) {
|
|
50
|
+
const date = new Date();
|
|
51
|
+
const year = moment(value).year();
|
|
52
|
+
date.setTime(0);
|
|
53
|
+
date.setFullYear(year, 0, 1);
|
|
54
|
+
const resultDate = moment.utc(date);
|
|
55
|
+
resultDate.hour(12);
|
|
56
|
+
const resultTag = {
|
|
57
|
+
name: this.name,
|
|
58
|
+
value: parseInt(resultDate.format("X"), 10),
|
|
59
|
+
label: resultDate.format("YYYY"),
|
|
60
|
+
locked: !this.dateFilter(value)
|
|
61
|
+
};
|
|
62
|
+
console.log("resultTag", resultTag);
|
|
63
|
+
this.dateChange.emit(resultTag);
|
|
64
|
+
}
|
|
65
|
+
chosenYearHandler(normalizedYear, datepicker) {
|
|
66
|
+
const ctrlValue = this.date.value;
|
|
67
|
+
ctrlValue.year(normalizedYear.year());
|
|
68
|
+
this.date.setValue(ctrlValue);
|
|
69
|
+
this.dateObj.date = this.date.value;
|
|
70
|
+
this.chosenTagHandler(this.date.value);
|
|
71
|
+
datepicker.close();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
YearTagComponent.decorators = [
|
|
75
|
+
{ type: Component, args: [{
|
|
76
|
+
template: "<div>\n <mat-form-field class=\"date-select-box\">\n <input\n matInput\n placeholder=\"{{name}}\"\n name=\"Year\"\n [formControl]=\"date\"\n [matDatepicker]=\"datepicker\"\n [matDatepickerFilter]=\"dateFilter\">\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\n <mat-datepicker\n #datepicker\n startView=\"multi-year\"\n (yearSelected)=\"chosenYearHandler($event, datepicker)\"\n panelClass=\"date-month-picker\"\n ></mat-datepicker>\n </mat-form-field>\n</div>\n",
|
|
77
|
+
selector: "year-tag",
|
|
78
|
+
providers: [
|
|
79
|
+
{
|
|
80
|
+
provide: DateAdapter,
|
|
81
|
+
useClass: MomentDateAdapter,
|
|
82
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
83
|
+
},
|
|
84
|
+
{ provide: MAT_DATE_FORMATS, useValue: ɵ0 },
|
|
85
|
+
]
|
|
86
|
+
},] }
|
|
87
|
+
];
|
|
88
|
+
YearTagComponent.ctorParameters = () => [];
|
|
89
|
+
YearTagComponent.propDecorators = {
|
|
90
|
+
lockedDate: [{ type: Input }]
|
|
91
|
+
};
|
|
92
|
+
export { ɵ0 };
|
|
93
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWVhci10YWcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZGF0YXJhaWxzc2hhcmVkL3NyYy9saWIvZGF0ZS10YWdzL3llYXItdGFnL3llYXItdGFnLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUN2RCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7QUFJM0MsT0FBTyxFQUFDLGVBQWUsRUFBQyxNQUFNLHVCQUF1QixDQUFDO0FBQ3RELE9BQU8sRUFBQyxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDcEcsYUFBYTtBQUNiLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQztBQUVqQyxNQUFNLFlBQVksR0FBRztJQUNuQixLQUFLLEVBQUU7UUFDTCxTQUFTLEVBQUUsTUFBTTtLQUNsQjtJQUNELE9BQU8sRUFBRTtRQUNQLFNBQVMsRUFBRSxNQUFNO1FBQ2pCLGNBQWMsRUFBRSxXQUFXO1FBQzNCLGFBQWEsRUFBRSxJQUFJO1FBQ25CLGtCQUFrQixFQUFFLFdBQVc7S0FDaEM7Q0FDRixDQUFDO1dBVzBDLFlBQVk7QUFJeEQsTUFBTSxPQUFPLGdCQUFpQixTQUFRLGVBQWU7SUFLbkQ7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUxELGVBQVUsR0FBVSxFQUFFLENBQUM7UUFFaEMsU0FBSSxHQUFHLElBQUksV0FBVyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFpRGpDLGVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLElB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LEtBQUssRUFBRSxDQUFDO0lBQ3JCLENBQUM7OztZQS9ERixTQUFTLFNBQUM7Z0JBQ1AsNG9CQUFzQztnQkFDdEMsUUFBUSxFQUFFLFVBQVU7Z0JBQ3BCLFNBQVMsRUFBRTtvQkFDVDt3QkFDRSxPQUFPLEVBQUUsV0FBVzt3QkFDcEIsUUFBUSxFQUFFLGlCQUFpQjt3QkFDM0IsSUFBSSxFQUFFLENBQUMsZUFBZSxFQUFFLCtCQUErQixDQUFDO3FCQUN6RDtvQkFDRCxFQUFDLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxRQUFRLElBQWMsRUFBQztpQkFDcEQ7YUFDSjs7Ozt5QkFHRSxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPbkluaXR9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQge0Zvcm1Db250cm9sfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7TWF0RGF0ZXBpY2tlcn0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2RhdGVwaWNrZXJcIjtcbmltcG9ydCB7TW9tZW50fSBmcm9tIFwibW9tZW50XCI7XG5pbXBvcnQge0lEYXRlVGFnfSBmcm9tIFwiLi4vLi4vbW9kZWxzL3NlcnZlclRhZ3NcIjtcbmltcG9ydCB7QW55VGFnQ29tcG9uZW50fSBmcm9tIFwiLi4vZGF0ZS10YWcuY29tcG9uZW50XCI7XG5pbXBvcnQge0RhdGVBZGFwdGVyLCBNQVRfREFURV9GT1JNQVRTLCBNQVRfREFURV9MT0NBTEV9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9jb3JlXCI7XG5pbXBvcnQge01BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlMsIE1vbWVudERhdGVBZGFwdGVyfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXJcIjtcbi8vIEB0cy1pZ25vcmVcbmNvbnN0IG1vbWVudCA9IHJlcXVpcmUoXCJtb21lbnRcIik7XG5cbmNvbnN0IFlFQVJfRk9STUFUUyA9IHtcbiAgcGFyc2U6IHtcbiAgICBkYXRlSW5wdXQ6IFwiWVlZWVwiLFxuICB9LFxuICBkaXNwbGF5OiB7XG4gICAgZGF0ZUlucHV0OiBcIllZWVlcIixcbiAgICBtb250aFllYXJMYWJlbDogXCJNTU1NIFlZWVlcIixcbiAgICBkYXRlQTExeUxhYmVsOiBcIkxMXCIsXG4gICAgbW9udGhZZWFyQTExeUxhYmVsOiBcIk1NTU0gWVlZWVwiXG4gIH0sXG59O1xuXG5AQ29tcG9uZW50KHtcbiAgICB0ZW1wbGF0ZVVybDogXCJ5ZWFyLXRhZy5jb21wb25lbnQuaHRtbFwiLFxuICAgIHNlbGVjdG9yOiBcInllYXItdGFnXCIsXG4gICAgcHJvdmlkZXJzOiBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IERhdGVBZGFwdGVyLFxuICAgICAgICB1c2VDbGFzczogTW9tZW50RGF0ZUFkYXB0ZXIsXG4gICAgICAgIGRlcHM6IFtNQVRfREFURV9MT0NBTEUsIE1BVF9NT01FTlRfREFURV9BREFQVEVSX09QVElPTlNdLFxuICAgICAgfSxcbiAgICAgIHtwcm92aWRlOiBNQVRfREFURV9GT1JNQVRTLCB1c2VWYWx1ZTogWUVBUl9GT1JNQVRTfSxcbiAgICBdLFxufSlcblxuZXhwb3J0IGNsYXNzIFllYXJUYWdDb21wb25lbnQgZXh0ZW5kcyBBbnlUYWdDb21wb25lbnQge1xuICBASW5wdXQoKSBsb2NrZWREYXRlOiBhbnlbXSA9IFtdO1xuXG4gIGRhdGUgPSBuZXcgRm9ybUNvbnRyb2wobW9tZW50KCkpO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICBpbml0RGF0ZSgpIHtcbiAgICBpZiAodGhpcy5kZWZhdWx0VmFsdWUpIHtcbiAgICAgIHRoaXMuZGF0ZU9iai5kYXRlID0gbW9tZW50KG5ldyBEYXRlKHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMCkpLnV0YygpLmZvcm1hdChcIllZWVlcIik7XG4gICAgICB0aGlzLmRhdGUgPSBuZXcgRm9ybUNvbnRyb2wobW9tZW50KHRoaXMuZGVmYXVsdFZhbHVlICogMTAwMCkpO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmRhdGVPYmouZGF0ZSA9IG1vbWVudChuZXcgRGF0ZSgpKS5mb3JtYXQoXCJZWVlZXCIpO1xuICAgIH1cbiAgfVxuXG4gIGluaXROYW1lKCkge1xuICAgIGlmICghdGhpcy5uYW1lKSB7XG4gICAgICB0aGlzLm5hbWUgPSBcIlllYXJcIjtcbiAgICB9XG4gIH1cblxuICBjaG9zZW5UYWdIYW5kbGVyKHZhbHVlKSB7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICAgIGNvbnN0IHllYXIgPSBtb21lbnQodmFsdWUpLnllYXIoKTtcbiAgICAgIGRhdGUuc2V0VGltZSgwKTtcbiAgICAgIGRhdGUuc2V0RnVsbFllYXIoeWVhciwgMCwgMSk7XG4gICAgICBjb25zdCByZXN1bHREYXRlOiBNb21lbnQgPSBtb21lbnQudXRjKGRhdGUpO1xuICAgICAgcmVzdWx0RGF0ZS5ob3VyKDEyKTtcbiAgICAgIGNvbnN0IHJlc3VsdFRhZzogSURhdGVUYWcgPSB7XG4gICAgICAgICAgbmFtZTogdGhpcy5uYW1lLFxuICAgICAgICAgIHZhbHVlOiBwYXJzZUludChyZXN1bHREYXRlLmZvcm1hdChcIlhcIiksIDEwKSxcbiAgICAgICAgICBsYWJlbDogcmVzdWx0RGF0ZS5mb3JtYXQoXCJZWVlZXCIpLFxuICAgICAgICAgIGxvY2tlZDogIXRoaXMuZGF0ZUZpbHRlcih2YWx1ZSlcbiAgICAgIH07XG4gICAgICBjb25zb2xlLmxvZyhcInJlc3VsdFRhZ1wiLCByZXN1bHRUYWcpO1xuICAgICAgdGhpcy5kYXRlQ2hhbmdlLmVtaXQocmVzdWx0VGFnKTtcbiAgfVxuXG4gIGNob3NlblllYXJIYW5kbGVyKG5vcm1hbGl6ZWRZZWFyOiBNb21lbnQsIGRhdGVwaWNrZXI6IE1hdERhdGVwaWNrZXI8TW9tZW50Pikge1xuICAgIGNvbnN0IGN0cmxWYWx1ZSA9IHRoaXMuZGF0ZS52YWx1ZTtcbiAgICBjdHJsVmFsdWUueWVhcihub3JtYWxpemVkWWVhci55ZWFyKCkpO1xuXG4gICAgdGhpcy5kYXRlLnNldFZhbHVlKGN0cmxWYWx1ZSk7XG4gICAgdGhpcy5kYXRlT2JqLmRhdGUgPSB0aGlzLmRhdGUudmFsdWU7XG4gICAgdGhpcy5jaG9zZW5UYWdIYW5kbGVyKHRoaXMuZGF0ZS52YWx1ZSk7XG5cbiAgICBkYXRlcGlja2VyLmNsb3NlKCk7XG4gIH1cblxuICBkYXRlRmlsdGVyID0gKGRhdGUpID0+IHtcbiAgICBjb25zdCBjYWxlbmRhckRhdGVZZWFyID0gbW9tZW50KGRhdGUpLnllYXIoKTtcbiAgICBsZXQgc3RhdHVzID0gdHJ1ZTtcblxuICAgIHRoaXMubG9ja2VkRGF0ZS5mb3JFYWNoKHRpbWVzdGFtcCA9PiB7XG4gICAgICBjb25zdCBsb2NrRGF0ZSA9IG1vbWVudC51bml4KHRpbWVzdGFtcCk7XG5cbiAgICAgIHJldHVybiBzdGF0dXMgPSAhKGxvY2tEYXRlLnllYXIoKSA9PT0gY2FsZW5kYXJEYXRlWWVhcilcbiAgICB9KTtcblxuICAgIHJldHVybiBzdGF0dXM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,57 +1,57 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Host, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { trigger, state, style, animate, transition } from '@angular/animations';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
-
const accordionItemBodyTrigger = trigger('accordionItemBody', [
|
|
7
|
-
state('collapsed', style({
|
|
8
|
-
overflow: 'hidden',
|
|
9
|
-
visibility: 'hidden',
|
|
10
|
-
height: 0,
|
|
11
|
-
})),
|
|
12
|
-
state('expanded', style({
|
|
13
|
-
overflow: 'hidden',
|
|
14
|
-
visibility: 'visible',
|
|
15
|
-
})),
|
|
16
|
-
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
17
|
-
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
18
|
-
]);
|
|
19
|
-
export class DrAccordionItemBodyComponent {
|
|
20
|
-
constructor(accordionItem, cd) {
|
|
21
|
-
this.accordionItem = accordionItem;
|
|
22
|
-
this.cd = cd;
|
|
23
|
-
this.destroy$ = new Subject();
|
|
24
|
-
}
|
|
25
|
-
get state() {
|
|
26
|
-
return this.accordionItem.collapsed ? 'collapsed' : 'expanded';
|
|
27
|
-
}
|
|
28
|
-
ngOnInit() {
|
|
29
|
-
this.accordionItem.accordionItemInvalidate
|
|
30
|
-
.pipe(takeUntil(this.destroy$))
|
|
31
|
-
.subscribe(() => this.cd.markForCheck());
|
|
32
|
-
}
|
|
33
|
-
ngOnDestroy() {
|
|
34
|
-
this.destroy$.next();
|
|
35
|
-
this.destroy$.complete();
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
DrAccordionItemBodyComponent.decorators = [
|
|
39
|
-
{ type: Component, args: [{
|
|
40
|
-
selector: 'dr-accordion-item-body',
|
|
41
|
-
template: `
|
|
42
|
-
<div [@accordionItemBody]="{ value: state }">
|
|
43
|
-
<div class="item-body">
|
|
44
|
-
<ng-content></ng-content>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
`,
|
|
48
|
-
animations: [accordionItemBodyTrigger],
|
|
49
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
-
styles: [".item-body{flex:1;-ms-flex:1 1 auto;overflow:auto;position:relative}\n"]
|
|
51
|
-
},] }
|
|
52
|
-
];
|
|
53
|
-
DrAccordionItemBodyComponent.ctorParameters = () => [
|
|
54
|
-
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
55
|
-
{ type: ChangeDetectorRef }
|
|
56
|
-
];
|
|
57
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Host, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
+
import { trigger, state, style, animate, transition } from '@angular/animations';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
+
const accordionItemBodyTrigger = trigger('accordionItemBody', [
|
|
7
|
+
state('collapsed', style({
|
|
8
|
+
overflow: 'hidden',
|
|
9
|
+
visibility: 'hidden',
|
|
10
|
+
height: 0,
|
|
11
|
+
})),
|
|
12
|
+
state('expanded', style({
|
|
13
|
+
overflow: 'hidden',
|
|
14
|
+
visibility: 'visible',
|
|
15
|
+
})),
|
|
16
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
17
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
18
|
+
]);
|
|
19
|
+
export class DrAccordionItemBodyComponent {
|
|
20
|
+
constructor(accordionItem, cd) {
|
|
21
|
+
this.accordionItem = accordionItem;
|
|
22
|
+
this.cd = cd;
|
|
23
|
+
this.destroy$ = new Subject();
|
|
24
|
+
}
|
|
25
|
+
get state() {
|
|
26
|
+
return this.accordionItem.collapsed ? 'collapsed' : 'expanded';
|
|
27
|
+
}
|
|
28
|
+
ngOnInit() {
|
|
29
|
+
this.accordionItem.accordionItemInvalidate
|
|
30
|
+
.pipe(takeUntil(this.destroy$))
|
|
31
|
+
.subscribe(() => this.cd.markForCheck());
|
|
32
|
+
}
|
|
33
|
+
ngOnDestroy() {
|
|
34
|
+
this.destroy$.next();
|
|
35
|
+
this.destroy$.complete();
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
DrAccordionItemBodyComponent.decorators = [
|
|
39
|
+
{ type: Component, args: [{
|
|
40
|
+
selector: 'dr-accordion-item-body',
|
|
41
|
+
template: `
|
|
42
|
+
<div [@accordionItemBody]="{ value: state }">
|
|
43
|
+
<div class="item-body">
|
|
44
|
+
<ng-content></ng-content>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
`,
|
|
48
|
+
animations: [accordionItemBodyTrigger],
|
|
49
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
50
|
+
styles: [".item-body{flex:1;-ms-flex:1 1 auto;overflow:auto;position:relative}\n"]
|
|
51
|
+
},] }
|
|
52
|
+
];
|
|
53
|
+
DrAccordionItemBodyComponent.ctorParameters = () => [
|
|
54
|
+
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
55
|
+
{ type: ChangeDetectorRef }
|
|
56
|
+
];
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9kYXRhcmFpbHNzaGFyZWQvc3JjL2xpYi9kci1hY2NvcmRpb24vYWNjb3JkaW9uLWl0ZW0tYm9keS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsSUFBSSxFQUNKLGlCQUFpQixHQUdsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXRFLE1BQU0sd0JBQXdCLEdBQUcsT0FBTyxDQUFDLG1CQUFtQixFQUFFO0lBQzVELEtBQUssQ0FDSCxXQUFXLEVBQ1gsS0FBSyxDQUFDO1FBQ0osUUFBUSxFQUFFLFFBQVE7UUFDbEIsVUFBVSxFQUFFLFFBQVE7UUFDcEIsTUFBTSxFQUFFLENBQUM7S0FDVixDQUFDLENBQ0g7SUFDRCxLQUFLLENBQ0gsVUFBVSxFQUNWLEtBQUssQ0FBQztRQUNKLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxTQUFTO0tBQ3RCLENBQUMsQ0FDSDtJQUNELFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDN0QsVUFBVSxDQUFDLHVCQUF1QixFQUFFLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0NBQy9ELENBQUMsQ0FBQztBQWVILE1BQU0sT0FBTyw0QkFBNEI7SUFHdkMsWUFBNEIsYUFBdUMsRUFBVSxFQUFxQjtRQUF0RSxrQkFBYSxHQUFiLGFBQWEsQ0FBMEI7UUFBVSxPQUFFLEdBQUYsRUFBRSxDQUFtQjtRQUYxRixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQUU4RCxDQUFDO0lBRXRHLElBQUksS0FBSztRQUNQLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDO0lBQ2pFLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUI7YUFDdkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7YUFDOUIsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQztJQUM3QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDOzs7WUEvQkYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLFFBQVEsRUFBRTs7Ozs7O0dBTVQ7Z0JBRUQsVUFBVSxFQUFFLENBQUMsd0JBQXdCLENBQUM7Z0JBQ3RDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNOzthQUNoRDs7O1lBbENRLHdCQUF3Qix1QkFzQ2xCLElBQUk7WUE3Q2pCLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEhvc3QsXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBPbkluaXQsXG4gIE9uRGVzdHJveSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcblxuY29uc3QgYWNjb3JkaW9uSXRlbUJvZHlUcmlnZ2VyID0gdHJpZ2dlcignYWNjb3JkaW9uSXRlbUJvZHknLCBbXG4gIHN0YXRlKFxuICAgICdjb2xsYXBzZWQnLFxuICAgIHN0eWxlKHtcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHZpc2liaWxpdHk6ICdoaWRkZW4nLFxuICAgICAgaGVpZ2h0OiAwLFxuICAgIH0pLFxuICApLFxuICBzdGF0ZShcbiAgICAnZXhwYW5kZWQnLFxuICAgIHN0eWxlKHtcbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJyxcbiAgICAgIHZpc2liaWxpdHk6ICd2aXNpYmxlJyxcbiAgICB9KSxcbiAgKSxcbiAgdHJhbnNpdGlvbignY29sbGFwc2VkID0+IGV4cGFuZGVkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1pbicpKSxcbiAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG5dKTtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHItYWNjb3JkaW9uLWl0ZW0tYm9keScsXG4gIHRlbXBsYXRlOiBgXG4gICAgPGRpdiBbQGFjY29yZGlvbkl0ZW1Cb2R5XT1cInsgdmFsdWU6IHN0YXRlIH1cIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWJvZHlcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIGAsXG4gIHN0eWxlVXJsczogWycuL2FjY29yZGlvbi1pdGVtLWJvZHkuY29tcG9uZW50LnNjc3MnXSxcbiAgYW5pbWF0aW9uczogW2FjY29yZGlvbkl0ZW1Cb2R5VHJpZ2dlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckFjY29yZGlvbkl0ZW1Cb2R5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGRlc3Ryb3kkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihASG9zdCgpIHByaXZhdGUgYWNjb3JkaW9uSXRlbTogRHJBY2NvcmRpb25JdGVtQ29tcG9uZW50LCBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBnZXQgc3RhdGUoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5hY2NvcmRpb25JdGVtLmNvbGxhcHNlZCA/ICdjb2xsYXBzZWQnIDogJ2V4cGFuZGVkJztcbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuYWNjb3JkaW9uSXRlbS5hY2NvcmRpb25JdGVtSW52YWxpZGF0ZVxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkLm1hcmtGb3JDaGVjaygpKTtcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuZGVzdHJveSQubmV4dCgpO1xuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcbiAgfVxufVxuIl19
|
|
@@ -1,79 +1,79 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, Host, HostBinding, HostListener, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
-
import { trigger, state, style, animate, transition } from '@angular/animations';
|
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
|
4
|
-
import { Subject } from 'rxjs';
|
|
5
|
-
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
-
export class DrAccordionItemHeaderComponent {
|
|
7
|
-
constructor(accordionItem, cd) {
|
|
8
|
-
this.accordionItem = accordionItem;
|
|
9
|
-
this.cd = cd;
|
|
10
|
-
this.destroy$ = new Subject();
|
|
11
|
-
}
|
|
12
|
-
get isCollapsed() {
|
|
13
|
-
return this.accordionItem.collapsed;
|
|
14
|
-
}
|
|
15
|
-
get expanded() {
|
|
16
|
-
return !this.accordionItem.collapsed;
|
|
17
|
-
}
|
|
18
|
-
get tabbable() {
|
|
19
|
-
return this.accordionItem.disabled ? '-1' : '0';
|
|
20
|
-
}
|
|
21
|
-
get disabled() {
|
|
22
|
-
return this.accordionItem.disabled;
|
|
23
|
-
}
|
|
24
|
-
toggle() {
|
|
25
|
-
this.accordionItem.toggle();
|
|
26
|
-
}
|
|
27
|
-
get state() {
|
|
28
|
-
if (this.isCollapsed) {
|
|
29
|
-
return 'collapsed';
|
|
30
|
-
}
|
|
31
|
-
return 'expanded';
|
|
32
|
-
}
|
|
33
|
-
ngOnInit() {
|
|
34
|
-
this.accordionItem.accordionItemInvalidate
|
|
35
|
-
.pipe(takeUntil(this.destroy$))
|
|
36
|
-
.subscribe(() => this.cd.markForCheck());
|
|
37
|
-
}
|
|
38
|
-
ngOnDestroy() {
|
|
39
|
-
this.destroy$.next();
|
|
40
|
-
this.destroy$.complete();
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
DrAccordionItemHeaderComponent.decorators = [
|
|
44
|
-
{ type: Component, args: [{
|
|
45
|
-
selector: 'dr-accordion-item-header',
|
|
46
|
-
template: `
|
|
47
|
-
<ng-content select="dr-accordion-item-title"></ng-content>
|
|
48
|
-
<ng-content select="dr-accordion-item-description"></ng-content>
|
|
49
|
-
<ng-content></ng-content>
|
|
50
|
-
<i class="dr-icon-arrow-down expansion-indicator"
|
|
51
|
-
[@expansionIndicator]="state"
|
|
52
|
-
*ngIf="!disabled">
|
|
53
|
-
</i>
|
|
54
|
-
`,
|
|
55
|
-
animations: [
|
|
56
|
-
trigger('expansionIndicator', [
|
|
57
|
-
state('expanded', style({
|
|
58
|
-
transform: 'rotate(180deg)',
|
|
59
|
-
})),
|
|
60
|
-
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
61
|
-
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
62
|
-
]),
|
|
63
|
-
],
|
|
64
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
65
|
-
styles: [":host{display:flex;align-items:center;cursor:pointer;position:relative;border-bottom:1px solid #edf1f7;color:#222b45;font-family:\"Poppins\",sans-serif;font-size:13px;font-weight:600;line-height:1.5rem;padding:1.25rem;text-transform:capitalize}:host:focus{outline:0}:host .expansion-indicator{font-size:24px;position:absolute;right:10px;font-weight:700}\n"]
|
|
66
|
-
},] }
|
|
67
|
-
];
|
|
68
|
-
DrAccordionItemHeaderComponent.ctorParameters = () => [
|
|
69
|
-
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
70
|
-
{ type: ChangeDetectorRef }
|
|
71
|
-
];
|
|
72
|
-
DrAccordionItemHeaderComponent.propDecorators = {
|
|
73
|
-
isCollapsed: [{ type: HostBinding, args: ['class.accordion-item-header-collapsed',] }],
|
|
74
|
-
expanded: [{ type: HostBinding, args: ['class.accordion-item-header-expanded',] }, { type: HostBinding, args: ['attr.aria-expanded',] }],
|
|
75
|
-
tabbable: [{ type: HostBinding, args: ['attr.tabindex',] }],
|
|
76
|
-
disabled: [{ type: HostBinding, args: ['attr.aria-disabled',] }],
|
|
77
|
-
toggle: [{ type: HostListener, args: ['click',] }, { type: HostListener, args: ['keydown.space',] }, { type: HostListener, args: ['keydown.enter',] }]
|
|
78
|
-
};
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { Component, ChangeDetectionStrategy, Host, HostBinding, HostListener, ChangeDetectorRef, } from '@angular/core';
|
|
2
|
+
import { trigger, state, style, animate, transition } from '@angular/animations';
|
|
3
|
+
import { takeUntil } from 'rxjs/operators';
|
|
4
|
+
import { Subject } from 'rxjs';
|
|
5
|
+
import { DrAccordionItemComponent } from './accordion-item.component';
|
|
6
|
+
export class DrAccordionItemHeaderComponent {
|
|
7
|
+
constructor(accordionItem, cd) {
|
|
8
|
+
this.accordionItem = accordionItem;
|
|
9
|
+
this.cd = cd;
|
|
10
|
+
this.destroy$ = new Subject();
|
|
11
|
+
}
|
|
12
|
+
get isCollapsed() {
|
|
13
|
+
return this.accordionItem.collapsed;
|
|
14
|
+
}
|
|
15
|
+
get expanded() {
|
|
16
|
+
return !this.accordionItem.collapsed;
|
|
17
|
+
}
|
|
18
|
+
get tabbable() {
|
|
19
|
+
return this.accordionItem.disabled ? '-1' : '0';
|
|
20
|
+
}
|
|
21
|
+
get disabled() {
|
|
22
|
+
return this.accordionItem.disabled;
|
|
23
|
+
}
|
|
24
|
+
toggle() {
|
|
25
|
+
this.accordionItem.toggle();
|
|
26
|
+
}
|
|
27
|
+
get state() {
|
|
28
|
+
if (this.isCollapsed) {
|
|
29
|
+
return 'collapsed';
|
|
30
|
+
}
|
|
31
|
+
return 'expanded';
|
|
32
|
+
}
|
|
33
|
+
ngOnInit() {
|
|
34
|
+
this.accordionItem.accordionItemInvalidate
|
|
35
|
+
.pipe(takeUntil(this.destroy$))
|
|
36
|
+
.subscribe(() => this.cd.markForCheck());
|
|
37
|
+
}
|
|
38
|
+
ngOnDestroy() {
|
|
39
|
+
this.destroy$.next();
|
|
40
|
+
this.destroy$.complete();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
DrAccordionItemHeaderComponent.decorators = [
|
|
44
|
+
{ type: Component, args: [{
|
|
45
|
+
selector: 'dr-accordion-item-header',
|
|
46
|
+
template: `
|
|
47
|
+
<ng-content select="dr-accordion-item-title"></ng-content>
|
|
48
|
+
<ng-content select="dr-accordion-item-description"></ng-content>
|
|
49
|
+
<ng-content></ng-content>
|
|
50
|
+
<i class="dr-icon-arrow-down expansion-indicator"
|
|
51
|
+
[@expansionIndicator]="state"
|
|
52
|
+
*ngIf="!disabled">
|
|
53
|
+
</i>
|
|
54
|
+
`,
|
|
55
|
+
animations: [
|
|
56
|
+
trigger('expansionIndicator', [
|
|
57
|
+
state('expanded', style({
|
|
58
|
+
transform: 'rotate(180deg)',
|
|
59
|
+
})),
|
|
60
|
+
transition('collapsed => expanded', animate('100ms ease-in')),
|
|
61
|
+
transition('expanded => collapsed', animate('100ms ease-out')),
|
|
62
|
+
]),
|
|
63
|
+
],
|
|
64
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
65
|
+
styles: [":host{display:flex;align-items:center;cursor:pointer;position:relative;border-bottom:1px solid #edf1f7;color:#222b45;font-family:\"Poppins\",sans-serif;font-size:13px;font-weight:600;line-height:1.5rem;padding:1.25rem;text-transform:capitalize}:host:focus{outline:0}:host .expansion-indicator{font-size:24px;position:absolute;right:10px;font-weight:700}\n"]
|
|
66
|
+
},] }
|
|
67
|
+
];
|
|
68
|
+
DrAccordionItemHeaderComponent.ctorParameters = () => [
|
|
69
|
+
{ type: DrAccordionItemComponent, decorators: [{ type: Host }] },
|
|
70
|
+
{ type: ChangeDetectorRef }
|
|
71
|
+
];
|
|
72
|
+
DrAccordionItemHeaderComponent.propDecorators = {
|
|
73
|
+
isCollapsed: [{ type: HostBinding, args: ['class.accordion-item-header-collapsed',] }],
|
|
74
|
+
expanded: [{ type: HostBinding, args: ['class.accordion-item-header-expanded',] }, { type: HostBinding, args: ['attr.aria-expanded',] }],
|
|
75
|
+
tabbable: [{ type: HostBinding, args: ['attr.tabindex',] }],
|
|
76
|
+
disabled: [{ type: HostBinding, args: ['attr.aria-disabled',] }],
|
|
77
|
+
toggle: [{ type: HostListener, args: ['click',] }, { type: HostListener, args: ['keydown.space',] }, { type: HostListener, args: ['keydown.enter',] }]
|
|
78
|
+
};
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2RhdGFyYWlsc3NoYXJlZC9zcmMvbGliL2RyLWFjY29yZGlvbi9hY2NvcmRpb24taXRlbS1oZWFkZXIuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLElBQUksRUFDSixXQUFXLEVBQ1gsWUFBWSxFQUdaLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsT0FBTyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ2pGLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMzQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9CLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBNEJ0RSxNQUFNLE9BQU8sOEJBQThCO0lBc0N6QyxZQUE0QixhQUF1QyxFQUFVLEVBQXFCO1FBQXRFLGtCQUFhLEdBQWIsYUFBYSxDQUEwQjtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW1CO1FBckMxRixhQUFRLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztJQXNDdkMsQ0FBQztJQXBDRCxJQUNJLFdBQVc7UUFDYixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxJQUVJLFFBQVE7UUFDVixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUM7SUFDdkMsQ0FBQztJQUVELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ2xELENBQUM7SUFFRCxJQUNJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ3JDLENBQUM7SUFLRCxNQUFNO1FBQ0osSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUM5QixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQztJQUtELFFBQVE7UUFDTixJQUFJLENBQUMsYUFBYSxDQUFDLHVCQUF1QjthQUN2QyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUMsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO0lBQzdDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7OztZQTVFRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLDBCQUEwQjtnQkFFcEMsUUFBUSxFQUFFOzs7Ozs7OztHQVFUO2dCQUNELFVBQVUsRUFBRTtvQkFDVixPQUFPLENBQUMsb0JBQW9CLEVBQUU7d0JBQzVCLEtBQUssQ0FDSCxVQUFVLEVBQ1YsS0FBSyxDQUFDOzRCQUNKLFNBQVMsRUFBRSxnQkFBZ0I7eUJBQzVCLENBQUMsQ0FDSDt3QkFDRCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUM3RCxVQUFVLENBQUMsdUJBQXVCLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUM7cUJBQy9ELENBQUM7aUJBQ0g7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUEzQlEsd0JBQXdCLHVCQWtFbEIsSUFBSTtZQXZFakIsaUJBQWlCOzs7MEJBb0NoQixXQUFXLFNBQUMsdUNBQXVDO3VCQUtuRCxXQUFXLFNBQUMsc0NBQXNDLGNBQ2xELFdBQVcsU0FBQyxvQkFBb0I7dUJBS2hDLFdBQVcsU0FBQyxlQUFlO3VCQUszQixXQUFXLFNBQUMsb0JBQW9CO3FCQUtoQyxZQUFZLFNBQUMsT0FBTyxjQUNwQixZQUFZLFNBQUMsZUFBZSxjQUM1QixZQUFZLFNBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIEhvc3QsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIE9uSW5pdCxcbiAgT25EZXN0cm95LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyB0cmlnZ2VyLCBzdGF0ZSwgc3R5bGUsIGFuaW1hdGUsIHRyYW5zaXRpb24gfSBmcm9tICdAYW5ndWxhci9hbmltYXRpb25zJztcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IERyQWNjb3JkaW9uSXRlbUNvbXBvbmVudCB9IGZyb20gJy4vYWNjb3JkaW9uLWl0ZW0uY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZHItYWNjb3JkaW9uLWl0ZW0taGVhZGVyJyxcbiAgc3R5bGVVcmxzOiBbJy4vYWNjb3JkaW9uLWl0ZW0taGVhZGVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIHRlbXBsYXRlOiBgXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItYWNjb3JkaW9uLWl0ZW0tdGl0bGVcIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiZHItYWNjb3JkaW9uLWl0ZW0tZGVzY3JpcHRpb25cIj48L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgIDxpIGNsYXNzPVwiZHItaWNvbi1hcnJvdy1kb3duIGV4cGFuc2lvbi1pbmRpY2F0b3JcIlxuICAgICAgIFtAZXhwYW5zaW9uSW5kaWNhdG9yXT1cInN0YXRlXCJcbiAgICAgICAqbmdJZj1cIiFkaXNhYmxlZFwiPlxuICAgIDwvaT5cbiAgYCxcbiAgYW5pbWF0aW9uczogW1xuICAgIHRyaWdnZXIoJ2V4cGFuc2lvbkluZGljYXRvcicsIFtcbiAgICAgIHN0YXRlKFxuICAgICAgICAnZXhwYW5kZWQnLFxuICAgICAgICBzdHlsZSh7XG4gICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKDE4MGRlZyknLFxuICAgICAgICB9KSxcbiAgICAgICksXG4gICAgICB0cmFuc2l0aW9uKCdjb2xsYXBzZWQgPT4gZXhwYW5kZWQnLCBhbmltYXRlKCcxMDBtcyBlYXNlLWluJykpLFxuICAgICAgdHJhbnNpdGlvbignZXhwYW5kZWQgPT4gY29sbGFwc2VkJywgYW5pbWF0ZSgnMTAwbXMgZWFzZS1vdXQnKSksXG4gICAgXSksXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEckFjY29yZGlvbkl0ZW1IZWFkZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWNvbGxhcHNlZCcpXG4gIGdldCBpc0NvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY2NvcmRpb25JdGVtLmNvbGxhcHNlZDtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MuYWNjb3JkaW9uLWl0ZW0taGVhZGVyLWV4cGFuZGVkJylcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmFyaWEtZXhwYW5kZWQnKVxuICBnZXQgZXhwYW5kZWQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICF0aGlzLmFjY29yZGlvbkl0ZW0uY29sbGFwc2VkO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdhdHRyLnRhYmluZGV4JylcbiAgZ2V0IHRhYmJhYmxlKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuYWNjb3JkaW9uSXRlbS5kaXNhYmxlZCA/ICctMScgOiAnMCc7XG4gIH1cblxuICBASG9zdEJpbmRpbmcoJ2F0dHIuYXJpYS1kaXNhYmxlZCcpXG4gIGdldCBkaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5hY2NvcmRpb25JdGVtLmRpc2FibGVkO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snKVxuICBASG9zdExpc3RlbmVyKCdrZXlkb3duLnNwYWNlJylcbiAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5lbnRlcicpXG4gIHRvZ2dsZSgpIHtcbiAgICB0aGlzLmFjY29yZGlvbkl0ZW0udG9nZ2xlKCk7XG4gIH1cblxuICBnZXQgc3RhdGUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0NvbGxhcHNlZCkge1xuICAgICAgcmV0dXJuICdjb2xsYXBzZWQnO1xuICAgIH1cbiAgICByZXR1cm4gJ2V4cGFuZGVkJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKEBIb3N0KCkgcHJpdmF0ZSBhY2NvcmRpb25JdGVtOiBEckFjY29yZGlvbkl0ZW1Db21wb25lbnQsIHByaXZhdGUgY2Q6IENoYW5nZURldGVjdG9yUmVmKSB7XG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmFjY29yZGlvbkl0ZW0uYWNjb3JkaW9uSXRlbUludmFsaWRhdGVcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcbiAgICAgIC5zdWJzY3JpYmUoKCkgPT4gdGhpcy5jZC5tYXJrRm9yQ2hlY2soKSk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpIHtcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQoKTtcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XG4gIH1cbn1cbiJdfQ==
|