@valtimo/components 11.1.5 → 11.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/carbon.scss +14 -11
- package/esm2022/lib/components/carbon-list/carbon-list.component.mjs +188 -107
- package/esm2022/lib/components/carbon-list/carbon-list.module.mjs +7 -4
- package/esm2022/lib/components/editor/editor.component.mjs +5 -3
- package/esm2022/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.mjs +11 -1
- package/esm2022/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.mjs +11 -1
- package/esm2022/lib/components/left-sidebar/left-sidebar.component.mjs +1 -1
- package/esm2022/lib/components/menu/menu-item-text.component.mjs +3 -3
- package/esm2022/lib/components/multi-input/carbon-multi-input.component.mjs +3 -3
- package/esm2022/lib/components/page-title/page-title.component.mjs +4 -3
- package/esm2022/lib/components/page-title/page-title.service.mjs +11 -1
- package/esm2022/lib/components/select/select.component.mjs +3 -3
- package/esm2022/lib/components/table/table.component.mjs +3 -3
- package/esm2022/lib/components/uploader/uploader.component.mjs +2 -2
- package/esm2022/lib/constants/view-type-converter.constants.mjs +1 -1
- package/esm2022/lib/directives/render-in-page-header/render-in-page-header.directive.mjs +7 -3
- package/esm2022/lib/directives/tooltip/tooltip.component.mjs +3 -3
- package/esm2022/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.mjs +33 -0
- package/esm2022/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.mjs +82 -0
- package/esm2022/lib/models/carbon-list.model.mjs +7 -2
- package/esm2022/public_api.mjs +4 -1
- package/fesm2022/valtimo-components.mjs +362 -132
- package/fesm2022/valtimo-components.mjs.map +1 -1
- package/lib/components/carbon-list/carbon-list.component.d.ts +43 -17
- package/lib/components/carbon-list/carbon-list.component.d.ts.map +1 -1
- package/lib/components/carbon-list/carbon-list.module.d.ts +1 -1
- package/lib/components/carbon-list/carbon-list.module.d.ts.map +1 -1
- package/lib/components/editor/editor.component.d.ts +2 -1
- package/lib/components/editor/editor.component.d.ts.map +1 -1
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts +10 -10
- package/lib/components/form-io/documenten-api-uploader/documenten-api-uploader-edit-form.d.ts.map +1 -1
- package/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts +9 -9
- package/lib/components/form-io/form-io-uploader/form-io-uploader-edit-form.d.ts.map +1 -1
- package/lib/components/left-sidebar/left-sidebar.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.component.d.ts +1 -0
- package/lib/components/page-title/page-title.component.d.ts.map +1 -1
- package/lib/components/page-title/page-title.service.d.ts +4 -0
- package/lib/components/page-title/page-title.service.d.ts.map +1 -1
- package/lib/constants/view-type-converter.constants.d.ts.map +1 -1
- package/lib/directives/render-in-page-header/render-in-page-header.directive.d.ts +2 -1
- package/lib/directives/render-in-page-header/render-in-page-header.directive.d.ts.map +1 -1
- package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.d.ts +9 -0
- package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button-directive.module.d.ts.map +1 -0
- package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.d.ts +22 -0
- package/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.d.ts.map +1 -0
- package/lib/models/carbon-list.model.d.ts +13 -2
- package/lib/models/carbon-list.model.d.ts.map +1 -1
- package/package.json +3 -2
- package/public_api.d.ts +2 -0
- package/public_api.d.ts.map +1 -1
|
@@ -131,11 +131,11 @@ export class TableComponent {
|
|
|
131
131
|
});
|
|
132
132
|
}
|
|
133
133
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
134
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, selector: "v-table", inputs: { items: "items", columns: "columns", loading: "loading", showEditButtons: "showEditButtons", showPagination: "showPagination", editButtonTranslationKey: "editButtonTranslationKey", itemsTranslationKey: "itemsTranslationKey", noResultsTranslationKey: "noResultsTranslationKey", mobileBreakpointPx: "mobileBreakpointPx", amountOfLoadingRows: "amountOfLoadingRows", collectionSize: "collectionSize", page: "page", size: "size" }, outputs: { editButtonClicked: "editButtonClicked", paginationSizeSet: "paginationSizeSet", paginationPageSet: "paginationPageSet" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.next' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme"], outputs: ["selectedChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
134
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableComponent, selector: "v-table", inputs: { items: "items", columns: "columns", loading: "loading", showEditButtons: "showEditButtons", showPagination: "showPagination", editButtonTranslationKey: "editButtonTranslationKey", itemsTranslationKey: "itemsTranslationKey", noResultsTranslationKey: "noResultsTranslationKey", mobileBreakpointPx: "mobileBreakpointPx", amountOfLoadingRows: "amountOfLoadingRows", collectionSize: "collectionSize", page: "page", size: "size" }, outputs: { editButtonClicked: "editButtonClicked", paginationSizeSet: "paginationSizeSet", paginationPageSet: "paginationPageSet" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.nextArrow' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\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: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.ButtonComponent, selector: "v-button", inputs: ["type", "mdiIcon", "disabled", "title", "titleTranslationKey"], outputs: ["clickEvent"] }, { kind: "component", type: i4.NgxSkeletonLoaderComponent, selector: "ngx-skeleton-loader", inputs: ["count", "loadingText", "appearance", "animation", "ariaLabel", "theme"] }, { kind: "component", type: i5.SelectComponent, selector: "v-select", inputs: ["items", "defaultSelection", "defaultSelectionId", "defaultSelectionIds", "disabled", "multiple", "margin", "widthInPx", "notFoundText", "clearAllText", "clearText", "name", "title", "titleTranslationKey", "clearSelectionSubject$", "tooltip", "required", "loading", "loadingText", "placeholder", "smallMargin", "carbonTheme"], outputs: ["selectedChange"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i6.TranslatePipe, name: "translate" }] }); }
|
|
135
135
|
}
|
|
136
136
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableComponent, decorators: [{
|
|
137
137
|
type: Component,
|
|
138
|
-
args: [{ selector: 'v-table', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.next' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\n"] }]
|
|
138
|
+
args: [{ selector: 'v-table', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<ng-container *ngIf=\"{items: items$ | async} as obs\">\n <div class=\"v-table-container\">\n <table class=\"v-table\">\n <ng-container *ngTemplateOutlet=\"tableHead\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBody; context: {tableItems: obs.items}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableBodyLoading\"></ng-container>\n <ng-container\n *ngTemplateOutlet=\"tableBodyNoResults; context: {tableItems: obs.items}\"\n ></ng-container>\n </table>\n <ng-container *ngIf=\"showPagination\">\n <ng-container\n *ngTemplateOutlet=\"paginationContainer; context: {tableItems: obs.items}\"\n ></ng-container>\n </ng-container>\n </div>\n</ng-container>\n\n<ng-template #tableHead>\n <thead *ngIf=\"columns\">\n <tr>\n <th class=\"v-table__header\" *ngFor=\"let column of columns\">\n {{ column.labelTranslationKey | translate }}\n </th>\n <th *ngIf=\"showEditButtons\" class=\"v-table__header\"></th>\n </tr>\n </thead>\n</ng-template>\n\n<ng-template #tableBody let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length > 0\">\n <tr *ngFor=\"let item of tableItems\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCell; context: {item: item}\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCell; context: {item: item}\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableBodyNoResults let-tableItems=\"tableItems\">\n <tbody class=\"v-table__body\" *ngIf=\"!loading && tableItems && tableItems?.length === 0\">\n <tr class=\"v-table__row\">\n <td class=\"v-table__cell\" *ngFor=\"let column of columns; let i = index\">\n <span *ngIf=\"i === 0\" class=\"v-table__cell-content\">\n {{\n noResultsTranslationKey\n ? (noResultsTranslationKey | translate)\n : ('interface.noResults' | translate)\n }}\n </span>\n </td>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCell let-item=\"item\">\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\">\n {{ item[column.dataKey] }}\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCell let-item=\"item\">\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" (clickEvent)=\"editButtonClicked.emit(item)\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #tableBodyLoading>\n <tbody class=\"v-table__body\" *ngIf=\"loading\">\n <tr *ngFor=\"let item of getArrayOfLength(amountOfLoadingRows)\" class=\"v-table__row\">\n <ng-container *ngTemplateOutlet=\"tableCellLoading\"></ng-container>\n <ng-container *ngTemplateOutlet=\"tableEditButtonCellLoading\"></ng-container>\n </tr>\n </tbody>\n</ng-template>\n\n<ng-template #tableCellLoading>\n <td *ngFor=\"let column of columns\" class=\"v-table__cell\">\n <span class=\"v-table__cell-content\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n </td>\n</ng-template>\n\n<ng-template #tableEditButtonCellLoading>\n <td *ngIf=\"showEditButtons\" class=\"v-table__cell v-table__cell--with-button\">\n <span class=\"v-table__cell-button-container\">\n <v-button type=\"secondary\" [disabled]=\"true\">{{\n editButtonTranslationKey || 'interface.edit' | translate\n }}</v-button>\n </span>\n </td>\n</ng-template>\n\n<ng-template #paginationContainer let-tableItems=\"tableItems\">\n <div *ngIf=\"pagination$ | async as paginationObject\" class=\"v-table__pagination-container\">\n <div class=\"v-table__pagination-size-container\">\n <ng-container\n *ngTemplateOutlet=\"paginationSizeSelect; context: {paginationObject: paginationObject}\"\n ></ng-container>\n <ng-container\n *ngTemplateOutlet=\"\n paginationSizeAmountText;\n context: {paginationObject: paginationObject, tableItems: tableItems}\n \"\n ></ng-container>\n </div>\n <ng-container\n *ngTemplateOutlet=\"paginationNavigation; context: {paginationObject: paginationObject}\"\n ></ng-container>\n </div>\n</ng-template>\n\n<ng-template #paginationSizeSelect let-paginationObject=\"paginationObject\">\n <span class=\"v-table__pagination-size-text\">{{ 'interface.show' | translate }}</span>\n <span class=\"v-table__pagination-size-select\">\n <v-select\n [items]=\"paginationOptions\"\n [clearable]=\"false\"\n [defaultSelection]=\"(defaultPaginationSize$ | async) || paginationOptions[0]\"\n [disabled]=\"loading\"\n (selectedChange)=\"setPaginationSize($event)\"\n ></v-select>\n </span>\n <span class=\"v-table__pagination-size-text\">{{\n itemsTranslationKey ? (itemsTranslationKey | translate) : ('interface.items' | translate)\n }}</span>\n</ng-template>\n\n<ng-template\n #paginationSizeAmountText\n let-paginationObject=\"paginationObject\"\n let-tableItems=\"tableItems\"\n>\n <ng-container *ngTemplateOutlet=\"paginationSizeAmountTextLoading\"></ng-container>\n <span\n class=\"v-table__pagination-amount-text\"\n *ngIf=\"!loading && tableItems && paginationObject\"\n >{{\n tableItems.length +\n ' ' +\n ('interface.of' | translate) +\n ' ' +\n paginationObject.collectionSize +\n ' ' +\n (itemsTranslationKey\n ? (itemsTranslationKey | translate)\n : ('interface.items' | translate)) +\n ' ' +\n ('interface.visible' | translate)\n }}</span\n >\n</ng-template>\n\n<ng-template #paginationSizeAmountTextLoading>\n <span class=\"v-table__pagination-amount-text\" *ngIf=\"loading\"\n ><ngx-skeleton-loader\n appearance=\"line\"\n [theme]=\"{\n width: 'var(--v-table-loading-skeleton-width)',\n height: 'var(--v-table-loading-skeleton-line-height)',\n margin: '0',\n 'background-color': 'var(--v-table-loading-skeleton-pagination-size-bg-color)'\n }\"\n ></ngx-skeleton-loader\n ></span>\n</ng-template>\n\n<ng-template #paginationNavigation let-paginationObject=\"paginationObject\">\n <div\n class=\"v-table__pagination-navigation-container\"\n *ngIf=\"paginationObject && paginationObject.collectionSize > paginationObject.size\"\n >\n <span *ngIf=\"paginationObject.page > 1\">\n <v-button (clickEvent)=\"setPage('previous')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.previous' | translate\n }}</v-button>\n </span>\n <span *ngIf=\"paginationObject.page * paginationObject.size < paginationObject.collectionSize\">\n <v-button (clickEvent)=\"setPage('next')\" type=\"text\" [disabled]=\"loading\">{{\n 'interface.nextArrow' | translate\n }}</v-button>\n </span>\n </div>\n</ng-template>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */.v-table-container{width:100%;display:flex;flex-direction:column}.v-table{width:100%;border-spacing:var(--v-table-border-spacing);table-layout:var(--v-table-layout)}.v-table__header{color:var(--v-table-header-font-color);text-transform:var(--v-table-header-text-transform);font-size:var(--v-table-header-font-size);font-weight:var(--v-table-header-font-weight);letter-spacing:var(--v-table-header-letter-spacing);padding-block-end:var(--v-table-header-padding-block-end);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline)}.v-table__header:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__body{outline:var(--v-table-body-border);border-radius:var(--v-border-radius-md)}.v-table__row{border-bottom:var(--v-table-row-bottom-border)}.v-table__row:first-child .v-table__cell:first-child{border-top-left-radius:var(--v-border-radius-md)}.v-table__row:first-child .v-table__cell:last-child{border-top-right-radius:var(--v-border-radius-md)}.v-table__row:last-child{border-bottom:none}.v-table__row:last-child .v-table__cell:first-child{border-bottom-left-radius:var(--v-border-radius-md)}.v-table__row:last-child .v-table__cell:last-child{border-bottom-right-radius:var(--v-border-radius-md)}.v-table__cell{padding-block-start:var(--v-table-cell-padding-block);padding-block-end:var(--v-table-cell-padding-block);padding-inline-start:var(--v-table-cell-padding-inline);padding-inline-end:var(--v-table-cell-padding-inline);background-color:var(--v-table-background-color);font-size:var(--v-font-size-smaller);font-weight:var(--v-font-weight-bold);line-height:var(--v-line-height-smaller);width:var(--v-table-cell-width)}.v-table__cell:first-child{padding-inline-start:var(--v-table-first-cell-padding-inline-start)}.v-table__cell-content{display:flex;color:var(--v-table-cell-font-color);padding-block-start:var(--v-table-cell-content-padding-block);padding-block-end:var(--v-table-cell-content-padding-block)}.v-table__cell--with-button{width:.1%;white-space:nowrap}.v-table__cell-button-container{display:flex}ngx-skeleton-loader{display:flex}.v-table__pagination-container{display:flex;width:100%;flex-direction:row;justify-content:space-between;margin-block-start:var(--v-table-pagination-margin-block)}.v-table__pagination-size-container{display:flex;flex-direction:row;align-items:center}.v-table__pagination-size-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-size-spacing-inline)}.v-table__pagination-size-text{color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-size-text-font-weight)}.v-table__pagination-size-select{display:flex}.v-table__pagination-amount-text{margin-inline-start:var(--v-table-pagination-amount-text-margin-inline);color:var(--v-table-pagination-size-text-color);font-size:var(--v-table-pagination-size-text-font-size);font-weight:var(--v-table-pagination-amount-text-font-weight)}.v-table__pagination-navigation-container{display:flex;flex-direction:row}.v-table__pagination-navigation-container span:not(:last-child){margin-inline-end:var(--v-table-pagination-button-spacing-inline)}\n"] }]
|
|
139
139
|
}], ctorParameters: function () { return [{ type: i1.BreakpointObserver }]; }, propDecorators: { items: [{
|
|
140
140
|
type: Input
|
|
141
141
|
}], columns: [{
|
|
@@ -169,4 +169,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
169
169
|
}], paginationPageSet: [{
|
|
170
170
|
type: Output
|
|
171
171
|
}] } });
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBRTlDOztHQUVHO0FBTUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFDSSxLQUFLLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQVdELElBQ0ksY0FBYyxDQUFDLGNBQWlEO1FBQ2xFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxJQUE2QjtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsSUFBNkI7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQThDRCxZQUE2QixrQkFB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M0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sdUJBQXVCLEdBQzNCLElBQUksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUVwRSxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdklVLGNBQWM7bUdBQWQsY0FBYyx3bUJDOUIzQixtMlBBc05BOzs0RkR4TGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxTQUFTO3lHQU1mLEtBQUs7c0JBRFIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBS0YsSUFBSTtzQkFEUCxLQUFLO2dCQUtGLElBQUk7c0JBRFAsS0FBSztnQkFLSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NlbGVjdEl0ZW0sIFRhYmxlQ29sdW1uLCBUYWJsZVBhZ2luYXRpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge21hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTWlncmF0ZSBvbGQgZGVzaWduIHRvIENhcmJvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHNldCBpdGVtcyhpdGVtczogQXJyYXk8b2JqZWN0Pikge1xuICAgIHRoaXMuaXRlbXMkLm5leHQoaXRlbXMpO1xuICB9XG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBBcnJheTxUYWJsZUNvbHVtbj47XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0VkaXRCdXR0b25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgQElucHV0KCkgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xuICBASW5wdXQoKSBpdGVtc1RyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdHNUcmFuc2xhdGlvbktleSE6IHN0cmluZztcbiAgQElucHV0KCkgbW9iaWxlQnJlYWtwb2ludFB4ID0gNzY4O1xuICBASW5wdXQoKSBhbW91bnRPZkxvYWRpbmdSb3dzID0gMztcblxuICBASW5wdXQoKVxuICBzZXQgY29sbGVjdGlvblNpemUoY29sbGVjdGlvblNpemU6IFRhYmxlUGFnaW5hdGlvblsnY29sbGVjdGlvblNpemUnXSkge1xuICAgIHRoaXMuY29sbGVjdGlvblNpemUkLm5leHQoY29sbGVjdGlvblNpemUpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBwYWdlKHBhZ2U6IFRhYmxlUGFnaW5hdGlvblsncGFnZSddKSB7XG4gICAgdGhpcy5wYWdlJC5uZXh0KHBhZ2UpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBzaXplKHNpemU6IFRhYmxlUGFnaW5hdGlvblsnc2l6ZSddKSB7XG4gICAgdGhpcy5zaXplJC5uZXh0KHNpemUpO1xuICB9XG5cbiAgQE91dHB1dCgpIGVkaXRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25TaXplU2V0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25QYWdlU2V0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBkZWZhdWx0UGFnaW5hdGlvblNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3RJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBpc01vYmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbGxlY3Rpb25TaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVQYWdpbmF0aW9uWydjb2xsZWN0aW9uU2l6ZSddPigwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVQYWdpbmF0aW9uWydwYWdlJ10+KDApO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZVBhZ2luYXRpb25bJ3NpemUnXT4oMCk7XG5cbiAgcmVhZG9ubHkgcGFnaW5hdGlvbiQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbGxlY3Rpb25TaXplJCwgdGhpcy5wYWdlJCwgdGhpcy5zaXplJF0pLnBpcGUoXG4gICAgbWFwKChbY29sbGVjdGlvblNpemUsIHBhZ2UsIHNpemVdKSA9PiAoe1xuICAgICAgY29sbGVjdGlvblNpemUsXG4gICAgICBwYWdlLFxuICAgICAgc2l6ZSxcbiAgICB9KSksXG4gICAgdGFwKCh7Y29sbGVjdGlvblNpemUsIHBhZ2UsIHNpemV9KSA9PiB7XG4gICAgICBjb25zdCBhbW91bnRPZlBhZ2VzQXZhaWxhYmxlID0gTWF0aC5jZWlsKGNvbGxlY3Rpb25TaXplIC8gc2l6ZSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuc2tpcHBpbmdUb1ByZXZpb3VzUGFnZSAmJlxuICAgICAgICBhbW91bnRPZlBhZ2VzQXZhaWxhYmxlID4gMCAmJlxuICAgICAgICBwYWdlID4gYW1vdW50T2ZQYWdlc0F2YWlsYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2tpcHBpbmdUb1ByZXZpb3VzUGFnZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0UGFnZShhbW91bnRPZlBhZ2VzQXZhaWxhYmxlKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8b2JqZWN0Pj4oW10pO1xuXG4gIHJlYWRvbmx5IHBhZ2luYXRpb25PcHRpb25zOiBBcnJheTxTZWxlY3RJdGVtPiA9IFtcbiAgICB7aWQ6IDEwLCB0ZXh0OiAnMTAnfSxcbiAgICB7aWQ6IDI1LCB0ZXh0OiAnMjUnfSxcbiAgICB7aWQ6IDUwLCB0ZXh0OiAnNTAnfSxcbiAgICB7aWQ6IDEwMCwgdGV4dDogJzEwMCd9LFxuICBdO1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHNraXBwaW5nVG9QcmV2aW91c1BhZ2UgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0RGVmYXVsdFBhZ2luYXRpb25TaXplKCk7XG4gICAgdGhpcy5vcGVuQnJlYWtwb2ludFN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QXJyYXlPZkxlbmd0aChsZW5ndGg6IG51bWJlcik6IEFycmF5PDA+IHtcbiAgICByZXR1cm4gbmV3IEFycmF5KGxlbmd0aCkuZmlsbCgwKTtcbiAgfVxuXG4gIHNldFBhZ2Uoc2V0VG86ICdwcmV2aW91cycgfCAnbmV4dCcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhZ2luYXRpb24gPT4ge1xuICAgICAgY29uc3QgY3VycmVudFBhZ2UgPSBwYWdpbmF0aW9uPy5wYWdlO1xuXG4gICAgICBpZiAoY3VycmVudFBhZ2UpIHtcbiAgICAgICAgbGV0IG5ld1BhZ2VOdW1iZXIgPSAwO1xuXG4gICAgICAgIGlmIChzZXRUbyA9PT0gJ3ByZXZpb3VzJykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBjdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIH0gZWxzZSBpZiAoc2V0VG8gPT09ICduZXh0Jykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBjdXJyZW50UGFnZSArIDE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNldFRvID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBzZXRUbztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblBhZ2VTZXQuZW1pdChuZXdQYWdlTnVtYmVyKTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KG5ld1BhZ2VOdW1iZXIpO1xuICAgICAgICB0aGlzLnNraXBwaW5nVG9QcmV2aW91c1BhZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldFBhZ2luYXRpb25TaXplKG5ld1BhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TaXplU2V0LmVtaXQobmV3UGFnZVNpemUpO1xuICAgIHRoaXMuc2l6ZSQubmV4dChuZXdQYWdlU2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5CcmVha3BvaW50U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbYChtaW4td2lkdGg6ICR7dGhpcy5tb2JpbGVCcmVha3BvaW50UHh9cHgpYF0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChzdGF0ZS5tYXRjaGVzKSB7XG4gICAgICAgICAgdGhpcy5pc01vYmlsZSQubmV4dChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc01vYmlsZSQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRQYWdpbmF0aW9uU2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpemUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHNpemUgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdFBhZ2luYXRpb25PcHRpb24gPVxuICAgICAgICBzaXplICYmIHRoaXMucGFnaW5hdGlvbk9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLmlkID09PSBzaXplKTtcblxuICAgICAgaWYgKGRlZmF1bHRQYWdpbmF0aW9uT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFBhZ2luYXRpb25TaXplJC5uZXh0KGRlZmF1bHRQYWdpbmF0aW9uT3B0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie2l0ZW1zOiBpdGVtcyQgfCBhc3luY30gYXMgb2JzXCI+XG4gIDxkaXYgY2xhc3M9XCJ2LXRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cInYtdGFibGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUhlYWRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUJvZHk7IGNvbnRleHQ6IHt0YWJsZUl0ZW1zOiBvYnMuaXRlbXN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVCb2R5TG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQm9keU5vUmVzdWx0czsgY29udGV4dDoge3RhYmxlSXRlbXM6IG9icy5pdGVtc31cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvdGFibGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQYWdpbmF0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFnaW5hdGlvbkNvbnRhaW5lcjsgY29udGV4dDoge3RhYmxlSXRlbXM6IG9icy5pdGVtc31cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZD5cbiAgPHRoZWFkICpuZ0lmPVwiY29sdW1uc1wiPlxuICAgIDx0cj5cbiAgICAgIDx0aCBjbGFzcz1cInYtdGFibGVfX2hlYWRlclwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgICB7eyBjb2x1bW4ubGFiZWxUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cInNob3dFZGl0QnV0dG9uc1wiIGNsYXNzPVwidi10YWJsZV9faGVhZGVyXCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJsZUJvZHkgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCI+XG4gIDx0Ym9keSBjbGFzcz1cInYtdGFibGVfX2JvZHlcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHRhYmxlSXRlbXMgJiYgdGFibGVJdGVtcz8ubGVuZ3RoID4gMFwiPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZUl0ZW1zXCIgY2xhc3M9XCJ2LXRhYmxlX19yb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUNlbGw7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlRWRpdEJ1dHRvbkNlbGw7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQm9keU5vUmVzdWx0cyBsZXQtdGFibGVJdGVtcz1cInRhYmxlSXRlbXNcIj5cbiAgPHRib2R5IGNsYXNzPVwidi10YWJsZV9fYm9keVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgdGFibGVJdGVtcyAmJiB0YWJsZUl0ZW1zPy5sZW5ndGggPT09IDBcIj5cbiAgICA8dHIgY2xhc3M9XCJ2LXRhYmxlX19yb3dcIj5cbiAgICAgIDx0ZCBjbGFzcz1cInYtdGFibGVfX2NlbGxcIiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpID09PSAwXCIgY2xhc3M9XCJ2LXRhYmxlX19jZWxsLWNvbnRlbnRcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgbm9SZXN1bHRzVHJhbnNsYXRpb25LZXlcbiAgICAgICAgICAgICAgPyAobm9SZXN1bHRzVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogKCdpbnRlcmZhY2Uubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiIGNsYXNzPVwidi10YWJsZV9fY2VsbFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fY2VsbC1jb250ZW50XCI+XG4gICAgICB7eyBpdGVtW2NvbHVtbi5kYXRhS2V5XSB9fVxuICAgIDwvc3Bhbj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVFZGl0QnV0dG9uQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPHRkICpuZ0lmPVwic2hvd0VkaXRCdXR0b25zXCIgY2xhc3M9XCJ2LXRhYmxlX19jZWxsIHYtdGFibGVfX2NlbGwtLXdpdGgtYnV0dG9uXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19jZWxsLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDx2LWJ1dHRvbiB0eXBlPVwic2Vjb25kYXJ5XCIgKGNsaWNrRXZlbnQpPVwiZWRpdEJ1dHRvbkNsaWNrZWQuZW1pdChpdGVtKVwiPnt7XG4gICAgICAgIGVkaXRCdXR0b25UcmFuc2xhdGlvbktleSB8fCAnaW50ZXJmYWNlLmVkaXQnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvdi1idXR0b24+XG4gICAgPC9zcGFuPlxuICA8L3RkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJsZUJvZHlMb2FkaW5nPlxuICA8dGJvZHkgY2xhc3M9XCJ2LXRhYmxlX19ib2R5XCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEFycmF5T2ZMZW5ndGgoYW1vdW50T2ZMb2FkaW5nUm93cylcIiBjbGFzcz1cInYtdGFibGVfX3Jvd1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ2VsbExvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUVkaXRCdXR0b25DZWxsTG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQ2VsbExvYWRpbmc+XG4gIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIiBjbGFzcz1cInYtdGFibGVfX2NlbGxcIj5cbiAgICA8c3BhbiBjbGFzcz1cInYtdGFibGVfX2NlbGwtY29udGVudFwiXG4gICAgICA+PG5neC1za2VsZXRvbi1sb2FkZXJcbiAgICAgICAgYXBwZWFyYW5jZT1cImxpbmVcIlxuICAgICAgICBbdGhlbWVdPVwie1xuICAgICAgICAgIHdpZHRoOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXdpZHRoKScsXG4gICAgICAgICAgaGVpZ2h0OiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLWxpbmUtaGVpZ2h0KScsXG4gICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLWJnLWNvbG9yKSdcbiAgICAgICAgfVwiXG4gICAgICA+PC9uZ3gtc2tlbGV0b24tbG9hZGVyXG4gICAgPjwvc3Bhbj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVFZGl0QnV0dG9uQ2VsbExvYWRpbmc+XG4gIDx0ZCAqbmdJZj1cInNob3dFZGl0QnV0dG9uc1wiIGNsYXNzPVwidi10YWJsZV9fY2VsbCB2LXRhYmxlX19jZWxsLS13aXRoLWJ1dHRvblwiPlxuICAgIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fY2VsbC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8di1idXR0b24gdHlwZT1cInNlY29uZGFyeVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+e3tcbiAgICAgICAgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5IHx8ICdpbnRlcmZhY2UuZWRpdCcgfCB0cmFuc2xhdGVcbiAgICAgIH19PC92LWJ1dHRvbj5cbiAgICA8L3NwYW4+XG4gIDwvdGQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhZ2luYXRpb25Db250YWluZXIgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCI+XG4gIDxkaXYgKm5nSWY9XCJwYWdpbmF0aW9uJCB8IGFzeW5jIGFzIHBhZ2luYXRpb25PYmplY3RcIiBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tc2l6ZS1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYWdpbmF0aW9uU2l6ZVNlbGVjdDsgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3R9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBwYWdpbmF0aW9uU2l6ZUFtb3VudFRleHQ7XG4gICAgICAgICAgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3QsIHRhYmxlSXRlbXM6IHRhYmxlSXRlbXN9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYWdpbmF0aW9uTmF2aWdhdGlvbjsgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3R9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwYWdpbmF0aW9uU2l6ZVNlbGVjdCBsZXQtcGFnaW5hdGlvbk9iamVjdD1cInBhZ2luYXRpb25PYmplY3RcIj5cbiAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLXNpemUtdGV4dFwiPnt7ICdpbnRlcmZhY2Uuc2hvdycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fcGFnaW5hdGlvbi1zaXplLXNlbGVjdFwiPlxuICAgIDx2LXNlbGVjdFxuICAgICAgW2l0ZW1zXT1cInBhZ2luYXRpb25PcHRpb25zXCJcbiAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25dPVwiKGRlZmF1bHRQYWdpbmF0aW9uU2l6ZSQgfCBhc3luYykgfHwgcGFnaW5hdGlvbk9wdGlvbnNbMF1cIlxuICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNldFBhZ2luYXRpb25TaXplKCRldmVudClcIlxuICAgID48L3Ytc2VsZWN0PlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fcGFnaW5hdGlvbi1zaXplLXRleHRcIj57e1xuICAgIGl0ZW1zVHJhbnNsYXRpb25LZXkgPyAoaXRlbXNUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSkgOiAoJ2ludGVyZmFjZS5pdGVtcycgfCB0cmFuc2xhdGUpXG4gIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNwYWdpbmF0aW9uU2l6ZUFtb3VudFRleHRcbiAgbGV0LXBhZ2luYXRpb25PYmplY3Q9XCJwYWdpbmF0aW9uT2JqZWN0XCJcbiAgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBhZ2luYXRpb25TaXplQW1vdW50VGV4dExvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tYW1vdW50LXRleHRcIlxuICAgICpuZ0lmPVwiIWxvYWRpbmcgJiYgdGFibGVJdGVtcyAmJiBwYWdpbmF0aW9uT2JqZWN0XCJcbiAgICA+e3tcbiAgICAgIHRhYmxlSXRlbXMubGVuZ3RoICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdpbnRlcmZhY2Uub2YnIHwgdHJhbnNsYXRlKSArXG4gICAgICAgICcgJyArXG4gICAgICAgIHBhZ2luYXRpb25PYmplY3QuY29sbGVjdGlvblNpemUgK1xuICAgICAgICAnICcgK1xuICAgICAgICAoaXRlbXNUcmFuc2xhdGlvbktleVxuICAgICAgICAgID8gKGl0ZW1zVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAoJ2ludGVyZmFjZS5pdGVtcycgfCB0cmFuc2xhdGUpKSArXG4gICAgICAgICcgJyArXG4gICAgICAgICgnaW50ZXJmYWNlLnZpc2libGUnIHwgdHJhbnNsYXRlKVxuICAgIH19PC9zcGFuXG4gID5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcGFnaW5hdGlvblNpemVBbW91bnRUZXh0TG9hZGluZz5cbiAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLWFtb3VudC10ZXh0XCIgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICA+PG5neC1za2VsZXRvbi1sb2FkZXJcbiAgICAgIGFwcGVhcmFuY2U9XCJsaW5lXCJcbiAgICAgIFt0aGVtZV09XCJ7XG4gICAgICAgIHdpZHRoOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXdpZHRoKScsXG4gICAgICAgIGhlaWdodDogJ3ZhcigtLXYtdGFibGUtbG9hZGluZy1za2VsZXRvbi1saW5lLWhlaWdodCknLFxuICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXBhZ2luYXRpb24tc2l6ZS1iZy1jb2xvciknXG4gICAgICB9XCJcbiAgICA+PC9uZ3gtc2tlbGV0b24tbG9hZGVyXG4gID48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhZ2luYXRpb25OYXZpZ2F0aW9uIGxldC1wYWdpbmF0aW9uT2JqZWN0PVwicGFnaW5hdGlvbk9iamVjdFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLW5hdmlnYXRpb24tY29udGFpbmVyXCJcbiAgICAqbmdJZj1cInBhZ2luYXRpb25PYmplY3QgJiYgcGFnaW5hdGlvbk9iamVjdC5jb2xsZWN0aW9uU2l6ZSA+IHBhZ2luYXRpb25PYmplY3Quc2l6ZVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInBhZ2luYXRpb25PYmplY3QucGFnZSA+IDFcIj5cbiAgICAgIDx2LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJzZXRQYWdlKCdwcmV2aW91cycpXCIgdHlwZT1cInRleHRcIiBbZGlzYWJsZWRdPVwibG9hZGluZ1wiPnt7XG4gICAgICAgICdpbnRlcmZhY2UucHJldmlvdXMnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvdi1idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwicGFnaW5hdGlvbk9iamVjdC5wYWdlICogcGFnaW5hdGlvbk9iamVjdC5zaXplIDwgcGFnaW5hdGlvbk9iamVjdC5jb2xsZWN0aW9uU2l6ZVwiPlxuICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cInNldFBhZ2UoJ25leHQnKVwiIHR5cGU9XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj57e1xuICAgICAgICAnaW50ZXJmYWNlLm5leHQnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvdi1idXR0b24+XG4gICAgPC9zcGFuPlxuICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
172
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmFsdGltby9jb21wb25lbnRzL3NyYy9saWIvY29tcG9uZW50cy90YWJsZS90YWJsZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb21wb25lbnRzL3RhYmxlL3RhYmxlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7Ozs7OztHQWNHO0FBRUgsT0FBTyxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFFeEYsT0FBTyxFQUFDLGVBQWUsRUFBRSxhQUFhLEVBQWUsTUFBTSxNQUFNLENBQUM7QUFFbEUsT0FBTyxFQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBRTlDOztHQUVHO0FBTUgsTUFBTSxPQUFPLGNBQWM7SUFDekIsSUFDSSxLQUFLLENBQUMsS0FBb0I7UUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQVdELElBQ0ksY0FBYyxDQUFDLGNBQWlEO1FBQ2xFLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFDRCxJQUNJLElBQUksQ0FBQyxJQUE2QjtRQUNwQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFDSSxJQUFJLENBQUMsSUFBNkI7UUFDcEMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDeEIsQ0FBQztJQThDRCxZQUE2QixrQkFB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M0I7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFTyx3QkFBd0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3hDLE1BQU0sdUJBQXVCLEdBQzNCLElBQUksSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsS0FBSyxJQUFJLENBQUMsQ0FBQztZQUVwRSxJQUFJLHVCQUF1QixFQUFFO2dCQUMzQixJQUFJLENBQUMsc0JBQXNCLENBQUMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLENBQUM7YUFDM0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBdklVLGNBQWM7bUdBQWQsY0FBYyx3bUJDOUIzQix3MlBBc05BOzs0RkR4TGEsY0FBYztrQkFMMUIsU0FBUzsrQkFDRSxTQUFTO3lHQU1mLEtBQUs7c0JBRFIsS0FBSztnQkFJRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLGVBQWU7c0JBQXZCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLHVCQUF1QjtzQkFBL0IsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUdGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBS0YsSUFBSTtzQkFEUCxLQUFLO2dCQUtGLElBQUk7c0JBRFAsS0FBSztnQkFLSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBQ0csaUJBQWlCO3NCQUExQixNQUFNO2dCQUNHLGlCQUFpQjtzQkFBMUIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAqXG4gKiBMaWNlbnNlZCB1bmRlciBFVVBMLCBWZXJzaW9uIDEuMiAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqIGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7QnJlYWtwb2ludE9ic2VydmVyLCBCcmVha3BvaW50U3RhdGV9IGZyb20gJ0Bhbmd1bGFyL2Nkay9sYXlvdXQnO1xuaW1wb3J0IHtCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIFN1YnNjcmlwdGlvbn0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1NlbGVjdEl0ZW0sIFRhYmxlQ29sdW1uLCBUYWJsZVBhZ2luYXRpb259IGZyb20gJy4uLy4uL21vZGVscyc7XG5pbXBvcnQge21hcCwgdGFrZSwgdGFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTWlncmF0ZSBvbGQgZGVzaWduIHRvIENhcmJvblxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2LXRhYmxlJyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHNldCBpdGVtcyhpdGVtczogQXJyYXk8b2JqZWN0Pikge1xuICAgIHRoaXMuaXRlbXMkLm5leHQoaXRlbXMpO1xuICB9XG4gIEBJbnB1dCgpIGNvbHVtbnMhOiBBcnJheTxUYWJsZUNvbHVtbj47XG4gIEBJbnB1dCgpIGxvYWRpbmcgPSBmYWxzZTtcbiAgQElucHV0KCkgc2hvd0VkaXRCdXR0b25zID0gZmFsc2U7XG4gIEBJbnB1dCgpIHNob3dQYWdpbmF0aW9uID0gdHJ1ZTtcbiAgQElucHV0KCkgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xuICBASW5wdXQoKSBpdGVtc1RyYW5zbGF0aW9uS2V5ITogc3RyaW5nO1xuICBASW5wdXQoKSBub1Jlc3VsdHNUcmFuc2xhdGlvbktleSE6IHN0cmluZztcbiAgQElucHV0KCkgbW9iaWxlQnJlYWtwb2ludFB4ID0gNzY4O1xuICBASW5wdXQoKSBhbW91bnRPZkxvYWRpbmdSb3dzID0gMztcblxuICBASW5wdXQoKVxuICBzZXQgY29sbGVjdGlvblNpemUoY29sbGVjdGlvblNpemU6IFRhYmxlUGFnaW5hdGlvblsnY29sbGVjdGlvblNpemUnXSkge1xuICAgIHRoaXMuY29sbGVjdGlvblNpemUkLm5leHQoY29sbGVjdGlvblNpemUpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBwYWdlKHBhZ2U6IFRhYmxlUGFnaW5hdGlvblsncGFnZSddKSB7XG4gICAgdGhpcy5wYWdlJC5uZXh0KHBhZ2UpO1xuICB9XG4gIEBJbnB1dCgpXG4gIHNldCBzaXplKHNpemU6IFRhYmxlUGFnaW5hdGlvblsnc2l6ZSddKSB7XG4gICAgdGhpcy5zaXplJC5uZXh0KHNpemUpO1xuICB9XG5cbiAgQE91dHB1dCgpIGVkaXRCdXR0b25DbGlja2VkOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25TaXplU2V0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIHBhZ2luYXRpb25QYWdlU2V0OiBFdmVudEVtaXR0ZXI8bnVtYmVyPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICByZWFkb25seSBkZWZhdWx0UGFnaW5hdGlvblNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxTZWxlY3RJdGVtIHwgdW5kZWZpbmVkPih1bmRlZmluZWQpO1xuICByZWFkb25seSBpc01vYmlsZSQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KGZhbHNlKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IGNvbGxlY3Rpb25TaXplJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVQYWdpbmF0aW9uWydjb2xsZWN0aW9uU2l6ZSddPigwKTtcbiAgcHJpdmF0ZSByZWFkb25seSBwYWdlJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8VGFibGVQYWdpbmF0aW9uWydwYWdlJ10+KDApO1xuICBwcml2YXRlIHJlYWRvbmx5IHNpemUkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxUYWJsZVBhZ2luYXRpb25bJ3NpemUnXT4oMCk7XG5cbiAgcmVhZG9ubHkgcGFnaW5hdGlvbiQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLmNvbGxlY3Rpb25TaXplJCwgdGhpcy5wYWdlJCwgdGhpcy5zaXplJF0pLnBpcGUoXG4gICAgbWFwKChbY29sbGVjdGlvblNpemUsIHBhZ2UsIHNpemVdKSA9PiAoe1xuICAgICAgY29sbGVjdGlvblNpemUsXG4gICAgICBwYWdlLFxuICAgICAgc2l6ZSxcbiAgICB9KSksXG4gICAgdGFwKCh7Y29sbGVjdGlvblNpemUsIHBhZ2UsIHNpemV9KSA9PiB7XG4gICAgICBjb25zdCBhbW91bnRPZlBhZ2VzQXZhaWxhYmxlID0gTWF0aC5jZWlsKGNvbGxlY3Rpb25TaXplIC8gc2l6ZSk7XG5cbiAgICAgIGlmIChcbiAgICAgICAgIXRoaXMuc2tpcHBpbmdUb1ByZXZpb3VzUGFnZSAmJlxuICAgICAgICBhbW91bnRPZlBhZ2VzQXZhaWxhYmxlID4gMCAmJlxuICAgICAgICBwYWdlID4gYW1vdW50T2ZQYWdlc0F2YWlsYWJsZVxuICAgICAgKSB7XG4gICAgICAgIHRoaXMuc2tpcHBpbmdUb1ByZXZpb3VzUGFnZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2V0UGFnZShhbW91bnRPZlBhZ2VzQXZhaWxhYmxlKTtcbiAgICAgIH1cbiAgICB9KVxuICApO1xuXG4gIHJlYWRvbmx5IGl0ZW1zJCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8QXJyYXk8b2JqZWN0Pj4oW10pO1xuXG4gIHJlYWRvbmx5IHBhZ2luYXRpb25PcHRpb25zOiBBcnJheTxTZWxlY3RJdGVtPiA9IFtcbiAgICB7aWQ6IDEwLCB0ZXh0OiAnMTAnfSxcbiAgICB7aWQ6IDI1LCB0ZXh0OiAnMjUnfSxcbiAgICB7aWQ6IDUwLCB0ZXh0OiAnNTAnfSxcbiAgICB7aWQ6IDEwMCwgdGV4dDogJzEwMCd9LFxuICBdO1xuXG4gIHByaXZhdGUgYnJlYWtwb2ludFN1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICBwcml2YXRlIHNraXBwaW5nVG9QcmV2aW91c1BhZ2UgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGJyZWFrcG9pbnRPYnNlcnZlcjogQnJlYWtwb2ludE9ic2VydmVyKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuc2V0RGVmYXVsdFBhZ2luYXRpb25TaXplKCk7XG4gICAgdGhpcy5vcGVuQnJlYWtwb2ludFN1YnNjcmlwdGlvbigpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5icmVha3BvaW50U3Vic2NyaXB0aW9uPy51bnN1YnNjcmliZSgpO1xuICB9XG5cbiAgZ2V0QXJyYXlPZkxlbmd0aChsZW5ndGg6IG51bWJlcik6IEFycmF5PDA+IHtcbiAgICByZXR1cm4gbmV3IEFycmF5KGxlbmd0aCkuZmlsbCgwKTtcbiAgfVxuXG4gIHNldFBhZ2Uoc2V0VG86ICdwcmV2aW91cycgfCAnbmV4dCcgfCBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb24kLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHBhZ2luYXRpb24gPT4ge1xuICAgICAgY29uc3QgY3VycmVudFBhZ2UgPSBwYWdpbmF0aW9uPy5wYWdlO1xuXG4gICAgICBpZiAoY3VycmVudFBhZ2UpIHtcbiAgICAgICAgbGV0IG5ld1BhZ2VOdW1iZXIgPSAwO1xuXG4gICAgICAgIGlmIChzZXRUbyA9PT0gJ3ByZXZpb3VzJykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBjdXJyZW50UGFnZSAtIDE7XG4gICAgICAgIH0gZWxzZSBpZiAoc2V0VG8gPT09ICduZXh0Jykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBjdXJyZW50UGFnZSArIDE7XG4gICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHNldFRvID09PSAnbnVtYmVyJykge1xuICAgICAgICAgIG5ld1BhZ2VOdW1iZXIgPSBzZXRUbztcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMucGFnaW5hdGlvblBhZ2VTZXQuZW1pdChuZXdQYWdlTnVtYmVyKTtcbiAgICAgICAgdGhpcy5wYWdlJC5uZXh0KG5ld1BhZ2VOdW1iZXIpO1xuICAgICAgICB0aGlzLnNraXBwaW5nVG9QcmV2aW91c1BhZ2UgPSBmYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHNldFBhZ2luYXRpb25TaXplKG5ld1BhZ2VTaXplOiBudW1iZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2luYXRpb25TaXplU2V0LmVtaXQobmV3UGFnZVNpemUpO1xuICAgIHRoaXMuc2l6ZSQubmV4dChuZXdQYWdlU2l6ZSk7XG4gIH1cblxuICBwcml2YXRlIG9wZW5CcmVha3BvaW50U3Vic2NyaXB0aW9uKCk6IHZvaWQge1xuICAgIHRoaXMuYnJlYWtwb2ludFN1YnNjcmlwdGlvbiA9IHRoaXMuYnJlYWtwb2ludE9ic2VydmVyXG4gICAgICAub2JzZXJ2ZShbYChtaW4td2lkdGg6ICR7dGhpcy5tb2JpbGVCcmVha3BvaW50UHh9cHgpYF0pXG4gICAgICAuc3Vic2NyaWJlKChzdGF0ZTogQnJlYWtwb2ludFN0YXRlKSA9PiB7XG4gICAgICAgIGlmIChzdGF0ZS5tYXRjaGVzKSB7XG4gICAgICAgICAgdGhpcy5pc01vYmlsZSQubmV4dChmYWxzZSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgdGhpcy5pc01vYmlsZSQubmV4dCh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gIH1cblxuICBwcml2YXRlIHNldERlZmF1bHRQYWdpbmF0aW9uU2l6ZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpemUkLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKHNpemUgPT4ge1xuICAgICAgY29uc3QgZGVmYXVsdFBhZ2luYXRpb25PcHRpb24gPVxuICAgICAgICBzaXplICYmIHRoaXMucGFnaW5hdGlvbk9wdGlvbnMuZmluZChvcHRpb24gPT4gb3B0aW9uLmlkID09PSBzaXplKTtcblxuICAgICAgaWYgKGRlZmF1bHRQYWdpbmF0aW9uT3B0aW9uKSB7XG4gICAgICAgIHRoaXMuZGVmYXVsdFBhZ2luYXRpb25TaXplJC5uZXh0KGRlZmF1bHRQYWdpbmF0aW9uT3B0aW9uKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIiwiPCEtLVxuICB+IENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICB+XG4gIH4gTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gIH4geW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICB+IFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICB+XG4gIH4gaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICB+XG4gIH4gVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICB+IGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAgfiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAgfiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gIH4gbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gIC0tPlxuXG48bmctY29udGFpbmVyICpuZ0lmPVwie2l0ZW1zOiBpdGVtcyQgfCBhc3luY30gYXMgb2JzXCI+XG4gIDxkaXYgY2xhc3M9XCJ2LXRhYmxlLWNvbnRhaW5lclwiPlxuICAgIDx0YWJsZSBjbGFzcz1cInYtdGFibGVcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUhlYWRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUJvZHk7IGNvbnRleHQ6IHt0YWJsZUl0ZW1zOiBvYnMuaXRlbXN9XCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFibGVCb2R5TG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQm9keU5vUmVzdWx0czsgY29udGV4dDoge3RhYmxlSXRlbXM6IG9icy5pdGVtc31cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvdGFibGU+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInNob3dQYWdpbmF0aW9uXCI+XG4gICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICpuZ1RlbXBsYXRlT3V0bGV0PVwicGFnaW5hdGlvbkNvbnRhaW5lcjsgY29udGV4dDoge3RhYmxlSXRlbXM6IG9icy5pdGVtc31cIlxuICAgICAgPjwvbmctY29udGFpbmVyPlxuICAgIDwvbmctY29udGFpbmVyPlxuICA8L2Rpdj5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlSGVhZD5cbiAgPHRoZWFkICpuZ0lmPVwiY29sdW1uc1wiPlxuICAgIDx0cj5cbiAgICAgIDx0aCBjbGFzcz1cInYtdGFibGVfX2hlYWRlclwiICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiPlxuICAgICAgICB7eyBjb2x1bW4ubGFiZWxUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSB9fVxuICAgICAgPC90aD5cbiAgICAgIDx0aCAqbmdJZj1cInNob3dFZGl0QnV0dG9uc1wiIGNsYXNzPVwidi10YWJsZV9faGVhZGVyXCI+PC90aD5cbiAgICA8L3RyPlxuICA8L3RoZWFkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJsZUJvZHkgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCI+XG4gIDx0Ym9keSBjbGFzcz1cInYtdGFibGVfX2JvZHlcIiAqbmdJZj1cIiFsb2FkaW5nICYmIHRhYmxlSXRlbXMgJiYgdGFibGVJdGVtcz8ubGVuZ3RoID4gMFwiPlxuICAgIDx0ciAqbmdGb3I9XCJsZXQgaXRlbSBvZiB0YWJsZUl0ZW1zXCIgY2xhc3M9XCJ2LXRhYmxlX19yb3dcIj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUNlbGw7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlRWRpdEJ1dHRvbkNlbGw7IGNvbnRleHQ6IHtpdGVtOiBpdGVtfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQm9keU5vUmVzdWx0cyBsZXQtdGFibGVJdGVtcz1cInRhYmxlSXRlbXNcIj5cbiAgPHRib2R5IGNsYXNzPVwidi10YWJsZV9fYm9keVwiICpuZ0lmPVwiIWxvYWRpbmcgJiYgdGFibGVJdGVtcyAmJiB0YWJsZUl0ZW1zPy5sZW5ndGggPT09IDBcIj5cbiAgICA8dHIgY2xhc3M9XCJ2LXRhYmxlX19yb3dcIj5cbiAgICAgIDx0ZCBjbGFzcz1cInYtdGFibGVfX2NlbGxcIiAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnM7IGxldCBpID0gaW5kZXhcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJpID09PSAwXCIgY2xhc3M9XCJ2LXRhYmxlX19jZWxsLWNvbnRlbnRcIj5cbiAgICAgICAgICB7e1xuICAgICAgICAgICAgbm9SZXN1bHRzVHJhbnNsYXRpb25LZXlcbiAgICAgICAgICAgICAgPyAobm9SZXN1bHRzVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgICAgIDogKCdpbnRlcmZhY2Uubm9SZXN1bHRzJyB8IHRyYW5zbGF0ZSlcbiAgICAgICAgICB9fVxuICAgICAgICA8L3NwYW4+XG4gICAgICA8L3RkPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPHRkICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29sdW1uc1wiIGNsYXNzPVwidi10YWJsZV9fY2VsbFwiPlxuICAgIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fY2VsbC1jb250ZW50XCI+XG4gICAgICB7eyBpdGVtW2NvbHVtbi5kYXRhS2V5XSB9fVxuICAgIDwvc3Bhbj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVFZGl0QnV0dG9uQ2VsbCBsZXQtaXRlbT1cIml0ZW1cIj5cbiAgPHRkICpuZ0lmPVwic2hvd0VkaXRCdXR0b25zXCIgY2xhc3M9XCJ2LXRhYmxlX19jZWxsIHYtdGFibGVfX2NlbGwtLXdpdGgtYnV0dG9uXCI+XG4gICAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19jZWxsLWJ1dHRvbi1jb250YWluZXJcIj5cbiAgICAgIDx2LWJ1dHRvbiB0eXBlPVwic2Vjb25kYXJ5XCIgKGNsaWNrRXZlbnQpPVwiZWRpdEJ1dHRvbkNsaWNrZWQuZW1pdChpdGVtKVwiPnt7XG4gICAgICAgIGVkaXRCdXR0b25UcmFuc2xhdGlvbktleSB8fCAnaW50ZXJmYWNlLmVkaXQnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvdi1idXR0b24+XG4gICAgPC9zcGFuPlxuICA8L3RkPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICN0YWJsZUJvZHlMb2FkaW5nPlxuICA8dGJvZHkgY2xhc3M9XCJ2LXRhYmxlX19ib2R5XCIgKm5nSWY9XCJsb2FkaW5nXCI+XG4gICAgPHRyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGdldEFycmF5T2ZMZW5ndGgoYW1vdW50T2ZMb2FkaW5nUm93cylcIiBjbGFzcz1cInYtdGFibGVfX3Jvd1wiPlxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYmxlQ2VsbExvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWJsZUVkaXRCdXR0b25DZWxsTG9hZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgIDwvdHI+XG4gIDwvdGJvZHk+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RhYmxlQ2VsbExvYWRpbmc+XG4gIDx0ZCAqbmdGb3I9XCJsZXQgY29sdW1uIG9mIGNvbHVtbnNcIiBjbGFzcz1cInYtdGFibGVfX2NlbGxcIj5cbiAgICA8c3BhbiBjbGFzcz1cInYtdGFibGVfX2NlbGwtY29udGVudFwiXG4gICAgICA+PG5neC1za2VsZXRvbi1sb2FkZXJcbiAgICAgICAgYXBwZWFyYW5jZT1cImxpbmVcIlxuICAgICAgICBbdGhlbWVdPVwie1xuICAgICAgICAgIHdpZHRoOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXdpZHRoKScsXG4gICAgICAgICAgaGVpZ2h0OiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLWxpbmUtaGVpZ2h0KScsXG4gICAgICAgICAgbWFyZ2luOiAnMCcsXG4gICAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLWJnLWNvbG9yKSdcbiAgICAgICAgfVwiXG4gICAgICA+PC9uZ3gtc2tlbGV0b24tbG9hZGVyXG4gICAgPjwvc3Bhbj5cbiAgPC90ZD5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjdGFibGVFZGl0QnV0dG9uQ2VsbExvYWRpbmc+XG4gIDx0ZCAqbmdJZj1cInNob3dFZGl0QnV0dG9uc1wiIGNsYXNzPVwidi10YWJsZV9fY2VsbCB2LXRhYmxlX19jZWxsLS13aXRoLWJ1dHRvblwiPlxuICAgIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fY2VsbC1idXR0b24tY29udGFpbmVyXCI+XG4gICAgICA8di1idXR0b24gdHlwZT1cInNlY29uZGFyeVwiIFtkaXNhYmxlZF09XCJ0cnVlXCI+e3tcbiAgICAgICAgZWRpdEJ1dHRvblRyYW5zbGF0aW9uS2V5IHx8ICdpbnRlcmZhY2UuZWRpdCcgfCB0cmFuc2xhdGVcbiAgICAgIH19PC92LWJ1dHRvbj5cbiAgICA8L3NwYW4+XG4gIDwvdGQ+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhZ2luYXRpb25Db250YWluZXIgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCI+XG4gIDxkaXYgKm5nSWY9XCJwYWdpbmF0aW9uJCB8IGFzeW5jIGFzIHBhZ2luYXRpb25PYmplY3RcIiBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tY29udGFpbmVyXCI+XG4gICAgPGRpdiBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tc2l6ZS1jb250YWluZXJcIj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYWdpbmF0aW9uU2l6ZVNlbGVjdDsgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3R9XCJcbiAgICAgID48L25nLWNvbnRhaW5lcj5cbiAgICAgIDxuZy1jb250YWluZXJcbiAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJcbiAgICAgICAgICBwYWdpbmF0aW9uU2l6ZUFtb3VudFRleHQ7XG4gICAgICAgICAgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3QsIHRhYmxlSXRlbXM6IHRhYmxlSXRlbXN9XG4gICAgICAgIFwiXG4gICAgICA+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRhaW5lclxuICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwYWdpbmF0aW9uTmF2aWdhdGlvbjsgY29udGV4dDoge3BhZ2luYXRpb25PYmplY3Q6IHBhZ2luYXRpb25PYmplY3R9XCJcbiAgICA+PC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNwYWdpbmF0aW9uU2l6ZVNlbGVjdCBsZXQtcGFnaW5hdGlvbk9iamVjdD1cInBhZ2luYXRpb25PYmplY3RcIj5cbiAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLXNpemUtdGV4dFwiPnt7ICdpbnRlcmZhY2Uuc2hvdycgfCB0cmFuc2xhdGUgfX08L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fcGFnaW5hdGlvbi1zaXplLXNlbGVjdFwiPlxuICAgIDx2LXNlbGVjdFxuICAgICAgW2l0ZW1zXT1cInBhZ2luYXRpb25PcHRpb25zXCJcbiAgICAgIFtjbGVhcmFibGVdPVwiZmFsc2VcIlxuICAgICAgW2RlZmF1bHRTZWxlY3Rpb25dPVwiKGRlZmF1bHRQYWdpbmF0aW9uU2l6ZSQgfCBhc3luYykgfHwgcGFnaW5hdGlvbk9wdGlvbnNbMF1cIlxuICAgICAgW2Rpc2FibGVkXT1cImxvYWRpbmdcIlxuICAgICAgKHNlbGVjdGVkQ2hhbmdlKT1cInNldFBhZ2luYXRpb25TaXplKCRldmVudClcIlxuICAgID48L3Ytc2VsZWN0PlxuICA8L3NwYW4+XG4gIDxzcGFuIGNsYXNzPVwidi10YWJsZV9fcGFnaW5hdGlvbi1zaXplLXRleHRcIj57e1xuICAgIGl0ZW1zVHJhbnNsYXRpb25LZXkgPyAoaXRlbXNUcmFuc2xhdGlvbktleSB8IHRyYW5zbGF0ZSkgOiAoJ2ludGVyZmFjZS5pdGVtcycgfCB0cmFuc2xhdGUpXG4gIH19PC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlXG4gICNwYWdpbmF0aW9uU2l6ZUFtb3VudFRleHRcbiAgbGV0LXBhZ2luYXRpb25PYmplY3Q9XCJwYWdpbmF0aW9uT2JqZWN0XCJcbiAgbGV0LXRhYmxlSXRlbXM9XCJ0YWJsZUl0ZW1zXCJcbj5cbiAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInBhZ2luYXRpb25TaXplQW1vdW50VGV4dExvYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgPHNwYW5cbiAgICBjbGFzcz1cInYtdGFibGVfX3BhZ2luYXRpb24tYW1vdW50LXRleHRcIlxuICAgICpuZ0lmPVwiIWxvYWRpbmcgJiYgdGFibGVJdGVtcyAmJiBwYWdpbmF0aW9uT2JqZWN0XCJcbiAgICA+e3tcbiAgICAgIHRhYmxlSXRlbXMubGVuZ3RoICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgKCdpbnRlcmZhY2Uub2YnIHwgdHJhbnNsYXRlKSArXG4gICAgICAgICcgJyArXG4gICAgICAgIHBhZ2luYXRpb25PYmplY3QuY29sbGVjdGlvblNpemUgK1xuICAgICAgICAnICcgK1xuICAgICAgICAoaXRlbXNUcmFuc2xhdGlvbktleVxuICAgICAgICAgID8gKGl0ZW1zVHJhbnNsYXRpb25LZXkgfCB0cmFuc2xhdGUpXG4gICAgICAgICAgOiAoJ2ludGVyZmFjZS5pdGVtcycgfCB0cmFuc2xhdGUpKSArXG4gICAgICAgICcgJyArXG4gICAgICAgICgnaW50ZXJmYWNlLnZpc2libGUnIHwgdHJhbnNsYXRlKVxuICAgIH19PC9zcGFuXG4gID5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcGFnaW5hdGlvblNpemVBbW91bnRUZXh0TG9hZGluZz5cbiAgPHNwYW4gY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLWFtb3VudC10ZXh0XCIgKm5nSWY9XCJsb2FkaW5nXCJcbiAgICA+PG5neC1za2VsZXRvbi1sb2FkZXJcbiAgICAgIGFwcGVhcmFuY2U9XCJsaW5lXCJcbiAgICAgIFt0aGVtZV09XCJ7XG4gICAgICAgIHdpZHRoOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXdpZHRoKScsXG4gICAgICAgIGhlaWdodDogJ3ZhcigtLXYtdGFibGUtbG9hZGluZy1za2VsZXRvbi1saW5lLWhlaWdodCknLFxuICAgICAgICBtYXJnaW46ICcwJyxcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiAndmFyKC0tdi10YWJsZS1sb2FkaW5nLXNrZWxldG9uLXBhZ2luYXRpb24tc2l6ZS1iZy1jb2xvciknXG4gICAgICB9XCJcbiAgICA+PC9uZ3gtc2tlbGV0b24tbG9hZGVyXG4gID48L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3BhZ2luYXRpb25OYXZpZ2F0aW9uIGxldC1wYWdpbmF0aW9uT2JqZWN0PVwicGFnaW5hdGlvbk9iamVjdFwiPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJ2LXRhYmxlX19wYWdpbmF0aW9uLW5hdmlnYXRpb24tY29udGFpbmVyXCJcbiAgICAqbmdJZj1cInBhZ2luYXRpb25PYmplY3QgJiYgcGFnaW5hdGlvbk9iamVjdC5jb2xsZWN0aW9uU2l6ZSA+IHBhZ2luYXRpb25PYmplY3Quc2l6ZVwiXG4gID5cbiAgICA8c3BhbiAqbmdJZj1cInBhZ2luYXRpb25PYmplY3QucGFnZSA+IDFcIj5cbiAgICAgIDx2LWJ1dHRvbiAoY2xpY2tFdmVudCk9XCJzZXRQYWdlKCdwcmV2aW91cycpXCIgdHlwZT1cInRleHRcIiBbZGlzYWJsZWRdPVwibG9hZGluZ1wiPnt7XG4gICAgICAgICdpbnRlcmZhY2UucHJldmlvdXMnIHwgdHJhbnNsYXRlXG4gICAgICB9fTwvdi1idXR0b24+XG4gICAgPC9zcGFuPlxuICAgIDxzcGFuICpuZ0lmPVwicGFnaW5hdGlvbk9iamVjdC5wYWdlICogcGFnaW5hdGlvbk9iamVjdC5zaXplIDwgcGFnaW5hdGlvbk9iamVjdC5jb2xsZWN0aW9uU2l6ZVwiPlxuICAgICAgPHYtYnV0dG9uIChjbGlja0V2ZW50KT1cInNldFBhZ2UoJ25leHQnKVwiIHR5cGU9XCJ0ZXh0XCIgW2Rpc2FibGVkXT1cImxvYWRpbmdcIj57e1xuICAgICAgICAnaW50ZXJmYWNlLm5leHRBcnJvdycgfCB0cmFuc2xhdGVcbiAgICAgIH19PC92LWJ1dHRvbj5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -55,11 +55,11 @@ export class UploaderComponent {
|
|
|
55
55
|
});
|
|
56
56
|
}
|
|
57
57
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, deps: [{ token: i1.S3Service }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "valtimo-uploader", inputs: { showFileList: "showFileList" }, outputs: { resourcesChanged: "resourcesChanged", resourceRegistered: "resourceRegistered" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"upload-file-container p-5\"\n (click)=\"fileInput.click()\"\n valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\"\n>\n <span class=\"align-middle\"><i class=\"mdi mdi-cloud-upload\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple />\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong\n ><br />\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"icon mdi mdi-delete text-danger\"></i>\n </button>\n </div>\n</div>\n", styles: [".upload-file-container{background-repeat:no-repeat;background-size:100px;background-position:center;margin:0 0 1rem;border:2px dashed #d5d8de;text-align:center;color:#d5d8de;background-color:#fff}.upload-file-container i.mdi-cloud-upload{font-size:5em}.upload-file-container:hover{cursor:pointer;opacity:.8}.files-list{display:flex;justify-content:space-between;margin:1rem auto;background:#
|
|
58
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: UploaderComponent, selector: "valtimo-uploader", inputs: { showFileList: "showFileList" }, outputs: { resourcesChanged: "resourcesChanged", resourceRegistered: "resourceRegistered" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"upload-file-container p-5\"\n (click)=\"fileInput.click()\"\n valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\"\n>\n <span class=\"align-middle\"><i class=\"mdi mdi-cloud-upload\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple />\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong\n ><br />\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"icon mdi mdi-delete text-danger\"></i>\n </button>\n </div>\n</div>\n", styles: [".upload-file-container{background-repeat:no-repeat;background-size:100px;background-position:center;margin:0 0 1rem;border:2px dashed #d5d8de;text-align:center;color:#d5d8de;background-color:#fff}.upload-file-container i.mdi-cloud-upload{font-size:5em}.upload-file-container:hover{cursor:pointer;opacity:.8}.files-list{display:flex;justify-content:space-between;margin:1rem auto;background:#fff;border:1px solid #bdc0c7;padding:5px;font-size:1em}.files-list .delete-file{background:transparent;border:none;cursor:pointer}.files-list .delete-file i{font-size:1.5em}\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.UploaderDragDropDirective, selector: "[valtimoUploaderDragDrop]", outputs: ["fileDropped"] }, { kind: "pipe", type: i4.FileSizePipe, name: "filesize" }] }); }
|
|
59
59
|
}
|
|
60
60
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: UploaderComponent, decorators: [{
|
|
61
61
|
type: Component,
|
|
62
|
-
args: [{ selector: 'valtimo-uploader', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"upload-file-container p-5\"\n (click)=\"fileInput.click()\"\n valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\"\n>\n <span class=\"align-middle\"><i class=\"mdi mdi-cloud-upload\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple />\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong\n ><br />\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"icon mdi mdi-delete text-danger\"></i>\n </button>\n </div>\n</div>\n", styles: [".upload-file-container{background-repeat:no-repeat;background-size:100px;background-position:center;margin:0 0 1rem;border:2px dashed #d5d8de;text-align:center;color:#d5d8de;background-color:#fff}.upload-file-container i.mdi-cloud-upload{font-size:5em}.upload-file-container:hover{cursor:pointer;opacity:.8}.files-list{display:flex;justify-content:space-between;margin:1rem auto;background:#
|
|
62
|
+
args: [{ selector: 'valtimo-uploader', template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div\n class=\"upload-file-container p-5\"\n (click)=\"fileInput.click()\"\n valtimoUploaderDragDrop\n (fileDropped)=\"onFileFieldChange($event)\"\n>\n <span class=\"align-middle\"><i class=\"mdi mdi-cloud-upload\"></i></span>\n <input hidden type=\"file\" #fileInput (change)=\"onFileFieldChange($event.target.files)\" multiple />\n</div>\n<div *ngIf=\"showFileList\">\n <div class=\"files-list px-3 py-2\" *ngFor=\"let resource of resources\">\n <p class=\"m-0\">\n <strong>{{ resource.name }}</strong\n ><br />\n {{ resource.sizeInBytes | filesize }}\n </p>\n <button class=\"delete-file\" (click)=\"deleteResource(resource)\">\n <i class=\"icon mdi mdi-delete text-danger\"></i>\n </button>\n </div>\n</div>\n", styles: [".upload-file-container{background-repeat:no-repeat;background-size:100px;background-position:center;margin:0 0 1rem;border:2px dashed #d5d8de;text-align:center;color:#d5d8de;background-color:#fff}.upload-file-container i.mdi-cloud-upload{font-size:5em}.upload-file-container:hover{cursor:pointer;opacity:.8}.files-list{display:flex;justify-content:space-between;margin:1rem auto;background:#fff;border:1px solid #bdc0c7;padding:5px;font-size:1em}.files-list .delete-file{background:transparent;border:none;cursor:pointer}.files-list .delete-file i{font-size:1.5em}\n"] }]
|
|
63
63
|
}], ctorParameters: function () { return [{ type: i1.S3Service }]; }, propDecorators: { resourcesChanged: [{
|
|
64
64
|
type: Output
|
|
65
65
|
}], resourceRegistered: [{
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
const BOOLEAN_CONVERTER_VALUES = ['Yes', 'No'];
|
|
2
2
|
export { BOOLEAN_CONVERTER_VALUES };
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlldy10eXBlLWNvbnZlcnRlci5jb25zdGFudHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9jb25zdGFudHMvdmlldy10eXBlLWNvbnZlcnRlci5jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUU5QyxPQUFPLEVBQUMsd0JBQXdCLEVBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IEJPT0xFQU5fQ09OVkVSVEVSX1ZBTFVFUyA9IFsnWWVzJywgJ05vJ11cblxuZXhwb3J0IHtCT09MRUFOX0NPTlZFUlRFUl9WQUxVRVN9O1xuIl19
|
|
@@ -13,13 +13,14 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import { ContentChild, Directive, TemplateRef } from '@angular/core';
|
|
16
|
+
import { ContentChild, Directive, Input, TemplateRef } from '@angular/core';
|
|
17
17
|
import { take } from 'rxjs';
|
|
18
18
|
import * as i0 from "@angular/core";
|
|
19
19
|
import * as i1 from "../../components/page-title/page-title.service";
|
|
20
20
|
export class RenderInPageHeaderDirective {
|
|
21
21
|
constructor(pageTitleService) {
|
|
22
22
|
this.pageTitleService = pageTitleService;
|
|
23
|
+
this.fullWidth = false;
|
|
23
24
|
}
|
|
24
25
|
ngAfterContentInit() {
|
|
25
26
|
this.pageTitleService.pageActionsViewContainerRef$.pipe(take(1)).subscribe(pageActionsVcr => {
|
|
@@ -27,11 +28,12 @@ export class RenderInPageHeaderDirective {
|
|
|
27
28
|
pageActionsVcr.clear();
|
|
28
29
|
pageActionsVcr.createEmbeddedView(this.templateRef);
|
|
29
30
|
this.pageTitleService.setHasPageActions(true);
|
|
31
|
+
this.pageTitleService.setPageActionsFullWidth(this.fullWidth);
|
|
30
32
|
}
|
|
31
33
|
});
|
|
32
34
|
}
|
|
33
35
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderInPageHeaderDirective, deps: [{ token: i1.PageTitleService }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
34
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderInPageHeaderDirective, selector: "[renderInPageHeader]", queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
|
|
36
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: RenderInPageHeaderDirective, selector: "[renderInPageHeader]", inputs: { fullWidth: "fullWidth" }, queries: [{ propertyName: "templateRef", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0 }); }
|
|
35
37
|
}
|
|
36
38
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: RenderInPageHeaderDirective, decorators: [{
|
|
37
39
|
type: Directive,
|
|
@@ -39,5 +41,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
39
41
|
}], ctorParameters: function () { return [{ type: i1.PageTitleService }]; }, propDecorators: { templateRef: [{
|
|
40
42
|
type: ContentChild,
|
|
41
43
|
args: [TemplateRef]
|
|
44
|
+
}], fullWidth: [{
|
|
45
|
+
type: Input
|
|
42
46
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
47
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVuZGVyLWluLXBhZ2UtaGVhZGVyLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvcmVuZGVyLWluLXBhZ2UtaGVhZGVyL3JlbmRlci1pbi1wYWdlLWhlYWRlci5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQW1CLFlBQVksRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUM1RixPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFJMUIsTUFBTSxPQUFPLDJCQUEyQjtJQUd0QyxZQUE2QixnQkFBa0M7UUFBbEMscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUR0RCxjQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3VDLENBQUM7SUFFbkUsa0JBQWtCO1FBQ2hCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLGNBQWMsQ0FBQyxFQUFFO1lBQzFGLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRTtnQkFDcEIsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFDO2dCQUN2QixjQUFjLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUNwRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7Z0JBQzlDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7YUFDL0Q7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7K0dBZFUsMkJBQTJCO21HQUEzQiwyQkFBMkIseUlBQ3hCLFdBQVc7OzRGQURkLDJCQUEyQjtrQkFEdkMsU0FBUzttQkFBQyxFQUFDLFFBQVEsRUFBRSxzQkFBc0IsRUFBQzt1R0FFaEIsV0FBVztzQkFBckMsWUFBWTt1QkFBQyxXQUFXO2dCQUNoQixTQUFTO3NCQUFqQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtBZnRlckNvbnRlbnRJbml0LCBDb250ZW50Q2hpbGQsIERpcmVjdGl2ZSwgSW5wdXQsIFRlbXBsYXRlUmVmfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dGFrZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge1BhZ2VUaXRsZVNlcnZpY2V9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvcGFnZS10aXRsZS9wYWdlLXRpdGxlLnNlcnZpY2UnO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1tyZW5kZXJJblBhZ2VIZWFkZXJdJ30pXG5leHBvcnQgY2xhc3MgUmVuZGVySW5QYWdlSGVhZGVyRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCB7XG4gIEBDb250ZW50Q2hpbGQoVGVtcGxhdGVSZWYpIHRlbXBsYXRlUmVmO1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYWdlVGl0bGVTZXJ2aWNlOiBQYWdlVGl0bGVTZXJ2aWNlKSB7fVxuXG4gIG5nQWZ0ZXJDb250ZW50SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnBhZ2VUaXRsZVNlcnZpY2UucGFnZUFjdGlvbnNWaWV3Q29udGFpbmVyUmVmJC5waXBlKHRha2UoMSkpLnN1YnNjcmliZShwYWdlQWN0aW9uc1ZjciA9PiB7XG4gICAgICBpZiAodGhpcy50ZW1wbGF0ZVJlZikge1xuICAgICAgICBwYWdlQWN0aW9uc1Zjci5jbGVhcigpO1xuICAgICAgICBwYWdlQWN0aW9uc1Zjci5jcmVhdGVFbWJlZGRlZFZpZXcodGhpcy50ZW1wbGF0ZVJlZik7XG4gICAgICAgIHRoaXMucGFnZVRpdGxlU2VydmljZS5zZXRIYXNQYWdlQWN0aW9ucyh0cnVlKTtcbiAgICAgICAgdGhpcy5wYWdlVGl0bGVTZXJ2aWNlLnNldFBhZ2VBY3Rpb25zRnVsbFdpZHRoKHRoaXMuZnVsbFdpZHRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -21,7 +21,7 @@ export class TooltipComponent {
|
|
|
21
21
|
this.text = '';
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipComponent, selector: "v-tooltip", inputs: { text: "text" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div @tooltip>{{ text }}</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */:host{display:block}div{background-color:var(--v-tooltip-bg-color);color:var(--v-tooltip-font-color);padding-inline-start:var(--v-tooltip-spacing-inline);padding-inline-end:var(--v-tooltip-spacing-inline);padding-block-start:var(--v-tooltip-spacing-block);padding-block-end:var(--v-tooltip-spacing-block);border-radius:var(--v-tooltip-border-radius);font-size:var(--v-tooltip-font-size);font-weight:var(--v-tooltip-font-weight);line-height:var(--v-tooltip-line-height);max-width:var(--v-tooltip-max-width)}::ng-deep .cdk-overlay-container,::ng-deep .cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}::ng-deep .cdk-overlay-container{position:fixed;z-index:11000}::ng-deep .cdk-overlay-container:empty{display:none}::ng-deep .cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:11001}::ng-deep .cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:11001;display:flex;max-width:11001%;max-height:11001%}::ng-deep .cdk-overlay-backdrop{position:absolute;inset:0;z-index:11001;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}::ng-deep .cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}::ng-deep .cdk-overlay-dark-backdrop{background
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TooltipComponent, selector: "v-tooltip", inputs: { text: "text" }, ngImport: i0, template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div @tooltip>{{ text }}</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */:host{display:block}div{background-color:var(--v-tooltip-bg-color);color:var(--v-tooltip-font-color);padding-inline-start:var(--v-tooltip-spacing-inline);padding-inline-end:var(--v-tooltip-spacing-inline);padding-block-start:var(--v-tooltip-spacing-block);padding-block-end:var(--v-tooltip-spacing-block);border-radius:var(--v-tooltip-border-radius);font-size:var(--v-tooltip-font-size);font-weight:var(--v-tooltip-font-weight);line-height:var(--v-tooltip-line-height);max-width:var(--v-tooltip-max-width)}::ng-deep .cdk-overlay-container,::ng-deep .cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}::ng-deep .cdk-overlay-container{position:fixed;z-index:11000}::ng-deep .cdk-overlay-container:empty{display:none}::ng-deep .cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:11001}::ng-deep .cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:11001;display:flex;max-width:11001%;max-height:11001%}::ng-deep .cdk-overlay-backdrop{position:absolute;inset:0;z-index:11001;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}::ng-deep .cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}::ng-deep .cdk-overlay-dark-backdrop{background:#00000052}::ng-deep .cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}::ng-deep .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}::ng-deep .cdk-overlay-connected-position-bounding-box{position:absolute;z-index:11001;display:flex;flex-direction:column;min-width:1px;min-height:1px}::ng-deep .cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}\n"], animations: [
|
|
25
25
|
trigger('tooltip', [
|
|
26
26
|
transition(':enter', [style({ opacity: 0 }), animate(300, style({ opacity: 1 }))]),
|
|
27
27
|
transition(':leave', [animate(300, style({ opacity: 0 }))]),
|
|
@@ -35,8 +35,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
35
35
|
transition(':enter', [style({ opacity: 0 }), animate(300, style({ opacity: 1 }))]),
|
|
36
36
|
transition(':leave', [animate(300, style({ opacity: 0 }))]),
|
|
37
37
|
]),
|
|
38
|
-
], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div @tooltip>{{ text }}</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */:host{display:block}div{background-color:var(--v-tooltip-bg-color);color:var(--v-tooltip-font-color);padding-inline-start:var(--v-tooltip-spacing-inline);padding-inline-end:var(--v-tooltip-spacing-inline);padding-block-start:var(--v-tooltip-spacing-block);padding-block-end:var(--v-tooltip-spacing-block);border-radius:var(--v-tooltip-border-radius);font-size:var(--v-tooltip-font-size);font-weight:var(--v-tooltip-font-weight);line-height:var(--v-tooltip-line-height);max-width:var(--v-tooltip-max-width)}::ng-deep .cdk-overlay-container,::ng-deep .cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}::ng-deep .cdk-overlay-container{position:fixed;z-index:11000}::ng-deep .cdk-overlay-container:empty{display:none}::ng-deep .cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:11001}::ng-deep .cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:11001;display:flex;max-width:11001%;max-height:11001%}::ng-deep .cdk-overlay-backdrop{position:absolute;inset:0;z-index:11001;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}::ng-deep .cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}::ng-deep .cdk-overlay-dark-backdrop{background
|
|
38
|
+
], template: "<!--\n ~ Copyright 2015-2023 Ritense BV, the Netherlands.\n ~\n ~ Licensed under EUPL, Version 1.2 (the \"License\");\n ~ you may not use this file except in compliance with the License.\n ~ You may obtain a copy of the License at\n ~\n ~ https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n ~\n ~ Unless required by applicable law or agreed to in writing, software\n ~ distributed under the License is distributed on an \"AS IS\" basis,\n ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n ~ See the License for the specific language governing permissions and\n ~ limitations under the License.\n -->\n\n<div @tooltip>{{ text }}</div>\n", styles: ["/*!\n * Copyright 2015-2023 Ritense BV, the Netherlands.\n *\n * Licensed under EUPL, Version 1.2 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" basis,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */:host{display:block}div{background-color:var(--v-tooltip-bg-color);color:var(--v-tooltip-font-color);padding-inline-start:var(--v-tooltip-spacing-inline);padding-inline-end:var(--v-tooltip-spacing-inline);padding-block-start:var(--v-tooltip-spacing-block);padding-block-end:var(--v-tooltip-spacing-block);border-radius:var(--v-tooltip-border-radius);font-size:var(--v-tooltip-font-size);font-weight:var(--v-tooltip-font-weight);line-height:var(--v-tooltip-line-height);max-width:var(--v-tooltip-max-width)}::ng-deep .cdk-overlay-container,::ng-deep .cdk-global-overlay-wrapper{pointer-events:none;top:0;left:0;height:100%;width:100%}::ng-deep .cdk-overlay-container{position:fixed;z-index:11000}::ng-deep .cdk-overlay-container:empty{display:none}::ng-deep .cdk-global-overlay-wrapper{display:flex;position:absolute;z-index:11001}::ng-deep .cdk-overlay-pane{position:absolute;pointer-events:auto;box-sizing:border-box;z-index:11001;display:flex;max-width:11001%;max-height:11001%}::ng-deep .cdk-overlay-backdrop{position:absolute;inset:0;z-index:11001;pointer-events:auto;-webkit-tap-highlight-color:transparent;transition:opacity .4s cubic-bezier(.25,.8,.25,1);opacity:0}::ng-deep .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:1}::ng-deep .cdk-high-contrast-active .cdk-overlay-backdrop.cdk-overlay-backdrop-showing{opacity:.6}::ng-deep .cdk-overlay-dark-backdrop{background:#00000052}::ng-deep .cdk-overlay-transparent-backdrop{transition:visibility 1ms linear,opacity 1ms linear;visibility:hidden;opacity:1}::ng-deep .cdk-overlay-transparent-backdrop.cdk-overlay-backdrop-showing{opacity:0;visibility:visible}::ng-deep .cdk-overlay-connected-position-bounding-box{position:absolute;z-index:11001;display:flex;flex-direction:column;min-width:1px;min-height:1px}::ng-deep .cdk-global-scrollblock{position:fixed;width:100%;overflow-y:scroll}\n"] }]
|
|
39
39
|
}], propDecorators: { text: [{
|
|
40
40
|
type: Input
|
|
41
41
|
}] } });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQy9DLE9BQU8sRUFBQyxPQUFPLEVBQUUsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQzs7QUFheEUsTUFBTSxPQUFPLGdCQUFnQjtJQVg3QjtRQVlXLFNBQUksR0FBRyxFQUFFLENBQUM7S0FDcEI7K0dBRlksZ0JBQWdCO21HQUFoQixnQkFBZ0IsMkVDOUI3QixrckJBaUJBLHc5RURNYztZQUNWLE9BQU8sQ0FBQyxTQUFTLEVBQUU7Z0JBQ2pCLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDOUUsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQzFELENBQUM7U0FDSDs7NEZBRVUsZ0JBQWdCO2tCQVg1QixTQUFTOytCQUNFLFdBQVcsY0FHVDt3QkFDVixPQUFPLENBQUMsU0FBUyxFQUFFOzRCQUNqQixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLEVBQUMsT0FBTyxFQUFFLENBQUMsRUFBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsRUFBQyxPQUFPLEVBQUUsQ0FBQyxFQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7NEJBQzlFLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzt5QkFDMUQsQ0FBQztxQkFDSDs4QkFHUSxJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IDIwMTUtMjAyMyBSaXRlbnNlIEJWLCB0aGUgTmV0aGVybGFuZHMuXG4gKlxuICogTGljZW5zZWQgdW5kZXIgRVVQTCwgVmVyc2lvbiAxLjIgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiBodHRwczovL2pvaW51cC5lYy5ldXJvcGEuZXUvY29sbGVjdGlvbi9ldXBsL2V1cGwtdGV4dC1ldXBsLTEyXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIGJhc2lzLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuXG5pbXBvcnQge0NvbXBvbmVudCwgSW5wdXR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHthbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlcn0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3YtdG9vbHRpcCcsXG4gIHN0eWxlVXJsczogWycuL3Rvb2x0aXAuY29tcG9uZW50LnNjc3MnXSxcbiAgdGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAuY29tcG9uZW50Lmh0bWwnLFxuICBhbmltYXRpb25zOiBbXG4gICAgdHJpZ2dlcigndG9vbHRpcCcsIFtcbiAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtzdHlsZSh7b3BhY2l0eTogMH0pLCBhbmltYXRlKDMwMCwgc3R5bGUoe29wYWNpdHk6IDF9KSldKSxcbiAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFthbmltYXRlKDMwMCwgc3R5bGUoe29wYWNpdHk6IDB9KSldKSxcbiAgICBdKSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHRleHQgPSAnJztcbn1cbiIsIjwhLS1cbiAgfiBDb3B5cmlnaHQgMjAxNS0yMDIzIFJpdGVuc2UgQlYsIHRoZSBOZXRoZXJsYW5kcy5cbiAgflxuICB+IExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICB+IHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgfiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAgflxuICB+IGh0dHBzOi8vam9pbnVwLmVjLmV1cm9wYS5ldS9jb2xsZWN0aW9uL2V1cGwvZXVwbC10ZXh0LWV1cGwtMTJcbiAgflxuICB+IFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgfiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgYmFzaXMsXG4gIH4gV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gIH4gU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICB+IGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICAtLT5cblxuPGRpdiBAdG9vbHRpcD57eyB0ZXh0IH19PC9kaXY+XG4iXX0=
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { NgModule } from '@angular/core';
|
|
17
|
+
import { CommonModule } from '@angular/common';
|
|
18
|
+
import { ValtimoCdsOverflowButtonDirective } from './valtimo-cds-overflow-button.directive';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
export class ValtimoCdsOverflowButtonDirectiveModule {
|
|
21
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirectiveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirectiveModule, declarations: [ValtimoCdsOverflowButtonDirective], imports: [CommonModule], exports: [ValtimoCdsOverflowButtonDirective] }); }
|
|
23
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirectiveModule, imports: [CommonModule] }); }
|
|
24
|
+
}
|
|
25
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirectiveModule, decorators: [{
|
|
26
|
+
type: NgModule,
|
|
27
|
+
args: [{
|
|
28
|
+
declarations: [ValtimoCdsOverflowButtonDirective],
|
|
29
|
+
imports: [CommonModule],
|
|
30
|
+
exports: [ValtimoCdsOverflowButtonDirective],
|
|
31
|
+
}]
|
|
32
|
+
}] });
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGltby1jZHMtb3ZlcmZsb3ctYnV0dG9uLWRpcmVjdGl2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92YWx0aW1vL2NvbXBvbmVudHMvc3JjL2xpYi9kaXJlY3RpdmVzL3ZhbHRpbW8tY2RzLW92ZXJmbG93LWJ1dHRvbi92YWx0aW1vLWNkcy1vdmVyZmxvdy1idXR0b24tZGlyZWN0aXZlLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7R0FjRztBQUVILE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDdkMsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQzdDLE9BQU8sRUFBQyxpQ0FBaUMsRUFBQyxNQUFNLHlDQUF5QyxDQUFDOztBQU8xRixNQUFNLE9BQU8sdUNBQXVDOytHQUF2Qyx1Q0FBdUM7Z0hBQXZDLHVDQUF1QyxpQkFKbkMsaUNBQWlDLGFBQ3RDLFlBQVksYUFDWixpQ0FBaUM7Z0hBRWhDLHVDQUF1QyxZQUh4QyxZQUFZOzs0RkFHWCx1Q0FBdUM7a0JBTG5ELFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFLENBQUMsaUNBQWlDLENBQUM7b0JBQ2pELE9BQU8sRUFBRSxDQUFDLFlBQVksQ0FBQztvQkFDdkIsT0FBTyxFQUFFLENBQUMsaUNBQWlDLENBQUM7aUJBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtOZ01vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0NvbW1vbk1vZHVsZX0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7VmFsdGltb0Nkc092ZXJmbG93QnV0dG9uRGlyZWN0aXZlfSBmcm9tICcuL3ZhbHRpbW8tY2RzLW92ZXJmbG93LWJ1dHRvbi5kaXJlY3RpdmUnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtWYWx0aW1vQ2RzT3ZlcmZsb3dCdXR0b25EaXJlY3RpdmVdLFxuICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlXSxcbiAgZXhwb3J0czogW1ZhbHRpbW9DZHNPdmVyZmxvd0J1dHRvbkRpcmVjdGl2ZV0sXG59KVxuZXhwb3J0IGNsYXNzIFZhbHRpbW9DZHNPdmVyZmxvd0J1dHRvbkRpcmVjdGl2ZU1vZHVsZSB7fVxuIl19
|
package/esm2022/lib/directives/valtimo-cds-overflow-button/valtimo-cds-overflow-button.directive.mjs
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2015-2023 Ritense BV, the Netherlands.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under EUPL, Version 1.2 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* https://joinup.ec.europa.eu/collection/eupl/eupl-text-eupl-12
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" basis,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import { DOCUMENT } from '@angular/common';
|
|
17
|
+
import { Directive, Inject, Input, } from '@angular/core';
|
|
18
|
+
import { v4 as uuidv4 } from 'uuid';
|
|
19
|
+
import * as i0 from "@angular/core";
|
|
20
|
+
import * as i1 from "carbon-components-angular";
|
|
21
|
+
export class ValtimoCdsOverflowButtonDirective {
|
|
22
|
+
constructor(document, elementRef, renderer, host) {
|
|
23
|
+
this.document = document;
|
|
24
|
+
this.elementRef = elementRef;
|
|
25
|
+
this.renderer = renderer;
|
|
26
|
+
this.host = host;
|
|
27
|
+
this.width = 0;
|
|
28
|
+
this.WRAPPER_CLASS = uuidv4();
|
|
29
|
+
}
|
|
30
|
+
ngAfterViewInit() {
|
|
31
|
+
this.openMutationObserver();
|
|
32
|
+
this.setHostInputs();
|
|
33
|
+
this.setStyles();
|
|
34
|
+
}
|
|
35
|
+
ngOnDestroy() {
|
|
36
|
+
this._observer?.disconnect();
|
|
37
|
+
}
|
|
38
|
+
setStyles() {
|
|
39
|
+
const overflowMenuElement = this.elementRef.nativeElement.firstChild;
|
|
40
|
+
const firstChildElement = overflowMenuElement.firstChild;
|
|
41
|
+
this.renderer.setStyle(overflowMenuElement, 'visibility', 'hidden');
|
|
42
|
+
this.renderer.setStyle(overflowMenuElement, 'display', 'flex');
|
|
43
|
+
this.renderer.setStyle(overflowMenuElement, 'width', 'min-content');
|
|
44
|
+
this.renderer.setStyle(overflowMenuElement, 'height', 'min-content');
|
|
45
|
+
this.renderer.setStyle(firstChildElement, 'visibility', 'visible');
|
|
46
|
+
}
|
|
47
|
+
setHostInputs() {
|
|
48
|
+
this.host.wrapperClass = this.WRAPPER_CLASS;
|
|
49
|
+
this.host.flip = true;
|
|
50
|
+
}
|
|
51
|
+
openMutationObserver() {
|
|
52
|
+
this._observer = new MutationObserver(() => {
|
|
53
|
+
const overflowMenuElements = Array.from(this.document.getElementsByClassName(this.WRAPPER_CLASS));
|
|
54
|
+
const overFlowMenuElement = overflowMenuElements[0];
|
|
55
|
+
if (overFlowMenuElement) {
|
|
56
|
+
this.setOverFlowMenuProperties(overFlowMenuElement);
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
this._observer.observe(this.document, {
|
|
60
|
+
childList: true,
|
|
61
|
+
subtree: true,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
setOverFlowMenuProperties(element) {
|
|
65
|
+
this.renderer.addClass(element, 'hide-after');
|
|
66
|
+
if (this.width) {
|
|
67
|
+
this.renderer.setStyle(element, 'width', `${this.width}px`);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirective, deps: [{ token: DOCUMENT }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i1.OverflowMenu }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
71
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "16.2.12", type: ValtimoCdsOverflowButtonDirective, selector: "[valtimoCdsOverflowButton]", inputs: { width: "width" }, ngImport: i0 }); }
|
|
72
|
+
}
|
|
73
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ValtimoCdsOverflowButtonDirective, decorators: [{
|
|
74
|
+
type: Directive,
|
|
75
|
+
args: [{ selector: '[valtimoCdsOverflowButton]' }]
|
|
76
|
+
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [DOCUMENT]
|
|
79
|
+
}] }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i1.OverflowMenu }]; }, propDecorators: { width: [{
|
|
80
|
+
type: Input
|
|
81
|
+
}] } });
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdGltby1jZHMtb3ZlcmZsb3ctYnV0dG9uLmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ZhbHRpbW8vY29tcG9uZW50cy9zcmMvbGliL2RpcmVjdGl2ZXMvdmFsdGltby1jZHMtb3ZlcmZsb3ctYnV0dG9uL3ZhbHRpbW8tY2RzLW92ZXJmbG93LWJ1dHRvbi5kaXJlY3RpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFFSCxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUVMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxHQUdOLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBQyxFQUFFLElBQUksTUFBTSxFQUFDLE1BQU0sTUFBTSxDQUFDOzs7QUFHbEMsTUFBTSxPQUFPLGlDQUFpQztJQU01QyxZQUM0QixRQUFrQixFQUMzQixVQUFzQixFQUN0QixRQUFtQixFQUNuQixJQUFrQjtRQUhULGFBQVEsR0FBUixRQUFRLENBQVU7UUFDM0IsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUN0QixhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQWM7UUFUNUIsVUFBSyxHQUFHLENBQUMsQ0FBQztRQUdGLGtCQUFhLEdBQUcsTUFBTSxFQUFFLENBQUM7SUFPdkMsQ0FBQztJQUVHLGVBQWU7UUFDcEIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUNuQixDQUFDO0lBRU0sV0FBVztRQUNoQixJQUFJLENBQUMsU0FBUyxFQUFFLFVBQVUsRUFBRSxDQUFDO0lBQy9CLENBQUM7SUFFTyxTQUFTO1FBQ2YsTUFBTSxtQkFBbUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7UUFDckUsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxVQUFVLENBQUM7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsWUFBWSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQ3BFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLG1CQUFtQixFQUFFLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztRQUMvRCxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDcEUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1FBQ3JFLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLGlCQUFpQixFQUFFLFlBQVksRUFBRSxTQUFTLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRU8sYUFBYTtRQUNuQixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUN4QixDQUFDO0lBRU8sb0JBQW9CO1FBQzFCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUU7WUFDekMsTUFBTSxvQkFBb0IsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLHNCQUFzQixDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FDekQsQ0FBQztZQUNGLE1BQU0sbUJBQW1CLEdBQUcsb0JBQW9CLENBQUMsQ0FBQyxDQUFxQixDQUFDO1lBRXhFLElBQUksbUJBQW1CLEVBQUU7Z0JBQ3ZCLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO2FBQ3JEO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ3BDLFNBQVMsRUFBRSxJQUFJO1lBQ2YsT0FBTyxFQUFFLElBQUk7U0FDZCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU8seUJBQXlCLENBQUMsT0FBeUI7UUFDekQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQyxDQUFDO1FBRTlDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQztTQUM3RDtJQUNILENBQUM7K0dBOURVLGlDQUFpQyxrQkFPbEMsUUFBUTttR0FQUCxpQ0FBaUM7OzRGQUFqQyxpQ0FBaUM7a0JBRDdDLFNBQVM7bUJBQUMsRUFBQyxRQUFRLEVBQUUsNEJBQTRCLEVBQUM7OzBCQVE5QyxNQUFNOzJCQUFDLFFBQVE7d0hBTlQsS0FBSztzQkFBYixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE1LTIwMjMgUml0ZW5zZSBCViwgdGhlIE5ldGhlcmxhbmRzLlxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIEVVUEwsIFZlcnNpb24gMS4yICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogaHR0cHM6Ly9qb2ludXAuZWMuZXVyb3BhLmV1L2NvbGxlY3Rpb24vZXVwbC9ldXBsLXRleHQtZXVwbC0xMlxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBiYXNpcyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cblxuaW1wb3J0IHtET0NVTUVOVH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT25EZXN0cm95LFxuICBSZW5kZXJlcjIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtPdmVyZmxvd01lbnV9IGZyb20gJ2NhcmJvbi1jb21wb25lbnRzLWFuZ3VsYXInO1xuaW1wb3J0IHt2NCBhcyB1dWlkdjR9IGZyb20gJ3V1aWQnO1xuXG5ARGlyZWN0aXZlKHtzZWxlY3RvcjogJ1t2YWx0aW1vQ2RzT3ZlcmZsb3dCdXR0b25dJ30pXG5leHBvcnQgY2xhc3MgVmFsdGltb0Nkc092ZXJmbG93QnV0dG9uRGlyZWN0aXZlIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQElucHV0KCkgd2lkdGggPSAwO1xuXG4gIHByaXZhdGUgX29ic2VydmVyITogTXV0YXRpb25PYnNlcnZlcjtcbiAgcHJpdmF0ZSByZWFkb25seSBXUkFQUEVSX0NMQVNTID0gdXVpZHY0KCk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBkb2N1bWVudDogRG9jdW1lbnQsXG4gICAgcHJpdmF0ZSByZWFkb25seSBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBwcml2YXRlIHJlYWRvbmx5IGhvc3Q6IE92ZXJmbG93TWVudVxuICApIHt9XG5cbiAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLm9wZW5NdXRhdGlvbk9ic2VydmVyKCk7XG4gICAgdGhpcy5zZXRIb3N0SW5wdXRzKCk7XG4gICAgdGhpcy5zZXRTdHlsZXMoKTtcbiAgfVxuXG4gIHB1YmxpYyBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLl9vYnNlcnZlcj8uZGlzY29ubmVjdCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRTdHlsZXMoKTogdm9pZCB7XG4gICAgY29uc3Qgb3ZlcmZsb3dNZW51RWxlbWVudCA9IHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmZpcnN0Q2hpbGQ7XG4gICAgY29uc3QgZmlyc3RDaGlsZEVsZW1lbnQgPSBvdmVyZmxvd01lbnVFbGVtZW50LmZpcnN0Q2hpbGQ7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZShvdmVyZmxvd01lbnVFbGVtZW50LCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJmbG93TWVudUVsZW1lbnQsICdkaXNwbGF5JywgJ2ZsZXgnKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKG92ZXJmbG93TWVudUVsZW1lbnQsICd3aWR0aCcsICdtaW4tY29udGVudCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUob3ZlcmZsb3dNZW51RWxlbWVudCwgJ2hlaWdodCcsICdtaW4tY29udGVudCcpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZmlyc3RDaGlsZEVsZW1lbnQsICd2aXNpYmlsaXR5JywgJ3Zpc2libGUnKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0SG9zdElucHV0cygpOiB2b2lkIHtcbiAgICB0aGlzLmhvc3Qud3JhcHBlckNsYXNzID0gdGhpcy5XUkFQUEVSX0NMQVNTO1xuICAgIHRoaXMuaG9zdC5mbGlwID0gdHJ1ZTtcbiAgfVxuXG4gIHByaXZhdGUgb3Blbk11dGF0aW9uT2JzZXJ2ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fb2JzZXJ2ZXIgPSBuZXcgTXV0YXRpb25PYnNlcnZlcigoKSA9PiB7XG4gICAgICBjb25zdCBvdmVyZmxvd01lbnVFbGVtZW50cyA9IEFycmF5LmZyb20oXG4gICAgICAgIHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSh0aGlzLldSQVBQRVJfQ0xBU1MpXG4gICAgICApO1xuICAgICAgY29uc3Qgb3ZlckZsb3dNZW51RWxlbWVudCA9IG92ZXJmbG93TWVudUVsZW1lbnRzWzBdIGFzIEhUTUxVTGlzdEVsZW1lbnQ7XG5cbiAgICAgIGlmIChvdmVyRmxvd01lbnVFbGVtZW50KSB7XG4gICAgICAgIHRoaXMuc2V0T3ZlckZsb3dNZW51UHJvcGVydGllcyhvdmVyRmxvd01lbnVFbGVtZW50KTtcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMuX29ic2VydmVyLm9ic2VydmUodGhpcy5kb2N1bWVudCwge1xuICAgICAgY2hpbGRMaXN0OiB0cnVlLFxuICAgICAgc3VidHJlZTogdHJ1ZSxcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0T3ZlckZsb3dNZW51UHJvcGVydGllcyhlbGVtZW50OiBIVE1MVUxpc3RFbGVtZW50KTogdm9pZCB7XG4gICAgdGhpcy5yZW5kZXJlci5hZGRDbGFzcyhlbGVtZW50LCAnaGlkZS1hZnRlcicpO1xuXG4gICAgaWYgKHRoaXMud2lkdGgpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUoZWxlbWVudCwgJ3dpZHRoJywgYCR7dGhpcy53aWR0aH1weGApO1xuICAgIH1cbiAgfVxufVxuIl19
|