@tilde-nlp/ngx-common 6.1.94 → 8.0.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/fesm2022/tilde-nlp-ngx-common.mjs +227 -233
- package/fesm2022/tilde-nlp-ngx-common.mjs.map +1 -1
- package/index.d.ts +2468 -3
- package/package.json +7 -9
- package/styles/tilde-theme.scss +2 -1
- package/web-components/3rdpartylicenses.txt +22 -22
- package/web-components/index.html +2 -2
- package/web-components/main.js +26 -15
- package/web-components/polyfills.js +3 -3
- package/web-components/prerendered-routes.json +3 -0
- package/web-components/styles.css +1 -1
- package/esm2022/lib/close-button/close-button.component.mjs +0 -53
- package/esm2022/lib/close-button/close-button.module.mjs +0 -37
- package/esm2022/lib/close-button/index.mjs +0 -3
- package/esm2022/lib/company-product/company-product.component.mjs +0 -34
- package/esm2022/lib/company-product/company-product.module.mjs +0 -23
- package/esm2022/lib/company-product/index.mjs +0 -3
- package/esm2022/lib/confirmation-modal/confirmation-modal.component.mjs +0 -78
- package/esm2022/lib/confirmation-modal/confirmation-modal.module.mjs +0 -22
- package/esm2022/lib/confirmation-modal/index.mjs +0 -6
- package/esm2022/lib/confirmation-modal/models/confirmation-body.model.mjs +0 -2
- package/esm2022/lib/confirmation-modal/models/confirmation.enum.mjs +0 -6
- package/esm2022/lib/confirmation-modal/services/confirmation.service.mjs +0 -25
- package/esm2022/lib/confirmation-modal/services/index.mjs +0 -2
- package/esm2022/lib/constants/error-codes.const.mjs +0 -5
- package/esm2022/lib/constants/index.mjs +0 -4
- package/esm2022/lib/constants/last-used-system-local-storage-key.const.mjs +0 -6
- package/esm2022/lib/constants/screen-size.const.mjs +0 -11
- package/esm2022/lib/core/auth/addon.model.mjs +0 -2
- package/esm2022/lib/core/auth/auth-subscription.model.mjs +0 -2
- package/esm2022/lib/core/auth/index.mjs +0 -5
- package/esm2022/lib/core/auth/jwt-token.model.mjs +0 -2
- package/esm2022/lib/core/auth/subscription-plan.enum.mjs +0 -18
- package/esm2022/lib/core/index.mjs +0 -4
- package/esm2022/lib/core/localization/index.mjs +0 -3
- package/esm2022/lib/core/localization/missing-translation-handler.service.mjs +0 -21
- package/esm2022/lib/core/localization/select-language-dialog-component/index.mjs +0 -2
- package/esm2022/lib/core/localization/select-language-dialog-component/select-language-dialog.component.mjs +0 -109
- package/esm2022/lib/core/title-strategy/custom-title-strategy.provider.mjs +0 -9
- package/esm2022/lib/core/title-strategy/custom-title-strategy.service.mjs +0 -41
- package/esm2022/lib/core/title-strategy/index.mjs +0 -3
- package/esm2022/lib/directives/click-outside/click-outside.directive.mjs +0 -31
- package/esm2022/lib/directives/click-outside/click-outside.module.mjs +0 -25
- package/esm2022/lib/directives/click-outside/index.mjs +0 -3
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.directive.mjs +0 -66
- package/esm2022/lib/directives/drag-and-drop/drag-and-drop.module.mjs +0 -25
- package/esm2022/lib/directives/drag-and-drop/index.mjs +0 -3
- package/esm2022/lib/directives/index.mjs +0 -4
- package/esm2022/lib/directives/mat-button-loading/index.mjs +0 -3
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.directive.mjs +0 -65
- package/esm2022/lib/directives/mat-button-loading/mat-button-loading.module.mjs +0 -21
- package/esm2022/lib/extension-dialog/components/index.mjs +0 -2
- package/esm2022/lib/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.mjs +0 -32
- package/esm2022/lib/extension-dialog/extension-dialog.component.mjs +0 -231
- package/esm2022/lib/extension-dialog/extension-dialog.module.mjs +0 -52
- package/esm2022/lib/extension-dialog/icons/file-types/excel.icon.mjs +0 -22
- package/esm2022/lib/extension-dialog/icons/file-types/index.mjs +0 -10
- package/esm2022/lib/extension-dialog/icons/file-types/interchange.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/office-other.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/other.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/pdf.icon.mjs +0 -12
- package/esm2022/lib/extension-dialog/icons/file-types/powerpoint.icon.mjs +0 -10
- package/esm2022/lib/extension-dialog/icons/file-types/scanned.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/web.icon.mjs +0 -6
- package/esm2022/lib/extension-dialog/icons/file-types/word.icon.mjs +0 -11
- package/esm2022/lib/extension-dialog/icons/index.mjs +0 -2
- package/esm2022/lib/extension-dialog/index.mjs +0 -6
- package/esm2022/lib/extension-dialog/models/enums/file-categories.enum.mjs +0 -9
- package/esm2022/lib/extension-dialog/models/enums/file-extensions.enum.mjs +0 -36
- package/esm2022/lib/extension-dialog/models/enums/file-type-icons.enum.mjs +0 -13
- package/esm2022/lib/extension-dialog/models/enums/file-types.enum.mjs +0 -13
- package/esm2022/lib/extension-dialog/models/enums/index.mjs +0 -5
- package/esm2022/lib/extension-dialog/models/index.mjs +0 -3
- package/esm2022/lib/extension-dialog/models/interfaces/config.mjs +0 -2
- package/esm2022/lib/extension-dialog/models/interfaces/dialog-data.model.mjs +0 -2
- package/esm2022/lib/extension-dialog/models/interfaces/index.mjs +0 -3
- package/esm2022/lib/extension-dialog/services/extension-dialog.service.mjs +0 -22
- package/esm2022/lib/extension-dialog/services/index.mjs +0 -2
- package/esm2022/lib/file-upload/file-upload.component.mjs +0 -254
- package/esm2022/lib/file-upload/file-upload.module.mjs +0 -51
- package/esm2022/lib/file-upload/index.mjs +0 -4
- package/esm2022/lib/file-upload/models/file-upload-error-type.enum.mjs +0 -8
- package/esm2022/lib/file-upload/models/file-upload-error.model.mjs +0 -2
- package/esm2022/lib/file-upload/models/file-upload.icon.mjs +0 -2
- package/esm2022/lib/file-upload/models/index.mjs +0 -3
- package/esm2022/lib/filter-bar/filter-bar.component.mjs +0 -409
- package/esm2022/lib/filter-bar/filter-bar.module.mjs +0 -72
- package/esm2022/lib/filter-bar/index.mjs +0 -4
- package/esm2022/lib/filter-bar/models/filter-bar-change-event.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-item.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-search.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter-single-selection.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-filter.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/filter-bar-settings.model.mjs +0 -2
- package/esm2022/lib/filter-bar/models/index.mjs +0 -5
- package/esm2022/lib/footer/footer.component.mjs +0 -143
- package/esm2022/lib/footer/footer.module.mjs +0 -35
- package/esm2022/lib/footer/index.mjs +0 -3
- package/esm2022/lib/global-message/global-message.component.mjs +0 -51
- package/esm2022/lib/global-message/index.mjs +0 -2
- package/esm2022/lib/helpers/auth-headers.helper.mjs +0 -19
- package/esm2022/lib/helpers/conversion.helper.mjs +0 -11
- package/esm2022/lib/helpers/custom-paginator-internatioinalization.helper.mjs +0 -56
- package/esm2022/lib/helpers/file-extension.helper.mjs +0 -6
- package/esm2022/lib/helpers/file-size-label.helper.mjs +0 -27
- package/esm2022/lib/helpers/hash.helper.mjs +0 -14
- package/esm2022/lib/helpers/html-element-parse.helper.mjs +0 -15
- package/esm2022/lib/helpers/html.helper.mjs +0 -57
- package/esm2022/lib/helpers/index.mjs +0 -13
- package/esm2022/lib/helpers/missing-translation.helper.mjs +0 -7
- package/esm2022/lib/helpers/resolution.helper.mjs +0 -7
- package/esm2022/lib/helpers/save-file.helper.mjs +0 -14
- package/esm2022/lib/helpers/sort.helper.mjs +0 -73
- package/esm2022/lib/inline-message/index.mjs +0 -4
- package/esm2022/lib/inline-message/inline-message.component.mjs +0 -71
- package/esm2022/lib/inline-message/inline-message.module.mjs +0 -33
- package/esm2022/lib/inline-message/models/index.mjs +0 -4
- package/esm2022/lib/inline-message/models/inline-message-icon-position.enum.mjs +0 -6
- package/esm2022/lib/inline-message/models/inline-message-type.enum.mjs +0 -7
- package/esm2022/lib/inline-message/models/inline-message.model.mjs +0 -2
- package/esm2022/lib/llm/components/llm-rephrase/llm-rephrase.component.mjs +0 -48
- package/esm2022/lib/llm/components/llm-summary/llm-summary.component.mjs +0 -48
- package/esm2022/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.mjs +0 -337
- package/esm2022/lib/llm/icons/index.mjs +0 -2
- package/esm2022/lib/llm/icons/llm-menu.icon.mjs +0 -14
- package/esm2022/lib/llm/index.mjs +0 -4
- package/esm2022/lib/llm/llm.component.mjs +0 -122
- package/esm2022/lib/llm/llm.module.mjs +0 -86
- package/esm2022/lib/llm/models/index.mjs +0 -4
- package/esm2022/lib/llm/models/llm-actions.enum.mjs +0 -6
- package/esm2022/lib/llm/models/llm-configuration.model.mjs +0 -2
- package/esm2022/lib/llm/models/llm-configuration.token.mjs +0 -3
- package/esm2022/lib/llm/models/llm-data.model.mjs +0 -2
- package/esm2022/lib/llm/models/llm-writing-style.enum.mjs +0 -7
- package/esm2022/lib/llm/services/llm-helper.service.mjs +0 -102
- package/esm2022/lib/llm/shared/llm-textarea/llm-textarea.component.mjs +0 -111
- package/esm2022/lib/multi-functional-table/constants/disable-export-attribute-name.const.mjs +0 -2
- package/esm2022/lib/multi-functional-table/constants/index.mjs +0 -2
- package/esm2022/lib/multi-functional-table/index.mjs +0 -5
- package/esm2022/lib/multi-functional-table/models/batch-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/column-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/column-select-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/export-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/export-format.enum.mjs +0 -5
- package/esm2022/lib/multi-functional-table/models/filter-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/index.mjs +0 -8
- package/esm2022/lib/multi-functional-table/models/multi-functional-table-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/paginator-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/models/selected-column-local-storage-config.model.mjs +0 -2
- package/esm2022/lib/multi-functional-table/multi-functional-table.component.mjs +0 -691
- package/esm2022/lib/multi-functional-table/multi-functional-table.module.mjs +0 -93
- package/esm2022/lib/new-feature-dialog/index.mjs +0 -3
- package/esm2022/lib/new-feature-dialog/models/index.mjs +0 -2
- package/esm2022/lib/new-feature-dialog/models/mobile-screen-custom-position.model.mjs +0 -2
- package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog-wrapper.component.mjs +0 -105
- package/esm2022/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog.service.mjs +0 -37
- package/esm2022/lib/new-feature-dialog/new-feature-dialog.component.mjs +0 -40
- package/esm2022/lib/notification-message/enums/index.mjs +0 -2
- package/esm2022/lib/notification-message/enums/notification-message-type.enum.mjs +0 -9
- package/esm2022/lib/notification-message/index.mjs +0 -5
- package/esm2022/lib/notification-message/interfaces/index.mjs +0 -2
- package/esm2022/lib/notification-message/interfaces/notification-message.model.mjs +0 -2
- package/esm2022/lib/notification-message/notification-message.component.mjs +0 -195
- package/esm2022/lib/notification-message/notification-message.module.mjs +0 -49
- package/esm2022/lib/open-close-button/index.mjs +0 -5
- package/esm2022/lib/open-close-button/injection-tokens/index.mjs +0 -2
- package/esm2022/lib/open-close-button/injection-tokens/open-close-btn-icons.token.mjs +0 -2
- package/esm2022/lib/open-close-button/models/index.mjs +0 -2
- package/esm2022/lib/open-close-button/models/open-close-btn-icons.model.mjs +0 -2
- package/esm2022/lib/open-close-button/open-close-button.component.mjs +0 -114
- package/esm2022/lib/open-close-button/open-close-button.module.mjs +0 -22
- package/esm2022/lib/pipes/date-ago/date-ago.module.mjs +0 -29
- package/esm2022/lib/pipes/date-ago/date-ago.pipe.mjs +0 -114
- package/esm2022/lib/pipes/date-ago/index.mjs +0 -3
- package/esm2022/lib/pipes/date-ago/models/date-ago-interval.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago-settings.token.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/date-ago.model.mjs +0 -2
- package/esm2022/lib/pipes/date-ago/models/index.mjs +0 -5
- package/esm2022/lib/pipes/domain-translate/domain-translate.pipe.mjs +0 -30
- package/esm2022/lib/pipes/domain-translate/index.mjs +0 -2
- package/esm2022/lib/pipes/file-size-label/enums/file-size-unit.enum.mjs +0 -8
- package/esm2022/lib/pipes/file-size-label/enums/index.mjs +0 -2
- package/esm2022/lib/pipes/file-size-label/file-size-label.pipe.mjs +0 -22
- package/esm2022/lib/pipes/file-size-label/index.mjs +0 -3
- package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.module.mjs +0 -25
- package/esm2022/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.mjs +0 -43
- package/esm2022/lib/pipes/filter-with-highlight/index.mjs +0 -3
- package/esm2022/lib/pipes/index.mjs +0 -13
- package/esm2022/lib/pipes/language-translate/index.mjs +0 -3
- package/esm2022/lib/pipes/language-translate/language-translate.module.mjs +0 -19
- package/esm2022/lib/pipes/language-translate/language-translate.pipe.mjs +0 -126
- package/esm2022/lib/pipes/object-length/index.mjs +0 -3
- package/esm2022/lib/pipes/object-length/object-length.module.mjs +0 -19
- package/esm2022/lib/pipes/object-length/object-length.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort-alphabetically/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.module.mjs +0 -19
- package/esm2022/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.mjs +0 -21
- package/esm2022/lib/pipes/sort-by-number/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-by-number/sort-by-number.pipe.mjs +0 -23
- package/esm2022/lib/pipes/sort-domains/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-domains/sort-domains.pipe.mjs +0 -51
- package/esm2022/lib/pipes/sort-language-list/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-language-list/models/index.mjs +0 -2
- package/esm2022/lib/pipes/sort-language-list/models/translated-language.model.mjs +0 -2
- package/esm2022/lib/pipes/sort-language-list/sort-language-list.pipe.mjs +0 -58
- package/esm2022/lib/pipes/sort-translations/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-translations/sort-translations.module.mjs +0 -23
- package/esm2022/lib/pipes/sort-translations/sort-translations.pipe.mjs +0 -60
- package/esm2022/lib/pipes/sort-translations-by-property/index.mjs +0 -3
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.mjs +0 -19
- package/esm2022/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.mjs +0 -43
- package/esm2022/lib/plausible/index.mjs +0 -5
- package/esm2022/lib/plausible/models/index.mjs +0 -2
- package/esm2022/lib/plausible/models/plausible-event.model.mjs +0 -2
- package/esm2022/lib/plausible/plausible-event.directive.mjs +0 -42
- package/esm2022/lib/plausible/plausible.helper.mjs +0 -37
- package/esm2022/lib/plausible/plausible.module.mjs +0 -25
- package/esm2022/lib/services/alert/alert.service.mjs +0 -172
- package/esm2022/lib/services/alert/index.mjs +0 -4
- package/esm2022/lib/services/alert/injection-tokens/alert-configuration.token.mjs +0 -2
- package/esm2022/lib/services/alert/injection-tokens/index.mjs +0 -2
- package/esm2022/lib/services/alert/models/alert-configuration.model.mjs +0 -2
- package/esm2022/lib/services/alert/models/index.mjs +0 -2
- package/esm2022/lib/services/dom/dom.service.mjs +0 -21
- package/esm2022/lib/services/dom/index.mjs +0 -2
- package/esm2022/lib/services/icon/icon.service.mjs +0 -35
- package/esm2022/lib/services/icon/index.mjs +0 -2
- package/esm2022/lib/services/index.mjs +0 -7
- package/esm2022/lib/services/language-translate/index.mjs +0 -2
- package/esm2022/lib/services/language-translate/language-translate.service.mjs +0 -25
- package/esm2022/lib/services/notification/index.mjs +0 -3
- package/esm2022/lib/services/notification/models/index.mjs +0 -3
- package/esm2022/lib/services/notification/models/notification.model.mjs +0 -2
- package/esm2022/lib/services/notification/models/operations.enum.mjs +0 -6
- package/esm2022/lib/services/notification/notification.service.mjs +0 -35
- package/esm2022/lib/services/system/index.mjs +0 -2
- package/esm2022/lib/services/system/system.service.mjs +0 -20
- package/esm2022/lib/sidebar/index.mjs +0 -3
- package/esm2022/lib/sidebar/services/index.mjs +0 -2
- package/esm2022/lib/sidebar/services/sidebar.service.mjs +0 -24
- package/esm2022/lib/sidebar/sidebar.component.mjs +0 -30
- package/esm2022/lib/status-display/index.mjs +0 -4
- package/esm2022/lib/status-display/models/index.mjs +0 -2
- package/esm2022/lib/status-display/models/status-display-config.model.mjs +0 -2
- package/esm2022/lib/status-display/status-display.component.mjs +0 -71
- package/esm2022/lib/status-display/status-display.module.mjs +0 -22
- package/esm2022/lib/subscription/chargebee-mount.service.mjs +0 -16
- package/esm2022/lib/subscription/index.mjs +0 -3
- package/esm2022/lib/subscription/models/chargebee-settings.model.mjs +0 -2
- package/esm2022/lib/subscription/models/index.mjs +0 -2
- package/esm2022/lib/subscription/models/subscription-quota-display.model.mjs +0 -2
- package/esm2022/lib/subscription/models/subscription-state.enum.mjs +0 -8
- package/esm2022/lib/subscription/subscription.component.mjs +0 -392
- package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-card/terminology-collection-card.component.mjs +0 -279
- package/esm2022/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-list.component.mjs +0 -161
- package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection-dialog/terminology-create-collection-dialog.component.mjs +0 -121
- package/esm2022/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection.component.mjs +0 -72
- package/esm2022/lib/terminology/components/terminology-panel/terminology-panel.component.mjs +0 -151
- package/esm2022/lib/terminology/config/models/index.mjs +0 -2
- package/esm2022/lib/terminology/config/models/terminology-config.model.mjs +0 -2
- package/esm2022/lib/terminology/config/services/index.mjs +0 -2
- package/esm2022/lib/terminology/config/services/terminology-config/terminology-config.service.mjs +0 -47
- package/esm2022/lib/terminology/enums/combined-collection-tooltip-key.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-scope.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-source.enum.mjs +0 -6
- package/esm2022/lib/terminology/enums/engine-term-collection-status.enum.mjs +0 -8
- package/esm2022/lib/terminology/enums/engine-term-collection-sub-status.enum.mjs +0 -14
- package/esm2022/lib/terminology/enums/index.mjs +0 -7
- package/esm2022/lib/terminology/enums/mt-collection-status.enum.mjs +0 -11
- package/esm2022/lib/terminology/icons/collections-menu.icon.mjs +0 -18
- package/esm2022/lib/terminology/icons/index.mjs +0 -2
- package/esm2022/lib/terminology/index.mjs +0 -10
- package/esm2022/lib/terminology/models/active-data.model.mjs +0 -2
- package/esm2022/lib/terminology/models/add-engine-terms-request-params.model.mjs +0 -2
- package/esm2022/lib/terminology/models/combined-collection.model.mjs +0 -181
- package/esm2022/lib/terminology/models/default-term-collection-order-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/domain.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-scope-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-scope.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access-update.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-access.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection-list.model.mjs +0 -2
- package/esm2022/lib/terminology/models/engine-term-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/index.mjs +0 -19
- package/esm2022/lib/terminology/models/lang-list-item.model.mjs +0 -2
- package/esm2022/lib/terminology/models/mt-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/system.model.mjs +0 -2
- package/esm2022/lib/terminology/models/terminology-engine.model.mjs +0 -2
- package/esm2022/lib/terminology/models/tld-term-collection-languages.model.mjs +0 -2
- package/esm2022/lib/terminology/models/tld-term-collection.model.mjs +0 -2
- package/esm2022/lib/terminology/models/update-engine-terms-request-params.model.mjs +0 -2
- package/esm2022/lib/terminology/models/vendor.model.mjs +0 -2
- package/esm2022/lib/terminology/services/engine-term-api/engine-term-api.service.mjs +0 -48
- package/esm2022/lib/terminology/services/engine-term-api/index.mjs +0 -2
- package/esm2022/lib/terminology/services/index.mjs +0 -5
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-deployment.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain-list.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-domain.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-list.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-status.enum.mjs +0 -11
- package/esm2022/lib/terminology/services/system-api-v2/models/engine-sub-status.enum.mjs +0 -18
- package/esm2022/lib/terminology/services/system-api-v2/models/engine.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/index.mjs +0 -9
- package/esm2022/lib/terminology/services/system-api-v2/models/revision.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/tilde-vendor.const.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/models/worker-status.model.mjs +0 -2
- package/esm2022/lib/terminology/services/system-api-v2/system-api.service.mjs +0 -109
- package/esm2022/lib/terminology/services/terminology/terminology.service.mjs +0 -323
- package/esm2022/lib/terminology/services/terminology-api/terminology-api.service.mjs +0 -86
- package/esm2022/lib/terminology/services/terminology-collection/index.mjs +0 -2
- package/esm2022/lib/terminology/services/terminology-collection/terminology-collection.service.mjs +0 -54
- package/esm2022/lib/terminology/terminology.component.mjs +0 -241
- package/esm2022/lib/terminology/terminology.module.mjs +0 -102
- package/esm2022/lib/text-to-speech/index.mjs +0 -3
- package/esm2022/lib/text-to-speech/models/index.mjs +0 -2
- package/esm2022/lib/text-to-speech/models/voice.model.mjs +0 -2
- package/esm2022/lib/text-to-speech/services/tts-api.service.mjs +0 -18
- package/esm2022/lib/text-to-speech/text-to-speech.component.mjs +0 -172
- package/esm2022/lib/tld-loader/index.mjs +0 -3
- package/esm2022/lib/tld-loader/tld-loader.component.mjs +0 -16
- package/esm2022/lib/tld-loader/tld-loader.module.mjs +0 -21
- package/esm2022/lib/toast/index.mjs +0 -3
- package/esm2022/lib/toast/models/toast.model.mjs +0 -2
- package/esm2022/lib/toast/toast-service/index.mjs +0 -2
- package/esm2022/lib/toast/toast-service/toast-service.service.mjs +0 -42
- package/esm2022/lib/toast/toast.component.mjs +0 -57
- package/esm2022/public-api.mjs +0 -32
- package/esm2022/tilde-nlp-ngx-common.mjs +0 -5
- package/lib/close-button/close-button.component.d.ts +0 -13
- package/lib/close-button/close-button.module.d.ts +0 -11
- package/lib/close-button/index.d.ts +0 -2
- package/lib/company-product/company-product.component.d.ts +0 -7
- package/lib/company-product/company-product.module.d.ts +0 -8
- package/lib/company-product/index.d.ts +0 -2
- package/lib/confirmation-modal/confirmation-modal.component.d.ts +0 -12
- package/lib/confirmation-modal/confirmation-modal.module.d.ts +0 -11
- package/lib/confirmation-modal/index.d.ts +0 -5
- package/lib/confirmation-modal/models/confirmation-body.model.d.ts +0 -8
- package/lib/confirmation-modal/models/confirmation.enum.d.ts +0 -4
- package/lib/confirmation-modal/services/confirmation.service.d.ts +0 -12
- package/lib/confirmation-modal/services/index.d.ts +0 -1
- package/lib/constants/error-codes.const.d.ts +0 -3
- package/lib/constants/index.d.ts +0 -3
- package/lib/constants/last-used-system-local-storage-key.const.d.ts +0 -5
- package/lib/constants/screen-size.const.d.ts +0 -10
- package/lib/core/auth/addon.model.d.ts +0 -4
- package/lib/core/auth/auth-subscription.model.d.ts +0 -12
- package/lib/core/auth/index.d.ts +0 -4
- package/lib/core/auth/jwt-token.model.d.ts +0 -30
- package/lib/core/auth/subscription-plan.enum.d.ts +0 -16
- package/lib/core/index.d.ts +0 -3
- package/lib/core/localization/index.d.ts +0 -2
- package/lib/core/localization/missing-translation-handler.service.d.ts +0 -8
- package/lib/core/localization/select-language-dialog-component/index.d.ts +0 -1
- package/lib/core/localization/select-language-dialog-component/select-language-dialog.component.d.ts +0 -15
- package/lib/core/title-strategy/custom-title-strategy.provider.d.ts +0 -2
- package/lib/core/title-strategy/custom-title-strategy.service.d.ts +0 -14
- package/lib/core/title-strategy/index.d.ts +0 -2
- package/lib/directives/click-outside/click-outside.directive.d.ts +0 -10
- package/lib/directives/click-outside/click-outside.module.d.ts +0 -8
- package/lib/directives/click-outside/index.d.ts +0 -2
- package/lib/directives/drag-and-drop/drag-and-drop.directive.d.ts +0 -14
- package/lib/directives/drag-and-drop/drag-and-drop.module.d.ts +0 -8
- package/lib/directives/drag-and-drop/index.d.ts +0 -2
- package/lib/directives/index.d.ts +0 -3
- package/lib/directives/mat-button-loading/index.d.ts +0 -2
- package/lib/directives/mat-button-loading/mat-button-loading.directive.d.ts +0 -18
- package/lib/directives/mat-button-loading/mat-button-loading.module.d.ts +0 -8
- package/lib/extension-dialog/components/index.d.ts +0 -1
- package/lib/extension-dialog/components/open-extension-dialog/open-extension-dialog.component.d.ts +0 -10
- package/lib/extension-dialog/extension-dialog.component.d.ts +0 -21
- package/lib/extension-dialog/extension-dialog.module.d.ts +0 -15
- package/lib/extension-dialog/icons/file-types/excel.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/index.d.ts +0 -9
- package/lib/extension-dialog/icons/file-types/interchange.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/office-other.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/other.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/pdf.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/powerpoint.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/scanned.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/web.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/file-types/word.icon.d.ts +0 -1
- package/lib/extension-dialog/icons/index.d.ts +0 -1
- package/lib/extension-dialog/index.d.ts +0 -5
- package/lib/extension-dialog/models/enums/file-categories.enum.d.ts +0 -7
- package/lib/extension-dialog/models/enums/file-extensions.enum.d.ts +0 -34
- package/lib/extension-dialog/models/enums/file-type-icons.enum.d.ts +0 -11
- package/lib/extension-dialog/models/enums/file-types.enum.d.ts +0 -11
- package/lib/extension-dialog/models/enums/index.d.ts +0 -4
- package/lib/extension-dialog/models/index.d.ts +0 -2
- package/lib/extension-dialog/models/interfaces/config.d.ts +0 -18
- package/lib/extension-dialog/models/interfaces/dialog-data.model.d.ts +0 -3
- package/lib/extension-dialog/models/interfaces/index.d.ts +0 -2
- package/lib/extension-dialog/services/extension-dialog.service.d.ts +0 -9
- package/lib/extension-dialog/services/index.d.ts +0 -1
- package/lib/file-upload/file-upload.component.d.ts +0 -39
- package/lib/file-upload/file-upload.module.d.ts +0 -15
- package/lib/file-upload/index.d.ts +0 -3
- package/lib/file-upload/models/file-upload-error-type.enum.d.ts +0 -6
- package/lib/file-upload/models/file-upload-error.model.d.ts +0 -7
- package/lib/file-upload/models/file-upload.icon.d.ts +0 -1
- package/lib/file-upload/models/index.d.ts +0 -2
- package/lib/filter-bar/filter-bar.component.d.ts +0 -54
- package/lib/filter-bar/filter-bar.module.d.ts +0 -19
- package/lib/filter-bar/index.d.ts +0 -3
- package/lib/filter-bar/models/filter-bar-change-event.model.d.ts +0 -6
- package/lib/filter-bar/models/filter-bar-filter-item.model.d.ts +0 -11
- package/lib/filter-bar/models/filter-bar-filter-search.model.d.ts +0 -10
- package/lib/filter-bar/models/filter-bar-filter-single-selection.model.d.ts +0 -13
- package/lib/filter-bar/models/filter-bar-filter.model.d.ts +0 -24
- package/lib/filter-bar/models/filter-bar-settings.model.d.ts +0 -20
- package/lib/filter-bar/models/index.d.ts +0 -4
- package/lib/footer/footer.component.d.ts +0 -15
- package/lib/footer/footer.module.d.ts +0 -11
- package/lib/footer/index.d.ts +0 -2
- package/lib/global-message/global-message.component.d.ts +0 -10
- package/lib/global-message/index.d.ts +0 -1
- package/lib/helpers/auth-headers.helper.d.ts +0 -4
- package/lib/helpers/conversion.helper.d.ts +0 -4
- package/lib/helpers/custom-paginator-internatioinalization.helper.d.ts +0 -9
- package/lib/helpers/file-extension.helper.d.ts +0 -3
- package/lib/helpers/file-size-label.helper.d.ts +0 -2
- package/lib/helpers/hash.helper.d.ts +0 -3
- package/lib/helpers/html-element-parse.helper.d.ts +0 -3
- package/lib/helpers/html.helper.d.ts +0 -18
- package/lib/helpers/index.d.ts +0 -12
- package/lib/helpers/missing-translation.helper.d.ts +0 -4
- package/lib/helpers/resolution.helper.d.ts +0 -3
- package/lib/helpers/save-file.helper.d.ts +0 -4
- package/lib/helpers/sort.helper.d.ts +0 -32
- package/lib/inline-message/index.d.ts +0 -3
- package/lib/inline-message/inline-message.component.d.ts +0 -10
- package/lib/inline-message/inline-message.module.d.ts +0 -10
- package/lib/inline-message/models/index.d.ts +0 -3
- package/lib/inline-message/models/inline-message-icon-position.enum.d.ts +0 -4
- package/lib/inline-message/models/inline-message-type.enum.d.ts +0 -5
- package/lib/inline-message/models/inline-message.model.d.ts +0 -10
- package/lib/llm/components/llm-rephrase/llm-rephrase.component.d.ts +0 -11
- package/lib/llm/components/llm-summary/llm-summary.component.d.ts +0 -11
- package/lib/llm/components/llm-textarea-with-actions/llm-textarea-with-actions.component.d.ts +0 -61
- package/lib/llm/icons/index.d.ts +0 -1
- package/lib/llm/icons/llm-menu.icon.d.ts +0 -2
- package/lib/llm/index.d.ts +0 -3
- package/lib/llm/llm.component.d.ts +0 -30
- package/lib/llm/llm.module.d.ts +0 -24
- package/lib/llm/models/index.d.ts +0 -3
- package/lib/llm/models/llm-actions.enum.d.ts +0 -4
- package/lib/llm/models/llm-configuration.model.d.ts +0 -6
- package/lib/llm/models/llm-configuration.token.d.ts +0 -3
- package/lib/llm/models/llm-data.model.d.ts +0 -12
- package/lib/llm/models/llm-writing-style.enum.d.ts +0 -5
- package/lib/llm/services/llm-helper.service.d.ts +0 -23
- package/lib/llm/shared/llm-textarea/llm-textarea.component.d.ts +0 -25
- package/lib/multi-functional-table/constants/disable-export-attribute-name.const.d.ts +0 -1
- package/lib/multi-functional-table/constants/index.d.ts +0 -1
- package/lib/multi-functional-table/index.d.ts +0 -4
- package/lib/multi-functional-table/models/batch-config.model.d.ts +0 -4
- package/lib/multi-functional-table/models/column-config.model.d.ts +0 -18
- package/lib/multi-functional-table/models/column-select-config.model.d.ts +0 -14
- package/lib/multi-functional-table/models/export-config.model.d.ts +0 -9
- package/lib/multi-functional-table/models/export-format.enum.d.ts +0 -3
- package/lib/multi-functional-table/models/filter-config.model.d.ts +0 -7
- package/lib/multi-functional-table/models/index.d.ts +0 -7
- package/lib/multi-functional-table/models/multi-functional-table-config.model.d.ts +0 -53
- package/lib/multi-functional-table/models/paginator-config.model.d.ts +0 -8
- package/lib/multi-functional-table/models/selected-column-local-storage-config.model.d.ts +0 -20
- package/lib/multi-functional-table/multi-functional-table.component.d.ts +0 -116
- package/lib/multi-functional-table/multi-functional-table.module.d.ts +0 -22
- package/lib/new-feature-dialog/index.d.ts +0 -2
- package/lib/new-feature-dialog/models/index.d.ts +0 -1
- package/lib/new-feature-dialog/models/mobile-screen-custom-position.model.d.ts +0 -5
- package/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog-wrapper.component.d.ts +0 -26
- package/lib/new-feature-dialog/new-feature-dialog-wrapper/new-feature-dialog.service.d.ts +0 -10
- package/lib/new-feature-dialog/new-feature-dialog.component.d.ts +0 -6
- package/lib/notification-message/enums/index.d.ts +0 -1
- package/lib/notification-message/enums/notification-message-type.enum.d.ts +0 -7
- package/lib/notification-message/index.d.ts +0 -4
- package/lib/notification-message/interfaces/index.d.ts +0 -1
- package/lib/notification-message/interfaces/notification-message.model.d.ts +0 -28
- package/lib/notification-message/notification-message.component.d.ts +0 -22
- package/lib/notification-message/notification-message.module.d.ts +0 -14
- package/lib/open-close-button/index.d.ts +0 -4
- package/lib/open-close-button/injection-tokens/index.d.ts +0 -1
- package/lib/open-close-button/injection-tokens/open-close-btn-icons.token.d.ts +0 -1
- package/lib/open-close-button/models/index.d.ts +0 -1
- package/lib/open-close-button/models/open-close-btn-icons.model.d.ts +0 -4
- package/lib/open-close-button/open-close-button.component.d.ts +0 -22
- package/lib/open-close-button/open-close-button.module.d.ts +0 -11
- package/lib/pipes/date-ago/date-ago.module.d.ts +0 -9
- package/lib/pipes/date-ago/date-ago.pipe.d.ts +0 -20
- package/lib/pipes/date-ago/index.d.ts +0 -2
- package/lib/pipes/date-ago/models/date-ago-interval.model.d.ts +0 -5
- package/lib/pipes/date-ago/models/date-ago-settings.model.d.ts +0 -26
- package/lib/pipes/date-ago/models/date-ago-settings.token.d.ts +0 -1
- package/lib/pipes/date-ago/models/date-ago.model.d.ts +0 -4
- package/lib/pipes/date-ago/models/index.d.ts +0 -4
- package/lib/pipes/domain-translate/domain-translate.pipe.d.ts +0 -10
- package/lib/pipes/domain-translate/index.d.ts +0 -1
- package/lib/pipes/file-size-label/enums/file-size-unit.enum.d.ts +0 -6
- package/lib/pipes/file-size-label/enums/index.d.ts +0 -1
- package/lib/pipes/file-size-label/file-size-label.pipe.d.ts +0 -8
- package/lib/pipes/file-size-label/index.d.ts +0 -2
- package/lib/pipes/filter-with-highlight/filter-with-highlight.module.d.ts +0 -8
- package/lib/pipes/filter-with-highlight/filter-with-highlight.pipe.d.ts +0 -7
- package/lib/pipes/filter-with-highlight/index.d.ts +0 -2
- package/lib/pipes/index.d.ts +0 -12
- package/lib/pipes/language-translate/index.d.ts +0 -2
- package/lib/pipes/language-translate/language-translate.module.d.ts +0 -8
- package/lib/pipes/language-translate/language-translate.pipe.d.ts +0 -21
- package/lib/pipes/object-length/index.d.ts +0 -2
- package/lib/pipes/object-length/object-length.module.d.ts +0 -8
- package/lib/pipes/object-length/object-length.pipe.d.ts +0 -7
- package/lib/pipes/sort-alphabetically/index.d.ts +0 -2
- package/lib/pipes/sort-alphabetically/sort-alphabetically.module.d.ts +0 -8
- package/lib/pipes/sort-alphabetically/sort-alphabetically.pipe.d.ts +0 -7
- package/lib/pipes/sort-by-number/index.d.ts +0 -1
- package/lib/pipes/sort-by-number/sort-by-number.pipe.d.ts +0 -7
- package/lib/pipes/sort-domains/index.d.ts +0 -1
- package/lib/pipes/sort-domains/sort-domains.pipe.d.ts +0 -15
- package/lib/pipes/sort-language-list/index.d.ts +0 -2
- package/lib/pipes/sort-language-list/models/index.d.ts +0 -1
- package/lib/pipes/sort-language-list/models/translated-language.model.d.ts +0 -4
- package/lib/pipes/sort-language-list/sort-language-list.pipe.d.ts +0 -10
- package/lib/pipes/sort-translations/index.d.ts +0 -2
- package/lib/pipes/sort-translations/sort-translations.module.d.ts +0 -8
- package/lib/pipes/sort-translations/sort-translations.pipe.d.ts +0 -20
- package/lib/pipes/sort-translations-by-property/index.d.ts +0 -2
- package/lib/pipes/sort-translations-by-property/sort-translations-by-property.module.d.ts +0 -8
- package/lib/pipes/sort-translations-by-property/sort-translations-by-property.pipe.d.ts +0 -16
- package/lib/plausible/index.d.ts +0 -4
- package/lib/plausible/models/index.d.ts +0 -1
- package/lib/plausible/models/plausible-event.model.d.ts +0 -7
- package/lib/plausible/plausible-event.directive.d.ts +0 -11
- package/lib/plausible/plausible.helper.d.ts +0 -15
- package/lib/plausible/plausible.module.d.ts +0 -8
- package/lib/services/alert/alert.service.d.ts +0 -37
- package/lib/services/alert/index.d.ts +0 -3
- package/lib/services/alert/injection-tokens/alert-configuration.token.d.ts +0 -1
- package/lib/services/alert/injection-tokens/index.d.ts +0 -1
- package/lib/services/alert/models/alert-configuration.model.d.ts +0 -7
- package/lib/services/alert/models/index.d.ts +0 -1
- package/lib/services/dom/dom.service.d.ts +0 -7
- package/lib/services/dom/index.d.ts +0 -1
- package/lib/services/icon/icon.service.d.ts +0 -14
- package/lib/services/icon/index.d.ts +0 -1
- package/lib/services/index.d.ts +0 -6
- package/lib/services/language-translate/index.d.ts +0 -1
- package/lib/services/language-translate/language-translate.service.d.ts +0 -10
- package/lib/services/notification/index.d.ts +0 -2
- package/lib/services/notification/models/index.d.ts +0 -2
- package/lib/services/notification/models/notification.model.d.ts +0 -6
- package/lib/services/notification/models/operations.enum.d.ts +0 -4
- package/lib/services/notification/notification.service.d.ts +0 -15
- package/lib/services/system/index.d.ts +0 -1
- package/lib/services/system/system.service.d.ts +0 -11
- package/lib/sidebar/index.d.ts +0 -2
- package/lib/sidebar/services/index.d.ts +0 -1
- package/lib/sidebar/services/sidebar.service.d.ts +0 -10
- package/lib/sidebar/sidebar.component.d.ts +0 -8
- package/lib/status-display/index.d.ts +0 -3
- package/lib/status-display/models/index.d.ts +0 -1
- package/lib/status-display/models/status-display-config.model.d.ts +0 -15
- package/lib/status-display/status-display.component.d.ts +0 -7
- package/lib/status-display/status-display.module.d.ts +0 -11
- package/lib/subscription/chargebee-mount.service.d.ts +0 -6
- package/lib/subscription/index.d.ts +0 -2
- package/lib/subscription/models/chargebee-settings.model.d.ts +0 -4
- package/lib/subscription/models/index.d.ts +0 -1
- package/lib/subscription/models/subscription-quota-display.model.d.ts +0 -9
- package/lib/subscription/models/subscription-state.enum.d.ts +0 -6
- package/lib/subscription/subscription.component.d.ts +0 -30
- package/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-card/terminology-collection-card.component.d.ts +0 -28
- package/lib/terminology/components/terminology-panel/terminology-collection-list/terminology-collection-list.component.d.ts +0 -30
- package/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection-dialog/terminology-create-collection-dialog.component.d.ts +0 -32
- package/lib/terminology/components/terminology-panel/terminology-create-collection/terminology-create-collection.component.d.ts +0 -20
- package/lib/terminology/components/terminology-panel/terminology-panel.component.d.ts +0 -37
- package/lib/terminology/config/models/index.d.ts +0 -1
- package/lib/terminology/config/models/terminology-config.model.d.ts +0 -45
- package/lib/terminology/config/services/index.d.ts +0 -1
- package/lib/terminology/config/services/terminology-config/terminology-config.service.d.ts +0 -10
- package/lib/terminology/enums/combined-collection-tooltip-key.enum.d.ts +0 -4
- package/lib/terminology/enums/engine-term-collection-scope.enum.d.ts +0 -4
- package/lib/terminology/enums/engine-term-collection-source.enum.d.ts +0 -4
- package/lib/terminology/enums/engine-term-collection-status.enum.d.ts +0 -6
- package/lib/terminology/enums/engine-term-collection-sub-status.enum.d.ts +0 -12
- package/lib/terminology/enums/index.d.ts +0 -6
- package/lib/terminology/enums/mt-collection-status.enum.d.ts +0 -8
- package/lib/terminology/icons/collections-menu.icon.d.ts +0 -1
- package/lib/terminology/icons/index.d.ts +0 -1
- package/lib/terminology/index.d.ts +0 -9
- package/lib/terminology/models/active-data.model.d.ts +0 -23
- package/lib/terminology/models/add-engine-terms-request-params.model.d.ts +0 -7
- package/lib/terminology/models/combined-collection.model.d.ts +0 -91
- package/lib/terminology/models/default-term-collection-order-update.model.d.ts +0 -5
- package/lib/terminology/models/domain.model.d.ts +0 -9
- package/lib/terminology/models/engine-term-collection-access-scope-update.model.d.ts +0 -3
- package/lib/terminology/models/engine-term-collection-access-scope.model.d.ts +0 -4
- package/lib/terminology/models/engine-term-collection-access-update.model.d.ts +0 -5
- package/lib/terminology/models/engine-term-collection-access.model.d.ts +0 -6
- package/lib/terminology/models/engine-term-collection-list.model.d.ts +0 -4
- package/lib/terminology/models/engine-term-collection.model.d.ts +0 -24
- package/lib/terminology/models/index.d.ts +0 -18
- package/lib/terminology/models/lang-list-item.model.d.ts +0 -6
- package/lib/terminology/models/mt-collection.model.d.ts +0 -17
- package/lib/terminology/models/system.model.d.ts +0 -12
- package/lib/terminology/models/terminology-engine.model.d.ts +0 -15
- package/lib/terminology/models/tld-term-collection-languages.model.d.ts +0 -11
- package/lib/terminology/models/tld-term-collection.model.d.ts +0 -46
- package/lib/terminology/models/update-engine-terms-request-params.model.d.ts +0 -4
- package/lib/terminology/models/vendor.model.d.ts +0 -5
- package/lib/terminology/services/engine-term-api/engine-term-api.service.d.ts +0 -19
- package/lib/terminology/services/engine-term-api/index.d.ts +0 -1
- package/lib/terminology/services/index.d.ts +0 -4
- package/lib/terminology/services/system-api-v2/models/engine-deployment.model.d.ts +0 -9
- package/lib/terminology/services/system-api-v2/models/engine-domain-list.model.d.ts +0 -4
- package/lib/terminology/services/system-api-v2/models/engine-domain.model.d.ts +0 -5
- package/lib/terminology/services/system-api-v2/models/engine-list.model.d.ts +0 -4
- package/lib/terminology/services/system-api-v2/models/engine-status.enum.d.ts +0 -9
- package/lib/terminology/services/system-api-v2/models/engine-sub-status.enum.d.ts +0 -16
- package/lib/terminology/services/system-api-v2/models/engine.model.d.ts +0 -24
- package/lib/terminology/services/system-api-v2/models/index.d.ts +0 -8
- package/lib/terminology/services/system-api-v2/models/revision.model.d.ts +0 -9
- package/lib/terminology/services/system-api-v2/models/tilde-vendor.const.d.ts +0 -1
- package/lib/terminology/services/system-api-v2/models/worker-status.model.d.ts +0 -12
- package/lib/terminology/services/system-api-v2/system-api.service.d.ts +0 -17
- package/lib/terminology/services/terminology/terminology.service.d.ts +0 -62
- package/lib/terminology/services/terminology-api/terminology-api.service.d.ts +0 -18
- package/lib/terminology/services/terminology-collection/index.d.ts +0 -1
- package/lib/terminology/services/terminology-collection/terminology-collection.service.d.ts +0 -17
- package/lib/terminology/terminology.component.d.ts +0 -42
- package/lib/terminology/terminology.module.d.ts +0 -28
- package/lib/text-to-speech/index.d.ts +0 -2
- package/lib/text-to-speech/models/index.d.ts +0 -1
- package/lib/text-to-speech/models/voice.model.d.ts +0 -4
- package/lib/text-to-speech/services/tts-api.service.d.ts +0 -9
- package/lib/text-to-speech/text-to-speech.component.d.ts +0 -21
- package/lib/tld-loader/index.d.ts +0 -2
- package/lib/tld-loader/tld-loader.component.d.ts +0 -5
- package/lib/tld-loader/tld-loader.module.d.ts +0 -7
- package/lib/toast/index.d.ts +0 -2
- package/lib/toast/models/toast.model.d.ts +0 -5
- package/lib/toast/toast-service/index.d.ts +0 -1
- package/lib/toast/toast-service/toast-service.service.d.ts +0 -12
- package/lib/toast/toast.component.d.ts +0 -11
- package/public-api.d.ts +0 -28
|
@@ -1,691 +0,0 @@
|
|
|
1
|
-
import { SelectionModel } from '@angular/cdk/collections';
|
|
2
|
-
import { Component, ContentChild, ContentChildren, effect, ElementRef, EventEmitter, input, Input, Output, ViewChild } from '@angular/core';
|
|
3
|
-
import { MatPaginator } from '@angular/material/paginator';
|
|
4
|
-
import { MatSort } from '@angular/material/sort';
|
|
5
|
-
import { MatColumnDef, MatHeaderRowDef, MatNoDataRow, MatRowDef, MatTable, MatTableDataSource } from '@angular/material/table';
|
|
6
|
-
import { map, take } from 'rxjs';
|
|
7
|
-
import { HtmlElementParseHelper } from '../helpers';
|
|
8
|
-
import { SaveFileHelper } from '../helpers/save-file.helper';
|
|
9
|
-
import { DISABLE_EXPORT_ATTRIBUTE_NAME } from './constants/disable-export-attribute-name.const';
|
|
10
|
-
import { ExportFormat } from './models';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "../services";
|
|
13
|
-
import * as i2 from "@ngx-translate/core";
|
|
14
|
-
import * as i3 from "@angular/common";
|
|
15
|
-
import * as i4 from "@angular/material/table";
|
|
16
|
-
import * as i5 from "@angular/material/button";
|
|
17
|
-
import * as i6 from "@angular/material/menu";
|
|
18
|
-
import * as i7 from "@angular/material/checkbox";
|
|
19
|
-
import * as i8 from "@angular/forms";
|
|
20
|
-
import * as i9 from "../filter-bar/filter-bar.component";
|
|
21
|
-
import * as i10 from "@ngbracket/ngx-layout/flex";
|
|
22
|
-
import * as i11 from "@ngbracket/ngx-layout/extended";
|
|
23
|
-
import * as i12 from "@angular/material/tooltip";
|
|
24
|
-
import * as i13 from "../status-display/status-display.component";
|
|
25
|
-
import * as i14 from "@angular/material/icon";
|
|
26
|
-
import * as i15 from "@angular/material/paginator";
|
|
27
|
-
const _c0 = ["tableContainer"];
|
|
28
|
-
const _c1 = ["filterBar"];
|
|
29
|
-
const _c2 = [[["", "additionalActions", ""]], [["", "batchActions", ""]], "*"];
|
|
30
|
-
const _c3 = ["[additionalActions]", "[batchActions]", "*"];
|
|
31
|
-
const _c4 = () => [10];
|
|
32
|
-
function MultiFunctionalTableComponent_button_3_Template(rf, ctx) { if (rf & 1) {
|
|
33
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
34
|
-
i0.ɵɵelementStart(0, "button", 25);
|
|
35
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.export()); });
|
|
36
|
-
i0.ɵɵelementStart(1, "span", 26);
|
|
37
|
-
i0.ɵɵtext(2, "cloud_download");
|
|
38
|
-
i0.ɵɵelementEnd();
|
|
39
|
-
i0.ɵɵelementStart(3, "span");
|
|
40
|
-
i0.ɵɵtext(4);
|
|
41
|
-
i0.ɵɵpipe(5, "translate");
|
|
42
|
-
i0.ɵɵelementEnd()();
|
|
43
|
-
} if (rf & 2) {
|
|
44
|
-
i0.ɵɵadvance(4);
|
|
45
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(5, 1, "MULTI_FUNCTIONAL_TABLE.EXPORT"));
|
|
46
|
-
} }
|
|
47
|
-
function MultiFunctionalTableComponent_div_4_div_7_Template(rf, ctx) { if (rf & 1) {
|
|
48
|
-
const _r5 = i0.ɵɵgetCurrentView();
|
|
49
|
-
i0.ɵɵelementStart(0, "div", 31)(1, "button", 32);
|
|
50
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_div_4_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r5); const ctx_r2 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r2.clearFilters()); });
|
|
51
|
-
i0.ɵɵelementStart(2, "mat-icon");
|
|
52
|
-
i0.ɵɵtext(3, "close");
|
|
53
|
-
i0.ɵɵelementEnd()()();
|
|
54
|
-
} }
|
|
55
|
-
function MultiFunctionalTableComponent_div_4_Template(rf, ctx) { if (rf & 1) {
|
|
56
|
-
const _r4 = i0.ɵɵgetCurrentView();
|
|
57
|
-
i0.ɵɵelementStart(0, "div", 27)(1, "button", 28);
|
|
58
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_div_4_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r4); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleFilterBar()); });
|
|
59
|
-
i0.ɵɵelementStart(2, "span", 29);
|
|
60
|
-
i0.ɵɵtext(3, "filter_list");
|
|
61
|
-
i0.ɵɵelementEnd();
|
|
62
|
-
i0.ɵɵelementStart(4, "span");
|
|
63
|
-
i0.ɵɵtext(5);
|
|
64
|
-
i0.ɵɵpipe(6, "translate");
|
|
65
|
-
i0.ɵɵelementEnd()();
|
|
66
|
-
i0.ɵɵtemplate(7, MultiFunctionalTableComponent_div_4_div_7_Template, 4, 0, "div", 30);
|
|
67
|
-
i0.ɵɵelementEnd();
|
|
68
|
-
} if (rf & 2) {
|
|
69
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
70
|
-
i0.ɵɵadvance();
|
|
71
|
-
i0.ɵɵclassProp("filter-active", ctx_r2.filterBarVisible);
|
|
72
|
-
i0.ɵɵadvance(4);
|
|
73
|
-
i0.ɵɵtextInterpolate(i0.ɵɵpipeBind1(6, 4, "MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE"));
|
|
74
|
-
i0.ɵɵadvance(2);
|
|
75
|
-
i0.ɵɵproperty("ngIf", ctx_r2.showFilterReset);
|
|
76
|
-
} }
|
|
77
|
-
function MultiFunctionalTableComponent_div_5_button_7_Template(rf, ctx) { if (rf & 1) {
|
|
78
|
-
const _r7 = i0.ɵɵgetCurrentView();
|
|
79
|
-
i0.ɵɵelementStart(0, "button", 37);
|
|
80
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_div_5_button_7_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r7); i0.ɵɵnextContext(); const wildSearch_r8 = i0.ɵɵreference(5); const ctx_r2 = i0.ɵɵnextContext(); wildSearch_r8.value = ""; return i0.ɵɵresetView(ctx_r2.search({ target: { value: "" } })); });
|
|
81
|
-
i0.ɵɵelementStart(1, "mat-icon");
|
|
82
|
-
i0.ɵɵtext(2, "close");
|
|
83
|
-
i0.ɵɵelementEnd()();
|
|
84
|
-
} }
|
|
85
|
-
function MultiFunctionalTableComponent_div_5_Template(rf, ctx) { if (rf & 1) {
|
|
86
|
-
const _r6 = i0.ɵɵgetCurrentView();
|
|
87
|
-
i0.ɵɵelementStart(0, "div", 33)(1, "mat-icon", 34);
|
|
88
|
-
i0.ɵɵpipe(2, "translate");
|
|
89
|
-
i0.ɵɵtext(3, "search");
|
|
90
|
-
i0.ɵɵelementEnd();
|
|
91
|
-
i0.ɵɵelementStart(4, "input", 35, 3);
|
|
92
|
-
i0.ɵɵpipe(6, "translate");
|
|
93
|
-
i0.ɵɵlistener("keyup", function MultiFunctionalTableComponent_div_5_Template_input_keyup_4_listener($event) { i0.ɵɵrestoreView(_r6); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.search($event)); });
|
|
94
|
-
i0.ɵɵelementEnd();
|
|
95
|
-
i0.ɵɵtemplate(7, MultiFunctionalTableComponent_div_5_button_7_Template, 3, 0, "button", 36);
|
|
96
|
-
i0.ɵɵelementEnd();
|
|
97
|
-
} if (rf & 2) {
|
|
98
|
-
let tmp_6_0;
|
|
99
|
-
const wildSearch_r8 = i0.ɵɵreference(5);
|
|
100
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
101
|
-
i0.ɵɵadvance();
|
|
102
|
-
i0.ɵɵproperty("matTooltip", ctx_r2.hideSearchTooltip ? "" : i0.ɵɵpipeBind1(2, 4, ctx_r2.searchTooltip));
|
|
103
|
-
i0.ɵɵadvance(3);
|
|
104
|
-
i0.ɵɵproperty("value", (tmp_6_0 = ctx_r2.config.filter == null ? null : ctx_r2.config.filter.settings == null ? null : ctx_r2.config.filter.settings.searchValue) !== null && tmp_6_0 !== undefined ? tmp_6_0 : "")("placeholder", i0.ɵɵpipeBind1(6, 6, ctx_r2.searchTitle));
|
|
105
|
-
i0.ɵɵadvance(3);
|
|
106
|
-
i0.ɵɵproperty("ngIf", ctx_r2.showSearchClearButton && wildSearch_r8.value);
|
|
107
|
-
} }
|
|
108
|
-
function MultiFunctionalTableComponent_tld_filter_bar_7_Template(rf, ctx) { if (rf & 1) {
|
|
109
|
-
const _r9 = i0.ɵɵgetCurrentView();
|
|
110
|
-
i0.ɵɵelementStart(0, "tld-filter-bar", 38, 4);
|
|
111
|
-
i0.ɵɵlistener("filterBarChange", function MultiFunctionalTableComponent_tld_filter_bar_7_Template_tld_filter_bar_filterBarChange_0_listener($event) { i0.ɵɵrestoreView(_r9); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.filtersChanged($event)); });
|
|
112
|
-
i0.ɵɵelementEnd();
|
|
113
|
-
} if (rf & 2) {
|
|
114
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
115
|
-
i0.ɵɵproperty("filterRowVisible", ctx_r2.filterBarVisible)("settings", ctx_r2.config.filter.settings);
|
|
116
|
-
} }
|
|
117
|
-
function MultiFunctionalTableComponent_Conditional_9_Template(rf, ctx) { if (rf & 1) {
|
|
118
|
-
const _r10 = i0.ɵɵgetCurrentView();
|
|
119
|
-
i0.ɵɵdeclareLet(0);
|
|
120
|
-
i0.ɵɵelementStart(1, "mat-paginator", 39);
|
|
121
|
-
i0.ɵɵpipe(2, "translate");
|
|
122
|
-
i0.ɵɵlistener("page", function MultiFunctionalTableComponent_Conditional_9_Template_mat_paginator_page_1_listener($event) { i0.ɵɵrestoreView(_r10); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.paginatorChange($event)); });
|
|
123
|
-
i0.ɵɵelementEnd();
|
|
124
|
-
} if (rf & 2) {
|
|
125
|
-
let tmp_7_0;
|
|
126
|
-
const paginatorConfig_r11 = i0.ɵɵnextContext().config.paginator;
|
|
127
|
-
i0.ɵɵadvance();
|
|
128
|
-
i0.ɵɵproperty("hidePageSize", !paginatorConfig_r11.showPageSize)("showFirstLastButtons", paginatorConfig_r11.showFirstLastButtons)("pageSizeOptions", (tmp_7_0 = paginatorConfig_r11.pageSizeOptions) !== null && tmp_7_0 !== undefined ? tmp_7_0 : i0.ɵɵpureFunction0(6, _c4));
|
|
129
|
-
i0.ɵɵattribute("aria-label", i0.ɵɵpipeBind1(2, 4, "MULTI_FUNCTIONAL_TABLE.PAGINATOR_LABEL"));
|
|
130
|
-
} }
|
|
131
|
-
function MultiFunctionalTableComponent_th_16_Template(rf, ctx) { if (rf & 1) {
|
|
132
|
-
const _r12 = i0.ɵɵgetCurrentView();
|
|
133
|
-
i0.ɵɵelementStart(0, "th", 40)(1, "mat-checkbox", 41);
|
|
134
|
-
i0.ɵɵpipe(2, "translate");
|
|
135
|
-
i0.ɵɵlistener("change", function MultiFunctionalTableComponent_th_16_Template_mat_checkbox_change_1_listener() { i0.ɵɵrestoreView(_r12); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleAllRowSelection()); });
|
|
136
|
-
i0.ɵɵelementEnd()();
|
|
137
|
-
} if (rf & 2) {
|
|
138
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
139
|
-
i0.ɵɵadvance();
|
|
140
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(2, 4, "MULTI_FUNCTIONAL_TABLE.SELECT_ALL"))("disabled", ctx_r2.config.batchConfig.checkBoxesDisabled)("checked", ctx_r2.matSelection.hasValue() && ctx_r2.isAllSelected())("indeterminate", ctx_r2.matSelection.hasValue() && !ctx_r2.isAllSelected());
|
|
141
|
-
} }
|
|
142
|
-
function MultiFunctionalTableComponent_td_17_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
-
const _r13 = i0.ɵɵgetCurrentView();
|
|
144
|
-
i0.ɵɵelementStart(0, "mat-checkbox", 44);
|
|
145
|
-
i0.ɵɵpipe(1, "translate");
|
|
146
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_td_17_mat_checkbox_1_Template_mat_checkbox_click_0_listener($event) { i0.ɵɵrestoreView(_r13); return i0.ɵɵresetView($event.stopPropagation()); })("change", function MultiFunctionalTableComponent_td_17_mat_checkbox_1_Template_mat_checkbox_change_0_listener() { i0.ɵɵrestoreView(_r13); const element_r14 = i0.ɵɵnextContext().$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.toggleElementSelection(element_r14)); });
|
|
147
|
-
i0.ɵɵelementEnd();
|
|
148
|
-
} if (rf & 2) {
|
|
149
|
-
const element_r14 = i0.ɵɵnextContext().$implicit;
|
|
150
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
151
|
-
i0.ɵɵproperty("matTooltip", i0.ɵɵpipeBind1(1, 3, "MULTI_FUNCTIONAL_TABLE.SELECT"))("disabled", ctx_r2.config.batchConfig.checkBoxesDisabled || ctx_r2.preselectedItems.includes(element_r14) && ctx_r2.disablePreselectedItems)("checked", ctx_r2.matSelection.isSelected(element_r14));
|
|
152
|
-
} }
|
|
153
|
-
function MultiFunctionalTableComponent_td_17_Template(rf, ctx) { if (rf & 1) {
|
|
154
|
-
i0.ɵɵelementStart(0, "td", 42);
|
|
155
|
-
i0.ɵɵtemplate(1, MultiFunctionalTableComponent_td_17_mat_checkbox_1_Template, 2, 5, "mat-checkbox", 43);
|
|
156
|
-
i0.ɵɵelementEnd();
|
|
157
|
-
} if (rf & 2) {
|
|
158
|
-
const element_r14 = ctx.$implicit;
|
|
159
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
160
|
-
i0.ɵɵadvance();
|
|
161
|
-
i0.ɵɵproperty("ngIf", ctx_r2.isRowCheckboxAlwaysVisible || ctx_r2.hoveredRow === element_r14 || ctx_r2.matSelection.isSelected(element_r14));
|
|
162
|
-
} }
|
|
163
|
-
function MultiFunctionalTableComponent_tr_18_Template(rf, ctx) { if (rf & 1) {
|
|
164
|
-
i0.ɵɵelement(0, "tr", 45);
|
|
165
|
-
} }
|
|
166
|
-
function MultiFunctionalTableComponent_tr_19_Template(rf, ctx) { if (rf & 1) {
|
|
167
|
-
const _r15 = i0.ɵɵgetCurrentView();
|
|
168
|
-
i0.ɵɵelementStart(0, "tr", 46);
|
|
169
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_tr_19_Template_tr_click_0_listener() { const row_r16 = i0.ɵɵrestoreView(_r15).$implicit; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView((ctx_r2.config == null ? null : ctx_r2.config.rowClickCallback) && (!ctx_r2.config.disableRowClick || !(ctx_r2.config == null ? null : ctx_r2.config.disableRowClick(row_r16))) ? ctx_r2.config == null ? null : ctx_r2.config.rowClickCallback(row_r16) : null); })("mouseover", function MultiFunctionalTableComponent_tr_19_Template_tr_mouseover_0_listener() { const ctx_r16 = i0.ɵɵrestoreView(_r15); const row_r16 = ctx_r16.$implicit; const index_r18 = ctx_r16.index; const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.rowHovered(index_r18, row_r16)); })("mouseleave", function MultiFunctionalTableComponent_tr_19_Template_tr_mouseleave_0_listener() { i0.ɵɵrestoreView(_r15); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.rowHoverLeave()); });
|
|
170
|
-
i0.ɵɵelementEnd();
|
|
171
|
-
} if (rf & 2) {
|
|
172
|
-
const row_r16 = ctx.$implicit;
|
|
173
|
-
const index_r18 = ctx.index;
|
|
174
|
-
const ctx_r2 = i0.ɵɵnextContext();
|
|
175
|
-
i0.ɵɵclassProp("row-clickable", (ctx_r2.config == null ? null : ctx_r2.config.rowClickCallback) && (!ctx_r2.config.disableRowClick || !(ctx_r2.config == null ? null : ctx_r2.config.disableRowClick(row_r16))))("highlight-error", ctx_r2.highlightErrorElement(index_r18, row_r16))("highlight", ctx_r2.isElementHighlighted(index_r18, row_r16));
|
|
176
|
-
} }
|
|
177
|
-
function MultiFunctionalTableComponent_th_21_Template(rf, ctx) { if (rf & 1) {
|
|
178
|
-
i0.ɵɵelementStart(0, "th", 40)(1, "div", 47)(2, "button", 48)(3, "span", 29);
|
|
179
|
-
i0.ɵɵtext(4, "more_vert");
|
|
180
|
-
i0.ɵɵelementEnd()()()();
|
|
181
|
-
} if (rf & 2) {
|
|
182
|
-
i0.ɵɵnextContext();
|
|
183
|
-
const columnMenu_r19 = i0.ɵɵreference(25);
|
|
184
|
-
i0.ɵɵadvance(2);
|
|
185
|
-
i0.ɵɵproperty("matMenuTriggerFor", columnMenu_r19);
|
|
186
|
-
} }
|
|
187
|
-
function MultiFunctionalTableComponent_td_22_Template(rf, ctx) { if (rf & 1) {
|
|
188
|
-
i0.ɵɵelement(0, "td", 42);
|
|
189
|
-
} }
|
|
190
|
-
function MultiFunctionalTableComponent_ng_container_23_tr_1_Template(rf, ctx) { if (rf & 1) {
|
|
191
|
-
i0.ɵɵelementStart(0, "tr")(1, "td", 50);
|
|
192
|
-
i0.ɵɵelement(2, "lib-status-display", 51);
|
|
193
|
-
i0.ɵɵelementEnd()();
|
|
194
|
-
} if (rf & 2) {
|
|
195
|
-
const ctx_r2 = i0.ɵɵnextContext(2);
|
|
196
|
-
i0.ɵɵadvance(2);
|
|
197
|
-
i0.ɵɵproperty("config", ctx_r2.noDataRowConfig);
|
|
198
|
-
} }
|
|
199
|
-
function MultiFunctionalTableComponent_ng_container_23_Template(rf, ctx) { if (rf & 1) {
|
|
200
|
-
i0.ɵɵelementContainerStart(0);
|
|
201
|
-
i0.ɵɵtemplate(1, MultiFunctionalTableComponent_ng_container_23_tr_1_Template, 3, 1, "tr", 49);
|
|
202
|
-
i0.ɵɵelementContainerEnd();
|
|
203
|
-
} }
|
|
204
|
-
function MultiFunctionalTableComponent_div_27_Template(rf, ctx) { if (rf & 1) {
|
|
205
|
-
const _r20 = i0.ɵɵgetCurrentView();
|
|
206
|
-
i0.ɵɵelementStart(0, "div")(1, "mat-checkbox", 52);
|
|
207
|
-
i0.ɵɵtwoWayListener("ngModelChange", function MultiFunctionalTableComponent_div_27_Template_mat_checkbox_ngModelChange_1_listener($event) { const column_r21 = i0.ɵɵrestoreView(_r20).$implicit; i0.ɵɵtwoWayBindingSet(column_r21.selected, $event) || (column_r21.selected = $event); return i0.ɵɵresetView($event); });
|
|
208
|
-
i0.ɵɵtext(2);
|
|
209
|
-
i0.ɵɵpipe(3, "translate");
|
|
210
|
-
i0.ɵɵelementEnd()();
|
|
211
|
-
} if (rf & 2) {
|
|
212
|
-
const column_r21 = ctx.$implicit;
|
|
213
|
-
i0.ɵɵadvance();
|
|
214
|
-
i0.ɵɵtwoWayProperty("ngModel", column_r21.selected);
|
|
215
|
-
i0.ɵɵadvance();
|
|
216
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(3, 2, column_r21.displayName), " ");
|
|
217
|
-
} }
|
|
218
|
-
export class MultiFunctionalTableComponent {
|
|
219
|
-
#dataSource;
|
|
220
|
-
get dataSource() {
|
|
221
|
-
return (this.#dataSource ?? this.config.dataSource);
|
|
222
|
-
}
|
|
223
|
-
set selection(value) {
|
|
224
|
-
this.matSelection.setSelection(...(value ?? []));
|
|
225
|
-
}
|
|
226
|
-
get ignoreAttributeName() { return DISABLE_EXPORT_ATTRIBUTE_NAME; }
|
|
227
|
-
get filterActive() { return this.config.filter?.enabled; }
|
|
228
|
-
get showFilterToggle() { return !this.config.filter?.hideFilterToggle; }
|
|
229
|
-
get showFilterReset() { return this.config.filter?.settings.filters?.find(filter => filter.selectedValues?.length); }
|
|
230
|
-
constructor(domService, translateService) {
|
|
231
|
-
this.domService = domService;
|
|
232
|
-
this.translateService = translateService;
|
|
233
|
-
this.matSelection = new SelectionModel(true, []);
|
|
234
|
-
this.trackByFn = this.defaultTrackBy;
|
|
235
|
-
// Set this to false if you want to display checkboxes only on row hover.
|
|
236
|
-
this.isRowCheckboxAlwaysVisible = true;
|
|
237
|
-
this.disablePreselectedItems = false;
|
|
238
|
-
//#region Output properties
|
|
239
|
-
this.filterBarChange = new EventEmitter();
|
|
240
|
-
this.paginatorUpdate = new EventEmitter();
|
|
241
|
-
this.exported = new EventEmitter();
|
|
242
|
-
this.selectionChange = this.matSelection.changed.asObservable().pipe(map(() => { return this.matSelection.selected; }));
|
|
243
|
-
/** This property will be taken into account only if config.DataSource not set. */
|
|
244
|
-
this.data = input();
|
|
245
|
-
this.dataSourceUpdateEffect = effect(() => { this.updateDataSourceData(); });
|
|
246
|
-
this.noDataRowIcon = "manage_search";
|
|
247
|
-
this.isDragging = false;
|
|
248
|
-
this.startX = 0;
|
|
249
|
-
this.startY = 0;
|
|
250
|
-
this.scrollLeft = 0;
|
|
251
|
-
this.scrollTop = 0;
|
|
252
|
-
this.batchColumnName = "batch";
|
|
253
|
-
this.columnSelectColumnName = "columnSelect";
|
|
254
|
-
}
|
|
255
|
-
//#region Angular lifecycle hooks
|
|
256
|
-
ngOnInit() {
|
|
257
|
-
this.createDataSource();
|
|
258
|
-
this.readFromLocalStorage();
|
|
259
|
-
this.setFilterVisibility();
|
|
260
|
-
this.setColumnSelectProperties();
|
|
261
|
-
this.setExportProperties();
|
|
262
|
-
this.setNoDataRowProperties();
|
|
263
|
-
this.preselectedItems = this.matSelection.selected;
|
|
264
|
-
this.searchTooltip = this.config.filter?.settings?.searchTooltip ?? 'FILTER_BAR.SEARCH_TOOLTIP';
|
|
265
|
-
this.searchTitle = this.config.filter?.settings?.searchTitle ?? 'FILTER_BAR.SEARCH';
|
|
266
|
-
this.showSearch = !this.config.filter?.settings?.hideSearch;
|
|
267
|
-
this.showSearchClearButton = this.config.filter?.settings?.showSearchClearButton ?? true;
|
|
268
|
-
this.hideSearchTooltip = !this.config.filter?.settings?.hideTooltip;
|
|
269
|
-
}
|
|
270
|
-
ngAfterContentInit() {
|
|
271
|
-
this.columnDefs.forEach(columnDef => this.table.addColumnDef(columnDef));
|
|
272
|
-
this.rowDefs.forEach(rowDef => this.table.addRowDef(rowDef));
|
|
273
|
-
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
274
|
-
this.headerRowDefs.forEach(headerRowDef => this.table.addHeaderRowDef(headerRowDef));
|
|
275
|
-
this.table.setNoDataRow(this.noDataRow);
|
|
276
|
-
}
|
|
277
|
-
ngAfterViewInit() {
|
|
278
|
-
this.dataSource.sort = this.sort;
|
|
279
|
-
this.dataSource.paginator = this.paginator;
|
|
280
|
-
if (this.config.paginator?.initialPage) {
|
|
281
|
-
this.paginator.pageIndex = this.config.paginator.initialPage;
|
|
282
|
-
}
|
|
283
|
-
}
|
|
284
|
-
//#endregion
|
|
285
|
-
search(event) {
|
|
286
|
-
const input = event.target?.value;
|
|
287
|
-
this.config.filter.settings.searchInput = input;
|
|
288
|
-
this.filterBarChange.emit({ ...this.filters, input });
|
|
289
|
-
this.updatePaginator(0);
|
|
290
|
-
}
|
|
291
|
-
updateDisplayColumns(initial = false) {
|
|
292
|
-
this.batchSelectedEnabled = this.config.batchConfig?.enabled ? true : false;
|
|
293
|
-
const allColumns = this.config.columnSelect?.columns ?? [];
|
|
294
|
-
this.displayColumns = [];
|
|
295
|
-
this.configurableColumns = allColumns.filter(column => !column.notConfigurable);
|
|
296
|
-
if (this.batchSelectedEnabled) {
|
|
297
|
-
this.displayColumns.push(this.batchColumnName);
|
|
298
|
-
}
|
|
299
|
-
if (!allColumns.length) {
|
|
300
|
-
return;
|
|
301
|
-
}
|
|
302
|
-
const localStorageValue = this.localStorageValue ?? {};
|
|
303
|
-
if (!localStorageValue.columns) {
|
|
304
|
-
localStorageValue.columns = {};
|
|
305
|
-
}
|
|
306
|
-
allColumns.forEach((column) => {
|
|
307
|
-
if (initial) {
|
|
308
|
-
column.selected = localStorageValue.columns?.[column.name] ?? column.selected;
|
|
309
|
-
}
|
|
310
|
-
else {
|
|
311
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
312
|
-
localStorageValue.columns[column.name] = column.selected;
|
|
313
|
-
}
|
|
314
|
-
if (column.selected) {
|
|
315
|
-
this.displayColumns.push(column.name);
|
|
316
|
-
}
|
|
317
|
-
});
|
|
318
|
-
if (this.columnSelectActive) {
|
|
319
|
-
this.displayColumns.push(this.columnSelectColumnName);
|
|
320
|
-
}
|
|
321
|
-
if (!initial) {
|
|
322
|
-
this.updateLocalStorage(localStorageValue);
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
toggleFilterBar() {
|
|
326
|
-
const localstorageObject = this.localStorageValue ?? {};
|
|
327
|
-
if (!localstorageObject.filter) {
|
|
328
|
-
localstorageObject.filter = {};
|
|
329
|
-
}
|
|
330
|
-
this.filterBarVisible = !this.filterBarVisible;
|
|
331
|
-
localstorageObject.filter.visible = this.filterBarVisible;
|
|
332
|
-
this.updateLocalStorage(localstorageObject);
|
|
333
|
-
}
|
|
334
|
-
filtersChanged(filters) {
|
|
335
|
-
this.filters = { ...filters, input: this.config.filter.settings.searchInput ?? '' };
|
|
336
|
-
this.filterBarChange.emit(this.filters);
|
|
337
|
-
}
|
|
338
|
-
clearFilters() {
|
|
339
|
-
this.config.filter?.settings.filters?.forEach((filter) => {
|
|
340
|
-
filter.selectedValues = [];
|
|
341
|
-
});
|
|
342
|
-
this.filterBar.removeAllFilters();
|
|
343
|
-
}
|
|
344
|
-
export() {
|
|
345
|
-
this.dataSource.connect().pipe(take(1)).subscribe((data) => {
|
|
346
|
-
this.exported.emit(data);
|
|
347
|
-
});
|
|
348
|
-
if (this.config.export?.fileOptions) {
|
|
349
|
-
this.exportToFile();
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
isElementHighlighted(ix, element) {
|
|
353
|
-
let isHovered = false;
|
|
354
|
-
if (this.hoveredRow && this.hoveredRowIndex !== undefined) {
|
|
355
|
-
isHovered = this.trackByFn(this.hoveredRowIndex, this.hoveredRow) === this.trackByFn(ix, element);
|
|
356
|
-
}
|
|
357
|
-
return isHovered ||
|
|
358
|
-
this.highlightedElements?.some((highlightElement, highlightElementIx) => this.trackByFn(highlightElementIx, highlightElement) === this.trackByFn(ix, element));
|
|
359
|
-
}
|
|
360
|
-
highlightErrorElement(ix, element) {
|
|
361
|
-
return this.highlightedErrorElements?.some((highlightElement, highlightElementIx) => this.trackByFn(highlightElementIx, highlightElement) === this.trackByFn(ix, element));
|
|
362
|
-
}
|
|
363
|
-
//#region Methods for batch selection
|
|
364
|
-
isAllSelected() {
|
|
365
|
-
const numSelected = this.matSelection.selected.length;
|
|
366
|
-
const numRows = this.dataSource?.data.length;
|
|
367
|
-
return numSelected === numRows;
|
|
368
|
-
}
|
|
369
|
-
toggleAllRowSelection() {
|
|
370
|
-
if (this.isAllSelected()) {
|
|
371
|
-
if (this.disablePreselectedItems) {
|
|
372
|
-
// deselect only those items which were not already preselected
|
|
373
|
-
this.matSelection.deselect(...this.matSelection.selected.filter(elm => !this.preselectedItems.map(elm => elm).includes(elm)));
|
|
374
|
-
return;
|
|
375
|
-
}
|
|
376
|
-
else {
|
|
377
|
-
this.matSelection.clear();
|
|
378
|
-
return;
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
this.matSelection.select(...this.dataSource?.data ?? []);
|
|
382
|
-
}
|
|
383
|
-
toggleElementSelection(element) {
|
|
384
|
-
this.matSelection.toggle(element);
|
|
385
|
-
}
|
|
386
|
-
onMouseDown(event) {
|
|
387
|
-
if (this.config.disableMouseDragging) {
|
|
388
|
-
return;
|
|
389
|
-
}
|
|
390
|
-
this.isDragging = true;
|
|
391
|
-
this.startX = event.pageX - this.tableContainer.nativeElement.offsetLeft;
|
|
392
|
-
this.startY = event.pageY - this.tableContainer.nativeElement.offsetTop;
|
|
393
|
-
this.scrollLeft = this.tableContainer.nativeElement.scrollLeft;
|
|
394
|
-
this.scrollTop = this.tableContainer.nativeElement.scrollTop;
|
|
395
|
-
// canceling any previous animation frame
|
|
396
|
-
if (this.scrollMovement !== null) {
|
|
397
|
-
cancelAnimationFrame(this.scrollMovement);
|
|
398
|
-
}
|
|
399
|
-
}
|
|
400
|
-
onMouseMove(event) {
|
|
401
|
-
if (this.config.disableMouseDragging) {
|
|
402
|
-
return;
|
|
403
|
-
}
|
|
404
|
-
this.checkTableOverflow();
|
|
405
|
-
if (!this.isDragging) {
|
|
406
|
-
return;
|
|
407
|
-
}
|
|
408
|
-
// using requestAnimationFrame for smoother updates
|
|
409
|
-
if (this.scrollMovement === null) {
|
|
410
|
-
this.scrollMovement = requestAnimationFrame(() => {
|
|
411
|
-
if (!this.tableOverflow) {
|
|
412
|
-
return;
|
|
413
|
-
}
|
|
414
|
-
const x = event.pageX - this.tableContainer.nativeElement.offsetLeft;
|
|
415
|
-
const y = event.pageY - this.tableContainer.nativeElement.offsetTop;
|
|
416
|
-
// calculating the differences in movement
|
|
417
|
-
const walkX = (x - this.startX) * 2;
|
|
418
|
-
const walkY = (y - this.startY) * 2;
|
|
419
|
-
// updating scroll positions
|
|
420
|
-
this.tableContainer.nativeElement.scrollLeft = this.scrollLeft - walkX;
|
|
421
|
-
this.tableContainer.nativeElement.scrollTop = this.scrollTop - walkY;
|
|
422
|
-
this.scrollMovement = null;
|
|
423
|
-
});
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
onMouseUp() {
|
|
427
|
-
if (this.config.disableMouseDragging) {
|
|
428
|
-
return;
|
|
429
|
-
}
|
|
430
|
-
this.isDragging = false;
|
|
431
|
-
// canceling any pending animation
|
|
432
|
-
if (this.scrollMovement !== null) {
|
|
433
|
-
cancelAnimationFrame(this.scrollMovement);
|
|
434
|
-
this.scrollMovement = null;
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
paginatorChange(change) {
|
|
438
|
-
this.paginatorUpdate.emit(change);
|
|
439
|
-
}
|
|
440
|
-
//#endregion
|
|
441
|
-
rowHovered(index, row) {
|
|
442
|
-
this.hoveredRow = row;
|
|
443
|
-
this.hoveredRowIndex = index;
|
|
444
|
-
}
|
|
445
|
-
rowHoverLeave() {
|
|
446
|
-
this.hoveredRow = null;
|
|
447
|
-
this.hoveredRowIndex = undefined;
|
|
448
|
-
}
|
|
449
|
-
defaultTrackBy(ix) {
|
|
450
|
-
return ix;
|
|
451
|
-
}
|
|
452
|
-
checkTableOverflow() {
|
|
453
|
-
// when data is available we should check once for table overflow
|
|
454
|
-
// when there wasnt overflow, but width of the table became bigger, then we are reseting tableOverflow variable
|
|
455
|
-
// same for when there was overflow, but size of the table is same as container, so overflow is gone and we reseting tableOverflow variable again
|
|
456
|
-
if ((this.dataSource?.data.length && this.tableOverflow === undefined) ||
|
|
457
|
-
(!this.tableOverflow && this.tableContainer.nativeElement.clientWidth < this.tableElementRef.nativeElement.clientWidth) ||
|
|
458
|
-
(this.tableOverflow && this.tableContainer.nativeElement.clientWidth === this.tableElementRef.nativeElement.clientWidth)) {
|
|
459
|
-
if (this.tableContainer.nativeElement.clientWidth < this.tableElementRef.nativeElement.clientWidth) {
|
|
460
|
-
this.tableOverflow = true;
|
|
461
|
-
}
|
|
462
|
-
else {
|
|
463
|
-
this.tableOverflow = false;
|
|
464
|
-
}
|
|
465
|
-
}
|
|
466
|
-
}
|
|
467
|
-
exportToFile() {
|
|
468
|
-
if (!this.config.export?.fileOptions?.saveToFile) {
|
|
469
|
-
return;
|
|
470
|
-
}
|
|
471
|
-
let fileString = "";
|
|
472
|
-
let extension;
|
|
473
|
-
switch (this.config.export.fileOptions.format) {
|
|
474
|
-
case ExportFormat.CSV:
|
|
475
|
-
default:
|
|
476
|
-
extension = ExportFormat.CSV;
|
|
477
|
-
fileString = HtmlElementParseHelper.tableAsCsv(this.tableElementRef.nativeElement, this.ignoreAttributeName);
|
|
478
|
-
break;
|
|
479
|
-
}
|
|
480
|
-
const translatedFileName = this.translateService.instant(this.config.export.fileOptions.fileName);
|
|
481
|
-
SaveFileHelper.saveFile(fileString, `${translatedFileName}.${extension}`);
|
|
482
|
-
}
|
|
483
|
-
updateLocalStorage(newValue) {
|
|
484
|
-
this.localStorageValue = newValue;
|
|
485
|
-
if (this.config.localStorageKey && newValue) {
|
|
486
|
-
this.domService.localStorage?.setItem(this.config.localStorageKey, JSON.stringify(newValue));
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
readFromLocalStorage() {
|
|
490
|
-
if (this.config.localStorageKey) {
|
|
491
|
-
try {
|
|
492
|
-
const localStorageString = this.domService.localStorage?.getItem(this.config.localStorageKey);
|
|
493
|
-
if (localStorageString) {
|
|
494
|
-
this.localStorageValue = JSON.parse(localStorageString);
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
// eslint-disable-next-line no-empty
|
|
498
|
-
catch {
|
|
499
|
-
}
|
|
500
|
-
}
|
|
501
|
-
}
|
|
502
|
-
setColumnSelectProperties() {
|
|
503
|
-
this.columnSelectActive = this.config.columnSelect?.enabled ? true : false;
|
|
504
|
-
this.updateDisplayColumns(true);
|
|
505
|
-
}
|
|
506
|
-
setFilterVisibility() {
|
|
507
|
-
this.filterBarVisible = this.localStorageValue?.filter?.visible ?? this.config?.filter?.visible ?? false;
|
|
508
|
-
}
|
|
509
|
-
setNoDataRowProperties() {
|
|
510
|
-
if (this.config.noDataRow) {
|
|
511
|
-
this.noDataRowActive = true;
|
|
512
|
-
this.noDataRowConfig = this.config.noDataRow;
|
|
513
|
-
this.noDataRowConfig.icon = this.config.noDataRow?.icon ?? this.noDataRowIcon;
|
|
514
|
-
}
|
|
515
|
-
}
|
|
516
|
-
setExportProperties() {
|
|
517
|
-
if (this.config.export?.enabled) {
|
|
518
|
-
this.exportActive = true;
|
|
519
|
-
}
|
|
520
|
-
}
|
|
521
|
-
createDataSource() {
|
|
522
|
-
if (!this.config.dataSource) {
|
|
523
|
-
this.#dataSource = new MatTableDataSource(this.data());
|
|
524
|
-
}
|
|
525
|
-
}
|
|
526
|
-
updateDataSourceData() {
|
|
527
|
-
const data = this.data();
|
|
528
|
-
if (!data || !this.#dataSource) {
|
|
529
|
-
return;
|
|
530
|
-
}
|
|
531
|
-
const shouldInitializePaginator = !this.#dataSource.data.length;
|
|
532
|
-
this.#dataSource.data = data;
|
|
533
|
-
// if data is async loaded, page needs to be set on first load.
|
|
534
|
-
if (shouldInitializePaginator) {
|
|
535
|
-
this.updatePaginator(this.config.paginator?.initialPage ?? 0);
|
|
536
|
-
}
|
|
537
|
-
}
|
|
538
|
-
updatePaginator(pageIndex) {
|
|
539
|
-
this.paginator.pageIndex = pageIndex;
|
|
540
|
-
}
|
|
541
|
-
static { this.ɵfac = function MultiFunctionalTableComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || MultiFunctionalTableComponent)(i0.ɵɵdirectiveInject(i1.DOMService), i0.ɵɵdirectiveInject(i2.TranslateService)); }; }
|
|
542
|
-
static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MultiFunctionalTableComponent, selectors: [["tld-multi-functional-table"]], contentQueries: function MultiFunctionalTableComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
|
543
|
-
i0.ɵɵcontentQuery(dirIndex, MatNoDataRow, 5);
|
|
544
|
-
i0.ɵɵcontentQuery(dirIndex, MatHeaderRowDef, 4);
|
|
545
|
-
i0.ɵɵcontentQuery(dirIndex, MatRowDef, 5);
|
|
546
|
-
i0.ɵɵcontentQuery(dirIndex, MatColumnDef, 4);
|
|
547
|
-
} if (rf & 2) {
|
|
548
|
-
let _t;
|
|
549
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.noDataRow = _t.first);
|
|
550
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.headerRowDefs = _t);
|
|
551
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.rowDefs = _t);
|
|
552
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.columnDefs = _t);
|
|
553
|
-
} }, viewQuery: function MultiFunctionalTableComponent_Query(rf, ctx) { if (rf & 1) {
|
|
554
|
-
i0.ɵɵviewQuery(MatTable, 7);
|
|
555
|
-
i0.ɵɵviewQuery(MatSort, 5);
|
|
556
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
557
|
-
i0.ɵɵviewQuery(_c1, 5);
|
|
558
|
-
i0.ɵɵviewQuery(MatPaginator, 5);
|
|
559
|
-
i0.ɵɵviewQuery(MatTable, 5, ElementRef);
|
|
560
|
-
} if (rf & 2) {
|
|
561
|
-
let _t;
|
|
562
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.table = _t.first);
|
|
563
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.sort = _t.first);
|
|
564
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableContainer = _t.first);
|
|
565
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.filterBar = _t.first);
|
|
566
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.paginator = _t.first);
|
|
567
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.tableElementRef = _t.first);
|
|
568
|
-
} }, inputs: { config: "config", highlightedElements: "highlightedElements", trackByFn: "trackByFn", highlightedErrorElements: "highlightedErrorElements", selection: "selection", isRowCheckboxAlwaysVisible: "isRowCheckboxAlwaysVisible", disablePreselectedItems: "disablePreselectedItems", data: [1, "data"] }, outputs: { filterBarChange: "filterBarChange", paginatorUpdate: "paginatorUpdate", exported: "exported", selectionChange: "selectionChange" }, ngContentSelectors: _c3, decls: 32, vars: 22, consts: [["tableContainer", ""], ["table", ""], ["columnMenu", "matMenu"], ["wildSearch", ""], ["filterBar", ""], ["fxLayout", "column", "fxLayoutGap", "0.75rem", 3, "ngClass.lt-md"], ["fxLayout", "row", "fxLayout.lt-md", "column", "fxLayoutGap.lt-md", "0.75rem"], ["fxFlex", "", "fxLayout.lt-md", "column", "fxLayoutGap", "0.75rem", "fxLayoutAlign", "start center", "fxLayoutAlign.lt-md", "start start", 1, "action-row"], ["class", "export-data", "mat-stroked-button", "", "color", "accent", 3, "click", 4, "ngIf"], ["fxFlex", "", "fxLayoutGap", "0.5rem", "fxLayoutAlign", "start center", 4, "ngIf"], ["fxLayout", "row", "fxLayoutAlign", "start center", "class", "wild-search-wrapper", 4, "ngIf"], [3, "filterRowVisible", "settings", "filterBarChange", 4, "ngIf"], [3, "hidePageSize", "showFirstLastButtons", "pageSizeOptions"], [1, "table-overflow", 3, "mousedown", "mouseup", "mouseleave", "mousemove"], ["mat-table", "", 3, "dataSource", "trackBy"], [3, "matColumnDef"], ["class", "row-select", "mat-header-cell", "", "disable-export", "", 4, "matHeaderCellDef"], ["class", "row-select", "mat-cell", "", "disable-export", "", 4, "matCellDef"], ["mat-header-row", "", 4, "matHeaderRowDef", "matHeaderRowDefSticky"], ["mat-row", "", 3, "row-clickable", "highlight-error", "highlight", "click", "mouseover", "mouseleave", 4, "matRowDef", "matRowDefColumns"], [4, "ngIf"], [1, "column-select-menu", 3, "click"], [4, "ngFor", "ngForOf"], [1, "column-select-save"], ["mat-flat-button", "", "color", "accent", 3, "click"], ["mat-stroked-button", "", "color", "accent", 1, "export-data", 3, "click"], [1, "material-icons-outlined"], ["fxFlex", "", "fxLayoutGap", "0.5rem", "fxLayoutAlign", "start center"], ["mat-stroked-button", "", "color", "accent", 3, "click"], [1, "material-icons"], ["class", "clear-filters-wrapper", 4, "ngIf"], [1, "clear-filters-wrapper"], ["mat-icon-button", "", 3, "click"], ["fxLayout", "row", "fxLayoutAlign", "start center", 1, "wild-search-wrapper"], [1, "search-icon", 3, "matTooltip"], ["type", "text", 3, "keyup", "value", "placeholder"], ["mat-icon-button", "", "class", "wild-search-clear-btn", 3, "click", 4, "ngIf"], ["mat-icon-button", "", 1, "wild-search-clear-btn", 3, "click"], [3, "filterBarChange", "filterRowVisible", "settings"], [3, "page", "hidePageSize", "showFirstLastButtons", "pageSizeOptions"], ["mat-header-cell", "", "disable-export", "", 1, "row-select"], [3, "change", "matTooltip", "disabled", "checked", "indeterminate"], ["mat-cell", "", "disable-export", "", 1, "row-select"], [3, "matTooltip", "disabled", "checked", "click", "change", 4, "ngIf"], [3, "click", "change", "matTooltip", "disabled", "checked"], ["mat-header-row", ""], ["mat-row", "", 3, "click", "mouseover", "mouseleave"], [1, "column-selector-wrapper"], ["mat-icon-button", "", "color", "accent", 1, "column-selector", 3, "matMenuTriggerFor"], [4, "matNoDataRow"], ["colspan", "99"], [3, "config"], [3, "ngModelChange", "ngModel"]], template: function MultiFunctionalTableComponent_Template(rf, ctx) { if (rf & 1) {
|
|
569
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
570
|
-
i0.ɵɵprojectionDef(_c2);
|
|
571
|
-
i0.ɵɵelementStart(0, "div", 5)(1, "div", 6)(2, "div", 7);
|
|
572
|
-
i0.ɵɵtemplate(3, MultiFunctionalTableComponent_button_3_Template, 6, 3, "button", 8)(4, MultiFunctionalTableComponent_div_4_Template, 8, 6, "div", 9);
|
|
573
|
-
i0.ɵɵelementEnd();
|
|
574
|
-
i0.ɵɵtemplate(5, MultiFunctionalTableComponent_div_5_Template, 8, 8, "div", 10);
|
|
575
|
-
i0.ɵɵprojection(6);
|
|
576
|
-
i0.ɵɵelementEnd();
|
|
577
|
-
i0.ɵɵtemplate(7, MultiFunctionalTableComponent_tld_filter_bar_7_Template, 2, 2, "tld-filter-bar", 11);
|
|
578
|
-
i0.ɵɵprojection(8, 1);
|
|
579
|
-
i0.ɵɵtemplate(9, MultiFunctionalTableComponent_Conditional_9_Template, 3, 7, "mat-paginator", 12);
|
|
580
|
-
i0.ɵɵelementStart(10, "div", 13, 0);
|
|
581
|
-
i0.ɵɵlistener("mousedown", function MultiFunctionalTableComponent_Template_div_mousedown_10_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMouseDown($event)); })("mouseup", function MultiFunctionalTableComponent_Template_div_mouseup_10_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMouseUp()); })("mouseleave", function MultiFunctionalTableComponent_Template_div_mouseleave_10_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMouseUp()); })("mousemove", function MultiFunctionalTableComponent_Template_div_mousemove_10_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.onMouseMove($event)); });
|
|
582
|
-
i0.ɵɵelementStart(12, "table", 14, 1);
|
|
583
|
-
i0.ɵɵprojection(14, 2);
|
|
584
|
-
i0.ɵɵelementContainerStart(15, 15);
|
|
585
|
-
i0.ɵɵtemplate(16, MultiFunctionalTableComponent_th_16_Template, 3, 6, "th", 16)(17, MultiFunctionalTableComponent_td_17_Template, 2, 1, "td", 17);
|
|
586
|
-
i0.ɵɵelementContainerEnd();
|
|
587
|
-
i0.ɵɵtemplate(18, MultiFunctionalTableComponent_tr_18_Template, 1, 0, "tr", 18)(19, MultiFunctionalTableComponent_tr_19_Template, 1, 6, "tr", 19);
|
|
588
|
-
i0.ɵɵelementContainerStart(20, 15);
|
|
589
|
-
i0.ɵɵtemplate(21, MultiFunctionalTableComponent_th_21_Template, 5, 1, "th", 16)(22, MultiFunctionalTableComponent_td_22_Template, 1, 0, "td", 17);
|
|
590
|
-
i0.ɵɵelementContainerEnd();
|
|
591
|
-
i0.ɵɵtemplate(23, MultiFunctionalTableComponent_ng_container_23_Template, 2, 0, "ng-container", 20);
|
|
592
|
-
i0.ɵɵelementEnd()()();
|
|
593
|
-
i0.ɵɵelementStart(24, "mat-menu", null, 2)(26, "div", 21);
|
|
594
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_Template_div_click_26_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView($event.stopPropagation()); });
|
|
595
|
-
i0.ɵɵtemplate(27, MultiFunctionalTableComponent_div_27_Template, 4, 4, "div", 22);
|
|
596
|
-
i0.ɵɵelementStart(28, "div", 23)(29, "button", 24);
|
|
597
|
-
i0.ɵɵlistener("click", function MultiFunctionalTableComponent_Template_button_click_29_listener() { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.updateDisplayColumns()); });
|
|
598
|
-
i0.ɵɵtext(30);
|
|
599
|
-
i0.ɵɵpipe(31, "translate");
|
|
600
|
-
i0.ɵɵelementEnd()()()();
|
|
601
|
-
} if (rf & 2) {
|
|
602
|
-
let tmp_15_0;
|
|
603
|
-
i0.ɵɵproperty("ngClass.lt-md", "mobile");
|
|
604
|
-
i0.ɵɵadvance(3);
|
|
605
|
-
i0.ɵɵproperty("ngIf", ctx.exportActive);
|
|
606
|
-
i0.ɵɵadvance();
|
|
607
|
-
i0.ɵɵproperty("ngIf", ctx.filterActive && ctx.showFilterToggle);
|
|
608
|
-
i0.ɵɵadvance();
|
|
609
|
-
i0.ɵɵproperty("ngIf", ctx.showSearch);
|
|
610
|
-
i0.ɵɵadvance(2);
|
|
611
|
-
i0.ɵɵproperty("ngIf", ctx.config.filter && ctx.config.filter.enabled);
|
|
612
|
-
i0.ɵɵadvance(2);
|
|
613
|
-
i0.ɵɵconditional((ctx.config.paginator == null ? null : ctx.config.paginator.enabled) ? 9 : -1);
|
|
614
|
-
i0.ɵɵadvance();
|
|
615
|
-
i0.ɵɵclassProp("table-sticky-header", ctx.config == null ? null : ctx.config.stickyHeader)("table-dragable", ctx.tableOverflow && !(ctx.config == null ? null : ctx.config.disableMouseDragging));
|
|
616
|
-
i0.ɵɵadvance(2);
|
|
617
|
-
i0.ɵɵproperty("dataSource", ctx.dataSource)("trackBy", ctx.trackByFn);
|
|
618
|
-
i0.ɵɵadvance(3);
|
|
619
|
-
i0.ɵɵproperty("matColumnDef", ctx.batchColumnName);
|
|
620
|
-
i0.ɵɵadvance(3);
|
|
621
|
-
i0.ɵɵproperty("matHeaderRowDef", ctx.displayColumns)("matHeaderRowDefSticky", (tmp_15_0 = ctx.config == null ? null : ctx.config.stickyHeader) !== null && tmp_15_0 !== undefined ? tmp_15_0 : false);
|
|
622
|
-
i0.ɵɵadvance();
|
|
623
|
-
i0.ɵɵproperty("matRowDefColumns", ctx.displayColumns);
|
|
624
|
-
i0.ɵɵadvance();
|
|
625
|
-
i0.ɵɵproperty("matColumnDef", ctx.columnSelectColumnName);
|
|
626
|
-
i0.ɵɵadvance(3);
|
|
627
|
-
i0.ɵɵproperty("ngIf", ctx.noDataRowActive);
|
|
628
|
-
i0.ɵɵadvance(4);
|
|
629
|
-
i0.ɵɵproperty("ngForOf", ctx.configurableColumns);
|
|
630
|
-
i0.ɵɵadvance(3);
|
|
631
|
-
i0.ɵɵtextInterpolate1(" ", i0.ɵɵpipeBind1(31, 20, "MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT_SAVE"), " ");
|
|
632
|
-
} }, dependencies: [i3.NgForOf, i3.NgIf, i4.MatTable, i4.MatHeaderCellDef, i4.MatHeaderRowDef, i4.MatColumnDef, i4.MatCellDef, i4.MatRowDef, i4.MatHeaderCell, i4.MatCell, i4.MatHeaderRow, i4.MatRow, i4.MatNoDataRow, i5.MatButton, i5.MatIconButton, i6.MatMenu, i6.MatMenuTrigger, i7.MatCheckbox, i8.NgControlStatus, i8.NgModel, i9.FilterBarComponent, i10.DefaultLayoutDirective, i10.DefaultLayoutGapDirective, i10.DefaultLayoutAlignDirective, i10.DefaultFlexDirective, i11.DefaultClassDirective, i12.MatTooltip, i13.StatusDisplayComponent, i14.MatIcon, i15.MatPaginator, i2.TranslatePipe], styles: ["[_nghost-%COMP%] th, [_nghost-%COMP%] tr{white-space:nowrap}[_nghost-%COMP%] td:not(:first-of-type){padding-right:10px!important}[_nghost-%COMP%] tr.mat-mdc-row:hover, [_nghost-%COMP%] tr.mat-mdc-row.highlight{background-color:var(--base-95)}[_nghost-%COMP%] tr.mat-mdc-row.highlight-error{background-color:var(--warning-light)}[_nghost-%COMP%] .export-data .mdc-button__label{display:flex;align-items:center}[_nghost-%COMP%] .mat-mdc-cell, [_nghost-%COMP%] .mat-mdc-header-cell, [_nghost-%COMP%] .mdc-data-table__row:last-child{border-bottom-color:var(--base-70)}[_nghost-%COMP%] .mdc-data-table__row:last-child{border-bottom-width:1px;border-bottom-style:solid}[_nghost-%COMP%] .mdc-data-table__cell:nth-child(2), [_nghost-%COMP%] .mdc-data-table__header-cell:nth-child(2){padding:0 16px 0 10px}[_nghost-%COMP%] td+.cdk-column-columnSelect{display:none}[_nghost-%COMP%] .clear-filters-wrapper .mat-mdc-icon-button, [_nghost-%COMP%] .clear-filters-wrapper .mat-mdc-icon-button .mat-mdc-button-touch-target{height:36px!important;width:36px!important}[_nghost-%COMP%] .clear-filters-wrapper mat-icon{margin-top:-2px;margin-left:-2px}[_nghost-%COMP%] .filter-active{background-color:var(--neutral-95)}[_nghost-%COMP%] .row-actions{opacity:0}[_nghost-%COMP%] .mobile .row-actions, [_nghost-%COMP%] .highlight .row-actions{opacity:1}[_nghost-%COMP%] .mat-mdc-paginator-range-actions button{padding:8px}table[_ngcontent-%COMP%]{width:100%}.wild-search-wrapper[_ngcontent-%COMP%]{position:relative;padding:5px 10px;border-radius:4px;border:1px solid var(--neutral-50);margin:0 8px}.wild-search-wrapper[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-right:30px}.wild-search-wrapper[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{color:var(--base-40)}.wild-search-wrapper[_ngcontent-%COMP%] .wild-search-clear-btn[_ngcontent-%COMP%]{position:absolute;right:3px}.wild-search-wrapper[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%], .wild-search-wrapper[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] .mat-mdc-button-touch-target[_ngcontent-%COMP%]{height:33px!important;width:33px!important}.wild-search-wrapper[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] mat-icon[_ngcontent-%COMP%], .wild-search-wrapper[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] .material-icons[_ngcontent-%COMP%], .wild-search-wrapper[_ngcontent-%COMP%] .mat-mdc-icon-button[_ngcontent-%COMP%] .material-icons-outlined[_ngcontent-%COMP%]{top:5px!important;left:5px!important}.mobile[_ngcontent-%COMP%] .wild-search-wrapper[_ngcontent-%COMP%]{margin:0}.column-selector-wrapper[_ngcontent-%COMP%]{display:flex;justify-content:end}.column-select-menu[_ngcontent-%COMP%]{padding:8px 18px 8px 8px}.column-select-save[_ngcontent-%COMP%]{padding-left:8px;padding-top:8px}.column-select-save[_ngcontent-%COMP%] button[_ngcontent-%COMP%]{width:100%}.row-clickable[_ngcontent-%COMP%]{cursor:pointer}.row-clickable[_ngcontent-%COMP%]:active{background-color:var(--base-70)!important}.material-icons[_ngcontent-%COMP%], .material-icons-outlined[_ngcontent-%COMP%]{margin-right:.5rem}.table-action-button[_ngcontent-%COMP%]{margin-bottom:1rem}th.mat-mdc-header-cell[_ngcontent-%COMP%]:first-of-type, td.mat-mdc-cell[_ngcontent-%COMP%]:first-of-type, td.mat-mdc-footer-cell[_ngcontent-%COMP%]:first-of-type{padding:0 0 0 10px}.row-select[_ngcontent-%COMP%]{width:0}.table-overflow[_ngcontent-%COMP%]{overflow-x:auto}.table-dragable[_ngcontent-%COMP%]{cursor:grab;-webkit-user-select:none;user-select:none}.table-dragable[_ngcontent-%COMP%]:active{cursor:grabbing}.table-sticky-header[_ngcontent-%COMP%]{max-height:70vh}"] }); }
|
|
633
|
-
}
|
|
634
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MultiFunctionalTableComponent, [{
|
|
635
|
-
type: Component,
|
|
636
|
-
args: [{ selector: 'tld-multi-functional-table', template: "<div [ngClass.lt-md]=\"'mobile'\" fxLayout=\"column\" fxLayoutGap=\"0.75rem\">\r\n <div fxLayout=\"row\" fxLayout.lt-md=\"column\" fxLayoutGap.lt-md=\"0.75rem\">\r\n <div\r\n fxFlex\r\n fxLayout.lt-md=\"column\"\r\n fxLayoutGap=\"0.75rem\"\r\n fxLayoutAlign=\"start center\"\r\n fxLayoutAlign.lt-md=\"start start\"\r\n class=\"action-row\"\r\n >\r\n <button\r\n class=\"export-data\"\r\n mat-stroked-button\r\n color=\"accent\"\r\n *ngIf=\"exportActive\"\r\n (click)=\"export()\"\r\n >\r\n <span class=\"material-icons-outlined\">cloud_download</span>\r\n <span>{{ \"MULTI_FUNCTIONAL_TABLE.EXPORT\" | translate }}</span>\r\n </button>\r\n\r\n <div\r\n *ngIf=\"filterActive && showFilterToggle\"\r\n fxFlex\r\n fxLayoutGap=\"0.5rem\"\r\n fxLayoutAlign=\"start center\"\r\n >\r\n <button\r\n [class.filter-active]=\"filterBarVisible\"\r\n mat-stroked-button\r\n color=\"accent\"\r\n (click)=\"toggleFilterBar()\"\r\n >\r\n <span class=\"material-icons\">filter_list</span>\r\n <span>{{ \"MULTI_FUNCTIONAL_TABLE.FILTER_TOGGLE\" | translate }}</span>\r\n </button>\r\n\r\n <div *ngIf=\"showFilterReset\" class=\"clear-filters-wrapper\">\r\n <button mat-icon-button (click)=\"clearFilters()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div\r\n *ngIf=\"showSearch\"\r\n fxLayout=\"row\"\r\n fxLayoutAlign=\"start center\"\r\n class=\"wild-search-wrapper\"\r\n >\r\n <mat-icon\r\n class=\"search-icon\"\r\n [matTooltip]=\"hideSearchTooltip ? '' : (searchTooltip | translate)\"\r\n >search</mat-icon\r\n >\r\n <input\r\n [value]=\"config.filter?.settings?.searchValue ?? ''\"\r\n #wildSearch\r\n type=\"text\"\r\n [placeholder]=\"searchTitle | translate\"\r\n (keyup)=\"search($event)\"\r\n />\r\n <button\r\n *ngIf=\"showSearchClearButton && wildSearch.value\"\r\n mat-icon-button\r\n class=\"wild-search-clear-btn\"\r\n (click)=\"wildSearch.value = ''; search({ target: { value: '' } })\"\r\n >\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <ng-content select=\"[additionalActions]\"></ng-content>\r\n </div>\r\n\r\n <tld-filter-bar\r\n *ngIf=\"config.filter && config.filter.enabled\"\r\n #filterBar\r\n [filterRowVisible]=\"filterBarVisible\"\r\n [settings]=\"config.filter.settings\"\r\n (filterBarChange)=\"filtersChanged($event)\"\r\n >\r\n </tld-filter-bar>\r\n\r\n <ng-content select=\"[batchActions]\"></ng-content>\r\n\r\n @if(config.paginator?.enabled){\r\n @let paginatorConfig = config.paginator!;\r\n\r\n <mat-paginator [hidePageSize]=\"!paginatorConfig.showPageSize\" [showFirstLastButtons]=\"paginatorConfig.showFirstLastButtons\"\r\n [attr.aria-label]=\"'MULTI_FUNCTIONAL_TABLE.PAGINATOR_LABEL' | translate\" [pageSizeOptions]=\"paginatorConfig.pageSizeOptions ?? [10]\" (page)=\"paginatorChange($event)\">\r\n </mat-paginator>\r\n }\r\n <div\r\n #tableContainer\r\n class=\"table-overflow\"\r\n [class.table-sticky-header]=\"config?.stickyHeader\"\r\n [class.table-dragable]=\"tableOverflow && !config?.disableMouseDragging\"\r\n (mousedown)=\"onMouseDown($event)\"\r\n (mouseup)=\"onMouseUp()\"\r\n (mouseleave)=\"onMouseUp()\"\r\n (mousemove)=\"onMouseMove($event)\"\r\n >\r\n <table\r\n #table\r\n mat-table\r\n [dataSource]=\"dataSource!\"\r\n [trackBy]=\"trackByFn\"\r\n >\r\n <ng-content></ng-content>\r\n <ng-container [matColumnDef]=\"batchColumnName\">\r\n <th class=\"row-select\" mat-header-cell *matHeaderCellDef disable-export>\r\n <mat-checkbox\r\n [matTooltip]=\"'MULTI_FUNCTIONAL_TABLE.SELECT_ALL' | translate\"\r\n [disabled]=\"config.batchConfig!.checkBoxesDisabled\"\r\n (change)=\"toggleAllRowSelection()\"\r\n [checked]=\"matSelection.hasValue() && isAllSelected()\"\r\n [indeterminate]=\"matSelection.hasValue() && !isAllSelected()\"\r\n >\r\n </mat-checkbox>\r\n </th>\r\n <td\r\n class=\"row-select\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n disable-export\r\n >\r\n <mat-checkbox\r\n [matTooltip]=\"'MULTI_FUNCTIONAL_TABLE.SELECT' | translate\"\r\n *ngIf=\"\r\n isRowCheckboxAlwaysVisible ||\r\n hoveredRow === element ||\r\n matSelection.isSelected(element)\r\n \"\r\n [disabled]=\"\r\n config.batchConfig!.checkBoxesDisabled ||\r\n (preselectedItems.includes(element) && disablePreselectedItems)\r\n \"\r\n (click)=\"$event.stopPropagation()\"\r\n (change)=\"toggleElementSelection(element)\"\r\n [checked]=\"matSelection.isSelected(element)\"\r\n >\r\n </mat-checkbox>\r\n </td>\r\n </ng-container>\r\n <tr\r\n mat-header-row\r\n *matHeaderRowDef=\"displayColumns; sticky: config?.stickyHeader ?? false\"\r\n ></tr>\r\n <tr\r\n mat-row\r\n *matRowDef=\"let row; let index = index; columns: displayColumns\"\r\n (click)=\"\r\n config?.rowClickCallback && (!config.disableRowClick || !config?.disableRowClick(row))\r\n ? config?.rowClickCallback(row)\r\n : null\r\n \"\r\n (mouseover)=\"rowHovered(index,row)\"\r\n (mouseleave)=\"rowHoverLeave()\"\r\n [class.row-clickable]=\"\r\n config?.rowClickCallback && (!config.disableRowClick || !config?.disableRowClick(row))\r\n \"\r\n [class.highlight-error]=\"highlightErrorElement(index, row)\"\r\n [class.highlight]=\"isElementHighlighted(index,row)\"\r\n ></tr>\r\n\r\n <ng-container [matColumnDef]=\"columnSelectColumnName\">\r\n <th class=\"row-select\" mat-header-cell *matHeaderCellDef disable-export>\r\n <div class=\"column-selector-wrapper\">\r\n <button\r\n class=\"column-selector\"\r\n mat-icon-button\r\n color=\"accent\"\r\n [matMenuTriggerFor]=\"columnMenu\"\r\n >\r\n <span class=\"material-icons\">more_vert</span>\r\n </button>\r\n </div>\r\n </th>\r\n <td\r\n class=\"row-select\"\r\n mat-cell\r\n *matCellDef=\"let element\"\r\n disable-export\r\n ></td>\r\n </ng-container>\r\n <ng-container *ngIf=\"noDataRowActive\">\r\n <tr *matNoDataRow>\r\n <!-- add random number to make sure it takes full width -->\r\n <td colspan=\"99\">\r\n <lib-status-display [config]=\"noDataRowConfig\"></lib-status-display>\r\n </td>\r\n </tr>\r\n </ng-container>\r\n </table>\r\n </div>\r\n</div>\r\n\r\n<mat-menu #columnMenu=\"matMenu\">\r\n <div class=\"column-select-menu\" (click)=\"$event.stopPropagation()\">\r\n <div *ngFor=\"let column of configurableColumns\">\r\n <mat-checkbox [(ngModel)]=\"column.selected\">\r\n {{ column.displayName | translate }}\r\n </mat-checkbox>\r\n </div>\r\n\r\n <div class=\"column-select-save\">\r\n <button\r\n mat-flat-button\r\n color=\"accent\"\r\n (click)=\"updateDisplayColumns()\"\r\n >\r\n {{ \"MULTI_FUNCTIONAL_TABLE.COLUMN_SELECT_SAVE\" | translate }}\r\n </button>\r\n </div>\r\n </div>\r\n</mat-menu>\r\n", styles: [":host ::ng-deep th,:host ::ng-deep tr{white-space:nowrap}:host ::ng-deep td:not(:first-of-type){padding-right:10px!important}:host ::ng-deep tr.mat-mdc-row:hover,:host ::ng-deep tr.mat-mdc-row.highlight{background-color:var(--base-95)}:host ::ng-deep tr.mat-mdc-row.highlight-error{background-color:var(--warning-light)}:host ::ng-deep .export-data .mdc-button__label{display:flex;align-items:center}:host ::ng-deep .mat-mdc-cell,:host ::ng-deep .mat-mdc-header-cell,:host ::ng-deep .mdc-data-table__row:last-child{border-bottom-color:var(--base-70)}:host ::ng-deep .mdc-data-table__row:last-child{border-bottom-width:1px;border-bottom-style:solid}:host ::ng-deep .mdc-data-table__cell:nth-child(2),:host ::ng-deep .mdc-data-table__header-cell:nth-child(2){padding:0 16px 0 10px}:host ::ng-deep td+.cdk-column-columnSelect{display:none}:host ::ng-deep .clear-filters-wrapper .mat-mdc-icon-button,:host ::ng-deep .clear-filters-wrapper .mat-mdc-icon-button .mat-mdc-button-touch-target{height:36px!important;width:36px!important}:host ::ng-deep .clear-filters-wrapper mat-icon{margin-top:-2px;margin-left:-2px}:host ::ng-deep .filter-active{background-color:var(--neutral-95)}:host ::ng-deep .row-actions{opacity:0}:host ::ng-deep .mobile .row-actions,:host ::ng-deep .highlight .row-actions{opacity:1}:host ::ng-deep .mat-mdc-paginator-range-actions button{padding:8px}table{width:100%}.wild-search-wrapper{position:relative;padding:5px 10px;border-radius:4px;border:1px solid var(--neutral-50);margin:0 8px}.wild-search-wrapper input{margin-right:30px}.wild-search-wrapper .search-icon{color:var(--base-40)}.wild-search-wrapper .wild-search-clear-btn{position:absolute;right:3px}.wild-search-wrapper .mat-mdc-icon-button,.wild-search-wrapper .mat-mdc-icon-button .mat-mdc-button-touch-target{height:33px!important;width:33px!important}.wild-search-wrapper .mat-mdc-icon-button mat-icon,.wild-search-wrapper .mat-mdc-icon-button .material-icons,.wild-search-wrapper .mat-mdc-icon-button .material-icons-outlined{top:5px!important;left:5px!important}.mobile .wild-search-wrapper{margin:0}.column-selector-wrapper{display:flex;justify-content:end}.column-select-menu{padding:8px 18px 8px 8px}.column-select-save{padding-left:8px;padding-top:8px}.column-select-save button{width:100%}.row-clickable{cursor:pointer}.row-clickable:active{background-color:var(--base-70)!important}.material-icons,.material-icons-outlined{margin-right:.5rem}.table-action-button{margin-bottom:1rem}th.mat-mdc-header-cell:first-of-type,td.mat-mdc-cell:first-of-type,td.mat-mdc-footer-cell:first-of-type{padding:0 0 0 10px}.row-select{width:0}.table-overflow{overflow-x:auto}.table-dragable{cursor:grab;-webkit-user-select:none;user-select:none}.table-dragable:active{cursor:grabbing}.table-sticky-header{max-height:70vh}\n"] }]
|
|
637
|
-
}], () => [{ type: i1.DOMService }, { type: i2.TranslateService }], { config: [{
|
|
638
|
-
type: Input
|
|
639
|
-
}], highlightedElements: [{
|
|
640
|
-
type: Input
|
|
641
|
-
}], trackByFn: [{
|
|
642
|
-
type: Input
|
|
643
|
-
}], highlightedErrorElements: [{
|
|
644
|
-
type: Input
|
|
645
|
-
}], selection: [{
|
|
646
|
-
type: Input
|
|
647
|
-
}], isRowCheckboxAlwaysVisible: [{
|
|
648
|
-
type: Input
|
|
649
|
-
}], disablePreselectedItems: [{
|
|
650
|
-
type: Input
|
|
651
|
-
}], filterBarChange: [{
|
|
652
|
-
type: Output
|
|
653
|
-
}], paginatorUpdate: [{
|
|
654
|
-
type: Output
|
|
655
|
-
}], exported: [{
|
|
656
|
-
type: Output
|
|
657
|
-
}], selectionChange: [{
|
|
658
|
-
type: Output
|
|
659
|
-
}], headerRowDefs: [{
|
|
660
|
-
type: ContentChildren,
|
|
661
|
-
args: [MatHeaderRowDef]
|
|
662
|
-
}], rowDefs: [{
|
|
663
|
-
type: ContentChildren,
|
|
664
|
-
args: [MatRowDef, { descendants: true }]
|
|
665
|
-
}], columnDefs: [{
|
|
666
|
-
type: ContentChildren,
|
|
667
|
-
args: [MatColumnDef]
|
|
668
|
-
}], noDataRow: [{
|
|
669
|
-
type: ContentChild,
|
|
670
|
-
args: [MatNoDataRow]
|
|
671
|
-
}], table: [{
|
|
672
|
-
type: ViewChild,
|
|
673
|
-
args: [MatTable, { static: true }]
|
|
674
|
-
}], sort: [{
|
|
675
|
-
type: ViewChild,
|
|
676
|
-
args: [MatSort]
|
|
677
|
-
}], tableContainer: [{
|
|
678
|
-
type: ViewChild,
|
|
679
|
-
args: ['tableContainer']
|
|
680
|
-
}], filterBar: [{
|
|
681
|
-
type: ViewChild,
|
|
682
|
-
args: ['filterBar']
|
|
683
|
-
}], paginator: [{
|
|
684
|
-
type: ViewChild,
|
|
685
|
-
args: [MatPaginator]
|
|
686
|
-
}], tableElementRef: [{
|
|
687
|
-
type: ViewChild,
|
|
688
|
-
args: [MatTable, { read: ElementRef }]
|
|
689
|
-
}] }); })();
|
|
690
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MultiFunctionalTableComponent, { className: "MultiFunctionalTableComponent", filePath: "lib\\multi-functional-table\\multi-functional-table.component.ts", lineNumber: 26 }); })();
|
|
691
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtY29tbW9uL3NyYy9saWIvbXVsdGktZnVuY3Rpb25hbC10YWJsZS9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1jb21tb24vc3JjL2xpYi9tdWx0aS1mdW5jdGlvbmFsLXRhYmxlL211bHRpLWZ1bmN0aW9uYWwtdGFibGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzFELE9BQU8sRUFBbUMsU0FBUyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQWEsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hNLE9BQU8sRUFBRSxZQUFZLEVBQWEsTUFBTSw2QkFBNkIsQ0FBQztBQUN0RSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUvSCxPQUFPLEVBQUUsR0FBRyxFQUFjLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBRzdELE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQ2hHLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxVQUFVLENBQUM7Ozs7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QURFLG9HQUNGOzs7aUZEN0xPLDZCQUE2QjtjQU56QyxTQUFTOzJCQUVFLDRCQUE0QjswRUFZN0IsTUFBTTtrQkFBZCxLQUFLO1lBQ0csbUJBQW1CO2tCQUEzQixLQUFLO1lBQ0csU0FBUztrQkFBakIsS0FBSztZQUNHLHdCQUF3QjtrQkFBaEMsS0FBSztZQUNPLFNBQVM7a0JBQXJCLEtBQUs7WUFLRywwQkFBMEI7a0JBQWxDLEtBQUs7WUFDRyx1QkFBdUI7a0JBQS9CLEtBQUs7WUFHSSxlQUFlO2tCQUF4QixNQUFNO1lBQ0csZUFBZTtrQkFBeEIsTUFBTTtZQUNHLFFBQVE7a0JBQWpCLE1BQU07WUFDRyxlQUFlO2tCQUF4QixNQUFNO1lBSTJCLGFBQWE7a0JBQTlDLGVBQWU7bUJBQUMsZUFBZTtZQUNtQixPQUFPO2tCQUF6RCxlQUFlO21CQUFDLFNBQVMsRUFBRSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUU7WUFDbEIsVUFBVTtrQkFBeEMsZUFBZTttQkFBQyxZQUFZO1lBQ0QsU0FBUztrQkFBcEMsWUFBWTttQkFBQyxZQUFZO1lBRWEsS0FBSztrQkFBM0MsU0FBUzttQkFBQyxRQUFRLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO1lBQ2pCLElBQUk7a0JBQXZCLFNBQVM7bUJBQUMsT0FBTztZQUVXLGNBQWM7a0JBQTFDLFNBQVM7bUJBQUMsZ0JBQWdCO1lBQ0gsU0FBUztrQkFBaEMsU0FBUzttQkFBQyxXQUFXO1lBQ0csU0FBUztrQkFBakMsU0FBUzttQkFBQyxZQUFZO1lBSW9CLGVBQWU7a0JBQXpELFNBQVM7bUJBQUMsUUFBUSxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRTs7a0ZBMUM5Qiw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTZWxlY3Rpb25Nb2RlbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2xsZWN0aW9ucyc7XHJcbmltcG9ydCB7IEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0luaXQsIENvbXBvbmVudCwgQ29udGVudENoaWxkLCBDb250ZW50Q2hpbGRyZW4sIGVmZmVjdCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBpbnB1dCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBRdWVyeUxpc3QsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXRQYWdpbmF0b3IsIFBhZ2VFdmVudCB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL3BhZ2luYXRvcic7XHJcbmltcG9ydCB7IE1hdFNvcnQgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zb3J0JztcclxuaW1wb3J0IHsgTWF0Q29sdW1uRGVmLCBNYXRIZWFkZXJSb3dEZWYsIE1hdE5vRGF0YVJvdywgTWF0Um93RGVmLCBNYXRUYWJsZSwgTWF0VGFibGVEYXRhU291cmNlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFibGUnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IG1hcCwgT2JzZXJ2YWJsZSwgdGFrZSB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBGaWx0ZXJCYXJDb21wb25lbnQgfSBmcm9tICcuLi9maWx0ZXItYmFyJztcclxuaW1wb3J0IHsgRmlsdGVyQmFyQ2hhbmdlRXZlbnQgfSBmcm9tICcuLi9maWx0ZXItYmFyL21vZGVscy9maWx0ZXItYmFyLWNoYW5nZS1ldmVudC5tb2RlbCc7XHJcbmltcG9ydCB7IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzJztcclxuaW1wb3J0IHsgU2F2ZUZpbGVIZWxwZXIgfSBmcm9tICcuLi9oZWxwZXJzL3NhdmUtZmlsZS5oZWxwZXInO1xyXG5pbXBvcnQgeyBET01TZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBTdGF0dXNEaXNwbGF5Q29uZmlnIH0gZnJvbSAnLi4vc3RhdHVzLWRpc3BsYXkvbW9kZWxzL3N0YXR1cy1kaXNwbGF5LWNvbmZpZy5tb2RlbCc7XHJcbmltcG9ydCB7IERJU0FCTEVfRVhQT1JUX0FUVFJJQlVURV9OQU1FIH0gZnJvbSAnLi9jb25zdGFudHMvZGlzYWJsZS1leHBvcnQtYXR0cmlidXRlLW5hbWUuY29uc3QnO1xyXG5pbXBvcnQgeyBFeHBvcnRGb3JtYXQgfSBmcm9tICcuL21vZGVscyc7XHJcbmltcG9ydCB7IENvbHVtbkNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL2NvbHVtbi1jb25maWcubW9kZWwnO1xyXG5pbXBvcnQgeyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbmZpZyB9IGZyb20gJy4vbW9kZWxzL211bHRpLWZ1bmN0aW9uYWwtdGFibGUtY29uZmlnLm1vZGVsJztcclxuaW1wb3J0IHsgU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcgfSBmcm9tICcuL21vZGVscy9zZWxlY3RlZC1jb2x1bW4tbG9jYWwtc3RvcmFnZS1jb25maWcubW9kZWwnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEBhbmd1bGFyLWVzbGludC9jb21wb25lbnQtc2VsZWN0b3JcclxuICBzZWxlY3RvcjogJ3RsZC1tdWx0aS1mdW5jdGlvbmFsLXRhYmxlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbXVsdGktZnVuY3Rpb25hbC10YWJsZS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aUZ1bmN0aW9uYWxUYWJsZUNvbXBvbmVudDxUPiBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJDb250ZW50SW5pdCwgQWZ0ZXJWaWV3SW5pdCB7XHJcbiAgcmVhZG9ubHkgbWF0U2VsZWN0aW9uID0gbmV3IFNlbGVjdGlvbk1vZGVsPFQ+KHRydWUsIFtdKTtcclxuXHJcbiAgI2RhdGFTb3VyY2U6IE1hdFRhYmxlRGF0YVNvdXJjZTxUPiB8IHVuZGVmaW5lZDtcclxuICBnZXQgZGF0YVNvdXJjZSgpOiBNYXRUYWJsZURhdGFTb3VyY2U8VD4ge1xyXG4gICAgcmV0dXJuICh0aGlzLiNkYXRhU291cmNlID8/IHRoaXMuY29uZmlnLmRhdGFTb3VyY2UpITtcclxuICB9XHJcblxyXG4gIEBJbnB1dCgpIGNvbmZpZyE6IE11bHRpRnVuY3Rpb25hbFRhYmxlQ29uZmlnPFQ+O1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodGVkRWxlbWVudHMhOiBUW107XHJcbiAgQElucHV0KCkgdHJhY2tCeUZuOiAoaXg6IG51bWJlciwgcm93OiBUKSA9PiBzdHJpbmcgfCBudW1iZXIgPSB0aGlzLmRlZmF1bHRUcmFja0J5O1xyXG4gIEBJbnB1dCgpIGhpZ2hsaWdodGVkRXJyb3JFbGVtZW50cyE6IFRbXTtcclxuICBASW5wdXQoKSBzZXQgc2VsZWN0aW9uKHZhbHVlOiBUW10pIHtcclxuICAgIHRoaXMubWF0U2VsZWN0aW9uLnNldFNlbGVjdGlvbiguLi4odmFsdWUgPz8gW10pKTtcclxuICB9XHJcblxyXG4gIC8vIFNldCB0aGlzIHRvIGZhbHNlIGlmIHlvdSB3YW50IHRvIGRpc3BsYXkgY2hlY2tib3hlcyBvbmx5IG9uIHJvdyBob3Zlci5cclxuICBASW5wdXQoKSBpc1Jvd0NoZWNrYm94QWx3YXlzVmlzaWJsZSA9IHRydWU7XHJcbiAgQElucHV0KCkgZGlzYWJsZVByZXNlbGVjdGVkSXRlbXMgPSBmYWxzZTtcclxuXHJcbiAgLy8jcmVnaW9uIE91dHB1dCBwcm9wZXJ0aWVzXHJcbiAgQE91dHB1dCgpIGZpbHRlckJhckNoYW5nZTogRXZlbnRFbWl0dGVyPEZpbHRlckJhckNoYW5nZUV2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8RmlsdGVyQmFyQ2hhbmdlRXZlbnQ+KCk7XHJcbiAgQE91dHB1dCgpIHBhZ2luYXRvclVwZGF0ZTogRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFBhZ2VFdmVudD4oKTtcclxuICBAT3V0cHV0KCkgZXhwb3J0ZWQ6IEV2ZW50RW1pdHRlcjxUW10+ID0gbmV3IEV2ZW50RW1pdHRlcjxUW10+KCk7XHJcbiAgQE91dHB1dCgpIHNlbGVjdGlvbkNoYW5nZTogT2JzZXJ2YWJsZTxUW10+ID0gdGhpcy5tYXRTZWxlY3Rpb24uY2hhbmdlZC5hc09ic2VydmFibGUoKS5waXBlKG1hcCgoKSA9PiB7IHJldHVybiB0aGlzLm1hdFNlbGVjdGlvbi5zZWxlY3RlZDsgfSkpO1xyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICAvLyAjcmVnaW9uIFByb3BlcnRpZXMgZm9yIG1hdCB0YWJsZSB3cmFwcGVyXHJcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRIZWFkZXJSb3dEZWYpIGhlYWRlclJvd0RlZnMhOiBRdWVyeUxpc3Q8TWF0SGVhZGVyUm93RGVmPjtcclxuICBAQ29udGVudENoaWxkcmVuKE1hdFJvd0RlZiwgeyBkZXNjZW5kYW50czogdHJ1ZSB9KSByb3dEZWZzITogUXVlcnlMaXN0PE1hdFJvd0RlZjxUPj47XHJcbiAgQENvbnRlbnRDaGlsZHJlbihNYXRDb2x1bW5EZWYpIGNvbHVtbkRlZnMhOiBRdWVyeUxpc3Q8TWF0Q29sdW1uRGVmPjtcclxuICBAQ29udGVudENoaWxkKE1hdE5vRGF0YVJvdykgbm9EYXRhUm93ITogTWF0Tm9EYXRhUm93O1xyXG5cclxuICBAVmlld0NoaWxkKE1hdFRhYmxlLCB7IHN0YXRpYzogdHJ1ZSB9KSB0YWJsZSE6IE1hdFRhYmxlPFQ+O1xyXG4gIEBWaWV3Q2hpbGQoTWF0U29ydCkgc29ydCE6IE1hdFNvcnQ7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ3RhYmxlQ29udGFpbmVyJykgdGFibGVDb250YWluZXIhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdmaWx0ZXJCYXInKSBmaWx0ZXJCYXIhOiBGaWx0ZXJCYXJDb21wb25lbnQ7XHJcbiAgQFZpZXdDaGlsZChNYXRQYWdpbmF0b3IpIHBhZ2luYXRvciE6IE1hdFBhZ2luYXRvcjtcclxuXHJcbiAgLy8jZW5kcmVnaW9uXHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0VGFibGUsIHsgcmVhZDogRWxlbWVudFJlZiB9KSB0YWJsZUVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuXHJcbiAgLyoqIFRoaXMgcHJvcGVydHkgd2lsbCBiZSB0YWtlbiBpbnRvIGFjY291bnQgb25seSBpZiBjb25maWcuRGF0YVNvdXJjZSBub3Qgc2V0LiAqL1xyXG4gIGRhdGEgPSBpbnB1dDxUW10+KCk7XHJcbiAgZGF0YVNvdXJjZVVwZGF0ZUVmZmVjdCA9IGVmZmVjdCgoKSA9PiB7IHRoaXMudXBkYXRlRGF0YVNvdXJjZURhdGEoKTsgfSlcclxuXHJcbiAgcHJlc2VsZWN0ZWRJdGVtcyE6IFRbXTtcclxuXHJcbiAgZ2V0IGlnbm9yZUF0dHJpYnV0ZU5hbWUoKSB7IHJldHVybiBESVNBQkxFX0VYUE9SVF9BVFRSSUJVVEVfTkFNRSB9XHJcbiAgZGlzcGxheUNvbHVtbnMhOiBzdHJpbmdbXTtcclxuXHJcbiAgY29sdW1uU2VsZWN0QWN0aXZlITogYm9vbGVhbjtcclxuICBleHBvcnRBY3RpdmUhOiBib29sZWFuO1xyXG4gIG5vRGF0YVJvd0FjdGl2ZSE6IGJvb2xlYW47XHJcblxyXG4gIGZpbHRlcnMhOiBGaWx0ZXJCYXJDaGFuZ2VFdmVudDtcclxuICBmaWx0ZXJCYXJWaXNpYmxlITogYm9vbGVhbjtcclxuXHJcbiAgaGlkZVNlYXJjaFRvb2x0aXAhOiBib29sZWFuO1xyXG4gIHNob3dTZWFyY2ghOiBib29sZWFuO1xyXG4gIHNob3dTZWFyY2hDbGVhckJ1dHRvbiE6IGJvb2xlYW47XHJcbiAgc2VhcmNoVGl0bGUhOiBzdHJpbmc7XHJcbiAgc2VhcmNoVG9vbHRpcCE6IHN0cmluZztcclxuXHJcbiAgbm9EYXRhUm93Q29uZmlnITogU3RhdHVzRGlzcGxheUNvbmZpZztcclxuICBub0RhdGFSb3dJY29uID0gXCJtYW5hZ2Vfc2VhcmNoXCI7XHJcblxyXG4gIGNvbmZpZ3VyYWJsZUNvbHVtbnMhOiBDb2x1bW5Db25maWdbXTtcclxuICBiYXRjaFNlbGVjdGVkRW5hYmxlZCE6IGJvb2xlYW47XHJcblxyXG4gIC8vIGlzIHVzZWQgaW4gaHRtbCB0byBkaXNwbGF5IGJhdGNoIGNoZWNrYm94IG9uIGhvdmVyZWQgcm93XHJcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnlcclxuICBob3ZlcmVkUm93OiBhbnk7XHJcbiAgaG92ZXJlZFJvd0luZGV4OiBudW1iZXIgfCB1bmRlZmluZWQ7XHJcblxyXG4gIC8vIHByb3BlcnRpZXMgZm9yIG92ZXJmbG93IHNjcm9sbGluZyB3aXRoIG1vdXNlIGNsaWNrXHJcbiAgdGFibGVPdmVyZmxvdyE6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSBzY3JvbGxNb3ZlbWVudCE6IG51bWJlciB8IG51bGw7XHJcbiAgcHJpdmF0ZSBpc0RyYWdnaW5nID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzdGFydFggPSAwO1xyXG4gIHByaXZhdGUgc3RhcnRZID0gMDtcclxuICBwcml2YXRlIHNjcm9sbExlZnQgPSAwO1xyXG4gIHByaXZhdGUgc2Nyb2xsVG9wID0gMDtcclxuXHJcbiAgZ2V0IGZpbHRlckFjdGl2ZSgpIHsgcmV0dXJuIHRoaXMuY29uZmlnLmZpbHRlcj8uZW5hYmxlZDsgfVxyXG4gIGdldCBzaG93RmlsdGVyVG9nZ2xlKCkgeyByZXR1cm4gIXRoaXMuY29uZmlnLmZpbHRlcj8uaGlkZUZpbHRlclRvZ2dsZTsgfVxyXG5cclxuICBnZXQgc2hvd0ZpbHRlclJlc2V0KCkgeyByZXR1cm4gdGhpcy5jb25maWcuZmlsdGVyPy5zZXR0aW5ncy5maWx0ZXJzPy5maW5kKGZpbHRlciA9PiBmaWx0ZXIuc2VsZWN0ZWRWYWx1ZXM/Lmxlbmd0aCkgfVxyXG5cclxuICBwcml2YXRlIGxvY2FsU3RvcmFnZVZhbHVlITogU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWc7XHJcbiAgcmVhZG9ubHkgYmF0Y2hDb2x1bW5OYW1lID0gXCJiYXRjaFwiO1xyXG4gIHJlYWRvbmx5IGNvbHVtblNlbGVjdENvbHVtbk5hbWUgPSBcImNvbHVtblNlbGVjdFwiO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGRvbVNlcnZpY2U6IERPTVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHRyYW5zbGF0ZVNlcnZpY2U6IFRyYW5zbGF0ZVNlcnZpY2UpIHsgfVxyXG5cclxuICAvLyNyZWdpb24gQW5ndWxhciBsaWZlY3ljbGUgaG9va3NcclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuY3JlYXRlRGF0YVNvdXJjZSgpO1xyXG4gICAgdGhpcy5yZWFkRnJvbUxvY2FsU3RvcmFnZSgpO1xyXG4gICAgdGhpcy5zZXRGaWx0ZXJWaXNpYmlsaXR5KCk7XHJcbiAgICB0aGlzLnNldENvbHVtblNlbGVjdFByb3BlcnRpZXMoKTtcclxuICAgIHRoaXMuc2V0RXhwb3J0UHJvcGVydGllcygpO1xyXG4gICAgdGhpcy5zZXROb0RhdGFSb3dQcm9wZXJ0aWVzKCk7XHJcbiAgICB0aGlzLnByZXNlbGVjdGVkSXRlbXMgPSB0aGlzLm1hdFNlbGVjdGlvbi5zZWxlY3RlZDtcclxuICAgIHRoaXMuc2VhcmNoVG9vbHRpcCA9IHRoaXMuY29uZmlnLmZpbHRlcj8uc2V0dGluZ3M/LnNlYXJjaFRvb2x0aXAgPz8gJ0ZJTFRFUl9CQVIuU0VBUkNIX1RPT0xUSVAnO1xyXG4gICAgdGhpcy5zZWFyY2hUaXRsZSA9IHRoaXMuY29uZmlnLmZpbHRlcj8uc2V0dGluZ3M/LnNlYXJjaFRpdGxlID8/ICdGSUxURVJfQkFSLlNFQVJDSCc7XHJcbiAgICB0aGlzLnNob3dTZWFyY2ggPSAhdGhpcy5jb25maWcuZmlsdGVyPy5zZXR0aW5ncz8uaGlkZVNlYXJjaDtcclxuICAgIHRoaXMuc2hvd1NlYXJjaENsZWFyQnV0dG9uID0gdGhpcy5jb25maWcuZmlsdGVyPy5zZXR0aW5ncz8uc2hvd1NlYXJjaENsZWFyQnV0dG9uID8/IHRydWU7XHJcbiAgICB0aGlzLmhpZGVTZWFyY2hUb29sdGlwID0gIXRoaXMuY29uZmlnLmZpbHRlcj8uc2V0dGluZ3M/LmhpZGVUb29sdGlwO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xyXG4gICAgdGhpcy5jb2x1bW5EZWZzLmZvckVhY2goY29sdW1uRGVmID0+IHRoaXMudGFibGUuYWRkQ29sdW1uRGVmKGNvbHVtbkRlZikpO1xyXG4gICAgdGhpcy5yb3dEZWZzLmZvckVhY2gocm93RGVmID0+IHRoaXMudGFibGUuYWRkUm93RGVmKHJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy5oZWFkZXJSb3dEZWZzLmZvckVhY2goaGVhZGVyUm93RGVmID0+IHRoaXMudGFibGUuYWRkSGVhZGVyUm93RGVmKGhlYWRlclJvd0RlZikpO1xyXG4gICAgdGhpcy50YWJsZS5zZXROb0RhdGFSb3codGhpcy5ub0RhdGFSb3cpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRhU291cmNlLnNvcnQgPSB0aGlzLnNvcnQ7XHJcbiAgICB0aGlzLmRhdGFTb3VyY2UucGFnaW5hdG9yID0gdGhpcy5wYWdpbmF0b3I7XHJcblxyXG4gICAgaWYgKHRoaXMuY29uZmlnLnBhZ2luYXRvcj8uaW5pdGlhbFBhZ2UpIHtcclxuICAgICAgdGhpcy5wYWdpbmF0b3IucGFnZUluZGV4ID0gdGhpcy5jb25maWcucGFnaW5hdG9yLmluaXRpYWxQYWdlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgc2VhcmNoKGV2ZW50OiB7IHRhcmdldDogeyB2YWx1ZTogc3RyaW5nIH0gfSB8IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGNvbnN0IGlucHV0ID0gKGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50KT8udmFsdWU7XHJcbiAgICB0aGlzLmNvbmZpZy5maWx0ZXIhLnNldHRpbmdzLnNlYXJjaElucHV0ID0gaW5wdXQ7XHJcbiAgICB0aGlzLmZpbHRlckJhckNoYW5nZS5lbWl0KHsgLi4udGhpcy5maWx0ZXJzLCBpbnB1dCB9KTtcclxuICAgIHRoaXMudXBkYXRlUGFnaW5hdG9yKDApO1xyXG4gIH1cclxuXHJcbiAgdXBkYXRlRGlzcGxheUNvbHVtbnMoaW5pdGlhbCA9IGZhbHNlKSB7XHJcbiAgICB0aGlzLmJhdGNoU2VsZWN0ZWRFbmFibGVkID0gdGhpcy5jb25maWcuYmF0Y2hDb25maWc/LmVuYWJsZWQgPyB0cnVlIDogZmFsc2U7XHJcbiAgICBjb25zdCBhbGxDb2x1bW5zID0gdGhpcy5jb25maWcuY29sdW1uU2VsZWN0Py5jb2x1bW5zID8/IFtdO1xyXG4gICAgdGhpcy5kaXNwbGF5Q29sdW1ucyA9IFtdO1xyXG4gICAgdGhpcy5jb25maWd1cmFibGVDb2x1bW5zID0gYWxsQ29sdW1ucy5maWx0ZXIoY29sdW1uID0+ICFjb2x1bW4ubm90Q29uZmlndXJhYmxlKTtcclxuXHJcbiAgICBpZiAodGhpcy5iYXRjaFNlbGVjdGVkRW5hYmxlZCkge1xyXG4gICAgICB0aGlzLmRpc3BsYXlDb2x1bW5zLnB1c2godGhpcy5iYXRjaENvbHVtbk5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghYWxsQ29sdW1ucy5sZW5ndGgpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IGxvY2FsU3RvcmFnZVZhbHVlID0gdGhpcy5sb2NhbFN0b3JhZ2VWYWx1ZSA/PyB7fTtcclxuICAgIGlmICghbG9jYWxTdG9yYWdlVmFsdWUuY29sdW1ucykge1xyXG4gICAgICBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zID0ge307XHJcbiAgICB9XHJcblxyXG4gICAgYWxsQ29sdW1ucy5mb3JFYWNoKChjb2x1bW4pID0+IHtcclxuICAgICAgaWYgKGluaXRpYWwpIHtcclxuICAgICAgICBjb2x1bW4uc2VsZWN0ZWQgPSBsb2NhbFN0b3JhZ2VWYWx1ZS5jb2x1bW5zPy5bY29sdW1uLm5hbWVdID8/IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxyXG4gICAgICAgIGxvY2FsU3RvcmFnZVZhbHVlLmNvbHVtbnMhW2NvbHVtbi5uYW1lXSA9IGNvbHVtbi5zZWxlY3RlZDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGNvbHVtbi5zZWxlY3RlZCkge1xyXG4gICAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMucHVzaChjb2x1bW4ubmFtZSk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcblxyXG4gICAgaWYgKHRoaXMuY29sdW1uU2VsZWN0QWN0aXZlKSB7XHJcbiAgICAgIHRoaXMuZGlzcGxheUNvbHVtbnMucHVzaCh0aGlzLmNvbHVtblNlbGVjdENvbHVtbk5hbWUpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICghaW5pdGlhbCkge1xyXG4gICAgICB0aGlzLnVwZGF0ZUxvY2FsU3RvcmFnZShsb2NhbFN0b3JhZ2VWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB0b2dnbGVGaWx0ZXJCYXIoKSB7XHJcbiAgICBjb25zdCBsb2NhbHN0b3JhZ2VPYmplY3QgPSB0aGlzLmxvY2FsU3RvcmFnZVZhbHVlID8/IHt9O1xyXG4gICAgaWYgKCFsb2NhbHN0b3JhZ2VPYmplY3QuZmlsdGVyKSB7XHJcbiAgICAgIGxvY2Fsc3RvcmFnZU9iamVjdC5maWx0ZXIgPSB7fTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmZpbHRlckJhclZpc2libGUgPSAhdGhpcy5maWx0ZXJCYXJWaXNpYmxlO1xyXG4gICAgbG9jYWxzdG9yYWdlT2JqZWN0LmZpbHRlci52aXNpYmxlID0gdGhpcy5maWx0ZXJCYXJWaXNpYmxlO1xyXG4gICAgdGhpcy51cGRhdGVMb2NhbFN0b3JhZ2UobG9jYWxzdG9yYWdlT2JqZWN0KTtcclxuICB9XHJcblxyXG4gIGZpbHRlcnNDaGFuZ2VkKGZpbHRlcnM6IEZpbHRlckJhckNoYW5nZUV2ZW50KSB7XHJcbiAgICB0aGlzLmZpbHRlcnMgPSB7IC4uLmZpbHRlcnMsIGlucHV0OiB0aGlzLmNvbmZpZy5maWx0ZXIhLnNldHRpbmdzLnNlYXJjaElucHV0ID8/ICcnIH07XHJcbiAgICB0aGlzLmZpbHRlckJhckNoYW5nZS5lbWl0KHRoaXMuZmlsdGVycyk7XHJcbiAgfVxyXG5cclxuICBjbGVhckZpbHRlcnMoKSB7XHJcbiAgICB0aGlzLmNvbmZpZy5maWx0ZXI/LnNldHRpbmdzLmZpbHRlcnM/LmZvckVhY2goKGZpbHRlcikgPT4ge1xyXG4gICAgICBmaWx0ZXIuc2VsZWN0ZWRWYWx1ZXMgPSBbXTtcclxuICAgIH0pXHJcblxyXG4gICAgdGhpcy5maWx0ZXJCYXIucmVtb3ZlQWxsRmlsdGVycygpO1xyXG4gIH1cclxuXHJcbiAgZXhwb3J0KCkge1xyXG4gICAgdGhpcy5kYXRhU291cmNlIS5jb25uZWN0KCkucGlwZSh0YWtlKDEpKS5zdWJzY3JpYmUoKGRhdGEpID0+IHtcclxuICAgICAgdGhpcy5leHBvcnRlZC5lbWl0KGRhdGEpO1xyXG4gICAgfSlcclxuXHJcbiAgICBpZiAodGhpcy5jb25maWcuZXhwb3J0Py5maWxlT3B0aW9ucykge1xyXG4gICAgICB0aGlzLmV4cG9ydFRvRmlsZSgpXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpc0VsZW1lbnRIaWdobGlnaHRlZChpeDogbnVtYmVyLCBlbGVtZW50OiBUKSB7XHJcbiAgICBsZXQgaXNIb3ZlcmVkID0gZmFsc2U7XHJcbiAgICBpZiAodGhpcy5ob3ZlcmVkUm93ICYmIHRoaXMuaG92ZXJlZFJvd0luZGV4ICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgaXNIb3ZlcmVkID0gdGhpcy50cmFja0J5Rm4odGhpcy5ob3ZlcmVkUm93SW5kZXgsIHRoaXMuaG92ZXJlZFJvdykgPT09IHRoaXMudHJhY2tCeUZuKGl4LCBlbGVtZW50KTtcclxuICAgIH1cclxuICAgIHJldHVybiBpc0hvdmVyZWQgfHxcclxuICAgICAgdGhpcy5oaWdobGlnaHRlZEVsZW1lbnRzPy5zb21lKChoaWdobGlnaHRFbGVtZW50LCBoaWdobGlnaHRFbGVtZW50SXgpID0+IHRoaXMudHJhY2tCeUZuKGhpZ2hsaWdodEVsZW1lbnRJeCwgaGlnaGxpZ2h0RWxlbWVudCkgPT09IHRoaXMudHJhY2tCeUZuKGl4LCBlbGVtZW50KSk7XHJcbiAgfVxyXG5cclxuICBoaWdobGlnaHRFcnJvckVsZW1lbnQoaXg6IG51bWJlciwgZWxlbWVudDogVCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaGlnaGxpZ2h0ZWRFcnJvckVsZW1lbnRzPy5zb21lKChoaWdobGlnaHRFbGVtZW50LCBoaWdobGlnaHRFbGVtZW50SXgpID0+IHRoaXMudHJhY2tCeUZuKGhpZ2hsaWdodEVsZW1lbnRJeCwgaGlnaGxpZ2h0RWxlbWVudCkgPT09IHRoaXMudHJhY2tCeUZuKGl4LCBlbGVtZW50KSk7XHJcbiAgfVxyXG5cclxuICAvLyNyZWdpb24gTWV0aG9kcyBmb3IgYmF0Y2ggc2VsZWN0aW9uXHJcbiAgaXNBbGxTZWxlY3RlZCgpIHtcclxuICAgIGNvbnN0IG51bVNlbGVjdGVkID0gdGhpcy5tYXRTZWxlY3Rpb24uc2VsZWN0ZWQubGVuZ3RoO1xyXG4gICAgY29uc3QgbnVtUm93cyA9IHRoaXMuZGF0YVNvdXJjZT8uZGF0YS5sZW5ndGg7XHJcbiAgICByZXR1cm4gbnVtU2VsZWN0ZWQgPT09IG51bVJvd3M7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVBbGxSb3dTZWxlY3Rpb24oKSB7XHJcbiAgICBpZiAodGhpcy5pc0FsbFNlbGVjdGVkKCkpIHtcclxuICAgICAgaWYgKHRoaXMuZGlzYWJsZVByZXNlbGVjdGVkSXRlbXMpIHtcclxuICAgICAgICAvLyBkZXNlbGVjdCBvbmx5IHRob3NlIGl0ZW1zIHdoaWNoIHdlcmUgbm90IGFscmVhZHkgcHJlc2VsZWN0ZWRcclxuICAgICAgICB0aGlzLm1hdFNlbGVjdGlvbi5kZXNlbGVjdChcclxuICAgICAgICAgIC4uLnRoaXMubWF0U2VsZWN0aW9uLnNlbGVjdGVkLmZpbHRlcihlbG0gPT4gIXRoaXMucHJlc2VsZWN0ZWRJdGVtcy5tYXAoZWxtID0+IGVsbSkuaW5jbHVkZXMoZWxtKSlcclxuICAgICAgICApO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgICBlbHNlIHtcclxuICAgICAgICB0aGlzLm1hdFNlbGVjdGlvbi5jbGVhcigpO1xyXG4gICAgICAgIHJldHVybjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMubWF0U2VsZWN0aW9uLnNlbGVjdCguLi50aGlzLmRhdGFTb3VyY2U/LmRhdGEgPz8gW10pO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlRWxlbWVudFNlbGVjdGlvbihlbGVtZW50OiBUKSB7XHJcbiAgICB0aGlzLm1hdFNlbGVjdGlvbi50b2dnbGUoZWxlbWVudCk7XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRpc2FibGVNb3VzZURyYWdnaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlzRHJhZ2dpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5zdGFydFggPSBldmVudC5wYWdlWCAtIHRoaXMudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRMZWZ0O1xyXG4gICAgdGhpcy5zdGFydFkgPSBldmVudC5wYWdlWSAtIHRoaXMudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5vZmZzZXRUb3A7XHJcbiAgICB0aGlzLnNjcm9sbExlZnQgPSB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuc2Nyb2xsTGVmdDtcclxuICAgIHRoaXMuc2Nyb2xsVG9wID0gdGhpcy50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcDtcclxuXHJcbiAgICAvLyBjYW5jZWxpbmcgYW55IHByZXZpb3VzIGFuaW1hdGlvbiBmcmFtZVxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsTW92ZW1lbnQgIT09IG51bGwpIHtcclxuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY3JvbGxNb3ZlbWVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbk1vdXNlTW92ZShldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLmRpc2FibGVNb3VzZURyYWdnaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNoZWNrVGFibGVPdmVyZmxvdygpO1xyXG5cclxuICAgIGlmICghdGhpcy5pc0RyYWdnaW5nKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1c2luZyByZXF1ZXN0QW5pbWF0aW9uRnJhbWUgZm9yIHNtb290aGVyIHVwZGF0ZXNcclxuICAgIGlmICh0aGlzLnNjcm9sbE1vdmVtZW50ID09PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2Nyb2xsTW92ZW1lbnQgPSByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xyXG4gICAgICAgIGlmICghdGhpcy50YWJsZU92ZXJmbG93KSB7XHJcbiAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCB4ID0gZXZlbnQucGFnZVggLSB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0TGVmdDtcclxuICAgICAgICBjb25zdCB5ID0gZXZlbnQucGFnZVkgLSB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQub2Zmc2V0VG9wO1xyXG5cclxuICAgICAgICAvLyBjYWxjdWxhdGluZyB0aGUgZGlmZmVyZW5jZXMgaW4gbW92ZW1lbnRcclxuICAgICAgICBjb25zdCB3YWxrWCA9ICh4IC0gdGhpcy5zdGFydFgpICogMjtcclxuICAgICAgICBjb25zdCB3YWxrWSA9ICh5IC0gdGhpcy5zdGFydFkpICogMjtcclxuXHJcbiAgICAgICAgLy8gdXBkYXRpbmcgc2Nyb2xsIHBvc2l0aW9uc1xyXG4gICAgICAgIHRoaXMudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5zY3JvbGxMZWZ0ID0gdGhpcy5zY3JvbGxMZWZ0IC0gd2Fsa1g7XHJcbiAgICAgICAgdGhpcy50YWJsZUNvbnRhaW5lci5uYXRpdmVFbGVtZW50LnNjcm9sbFRvcCA9IHRoaXMuc2Nyb2xsVG9wIC0gd2Fsa1k7XHJcblxyXG4gICAgICAgIHRoaXMuc2Nyb2xsTW92ZW1lbnQgPSBudWxsO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uTW91c2VVcCgpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5kaXNhYmxlTW91c2VEcmFnZ2luZykge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5pc0RyYWdnaW5nID0gZmFsc2U7XHJcblxyXG4gICAgLy8gY2FuY2VsaW5nIGFueSBwZW5kaW5nIGFuaW1hdGlvblxyXG4gICAgaWYgKHRoaXMuc2Nyb2xsTW92ZW1lbnQgIT09IG51bGwpIHtcclxuICAgICAgY2FuY2VsQW5pbWF0aW9uRnJhbWUodGhpcy5zY3JvbGxNb3ZlbWVudCk7XHJcbiAgICAgIHRoaXMuc2Nyb2xsTW92ZW1lbnQgPSBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcGFnaW5hdG9yQ2hhbmdlKGNoYW5nZTogUGFnZUV2ZW50KSB7XHJcbiAgICB0aGlzLnBhZ2luYXRvclVwZGF0ZS5lbWl0KGNoYW5nZSk7XHJcbiAgfVxyXG4gIC8vI2VuZHJlZ2lvblxyXG5cclxuICByb3dIb3ZlcmVkKGluZGV4OiBudW1iZXIsIHJvdzogVCkge1xyXG4gICAgdGhpcy5ob3ZlcmVkUm93ID0gcm93O1xyXG4gICAgdGhpcy5ob3ZlcmVkUm93SW5kZXggPSBpbmRleDtcclxuICB9XHJcblxyXG4gIHJvd0hvdmVyTGVhdmUoKSB7XHJcbiAgICB0aGlzLmhvdmVyZWRSb3cgPSBudWxsO1xyXG4gICAgdGhpcy5ob3ZlcmVkUm93SW5kZXggPSB1bmRlZmluZWQ7XHJcbiAgfVxyXG5cclxuICBkZWZhdWx0VHJhY2tCeShpeDogbnVtYmVyKTogbnVtYmVyIHtcclxuICAgIHJldHVybiBpeDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2hlY2tUYWJsZU92ZXJmbG93KCk6IHZvaWQge1xyXG4gICAgLy8gd2hlbiBkYXRhIGlzIGF2YWlsYWJsZSB3ZSBzaG91bGQgY2hlY2sgb25jZSBmb3IgdGFibGUgb3ZlcmZsb3dcclxuICAgIC8vIHdoZW4gdGhlcmUgd2FzbnQgb3ZlcmZsb3csIGJ1dCB3aWR0aCBvZiB0aGUgdGFibGUgYmVjYW1lIGJpZ2dlciwgdGhlbiB3ZSBhcmUgcmVzZXRpbmcgdGFibGVPdmVyZmxvdyB2YXJpYWJsZVxyXG4gICAgLy8gc2FtZSBmb3Igd2hlbiB0aGVyZSB3YXMgb3ZlcmZsb3csIGJ1dCBzaXplIG9mIHRoZSB0YWJsZSBpcyBzYW1lIGFzIGNvbnRhaW5lciwgc28gb3ZlcmZsb3cgaXMgZ29uZSBhbmQgd2UgcmVzZXRpbmcgdGFibGVPdmVyZmxvdyB2YXJpYWJsZSBhZ2FpblxyXG4gICAgaWYgKCh0aGlzLmRhdGFTb3VyY2U/LmRhdGEubGVuZ3RoICYmIHRoaXMudGFibGVPdmVyZmxvdyA9PT0gdW5kZWZpbmVkKSB8fFxyXG4gICAgICAoIXRoaXMudGFibGVPdmVyZmxvdyAmJiB0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggPCB0aGlzLnRhYmxlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSB8fFxyXG4gICAgICAodGhpcy50YWJsZU92ZXJmbG93ICYmIHRoaXMudGFibGVDb250YWluZXIubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCA9PT0gdGhpcy50YWJsZUVsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jbGllbnRXaWR0aCkpIHtcclxuXHJcbiAgICAgIGlmICh0aGlzLnRhYmxlQ29udGFpbmVyLm5hdGl2ZUVsZW1lbnQuY2xpZW50V2lkdGggPCB0aGlzLnRhYmxlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LmNsaWVudFdpZHRoKSB7XHJcbiAgICAgICAgdGhpcy50YWJsZU92ZXJmbG93ID0gdHJ1ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnRhYmxlT3ZlcmZsb3cgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBleHBvcnRUb0ZpbGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuY29uZmlnLmV4cG9ydD8uZmlsZU9wdGlvbnM/LnNhdmVUb0ZpbGUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBmaWxlU3RyaW5nID0gXCJcIjtcclxuICAgIGxldCBleHRlbnNpb24hOiBFeHBvcnRGb3JtYXQ7XHJcbiAgICBzd2l0Y2ggKHRoaXMuY29uZmlnLmV4cG9ydC5maWxlT3B0aW9ucy5mb3JtYXQpIHtcclxuICAgICAgY2FzZSBFeHBvcnRGb3JtYXQuQ1NWOlxyXG4gICAgICBkZWZhdWx0OlxyXG4gICAgICAgIGV4dGVuc2lvbiA9IEV4cG9ydEZvcm1hdC5DU1Y7XHJcbiAgICAgICAgZmlsZVN0cmluZyA9IEh0bWxFbGVtZW50UGFyc2VIZWxwZXIudGFibGVBc0Nzdih0aGlzLnRhYmxlRWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCB0aGlzLmlnbm9yZUF0dHJpYnV0ZU5hbWUpO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdHJhbnNsYXRlZEZpbGVOYW1lID0gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQodGhpcy5jb25maWcuZXhwb3J0LmZpbGVPcHRpb25zLmZpbGVOYW1lKTtcclxuICAgIFNhdmVGaWxlSGVscGVyLnNhdmVGaWxlKGZpbGVTdHJpbmcsIGAke3RyYW5zbGF0ZWRGaWxlTmFtZX0uJHtleHRlbnNpb259YCk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZUxvY2FsU3RvcmFnZShuZXdWYWx1ZTogU2VsZWN0ZWRDb2x1bW5Mb2NhbFN0b3JhZ2VDb25maWcpIHtcclxuICAgIHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPSBuZXdWYWx1ZTtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXkgJiYgbmV3VmFsdWUpIHtcclxuICAgICAgdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZT8uc2V0SXRlbSh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXksIEpTT04uc3RyaW5naWZ5KG5ld1ZhbHVlKSk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZEZyb21Mb2NhbFN0b3JhZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5jb25maWcubG9jYWxTdG9yYWdlS2V5KSB7XHJcbiAgICAgIHRyeSB7XHJcbiAgICAgICAgY29uc3QgbG9jYWxTdG9yYWdlU3RyaW5nID0gdGhpcy5kb21TZXJ2aWNlLmxvY2FsU3RvcmFnZT8uZ2V0SXRlbSh0aGlzLmNvbmZpZy5sb2NhbFN0b3JhZ2VLZXkpO1xyXG4gICAgICAgIGlmIChsb2NhbFN0b3JhZ2VTdHJpbmcpIHtcclxuICAgICAgICAgIHRoaXMubG9jYWxTdG9yYWdlVmFsdWUgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZVN0cmluZyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1lbXB0eVxyXG4gICAgICBjYXRjaCB7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q29sdW1uU2VsZWN0UHJvcGVydGllcygpIHtcclxuICAgIHRoaXMuY29sdW1uU2VsZWN0QWN0aXZlID0gdGhpcy5jb25maWcuY29sdW1uU2VsZWN0Py5lbmFibGVkID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy51cGRhdGVEaXNwbGF5Q29sdW1ucyh0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RmlsdGVyVmlzaWJpbGl0eSgpIHtcclxuICAgIHRoaXMuZmlsdGVyQmFyVmlzaWJsZSA9IHRoaXMubG9jYWxTdG9yYWdlVmFsdWU/LmZpbHRlcj8udmlzaWJsZSA/PyB0aGlzLmNvbmZpZz8uZmlsdGVyPy52aXNpYmxlID8/IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXROb0RhdGFSb3dQcm9wZXJ0aWVzKCkge1xyXG4gICAgaWYgKHRoaXMuY29uZmlnLm5vRGF0YVJvdykge1xyXG4gICAgICB0aGlzLm5vRGF0YVJvd0FjdGl2ZSA9IHRydWU7XHJcbiAgICAgIHRoaXMubm9EYXRhUm93Q29uZmlnID0gdGhpcy5jb25maWcubm9EYXRhUm93O1xyXG4gICAgICB0aGlzLm5vRGF0YVJvd0NvbmZpZy5pY29uID0gdGhpcy5jb25maWcubm9EYXRhUm93Py5pY29uID8/IHRoaXMubm9EYXRhUm93SWNvbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RXhwb3J0UHJvcGVydGllcygpIHtcclxuICAgIGlmICh0aGlzLmNvbmZpZy5leHBvcnQ/LmVuYWJsZWQpIHtcclxuICAgICAgdGhpcy5leHBvcnRBY3RpdmUgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVEYXRhU291cmNlKCkge1xyXG4gICAgaWYgKCF0aGlzLmNvbmZpZy5kYXRhU291cmNlKSB7XHJcbiAgICAgIHRoaXMuI2RhdGFTb3VyY2UgPSBuZXcgTWF0VGFibGVEYXRhU291cmNlPFQ+KHRoaXMuZGF0YSgpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdXBkYXRlRGF0YVNvdXJjZURhdGEoKSB7XHJcbiAgICBjb25zdCBkYXRhID0gdGhpcy5kYXRhKCk7XHJcbiAgICBpZiAoIWRhdGEgfHwgIXRoaXMuI2RhdGFTb3VyY2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHNob3VsZEluaXRpYWxpemVQYWdpbmF0b3IgPSAhdGhpcy4jZGF0YVNvdXJjZS5kYXRhLmxlbmd0aDtcclxuICAgIHRoaXMuI2RhdGFTb3VyY2UuZGF0YSA9IGRhdGE7XHJcblxyXG4gICAgLy8gaWYgZGF0YSBpcyBhc3luYyBsb2FkZWQsIHBhZ2UgbmVlZHMgdG8gYmUgc2V0IG9uIGZpcnN0IGxvYWQuXHJcbiAgICBpZiAoc2hvdWxkSW5pdGlhbGl6ZVBhZ2luYXRvcikge1xyXG4gICAgICB0aGlzLnVwZGF0ZVBhZ2luYXRvcih0aGlzLmNvbmZpZy5wYWdpbmF0b3I/LmluaXRpYWxQYWdlID8/IDApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSB1cGRhdGVQYWdpbmF0b3IocGFnZUluZGV4OiBudW1iZXIpIHtcclxuICAgIHRoaXMucGFnaW5hdG9yLnBhZ2VJbmRleCA9IHBhZ2VJbmRleDtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzcy5sdC1tZF09XCInbW9iaWxlJ1wiIGZ4TGF5b3V0PVwiY29sdW1uXCIgZnhMYXlvdXRHYXA9XCIwLjc1cmVtXCI+XHJcbiAgPGRpdiBmeExheW91dD1cInJvd1wiIGZ4TGF5b3V0Lmx0LW1kPVwiY29sdW1uXCIgZnhMYXlvdXRHYXAubHQtbWQ9XCIwLjc1cmVtXCI+XHJcbiAgICA8ZGl2XHJcbiAgICAgIGZ4RmxleFxyXG4gICAgICBmeExheW91dC5sdC1tZD1cImNvbHVtblwiXHJcbiAgICAgIGZ4TGF5b3V0R2FwPVwiMC43NXJlbVwiXHJcbiAgICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxyXG4gICAgICBmeExheW91dEFsaWduLmx0LW1kPVwic3RhcnQgc3RhcnRcIlxyXG4gICAgICBjbGFzcz1cImFjdGlvbi1yb3dcIlxyXG4gICAgPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgY2xhc3M9XCJleHBvcnQtZGF0YVwiXHJcbiAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXHJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICpuZ0lmPVwiZXhwb3J0QWN0aXZlXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwb3J0KClcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29ucy1vdXRsaW5lZFwiPmNsb3VkX2Rvd25sb2FkPC9zcGFuPlxyXG4gICAgICAgIDxzcGFuPnt7IFwiTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5FWFBPUlRcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgPC9idXR0b24+XHJcblxyXG4gICAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJmaWx0ZXJBY3RpdmUgJiYgc2hvd0ZpbHRlclRvZ2dsZVwiXHJcbiAgICAgICAgZnhGbGV4XHJcbiAgICAgICAgZnhMYXlvdXRHYXA9XCIwLjVyZW1cIlxyXG4gICAgICAgIGZ4TGF5b3V0QWxpZ249XCJzdGFydCBjZW50ZXJcIlxyXG4gICAgICA+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgW2NsYXNzLmZpbHRlci1hY3RpdmVdPVwiZmlsdGVyQmFyVmlzaWJsZVwiXHJcbiAgICAgICAgICBtYXQtc3Ryb2tlZC1idXR0b25cclxuICAgICAgICAgIGNvbG9yPVwiYWNjZW50XCJcclxuICAgICAgICAgIChjbGljayk9XCJ0b2dnbGVGaWx0ZXJCYXIoKVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXRlcmlhbC1pY29uc1wiPmZpbHRlcl9saXN0PC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4+e3sgXCJNVUxUSV9GVU5DVElPTkFMX1RBQkxFLkZJTFRFUl9UT0dHTEVcIiB8IHRyYW5zbGF0ZSB9fTwvc3Bhbj5cclxuICAgICAgICA8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInNob3dGaWx0ZXJSZXNldFwiIGNsYXNzPVwiY2xlYXItZmlsdGVycy13cmFwcGVyXCI+XHJcbiAgICAgICAgICA8YnV0dG9uIG1hdC1pY29uLWJ1dHRvbiAoY2xpY2spPVwiY2xlYXJGaWx0ZXJzKClcIj5cclxuICAgICAgICAgICAgPG1hdC1pY29uPmNsb3NlPC9tYXQtaWNvbj5cclxuICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXZcclxuICAgICAgKm5nSWY9XCJzaG93U2VhcmNoXCJcclxuICAgICAgZnhMYXlvdXQ9XCJyb3dcIlxyXG4gICAgICBmeExheW91dEFsaWduPVwic3RhcnQgY2VudGVyXCJcclxuICAgICAgY2xhc3M9XCJ3aWxkLXNlYXJjaC13cmFwcGVyXCJcclxuICAgID5cclxuICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgY2xhc3M9XCJzZWFyY2gtaWNvblwiXHJcbiAgICAgICAgW21hdFRvb2x0aXBdPVwiaGlkZVNlYXJjaFRvb2x0aXAgPyAnJyA6IChzZWFyY2hUb29sdGlwIHwgdHJhbnNsYXRlKVwiXHJcbiAgICAgICAgPnNlYXJjaDwvbWF0LWljb25cclxuICAgICAgPlxyXG4gICAgICA8aW5wdXRcclxuICAgICAgICBbdmFsdWVdPVwiY29uZmlnLmZpbHRlcj8uc2V0dGluZ3M/LnNlYXJjaFZhbHVlID8/ICcnXCJcclxuICAgICAgICAjd2lsZFNlYXJjaFxyXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwic2VhcmNoVGl0bGUgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgIChrZXl1cCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIDxidXR0b25cclxuICAgICAgICAqbmdJZj1cInNob3dTZWFyY2hDbGVhckJ1dHRvbiAmJiB3aWxkU2VhcmNoLnZhbHVlXCJcclxuICAgICAgICBtYXQtaWNvbi1idXR0b25cclxuICAgICAgICBjbGFzcz1cIndpbGQtc2VhcmNoLWNsZWFyLWJ0blwiXHJcbiAgICAgICAgKGNsaWNrKT1cIndpbGRTZWFyY2gudmFsdWUgPSAnJzsgc2VhcmNoKHsgdGFyZ2V0OiB7IHZhbHVlOiAnJyB9IH0pXCJcclxuICAgICAgPlxyXG4gICAgICAgIDxtYXQtaWNvbj5jbG9zZTwvbWF0LWljb24+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2FkZGl0aW9uYWxBY3Rpb25zXVwiPjwvbmctY29udGVudD5cclxuICA8L2Rpdj5cclxuXHJcbiAgPHRsZC1maWx0ZXItYmFyXHJcbiAgICAqbmdJZj1cImNvbmZpZy5maWx0ZXIgJiYgY29uZmlnLmZpbHRlci5lbmFibGVkXCJcclxuICAgICNmaWx0ZXJCYXJcclxuICAgIFtmaWx0ZXJSb3dWaXNpYmxlXT1cImZpbHRlckJhclZpc2libGVcIlxyXG4gICAgW3NldHRpbmdzXT1cImNvbmZpZy5maWx0ZXIuc2V0dGluZ3NcIlxyXG4gICAgKGZpbHRlckJhckNoYW5nZSk9XCJmaWx0ZXJzQ2hhbmdlZCgkZXZlbnQpXCJcclxuICA+XHJcbiAgPC90bGQtZmlsdGVyLWJhcj5cclxuXHJcbiAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiW2JhdGNoQWN0aW9uc11cIj48L25nLWNvbnRlbnQ+XHJcblxyXG4gIEBpZihjb25maWcucGFnaW5hdG9yPy5lbmFibGVkKXtcclxuICAgIEBsZXQgcGFnaW5hdG9yQ29uZmlnID0gY29uZmlnLnBhZ2luYXRvciE7XHJcblxyXG4gICAgPG1hdC1wYWdpbmF0b3IgW2hpZGVQYWdlU2l6ZV09XCIhcGFnaW5hdG9yQ29uZmlnLnNob3dQYWdlU2l6ZVwiIFtzaG93Rmlyc3RMYXN0QnV0dG9uc109XCJwYWdpbmF0b3JDb25maWcuc2hvd0ZpcnN0TGFzdEJ1dHRvbnNcIlxyXG4gICAgW2F0dHIuYXJpYS1sYWJlbF09XCInTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5QQUdJTkFUT1JfTEFCRUwnIHwgdHJhbnNsYXRlXCIgW3BhZ2VTaXplT3B0aW9uc109XCJwYWdpbmF0b3JDb25maWcucGFnZVNpemVPcHRpb25zID8/IFsxMF1cIiAocGFnZSk9XCJwYWdpbmF0b3JDaGFuZ2UoJGV2ZW50KVwiPlxyXG4gICAgPC9tYXQtcGFnaW5hdG9yPlxyXG4gIH1cclxuICA8ZGl2XHJcbiAgICAjdGFibGVDb250YWluZXJcclxuICAgIGNsYXNzPVwidGFibGUtb3ZlcmZsb3dcIlxyXG4gICAgW2NsYXNzLnRhYmxlLXN0aWNreS1oZWFkZXJdPVwiY29uZmlnPy5zdGlja3lIZWFkZXJcIlxyXG4gICAgW2NsYXNzLnRhYmxlLWRyYWdhYmxlXT1cInRhYmxlT3ZlcmZsb3cgJiYgIWNvbmZpZz8uZGlzYWJsZU1vdXNlRHJhZ2dpbmdcIlxyXG4gICAgKG1vdXNlZG93bik9XCJvbk1vdXNlRG93bigkZXZlbnQpXCJcclxuICAgIChtb3VzZXVwKT1cIm9uTW91c2VVcCgpXCJcclxuICAgIChtb3VzZWxlYXZlKT1cIm9uTW91c2VVcCgpXCJcclxuICAgIChtb3VzZW1vdmUpPVwib25Nb3VzZU1vdmUoJGV2ZW50KVwiXHJcbiAgPlxyXG4gICAgPHRhYmxlXHJcbiAgICAgICN0YWJsZVxyXG4gICAgICBtYXQtdGFibGVcclxuICAgICAgW2RhdGFTb3VyY2VdPVwiZGF0YVNvdXJjZSFcIlxyXG4gICAgICBbdHJhY2tCeV09XCJ0cmFja0J5Rm5cIlxyXG4gICAgPlxyXG4gICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XHJcbiAgICAgIDxuZy1jb250YWluZXIgW21hdENvbHVtbkRlZl09XCJiYXRjaENvbHVtbk5hbWVcIj5cclxuICAgICAgICA8dGggY2xhc3M9XCJyb3ctc2VsZWN0XCIgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGRpc2FibGUtZXhwb3J0PlxyXG4gICAgICAgICAgPG1hdC1jaGVja2JveFxyXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCInTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5TRUxFQ1RfQUxMJyB8IHRyYW5zbGF0ZVwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJjb25maWcuYmF0Y2hDb25maWchLmNoZWNrQm94ZXNEaXNhYmxlZFwiXHJcbiAgICAgICAgICAgIChjaGFuZ2UpPVwidG9nZ2xlQWxsUm93U2VsZWN0aW9uKClcIlxyXG4gICAgICAgICAgICBbY2hlY2tlZF09XCJtYXRTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiBpc0FsbFNlbGVjdGVkKClcIlxyXG4gICAgICAgICAgICBbaW5kZXRlcm1pbmF0ZV09XCJtYXRTZWxlY3Rpb24uaGFzVmFsdWUoKSAmJiAhaXNBbGxTZWxlY3RlZCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgICAgIDwvdGg+XHJcbiAgICAgICAgPHRkXHJcbiAgICAgICAgICBjbGFzcz1cInJvdy1zZWxlY3RcIlxyXG4gICAgICAgICAgbWF0LWNlbGxcclxuICAgICAgICAgICptYXRDZWxsRGVmPVwibGV0IGVsZW1lbnRcIlxyXG4gICAgICAgICAgZGlzYWJsZS1leHBvcnRcclxuICAgICAgICA+XHJcbiAgICAgICAgICA8bWF0LWNoZWNrYm94XHJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cIidNVUxUSV9GVU5DVElPTkFMX1RBQkxFLlNFTEVDVCcgfCB0cmFuc2xhdGVcIlxyXG4gICAgICAgICAgICAqbmdJZj1cIlxyXG4gICAgICAgICAgICAgIGlzUm93Q2hlY2tib3hBbHdheXNWaXNpYmxlIHx8XHJcbiAgICAgICAgICAgICAgaG92ZXJlZFJvdyA9PT0gZWxlbWVudCB8fFxyXG4gICAgICAgICAgICAgIG1hdFNlbGVjdGlvbi5pc1NlbGVjdGVkKGVsZW1lbnQpXHJcbiAgICAgICAgICAgIFwiXHJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJcclxuICAgICAgICAgICAgICBjb25maWcuYmF0Y2hDb25maWchLmNoZWNrQm94ZXNEaXNhYmxlZCB8fFxyXG4gICAgICAgICAgICAgIChwcmVzZWxlY3RlZEl0ZW1zLmluY2x1ZGVzKGVsZW1lbnQpICYmIGRpc2FibGVQcmVzZWxlY3RlZEl0ZW1zKVxyXG4gICAgICAgICAgICBcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcclxuICAgICAgICAgICAgKGNoYW5nZSk9XCJ0b2dnbGVFbGVtZW50U2VsZWN0aW9uKGVsZW1lbnQpXCJcclxuICAgICAgICAgICAgW2NoZWNrZWRdPVwibWF0U2VsZWN0aW9uLmlzU2VsZWN0ZWQoZWxlbWVudClcIlxyXG4gICAgICAgICAgPlxyXG4gICAgICAgICAgPC9tYXQtY2hlY2tib3g+XHJcbiAgICAgICAgPC90ZD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDx0clxyXG4gICAgICAgIG1hdC1oZWFkZXItcm93XHJcbiAgICAgICAgKm1hdEhlYWRlclJvd0RlZj1cImRpc3BsYXlDb2x1bW5zOyBzdGlja3k6IGNvbmZpZz8uc3RpY2t5SGVhZGVyID8/IGZhbHNlXCJcclxuICAgICAgPjwvdHI+XHJcbiAgICAgIDx0clxyXG4gICAgICAgIG1hdC1yb3dcclxuICAgICAgICAqbWF0Um93RGVmPVwibGV0IHJvdzsgbGV0IGluZGV4ID0gaW5kZXg7IGNvbHVtbnM6IGRpc3BsYXlDb2x1bW5zXCJcclxuICAgICAgICAoY2xpY2spPVwiXHJcbiAgICAgICAgICBjb25maWc/LnJvd0NsaWNrQ2FsbGJhY2sgJiYgKCFjb25maWcuZGlzYWJsZVJvd0NsaWNrIHx8ICFjb25maWc/LmRpc2FibGVSb3dDbGljayhyb3cpKVxyXG4gICAgICAgICAgICA/IGNvbmZpZz8ucm93Q2xpY2tDYWxsYmFjayhyb3cpXHJcbiAgICAgICAgICAgIDogbnVsbFxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgKG1vdXNlb3Zlcik9XCJyb3dIb3ZlcmVkKGluZGV4LHJvdylcIlxyXG4gICAgICAgIChtb3VzZWxlYXZlKT1cInJvd0hvdmVyTGVhdmUoKVwiXHJcbiAgICAgICAgW2NsYXNzLnJvdy1jbGlja2FibGVdPVwiXHJcbiAgICAgICAgICBjb25maWc/LnJvd0NsaWNrQ2FsbGJhY2sgJiYgKCFjb25maWcuZGlzYWJsZVJvd0NsaWNrIHx8ICFjb25maWc/LmRpc2FibGVSb3dDbGljayhyb3cpKVxyXG4gICAgICAgIFwiXHJcbiAgICAgICAgW2NsYXNzLmhpZ2hsaWdodC1lcnJvcl09XCJoaWdobGlnaHRFcnJvckVsZW1lbnQoaW5kZXgsIHJvdylcIlxyXG4gICAgICAgIFtjbGFzcy5oaWdobGlnaHRdPVwiaXNFbGVtZW50SGlnaGxpZ2h0ZWQoaW5kZXgscm93KVwiXHJcbiAgICAgID48L3RyPlxyXG5cclxuICAgICAgPG5nLWNvbnRhaW5lciBbbWF0Q29sdW1uRGVmXT1cImNvbHVtblNlbGVjdENvbHVtbk5hbWVcIj5cclxuICAgICAgICA8dGggY2xhc3M9XCJyb3ctc2VsZWN0XCIgbWF0LWhlYWRlci1jZWxsICptYXRIZWFkZXJDZWxsRGVmIGRpc2FibGUtZXhwb3J0PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZWxlY3Rvci13cmFwcGVyXCI+XHJcbiAgICAgICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgICBjbGFzcz1cImNvbHVtbi1zZWxlY3RvclwiXHJcbiAgICAgICAgICAgICAgbWF0LWljb24tYnV0dG9uXHJcbiAgICAgICAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgICAgICAgIFttYXRNZW51VHJpZ2dlckZvcl09XCJjb2x1bW5NZW51XCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibWF0ZXJpYWwtaWNvbnNcIj5tb3JlX3ZlcnQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC90aD5cclxuICAgICAgICA8dGRcclxuICAgICAgICAgIGNsYXNzPVwicm93LXNlbGVjdFwiXHJcbiAgICAgICAgICBtYXQtY2VsbFxyXG4gICAgICAgICAgKm1hdENlbGxEZWY9XCJsZXQgZWxlbWVudFwiXHJcbiAgICAgICAgICBkaXNhYmxlLWV4cG9ydFxyXG4gICAgICAgID48L3RkPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YVJvd0FjdGl2ZVwiPlxyXG4gICAgICAgIDx0ciAqbWF0Tm9EYXRhUm93PlxyXG4gICAgICAgICAgPCEtLSBhZGQgcmFuZG9tIG51bWJlciB0byBtYWtlIHN1cmUgaXQgdGFrZXMgZnVsbCB3aWR0aCAtLT5cclxuICAgICAgICAgIDx0ZCBjb2xzcGFuPVwiOTlcIj5cclxuICAgICAgICAgICAgPGxpYi1zdGF0dXMtZGlzcGxheSBbY29uZmlnXT1cIm5vRGF0YVJvd0NvbmZpZ1wiPjwvbGliLXN0YXR1cy1kaXNwbGF5PlxyXG4gICAgICAgICAgPC90ZD5cclxuICAgICAgICA8L3RyPlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgIDwvdGFibGU+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPG1hdC1tZW51ICNjb2x1bW5NZW51PVwibWF0TWVudVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJjb2x1bW4tc2VsZWN0LW1lbnVcIiAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCI+XHJcbiAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjb2x1bW4gb2YgY29uZmlndXJhYmxlQ29sdW1uc1wiPlxyXG4gICAgICA8bWF0LWNoZWNrYm94IFsobmdNb2RlbCldPVwiY29sdW1uLnNlbGVjdGVkXCI+XHJcbiAgICAgICAge3sgY29sdW1uLmRpc3BsYXlOYW1lIHwgdHJhbnNsYXRlIH19XHJcbiAgICAgIDwvbWF0LWNoZWNrYm94PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNvbHVtbi1zZWxlY3Qtc2F2ZVwiPlxyXG4gICAgICA8YnV0dG9uXHJcbiAgICAgICAgbWF0LWZsYXQtYnV0dG9uXHJcbiAgICAgICAgY29sb3I9XCJhY2NlbnRcIlxyXG4gICAgICAgIChjbGljayk9XCJ1cGRhdGVEaXNwbGF5Q29sdW1ucygpXCJcclxuICAgICAgPlxyXG4gICAgICAgIHt7IFwiTVVMVElfRlVOQ1RJT05BTF9UQUJMRS5DT0xVTU5fU0VMRUNUX1NBVkVcIiB8IHRyYW5zbGF0ZSB9fVxyXG4gICAgICA8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG48L21hdC1tZW51PlxyXG4iXX0=
|