@fundamental-ngx/platform 0.43.48 → 0.43.49
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/esm2020/form/combobox/combobox/combobox.component.mjs +1 -1
- package/esm2020/form/multi-combobox/multi-combobox/multi-combobox.component.mjs +1 -1
- package/esm2020/list/action-list-item/action-list-item.component.mjs +1 -1
- package/esm2020/list/display-list-item/display-list-item.component.mjs +1 -1
- package/esm2020/list/free-content-list-item/free-content-list-item.component.mjs +1 -1
- package/esm2020/list/list.component.mjs +1 -1
- package/esm2020/list/object-list-item/object-list-item.component.mjs +1 -1
- package/esm2020/list/standard-list-item/standard-list-item.component.mjs +1 -1
- package/esm2020/message-popover/components/message-view/message-view.component.mjs +2 -2
- package/esm2020/settings-generator/controls/theme-selector-list/theme-selector-list.component.mjs +2 -2
- package/esm2020/settings-generator/layouts/settings-generator-sidebar-layout/settings-generator-sidebar-layout.component.mjs +1 -1
- package/esm2020/table/components/table-p13-dialog/columns/columns.component.mjs +3 -3
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-multi-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filter-single-select.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/filtering/filters-list-step.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/grouping/grouping.component.mjs +1 -1
- package/esm2020/table/components/table-view-settings-dialog/sorting/sorting.component.mjs +1 -1
- package/esm2020/upload-collection/dialogs/move-to/move-to.component.mjs +1 -1
- package/esm2020/variant-management/variant-management.component.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-list.mjs +6 -6
- package/fesm2015/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2015/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-table.mjs +7 -7
- package/fesm2015/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2015/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-form.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-form.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-list.mjs +6 -6
- package/fesm2020/fundamental-ngx-platform-list.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-message-popover.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs +2 -2
- package/fesm2020/fundamental-ngx-platform-settings-generator.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-table.mjs +7 -7
- package/fesm2020/fundamental-ngx-platform-table.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-upload-collection.mjs.map +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs +1 -1
- package/fesm2020/fundamental-ngx-platform-variant-management.mjs.map +1 -1
- package/fundamental-ngx-platform-v0.43.49.tgz +0 -0
- package/package.json +4 -4
- package/schematics/ng-add/index.js +1 -1
- package/fundamental-ngx-platform-v0.43.48.tgz +0 -0
|
@@ -245,9 +245,9 @@ export class P13ColumnsDialogComponent {
|
|
|
245
245
|
}
|
|
246
246
|
}
|
|
247
247
|
P13ColumnsDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: P13ColumnsDialogComponent, deps: [{ token: i1.DialogRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
248
|
-
P13ColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: P13ColumnsDialogComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13ColumnsDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-columns-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13ColumnsDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fd-toolbar>\n <fdp-search-field\n [placeholder]=\"'platformTable.P13ColumnsDialogSearchPlaceholder' | fdTranslate\"\n [inputText]=\"(_searchQuerySubject | async) || ''\"\n [suggestions]=\"[]\"\n (inputChange)=\"_searchInputChange($event)\"\n ></fdp-search-field>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <!-- Show Selected/All -->\n <button fd-toolbar-item fd-button fdType=\"transparent\" (click)=\"_toggleShowAll()\">\n <ng-container *ngIf=\"(_showAllItemsSubject | async) === true; else showAll\">\n {{ 'platformTable.P13ColumnsDialogsShowSelected' | fdTranslate }}\n </ng-container>\n <ng-template #showAll>\n {{ 'platformTable.P13ColumnsDialogShowAll' | fdTranslate }}\n </ng-template>\n </button>\n\n <!-- Active Button Movement -->\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"collapse-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n (click)=\"_moveActiveToTop()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n style=\"transform: rotate(180deg)\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n (click)=\"_moveActiveUp()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n (click)=\"_moveActiveDown()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"expand-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n (click)=\"_moveActiveToBottom()\"\n ></button>\n </fd-toolbar>\n\n <ul fd-list [selection]=\"true\" aria-multiselectable=\"true\">\n <li\n (focus)=\"_setActiveColumn(null)\"\n fd-list-item\n [selected]=\"_selectedColumnsCount === _selectableColumns.length\"\n >\n <fd-checkbox\n [ngModel]=\"_selectedColumnsCount === _selectableColumns.length\"\n (ngModelChange)=\"_toggleSelectAll($event)\"\n [disabled]=\"_selectAllDisabled\"\n ></fd-checkbox>\n <span fd-list-title>\n {{\n 'platformTable.P13ColumnsDialogSelectAll'\n | fdTranslate\n : {\n selectedColumnsCount: _selectedColumnsCount,\n selectableColumnsCount: _selectableColumns.length\n }\n }}\n </span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let item of _filteredColumns; trackBy: _filterByColumnKy\"\n [class.fd-select-item--selected]=\"item.selected\"\n [class.fd-select-item--active]=\"item.active\"\n [selected]=\"item.selected\"\n (focus)=\"_setActiveColumn(item)\"\n >\n <fd-checkbox [(ngModel)]=\"item.selected\" (ngModelChange)=\"_onToggleColumn()\"></fd-checkbox>\n <span fd-list-title>\n {{ item.column.label }}\n </span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-columns-dialog fd-toolbar{position:sticky;top:0;z-index:10;display:block}.fdp-table-p13-columns-dialog .fd-select-item--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa)}.fdp-table-p13-columns-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-columns-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-columns-dialog .group-row__checkbox,.fdp-table-p13-columns-dialog .group-row__actions,.fdp-table-p13-columns-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-columns-dialog .group-row__select{flex:1 1 0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i4.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i12.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
248
|
+
P13ColumnsDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: P13ColumnsDialogComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13ColumnsDialogComponent }], ngImport: i0, template: "<fd-dialog class=\"fdp-table-p13-columns-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13ColumnsDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fd-toolbar>\n <fdp-search-field\n [placeholder]=\"'platformTable.P13ColumnsDialogSearchPlaceholder' | fdTranslate\"\n [inputText]=\"(_searchQuerySubject | async) || ''\"\n [suggestions]=\"[]\"\n (inputChange)=\"_searchInputChange($event)\"\n ></fdp-search-field>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <!-- Show Selected/All -->\n <button fd-toolbar-item fd-button fdType=\"transparent\" (click)=\"_toggleShowAll()\">\n <ng-container *ngIf=\"(_showAllItemsSubject | async) === true; else showAll\">\n {{ 'platformTable.P13ColumnsDialogsShowSelected' | fdTranslate }}\n </ng-container>\n <ng-template #showAll>\n {{ 'platformTable.P13ColumnsDialogShowAll' | fdTranslate }}\n </ng-template>\n </button>\n\n <!-- Active Button Movement -->\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"collapse-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n (click)=\"_moveActiveToTop()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n style=\"transform: rotate(180deg)\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n (click)=\"_moveActiveUp()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n (click)=\"_moveActiveDown()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"expand-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n (click)=\"_moveActiveToBottom()\"\n ></button>\n </fd-toolbar>\n\n <ul fd-list [selection]=\"true\" aria-multiselectable=\"true\">\n <li\n (focus)=\"_setActiveColumn(null)\"\n fd-list-item\n [selected]=\"_selectedColumnsCount === _selectableColumns.length\"\n >\n <fd-checkbox\n [ngModel]=\"_selectedColumnsCount === _selectableColumns.length\"\n (ngModelChange)=\"_toggleSelectAll($event)\"\n [disabled]=\"_selectAllDisabled\"\n ></fd-checkbox>\n <span fd-list-title>\n {{\n 'platformTable.P13ColumnsDialogSelectAll'\n | fdTranslate\n : {\n selectedColumnsCount: _selectedColumnsCount,\n selectableColumnsCount: _selectableColumns.length\n }\n }}\n </span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let item of _filteredColumns; trackBy: _filterByColumnKy\"\n [class.fd-select-item--selected]=\"item.selected\"\n [class.fd-select-item--active]=\"item.active\"\n [selected]=\"item.selected\"\n (focus)=\"_setActiveColumn(item)\"\n [preventClick]=\"true\"\n >\n <fd-checkbox [(ngModel)]=\"item.selected\" (ngModelChange)=\"_onToggleColumn()\"></fd-checkbox>\n <span fd-list-title>\n {{ item.column.label }}\n </span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-columns-dialog fd-toolbar{position:sticky;top:0;z-index:10;display:block}.fdp-table-p13-columns-dialog .fd-select-item--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa)}.fdp-table-p13-columns-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-columns-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-columns-dialog .group-row__checkbox,.fdp-table-p13-columns-dialog .group-row__actions,.fdp-table-p13-columns-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-columns-dialog .group-row__select{flex:1 1 0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.ToolbarComponent, selector: "fd-toolbar", inputs: ["titleId", "class", "shouldOverflow", "fdType", "hasTitle", "title", "active", "clearBorder", "forceOverflow", "tabindex"] }, { kind: "directive", type: i4.ToolbarItemDirective, selector: "[fd-toolbar-item], [fdOverflowGroup], [fdOverflowPriority]", inputs: ["fdOverflowPriority", "fdOverflowGroup"] }, { kind: "directive", type: i4.ToolbarSpacerDirective, selector: "fd-toolbar-spacer", inputs: ["width", "class", "fixed"] }, { kind: "component", type: i5.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "component", type: i7.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "component", type: i1.DialogFooterButtonComponent, selector: "fd-dialog-footer-button" }, { kind: "directive", type: i1.DialogDecisiveButtonDirective, selector: "[fd-dialog-decisive-button]" }, { kind: "directive", type: i8.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i8.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i8.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i9.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i10.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i11.SearchFieldComponent, selector: "fdp-search-field", inputs: ["categoryMode", "appearance", "placeholder", "mobile", "mobileConfig", "disableRefresh", "disableSearch", "suggestions", "dataSource", "inputText", "categories", "currentCategory", "categoryLabel", "hideCategoryLabel", "isLoading", "ariaLabel", "ariaLabelledby", "searchSuggestionMessage", "searchSuggestionNavigateMessage", "forceSearchButton", "disableSuggestionsFoundAnnouncer"], outputs: ["inputChange", "searchSubmit", "cancelSearch", "isOpenChange"] }, { kind: "component", type: i12.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i13.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
249
249
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: P13ColumnsDialogComponent, decorators: [{
|
|
250
250
|
type: Component,
|
|
251
|
-
args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13ColumnsDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-table-p13-columns-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13ColumnsDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fd-toolbar>\n <fdp-search-field\n [placeholder]=\"'platformTable.P13ColumnsDialogSearchPlaceholder' | fdTranslate\"\n [inputText]=\"(_searchQuerySubject | async) || ''\"\n [suggestions]=\"[]\"\n (inputChange)=\"_searchInputChange($event)\"\n ></fdp-search-field>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <!-- Show Selected/All -->\n <button fd-toolbar-item fd-button fdType=\"transparent\" (click)=\"_toggleShowAll()\">\n <ng-container *ngIf=\"(_showAllItemsSubject | async) === true; else showAll\">\n {{ 'platformTable.P13ColumnsDialogsShowSelected' | fdTranslate }}\n </ng-container>\n <ng-template #showAll>\n {{ 'platformTable.P13ColumnsDialogShowAll' | fdTranslate }}\n </ng-template>\n </button>\n\n <!-- Active Button Movement -->\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"collapse-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n (click)=\"_moveActiveToTop()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n style=\"transform: rotate(180deg)\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n (click)=\"_moveActiveUp()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n (click)=\"_moveActiveDown()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"expand-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n (click)=\"_moveActiveToBottom()\"\n ></button>\n </fd-toolbar>\n\n <ul fd-list [selection]=\"true\" aria-multiselectable=\"true\">\n <li\n (focus)=\"_setActiveColumn(null)\"\n fd-list-item\n [selected]=\"_selectedColumnsCount === _selectableColumns.length\"\n >\n <fd-checkbox\n [ngModel]=\"_selectedColumnsCount === _selectableColumns.length\"\n (ngModelChange)=\"_toggleSelectAll($event)\"\n [disabled]=\"_selectAllDisabled\"\n ></fd-checkbox>\n <span fd-list-title>\n {{\n 'platformTable.P13ColumnsDialogSelectAll'\n | fdTranslate\n : {\n selectedColumnsCount: _selectedColumnsCount,\n selectableColumnsCount: _selectableColumns.length\n }\n }}\n </span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let item of _filteredColumns; trackBy: _filterByColumnKy\"\n [class.fd-select-item--selected]=\"item.selected\"\n [class.fd-select-item--active]=\"item.active\"\n [selected]=\"item.selected\"\n (focus)=\"_setActiveColumn(item)\"\n >\n <fd-checkbox [(ngModel)]=\"item.selected\" (ngModelChange)=\"_onToggleColumn()\"></fd-checkbox>\n <span fd-list-title>\n {{ item.column.label }}\n </span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-columns-dialog fd-toolbar{position:sticky;top:0;z-index:10;display:block}.fdp-table-p13-columns-dialog .fd-select-item--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa)}.fdp-table-p13-columns-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-columns-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-columns-dialog .group-row__checkbox,.fdp-table-p13-columns-dialog .group-row__actions,.fdp-table-p13-columns-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-columns-dialog .group-row__select{flex:1 1 0}\n"] }]
|
|
251
|
+
args: [{ encapsulation: ViewEncapsulation.None, providers: [{ provide: RESETTABLE_TOKEN, useExisting: P13ColumnsDialogComponent }], changeDetection: ChangeDetectionStrategy.OnPush, template: "<fd-dialog class=\"fdp-table-p13-columns-dialog\">\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">\n {{ 'platformTable.P13ColumnsDialogHeader' | fdTranslate }}\n </h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <fd-toolbar>\n <fdp-search-field\n [placeholder]=\"'platformTable.P13ColumnsDialogSearchPlaceholder' | fdTranslate\"\n [inputText]=\"(_searchQuerySubject | async) || ''\"\n [suggestions]=\"[]\"\n (inputChange)=\"_searchInputChange($event)\"\n ></fdp-search-field>\n\n <fd-toolbar-spacer></fd-toolbar-spacer>\n\n <!-- Show Selected/All -->\n <button fd-toolbar-item fd-button fdType=\"transparent\" (click)=\"_toggleShowAll()\">\n <ng-container *ngIf=\"(_showAllItemsSubject | async) === true; else showAll\">\n {{ 'platformTable.P13ColumnsDialogsShowSelected' | fdTranslate }}\n </ng-container>\n <ng-template #showAll>\n {{ 'platformTable.P13ColumnsDialogShowAll' | fdTranslate }}\n </ng-template>\n </button>\n\n <!-- Active Button Movement -->\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"collapse-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToTopBtn' | fdTranslate\"\n (click)=\"_moveActiveToTop()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n style=\"transform: rotate(180deg)\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveUpBtn' | fdTranslate\"\n (click)=\"_moveActiveUp()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"slim-arrow-down\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveDownBtn' | fdTranslate\"\n (click)=\"_moveActiveDown()\"\n ></button>\n\n <button\n fd-toolbar-item\n fd-button\n fdType=\"transparent\"\n glyph=\"expand-group\"\n [attr.aria-label]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n [title]=\"'platformTable.P13ColumnsDialogMoveToBottomBtn' | fdTranslate\"\n (click)=\"_moveActiveToBottom()\"\n ></button>\n </fd-toolbar>\n\n <ul fd-list [selection]=\"true\" aria-multiselectable=\"true\">\n <li\n (focus)=\"_setActiveColumn(null)\"\n fd-list-item\n [selected]=\"_selectedColumnsCount === _selectableColumns.length\"\n >\n <fd-checkbox\n [ngModel]=\"_selectedColumnsCount === _selectableColumns.length\"\n (ngModelChange)=\"_toggleSelectAll($event)\"\n [disabled]=\"_selectAllDisabled\"\n ></fd-checkbox>\n <span fd-list-title>\n {{\n 'platformTable.P13ColumnsDialogSelectAll'\n | fdTranslate\n : {\n selectedColumnsCount: _selectedColumnsCount,\n selectableColumnsCount: _selectableColumns.length\n }\n }}\n </span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let item of _filteredColumns; trackBy: _filterByColumnKy\"\n [class.fd-select-item--selected]=\"item.selected\"\n [class.fd-select-item--active]=\"item.active\"\n [selected]=\"item.selected\"\n (focus)=\"_setActiveColumn(item)\"\n [preventClick]=\"true\"\n >\n <fd-checkbox [(ngModel)]=\"item.selected\" (ngModelChange)=\"_onToggleColumn()\"></fd-checkbox>\n <span fd-list-title>\n {{ item.column.label }}\n </span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"emphasized\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogConfirmationBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n ></button>\n </fd-dialog-footer-button>\n\n <fd-dialog-footer-button>\n <button\n fd-button\n fdType=\"transparent\"\n fd-dialog-decisive-button\n [label]=\"'platformTable.P13ColumnsDialogCancelBtnLabel' | fdTranslate\"\n (click)=\"cancel()\"\n ></button>\n </fd-dialog-footer-button>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fdp-table-p13-columns-dialog fd-toolbar{position:sticky;top:0;z-index:10;display:block}.fdp-table-p13-columns-dialog .fd-select-item--active{background:#e5f0fa;background:var(--sapList_SelectionBackgroundColor, #e5f0fa)}.fdp-table-p13-columns-dialog .group-row{display:flex;align-items:center;margin-bottom:.5rem}.fdp-table-p13-columns-dialog .group-row .fd-popover-custom{display:block}.fdp-table-p13-columns-dialog .group-row__checkbox,.fdp-table-p13-columns-dialog .group-row__actions,.fdp-table-p13-columns-dialog .group-row__select{margin-right:1rem}.fdp-table-p13-columns-dialog .group-row__select{flex:1 1 0}\n"] }]
|
|
252
252
|
}], ctorParameters: function () { return [{ type: i1.DialogRef }, { type: i0.ChangeDetectorRef }]; } });
|
|
253
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3pELE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFrQnpGLE1BQU0sZ0JBQWdCO0lBQ2xCO0lBQ0ksZUFBZTtJQUNSLFFBQWlCO0lBQ3hCLGFBQWE7SUFDTixNQUFlO0lBQ3RCLGlDQUFpQztJQUMxQixNQUF5QjtRQUp6QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBRWpCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUNqQyxDQUFDO0NBQ1A7QUFFRCxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQVNwQyxNQUFNLE9BQU8seUJBQXlCO0lBdUJsQyxjQUFjO0lBQ2QsSUFBSSxn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TyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO0lBQ04scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7O3NIQXhRUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1Q0FIdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQywwQkNuRHRGLHV3TEE4SUE7MkZEeEZhLHlCQUF5QjtrQkFQckMsU0FBUztvQ0FHUyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxDQUFDLG1CQUNqRSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuXG5pbXBvcnQgeyBSZXNldHRhYmxlLCBSRVNFVFRBQkxFX1RPS0VOIH0gZnJvbSAnLi4vLi4vcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1RhYmxlQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xufVxuXG50eXBlIFZpc2libGVDb2x1bW5UeXBlID0gc3RyaW5nOyAvLyBDb2x1bW5LZXlcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zRGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgYXZhaWxhYmxlQ29sdW1uczogRGlhbG9nVGFibGVDb2x1bW5bXTtcbiAgICB2aXNpYmxlQ29sdW1uczogVmlzaWJsZUNvbHVtblR5cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zRGlhbG9nUmVzdWx0RGF0YSB7XG4gICAgdmlzaWJsZUNvbHVtbnM6IFZpc2libGVDb2x1bW5UeXBlW107XG59XG5cbmNsYXNzIFNlbGVjdGFibGVDb2x1bW4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvKiogU2VsZWN0ZWQgKi9cbiAgICAgICAgcHVibGljIHNlbGVjdGVkOiBib29sZWFuLFxuICAgICAgICAvKiogQWN0aXZlICovXG4gICAgICAgIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW4sXG4gICAgICAgIC8qKiBUYWJsZSBDb2x1bW4gaXQgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uOiBEaWFsb2dUYWJsZUNvbHVtblxuICAgICkge31cbn1cblxuY29uc3QgSU5JVElBTF9TRUFSQ0hfVEVYVCA9ICcnO1xuY29uc3QgSU5JVElBTF9TSE9XX0FMTF9JVEVNUyA9IHRydWU7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2x1bW5zLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNDb2x1bW5zRGlhbG9nQ29tcG9uZW50IH1dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBSZXNldHRhYmxlLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBncm91cGluZyAqL1xuICAgIHJlYWRvbmx5IGF2YWlsYWJsZUNvbHVtbnM6IERpYWxvZ1RhYmxlQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBBbGwgYXZhaWxhYmxlIGNvbHVtbnMgZm9yIGludGVyYWN0aW5nICovXG4gICAgX3NlbGVjdGFibGVDb2x1bW5zOiBTZWxlY3RhYmxlQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBmaWx0ZXJlZCBjb2x1bW5zIHRoYXQgYXJlIHJlbmRlcmVkIGluIHRoZSBsaXN0ICovXG4gICAgX2ZpbHRlcmVkQ29sdW1uczogU2VsZWN0YWJsZUNvbHVtbltdID0gW107XG5cbiAgICAvKiogU2VhcmNoIFF1ZXJ5IHN1YmplY3QgKi9cbiAgICBfc2VhcmNoUXVlcnlTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KElOSVRJQUxfU0VBUkNIX1RFWFQpO1xuICAgIC8qKiBTaG93IEFsbCBmbGFnIHN1YmplY3QgKi9cbiAgICBfc2hvd0FsbEl0ZW1zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oSU5JVElBTF9TSE9XX0FMTF9JVEVNUyk7XG5cbiAgICAvKiogU2VsZWN0ZWQgY29sdW1ucyBjb3VudCAqL1xuICAgIF9zZWxlY3RlZENvbHVtbnNDb3VudCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNTaG93bkFsbEl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9zZWxlY3RBbGxEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9pc1Nob3duQWxsSXRlbXMgfHwgdGhpcy5fZmlsdGVyZWRDb2x1bW5zLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxDb2x1bW5zRGlhbG9nRGF0YT4sIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBjb25zdCB7IGF2YWlsYWJsZUNvbHVtbnMsIHZpc2libGVDb2x1bW5zIH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlQ29sdW1ucyA9IGF2YWlsYWJsZUNvbHVtbnM/Lm1hcCgoeyBsYWJlbCwga2V5IH0pID0+ICh7IGxhYmVsLCBrZXkgfSkpIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuX2luaXRpYXRlQ29sdW1ucyh2aXNpYmxlQ29sdW1ucyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9GaWx0ZXJPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCB0byB0aGUgaW5pdGlhbCBzdGF0ZSAqL1xuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWF0ZUNvbHVtbnModGhpcy5hdmFpbGFibGVDb2x1bW5zLm1hcCgoYykgPT4gYy5rZXkpKTtcbiAgICAgICAgdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gdGhpcy5fZ2V0VmlzaWJsZUNvbHVtbnNGcm9tU2VsZWN0ZWRDb2x1bW5zKHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBDb2x1bW5zRGlhbG9nUmVzdWx0RGF0YSA9IHsgdmlzaWJsZUNvbHVtbnMgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90b2dnbGVTZWxlY3RBbGwoc2VsZWN0QWxsOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4gKGNvbHVtbi5zZWxlY3RlZCA9IHNlbGVjdEFsbCkpO1xuICAgICAgICB0aGlzLl9vblRvZ2dsZUNvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uVG9nZ2xlQ29sdW1uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb3VudFNlbGVjdGVkQ29sdW1ucygpO1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IHJlc2V0dGFibGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkQ29sdW1uc0NvdW50ICE9PSB0aGlzLmF2YWlsYWJsZUNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBJbml0aWFsbHkgYWxsIGNvbHVtbnMgYXJlIHNlbGVjdGVkLiBJZiBub3QsIHJlc2V0IHNob3VsZCBiZSBhY3RpdmVcbiAgICAgICAgICAgIHJlc2V0dGFibGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgYWxsIGFyZSBzZWxlY3RlZCwgY2hlY2sgZm9yIGNvbHVtbnMgb3JkZXIgdG8gbWF0Y2ggdGhlIGluaXRpYWwgb25lXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5hdmFpbGFibGVDb2x1bW5zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RhYmxlQ29sdW1uc1tpbmRleF0uY29sdW1uLmtleSAhPT0gdGhpcy5hdmFpbGFibGVDb2x1bW5zW2luZGV4XS5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzZXR0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dChyZXNldHRhYmxlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWFyY2hJbnB1dENoYW5nZSh7IHRleHQgfTogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VhcmNoUXVlcnlTdWJqZWN0Lm5leHQodGV4dCB8fCAnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdG9nZ2xlU2hvd0FsbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2hvd0FsbEl0ZW1zID0gdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLl9zaG93QWxsSXRlbXNTdWJqZWN0Lm5leHQoIXNob3dBbGxJdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QWN0aXZlQ29sdW1uKGNvbHVtbjogU2VsZWN0YWJsZUNvbHVtbiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbHVtbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0YWJsZUNvbHVtbnMubWFwKChfY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgX2NvbHVtbi5hY3RpdmUgPSBfY29sdW1uID09PSBjb2x1bW47XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21vdmVBY3RpdmVUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleCh0aGlzLl9nZXRBY3RpdmVDb2x1bW5JbmRleEluRmlsdGVyZWRMaXN0KCksIDApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21vdmVBY3RpdmVUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleChcbiAgICAgICAgICAgIHRoaXMuX2dldEFjdGl2ZUNvbHVtbkluZGV4SW5GaWx0ZXJlZExpc3QoKSxcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkQ29sdW1ucy5sZW5ndGggLSAxXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbW92ZUFjdGl2ZVVwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY3RpdmVDb2x1bW5JbmRleCA9IHRoaXMuX2dldEFjdGl2ZUNvbHVtbkluZGV4SW5GaWx0ZXJlZExpc3QoKTtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleChhY3RpdmVDb2x1bW5JbmRleCwgYWN0aXZlQ29sdW1uSW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb3ZlQWN0aXZlRG93bigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlQ29sdW1uSW5kZXggPSB0aGlzLl9nZXRBY3RpdmVDb2x1bW5JbmRleEluRmlsdGVyZWRMaXN0KCk7XG4gICAgICAgIHRoaXMuX21vdmVDb2x1bW5JbkZpbHRlcmVkTGlzdEJ5SW5kZXgoYWN0aXZlQ29sdW1uSW5kZXgsIGFjdGl2ZUNvbHVtbkluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZmlsdGVyQnlDb2x1bW5LeShpbmRleDogbnVtYmVyLCBpdGVtOiBTZWxlY3RhYmxlQ29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/LmNvbHVtbi5rZXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSB2aXNpYmxlQ29sdW1uS2V5cyBrZXlzIG9mIGNvbHVtbnMgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGFzIHNlbGVjdGVkLlxuICAgICAqIEFsc28sIHRoZWlyIG9yZGVyIG1hdHRlcnM6IGl0IHdpbGwgYmUgdXNlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2luaXRpYXRlQ29sdW1ucyh2aXNpYmxlQ29sdW1uS2V5czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gbmV3IE1hcCh2aXNpYmxlQ29sdW1uS2V5cy5tYXAoKGtleSwgaW5kZXgpID0+IFtrZXksIGluZGV4XSkpO1xuICAgICAgICB0aGlzLl9zZWxlY3RhYmxlQ29sdW1ucyA9IHRoaXMuYXZhaWxhYmxlQ29sdW1uc1xuICAgICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAgIC8vIHNvcnRpbmcgY29sdW1ucyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIG9yZGVyIG9mIHZpc2libGUgY29sdW1uc1xuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGEua2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBiSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGIua2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoYUluZGV4ID09PSB1bmRlZmluZWQgfHwgYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJlc2VydmluZyBpbml0aWFsIG9yZGVyIG9mIG5vdCBzZWxlY3RlZCBjb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhSW5kZXggLSBiSW5kZXg7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAoY29sdW1uLCBpbmRleDogbnVtYmVyKTogU2VsZWN0YWJsZUNvbHVtbiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB2aXNpYmxlQ29sdW1uS2V5cy5pbmNsdWRlcyhjb2x1bW4ua2V5KSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpbmRleCA9PT0gMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIC8vIGtlZXAgY291bnQgb2Ygc2VsZWN0ZWRcbiAgICAgICAgdGhpcy5fY291bnRTZWxlY3RlZENvbHVtbnMoKTtcblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG5cbiAgICAgICAgLy8gcmVzZXQgZmlsdGVyIHNldHRpbmdzIHNldHRpbmdzXG4gICAgICAgIHRoaXMuX3NlYXJjaFF1ZXJ5U3ViamVjdC5uZXh0KElOSVRJQUxfU0VBUkNIX1RFWFQpO1xuICAgICAgICB0aGlzLl9zaG93QWxsSXRlbXNTdWJqZWN0Lm5leHQoSU5JVElBTF9TSE9XX0FMTF9JVEVNUyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub0ZpbHRlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdCwgdGhpcy5fc2VhcmNoUXVlcnlTdWJqZWN0XSlcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjApKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtzaG93QWxsLCBzZWFyY2hRdWVyeV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWRDb2x1bW5zID0gdGhpcy5fc2VsZWN0YWJsZUNvbHVtbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb2x1bW4ubGFiZWwudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hRdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gc2hvd0FsbCB8fCBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VmlzaWJsZUNvbHVtbnNGcm9tU2VsZWN0ZWRDb2x1bW5zKGNvbHVtbnMgPSB0aGlzLl9zZWxlY3RhYmxlQ29sdW1ucyk6IFZpc2libGVDb2x1bW5UeXBlW10ge1xuICAgICAgICByZXR1cm4gY29sdW1ucy5maWx0ZXIoKHsgc2VsZWN0ZWQgfSkgPT4gc2VsZWN0ZWQpLm1hcCgoeyBjb2x1bW4gfSk6IFZpc2libGVDb2x1bW5UeXBlID0+IGNvbHVtbi5rZXkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0QWN0aXZlQ29sdW1uSW5kZXhJbkZpbHRlcmVkTGlzdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRDb2x1bW5zLmZpbmRJbmRleCgoeyBhY3RpdmUgfSkgPT4gYWN0aXZlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vdmVDb2x1bW5JbkZpbHRlcmVkTGlzdEJ5SW5kZXgoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgbW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0gfSA9IHRoaXMuX21vdmVFbGVtZW50SW5UaGVMaXN0QnlJbmRleCh0aGlzLl9maWx0ZXJlZENvbHVtbnMsIGZyb20sIHRvKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIG5lZWQgdG8gcmVmbGVjdCBhbmFsb2dpY2FsIG1vdmVtZW50IGluIHRoZSBvcmlnaW5hbCBsaXN0XG4gICAgICAgICAqIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgbGlzdCBvcmRlclxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluU2VsZWN0YWJsZUxpc3QobW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0pO1xuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW92ZSBjb2x1bW4gaW4gc2VsZWN0YWJsZSBsaXN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgX21vdmVDb2x1bW5JblNlbGVjdGFibGVMaXN0KGl0ZW1Ub01vdmU6IFNlbGVjdGFibGVDb2x1bW4sIHRhcmdldEl0ZW06IFNlbGVjdGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zO1xuICAgICAgICB0aGlzLl9tb3ZlRWxlbWVudEluVGhlTGlzdEJ5SW5kZXgobGlzdCwgbGlzdC5pbmRleE9mKGl0ZW1Ub01vdmUpLCBsaXN0LmluZGV4T2YodGFyZ2V0SXRlbSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNb3ZlIGVsZW1lbnQgaW4gdGhlIGxpc3RcbiAgICAgKiBAcmV0dXJuIG1vdmVkIGl0ZW0gYW5kIHJlcGxhY2VkIGl0ZW0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbW92ZUVsZW1lbnRJblRoZUxpc3RCeUluZGV4PFQ+KFxuICAgICAgICBsaXN0OiBUW10sXG4gICAgICAgIGZyb21JbmRleDogbnVtYmVyLFxuICAgICAgICB0b0luZGV4OiBudW1iZXJcbiAgICApOiB7IG1vdmVkSXRlbTogVDsgcmVwbGFjZWRJdGVtOiBUIH0ge1xuICAgICAgICBjb25zdCBsaXN0TGVuZ3RoID0gbGlzdC5sZW5ndGg7XG5cbiAgICAgICAgZnJvbUluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoZnJvbUluZGV4LCAwKSwgbGlzdExlbmd0aCAtIDEpO1xuICAgICAgICB0b0luZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgodG9JbmRleCwgMCksIGxpc3RMZW5ndGggLSAxKTtcblxuICAgICAgICBjb25zdCByZXBsYWNlZEl0ZW0gPSBsaXN0W3RvSW5kZXhdO1xuICAgICAgICBjb25zdCBtb3ZlZEl0ZW0gPSBsaXN0LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdO1xuXG4gICAgICAgIGxpc3Quc3BsaWNlKHRvSW5kZXgsIDAsIG1vdmVkSXRlbSk7XG5cbiAgICAgICAgcmV0dXJuIHsgbW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0gfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvdW50U2VsZWN0ZWRDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZENvbHVtbnNDb3VudCA9IHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zLmZpbHRlcigoeyBzZWxlY3RlZCB9KSA9PiBzZWxlY3RlZCkubGVuZ3RoO1xuICAgIH1cbn1cbiIsIjxmZC1kaWFsb2cgY2xhc3M9XCJmZHAtdGFibGUtcDEzLWNvbHVtbnMtZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj48L2ZkcC10YWJsZS1yZXNldC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGZkLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZmRwLXNlYXJjaC1maWVsZFxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nU2VhcmNoUGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtpbnB1dFRleHRdPVwiKF9zZWFyY2hRdWVyeVN1YmplY3QgfCBhc3luYykgfHwgJydcIlxuICAgICAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJbXVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cIl9zZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2ZkcC1zZWFyY2gtZmllbGQ+XG5cbiAgICAgICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuXG4gICAgICAgICAgICA8IS0tIFNob3cgU2VsZWN0ZWQvQWxsIC0tPlxuICAgICAgICAgICAgPGJ1dHRvbiBmZC10b29sYmFyLWl0ZW0gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgKGNsaWNrKT1cIl90b2dnbGVTaG93QWxsKClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKF9zaG93QWxsSXRlbXNTdWJqZWN0IHwgYXN5bmMpID09PSB0cnVlOyBlbHNlIHNob3dBbGxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ3NTaG93U2VsZWN0ZWQnIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dBbGw+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dTaG93QWxsJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8IS0tIEFjdGl2ZSBCdXR0b24gTW92ZW1lbnQgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiY29sbGFwc2UtZ3JvdXBcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVUb1RvcEJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlVG9Ub3BCdG4nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfbW92ZUFjdGl2ZVRvVG9wKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDE4MGRlZylcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVVcEJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlVXBCdG4nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfbW92ZUFjdGl2ZVVwKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlRG93bkJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlRG93bkJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tb3ZlQWN0aXZlRG93bigpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBnbHlwaD1cImV4cGFuZC1ncm91cFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nTW92ZVRvQm90dG9tQnRuJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVUb0JvdHRvbUJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tb3ZlQWN0aXZlVG9Cb3R0b20oKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZmQtdG9vbGJhcj5cblxuICAgICAgICA8dWwgZmQtbGlzdCBbc2VsZWN0aW9uXT1cInRydWVcIiBhcmlhLW11bHRpc2VsZWN0YWJsZT1cInRydWVcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJfc2V0QWN0aXZlQ29sdW1uKG51bGwpXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkQ29sdW1uc0NvdW50ID09PSBfc2VsZWN0YWJsZUNvbHVtbnMubGVuZ3RoXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGVkQ29sdW1uc0NvdW50ID09PSBfc2VsZWN0YWJsZUNvbHVtbnMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3RvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIl9zZWxlY3RBbGxEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dTZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2x1bW5zQ291bnQ6IF9zZWxlY3RlZENvbHVtbnNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0YWJsZUNvbHVtbnNDb3VudDogX3NlbGVjdGFibGVDb2x1bW5zLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgZmQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbHRlcmVkQ29sdW1uczsgdHJhY2tCeTogX2ZpbHRlckJ5Q29sdW1uS3lcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1zZWxlY3QtaXRlbS0tc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZkLXNlbGVjdC1pdGVtLS1hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiX3NldEFjdGl2ZUNvbHVtbihpdGVtKVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGZkLWNoZWNrYm94IFsobmdNb2RlbCldPVwiaXRlbS5zZWxlY3RlZFwiIChuZ01vZGVsQ2hhbmdlKT1cIl9vblRvZ2dsZUNvbHVtbigpXCI+PC9mZC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICA8c3BhbiBmZC1saXN0LXRpdGxlPlxuICAgICAgICAgICAgICAgICAgICB7eyBpdGVtLmNvbHVtbi5sYWJlbCB9fVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvbGk+XG4gICAgICAgIDwvdWw+XG4gICAgPC9mZC1kaWFsb2ctYm9keT5cblxuICAgIDxmZC1kaWFsb2ctZm9vdGVyPlxuICAgICAgICA8ZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwiZW1waGFzaXplZFwiXG4gICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nQ29uZmlybWF0aW9uQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maXJtKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuICAgICAgICA8L2ZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuXG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJ0cmFuc3BhcmVudFwiXG4gICAgICAgICAgICAgICAgZmQtZGlhbG9nLWRlY2lzaXZlLWJ1dHRvblxuICAgICAgICAgICAgICAgIFtsYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nQ2FuY2VsQnRuTGFiZWwnIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjYW5jZWwoKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG4gICAgPC9mZC1kaWFsb2ctZm9vdGVyPlxuPC9mZC1kaWFsb2c+XG4iXX0=
|
|
253
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL3BsYXRmb3JtL3NyYy9saWIvdGFibGUvY29tcG9uZW50cy90YWJsZS1wMTMtZGlhbG9nL2NvbHVtbnMvY29sdW1ucy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBR1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxlQUFlLEVBQWMsWUFBWSxFQUFFLGFBQWEsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBR3pELE9BQU8sRUFBYyxnQkFBZ0IsRUFBRSxNQUFNLDJDQUEyQyxDQUFDOzs7Ozs7Ozs7Ozs7Ozs7QUFrQnpGLE1BQU0sZ0JBQWdCO0lBQ2xCO0lBQ0ksZUFBZTtJQUNSLFFBQWlCO0lBQ3hCLGFBQWE7SUFDTixNQUFlO0lBQ3RCLGlDQUFpQztJQUMxQixNQUF5QjtRQUp6QixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBRWpCLFdBQU0sR0FBTixNQUFNLENBQVM7UUFFZixXQUFNLEdBQU4sTUFBTSxDQUFtQjtJQUNqQyxDQUFDO0NBQ1A7QUFFRCxNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQztBQUMvQixNQUFNLHNCQUFzQixHQUFHLElBQUksQ0FBQztBQVNwQyxNQUFNLE9BQU8seUJBQXlCO0lBdUJsQyxjQUFjO0lBQ2QsSUFBSSxn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TyxFQUFFLENBQUMsRUFBRSxTQUFTLENBQUMsQ0FBQztRQUVuQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxjQUFjO0lBQ04scUJBQXFCO1FBQ3pCLElBQUksQ0FBQyxxQkFBcUIsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ25HLENBQUM7O3NIQXhRUSx5QkFBeUI7MEdBQXpCLHlCQUF5Qix1Q0FIdkIsQ0FBQyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUseUJBQXlCLEVBQUUsQ0FBQywwQkNuRHRGLGd6TEErSUE7MkZEekZhLHlCQUF5QjtrQkFQckMsU0FBUztvQ0FHUyxpQkFBaUIsQ0FBQyxJQUFJLGFBQzFCLENBQUMsRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVywyQkFBMkIsRUFBRSxDQUFDLG1CQUNqRSx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgT25EZXN0cm95LFxuICAgIE9uSW5pdCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvcGxhdGZvcm0vdGFibGUtaGVscGVycyc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YnNjcmlwdGlvbiwgY29tYmluZUxhdGVzdCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGVib3VuY2VUaW1lIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGlhbG9nJztcbmltcG9ydCB7IFNlYXJjaElucHV0IH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9wbGF0Zm9ybS9zZWFyY2gtZmllbGQnO1xuXG5pbXBvcnQgeyBSZXNldHRhYmxlLCBSRVNFVFRBQkxFX1RPS0VOIH0gZnJvbSAnLi4vLi4vcmVzZXQtYnV0dG9uL3Jlc2V0LWJ1dHRvbi5jb21wb25lbnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIERpYWxvZ1RhYmxlQ29sdW1uIHtcbiAgICBsYWJlbDogc3RyaW5nO1xuICAgIGtleTogc3RyaW5nO1xufVxuXG50eXBlIFZpc2libGVDb2x1bW5UeXBlID0gc3RyaW5nOyAvLyBDb2x1bW5LZXlcblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zRGlhbG9nRGF0YSBleHRlbmRzIFRhYmxlRGlhbG9nQ29tbW9uRGF0YSB7XG4gICAgYXZhaWxhYmxlQ29sdW1uczogRGlhbG9nVGFibGVDb2x1bW5bXTtcbiAgICB2aXNpYmxlQ29sdW1uczogVmlzaWJsZUNvbHVtblR5cGVbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zRGlhbG9nUmVzdWx0RGF0YSB7XG4gICAgdmlzaWJsZUNvbHVtbnM6IFZpc2libGVDb2x1bW5UeXBlW107XG59XG5cbmNsYXNzIFNlbGVjdGFibGVDb2x1bW4ge1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICAvKiogU2VsZWN0ZWQgKi9cbiAgICAgICAgcHVibGljIHNlbGVjdGVkOiBib29sZWFuLFxuICAgICAgICAvKiogQWN0aXZlICovXG4gICAgICAgIHB1YmxpYyBhY3RpdmU6IGJvb2xlYW4sXG4gICAgICAgIC8qKiBUYWJsZSBDb2x1bW4gaXQgYmVsb25ncyB0byAqL1xuICAgICAgICBwdWJsaWMgY29sdW1uOiBEaWFsb2dUYWJsZUNvbHVtblxuICAgICkge31cbn1cblxuY29uc3QgSU5JVElBTF9TRUFSQ0hfVEVYVCA9ICcnO1xuY29uc3QgSU5JVElBTF9TSE9XX0FMTF9JVEVNUyA9IHRydWU7XG5cbkBDb21wb25lbnQoe1xuICAgIHRlbXBsYXRlVXJsOiAnLi9jb2x1bW5zLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9jb2x1bW5zLmNvbXBvbmVudC5zY3NzJ10sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFt7IHByb3ZpZGU6IFJFU0VUVEFCTEVfVE9LRU4sIHVzZUV4aXN0aW5nOiBQMTNDb2x1bW5zRGlhbG9nQ29tcG9uZW50IH1dLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIFAxM0NvbHVtbnNEaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBSZXNldHRhYmxlLCBPbkluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQ6IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hlbiByZXNldCBjb21tYW5kIGlzIGF2YWlsYWJsZSAqL1xuICAgIHJlYWRvbmx5IGlzUmVzZXRBdmFpbGFibGUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLmFzT2JzZXJ2YWJsZSgpO1xuXG4gICAgLyoqIFRhYmxlIGNvbHVtbnMgYXZhaWxhYmxlIGZvciBncm91cGluZyAqL1xuICAgIHJlYWRvbmx5IGF2YWlsYWJsZUNvbHVtbnM6IERpYWxvZ1RhYmxlQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBBbGwgYXZhaWxhYmxlIGNvbHVtbnMgZm9yIGludGVyYWN0aW5nICovXG4gICAgX3NlbGVjdGFibGVDb2x1bW5zOiBTZWxlY3RhYmxlQ29sdW1uW10gPSBbXTtcblxuICAgIC8qKiBmaWx0ZXJlZCBjb2x1bW5zIHRoYXQgYXJlIHJlbmRlcmVkIGluIHRoZSBsaXN0ICovXG4gICAgX2ZpbHRlcmVkQ29sdW1uczogU2VsZWN0YWJsZUNvbHVtbltdID0gW107XG5cbiAgICAvKiogU2VhcmNoIFF1ZXJ5IHN1YmplY3QgKi9cbiAgICBfc2VhcmNoUXVlcnlTdWJqZWN0ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxzdHJpbmc+KElOSVRJQUxfU0VBUkNIX1RFWFQpO1xuICAgIC8qKiBTaG93IEFsbCBmbGFnIHN1YmplY3QgKi9cbiAgICBfc2hvd0FsbEl0ZW1zU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oSU5JVElBTF9TSE9XX0FMTF9JVEVNUyk7XG5cbiAgICAvKiogU2VsZWN0ZWQgY29sdW1ucyBjb3VudCAqL1xuICAgIF9zZWxlY3RlZENvbHVtbnNDb3VudCA9IDA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfaXNTaG93bkFsbEl0ZW1zKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgZ2V0IF9zZWxlY3RBbGxEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICF0aGlzLl9pc1Nob3duQWxsSXRlbXMgfHwgdGhpcy5fZmlsdGVyZWRDb2x1bW5zLmxlbmd0aCA9PT0gMDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBkaWFsb2dSZWY6IERpYWxvZ1JlZjxDb2x1bW5zRGlhbG9nRGF0YT4sIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICBjb25zdCB7IGF2YWlsYWJsZUNvbHVtbnMsIHZpc2libGVDb2x1bW5zIH0gPSB0aGlzLmRpYWxvZ1JlZi5kYXRhO1xuXG4gICAgICAgIHRoaXMuYXZhaWxhYmxlQ29sdW1ucyA9IGF2YWlsYWJsZUNvbHVtbnM/Lm1hcCgoeyBsYWJlbCwga2V5IH0pID0+ICh7IGxhYmVsLCBrZXkgfSkpIHx8IFtdO1xuXG4gICAgICAgIHRoaXMuX2luaXRpYXRlQ29sdW1ucyh2aXNpYmxlQ29sdW1ucyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbGlzdGVuVG9GaWx0ZXJPcHRpb25zKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpO1xuICAgIH1cblxuICAgIC8qKiBSZXNldCB0byB0aGUgaW5pdGlhbCBzdGF0ZSAqL1xuICAgIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9pbml0aWF0ZUNvbHVtbnModGhpcy5hdmFpbGFibGVDb2x1bW5zLm1hcCgoYykgPT4gYy5rZXkpKTtcbiAgICAgICAgdGhpcy5faXNSZXNldEF2YWlsYWJsZVN1YmplY3QkLm5leHQoZmFsc2UpO1xuICAgIH1cblxuICAgIC8qKiBDbG9zZSBkaWFsb2cgKi9cbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKG51bGwpO1xuICAgIH1cblxuICAgIC8qKiBDb25maXJtIGNoYW5nZXMgYW5kIGNsb3NlIGRpYWxvZyAqL1xuICAgIGNvbmZpcm0oKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZpc2libGVDb2x1bW5zID0gdGhpcy5fZ2V0VmlzaWJsZUNvbHVtbnNGcm9tU2VsZWN0ZWRDb2x1bW5zKHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zKTtcbiAgICAgICAgY29uc3QgcmVzdWx0OiBDb2x1bW5zRGlhbG9nUmVzdWx0RGF0YSA9IHsgdmlzaWJsZUNvbHVtbnMgfTtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UocmVzdWx0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF90b2dnbGVTZWxlY3RBbGwoc2VsZWN0QWxsOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zLmZvckVhY2goKGNvbHVtbikgPT4gKGNvbHVtbi5zZWxlY3RlZCA9IHNlbGVjdEFsbCkpO1xuICAgICAgICB0aGlzLl9vblRvZ2dsZUNvbHVtbigpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX29uVG9nZ2xlQ29sdW1uKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9jb3VudFNlbGVjdGVkQ29sdW1ucygpO1xuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcmVjYWxjdWxhdGVSZXNldEF2YWlsYWJpbGl0eSgpOiB2b2lkIHtcbiAgICAgICAgbGV0IHJlc2V0dGFibGUgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMuX3NlbGVjdGVkQ29sdW1uc0NvdW50ICE9PSB0aGlzLmF2YWlsYWJsZUNvbHVtbnMubGVuZ3RoKSB7XG4gICAgICAgICAgICAvLyBJbml0aWFsbHkgYWxsIGNvbHVtbnMgYXJlIHNlbGVjdGVkLiBJZiBub3QsIHJlc2V0IHNob3VsZCBiZSBhY3RpdmVcbiAgICAgICAgICAgIHJlc2V0dGFibGUgPSB0cnVlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgLy8gaWYgYWxsIGFyZSBzZWxlY3RlZCwgY2hlY2sgZm9yIGNvbHVtbnMgb3JkZXIgdG8gbWF0Y2ggdGhlIGluaXRpYWwgb25lXG4gICAgICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5hdmFpbGFibGVDb2x1bW5zLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgICAgICAgIGlmICh0aGlzLl9zZWxlY3RhYmxlQ29sdW1uc1tpbmRleF0uY29sdW1uLmtleSAhPT0gdGhpcy5hdmFpbGFibGVDb2x1bW5zW2luZGV4XS5rZXkpIHtcbiAgICAgICAgICAgICAgICAgICAgcmVzZXR0YWJsZSA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pc1Jlc2V0QXZhaWxhYmxlU3ViamVjdCQubmV4dChyZXNldHRhYmxlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9zZWFyY2hJbnB1dENoYW5nZSh7IHRleHQgfTogU2VhcmNoSW5wdXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VhcmNoUXVlcnlTdWJqZWN0Lm5leHQodGV4dCB8fCAnJyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdG9nZ2xlU2hvd0FsbCgpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qgc2hvd0FsbEl0ZW1zID0gdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdC5nZXRWYWx1ZSgpO1xuICAgICAgICB0aGlzLl9zaG93QWxsSXRlbXNTdWJqZWN0Lm5leHQoIXNob3dBbGxJdGVtcyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfc2V0QWN0aXZlQ29sdW1uKGNvbHVtbjogU2VsZWN0YWJsZUNvbHVtbiB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgaWYgKGNvbHVtbiAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5fc2VsZWN0YWJsZUNvbHVtbnMubWFwKChfY29sdW1uKSA9PiB7XG4gICAgICAgICAgICAgICAgX2NvbHVtbi5hY3RpdmUgPSBfY29sdW1uID09PSBjb2x1bW47XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21vdmVBY3RpdmVUb1RvcCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleCh0aGlzLl9nZXRBY3RpdmVDb2x1bW5JbmRleEluRmlsdGVyZWRMaXN0KCksIDApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21vdmVBY3RpdmVUb0JvdHRvbSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleChcbiAgICAgICAgICAgIHRoaXMuX2dldEFjdGl2ZUNvbHVtbkluZGV4SW5GaWx0ZXJlZExpc3QoKSxcbiAgICAgICAgICAgIHRoaXMuX2ZpbHRlcmVkQ29sdW1ucy5sZW5ndGggLSAxXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbW92ZUFjdGl2ZVVwKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBhY3RpdmVDb2x1bW5JbmRleCA9IHRoaXMuX2dldEFjdGl2ZUNvbHVtbkluZGV4SW5GaWx0ZXJlZExpc3QoKTtcbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluRmlsdGVyZWRMaXN0QnlJbmRleChhY3RpdmVDb2x1bW5JbmRleCwgYWN0aXZlQ29sdW1uSW5kZXggLSAxKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9tb3ZlQWN0aXZlRG93bigpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYWN0aXZlQ29sdW1uSW5kZXggPSB0aGlzLl9nZXRBY3RpdmVDb2x1bW5JbmRleEluRmlsdGVyZWRMaXN0KCk7XG4gICAgICAgIHRoaXMuX21vdmVDb2x1bW5JbkZpbHRlcmVkTGlzdEJ5SW5kZXgoYWN0aXZlQ29sdW1uSW5kZXgsIGFjdGl2ZUNvbHVtbkluZGV4ICsgMSk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZmlsdGVyQnlDb2x1bW5LeShpbmRleDogbnVtYmVyLCBpdGVtOiBTZWxlY3RhYmxlQ29sdW1uKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGl0ZW0/LmNvbHVtbi5rZXk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEBwYXJhbSB2aXNpYmxlQ29sdW1uS2V5cyBrZXlzIG9mIGNvbHVtbnMgdGhhdCBzaG91bGQgYmUgZGlzcGxheWVkIGFzIHNlbGVjdGVkLlxuICAgICAqIEFsc28sIHRoZWlyIG9yZGVyIG1hdHRlcnM6IGl0IHdpbGwgYmUgdXNlZFxuICAgICAqL1xuICAgIHByaXZhdGUgX2luaXRpYXRlQ29sdW1ucyh2aXNpYmxlQ29sdW1uS2V5czogc3RyaW5nW10pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmlzaWJsZUNvbHVtbkluZGV4TWFwID0gbmV3IE1hcCh2aXNpYmxlQ29sdW1uS2V5cy5tYXAoKGtleSwgaW5kZXgpID0+IFtrZXksIGluZGV4XSkpO1xuICAgICAgICB0aGlzLl9zZWxlY3RhYmxlQ29sdW1ucyA9IHRoaXMuYXZhaWxhYmxlQ29sdW1uc1xuICAgICAgICAgICAgLnNsaWNlKClcbiAgICAgICAgICAgIC8vIHNvcnRpbmcgY29sdW1ucyBpbiBhY2NvcmRhbmNlIHdpdGggdGhlIG9yZGVyIG9mIHZpc2libGUgY29sdW1uc1xuICAgICAgICAgICAgLnNvcnQoKGEsIGIpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBhSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGEua2V5KTtcbiAgICAgICAgICAgICAgICBjb25zdCBiSW5kZXggPSB2aXNpYmxlQ29sdW1uSW5kZXhNYXAuZ2V0KGIua2V5KTtcbiAgICAgICAgICAgICAgICBpZiAoYUluZGV4ID09PSB1bmRlZmluZWQgfHwgYkluZGV4ID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gcHJlc2VydmluZyBpbml0aWFsIG9yZGVyIG9mIG5vdCBzZWxlY3RlZCBjb2x1bW5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHJldHVybiBhSW5kZXggLSBiSW5kZXg7XG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLm1hcChcbiAgICAgICAgICAgICAgICAoY29sdW1uLCBpbmRleDogbnVtYmVyKTogU2VsZWN0YWJsZUNvbHVtbiA9PiAoe1xuICAgICAgICAgICAgICAgICAgICBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdGVkOiB2aXNpYmxlQ29sdW1uS2V5cy5pbmNsdWRlcyhjb2x1bW4ua2V5KSxcbiAgICAgICAgICAgICAgICAgICAgYWN0aXZlOiBpbmRleCA9PT0gMFxuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuXG4gICAgICAgIC8vIGtlZXAgY291bnQgb2Ygc2VsZWN0ZWRcbiAgICAgICAgdGhpcy5fY291bnRTZWxlY3RlZENvbHVtbnMoKTtcblxuICAgICAgICB0aGlzLl9yZWNhbGN1bGF0ZVJlc2V0QXZhaWxhYmlsaXR5KCk7XG5cbiAgICAgICAgLy8gcmVzZXQgZmlsdGVyIHNldHRpbmdzIHNldHRpbmdzXG4gICAgICAgIHRoaXMuX3NlYXJjaFF1ZXJ5U3ViamVjdC5uZXh0KElOSVRJQUxfU0VBUkNIX1RFWFQpO1xuICAgICAgICB0aGlzLl9zaG93QWxsSXRlbXNTdWJqZWN0Lm5leHQoSU5JVElBTF9TSE9XX0FMTF9JVEVNUyk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBwcml2YXRlIF9saXN0ZW5Ub0ZpbHRlck9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3N1YnNjcmlwdGlvbnMuYWRkKFxuICAgICAgICAgICAgY29tYmluZUxhdGVzdChbdGhpcy5fc2hvd0FsbEl0ZW1zU3ViamVjdCwgdGhpcy5fc2VhcmNoUXVlcnlTdWJqZWN0XSlcbiAgICAgICAgICAgICAgICAucGlwZShkZWJvdW5jZVRpbWUoMjApKVxuICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUoKFtzaG93QWxsLCBzZWFyY2hRdWVyeV0pID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5fZmlsdGVyZWRDb2x1bW5zID0gdGhpcy5fc2VsZWN0YWJsZUNvbHVtbnNcbiAgICAgICAgICAgICAgICAgICAgICAgIC5maWx0ZXIoKGl0ZW0pID0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5jb2x1bW4ubGFiZWwudG9Mb2NhbGVMb3dlckNhc2UoKS5pbmNsdWRlcyhzZWFyY2hRdWVyeS50b0xvY2FsZUxvd2VyQ2FzZSgpKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoaXRlbSkgPT4gc2hvd0FsbCB8fCBpdGVtLnNlbGVjdGVkKTtcblxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0VmlzaWJsZUNvbHVtbnNGcm9tU2VsZWN0ZWRDb2x1bW5zKGNvbHVtbnMgPSB0aGlzLl9zZWxlY3RhYmxlQ29sdW1ucyk6IFZpc2libGVDb2x1bW5UeXBlW10ge1xuICAgICAgICByZXR1cm4gY29sdW1ucy5maWx0ZXIoKHsgc2VsZWN0ZWQgfSkgPT4gc2VsZWN0ZWQpLm1hcCgoeyBjb2x1bW4gfSk6IFZpc2libGVDb2x1bW5UeXBlID0+IGNvbHVtbi5rZXkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfZ2V0QWN0aXZlQ29sdW1uSW5kZXhJbkZpbHRlcmVkTGlzdCgpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy5fZmlsdGVyZWRDb2x1bW5zLmZpbmRJbmRleCgoeyBhY3RpdmUgfSkgPT4gYWN0aXZlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX21vdmVDb2x1bW5JbkZpbHRlcmVkTGlzdEJ5SW5kZXgoZnJvbTogbnVtYmVyLCB0bzogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHsgbW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0gfSA9IHRoaXMuX21vdmVFbGVtZW50SW5UaGVMaXN0QnlJbmRleCh0aGlzLl9maWx0ZXJlZENvbHVtbnMsIGZyb20sIHRvKTtcbiAgICAgICAgLyoqXG4gICAgICAgICAqIG5lZWQgdG8gcmVmbGVjdCBhbmFsb2dpY2FsIG1vdmVtZW50IGluIHRoZSBvcmlnaW5hbCBsaXN0XG4gICAgICAgICAqIHdpdGggcmVzcGVjdCB0byB0aGUgb3JpZ2luYWwgbGlzdCBvcmRlclxuICAgICAgICAgKi9cbiAgICAgICAgdGhpcy5fbW92ZUNvbHVtbkluU2VsZWN0YWJsZUxpc3QobW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0pO1xuXG4gICAgICAgIHRoaXMuX3JlY2FsY3VsYXRlUmVzZXRBdmFpbGFiaWxpdHkoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogTW92ZSBjb2x1bW4gaW4gc2VsZWN0YWJsZSBsaXN0LlxuICAgICAqL1xuICAgIHByaXZhdGUgX21vdmVDb2x1bW5JblNlbGVjdGFibGVMaXN0KGl0ZW1Ub01vdmU6IFNlbGVjdGFibGVDb2x1bW4sIHRhcmdldEl0ZW06IFNlbGVjdGFibGVDb2x1bW4pOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zO1xuICAgICAgICB0aGlzLl9tb3ZlRWxlbWVudEluVGhlTGlzdEJ5SW5kZXgobGlzdCwgbGlzdC5pbmRleE9mKGl0ZW1Ub01vdmUpLCBsaXN0LmluZGV4T2YodGFyZ2V0SXRlbSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBNb3ZlIGVsZW1lbnQgaW4gdGhlIGxpc3RcbiAgICAgKiBAcmV0dXJuIG1vdmVkIGl0ZW0gYW5kIHJlcGxhY2VkIGl0ZW0uXG4gICAgICovXG4gICAgcHJpdmF0ZSBfbW92ZUVsZW1lbnRJblRoZUxpc3RCeUluZGV4PFQ+KFxuICAgICAgICBsaXN0OiBUW10sXG4gICAgICAgIGZyb21JbmRleDogbnVtYmVyLFxuICAgICAgICB0b0luZGV4OiBudW1iZXJcbiAgICApOiB7IG1vdmVkSXRlbTogVDsgcmVwbGFjZWRJdGVtOiBUIH0ge1xuICAgICAgICBjb25zdCBsaXN0TGVuZ3RoID0gbGlzdC5sZW5ndGg7XG5cbiAgICAgICAgZnJvbUluZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgoZnJvbUluZGV4LCAwKSwgbGlzdExlbmd0aCAtIDEpO1xuICAgICAgICB0b0luZGV4ID0gTWF0aC5taW4oTWF0aC5tYXgodG9JbmRleCwgMCksIGxpc3RMZW5ndGggLSAxKTtcblxuICAgICAgICBjb25zdCByZXBsYWNlZEl0ZW0gPSBsaXN0W3RvSW5kZXhdO1xuICAgICAgICBjb25zdCBtb3ZlZEl0ZW0gPSBsaXN0LnNwbGljZShmcm9tSW5kZXgsIDEpWzBdO1xuXG4gICAgICAgIGxpc3Quc3BsaWNlKHRvSW5kZXgsIDAsIG1vdmVkSXRlbSk7XG5cbiAgICAgICAgcmV0dXJuIHsgbW92ZWRJdGVtLCByZXBsYWNlZEl0ZW0gfTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX2NvdW50U2VsZWN0ZWRDb2x1bW5zKCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZENvbHVtbnNDb3VudCA9IHRoaXMuX3NlbGVjdGFibGVDb2x1bW5zLmZpbHRlcigoeyBzZWxlY3RlZCB9KSA9PiBzZWxlY3RlZCkubGVuZ3RoO1xuICAgIH1cbn1cbiIsIjxmZC1kaWFsb2cgY2xhc3M9XCJmZHAtdGFibGUtcDEzLWNvbHVtbnMtZGlhbG9nXCI+XG4gICAgPGZkLWRpYWxvZy1oZWFkZXI+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSBmZGtUZW1wbGF0ZT1cImhlYWRlclwiPlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItbGVmdD5cbiAgICAgICAgICAgICAgICA8ZmQtYmFyLWVsZW1lbnQ+XG4gICAgICAgICAgICAgICAgICAgIDxoNCBmZC10aXRsZSBbaGVhZGVyU2l6ZV09XCI0XCI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7eyAncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nSGVhZGVyJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgICAgIDwvaDQ+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBmZC1iYXItcmlnaHQ+XG4gICAgICAgICAgICAgICAgPGZkLWJhci1lbGVtZW50PlxuICAgICAgICAgICAgICAgICAgICA8ZmRwLXRhYmxlLXJlc2V0LWJ1dHRvbj48L2ZkcC10YWJsZS1yZXNldC1idXR0b24+XG4gICAgICAgICAgICAgICAgPC9mZC1iYXItZWxlbWVudD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvZmQtZGlhbG9nLWhlYWRlcj5cblxuICAgIDxmZC1kaWFsb2ctYm9keT5cbiAgICAgICAgPGZkLXRvb2xiYXI+XG4gICAgICAgICAgICA8ZmRwLXNlYXJjaC1maWVsZFxuICAgICAgICAgICAgICAgIFtwbGFjZWhvbGRlcl09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nU2VhcmNoUGxhY2Vob2xkZXInIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIFtpbnB1dFRleHRdPVwiKF9zZWFyY2hRdWVyeVN1YmplY3QgfCBhc3luYykgfHwgJydcIlxuICAgICAgICAgICAgICAgIFtzdWdnZXN0aW9uc109XCJbXVwiXG4gICAgICAgICAgICAgICAgKGlucHV0Q2hhbmdlKT1cIl9zZWFyY2hJbnB1dENoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgID48L2ZkcC1zZWFyY2gtZmllbGQ+XG5cbiAgICAgICAgICAgIDxmZC10b29sYmFyLXNwYWNlcj48L2ZkLXRvb2xiYXItc3BhY2VyPlxuXG4gICAgICAgICAgICA8IS0tIFNob3cgU2VsZWN0ZWQvQWxsIC0tPlxuICAgICAgICAgICAgPGJ1dHRvbiBmZC10b29sYmFyLWl0ZW0gZmQtYnV0dG9uIGZkVHlwZT1cInRyYW5zcGFyZW50XCIgKGNsaWNrKT1cIl90b2dnbGVTaG93QWxsKClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiKF9zaG93QWxsSXRlbXNTdWJqZWN0IHwgYXN5bmMpID09PSB0cnVlOyBlbHNlIHNob3dBbGxcIj5cbiAgICAgICAgICAgICAgICAgICAge3sgJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ3NTaG93U2VsZWN0ZWQnIHwgZmRUcmFuc2xhdGUgfX1cbiAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgI3Nob3dBbGw+XG4gICAgICAgICAgICAgICAgICAgIHt7ICdwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dTaG93QWxsJyB8IGZkVHJhbnNsYXRlIH19XG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgICAgICAgIDwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8IS0tIEFjdGl2ZSBCdXR0b24gTW92ZW1lbnQgLS0+XG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwiY29sbGFwc2UtZ3JvdXBcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVUb1RvcEJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlVG9Ub3BCdG4nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfbW92ZUFjdGl2ZVRvVG9wKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCJcbiAgICAgICAgICAgICAgICBzdHlsZT1cInRyYW5zZm9ybTogcm90YXRlKDE4MGRlZylcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVVcEJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlVXBCdG4nIHwgZmRUcmFuc2xhdGVcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJfbW92ZUFjdGl2ZVVwKClcIlxuICAgICAgICAgICAgPjwvYnV0dG9uPlxuXG4gICAgICAgICAgICA8YnV0dG9uXG4gICAgICAgICAgICAgICAgZmQtdG9vbGJhci1pdGVtXG4gICAgICAgICAgICAgICAgZmQtYnV0dG9uXG4gICAgICAgICAgICAgICAgZmRUeXBlPVwidHJhbnNwYXJlbnRcIlxuICAgICAgICAgICAgICAgIGdseXBoPVwic2xpbS1hcnJvdy1kb3duXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlRG93bkJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgW3RpdGxlXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dNb3ZlRG93bkJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tb3ZlQWN0aXZlRG93bigpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cblxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLXRvb2xiYXItaXRlbVxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBnbHlwaD1cImV4cGFuZC1ncm91cFwiXG4gICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCIncGxhdGZvcm1UYWJsZS5QMTNDb2x1bW5zRGlhbG9nTW92ZVRvQm90dG9tQnRuJyB8IGZkVHJhbnNsYXRlXCJcbiAgICAgICAgICAgICAgICBbdGl0bGVdPVwiJ3BsYXRmb3JtVGFibGUuUDEzQ29sdW1uc0RpYWxvZ01vdmVUb0JvdHRvbUJ0bicgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cIl9tb3ZlQWN0aXZlVG9Cb3R0b20oKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZmQtdG9vbGJhcj5cblxuICAgICAgICA8dWwgZmQtbGlzdCBbc2VsZWN0aW9uXT1cInRydWVcIiBhcmlhLW11bHRpc2VsZWN0YWJsZT1cInRydWVcIj5cbiAgICAgICAgICAgIDxsaVxuICAgICAgICAgICAgICAgIChmb2N1cyk9XCJfc2V0QWN0aXZlQ29sdW1uKG51bGwpXCJcbiAgICAgICAgICAgICAgICBmZC1saXN0LWl0ZW1cbiAgICAgICAgICAgICAgICBbc2VsZWN0ZWRdPVwiX3NlbGVjdGVkQ29sdW1uc0NvdW50ID09PSBfc2VsZWN0YWJsZUNvbHVtbnMubGVuZ3RoXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW25nTW9kZWxdPVwiX3NlbGVjdGVkQ29sdW1uc0NvdW50ID09PSBfc2VsZWN0YWJsZUNvbHVtbnMubGVuZ3RoXCJcbiAgICAgICAgICAgICAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwiX3RvZ2dsZVNlbGVjdEFsbCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cIl9zZWxlY3RBbGxEaXNhYmxlZFwiXG4gICAgICAgICAgICAgICAgPjwvZmQtY2hlY2tib3g+XG4gICAgICAgICAgICAgICAgPHNwYW4gZmQtbGlzdC10aXRsZT5cbiAgICAgICAgICAgICAgICAgICAge3tcbiAgICAgICAgICAgICAgICAgICAgICAgICdwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dTZWxlY3RBbGwnXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBmZFRyYW5zbGF0ZVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWRDb2x1bW5zQ291bnQ6IF9zZWxlY3RlZENvbHVtbnNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0YWJsZUNvbHVtbnNDb3VudDogX3NlbGVjdGFibGVDb2x1bW5zLmxlbmd0aFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L2xpPlxuICAgICAgICAgICAgPGxpXG4gICAgICAgICAgICAgICAgZmQtbGlzdC1pdGVtXG4gICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IGl0ZW0gb2YgX2ZpbHRlcmVkQ29sdW1uczsgdHJhY2tCeTogX2ZpbHRlckJ5Q29sdW1uS3lcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy5mZC1zZWxlY3QtaXRlbS0tc2VsZWN0ZWRdPVwiaXRlbS5zZWxlY3RlZFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLmZkLXNlbGVjdC1pdGVtLS1hY3RpdmVdPVwiaXRlbS5hY3RpdmVcIlxuICAgICAgICAgICAgICAgIFtzZWxlY3RlZF09XCJpdGVtLnNlbGVjdGVkXCJcbiAgICAgICAgICAgICAgICAoZm9jdXMpPVwiX3NldEFjdGl2ZUNvbHVtbihpdGVtKVwiXG4gICAgICAgICAgICAgICAgW3ByZXZlbnRDbGlja109XCJ0cnVlXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8ZmQtY2hlY2tib3ggWyhuZ01vZGVsKV09XCJpdGVtLnNlbGVjdGVkXCIgKG5nTW9kZWxDaGFuZ2UpPVwiX29uVG9nZ2xlQ29sdW1uKClcIj48L2ZkLWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDxzcGFuIGZkLWxpc3QtdGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIHt7IGl0ZW0uY29sdW1uLmxhYmVsIH19XG4gICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9saT5cbiAgICAgICAgPC91bD5cbiAgICA8L2ZkLWRpYWxvZy1ib2R5PlxuXG4gICAgPGZkLWRpYWxvZy1mb290ZXI+XG4gICAgICAgIDxmZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICBmZC1idXR0b25cbiAgICAgICAgICAgICAgICBmZFR5cGU9XCJlbXBoYXNpemVkXCJcbiAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dDb25maXJtYXRpb25CdG5MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm0oKVwiXG4gICAgICAgICAgICA+PC9idXR0b24+XG4gICAgICAgIDwvZmQtZGlhbG9nLWZvb3Rlci1idXR0b24+XG5cbiAgICAgICAgPGZkLWRpYWxvZy1mb290ZXItYnV0dG9uPlxuICAgICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgICAgIGZkLWJ1dHRvblxuICAgICAgICAgICAgICAgIGZkVHlwZT1cInRyYW5zcGFyZW50XCJcbiAgICAgICAgICAgICAgICBmZC1kaWFsb2ctZGVjaXNpdmUtYnV0dG9uXG4gICAgICAgICAgICAgICAgW2xhYmVsXT1cIidwbGF0Zm9ybVRhYmxlLlAxM0NvbHVtbnNEaWFsb2dDYW5jZWxCdG5MYWJlbCcgfCBmZFRyYW5zbGF0ZVwiXG4gICAgICAgICAgICAgICAgKGNsaWNrKT1cImNhbmNlbCgpXCJcbiAgICAgICAgICAgID48L2J1dHRvbj5cbiAgICAgICAgPC9mZC1kaWFsb2ctZm9vdGVyLWJ1dHRvbj5cbiAgICA8L2ZkLWRpYWxvZy1mb290ZXI+XG48L2ZkLWRpYWxvZz5cbiJdfQ==
|
|
@@ -32,7 +32,7 @@ export class FilterMultiSelectComponent {
|
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
FilterMultiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterMultiSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
FilterMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FilterMultiSelectComponent, selector: "fdp-filter-multi-select", inputs: { options: "options", filterBy: "filterBy" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item *ngFor=\"let option of _selectableOptions\" [selected]=\"option.selected\">\n <fd-checkbox [ngModel]=\"option.selected\" (ngModelChange)=\"_onSelectChange(option, $event)\"></fd-checkbox>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
35
|
+
FilterMultiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FilterMultiSelectComponent, selector: "fdp-filter-multi-select", inputs: { options: "options", filterBy: "filterBy" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item *ngFor=\"let option of _selectableOptions\" [selected]=\"option.selected\">\n <fd-checkbox [ngModel]=\"option.selected\" (ngModelChange)=\"_onSelectChange(option, $event)\"></fd-checkbox>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.CheckboxComponent, selector: "fd-checkbox", inputs: ["ariaLabel", "value", "ariaLabelledBy", "ariaDescribedBy", "title", "inputId", "state", "name", "label", "disabled", "tristate", "tristateSelectable", "labelClass", "required", "values", "standalone"], outputs: ["focusChange"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterMultiSelectComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{ selector: 'fdp-filter-multi-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item *ngFor=\"let option of _selectableOptions\" [selected]=\"option.selected\">\n <fd-checkbox [ngModel]=\"option.selected\" (ngModelChange)=\"_onSelectChange(option, $event)\"></fd-checkbox>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n" }]
|
|
@@ -39,7 +39,7 @@ export class FilterSingleSelectComponent {
|
|
|
39
39
|
}
|
|
40
40
|
}
|
|
41
41
|
FilterSingleSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterSingleSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
42
|
-
FilterSingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FilterSingleSelectComponent, selector: "fdp-filter-single-select", inputs: { options: "options", filterBy: "filterBy" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item [selected]=\"_value === NOT_FILTERED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_FILTERED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.filterDialogNotFilteredLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let option of options\" [selected]=\"option.value === _value\">\n <fd-radio-button\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n [value]=\"option.value\"\n name=\"filtering-settings-single-select\"\n ></fd-radio-button>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "pipe", type: i5.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
42
|
+
FilterSingleSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FilterSingleSelectComponent, selector: "fdp-filter-single-select", inputs: { options: "options", filterBy: "filterBy" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item [selected]=\"_value === NOT_FILTERED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_FILTERED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.filterDialogNotFilteredLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let option of options\" [selected]=\"option.value === _value\">\n <fd-radio-button\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n [value]=\"option.value\"\n name=\"filtering-settings-single-select\"\n ></fd-radio-button>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i4.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i4.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i4.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "pipe", type: i5.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
43
43
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FilterSingleSelectComponent, decorators: [{
|
|
44
44
|
type: Component,
|
|
45
45
|
args: [{ selector: 'fdp-filter-single-select', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<ul fd-list [selection]=\"true\">\n <li fd-list-item [selected]=\"_value === NOT_FILTERED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_FILTERED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.filterDialogNotFilteredLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let option of options\" [selected]=\"option.value === _value\">\n <fd-radio-button\n [ngModel]=\"_value\"\n (ngModelChange)=\"_onValueChange($event)\"\n [value]=\"option.value\"\n name=\"filtering-settings-single-select\"\n ></fd-radio-button>\n <span fd-list-title>{{ option.label }}</span>\n </li>\n</ul>\n" }]
|
|
@@ -14,7 +14,7 @@ export class FiltersListStepComponent {
|
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
16
|
FiltersListStepComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FiltersListStepComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
FiltersListStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FiltersListStepComponent, selector: "fdp-filters-list-step", inputs: { filters: "filters" }, outputs: { selectFilter: "selectFilter" }, providers: [{ provide: FILTERS_VIEW_STEP_TOKEN, useExisting: forwardRef(() => FiltersListStepComponent) }], viewQueries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["titleTemplate"], descendants: true }, { propertyName: "bodyTemplateRef", first: true, predicate: ["bodyTemplate"], descendants: true }], ngImport: i0, template: "<ng-template #titleTemplate>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.filterDialogFilterTitle' | fdTranslate }}</h4>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <ul fd-list [navigationIndicator]=\"true\">\n <li fd-list-group-header>{{ 'platformTable.filterDialogFilterBy' | fdTranslate }}</li>\n\n <li fd-list-item *ngFor=\"let filter of filters\">\n <a fd-list-link (click)=\"selectFilter.emit(filter)\">\n <span fd-list-title>{{ filter.label }}</span>\n </a>\n </li>\n </ul>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i4.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
17
|
+
FiltersListStepComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: FiltersListStepComponent, selector: "fdp-filters-list-step", inputs: { filters: "filters" }, outputs: { selectFilter: "selectFilter" }, providers: [{ provide: FILTERS_VIEW_STEP_TOKEN, useExisting: forwardRef(() => FiltersListStepComponent) }], viewQueries: [{ propertyName: "titleTemplateRef", first: true, predicate: ["titleTemplate"], descendants: true }, { propertyName: "bodyTemplateRef", first: true, predicate: ["bodyTemplate"], descendants: true }], ngImport: i0, template: "<ng-template #titleTemplate>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.filterDialogFilterTitle' | fdTranslate }}</h4>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <ul fd-list [navigationIndicator]=\"true\">\n <li fd-list-group-header>{{ 'platformTable.filterDialogFilterBy' | fdTranslate }}</li>\n\n <li fd-list-item *ngFor=\"let filter of filters\">\n <a fd-list-link (click)=\"selectFilter.emit(filter)\">\n <span fd-list-title>{{ filter.label }}</span>\n </a>\n </li>\n </ul>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i2.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i2.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i2.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "directive", type: i2.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "component", type: i3.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "pipe", type: i4.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FiltersListStepComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
20
|
args: [{ selector: 'fdp-filters-list-step', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, providers: [{ provide: FILTERS_VIEW_STEP_TOKEN, useExisting: forwardRef(() => FiltersListStepComponent) }], template: "<ng-template #titleTemplate>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.filterDialogFilterTitle' | fdTranslate }}</h4>\n</ng-template>\n\n<ng-template #bodyTemplate>\n <ul fd-list [navigationIndicator]=\"true\">\n <li fd-list-group-header>{{ 'platformTable.filterDialogFilterBy' | fdTranslate }}</li>\n\n <li fd-list-item *ngFor=\"let filter of filters\">\n <a fd-list-link (click)=\"selectFilter.emit(filter)\">\n <span fd-list-title>{{ filter.label }}</span>\n </a>\n </li>\n </ul>\n</ng-template>\n" }]
|
|
@@ -94,7 +94,7 @@ export class GroupingComponent {
|
|
|
94
94
|
}
|
|
95
95
|
}
|
|
96
96
|
GroupingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GroupingComponent, deps: [{ token: i1.DialogRef }, { token: i2.Table }], target: i0.ɵɵFactoryTarget.Component });
|
|
97
|
-
GroupingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GroupingComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => GroupingComponent) }], ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.groupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupByHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"NOT_GROUPED_OPTION_VALUE === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_GROUPED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogNotGroupedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.groupDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.groupDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i7.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i7.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i7.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i8.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i9.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i10.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
97
|
+
GroupingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: GroupingComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => GroupingComponent) }], ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.groupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupByHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"NOT_GROUPED_OPTION_VALUE === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_GROUPED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogNotGroupedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.groupDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.groupDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i7.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i7.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i7.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i8.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i9.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i10.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
98
98
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GroupingComponent, decorators: [{
|
|
99
99
|
type: Component,
|
|
100
100
|
args: [{ providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => GroupingComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.groupDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_groupOrderChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.groupDialogGroupByHeader' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"NOT_GROUPED_OPTION_VALUE === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_GROUPED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.groupDialogNotGroupedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_groupFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.groupDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.groupDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n" }]
|
|
@@ -99,7 +99,7 @@ export class SortingComponent {
|
|
|
99
99
|
}
|
|
100
100
|
}
|
|
101
101
|
SortingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SortingComponent, deps: [{ token: i1.DialogRef }, { token: i2.Table }], target: i0.ɵɵFactoryTarget.Component });
|
|
102
|
-
SortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SortingComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => SortingComponent) }], ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.sortDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortByHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item *ngIf=\"allowDisablingSorting\" [selected]=\"field === NOT_SORTED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_SORTED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogNotSortedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.sortDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.sortDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i7.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i7.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i7.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i8.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i9.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i10.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
102
|
+
SortingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SortingComponent, selector: "ng-component", providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => SortingComponent) }], ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.sortDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortByHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item *ngIf=\"allowDisablingSorting\" [selected]=\"field === NOT_SORTED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_SORTED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogNotSortedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.sortDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.sortDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\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.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i5.RadioButtonComponent, selector: "fd-radio-button", inputs: ["ariaLabel", "ariaLabelledBy", "ariaDescribedBy", "title", "tabIndex", "state", "disabled", "selectedValue", "name", "id", "value", "required", "standalone"] }, { kind: "component", type: i6.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i6.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i6.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i6.ListGroupHeaderDirective, selector: "[fdListGroupHeader], [fd-list-group-header]", inputs: ["nativeElementId"], outputs: ["keyDown"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i7.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i7.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i7.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i7.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i8.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i9.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "directive", type: i9.InitialFocusDirective, selector: "[fdkInitialFocus], [fdInitialFocus], [fd-initial-focus]", inputs: ["fdkInitialFocus", "enabled", "focusLastElement"] }, { kind: "component", type: i10.ResetButtonComponent, selector: "fdp-table-reset-button" }, { kind: "pipe", type: i11.FdTranslatePipe, name: "fdTranslate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
103
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SortingComponent, decorators: [{
|
|
104
104
|
type: Component,
|
|
105
105
|
args: [{ providers: [{ provide: RESETTABLE_TOKEN, useExisting: forwardRef(() => SortingComponent) }], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h4 fd-title [headerSize]=\"4\">{{ 'platformTable.sortDialogHeader' | fdTranslate }}</h4>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <fdp-table-reset-button></fdp-table-reset-button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body>\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.ASC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"asc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderAsc' | fdTranslate }}</span>\n </li>\n <li fd-list-item [selected]=\"direction === SORT_DIRECTION.DESC\">\n <fd-radio-button\n name=\"sort-order\"\n value=\"desc\"\n state=\"default\"\n [ngModel]=\"direction\"\n (ngModelChange)=\"_sortDirectionChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogSortOrderDesc' | fdTranslate }}</span>\n </li>\n </ul>\n\n <ul fd-list [selection]=\"true\">\n <li fd-list-group-header>\n <span fd-list-title>{{ 'platformTable.sortDialogSortByHeader' | fdTranslate }}</span>\n </li>\n\n <li fd-list-item *ngIf=\"allowDisablingSorting\" [selected]=\"field === NOT_SORTED_OPTION_VALUE\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"NOT_SORTED_OPTION_VALUE\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ 'platformTable.sortDialogNotSortedLabel' | fdTranslate }}</span>\n </li>\n <li fd-list-item *ngFor=\"let column of columns\" [selected]=\"column.key === field\">\n <fd-radio-button\n name=\"sort-by\"\n [value]=\"column.key\"\n state=\"default\"\n [ngModel]=\"field\"\n (ngModelChange)=\"_sortFieldChange($event)\"\n ></fd-radio-button>\n <span fd-list-title>{{ column.label }}</span>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n [label]=\"'platformTable.sortDialogConfirmBtnLabel' | fdTranslate\"\n (click)=\"confirm()\"\n >\n </fd-button-bar>\n <fd-button-bar\n [label]=\"'platformTable.sortDialogCancelBtnLabel' | fdTranslate\"\n fdkInitialFocus\n (click)=\"cancel()\"\n >\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n" }]
|
|
@@ -114,7 +114,7 @@ export class MoveToComponent {
|
|
|
114
114
|
}
|
|
115
115
|
}
|
|
116
116
|
MoveToComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MoveToComponent, deps: [{ token: i1.DialogRef }, { token: i1.DialogService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
117
|
-
MoveToComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MoveToComponent, selector: "ng-component", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role", "ariaHidden"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }] });
|
|
117
|
+
MoveToComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: MoveToComponent, selector: "ng-component", ngImport: i0, template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.ButtonComponent, selector: "button[fd-button], a[fd-button]", inputs: ["class"], exportAs: ["fd-button"] }, { kind: "component", type: i1.DialogComponent, selector: "fd-dialog", inputs: ["class", "dialogRef", "dialogConfig"] }, { kind: "component", type: i1.DialogBodyComponent, selector: "fd-dialog-body" }, { kind: "component", type: i1.DialogFooterComponent, selector: "fd-dialog-footer" }, { kind: "component", type: i1.DialogHeaderComponent, selector: "fd-dialog-header" }, { kind: "directive", type: i4.BarLeftDirective, selector: "[fd-bar-left]" }, { kind: "directive", type: i4.BarRightDirective, selector: "[fd-bar-right]" }, { kind: "directive", type: i4.BarElementDirective, selector: "fd-bar-element", inputs: ["fullWidth", "isTitle"] }, { kind: "component", type: i4.ButtonBarComponent, selector: "fd-button-bar", inputs: ["fullWidth", "fdType", "title", "ariaLabel", "ariaLabelledby", "id"] }, { kind: "component", type: i5.TitleComponent, selector: "h1[fd-title], h2[fd-title], h3[fd-title], h4[fd-title], h5[fd-title], h6[fd-title], span[fd-title]", inputs: ["headerSize", "wrap"], exportAs: ["fd-title"] }, { kind: "directive", type: i6.TemplateDirective, selector: "[fdkTemplate], [fdTemplate]", inputs: ["fdkTemplate"] }, { kind: "component", type: i7.IconComponent, selector: "fd-icon", inputs: ["glyph", "font", "class", "ariaLabel"] }, { kind: "component", type: i8.ListComponent, selector: "[fd-list], [fdList]", inputs: ["dropdownMode", "multiInputMode", "mobileMode", "hasMessage", "noBorder", "navigationIndicator", "selection", "keyboardSupport", "byline", "unreadIndicator", "role"], outputs: ["focusEscapeList"] }, { kind: "component", type: i8.ListItemComponent, selector: "[fdListItem] ,[fd-list-item]", inputs: ["selected", "ariaDescribedBy", "noData", "action", "interactive", "growing", "counter", "unread", "byline", "selectedListItemScreenReaderText", "navigatedListItemScreenReaderText", "navigatableListItemScreenReaderText", "ariaRole", "preventClick"], outputs: ["keyDown"] }, { kind: "directive", type: i8.ListTitleDirective, selector: "[fd-list-title], [fdListTitle]", inputs: ["wrap"] }, { kind: "directive", type: i8.ListIconDirective, selector: "[fdListIcon], [fd-list-icon]", inputs: ["glyph", "class", "role", "ariaHidden"] }, { kind: "directive", type: i8.ListLinkDirective, selector: "[fd-list-link], [fdListLink]", inputs: ["navigationIndicator", "navigated", "focusable"] }, { kind: "pipe", type: i9.FdTranslatePipe, name: "fdTranslate" }] });
|
|
118
118
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: MoveToComponent, decorators: [{
|
|
119
119
|
type: Component,
|
|
120
120
|
args: [{ template: "<fd-dialog>\n <fd-dialog-header>\n <ng-template fdkTemplate=\"header\">\n <div fd-bar-left>\n <fd-bar-element>\n <h1 class=\"fd-title--bold\" *ngIf=\"!_currentFolder\" fd-title>\n {{ 'platformUploadCollection.moveToTitle' | fdTranslate }}\n </h1>\n <ng-container *ngIf=\"_currentFolder\">\n <button\n fd-button\n fdType=\"transparent\"\n glyph=\"navigation-left-arrow\"\n (click)=\"_goToParentFolder()\"\n ></button>\n <h1 fd-title>\n <span>{{ 'platformUploadCollection.moveToTitleFolder' | fdTranslate }}</span>\n {{ _currentFolder.name }}\n </h1>\n </ng-container>\n </fd-bar-element>\n </div>\n <div fd-bar-right>\n <fd-bar-element>\n <button\n fd-button\n [label]=\"'platformUploadCollection.moveToNewFolderBtnLabel' | fdTranslate\"\n (click)=\"_newFolder()\"\n ></button>\n </fd-bar-element>\n </div>\n </ng-template>\n </fd-dialog-header>\n\n <fd-dialog-body class=\"fd-dialog__body--no-horizontal-padding\">\n <ul fd-list>\n <li *ngIf=\"!_currentFolder\" fd-list-item class=\"fd-list__item--title-background\">\n <span fd-list-title>{{ 'platformUploadCollection.moveToAllFilesSubHeaderLabel' | fdTranslate }}</span>\n </li>\n <li\n fd-list-item\n *ngFor=\"let folder of _foldersList\"\n [selected]=\"selectedFolder?.documentId === folder.documentId\"\n >\n <a fd-list-link (click)=\"_hasFolders(folder.files) ? _openFolder(folder) : _selectFolder(folder)\">\n <fd-icon class=\"fdp-upload-collection__fd-icon\" glyph=\"folder-blank\"></fd-icon>\n <span fd-list-title>{{ folder.name }}</span>\n <i *ngIf=\"_hasFolders(folder.files)\" fd-list-icon glyph=\"slim-arrow-right\"></i>\n </a>\n </li>\n </ul>\n </fd-dialog-body>\n\n <fd-dialog-footer>\n <fd-button-bar\n fdType=\"emphasized\"\n type=\"submit\"\n [disabled]=\"\n !(\n (selectedFolder && originalFolder?.documentId !== selectedFolder.documentId) ||\n (!selectedFolder && originalFolder?.documentId !== _currentFolder?.documentId)\n )\n \"\n (click)=\"_confirm()\"\n >\n {{ 'platformUploadCollection.moveToConfirmBtn' | fdTranslate }}\n </fd-button-bar>\n <fd-button-bar (click)=\"_close()\">\n {{ 'platformUploadCollection.moveToCloseBtn' | fdTranslate }}\n </fd-button-bar>\n </fd-dialog-footer>\n</fd-dialog>\n", styles: [".fd-list__item--title-background{background-color:var(--sapList_HeaderBackground)}.fd-dialog__body--no-horizontal-padding{padding-left:0!important;padding-right:0!important}.fd-title--bold{font-weight:700}\n"] }]
|