ngx-edu-sharing-ui 9.0.1 → 9.1.1
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/assets/scss/mixins.scss +1 -4
- package/assets/scss/variables.scss +0 -3
- package/esm2022/lib/actionbar/actionbar.component.mjs +5 -5
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +73 -62
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +8 -2
- package/esm2022/lib/directives/icon.directive.mjs +15 -8
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +85 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +8 -1
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +6 -6
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +3 -1
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +15 -13
- package/esm2022/lib/node-entries/entries-model.mjs +2 -1
- package/esm2022/lib/node-entries/node-cache.mjs +9 -1
- package/esm2022/lib/node-entries/node-data-source.mjs +4 -2
- package/esm2022/lib/node-entries/node-entries-card/node-entries-card.component.mjs +13 -11
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +37 -22
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +5 -5
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +3 -3
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +14 -1
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +3 -3
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +43 -34
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +10 -3
- package/esm2022/lib/node-entries/node-entries.component.mjs +2 -2
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +35 -12
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +18 -7
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +3 -3
- package/esm2022/lib/node-url/node-url.component.mjs +7 -3
- package/esm2022/lib/pipes/file-size.pipe.mjs +2 -2
- package/esm2022/lib/pipes/property-slug.pipe.mjs +16 -0
- package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
- package/esm2022/lib/services/app-container.service.mjs +66 -0
- package/esm2022/lib/services/node-entries.service.mjs +47 -3
- package/esm2022/lib/services/node-helper.service.mjs +34 -11
- package/esm2022/lib/services/options-helper-data.service.mjs +4 -4
- package/esm2022/lib/services/repo-url.service.mjs +2 -1
- package/esm2022/lib/services/ui.service.mjs +7 -1
- package/esm2022/lib/spinner/spinner.component.mjs +4 -3
- package/esm2022/lib/translations/translation-loader.mjs +39 -8
- package/esm2022/lib/translations/translations.module.mjs +15 -4
- package/esm2022/lib/translations/translations.service.mjs +3 -3
- package/esm2022/lib/types/injection-tokens.mjs +9 -0
- package/esm2022/lib/types/option-item.mjs +4 -3
- package/esm2022/module.mjs +49 -43
- package/fesm2022/ngx-edu-sharing-ui.mjs +3955 -3568
- package/fesm2022/ngx-edu-sharing-ui.mjs.map +1 -1
- package/lib/common/edu-sharing-ui-common.module.d.ts +27 -25
- package/lib/directives/icon.directive.d.ts +2 -2
- package/lib/directives/infinite-scroll.directive.d.ts +22 -0
- package/lib/edu-sharing-ui-configuration.d.ts +5 -0
- package/lib/list-items/list-text/list-text.component.d.ts +1 -1
- package/lib/list-items/list-widget.d.ts +1 -1
- package/lib/node-entries/entries-model.d.ts +2 -1
- package/lib/node-entries/node-data-source.d.ts +1 -1
- package/lib/node-entries/node-entries-card/node-entries-card.component.d.ts +1 -1
- package/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.d.ts +6 -1
- package/lib/node-entries/node-entries-global.service.d.ts +7 -0
- package/lib/node-entries/node-entries-table/node-entries-table.component.d.ts +4 -1
- package/lib/node-entries/node-entries-wrapper.component.d.ts +8 -3
- package/lib/node-entries/node-rating/node-rating.component.d.ts +3 -3
- package/lib/node-entries/option-button/option-button.component.d.ts +6 -2
- package/lib/pipes/property-slug.pipe.d.ts +7 -0
- package/lib/services/abstract/options-helper.service.d.ts +3 -3
- package/lib/services/app-container.service.d.ts +43 -0
- package/lib/services/node-entries.service.d.ts +31 -6
- package/lib/services/node-helper.service.d.ts +5 -3
- package/lib/services/options-helper-data.service.d.ts +3 -3
- package/lib/services/ui.service.d.ts +8 -1
- package/lib/spinner/spinner.component.d.ts +1 -1
- package/lib/translations/translation-loader.d.ts +2 -1
- package/lib/types/injection-tokens.d.ts +8 -0
- package/lib/types/option-item.d.ts +3 -4
- package/module.d.ts +48 -42
- package/package.json +2 -2
- package/esm2022/lib/translations/languages.mjs +0 -5
- package/lib/translations/languages.d.ts +0 -4
package/assets/scss/mixins.scss
CHANGED
|
@@ -25,11 +25,8 @@
|
|
|
25
25
|
@mixin materialShadowSmall($important: false) {
|
|
26
26
|
box-shadow: 0 0 3px rgba(0, 0, 0, 0.3) if($important, !important, null);
|
|
27
27
|
}
|
|
28
|
-
@mixin materialShadowMedium($important: false, $opacity: 0.6) {
|
|
29
|
-
box-shadow: 0 0 10px rgba(0, 0, 0, $opacity) if($important, !important, null);
|
|
30
|
-
}
|
|
31
28
|
@mixin materialShadowMediumLarge($important: false, $opacity: 0.6) {
|
|
32
|
-
box-shadow: 0 0
|
|
29
|
+
box-shadow: 0 0 25px rgba(0, 0, 0, $opacity) if($important, !important, null);
|
|
33
30
|
}
|
|
34
31
|
@mixin materialScrollbar() {
|
|
35
32
|
&::-webkit-scrollbar-track {
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
--textMediumLight: #888;
|
|
11
11
|
--textMain: #383838;
|
|
12
12
|
--cardWidth: 240px;
|
|
13
|
-
--cardRoundness: 15px;
|
|
14
13
|
--colorStatusPositive: #40bf8e;
|
|
15
14
|
--colorStatusNegative: var(--warning);
|
|
16
15
|
--colorStarActive: #ba7c00;
|
|
@@ -31,6 +30,4 @@
|
|
|
31
30
|
var(--palette-primary-50) 5px
|
|
32
31
|
)
|
|
33
32
|
no-repeat;
|
|
34
|
-
// default roundness of material3 components
|
|
35
|
-
--defaultRoundness: 25px;
|
|
36
33
|
}
|
|
@@ -10,8 +10,8 @@ import * as i3 from "@angular/common";
|
|
|
10
10
|
import * as i4 from "@angular/material/menu";
|
|
11
11
|
import * as i5 from "@angular/material/button";
|
|
12
12
|
import * as i6 from "@angular/material/tooltip";
|
|
13
|
-
import * as i7 from "../
|
|
14
|
-
import * as i8 from "../
|
|
13
|
+
import * as i7 from "../dropdown/dropdown.component";
|
|
14
|
+
import * as i8 from "../directives/icon.directive";
|
|
15
15
|
import * as i9 from "../pipes/option-tooltip.pipe";
|
|
16
16
|
/**
|
|
17
17
|
* The action bar provides several icons, usually at the top right, with actions for a current context
|
|
@@ -161,11 +161,11 @@ export class ActionbarComponent {
|
|
|
161
161
|
this.invalidate();
|
|
162
162
|
}
|
|
163
163
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ActionbarComponent, deps: [{ token: i1.UIService }, { token: i2.TranslateService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ActionbarComponent, selector: "es-actionbar", inputs: { numberOfAlwaysVisibleOptions: "numberOfAlwaysVisibleOptions", numberOfAlwaysVisibleOptionsMobile: "numberOfAlwaysVisibleOptionsMobile", appearance: "appearance", dropdownPosition: "dropdownPosition", backgroundType: "backgroundType", style: "style", highlight: "highlight", showDisabled: "showDisabled", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "
|
|
164
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.6", type: ActionbarComponent, selector: "es-actionbar", inputs: { numberOfAlwaysVisibleOptions: "numberOfAlwaysVisibleOptions", numberOfAlwaysVisibleOptionsMobile: "numberOfAlwaysVisibleOptionsMobile", appearance: "appearance", dropdownPosition: "dropdownPosition", backgroundType: "backgroundType", style: "style", highlight: "highlight", showDisabled: "showDisabled", options: "options" }, usesOnChanges: true, ngImport: i0, template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)!important}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)!important}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.DropdownComponent, selector: "es-dropdown", inputs: ["position", "options", "callbackObject", "showDisabled", "menuClass"] }, { kind: "directive", type: i8.IconDirective, selector: "i[esIcon], i.material-icons", inputs: ["altText", "aria", "esIcon"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.OptionTooltipPipe, name: "optionTooltip" }], animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))] }); }
|
|
165
165
|
}
|
|
166
166
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: ActionbarComponent, decorators: [{
|
|
167
167
|
type: Component,
|
|
168
|
-
args: [{ selector: 'es-actionbar', animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))], template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"] }]
|
|
168
|
+
args: [{ selector: 'es-actionbar', animations: [trigger('openOverlay', UIAnimation.openOverlay(UIAnimation.ANIMATION_TIME_FAST))], template: "<es-dropdown\n #dropdownRef\n [options]=\"optionsMenu\"\n [showDisabled]=\"showDisabled\"\n [position]=\"dropdownPosition\"\n></es-dropdown>\n<div\n class=\"actionbar\"\n [class.actionbar-all-flat]=\"style === 'flat'\"\n [class.actionbar-background-dark]=\"backgroundType === 'dark'\"\n [class.actionbar-background-primary]=\"backgroundType === 'primary'\"\n [class.actionbar-round]=\"appearance === 'round'\"\n [class.actionbar-icon-button]=\"appearance === 'icon-button'\"\n>\n <ng-container *ngFor=\"let option of optionsAlways; let i = index\">\n <button\n *ngIf=\"shouldHighlight(i, option)\"\n mat-flat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n <button\n *ngIf=\"!shouldHighlight(i, option)\"\n mat-button\n color=\"primary\"\n [disabled]=\"!option.isEnabled\"\n [class.display-none]=\"!option.isEnabled && !showDisabled\"\n matTooltip=\"{{ option | optionTooltip }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n >\n <i [esIcon]=\"option.icon\"></i>\n <span class=\"action-always-caption\" *ngIf=\"option.showName && appearance === 'button'\">\n {{ option.name | translate }}</span\n >\n </button>\n </ng-container>\n <button\n mat-button\n color=\"primary\"\n class=\"more\"\n [attr.aria-label]=\"'OPTIONS.SHOW_ALL_OPTIONS' | translate\"\n [matMenuTriggerFor]=\"dropdownRef.menu\"\n *ngIf=\"canShowDropdown()\"\n data-test=\"more-actions-button\"\n >\n <i esIcon=\"more_vert\" [aria]=\"false\"></i>\n </button>\n <div\n *ngIf=\"optionsToggle.length\"\n class=\"actionToggle\"\n [class.actionToggleDivider]=\"optionsAlways.length\"\n >\n <button\n *ngFor=\"let option of optionsToggle\"\n mat-icon-button\n matTooltip=\"{{ option.name | translate }}\"\n [attr.aria-label]=\"option.name | translate\"\n (click)=\"click(option)\"\n [class.disabled]=\"!option.isEnabled\"\n attr.data-test=\"toggle-{{ option.name }}\"\n >\n <i [esIcon]=\"option.icon\" [aria]=\"false\"></i>\n </button>\n </div>\n</div>\n", styles: [".actionbar{display:flex;align-items:center;gap:10px}.actionToggle>button{color:var(--textLight)}button{min-width:unset}.light{color:#fff;background:transparent}.disabled{pointer-events:all}.light a{color:#fff}.actionToggleDivider{padding-left:10px;border-left:1px solid #ddd}.more{color:var(--primary);background-color:transparent}.actionbar-background-dark .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-dark .mat-button:disabled{color:rgba(var(--palette-foreground-text-dark),.75)}.actionbar-background-primary .mat-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-flat-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-flat-button:disabled{color:var(--textLight)}.actionbar-round button{width:45px;height:45px;justify-content:center}.actionbar-round button{border-radius:50%;box-shadow:0 0 5px #0000004d}.actionbar-round.actionbar-background-primary .mat-button{background-color:#fff;color:var(--primary)}.actionbar-round.actionbar-all-flat button{background:white;color:var(--primary)!important}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)!important}.actionbar-round .more,.actionbar-round .actionAlways{background:white;color:var(--primary);display:flex;width:45px;height:45px;line-height:45px;text-align:center;align-items:center}.actionbar-round .more .edu-icons,.actionbar-round .more .material-icons,.actionbar-round .actionAlways .edu-icons,.actionbar-round .actionAlways .material-icons{position:relative;font-size:24px}.actionbar-round .more span,.actionbar-round .actionAlways span{display:none}.actionbar-round .action-always .edu-icons,.actionbar-round .action-always .material-icons{right:4px!important}@media screen and (max-width: calc(var(--mobileWidth) + var(--mobileStage) * 4)){.action-always{padding:0 1rem}.action-always-caption{display:none}.mat-flat-button{padding:5px}}.actionbar-icon-button .action-always{padding:0 1rem}.actionbar-icon-button .action-always-caption{display:none}.actionbar-icon-button .mat-flat-button{padding:5px}\n"] }]
|
|
169
169
|
}], ctorParameters: function () { return [{ type: i1.UIService }, { type: i2.TranslateService }]; }, propDecorators: { numberOfAlwaysVisibleOptions: [{
|
|
170
170
|
type: Input
|
|
171
171
|
}], numberOfAlwaysVisibleOptionsMobile: [{
|
|
@@ -185,4 +185,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
185
185
|
}], options: [{
|
|
186
186
|
type: Input
|
|
187
187
|
}] } });
|
|
188
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFReEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBMkMzQjs7T0FFRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQXFCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQU9ELFlBQW9CLFNBQW9CLEVBQVUsU0FBMkI7UUFBekQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBdkQ3RTs7OztXQUlHO1FBQ00saUNBQTRCLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLHVDQUFrQyxHQUFHLENBQUMsQ0FBQztRQUNoRDs7Ozs7Ozs7V0FRRztRQUNNLGVBQVUsR0FBdUMsUUFBUSxDQUFDO1FBQ25FOzs7V0FHRztRQUNNLHFCQUFnQixHQUFxQixNQUFNLENBQUM7UUFFckQ7O1dB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QUFFLENBQUM7SUFDdEIsQ0FBQzs4R0ExSlEsa0JBQWtCO2tHQUFsQixrQkFBa0IseVpDbEIvQixraEZBMkVBLDR6R0Q5RGdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7OzJGQUtyRixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0ksY0FBYyxjQUdaLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7K0hBV3JGLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxrQ0FBa0M7c0JBQTFDLEtBQUs7Z0JBVUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFVJQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbC91aS1hbmltYXRpb24nO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWkuc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi91dGlsL2hlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtYWN0aW9uYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvcGVuT3ZlcmxheScsIFVJQW5pbWF0aW9uLm9wZW5PdmVybGF5KFVJQW5pbWF0aW9uLkFOSU1BVElPTl9USU1FX0ZBU1QpKV0sXG59KVxuLyoqXG4gKiBUaGUgYWN0aW9uIGJhciBwcm92aWRlcyBzZXZlcmFsIGljb25zLCB1c3VhbGx5IGF0IHRoZSB0b3AgcmlnaHQsIHdpdGggYWN0aW9ucyBmb3IgYSBjdXJyZW50IGNvbnRleHRcbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGFtb3VudCBvZiBvcHRpb25zIHdoaWNoIGFyZSBub3QgaGlkZGVuIGluc2lkZSBhbiBvdmVyZmxvdyBtZW51XG4gICAgICogKGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBtb2JpbGUgKDEpIG9yIG5vdCAoMikpXG4gICAgICogQWxzbyB1c2UgbnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9uc01vYmlsZSB0byBjb250cm9sIHRoZSBhbW91bnQgb2YgbW9iaWxlIG9wdGlvbnMgdmlzaWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnMgPSAyO1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGUgPSAxO1xuICAgIC8qKlxuICAgICAqIFZpc3VhbCBzdHlsZSBvZiB0aGUgYWN0aW9uYmFyXG4gICAgICpcbiAgICAgKiBWYWx1ZXM6XG4gICAgICogIC0gJ2J1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aCBpY29ucyBhbmQgdGV4dCBvbiBtZWRpdW0gdG8gbGFyZ2Ugc2NyZWVuc1xuICAgICAqICAtICdpY29uLWJ1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aG91dCB0ZXh0XG4gICAgICogIC0gJ3JvdW5kJzogY2lyY3VsYXIgYnV0dG9ucyB3aXRob3V0IHRleHRcbiAgICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFwcGVhcmFuY2U6ICdyb3VuZCcgfCAnYnV0dG9uJyB8ICdpY29uLWJ1dHRvbicgPSAnYnV0dG9uJztcbiAgICAvKipcbiAgICAgKiBkcm9wZG93blBvc2l0aW9uIGlzIGZvciBwb3NpdGlvbiBvZiBkcm9wZG93biAoZGVmYXVsdCA9IGxlZnQpXG4gICAgICogVmFsdWVzICdsZWZ0JyBvciAncmlnaHQnXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAgIC8qKlxuICAgICAqIGJhY2tncm91bmRUeXBlIGZvciBjb2xvciBtYXRjaGluZywgZWl0aGVyIGJyaWdodCwgZGFyayBvciBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgYmFja2dyb3VuZFR5cGU6ICdicmlnaHQnIHwgJ2RhcmsnIHwgJ3ByaW1hcnknID0gJ2JyaWdodCc7XG4gICAgLyoqXG4gICAgICogU3R5bGUsIGN1cnJlbnRseSBkZWZhdWx0IG9yICdmbGF0JyBpZiBhbGwgYWx3YXlzIHZpc2libGUgaWNvbnMgc2hvdWxkIGdldCBhIGZsYXQgbG9va1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiAnZGVmYXVsdCcgfCAnZmxhdCcgPSAnZGVmYXVsdCc7XG4gICAgLyoqXG4gICAgICogSGlnaGxpZ2h0IG9uZSBvciBtb3JlIG9mIHRoZSBhbHdheXMtdmlzaWJsZSBidXR0b25zIGFzIHByaW1hcnkgYWN0aW9uLlxuICAgICAqXG4gICAgICogLSBgZmlyc3RgLCBgbGFzdGA6IFRoZSBmaXJzdCAvIGxhc3Qgb2YgYG9wdGlvbnNBbHdheXNgIGJ5IG9yZGVyLlxuICAgICAqIC0gYG1hbnVhbGA6IEhpZ2hsaWdodCBhbGwgb3B0aW9ucyB0aGF0IHNldCBgaXNQcmltYXJ5ID0gdHJ1ZWAuXG4gICAgICovXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ21hbnVhbCcgPSAnZmlyc3QnO1xuICAgIC8qKlxuICAgICAqIFNob3VsZCBkaXNhYmxlZCAoXCJncmV5ZWQgb3V0XCIpIG9wdGlvbnMgYmUgc2hvd24gb3IgaGlkZGVuP1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEaXNhYmxlZCA9IHRydWU7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvcHRpb25zLCBzZWUgQE9wdGlvbkl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zSW4gPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIG9wdGlvbnNJbjogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc01lbnU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgIG9wdGlvbnNUb2dnbGU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1aVNlcnZpY2U6IFVJU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwcml2YXRlIHByZXBhcmVPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBvcHRpb25zID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVmFsaWRPcHRpb25zKEhlbHBlci5kZWVwQ29weUFycmF5KG9wdGlvbnMpKTtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gW107XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zVG9nZ2xlID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCB0cnVlKTtcbiAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gdGhpcy5nZXRBY3Rpb25PcHRpb25zKFxuICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCBmYWxzZSksXG4gICAgICAgICkuc2xpY2UoMCwgdGhpcy5nZXROdW1iZXJPcHRpb25zKCkpO1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9uc0Fsd2F5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyA9IHRoaXMudWlTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMuZ2V0TnVtYmVyT3B0aW9ucygpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gdGhpcy5oaWRlQWN0aW9uT3B0aW9ucyhcbiAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzLFxuICAgICAgICApO1xuICAgICAgICAvLyBtYXkgY2F1c2VzIHdlaXJkIGxvb2tpbmdcbiAgICAgICAgLyppZih0aGlzLm9wdGlvbnNNZW51Lmxlbmd0aDwyKSB7XG4gICAgICB0aGlzLm9wdGlvbnNBbHdheXMgPSB0aGlzLm9wdGlvbnNBbHdheXMuY29uY2F0KHRoaXMub3B0aW9uc01lbnUpO1xuICAgICAgdGhpcy5vcHRpb25zTWVudSA9IFtdO1xuICAgIH0qL1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXJPcHRpb25zKCkge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBVSUNvbnN0YW50cy5NT0JJTEVfV0lEVEgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9ucztcbiAgICB9XG5cbiAgICBjbGljayhvcHRpb246IE9wdGlvbkl0ZW0pIHtcbiAgICAgICAgaWYgKCFvcHRpb24uaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbi5jYWxsYmFjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aW9uT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5zaG93QXNBY3Rpb24pIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVBY3Rpb25PcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogT3B0aW9uSXRlbVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zQWx3YXlzLmluZGV4T2Yob3B0aW9uKSA9PT0gLTEpIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZhbGlkYXRlIC8gcmVmcmVzaGVzIGFsbCBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgY2FsbGJhY2tzXG4gICAgICovXG4gICAgcHVibGljIGludmFsaWRhdGUoKSB7XG4gICAgICAgIHRoaXMucHJlcGFyZU9wdGlvbnModGhpcy5vcHRpb25zSW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyRGlzYWJsZWQob3B0aW9uczogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGlmIChvcHRpb25zID09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmlzRW5hYmxlZCB8fCB0aGlzLnNob3dEaXNhYmxlZCkgZmlsdGVyZWQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgICB9XG5cbiAgICBjYW5TaG93RHJvcGRvd24oKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zTWVudS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zTWVudS5maWx0ZXIoKG8pID0+IG8uaXNFbmFibGVkKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHNob3VsZEhpZ2hsaWdodChvcHRpb25JbmRleDogbnVtYmVyLCBvcHRpb246IE9wdGlvbkl0ZW0pOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmhpZ2hsaWdodCkge1xuICAgICAgICAgICAgY2FzZSAnZmlyc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgJ2xhc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gdGhpcy5vcHRpb25zQWx3YXlzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjYXNlICdtYW51YWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24uaXNQcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG59XG4iLCI8ZXMtZHJvcGRvd25cbiAgI2Ryb3Bkb3duUmVmXG4gIFtvcHRpb25zXT1cIm9wdGlvbnNNZW51XCJcbiAgW3Nob3dEaXNhYmxlZF09XCJzaG93RGlzYWJsZWRcIlxuICBbcG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiXG4+PC9lcy1kcm9wZG93bj5cbjxkaXZcbiAgY2xhc3M9XCJhY3Rpb25iYXJcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWFsbC1mbGF0XT1cInN0eWxlID09PSAnZmxhdCdcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWJhY2tncm91bmQtZGFya109XCJiYWNrZ3JvdW5kVHlwZSA9PT0gJ2RhcmsnXCJcbiAgW2NsYXNzLmFjdGlvbmJhci1iYWNrZ3JvdW5kLXByaW1hcnldPVwiYmFja2dyb3VuZFR5cGUgPT09ICdwcmltYXJ5J1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItcm91bmRdPVwiYXBwZWFyYW5jZSA9PT0gJ3JvdW5kJ1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItaWNvbi1idXR0b25dPVwiYXBwZWFyYW5jZSA9PT0gJ2ljb24tYnV0dG9uJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zQWx3YXlzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG91bGRIaWdobGlnaHQoaSwgb3B0aW9uKVwiXG4gICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhb3B0aW9uLmlzRW5hYmxlZCAmJiAhc2hvd0Rpc2FibGVkXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24gfCBvcHRpb25Ub29sdGlwIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi1hbHdheXMtY2FwdGlvblwiICpuZ0lmPVwib3B0aW9uLnNob3dOYW1lICYmIGFwcGVhcmFuY2UgPT09ICdidXR0b24nXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhc2hvdWxkSGlnaGxpZ2h0KGksIG9wdGlvbilcIlxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhb3B0aW9uLmlzRW5hYmxlZFwiXG4gICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFvcHRpb24uaXNFbmFibGVkICYmICFzaG93RGlzYWJsZWRcIlxuICAgICAgbWF0VG9vbHRpcD1cInt7IG9wdGlvbiB8IG9wdGlvblRvb2x0aXAgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgPlxuICAgICAgPGkgW2VzSWNvbl09XCJvcHRpb24uaWNvblwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWFsd2F5cy1jYXB0aW9uXCIgKm5nSWY9XCJvcHRpb24uc2hvd05hbWUgJiYgYXBwZWFyYW5jZSA9PT0gJ2J1dHRvbidcIj5cbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICBjbGFzcz1cIm1vcmVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09QVElPTlMuU0hPV19BTExfT1BUSU9OUycgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkcm9wZG93blJlZi5tZW51XCJcbiAgICAqbmdJZj1cImNhblNob3dEcm9wZG93bigpXCJcbiAgICBkYXRhLXRlc3Q9XCJtb3JlLWFjdGlvbnMtYnV0dG9uXCJcbiAgPlxuICAgIDxpIGVzSWNvbj1cIm1vcmVfdmVydFwiIFthcmlhXT1cImZhbHNlXCI+PC9pPlxuICA8L2J1dHRvbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwib3B0aW9uc1RvZ2dsZS5sZW5ndGhcIlxuICAgIGNsYXNzPVwiYWN0aW9uVG9nZ2xlXCJcbiAgICBbY2xhc3MuYWN0aW9uVG9nZ2xlRGl2aWRlcl09XCJvcHRpb25zQWx3YXlzLmxlbmd0aFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNUb2dnbGVcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgYXR0ci5kYXRhLXRlc3Q9XCJ0b2dnbGUte3sgb3B0aW9uLm5hbWUgfX1cIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIiBbYXJpYV09XCJmYWxzZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
188
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uYmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvYWN0aW9uYmFyL2FjdGlvbmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2FjdGlvbmJhci9hY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUUzRSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBR25ELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7Ozs7QUFReEM7O0dBRUc7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBMkMzQjs7T0FFRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQXFCO1FBQ3RDLElBQUksQ0FBQyxTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQU9ELFlBQW9CLFNBQW9CLEVBQVUsU0FBMkI7UUFBekQsY0FBUyxHQUFULFNBQVMsQ0FBVztRQUFVLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBdkQ3RTs7OztXQUlHO1FBQ00saUNBQTRCLEdBQUcsQ0FBQyxDQUFDO1FBQ2pDLHVDQUFrQyxHQUFHLENBQUMsQ0FBQztRQUNoRDs7Ozs7Ozs7V0FRRztRQUNNLGVBQVUsR0FBdUMsUUFBUSxDQUFDO1FBQ25FOzs7V0FHRztRQUNNLHFCQUFnQixHQUFxQixNQUFNLENBQUM7UUFFckQ7O1dB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QUFFLENBQUM7SUFDdEIsQ0FBQzs4R0ExSlEsa0JBQWtCO2tHQUFsQixrQkFBa0IseVpDbEIvQixraEZBMkVBLGcxR0Q5RGdCLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7OzJGQUtyRixrQkFBa0I7a0JBVDlCLFNBQVM7K0JBQ0ksY0FBYyxjQUdaLENBQUMsT0FBTyxDQUFDLGFBQWEsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7K0hBV3JGLDRCQUE0QjtzQkFBcEMsS0FBSztnQkFDRyxrQ0FBa0M7c0JBQTFDLEtBQUs7Z0JBVUcsVUFBVTtzQkFBbEIsS0FBSztnQkFLRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFJRyxLQUFLO3NCQUFiLEtBQUs7Z0JBT0csU0FBUztzQkFBakIsS0FBSztnQkFJRyxZQUFZO3NCQUFwQixLQUFLO2dCQUlPLE9BQU87c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IFVJQW5pbWF0aW9uIH0gZnJvbSAnLi4vdXRpbC91aS1hbmltYXRpb24nO1xuaW1wb3J0IHsgVUlDb25zdGFudHMgfSBmcm9tICcuLi91dGlsL3VpLWNvbnN0YW50cyc7XG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vdHlwZXMvb3B0aW9uLWl0ZW0nO1xuaW1wb3J0IHsgVUlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdWkuc2VydmljZSc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi91dGlsL2hlbHBlcic7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnZXMtYWN0aW9uYmFyJyxcbiAgICB0ZW1wbGF0ZVVybDogJ2FjdGlvbmJhci5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJ2FjdGlvbmJhci5jb21wb25lbnQuc2NzcyddLFxuICAgIGFuaW1hdGlvbnM6IFt0cmlnZ2VyKCdvcGVuT3ZlcmxheScsIFVJQW5pbWF0aW9uLm9wZW5PdmVybGF5KFVJQW5pbWF0aW9uLkFOSU1BVElPTl9USU1FX0ZBU1QpKV0sXG59KVxuLyoqXG4gKiBUaGUgYWN0aW9uIGJhciBwcm92aWRlcyBzZXZlcmFsIGljb25zLCB1c3VhbGx5IGF0IHRoZSB0b3AgcmlnaHQsIHdpdGggYWN0aW9ucyBmb3IgYSBjdXJyZW50IGNvbnRleHRcbiAqL1xuZXhwb3J0IGNsYXNzIEFjdGlvbmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgLyoqXG4gICAgICogVGhlIGFtb3VudCBvZiBvcHRpb25zIHdoaWNoIGFyZSBub3QgaGlkZGVuIGluc2lkZSBhbiBvdmVyZmxvdyBtZW51XG4gICAgICogKGRlZmF1bHQ6IGRlcGVuZGluZyBvbiBtb2JpbGUgKDEpIG9yIG5vdCAoMikpXG4gICAgICogQWxzbyB1c2UgbnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9uc01vYmlsZSB0byBjb250cm9sIHRoZSBhbW91bnQgb2YgbW9iaWxlIG9wdGlvbnMgdmlzaWJsZVxuICAgICAqL1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnMgPSAyO1xuICAgIEBJbnB1dCgpIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGUgPSAxO1xuICAgIC8qKlxuICAgICAqIFZpc3VhbCBzdHlsZSBvZiB0aGUgYWN0aW9uYmFyXG4gICAgICpcbiAgICAgKiBWYWx1ZXM6XG4gICAgICogIC0gJ2J1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aCBpY29ucyBhbmQgdGV4dCBvbiBtZWRpdW0gdG8gbGFyZ2Ugc2NyZWVuc1xuICAgICAqICAtICdpY29uLWJ1dHRvbic6IG1hdGVyaWFsIGJ1dHRvbnMgd2l0aG91dCB0ZXh0XG4gICAgICogIC0gJ3JvdW5kJzogY2lyY3VsYXIgYnV0dG9ucyB3aXRob3V0IHRleHRcbiAgICAgKiBAZGVmYXVsdCAnYnV0dG9uJ1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGFwcGVhcmFuY2U6ICdyb3VuZCcgfCAnYnV0dG9uJyB8ICdpY29uLWJ1dHRvbicgPSAnYnV0dG9uJztcbiAgICAvKipcbiAgICAgKiBkcm9wZG93blBvc2l0aW9uIGlzIGZvciBwb3NpdGlvbiBvZiBkcm9wZG93biAoZGVmYXVsdCA9IGxlZnQpXG4gICAgICogVmFsdWVzICdsZWZ0JyBvciAncmlnaHQnXG4gICAgICovXG4gICAgQElucHV0KCkgZHJvcGRvd25Qb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcblxuICAgIC8qKlxuICAgICAqIGJhY2tncm91bmRUeXBlIGZvciBjb2xvciBtYXRjaGluZywgZWl0aGVyIGJyaWdodCwgZGFyayBvciBwcmltYXJ5XG4gICAgICovXG4gICAgQElucHV0KCkgYmFja2dyb3VuZFR5cGU6ICdicmlnaHQnIHwgJ2RhcmsnIHwgJ3ByaW1hcnknID0gJ2JyaWdodCc7XG4gICAgLyoqXG4gICAgICogU3R5bGUsIGN1cnJlbnRseSBkZWZhdWx0IG9yICdmbGF0JyBpZiBhbGwgYWx3YXlzIHZpc2libGUgaWNvbnMgc2hvdWxkIGdldCBhIGZsYXQgbG9va1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlOiAnZGVmYXVsdCcgfCAnZmxhdCcgPSAnZGVmYXVsdCc7XG4gICAgLyoqXG4gICAgICogSGlnaGxpZ2h0IG9uZSBvciBtb3JlIG9mIHRoZSBhbHdheXMtdmlzaWJsZSBidXR0b25zIGFzIHByaW1hcnkgYWN0aW9uLlxuICAgICAqXG4gICAgICogLSBgZmlyc3RgLCBgbGFzdGA6IFRoZSBmaXJzdCAvIGxhc3Qgb2YgYG9wdGlvbnNBbHdheXNgIGJ5IG9yZGVyLlxuICAgICAqIC0gYG1hbnVhbGA6IEhpZ2hsaWdodCBhbGwgb3B0aW9ucyB0aGF0IHNldCBgaXNQcmltYXJ5ID0gdHJ1ZWAuXG4gICAgICovXG4gICAgQElucHV0KCkgaGlnaGxpZ2h0OiAnZmlyc3QnIHwgJ2xhc3QnIHwgJ21hbnVhbCcgPSAnZmlyc3QnO1xuICAgIC8qKlxuICAgICAqIFNob3VsZCBkaXNhYmxlZCAoXCJncmV5ZWQgb3V0XCIpIG9wdGlvbnMgYmUgc2hvd24gb3IgaGlkZGVuP1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNob3dEaXNhYmxlZCA9IHRydWU7XG4gICAgLyoqXG4gICAgICogU2V0IHRoZSBvcHRpb25zLCBzZWUgQE9wdGlvbkl0ZW1cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXQgb3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgdGhpcy5vcHRpb25zSW4gPSBvcHRpb25zO1xuICAgICAgICB0aGlzLnByZXBhcmVPcHRpb25zKG9wdGlvbnMpO1xuICAgIH1cblxuICAgIG9wdGlvbnNJbjogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdID0gW107XG4gICAgb3B0aW9uc01lbnU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgIG9wdGlvbnNUb2dnbGU6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSB1aVNlcnZpY2U6IFVJU2VydmljZSwgcHJpdmF0ZSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UpIHt9XG5cbiAgICBwcml2YXRlIHByZXBhcmVPcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBvcHRpb25zID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVmFsaWRPcHRpb25zKEhlbHBlci5kZWVwQ29weUFycmF5KG9wdGlvbnMpKTtcbiAgICAgICAgaWYgKG9wdGlvbnMgPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gW107XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gW107XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zVG9nZ2xlID0gdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCB0cnVlKTtcbiAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gdGhpcy5nZXRBY3Rpb25PcHRpb25zKFxuICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UuZmlsdGVyVG9nZ2xlT3B0aW9ucyhvcHRpb25zLCBmYWxzZSksXG4gICAgICAgICkuc2xpY2UoMCwgdGhpcy5nZXROdW1iZXJPcHRpb25zKCkpO1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9uc0Fsd2F5cy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyA9IHRoaXMudWlTZXJ2aWNlXG4gICAgICAgICAgICAgICAgLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpXG4gICAgICAgICAgICAgICAgLnNsaWNlKDAsIHRoaXMuZ2V0TnVtYmVyT3B0aW9ucygpKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm9wdGlvbnNNZW51ID0gdGhpcy5oaWRlQWN0aW9uT3B0aW9ucyhcbiAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpLFxuICAgICAgICAgICAgdGhpcy5vcHRpb25zQWx3YXlzLFxuICAgICAgICApO1xuICAgICAgICAvLyBtYXkgY2F1c2VzIHdlaXJkIGxvb2tpbmdcbiAgICAgICAgLyppZih0aGlzLm9wdGlvbnNNZW51Lmxlbmd0aDwyKSB7XG4gICAgICB0aGlzLm9wdGlvbnNBbHdheXMgPSB0aGlzLm9wdGlvbnNBbHdheXMuY29uY2F0KHRoaXMub3B0aW9uc01lbnUpO1xuICAgICAgdGhpcy5vcHRpb25zTWVudSA9IFtdO1xuICAgIH0qL1xuICAgIH1cblxuICAgIHB1YmxpYyBnZXROdW1iZXJPcHRpb25zKCkge1xuICAgICAgICBpZiAod2luZG93LmlubmVyV2lkdGggPCBVSUNvbnN0YW50cy5NT0JJTEVfV0lEVEgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMubnVtYmVyT2ZBbHdheXNWaXNpYmxlT3B0aW9ucztcbiAgICB9XG5cbiAgICBjbGljayhvcHRpb246IE9wdGlvbkl0ZW0pIHtcbiAgICAgICAgaWYgKCFvcHRpb24uaXNFbmFibGVkKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmRpc2FibGVkQ2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBvcHRpb24uZGlzYWJsZWRDYWxsYmFjaygpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIG9wdGlvbi5jYWxsYmFjaygpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0QWN0aW9uT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5zaG93QXNBY3Rpb24pIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhpZGVBY3Rpb25PcHRpb25zKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSwgb3B0aW9uc0Fsd2F5czogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogT3B0aW9uSXRlbVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb25zQWx3YXlzLmluZGV4T2Yob3B0aW9uKSA9PT0gLTEpIHJlc3VsdC5wdXNoKG9wdGlvbik7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBJbnZhbGlkYXRlIC8gcmVmcmVzaGVzIGFsbCBvcHRpb25zIGJhc2VkIG9uIHRoZWlyIGN1cnJlbnQgY2FsbGJhY2tzXG4gICAgICovXG4gICAgcHVibGljIGludmFsaWRhdGUoKSB7XG4gICAgICAgIHRoaXMucHJlcGFyZU9wdGlvbnModGhpcy5vcHRpb25zSW4pO1xuICAgIH1cblxuICAgIHByaXZhdGUgZmlsdGVyRGlzYWJsZWQob3B0aW9uczogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGlmIChvcHRpb25zID09IG51bGwpIHJldHVybiBudWxsO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZCA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uLmlzRW5hYmxlZCB8fCB0aGlzLnNob3dEaXNhYmxlZCkgZmlsdGVyZWQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmaWx0ZXJlZDtcbiAgICB9XG5cbiAgICBjYW5TaG93RHJvcGRvd24oKSB7XG4gICAgICAgIGlmICghdGhpcy5vcHRpb25zTWVudS5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zTWVudS5maWx0ZXIoKG8pID0+IG8uaXNFbmFibGVkKS5sZW5ndGggPiAwO1xuICAgIH1cblxuICAgIHNob3VsZEhpZ2hsaWdodChvcHRpb25JbmRleDogbnVtYmVyLCBvcHRpb246IE9wdGlvbkl0ZW0pOiBib29sZWFuIHtcbiAgICAgICAgc3dpdGNoICh0aGlzLmhpZ2hsaWdodCkge1xuICAgICAgICAgICAgY2FzZSAnZmlyc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gMDtcbiAgICAgICAgICAgIGNhc2UgJ2xhc3QnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb25JbmRleCA9PT0gdGhpcy5vcHRpb25zQWx3YXlzLmxlbmd0aCAtIDE7XG4gICAgICAgICAgICBjYXNlICdtYW51YWwnOlxuICAgICAgICAgICAgICAgIHJldHVybiBvcHRpb24uaXNQcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICB0aGlzLmludmFsaWRhdGUoKTtcbiAgICB9XG59XG4iLCI8ZXMtZHJvcGRvd25cbiAgI2Ryb3Bkb3duUmVmXG4gIFtvcHRpb25zXT1cIm9wdGlvbnNNZW51XCJcbiAgW3Nob3dEaXNhYmxlZF09XCJzaG93RGlzYWJsZWRcIlxuICBbcG9zaXRpb25dPVwiZHJvcGRvd25Qb3NpdGlvblwiXG4+PC9lcy1kcm9wZG93bj5cbjxkaXZcbiAgY2xhc3M9XCJhY3Rpb25iYXJcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWFsbC1mbGF0XT1cInN0eWxlID09PSAnZmxhdCdcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWJhY2tncm91bmQtZGFya109XCJiYWNrZ3JvdW5kVHlwZSA9PT0gJ2RhcmsnXCJcbiAgW2NsYXNzLmFjdGlvbmJhci1iYWNrZ3JvdW5kLXByaW1hcnldPVwiYmFja2dyb3VuZFR5cGUgPT09ICdwcmltYXJ5J1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItcm91bmRdPVwiYXBwZWFyYW5jZSA9PT0gJ3JvdW5kJ1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItaWNvbi1idXR0b25dPVwiYXBwZWFyYW5jZSA9PT0gJ2ljb24tYnV0dG9uJ1wiXG4+XG4gIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zQWx3YXlzOyBsZXQgaSA9IGluZGV4XCI+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG91bGRIaWdobGlnaHQoaSwgb3B0aW9uKVwiXG4gICAgICBtYXQtZmxhdC1idXR0b25cbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhb3B0aW9uLmlzRW5hYmxlZCAmJiAhc2hvd0Rpc2FibGVkXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24gfCBvcHRpb25Ub29sdGlwIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi1hbHdheXMtY2FwdGlvblwiICpuZ0lmPVwib3B0aW9uLnNob3dOYW1lICYmIGFwcGVhcmFuY2UgPT09ICdidXR0b24nXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9idXR0b24+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCIhc2hvdWxkSGlnaGxpZ2h0KGksIG9wdGlvbilcIlxuICAgICAgbWF0LWJ1dHRvblxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIFtkaXNhYmxlZF09XCIhb3B0aW9uLmlzRW5hYmxlZFwiXG4gICAgICBbY2xhc3MuZGlzcGxheS1ub25lXT1cIiFvcHRpb24uaXNFbmFibGVkICYmICFzaG93RGlzYWJsZWRcIlxuICAgICAgbWF0VG9vbHRpcD1cInt7IG9wdGlvbiB8IG9wdGlvblRvb2x0aXAgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgPlxuICAgICAgPGkgW2VzSWNvbl09XCJvcHRpb24uaWNvblwiPjwvaT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uLWFsd2F5cy1jYXB0aW9uXCIgKm5nSWY9XCJvcHRpb24uc2hvd05hbWUgJiYgYXBwZWFyYW5jZSA9PT0gJ2J1dHRvbidcIj5cbiAgICAgICAge3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX08L3NwYW5cbiAgICAgID5cbiAgICA8L2J1dHRvbj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxidXR0b25cbiAgICBtYXQtYnV0dG9uXG4gICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICBjbGFzcz1cIm1vcmVcIlxuICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ09QVElPTlMuU0hPV19BTExfT1BUSU9OUycgfCB0cmFuc2xhdGVcIlxuICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJkcm9wZG93blJlZi5tZW51XCJcbiAgICAqbmdJZj1cImNhblNob3dEcm9wZG93bigpXCJcbiAgICBkYXRhLXRlc3Q9XCJtb3JlLWFjdGlvbnMtYnV0dG9uXCJcbiAgPlxuICAgIDxpIGVzSWNvbj1cIm1vcmVfdmVydFwiIFthcmlhXT1cImZhbHNlXCI+PC9pPlxuICA8L2J1dHRvbj5cbiAgPGRpdlxuICAgICpuZ0lmPVwib3B0aW9uc1RvZ2dsZS5sZW5ndGhcIlxuICAgIGNsYXNzPVwiYWN0aW9uVG9nZ2xlXCJcbiAgICBbY2xhc3MuYWN0aW9uVG9nZ2xlRGl2aWRlcl09XCJvcHRpb25zQWx3YXlzLmxlbmd0aFwiXG4gID5cbiAgICA8YnV0dG9uXG4gICAgICAqbmdGb3I9XCJsZXQgb3B0aW9uIG9mIG9wdGlvbnNUb2dnbGVcIlxuICAgICAgbWF0LWljb24tYnV0dG9uXG4gICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uLm5hbWUgfCB0cmFuc2xhdGUgfX1cIlxuICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZVwiXG4gICAgICAoY2xpY2spPVwiY2xpY2sob3B0aW9uKVwiXG4gICAgICBbY2xhc3MuZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgYXR0ci5kYXRhLXRlc3Q9XCJ0b2dnbGUte3sgb3B0aW9uLm5hbWUgfX1cIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIiBbYXJpYV09XCJmYWxzZVwiPjwvaT5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
@@ -1,76 +1,83 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
1
2
|
import { NgModule } from '@angular/core';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
4
|
+
import { MatRippleModule } from '@angular/material/core';
|
|
5
|
+
import { MatMenuModule } from '@angular/material/menu';
|
|
6
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
7
|
+
import { RouterModule } from '@angular/router';
|
|
8
|
+
import { TranslateModule } from '@ngx-translate/core';
|
|
9
|
+
import { ActionbarComponent } from '../actionbar/actionbar.component';
|
|
10
|
+
import { BorderBoxObserverDirective } from '../directives/border-box-observer.directive';
|
|
11
|
+
import { CheckTextOverflowDirective } from '../directives/check-text-overflow.directive';
|
|
12
|
+
import { FocusStateDirective } from '../directives/focus-state.directive';
|
|
5
13
|
import { IconDirective } from '../directives/icon.directive';
|
|
14
|
+
import { InfiniteScrollDirective } from '../directives/infinite-scroll.directive';
|
|
15
|
+
import { DropdownComponent } from '../dropdown/dropdown.component';
|
|
16
|
+
import { NodeUrlComponent } from '../node-url/node-url.component';
|
|
6
17
|
import { FormatSizePipe } from '../pipes/file-size.pipe';
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
18
|
+
import { FormatDatePipe } from '../pipes/format-date.pipe';
|
|
19
|
+
import { NodeIconPipe } from '../pipes/node-icon.pipe';
|
|
9
20
|
import { NodeImageSizePipe } from '../pipes/node-image-size.pipe';
|
|
21
|
+
import { NodeImagePipe } from '../pipes/node-image.pipe';
|
|
10
22
|
import { NodePersonNamePipe } from '../pipes/node-person-name.pipe';
|
|
11
|
-
import { FormatDatePipe } from '../pipes/format-date.pipe';
|
|
12
|
-
import { SortDropdownComponent } from '../sort-dropdown/sort-dropdown.component';
|
|
13
|
-
import { CheckTextOverflowDirective } from '../directives/check-text-overflow.directive';
|
|
14
|
-
import { MatMenuModule } from '@angular/material/menu';
|
|
15
23
|
import { NodeTitlePipe } from '../pipes/node-title.pipe';
|
|
16
|
-
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
17
|
-
import { NodeUrlComponent } from '../node-url/node-url.component';
|
|
18
|
-
import { DropdownComponent } from '../dropdown/dropdown.component';
|
|
19
|
-
import { RouterModule } from '@angular/router';
|
|
20
|
-
import { MatRippleModule } from '@angular/material/core';
|
|
21
|
-
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
22
24
|
import { OptionTooltipPipe } from '../pipes/option-tooltip.pipe';
|
|
23
25
|
import { ReplaceCharsPipe } from '../pipes/replace-chars.pipe';
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
26
|
+
import { VCardNamePipe } from '../pipes/vcard-name.pipe';
|
|
27
|
+
import { SortDropdownComponent } from '../sort-dropdown/sort-dropdown.component';
|
|
28
|
+
import { SpinnerComponent } from '../spinner/spinner.component';
|
|
29
|
+
import { PropertySlugPipe } from '../pipes/property-slug.pipe';
|
|
28
30
|
import * as i0 from "@angular/core";
|
|
29
31
|
export class EduSharingUiCommonModule {
|
|
30
32
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
31
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, declarations: [
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, declarations: [ActionbarComponent,
|
|
34
|
+
BorderBoxObserverDirective,
|
|
32
35
|
CheckTextOverflowDirective,
|
|
33
|
-
|
|
34
|
-
NodeImagePipe,
|
|
35
|
-
VCardNamePipe,
|
|
36
|
+
DropdownComponent,
|
|
36
37
|
FocusStateDirective,
|
|
38
|
+
FormatDatePipe,
|
|
37
39
|
FormatSizePipe,
|
|
40
|
+
IconDirective,
|
|
41
|
+
InfiniteScrollDirective,
|
|
42
|
+
PropertySlugPipe,
|
|
43
|
+
NodeIconPipe,
|
|
44
|
+
NodeImagePipe,
|
|
38
45
|
NodeImageSizePipe,
|
|
39
46
|
NodePersonNamePipe,
|
|
40
47
|
NodeTitlePipe,
|
|
41
|
-
FormatDatePipe,
|
|
42
|
-
ReplaceCharsPipe,
|
|
43
|
-
SortDropdownComponent,
|
|
44
|
-
SpinnerComponent,
|
|
45
48
|
NodeUrlComponent,
|
|
46
|
-
DropdownComponent,
|
|
47
49
|
OptionTooltipPipe,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
+
ReplaceCharsPipe,
|
|
51
|
+
SortDropdownComponent,
|
|
52
|
+
VCardNamePipe], imports: [CommonModule,
|
|
50
53
|
MatMenuModule,
|
|
54
|
+
SpinnerComponent,
|
|
51
55
|
MatButtonModule,
|
|
52
56
|
MatTooltipModule,
|
|
53
57
|
MatRippleModule,
|
|
54
58
|
TranslateModule,
|
|
55
|
-
RouterModule], exports: [
|
|
59
|
+
RouterModule], exports: [ActionbarComponent,
|
|
60
|
+
BorderBoxObserverDirective,
|
|
56
61
|
CheckTextOverflowDirective,
|
|
57
|
-
|
|
58
|
-
NodeImagePipe,
|
|
59
|
-
VCardNamePipe,
|
|
60
|
-
SortDropdownComponent,
|
|
62
|
+
DropdownComponent,
|
|
61
63
|
FocusStateDirective,
|
|
64
|
+
FormatDatePipe,
|
|
62
65
|
FormatSizePipe,
|
|
66
|
+
IconDirective,
|
|
67
|
+
InfiniteScrollDirective,
|
|
68
|
+
PropertySlugPipe,
|
|
69
|
+
NodeIconPipe,
|
|
70
|
+
NodeImagePipe,
|
|
63
71
|
NodeImageSizePipe,
|
|
64
72
|
NodePersonNamePipe,
|
|
65
73
|
NodeTitlePipe,
|
|
66
|
-
FormatDatePipe,
|
|
67
|
-
SpinnerComponent,
|
|
68
74
|
NodeUrlComponent,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
75
|
+
SortDropdownComponent,
|
|
76
|
+
SpinnerComponent,
|
|
77
|
+
VCardNamePipe] }); }
|
|
72
78
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.6", ngImport: i0, type: EduSharingUiCommonModule, imports: [CommonModule,
|
|
73
79
|
MatMenuModule,
|
|
80
|
+
SpinnerComponent,
|
|
74
81
|
MatButtonModule,
|
|
75
82
|
MatTooltipModule,
|
|
76
83
|
MatRippleModule,
|
|
@@ -81,29 +88,31 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
81
88
|
type: NgModule,
|
|
82
89
|
args: [{
|
|
83
90
|
declarations: [
|
|
84
|
-
|
|
91
|
+
ActionbarComponent,
|
|
92
|
+
BorderBoxObserverDirective,
|
|
85
93
|
CheckTextOverflowDirective,
|
|
86
|
-
|
|
87
|
-
NodeImagePipe,
|
|
88
|
-
VCardNamePipe,
|
|
94
|
+
DropdownComponent,
|
|
89
95
|
FocusStateDirective,
|
|
96
|
+
FormatDatePipe,
|
|
90
97
|
FormatSizePipe,
|
|
98
|
+
IconDirective,
|
|
99
|
+
InfiniteScrollDirective,
|
|
100
|
+
PropertySlugPipe,
|
|
101
|
+
NodeIconPipe,
|
|
102
|
+
NodeImagePipe,
|
|
91
103
|
NodeImageSizePipe,
|
|
92
104
|
NodePersonNamePipe,
|
|
93
105
|
NodeTitlePipe,
|
|
94
|
-
FormatDatePipe,
|
|
95
|
-
ReplaceCharsPipe,
|
|
96
|
-
SortDropdownComponent,
|
|
97
|
-
SpinnerComponent,
|
|
98
106
|
NodeUrlComponent,
|
|
99
|
-
DropdownComponent,
|
|
100
107
|
OptionTooltipPipe,
|
|
101
|
-
|
|
102
|
-
|
|
108
|
+
ReplaceCharsPipe,
|
|
109
|
+
SortDropdownComponent,
|
|
110
|
+
VCardNamePipe,
|
|
103
111
|
],
|
|
104
112
|
imports: [
|
|
105
113
|
CommonModule,
|
|
106
114
|
MatMenuModule,
|
|
115
|
+
SpinnerComponent,
|
|
107
116
|
MatButtonModule,
|
|
108
117
|
MatTooltipModule,
|
|
109
118
|
MatRippleModule,
|
|
@@ -111,24 +120,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
111
120
|
RouterModule,
|
|
112
121
|
],
|
|
113
122
|
exports: [
|
|
114
|
-
|
|
123
|
+
ActionbarComponent,
|
|
124
|
+
BorderBoxObserverDirective,
|
|
115
125
|
CheckTextOverflowDirective,
|
|
116
|
-
|
|
117
|
-
NodeImagePipe,
|
|
118
|
-
VCardNamePipe,
|
|
119
|
-
SortDropdownComponent,
|
|
126
|
+
DropdownComponent,
|
|
120
127
|
FocusStateDirective,
|
|
128
|
+
FormatDatePipe,
|
|
121
129
|
FormatSizePipe,
|
|
130
|
+
IconDirective,
|
|
131
|
+
InfiniteScrollDirective,
|
|
132
|
+
PropertySlugPipe,
|
|
133
|
+
NodeIconPipe,
|
|
134
|
+
NodeImagePipe,
|
|
122
135
|
NodeImageSizePipe,
|
|
123
136
|
NodePersonNamePipe,
|
|
124
137
|
NodeTitlePipe,
|
|
125
|
-
FormatDatePipe,
|
|
126
|
-
SpinnerComponent,
|
|
127
138
|
NodeUrlComponent,
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
139
|
+
SortDropdownComponent,
|
|
140
|
+
SpinnerComponent,
|
|
141
|
+
VCardNamePipe,
|
|
131
142
|
],
|
|
132
143
|
}]
|
|
133
144
|
}] });
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
145
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWR1LXNoYXJpbmctdWktY29tbW9uLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VkdS1zaGFyaW5nLXVpL3NyYy9saWIvY29tbW9uL2VkdS1zaGFyaW5nLXVpLWNvbW1vbi5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN6RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN0RSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQztBQUN6RixPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUMxRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDN0QsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDbEYsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDbEUs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QUFjO3dCQUNkLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYix1QkFBdUI7d0JBQ3ZCLGdCQUFnQjt3QkFDaEIsWUFBWTt3QkFDWixhQUFhO3dCQUNiLGlCQUFpQjt3QkFDakIsa0JBQWtCO3dCQUNsQixhQUFhO3dCQUNiLGdCQUFnQjt3QkFDaEIscUJBQXFCO3dCQUNyQixnQkFBZ0I7d0JBQ2hCLGFBQWE7cUJBQ2hCO2lCQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgVHJhbnNsYXRlTW9kdWxlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBBY3Rpb25iYXJDb21wb25lbnQgfSBmcm9tICcuLi9hY3Rpb25iYXIvYWN0aW9uYmFyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2NoZWNrLXRleHQtb3ZlcmZsb3cuZGlyZWN0aXZlJztcbmltcG9ydCB7IEZvY3VzU3RhdGVEaXJlY3RpdmUgfSBmcm9tICcuLi9kaXJlY3RpdmVzL2ZvY3VzLXN0YXRlLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJY29uRGlyZWN0aXZlIH0gZnJvbSAnLi4vZGlyZWN0aXZlcy9pY29uLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSB9IGZyb20gJy4uL2RpcmVjdGl2ZXMvaW5maW5pdGUtc2Nyb2xsLmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBOb2RlVXJsQ29tcG9uZW50IH0gZnJvbSAnLi4vbm9kZS11cmwvbm9kZS11cmwuY29tcG9uZW50JztcbmltcG9ydCB7IEZvcm1hdFNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvZmlsZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgRm9ybWF0RGF0ZVBpcGUgfSBmcm9tICcuLi9waXBlcy9mb3JtYXQtZGF0ZS5waXBlJztcbmltcG9ydCB7IE5vZGVJY29uUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaWNvbi5waXBlJztcbmltcG9ydCB7IE5vZGVJbWFnZVNpemVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvbm9kZS1pbWFnZS1zaXplLnBpcGUnO1xuaW1wb3J0IHsgTm9kZUltYWdlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtaW1hZ2UucGlwZSc7XG5pbXBvcnQgeyBOb2RlUGVyc29uTmFtZVBpcGUgfSBmcm9tICcuLi9waXBlcy9ub2RlLXBlcnNvbi1uYW1lLnBpcGUnO1xuaW1wb3J0IHsgTm9kZVRpdGxlUGlwZSB9IGZyb20gJy4uL3BpcGVzL25vZGUtdGl0bGUucGlwZSc7XG5pbXBvcnQgeyBPcHRpb25Ub29sdGlwUGlwZSB9IGZyb20gJy4uL3BpcGVzL29wdGlvbi10b29sdGlwLnBpcGUnO1xuaW1wb3J0IHsgUmVwbGFjZUNoYXJzUGlwZSB9IGZyb20gJy4uL3BpcGVzL3JlcGxhY2UtY2hhcnMucGlwZSc7XG5pbXBvcnQgeyBWQ2FyZE5hbWVQaXBlIH0gZnJvbSAnLi4vcGlwZXMvdmNhcmQtbmFtZS5waXBlJztcbmltcG9ydCB7IFNvcnREcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4uL3NvcnQtZHJvcGRvd24vc29ydC1kcm9wZG93bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4uL3NwaW5uZXIvc3Bpbm5lci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUHJvcGVydHlTbHVnUGlwZSB9IGZyb20gJy4uL3BpcGVzL3Byb3BlcnR5LXNsdWcucGlwZSc7XG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEFjdGlvbmJhckNvbXBvbmVudCxcbiAgICAgICAgQm9yZGVyQm94T2JzZXJ2ZXJEaXJlY3RpdmUsXG4gICAgICAgIENoZWNrVGV4dE92ZXJmbG93RGlyZWN0aXZlLFxuICAgICAgICBEcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgRm9jdXNTdGF0ZURpcmVjdGl2ZSxcbiAgICAgICAgRm9ybWF0RGF0ZVBpcGUsXG4gICAgICAgIEZvcm1hdFNpemVQaXBlLFxuICAgICAgICBJY29uRGlyZWN0aXZlLFxuICAgICAgICBJbmZpbml0ZVNjcm9sbERpcmVjdGl2ZSxcbiAgICAgICAgUHJvcGVydHlTbHVnUGlwZSxcbiAgICAgICAgTm9kZUljb25QaXBlLFxuICAgICAgICBOb2RlSW1hZ2VQaXBlLFxuICAgICAgICBOb2RlSW1hZ2VTaXplUGlwZSxcbiAgICAgICAgTm9kZVBlcnNvbk5hbWVQaXBlLFxuICAgICAgICBOb2RlVGl0bGVQaXBlLFxuICAgICAgICBOb2RlVXJsQ29tcG9uZW50LFxuICAgICAgICBPcHRpb25Ub29sdGlwUGlwZSxcbiAgICAgICAgUmVwbGFjZUNoYXJzUGlwZSxcbiAgICAgICAgU29ydERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBWQ2FyZE5hbWVQaXBlLFxuICAgIF0sXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgICAgIFNwaW5uZXJDb21wb25lbnQsXG4gICAgICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICAgICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICAgICAgTWF0UmlwcGxlTW9kdWxlLFxuICAgICAgICBUcmFuc2xhdGVNb2R1bGUsXG4gICAgICAgIFJvdXRlck1vZHVsZSxcbiAgICBdLFxuICAgIGV4cG9ydHM6IFtcbiAgICAgICAgQWN0aW9uYmFyQ29tcG9uZW50LFxuICAgICAgICBCb3JkZXJCb3hPYnNlcnZlckRpcmVjdGl2ZSxcbiAgICAgICAgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUsXG4gICAgICAgIERyb3Bkb3duQ29tcG9uZW50LFxuICAgICAgICBGb2N1c1N0YXRlRGlyZWN0aXZlLFxuICAgICAgICBGb3JtYXREYXRlUGlwZSxcbiAgICAgICAgRm9ybWF0U2l6ZVBpcGUsXG4gICAgICAgIEljb25EaXJlY3RpdmUsXG4gICAgICAgIEluZmluaXRlU2Nyb2xsRGlyZWN0aXZlLFxuICAgICAgICBQcm9wZXJ0eVNsdWdQaXBlLFxuICAgICAgICBOb2RlSWNvblBpcGUsXG4gICAgICAgIE5vZGVJbWFnZVBpcGUsXG4gICAgICAgIE5vZGVJbWFnZVNpemVQaXBlLFxuICAgICAgICBOb2RlUGVyc29uTmFtZVBpcGUsXG4gICAgICAgIE5vZGVUaXRsZVBpcGUsXG4gICAgICAgIE5vZGVVcmxDb21wb25lbnQsXG4gICAgICAgIFNvcnREcm9wZG93bkNvbXBvbmVudCxcbiAgICAgICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICAgICAgVkNhcmROYW1lUGlwZSxcbiAgICBdLFxufSlcbmV4cG9ydCBjbGFzcyBFZHVTaGFyaW5nVWlDb21tb25Nb2R1bGUge31cbiJdfQ==
|
|
@@ -15,9 +15,15 @@ export class CheckTextOverflowDirective {
|
|
|
15
15
|
this.textElement = this.getTextElement();
|
|
16
16
|
}
|
|
17
17
|
hasTextOverflow_() {
|
|
18
|
+
if (!this.textElement && this.selector) {
|
|
19
|
+
// refetch element in case it has changed
|
|
20
|
+
this.textElement = this.getTextElement();
|
|
21
|
+
}
|
|
18
22
|
const element = this.textElement;
|
|
19
23
|
if (element) {
|
|
20
|
-
return element.offsetWidth < element.scrollWidth
|
|
24
|
+
return (element.offsetWidth < element.scrollWidth ||
|
|
25
|
+
// use buffer to prevent overflow caused by small margins
|
|
26
|
+
element.offsetHeight + 5 < element.scrollHeight);
|
|
21
27
|
}
|
|
22
28
|
else {
|
|
23
29
|
return false;
|
|
@@ -62,4 +68,4 @@ function delay(f) {
|
|
|
62
68
|
return previousValue;
|
|
63
69
|
};
|
|
64
70
|
}
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRXJFOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxZQUE2QixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUZoRSxvQkFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVvQixDQUFDO0lBRXBFLFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDcEMseUNBQXlDO1lBQ3pDLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1NBQzVDO1FBQ0QsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNqQyxJQUFJLE9BQU8sRUFBRTtZQUNULE9BQU8sQ0FDSCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXO2dCQUN6Qyx5REFBeUQ7Z0JBQ3pELE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQ2xELENBQUM7U0FDTDthQUFNO1lBQ0gsT0FBTyxLQUFLLENBQUM7U0FDaEI7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7U0FDckU7YUFBTTtZQUNILE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7U0FDeEM7SUFDTCxDQUFDOzhHQXBDUSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQztpR0FFaUMsUUFBUTtzQkFBckMsS0FBSzt1QkFBQyxxQkFBcUI7O0FBc0NoQyxxRkFBcUY7QUFDckYsU0FBUyxLQUFLLENBQUksQ0FBVTtJQUN4QixJQUFJLGFBQWEsR0FBUSxJQUFJLENBQUM7SUFDOUIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE9BQU87UUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ1gsTUFBTSxRQUFRLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUMvQixJQUFJLFFBQVEsS0FBSyxhQUFhLEVBQUU7Z0JBQzVCLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ2hCLE9BQU8sQ0FBQyxPQUFPLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFO29CQUN4QixhQUFhLEdBQUcsUUFBUSxDQUFDO29CQUN6QixRQUFRLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixDQUFDLENBQUMsQ0FBQzthQUNOO1NBQ0o7UUFDRCxPQUFPLGFBQWEsQ0FBQztJQUN6QixDQUFDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGV4dCBvZiB0aGUgYW5ub3RhdGVkIGVsZW1lbnQgb3IgYSBkZXNjZW5kZW50IChnaXZlIGEgc2VsZWN0b3IpIHdhcyBjdXQgb2YsIGUuZy4sXG4gKiB3aXRoIGFuIGVsbGlwc2lzLlxuICpcbiAqIENhbGwgYGhhc1RleHRPdmVyZmxvdygpYCBmb3IgdGhlIHJlc3VsdC5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdbZXNDaGVja1RleHRPdmVyZmxvd10nLFxuICAgIGV4cG9ydEFzOiAnZXNDaGVja1RleHRPdmVyZmxvdycsXG59KVxuZXhwb3J0IGNsYXNzIENoZWNrVGV4dE92ZXJmbG93RGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBASW5wdXQoJ2VzQ2hlY2tUZXh0T3ZlcmZsb3cnKSBzZWxlY3Rvcj86IHN0cmluZztcblxuICAgIHByaXZhdGUgdGV4dEVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgaGFzVGV4dE92ZXJmbG93ID0gZGVsYXkodGhpcy5oYXNUZXh0T3ZlcmZsb3dfKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50ZXh0RWxlbWVudCA9IHRoaXMuZ2V0VGV4dEVsZW1lbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGhhc1RleHRPdmVyZmxvd18oKTogYm9vbGVhbiB7XG4gICAgICAgIGlmICghdGhpcy50ZXh0RWxlbWVudCAmJiB0aGlzLnNlbGVjdG9yKSB7XG4gICAgICAgICAgICAvLyByZWZldGNoIGVsZW1lbnQgaW4gY2FzZSBpdCBoYXMgY2hhbmdlZFxuICAgICAgICAgICAgdGhpcy50ZXh0RWxlbWVudCA9IHRoaXMuZ2V0VGV4dEVsZW1lbnQoKTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBlbGVtZW50ID0gdGhpcy50ZXh0RWxlbWVudDtcbiAgICAgICAgaWYgKGVsZW1lbnQpIHtcbiAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgZWxlbWVudC5vZmZzZXRXaWR0aCA8IGVsZW1lbnQuc2Nyb2xsV2lkdGggfHxcbiAgICAgICAgICAgICAgICAvLyB1c2UgYnVmZmVyIHRvIHByZXZlbnQgb3ZlcmZsb3cgY2F1c2VkIGJ5IHNtYWxsIG1hcmdpbnNcbiAgICAgICAgICAgICAgICBlbGVtZW50Lm9mZnNldEhlaWdodCArIDUgPCBlbGVtZW50LnNjcm9sbEhlaWdodFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0VGV4dEVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICBpZiAodGhpcy5zZWxlY3Rvcikge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IodGhpcy5zZWxlY3Rvcik7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiBEZWxheSB0aGUgcmVzdWx0IG9mIGEgZnVuY3Rpb24gb25lIHRpY2sgdG8gYXZvaWQgY2hhbmdlZC1hZnRlci1jaGVja2VkIGVycm9ycy4gKi9cbmZ1bmN0aW9uIGRlbGF5PFQ+KGY6ICgpID0+IFQpOiAoKSA9PiBUIHtcbiAgICBsZXQgcHJldmlvdXNWYWx1ZTogYW55ID0gbnVsbDtcbiAgICBsZXQgdXBkYXRpbmcgPSBmYWxzZTtcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAoIXVwZGF0aW5nKSB7XG4gICAgICAgICAgICBjb25zdCBuZXdWYWx1ZSA9IGYuYXBwbHkodGhpcyk7XG4gICAgICAgICAgICBpZiAobmV3VmFsdWUgIT09IHByZXZpb3VzVmFsdWUpIHtcbiAgICAgICAgICAgICAgICB1cGRhdGluZyA9IHRydWU7XG4gICAgICAgICAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHByZXZpb3VzVmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHJldmlvdXNWYWx1ZTtcbiAgICB9O1xufVxuIl19
|
|
@@ -3,7 +3,10 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
5
5
|
import { Directive, Input, Optional } from '@angular/core';
|
|
6
|
-
import {
|
|
6
|
+
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
7
|
+
import { BehaviorSubject, combineLatest } from 'rxjs';
|
|
8
|
+
import { filter } from 'rxjs/operators';
|
|
9
|
+
import { notNull } from '../util/functions';
|
|
7
10
|
import * as i0 from "@angular/core";
|
|
8
11
|
import * as i1 from "@ngx-translate/core";
|
|
9
12
|
import * as i2 from "ngx-edu-sharing-api";
|
|
@@ -41,33 +44,37 @@ export class IconDirective {
|
|
|
41
44
|
}
|
|
42
45
|
}
|
|
43
46
|
set esIcon(id) {
|
|
44
|
-
this.
|
|
47
|
+
this.originalId$.next(id);
|
|
45
48
|
}
|
|
46
49
|
constructor(element, translate, config) {
|
|
47
50
|
this.element = element;
|
|
48
51
|
this.translate = translate;
|
|
49
52
|
this.config = config;
|
|
53
|
+
this.originalId$ = new BehaviorSubject(null);
|
|
50
54
|
this.isReady = false;
|
|
55
|
+
combineLatest([this.originalId$.pipe(filter(notNull)), this.config.get('icons', null)])
|
|
56
|
+
.pipe(takeUntilDestroyed())
|
|
57
|
+
.subscribe(([originalId, iconsConfig]) => this.setIcon(originalId, iconsConfig));
|
|
51
58
|
}
|
|
52
59
|
async ngOnInit() {
|
|
53
60
|
this.isReady = true;
|
|
54
61
|
this.element.nativeElement.setAttribute('aria-hidden', 'true');
|
|
62
|
+
// Material styles expect icons to have the class `mat-icon`, e.g.,
|
|
63
|
+
// https://github.com/angular/components/blob/ae0b9e1c1bae5e937d039ea53652fe1656bc4623/src/material/form-field/form-field.scss#L156
|
|
64
|
+
this.element.nativeElement.classList.add('mat-icon');
|
|
55
65
|
this.updateAria();
|
|
56
|
-
// FIXME: This might resolve after `setIcon` was called and mappings might be ignored.
|
|
57
|
-
await this.config.observeConfig().pipe(take(1)).toPromise();
|
|
58
|
-
this.iconsConfig = this.config.instant('icons', null);
|
|
59
66
|
}
|
|
60
67
|
ngOnDestroy() {
|
|
61
68
|
if (this.altTextSpan) {
|
|
62
69
|
this.altTextSpan.remove();
|
|
63
70
|
}
|
|
64
71
|
}
|
|
65
|
-
setIcon(id) {
|
|
72
|
+
setIcon(id, iconsConfig) {
|
|
66
73
|
if (this._id) {
|
|
67
74
|
this.element.nativeElement.classList.remove('edu-icons', 'custom-icons', 'material-icons');
|
|
68
75
|
}
|
|
69
76
|
let customClass = null;
|
|
70
|
-
const mapping =
|
|
77
|
+
const mapping = iconsConfig?.filter((i) => i.original === id);
|
|
71
78
|
if (mapping?.length === 1) {
|
|
72
79
|
id = mapping[0].replace || '';
|
|
73
80
|
customClass = mapping[0].cssClass;
|
|
@@ -136,4 +143,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.6", ngImpor
|
|
|
136
143
|
}], esIcon: [{
|
|
137
144
|
type: Input
|
|
138
145
|
}] } });
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRzFGLE9BQU8sRUFBRSxJQUFJLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQUV0Qzs7Ozs7Ozs7Ozs7R0FXRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBT3RCOzs7Ozs7T0FNRztJQUNILElBQWEsT0FBTyxDQUFDLE9BQWU7UUFDaEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUM3QixDQUFDO0lBRUQsc0VBQXNFO0lBQ3RFLElBQWEsSUFBSSxDQUFDLElBQWE7UUFDM0IsSUFBSSxHQUFHLHFCQUFxQixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ25DLElBQUksSUFBSSxLQUFLLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUM7WUFDbEIsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO2dCQUNkLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQzthQUNyQjtTQUNKO0lBQ0wsQ0FBQztJQUVELElBQWEsTUFBTSxDQUFDLEVBQVU7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFDWSxPQUFnQyxFQUNoQyxTQUEyQixFQUNmLE1BQXFCO1FBRmpDLFlBQU8sR0FBUCxPQUFPLENBQXlCO1FBQ2hDLGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQ2YsV0FBTSxHQUFOLE1BQU0sQ0FB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QUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDN0QsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLENBQUM7YUFDTjtpQkFBTTtnQkFDSCxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO2FBQ3pCO1NBQ0o7SUFDTCxDQUFDO0lBRU8sVUFBVSxDQUFDLE9BQWU7UUFDOUIsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1NBQzVCO1FBQ0QsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQztTQUN4QztJQUNMLENBQUM7SUFFTyxpQkFBaUI7UUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQ3RELElBQUksQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs4R0FuSFEsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7aUJBQzFDOzswQkFxQ1EsUUFBUTs0Q0F0QkEsT0FBTztzQkFBbkIsS0FBSztnQkFLTyxJQUFJO3NCQUFoQixLQUFLO2dCQVVPLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZWQgYnkgVG9yc3RlbiBvbiAxMy4wMS4yMDE3LlxuICovXG5cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQsIE9uRGVzdHJveSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IHRha2UgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGVsZW1lbnQncyBjb250ZW50IHdpdGggYW4gaWNvbi5cbiAqXG4gKiBFeGFtcGxlOiBgPGkgZXNJY29uPVwic2F2ZVwiPjwvaT5gXG4gKlxuICogT3B0aW9uYWxseSwgYSB0cmFuc2xhdGVkIGBhcmlhLWxhYmVsYCBjYW4gYmUgYXR0YWNoZWQgYnkgc2V0dGluZyBgYXJpYWAgdG8gYSB0cnV0aHkgdmFsdWU6IGA8aVxuICogZXNJY29uPVwic2F2ZVwiIGFyaWE9XCJ0cnVlXCI+PC9pPmAuIE90aGVyd2lzZSwgYGFyaWEtaGlkZGVuYCB3aWxsIGJlIHNldC5cbiAqXG4gKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBkaXJlY3RpdmUgaXMgYWxzbyBhY3RpdmF0ZWQgb24gZWxlbWVudHMgdGhhdCBzZXRcbiAqIGBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCJgLiBUaGlzIGlzIG1haW5seSB0byBzZXQgdGhlIGBhcmlhLWhpZGRlbmAgYXR0cmlidXRlLiBPY2N1cnJlbmNlcyBzaG91bGRcbiAqIGJlIHVwZGF0ZWQgdG8gdGhlIHN5bnRheCBhYm92ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpW2VzSWNvbl0sIGkubWF0ZXJpYWwtaWNvbnMnLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgX2lkOiBzdHJpbmc7XG4gICAgcHJpdmF0ZSBfYXJpYTogYm9vbGVhbjtcbiAgICBwcml2YXRlIGljb25zQ29uZmlnOiBBcnJheTx7IG9yaWdpbmFsOiBzdHJpbmc7IHJlcGxhY2U/OiBzdHJpbmc7IGNzc0NsYXNzPzogc3RyaW5nIH0+O1xuICAgIHByaXZhdGUgYWx0VGV4dFNwYW46IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgaXNSZWFkeSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQW4gYWx0IHRleHQgdG8gc2hvdyB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIElmIG9taXR0ZWQsIHRoZSBpY29uIHdpbGwgYmUgaW52aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9pY29uL292ZXJ2aWV3I2luZGljYXRvci1pY29uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBhbHRUZXh0KGFsdFRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEFsdFRleHQoYWx0VGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIElmIHRydWUsIGFuIGFsdCB0ZXh0IChzZWUgYWJvdmUpIHdpbGwgYmUgc2V0IGJhc2VkIG9uIHRoZSBpY29uLiAqL1xuICAgIEBJbnB1dCgpIHNldCBhcmlhKGFyaWE6IGJvb2xlYW4pIHtcbiAgICAgICAgYXJpYSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShhcmlhKTtcbiAgICAgICAgaWYgKGFyaWEgIT09IHRoaXMuX2FyaWEpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWEgPSBhcmlhO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGVzSWNvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuc2V0SWNvbihpZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICApIHt9XG5cbiAgICBhc3luYyBuZ09uSW5pdCgpIHtcbiAgICAgICAgdGhpcy5pc1JlYWR5ID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuc2V0QXR0cmlidXRlKCdhcmlhLWhpZGRlbicsICd0cnVlJyk7XG4gICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuXG4gICAgICAgIC8vIEZJWE1FOiBUaGlzIG1pZ2h0IHJlc29sdmUgYWZ0ZXIgYHNldEljb25gIHdhcyBjYWxsZWQgYW5kIG1hcHBpbmdzIG1pZ2h0IGJlIGlnbm9yZWQuXG4gICAgICAgIGF3YWl0IHRoaXMuY29uZmlnLm9ic2VydmVDb25maWcoKS5waXBlKHRha2UoMSkpLnRvUHJvbWlzZSgpO1xuICAgICAgICB0aGlzLmljb25zQ29uZmlnID0gdGhpcy5jb25maWcuaW5zdGFudCgnaWNvbnMnLCBudWxsKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4ucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWQ6IHN0cmluZykge1xuICAgICAgICBpZiAodGhpcy5faWQpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5yZW1vdmUoXG4gICAgICAgICAgICAgICAgJ2VkdS1pY29ucycsXG4gICAgICAgICAgICAgICAgJ2N1c3RvbS1pY29ucycsXG4gICAgICAgICAgICAgICAgJ21hdGVyaWFsLWljb25zJyxcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgbGV0IGN1c3RvbUNsYXNzOiBzdHJpbmcgPSBudWxsO1xuICAgICAgICBjb25zdCBtYXBwaW5nID0gdGhpcy5pY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHIoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoYWx0VGV4dCAmJiAhdGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5pbnNlcnRBbHRUZXh0U3BhbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsdFRleHRTcGFuKSB7XG4gICAgICAgICAgICB0aGlzLmFsdFRleHRTcGFuLmlubmVyVGV4dCA9IGFsdFRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluc2VydEFsdFRleHRTcGFuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsdFRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICB0aGlzLmFsdFRleHRTcGFuLmNsYXNzTGlzdC5hZGQoJ2Nkay12aXN1YWxseS1oaWRkZW4nKTtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIHRoaXMuYWx0VGV4dFNwYW4pO1xuICAgIH1cbn1cbiJdfQ==
|
|
146
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvaWNvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFjLEtBQUssRUFBcUIsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBR2hFLE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RELE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFJNUM7Ozs7Ozs7Ozs7O0dBV0c7QUFJSCxNQUFNLE9BQU8sYUFBYTtJQU90Qjs7Ozs7O09BTUc7SUFDSCxJQUFhLE9BQU8sQ0FBQyxPQUFlO1FBQ2hDLElBQUksQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDN0IsQ0FBQztJQUVELHNFQUFzRTtJQUN0RSxJQUFhLElBQUksQ0FBQyxJQUFhO1FBQzNCLElBQUksR0FBRyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNuQyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2xCLElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRTtnQkFDZCxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7YUFDckI7U0FDSjtJQUNMLENBQUM7SUFFRCxJQUFhLE1BQU0sQ0FBQyxFQUFVO1FBQzFCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFB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QUFPLENBQUMsYUFBYSxDQUFDLHFCQUFxQixDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbkYsQ0FBQzs4R0F0SFEsYUFBYTtrR0FBYixhQUFhOzsyRkFBYixhQUFhO2tCQUh6QixTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSw2QkFBNkI7aUJBQzFDOzswQkFxQ1EsUUFBUTs0Q0F0QkEsT0FBTztzQkFBbkIsS0FBSztnQkFLTyxJQUFJO3NCQUFoQixLQUFLO2dCQVVPLE1BQU07c0JBQWxCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIENyZWF0ZWQgYnkgVG9yc3RlbiBvbiAxMy4wMS4yMDE3LlxuICovXG5cbmltcG9ydCB7IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcbmltcG9ydCB7IENvbmZpZ1NlcnZpY2UgfSBmcm9tICduZ3gtZWR1LXNoYXJpbmctYXBpJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgbm90TnVsbCB9IGZyb20gJy4uL3V0aWwvZnVuY3Rpb25zJztcblxudHlwZSBJY29uc0NvbmZpZyA9IEFycmF5PHsgb3JpZ2luYWw6IHN0cmluZzsgcmVwbGFjZT86IHN0cmluZzsgY3NzQ2xhc3M/OiBzdHJpbmcgfT47XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGVsZW1lbnQncyBjb250ZW50IHdpdGggYW4gaWNvbi5cbiAqXG4gKiBFeGFtcGxlOiBgPGkgZXNJY29uPVwic2F2ZVwiPjwvaT5gXG4gKlxuICogT3B0aW9uYWxseSwgYSB0cmFuc2xhdGVkIGBhcmlhLWxhYmVsYCBjYW4gYmUgYXR0YWNoZWQgYnkgc2V0dGluZyBgYXJpYWAgdG8gYSB0cnV0aHkgdmFsdWU6IGA8aVxuICogZXNJY29uPVwic2F2ZVwiIGFyaWE9XCJ0cnVlXCI+PC9pPmAuIE90aGVyd2lzZSwgYGFyaWEtaGlkZGVuYCB3aWxsIGJlIHNldC5cbiAqXG4gKiBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBkaXJlY3RpdmUgaXMgYWxzbyBhY3RpdmF0ZWQgb24gZWxlbWVudHMgdGhhdCBzZXRcbiAqIGBjbGFzcz1cIm1hdGVyaWFsLWljb25zXCJgLiBUaGlzIGlzIG1haW5seSB0byBzZXQgdGhlIGBhcmlhLWhpZGRlbmAgYXR0cmlidXRlLiBPY2N1cnJlbmNlcyBzaG91bGRcbiAqIGJlIHVwZGF0ZWQgdG8gdGhlIHN5bnRheCBhYm92ZS5cbiAqL1xuQERpcmVjdGl2ZSh7XG4gICAgc2VsZWN0b3I6ICdpW2VzSWNvbl0sIGkubWF0ZXJpYWwtaWNvbnMnLFxufSlcbmV4cG9ydCBjbGFzcyBJY29uRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHByaXZhdGUgb3JpZ2luYWxJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4obnVsbCk7XG4gICAgcHJpdmF0ZSBfaWQ6IHN0cmluZztcbiAgICBwcml2YXRlIF9hcmlhOiBib29sZWFuO1xuICAgIHByaXZhdGUgYWx0VGV4dFNwYW46IEhUTUxFbGVtZW50O1xuICAgIHByaXZhdGUgaXNSZWFkeSA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQW4gYWx0IHRleHQgdG8gc2hvdyB0byBzY3JlZW4gcmVhZGVycy5cbiAgICAgKlxuICAgICAqIElmIG9taXR0ZWQsIHRoZSBpY29uIHdpbGwgYmUgaW52aXNpYmxlIHRvIHNjcmVlbiByZWFkZXJzLlxuICAgICAqXG4gICAgICogQHNlZSBodHRwczovL21hdGVyaWFsLmFuZ3VsYXIuaW8vY29tcG9uZW50cy9pY29uL292ZXJ2aWV3I2luZGljYXRvci1pY29uc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHNldCBhbHRUZXh0KGFsdFRleHQ6IHN0cmluZykge1xuICAgICAgICB0aGlzLnNldEFsdFRleHQoYWx0VGV4dCk7XG4gICAgfVxuXG4gICAgLyoqIElmIHRydWUsIGFuIGFsdCB0ZXh0IChzZWUgYWJvdmUpIHdpbGwgYmUgc2V0IGJhc2VkIG9uIHRoZSBpY29uLiAqL1xuICAgIEBJbnB1dCgpIHNldCBhcmlhKGFyaWE6IGJvb2xlYW4pIHtcbiAgICAgICAgYXJpYSA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eShhcmlhKTtcbiAgICAgICAgaWYgKGFyaWEgIT09IHRoaXMuX2FyaWEpIHtcbiAgICAgICAgICAgIHRoaXMuX2FyaWEgPSBhcmlhO1xuICAgICAgICAgICAgaWYgKHRoaXMuaXNSZWFkeSkge1xuICAgICAgICAgICAgICAgIHRoaXMudXBkYXRlQXJpYSgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQElucHV0KCkgc2V0IGVzSWNvbihpZDogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMub3JpZ2luYWxJZCQubmV4dChpZCk7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxuICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGNvbmZpZzogQ29uZmlnU2VydmljZSxcbiAgICApIHtcbiAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5vcmlnaW5hbElkJC5waXBlKGZpbHRlcihub3ROdWxsKSksIHRoaXMuY29uZmlnLmdldCgnaWNvbnMnLCBudWxsKV0pXG4gICAgICAgICAgICAucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQoKSlcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtvcmlnaW5hbElkLCBpY29uc0NvbmZpZ10pID0+IHRoaXMuc2V0SWNvbihvcmlnaW5hbElkLCBpY29uc0NvbmZpZykpO1xuICAgIH1cblxuICAgIGFzeW5jIG5nT25Jbml0KCkge1xuICAgICAgICB0aGlzLmlzUmVhZHkgPSB0cnVlO1xuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5zZXRBdHRyaWJ1dGUoJ2FyaWEtaGlkZGVuJywgJ3RydWUnKTtcbiAgICAgICAgLy8gTWF0ZXJpYWwgc3R5bGVzIGV4cGVjdCBpY29ucyB0byBoYXZlIHRoZSBjbGFzcyBgbWF0LWljb25gLCBlLmcuLFxuICAgICAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9jb21wb25lbnRzL2Jsb2IvYWUwYjllMWMxYmFlNWU5MzdkMDM5ZWE1MzY1MmZlMTY1NmJjNDYyMy9zcmMvbWF0ZXJpYWwvZm9ybS1maWVsZC9mb3JtLWZpZWxkLnNjc3MjTDE1NlxuICAgICAgICB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuYWRkKCdtYXQtaWNvbicpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYWx0VGV4dFNwYW4pIHtcbiAgICAgICAgICAgIHRoaXMuYWx0VGV4dFNwYW4ucmVtb3ZlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEljb24oaWQ6IHN0cmluZywgaWNvbnNDb25maWc6IEljb25zQ29uZmlnKSB7XG4gICAgICAgIGlmICh0aGlzLl9pZCkge1xuICAgICAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LnJlbW92ZShcbiAgICAgICAgICAgICAgICAnZWR1LWljb25zJyxcbiAgICAgICAgICAgICAgICAnY3VzdG9tLWljb25zJyxcbiAgICAgICAgICAgICAgICAnbWF0ZXJpYWwtaWNvbnMnLFxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3VzdG9tQ2xhc3M6IHN0cmluZyA9IG51bGw7XG4gICAgICAgIGNvbnN0IG1hcHBpbmcgPSBpY29uc0NvbmZpZz8uZmlsdGVyKChpKSA9PiBpLm9yaWdpbmFsID09PSBpZCk7XG4gICAgICAgIGlmIChtYXBwaW5nPy5sZW5ndGggPT09IDEpIHtcbiAgICAgICAgICAgIGlkID0gbWFwcGluZ1swXS5yZXBsYWNlIHx8ICcnO1xuICAgICAgICAgICAgY3VzdG9tQ2xhc3MgPSBtYXBwaW5nWzBdLmNzc0NsYXNzO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuX2lkID0gaWQ7XG4gICAgICAgIGlmICh0aGlzLl9hcmlhKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUFyaWEoKTtcbiAgICAgICAgfVxuICAgICAgICBsZXQgY3NzQ2xhc3M6IHN0cmluZztcbiAgICAgICAgaWYgKGlkPy5zdGFydHNXaXRoKCdlZHUtJykgJiYgIWN1c3RvbUNsYXNzKSB7XG4gICAgICAgICAgICBjc3NDbGFzcyA9ICdlZHUtaWNvbnMnO1xuICAgICAgICAgICAgaWQgPSBpZC5zdWJzdHIoNCk7XG4gICAgICAgIH0gZWxzZSBpZiAoaWQ/LnN0YXJ0c1dpdGgoJ2N1c3RvbS0nKSB8fCBjdXN0b21DbGFzcykge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnY3VzdG9tLWljb25zJztcbiAgICAgICAgICAgIGlkID0gaWQuc3Vic3RyKDcpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY3NzQ2xhc3MgPSAnbWF0ZXJpYWwtaWNvbnMnO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3NzQ2xhc3MpO1xuICAgICAgICBpZiAoY3VzdG9tQ2xhc3MpIHtcbiAgICAgICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5hZGQoY3VzdG9tQ2xhc3MpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlubmVyVGV4dCA9IGlkO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQXJpYSgpIHtcbiAgICAgICAgaWYgKHRoaXMuX2FyaWEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgICAgaWYgKHRoaXMuX2FyaWEgJiYgdGhpcy5faWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRyYW5zbGF0ZS5nZXQoJ0lDT05fTEFCRUxTLicgKyB0aGlzLl9pZCkuc3Vic2NyaWJlKChsYW5nKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2V0QWx0VGV4dChsYW5nKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRBbHRUZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRBbHRUZXh0KGFsdFRleHQ6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICBpZiAoYWx0VGV4dCAmJiAhdGhpcy5hbHRUZXh0U3Bhbikge1xuICAgICAgICAgICAgdGhpcy5pbnNlcnRBbHRUZXh0U3BhbigpO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLmFsdFRleHRTcGFuKSB7XG4gICAgICAgICAgICB0aGlzLmFsdFRleHRTcGFuLmlubmVyVGV4dCA9IGFsdFRleHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGluc2VydEFsdFRleHRTcGFuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmFsdFRleHRTcGFuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICB0aGlzLmFsdFRleHRTcGFuLmNsYXNzTGlzdC5hZGQoJ2Nkay12aXN1YWxseS1oaWRkZW4nKTtcbiAgICAgICAgdGhpcy5lbGVtZW50Lm5hdGl2ZUVsZW1lbnQuaW5zZXJ0QWRqYWNlbnRFbGVtZW50KCdhZnRlcmVuZCcsIHRoaXMuYWx0VGV4dFNwYW4pO1xuICAgIH1cbn1cbiJdfQ==
|