ngx-edu-sharing-ui 9.0.2 → 9.2.0
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/variables-scss.scss +2 -0
- package/assets/scss/variables.scss +2 -1
- package/esm2022/lib/actionbar/actionbar.component.mjs +8 -8
- package/esm2022/lib/common/edu-sharing-ui-common.module.mjs +76 -65
- package/esm2022/lib/directives/border-box-observer.directive.mjs +5 -5
- package/esm2022/lib/directives/check-text-overflow.directive.mjs +12 -6
- package/esm2022/lib/directives/drag-nodes/nodes-drag-source.directive.mjs +5 -5
- package/esm2022/lib/directives/drag-nodes/nodes-drag.directive.mjs +5 -5
- package/esm2022/lib/directives/drag-nodes/nodes-drop-target.directive.mjs +5 -5
- package/esm2022/lib/directives/focus-state.directive.mjs +5 -5
- package/esm2022/lib/directives/icon.directive.mjs +20 -13
- package/esm2022/lib/directives/infinite-scroll.directive.mjs +85 -0
- package/esm2022/lib/dropdown/dropdown.component.mjs +8 -8
- package/esm2022/lib/edu-sharing-ui-configuration.mjs +11 -4
- package/esm2022/lib/edu-sharing-ui.module.mjs +9 -5
- package/esm2022/lib/list-items/format-duration.pipe.mjs +3 -3
- package/esm2022/lib/list-items/list-base/list-base.component.mjs +10 -10
- package/esm2022/lib/list-items/list-collection-info/list-collection-info.component.mjs +5 -5
- package/esm2022/lib/list-items/list-counts/list-counts.component.mjs +6 -4
- package/esm2022/lib/list-items/list-items.module.mjs +4 -4
- package/esm2022/lib/list-items/list-node-license/list-node-license.component.mjs +5 -5
- package/esm2022/lib/list-items/list-node-replication-source/list-node-replication-source.component.mjs +5 -5
- package/esm2022/lib/list-items/list-node-workflow/list-node-workflow.component.mjs +5 -5
- package/esm2022/lib/list-items/list-text/list-text.component.mjs +20 -20
- package/esm2022/lib/list-items/list-widget.mjs +5 -5
- package/esm2022/lib/list-items/node-row/node-row.component.mjs +5 -5
- package/esm2022/lib/list-items/node-source.pipe.mjs +5 -5
- package/esm2022/lib/mds/mds-helper.service.mjs +167 -0
- package/esm2022/lib/mds/mds.module.mjs +16 -0
- package/esm2022/lib/node-entries/drag-preview/drag-preview.component.mjs +3 -3
- package/esm2022/lib/node-entries/entries-model.mjs +2 -1
- package/esm2022/lib/node-entries/items-cap.mjs +1 -1
- package/esm2022/lib/node-entries/list-item-label.pipe.mjs +5 -5
- package/esm2022/lib/node-entries/node-cache.mjs +9 -1
- package/esm2022/lib/node-entries/node-data-source-remote.mjs +1 -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 +17 -15
- package/esm2022/lib/node-entries/node-entries-card-grid/node-entries-card-grid.component.mjs +39 -24
- package/esm2022/lib/node-entries/node-entries-card-small/node-entries-card-small.component.mjs +8 -8
- package/esm2022/lib/node-entries/node-entries-global-options/node-entries-global-options.component.mjs +10 -6
- package/esm2022/lib/node-entries/node-entries-global.service.mjs +18 -5
- package/esm2022/lib/node-entries/node-entries-table/column-chooser/column-chooser.component.mjs +6 -6
- package/esm2022/lib/node-entries/node-entries-table/node-entries-table.component.mjs +44 -35
- package/esm2022/lib/node-entries/node-entries-templates.service.mjs +4 -4
- package/esm2022/lib/node-entries/node-entries-wrapper.component.mjs +13 -6
- package/esm2022/lib/node-entries/node-entries.component.mjs +7 -7
- package/esm2022/lib/node-entries/node-entries.module.mjs +4 -4
- package/esm2022/lib/node-entries/node-rating/node-rating.component.mjs +36 -13
- package/esm2022/lib/node-entries/node-stats-badges/node-stats-badges.component.mjs +6 -6
- package/esm2022/lib/node-entries/node-type-badge/node-type-badge.component.mjs +5 -5
- package/esm2022/lib/node-entries/option-button/option-button.component.mjs +21 -10
- package/esm2022/lib/node-entries/preview-image/preview-image.component.mjs +5 -5
- package/esm2022/lib/node-entries/sort-select-panel/sort-select-panel.component.mjs +6 -6
- package/esm2022/lib/node-url/node-url.component.mjs +11 -7
- package/esm2022/lib/pipes/file-size.pipe.mjs +6 -6
- package/esm2022/lib/pipes/format-date.pipe.mjs +5 -5
- package/esm2022/lib/pipes/node-icon.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-image-size.pipe.mjs +4 -4
- package/esm2022/lib/pipes/node-image.pipe.mjs +5 -5
- package/esm2022/lib/pipes/node-person-name.pipe.mjs +5 -5
- package/esm2022/lib/pipes/node-title.pipe.mjs +4 -4
- package/esm2022/lib/pipes/option-tooltip.pipe.mjs +5 -5
- package/esm2022/lib/pipes/property-slug.pipe.mjs +16 -0
- package/esm2022/lib/pipes/replace-chars.pipe.mjs +5 -5
- package/esm2022/lib/pipes/vcard-name.pipe.mjs +4 -4
- package/esm2022/lib/services/abstract/keyboard-shortcuts.service.mjs +3 -3
- package/esm2022/lib/services/abstract/options-helper.service.mjs +1 -1
- package/esm2022/lib/services/accessibility.service.mjs +5 -5
- package/esm2022/lib/services/app-container.service.mjs +66 -0
- package/esm2022/lib/services/local-events.service.mjs +3 -3
- package/esm2022/lib/services/node-entries.service.mjs +51 -7
- package/esm2022/lib/services/node-helper.service.mjs +36 -13
- package/esm2022/lib/services/nodes-drag-drop.service.mjs +5 -5
- package/esm2022/lib/services/options-helper-data.service.mjs +9 -9
- package/esm2022/lib/services/repo-url.service.mjs +6 -5
- package/esm2022/lib/services/temporary-storage.service.mjs +5 -5
- package/esm2022/lib/services/ui.service.mjs +11 -5
- package/esm2022/lib/sort-dropdown/sort-dropdown.component.mjs +5 -5
- package/esm2022/lib/spinner/spinner.component.mjs +7 -6
- package/esm2022/lib/translations/translation-loader.mjs +40 -8
- package/esm2022/lib/translations/translations.module.mjs +21 -10
- package/esm2022/lib/translations/translations.service.mjs +17 -9
- package/esm2022/lib/types/injection-tokens.mjs +9 -0
- package/esm2022/lib/types/option-item.mjs +4 -3
- package/esm2022/lib/util/DateHelper.mjs +1 -1
- package/esm2022/lib/util/VCard.mjs +1 -1
- package/esm2022/lib/util/color-helper.mjs +1 -1
- package/esm2022/lib/util/duration-helper.mjs +1 -1
- package/esm2022/lib/util/helper.mjs +1 -1
- package/esm2022/lib/util/rest-helper.mjs +1 -1
- package/esm2022/module.mjs +51 -43
- package/fesm2022/ngx-edu-sharing-ui.mjs +5771 -5197
- 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/edu-sharing-ui.module.d.ts +7 -6
- 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/mds/mds-helper.service.d.ts +37 -0
- package/lib/mds/mds.module.d.ts +6 -0
- package/lib/node-entries/entries-model.d.ts +2 -1
- package/lib/node-entries/node-data-source-remote.d.ts +2 -2
- 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-options/node-entries-global-options.component.d.ts +1 -0
- 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 +24 -25
- package/lib/util/ui-constants.d.ts +2 -2
- package/module.d.ts +50 -42
- package/package.json +5 -5
- package/esm2022/lib/translations/languages.mjs +0 -5
- package/lib/translations/languages.d.ts +0 -4
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
@import './variables-scss';
|
|
1
2
|
/**
|
|
2
3
|
declarations of dynamic css variabled
|
|
3
4
|
will only be included once via angular to prevent duplicate :root entries
|
|
@@ -18,7 +19,7 @@
|
|
|
18
19
|
--transitionNormal: 0.2s;
|
|
19
20
|
--focusWidth: 2px;
|
|
20
21
|
--fontSizeXSmall: 85%;
|
|
21
|
-
--mobileWidth:
|
|
22
|
+
--mobileWidth: $mobileWidth;
|
|
22
23
|
--mobileStage: 100px;
|
|
23
24
|
--itemSelectedTextColor: var(--palette-primary-700);
|
|
24
25
|
--listItemSelectedBackground: var(--palette-primary-50);
|
|
@@ -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
|
|
@@ -160,13 +160,13 @@ export class ActionbarComponent {
|
|
|
160
160
|
ngOnChanges(changes) {
|
|
161
161
|
this.invalidate();
|
|
162
162
|
}
|
|
163
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
164
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
163
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", 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: "18.0.2", 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 .mdc-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-mdc-unelevated-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-mdc-unelevated-button:disabled{color:#00000080;background-color:#eee}.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:#fff;color:var(--primary)!important}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)!important}.actionbar-round .more,.actionbar-round .actionAlways{background:#fff;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]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: i5.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i5.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], 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
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
166
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", 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 .
|
|
169
|
-
}], ctorParameters:
|
|
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 .mdc-button{color:rgb(var(--palette-foreground-text-dark))}.actionbar-background-primary .mat-mdc-unelevated-button{background-color:#fff;color:var(--primary)}.actionbar-background-primary .mat-mdc-unelevated-button:disabled{color:#00000080;background-color:#eee}.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:#fff;color:var(--primary)!important}.actionbar-round.actionbar-all-flat button:disabled{color:var(--textLight)!important}.actionbar-round .more,.actionbar-round .actionAlways{background:#fff;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
|
+
}], ctorParameters: () => [{ type: i1.UIService }, { type: i2.TranslateService }], propDecorators: { numberOfAlwaysVisibleOptions: [{
|
|
170
170
|
type: Input
|
|
171
171
|
}], numberOfAlwaysVisibleOptionsMobile: [{
|
|
172
172
|
type: Input
|
|
@@ -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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UUFBUTtnQkFDVCxPQUFPLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDaEMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDOUIsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3RCLENBQUM7OEdBMUpRLGtCQUFrQjtrR0FBbEIsa0JBQWtCLHlaQ2xCL0Isa2hGQTJFQSw4bkhEOURnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzsyRkFLckYsa0JBQWtCO2tCQVQ5QixTQUFTOytCQUNJLGNBQWMsY0FHWixDQUFDLE9BQU8sQ0FBQyxhQUFhLEVBQUUsV0FBVyxDQUFDLFdBQVcsQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxDQUFDOzZHQVdyRiw0QkFBNEI7c0JBQXBDLEtBQUs7Z0JBQ0csa0NBQWtDO3NCQUExQyxLQUFLO2dCQVVHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBS0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUtHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBSUcsS0FBSztzQkFBYixLQUFLO2dCQU9HLFNBQVM7c0JBQWpCLEtBQUs7Z0JBSUcsWUFBWTtzQkFBcEIsS0FBSztnQkFJTyxPQUFPO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XG5pbXBvcnQgeyBVSUFuaW1hdGlvbiB9IGZyb20gJy4uL3V0aWwvdWktYW5pbWF0aW9uJztcbmltcG9ydCB7IFVJQ29uc3RhbnRzIH0gZnJvbSAnLi4vdXRpbC91aS1jb25zdGFudHMnO1xuaW1wb3J0IHsgT3B0aW9uSXRlbSB9IGZyb20gJy4uL3R5cGVzL29wdGlvbi1pdGVtJztcbmltcG9ydCB7IFVJU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL3VpLnNlcnZpY2UnO1xuaW1wb3J0IHsgSGVscGVyIH0gZnJvbSAnLi4vdXRpbC9oZWxwZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2VzLWFjdGlvbmJhcicsXG4gICAgdGVtcGxhdGVVcmw6ICdhY3Rpb25iYXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIHN0eWxlVXJsczogWydhY3Rpb25iYXIuY29tcG9uZW50LnNjc3MnXSxcbiAgICBhbmltYXRpb25zOiBbdHJpZ2dlcignb3Blbk92ZXJsYXknLCBVSUFuaW1hdGlvbi5vcGVuT3ZlcmxheShVSUFuaW1hdGlvbi5BTklNQVRJT05fVElNRV9GQVNUKSldLFxufSlcbi8qKlxuICogVGhlIGFjdGlvbiBiYXIgcHJvdmlkZXMgc2V2ZXJhbCBpY29ucywgdXN1YWxseSBhdCB0aGUgdG9wIHJpZ2h0LCB3aXRoIGFjdGlvbnMgZm9yIGEgY3VycmVudCBjb250ZXh0XG4gKi9cbmV4cG9ydCBjbGFzcyBBY3Rpb25iYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuICAgIC8qKlxuICAgICAqIFRoZSBhbW91bnQgb2Ygb3B0aW9ucyB3aGljaCBhcmUgbm90IGhpZGRlbiBpbnNpZGUgYW4gb3ZlcmZsb3cgbWVudVxuICAgICAqIChkZWZhdWx0OiBkZXBlbmRpbmcgb24gbW9iaWxlICgxKSBvciBub3QgKDIpKVxuICAgICAqIEFsc28gdXNlIG51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnNNb2JpbGUgdG8gY29udHJvbCB0aGUgYW1vdW50IG9mIG1vYmlsZSBvcHRpb25zIHZpc2libGVcbiAgICAgKi9cbiAgICBASW5wdXQoKSBudW1iZXJPZkFsd2F5c1Zpc2libGVPcHRpb25zID0gMjtcbiAgICBASW5wdXQoKSBudW1iZXJPZkFsd2F5c1Zpc2libGVPcHRpb25zTW9iaWxlID0gMTtcbiAgICAvKipcbiAgICAgKiBWaXN1YWwgc3R5bGUgb2YgdGhlIGFjdGlvbmJhclxuICAgICAqXG4gICAgICogVmFsdWVzOlxuICAgICAqICAtICdidXR0b24nOiBtYXRlcmlhbCBidXR0b25zIHdpdGggaWNvbnMgYW5kIHRleHQgb24gbWVkaXVtIHRvIGxhcmdlIHNjcmVlbnNcbiAgICAgKiAgLSAnaWNvbi1idXR0b24nOiBtYXRlcmlhbCBidXR0b25zIHdpdGhvdXQgdGV4dFxuICAgICAqICAtICdyb3VuZCc6IGNpcmN1bGFyIGJ1dHRvbnMgd2l0aG91dCB0ZXh0XG4gICAgICogQGRlZmF1bHQgJ2J1dHRvbidcbiAgICAgKi9cbiAgICBASW5wdXQoKSBhcHBlYXJhbmNlOiAncm91bmQnIHwgJ2J1dHRvbicgfCAnaWNvbi1idXR0b24nID0gJ2J1dHRvbic7XG4gICAgLyoqXG4gICAgICogZHJvcGRvd25Qb3NpdGlvbiBpcyBmb3IgcG9zaXRpb24gb2YgZHJvcGRvd24gKGRlZmF1bHQgPSBsZWZ0KVxuICAgICAqIFZhbHVlcyAnbGVmdCcgb3IgJ3JpZ2h0J1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGRyb3Bkb3duUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAnbGVmdCc7XG5cbiAgICAvKipcbiAgICAgKiBiYWNrZ3JvdW5kVHlwZSBmb3IgY29sb3IgbWF0Y2hpbmcsIGVpdGhlciBicmlnaHQsIGRhcmsgb3IgcHJpbWFyeVxuICAgICAqL1xuICAgIEBJbnB1dCgpIGJhY2tncm91bmRUeXBlOiAnYnJpZ2h0JyB8ICdkYXJrJyB8ICdwcmltYXJ5JyA9ICdicmlnaHQnO1xuICAgIC8qKlxuICAgICAqIFN0eWxlLCBjdXJyZW50bHkgZGVmYXVsdCBvciAnZmxhdCcgaWYgYWxsIGFsd2F5cyB2aXNpYmxlIGljb25zIHNob3VsZCBnZXQgYSBmbGF0IGxvb2tcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZTogJ2RlZmF1bHQnIHwgJ2ZsYXQnID0gJ2RlZmF1bHQnO1xuICAgIC8qKlxuICAgICAqIEhpZ2hsaWdodCBvbmUgb3IgbW9yZSBvZiB0aGUgYWx3YXlzLXZpc2libGUgYnV0dG9ucyBhcyBwcmltYXJ5IGFjdGlvbi5cbiAgICAgKlxuICAgICAqIC0gYGZpcnN0YCwgYGxhc3RgOiBUaGUgZmlyc3QgLyBsYXN0IG9mIGBvcHRpb25zQWx3YXlzYCBieSBvcmRlci5cbiAgICAgKiAtIGBtYW51YWxgOiBIaWdobGlnaHQgYWxsIG9wdGlvbnMgdGhhdCBzZXQgYGlzUHJpbWFyeSA9IHRydWVgLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGhpZ2hsaWdodDogJ2ZpcnN0JyB8ICdsYXN0JyB8ICdtYW51YWwnID0gJ2ZpcnN0JztcbiAgICAvKipcbiAgICAgKiBTaG91bGQgZGlzYWJsZWQgKFwiZ3JleWVkIG91dFwiKSBvcHRpb25zIGJlIHNob3duIG9yIGhpZGRlbj9cbiAgICAgKi9cbiAgICBASW5wdXQoKSBzaG93RGlzYWJsZWQgPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIFNldCB0aGUgb3B0aW9ucywgc2VlIEBPcHRpb25JdGVtXG4gICAgICovXG4gICAgQElucHV0KCkgc2V0IG9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIHRoaXMub3B0aW9uc0luID0gb3B0aW9ucztcbiAgICAgICAgdGhpcy5wcmVwYXJlT3B0aW9ucyhvcHRpb25zKTtcbiAgICB9XG5cbiAgICBvcHRpb25zSW46IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgIG9wdGlvbnNBbHdheXM6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgIG9wdGlvbnNNZW51OiBPcHRpb25JdGVtW10gPSBbXTtcbiAgICBvcHRpb25zVG9nZ2xlOiBPcHRpb25JdGVtW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgdWlTZXJ2aWNlOiBVSVNlcnZpY2UsIHByaXZhdGUgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlKSB7fVxuXG4gICAgcHJpdmF0ZSBwcmVwYXJlT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10pIHtcbiAgICAgICAgb3B0aW9ucyA9IHRoaXMudWlTZXJ2aWNlLmZpbHRlclZhbGlkT3B0aW9ucyhIZWxwZXIuZGVlcENvcHlBcnJheShvcHRpb25zKSk7XG4gICAgICAgIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5vcHRpb25zTWVudSA9IFtdO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMub3B0aW9uc1RvZ2dsZSA9IHRoaXMudWlTZXJ2aWNlLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgdHJ1ZSk7XG4gICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyA9IHRoaXMuZ2V0QWN0aW9uT3B0aW9ucyhcbiAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLmZpbHRlclRvZ2dsZU9wdGlvbnMob3B0aW9ucywgZmFsc2UpLFxuICAgICAgICApLnNsaWNlKDAsIHRoaXMuZ2V0TnVtYmVyT3B0aW9ucygpKTtcbiAgICAgICAgaWYgKCF0aGlzLm9wdGlvbnNBbHdheXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLm9wdGlvbnNBbHdheXMgPSB0aGlzLnVpU2VydmljZVxuICAgICAgICAgICAgICAgIC5maWx0ZXJUb2dnbGVPcHRpb25zKG9wdGlvbnMsIGZhbHNlKVxuICAgICAgICAgICAgICAgIC5zbGljZSgwLCB0aGlzLmdldE51bWJlck9wdGlvbnMoKSk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5vcHRpb25zTWVudSA9IHRoaXMuaGlkZUFjdGlvbk9wdGlvbnMoXG4gICAgICAgICAgICB0aGlzLnVpU2VydmljZS5maWx0ZXJUb2dnbGVPcHRpb25zKG9wdGlvbnMsIGZhbHNlKSxcbiAgICAgICAgICAgIHRoaXMub3B0aW9uc0Fsd2F5cyxcbiAgICAgICAgKTtcbiAgICAgICAgLy8gbWF5IGNhdXNlcyB3ZWlyZCBsb29raW5nXG4gICAgICAgIC8qaWYodGhpcy5vcHRpb25zTWVudS5sZW5ndGg8Mikge1xuICAgICAgdGhpcy5vcHRpb25zQWx3YXlzID0gdGhpcy5vcHRpb25zQWx3YXlzLmNvbmNhdCh0aGlzLm9wdGlvbnNNZW51KTtcbiAgICAgIHRoaXMub3B0aW9uc01lbnUgPSBbXTtcbiAgICB9Ki9cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TnVtYmVyT3B0aW9ucygpIHtcbiAgICAgICAgaWYgKHdpbmRvdy5pbm5lcldpZHRoIDwgVUlDb25zdGFudHMuTU9CSUxFX1dJRFRIKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5udW1iZXJPZkFsd2F5c1Zpc2libGVPcHRpb25zTW9iaWxlO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLm51bWJlck9mQWx3YXlzVmlzaWJsZU9wdGlvbnM7XG4gICAgfVxuXG4gICAgY2xpY2sob3B0aW9uOiBPcHRpb25JdGVtKSB7XG4gICAgICAgIGlmICghb3B0aW9uLmlzRW5hYmxlZCkge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5kaXNhYmxlZENhbGxiYWNrKSB7XG4gICAgICAgICAgICAgICAgb3B0aW9uLmRpc2FibGVkQ2FsbGJhY2soKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBvcHRpb24uY2FsbGJhY2soKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldEFjdGlvbk9wdGlvbnMob3B0aW9uczogT3B0aW9uSXRlbVtdKSB7XG4gICAgICAgIGNvbnN0IHJlc3VsdDogT3B0aW9uSXRlbVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qgb3B0aW9uIG9mIG9wdGlvbnMpIHtcbiAgICAgICAgICAgIGlmIChvcHRpb24uc2hvd0FzQWN0aW9uKSByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoaWRlQWN0aW9uT3B0aW9ucyhvcHRpb25zOiBPcHRpb25JdGVtW10sIG9wdGlvbnNBbHdheXM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBjb25zdCByZXN1bHQ6IE9wdGlvbkl0ZW1bXSA9IFtdO1xuICAgICAgICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBvcHRpb25zKSB7XG4gICAgICAgICAgICBpZiAob3B0aW9uc0Fsd2F5cy5pbmRleE9mKG9wdGlvbikgPT09IC0xKSByZXN1bHQucHVzaChvcHRpb24pO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSW52YWxpZGF0ZSAvIHJlZnJlc2hlcyBhbGwgb3B0aW9ucyBiYXNlZCBvbiB0aGVpciBjdXJyZW50IGNhbGxiYWNrc1xuICAgICAqL1xuICAgIHB1YmxpYyBpbnZhbGlkYXRlKCkge1xuICAgICAgICB0aGlzLnByZXBhcmVPcHRpb25zKHRoaXMub3B0aW9uc0luKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZpbHRlckRpc2FibGVkKG9wdGlvbnM6IE9wdGlvbkl0ZW1bXSkge1xuICAgICAgICBpZiAob3B0aW9ucyA9PSBudWxsKSByZXR1cm4gbnVsbDtcbiAgICAgICAgY29uc3QgZmlsdGVyZWQgPSBbXTtcbiAgICAgICAgZm9yIChjb25zdCBvcHRpb24gb2Ygb3B0aW9ucykge1xuICAgICAgICAgICAgaWYgKG9wdGlvbi5pc0VuYWJsZWQgfHwgdGhpcy5zaG93RGlzYWJsZWQpIGZpbHRlcmVkLnB1c2gob3B0aW9uKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmlsdGVyZWQ7XG4gICAgfVxuXG4gICAgY2FuU2hvd0Ryb3Bkb3duKCkge1xuICAgICAgICBpZiAoIXRoaXMub3B0aW9uc01lbnUubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMub3B0aW9uc01lbnUuZmlsdGVyKChvKSA9PiBvLmlzRW5hYmxlZCkubGVuZ3RoID4gMDtcbiAgICB9XG5cbiAgICBzaG91bGRIaWdobGlnaHQob3B0aW9uSW5kZXg6IG51bWJlciwgb3B0aW9uOiBPcHRpb25JdGVtKTogYm9vbGVhbiB7XG4gICAgICAgIHN3aXRjaCAodGhpcy5oaWdobGlnaHQpIHtcbiAgICAgICAgICAgIGNhc2UgJ2ZpcnN0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uSW5kZXggPT09IDA7XG4gICAgICAgICAgICBjYXNlICdsYXN0JzpcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uSW5kZXggPT09IHRoaXMub3B0aW9uc0Fsd2F5cy5sZW5ndGggLSAxO1xuICAgICAgICAgICAgY2FzZSAnbWFudWFsJzpcbiAgICAgICAgICAgICAgICByZXR1cm4gb3B0aW9uLmlzUHJpbWFyeTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pbnZhbGlkYXRlKCk7XG4gICAgfVxufVxuIiwiPGVzLWRyb3Bkb3duXG4gICNkcm9wZG93blJlZlxuICBbb3B0aW9uc109XCJvcHRpb25zTWVudVwiXG4gIFtzaG93RGlzYWJsZWRdPVwic2hvd0Rpc2FibGVkXCJcbiAgW3Bvc2l0aW9uXT1cImRyb3Bkb3duUG9zaXRpb25cIlxuPjwvZXMtZHJvcGRvd24+XG48ZGl2XG4gIGNsYXNzPVwiYWN0aW9uYmFyXCJcbiAgW2NsYXNzLmFjdGlvbmJhci1hbGwtZmxhdF09XCJzdHlsZSA9PT0gJ2ZsYXQnXCJcbiAgW2NsYXNzLmFjdGlvbmJhci1iYWNrZ3JvdW5kLWRhcmtdPVwiYmFja2dyb3VuZFR5cGUgPT09ICdkYXJrJ1wiXG4gIFtjbGFzcy5hY3Rpb25iYXItYmFja2dyb3VuZC1wcmltYXJ5XT1cImJhY2tncm91bmRUeXBlID09PSAncHJpbWFyeSdcIlxuICBbY2xhc3MuYWN0aW9uYmFyLXJvdW5kXT1cImFwcGVhcmFuY2UgPT09ICdyb3VuZCdcIlxuICBbY2xhc3MuYWN0aW9uYmFyLWljb24tYnV0dG9uXT1cImFwcGVhcmFuY2UgPT09ICdpY29uLWJ1dHRvbidcIlxuPlxuICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvcHRpb24gb2Ygb3B0aW9uc0Fsd2F5czsgbGV0IGkgPSBpbmRleFwiPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwic2hvdWxkSGlnaGxpZ2h0KGksIG9wdGlvbilcIlxuICAgICAgbWF0LWZsYXQtYnV0dG9uXG4gICAgICBjb2xvcj1cInByaW1hcnlcIlxuICAgICAgW2Rpc2FibGVkXT1cIiFvcHRpb24uaXNFbmFibGVkXCJcbiAgICAgIFtjbGFzcy5kaXNwbGF5LW5vbmVdPVwiIW9wdGlvbi5pc0VuYWJsZWQgJiYgIXNob3dEaXNhYmxlZFwiXG4gICAgICBtYXRUb29sdGlwPVwie3sgb3B0aW9uIHwgb3B0aW9uVG9vbHRpcCB9fVwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlXCJcbiAgICAgIChjbGljayk9XCJjbGljayhvcHRpb24pXCJcbiAgICA+XG4gICAgICA8aSBbZXNJY29uXT1cIm9wdGlvbi5pY29uXCI+PC9pPlxuICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb24tYWx3YXlzLWNhcHRpb25cIiAqbmdJZj1cIm9wdGlvbi5zaG93TmFtZSAmJiBhcHBlYXJhbmNlID09PSAnYnV0dG9uJ1wiPlxuICAgICAgICB7eyBvcHRpb24ubmFtZSB8IHRyYW5zbGF0ZSB9fTwvc3BhblxuICAgICAgPlxuICAgIDwvYnV0dG9uPlxuICAgIDxidXR0b25cbiAgICAgICpuZ0lmPVwiIXNob3VsZEhpZ2hsaWdodChpLCBvcHRpb24pXCJcbiAgICAgIG1hdC1idXR0b25cbiAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICBbZGlzYWJsZWRdPVwiIW9wdGlvbi5pc0VuYWJsZWRcIlxuICAgICAgW2NsYXNzLmRpc3BsYXktbm9uZV09XCIhb3B0aW9uLmlzRW5hYmxlZCAmJiAhc2hvd0Rpc2FibGVkXCJcbiAgICAgIG1hdFRvb2x0aXA9XCJ7eyBvcHRpb24gfCBvcHRpb25Ub29sdGlwIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKG9wdGlvbilcIlxuICAgID5cbiAgICAgIDxpIFtlc0ljb25dPVwib3B0aW9uLmljb25cIj48L2k+XG4gICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbi1hbHdheXMtY2FwdGlvblwiICpuZ0lmPVwib3B0aW9uLnNob3dOYW1lICYmIGFwcGVhcmFuY2UgPT09ICdidXR0b24nXCI+XG4gICAgICAgIHt7IG9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19PC9zcGFuXG4gICAgICA+XG4gICAgPC9idXR0b24+XG4gIDwvbmctY29udGFpbmVyPlxuICA8YnV0dG9uXG4gICAgbWF0LWJ1dHRvblxuICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgY2xhc3M9XCJtb3JlXCJcbiAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidPUFRJT05TLlNIT1dfQUxMX09QVElPTlMnIHwgdHJhbnNsYXRlXCJcbiAgICBbbWF0TWVudVRyaWdnZXJGb3JdPVwiZHJvcGRvd25SZWYubWVudVwiXG4gICAgKm5nSWY9XCJjYW5TaG93RHJvcGRvd24oKVwiXG4gICAgZGF0YS10ZXN0PVwibW9yZS1hY3Rpb25zLWJ1dHRvblwiXG4gID5cbiAgICA8aSBlc0ljb249XCJtb3JlX3ZlcnRcIiBbYXJpYV09XCJmYWxzZVwiPjwvaT5cbiAgPC9idXR0b24+XG4gIDxkaXZcbiAgICAqbmdJZj1cIm9wdGlvbnNUb2dnbGUubGVuZ3RoXCJcbiAgICBjbGFzcz1cImFjdGlvblRvZ2dsZVwiXG4gICAgW2NsYXNzLmFjdGlvblRvZ2dsZURpdmlkZXJdPVwib3B0aW9uc0Fsd2F5cy5sZW5ndGhcIlxuICA+XG4gICAgPGJ1dHRvblxuICAgICAgKm5nRm9yPVwibGV0IG9wdGlvbiBvZiBvcHRpb25zVG9nZ2xlXCJcbiAgICAgIG1hdC1pY29uLWJ1dHRvblxuICAgICAgbWF0VG9vbHRpcD1cInt7IG9wdGlvbi5uYW1lIHwgdHJhbnNsYXRlIH19XCJcbiAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwib3B0aW9uLm5hbWUgfCB0cmFuc2xhdGVcIlxuICAgICAgKGNsaWNrKT1cImNsaWNrKG9wdGlvbilcIlxuICAgICAgW2NsYXNzLmRpc2FibGVkXT1cIiFvcHRpb24uaXNFbmFibGVkXCJcbiAgICAgIGF0dHIuZGF0YS10ZXN0PVwidG9nZ2xlLXt7IG9wdGlvbi5uYW1lIH19XCJcbiAgICA+XG4gICAgICA8aSBbZXNJY29uXT1cIm9wdGlvbi5pY29uXCIgW2FyaWFdPVwiZmFsc2VcIj48L2k+XG4gICAgPC9idXR0b24+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,109 +1,118 @@
|
|
|
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
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
31
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
32
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EduSharingUiCommonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
33
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.2", 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
|
-
|
|
72
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
75
|
+
SortDropdownComponent,
|
|
76
|
+
SpinnerComponent,
|
|
77
|
+
VCardNamePipe] }); }
|
|
78
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EduSharingUiCommonModule, imports: [CommonModule,
|
|
73
79
|
MatMenuModule,
|
|
80
|
+
SpinnerComponent,
|
|
74
81
|
MatButtonModule,
|
|
75
82
|
MatTooltipModule,
|
|
76
83
|
MatRippleModule,
|
|
77
84
|
TranslateModule,
|
|
78
85
|
RouterModule] }); }
|
|
79
86
|
}
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
87
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: EduSharingUiCommonModule, decorators: [{
|
|
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==
|
|
@@ -55,17 +55,17 @@ export class BorderBoxObserverDirective {
|
|
|
55
55
|
height: boundingClientRect.height,
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
59
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
58
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BorderBoxObserverDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
59
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: BorderBoxObserverDirective, selector: "[esBorderBoxObserver]", outputs: { borderBoxEmitter: "esBorderBoxObserver" }, exportAs: ["borderBoxObserver"], ngImport: i0 }); }
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: BorderBoxObserverDirective, decorators: [{
|
|
62
62
|
type: Directive,
|
|
63
63
|
args: [{
|
|
64
64
|
selector: '[esBorderBoxObserver]',
|
|
65
65
|
exportAs: 'borderBoxObserver',
|
|
66
66
|
}]
|
|
67
|
-
}], ctorParameters:
|
|
67
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { borderBoxEmitter: [{
|
|
68
68
|
type: Output,
|
|
69
69
|
args: ['esBorderBoxObserver']
|
|
70
70
|
}] } });
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvYm9yZGVyLWJveC1vYnNlcnZlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxZQUFZLEVBQXFCLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvRixPQUFPLEVBQUUsYUFBYSxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNqRCxPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBT3JDOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQUNuQyxNQUFNLENBQUMsY0FBYyxDQUFDLFVBQW1DO1FBQ3JELE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxVQUFVLEVBQUUsRUFBRTtZQUNqQyxNQUFNLGlCQUFpQixHQUFHLElBQUksMEJBQTBCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDckUsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDN0IsaUJBQWlCLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ3pELE9BQU8sR0FBRyxFQUFFLENBQUMsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7SUFDUCxDQUFDO0lBVUQsWUFBb0IsVUFBbUM7UUFBbkMsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFSeEIscUJBQWdCLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUcvRCxxQkFBZ0IsR0FBRyxJQUFJLGFBQWEsQ0FBWSxDQUFDLENBQUMsQ0FBQztRQUVwRSxXQUFNLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO1FBQy9ELFlBQU8sR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7SUFFUixDQUFDO0lBRTNELFFBQVE7UUFDSixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM1QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixnRUFBZ0U7UUFDaEUsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDL0IsQ0FBQztJQUVPLG9CQUFvQjtRQUN4QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7SUFDMUYsQ0FBQztJQUVPLGdCQUFnQjtRQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksY0FBYyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDM0MsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUN0QixNQUFNLGFBQWEsR0FBdUIsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDakUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQztvQkFDdkIsS0FBSyxFQUFFLGFBQWEsQ0FBQyxVQUFVO29CQUMvQixNQUFNLEVBQUUsYUFBYSxDQUFDLFNBQVM7aUJBQ2xDLENBQUMsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFTyxlQUFlO1FBQ25CLE1BQU0sa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMscUJBQXFCLEVBQUUsQ0FBQztRQUNqRixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1lBQ3ZCLEtBQUssRUFBRSxrQkFBa0IsQ0FBQyxLQUFLO1lBQy9CLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxNQUFNO1NBQ3BDLENBQUMsQ0FBQztJQUNQLENBQUM7OEdBdERRLDBCQUEwQjtrR0FBMUIsMEJBQTBCOzsyRkFBMUIsMEJBQTBCO2tCQUp0QyxTQUFTO21CQUFDO29CQUNQLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFFBQVEsRUFBRSxtQkFBbUI7aUJBQ2hDOytFQVdrQyxnQkFBZ0I7c0JBQTlDLE1BQU07dUJBQUMscUJBQXFCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBFdmVudEVtaXR0ZXIsIE9uRGVzdHJveSwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFJlcGxheVN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcblxuaW50ZXJmYWNlIEJvcmRlckJveCB7XG4gICAgd2lkdGg6IG51bWJlcjtcbiAgICBoZWlnaHQ6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBHZXRzIHRoZSBib3JkZXItYm94IGRpbWVuc2lvbnMgb2YgYW4gZWxlbWVudCBpbiBhbiBhc3luY2hyb25vdXMgbWFubmVyLlxuICpcbiAqIFRoaXMgYWxsb3dzIHN1YnNjcmliaW5nIHRvIGNoYW5nZXMgYW5kIHVzaW5nIHZhbHVlcyBhcyBpbnB1dCB0byBvdGhlciBBbmd1bGFyIGNvbXBvbmVudHMgd2l0aG91dFxuICogY2F1c2luZyBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3JzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlc0JvcmRlckJveE9ic2VydmVyXScsXG4gICAgZXhwb3J0QXM6ICdib3JkZXJCb3hPYnNlcnZlcicsXG59KVxuZXhwb3J0IGNsYXNzIEJvcmRlckJveE9ic2VydmVyRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICAgIHN0YXRpYyBvYnNlcnZlRWxlbWVudChlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pik6IE9ic2VydmFibGU8Qm9yZGVyQm94PiB7XG4gICAgICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgICAgICAgY29uc3QgYm9yZGVyQm94T2JzZXJ2ZXIgPSBuZXcgQm9yZGVyQm94T2JzZXJ2ZXJEaXJlY3RpdmUoZWxlbWVudFJlZik7XG4gICAgICAgICAgICBib3JkZXJCb3hPYnNlcnZlci5uZ09uSW5pdCgpO1xuICAgICAgICAgICAgYm9yZGVyQm94T2JzZXJ2ZXIuYm9yZGVyQm94U3ViamVjdC5zdWJzY3JpYmUoc3Vic2NyaWJlcik7XG4gICAgICAgICAgICByZXR1cm4gKCkgPT4gYm9yZGVyQm94T2JzZXJ2ZXIubmdPbkRlc3Ryb3koKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgQE91dHB1dCgnZXNCb3JkZXJCb3hPYnNlcnZlcicpIGJvcmRlckJveEVtaXR0ZXIgPSBuZXcgRXZlbnRFbWl0dGVyPEJvcmRlckJveD4oKTtcblxuICAgIHByaXZhdGUgb2JzZXJ2ZXI6IFJlc2l6ZU9ic2VydmVyO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgYm9yZGVyQm94U3ViamVjdCA9IG5ldyBSZXBsYXlTdWJqZWN0PEJvcmRlckJveD4oMSk7XG5cbiAgICB3aWR0aCQgPSB0aGlzLmJvcmRlckJveFN1YmplY3QucGlwZShtYXAoKHsgd2lkdGggfSkgPT4gd2lkdGgpKTtcbiAgICBoZWlnaHQkID0gdGhpcy5ib3JkZXJCb3hTdWJqZWN0LnBpcGUobWFwKCh7IGhlaWdodCB9KSA9PiBoZWlnaHQpKTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4pIHt9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWdpc3RlckV2ZW50RW1pdHRlcigpO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyT2JzZXJ2ZXIoKTtcbiAgICAgICAgLy8gQ2FuIGNhdXNlIGNoYW5nZWQtYWZ0ZXItY2hlY2tlZCBlcnJvcnMgaWYgZG9uZSBzeW5jaHJvbm91c2x5LlxuICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHRoaXMuc2V0SW5pdGlhbFZhbHVlKCkpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLm9ic2VydmVyLmRpc2Nvbm5lY3QoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZ2lzdGVyRXZlbnRFbWl0dGVyKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmJvcmRlckJveFN1YmplY3Quc3Vic2NyaWJlKChib3JkZXJCb3gpID0+IHRoaXMuYm9yZGVyQm94RW1pdHRlci5lbWl0KGJvcmRlckJveCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgcmVnaXN0ZXJPYnNlcnZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICAgICAgZW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGJvcmRlckJveFNpemU6IFJlc2l6ZU9ic2VydmVyU2l6ZSA9IGVudHJ5LmJvcmRlckJveFNpemVbMF07XG4gICAgICAgICAgICAgICAgdGhpcy5ib3JkZXJCb3hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYm9yZGVyQm94U2l6ZS5pbmxpbmVTaXplLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGJvcmRlckJveFNpemUuYmxvY2tTaXplLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLm9ic2VydmVyLm9ic2VydmUodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0SW5pdGlhbFZhbHVlKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBib3VuZGluZ0NsaWVudFJlY3QgPSB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcbiAgICAgICAgdGhpcy5ib3JkZXJCb3hTdWJqZWN0Lm5leHQoe1xuICAgICAgICAgICAgd2lkdGg6IGJvdW5kaW5nQ2xpZW50UmVjdC53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogYm91bmRpbmdDbGllbnRSZWN0LmhlaWdodCxcbiAgICAgICAgfSk7XG4gICAgfVxufVxuIl19
|
|
@@ -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;
|
|
@@ -31,16 +37,16 @@ export class CheckTextOverflowDirective {
|
|
|
31
37
|
return this.elementRef.nativeElement;
|
|
32
38
|
}
|
|
33
39
|
}
|
|
34
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
35
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "
|
|
40
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CheckTextOverflowDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
41
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.2", type: CheckTextOverflowDirective, selector: "[esCheckTextOverflow]", inputs: { selector: ["esCheckTextOverflow", "selector"] }, exportAs: ["esCheckTextOverflow"], ngImport: i0 }); }
|
|
36
42
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
43
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.2", ngImport: i0, type: CheckTextOverflowDirective, decorators: [{
|
|
38
44
|
type: Directive,
|
|
39
45
|
args: [{
|
|
40
46
|
selector: '[esCheckTextOverflow]',
|
|
41
47
|
exportAs: 'esCheckTextOverflow',
|
|
42
48
|
}]
|
|
43
|
-
}], ctorParameters:
|
|
49
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { selector: [{
|
|
44
50
|
type: Input,
|
|
45
51
|
args: ['esCheckTextOverflow']
|
|
46
52
|
}] } });
|
|
@@ -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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lZHUtc2hhcmluZy11aS9zcmMvbGliL2RpcmVjdGl2ZXMvY2hlY2stdGV4dC1vdmVyZmxvdy5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBYyxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7O0FBRXJFOzs7OztHQUtHO0FBS0gsTUFBTSxPQUFPLDBCQUEwQjtJQU9uQyxZQUE2QixVQUFtQztRQUFuQyxlQUFVLEdBQVYsVUFBVSxDQUF5QjtRQUZoRSxvQkFBZSxHQUFHLEtBQUssQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUVvQixDQUFDO0lBRXBFLFFBQVE7UUFDSixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUM3QyxDQUFDO0lBRU8sZ0JBQWdCO1FBQ3BCLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQyx5Q0FBeUM7WUFDekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDN0MsQ0FBQztRQUNELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUM7UUFDakMsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUNWLE9BQU8sQ0FDSCxPQUFPLENBQUMsV0FBVyxHQUFHLE9BQU8sQ0FBQyxXQUFXO2dCQUN6Qyx5REFBeUQ7Z0JBQ3pELE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxZQUFZLENBQ2xELENBQUM7UUFDTixDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sS0FBSyxDQUFDO1FBQ2pCLENBQUM7SUFDTCxDQUFDO0lBRU8sY0FBYztRQUNsQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDdEUsQ0FBQzthQUFNLENBQUM7WUFDSixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDO1FBQ3pDLENBQUM7SUFDTCxDQUFDOzhHQXBDUSwwQkFBMEI7a0dBQTFCLDBCQUEwQjs7MkZBQTFCLDBCQUEwQjtrQkFKdEMsU0FBUzttQkFBQztvQkFDUCxRQUFRLEVBQUUsdUJBQXVCO29CQUNqQyxRQUFRLEVBQUUscUJBQXFCO2lCQUNsQzsrRUFFaUMsUUFBUTtzQkFBckMsS0FBSzt1QkFBQyxxQkFBcUI7O0FBc0NoQyxxRkFBcUY7QUFDckYsU0FBUyxLQUFLLENBQUksQ0FBVTtJQUN4QixJQUFJLGFBQWEsR0FBUSxJQUFJLENBQUM7SUFDOUIsSUFBSSxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQ3JCLE9BQU87UUFDSCxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDWixNQUFNLFFBQVEsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQy9CLElBQUksUUFBUSxLQUFLLGFBQWEsRUFBRSxDQUFDO2dCQUM3QixRQUFRLEdBQUcsSUFBSSxDQUFDO2dCQUNoQixPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRTtvQkFDeEIsYUFBYSxHQUFHLFFBQVEsQ0FBQztvQkFDekIsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDckIsQ0FBQyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUMsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0ZXh0IG9mIHRoZSBhbm5vdGF0ZWQgZWxlbWVudCBvciBhIGRlc2NlbmRlbnQgKGdpdmUgYSBzZWxlY3Rvcikgd2FzIGN1dCBvZiwgZS5nLixcbiAqIHdpdGggYW4gZWxsaXBzaXMuXG4gKlxuICogQ2FsbCBgaGFzVGV4dE92ZXJmbG93KClgIGZvciB0aGUgcmVzdWx0LlxuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1tlc0NoZWNrVGV4dE92ZXJmbG93XScsXG4gICAgZXhwb3J0QXM6ICdlc0NoZWNrVGV4dE92ZXJmbG93Jyxcbn0pXG5leHBvcnQgY2xhc3MgQ2hlY2tUZXh0T3ZlcmZsb3dEaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQge1xuICAgIEBJbnB1dCgnZXNDaGVja1RleHRPdmVyZmxvdycpIHNlbGVjdG9yPzogc3RyaW5nO1xuXG4gICAgcHJpdmF0ZSB0ZXh0RWxlbWVudDogSFRNTEVsZW1lbnQ7XG5cbiAgICBoYXNUZXh0T3ZlcmZsb3cgPSBkZWxheSh0aGlzLmhhc1RleHRPdmVyZmxvd18pO1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnRleHRFbGVtZW50ID0gdGhpcy5nZXRUZXh0RWxlbWVudCgpO1xuICAgIH1cblxuICAgIHByaXZhdGUgaGFzVGV4dE92ZXJmbG93XygpOiBib29sZWFuIHtcbiAgICAgICAgaWYgKCF0aGlzLnRleHRFbGVtZW50ICYmIHRoaXMuc2VsZWN0b3IpIHtcbiAgICAgICAgICAgIC8vIHJlZmV0Y2ggZWxlbWVudCBpbiBjYXNlIGl0IGhhcyBjaGFuZ2VkXG4gICAgICAgICAgICB0aGlzLnRleHRFbGVtZW50ID0gdGhpcy5nZXRUZXh0RWxlbWVudCgpO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IGVsZW1lbnQgPSB0aGlzLnRleHRFbGVtZW50O1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICBlbGVtZW50Lm9mZnNldFdpZHRoIDwgZWxlbWVudC5zY3JvbGxXaWR0aCB8fFxuICAgICAgICAgICAgICAgIC8vIHVzZSBidWZmZXIgdG8gcHJldmVudCBvdmVyZmxvdyBjYXVzZWQgYnkgc21hbGwgbWFyZ2luc1xuICAgICAgICAgICAgICAgIGVsZW1lbnQub2Zmc2V0SGVpZ2h0ICsgNSA8IGVsZW1lbnQuc2Nyb2xsSGVpZ2h0XG4gICAgICAgICAgICApO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRUZXh0RWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdG9yKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3Rvcih0aGlzLnNlbGVjdG9yKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqIERlbGF5IHRoZSByZXN1bHQgb2YgYSBmdW5jdGlvbiBvbmUgdGljayB0byBhdm9pZCBjaGFuZ2VkLWFmdGVyLWNoZWNrZWQgZXJyb3JzLiAqL1xuZnVuY3Rpb24gZGVsYXk8VD4oZjogKCkgPT4gVCk6ICgpID0+IFQge1xuICAgIGxldCBwcmV2aW91c1ZhbHVlOiBhbnkgPSBudWxsO1xuICAgIGxldCB1cGRhdGluZyA9IGZhbHNlO1xuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGlmICghdXBkYXRpbmcpIHtcbiAgICAgICAgICAgIGNvbnN0IG5ld1ZhbHVlID0gZi5hcHBseSh0aGlzKTtcbiAgICAgICAgICAgIGlmIChuZXdWYWx1ZSAhPT0gcHJldmlvdXNWYWx1ZSkge1xuICAgICAgICAgICAgICAgIHVwZGF0aW5nID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICBQcm9taXNlLnJlc29sdmUoKS50aGVuKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcHJldmlvdXNWYWx1ZSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB1cGRhdGluZyA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBwcmV2aW91c1ZhbHVlO1xuICAgIH07XG59XG4iXX0=
|