@theseam/ui-common 0.2.9
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/asset-reader/asset-reader-helper.service.d.ts +7 -0
- package/asset-reader/asset-reader.module.d.ts +2 -0
- package/asset-reader/encrypted-asset-link.directive.d.ts +23 -0
- package/asset-reader/encrypted-asset-reader.d.ts +24 -0
- package/asset-reader/package.json +11 -0
- package/asset-reader/public-api.d.ts +4 -0
- package/asset-reader/theseam-ui-common-asset-reader.d.ts +4 -0
- package/asset-reader/theseam-ui-common-asset-reader.metadata.json +1 -0
- package/assets/.gitkeep +0 -0
- package/assets/vendor/intl-tel-input/css/intlTelInput.min.css +1 -0
- package/assets/vendor/intl-tel-input/img/flags.png +0 -0
- package/assets/vendor/intl-tel-input/img/flags@2x.png +0 -0
- package/assets/vendor/intl-tel-input/js/utils.js +501 -0
- package/breadcrumbs/breadcrumb.d.ts +11 -0
- package/breadcrumbs/breadcrumbs/breadcrumbs.component.d.ts +10 -0
- package/breadcrumbs/breadcrumbs-resolver.d.ts +5 -0
- package/breadcrumbs/breadcrumbs.module.d.ts +2 -0
- package/breadcrumbs/breadcrumbs.service.d.ts +20 -0
- package/breadcrumbs/package.json +11 -0
- package/breadcrumbs/public-api.d.ts +5 -0
- package/breadcrumbs/theseam-ui-common-breadcrumbs.d.ts +4 -0
- package/breadcrumbs/theseam-ui-common-breadcrumbs.metadata.json +1 -0
- package/bundles/theseam-ui-common-asset-reader.umd.js +533 -0
- package/bundles/theseam-ui-common-asset-reader.umd.js.map +1 -0
- package/bundles/theseam-ui-common-breadcrumbs.umd.js +587 -0
- package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -0
- package/bundles/theseam-ui-common-buttons.umd.js +719 -0
- package/bundles/theseam-ui-common-buttons.umd.js.map +1 -0
- package/bundles/theseam-ui-common-card.umd.js +480 -0
- package/bundles/theseam-ui-common-card.umd.js.map +1 -0
- package/bundles/theseam-ui-common-checkbox.umd.js +650 -0
- package/bundles/theseam-ui-common-checkbox.umd.js.map +1 -0
- package/bundles/theseam-ui-common-confirm-dialog.umd.js +491 -0
- package/bundles/theseam-ui-common-confirm-dialog.umd.js.map +1 -0
- package/bundles/theseam-ui-common-core.umd.js +604 -0
- package/bundles/theseam-ui-common-core.umd.js.map +1 -0
- package/bundles/theseam-ui-common-data-exporter.umd.js +96 -0
- package/bundles/theseam-ui-common-data-exporter.umd.js.map +1 -0
- package/bundles/theseam-ui-common-data-filters.umd.js +888 -0
- package/bundles/theseam-ui-common-data-filters.umd.js.map +1 -0
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js +1499 -0
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js.map +1 -0
- package/bundles/theseam-ui-common-datatable.umd.js +2247 -0
- package/bundles/theseam-ui-common-datatable.umd.js.map +1 -0
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js +180 -0
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js.map +1 -0
- package/bundles/theseam-ui-common-dynamic.umd.js +1253 -0
- package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -0
- package/bundles/theseam-ui-common-footer-bar.umd.js +49 -0
- package/bundles/theseam-ui-common-footer-bar.umd.js.map +1 -0
- package/bundles/theseam-ui-common-form-field-error.umd.js +884 -0
- package/bundles/theseam-ui-common-form-field-error.umd.js.map +1 -0
- package/bundles/theseam-ui-common-form-field.umd.js +914 -0
- package/bundles/theseam-ui-common-form-field.umd.js.map +1 -0
- package/bundles/theseam-ui-common-framework.umd.js +3344 -0
- package/bundles/theseam-ui-common-framework.umd.js.map +1 -0
- package/bundles/theseam-ui-common-graphql.umd.js +357 -0
- package/bundles/theseam-ui-common-graphql.umd.js.map +1 -0
- package/bundles/theseam-ui-common-icon.umd.js +890 -0
- package/bundles/theseam-ui-common-icon.umd.js.map +1 -0
- package/bundles/theseam-ui-common-layout.umd.js +119 -0
- package/bundles/theseam-ui-common-layout.umd.js.map +1 -0
- package/bundles/theseam-ui-common-loading.umd.js +152 -0
- package/bundles/theseam-ui-common-loading.umd.js.map +1 -0
- package/bundles/theseam-ui-common-menu.umd.js +1152 -0
- package/bundles/theseam-ui-common-menu.umd.js.map +1 -0
- package/bundles/theseam-ui-common-modal.umd.js +1669 -0
- package/bundles/theseam-ui-common-modal.umd.js.map +1 -0
- package/bundles/theseam-ui-common-models.umd.js +63 -0
- package/bundles/theseam-ui-common-models.umd.js.map +1 -0
- package/bundles/theseam-ui-common-popover.umd.js +504 -0
- package/bundles/theseam-ui-common-popover.umd.js.map +1 -0
- package/bundles/theseam-ui-common-progress.umd.js +420 -0
- package/bundles/theseam-ui-common-progress.umd.js.map +1 -0
- package/bundles/theseam-ui-common-scrollbar.umd.js +240 -0
- package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -0
- package/bundles/theseam-ui-common-services.umd.js +178 -0
- package/bundles/theseam-ui-common-services.umd.js.map +1 -0
- package/bundles/theseam-ui-common-shared.umd.js +1115 -0
- package/bundles/theseam-ui-common-shared.umd.js.map +1 -0
- package/bundles/theseam-ui-common-storage.umd.js +178 -0
- package/bundles/theseam-ui-common-storage.umd.js.map +1 -0
- package/bundles/theseam-ui-common-story-helpers.umd.js +795 -0
- package/bundles/theseam-ui-common-story-helpers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tabbed.umd.js +628 -0
- package/bundles/theseam-ui-common-tabbed.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table-cell-type.umd.js +222 -0
- package/bundles/theseam-ui-common-table-cell-type.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table-cell-types.umd.js +1174 -0
- package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -0
- package/bundles/theseam-ui-common-table.umd.js +475 -0
- package/bundles/theseam-ui-common-table.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tel-input.umd.js +1055 -0
- package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -0
- package/bundles/theseam-ui-common-test-helpers.umd.js +94 -0
- package/bundles/theseam-ui-common-test-helpers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tiled-select.umd.js +849 -0
- package/bundles/theseam-ui-common-tiled-select.umd.js.map +1 -0
- package/bundles/theseam-ui-common-toggle-edit.umd.js +893 -0
- package/bundles/theseam-ui-common-toggle-edit.umd.js.map +1 -0
- package/bundles/theseam-ui-common-toggle-group.umd.js +629 -0
- package/bundles/theseam-ui-common-toggle-group.umd.js.map +1 -0
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js +136 -0
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js.map +1 -0
- package/bundles/theseam-ui-common-utils.umd.js +1245 -0
- package/bundles/theseam-ui-common-utils.umd.js.map +1 -0
- package/bundles/theseam-ui-common-validators.umd.js +105 -0
- package/bundles/theseam-ui-common-validators.umd.js.map +1 -0
- package/bundles/theseam-ui-common-viewers.umd.js +699 -0
- package/bundles/theseam-ui-common-viewers.umd.js.map +1 -0
- package/bundles/theseam-ui-common-widget.umd.js +1710 -0
- package/bundles/theseam-ui-common-widget.umd.js.map +1 -0
- package/bundles/theseam-ui-common.umd.js +54 -0
- package/bundles/theseam-ui-common.umd.js.map +1 -0
- package/buttons/badge-button/badge-button.component.d.ts +18 -0
- package/buttons/button/button.component.d.ts +28 -0
- package/buttons/buttons.module.d.ts +2 -0
- package/buttons/package.json +11 -0
- package/buttons/progress-circle-button/progress-circle-button.component.d.ts +19 -0
- package/buttons/public-api.d.ts +5 -0
- package/buttons/theseam-ui-common-buttons.d.ts +4 -0
- package/buttons/theseam-ui-common-buttons.metadata.json +1 -0
- package/buttons/toggle-button/toggle-button.component.d.ts +26 -0
- package/card/card-action/card-action.component.d.ts +9 -0
- package/card/card-body/card-body.component.d.ts +12 -0
- package/card/card-footer/card-footer.component.d.ts +5 -0
- package/card/card-header/card-header.component.d.ts +7 -0
- package/card/card.component.d.ts +6 -0
- package/card/card.module.d.ts +2 -0
- package/card/package.json +11 -0
- package/card/public-api.d.ts +6 -0
- package/card/theseam-ui-common-card.d.ts +4 -0
- package/card/theseam-ui-common-card.metadata.json +1 -0
- package/checkbox/checkbox.component.d.ts +140 -0
- package/checkbox/checkbox.module.d.ts +2 -0
- package/checkbox/package.json +11 -0
- package/checkbox/public-api.d.ts +2 -0
- package/checkbox/theseam-ui-common-checkbox.d.ts +4 -0
- package/checkbox/theseam-ui-common-checkbox.metadata.json +1 -0
- package/confirm-dialog/confirm-click.directive.d.ts +24 -0
- package/confirm-dialog/confirm-dialog.component.d.ts +6 -0
- package/confirm-dialog/confirm-dialog.module.d.ts +2 -0
- package/confirm-dialog/confirm-dialog.service.d.ts +11 -0
- package/confirm-dialog/package.json +11 -0
- package/confirm-dialog/public-api.d.ts +4 -0
- package/confirm-dialog/theseam-ui-common-confirm-dialog.d.ts +4 -0
- package/confirm-dialog/theseam-ui-common-confirm-dialog.metadata.json +1 -0
- package/core/common-behaviors/active.d.ts +8 -0
- package/core/common-behaviors/constructor.d.ts +9 -0
- package/core/common-behaviors/disabled.d.ts +17 -0
- package/core/common-behaviors/element-ref.d.ts +4 -0
- package/core/common-behaviors/index.d.ts +9 -0
- package/core/common-behaviors/initialized.d.ts +30 -0
- package/core/common-behaviors/renderer2.d.ts +4 -0
- package/core/common-behaviors/size.d.ts +9 -0
- package/core/common-behaviors/tabindex.d.ts +18 -0
- package/core/common-behaviors/theme.d.ts +10 -0
- package/core/input-decorators/index.d.ts +2 -0
- package/core/input-decorators/input-boolean.decorator.d.ts +12 -0
- package/core/input-decorators/input-number.decorator.d.ts +12 -0
- package/core/package.json +11 -0
- package/core/public-api.d.ts +2 -0
- package/core/theseam-ui-common-core.d.ts +4 -0
- package/core/theseam-ui-common-core.metadata.json +1 -0
- package/data-exporter/data-exporter.d.ts +30 -0
- package/data-exporter/data-exporter.module.d.ts +2 -0
- package/data-exporter/exporters/csv-exporter.d.ts +8 -0
- package/data-exporter/exporters/xlsx-exporter.d.ts +8 -0
- package/data-exporter/package.json +11 -0
- package/data-exporter/public-api.d.ts +4 -0
- package/data-exporter/theseam-ui-common-data-exporter.d.ts +4 -0
- package/data-exporter/theseam-ui-common-data-exporter.metadata.json +1 -0
- package/data-filters/data-filter-container.d.ts +8 -0
- package/data-filters/data-filter-def.d.ts +10 -0
- package/data-filters/data-filter.d.ts +49 -0
- package/data-filters/data-filters.module.d.ts +2 -0
- package/data-filters/filters/data-filter-search/data-filter-search.component.d.ts +36 -0
- package/data-filters/filters/data-filter-search/search-filter-options.d.ts +2 -0
- package/data-filters/filters/data-filter-text/data-filter-text.component.d.ts +34 -0
- package/data-filters/filters/data-filter-text/text-filter-options.d.ts +25 -0
- package/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.d.ts +43 -0
- package/data-filters/package.json +11 -0
- package/data-filters/public-api.d.ts +9 -0
- package/data-filters/theseam-ui-common-data-filters.d.ts +4 -0
- package/data-filters/theseam-ui-common-data-filters.metadata.json +1 -0
- package/datatable/datatable/datatable.component.d.ts +195 -0
- package/datatable/datatable-action-menu/datatable-action-menu.component.d.ts +15 -0
- package/datatable/datatable-action-menu-item/datatable-action-menu-item.component.d.ts +28 -0
- package/datatable/datatable-column/datatable-column.component.d.ts +41 -0
- package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +14 -0
- package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +6 -0
- package/datatable/datatable-export-button/datatable-export-button.component.d.ts +24 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +17 -0
- package/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.d.ts +5 -0
- package/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.d.ts +10 -0
- package/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.d.ts +5 -0
- package/datatable/datatable-row-detail/datatable-row-detail.directive.d.ts +37 -0
- package/datatable/datatable.module.d.ts +2 -0
- package/datatable/directives/datatable-action-menu-item.directive.d.ts +35 -0
- package/datatable/directives/datatable-action-menu-toggle.directive.d.ts +27 -0
- package/datatable/directives/datatable-cell-tpl.directive.d.ts +5 -0
- package/datatable/directives/datatable-filter.directive.d.ts +6 -0
- package/datatable/directives/datatable-row-action-item.directive.d.ts +5 -0
- package/datatable/models/datatable-accessor.d.ts +19 -0
- package/datatable/models/datatable-data-source.d.ts +14 -0
- package/datatable/models/datatable-gql-data-source.d.ts +7 -0
- package/datatable/models/menubar-item-data.d.ts +3 -0
- package/datatable/models/page-info.d.ts +6 -0
- package/datatable/models/preferences-accessor.d.ts +15 -0
- package/datatable/models/preferences.d.ts +9 -0
- package/datatable/models/sort-event.d.ts +4 -0
- package/datatable/models/sort-item.d.ts +4 -0
- package/datatable/models/table-column.d.ts +14 -0
- package/datatable/package.json +11 -0
- package/datatable/public-api.d.ts +38 -0
- package/datatable/services/datatable-column-changes.service.d.ts +6 -0
- package/datatable/services/datatable-preferences.service.d.ts +19 -0
- package/datatable/services/datatable-scrollbar-helper.service.d.ts +19 -0
- package/datatable/theseam-ui-common-datatable.d.ts +5 -0
- package/datatable/theseam-ui-common-datatable.metadata.json +1 -0
- package/datatable/tokens/datatable-accessor.d.ts +3 -0
- package/datatable/tokens/datatable-preferences-accessor.d.ts +3 -0
- package/datatable/tokens/menubar-item-data.d.ts +3 -0
- package/datatable/utils/with-stored-column-info.d.ts +3 -0
- package/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.d.ts +32 -0
- package/datatable-dynamic/datatable-dynamic-def.d.ts +71 -0
- package/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.d.ts +15 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.d.ts +61 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.d.ts +16 -0
- package/datatable-dynamic/datatable-dynamic-menu-bar-token.d.ts +3 -0
- package/datatable-dynamic/datatable-dynamic.component.d.ts +89 -0
- package/datatable-dynamic/datatable-dynamic.module.d.ts +2 -0
- package/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.d.ts +73 -0
- package/datatable-dynamic/dynamic-datatable-def.service.d.ts +59 -0
- package/datatable-dynamic/dynamic-datatable-row-actions.service.d.ts +16 -0
- package/datatable-dynamic/models/dynamic-datatable-action-menu-record.d.ts +17 -0
- package/datatable-dynamic/models/dynamic-datatable-filter-menu-item.d.ts +7 -0
- package/datatable-dynamic/models/dynamic-datatable-menu-bar.d.ts +63 -0
- package/datatable-dynamic/models/dynamic-datatable-row-action-context.d.ts +5 -0
- package/datatable-dynamic/models/dynamic-datatable-row-action.d.ts +17 -0
- package/datatable-dynamic/models/index.d.ts +5 -0
- package/datatable-dynamic/package.json +11 -0
- package/datatable-dynamic/public-api.d.ts +13 -0
- package/datatable-dynamic/theseam-ui-common-datatable-dynamic.d.ts +4 -0
- package/datatable-dynamic/theseam-ui-common-datatable-dynamic.metadata.json +1 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.d.ts +2 -0
- package/datatable-dynamic/utils/index.d.ts +4 -0
- package/dynamic/action/api/dynamic-action-api-def.d.ts +35 -0
- package/dynamic/action/api/dynamic-action-api-errors.d.ts +1 -0
- package/dynamic/action/api/dynamic-action-api.d.ts +3 -0
- package/dynamic/action/api/dynamic-action-api.service.d.ts +30 -0
- package/dynamic/action/dynamic-action-helper.service.d.ts +36 -0
- package/dynamic/action/index.d.ts +10 -0
- package/dynamic/action/link/dynamic-action-link-def.d.ts +58 -0
- package/dynamic/action/link/dynamic-action-link.d.ts +3 -0
- package/dynamic/action/link/dynamic-action-link.service.d.ts +14 -0
- package/dynamic/action/modal/dynamic-action-modal-def.d.ts +10 -0
- package/dynamic/action/modal/dynamic-action-modal.d.ts +3 -0
- package/dynamic/action/modal/dynamic-action-modal.service.d.ts +29 -0
- package/dynamic/dynamic-value-helper.service.d.ts +34 -0
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.d.ts +16 -0
- package/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.d.ts +8 -0
- package/dynamic/evaluators/exporters-data-evaluator/index.d.ts +2 -0
- package/dynamic/evaluators/index.d.ts +2 -0
- package/dynamic/evaluators/jexl-evaluator/index.d.ts +2 -0
- package/dynamic/evaluators/jexl-evaluator/jexl-evaluator.d.ts +9 -0
- package/dynamic/evaluators/jexl-evaluator/jexl-value.d.ts +11 -0
- package/dynamic/models/dynamic-action-confirm-def.d.ts +10 -0
- package/dynamic/models/dynamic-action-context.d.ts +2 -0
- package/dynamic/models/dynamic-action-def.d.ts +9 -0
- package/dynamic/models/dynamic-action-ui-anchor-def.d.ts +39 -0
- package/dynamic/models/dynamic-action-ui-button-def.d.ts +13 -0
- package/dynamic/models/dynamic-action-ui-def.d.ts +37 -0
- package/dynamic/models/dynamic-action.d.ts +11 -0
- package/dynamic/models/dynamic-value-base-type.d.ts +4 -0
- package/dynamic/models/dynamic-value-evaluatable-type.d.ts +2 -0
- package/dynamic/models/dynamic-value-evaluator.d.ts +6 -0
- package/dynamic/models/dynamic-value-primitive.d.ts +1 -0
- package/dynamic/models/dynamic-value-type.d.ts +4 -0
- package/dynamic/models/dynamic-value.d.ts +3 -0
- package/dynamic/models/index.d.ts +13 -0
- package/dynamic/package.json +11 -0
- package/dynamic/public-api.d.ts +6 -0
- package/dynamic/theseam-ui-common-dynamic.d.ts +4 -0
- package/dynamic/theseam-ui-common-dynamic.metadata.json +1 -0
- package/dynamic/tokens/api-config.d.ts +30 -0
- package/dynamic/tokens/dynamic-action.d.ts +3 -0
- package/dynamic/tokens/dynamic-data.d.ts +2 -0
- package/dynamic/tokens/dynamic-value-evaluator.d.ts +3 -0
- package/dynamic/tokens/index.d.ts +4 -0
- package/dynamic/utils/index.d.ts +1 -0
- package/dynamic/utils/is-action-type.d.ts +2 -0
- package/dynamic-component-loader/dynamic-component-loader.module.d.ts +7 -0
- package/dynamic-component-loader/dynamic-component-loader.service.d.ts +15 -0
- package/dynamic-component-loader/dynamic-component-manifest.d.ts +9 -0
- package/dynamic-component-loader/dynamic-component-tokens.d.ts +4 -0
- package/dynamic-component-loader/package.json +11 -0
- package/dynamic-component-loader/public-api.d.ts +4 -0
- package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.d.ts +4 -0
- package/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.metadata.json +1 -0
- package/esm2015/asset-reader/asset-reader-helper.service.js +68 -0
- package/esm2015/asset-reader/asset-reader.module.js +15 -0
- package/esm2015/asset-reader/encrypted-asset-link.directive.js +69 -0
- package/esm2015/asset-reader/encrypted-asset-reader.js +20 -0
- package/esm2015/asset-reader/public-api.js +5 -0
- package/esm2015/asset-reader/theseam-ui-common-asset-reader.js +5 -0
- package/esm2015/breadcrumbs/breadcrumb.js +2 -0
- package/esm2015/breadcrumbs/breadcrumbs/breadcrumbs.component.js +21 -0
- package/esm2015/breadcrumbs/breadcrumbs-resolver.js +2 -0
- package/esm2015/breadcrumbs/breadcrumbs.module.js +21 -0
- package/esm2015/breadcrumbs/breadcrumbs.service.js +158 -0
- package/esm2015/breadcrumbs/public-api.js +6 -0
- package/esm2015/breadcrumbs/theseam-ui-common-breadcrumbs.js +5 -0
- package/esm2015/buttons/badge-button/badge-button.component.js +79 -0
- package/esm2015/buttons/button/button.component.js +111 -0
- package/esm2015/buttons/buttons.module.js +34 -0
- package/esm2015/buttons/progress-circle-button/progress-circle-button.component.js +60 -0
- package/esm2015/buttons/public-api.js +6 -0
- package/esm2015/buttons/theseam-ui-common-buttons.js +5 -0
- package/esm2015/buttons/toggle-button/toggle-button.component.js +88 -0
- package/esm2015/card/card-action/card-action.component.js +27 -0
- package/esm2015/card/card-body/card-body.component.js +32 -0
- package/esm2015/card/card-footer/card-footer.component.js +15 -0
- package/esm2015/card/card-header/card-header.component.js +22 -0
- package/esm2015/card/card.component.js +20 -0
- package/esm2015/card/card.module.js +33 -0
- package/esm2015/card/public-api.js +7 -0
- package/esm2015/card/theseam-ui-common-card.js +5 -0
- package/esm2015/checkbox/checkbox.component.js +276 -0
- package/esm2015/checkbox/checkbox.module.js +21 -0
- package/esm2015/checkbox/public-api.js +3 -0
- package/esm2015/checkbox/theseam-ui-common-checkbox.js +5 -0
- package/esm2015/confirm-dialog/confirm-click.directive.js +62 -0
- package/esm2015/confirm-dialog/confirm-dialog.component.js +20 -0
- package/esm2015/confirm-dialog/confirm-dialog.module.js +35 -0
- package/esm2015/confirm-dialog/confirm-dialog.service.js +38 -0
- package/esm2015/confirm-dialog/public-api.js +5 -0
- package/esm2015/confirm-dialog/theseam-ui-common-confirm-dialog.js +5 -0
- package/esm2015/core/common-behaviors/active.js +13 -0
- package/esm2015/core/common-behaviors/constructor.js +9 -0
- package/esm2015/core/common-behaviors/disabled.js +20 -0
- package/esm2015/core/common-behaviors/element-ref.js +2 -0
- package/esm2015/core/common-behaviors/index.js +10 -0
- package/esm2015/core/common-behaviors/initialized.js +62 -0
- package/esm2015/core/common-behaviors/renderer2.js +2 -0
- package/esm2015/core/common-behaviors/size.js +24 -0
- package/esm2015/core/common-behaviors/tabindex.js +22 -0
- package/esm2015/core/common-behaviors/theme.js +24 -0
- package/esm2015/core/input-decorators/index.js +3 -0
- package/esm2015/core/input-decorators/input-boolean.decorator.js +27 -0
- package/esm2015/core/input-decorators/input-number.decorator.js +27 -0
- package/esm2015/core/public-api.js +3 -0
- package/esm2015/core/theseam-ui-common-core.js +5 -0
- package/esm2015/data-exporter/data-exporter.js +7 -0
- package/esm2015/data-exporter/data-exporter.module.js +17 -0
- package/esm2015/data-exporter/exporters/csv-exporter.js +32 -0
- package/esm2015/data-exporter/exporters/xlsx-exporter.js +30 -0
- package/esm2015/data-exporter/public-api.js +5 -0
- package/esm2015/data-exporter/theseam-ui-common-data-exporter.js +5 -0
- package/esm2015/data-filters/data-filter-container.js +3 -0
- package/esm2015/data-filters/data-filter-def.js +3 -0
- package/esm2015/data-filters/data-filter.js +22 -0
- package/esm2015/data-filters/data-filters.module.js +50 -0
- package/esm2015/data-filters/filters/data-filter-search/data-filter-search.component.js +110 -0
- package/esm2015/data-filters/filters/data-filter-search/search-filter-options.js +2 -0
- package/esm2015/data-filters/filters/data-filter-text/data-filter-text.component.js +138 -0
- package/esm2015/data-filters/filters/data-filter-text/text-filter-options.js +2 -0
- package/esm2015/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.js +151 -0
- package/esm2015/data-filters/public-api.js +10 -0
- package/esm2015/data-filters/theseam-ui-common-data-filters.js +5 -0
- package/esm2015/datatable/datatable/datatable.component.js +584 -0
- package/esm2015/datatable/datatable-action-menu/datatable-action-menu.component.js +101 -0
- package/esm2015/datatable/datatable-action-menu-item/datatable-action-menu-item.component.js +30 -0
- package/esm2015/datatable/datatable-column/datatable-column.component.js +83 -0
- package/esm2015/datatable/datatable-column-preferences/datatable-column-preferences.component.js +46 -0
- package/esm2015/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.js +18 -0
- package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +98 -0
- package/esm2015/datatable/datatable-menu-bar/datatable-menu-bar.component.js +55 -0
- package/esm2015/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.js +16 -0
- package/esm2015/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.js +32 -0
- package/esm2015/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.js +15 -0
- package/esm2015/datatable/datatable-row-detail/datatable-row-detail.directive.js +69 -0
- package/esm2015/datatable/datatable.module.js +120 -0
- package/esm2015/datatable/directives/datatable-action-menu-item.directive.js +46 -0
- package/esm2015/datatable/directives/datatable-action-menu-toggle.directive.js +128 -0
- package/esm2015/datatable/directives/datatable-cell-tpl.directive.js +15 -0
- package/esm2015/datatable/directives/datatable-filter.directive.js +21 -0
- package/esm2015/datatable/directives/datatable-row-action-item.directive.js +15 -0
- package/esm2015/datatable/models/datatable-accessor.js +2 -0
- package/esm2015/datatable/models/datatable-data-source.js +42 -0
- package/esm2015/datatable/models/datatable-gql-data-source.js +15 -0
- package/esm2015/datatable/models/menubar-item-data.js +2 -0
- package/esm2015/datatable/models/page-info.js +2 -0
- package/esm2015/datatable/models/preferences-accessor.js +2 -0
- package/esm2015/datatable/models/preferences.js +2 -0
- package/esm2015/datatable/models/sort-event.js +2 -0
- package/esm2015/datatable/models/sort-item.js +2 -0
- package/esm2015/datatable/models/table-column.js +2 -0
- package/esm2015/datatable/public-api.js +39 -0
- package/esm2015/datatable/services/datatable-column-changes.service.js +17 -0
- package/esm2015/datatable/services/datatable-preferences.service.js +113 -0
- package/esm2015/datatable/services/datatable-scrollbar-helper.service.js +51 -0
- package/esm2015/datatable/theseam-ui-common-datatable.js +6 -0
- package/esm2015/datatable/tokens/datatable-accessor.js +3 -0
- package/esm2015/datatable/tokens/datatable-preferences-accessor.js +3 -0
- package/esm2015/datatable/tokens/menubar-item-data.js +3 -0
- package/esm2015/datatable/utils/with-stored-column-info.js +20 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.js +119 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-def.js +2 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.js +53 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.js +160 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-item-manifest.js +2 -0
- package/esm2015/datatable-dynamic/datatable-dynamic-menu-bar-token.js +3 -0
- package/esm2015/datatable-dynamic/datatable-dynamic.component.js +75 -0
- package/esm2015/datatable-dynamic/datatable-dynamic.module.js +49 -0
- package/esm2015/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.js +408 -0
- package/esm2015/datatable-dynamic/dynamic-datatable-def.service.js +84 -0
- package/esm2015/datatable-dynamic/dynamic-datatable-row-actions.service.js +47 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-action-menu-record.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-filter-menu-item.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-menu-bar.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action-context.js +2 -0
- package/esm2015/datatable-dynamic/models/dynamic-datatable-row-action.js +2 -0
- package/esm2015/datatable-dynamic/models/index.js +6 -0
- package/esm2015/datatable-dynamic/public-api.js +14 -0
- package/esm2015/datatable-dynamic/theseam-ui-common-datatable-dynamic.js +5 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.js +8 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.js +13 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.js +6 -0
- package/esm2015/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.js +6 -0
- package/esm2015/datatable-dynamic/utils/index.js +5 -0
- package/esm2015/dynamic/action/api/dynamic-action-api-def.js +2 -0
- package/esm2015/dynamic/action/api/dynamic-action-api-errors.js +4 -0
- package/esm2015/dynamic/action/api/dynamic-action-api.js +2 -0
- package/esm2015/dynamic/action/api/dynamic-action-api.service.js +215 -0
- package/esm2015/dynamic/action/dynamic-action-helper.service.js +163 -0
- package/esm2015/dynamic/action/index.js +11 -0
- package/esm2015/dynamic/action/link/dynamic-action-link-def.js +2 -0
- package/esm2015/dynamic/action/link/dynamic-action-link.js +2 -0
- package/esm2015/dynamic/action/link/dynamic-action-link.service.js +50 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal-def.js +2 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal.js +2 -0
- package/esm2015/dynamic/action/modal/dynamic-action-modal.service.js +92 -0
- package/esm2015/dynamic/dynamic-value-helper.service.js +101 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.js +33 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/exporters-data-value.js +2 -0
- package/esm2015/dynamic/evaluators/exporters-data-evaluator/index.js +3 -0
- package/esm2015/dynamic/evaluators/index.js +3 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/index.js +3 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-evaluator.js +29 -0
- package/esm2015/dynamic/evaluators/jexl-evaluator/jexl-value.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-confirm-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-context.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-def.js +3 -0
- package/esm2015/dynamic/models/dynamic-action-ui-anchor-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-ui-button-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action-ui-def.js +2 -0
- package/esm2015/dynamic/models/dynamic-action.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-base-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-evaluatable-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-evaluator.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-primitive.js +2 -0
- package/esm2015/dynamic/models/dynamic-value-type.js +2 -0
- package/esm2015/dynamic/models/dynamic-value.js +2 -0
- package/esm2015/dynamic/models/index.js +14 -0
- package/esm2015/dynamic/public-api.js +7 -0
- package/esm2015/dynamic/theseam-ui-common-dynamic.js +5 -0
- package/esm2015/dynamic/tokens/api-config.js +29 -0
- package/esm2015/dynamic/tokens/dynamic-action.js +3 -0
- package/esm2015/dynamic/tokens/dynamic-data.js +3 -0
- package/esm2015/dynamic/tokens/dynamic-value-evaluator.js +3 -0
- package/esm2015/dynamic/tokens/index.js +5 -0
- package/esm2015/dynamic/utils/index.js +2 -0
- package/esm2015/dynamic/utils/is-action-type.js +4 -0
- package/esm2015/dynamic-component-loader/dynamic-component-loader.module.js +47 -0
- package/esm2015/dynamic-component-loader/dynamic-component-loader.service.js +91 -0
- package/esm2015/dynamic-component-loader/dynamic-component-manifest.js +2 -0
- package/esm2015/dynamic-component-loader/dynamic-component-tokens.js +5 -0
- package/esm2015/dynamic-component-loader/public-api.js +5 -0
- package/esm2015/dynamic-component-loader/theseam-ui-common-dynamic-component-loader.js +5 -0
- package/esm2015/footer-bar/footer-bar/footer-bar.component.js +16 -0
- package/esm2015/footer-bar/footer-bar.module.js +15 -0
- package/esm2015/footer-bar/public-api.js +3 -0
- package/esm2015/footer-bar/theseam-ui-common-footer-bar.js +5 -0
- package/esm2015/form-field/form-field-error.directive.js +28 -0
- package/esm2015/form-field/form-field-help-text.directive.js +15 -0
- package/esm2015/form-field/form-field-label-tpl.directive.js +15 -0
- package/esm2015/form-field/form-field-required-indicator.component.js +38 -0
- package/esm2015/form-field/form-field.component.js +193 -0
- package/esm2015/form-field/form-field.module.js +40 -0
- package/esm2015/form-field/input.directive.js +195 -0
- package/esm2015/form-field/public-api.js +8 -0
- package/esm2015/form-field/theseam-ui-common-form-field.js +5 -0
- package/esm2015/form-field-error/form-field-error/form-field-error.component.js +27 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.js +25 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list-item.directive.js +18 -0
- package/esm2015/form-field-error/form-field-error-list/form-field-error-list.component.js +370 -0
- package/esm2015/form-field-error/form-field-error.module.js +28 -0
- package/esm2015/form-field-error/public-api.js +6 -0
- package/esm2015/form-field-error/theseam-ui-common-form-field-error.js +5 -0
- package/esm2015/framework/base-layout/base-layout-action.js +2 -0
- package/esm2015/framework/base-layout/base-layout-nav.js +2 -0
- package/esm2015/framework/base-layout/base-layout-ref.js +2 -0
- package/esm2015/framework/base-layout/base-layout-tokens.js +3 -0
- package/esm2015/framework/base-layout/base-layout.component.js +117 -0
- package/esm2015/framework/base-layout/base-layout.module.js +45 -0
- package/esm2015/framework/base-layout/directives/base-layout-content-footer.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-content-header.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-content.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-nav-toggle.directive.js +37 -0
- package/esm2015/framework/base-layout/directives/base-layout-side-bar.directive.js +15 -0
- package/esm2015/framework/base-layout/directives/base-layout-top-bar.directive.js +15 -0
- package/esm2015/framework/base-layout/index.js +13 -0
- package/esm2015/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.js +19 -0
- package/esm2015/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.js +25 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.js +121 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-item.js +2 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.js +3 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.js +2 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.js +173 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.component.js +176 -0
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.service.js +165 -0
- package/esm2015/framework/dashboard/dashboard.component.js +25 -0
- package/esm2015/framework/dashboard/dashboard.module.js +39 -0
- package/esm2015/framework/dashboard/index.js +12 -0
- package/esm2015/framework/dynamic-router/dynamic-route-def.js +2 -0
- package/esm2015/framework/dynamic-router/dynamic-router.module.js +21 -0
- package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.js +256 -0
- package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.js +114 -0
- package/esm2015/framework/dynamic-router/index.js +6 -0
- package/esm2015/framework/dynamic-router/resolvers/hierarchy-level.resolver.js +26 -0
- package/esm2015/framework/public-api.js +7 -0
- package/esm2015/framework/schema-form/index.js +4 -0
- package/esm2015/framework/schema-form/schema-form-framework.component.js +16 -0
- package/esm2015/framework/schema-form/schema-form-framework.js +27 -0
- package/esm2015/framework/schema-form/schema-form.module.js +35 -0
- package/esm2015/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.js +41 -0
- package/esm2015/framework/schema-form-controls/schema-form-controls.module.js +50 -0
- package/esm2015/framework/schema-form-controls/schema-form-input/schema-form-input.component.js +34 -0
- package/esm2015/framework/schema-form-controls/schema-form-number/schema-form-number.component.js +40 -0
- package/esm2015/framework/schema-form-controls/schema-form-select/schema-form-select.component.js +36 -0
- package/esm2015/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.js +46 -0
- package/esm2015/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.js +142 -0
- package/esm2015/framework/side-nav/index.js +7 -0
- package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +151 -0
- package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +36 -0
- package/esm2015/framework/side-nav/side-nav-utils.js +81 -0
- package/esm2015/framework/side-nav/side-nav.component.js +195 -0
- package/esm2015/framework/side-nav/side-nav.models.js +2 -0
- package/esm2015/framework/side-nav/side-nav.module.js +37 -0
- package/esm2015/framework/side-nav/side-nav.service.js +174 -0
- package/esm2015/framework/theseam-ui-common-framework.js +13 -0
- package/esm2015/framework/top-bar/index.js +8 -0
- package/esm2015/framework/top-bar/top-bar-item.directive.js +15 -0
- package/esm2015/framework/top-bar/top-bar-menu-btn-detail.directive.js +15 -0
- package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +53 -0
- package/esm2015/framework/top-bar/top-bar-menu.directive.js +16 -0
- package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +19 -0
- package/esm2015/framework/top-bar/top-bar.component.js +82 -0
- package/esm2015/framework/top-bar/top-bar.module.js +46 -0
- package/esm2015/graphql/models/direction.js +8 -0
- package/esm2015/graphql/models/hint-definition.js +2 -0
- package/esm2015/graphql/models/hint-transform-operation.js +2 -0
- package/esm2015/graphql/models/hint-transformer.js +2 -0
- package/esm2015/graphql/models/hints-kind.js +9 -0
- package/esm2015/graphql/models/hints-token.js +2 -0
- package/esm2015/graphql/models/index.js +9 -0
- package/esm2015/graphql/models/query-processing-config.js +2 -0
- package/esm2015/graphql/models/variable.js +7 -0
- package/esm2015/graphql/public-api.js +2 -0
- package/esm2015/graphql/theseam-ui-common-graphql.js +5 -0
- package/esm2015/graphql/utils/contains-variable.js +14 -0
- package/esm2015/graphql/utils/gql-var.js +4 -0
- package/esm2015/graphql/utils/hints-tokens-containing-hint.js +4 -0
- package/esm2015/graphql/utils/index.js +11 -0
- package/esm2015/graphql/utils/inline-variables.js +50 -0
- package/esm2015/graphql/utils/parse-comments.js +24 -0
- package/esm2015/graphql/utils/parse-hints.js +116 -0
- package/esm2015/graphql/utils/remove-variable-definition.js +14 -0
- package/esm2015/graphql/utils/remove-variable-definitions-not-defined.js +19 -0
- package/esm2015/graphql/utils/remove-variable.js +22 -0
- package/esm2015/graphql/utils/to-gql.js +40 -0
- package/esm2015/icon/icon/icon.component.js +125 -0
- package/esm2015/icon/icon-btn/icon-btn.component.js +136 -0
- package/esm2015/icon/icon-notification/icon-notification.component.js +120 -0
- package/esm2015/icon/icon.js +2 -0
- package/esm2015/icon/icon.module.js +27 -0
- package/esm2015/icon/public-api.js +7 -0
- package/esm2015/icon/theseam-ui-common-icon.js +5 -0
- package/esm2015/icon/utils/file-extension-icon.js +33 -0
- package/esm2015/icon/utils/get-known-icon.js +82 -0
- package/esm2015/icon/utils/index.js +3 -0
- package/esm2015/layout/breakpoint-aliases.js +11 -0
- package/esm2015/layout/layout.module.js +18 -0
- package/esm2015/layout/layout.service.js +24 -0
- package/esm2015/layout/observe-media-query.js +41 -0
- package/esm2015/layout/public-api.js +5 -0
- package/esm2015/layout/theseam-ui-common-layout.js +5 -0
- package/esm2015/loading/loading/loading.component.js +28 -0
- package/esm2015/loading/loading-overlay.service.js +59 -0
- package/esm2015/loading/loading-themes.js +18 -0
- package/esm2015/loading/loading.models.js +2 -0
- package/esm2015/loading/loading.module.js +29 -0
- package/esm2015/loading/public-api.js +6 -0
- package/esm2015/loading/theseam-ui-common-loading.js +5 -0
- package/esm2015/menu/menu-animations.js +58 -0
- package/esm2015/menu/menu-divider.component.js +15 -0
- package/esm2015/menu/menu-footer/menu-footer.component.js +32 -0
- package/esm2015/menu/menu-footer-action/menu-footer-action.component.js +48 -0
- package/esm2015/menu/menu-header/menu-header.component.js +32 -0
- package/esm2015/menu/menu-item.component.js +127 -0
- package/esm2015/menu/menu-panel-token.js +6 -0
- package/esm2015/menu/menu-panel.js +2 -0
- package/esm2015/menu/menu-toggle.directive.js +248 -0
- package/esm2015/menu/menu.component.js +174 -0
- package/esm2015/menu/menu.module.js +43 -0
- package/esm2015/menu/public-api.js +12 -0
- package/esm2015/menu/theseam-ui-common-menu.js +5 -0
- package/esm2015/modal/directives/modal-close.directive.js +63 -0
- package/esm2015/modal/directives/modal-footer-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-header-icon-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-header-title-tpl.directive.js +15 -0
- package/esm2015/modal/directives/modal-title.directive.js +19 -0
- package/esm2015/modal/directives/modal.directive.js +25 -0
- package/esm2015/modal/modal/modal.component.js +149 -0
- package/esm2015/modal/modal-body/modal-body.component.js +22 -0
- package/esm2015/modal/modal-config.js +47 -0
- package/esm2015/modal/modal-container/modal-container.component.js +217 -0
- package/esm2015/modal/modal-footer/modal-footer.component.js +20 -0
- package/esm2015/modal/modal-header/modal-header.component.js +26 -0
- package/esm2015/modal/modal-injectors.js +23 -0
- package/esm2015/modal/modal-ref.js +126 -0
- package/esm2015/modal/modal-utils.js +14 -0
- package/esm2015/modal/modal.models.js +3 -0
- package/esm2015/modal/modal.module.js +83 -0
- package/esm2015/modal/modal.service.js +343 -0
- package/esm2015/modal/public-api.js +20 -0
- package/esm2015/modal/route-modal/route-modal.component.js +68 -0
- package/esm2015/modal/theseam-ui-common-modal.js +5 -0
- package/esm2015/models/component-type.js +4 -0
- package/esm2015/models/http-status-codes.js +20 -0
- package/esm2015/models/public-api.js +8 -0
- package/esm2015/models/size-prefixes.js +2 -0
- package/esm2015/models/size-types.js +2 -0
- package/esm2015/models/theme-names.js +26 -0
- package/esm2015/models/theme-prefixes.js +2 -0
- package/esm2015/models/theme-types.js +2 -0
- package/esm2015/models/theseam-ui-common-models.js +5 -0
- package/esm2015/popover/popover/popover.component.js +149 -0
- package/esm2015/popover/popover-animations.js +46 -0
- package/esm2015/popover/popover.directive.js +257 -0
- package/esm2015/popover/popover.module.js +30 -0
- package/esm2015/popover/public-api.js +5 -0
- package/esm2015/popover/theseam-ui-common-popover.js +5 -0
- package/esm2015/progress/progress-circle/progress-circle.component.js +63 -0
- package/esm2015/progress/progress.module.js +19 -0
- package/esm2015/progress/public-api.js +3 -0
- package/esm2015/progress/theseam-ui-common-progress.js +5 -0
- package/esm2015/public_api.js +43 -0
- package/esm2015/scrollbar/overlay-scrollbar.directive.js +61 -0
- package/esm2015/scrollbar/overlay-scrollbars-config-model.js +2 -0
- package/esm2015/scrollbar/overlay-scrollbars-config.js +13 -0
- package/esm2015/scrollbar/overlay-scrollbars.service.js +87 -0
- package/esm2015/scrollbar/public-api.js +6 -0
- package/esm2015/scrollbar/scrollbar.module.js +25 -0
- package/esm2015/scrollbar/theseam-ui-common-scrollbar.js +5 -0
- package/esm2015/services/asset-loader.service.js +33 -0
- package/esm2015/services/font-loader.service.js +81 -0
- package/esm2015/services/public-api.js +4 -0
- package/esm2015/services/router-helpers.service.js +26 -0
- package/esm2015/services/theseam-ui-common-services.js +5 -0
- package/esm2015/shared/components/index.js +2 -0
- package/esm2015/shared/components/password-input-reveal/password-input-reveal.component.js +71 -0
- package/esm2015/shared/directives/auto-focus.directive.js +53 -0
- package/esm2015/shared/directives/click-outside.directive.js +49 -0
- package/esm2015/shared/directives/disable-control.directive.js +27 -0
- package/esm2015/shared/directives/elem-resized.directive.js +29 -0
- package/esm2015/shared/directives/hover-class-toggle.directive.js +80 -0
- package/esm2015/shared/directives/hover-class.directive.js +74 -0
- package/esm2015/shared/directives/index.js +9 -0
- package/esm2015/shared/directives/ng-select-extra.directive.js +177 -0
- package/esm2015/shared/directives/ngx-quill-extra.directive.js +60 -0
- package/esm2015/shared/pipes/index.js +3 -0
- package/esm2015/shared/pipes/mask-chars.pipe.js +21 -0
- package/esm2015/shared/pipes/truncate.pipe.js +19 -0
- package/esm2015/shared/public-api.js +5 -0
- package/esm2015/shared/shared.module.js +58 -0
- package/esm2015/shared/theseam-ui-common-shared.js +5 -0
- package/esm2015/storage/local-storage.service.js +77 -0
- package/esm2015/storage/localstorage-memory.js +64 -0
- package/esm2015/storage/public-api.js +2 -0
- package/esm2015/storage/theseam-ui-common-storage.js +5 -0
- package/esm2015/story-helpers/arg-type-helpers.js +34 -0
- package/esm2015/story-helpers/args-to-tpl.js +76 -0
- package/esm2015/story-helpers/initial-route-factory.js +4 -0
- package/esm2015/story-helpers/initial-route.service.js +27 -0
- package/esm2015/story-helpers/on-story-bootstrapped-exec.js +64 -0
- package/esm2015/story-helpers/on-story-bootstrapped-trigger.js +38 -0
- package/esm2015/story-helpers/public-api.js +15 -0
- package/esm2015/story-helpers/route-button.js +12 -0
- package/esm2015/story-helpers/routes-arg-type.js +18 -0
- package/esm2015/story-helpers/story-empty-with-route.component.js +7 -0
- package/esm2015/story-helpers/story-empty.component.js +7 -0
- package/esm2015/story-helpers/story-helper-components.module.js +29 -0
- package/esm2015/story-helpers/story-initial-route.js +24 -0
- package/esm2015/story-helpers/story-modal-container.component.js +77 -0
- package/esm2015/story-helpers/story-toastr.service.js +33 -0
- package/esm2015/story-helpers/theseam-ui-common-story-helpers.js +5 -0
- package/esm2015/tabbed/directives/tabbed-tab-content.directive.js +14 -0
- package/esm2015/tabbed/directives/tabbed-tab.directive.js +36 -0
- package/esm2015/tabbed/public-api.js +8 -0
- package/esm2015/tabbed/tabbed-content/tabbed-content.component.js +17 -0
- package/esm2015/tabbed/tabbed-item/tabbed-item.component.js +30 -0
- package/esm2015/tabbed/tabbed.component.js +111 -0
- package/esm2015/tabbed/tabbed.module.js +36 -0
- package/esm2015/tabbed/tabbed.service.js +28 -0
- package/esm2015/tabbed/theseam-ui-common-tabbed.js +5 -0
- package/esm2015/table/public-api.js +3 -0
- package/esm2015/table/table/table.component.js +90 -0
- package/esm2015/table/table.module.js +23 -0
- package/esm2015/table/theseam-ui-common-table.js +5 -0
- package/esm2015/table-cell-type/public-api.js +12 -0
- package/esm2015/table-cell-type/services/table-cell-types-helpers.service.js +70 -0
- package/esm2015/table-cell-type/table-cell-type-action.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-column.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-config.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-export-props.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-manifest-provider.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-models.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-name.js +2 -0
- package/esm2015/table-cell-type/table-cell-type-selector.component.js +94 -0
- package/esm2015/table-cell-type/table-cell-type-tokens.js +4 -0
- package/esm2015/table-cell-type/table-cell-type.module.js +23 -0
- package/esm2015/table-cell-type/theseam-ui-common-table-cell-type.js +5 -0
- package/esm2015/table-cell-types/public-api.js +16 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.component.js +55 -0
- package/esm2015/table-cell-types/table-cell-type-date/table-cell-type-date.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.js +166 -0
- package/esm2015/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-manifests.js +91 -0
- package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.js +66 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.js +160 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.js +78 -0
- package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string-config.js +2 -0
- package/esm2015/table-cell-types/table-cell-type-string/table-cell-type-string.component.js +150 -0
- package/esm2015/table-cell-types/table-cell-types.module.js +71 -0
- package/esm2015/table-cell-types/theseam-ui-common-table-cell-types.js +5 -0
- package/esm2015/tel-input/intl-tel-input.js +55 -0
- package/esm2015/tel-input/models/index.js +3 -0
- package/esm2015/tel-input/models/tel-input-country-data.js +2 -0
- package/esm2015/tel-input/models/tel-input-number-format-name.js +8 -0
- package/esm2015/tel-input/phone-number.pipe.js +51 -0
- package/esm2015/tel-input/public-api.js +10 -0
- package/esm2015/tel-input/tel-input/tel-input.component.js +167 -0
- package/esm2015/tel-input/tel-input-constants.js +18 -0
- package/esm2015/tel-input/tel-input-validator.js +27 -0
- package/esm2015/tel-input/tel-input.directive.js +164 -0
- package/esm2015/tel-input/tel-input.module.js +29 -0
- package/esm2015/tel-input/theseam-ui-common-tel-input.js +5 -0
- package/esm2015/tel-input/utils/add-country-code.js +23 -0
- package/esm2015/tel-input/utils/coerce-phone-number-format.js +22 -0
- package/esm2015/tel-input/utils/get-country-code.js +9 -0
- package/esm2015/tel-input/utils/get-dial-code.js +45 -0
- package/esm2015/tel-input/utils/get-global-intl-tel-input-globals.js +4 -0
- package/esm2015/tel-input/utils/get-global-intl-tel-input-utils.js +4 -0
- package/esm2015/tel-input/utils/get-intl-tel-input-utils.js +17 -0
- package/esm2015/tel-input/utils/get-validation-error-message.js +12 -0
- package/esm2015/tel-input/utils/index.js +10 -0
- package/esm2015/tel-input/utils/process-country-codes.js +49 -0
- package/esm2015/test-helpers/public-api.js +2 -0
- package/esm2015/test-helpers/theseam-ui-common-test-helpers.js +5 -0
- package/esm2015/test-helpers/tick-helper.js +74 -0
- package/esm2015/theseam-ui-common.js +5 -0
- package/esm2015/tiled-select/components/tiled-select/tiled-select.component.js +197 -0
- package/esm2015/tiled-select/components/tiled-select-tile/tiled-select-tile.component.js +125 -0
- package/esm2015/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.js +54 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-icon-tpl.directive.js +16 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-label-tpl.directive.js +15 -0
- package/esm2015/tiled-select/directives/tiled-select-tile-overlay.directive.js +19 -0
- package/esm2015/tiled-select/public-api.js +9 -0
- package/esm2015/tiled-select/theseam-ui-common-tiled-select.js +5 -0
- package/esm2015/tiled-select/tiled-select.models.js +2 -0
- package/esm2015/tiled-select/tiled-select.module.js +35 -0
- package/esm2015/toggle-edit/models/can-toggle-edit.js +2 -0
- package/esm2015/toggle-edit/models/index.js +3 -0
- package/esm2015/toggle-edit/models/toggle-edit-ref.js +2 -0
- package/esm2015/toggle-edit/public-api.js +7 -0
- package/esm2015/toggle-edit/theseam-ui-common-toggle-edit.js +5 -0
- package/esm2015/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.js +15 -0
- package/esm2015/toggle-edit/toggle-edit-display-tpl.directive.js +15 -0
- package/esm2015/toggle-edit/toggle-edit-keyboard-listener.service.js +56 -0
- package/esm2015/toggle-edit/toggle-edit.component.js +403 -0
- package/esm2015/toggle-edit/toggle-edit.module.js +40 -0
- package/esm2015/toggle-group/public-api.js +4 -0
- package/esm2015/toggle-group/theseam-ui-common-toggle-group.js +5 -0
- package/esm2015/toggle-group/toggle-group-option.directive.js +44 -0
- package/esm2015/toggle-group/toggle-group.directive.js +192 -0
- package/esm2015/toggle-group/toggle-group.module.js +24 -0
- package/esm2015/unsaved-changes-dialog/public-api.js +5 -0
- package/esm2015/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.js +5 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-can-deactivate.js +27 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.component.js +20 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.guard.js +35 -0
- package/esm2015/unsaved-changes-dialog/unsaved-changes-dialog.module.js +12 -0
- package/esm2015/utils/calc-percentage.js +4 -0
- package/esm2015/utils/cdk/get-closest-widget-cdk-drag.js +18 -0
- package/esm2015/utils/create-padding.js +17 -0
- package/esm2015/utils/file-utils.js +68 -0
- package/esm2015/utils/form/get-control-name.js +31 -0
- package/esm2015/utils/form/get-control-path.js +37 -0
- package/esm2015/utils/form/has-required-control.js +50 -0
- package/esm2015/utils/form/is-empty-input-value.js +6 -0
- package/esm2015/utils/form/observe-control-is-different.js +18 -0
- package/esm2015/utils/form/observe-control-status.js +17 -0
- package/esm2015/utils/form/observe-control-valid.js +30 -0
- package/esm2015/utils/form/observe-control-value-change.js +10 -0
- package/esm2015/utils/form/observe-control-value.js +11 -0
- package/esm2015/utils/form/wait-on-non-pending-status.js +18 -0
- package/esm2015/utils/fractional-digits-count.js +19 -0
- package/esm2015/utils/get-attribute.js +7 -0
- package/esm2015/utils/has-attribute.js +7 -0
- package/esm2015/utils/has-property.js +7 -0
- package/esm2015/utils/input-masks.js +2 -0
- package/esm2015/utils/is-absolute-url.js +17 -0
- package/esm2015/utils/is-null-or-undefined.js +4 -0
- package/esm2015/utils/is-numeric.js +4 -0
- package/esm2015/utils/load-style-sheet.js +14 -0
- package/esm2015/utils/load-style.js +13 -0
- package/esm2015/utils/not-null-or-undefined.js +4 -0
- package/esm2015/utils/obj-utils.js +27 -0
- package/esm2015/utils/observe-query-list.js +5 -0
- package/esm2015/utils/operators/index.js +3 -0
- package/esm2015/utils/operators/map-each.js +6 -0
- package/esm2015/utils/operators/tap-first.js +14 -0
- package/esm2015/utils/pad-end.js +9 -0
- package/esm2015/utils/pad-start.js +9 -0
- package/esm2015/utils/polling-ticker.js +121 -0
- package/esm2015/utils/public-api.js +38 -0
- package/esm2015/utils/refreshable.js +65 -0
- package/esm2015/utils/router/index.js +7 -0
- package/esm2015/utils/router/is-empty-url-route.js +4 -0
- package/esm2015/utils/router/leaf-child-route.js +8 -0
- package/esm2015/utils/router/operators/activated-routes-with-data-property.js +11 -0
- package/esm2015/utils/router/route-snapshot-path-full.js +5 -0
- package/esm2015/utils/router/route-snapshot-path-relative.js +4 -0
- package/esm2015/utils/router/will-have-data-prop.js +10 -0
- package/esm2015/utils/subscriber-count.js +19 -0
- package/esm2015/utils/theseam-ui-common-utils.js +5 -0
- package/esm2015/utils/toggle-attribute.js +35 -0
- package/esm2015/utils/wait-on-condition-async.js +33 -0
- package/esm2015/utils/wrap-into-observable.js +8 -0
- package/esm2015/validators/decimal.validator.js +25 -0
- package/esm2015/validators/email-exists.validator.js +18 -0
- package/esm2015/validators/integer.validator.js +25 -0
- package/esm2015/validators/phone-length.validator.js +8 -0
- package/esm2015/validators/public-api.js +6 -0
- package/esm2015/validators/tax-id.validator.js +13 -0
- package/esm2015/validators/theseam-ui-common-validators.js +5 -0
- package/esm2015/viewers/pdf-viewer/index.js +4 -0
- package/esm2015/viewers/pdf-viewer/pdf-page/pdf-page.component.js +134 -0
- package/esm2015/viewers/pdf-viewer/pdf-renderer.service.js +27 -0
- package/esm2015/viewers/pdf-viewer/pdf-viewer.component.js +149 -0
- package/esm2015/viewers/pdf-viewer/pdf-viewer.module.js +24 -0
- package/esm2015/viewers/public-api.js +2 -0
- package/esm2015/viewers/theseam-ui-common-viewers.js +5 -0
- package/esm2015/widget/directives/widget-drag-handle.directive.js +146 -0
- package/esm2015/widget/directives/widget-icon-tpl.directive.js +15 -0
- package/esm2015/widget/directives/widget-title-tpl.directive.js +15 -0
- package/esm2015/widget/public-api.js +38 -0
- package/esm2015/widget/theseam-ui-common-widget.js +5 -0
- package/esm2015/widget/widget/widget.component.js +121 -0
- package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.module.js +22 -0
- package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-description/widget-description.component.js +12 -0
- package/esm2015/widget/widget-content-components/widget-description/widget-description.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.component.js +39 -0
- package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.component.js +31 -0
- package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.module.js +19 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.js +16 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.js +162 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.component.js +19 -0
- package/esm2015/widget/widget-content-components/widget-list-group/widget-list-group.module.js +31 -0
- package/esm2015/widget/widget-content-components/widget-table/widget-table.component.js +35 -0
- package/esm2015/widget/widget-content-components/widget-table/widget-table.module.js +23 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.js +19 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.js +43 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.js +16 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.js +16 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +108 -0
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile.module.js +33 -0
- package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.component.js +15 -0
- package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.module.js +21 -0
- package/esm2015/widget/widget-footer/widget-footer.component.js +16 -0
- package/esm2015/widget/widget-registry.models.js +2 -0
- package/esm2015/widget/widget-registry.service.js +56 -0
- package/esm2015/widget/widget-token.js +3 -0
- package/esm2015/widget/widget.module.js +70 -0
- package/fesm2015/theseam-ui-common-asset-reader.js +173 -0
- package/fesm2015/theseam-ui-common-asset-reader.js.map +1 -0
- package/fesm2015/theseam-ui-common-breadcrumbs.js +202 -0
- package/fesm2015/theseam-ui-common-breadcrumbs.js.map +1 -0
- package/fesm2015/theseam-ui-common-buttons.js +362 -0
- package/fesm2015/theseam-ui-common-buttons.js.map +1 -0
- package/fesm2015/theseam-ui-common-card.js +145 -0
- package/fesm2015/theseam-ui-common-card.js.map +1 -0
- package/fesm2015/theseam-ui-common-checkbox.js +302 -0
- package/fesm2015/theseam-ui-common-checkbox.js.map +1 -0
- package/fesm2015/theseam-ui-common-confirm-dialog.js +153 -0
- package/fesm2015/theseam-ui-common-confirm-dialog.js.map +1 -0
- package/fesm2015/theseam-ui-common-core.js +231 -0
- package/fesm2015/theseam-ui-common-core.js.map +1 -0
- package/fesm2015/theseam-ui-common-data-exporter.js +81 -0
- package/fesm2015/theseam-ui-common-data-exporter.js.map +1 -0
- package/fesm2015/theseam-ui-common-data-filters.js +452 -0
- package/fesm2015/theseam-ui-common-data-filters.js.map +1 -0
- package/fesm2015/theseam-ui-common-datatable-dynamic.js +991 -0
- package/fesm2015/theseam-ui-common-datatable-dynamic.js.map +1 -0
- package/fesm2015/theseam-ui-common-datatable.js +1714 -0
- package/fesm2015/theseam-ui-common-datatable.js.map +1 -0
- package/fesm2015/theseam-ui-common-dynamic-component-loader.js +143 -0
- package/fesm2015/theseam-ui-common-dynamic-component-loader.js.map +1 -0
- package/fesm2015/theseam-ui-common-dynamic.js +699 -0
- package/fesm2015/theseam-ui-common-dynamic.js.map +1 -0
- package/fesm2015/theseam-ui-common-footer-bar.js +36 -0
- package/fesm2015/theseam-ui-common-footer-bar.js.map +1 -0
- package/fesm2015/theseam-ui-common-form-field-error.js +464 -0
- package/fesm2015/theseam-ui-common-form-field-error.js.map +1 -0
- package/fesm2015/theseam-ui-common-form-field.js +506 -0
- package/fesm2015/theseam-ui-common-form-field.js.map +1 -0
- package/fesm2015/theseam-ui-common-framework.js +2650 -0
- package/fesm2015/theseam-ui-common-framework.js.map +1 -0
- package/fesm2015/theseam-ui-common-graphql.js +331 -0
- package/fesm2015/theseam-ui-common-graphql.js.map +1 -0
- package/fesm2015/theseam-ui-common-icon.js +518 -0
- package/fesm2015/theseam-ui-common-icon.js.map +1 -0
- package/fesm2015/theseam-ui-common-layout.js +89 -0
- package/fesm2015/theseam-ui-common-layout.js.map +1 -0
- package/fesm2015/theseam-ui-common-loading.js +131 -0
- package/fesm2015/theseam-ui-common-loading.js.map +1 -0
- package/fesm2015/theseam-ui-common-menu.js +762 -0
- package/fesm2015/theseam-ui-common-menu.js.map +1 -0
- package/fesm2015/theseam-ui-common-modal.js +1234 -0
- package/fesm2015/theseam-ui-common-modal.js.map +1 -0
- package/fesm2015/theseam-ui-common-models.js +54 -0
- package/fesm2015/theseam-ui-common-models.js.map +1 -0
- package/fesm2015/theseam-ui-common-popover.js +476 -0
- package/fesm2015/theseam-ui-common-popover.js.map +1 -0
- package/fesm2015/theseam-ui-common-progress.js +87 -0
- package/fesm2015/theseam-ui-common-progress.js.map +1 -0
- package/fesm2015/theseam-ui-common-scrollbar.js +184 -0
- package/fesm2015/theseam-ui-common-scrollbar.js.map +1 -0
- package/fesm2015/theseam-ui-common-services.js +140 -0
- package/fesm2015/theseam-ui-common-services.js.map +1 -0
- package/fesm2015/theseam-ui-common-shared.js +696 -0
- package/fesm2015/theseam-ui-common-shared.js.map +1 -0
- package/fesm2015/theseam-ui-common-storage.js +147 -0
- package/fesm2015/theseam-ui-common-storage.js.map +1 -0
- package/fesm2015/theseam-ui-common-story-helpers.js +441 -0
- package/fesm2015/theseam-ui-common-story-helpers.js.map +1 -0
- package/fesm2015/theseam-ui-common-tabbed.js +262 -0
- package/fesm2015/theseam-ui-common-tabbed.js.map +1 -0
- package/fesm2015/theseam-ui-common-table-cell-type.js +191 -0
- package/fesm2015/theseam-ui-common-table-cell-type.js.map +1 -0
- package/fesm2015/theseam-ui-common-table-cell-types.js +799 -0
- package/fesm2015/theseam-ui-common-table-cell-types.js.map +1 -0
- package/fesm2015/theseam-ui-common-table.js +118 -0
- package/fesm2015/theseam-ui-common-table.js.map +1 -0
- package/fesm2015/theseam-ui-common-tel-input.js +681 -0
- package/fesm2015/theseam-ui-common-tel-input.js.map +1 -0
- package/fesm2015/theseam-ui-common-test-helpers.js +81 -0
- package/fesm2015/theseam-ui-common-test-helpers.js.map +1 -0
- package/fesm2015/theseam-ui-common-tiled-select.js +448 -0
- package/fesm2015/theseam-ui-common-tiled-select.js.map +1 -0
- package/fesm2015/theseam-ui-common-toggle-edit.js +521 -0
- package/fesm2015/theseam-ui-common-toggle-edit.js.map +1 -0
- package/fesm2015/theseam-ui-common-toggle-group.js +260 -0
- package/fesm2015/theseam-ui-common-toggle-group.js.map +1 -0
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js +97 -0
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.js.map +1 -0
- package/fesm2015/theseam-ui-common-utils.js +797 -0
- package/fesm2015/theseam-ui-common-utils.js.map +1 -0
- package/fesm2015/theseam-ui-common-validators.js +94 -0
- package/fesm2015/theseam-ui-common-validators.js.map +1 -0
- package/fesm2015/theseam-ui-common-viewers.js +328 -0
- package/fesm2015/theseam-ui-common-viewers.js.map +1 -0
- package/fesm2015/theseam-ui-common-widget.js +1187 -0
- package/fesm2015/theseam-ui-common-widget.js.map +1 -0
- package/fesm2015/theseam-ui-common.js +47 -0
- package/fesm2015/theseam-ui-common.js.map +1 -0
- package/footer-bar/footer-bar/footer-bar.component.d.ts +5 -0
- package/footer-bar/footer-bar.module.d.ts +2 -0
- package/footer-bar/package.json +11 -0
- package/footer-bar/public-api.d.ts +2 -0
- package/footer-bar/theseam-ui-common-footer-bar.d.ts +4 -0
- package/footer-bar/theseam-ui-common-footer-bar.metadata.json +1 -0
- package/form-field/form-field-error.directive.d.ts +12 -0
- package/form-field/form-field-help-text.directive.d.ts +5 -0
- package/form-field/form-field-label-tpl.directive.d.ts +5 -0
- package/form-field/form-field-required-indicator.component.d.ts +9 -0
- package/form-field/form-field.component.d.ts +114 -0
- package/form-field/form-field.module.d.ts +2 -0
- package/form-field/input.directive.d.ts +72 -0
- package/form-field/package.json +11 -0
- package/form-field/public-api.d.ts +7 -0
- package/form-field/theseam-ui-common-form-field.d.ts +4 -0
- package/form-field/theseam-ui-common-form-field.metadata.json +1 -0
- package/form-field-error/form-field-error/form-field-error.component.d.ts +8 -0
- package/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.d.ts +9 -0
- package/form-field-error/form-field-error-list/form-field-error-list-item.directive.d.ts +6 -0
- package/form-field-error/form-field-error-list/form-field-error-list.component.d.ts +63 -0
- package/form-field-error/form-field-error.module.d.ts +2 -0
- package/form-field-error/package.json +11 -0
- package/form-field-error/public-api.d.ts +5 -0
- package/form-field-error/theseam-ui-common-form-field-error.d.ts +4 -0
- package/form-field-error/theseam-ui-common-form-field-error.metadata.json +1 -0
- package/framework/base-layout/_base-layout-theme.scss +3 -0
- package/framework/base-layout/base-layout-action.d.ts +31 -0
- package/framework/base-layout/base-layout-nav.d.ts +18 -0
- package/framework/base-layout/base-layout-ref.d.ts +14 -0
- package/framework/base-layout/base-layout-tokens.d.ts +3 -0
- package/framework/base-layout/base-layout.component.d.ts +43 -0
- package/framework/base-layout/base-layout.component.scss +81 -0
- package/framework/base-layout/base-layout.module.d.ts +2 -0
- package/framework/base-layout/directives/base-layout-content-footer.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-content-header.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-content.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +14 -0
- package/framework/base-layout/directives/base-layout-side-bar.directive.d.ts +6 -0
- package/framework/base-layout/directives/base-layout-top-bar.directive.d.ts +6 -0
- package/framework/base-layout/index.d.ts +12 -0
- package/framework/base-layout/styles/_utilities.scss +3 -0
- package/framework/base-layout/styles/_variables.scss +9 -0
- package/framework/dashboard/_dashboard-theme.scss +3 -0
- package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.d.ts +8 -0
- package/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.scss +0 -0
- package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.d.ts +11 -0
- package/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.scss +0 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.d.ts +47 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-item.d.ts +43 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor-token.d.ts +3 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences-accessor.d.ts +15 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.d.ts +27 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.d.ts +58 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.component.scss +48 -0
- package/framework/dashboard/dashboard-widgets/dashboard-widgets.service.d.ts +34 -0
- package/framework/dashboard/dashboard.component.d.ts +8 -0
- package/framework/dashboard/dashboard.component.scss +0 -0
- package/framework/dashboard/dashboard.module.d.ts +2 -0
- package/framework/dashboard/index.d.ts +11 -0
- package/framework/dashboard/styles/_utilities.scss +3 -0
- package/framework/dashboard/styles/_variables.scss +2 -0
- package/framework/dynamic-router/dynamic-route-def.d.ts +8 -0
- package/framework/dynamic-router/dynamic-router.module.d.ts +2 -0
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-route-animations.d.ts +5 -0
- package/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.d.ts +23 -0
- package/framework/dynamic-router/index.d.ts +5 -0
- package/framework/dynamic-router/resolvers/hierarchy-level.resolver.d.ts +7 -0
- package/framework/package.json +11 -0
- package/framework/public-api.d.ts +6 -0
- package/framework/schema-form/index.d.ts +3 -0
- package/framework/schema-form/schema-form-framework.component.d.ts +5 -0
- package/framework/schema-form/schema-form-framework.d.ts +18 -0
- package/framework/schema-form/schema-form.module.d.ts +2 -0
- package/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.d.ts +21 -0
- package/framework/schema-form-controls/schema-form-controls.module.d.ts +2 -0
- package/framework/schema-form-controls/schema-form-input/schema-form-input.component.d.ts +19 -0
- package/framework/schema-form-controls/schema-form-number/schema-form-number.component.d.ts +22 -0
- package/framework/schema-form-controls/schema-form-select/schema-form-select.component.d.ts +20 -0
- package/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.d.ts +18 -0
- package/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.d.ts +34 -0
- package/framework/side-nav/_side-nav-theme.scss +5 -0
- package/framework/side-nav/index.d.ts +6 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +65 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +158 -0
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +11 -0
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +32 -0
- package/framework/side-nav/side-nav-utils.d.ts +18 -0
- package/framework/side-nav/side-nav.component.d.ts +40 -0
- package/framework/side-nav/side-nav.component.scss +47 -0
- package/framework/side-nav/side-nav.models.d.ts +64 -0
- package/framework/side-nav/side-nav.module.d.ts +2 -0
- package/framework/side-nav/side-nav.service.d.ts +21 -0
- package/framework/side-nav/styles/_themes/light/_variables.scss +29 -0
- package/framework/side-nav/styles/_themes/primary/_variables.scss +31 -0
- package/framework/side-nav/styles/_utilities.scss +3 -0
- package/framework/side-nav/styles/_variables.scss +2 -0
- package/framework/theseam-ui-common-framework.d.ts +12 -0
- package/framework/theseam-ui-common-framework.metadata.json +1 -0
- package/framework/top-bar/index.d.ts +7 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-menu-btn-detail.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +20 -0
- package/framework/top-bar/top-bar-menu.directive.d.ts +5 -0
- package/framework/top-bar/top-bar-title/top-bar-title.component.d.ts +7 -0
- package/framework/top-bar/top-bar.component.d.ts +59 -0
- package/framework/top-bar/top-bar.module.d.ts +2 -0
- package/graphql/models/direction.d.ts +6 -0
- package/graphql/models/hint-definition.d.ts +7 -0
- package/graphql/models/hint-transform-operation.d.ts +5 -0
- package/graphql/models/hint-transformer.d.ts +3 -0
- package/graphql/models/hints-kind.d.ts +7 -0
- package/graphql/models/hints-token.d.ts +7 -0
- package/graphql/models/index.d.ts +8 -0
- package/graphql/models/query-processing-config.d.ts +9 -0
- package/graphql/models/variable.d.ts +5 -0
- package/graphql/package.json +11 -0
- package/graphql/public-api.d.ts +1 -0
- package/graphql/theseam-ui-common-graphql.d.ts +4 -0
- package/graphql/theseam-ui-common-graphql.metadata.json +1 -0
- package/graphql/utils/contains-variable.d.ts +2 -0
- package/graphql/utils/gql-var.d.ts +3 -0
- package/graphql/utils/hints-tokens-containing-hint.d.ts +2 -0
- package/graphql/utils/index.d.ts +10 -0
- package/graphql/utils/inline-variables.d.ts +2 -0
- package/graphql/utils/parse-comments.d.ts +2 -0
- package/graphql/utils/parse-hints.d.ts +17 -0
- package/graphql/utils/remove-variable-definition.d.ts +2 -0
- package/graphql/utils/remove-variable-definitions-not-defined.d.ts +3 -0
- package/graphql/utils/remove-variable.d.ts +2 -0
- package/graphql/utils/to-gql.d.ts +1 -0
- package/icon/icon/icon.component.d.ts +54 -0
- package/icon/icon-btn/icon-btn.component.d.ts +74 -0
- package/icon/icon-notification/icon-notification.component.d.ts +47 -0
- package/icon/icon.d.ts +2 -0
- package/icon/icon.module.d.ts +2 -0
- package/icon/package.json +11 -0
- package/icon/public-api.d.ts +6 -0
- package/icon/theseam-ui-common-icon.d.ts +4 -0
- package/icon/theseam-ui-common-icon.metadata.json +1 -0
- package/icon/utils/file-extension-icon.d.ts +3 -0
- package/icon/utils/get-known-icon.d.ts +2 -0
- package/icon/utils/index.d.ts +2 -0
- package/layout/breakpoint-aliases.d.ts +20 -0
- package/layout/layout.module.d.ts +2 -0
- package/layout/layout.service.d.ts +12 -0
- package/layout/observe-media-query.d.ts +8 -0
- package/layout/package.json +11 -0
- package/layout/public-api.d.ts +4 -0
- package/layout/theseam-ui-common-layout.d.ts +4 -0
- package/layout/theseam-ui-common-layout.metadata.json +1 -0
- package/loading/loading/loading.component.d.ts +9 -0
- package/loading/loading-overlay.service.d.ts +13 -0
- package/loading/loading-themes.d.ts +3 -0
- package/loading/loading.models.d.ts +1 -0
- package/loading/loading.module.d.ts +4 -0
- package/loading/package.json +11 -0
- package/loading/public-api.d.ts +5 -0
- package/loading/theseam-ui-common-loading.d.ts +4 -0
- package/loading/theseam-ui-common-loading.metadata.json +1 -0
- package/menu/menu-animations.d.ts +8 -0
- package/menu/menu-divider.component.d.ts +2 -0
- package/menu/menu-footer/menu-footer.component.d.ts +9 -0
- package/menu/menu-footer-action/menu-footer-action.component.d.ts +19 -0
- package/menu/menu-header/menu-header.component.d.ts +9 -0
- package/menu/menu-item.component.d.ts +41 -0
- package/menu/menu-panel-token.d.ts +6 -0
- package/menu/menu-panel.d.ts +20 -0
- package/menu/menu-toggle.directive.d.ts +53 -0
- package/menu/menu.component.d.ts +62 -0
- package/menu/menu.module.d.ts +2 -0
- package/menu/package.json +11 -0
- package/menu/public-api.d.ts +11 -0
- package/menu/theseam-ui-common-menu.d.ts +4 -0
- package/menu/theseam-ui-common-menu.metadata.json +1 -0
- package/modal/directives/modal-close.directive.d.ts +20 -0
- package/modal/directives/modal-footer-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-header-icon-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-header-title-tpl.directive.d.ts +5 -0
- package/modal/directives/modal-title.directive.d.ts +6 -0
- package/modal/directives/modal.directive.d.ts +8 -0
- package/modal/modal/modal.component.d.ts +56 -0
- package/modal/modal-body/modal-body.component.d.ts +7 -0
- package/modal/modal-config.d.ts +93 -0
- package/modal/modal-container/modal-container.component.d.ts +77 -0
- package/modal/modal-footer/modal-footer.component.d.ts +6 -0
- package/modal/modal-header/modal-header.component.d.ts +11 -0
- package/modal/modal-injectors.d.ts +23 -0
- package/modal/modal-ref.d.ts +50 -0
- package/modal/modal-utils.d.ts +8 -0
- package/modal/modal.models.d.ts +24 -0
- package/modal/modal.module.d.ts +2 -0
- package/modal/modal.service.d.ts +95 -0
- package/modal/package.json +11 -0
- package/modal/public-api.d.ts +19 -0
- package/modal/route-modal/route-modal.component.d.ts +16 -0
- package/modal/theseam-ui-common-modal.d.ts +4 -0
- package/modal/theseam-ui-common-modal.metadata.json +1 -0
- package/models/component-type.d.ts +2 -0
- package/models/http-status-codes.d.ts +18 -0
- package/models/package.json +11 -0
- package/models/public-api.d.ts +7 -0
- package/models/size-prefixes.d.ts +1 -0
- package/models/size-types.d.ts +1 -0
- package/models/theme-names.d.ts +2 -0
- package/models/theme-prefixes.d.ts +1 -0
- package/models/theme-types.d.ts +2 -0
- package/models/theseam-ui-common-models.d.ts +4 -0
- package/models/theseam-ui-common-models.metadata.json +1 -0
- package/package.json +61 -0
- package/popover/package.json +11 -0
- package/popover/popover/popover.component.d.ts +44 -0
- package/popover/popover-animations.d.ts +4 -0
- package/popover/popover.directive.d.ts +57 -0
- package/popover/popover.module.d.ts +2 -0
- package/popover/public-api.d.ts +4 -0
- package/popover/theseam-ui-common-popover.d.ts +4 -0
- package/popover/theseam-ui-common-popover.metadata.json +1 -0
- package/progress/package.json +11 -0
- package/progress/progress-circle/_progress-circle-theme.scss +3 -0
- package/progress/progress-circle/progress-circle.component.d.ts +27 -0
- package/progress/progress-circle/progress-circle.component.scss +105 -0
- package/progress/progress-circle/styles/_utilities.scss +3 -0
- package/progress/progress-circle/styles/_variables.scss +8 -0
- package/progress/progress.module.d.ts +2 -0
- package/progress/public-api.d.ts +2 -0
- package/progress/theseam-ui-common-progress.d.ts +4 -0
- package/progress/theseam-ui-common-progress.metadata.json +1 -0
- package/public_api.d.ts +2 -0
- package/scrollbar/overlay-scrollbar.directive.d.ts +21 -0
- package/scrollbar/overlay-scrollbars-config-model.d.ts +2 -0
- package/scrollbar/overlay-scrollbars-config.d.ts +51 -0
- package/scrollbar/overlay-scrollbars.service.d.ts +20 -0
- package/scrollbar/package.json +11 -0
- package/scrollbar/public-api.d.ts +5 -0
- package/scrollbar/scrollbar.module.d.ts +2 -0
- package/scrollbar/theseam-ui-common-scrollbar.d.ts +4 -0
- package/scrollbar/theseam-ui-common-scrollbar.metadata.json +1 -0
- package/services/asset-loader.service.d.ts +13 -0
- package/services/font-loader.service.d.ts +43 -0
- package/services/package.json +11 -0
- package/services/public-api.d.ts +3 -0
- package/services/router-helpers.service.d.ts +7 -0
- package/services/theseam-ui-common-services.d.ts +4 -0
- package/services/theseam-ui-common-services.metadata.json +1 -0
- package/shared/components/index.d.ts +1 -0
- package/shared/components/password-input-reveal/password-input-reveal.component.d.ts +14 -0
- package/shared/directives/auto-focus.directive.d.ts +15 -0
- package/shared/directives/click-outside.directive.d.ts +10 -0
- package/shared/directives/disable-control.directive.d.ts +6 -0
- package/shared/directives/elem-resized.directive.d.ts +17 -0
- package/shared/directives/hover-class-toggle.directive.d.ts +33 -0
- package/shared/directives/hover-class.directive.d.ts +28 -0
- package/shared/directives/index.d.ts +8 -0
- package/shared/directives/ng-select-extra.directive.d.ts +39 -0
- package/shared/directives/ngx-quill-extra.directive.d.ts +20 -0
- package/shared/package.json +11 -0
- package/shared/pipes/index.d.ts +2 -0
- package/shared/pipes/mask-chars.pipe.d.ts +4 -0
- package/shared/pipes/truncate.pipe.d.ts +4 -0
- package/shared/public-api.d.ts +4 -0
- package/shared/shared.module.d.ts +2 -0
- package/shared/theseam-ui-common-shared.d.ts +4 -0
- package/shared/theseam-ui-common-shared.metadata.json +1 -0
- package/storage/local-storage.service.d.ts +28 -0
- package/storage/localstorage-memory.d.ts +37 -0
- package/storage/package.json +11 -0
- package/storage/public-api.d.ts +1 -0
- package/storage/theseam-ui-common-storage.d.ts +4 -0
- package/storage/theseam-ui-common-storage.metadata.json +1 -0
- package/story-helpers/arg-type-helpers.d.ts +5 -0
- package/story-helpers/args-to-tpl.d.ts +24 -0
- package/story-helpers/initial-route-factory.d.ts +2 -0
- package/story-helpers/initial-route.service.d.ts +7 -0
- package/story-helpers/on-story-bootstrapped-exec.d.ts +29 -0
- package/story-helpers/on-story-bootstrapped-trigger.d.ts +23 -0
- package/story-helpers/package.json +11 -0
- package/story-helpers/public-api.d.ts +14 -0
- package/story-helpers/route-button.d.ts +5 -0
- package/story-helpers/routes-arg-type.d.ts +2 -0
- package/story-helpers/story-empty-with-route.component.d.ts +2 -0
- package/story-helpers/story-empty.component.d.ts +2 -0
- package/story-helpers/story-helper-components.module.d.ts +2 -0
- package/story-helpers/story-initial-route.d.ts +4 -0
- package/story-helpers/story-modal-container.component.d.ts +20 -0
- package/story-helpers/story-toastr.service.d.ts +30 -0
- package/story-helpers/theseam-ui-common-story-helpers.d.ts +4 -0
- package/story-helpers/theseam-ui-common-story-helpers.metadata.json +1 -0
- package/styles/_storybook-fixes.scss +7 -0
- package/styles/_variables.scss +0 -0
- package/styles/bootstrap/_bootstrap.scss +45 -0
- package/styles/bootstrap/_bs-styles.scss +105 -0
- package/styles/bootstrap/_bs-utilities.scss +5 -0
- package/styles/bootstrap/_bs-variables.scss +141 -0
- package/styles/common/_forms.scss +15 -0
- package/styles/common/_global.scss +9 -0
- package/styles/common/_hacks.scss +14 -0
- package/styles/common/_table.scss +124 -0
- package/styles/common/_text.scss +1 -0
- package/styles/theme.scss +19 -0
- package/styles/utilities.scss +14 -0
- package/styles/vendor/_vendor.scss +3 -0
- package/styles/vendor/ng-select/_ng-select-bs4.scss +445 -0
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +108 -0
- package/styles/vendor/quill/_quill.scss +26 -0
- package/tabbed/directives/tabbed-tab-content.directive.d.ts +4 -0
- package/tabbed/directives/tabbed-tab.directive.d.ts +9 -0
- package/tabbed/package.json +11 -0
- package/tabbed/public-api.d.ts +7 -0
- package/tabbed/tabbed-content/tabbed-content.component.d.ts +7 -0
- package/tabbed/tabbed-item/tabbed-item.component.d.ts +14 -0
- package/tabbed/tabbed.component.d.ts +36 -0
- package/tabbed/tabbed.module.d.ts +2 -0
- package/tabbed/tabbed.service.d.ts +8 -0
- package/tabbed/theseam-ui-common-tabbed.d.ts +4 -0
- package/tabbed/theseam-ui-common-tabbed.metadata.json +1 -0
- package/table/package.json +11 -0
- package/table/public-api.d.ts +2 -0
- package/table/table/table.component.d.ts +43 -0
- package/table/table.module.d.ts +2 -0
- package/table/theseam-ui-common-table.d.ts +4 -0
- package/table/theseam-ui-common-table.metadata.json +1 -0
- package/table-cell-type/package.json +11 -0
- package/table-cell-type/public-api.d.ts +11 -0
- package/table-cell-type/services/table-cell-types-helpers.service.d.ts +15 -0
- package/table-cell-type/table-cell-type-action.d.ts +13 -0
- package/table-cell-type/table-cell-type-column.d.ts +12 -0
- package/table-cell-type/table-cell-type-config.d.ts +12 -0
- package/table-cell-type/table-cell-type-export-props.d.ts +15 -0
- package/table-cell-type/table-cell-type-manifest-provider.d.ts +7 -0
- package/table-cell-type/table-cell-type-models.d.ts +39 -0
- package/table-cell-type/table-cell-type-name.d.ts +1 -0
- package/table-cell-type/table-cell-type-selector.component.d.ts +25 -0
- package/table-cell-type/table-cell-type-tokens.d.ts +4 -0
- package/table-cell-type/table-cell-type.module.d.ts +2 -0
- package/table-cell-type/theseam-ui-common-table-cell-type.d.ts +4 -0
- package/table-cell-type/theseam-ui-common-table-cell-type.metadata.json +1 -0
- package/table-cell-types/package.json +11 -0
- package/table-cell-types/public-api.d.ts +15 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date-config.d.ts +9 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date.component.d.ts +12 -0
- package/table-cell-types/table-cell-type-date/table-cell-type-date.d.ts +3 -0
- package/table-cell-types/table-cell-type-decimal/table-cell-type-decimal-config.d.ts +3 -0
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon-config.d.ts +34 -0
- package/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.d.ts +53 -0
- package/table-cell-types/table-cell-type-integer/table-cell-type-integer-config.d.ts +3 -0
- package/table-cell-types/table-cell-type-manifests.d.ts +10 -0
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone-config.d.ts +13 -0
- package/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.d.ts +17 -0
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle-config.d.ts +29 -0
- package/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.d.ts +48 -0
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon-config.d.ts +49 -0
- package/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.d.ts +21 -0
- package/table-cell-types/table-cell-type-string/table-cell-type-string-config.d.ts +10 -0
- package/table-cell-types/table-cell-type-string/table-cell-type-string.component.d.ts +45 -0
- package/table-cell-types/table-cell-types.module.d.ts +2 -0
- package/table-cell-types/theseam-ui-common-table-cell-types.d.ts +6 -0
- package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -0
- package/tel-input/intl-tel-input.d.ts +300 -0
- package/tel-input/models/index.d.ts +2 -0
- package/tel-input/models/tel-input-country-data.d.ts +9 -0
- package/tel-input/models/tel-input-number-format-name.d.ts +4 -0
- package/tel-input/package.json +11 -0
- package/tel-input/phone-number.pipe.d.ts +11 -0
- package/tel-input/public-api.d.ts +9 -0
- package/tel-input/tel-input/tel-input.component.d.ts +83 -0
- package/tel-input/tel-input-constants.d.ts +4 -0
- package/tel-input/tel-input-validator.d.ts +7 -0
- package/tel-input/tel-input.directive.d.ts +28 -0
- package/tel-input/tel-input.module.d.ts +2 -0
- package/tel-input/theseam-ui-common-tel-input.d.ts +4 -0
- package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -0
- package/tel-input/utils/add-country-code.d.ts +7 -0
- package/tel-input/utils/coerce-phone-number-format.d.ts +7 -0
- package/tel-input/utils/get-country-code.d.ts +2 -0
- package/tel-input/utils/get-dial-code.d.ts +9 -0
- package/tel-input/utils/get-global-intl-tel-input-globals.d.ts +2 -0
- package/tel-input/utils/get-global-intl-tel-input-utils.d.ts +2 -0
- package/tel-input/utils/get-intl-tel-input-utils.d.ts +2 -0
- package/tel-input/utils/get-validation-error-message.d.ts +5 -0
- package/tel-input/utils/index.d.ts +9 -0
- package/tel-input/utils/process-country-codes.d.ts +8 -0
- package/test-helpers/package.json +11 -0
- package/test-helpers/public-api.d.ts +1 -0
- package/test-helpers/theseam-ui-common-test-helpers.d.ts +4 -0
- package/test-helpers/theseam-ui-common-test-helpers.metadata.json +1 -0
- package/test-helpers/tick-helper.d.ts +70 -0
- package/theseam-ui-common.d.ts +4 -0
- package/theseam-ui-common.metadata.json +1 -0
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +50 -0
- package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +41 -0
- package/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.d.ts +26 -0
- package/tiled-select/directives/tiled-select-tile-icon-tpl.directive.d.ts +5 -0
- package/tiled-select/directives/tiled-select-tile-label-tpl.directive.d.ts +5 -0
- package/tiled-select/directives/tiled-select-tile-overlay.directive.d.ts +7 -0
- package/tiled-select/package.json +11 -0
- package/tiled-select/public-api.d.ts +8 -0
- package/tiled-select/theseam-ui-common-tiled-select.d.ts +4 -0
- package/tiled-select/theseam-ui-common-tiled-select.metadata.json +1 -0
- package/tiled-select/tiled-select.models.d.ts +11 -0
- package/tiled-select/tiled-select.module.d.ts +2 -0
- package/toggle-edit/models/can-toggle-edit.d.ts +7 -0
- package/toggle-edit/models/index.d.ts +2 -0
- package/toggle-edit/models/toggle-edit-ref.d.ts +30 -0
- package/toggle-edit/package.json +11 -0
- package/toggle-edit/public-api.d.ts +6 -0
- package/toggle-edit/theseam-ui-common-toggle-edit.d.ts +4 -0
- package/toggle-edit/theseam-ui-common-toggle-edit.metadata.json +1 -0
- package/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.d.ts +5 -0
- package/toggle-edit/toggle-edit-display-tpl.directive.d.ts +5 -0
- package/toggle-edit/toggle-edit-keyboard-listener.service.d.ts +14 -0
- package/toggle-edit/toggle-edit.component.d.ts +90 -0
- package/toggle-edit/toggle-edit.module.d.ts +2 -0
- package/toggle-group/package.json +11 -0
- package/toggle-group/public-api.d.ts +3 -0
- package/toggle-group/theseam-ui-common-toggle-group.d.ts +4 -0
- package/toggle-group/theseam-ui-common-toggle-group.metadata.json +1 -0
- package/toggle-group/toggle-group-option.directive.d.ts +15 -0
- package/toggle-group/toggle-group.directive.d.ts +36 -0
- package/toggle-group/toggle-group.module.d.ts +2 -0
- package/unsaved-changes-dialog/package.json +11 -0
- package/unsaved-changes-dialog/public-api.d.ts +4 -0
- package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.d.ts +4 -0
- package/unsaved-changes-dialog/theseam-ui-common-unsaved-changes-dialog.metadata.json +1 -0
- package/unsaved-changes-dialog/unsaved-changes-can-deactivate.d.ts +4 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.component.d.ts +5 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.guard.d.ts +8 -0
- package/unsaved-changes-dialog/unsaved-changes-dialog.module.d.ts +2 -0
- package/utils/calc-percentage.d.ts +1 -0
- package/utils/cdk/get-closest-widget-cdk-drag.d.ts +8 -0
- package/utils/create-padding.d.ts +1 -0
- package/utils/file-utils.d.ts +12 -0
- package/utils/form/get-control-name.d.ts +22 -0
- package/utils/form/get-control-path.d.ts +27 -0
- package/utils/form/has-required-control.d.ts +31 -0
- package/utils/form/is-empty-input-value.d.ts +1 -0
- package/utils/form/observe-control-is-different.d.ts +13 -0
- package/utils/form/observe-control-status.d.ts +7 -0
- package/utils/form/observe-control-valid.d.ts +14 -0
- package/utils/form/observe-control-value-change.d.ts +9 -0
- package/utils/form/observe-control-value.d.ts +6 -0
- package/utils/form/wait-on-non-pending-status.d.ts +12 -0
- package/utils/fractional-digits-count.d.ts +8 -0
- package/utils/get-attribute.d.ts +4 -0
- package/utils/has-attribute.d.ts +4 -0
- package/utils/has-property.d.ts +1 -0
- package/utils/input-masks.d.ts +1 -0
- package/utils/is-absolute-url.d.ts +1 -0
- package/utils/is-null-or-undefined.d.ts +1 -0
- package/utils/is-numeric.d.ts +1 -0
- package/utils/load-style-sheet.d.ts +1 -0
- package/utils/load-style.d.ts +1 -0
- package/utils/not-null-or-undefined.d.ts +1 -0
- package/utils/obj-utils.d.ts +8 -0
- package/utils/observe-query-list.d.ts +3 -0
- package/utils/operators/index.d.ts +2 -0
- package/utils/operators/map-each.d.ts +2 -0
- package/utils/operators/tap-first.d.ts +5 -0
- package/utils/package.json +11 -0
- package/utils/pad-end.d.ts +1 -0
- package/utils/pad-start.d.ts +1 -0
- package/utils/polling-ticker.d.ts +13 -0
- package/utils/public-api.d.ts +37 -0
- package/utils/refreshable.d.ts +20 -0
- package/utils/router/index.d.ts +6 -0
- package/utils/router/is-empty-url-route.d.ts +2 -0
- package/utils/router/leaf-child-route.d.ts +2 -0
- package/utils/router/operators/activated-routes-with-data-property.d.ts +7 -0
- package/utils/router/route-snapshot-path-full.d.ts +2 -0
- package/utils/router/route-snapshot-path-relative.d.ts +2 -0
- package/utils/router/will-have-data-prop.d.ts +2 -0
- package/utils/subscriber-count.d.ts +1 -0
- package/utils/theseam-ui-common-utils.d.ts +4 -0
- package/utils/theseam-ui-common-utils.metadata.json +1 -0
- package/utils/toggle-attribute.d.ts +16 -0
- package/utils/wait-on-condition-async.d.ts +1 -0
- package/utils/wrap-into-observable.d.ts +2 -0
- package/validators/decimal.validator.d.ts +9 -0
- package/validators/email-exists.validator.d.ts +10 -0
- package/validators/integer.validator.d.ts +9 -0
- package/validators/package.json +11 -0
- package/validators/phone-length.validator.d.ts +7 -0
- package/validators/public-api.d.ts +5 -0
- package/validators/tax-id.validator.d.ts +11 -0
- package/validators/theseam-ui-common-validators.d.ts +4 -0
- package/validators/theseam-ui-common-validators.metadata.json +1 -0
- package/viewers/package.json +11 -0
- package/viewers/pdf-viewer/index.d.ts +3 -0
- package/viewers/pdf-viewer/pdf-page/pdf-page.component.d.ts +39 -0
- package/viewers/pdf-viewer/pdf-renderer.service.d.ts +6 -0
- package/viewers/pdf-viewer/pdf-viewer.component.d.ts +59 -0
- package/viewers/pdf-viewer/pdf-viewer.module.d.ts +2 -0
- package/viewers/public-api.d.ts +1 -0
- package/viewers/theseam-ui-common-viewers.d.ts +4 -0
- package/viewers/theseam-ui-common-viewers.metadata.json +1 -0
- package/widget/_widget-theme.scss +15 -0
- package/widget/directives/widget-drag-handle.directive.d.ts +53 -0
- package/widget/directives/widget-icon-tpl.directive.d.ts +5 -0
- package/widget/directives/widget-title-tpl.directive.d.ts +5 -0
- package/widget/package.json +11 -0
- package/widget/public-api.d.ts +37 -0
- package/widget/styles/_utilities.scss +3 -0
- package/widget/styles/_variables.scss +27 -0
- package/widget/theseam-ui-common-widget.d.ts +4 -0
- package/widget/theseam-ui-common-widget.metadata.json +1 -0
- package/widget/widget/widget.component.d.ts +78 -0
- package/widget/widget/widget.component.scss +107 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.component.scss +3 -0
- package/widget/widget-content-components/widget-button-group/widget-button-group.module.d.ts +2 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.component.d.ts +5 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.component.scss +6 -0
- package/widget/widget-content-components/widget-content-header/widget-content-header.module.d.ts +2 -0
- package/widget/widget-content-components/widget-description/widget-description.component.d.ts +2 -0
- package/widget/widget-content-components/widget-description/widget-description.component.scss +0 -0
- package/widget/widget-content-components/widget-description/widget-description.module.d.ts +2 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.d.ts +15 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.component.scss +9 -0
- package/widget/widget-content-components/widget-empty-label/widget-empty-label.module.d.ts +2 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.d.ts +5 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.component.scss +8 -0
- package/widget/widget-content-components/widget-footer-link/widget-footer-link.module.d.ts +2 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.d.ts +5 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.component.scss +7 -0
- package/widget/widget-content-components/widget-footer-text/widget-footer-text.module.d.ts +2 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.d.ts +12 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.component.scss +5 -0
- package/widget/widget-content-components/widget-header-badge/widget-header-badge.module.d.ts +2 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.d.ts +5 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.d.ts +57 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.scss +0 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.component.scss +0 -0
- package/widget/widget-content-components/widget-list-group/widget-list-group.module.d.ts +2 -0
- package/widget/widget-content-components/widget-table/widget-table.component.d.ts +14 -0
- package/widget/widget-content-components/widget-table/widget-table.component.scss +0 -0
- package/widget/widget-content-components/widget-table/widget-table.module.d.ts +2 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.scss +0 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.d.ts +15 -0
- package/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.scss +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.scss +14 -0
- package/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.d.ts +5 -0
- package/widget/widget-content-components/widget-tile/widget-tile.component.d.ts +44 -0
- package/widget/widget-content-components/widget-tile/widget-tile.component.scss +70 -0
- package/widget/widget-content-components/widget-tile/widget-tile.module.d.ts +2 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.d.ts +5 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.component.scss +6 -0
- package/widget/widget-content-components/widget-tile-list/widget-tile-list.module.d.ts +2 -0
- package/widget/widget-footer/widget-footer.component.d.ts +5 -0
- package/widget/widget-footer/widget-footer.component.scss +16 -0
- package/widget/widget-registry.models.d.ts +20 -0
- package/widget/widget-registry.service.d.ts +16 -0
- package/widget/widget-token.d.ts +3 -0
- package/widget/widget.module.d.ts +2 -0
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZGVmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLWRlZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBUYWJsZUNvbHVtblByb3AgfSBmcm9tICdAbWFya2xiL25neC1kYXRhdGFibGUnXG5cbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4sIFRoZVNlYW1EYXRhdGFibGVSb3cgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YXRhYmxlJ1xuXG5pbXBvcnQgeyBEeW5hbWljVmFsdWUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYydcbmltcG9ydCB7IFRoZW1lVHlwZXMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vbW9kZWxzJ1xuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZU5hbWUsIFRoZVNlYW1UYWJsZUNvbHVtbiB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5pbXBvcnQgeyBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbidcblxuZXhwb3J0IHR5cGUgRHluYW1pY0RhdGF0YWJsZUNvbHVtbjxUIGV4dGVuZHMgVGFibGVDZWxsVHlwZU5hbWUgPSBhbnksIEMgZXh0ZW5kcyBUYWJsZUNlbGxUeXBlQ29uZmlnPFQ+ID0gYW55PiA9XG4gIFRoZVNlYW1EYXRhdGFibGVDb2x1bW48VCwgQz4gfCBUaGVTZWFtVGFibGVDb2x1bW48VCwgQz5cblxuLy8gZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlQ29sdW1uPFQgZXh0ZW5kcyBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGUsIEMgZXh0ZW5kcyBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWc8VD4+IHtcbi8vICAgLyoqXG4vLyAgICAqIERlZmF1bHQ6ICdzdHJpbmcnXG4vLyAgICAqL1xuLy8gICBjZWxsVHlwZT86IFRcbi8vICAgLyoqXG4vLyAgICAqIENvbmZpZyBwYXNzZWQgdG8gdGhlIGNlbGwgdHlwZSBjb21wb25lbnQuXG4vLyAgICAqL1xuLy8gICBjZWxsVHlwZUNvbmZpZz86IENcbi8vICAgLyoqXG4vLyAgICAqIFN0cmluZyB0byBkaXNwbGF5IGlmIHRoZSBleHBvcnRlciB1c2VzIGEgaGVhZGVyLlxuLy8gICAgKi9cbi8vICAgZXhwb3J0SGVhZGVyPzogc3RyaW5nXG4vLyAgIC8qKlxuLy8gICAgKiBFeHByZXNzaW9uIHRvIGNhbGN1bGF0ZSBleHBvcnQgdmFsdWUuXG4vLyAgICAqIFRPRE86IEltcGxlbWVudC4gSmV4bCBpcyBtb3N0IGxpa2VseSBnb2luZyB0byBiZSB1c2VkLlxuLy8gICAgKiBAZGVwcmVjYXRlZFxuLy8gICAgKi9cbi8vICAgZXhwb3J0RXhwcj86IHN0cmluZ1xuLy8gICAvKipcbi8vICAgICogVmFsdWUgb3IgRHluYW1pY1ZhbHVlIG9iamVjdCB0byBjYWxjdWxhdGUgZXhwb3J0IHZhbHVlLlxuLy8gICAgKiBUT0RPOiBJbXBsZW1lbnQuXG4vLyAgICAqL1xuLy8gICBleHBvcnRWYWx1ZT86IER5bmFtaWNWYWx1ZTxzdHJpbmc+XG5cbi8vICAgLyoqXG4vLyAgICAqIERldGVybWluZXMgaWYgY29sdW1uIGlzIGNoZWNrYm94XG4vLyAgICAqL1xuLy8gICBjaGVja2JveGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBEZXRlcm1pbmVzIGlmIHRoZSBjb2x1bW4gaXMgZnJvemVuIHRvIHRoZSBsZWZ0XG4vLyAgICAqL1xuLy8gICBmcm96ZW5MZWZ0PzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogRGV0ZXJtaW5lcyBpZiB0aGUgY29sdW1uIGlzIGZyb3plbiB0byB0aGUgcmlnaHRcbi8vICAgICovXG4vLyAgIGZyb3plblJpZ2h0PzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogVGhlIGdyb3cgZmFjdG9yIHJlbGF0aXZlIHRvIG90aGVyIGNvbHVtbnMuIFNhbWUgYXMgdGhlIGZsZXgtZ3Jvd1xuLy8gICAgKiBBUEkgZnJvbSBodHRwID0vL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94Ly4gQmFzaWNhbGx5O1xuLy8gICAgKiB0YWtlIGFueSBhdmFpbGFibGUgZXh0cmEgd2lkdGggYW5kIGRpc3RyaWJ1dGUgaXQgcHJvcG9ydGlvbmFsbHlcbi8vICAgICogYWNjb3JkaW5nIHRvIGFsbCBjb2x1bW5zJyBmbGV4R3JvdyB2YWx1ZXMuXG4vLyAgICAqL1xuLy8gICBmbGV4R3Jvdz86IG51bWJlclxuLy8gICAvKipcbi8vICAgICogTWluIHdpZHRoIG9mIHRoZSBjb2x1bW5cbi8vICAgICovXG4vLyAgIG1pbldpZHRoPzogbnVtYmVyXG4vLyAgIC8qKlxuLy8gICAgKiBNYXggd2lkdGggb2YgdGhlIGNvbHVtblxuLy8gICAgKi9cbi8vICAgbWF4V2lkdGg/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIFRoZSBkZWZhdWx0IHdpZHRoIG9mIHRoZSBjb2x1bW4sIGluIHBpeGVsc1xuLy8gICAgKi9cbi8vICAgd2lkdGg/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIENhbiB0aGUgY29sdW1uIGJlIHJlc2l6ZWRcbi8vICAgICovXG4vLyAgIHJlc2l6ZWFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDdXN0b20gc29ydCBjb21wYXJhdG9yXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGNvbXBhcmF0b3I/OiBhbnlcbi8vICAgLyoqXG4vLyAgICAqIEN1c3RvbSBwaXBlIHRyYW5zZm9ybXNcbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgcGlwZT86IFBpcGVUcmFuc2Zvcm1cbi8vICAgLyoqXG4vLyAgICAqIENhbiB0aGUgY29sdW1uIGJlIHNvcnRlZFxuLy8gICAgKi9cbi8vICAgc29ydGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDYW4gdGhlIGNvbHVtbiBiZSByZS1hcnJhbmdlZCBieSBkcmFnZ2luZ1xuLy8gICAgKi9cbi8vICAgZHJhZ2dhYmxlPzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogV2hldGhlciB0aGUgY29sdW1uIGNhbiBhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0byBmaWxsIHNwYWNlIGluIHRoZSB0YWJsZS5cbi8vICAgICovXG4vLyAgIGNhbkF1dG9SZXNpemU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBDb2x1bW4gbmFtZSBvciBsYWJlbFxuLy8gICAgKi9cbi8vICAgbmFtZT86IHN0cmluZ1xuLy8gICAvKipcbi8vICAgICogUHJvcGVydHkgdG8gYmluZCB0byB0aGUgcm93LiBFeGFtcGxlOlxuLy8gICAgKlxuLy8gICAgKiBgc29tZUZpZWxkYCBvciBgc29tZS5maWVsZC5uZXN0ZWRgLCAwIChudW1lcmljKVxuLy8gICAgKlxuLy8gICAgKiBJZiBsZWZ0IGJsYW5rLCB3aWxsIHVzZSB0aGUgbmFtZSBhcyBjYW1lbCBjYXNlIGNvbnZlcnNpb25cbi8vICAgICovXG4vLyAgIHByb3A/OiBUYWJsZUNvbHVtblByb3Bcbi8vICAgLyoqXG4vLyAgICAqIENlbGwgdGVtcGxhdGUgcmVmXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGNlbGxUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogSGVhZGVyIHRlbXBsYXRlIHJlZlxuLy8gICAgKlxuLy8gICAgKiBOT1RFOiBOb3Qgc3VwcG9ydGVkIGluIEpTT04gZm9ybWF0XG4vLyAgICAqL1xuLy8gICBoZWFkZXJUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogVHJlZSB0b2dnbGUgdGVtcGxhdGUgcmVmXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IE5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIHRyZWVUb2dnbGVUZW1wbGF0ZT86IGFueVxuLy8gICAvKipcbi8vICAgICogQ1NTIENsYXNzZXMgZm9yIHRoZSBjZWxsXG4vLyAgICAqXG4vLyAgICAqIE5PVEU6IGBGdW5jdGlvbmAgdHlwZSBub3Qgc3VwcG9ydGVkIGluIEpTT04gZm9ybWF0XG4vLyAgICAqL1xuLy8gICBjZWxsQ2xhc3M/OiBzdHJpbmcgfCAoKGRhdGE6IGFueSkgPT4gc3RyaW5nIHwgYW55KVxuLy8gICAvKipcbi8vICAgICogQ1NTIGNsYXNzZXMgZm9yIHRoZSBoZWFkZXJcbi8vICAgICpcbi8vICAgICpcbi8vICAgICogTk9URTogYEZ1bmN0aW9uYCB0eXBlIG5vdCBzdXBwb3J0ZWQgaW4gSlNPTiBmb3JtYXRcbi8vICAgICovXG4vLyAgIGhlYWRlckNsYXNzPzogc3RyaW5nIHwgKChkYXRhOiBhbnkpID0+IHN0cmluZyB8IGFueSlcbi8vICAgLyoqXG4vLyAgICAqIEhlYWRlciBjaGVja2JveCBlbmFibGVkXG4vLyAgICAqL1xuLy8gICBoZWFkZXJDaGVja2JveGFibGU/OiBib29sZWFuXG4vLyAgIC8qKlxuLy8gICAgKiBJcyB0cmVlIGRpc3BsYXllZCBvbiB0aGlzIGNvbHVtblxuLy8gICAgKi9cbi8vICAgaXNUcmVlQ29sdW1uPzogYm9vbGVhblxuLy8gICAvKipcbi8vICAgICogV2lkdGggb2YgdGhlIHRyZWUgbGV2ZWwgaW5kZW50XG4vLyAgICAqL1xuLy8gICB0cmVlTGV2ZWxJbmRlbnQ/OiBudW1iZXJcbi8vICAgLyoqXG4vLyAgICAqIFN1bW1hcnkgZnVuY3Rpb25cbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgc3VtbWFyeUZ1bmM/OiAoY2VsbHM6IGFueVtdKSA9PiBhbnlcbi8vICAgLyoqXG4vLyAgICAqIFN1bW1hcnkgY2VsbCB0ZW1wbGF0ZSByZWZcbi8vICAgICpcbi8vICAgICogTk9URTogTm90IHN1cHBvcnRlZCBpbiBKU09OIGZvcm1hdFxuLy8gICAgKi9cbi8vICAgc3VtbWFyeVRlbXBsYXRlPzogYW55XG4vLyB9XG5cbi8vIC8vIGV4cG9ydCB0eXBlIER5bmFtaWNEYXRhdGFibGVDb2x1bW5UeXBlID1cbi8vIC8vICAgRHluYW1pY0RhdGF0YWJsZUNvbHVtbjwnc3RyaW5nJywgRHluYW1pY0RhdGF0YWJsZUNlbGxUeXBlQ29uZmlnU3RyaW5nPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2ludGVnZXInLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdJbnRlZ2VyPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2RlY2ltYWwnLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdEZWNpbWFsPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2RhdGUnLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdEYXRlPiB8XG4vLyAvLyAgIER5bmFtaWNEYXRhdGFibGVDb2x1bW48J2ljb24nLCBEeW5hbWljRGF0YXRhYmxlQ2VsbFR5cGVDb25maWdJY29uPlxuXG5leHBvcnQgdHlwZSBEeW5hbWljRGF0YXRhYmxlUm93ID0gVGhlU2VhbURhdGF0YWJsZVJvd1xuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNEYXRhdGFibGVGaWx0ZXJNZW51SXRlbURlZjxPID0gYW55PiB7XG5cbiAgLyoqICovXG4gIG5hbWU6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBUT0RPOiBSZWZhY3RvciBmaWx0ZXIgbWVudSBpdGVtcyB0byB1c2UgbG9jYXRpb25zIGluc3RlYWQgb2YgdHJ5aW5nIHRvXG4gICAqIG1haW50YWluIGEgbWl4IG9mIGdlbmVyaWMgYW5kIHNwZWNpZmljIHR5cGVzLlxuICAgKlxuICAgKiBEZWZhdWx0OiAnY29tbW9uJ1xuICAgKi9cbiAgdHlwZTogJ2NvbW1vbicgfCAnZnVsbC1zZWFyY2gnXG5cbiAgLyoqXG4gICAqIERlZmF1bHQ6IDBcbiAgICovXG4gIG9yZGVyPzogbnVtYmVyXG5cbiAgLyoqICovXG4gIG9wdGlvbnM/OiBPXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnUge1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0ICdkZWZhdWx0J1xuICAgKi9cbiAgc3RhdGU/OiAnaGlkZGVuJyB8ICdhbHdheXMtdmlzaWJsZScgfCAnZGVmYXVsdCdcblxuICAvKipcbiAgICpcbiAgICovXG4gIGZpbHRlcnM/OiBEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudUl0ZW1EZWZbXVxuXG4gIC8qKlxuICAgKlxuICAgKiBFeGFtcGxlOiBbICdleHBvcnRlcjpjc3YnLCAnZXhwb3J0ZXI6eGxzeCcgXVxuICAgKi9cbiAgZXhwb3J0ZXJzPzogc3RyaW5nW11cblxufVxuXG5leHBvcnQgdHlwZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW1UeXBlID0gJ2J1dHRvbicgfCAndGV4dCdcblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW08VCA9IER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbVR5cGU+IHtcbiAgdHlwZTogVFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbUJ1dHRvbiBleHRlbmRzIER5bmFtaWNEYXRhdGFibGVGb290ZXJNZW51SXRlbTwnYnV0dG9uJz4ge1xuICB0ZXh0OiBzdHJpbmdcbiAgdGhlbWU6IFRoZW1lVHlwZXNcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlRm9vdGVyTWVudUl0ZW1UZXh0IGV4dGVuZHMgRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVJdGVtPCd0ZXh0Jz4ge1xuICB0ZXh0OiBzdHJpbmdcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEeW5hbWljRGF0YXRhYmxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKi9cbiAgdmlydHVhbGl6YXRpb24/OiBib29sZWFuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnUge1xuICAvKipcbiAgICogRGVmYXVsdCAnZGVmYXVsdCdcbiAgICovXG4gIHN0YXRlPzogJ2hpZGRlbicgfCAnYWx3YXlzLXZpc2libGUnIHwgJ2RlZmF1bHQnXG4gIGl0ZW1zPzogRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVJdGVtW11cbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYXRhdGFibGVEeW5hbWljRGVmIHtcbiAgcmVhZG9ubHkgbWVudUJhcj86IER5bmFtaWNEYXRhdGFibGVNZW51QmFyXG4gIHJlYWRvbmx5IGZpbHRlck1lbnU/OiBEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudVxuICByZWFkb25seSBjb2x1bW5zOiBEeW5hbWljRGF0YXRhYmxlQ29sdW1uPFRhYmxlQ2VsbFR5cGVOYW1lLCBUYWJsZUNlbGxUeXBlQ29uZmlnPFRhYmxlQ2VsbFR5cGVOYW1lPj5bXVxuICByZWFkb25seSByb3dzOiBEeW5hbWljRGF0YXRhYmxlUm93W11cbiAgcmVhZG9ubHkgcm93QWN0aW9ucz86IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25bXVxuICAvLyBmb290ZXJNZW51PzogRHluYW1pY0RhdGF0YWJsZUZvb3Rlck1lbnVcbiAgcmVhZG9ubHkgb3B0aW9ucz86IER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59XG4iXX0=
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, Injector, Input } from '@angular/core';
|
|
3
|
+
import { THESEAM_DATA_FILTER_OPTIONS } from '@theseam/ui-common/data-filters';
|
|
4
|
+
export class DatatableDynamicFilterContainerComponent {
|
|
5
|
+
constructor(_injector) {
|
|
6
|
+
this._injector = _injector;
|
|
7
|
+
this._portal = null;
|
|
8
|
+
}
|
|
9
|
+
set filterComponent(value) {
|
|
10
|
+
this._filterComponent = value;
|
|
11
|
+
// if (this._filterComponent !== value) {
|
|
12
|
+
// this._setPortal(value)
|
|
13
|
+
// }
|
|
14
|
+
}
|
|
15
|
+
get filterComponent() { return this._filterComponent; }
|
|
16
|
+
ngOnInit() {
|
|
17
|
+
if (this.filterComponent) {
|
|
18
|
+
this._setPortal(this.filterComponent);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
_setPortal(component) {
|
|
22
|
+
if (this._portal) {
|
|
23
|
+
this._portal = null;
|
|
24
|
+
}
|
|
25
|
+
if (component) {
|
|
26
|
+
this._portal = new ComponentPortal(component, undefined, this._createInjector());
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
this._portal = null;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
_createInjector() {
|
|
33
|
+
return new PortalInjector(this._injector, new WeakMap([
|
|
34
|
+
[THESEAM_DATA_FILTER_OPTIONS, this.options]
|
|
35
|
+
]));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
DatatableDynamicFilterContainerComponent.decorators = [
|
|
39
|
+
{ type: Component, args: [{
|
|
40
|
+
selector: 'seam-datatable-dynamic-filter-container',
|
|
41
|
+
template: "<ng-template [cdkPortalOutlet]=\"_portal\"></ng-template>\n",
|
|
42
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
43
|
+
styles: [":host{display:block}"]
|
|
44
|
+
},] }
|
|
45
|
+
];
|
|
46
|
+
DatatableDynamicFilterContainerComponent.ctorParameters = () => [
|
|
47
|
+
{ type: Injector }
|
|
48
|
+
];
|
|
49
|
+
DatatableDynamicFilterContainerComponent.propDecorators = {
|
|
50
|
+
filterComponent: [{ type: Input }],
|
|
51
|
+
options: [{ type: Input }]
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBQ3JFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUUzRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQVM3RSxNQUFNLE9BQU8sd0NBQXdDO0lBZ0JuRCxZQUNVLFNBQW1CO1FBQW5CLGNBQVMsR0FBVCxTQUFTLENBQVU7UUFIN0IsWUFBTyxHQUE4QixJQUFJLENBQUE7SUFJckMsQ0FBQztJQWhCTCxJQUNJLGVBQWUsQ0FBQyxLQUEwQztRQUM1RCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsS0FBSyxDQUFBO1FBQzdCLHlDQUF5QztRQUN6QywyQkFBMkI7UUFDM0IsSUFBSTtJQUNOLENBQUM7SUFDRCxJQUFJLGVBQWUsS0FBSyxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQSxDQUFDLENBQUM7SUFXdEQsUUFBUTtRQUNOLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQTtTQUN0QztJQUNILENBQUM7SUFFTyxVQUFVLENBQUMsU0FBMkI7UUFDNUMsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO1FBRUQsSUFBSSxTQUFTLEVBQUU7WUFDYixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksZUFBZSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLENBQUE7U0FDakY7YUFBTTtZQUNMLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFBO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLGVBQWU7UUFDckIsT0FBTyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksT0FBTyxDQUFhO1lBQ2hFLENBQUUsMkJBQTJCLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBRTtTQUM5QyxDQUFDLENBQUMsQ0FBQTtJQUNMLENBQUM7OztZQWhERixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHlDQUF5QztnQkFDbkQsdUVBQWtFO2dCQUVsRSxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTs7YUFDaEQ7OztZQVY0QyxRQUFROzs7OEJBYWxELEtBQUs7c0JBVUwsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudFBvcnRhbCwgUG9ydGFsSW5qZWN0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5qZWN0b3IsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFfRklMVEVSX09QVElPTlMgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzJ1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21vZGVscydcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnc2VhbS1kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLWZpbHRlci1jb250YWluZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNGaWx0ZXJDb250YWluZXJDb21wb25lbnQ8Qz4gaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpXG4gIHNldCBmaWx0ZXJDb21wb25lbnQodmFsdWU6IENvbXBvbmVudFR5cGU8Qz4gfCB1bmRlZmluZWQgfCBudWxsKSB7XG4gICAgdGhpcy5fZmlsdGVyQ29tcG9uZW50ID0gdmFsdWVcbiAgICAvLyBpZiAodGhpcy5fZmlsdGVyQ29tcG9uZW50ICE9PSB2YWx1ZSkge1xuICAgIC8vICAgdGhpcy5fc2V0UG9ydGFsKHZhbHVlKVxuICAgIC8vIH1cbiAgfVxuICBnZXQgZmlsdGVyQ29tcG9uZW50KCkgeyByZXR1cm4gdGhpcy5fZmlsdGVyQ29tcG9uZW50IH1cbiAgcHJpdmF0ZSBfZmlsdGVyQ29tcG9uZW50OiBDb21wb25lbnRUeXBlPEM+IHwgdW5kZWZpbmVkIHwgbnVsbFxuXG4gIEBJbnB1dCgpIG9wdGlvbnM6IGFueVxuXG4gIF9wb3J0YWw6IENvbXBvbmVudFBvcnRhbDxDPiB8IG51bGwgPSBudWxsXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBfaW5qZWN0b3I6IEluamVjdG9yXG4gICkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgaWYgKHRoaXMuZmlsdGVyQ29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9zZXRQb3J0YWwodGhpcy5maWx0ZXJDb21wb25lbnQpXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfc2V0UG9ydGFsKGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTxDPikge1xuICAgIGlmICh0aGlzLl9wb3J0YWwpIHtcbiAgICAgIHRoaXMuX3BvcnRhbCA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAoY29tcG9uZW50KSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBuZXcgQ29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgdW5kZWZpbmVkLCB0aGlzLl9jcmVhdGVJbmplY3RvcigpKVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLl9wb3J0YWwgPSBudWxsXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSW5qZWN0b3IoKTogUG9ydGFsSW5qZWN0b3Ige1xuICAgIHJldHVybiBuZXcgUG9ydGFsSW5qZWN0b3IodGhpcy5faW5qZWN0b3IsIG5ldyBXZWFrTWFwIDxhbnksIGFueT4gKFtcbiAgICAgIFsgVEhFU0VBTV9EQVRBX0ZJTFRFUl9PUFRJT05TLCB0aGlzLm9wdGlvbnMgXVxuICAgIF0pKVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
import { __awaiter } from "tslib";
|
|
2
|
+
import { ComponentPortal, PortalInjector } from '@angular/cdk/portal';
|
|
3
|
+
import { ChangeDetectionStrategy, Component, Inject, Injector, Input, Optional } from '@angular/core';
|
|
4
|
+
import { BehaviorSubject } from 'rxjs';
|
|
5
|
+
import { map, switchMap } from 'rxjs/operators';
|
|
6
|
+
import { DynamicValueHelperService } from '@theseam/ui-common/dynamic';
|
|
7
|
+
import { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader';
|
|
8
|
+
import { hasProperty } from '@theseam/ui-common/utils';
|
|
9
|
+
import { THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM } from '../datatable-dynamic-menu-bar-token';
|
|
10
|
+
export class DatatableDynamicMenuBarContentComponent {
|
|
11
|
+
constructor(_valueHelper, _dynamicComponentLoader, _injector, _menuBarItemManifests) {
|
|
12
|
+
this._valueHelper = _valueHelper;
|
|
13
|
+
this._dynamicComponentLoader = _dynamicComponentLoader;
|
|
14
|
+
this._injector = _injector;
|
|
15
|
+
this._menuBarItemManifests = _menuBarItemManifests;
|
|
16
|
+
this._def = new BehaviorSubject(undefined);
|
|
17
|
+
this.def$ = this._def.asObservable();
|
|
18
|
+
// .pipe(tap(v => console.log('def$', v)))
|
|
19
|
+
this._rows$ = this.def$.pipe(switchMap(def => this._mapRows(def && def.rows || [])));
|
|
20
|
+
// .pipe(tap(v => console.log('_rows$', v)))
|
|
21
|
+
}
|
|
22
|
+
set def(value) { this._def.next(value); }
|
|
23
|
+
get def() { return this._def.value; }
|
|
24
|
+
ngOnInit() { }
|
|
25
|
+
_mapRows(rows) {
|
|
26
|
+
return Promise.all(rows.map(r => this._mapRow(r)));
|
|
27
|
+
}
|
|
28
|
+
_mapRow(row) {
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
const result = {};
|
|
31
|
+
const context = this._createRowContext(row);
|
|
32
|
+
if (hasProperty(row, 'styles')) {
|
|
33
|
+
result.styles = yield this._valueHelper.eval(row.styles, context);
|
|
34
|
+
}
|
|
35
|
+
if (hasProperty(row, 'cssClass')) {
|
|
36
|
+
result.cssClass = yield this._valueHelper.eval(row.cssClass, context);
|
|
37
|
+
}
|
|
38
|
+
if (hasProperty(row, 'priority')) {
|
|
39
|
+
result.priority = yield this._valueHelper.eval(row.priority, context);
|
|
40
|
+
}
|
|
41
|
+
result.layoutType = row.layout.type;
|
|
42
|
+
result.layout = yield this._mapRowLayout(row.layout, row);
|
|
43
|
+
return result;
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
_mapRowLayout(layout, row) {
|
|
47
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
48
|
+
const result = {};
|
|
49
|
+
if (hasProperty(layout, 'columnLeft')) {
|
|
50
|
+
result.columnLeft = yield this._mapColumn(layout.columnLeft, row);
|
|
51
|
+
}
|
|
52
|
+
if (hasProperty(layout, 'columnCenter')) {
|
|
53
|
+
result.columnCenter = yield this._mapColumn(layout.columnCenter, row);
|
|
54
|
+
}
|
|
55
|
+
if (hasProperty(layout, 'columnRight')) {
|
|
56
|
+
result.columnRight = yield this._mapColumn(layout.columnRight, row);
|
|
57
|
+
}
|
|
58
|
+
return result;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
_mapColumn(column, row) {
|
|
62
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
+
const result = {};
|
|
64
|
+
const context = this._createColumnContext(column, row);
|
|
65
|
+
if (hasProperty(column, 'styles')) {
|
|
66
|
+
result.styles = yield this._valueHelper.eval(column.styles, context);
|
|
67
|
+
}
|
|
68
|
+
if (hasProperty(column, 'cssClass')) {
|
|
69
|
+
result.cssClass = yield this._valueHelper.eval(column.cssClass, context);
|
|
70
|
+
}
|
|
71
|
+
result.items = yield Promise.all(column.items.map(v => this._mapItem(v, row, column)));
|
|
72
|
+
return result;
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
_mapItem(item, row, column) {
|
|
76
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
77
|
+
const result = {};
|
|
78
|
+
const context = this._createItemContext(item, row, column);
|
|
79
|
+
// if (hasProperty(item, 'styles')) {
|
|
80
|
+
// result.styles = await this._valueHelper.eval(item.styles, context)
|
|
81
|
+
// }
|
|
82
|
+
// if (hasProperty(item, 'cssClass')) {
|
|
83
|
+
// result.cssClass = await this._valueHelper.eval(item.cssClass, context)
|
|
84
|
+
// }
|
|
85
|
+
if (hasProperty(item, 'component')) {
|
|
86
|
+
// result.component = await this._valueHelper.eval(item.component, context)
|
|
87
|
+
const component = yield this._valueHelper.eval(item.component, context);
|
|
88
|
+
let data;
|
|
89
|
+
if (hasProperty(item, 'data')) {
|
|
90
|
+
// result.data = await this._valueHelper.eval(item.data, context)
|
|
91
|
+
// console.log('%cdata', 'color:cyan', item.data)
|
|
92
|
+
data = yield this._valueHelper.eval(item.data, context);
|
|
93
|
+
// console.log('%cdata', 'color:limegreen', data)
|
|
94
|
+
}
|
|
95
|
+
result.portal = yield this._getComponentPortal(component, data);
|
|
96
|
+
}
|
|
97
|
+
return result;
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
_createRowContext(row) {
|
|
101
|
+
return {
|
|
102
|
+
row
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
_createColumnContext(column, row) {
|
|
106
|
+
return {
|
|
107
|
+
row,
|
|
108
|
+
column
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
_createItemContext(item, row, column) {
|
|
112
|
+
return {
|
|
113
|
+
item,
|
|
114
|
+
row,
|
|
115
|
+
column
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
_getComponentPortal(component, data) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const manifest = (this._menuBarItemManifests || []).find(m => m.name === component);
|
|
121
|
+
if (!manifest) {
|
|
122
|
+
// TODO: Make sure the component is skipped instead of erroring outside of dev mode.
|
|
123
|
+
throw Error(`MenuBar manifest for '${component}' not found.`);
|
|
124
|
+
}
|
|
125
|
+
// TODO: Create a new injector with the data injected
|
|
126
|
+
let injector = this._injector;
|
|
127
|
+
if (manifest.dataToken) {
|
|
128
|
+
injector = new PortalInjector(this._injector, new WeakMap([
|
|
129
|
+
[manifest.dataToken, data]
|
|
130
|
+
]));
|
|
131
|
+
}
|
|
132
|
+
if (typeof manifest.component === 'string') {
|
|
133
|
+
this._dynamicComponentLoader.getComponentFactory(manifest.component).pipe(map(componentFactory => {
|
|
134
|
+
return new ComponentPortal(componentFactory.componentType, null, injector, componentFactory.ngModule.componentFactoryResolver);
|
|
135
|
+
})).toPromise();
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
return new ComponentPortal(manifest.component, null, injector, null);
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
DatatableDynamicMenuBarContentComponent.decorators = [
|
|
144
|
+
{ type: Component, args: [{
|
|
145
|
+
selector: 'seam-datatable-dynamic-menu-bar-content',
|
|
146
|
+
template: "<seam-datatable-menu-bar-row *ngFor=\"let row of _rows$ | async; last as isLast\"\n [class.mb-2]=\"!isLast\"\n [ngClass]=\"$any(row.cssClass)\"\n [ngStyle]=\"$any(row.styles)\">\n <ng-container *ngIf=\"row.layoutType === 'tri-column'\">\n <seam-datatable-menu-bar-column-left *ngIf=\"row.layout?.columnLeft\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnLeft?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnLeft?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-left>\n <seam-datatable-menu-bar-column-center *ngIf=\"row.layout?.columnCenter\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnCenter?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnCenter?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-center>\n <seam-datatable-menu-bar-column-right *ngIf=\"row.layout?.columnRight\"\n [ngClass]=\"$any(row.layout).cssClass\"\n [ngStyle]=\"$any(row.layout).styles\">\n <ng-container *ngIf=\"row.layout?.columnRight?.items\">\n <ng-container *ngFor=\"let item of row.layout?.columnRight?.items\">\n <ng-template [cdkPortalOutlet]=\"item.portal\"></ng-template>\n </ng-container>\n </ng-container>\n </seam-datatable-menu-bar-column-right>\n </ng-container>\n</seam-datatable-menu-bar-row>\n",
|
|
147
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
148
|
+
styles: [""]
|
|
149
|
+
},] }
|
|
150
|
+
];
|
|
151
|
+
DatatableDynamicMenuBarContentComponent.ctorParameters = () => [
|
|
152
|
+
{ type: DynamicValueHelperService },
|
|
153
|
+
{ type: TheSeamDynamicComponentLoader },
|
|
154
|
+
{ type: Injector },
|
|
155
|
+
{ type: Array, decorators: [{ type: Optional }, { type: Inject, args: [THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM,] }] }
|
|
156
|
+
];
|
|
157
|
+
DatatableDynamicMenuBarContentComponent.propDecorators = {
|
|
158
|
+
def: [{ type: Input }]
|
|
159
|
+
};
|
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQTtBQUNyRSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFVLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUM3RyxPQUFPLEVBQUUsZUFBZSxFQUFjLE1BQU0sTUFBTSxDQUFBO0FBQ2xELE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFL0MsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sNEJBQTRCLENBQUE7QUFDdEUsT0FBTyxFQUFFLDZCQUE2QixFQUFFLE1BQU0sNkNBQTZDLENBQUE7QUFDM0YsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBR3RELE9BQU8sRUFBRSxzQ0FBc0MsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBMEQ1RixNQUFNLE9BQU8sdUNBQXVDO0lBWWxELFlBQ21CLFlBQXVDLEVBQ3ZDLHVCQUFzRCxFQUN0RCxTQUFtQixFQUVuQixxQkFBOEQ7UUFKOUQsaUJBQVksR0FBWixZQUFZLENBQTJCO1FBQ3ZDLDRCQUF1QixHQUF2Qix1QkFBdUIsQ0FBK0I7UUFDdEQsY0FBUyxHQUFULFNBQVMsQ0FBVTtRQUVuQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQXlDO1FBZmhFLFNBQUksR0FBRyxJQUFJLGVBQWUs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TSxTQUFDLHNDQUFzQzs7O2tCQVozRCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50UG9ydGFsLCBQb3J0YWxJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUgfSBmcm9tICdyeGpzJ1xuaW1wb3J0IHsgbWFwLCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycydcblxuaW1wb3J0IHsgRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9keW5hbWljJ1xuaW1wb3J0IHsgVGhlU2VhbUR5bmFtaWNDb21wb25lbnRMb2FkZXIgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZHluYW1pYy1jb21wb25lbnQtbG9hZGVyJ1xuaW1wb3J0IHsgaGFzUHJvcGVydHkgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdCB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLWl0ZW0tbWFuaWZlc3QnXG5pbXBvcnQgeyBUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSB9IGZyb20gJy4uL2RhdGF0YWJsZS1keW5hbWljLW1lbnUtYmFyLXRva2VuJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0RhdGF0YWJsZU1lbnVCYXIsXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uLFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gIER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93LFxuICBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd0xheW91dFRyaUNvbHVtblxufSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0ge1xuICAvLyBzdHlsZXM/OiBzdHJpbmcgfCBzdHJpbmdbXVxuICAvLyBjc3NDbGFzcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIHBvcnRhbD86IENvbXBvbmVudFBvcnRhbDx7fT5cbiAgLy8gY29tcG9uZW50Pzogc3RyaW5nIHwgQ29tcG9uZW50VHlwZTx7fT5cbiAgLy8gY29uZmlnPzogYW55XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgaXRlbXM/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbVtdXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0xheW91dFRyaUNvbHVtbiB7XG4gIGNvbHVtbkxlZnQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG4gIGNvbHVtbkNlbnRlcj86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5cbiAgY29sdW1uUmlnaHQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Q29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvdyB7XG4gIHN0eWxlcz86IHN0cmluZyB8IHN0cmluZ1tdXG4gIGNzc0NsYXNzPzogc3RyaW5nIHwgc3RyaW5nW11cbiAgcHJpb3JpdHk/OiBudW1iZXJcbiAgbGF5b3V0VHlwZT86IHN0cmluZ1xuICBsYXlvdXQ/OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd0NvbnRleHQge1xuICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbkNvbnRleHQge1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW1cbiAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvd1xuICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NlYW0tZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudCcsXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2RlZiA9IG5ldyBCZWhhdmlvclN1YmplY3Q8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+KHVuZGVmaW5lZClcblxuICBASW5wdXQoKVxuICBzZXQgZGVmKHZhbHVlOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhciB8IHVuZGVmaW5lZCkgeyB0aGlzLl9kZWYubmV4dCh2YWx1ZSkgfVxuICBnZXQgZGVmKCk6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX2RlZi52YWx1ZSB9XG5cbiAgcHVibGljIHJlYWRvbmx5IGRlZiQ6IE9ic2VydmFibGU8RHluYW1pY0RhdGF0YWJsZU1lbnVCYXIgfCB1bmRlZmluZWQ+XG5cbiAgcmVhZG9ubHkgX3Jvd3MkOiBPYnNlcnZhYmxlPElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRSb3dbXT5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHJlYWRvbmx5IF92YWx1ZUhlbHBlcjogRHluYW1pY1ZhbHVlSGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9keW5hbWljQ29tcG9uZW50TG9hZGVyOiBUaGVTZWFtRHluYW1pY0NvbXBvbmVudExvYWRlcixcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvcjogSW5qZWN0b3IsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChUSEVTRUFNX0RBVEFUQUJMRV9EWU5BTUlDX01FTlVCQVJfSVRFTSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9tZW51QmFySXRlbU1hbmlmZXN0cz86IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdFtdXG4gICkge1xuICAgIHRoaXMuZGVmJCA9IHRoaXMuX2RlZi5hc09ic2VydmFibGUoKVxuICAgICAgLy8gLnBpcGUodGFwKHYgPT4gY29uc29sZS5sb2coJ2RlZiQnLCB2KSkpXG5cbiAgICB0aGlzLl9yb3dzJCA9IHRoaXMuZGVmJC5waXBlKHN3aXRjaE1hcChkZWYgPT4gdGhpcy5fbWFwUm93cyhkZWYgJiYgZGVmLnJvd3MgfHwgW10pKSlcbiAgICAgIC8vIC5waXBlKHRhcCh2ID0+IGNvbnNvbGUubG9nKCdfcm93cyQnLCB2KSkpXG4gIH1cblxuICBuZ09uSW5pdCgpIHsgfVxuXG4gIHByaXZhdGUgX21hcFJvd3Mocm93czogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dbXSk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudFJvd1tdPiB7XG4gICAgcmV0dXJuIFByb21pc2UuYWxsKHJvd3MubWFwKHIgPT4gdGhpcy5fbWFwUm93KHIpKSlcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvdyhyb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93KTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93PiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93ID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZVJvd0NvbnRleHQocm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KHJvdywgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cuc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShyb3csICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKHJvdy5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkocm93LCAncHJpb3JpdHknKSkge1xuICAgICAgcmVzdWx0LnByaW9yaXR5ID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChyb3cucHJpb3JpdHksIGNvbnRleHQpXG4gICAgfVxuXG4gICAgcmVzdWx0LmxheW91dFR5cGUgPSByb3cubGF5b3V0LnR5cGVcbiAgICByZXN1bHQubGF5b3V0ID0gYXdhaXQgdGhpcy5fbWFwUm93TGF5b3V0KHJvdy5sYXlvdXQsIHJvdylcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX21hcFJvd0xheW91dChcbiAgICBsYXlvdXQ6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93TGF5b3V0VHJpQ29sdW1uLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3dcbiAgKTogUHJvbWlzZTxJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uPiB7XG4gICAgY29uc3QgcmVzdWx0OiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93TGF5b3V0VHJpQ29sdW1uID0geyB9XG5cbiAgICBpZiAoaGFzUHJvcGVydHkobGF5b3V0LCAnY29sdW1uTGVmdCcpKSB7XG4gICAgICByZXN1bHQuY29sdW1uTGVmdCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uTGVmdCwgcm93KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShsYXlvdXQsICdjb2x1bW5DZW50ZXInKSkge1xuICAgICAgcmVzdWx0LmNvbHVtbkNlbnRlciA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uQ2VudGVyLCByb3cpXG4gICAgfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGxheW91dCwgJ2NvbHVtblJpZ2h0JykpIHtcbiAgICAgIHJlc3VsdC5jb2x1bW5SaWdodCA9IGF3YWl0IHRoaXMuX21hcENvbHVtbihsYXlvdXQuY29sdW1uUmlnaHQsIHJvdylcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9tYXBDb2x1bW4oXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbj4ge1xuICAgIGNvbnN0IHJlc3VsdDogSURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbHVtbiA9IHsgfVxuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9jcmVhdGVDb2x1bW5Db250ZXh0KGNvbHVtbiwgcm93KVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGNvbHVtbiwgJ3N0eWxlcycpKSB7XG4gICAgICByZXN1bHQuc3R5bGVzID0gYXdhaXQgdGhpcy5fdmFsdWVIZWxwZXIuZXZhbChjb2x1bW4uc3R5bGVzLCBjb250ZXh0KVxuICAgIH1cblxuICAgIGlmIChoYXNQcm9wZXJ0eShjb2x1bW4sICdjc3NDbGFzcycpKSB7XG4gICAgICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGNvbHVtbi5jc3NDbGFzcywgY29udGV4dClcbiAgICB9XG5cbiAgICByZXN1bHQuaXRlbXMgPSBhd2FpdCBQcm9taXNlLmFsbChjb2x1bW4uaXRlbXMubWFwKHYgPT4gdGhpcy5fbWFwSXRlbSh2LCByb3csIGNvbHVtbikpKVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfbWFwSXRlbShcbiAgICBpdGVtOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckl0ZW0sXG4gICAgcm93OiBEeW5hbWljRGF0YXRhYmxlTWVudUJhclJvdyxcbiAgICBjb2x1bW46IER5bmFtaWNEYXRhdGFibGVNZW51QmFyQ29sdW1uXG4gICk6IFByb21pc2U8SURhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudEl0ZW0+IHtcbiAgICBjb25zdCByZXN1bHQ6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRJdGVtID0geyB9XG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMuX2NyZWF0ZUl0ZW1Db250ZXh0KGl0ZW0sIHJvdywgY29sdW1uKVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdzdHlsZXMnKSkge1xuICAgIC8vICAgcmVzdWx0LnN0eWxlcyA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5zdHlsZXMsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgLy8gaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjc3NDbGFzcycpKSB7XG4gICAgLy8gICByZXN1bHQuY3NzQ2xhc3MgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY3NzQ2xhc3MsIGNvbnRleHQpXG4gICAgLy8gfVxuXG4gICAgaWYgKGhhc1Byb3BlcnR5KGl0ZW0sICdjb21wb25lbnQnKSkge1xuICAgICAgLy8gcmVzdWx0LmNvbXBvbmVudCA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5jb21wb25lbnQsIGNvbnRleHQpXG4gICAgICBjb25zdCBjb21wb25lbnQgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uY29tcG9uZW50LCBjb250ZXh0KVxuXG4gICAgICBsZXQgZGF0YTogYW55XG4gICAgICBpZiAoaGFzUHJvcGVydHkoaXRlbSwgJ2RhdGEnKSkge1xuICAgICAgICAvLyByZXN1bHQuZGF0YSA9IGF3YWl0IHRoaXMuX3ZhbHVlSGVscGVyLmV2YWwoaXRlbS5kYXRhLCBjb250ZXh0KVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnJWNkYXRhJywgJ2NvbG9yOmN5YW4nLCBpdGVtLmRhdGEpXG4gICAgICAgIGRhdGEgPSBhd2FpdCB0aGlzLl92YWx1ZUhlbHBlci5ldmFsKGl0ZW0uZGF0YSwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJyVjZGF0YScsICdjb2xvcjpsaW1lZ3JlZW4nLCBkYXRhKVxuICAgICAgfVxuXG4gICAgICByZXN1bHQucG9ydGFsID0gYXdhaXQgdGhpcy5fZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudCwgZGF0YSlcbiAgICB9XG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIF9jcmVhdGVSb3dDb250ZXh0KHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3cpOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50Um93Q29udGV4dCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHJvd1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2NyZWF0ZUNvbHVtbkNvbnRleHQoXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtbixcbiAgICByb3c6IER5bmFtaWNEYXRhdGFibGVNZW51QmFyUm93XG4gICk6IElEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb2x1bW5Db250ZXh0IHtcbiAgICByZXR1cm4ge1xuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBfY3JlYXRlSXRlbUNvbnRleHQoXG4gICAgaXRlbTogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJJdGVtLFxuICAgIHJvdzogRHluYW1pY0RhdGF0YWJsZU1lbnVCYXJSb3csXG4gICAgY29sdW1uOiBEeW5hbWljRGF0YXRhYmxlTWVudUJhckNvbHVtblxuICApOiBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJDb250ZW50SXRlbUNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICBpdGVtLFxuICAgICAgcm93LFxuICAgICAgY29sdW1uXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZ2V0Q29tcG9uZW50UG9ydGFsKGNvbXBvbmVudDogc3RyaW5nLCBkYXRhPzogYW55KTogUHJvbWlzZTxDb21wb25lbnRQb3J0YWw8e30+IHwgdW5kZWZpbmVkPiB7XG4gICAgY29uc3QgbWFuaWZlc3QgPSAodGhpcy5fbWVudUJhckl0ZW1NYW5pZmVzdHMgfHwgW10pLmZpbmQobSA9PiBtLm5hbWUgPT09IGNvbXBvbmVudClcblxuICAgIGlmICghbWFuaWZlc3QpIHtcbiAgICAgIC8vIFRPRE86IE1ha2Ugc3VyZSB0aGUgY29tcG9uZW50IGlzIHNraXBwZWQgaW5zdGVhZCBvZiBlcnJvcmluZyBvdXRzaWRlIG9mIGRldiBtb2RlLlxuICAgICAgdGhyb3cgRXJyb3IoYE1lbnVCYXIgbWFuaWZlc3QgZm9yICcke2NvbXBvbmVudH0nIG5vdCBmb3VuZC5gKVxuICAgIH1cblxuICAgIC8vIFRPRE86IENyZWF0ZSBhIG5ldyBpbmplY3RvciB3aXRoIHRoZSBkYXRhIGluamVjdGVkXG4gICAgbGV0IGluamVjdG9yID0gdGhpcy5faW5qZWN0b3JcbiAgICBpZiAobWFuaWZlc3QuZGF0YVRva2VuKSB7XG4gICAgICBpbmplY3RvciA9IG5ldyBQb3J0YWxJbmplY3Rvcih0aGlzLl9pbmplY3RvciwgbmV3IFdlYWtNYXAoW1xuICAgICAgICBbbWFuaWZlc3QuZGF0YVRva2VuLCBkYXRhXVxuICAgICAgXSkpXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiBtYW5pZmVzdC5jb21wb25lbnQgPT09ICdzdHJpbmcnKSB7XG4gICAgICB0aGlzLl9keW5hbWljQ29tcG9uZW50TG9hZGVyLmdldENvbXBvbmVudEZhY3Rvcnk8e30+KG1hbmlmZXN0LmNvbXBvbmVudCkucGlwZShcbiAgICAgICAgbWFwKGNvbXBvbmVudEZhY3RvcnkgPT4ge1xuICAgICAgICAgIHJldHVybiBuZXcgQ29tcG9uZW50UG9ydGFsKFxuICAgICAgICAgICAgY29tcG9uZW50RmFjdG9yeS5jb21wb25lbnRUeXBlLFxuICAgICAgICAgICAgbnVsbCxcbiAgICAgICAgICAgIGluamVjdG9yLFxuICAgICAgICAgICAgKDxhbnkgLyogQ29tcG9uZW50RmFjdG9yeUJvdW5kVG9Nb2R1bGUgKi8+Y29tcG9uZW50RmFjdG9yeSkubmdNb2R1bGUuY29tcG9uZW50RmFjdG9yeVJlc29sdmVyXG4gICAgICAgICAgKVxuICAgICAgICB9KVxuICAgICAgKS50b1Byb21pc2UoKVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gbmV3IENvbXBvbmVudFBvcnRhbChtYW5pZmVzdC5jb21wb25lbnQsIG51bGwsIGluamVjdG9yLCBudWxsKVxuICAgIH1cbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUtZHluYW1pYy9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1pdGVtLW1hbmlmZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnRUeXBlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCdcbmltcG9ydCB7IEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSdcblxuZXhwb3J0IGludGVyZmFjZSBJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJJdGVtTWFuaWZlc3Q8VCA9IGFueT4ge1xuXG4gIC8qKlxuICAgKiBVbmlxdWUgbmFtZSB0byByZXByZXNlbnQgdGhpcyBpdGVtIGluIEpTT04gZGVmLlxuICAgKi9cbiAgbmFtZTogc3RyaW5nXG5cbiAgLyoqXG4gICAqIENvbXBvbmVudCB0byByZW5kZXIgZm9yIHRoaXMgaXRlbS5cbiAgICovXG4gIGNvbXBvbmVudDogQ29tcG9uZW50VHlwZTx7fT4gfCBzdHJpbmdcblxuICAvKipcbiAgICogSW5qZWN0aW9uVG9rZW4gdG8gaW5qZWN0IGRhdGEgYXMuXG4gICAqL1xuICBkYXRhVG9rZW4/OiBJbmplY3Rpb25Ub2tlbjxUPlxufVxuIl19
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM = new InjectionToken('IDatatableDynamicMenuBarItemManifest');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItdG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQTtBQUk5QyxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxJQUFJLGNBQWMsQ0FDdEUsc0NBQXNDLENBQ3ZDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5cbmltcG9ydCB7IElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItaXRlbS1tYW5pZmVzdCdcblxuZXhwb3J0IGNvbnN0IFRIRVNFQU1fREFUQVRBQkxFX0RZTkFNSUNfTUVOVUJBUl9JVEVNID0gbmV3IEluamVjdGlvblRva2VuPElEYXRhdGFibGVEeW5hbWljTWVudUJhckl0ZW1NYW5pZmVzdD4oXG4gICdJRGF0YXRhYmxlRHluYW1pY01lbnVCYXJJdGVtTWFuaWZlc3QnXG4pXG4iXX0=
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
2
|
+
import { map } from 'rxjs/operators';
|
|
3
|
+
import { DynamicDatatableDefService } from './dynamic-datatable-def.service';
|
|
4
|
+
import { DynamicDatatableRowActionsService } from './dynamic-datatable-row-actions.service';
|
|
5
|
+
/**
|
|
6
|
+
* # EXPERIMENTAL
|
|
7
|
+
*
|
|
8
|
+
* NOTE: This component is still experimental. When stable all standard
|
|
9
|
+
* datatables must use this component, unless there is a good reason not to, in
|
|
10
|
+
* our apps.
|
|
11
|
+
*
|
|
12
|
+
* ----------------------------------------------------------------------------
|
|
13
|
+
*
|
|
14
|
+
* Datatable that is built from a json definition.
|
|
15
|
+
*
|
|
16
|
+
* All standard datatables in our apps must use this component, unless there is
|
|
17
|
+
* a good reason not to. If a standard datatable does not use this component
|
|
18
|
+
* then an explaination comment needs to be clearly provided in the code to
|
|
19
|
+
* avoid getting migrated to this component.
|
|
20
|
+
*
|
|
21
|
+
* A few reasons this component should to be used:
|
|
22
|
+
* - We can, more easily, control what a datatable in our app does by requiring
|
|
23
|
+
* the definition follow a json schema, instead of having full scripting
|
|
24
|
+
* access available to the developer.
|
|
25
|
+
* + By using json we can maintain the tables from any external app/language
|
|
26
|
+
* that can produce a json string.
|
|
27
|
+
* + More scripting access often leads to different hacks across the tables
|
|
28
|
+
* that should have just been supported by this component if it is a feature
|
|
29
|
+
* a datatable should be able to do in an app of ours.
|
|
30
|
+
* - We can allow any of our tables to be configured by the server.
|
|
31
|
+
* + By supporting configuration on the server we can change the tables
|
|
32
|
+
* without a new build and do things like allowing non-developers/clients to
|
|
33
|
+
* maintain the tables functionality.
|
|
34
|
+
*/
|
|
35
|
+
export class DatatableDynamicComponent {
|
|
36
|
+
constructor(_dynamicDef) {
|
|
37
|
+
this._dynamicDef = _dynamicDef;
|
|
38
|
+
this._hasDef$ = this._dynamicDef.def$.pipe(map(def => !!def));
|
|
39
|
+
this.menuBar$ = this._dynamicDef.menuBar$;
|
|
40
|
+
this._exporters$ = this._dynamicDef.exporters$;
|
|
41
|
+
this._commonFilterMenuItems$ = this._dynamicDef.filterMenuItems$
|
|
42
|
+
.pipe(map(f => f.filter(_f => _f.type === 'common')));
|
|
43
|
+
this._hasFullSearch$ = this._dynamicDef.filterMenuItems$
|
|
44
|
+
.pipe(map(f => !!f.find(_f => _f.type === 'full-search')));
|
|
45
|
+
this._hasFilterMenu$ = this._dynamicDef.hasFilterMenu$;
|
|
46
|
+
this._options$ = this._dynamicDef.options$;
|
|
47
|
+
this._tmp_columns$ = this._dynamicDef.def$.pipe(map(def => def ? def.columns : []));
|
|
48
|
+
this._tmp_rows$ = this._dynamicDef.def$.pipe(map(def => def ? def.rows : []));
|
|
49
|
+
}
|
|
50
|
+
/** The `DatatableDynamicDef` that defines the datatable. */
|
|
51
|
+
set def(value) {
|
|
52
|
+
this._dynamicDef.setDef(value || undefined);
|
|
53
|
+
}
|
|
54
|
+
/** @ignore */
|
|
55
|
+
ngOnInit() { }
|
|
56
|
+
}
|
|
57
|
+
DatatableDynamicComponent.decorators = [
|
|
58
|
+
{ type: Component, args: [{
|
|
59
|
+
selector: 'seam-datatable-dynamic',
|
|
60
|
+
template: "<ng-container *ngIf=\"_hasDef$ | async\">\n <seam-datatable *ngIf=\"_options$ | async as opts\"\n class=\"w-100 h-100\"\n [columns]=\"_tmp_columns$ | async\"\n [rows]=\"_tmp_rows$ | async\"\n [virtualization]=\"opts.virtualization\">\n\n <seam-datatable-menu-bar *ngIf=\"menuBar$ | async as menuBar\">\n <seam-datatable-dynamic-menu-bar-content [def]=\"menuBar\"></seam-datatable-dynamic-menu-bar-content>\n </seam-datatable-menu-bar>\n <!-- <seam-datatable-menu-bar *ngIf=\"_hasFilterMenu$ | async\">\n <div class=\"d-flex flex-row pb-2\">\n <div class=\"d-flex flex-row justify-content-end flex-grow-1\">\n <seam-data-filter-search seamDatatableFilter *ngIf=\"_hasFullSearch$\"></seam-data-filter-search>\n </div>\n </div>\n <div class=\"d-flex flex-row\">\n <div class=\"d-flex justify-content-center flex-grow-1\">\n <ng-container *ngFor=\"let r of _commonFilterMenuItems$ | async; let isFirst = first\">\n <seam-datatable-dynamic-filter-container\n [class.ml-1]=\"!isFirst\"\n [filterComponent]=\"r.component\"\n [options]=\"r.options\">\n </seam-datatable-dynamic-filter-container>\n </ng-container>\n </div>\n <seam-datatable-export-button *ngIf=\"_exporters$ | async as exporters\"\n [exporters]=\"exporters\">\n </seam-datatable-export-button>\n </div>\n </seam-datatable-menu-bar> -->\n\n <ng-template seamDatatableRowActionItem let-row>\n <seam-datatable-dynamic-action-menu [row]=\"row\"></seam-datatable-dynamic-action-menu>\n </ng-template>\n\n </seam-datatable>\n</ng-container>\n",
|
|
61
|
+
providers: [
|
|
62
|
+
DynamicDatatableDefService,
|
|
63
|
+
DynamicDatatableRowActionsService
|
|
64
|
+
],
|
|
65
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
66
|
+
styles: [":host{display:flex;flex-direction:column}"]
|
|
67
|
+
},] }
|
|
68
|
+
];
|
|
69
|
+
DatatableDynamicComponent.ctorParameters = () => [
|
|
70
|
+
{ type: DynamicDatatableDefService }
|
|
71
|
+
];
|
|
72
|
+
DatatableDynamicComponent.propDecorators = {
|
|
73
|
+
def: [{ type: Input }]
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQTtBQUVqRixPQUFPLEVBQUUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFRcEMsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0saUNBQWlDLENBQUE7QUFDNUUsT0FBTyxFQUFFLGlDQUFpQyxFQUFFLE1BQU0seUNBQXlDLENBQUE7QUFJM0Y7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNkJHO0FBV0gsTUFBTSxPQUFPLHlCQUF5QjtJQTREcEMsWUFDbUIsV0FBdUM7UUFBdkMsZ0JBQVcsR0FBWCxXQUFXLENBQTRCO1FBRXhELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTdELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUE7UUFFekMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQTtRQUU5QyxJQUFJLENBQUMsdUJBQXVCLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxnQkFBZ0I7YUFDN0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUV2RCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsZ0JBQWdCO2FBQ3JELElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTVELElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUE7UUFFdEQsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQTtRQUUxQyxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FDN0MsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FDbkMsQ0FBQTtRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUMxQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUVoQyxDQUFBO0lBQ0gsQ0FBQztJQXJGRCw0REFBNEQ7SUFDNUQsSUFBYSxHQUFHLENBQUMsS0FBNkM7UUFDNUQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxJQUFJLFNBQVMsQ0FBQyxDQUFBO0lBQzdDLENBQUM7SUFvRkQsY0FBYztJQUNkLFFBQVEsS0FBSyxDQUFDOzs7WUFwR2YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx3QkFBd0I7Z0JBQ2xDLDRxREFBaUQ7Z0JBRWpELFNBQVMsRUFBRTtvQkFDVCwwQkFBMEI7b0JBQzFCLGlDQUFpQztpQkFDbEM7Z0JBQ0QsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07O2FBQ2hEOzs7WUE1Q1EsMEJBQTBCOzs7a0JBZ0RoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgSW5wdXQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IG1hcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBJRGF0YUV4cG9ydGVyIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZXhwb3J0ZXInXG5cbmltcG9ydCB7XG4gIERhdGF0YWJsZUR5bmFtaWNEZWYsXG4gIER5bmFtaWNEYXRhdGFibGVPcHRpb25zXG59IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZGVmJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UgfSBmcm9tICcuL2R5bmFtaWMtZGF0YXRhYmxlLWRlZi5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlIH0gZnJvbSAnLi9keW5hbWljLWRhdGF0YWJsZS1yb3ctYWN0aW9ucy5zZXJ2aWNlJ1xuaW1wb3J0IHsgRHluYW1pY0RhdGF0YWJsZUZpbHRlck1lbnVJdGVtIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtZmlsdGVyLW1lbnUtaXRlbSdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVNZW51QmFyIH0gZnJvbSAnLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtbWVudS1iYXInXG5cbi8qKlxuICogIyBFWFBFUklNRU5UQUxcbiAqXG4gKiBOT1RFOiBUaGlzIGNvbXBvbmVudCBpcyBzdGlsbCBleHBlcmltZW50YWwuIFdoZW4gc3RhYmxlIGFsbCBzdGFuZGFyZFxuICogZGF0YXRhYmxlcyBtdXN0IHVzZSB0aGlzIGNvbXBvbmVudCwgdW5sZXNzIHRoZXJlIGlzIGEgZ29vZCByZWFzb24gbm90IHRvLCBpblxuICogb3VyIGFwcHMuXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICpcbiAqIERhdGF0YWJsZSB0aGF0IGlzIGJ1aWx0IGZyb20gYSBqc29uIGRlZmluaXRpb24uXG4gKlxuICogQWxsIHN0YW5kYXJkIGRhdGF0YWJsZXMgaW4gb3VyIGFwcHMgbXVzdCB1c2UgdGhpcyBjb21wb25lbnQsIHVubGVzcyB0aGVyZSBpc1xuICogYSBnb29kIHJlYXNvbiBub3QgdG8uIElmIGEgc3RhbmRhcmQgZGF0YXRhYmxlIGRvZXMgbm90IHVzZSB0aGlzIGNvbXBvbmVudFxuICogdGhlbiBhbiBleHBsYWluYXRpb24gY29tbWVudCBuZWVkcyB0byBiZSBjbGVhcmx5IHByb3ZpZGVkIGluIHRoZSBjb2RlIHRvXG4gKiBhdm9pZCBnZXR0aW5nIG1pZ3JhdGVkIHRvIHRoaXMgY29tcG9uZW50LlxuICpcbiAqIEEgZmV3IHJlYXNvbnMgdGhpcyBjb21wb25lbnQgc2hvdWxkIHRvIGJlIHVzZWQ6XG4gKiAtIFdlIGNhbiwgbW9yZSBlYXNpbHksIGNvbnRyb2wgd2hhdCBhIGRhdGF0YWJsZSBpbiBvdXIgYXBwIGRvZXMgYnkgcmVxdWlyaW5nXG4gKiAgIHRoZSBkZWZpbml0aW9uIGZvbGxvdyBhIGpzb24gc2NoZW1hLCBpbnN0ZWFkIG9mIGhhdmluZyBmdWxsIHNjcmlwdGluZ1xuICogICBhY2Nlc3MgYXZhaWxhYmxlIHRvIHRoZSBkZXZlbG9wZXIuXG4gKiAgICsgQnkgdXNpbmcganNvbiB3ZSBjYW4gbWFpbnRhaW4gdGhlIHRhYmxlcyBmcm9tIGFueSBleHRlcm5hbCBhcHAvbGFuZ3VhZ2VcbiAqICAgICB0aGF0IGNhbiBwcm9kdWNlIGEganNvbiBzdHJpbmcuXG4gKiAgICsgTW9yZSBzY3JpcHRpbmcgYWNjZXNzIG9mdGVuIGxlYWRzIHRvIGRpZmZlcmVudCBoYWNrcyBhY3Jvc3MgdGhlIHRhYmxlc1xuICogICAgIHRoYXQgc2hvdWxkIGhhdmUganVzdCBiZWVuIHN1cHBvcnRlZCBieSB0aGlzIGNvbXBvbmVudCBpZiBpdCBpcyBhIGZlYXR1cmVcbiAqICAgICBhIGRhdGF0YWJsZSBzaG91bGQgYmUgYWJsZSB0byBkbyBpbiBhbiBhcHAgb2Ygb3Vycy5cbiAqIC0gV2UgY2FuIGFsbG93IGFueSBvZiBvdXIgdGFibGVzIHRvIGJlIGNvbmZpZ3VyZWQgYnkgdGhlIHNlcnZlci5cbiAqICAgKyBCeSBzdXBwb3J0aW5nIGNvbmZpZ3VyYXRpb24gb24gdGhlIHNlcnZlciB3ZSBjYW4gY2hhbmdlIHRoZSB0YWJsZXNcbiAqICAgICB3aXRob3V0IGEgbmV3IGJ1aWxkIGFuZCBkbyB0aGluZ3MgbGlrZSBhbGxvd2luZyBub24tZGV2ZWxvcGVycy9jbGllbnRzIHRvXG4gKiAgICAgbWFpbnRhaW4gdGhlIHRhYmxlcyBmdW5jdGlvbmFsaXR5LlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzZWFtLWRhdGF0YWJsZS1keW5hbWljJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZGF0YXRhYmxlLWR5bmFtaWMuY29tcG9uZW50LnNjc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRHluYW1pY0RhdGF0YWJsZURlZlNlcnZpY2UsXG4gICAgRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbnNTZXJ2aWNlXG4gIF0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXG59KVxuZXhwb3J0IGNsYXNzIERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIC8qKiBUaGUgYERhdGF0YWJsZUR5bmFtaWNEZWZgIHRoYXQgZGVmaW5lcyB0aGUgZGF0YXRhYmxlLiAqL1xuICBASW5wdXQoKSBzZXQgZGVmKHZhbHVlOiBEYXRhdGFibGVEeW5hbWljRGVmIHwgdW5kZWZpbmVkIHwgbnVsbCkge1xuICAgIHRoaXMuX2R5bmFtaWNEZWYuc2V0RGVmKHZhbHVlIHx8IHVuZGVmaW5lZClcbiAgfVxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgZGVmLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRGVmJDogT2JzZXJ2YWJsZTxib29sZWFuPlxuXG4gIC8qKlxuICAgKiBPYnNlcnZlcyB3aGV0aGVyIHRoZSBkYXRhdGFibGUgaGFzIGEgbWVudSBiYXIuXG4gICAqL1xuICBtZW51QmFyJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlTWVudUJhciAgfCB1bmRlZmluZWQ+XG5cbiAgLyoqXG4gICAqIFRoZSBhdmFpbGFibGUgZXhwb3J0ZXJzLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfZXhwb3J0ZXJzJDogT2JzZXJ2YWJsZTxJRGF0YUV4cG9ydGVyW10+XG5cbiAgLyoqXG4gICAqIFRoZSAnY29tbW9uJyB0eXBlIGZpbHRlciBtZW51IGl0ZW1zLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfY29tbW9uRmlsdGVyTWVudUl0ZW1zJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlRmlsdGVyTWVudUl0ZW1bXT5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhICdmdWxsLXNlYXJjaCcgbWVudSBpdGVtLlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRnVsbFNlYXJjaCQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgd2hldGhlciB0aGUgZGF0YXRhYmxlIGhhcyBhIGZpbHRlciBtZW51LlxuICAgKiBAaWdub3JlXG4gICAqL1xuICBfaGFzRmlsdGVyTWVudSQ6IE9ic2VydmFibGU8Ym9vbGVhbj5cblxuICAvKipcbiAgICogT2JzZXJ2ZXMgZGF0YXRhYmxlIG9wdGlvbnMuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF9vcHRpb25zJDogT2JzZXJ2YWJsZTxEeW5hbWljRGF0YXRhYmxlT3B0aW9ucyB8IHVuZGVmaW5lZD5cblxuICAvKipcbiAgICogVE9ETzogSW1wbGVtZW50IGRlZiBjb2x1bW5zIHBhcnNlci5cbiAgICogQGlnbm9yZVxuICAgKi9cbiAgX3RtcF9jb2x1bW5zJDogT2JzZXJ2YWJsZTxhbnk+XG5cbiAgLyoqXG4gICAqIFRPRE86IEltcGxlbWVudCBkZWYgcm93cyBwYXJzZXIuXG4gICAqIEBpZ25vcmVcbiAgICovXG4gIF90bXBfcm93cyQ6IE9ic2VydmFibGU8YW55PlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2R5bmFtaWNEZWY6IER5bmFtaWNEYXRhdGFibGVEZWZTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuX2hhc0RlZiQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShtYXAoZGVmID0+ICEhZGVmKSlcblxuICAgIHRoaXMubWVudUJhciQgPSB0aGlzLl9keW5hbWljRGVmLm1lbnVCYXIkXG5cbiAgICB0aGlzLl9leHBvcnRlcnMkID0gdGhpcy5fZHluYW1pY0RlZi5leHBvcnRlcnMkXG5cbiAgICB0aGlzLl9jb21tb25GaWx0ZXJNZW51SXRlbXMkID0gdGhpcy5fZHluYW1pY0RlZi5maWx0ZXJNZW51SXRlbXMkXG4gICAgICAucGlwZShtYXAoZiA9PiBmLmZpbHRlcihfZiA9PiBfZi50eXBlID09PSAnY29tbW9uJykpKVxuXG4gICAgdGhpcy5faGFzRnVsbFNlYXJjaCQgPSB0aGlzLl9keW5hbWljRGVmLmZpbHRlck1lbnVJdGVtcyRcbiAgICAgIC5waXBlKG1hcChmID0+ICEhZi5maW5kKF9mID0+IF9mLnR5cGUgPT09ICdmdWxsLXNlYXJjaCcpKSlcblxuICAgIHRoaXMuX2hhc0ZpbHRlck1lbnUkID0gdGhpcy5fZHluYW1pY0RlZi5oYXNGaWx0ZXJNZW51JFxuXG4gICAgdGhpcy5fb3B0aW9ucyQgPSB0aGlzLl9keW5hbWljRGVmLm9wdGlvbnMkXG5cbiAgICB0aGlzLl90bXBfY29sdW1ucyQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShcbiAgICAgIG1hcChkZWYgPT4gZGVmID8gZGVmLmNvbHVtbnMgOiBbXSlcbiAgICApXG5cbiAgICB0aGlzLl90bXBfcm93cyQgPSB0aGlzLl9keW5hbWljRGVmLmRlZiQucGlwZShcbiAgICAgIG1hcChkZWYgPT4gZGVmID8gZGVmLnJvd3MgOiBbXSksXG4gICAgICAvLyB0YXAodiA9PiBjb25zb2xlLmxvZygnX3RtcF9yb3dzJCcsIHYpKVxuICAgIClcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIG5nT25Jbml0KCkgeyB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { PortalModule } from '@angular/cdk/portal';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { NgModule } from '@angular/core';
|
|
4
|
+
import { RouterModule } from '@angular/router';
|
|
5
|
+
import { TheSeamButtonsModule } from '@theseam/ui-common/buttons';
|
|
6
|
+
import { TheSeamDataExporterModule } from '@theseam/ui-common/data-exporter';
|
|
7
|
+
import { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters';
|
|
8
|
+
import { TheSeamDatatableModule } from '@theseam/ui-common/datatable';
|
|
9
|
+
import { TheSeamIconModule } from '@theseam/ui-common/icon';
|
|
10
|
+
import { TheSeamMenuModule } from '@theseam/ui-common/menu';
|
|
11
|
+
import { TheSeamSharedModule } from '@theseam/ui-common/shared';
|
|
12
|
+
import { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types';
|
|
13
|
+
import { DatatableDynamicActionMenuComponent } from './datatable-dynamic-action-menu/datatable-dynamic-action-menu.component';
|
|
14
|
+
import { DatatableDynamicFilterContainerComponent } from './datatable-dynamic-filter-container/datatable-dynamic-filter-container.component';
|
|
15
|
+
import { DatatableDynamicMenuBarContentComponent } from './datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component';
|
|
16
|
+
import { DatatableDynamicComponent } from './datatable-dynamic.component';
|
|
17
|
+
import { DatatableDynamicActionMenuItemDirective } from './directives/datatable-dynamic-action-menu-item.directive';
|
|
18
|
+
export class TheSeamDatatableDynamicModule {
|
|
19
|
+
}
|
|
20
|
+
TheSeamDatatableDynamicModule.decorators = [
|
|
21
|
+
{ type: NgModule, args: [{
|
|
22
|
+
declarations: [
|
|
23
|
+
DatatableDynamicComponent,
|
|
24
|
+
DatatableDynamicFilterContainerComponent,
|
|
25
|
+
DatatableDynamicActionMenuComponent,
|
|
26
|
+
DatatableDynamicActionMenuItemDirective,
|
|
27
|
+
DatatableDynamicMenuBarContentComponent,
|
|
28
|
+
],
|
|
29
|
+
imports: [
|
|
30
|
+
CommonModule,
|
|
31
|
+
TheSeamSharedModule,
|
|
32
|
+
TheSeamDatatableModule,
|
|
33
|
+
TheSeamTableCellTypesModule,
|
|
34
|
+
TheSeamDataExporterModule,
|
|
35
|
+
TheSeamDataFiltersModule,
|
|
36
|
+
TheSeamIconModule,
|
|
37
|
+
PortalModule,
|
|
38
|
+
RouterModule,
|
|
39
|
+
TheSeamMenuModule,
|
|
40
|
+
TheSeamButtonsModule
|
|
41
|
+
],
|
|
42
|
+
exports: [
|
|
43
|
+
DatatableDynamicComponent,
|
|
44
|
+
TheSeamDatatableModule,
|
|
45
|
+
DatatableDynamicActionMenuItemDirective
|
|
46
|
+
]
|
|
47
|
+
},] }
|
|
48
|
+
];
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS1keW5hbWljL2RhdGF0YWJsZS1keW5hbWljLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDbEQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDeEMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRTlDLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDRCQUE0QixDQUFBO0FBQ2pFLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLGtDQUFrQyxDQUFBO0FBQzVFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGlDQUFpQyxDQUFBO0FBQzFFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ3JFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFBO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFBO0FBQy9ELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHFDQUFxQyxDQUFBO0FBRWpGLE9BQU8sRUFBRSxtQ0FBbUMsRUFBRSxNQUFNLHlFQUF5RSxDQUFBO0FBQzdILE9BQU8sRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzVJLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLG1GQUFtRixDQUFBO0FBQzNJLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFBO0FBQ3pFLE9BQU8sRUFBRSx1Q0FBdUMsRUFBRSxNQUFNLDJEQUEyRCxDQUFBO0FBNkJuSCxNQUFNLE9BQU8sNkJBQTZCOzs7WUEzQnpDLFFBQVEsU0FBQztnQkFDUixZQUFZLEVBQUU7b0JBQ1oseUJBQXlCO29CQUN6Qix3Q0FBd0M7b0JBQ3hDLG1DQUFtQztvQkFDbkMsdUNBQXVDO29CQUN2Qyx1Q0FBdUM7aUJBQ3hDO2dCQUNELE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLG1CQUFtQjtvQkFDbkIsc0JBQXNCO29CQUN0QiwyQkFBMkI7b0JBQzNCLHlCQUF5QjtvQkFDekIsd0JBQXdCO29CQUN4QixpQkFBaUI7b0JBQ2pCLFlBQVk7b0JBQ1osWUFBWTtvQkFDWixpQkFBaUI7b0JBQ2pCLG9CQUFvQjtpQkFDckI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHlCQUF5QjtvQkFDekIsc0JBQXNCO29CQUN0Qix1Q0FBdUM7aUJBQ3hDO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3J0YWxNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJ1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuXG5pbXBvcnQgeyBUaGVTZWFtQnV0dG9uc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9idXR0b25zJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGFFeHBvcnRlck1vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi9kYXRhLWV4cG9ydGVyJ1xuaW1wb3J0IHsgVGhlU2VhbURhdGFGaWx0ZXJzTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVycydcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVNb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vZGF0YXRhYmxlJ1xuaW1wb3J0IHsgVGhlU2VhbUljb25Nb2R1bGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vaWNvbidcbmltcG9ydCB7IFRoZVNlYW1NZW51TW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL21lbnUnXG5pbXBvcnQgeyBUaGVTZWFtU2hhcmVkTW9kdWxlIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3NoYXJlZCdcbmltcG9ydCB7IFRoZVNlYW1UYWJsZUNlbGxUeXBlc01vZHVsZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGVzJ1xuXG5pbXBvcnQgeyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUvZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuaW1wb3J0IHsgRGF0YXRhYmxlRHluYW1pY0ZpbHRlckNvbnRhaW5lckNvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtZmlsdGVyLWNvbnRhaW5lci9kYXRhdGFibGUtZHluYW1pYy1maWx0ZXItY29udGFpbmVyLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNNZW51QmFyQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vZGF0YXRhYmxlLWR5bmFtaWMtbWVudS1iYXItY29udGVudC9kYXRhdGFibGUtZHluYW1pYy1tZW51LWJhci1jb250ZW50LmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNDb21wb25lbnQgfSBmcm9tICcuL2RhdGF0YWJsZS1keW5hbWljLmNvbXBvbmVudCdcbmltcG9ydCB7IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbURpcmVjdGl2ZSB9IGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZSdcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgRGF0YXRhYmxlRHluYW1pY0NvbXBvbmVudCxcbiAgICBEYXRhdGFibGVEeW5hbWljRmlsdGVyQ29udGFpbmVyQ29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51Q29tcG9uZW50LFxuICAgIERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbURpcmVjdGl2ZSxcbiAgICBEYXRhdGFibGVEeW5hbWljTWVudUJhckNvbnRlbnRDb21wb25lbnQsXG4gIF0sXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgVGhlU2VhbVNoYXJlZE1vZHVsZSxcbiAgICBUaGVTZWFtRGF0YXRhYmxlTW9kdWxlLFxuICAgIFRoZVNlYW1UYWJsZUNlbGxUeXBlc01vZHVsZSxcbiAgICBUaGVTZWFtRGF0YUV4cG9ydGVyTW9kdWxlLFxuICAgIFRoZVNlYW1EYXRhRmlsdGVyc01vZHVsZSxcbiAgICBUaGVTZWFtSWNvbk1vZHVsZSxcbiAgICBQb3J0YWxNb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIFRoZVNlYW1NZW51TW9kdWxlLFxuICAgIFRoZVNlYW1CdXR0b25zTW9kdWxlXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBEYXRhdGFibGVEeW5hbWljQ29tcG9uZW50LFxuICAgIFRoZVNlYW1EYXRhdGFibGVNb2R1bGUsXG4gICAgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtRGlyZWN0aXZlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVGhlU2VhbURhdGF0YWJsZUR5bmFtaWNNb2R1bGUgeyB9XG4iXX0=
|
|
@@ -0,0 +1,408 @@
|
|
|
1
|
+
import { LocationStrategy } from '@angular/common';
|
|
2
|
+
import { Attribute, Directive, ElementRef, Input, isDevMode, Renderer2 } from '@angular/core';
|
|
3
|
+
import { ActivatedRoute, Router, RouterLink, RouterLinkWithHref } from '@angular/router';
|
|
4
|
+
import { from, fromEvent, of, ReplaySubject, Subscription } from 'rxjs';
|
|
5
|
+
import { catchError, mapTo, switchMap, tap } from 'rxjs/operators';
|
|
6
|
+
import { AssetReaderHelperService } from '@theseam/ui-common/asset-reader';
|
|
7
|
+
import { DynamicActionHelperService, DynamicValueHelperService } from '@theseam/ui-common/dynamic';
|
|
8
|
+
import { getAttribute, hasProperty, toggleAttribute } from '@theseam/ui-common/utils';
|
|
9
|
+
/**
|
|
10
|
+
* Class to act as a substitute to `routerLink` directive until the menu items
|
|
11
|
+
* can be dynamically built in a clean way with or without `routerLink`.
|
|
12
|
+
*/
|
|
13
|
+
export class DatatableDynamicActionMenuItemRouterLink {
|
|
14
|
+
constructor(router, route, tabIndex, renderer, el, locationStrategy) {
|
|
15
|
+
this.router = router;
|
|
16
|
+
this.route = route;
|
|
17
|
+
this.renderer = renderer;
|
|
18
|
+
this.el = el;
|
|
19
|
+
this.locationStrategy = locationStrategy;
|
|
20
|
+
if (el.nativeElement.nodeName.toLowerCase() === 'a') {
|
|
21
|
+
this._rLinkWithHref = new RouterLinkWithHref(router, route, locationStrategy);
|
|
22
|
+
// console.log('rLinkWithHref', this.rLinkWithHref)
|
|
23
|
+
this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', (event) => {
|
|
24
|
+
// console.log('this._rLinkWithHref', this._rLinkWithHref, this._rLinkWithHref && this._rLinkWithHref.href)
|
|
25
|
+
if (this._rLinkWithHref) {
|
|
26
|
+
return this._rLinkWithHref.onClick(event.button, event.ctrlKey, event.shiftKey, event.altKey, event.metaKey);
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this._rLink = new RouterLink(router, route, tabIndex, renderer, el);
|
|
32
|
+
// console.log('rLink', this.rLink)
|
|
33
|
+
this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', () => {
|
|
34
|
+
// console.log('this._rLink', this._rLink && this._rLink.urlTree)
|
|
35
|
+
if (this._rLink) {
|
|
36
|
+
return this._rLink.onClick();
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
// this._clickSubscription = fromEvent(el.nativeElement, 'click')
|
|
40
|
+
// .subscribe(() => {
|
|
41
|
+
// if (this._rLink) {
|
|
42
|
+
// this._rLink.onClick()
|
|
43
|
+
// } else {
|
|
44
|
+
// if (this._clickSubscription && !this._clickSubscription.closed) {
|
|
45
|
+
// this._clickSubscription.unsubscribe()
|
|
46
|
+
// }
|
|
47
|
+
// }
|
|
48
|
+
// })
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
get routerLink() { return this._rLink; }
|
|
52
|
+
get routerLinkWithHref() { return this._rLinkWithHref; }
|
|
53
|
+
set routerLinkInput(commands) {
|
|
54
|
+
if (this._rLink) {
|
|
55
|
+
this._rLink.routerLink = commands;
|
|
56
|
+
}
|
|
57
|
+
else if (this._rLinkWithHref) {
|
|
58
|
+
this._rLinkWithHref.routerLink = commands;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
set queryParams(value) {
|
|
62
|
+
if (this._rLink) {
|
|
63
|
+
this._rLink.queryParams = value;
|
|
64
|
+
}
|
|
65
|
+
else if (this._rLinkWithHref) {
|
|
66
|
+
this._rLinkWithHref.queryParams = value;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
set fragment(value) {
|
|
70
|
+
if (this._rLink) {
|
|
71
|
+
this._rLink.fragment = value;
|
|
72
|
+
}
|
|
73
|
+
else if (this._rLinkWithHref) {
|
|
74
|
+
this._rLinkWithHref.fragment = value;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
set queryParamsHandling(value) {
|
|
78
|
+
if (this._rLink) {
|
|
79
|
+
this._rLink.queryParamsHandling = value;
|
|
80
|
+
}
|
|
81
|
+
else if (this._rLinkWithHref) {
|
|
82
|
+
this._rLinkWithHref.queryParamsHandling = value;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
set preserveFragment(value) {
|
|
86
|
+
if (this._rLink) {
|
|
87
|
+
this._rLink.preserveFragment = value;
|
|
88
|
+
}
|
|
89
|
+
else if (this._rLinkWithHref) {
|
|
90
|
+
this._rLinkWithHref.preserveFragment = value;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
set skipLocationChange(value) {
|
|
94
|
+
if (this._rLink) {
|
|
95
|
+
this._rLink.skipLocationChange = value;
|
|
96
|
+
}
|
|
97
|
+
else if (this._rLinkWithHref) {
|
|
98
|
+
this._rLinkWithHref.skipLocationChange = value;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
set replaceUrl(value) {
|
|
102
|
+
if (this._rLink) {
|
|
103
|
+
this._rLink.replaceUrl = value;
|
|
104
|
+
}
|
|
105
|
+
else if (this._rLinkWithHref) {
|
|
106
|
+
this._rLinkWithHref.replaceUrl = value;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
set state(value) {
|
|
110
|
+
if (this._rLink) {
|
|
111
|
+
this._rLink.state = value;
|
|
112
|
+
}
|
|
113
|
+
else if (this._rLinkWithHref) {
|
|
114
|
+
this._rLinkWithHref.state = value;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
set target(value) {
|
|
118
|
+
if (this._rLinkWithHref) {
|
|
119
|
+
this._rLinkWithHref.target = value;
|
|
120
|
+
if (value) {
|
|
121
|
+
this.renderer.setAttribute(this.el.nativeElement, 'target', value);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
toggleAttribute(this.el.nativeElement, 'target', false);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
destroy() {
|
|
129
|
+
// if (this._clickSubscription && !this._clickSubscription.closed) {
|
|
130
|
+
// this._clickSubscription.unsubscribe()
|
|
131
|
+
// }
|
|
132
|
+
if (this._rLinkClickEventListener) {
|
|
133
|
+
this.el.nativeElement.removeEventListener('click', this._rLinkClickEventListener);
|
|
134
|
+
this._rLinkClickEventListener = null;
|
|
135
|
+
}
|
|
136
|
+
if (this._rLinkWithHref && this._rLinkWithHref.ngOnDestroy) {
|
|
137
|
+
this._rLinkWithHref.ngOnDestroy();
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
DatatableDynamicActionMenuItemRouterLink.ctorParameters = () => [
|
|
142
|
+
{ type: Router },
|
|
143
|
+
{ type: ActivatedRoute },
|
|
144
|
+
{ type: String, decorators: [{ type: Attribute, args: ['tabindex',] }] },
|
|
145
|
+
{ type: Renderer2 },
|
|
146
|
+
{ type: ElementRef },
|
|
147
|
+
{ type: LocationStrategy }
|
|
148
|
+
];
|
|
149
|
+
// TODO: Refactor this directive. It got way more complex instead of more
|
|
150
|
+
// simplified like it was supposed to be.
|
|
151
|
+
export class DatatableDynamicActionMenuItemDirective {
|
|
152
|
+
constructor(_elementRef, _renderer, _valueHelper, _actionHelper, _assetReaderHelper, _router, _route, _locationStrategy) {
|
|
153
|
+
this._elementRef = _elementRef;
|
|
154
|
+
this._renderer = _renderer;
|
|
155
|
+
this._valueHelper = _valueHelper;
|
|
156
|
+
this._actionHelper = _actionHelper;
|
|
157
|
+
this._assetReaderHelper = _assetReaderHelper;
|
|
158
|
+
this._router = _router;
|
|
159
|
+
this._route = _route;
|
|
160
|
+
this._locationStrategy = _locationStrategy;
|
|
161
|
+
this._record = new ReplaySubject(1);
|
|
162
|
+
this._recordSubscription = Subscription.EMPTY;
|
|
163
|
+
this._recordSubscription = this._record.pipe(
|
|
164
|
+
// tap(v => console.log('record', v)),
|
|
165
|
+
switchMap(record => this._update(record)), tap(() => { this._setInvalidActionState(false); }), catchError(error => {
|
|
166
|
+
if (isDevMode()) {
|
|
167
|
+
console.error(error);
|
|
168
|
+
}
|
|
169
|
+
this._setInvalidActionState(true);
|
|
170
|
+
return of(undefined);
|
|
171
|
+
})).subscribe();
|
|
172
|
+
}
|
|
173
|
+
set seamDatatableDynamicActionMenuItem(value) {
|
|
174
|
+
this._record.next(value);
|
|
175
|
+
}
|
|
176
|
+
ngOnInit() { }
|
|
177
|
+
ngOnDestroy() {
|
|
178
|
+
this._recordSubscription.unsubscribe();
|
|
179
|
+
this._unsubClick();
|
|
180
|
+
if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {
|
|
181
|
+
this._menuRouterLink.routerLinkWithHref.ngOnDestroy();
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
ngOnChanges(changes) {
|
|
185
|
+
// console.log('ngOnChanges', changes, this, this._menuRouterLink)
|
|
186
|
+
if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {
|
|
187
|
+
this._menuRouterLink.routerLinkWithHref.ngOnChanges({});
|
|
188
|
+
if (this._menuRouterLink.routerLinkWithHref.href) {
|
|
189
|
+
if (getAttribute(this._elementRef.nativeElement, 'href') !== this._menuRouterLink.routerLinkWithHref.href) {
|
|
190
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'href', this._menuRouterLink.routerLinkWithHref.href);
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
else {
|
|
194
|
+
toggleAttribute(this._elementRef.nativeElement, 'href', false);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
_update(record) {
|
|
199
|
+
this._unsubClick();
|
|
200
|
+
return from(this._getUiProps(record)).pipe(switchMap(uiProps => this._isAnchor()
|
|
201
|
+
? this._updateAnchorElement(record, uiProps)
|
|
202
|
+
: this._updateButtonElement(record, uiProps)));
|
|
203
|
+
}
|
|
204
|
+
_updateAnchorElement(record, uiProps) {
|
|
205
|
+
const _stream = of(undefined);
|
|
206
|
+
switch (uiProps.triggerType) {
|
|
207
|
+
case 'link': {
|
|
208
|
+
// console.log('Handle "link" triggerType.', uiProps)
|
|
209
|
+
// this._tryInitTabIndex()
|
|
210
|
+
this._tryInitBlockClick(record, uiProps);
|
|
211
|
+
this._initMenuItemRouterLink(record, uiProps);
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
case 'link-external': {
|
|
215
|
+
// console.log('Handle "link-external" triggerType.', uiProps)
|
|
216
|
+
// this._tryInitTabIndex()
|
|
217
|
+
this._tryInitBlockClick(record, uiProps);
|
|
218
|
+
if (hasProperty(uiProps, 'linkUrl')) {
|
|
219
|
+
this._setAttr('href', uiProps.linkUrl);
|
|
220
|
+
}
|
|
221
|
+
if (hasProperty(uiProps, 'linkExtras')) {
|
|
222
|
+
if (hasProperty(uiProps.linkExtras, 'target')) {
|
|
223
|
+
this._setAttr('target', uiProps.linkExtras.target);
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
// TODO: Consider making the ItemRouterLink work with external urls.
|
|
227
|
+
// this._initMenuItemRouterLink(record, uiProps)
|
|
228
|
+
break;
|
|
229
|
+
}
|
|
230
|
+
// TODO: Unless we decide to add a route for openning assets, this would
|
|
231
|
+
// be confusing to a user.
|
|
232
|
+
// case 'link-asset': {
|
|
233
|
+
// console.log('Handle "link-asset" triggerType.', uiProps)
|
|
234
|
+
// // this._tryInitTabIndex()
|
|
235
|
+
// this._tryInitBlockClick(record, uiProps)
|
|
236
|
+
// break
|
|
237
|
+
// }
|
|
238
|
+
default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +
|
|
239
|
+
`triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`);
|
|
240
|
+
}
|
|
241
|
+
return _stream; // .pipe(mapTo(undefined))
|
|
242
|
+
}
|
|
243
|
+
_updateButtonElement(record, uiProps) {
|
|
244
|
+
let _stream = of(undefined);
|
|
245
|
+
// this._updateClickElement(record, uiProps as DynamicActionUiButtonDef)
|
|
246
|
+
switch (uiProps.triggerType) {
|
|
247
|
+
case 'link-asset': {
|
|
248
|
+
// console.log('Handle "link-asset" triggerType.', uiProps)
|
|
249
|
+
// this._tryInitTabIndex()
|
|
250
|
+
this._tryInitBlockClick(record, uiProps);
|
|
251
|
+
_stream = _stream.pipe(switchMap(() => this._updateAssetElement(record, uiProps)));
|
|
252
|
+
break;
|
|
253
|
+
}
|
|
254
|
+
case 'click': {
|
|
255
|
+
// console.log('Handle "click" triggerType.', uiProps)
|
|
256
|
+
this._tryInitBlockClick(record, uiProps);
|
|
257
|
+
_stream = _stream.pipe(switchMap(() => this._updateClickElement(record, uiProps)));
|
|
258
|
+
break;
|
|
259
|
+
}
|
|
260
|
+
default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +
|
|
261
|
+
`triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`);
|
|
262
|
+
}
|
|
263
|
+
return _stream; // .pipe(mapTo(undefined))
|
|
264
|
+
}
|
|
265
|
+
_updateAssetElement(record, uiProps) {
|
|
266
|
+
// console.log('_updateAssetElement')
|
|
267
|
+
// return of(undefined)
|
|
268
|
+
// console.log('this._elementRef.nativeElement', this._elementRef.nativeElement)
|
|
269
|
+
const t = fromEvent(this._elementRef.nativeElement, 'click').pipe(tap(event => {
|
|
270
|
+
// const _context = this._getContext(record._row, record.rowAction)
|
|
271
|
+
// const context = { ..._context, event, uiProps }
|
|
272
|
+
// const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)
|
|
273
|
+
// console.log(record, uiProps)
|
|
274
|
+
// console.log('_updateClickElement click', (<any>event).button, event)
|
|
275
|
+
if (this._assetReaderHelper) {
|
|
276
|
+
if (uiProps.triggerType === 'link-asset' && hasProperty(uiProps, 'linkUrl')) {
|
|
277
|
+
const url = uiProps.linkUrl;
|
|
278
|
+
let target;
|
|
279
|
+
if (hasProperty(uiProps, 'linkExtras') && hasProperty(uiProps.linkExtras, 'target')) {
|
|
280
|
+
target = uiProps.linkExtras.target;
|
|
281
|
+
}
|
|
282
|
+
this._assetReaderHelper.openLink(url, true, true, target);
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
// if (!result) {
|
|
286
|
+
// event.preventDefault()
|
|
287
|
+
// event.stopPropagation()
|
|
288
|
+
// }
|
|
289
|
+
}), mapTo(undefined));
|
|
290
|
+
return of(undefined).pipe(
|
|
291
|
+
// tap(() => console.log('starting _updateButtonElement')),
|
|
292
|
+
switchMap(() => t));
|
|
293
|
+
}
|
|
294
|
+
_updateClickElement(record, uiProps) {
|
|
295
|
+
// console.log('_updateClickElement', record, uiProps)
|
|
296
|
+
// return of(undefined)
|
|
297
|
+
return fromEvent(this._elementRef.nativeElement, 'click').pipe(switchMap(event => {
|
|
298
|
+
const _context = this._getContext(record._row, record.rowAction);
|
|
299
|
+
const context = Object.assign(Object.assign({}, _context), { event, uiProps });
|
|
300
|
+
// console.log('click', (<any>event).button, event)
|
|
301
|
+
// if (!result) {
|
|
302
|
+
// event.preventDefault()
|
|
303
|
+
// event.stopPropagation()
|
|
304
|
+
// }
|
|
305
|
+
return this._actionHelper.exec(uiProps._actionDef, context);
|
|
306
|
+
}), mapTo(undefined));
|
|
307
|
+
}
|
|
308
|
+
_unsubClick() {
|
|
309
|
+
if (this._clickSubscription && !this._clickSubscription.closed) {
|
|
310
|
+
this._clickSubscription.unsubscribe();
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
_setAttr(attr, value) {
|
|
314
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, attr, value);
|
|
315
|
+
}
|
|
316
|
+
_tryInitTabIndex() {
|
|
317
|
+
if (getAttribute(this._elementRef.nativeElement, 'tabindex') === null) {
|
|
318
|
+
this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '0');
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
_tryInitBlockClick(record, uiProps) {
|
|
322
|
+
this._unsubClick();
|
|
323
|
+
if (hasProperty(uiProps, 'blockClickExpr')) {
|
|
324
|
+
this._clickSubscription = this._blockClickExprObservable(uiProps, record).subscribe();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
_blockClickExprObservable(uiProps, record) {
|
|
328
|
+
return fromEvent(this._elementRef.nativeElement, 'click').pipe(tap(event => {
|
|
329
|
+
const _context = this._getContext(record._row, record.rowAction);
|
|
330
|
+
const context = Object.assign(Object.assign({}, _context), { event, uiProps });
|
|
331
|
+
const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context);
|
|
332
|
+
// console.log('click', result, (<any>event).button, event)
|
|
333
|
+
if (!result) {
|
|
334
|
+
event.preventDefault();
|
|
335
|
+
event.stopPropagation();
|
|
336
|
+
}
|
|
337
|
+
}), mapTo(undefined));
|
|
338
|
+
}
|
|
339
|
+
_initMenuItemRouterLink(record, uiProps) {
|
|
340
|
+
this._menuRouterLink = new DatatableDynamicActionMenuItemRouterLink(this._router, this._route, getAttribute(this._elementRef.nativeElement, 'tabindex'), this._renderer, this._elementRef, this._locationStrategy);
|
|
341
|
+
// console.log(this._menuRouterLink)
|
|
342
|
+
this._menuRouterLink.routerLinkInput = uiProps.linkUrl;
|
|
343
|
+
if (hasProperty(uiProps, 'linkExtras')) {
|
|
344
|
+
if (hasProperty(uiProps.linkExtras, 'target')) {
|
|
345
|
+
this._menuRouterLink.target = uiProps.linkExtras.target;
|
|
346
|
+
}
|
|
347
|
+
if (hasProperty(uiProps.linkExtras, 'queryParams')) {
|
|
348
|
+
this._menuRouterLink.queryParams = uiProps.linkExtras.queryParams;
|
|
349
|
+
}
|
|
350
|
+
if (hasProperty(uiProps.linkExtras, 'fragment')) {
|
|
351
|
+
this._menuRouterLink.fragment = uiProps.linkExtras.fragment;
|
|
352
|
+
}
|
|
353
|
+
if (hasProperty(uiProps.linkExtras, 'queryParamsHandling')) {
|
|
354
|
+
this._menuRouterLink.queryParamsHandling = uiProps.linkExtras.queryParamsHandling;
|
|
355
|
+
}
|
|
356
|
+
if (hasProperty(uiProps.linkExtras, 'preserveFragment')) {
|
|
357
|
+
this._menuRouterLink.preserveFragment = uiProps.linkExtras.preserveFragment;
|
|
358
|
+
}
|
|
359
|
+
if (hasProperty(uiProps.linkExtras, 'skipLocationChange')) {
|
|
360
|
+
this._menuRouterLink.skipLocationChange = uiProps.linkExtras.skipLocationChange;
|
|
361
|
+
}
|
|
362
|
+
if (hasProperty(uiProps.linkExtras, 'replaceUrl')) {
|
|
363
|
+
this._menuRouterLink.replaceUrl = uiProps.linkExtras.replaceUrl;
|
|
364
|
+
}
|
|
365
|
+
if (hasProperty(uiProps.linkExtras, 'state')) {
|
|
366
|
+
this._menuRouterLink.state = uiProps.linkExtras.state;
|
|
367
|
+
}
|
|
368
|
+
}
|
|
369
|
+
this.ngOnChanges({});
|
|
370
|
+
}
|
|
371
|
+
_isAnchor() {
|
|
372
|
+
return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a';
|
|
373
|
+
}
|
|
374
|
+
_getUiProps(record) {
|
|
375
|
+
const context = this._getContext(record._row, record.rowAction);
|
|
376
|
+
return this._actionHelper.getUiProps(record.rowAction.action, context);
|
|
377
|
+
}
|
|
378
|
+
/** @ignore */
|
|
379
|
+
_getContext(row, rowActionDef) {
|
|
380
|
+
return {
|
|
381
|
+
row
|
|
382
|
+
};
|
|
383
|
+
}
|
|
384
|
+
_setInvalidActionState(invalid = false) {
|
|
385
|
+
const element = this._elementRef.nativeElement;
|
|
386
|
+
toggleAttribute(element, 'disabled', invalid);
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
DatatableDynamicActionMenuItemDirective.decorators = [
|
|
390
|
+
{ type: Directive, args: [{
|
|
391
|
+
selector: '[seamDatatableDynamicActionMenuItem]',
|
|
392
|
+
exportAs: 'seamDatatableDynamicActionMenuItem'
|
|
393
|
+
},] }
|
|
394
|
+
];
|
|
395
|
+
DatatableDynamicActionMenuItemDirective.ctorParameters = () => [
|
|
396
|
+
{ type: ElementRef },
|
|
397
|
+
{ type: Renderer2 },
|
|
398
|
+
{ type: DynamicValueHelperService },
|
|
399
|
+
{ type: DynamicActionHelperService },
|
|
400
|
+
{ type: AssetReaderHelperService },
|
|
401
|
+
{ type: Router },
|
|
402
|
+
{ type: ActivatedRoute },
|
|
403
|
+
{ type: LocationStrategy }
|
|
404
|
+
];
|
|
405
|
+
DatatableDynamicActionMenuItemDirective.propDecorators = {
|
|
406
|
+
seamDatatableDynamicActionMenuItem: [{ type: Input }]
|
|
407
|
+
};
|
|
408
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWR5bmFtaWMtYWN0aW9uLW1lbnUtaXRlbS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlLWR5bmFtaWMvZGlyZWN0aXZlcy9kYXRhdGFibGUtZHluYW1pYy1hY3Rpb24tbWVudS1pdGVtLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNsRCxPQUFPLEVBQ0wsU0FBUyxFQUNULFNBQVMsRUFDVCxVQUFVLEVBQ1YsS0FBSyxFQUNMLFNBQVMsRUFJVCxTQUFTLEVBQ1YsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGNBQWMsRUFBdUIsTUFBTSxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBQzdHLE9BQU8sRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFjLEVBQUUsRUFBRSxhQUFhLEVBQUUsWUFBWSxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ25GLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUVsRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQTtBQUMxRSxPQUFPLEVBQ0wsMEJBQTBCLEVBSTFCLHlCQUF5QixFQUMxQixNQUFNLDRCQUE0QixDQUFBO0FBQ25DLE9BQU8sRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBT3JGOzs7R0FHRztBQUNILE1BQU0sT0FBTyx3Q0FBd0M7SUFRbkQsWUFDVSxNQUFjLEVBQ2QsS0FBcUIsRUFDTixRQUF1QixFQUN0QyxRQUFtQixFQUNuQixFQUFjLEVBQ2QsZ0JBQWtDO1FBTGxDLFdBQU0sR0FBTixNQUFNLENBQVE7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RSxDQUFDO0lBRUQsY0FBYztJQUNOLFdBQVcsQ0FBQyxHQUF3QixFQUFHLFlBQXVDO1FBQ3BGLE9BQU87WUFDTCxHQUFHO1NBQ0osQ0FBQTtJQUNILENBQUM7SUFFTyxzQkFBc0IsQ0FBQyxVQUFtQixLQUFLO1FBQ3JELE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFBO1FBQzlDLGVBQWUsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFBO0lBQy9DLENBQUM7OztZQWhVRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLHNDQUFzQztnQkFDaEQsUUFBUSxFQUFFLG9DQUFvQzthQUMvQzs7O1lBN0xDLFVBQVU7WUFNVixTQUFTO1lBWVQseUJBQXlCO1lBSnpCLDBCQUEwQjtZQUZuQix3QkFBd0I7WUFKYSxNQUFNO1lBQTNDLGNBQWM7WUFaZCxnQkFBZ0I7OztpREFvTXRCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2NhdGlvblN0cmF0ZWd5IH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJ1xuaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBEaXJlY3RpdmUsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0LFxuICBpc0Rldk1vZGUsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFJlbmRlcmVyMlxufSBmcm9tICdAYW5ndWxhci9jb3JlJ1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFF1ZXJ5UGFyYW1zSGFuZGxpbmcsIFJvdXRlciwgUm91dGVyTGluaywgUm91dGVyTGlua1dpdGhIcmVmIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJ1xuaW1wb3J0IHsgZnJvbSwgZnJvbUV2ZW50LCBPYnNlcnZhYmxlLCBvZiwgUmVwbGF5U3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcydcbmltcG9ydCB7IGNhdGNoRXJyb3IsIG1hcFRvLCBzd2l0Y2hNYXAsIHRhcCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJ1xuXG5pbXBvcnQgeyBBc3NldFJlYWRlckhlbHBlclNlcnZpY2UgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vYXNzZXQtcmVhZGVyJ1xuaW1wb3J0IHtcbiAgRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZixcbiAgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmLFxuICBEeW5hbWljQWN0aW9uVWlEZWYsXG4gIER5bmFtaWNWYWx1ZUhlbHBlclNlcnZpY2Vcbn0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL2R5bmFtaWMnXG5pbXBvcnQgeyBnZXRBdHRyaWJ1dGUsIGhhc1Byb3BlcnR5LCB0b2dnbGVBdHRyaWJ1dGUgfSBmcm9tICdAdGhlc2VhbS91aS1jb21tb24vdXRpbHMnXG5cbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3cgfSBmcm9tICcuLi9kYXRhdGFibGUtZHluYW1pYy1kZWYnXG5pbXBvcnQgdHlwZSB7IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkIH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLWFjdGlvbi1tZW51LXJlY29yZCdcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb24gfSBmcm9tICcuLi9tb2RlbHMvZHluYW1pYy1kYXRhdGFibGUtcm93LWFjdGlvbidcbmltcG9ydCB7IER5bmFtaWNEYXRhdGFibGVSb3dBY3Rpb25Db250ZXh0IH0gZnJvbSAnLi4vbW9kZWxzL2R5bmFtaWMtZGF0YXRhYmxlLXJvdy1hY3Rpb24tY29udGV4dCdcblxuLyoqXG4gKiBDbGFzcyB0byBhY3QgYXMgYSBzdWJzdGl0dXRlIHRvIGByb3V0ZXJMaW5rYCBkaXJlY3RpdmUgdW50aWwgdGhlIG1lbnUgaXRlbXNcbiAqIGNhbiBiZSBkeW5hbWljYWxseSBidWlsdCBpbiBhIGNsZWFuIHdheSB3aXRoIG9yIHdpdGhvdXQgYHJvdXRlckxpbmtgLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtUm91dGVyTGluayB7XG5cbiAgcHJpdmF0ZSBfckxpbms/OiBSb3V0ZXJMaW5rXG4gIHByaXZhdGUgX3JMaW5rV2l0aEhyZWY/OiBSb3V0ZXJMaW5rV2l0aEhyZWZcblxuICAvLyBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcj86IGFueVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgQEF0dHJpYnV0ZSgndGFiaW5kZXgnKSB0YWJJbmRleDogc3RyaW5nIHwgbnVsbCxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgcHJpdmF0ZSBlbDogRWxlbWVudFJlZixcbiAgICBwcml2YXRlIGxvY2F0aW9uU3RyYXRlZ3k6IExvY2F0aW9uU3RyYXRlZ3lcbiAgKSB7XG4gICAgaWYgKGVsLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmID0gbmV3IFJvdXRlckxpbmtXaXRoSHJlZihcbiAgICAgICAgcm91dGVyLFxuICAgICAgICByb3V0ZSxcbiAgICAgICAgbG9jYXRpb25TdHJhdGVneVxuICAgICAgKVxuICAgICAgLy8gY29uc29sZS5sb2coJ3JMaW5rV2l0aEhyZWYnLCB0aGlzLnJMaW5rV2l0aEhyZWYpXG5cbiAgICAgIHRoaXMuX3JMaW5rQ2xpY2tFdmVudExpc3RlbmVyID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLl9yTGlua1dpdGhIcmVmJywgdGhpcy5fckxpbmtXaXRoSHJlZiwgdGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICAgICAgcmV0dXJuIHRoaXMuX3JMaW5rV2l0aEhyZWYub25DbGljayhldmVudC5idXR0b24sIGV2ZW50LmN0cmxLZXksIGV2ZW50LnNoaWZ0S2V5LCBldmVudC5hbHRLZXksIGV2ZW50Lm1ldGFLZXkpXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3JMaW5rID0gbmV3IFJvdXRlckxpbmsoXG4gICAgICAgIHJvdXRlcixcbiAgICAgICAgcm91dGUsXG4gICAgICAgIHRhYkluZGV4IGFzIHN0cmluZyxcbiAgICAgICAgcmVuZGVyZXIsXG4gICAgICAgIGVsXG4gICAgICApXG4gICAgICAvLyBjb25zb2xlLmxvZygnckxpbmsnLCB0aGlzLnJMaW5rKVxuXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IHRoaXMuZWwubmF0aXZlRWxlbWVudC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX3JMaW5rJywgdGhpcy5fckxpbmsgJiYgdGhpcy5fckxpbmsudXJsVHJlZSlcbiAgICAgICAgaWYgKHRoaXMuX3JMaW5rKSB7IHJldHVybiB0aGlzLl9yTGluay5vbkNsaWNrKCkgfVxuICAgICAgfSlcblxuICAgICAgLy8gdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSBmcm9tRXZlbnQoZWwubmF0aXZlRWxlbWVudCwgJ2NsaWNrJylcbiAgICAgIC8vICAgLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAvLyAgICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICAvLyAgICAgICB0aGlzLl9yTGluay5vbkNsaWNrKClcbiAgICAgIC8vICAgICB9IGVsc2Uge1xuICAgICAgLy8gICAgICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIC8vICAgICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKVxuICAgICAgLy8gICAgICAgfVxuICAgICAgLy8gICAgIH1cbiAgICAgIC8vICAgfSlcbiAgICB9XG4gIH1cblxuICBnZXQgcm91dGVyTGluaygpOiBSb3V0ZXJMaW5rIHwgdW5kZWZpbmVkIHsgcmV0dXJuIHRoaXMuX3JMaW5rIH1cbiAgZ2V0IHJvdXRlckxpbmtXaXRoSHJlZigpOiBSb3V0ZXJMaW5rV2l0aEhyZWYgfCB1bmRlZmluZWQgeyByZXR1cm4gdGhpcy5fckxpbmtXaXRoSHJlZiB9XG5cbiAgc2V0IHJvdXRlckxpbmtJbnB1dChjb21tYW5kczogYW55W10gfCBzdHJpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJvdXRlckxpbmsgPSBjb21tYW5kc1xuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yb3V0ZXJMaW5rID0gY29tbWFuZHNcbiAgICB9XG4gIH1cblxuICBzZXQgcXVlcnlQYXJhbXModmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5xdWVyeVBhcmFtcyA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnF1ZXJ5UGFyYW1zID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgZnJhZ21lbnQodmFsdWU6IHN0cmluZykge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsuZnJhZ21lbnQgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5mcmFnbWVudCA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHF1ZXJ5UGFyYW1zSGFuZGxpbmcodmFsdWU6IFF1ZXJ5UGFyYW1zSGFuZGxpbmcpIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnF1ZXJ5UGFyYW1zSGFuZGxpbmcgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgcHJlc2VydmVGcmFnbWVudCh2YWx1ZTogYm9vbGVhbikge1xuICAgIGlmICh0aGlzLl9yTGluaykge1xuICAgICAgdGhpcy5fckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnByZXNlcnZlRnJhZ21lbnQgPSB2YWx1ZVxuICAgIH1cbiAgfVxuXG4gIHNldCBza2lwTG9jYXRpb25DaGFuZ2UodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnNraXBMb2NhdGlvbkNoYW5nZSA9IHZhbHVlXG4gICAgfVxuICB9XG5cbiAgc2V0IHJlcGxhY2VVcmwodmFsdWU6IGJvb2xlYW4pIHtcbiAgICBpZiAodGhpcy5fckxpbmspIHtcbiAgICAgIHRoaXMuX3JMaW5rLnJlcGxhY2VVcmwgPSB2YWx1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi5yZXBsYWNlVXJsID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgc3RhdGUodmFsdWU6IHsgW2s6IHN0cmluZ106IGFueSB9KSB7XG4gICAgaWYgKHRoaXMuX3JMaW5rKSB7XG4gICAgICB0aGlzLl9yTGluay5zdGF0ZSA9IHZhbHVlXG4gICAgfSBlbHNlIGlmICh0aGlzLl9yTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLnN0YXRlID0gdmFsdWVcbiAgICB9XG4gIH1cblxuICBzZXQgdGFyZ2V0KHZhbHVlOiBzdHJpbmcgfCB1bmRlZmluZWQpIHtcbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fckxpbmtXaXRoSHJlZi50YXJnZXQgPSB2YWx1ZSBhcyBzdHJpbmdcblxuICAgICAgaWYgKHZhbHVlKSB7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIHZhbHVlKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdG9nZ2xlQXR0cmlidXRlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ3RhcmdldCcsIGZhbHNlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkZXN0cm95KCkge1xuICAgIC8vIGlmICh0aGlzLl9jbGlja1N1YnNjcmlwdGlvbiAmJiAhdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24uY2xvc2VkKSB7XG4gICAgLy8gICB0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpXG4gICAgLy8gfVxuICAgIGlmICh0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lcikge1xuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgdGhpcy5fckxpbmtDbGlja0V2ZW50TGlzdGVuZXIpXG4gICAgICB0aGlzLl9yTGlua0NsaWNrRXZlbnRMaXN0ZW5lciA9IG51bGxcbiAgICB9XG5cbiAgICBpZiAodGhpcy5fckxpbmtXaXRoSHJlZiAmJiB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KSB7XG4gICAgICB0aGlzLl9yTGlua1dpdGhIcmVmLm5nT25EZXN0cm95KClcbiAgICB9XG4gIH1cblxufVxuXG4vLyBUT0RPOiBSZWZhY3RvciB0aGlzIGRpcmVjdGl2ZS4gSXQgZ290IHdheSBtb3JlIGNvbXBsZXggaW5zdGVhZCBvZiBtb3JlXG4vLyBzaW1wbGlmaWVkIGxpa2UgaXQgd2FzIHN1cHBvc2VkIHRvIGJlLlxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW3NlYW1EYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1dJyxcbiAgZXhwb3J0QXM6ICdzZWFtRGF0YXRhYmxlRHluYW1pY0FjdGlvbk1lbnVJdGVtJ1xufSlcbmV4cG9ydCBjbGFzcyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmUgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSwgT25DaGFuZ2VzIHtcblxuICBASW5wdXQoKVxuICAvLyBnZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSgpOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCB7IHJldHVybiB0aGlzLl9yZWNvcmQgfVxuICBzZXQgc2VhbURhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbSh2YWx1ZTogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpIHtcbiAgICB0aGlzLl9yZWNvcmQubmV4dCh2YWx1ZSlcbiAgfVxuICBwcml2YXRlIF9yZWNvcmQgPSBuZXcgUmVwbGF5U3ViamVjdDxEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZD4oMSlcblxuICBwcml2YXRlIF9jbGlja1N1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvblxuICBwcml2YXRlIF9tZW51Um91dGVyTGluaz86IERhdGF0YWJsZUR5bmFtaWNBY3Rpb25NZW51SXRlbVJvdXRlckxpbmtcblxuICBwcml2YXRlIF9yZWNvcmRTdWJzY3JpcHRpb24gPSBTdWJzY3JpcHRpb24uRU1QVFlcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PixcbiAgICBwcml2YXRlIF9yZW5kZXJlcjogUmVuZGVyZXIyLFxuICAgIHByaXZhdGUgX3ZhbHVlSGVscGVyOiBEeW5hbWljVmFsdWVIZWxwZXJTZXJ2aWNlLFxuICAgIHByaXZhdGUgX2FjdGlvbkhlbHBlcjogRHluYW1pY0FjdGlvbkhlbHBlclNlcnZpY2UsXG4gICAgcHJpdmF0ZSBfYXNzZXRSZWFkZXJIZWxwZXI6IEFzc2V0UmVhZGVySGVscGVyU2VydmljZSxcbiAgICBwcml2YXRlIF9yb3V0ZXI6IFJvdXRlcixcbiAgICBwcml2YXRlIF9yb3V0ZTogQWN0aXZhdGVkUm91dGUsXG4gICAgcHJpdmF0ZSBfbG9jYXRpb25TdHJhdGVneTogTG9jYXRpb25TdHJhdGVneVxuICApIHtcbiAgICB0aGlzLl9yZWNvcmRTdWJzY3JpcHRpb24gPSB0aGlzLl9yZWNvcmQucGlwZShcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQnLCB2KSksXG4gICAgICBzd2l0Y2hNYXAocmVjb3JkID0+IHRoaXMuX3VwZGF0ZShyZWNvcmQpKSxcbiAgICAgIHRhcCgoKSA9PiB7IHRoaXMuX3NldEludmFsaWRBY3Rpb25TdGF0ZShmYWxzZSkgfSksXG4gICAgICBjYXRjaEVycm9yKGVycm9yID0+IHtcbiAgICAgICAgaWYgKGlzRGV2TW9kZSgpKSB7IGNvbnNvbGUuZXJyb3IoZXJyb3IpIH1cbiAgICAgICAgdGhpcy5fc2V0SW52YWxpZEFjdGlvblN0YXRlKHRydWUpXG4gICAgICAgIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgICB9KSxcbiAgICAgIC8vIHRhcCh2ID0+IGNvbnNvbGUubG9nKCdyZWNvcmQgRE9ORScsIHYpKVxuICAgICkuc3Vic2NyaWJlKClcbiAgfVxuXG4gIG5nT25Jbml0KCkgeyB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fcmVjb3JkU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB0aGlzLl91bnN1YkNsaWNrKClcbiAgICBpZiAodGhpcy5fbWVudVJvdXRlckxpbmsgJiYgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmKSB7XG4gICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYubmdPbkRlc3Ryb3koKVxuICAgIH1cbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IHt9KSB7XG4gICAgLy8gY29uc29sZS5sb2coJ25nT25DaGFuZ2VzJywgY2hhbmdlcywgdGhpcywgdGhpcy5fbWVudVJvdXRlckxpbmspXG4gICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rICYmIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZikge1xuICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLm5nT25DaGFuZ2VzKHt9KVxuICAgICAgaWYgKHRoaXMuX21lbnVSb3V0ZXJMaW5rLnJvdXRlckxpbmtXaXRoSHJlZi5ocmVmKSB7XG4gICAgICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAnaHJlZicpICE9PSB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rV2l0aEhyZWYuaHJlZikge1xuICAgICAgICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgdGhpcy5fbWVudVJvdXRlckxpbmsucm91dGVyTGlua1dpdGhIcmVmLmhyZWYpXG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRvZ2dsZUF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdocmVmJywgZmFsc2UpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIF91cGRhdGUocmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuXG4gICAgcmV0dXJuIGZyb20odGhpcy5fZ2V0VWlQcm9wcyhyZWNvcmQpKS5waXBlKFxuICAgICAgc3dpdGNoTWFwKHVpUHJvcHMgPT4gdGhpcy5faXNBbmNob3IoKVxuICAgICAgICA/IHRoaXMuX3VwZGF0ZUFuY2hvckVsZW1lbnQocmVjb3JkLCB1aVByb3BzIGFzIER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZilcbiAgICAgICAgOiB0aGlzLl91cGRhdGVCdXR0b25FbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgICApXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQW5jaG9yRWxlbWVudChcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG5cbiAgICBzd2l0Y2ggKHVpUHJvcHMudHJpZ2dlclR5cGUpIHtcbiAgICAgIGNhc2UgJ2xpbmsnOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rXCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgICB0aGlzLl9pbml0TWVudUl0ZW1Sb3V0ZXJMaW5rKHJlY29yZCwgdWlQcm9wcylcblxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnbGluay1leHRlcm5hbCc6IHtcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ0hhbmRsZSBcImxpbmstZXh0ZXJuYWxcIiB0cmlnZ2VyVHlwZS4nLCB1aVByb3BzKVxuICAgICAgICAvLyB0aGlzLl90cnlJbml0VGFiSW5kZXgoKVxuICAgICAgICB0aGlzLl90cnlJbml0QmxvY2tDbGljayhyZWNvcmQsIHVpUHJvcHMpXG4gICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnbGlua1VybCcpKSB7XG4gICAgICAgICAgdGhpcy5fc2V0QXR0cignaHJlZicsIHVpUHJvcHMubGlua1VybClcbiAgICAgICAgfVxuICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgdGhpcy5fc2V0QXR0cigndGFyZ2V0JywgdWlQcm9wcy5saW5rRXh0cmFzLnRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gVE9ETzogQ29uc2lkZXIgbWFraW5nIHRoZSBJdGVtUm91dGVyTGluayB3b3JrIHdpdGggZXh0ZXJuYWwgdXJscy5cbiAgICAgICAgLy8gdGhpcy5faW5pdE1lbnVJdGVtUm91dGVyTGluayhyZWNvcmQsIHVpUHJvcHMpXG5cbiAgICAgICAgYnJlYWtcbiAgICAgIH1cbiAgICAgIC8vIFRPRE86IFVubGVzcyB3ZSBkZWNpZGUgdG8gYWRkIGEgcm91dGUgZm9yIG9wZW5uaW5nIGFzc2V0cywgdGhpcyB3b3VsZFxuICAgICAgLy8gYmUgY29uZnVzaW5nIHRvIGEgdXNlci5cbiAgICAgIC8vIGNhc2UgJ2xpbmstYXNzZXQnOiB7XG4gICAgICAvLyAgIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJsaW5rLWFzc2V0XCIgdHJpZ2dlclR5cGUuJywgdWlQcm9wcylcbiAgICAgIC8vICAgLy8gdGhpcy5fdHJ5SW5pdFRhYkluZGV4KClcbiAgICAgIC8vICAgdGhpcy5fdHJ5SW5pdEJsb2NrQ2xpY2socmVjb3JkLCB1aVByb3BzKVxuICAgICAgLy8gICBicmVha1xuICAgICAgLy8gfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVCdXR0b25FbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQW5jaG9yRGVmIHwgRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIGxldCBfc3RyZWFtOiBPYnNlcnZhYmxlPGFueT4gPSBvZih1bmRlZmluZWQpXG4gICAgLy8gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcyBhcyBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWYpXG4gICAgc3dpdGNoICh1aVByb3BzLnRyaWdnZXJUeXBlKSB7XG4gICAgICBjYXNlICdsaW5rLWFzc2V0Jzoge1xuICAgICAgICAvLyBjb25zb2xlLmxvZygnSGFuZGxlIFwibGluay1hc3NldFwiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIC8vIHRoaXMuX3RyeUluaXRUYWJJbmRleCgpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQXNzZXRFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgY2FzZSAnY2xpY2snOiB7XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdIYW5kbGUgXCJjbGlja1wiIHRyaWdnZXJUeXBlLicsIHVpUHJvcHMpXG4gICAgICAgIHRoaXMuX3RyeUluaXRCbG9ja0NsaWNrKHJlY29yZCwgdWlQcm9wcylcbiAgICAgICAgX3N0cmVhbSA9IF9zdHJlYW0ucGlwZShzd2l0Y2hNYXAoKCkgPT4gdGhpcy5fdXBkYXRlQ2xpY2tFbGVtZW50KHJlY29yZCwgdWlQcm9wcykpKVxuICAgICAgICBicmVha1xuICAgICAgfVxuICAgICAgZGVmYXVsdDogdGhyb3cgRXJyb3IoJ1tEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1EaXJlY3RpdmVdICcgK1xuICAgICAgICBgdHJpZ2dlclR5cGUgJHt1aVByb3BzLnRyaWdnZXJUeXBlfSBpcyBub3QgdmFsaWQgZm9yIF91cGRhdGVBbmNob3JFbGVtZW50KCkuYClcbiAgICB9XG5cbiAgICByZXR1cm4gX3N0cmVhbS8vIC5waXBlKG1hcFRvKHVuZGVmaW5lZCkpXG4gIH1cblxuICBwcml2YXRlIF91cGRhdGVBc3NldEVsZW1lbnQoXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZCxcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlBbmNob3JEZWYgfCBEeW5hbWljQWN0aW9uVWlCdXR0b25EZWZcbiAgKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgLy8gY29uc29sZS5sb2coJ191cGRhdGVBc3NldEVsZW1lbnQnKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgLy8gY29uc29sZS5sb2coJ3RoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCcsIHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudClcbiAgICBjb25zdCB0ID0gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIC8vIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgLy8gY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgLy8gY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2cocmVjb3JkLCB1aVByb3BzKVxuICAgICAgICAvLyBjb25zb2xlLmxvZygnX3VwZGF0ZUNsaWNrRWxlbWVudCBjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICBpZiAodGhpcy5fYXNzZXRSZWFkZXJIZWxwZXIpIHtcbiAgICAgICAgICBpZiAodWlQcm9wcy50cmlnZ2VyVHlwZSA9PT0gJ2xpbmstYXNzZXQnICYmIGhhc1Byb3BlcnR5KHVpUHJvcHMsICdsaW5rVXJsJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHVybCA9IHVpUHJvcHMubGlua1VybFxuICAgICAgICAgICAgbGV0IHRhcmdldDogc3RyaW5nIHwgdW5kZWZpbmVkXG4gICAgICAgICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSAmJiBoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICd0YXJnZXQnKSkge1xuICAgICAgICAgICAgICB0YXJnZXQgPSB1aVByb3BzLmxpbmtFeHRyYXMudGFyZ2V0XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9hc3NldFJlYWRlckhlbHBlci5vcGVuTGluayh1cmwsIHRydWUsIHRydWUsIHRhcmdldClcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLy8gaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgLy8gICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgIC8vICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgLy8gfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuXG4gICAgcmV0dXJuIG9mKHVuZGVmaW5lZCkucGlwZShcbiAgICAgIC8vIHRhcCgoKSA9PiBjb25zb2xlLmxvZygnc3RhcnRpbmcgX3VwZGF0ZUJ1dHRvbkVsZW1lbnQnKSksXG4gICAgICBzd2l0Y2hNYXAoKCkgPT4gdCksXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfdXBkYXRlQ2xpY2tFbGVtZW50KFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpQnV0dG9uRGVmXG4gICk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdfdXBkYXRlQ2xpY2tFbGVtZW50JywgcmVjb3JkLCB1aVByb3BzKVxuICAgIC8vIHJldHVybiBvZih1bmRlZmluZWQpXG4gICAgcmV0dXJuIGZyb21FdmVudCh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsICdjbGljaycpLnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoZXZlbnQgPT4ge1xuICAgICAgICBjb25zdCBfY29udGV4dCA9IHRoaXMuX2dldENvbnRleHQocmVjb3JkLl9yb3csIHJlY29yZC5yb3dBY3Rpb24pXG4gICAgICAgIGNvbnN0IGNvbnRleHQgPSB7IC4uLl9jb250ZXh0LCBldmVudCwgdWlQcm9wcyB9XG4gICAgICAgIC8vIGNvbnNvbGUubG9nKCdjbGljaycsICg8YW55PmV2ZW50KS5idXR0b24sIGV2ZW50KVxuICAgICAgICAvLyBpZiAoIXJlc3VsdCkge1xuICAgICAgICAvLyAgIGV2ZW50LnByZXZlbnREZWZhdWx0KClcbiAgICAgICAgLy8gICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAvLyB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGlvbkhlbHBlci5leGVjKHVpUHJvcHMuX2FjdGlvbkRlZiwgY29udGV4dClcbiAgICAgIH0pLFxuICAgICAgbWFwVG8odW5kZWZpbmVkKVxuICAgIClcbiAgfVxuXG4gIHByaXZhdGUgX3Vuc3ViQ2xpY2soKSB7XG4gICAgaWYgKHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uICYmICF0aGlzLl9jbGlja1N1YnNjcmlwdGlvbi5jbG9zZWQpIHtcbiAgICAgIHRoaXMuX2NsaWNrU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKClcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRBdHRyKGF0dHI6IHN0cmluZywgdmFsdWU6IHN0cmluZykge1xuICAgIHRoaXMuX3JlbmRlcmVyLnNldEF0dHJpYnV0ZSh0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIGF0dHIsIHZhbHVlKVxuICB9XG5cbiAgcHJpdmF0ZSBfdHJ5SW5pdFRhYkluZGV4KCkge1xuICAgIGlmIChnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5fcmVuZGVyZXIuc2V0QXR0cmlidXRlKHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ3RhYmluZGV4JywgJzAnKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX3RyeUluaXRCbG9ja0NsaWNrKFxuICAgIHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQsXG4gICAgdWlQcm9wczogRHluYW1pY0FjdGlvblVpRGVmXG4gICkge1xuICAgIHRoaXMuX3Vuc3ViQ2xpY2soKVxuICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLCAnYmxvY2tDbGlja0V4cHInKSkge1xuICAgICAgdGhpcy5fY2xpY2tTdWJzY3JpcHRpb24gPSB0aGlzLl9ibG9ja0NsaWNrRXhwck9ic2VydmFibGUodWlQcm9wcywgcmVjb3JkKS5zdWJzY3JpYmUoKVxuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgX2Jsb2NrQ2xpY2tFeHByT2JzZXJ2YWJsZShcbiAgICB1aVByb3BzOiBEeW5hbWljQWN0aW9uVWlEZWYsXG4gICAgcmVjb3JkOiBEeW5hbWljRGF0YXRhYmxlQWN0aW9uTWVudVJlY29yZFxuICApIHtcbiAgICByZXR1cm4gZnJvbUV2ZW50KHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2NsaWNrJykucGlwZShcbiAgICAgIHRhcChldmVudCA9PiB7XG4gICAgICAgIGNvbnN0IF9jb250ZXh0ID0gdGhpcy5fZ2V0Q29udGV4dChyZWNvcmQuX3JvdywgcmVjb3JkLnJvd0FjdGlvbilcbiAgICAgICAgY29uc3QgY29udGV4dCA9IHsgLi4uX2NvbnRleHQsIGV2ZW50LCB1aVByb3BzIH1cbiAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5fdmFsdWVIZWxwZXIuZXZhbFN5bmModWlQcm9wcy5ibG9ja0NsaWNrRXhwciwgY29udGV4dClcbiAgICAgICAgLy8gY29uc29sZS5sb2coJ2NsaWNrJywgcmVzdWx0LCAoPGFueT5ldmVudCkuYnV0dG9uLCBldmVudClcbiAgICAgICAgaWYgKCFyZXN1bHQpIHtcbiAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgfVxuICAgICAgfSksXG4gICAgICBtYXBUbyh1bmRlZmluZWQpXG4gICAgKVxuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdE1lbnVJdGVtUm91dGVyTGluayhcbiAgICByZWNvcmQ6IER5bmFtaWNEYXRhdGFibGVBY3Rpb25NZW51UmVjb3JkLFxuICAgIHVpUHJvcHM6IER5bmFtaWNBY3Rpb25VaUFuY2hvckRlZlxuICApIHtcbiAgICB0aGlzLl9tZW51Um91dGVyTGluayA9IG5ldyBEYXRhdGFibGVEeW5hbWljQWN0aW9uTWVudUl0ZW1Sb3V0ZXJMaW5rKFxuICAgICAgdGhpcy5fcm91dGVyLFxuICAgICAgdGhpcy5fcm91dGUsXG4gICAgICBnZXRBdHRyaWJ1dGUodGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndGFiaW5kZXgnKSxcbiAgICAgIHRoaXMuX3JlbmRlcmVyLFxuICAgICAgdGhpcy5fZWxlbWVudFJlZixcbiAgICAgIHRoaXMuX2xvY2F0aW9uU3RyYXRlZ3lcbiAgICApXG4gICAgLy8gY29uc29sZS5sb2codGhpcy5fbWVudVJvdXRlckxpbmspXG5cbiAgICB0aGlzLl9tZW51Um91dGVyTGluay5yb3V0ZXJMaW5rSW5wdXQgPSB1aVByb3BzLmxpbmtVcmwgYXMgc3RyaW5nXG5cbiAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcywgJ2xpbmtFeHRyYXMnKSkge1xuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3RhcmdldCcpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnRhcmdldCA9IHVpUHJvcHMubGlua0V4dHJhcy50YXJnZXRcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdxdWVyeVBhcmFtcycpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnF1ZXJ5UGFyYW1zID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zXG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnZnJhZ21lbnQnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5mcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5mcmFnbWVudFxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3F1ZXJ5UGFyYW1zSGFuZGxpbmcnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5xdWVyeVBhcmFtc0hhbmRsaW5nID0gdWlQcm9wcy5saW5rRXh0cmFzLnF1ZXJ5UGFyYW1zSGFuZGxpbmdcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdwcmVzZXJ2ZUZyYWdtZW50JykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsucHJlc2VydmVGcmFnbWVudCA9IHVpUHJvcHMubGlua0V4dHJhcy5wcmVzZXJ2ZUZyYWdtZW50XG4gICAgICB9XG4gICAgICBpZiAoaGFzUHJvcGVydHkodWlQcm9wcy5saW5rRXh0cmFzLCAnc2tpcExvY2F0aW9uQ2hhbmdlJykpIHtcbiAgICAgICAgdGhpcy5fbWVudVJvdXRlckxpbmsuc2tpcExvY2F0aW9uQ2hhbmdlID0gdWlQcm9wcy5saW5rRXh0cmFzLnNraXBMb2NhdGlvbkNoYW5nZVxuICAgICAgfVxuICAgICAgaWYgKGhhc1Byb3BlcnR5KHVpUHJvcHMubGlua0V4dHJhcywgJ3JlcGxhY2VVcmwnKSkge1xuICAgICAgICB0aGlzLl9tZW51Um91dGVyTGluay5yZXBsYWNlVXJsID0gdWlQcm9wcy5saW5rRXh0cmFzLnJlcGxhY2VVcmxcbiAgICAgIH1cbiAgICAgIGlmIChoYXNQcm9wZXJ0eSh1aVByb3BzLmxpbmtFeHRyYXMsICdzdGF0ZScpKSB7XG4gICAgICAgIHRoaXMuX21lbnVSb3V0ZXJMaW5rLnN0YXRlID0gdWlQcm9wcy5saW5rRXh0cmFzLnN0YXRlXG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5uZ09uQ2hhbmdlcyh7fSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzQW5jaG9yKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQubm9kZU5hbWUudG9Mb3dlckNhc2UoKSA9PT0gJ2EnXG4gIH1cblxuICBwcml2YXRlIF9nZXRVaVByb3BzKHJlY29yZDogRHluYW1pY0RhdGF0YWJsZUFjdGlvbk1lbnVSZWNvcmQpOiBQcm9taXNlPER5bmFtaWNBY3Rpb25VaURlZj4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLl9nZXRDb250ZXh0KHJlY29yZC5fcm93LCByZWNvcmQucm93QWN0aW9uKVxuICAgIHJldHVybiB0aGlzLl9hY3Rpb25IZWxwZXIuZ2V0VWlQcm9wcyhyZWNvcmQucm93QWN0aW9uLmFjdGlvbiwgY29udGV4dClcbiAgfVxuXG4gIC8qKiBAaWdub3JlICovXG4gIHByaXZhdGUgX2dldENvbnRleHQocm93OiBEeW5hbWljRGF0YXRhYmxlUm93LCAgcm93QWN0aW9uRGVmOiBEeW5hbWljRGF0YXRhYmxlUm93QWN0aW9uKTogRHluYW1pY0RhdGF0YWJsZVJvd0FjdGlvbkNvbnRleHQge1xuICAgIHJldHVybiB7XG4gICAgICByb3dcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIF9zZXRJbnZhbGlkQWN0aW9uU3RhdGUoaW52YWxpZDogYm9vbGVhbiA9IGZhbHNlKSB7XG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudFxuICAgIHRvZ2dsZUF0dHJpYnV0ZShlbGVtZW50LCAnZGlzYWJsZWQnLCBpbnZhbGlkKVxuICB9XG5cbn1cbiJdfQ==
|