@theseam/ui-common 0.2.12 → 0.2.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/vendor/intl-tel-input/js/utils.js +255 -254
- package/bundles/theseam-ui-common-asset-reader.umd.js +7 -9
- package/bundles/theseam-ui-common-asset-reader.umd.js.map +1 -1
- package/bundles/theseam-ui-common-breadcrumbs.umd.js +6 -8
- package/bundles/theseam-ui-common-breadcrumbs.umd.js.map +1 -1
- package/bundles/theseam-ui-common-buttons.umd.js +5 -5
- package/bundles/theseam-ui-common-buttons.umd.js.map +1 -1
- package/bundles/theseam-ui-common-card.umd.js +6 -6
- package/bundles/theseam-ui-common-card.umd.js.map +1 -1
- package/bundles/theseam-ui-common-checkbox.umd.js +4 -4
- package/bundles/theseam-ui-common-checkbox.umd.js.map +1 -1
- package/bundles/theseam-ui-common-confirm-dialog.umd.js +4 -4
- package/bundles/theseam-ui-common-confirm-dialog.umd.js.map +1 -1
- package/bundles/theseam-ui-common-core.umd.js +4 -4
- package/bundles/theseam-ui-common-core.umd.js.map +1 -1
- package/bundles/theseam-ui-common-data-exporter.umd.js +5 -5
- package/bundles/theseam-ui-common-data-filters.umd.js +9 -6
- package/bundles/theseam-ui-common-data-filters.umd.js.map +1 -1
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js +7 -7
- package/bundles/theseam-ui-common-datatable-dynamic.umd.js.map +1 -1
- package/bundles/theseam-ui-common-datatable.umd.js +1308 -375
- package/bundles/theseam-ui-common-datatable.umd.js.map +1 -1
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js +5 -7
- package/bundles/theseam-ui-common-dynamic-component-loader.umd.js.map +1 -1
- package/bundles/theseam-ui-common-dynamic.umd.js +7 -9
- package/bundles/theseam-ui-common-dynamic.umd.js.map +1 -1
- package/bundles/theseam-ui-common-footer-bar.umd.js +3 -3
- package/bundles/theseam-ui-common-form-field-error.umd.js +5 -5
- package/bundles/theseam-ui-common-form-field-error.umd.js.map +1 -1
- package/bundles/theseam-ui-common-form-field.umd.js +5 -5
- package/bundles/theseam-ui-common-form-field.umd.js.map +1 -1
- package/bundles/theseam-ui-common-framework.umd.js +27 -29
- package/bundles/theseam-ui-common-framework.umd.js.map +1 -1
- package/bundles/theseam-ui-common-graphql.umd.js +958 -8
- package/bundles/theseam-ui-common-graphql.umd.js.map +1 -1
- package/bundles/theseam-ui-common-icon.umd.js +5 -5
- package/bundles/theseam-ui-common-icon.umd.js.map +1 -1
- package/bundles/theseam-ui-common-layout.umd.js +5 -7
- package/bundles/theseam-ui-common-layout.umd.js.map +1 -1
- package/bundles/theseam-ui-common-loading.umd.js +4 -4
- package/bundles/theseam-ui-common-menu.umd.js +5 -5
- package/bundles/theseam-ui-common-menu.umd.js.map +1 -1
- package/bundles/theseam-ui-common-modal.umd.js +6 -6
- package/bundles/theseam-ui-common-modal.umd.js.map +1 -1
- package/bundles/theseam-ui-common-models.umd.js +3 -3
- package/bundles/theseam-ui-common-popover.umd.js +4 -4
- package/bundles/theseam-ui-common-progress.umd.js +5 -5
- package/bundles/theseam-ui-common-progress.umd.js.map +1 -1
- package/bundles/theseam-ui-common-scrollbar.umd.js +7 -9
- package/bundles/theseam-ui-common-scrollbar.umd.js.map +1 -1
- package/bundles/theseam-ui-common-services.umd.js +6 -8
- package/bundles/theseam-ui-common-services.umd.js.map +1 -1
- package/bundles/theseam-ui-common-shared.umd.js +4 -4
- package/bundles/theseam-ui-common-shared.umd.js.map +1 -1
- package/bundles/theseam-ui-common-storage.umd.js +5 -7
- package/bundles/theseam-ui-common-storage.umd.js.map +1 -1
- package/bundles/theseam-ui-common-story-helpers.umd.js +4 -4
- package/bundles/theseam-ui-common-story-helpers.umd.js.map +1 -1
- package/bundles/theseam-ui-common-tabbed.umd.js +5 -5
- package/bundles/theseam-ui-common-tabbed.umd.js.map +1 -1
- package/bundles/theseam-ui-common-table-cell-type.umd.js +5 -7
- package/bundles/theseam-ui-common-table-cell-type.umd.js.map +1 -1
- package/bundles/theseam-ui-common-table-cell-types.umd.js +16 -16
- package/bundles/theseam-ui-common-table-cell-types.umd.js.map +1 -1
- package/bundles/theseam-ui-common-table.umd.js +5 -5
- package/bundles/theseam-ui-common-table.umd.js.map +1 -1
- package/bundles/theseam-ui-common-tel-input.umd.js +6 -6
- package/bundles/theseam-ui-common-tel-input.umd.js.map +1 -1
- package/bundles/theseam-ui-common-testing.umd.js +568 -0
- package/bundles/theseam-ui-common-testing.umd.js.map +1 -0
- package/bundles/theseam-ui-common-tiled-select.umd.js +56 -39
- package/bundles/theseam-ui-common-tiled-select.umd.js.map +1 -1
- package/bundles/theseam-ui-common-toggle-edit.umd.js +8 -10
- package/bundles/theseam-ui-common-toggle-edit.umd.js.map +1 -1
- package/bundles/theseam-ui-common-toggle-group.umd.js +4 -4
- package/bundles/theseam-ui-common-toggle-group.umd.js.map +1 -1
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js +5 -7
- package/bundles/theseam-ui-common-unsaved-changes-dialog.umd.js.map +1 -1
- package/bundles/theseam-ui-common-utils.umd.js +174 -81
- package/bundles/theseam-ui-common-utils.umd.js.map +1 -1
- package/bundles/theseam-ui-common-validators.umd.js +3 -3
- package/bundles/theseam-ui-common-viewers.umd.js +6 -8
- package/bundles/theseam-ui-common-viewers.umd.js.map +1 -1
- package/bundles/theseam-ui-common-widget.umd.js +18 -20
- package/bundles/theseam-ui-common-widget.umd.js.map +1 -1
- package/bundles/theseam-ui-common.umd.js +2 -2
- package/buttons/theseam-ui-common-buttons.metadata.json +1 -1
- package/card/theseam-ui-common-card.metadata.json +1 -1
- package/data-filters/data-filter.d.ts +10 -6
- package/data-filters/theseam-ui-common-data-filters.metadata.json +1 -1
- package/datatable/datatable/datatable.component.d.ts +46 -32
- package/datatable/datatable-column/datatable-column.component.d.ts +26 -25
- package/datatable/datatable-column-preferences/datatable-column-preferences.component.d.ts +7 -5
- package/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.d.ts +7 -1
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +1 -1
- package/datatable/directives/datatable-filter.directive.d.ts +1 -1
- package/datatable/models/columns-alteration.d.ts +61 -0
- package/datatable/models/columns-alterations/hide-column.columns-alteration.d.ts +15 -0
- package/datatable/models/columns-alterations/order.columns-alteration.d.ts +20 -0
- package/datatable/models/columns-alterations/sort.columns-alteration.d.ts +14 -0
- package/datatable/models/columns-alterations/width.columns-alteration.d.ts +16 -0
- package/datatable/models/datatable-accessor.d.ts +5 -3
- package/datatable/models/internal-column-props.d.ts +7 -0
- package/datatable/models/page-info.d.ts +12 -0
- package/datatable/models/preferences-accessor.d.ts +1 -1
- package/datatable/models/preferences.d.ts +11 -3
- package/datatable/models/sort-item.d.ts +2 -1
- package/datatable/services/columns-alterations-manager.service.d.ts +39 -0
- package/datatable/services/columns-manager.service.d.ts +55 -0
- package/datatable/services/datatable-preferences.service.d.ts +10 -7
- package/datatable/theseam-ui-common-datatable.d.ts +2 -0
- package/datatable/theseam-ui-common-datatable.metadata.json +1 -1
- package/datatable/tokens/datatable-preferences-accessor.d.ts +2 -2
- package/datatable/utils/create-action-menu-column.d.ts +3 -0
- package/datatable/utils/create-checkbox-column.d.ts +3 -0
- package/datatable/utils/get-column-prop.d.ts +5 -0
- package/datatable/utils/map-columns-alterations-states.d.ts +2 -0
- package/datatable/utils/remove-unused-diffs.d.ts +7 -0
- package/datatable/utils/set-column-defaults.d.ts +2 -0
- package/datatable/utils/translate-templates.d.ts +2 -0
- package/datatable/utils/with-stored-column-info.d.ts +2 -2
- package/datatable-dynamic/theseam-ui-common-datatable-dynamic.metadata.json +1 -1
- package/esm2015/buttons/progress-circle-button/progress-circle-button.component.js +1 -1
- package/esm2015/card/card-action/card-action.component.js +1 -1
- package/esm2015/card/card-body/card-body.component.js +1 -1
- package/esm2015/data-filters/data-filter.js +5 -2
- package/esm2015/data-filters/filters/data-filter-search/data-filter-search.component.js +1 -1
- package/esm2015/data-filters/filters/data-filter-text/data-filter-text.component.js +1 -1
- package/esm2015/datatable/datatable/datatable.component.js +195 -211
- package/esm2015/datatable/datatable-action-menu/datatable-action-menu.component.js +1 -1
- package/esm2015/datatable/datatable-column/datatable-column.component.js +1 -1
- package/esm2015/datatable/datatable-column-preferences/datatable-column-preferences.component.js +42 -19
- package/esm2015/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.js +38 -4
- package/esm2015/datatable/datatable-export-button/datatable-export-button.component.js +1 -1
- package/esm2015/datatable/datatable-menu-bar/datatable-menu-bar.component.js +1 -1
- package/esm2015/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.js +1 -1
- package/esm2015/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.js +1 -1
- package/esm2015/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.js +1 -1
- package/esm2015/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.js +1 -1
- package/esm2015/datatable/models/columns-alteration.js +38 -0
- package/esm2015/datatable/models/columns-alterations/hide-column.columns-alteration.js +38 -0
- package/esm2015/datatable/models/columns-alterations/order.columns-alteration.js +81 -0
- package/esm2015/datatable/models/columns-alterations/sort.columns-alteration.js +33 -0
- package/esm2015/datatable/models/columns-alterations/width.columns-alteration.js +41 -0
- package/esm2015/datatable/models/datatable-accessor.js +1 -1
- package/esm2015/datatable/models/internal-column-props.js +15 -0
- package/esm2015/datatable/models/page-info.js +1 -1
- package/esm2015/datatable/models/preferences-accessor.js +1 -1
- package/esm2015/datatable/models/preferences.js +6 -2
- package/esm2015/datatable/models/sort-item.js +1 -1
- package/esm2015/datatable/services/columns-alterations-manager.service.js +134 -0
- package/esm2015/datatable/services/columns-manager.service.js +257 -0
- package/esm2015/datatable/services/datatable-preferences.service.js +78 -32
- package/esm2015/datatable/theseam-ui-common-datatable.js +3 -1
- package/esm2015/datatable/tokens/datatable-preferences-accessor.js +2 -2
- package/esm2015/datatable/utils/create-action-menu-column.js +18 -0
- package/esm2015/datatable/utils/create-checkbox-column.js +15 -0
- package/esm2015/datatable/utils/get-column-prop.js +9 -0
- package/esm2015/datatable/utils/map-columns-alterations-states.js +39 -0
- package/esm2015/datatable/utils/remove-unused-diffs.js +9 -0
- package/esm2015/datatable/utils/set-column-defaults.js +10 -0
- package/esm2015/datatable/utils/translate-templates.js +12 -0
- package/esm2015/datatable/utils/with-stored-column-info.js +1 -1
- package/esm2015/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.js +1 -1
- package/esm2015/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.js +1 -1
- package/esm2015/datatable-dynamic/datatable-dynamic.component.js +1 -1
- package/esm2015/form-field/form-field.component.js +1 -1
- package/esm2015/form-field-error/form-field-error/form-field-error.component.js +1 -1
- package/esm2015/framework/base-layout/base-layout.component.js +1 -1
- package/esm2015/framework/dashboard/dashboard-widgets/dashboard-widgets.component.js +1 -1
- package/esm2015/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.js +1 -1
- package/esm2015/framework/schema-form-controls/schema-form-input/schema-form-input.component.js +1 -1
- package/esm2015/framework/schema-form-controls/schema-form-number/schema-form-number.component.js +1 -1
- package/esm2015/framework/schema-form-controls/schema-form-select/schema-form-select.component.js +1 -1
- package/esm2015/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.js +1 -1
- package/esm2015/framework/side-nav/side-nav-item/side-nav-item.component.js +1 -1
- package/esm2015/framework/side-nav/side-nav-toggle/side-nav-toggle.component.js +1 -1
- package/esm2015/framework/side-nav/side-nav.component.js +1 -1
- package/esm2015/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.js +1 -1
- package/esm2015/framework/top-bar/top-bar-title/top-bar-title.component.js +1 -1
- package/esm2015/framework/top-bar/top-bar.component.js +1 -1
- package/esm2015/graphql/datatable/create-page-info-observable.js +38 -0
- package/esm2015/graphql/datatable/datatable-graphql-query-ref.js +236 -0
- package/esm2015/graphql/datatable/datatable-graphql.service.js +35 -0
- package/esm2015/graphql/datatable/datatable-helpers.js +170 -0
- package/esm2015/graphql/datatable/get-page-info.js +11 -0
- package/esm2015/graphql/datatable/index.js +7 -0
- package/esm2015/graphql/datatable/map-filter-states.js +64 -0
- package/esm2015/graphql/datatable/map-page-info.js +14 -0
- package/esm2015/graphql/datatable/mapper-context.js +2 -0
- package/esm2015/graphql/models/gql-datatable-accessor.js +2 -0
- package/esm2015/graphql/models/index.js +2 -1
- package/esm2015/graphql/models/query-processing-config.js +1 -1
- package/esm2015/graphql/public-api.js +2 -1
- package/esm2015/graphql/utils/parse-hints.js +3 -3
- package/esm2015/icon/icon/icon.component.js +1 -1
- package/esm2015/loading/loading/loading.component.js +1 -1
- package/esm2015/menu/menu.component.js +1 -1
- package/esm2015/modal/modal-body/modal-body.component.js +1 -1
- package/esm2015/modal/modal-container/modal-container.component.js +1 -1
- package/esm2015/popover/popover/popover.component.js +1 -1
- package/esm2015/progress/progress-circle/progress-circle.component.js +1 -1
- package/esm2015/tabbed/tabbed.component.js +1 -1
- package/esm2015/table/table/table.component.js +1 -1
- package/esm2015/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.js +1 -1
- package/esm2015/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.js +1 -1
- package/esm2015/tel-input/tel-input/tel-input.component.js +1 -1
- package/esm2015/testing/current-tick-time.js +16 -0
- package/esm2015/testing/fake-toastr.js +29 -0
- package/esm2015/testing/get-harness.js +16 -0
- package/esm2015/testing/public-api.js +7 -0
- package/esm2015/testing/render-story.js +12 -0
- package/esm2015/testing/story-expect.js +39 -0
- package/esm2015/testing/theseam-ui-common-testing.js +5 -0
- package/esm2015/testing/tick-helper.js +74 -0
- package/esm2015/tiled-select/components/tiled-select/tiled-select.component.js +25 -17
- package/esm2015/tiled-select/components/tiled-select-tile/tiled-select-tile.component.js +5 -2
- package/esm2015/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.js +1 -1
- package/esm2015/tiled-select/public-api.js +2 -1
- package/esm2015/tiled-select/tiled-select.models.js +1 -1
- package/esm2015/tiled-select/tiled-select.module.js +4 -4
- package/esm2015/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.js +1 -1
- package/esm2015/toggle-edit/toggle-edit.component.js +1 -1
- package/esm2015/utils/array-move.js +62 -0
- package/esm2015/utils/public-api.js +2 -1
- package/esm2015/utils/router/is-empty-url-route.js +1 -1
- package/esm2015/utils/subscriber-count.js +31 -4
- package/esm2015/widget/widget/widget.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-button-group/widget-button-group.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-content-header/widget-content-header.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-empty-label/widget-empty-label.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-footer-link/widget-footer-link.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-footer-text/widget-footer-text.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-header-badge/widget-header-badge.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-tile/widget-tile.component.js +1 -1
- package/esm2015/widget/widget-content-components/widget-tile-list/widget-tile-list.component.js +1 -1
- package/esm2015/widget/widget-footer/widget-footer.component.js +1 -1
- package/fesm2015/theseam-ui-common-buttons.js +1 -1
- package/fesm2015/theseam-ui-common-card.js +2 -2
- package/fesm2015/theseam-ui-common-data-filters.js +6 -3
- package/fesm2015/theseam-ui-common-data-filters.js.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.js +3 -3
- package/fesm2015/theseam-ui-common-datatable.js +1101 -316
- package/fesm2015/theseam-ui-common-datatable.js.map +1 -1
- package/fesm2015/theseam-ui-common-form-field-error.js +1 -1
- package/fesm2015/theseam-ui-common-form-field.js +1 -1
- package/fesm2015/theseam-ui-common-framework.js +13 -13
- package/fesm2015/theseam-ui-common-graphql.js +555 -5
- package/fesm2015/theseam-ui-common-graphql.js.map +1 -1
- package/fesm2015/theseam-ui-common-icon.js +1 -1
- package/fesm2015/theseam-ui-common-loading.js +1 -1
- package/fesm2015/theseam-ui-common-menu.js +1 -1
- package/fesm2015/theseam-ui-common-modal.js +2 -2
- package/fesm2015/theseam-ui-common-popover.js +1 -1
- package/fesm2015/theseam-ui-common-progress.js +1 -1
- package/fesm2015/theseam-ui-common-tabbed.js +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.js +2 -2
- package/fesm2015/theseam-ui-common-table.js +1 -1
- package/fesm2015/theseam-ui-common-tel-input.js +1 -1
- package/fesm2015/theseam-ui-common-testing.js +191 -0
- package/fesm2015/theseam-ui-common-testing.js.map +1 -0
- package/fesm2015/theseam-ui-common-tiled-select.js +34 -21
- package/fesm2015/theseam-ui-common-tiled-select.js.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.js +2 -2
- package/fesm2015/theseam-ui-common-utils.js +92 -4
- package/fesm2015/theseam-ui-common-utils.js.map +1 -1
- package/fesm2015/theseam-ui-common-widget.js +12 -12
- package/form-field/theseam-ui-common-form-field.metadata.json +1 -1
- package/form-field-error/theseam-ui-common-form-field-error.metadata.json +1 -1
- package/framework/theseam-ui-common-framework.metadata.json +1 -1
- package/graphql/datatable/create-page-info-observable.d.ts +4 -0
- package/graphql/datatable/datatable-graphql-query-ref.d.ts +65 -0
- package/graphql/datatable/datatable-graphql.service.d.ts +26 -0
- package/graphql/datatable/datatable-helpers.d.ts +12 -0
- package/graphql/datatable/get-page-info.d.ts +4 -0
- package/graphql/datatable/index.d.ts +6 -0
- package/graphql/datatable/map-filter-states.d.ts +18 -0
- package/graphql/datatable/map-page-info.d.ts +11 -0
- package/graphql/datatable/mapper-context.d.ts +6 -0
- package/graphql/models/gql-datatable-accessor.d.ts +9 -0
- package/graphql/models/index.d.ts +1 -0
- package/graphql/models/query-processing-config.d.ts +4 -0
- package/graphql/public-api.d.ts +1 -0
- package/graphql/theseam-ui-common-graphql.metadata.json +1 -1
- package/icon/theseam-ui-common-icon.metadata.json +1 -1
- package/loading/theseam-ui-common-loading.metadata.json +1 -1
- package/menu/theseam-ui-common-menu.metadata.json +1 -1
- package/modal/theseam-ui-common-modal.metadata.json +1 -1
- package/package.json +1 -1
- package/popover/theseam-ui-common-popover.metadata.json +1 -1
- package/progress/theseam-ui-common-progress.metadata.json +1 -1
- package/tabbed/theseam-ui-common-tabbed.metadata.json +1 -1
- package/table/theseam-ui-common-table.metadata.json +1 -1
- package/table-cell-types/theseam-ui-common-table-cell-types.metadata.json +1 -1
- package/tel-input/theseam-ui-common-tel-input.metadata.json +1 -1
- package/testing/current-tick-time.d.ts +13 -0
- package/testing/fake-toastr.d.ts +30 -0
- package/testing/get-harness.d.ts +7 -0
- package/testing/package.json +11 -0
- package/testing/public-api.d.ts +6 -0
- package/testing/render-story.d.ts +2 -0
- package/testing/story-expect.d.ts +5 -0
- package/{test-helpers/theseam-ui-common-test-helpers.d.ts → testing/theseam-ui-common-testing.d.ts} +0 -0
- package/testing/theseam-ui-common-testing.metadata.json +1 -0
- package/{test-helpers → testing}/tick-helper.d.ts +0 -0
- package/tiled-select/components/tiled-select/tiled-select.component.d.ts +7 -3
- package/tiled-select/components/tiled-select-tile/tiled-select-tile.component.d.ts +1 -0
- package/tiled-select/theseam-ui-common-tiled-select.metadata.json +1 -1
- package/tiled-select/tiled-select.models.d.ts +3 -1
- package/toggle-edit/theseam-ui-common-toggle-edit.metadata.json +1 -1
- package/utils/array-move.d.ts +49 -0
- package/utils/public-api.d.ts +1 -0
- package/utils/subscriber-count.d.ts +13 -1
- package/utils/theseam-ui-common-utils.metadata.json +1 -1
- package/widget/theseam-ui-common-widget.metadata.json +1 -1
- package/bundles/theseam-ui-common-test-helpers.umd.js +0 -94
- package/bundles/theseam-ui-common-test-helpers.umd.js.map +0 -1
- package/esm2015/test-helpers/public-api.js +0 -2
- package/esm2015/test-helpers/theseam-ui-common-test-helpers.js +0 -5
- package/esm2015/test-helpers/tick-helper.js +0 -74
- package/fesm2015/theseam-ui-common-test-helpers.js +0 -81
- package/fesm2015/theseam-ui-common-test-helpers.js.map +0 -1
- package/test-helpers/package.json +0 -11
- package/test-helpers/public-api.d.ts +0 -1
- package/test-helpers/theseam-ui-common-test-helpers.metadata.json +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"theseam-ui-common-datatable-dynamic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.ts","../../../projects/ui-common/datatable-dynamic/dynamic-datatable-def.service.ts","../../../projects/ui-common/datatable-dynamic/dynamic-datatable-row-actions.service.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-menu-bar-token.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.ts","../../../projects/ui-common/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic.module.ts","../../../projects/ui-common/datatable-dynamic/theseam-ui-common-datatable-dynamic.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { DynamicDatatableColumn } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableColumnsDefaults(\n columns: DynamicDatatableColumn[]\n) {\n for (const col of columns) {\n if (!col.cellType) {\n col.cellType = 'string'\n }\n }\n}\n","import { DynamicDatatableFilterMenu } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableFilterMenuDefaults(\n filterMenu: DynamicDatatableFilterMenu\n) {\n if (!filterMenu.state) {\n filterMenu.state = 'default'\n }\n}\n","import { DynamicDatatableOptions } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableOptionsDefaults(\n options: DynamicDatatableOptions\n) {\n if (options.virtualization === undefined || options.virtualization === null) {\n options.virtualization = true\n }\n}\n","import { DatatableDynamicDef } from '../../datatable-dynamic-def'\n\nimport { setDynamicDatatableColumnsDefaults } from './set-dynamic-datatable-columns-defaults'\nimport { setDynamicDatatableFilterMenuDefaults } from './set-dynamic-datatable-filter-menu-defaults'\nimport { setDynamicDatatableOptionsDefaults } from './set-dynamic-datatable-options-defaults'\n\nexport function setDynamicDatatableDefDefaults(\n def: DatatableDynamicDef\n) {\n setDynamicDatatableColumnsDefaults(def.columns)\n\n if (def.filterMenu) {\n setDynamicDatatableFilterMenuDefaults(def.filterMenu)\n }\n\n if (def.options) {\n setDynamicDatatableOptionsDefaults(def.options)\n }\n}\n","import { ComponentType } from '@angular/cdk/portal'\nimport { Inject, Injectable } from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs'\nimport { map, shareReplay, switchMap } from 'rxjs/operators'\n\nimport { IDataExporter, THESEAM_DATA_EXPORTER } from '@theseam/ui-common/data-exporter'\nimport { IDataFilter, THESEAM_DATA_FILTER_DEF } from '@theseam/ui-common/data-filters'\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableOptions } from './datatable-dynamic-def'\nimport { DatatableDynamicDef } from './datatable-dynamic-def'\nimport { DynamicDatatableMenuBar } from './models/dynamic-datatable-menu-bar'\nimport { DynamicDatatableFilterMenuItem } from './models/index'\nimport { setDynamicDatatableDefDefaults } from './utils/index'\n\n/**\n * Manages the data defined in the `DatatableDynamicDef`. Simplifies accessing\n * and observing the needed data based on the `DatatableDynamicDef`.\n */\n@Injectable()\nexport class DynamicDatatableDefService {\n\n /**\n * @deprecated\n * @ignore\n */\n private _dataExporters: IDataExporter[]\n\n /**\n * @deprecated\n * @ignore\n */\n private _dataFilters: { name: string, component: ComponentType<IDataFilter> }[]\n\n /** @ignore */\n private readonly _defSubject = new BehaviorSubject<DatatableDynamicDef | undefined>(undefined)\n\n /** Dynamic datatable definition. */\n public readonly def$: Observable<DatatableDynamicDef | undefined>\n\n /**\n * Exporters in the def that are available.\n * @deprecated\n */\n public readonly exporters$: Observable<IDataExporter[]>\n\n /**\n * Filter menu items in the def that are available.\n * @deprecated\n */\n public readonly filterMenuItems$: Observable<DynamicDatatableFilterMenuItem[]>\n\n /**\n * Observes whether the datatable has a filter menu.\n * @deprecated\n */\n public readonly hasFilterMenu$: Observable<boolean>\n\n /** Observes datatable options. */\n public readonly options$: Observable<DynamicDatatableOptions | undefined>\n\n /** Observes the datatable def menu bar. */\n public readonly menuBar$: Observable<DynamicDatatableMenuBar | undefined>\n\n constructor(\n @Inject(THESEAM_DATA_EXPORTER) dataExporters: IDataExporter[],\n @Inject(THESEAM_DATA_FILTER_DEF) dataFilters: { name: string, component: ComponentType<IDataFilter> }[],\n private _valueHelper: DynamicValueHelperService,\n ) {\n this._dataExporters = (dataExporters || [])\n this._dataFilters = (dataFilters || [])\n\n this.def$ = this._defSubject.asObservable()\n\n this.exporters$ = this.def$.pipe(\n map(def => !!def ? this._mapExporters(def) : []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.filterMenuItems$ = this.def$.pipe(\n map(def => !!def ? this._mapFilterMenuItems(def) : []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.hasFilterMenu$ = this.def$.pipe(\n switchMap(def => {\n if (!def) { return of(false) }\n\n // Check if the visibility can be determined by the state value only.\n if (def.filterMenu && def.filterMenu.state) {\n switch (def.filterMenu.state) {\n case 'always-visible': return of(true)\n case 'hidden': return of(false)\n }\n }\n\n // Check if there is anything to put in the filter menu.\n return combineLatest([\n this.exporters$.pipe(map(e => e.length > 0)),\n this.filterMenuItems$.pipe(map(f => f.length > 0))\n ]).pipe(map(v => v.indexOf(true) !== -1))\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.options$ = this.def$.pipe(\n map(def => !!def ? def.options : undefined),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.menuBar$ = this.def$.pipe(\n map(def => (notNullOrUndefined(def) && hasProperty(def, 'menuBar')) ? def.menuBar : undefined),\n // tap(v => console.log('menubar', v)),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n /** Sets the `DatatableDynamicDef` that defines the datatable. */\n public setDef(def: DatatableDynamicDef | undefined): void {\n if (def) { setDynamicDatatableDefDefaults(def) }\n this._defSubject.next(def || undefined)\n }\n\n /** Map the def exporters to the provided `IDataExporter` objects. */\n private _mapExporters(def: DatatableDynamicDef): IDataExporter[] {\n if (!def.filterMenu || !Array.isArray(def.filterMenu.exporters)) {\n return []\n }\n\n return def.filterMenu.exporters\n .map(e => this._dataExporters.find(de => de.name === e))\n .filter(notNullOrUndefined)\n }\n\n /** Map the def filter menu items to provided components. */\n private _mapFilterMenuItems(def: DatatableDynamicDef): DynamicDatatableFilterMenuItem[] {\n if (!def.filterMenu || !def.filterMenu.filters || !Array.isArray(def.filterMenu.filters)) {\n return []\n }\n\n return def.filterMenu.filters\n .map(f => {\n const _df = this._dataFilters.find(df => df.name === f.name)\n if (_df) { return { ...f, component: _df.component } }\n })\n .filter(notNullOrUndefined)\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable, of } from 'rxjs'\nimport { map, switchMap, toArray } from 'rxjs/operators'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from './datatable-dynamic-def'\nimport { DynamicDatatableDefService } from './dynamic-datatable-def.service'\nimport { DynamicDatatableRowAction } from './models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from './models/dynamic-datatable-row-action-context'\n\n@Injectable()\nexport class DynamicDatatableRowActionsService {\n\n constructor(\n private _valueHelper: DynamicValueHelperService,\n private _dynamicDef: DynamicDatatableDefService\n ) { }\n\n /**\n * Observe actions for specified row\n */\n public rowActions(row: DynamicDatatableRow): Observable<DynamicDatatableRowAction[]> {\n return this._dynamicDef.def$.pipe(\n map(def => (def && def.rowActions) ? def.rowActions || [] : []),\n switchMap(rowActions => !!rowActions\n ? from(rowActions).pipe(\n map(rowAction => {\n if (rowAction.hasOwnProperty('hidden')) {\n if (typeof rowAction.hidden === 'boolean') {\n return rowAction.hidden ? undefined : rowAction\n } else {\n const context = this._getRowActionContext(row, rowAction)\n // TODO: Fix async eval\n const isHidden = this._valueHelper.evalSync(rowAction.hidden, context)\n return isHidden ? undefined : rowAction\n }\n }\n return rowAction\n }),\n toArray(),\n map(v => v.filter(notNullOrUndefined))\n )\n : of([])\n )\n )\n }\n\n /** @ignore */\n private _getRowActionContext(row: DynamicDatatableRow, rowActionDef: DynamicDatatableRowAction): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of } from 'rxjs'\nimport { concatMap, filter, switchMap, toArray } from 'rxjs/operators'\n\nimport { faEllipsisH } from '@fortawesome/free-solid-svg-icons'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from '../datatable-dynamic-def'\nimport { DynamicDatatableRowActionsService } from '../dynamic-datatable-row-actions.service'\nimport { DynamicDatatableActionMenuElementTypes, DynamicDatatableActionMenuRecord } from '../models/dynamic-datatable-action-menu-record'\nimport { DynamicDatatableRowAction } from '../models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from '../models/dynamic-datatable-row-action-context'\n\n@Component({\n selector: 'seam-datatable-dynamic-action-menu',\n templateUrl: './datatable-dynamic-action-menu.component.html',\n styleUrls: ['./datatable-dynamic-action-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicActionMenuComponent implements OnInit {\n\n faEllipsisH = faEllipsisH\n\n @Input()\n get row() { return this._row.value }\n set row(value: DynamicDatatableRow | undefined) {\n this._row.next(value || undefined)\n }\n private _row = new BehaviorSubject<DynamicDatatableRow | undefined>(undefined)\n\n @Input()\n get actionDefs() { return this._actionDefs.value }\n set actionDefs(value: DynamicDatatableRowAction[]) {\n this._actionDefs.next(value || [])\n }\n private _actionDefs = new BehaviorSubject<DynamicDatatableRowAction[]>([])\n\n _menuRecords$: Observable<DynamicDatatableActionMenuRecord[]>\n\n /** @ignore */\n _actionMenuPositions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n\n constructor(\n private _valueHelper: DynamicValueHelperService,\n private _dynamicRowActions: DynamicDatatableRowActionsService\n ) {\n // this._menuRecords$ = combineLatest([ this._row, this._actionDefs ]).pipe(\n // switchMap(([ row, actionDefs ]) => !!row ? this._mapRecords(row, actionDefs) : of([]))\n // )\n this._menuRecords$ = this._row.pipe(\n switchMap(row => !!row\n ? this._dynamicRowActions.rowActions(row).pipe(\n switchMap(actionDefs => this._mapRecords(row, actionDefs))\n )\n : of([])\n ),\n // tap(v => console.log('actions', v))\n )\n\n // this._menuRecords$.subscribe()\n }\n\n ngOnInit() { }\n\n // TODO: Consider moving this to `DynamicDatatableRowActionsService`.\n private _mapRecords<A extends DynamicDatatableRowAction>(\n row: DynamicDatatableRow,\n actionDefs: A[]\n ): Observable<DynamicDatatableActionMenuRecord[]> {\n return from(actionDefs).pipe(\n concatMap(actionDef => {\n return (async () => {\n const _rowAction: DynamicDatatableRowAction = {\n ...actionDef\n }\n\n const context = this._getRowActionContext(row, actionDef)\n\n if (hasProperty(_rowAction, 'hidden')) {\n _rowAction.hidden = await this._valueHelper.eval(_rowAction.hidden, context)\n if (_rowAction.hidden) {\n return undefined\n }\n }\n\n _rowAction.label = await this._valueHelper.eval(actionDef.label, context)\n\n if (hasProperty(_rowAction, 'disabled')) {\n _rowAction.disabled = await this._valueHelper.eval(_rowAction.disabled, context)\n }\n\n const record: DynamicDatatableActionMenuRecord = {\n _row: row,\n _def: actionDef,\n rowAction: _rowAction,\n elementType: this._expectedElementType(actionDef)\n }\n\n return record\n })()\n }),\n filter(notNullOrUndefined),\n toArray()\n )\n }\n\n /** @ignore */\n private _getRowActionContext(\n row: DynamicDatatableRow,\n rowActionDef: DynamicDatatableRowAction\n ): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n private _expectedElementType(def: DynamicDatatableRowAction): DynamicDatatableActionMenuElementTypes {\n const action = def.action\n\n if (action.type === 'link') {\n if (hasProperty(<any>action, 'asset')) {\n return 'button'\n }\n return 'a'\n }\n\n return 'button'\n }\n\n}\n","import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'\nimport { ChangeDetectionStrategy, Component, Injector, Input, OnInit } from '@angular/core'\n\nimport { THESEAM_DATA_FILTER_OPTIONS } from '@theseam/ui-common/data-filters'\nimport type { ComponentType } from '@theseam/ui-common/models'\n\n@Component({\n selector: 'seam-datatable-dynamic-filter-container',\n templateUrl: './datatable-dynamic-filter-container.component.html',\n styleUrls: ['./datatable-dynamic-filter-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicFilterContainerComponent<C> implements OnInit {\n\n @Input()\n set filterComponent(value: ComponentType<C> | undefined | null) {\n this._filterComponent = value\n // if (this._filterComponent !== value) {\n // this._setPortal(value)\n // }\n }\n get filterComponent() { return this._filterComponent }\n private _filterComponent: ComponentType<C> | undefined | null\n\n @Input() options: any\n\n _portal: ComponentPortal<C> | null = null\n\n constructor(\n private _injector: Injector\n ) { }\n\n ngOnInit() {\n if (this.filterComponent) {\n this._setPortal(this.filterComponent)\n }\n }\n\n private _setPortal(component: ComponentType<C>) {\n if (this._portal) {\n this._portal = null\n }\n\n if (component) {\n this._portal = new ComponentPortal(component, undefined, this._createInjector())\n } else {\n this._portal = null\n }\n }\n\n private _createInjector(): PortalInjector {\n return new PortalInjector(this._injector, new WeakMap <any, any> ([\n [ THESEAM_DATA_FILTER_OPTIONS, this.options ]\n ]))\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { IDatatableDynamicMenuBarItemManifest } from './datatable-dynamic-menu-bar-item-manifest'\n\nexport const THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM = new InjectionToken<IDatatableDynamicMenuBarItemManifest>(\n 'IDatatableDynamicMenuBarItemManifest'\n)\n","import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'\nimport { ChangeDetectionStrategy, Component, Inject, Injector, Input, OnInit, Optional } from '@angular/core'\nimport { BehaviorSubject, Observable } from 'rxjs'\nimport { map, switchMap } from 'rxjs/operators'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { IDatatableDynamicMenuBarItemManifest } from '../datatable-dynamic-menu-bar-item-manifest'\nimport { THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM } from '../datatable-dynamic-menu-bar-token'\nimport {\n DynamicDatatableMenuBar,\n DynamicDatatableMenuBarColumn,\n DynamicDatatableMenuBarItem,\n DynamicDatatableMenuBarRow,\n DynamicDatatableMenuBarRowLayoutTriColumn\n} from '../models/dynamic-datatable-menu-bar'\n\nexport interface IDatatableDynamicMenuBarContentItem {\n // styles?: string | string[]\n // cssClass?: string | string[]\n portal?: ComponentPortal<{}>\n // component?: string | ComponentType<{}>\n // config?: any\n}\n\nexport interface IDatatableDynamicMenuBarContentColumn {\n styles?: string | string[]\n cssClass?: string | string[]\n items?: IDatatableDynamicMenuBarContentItem[]\n}\n\nexport interface IDatatableDynamicMenuBarContentRowLayoutTriColumn {\n columnLeft?: IDatatableDynamicMenuBarContentColumn\n columnCenter?: IDatatableDynamicMenuBarContentColumn\n columnRight?: IDatatableDynamicMenuBarContentColumn\n}\n\nexport interface IDatatableDynamicMenuBarContentRow {\n styles?: string | string[]\n cssClass?: string | string[]\n priority?: number\n layoutType?: string\n layout?: IDatatableDynamicMenuBarContentRowLayoutTriColumn\n}\n\nexport interface IDatatableDynamicMenuBarContentRowContext {\n row: DynamicDatatableMenuBarRow\n}\n\nexport interface IDatatableDynamicMenuBarContentColumnContext {\n column: DynamicDatatableMenuBarColumn\n row: DynamicDatatableMenuBarRow\n}\n\nexport interface IDatatableDynamicMenuBarContentItemContext {\n item: DynamicDatatableMenuBarItem\n row: DynamicDatatableMenuBarRow\n column: DynamicDatatableMenuBarColumn\n}\n\n@Component({\n selector: 'seam-datatable-dynamic-menu-bar-content',\n templateUrl: './datatable-dynamic-menu-bar-content.component.html',\n styleUrls: ['./datatable-dynamic-menu-bar-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicMenuBarContentComponent implements OnInit {\n\n private readonly _def = new BehaviorSubject<DynamicDatatableMenuBar | undefined>(undefined)\n\n @Input()\n set def(value: DynamicDatatableMenuBar | undefined) { this._def.next(value) }\n get def(): DynamicDatatableMenuBar | undefined { return this._def.value }\n\n public readonly def$: Observable<DynamicDatatableMenuBar | undefined>\n\n readonly _rows$: Observable<IDatatableDynamicMenuBarContentRow[]>\n\n constructor(\n private readonly _valueHelper: DynamicValueHelperService,\n private readonly _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n private readonly _injector: Injector,\n @Optional() @Inject(THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM)\n private readonly _menuBarItemManifests?: IDatatableDynamicMenuBarItemManifest[]\n ) {\n this.def$ = this._def.asObservable()\n // .pipe(tap(v => console.log('def$', v)))\n\n this._rows$ = this.def$.pipe(switchMap(def => this._mapRows(def && def.rows || [])))\n // .pipe(tap(v => console.log('_rows$', v)))\n }\n\n ngOnInit() { }\n\n private _mapRows(rows: DynamicDatatableMenuBarRow[]): Promise<IDatatableDynamicMenuBarContentRow[]> {\n return Promise.all(rows.map(r => this._mapRow(r)))\n }\n\n private async _mapRow(row: DynamicDatatableMenuBarRow): Promise<IDatatableDynamicMenuBarContentRow> {\n const result: IDatatableDynamicMenuBarContentRow = { }\n const context = this._createRowContext(row)\n\n if (hasProperty(row, 'styles')) {\n result.styles = await this._valueHelper.eval(row.styles, context)\n }\n\n if (hasProperty(row, 'cssClass')) {\n result.cssClass = await this._valueHelper.eval(row.cssClass, context)\n }\n\n if (hasProperty(row, 'priority')) {\n result.priority = await this._valueHelper.eval(row.priority, context)\n }\n\n result.layoutType = row.layout.type\n result.layout = await this._mapRowLayout(row.layout, row)\n\n return result\n }\n\n private async _mapRowLayout(\n layout: DynamicDatatableMenuBarRowLayoutTriColumn,\n row: DynamicDatatableMenuBarRow\n ): Promise<IDatatableDynamicMenuBarContentRowLayoutTriColumn> {\n const result: IDatatableDynamicMenuBarContentRowLayoutTriColumn = { }\n\n if (hasProperty(layout, 'columnLeft')) {\n result.columnLeft = await this._mapColumn(layout.columnLeft, row)\n }\n\n if (hasProperty(layout, 'columnCenter')) {\n result.columnCenter = await this._mapColumn(layout.columnCenter, row)\n }\n\n if (hasProperty(layout, 'columnRight')) {\n result.columnRight = await this._mapColumn(layout.columnRight, row)\n }\n\n return result\n }\n\n private async _mapColumn(\n column: DynamicDatatableMenuBarColumn,\n row: DynamicDatatableMenuBarRow\n ): Promise<IDatatableDynamicMenuBarContentColumn> {\n const result: IDatatableDynamicMenuBarContentColumn = { }\n const context = this._createColumnContext(column, row)\n\n if (hasProperty(column, 'styles')) {\n result.styles = await this._valueHelper.eval(column.styles, context)\n }\n\n if (hasProperty(column, 'cssClass')) {\n result.cssClass = await this._valueHelper.eval(column.cssClass, context)\n }\n\n result.items = await Promise.all(column.items.map(v => this._mapItem(v, row, column)))\n\n return result\n }\n\n private async _mapItem(\n item: DynamicDatatableMenuBarItem,\n row: DynamicDatatableMenuBarRow,\n column: DynamicDatatableMenuBarColumn\n ): Promise<IDatatableDynamicMenuBarContentItem> {\n const result: IDatatableDynamicMenuBarContentItem = { }\n const context = this._createItemContext(item, row, column)\n\n // if (hasProperty(item, 'styles')) {\n // result.styles = await this._valueHelper.eval(item.styles, context)\n // }\n\n // if (hasProperty(item, 'cssClass')) {\n // result.cssClass = await this._valueHelper.eval(item.cssClass, context)\n // }\n\n if (hasProperty(item, 'component')) {\n // result.component = await this._valueHelper.eval(item.component, context)\n const component = await this._valueHelper.eval(item.component, context)\n\n let data: any\n if (hasProperty(item, 'data')) {\n // result.data = await this._valueHelper.eval(item.data, context)\n // console.log('%cdata', 'color:cyan', item.data)\n data = await this._valueHelper.eval(item.data, context)\n // console.log('%cdata', 'color:limegreen', data)\n }\n\n result.portal = await this._getComponentPortal(component, data)\n }\n\n return result\n }\n\n private _createRowContext(row: DynamicDatatableMenuBarRow): IDatatableDynamicMenuBarContentRowContext {\n return {\n row\n }\n }\n\n private _createColumnContext(\n column: DynamicDatatableMenuBarColumn,\n row: DynamicDatatableMenuBarRow\n ): IDatatableDynamicMenuBarContentColumnContext {\n return {\n row,\n column\n }\n }\n\n private _createItemContext(\n item: DynamicDatatableMenuBarItem,\n row: DynamicDatatableMenuBarRow,\n column: DynamicDatatableMenuBarColumn\n ): IDatatableDynamicMenuBarContentItemContext {\n return {\n item,\n row,\n column\n }\n }\n\n private async _getComponentPortal(component: string, data?: any): Promise<ComponentPortal<{}> | undefined> {\n const manifest = (this._menuBarItemManifests || []).find(m => m.name === component)\n\n if (!manifest) {\n // TODO: Make sure the component is skipped instead of erroring outside of dev mode.\n throw Error(`MenuBar manifest for '${component}' not found.`)\n }\n\n // TODO: Create a new injector with the data injected\n let injector = this._injector\n if (manifest.dataToken) {\n injector = new PortalInjector(this._injector, new WeakMap([\n [manifest.dataToken, data]\n ]))\n }\n\n if (typeof manifest.component === 'string') {\n this._dynamicComponentLoader.getComponentFactory<{}>(manifest.component).pipe(\n map(componentFactory => {\n return new ComponentPortal(\n componentFactory.componentType,\n null,\n injector,\n (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n )\n })\n ).toPromise()\n } else {\n return new ComponentPortal(manifest.component, null, injector, null)\n }\n }\n\n}\n","import { LocationStrategy } from '@angular/common'\nimport {\n Attribute,\n Directive,\n ElementRef,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core'\nimport { ActivatedRoute, QueryParamsHandling, Router, RouterLink, RouterLinkWithHref } from '@angular/router'\nimport { from, fromEvent, Observable, of, ReplaySubject, Subscription } from 'rxjs'\nimport { catchError, mapTo, switchMap, tap } from 'rxjs/operators'\n\nimport { AssetReaderHelperService } from '@theseam/ui-common/asset-reader'\nimport {\n DynamicActionHelperService,\n DynamicActionUiAnchorDef,\n DynamicActionUiButtonDef,\n DynamicActionUiDef,\n DynamicValueHelperService\n} from '@theseam/ui-common/dynamic'\nimport { getAttribute, hasProperty, toggleAttribute } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from '../datatable-dynamic-def'\nimport type { DynamicDatatableActionMenuRecord } from '../models/dynamic-datatable-action-menu-record'\nimport { DynamicDatatableRowAction } from '../models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from '../models/dynamic-datatable-row-action-context'\n\n/**\n * Class to act as a substitute to `routerLink` directive until the menu items\n * can be dynamically built in a clean way with or without `routerLink`.\n */\nexport class DatatableDynamicActionMenuItemRouterLink {\n\n private _rLink?: RouterLink\n private _rLinkWithHref?: RouterLinkWithHref\n\n // private _clickSubscription?: Subscription\n private _rLinkClickEventListener?: any\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n @Attribute('tabindex') tabIndex: string | null,\n private renderer: Renderer2,\n private el: ElementRef,\n private locationStrategy: LocationStrategy\n ) {\n if (el.nativeElement.nodeName.toLowerCase() === 'a') {\n this._rLinkWithHref = new RouterLinkWithHref(\n router,\n route,\n locationStrategy\n )\n // console.log('rLinkWithHref', this.rLinkWithHref)\n\n this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', (event: MouseEvent) => {\n // console.log('this._rLinkWithHref', this._rLinkWithHref, this._rLinkWithHref && this._rLinkWithHref.href)\n if (this._rLinkWithHref) {\n return this._rLinkWithHref.onClick(event.button, event.ctrlKey, event.shiftKey, event.altKey, event.metaKey)\n }\n })\n } else {\n this._rLink = new RouterLink(\n router,\n route,\n tabIndex as string,\n renderer,\n el\n )\n // console.log('rLink', this.rLink)\n\n this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', () => {\n // console.log('this._rLink', this._rLink && this._rLink.urlTree)\n if (this._rLink) { return this._rLink.onClick() }\n })\n\n // this._clickSubscription = fromEvent(el.nativeElement, 'click')\n // .subscribe(() => {\n // if (this._rLink) {\n // this._rLink.onClick()\n // } else {\n // if (this._clickSubscription && !this._clickSubscription.closed) {\n // this._clickSubscription.unsubscribe()\n // }\n // }\n // })\n }\n }\n\n get routerLink(): RouterLink | undefined { return this._rLink }\n get routerLinkWithHref(): RouterLinkWithHref | undefined { return this._rLinkWithHref }\n\n set routerLinkInput(commands: any[] | string) {\n if (this._rLink) {\n this._rLink.routerLink = commands\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.routerLink = commands\n }\n }\n\n set queryParams(value: { [k: string]: any }) {\n if (this._rLink) {\n this._rLink.queryParams = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.queryParams = value\n }\n }\n\n set fragment(value: string) {\n if (this._rLink) {\n this._rLink.fragment = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.fragment = value\n }\n }\n\n set queryParamsHandling(value: QueryParamsHandling) {\n if (this._rLink) {\n this._rLink.queryParamsHandling = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.queryParamsHandling = value\n }\n }\n\n set preserveFragment(value: boolean) {\n if (this._rLink) {\n this._rLink.preserveFragment = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.preserveFragment = value\n }\n }\n\n set skipLocationChange(value: boolean) {\n if (this._rLink) {\n this._rLink.skipLocationChange = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.skipLocationChange = value\n }\n }\n\n set replaceUrl(value: boolean) {\n if (this._rLink) {\n this._rLink.replaceUrl = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.replaceUrl = value\n }\n }\n\n set state(value: { [k: string]: any }) {\n if (this._rLink) {\n this._rLink.state = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.state = value\n }\n }\n\n set target(value: string | undefined) {\n if (this._rLinkWithHref) {\n this._rLinkWithHref.target = value as string\n\n if (value) {\n this.renderer.setAttribute(this.el.nativeElement, 'target', value)\n } else {\n toggleAttribute(this.el.nativeElement, 'target', false)\n }\n }\n }\n\n public destroy() {\n // if (this._clickSubscription && !this._clickSubscription.closed) {\n // this._clickSubscription.unsubscribe()\n // }\n if (this._rLinkClickEventListener) {\n this.el.nativeElement.removeEventListener('click', this._rLinkClickEventListener)\n this._rLinkClickEventListener = null\n }\n\n if (this._rLinkWithHref && this._rLinkWithHref.ngOnDestroy) {\n this._rLinkWithHref.ngOnDestroy()\n }\n }\n\n}\n\n// TODO: Refactor this directive. It got way more complex instead of more\n// simplified like it was supposed to be.\n@Directive({\n selector: '[seamDatatableDynamicActionMenuItem]',\n exportAs: 'seamDatatableDynamicActionMenuItem'\n})\nexport class DatatableDynamicActionMenuItemDirective implements OnInit, OnDestroy, OnChanges {\n\n @Input()\n // get seamDatatableDynamicActionMenuItem(): DynamicDatatableActionMenuRecord { return this._record }\n set seamDatatableDynamicActionMenuItem(value: DynamicDatatableActionMenuRecord) {\n this._record.next(value)\n }\n private _record = new ReplaySubject<DynamicDatatableActionMenuRecord>(1)\n\n private _clickSubscription?: Subscription\n private _menuRouterLink?: DatatableDynamicActionMenuItemRouterLink\n\n private _recordSubscription = Subscription.EMPTY\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _valueHelper: DynamicValueHelperService,\n private _actionHelper: DynamicActionHelperService,\n private _assetReaderHelper: AssetReaderHelperService,\n private _router: Router,\n private _route: ActivatedRoute,\n private _locationStrategy: LocationStrategy\n ) {\n this._recordSubscription = this._record.pipe(\n // tap(v => console.log('record', v)),\n switchMap(record => this._update(record)),\n tap(() => { this._setInvalidActionState(false) }),\n catchError(error => {\n if (isDevMode()) { console.error(error) }\n this._setInvalidActionState(true)\n return of(undefined)\n }),\n // tap(v => console.log('record DONE', v))\n ).subscribe()\n }\n\n ngOnInit() { }\n\n ngOnDestroy() {\n this._recordSubscription.unsubscribe()\n this._unsubClick()\n if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {\n this._menuRouterLink.routerLinkWithHref.ngOnDestroy()\n }\n }\n\n ngOnChanges(changes: {}) {\n // console.log('ngOnChanges', changes, this, this._menuRouterLink)\n if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {\n this._menuRouterLink.routerLinkWithHref.ngOnChanges({})\n if (this._menuRouterLink.routerLinkWithHref.href) {\n if (getAttribute(this._elementRef.nativeElement, 'href') !== this._menuRouterLink.routerLinkWithHref.href) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'href', this._menuRouterLink.routerLinkWithHref.href)\n }\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'href', false)\n }\n }\n }\n\n public _update(record: DynamicDatatableActionMenuRecord): Observable<void> {\n this._unsubClick()\n\n return from(this._getUiProps(record)).pipe(\n switchMap(uiProps => this._isAnchor()\n ? this._updateAnchorElement(record, uiProps as DynamicActionUiAnchorDef)\n : this._updateButtonElement(record, uiProps as DynamicActionUiButtonDef)\n )\n )\n }\n\n private _updateAnchorElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef\n ): Observable<void> {\n const _stream: Observable<any> = of(undefined)\n\n switch (uiProps.triggerType) {\n case 'link': {\n // console.log('Handle \"link\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n this._initMenuItemRouterLink(record, uiProps)\n\n break\n }\n case 'link-external': {\n // console.log('Handle \"link-external\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n if (hasProperty(uiProps, 'linkUrl')) {\n this._setAttr('href', uiProps.linkUrl)\n }\n if (hasProperty(uiProps, 'linkExtras')) {\n if (hasProperty(uiProps.linkExtras, 'target')) {\n this._setAttr('target', uiProps.linkExtras.target)\n }\n }\n // TODO: Consider making the ItemRouterLink work with external urls.\n // this._initMenuItemRouterLink(record, uiProps)\n\n break\n }\n // TODO: Unless we decide to add a route for openning assets, this would\n // be confusing to a user.\n // case 'link-asset': {\n // console.log('Handle \"link-asset\" triggerType.', uiProps)\n // // this._tryInitTabIndex()\n // this._tryInitBlockClick(record, uiProps)\n // break\n // }\n default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +\n `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`)\n }\n\n return _stream// .pipe(mapTo(undefined))\n }\n\n private _updateButtonElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef | DynamicActionUiButtonDef\n ): Observable<void> {\n let _stream: Observable<any> = of(undefined)\n // this._updateClickElement(record, uiProps as DynamicActionUiButtonDef)\n switch (uiProps.triggerType) {\n case 'link-asset': {\n // console.log('Handle \"link-asset\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n _stream = _stream.pipe(switchMap(() => this._updateAssetElement(record, uiProps)))\n break\n }\n case 'click': {\n // console.log('Handle \"click\" triggerType.', uiProps)\n this._tryInitBlockClick(record, uiProps)\n _stream = _stream.pipe(switchMap(() => this._updateClickElement(record, uiProps)))\n break\n }\n default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +\n `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`)\n }\n\n return _stream// .pipe(mapTo(undefined))\n }\n\n private _updateAssetElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef | DynamicActionUiButtonDef\n ): Observable<void> {\n // console.log('_updateAssetElement')\n // return of(undefined)\n // console.log('this._elementRef.nativeElement', this._elementRef.nativeElement)\n const t = fromEvent(this._elementRef.nativeElement, 'click').pipe(\n tap(event => {\n // const _context = this._getContext(record._row, record.rowAction)\n // const context = { ..._context, event, uiProps }\n // const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)\n // console.log(record, uiProps)\n // console.log('_updateClickElement click', (<any>event).button, event)\n if (this._assetReaderHelper) {\n if (uiProps.triggerType === 'link-asset' && hasProperty(uiProps, 'linkUrl')) {\n const url = uiProps.linkUrl\n let target: string | undefined\n if (hasProperty(uiProps, 'linkExtras') && hasProperty(uiProps.linkExtras, 'target')) {\n target = uiProps.linkExtras.target\n }\n this._assetReaderHelper.openLink(url, true, true, target)\n }\n }\n // if (!result) {\n // event.preventDefault()\n // event.stopPropagation()\n // }\n }),\n mapTo(undefined)\n )\n\n return of(undefined).pipe(\n // tap(() => console.log('starting _updateButtonElement')),\n switchMap(() => t),\n )\n }\n\n private _updateClickElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiButtonDef\n ): Observable<void> {\n // console.log('_updateClickElement', record, uiProps)\n // return of(undefined)\n return fromEvent(this._elementRef.nativeElement, 'click').pipe(\n switchMap(event => {\n const _context = this._getContext(record._row, record.rowAction)\n const context = { ..._context, event, uiProps }\n // console.log('click', (<any>event).button, event)\n // if (!result) {\n // event.preventDefault()\n // event.stopPropagation()\n // }\n\n return this._actionHelper.exec(uiProps._actionDef, context)\n }),\n mapTo(undefined)\n )\n }\n\n private _unsubClick() {\n if (this._clickSubscription && !this._clickSubscription.closed) {\n this._clickSubscription.unsubscribe()\n }\n }\n\n private _setAttr(attr: string, value: string) {\n this._renderer.setAttribute(this._elementRef.nativeElement, attr, value)\n }\n\n private _tryInitTabIndex() {\n if (getAttribute(this._elementRef.nativeElement, 'tabindex') === null) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '0')\n }\n }\n\n private _tryInitBlockClick(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiDef\n ) {\n this._unsubClick()\n if (hasProperty(uiProps, 'blockClickExpr')) {\n this._clickSubscription = this._blockClickExprObservable(uiProps, record).subscribe()\n }\n }\n\n private _blockClickExprObservable(\n uiProps: DynamicActionUiDef,\n record: DynamicDatatableActionMenuRecord\n ) {\n return fromEvent(this._elementRef.nativeElement, 'click').pipe(\n tap(event => {\n const _context = this._getContext(record._row, record.rowAction)\n const context = { ..._context, event, uiProps }\n const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)\n // console.log('click', result, (<any>event).button, event)\n if (!result) {\n event.preventDefault()\n event.stopPropagation()\n }\n }),\n mapTo(undefined)\n )\n }\n\n private _initMenuItemRouterLink(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef\n ) {\n this._menuRouterLink = new DatatableDynamicActionMenuItemRouterLink(\n this._router,\n this._route,\n getAttribute(this._elementRef.nativeElement, 'tabindex'),\n this._renderer,\n this._elementRef,\n this._locationStrategy\n )\n // console.log(this._menuRouterLink)\n\n this._menuRouterLink.routerLinkInput = uiProps.linkUrl as string\n\n if (hasProperty(uiProps, 'linkExtras')) {\n if (hasProperty(uiProps.linkExtras, 'target')) {\n this._menuRouterLink.target = uiProps.linkExtras.target\n }\n if (hasProperty(uiProps.linkExtras, 'queryParams')) {\n this._menuRouterLink.queryParams = uiProps.linkExtras.queryParams\n }\n if (hasProperty(uiProps.linkExtras, 'fragment')) {\n this._menuRouterLink.fragment = uiProps.linkExtras.fragment\n }\n if (hasProperty(uiProps.linkExtras, 'queryParamsHandling')) {\n this._menuRouterLink.queryParamsHandling = uiProps.linkExtras.queryParamsHandling\n }\n if (hasProperty(uiProps.linkExtras, 'preserveFragment')) {\n this._menuRouterLink.preserveFragment = uiProps.linkExtras.preserveFragment\n }\n if (hasProperty(uiProps.linkExtras, 'skipLocationChange')) {\n this._menuRouterLink.skipLocationChange = uiProps.linkExtras.skipLocationChange\n }\n if (hasProperty(uiProps.linkExtras, 'replaceUrl')) {\n this._menuRouterLink.replaceUrl = uiProps.linkExtras.replaceUrl\n }\n if (hasProperty(uiProps.linkExtras, 'state')) {\n this._menuRouterLink.state = uiProps.linkExtras.state\n }\n }\n\n this.ngOnChanges({})\n }\n\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n private _getUiProps(record: DynamicDatatableActionMenuRecord): Promise<DynamicActionUiDef> {\n const context = this._getContext(record._row, record.rowAction)\n return this._actionHelper.getUiProps(record.rowAction.action, context)\n }\n\n /** @ignore */\n private _getContext(row: DynamicDatatableRow, rowActionDef: DynamicDatatableRowAction): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n private _setInvalidActionState(invalid: boolean = false) {\n const element = this._elementRef.nativeElement\n toggleAttribute(element, 'disabled', invalid)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { IDataExporter } from '@theseam/ui-common/data-exporter'\n\nimport {\n DatatableDynamicDef,\n DynamicDatatableOptions\n} from './datatable-dynamic-def'\nimport { DynamicDatatableDefService } from './dynamic-datatable-def.service'\nimport { DynamicDatatableRowActionsService } from './dynamic-datatable-row-actions.service'\nimport { DynamicDatatableFilterMenuItem } from './models/dynamic-datatable-filter-menu-item'\nimport { DynamicDatatableMenuBar } from './models/dynamic-datatable-menu-bar'\n\n/**\n * # EXPERIMENTAL\n *\n * NOTE: This component is still experimental. When stable all standard\n * datatables must use this component, unless there is a good reason not to, in\n * our apps.\n *\n * ----------------------------------------------------------------------------\n *\n * Datatable that is built from a json definition.\n *\n * All standard datatables in our apps must use this component, unless there is\n * a good reason not to. If a standard datatable does not use this component\n * then an explaination comment needs to be clearly provided in the code to\n * avoid getting migrated to this component.\n *\n * A few reasons this component should to be used:\n * - We can, more easily, control what a datatable in our app does by requiring\n * the definition follow a json schema, instead of having full scripting\n * access available to the developer.\n * + By using json we can maintain the tables from any external app/language\n * that can produce a json string.\n * + More scripting access often leads to different hacks across the tables\n * that should have just been supported by this component if it is a feature\n * a datatable should be able to do in an app of ours.\n * - We can allow any of our tables to be configured by the server.\n * + By supporting configuration on the server we can change the tables\n * without a new build and do things like allowing non-developers/clients to\n * maintain the tables functionality.\n */\n@Component({\n selector: 'seam-datatable-dynamic',\n templateUrl: './datatable-dynamic.component.html',\n styleUrls: ['./datatable-dynamic.component.scss'],\n providers: [\n DynamicDatatableDefService,\n DynamicDatatableRowActionsService\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicComponent implements OnInit {\n\n /** The `DatatableDynamicDef` that defines the datatable. */\n @Input() set def(value: DatatableDynamicDef | undefined | null) {\n this._dynamicDef.setDef(value || undefined)\n }\n\n /**\n * Observes whether the datatable has a def.\n * @ignore\n */\n _hasDef$: Observable<boolean>\n\n /**\n * Observes whether the datatable has a menu bar.\n */\n menuBar$: Observable<DynamicDatatableMenuBar | undefined>\n\n /**\n * The available exporters.\n * @ignore\n */\n _exporters$: Observable<IDataExporter[]>\n\n /**\n * The 'common' type filter menu items.\n * @ignore\n */\n _commonFilterMenuItems$: Observable<DynamicDatatableFilterMenuItem[]>\n\n /**\n * Observes whether the datatable has a 'full-search' menu item.\n * @ignore\n */\n _hasFullSearch$: Observable<boolean>\n\n /**\n * Observes whether the datatable has a filter menu.\n * @ignore\n */\n _hasFilterMenu$: Observable<boolean>\n\n /**\n * Observes datatable options.\n * @ignore\n */\n _options$: Observable<DynamicDatatableOptions | undefined>\n\n /**\n * TODO: Implement def columns parser.\n * @ignore\n */\n _tmp_columns$: Observable<any>\n\n /**\n * TODO: Implement def rows parser.\n * @ignore\n */\n _tmp_rows$: Observable<any>\n\n constructor(\n private readonly _dynamicDef: DynamicDatatableDefService\n ) {\n this._hasDef$ = this._dynamicDef.def$.pipe(map(def => !!def))\n\n this.menuBar$ = this._dynamicDef.menuBar$\n\n this._exporters$ = this._dynamicDef.exporters$\n\n this._commonFilterMenuItems$ = this._dynamicDef.filterMenuItems$\n .pipe(map(f => f.filter(_f => _f.type === 'common')))\n\n this._hasFullSearch$ = this._dynamicDef.filterMenuItems$\n .pipe(map(f => !!f.find(_f => _f.type === 'full-search')))\n\n this._hasFilterMenu$ = this._dynamicDef.hasFilterMenu$\n\n this._options$ = this._dynamicDef.options$\n\n this._tmp_columns$ = this._dynamicDef.def$.pipe(\n map(def => def ? def.columns : [])\n )\n\n this._tmp_rows$ = this._dynamicDef.def$.pipe(\n map(def => def ? def.rows : []),\n // tap(v => console.log('_tmp_rows$', v))\n )\n }\n\n /** @ignore */\n ngOnInit() { }\n\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamDataExporterModule } from '@theseam/ui-common/data-exporter'\nimport { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters'\nimport { TheSeamDatatableModule } from '@theseam/ui-common/datatable'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { DatatableDynamicActionMenuComponent } from './datatable-dynamic-action-menu/datatable-dynamic-action-menu.component'\nimport { DatatableDynamicFilterContainerComponent } from './datatable-dynamic-filter-container/datatable-dynamic-filter-container.component'\nimport { DatatableDynamicMenuBarContentComponent } from './datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component'\nimport { DatatableDynamicComponent } from './datatable-dynamic.component'\nimport { DatatableDynamicActionMenuItemDirective } from './directives/datatable-dynamic-action-menu-item.directive'\n\n@NgModule({\n declarations: [\n DatatableDynamicComponent,\n DatatableDynamicFilterContainerComponent,\n DatatableDynamicActionMenuComponent,\n DatatableDynamicActionMenuItemDirective,\n DatatableDynamicMenuBarContentComponent,\n ],\n imports: [\n CommonModule,\n TheSeamSharedModule,\n TheSeamDatatableModule,\n TheSeamTableCellTypesModule,\n TheSeamDataExporterModule,\n TheSeamDataFiltersModule,\n TheSeamIconModule,\n PortalModule,\n RouterModule,\n TheSeamMenuModule,\n TheSeamButtonsModule\n ],\n exports: [\n DatatableDynamicComponent,\n TheSeamDatatableModule,\n DatatableDynamicActionMenuItemDirective\n ]\n})\nexport class TheSeamDatatableDynamicModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["BehaviorSubject","map","shareReplay","switchMap","of","combineLatest","notNullOrUndefined","hasProperty","Injectable","Inject","THESEAM_DATA_EXPORTER","THESEAM_DATA_FILTER_DEF","DynamicValueHelperService","from","toArray","faEllipsisH","concatMap","filter","Component","ChangeDetectionStrategy","Input","ComponentPortal","PortalInjector","THESEAM_DATA_FILTER_OPTIONS","Injector","InjectionToken","TheSeamDynamicComponentLoader","Optional","router","RouterLinkWithHref","RouterLink","toggleAttribute","Router","ActivatedRoute","Attribute","Renderer2","ElementRef","LocationStrategy","ReplaySubject","Subscription","tap","catchError","isDevMode","getAttribute","fromEvent","mapTo","Directive","DynamicActionHelperService","AssetReaderHelperService","NgModule","CommonModule","TheSeamSharedModule","TheSeamDatatableModule","TheSeamTableCellTypesModule","TheSeamDataExporterModule","TheSeamDataFiltersModule","TheSeamIconModule","PortalModule","RouterModule","TheSeamMenuModule","TheSeamButtonsModule"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"theseam-ui-common-datatable-dynamic.umd.js","sources":["../../../node_modules/tslib/tslib.es6.js","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-columns-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-filter-menu-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-options-defaults.ts","../../../projects/ui-common/datatable-dynamic/utils/defaults/set-dynamic-datatable-def-defaults.ts","../../../projects/ui-common/datatable-dynamic/dynamic-datatable-def.service.ts","../../../projects/ui-common/datatable-dynamic/dynamic-datatable-row-actions.service.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-menu-bar-token.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.ts","../../../projects/ui-common/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic.component.ts","../../../projects/ui-common/datatable-dynamic/datatable-dynamic.module.ts","../../../projects/ui-common/datatable-dynamic/theseam-ui-common-datatable-dynamic.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import { DynamicDatatableColumn } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableColumnsDefaults(\n columns: DynamicDatatableColumn[]\n) {\n for (const col of columns) {\n if (!col.cellType) {\n col.cellType = 'string'\n }\n }\n}\n","import { DynamicDatatableFilterMenu } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableFilterMenuDefaults(\n filterMenu: DynamicDatatableFilterMenu\n) {\n if (!filterMenu.state) {\n filterMenu.state = 'default'\n }\n}\n","import { DynamicDatatableOptions } from '../../datatable-dynamic-def'\n\nexport function setDynamicDatatableOptionsDefaults(\n options: DynamicDatatableOptions\n) {\n if (options.virtualization === undefined || options.virtualization === null) {\n options.virtualization = true\n }\n}\n","import { DatatableDynamicDef } from '../../datatable-dynamic-def'\n\nimport { setDynamicDatatableColumnsDefaults } from './set-dynamic-datatable-columns-defaults'\nimport { setDynamicDatatableFilterMenuDefaults } from './set-dynamic-datatable-filter-menu-defaults'\nimport { setDynamicDatatableOptionsDefaults } from './set-dynamic-datatable-options-defaults'\n\nexport function setDynamicDatatableDefDefaults(\n def: DatatableDynamicDef\n) {\n setDynamicDatatableColumnsDefaults(def.columns)\n\n if (def.filterMenu) {\n setDynamicDatatableFilterMenuDefaults(def.filterMenu)\n }\n\n if (def.options) {\n setDynamicDatatableOptionsDefaults(def.options)\n }\n}\n","import { ComponentType } from '@angular/cdk/portal'\nimport { Inject, Injectable } from '@angular/core'\nimport { BehaviorSubject, combineLatest, Observable, of } from 'rxjs'\nimport { map, shareReplay, switchMap } from 'rxjs/operators'\n\nimport { IDataExporter, THESEAM_DATA_EXPORTER } from '@theseam/ui-common/data-exporter'\nimport { IDataFilter, THESEAM_DATA_FILTER_DEF } from '@theseam/ui-common/data-filters'\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableOptions } from './datatable-dynamic-def'\nimport { DatatableDynamicDef } from './datatable-dynamic-def'\nimport { DynamicDatatableMenuBar } from './models/dynamic-datatable-menu-bar'\nimport { DynamicDatatableFilterMenuItem } from './models/index'\nimport { setDynamicDatatableDefDefaults } from './utils/index'\n\n/**\n * Manages the data defined in the `DatatableDynamicDef`. Simplifies accessing\n * and observing the needed data based on the `DatatableDynamicDef`.\n */\n@Injectable()\nexport class DynamicDatatableDefService {\n\n /**\n * @deprecated\n * @ignore\n */\n private _dataExporters: IDataExporter[]\n\n /**\n * @deprecated\n * @ignore\n */\n private _dataFilters: { name: string, component: ComponentType<IDataFilter> }[]\n\n /** @ignore */\n private readonly _defSubject = new BehaviorSubject<DatatableDynamicDef | undefined>(undefined)\n\n /** Dynamic datatable definition. */\n public readonly def$: Observable<DatatableDynamicDef | undefined>\n\n /**\n * Exporters in the def that are available.\n * @deprecated\n */\n public readonly exporters$: Observable<IDataExporter[]>\n\n /**\n * Filter menu items in the def that are available.\n * @deprecated\n */\n public readonly filterMenuItems$: Observable<DynamicDatatableFilterMenuItem[]>\n\n /**\n * Observes whether the datatable has a filter menu.\n * @deprecated\n */\n public readonly hasFilterMenu$: Observable<boolean>\n\n /** Observes datatable options. */\n public readonly options$: Observable<DynamicDatatableOptions | undefined>\n\n /** Observes the datatable def menu bar. */\n public readonly menuBar$: Observable<DynamicDatatableMenuBar | undefined>\n\n constructor(\n @Inject(THESEAM_DATA_EXPORTER) dataExporters: IDataExporter[],\n @Inject(THESEAM_DATA_FILTER_DEF) dataFilters: { name: string, component: ComponentType<IDataFilter> }[],\n private _valueHelper: DynamicValueHelperService,\n ) {\n this._dataExporters = (dataExporters || [])\n this._dataFilters = (dataFilters || [])\n\n this.def$ = this._defSubject.asObservable()\n\n this.exporters$ = this.def$.pipe(\n map(def => !!def ? this._mapExporters(def) : []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.filterMenuItems$ = this.def$.pipe(\n map(def => !!def ? this._mapFilterMenuItems(def) : []),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.hasFilterMenu$ = this.def$.pipe(\n switchMap(def => {\n if (!def) { return of(false) }\n\n // Check if the visibility can be determined by the state value only.\n if (def.filterMenu && def.filterMenu.state) {\n switch (def.filterMenu.state) {\n case 'always-visible': return of(true)\n case 'hidden': return of(false)\n }\n }\n\n // Check if there is anything to put in the filter menu.\n return combineLatest([\n this.exporters$.pipe(map(e => e.length > 0)),\n this.filterMenuItems$.pipe(map(f => f.length > 0))\n ]).pipe(map(v => v.indexOf(true) !== -1))\n }),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.options$ = this.def$.pipe(\n map(def => !!def ? def.options : undefined),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n\n this.menuBar$ = this.def$.pipe(\n map(def => (notNullOrUndefined(def) && hasProperty(def, 'menuBar')) ? def.menuBar : undefined),\n // tap(v => console.log('menubar', v)),\n shareReplay({ bufferSize: 1, refCount: true })\n )\n }\n\n /** Sets the `DatatableDynamicDef` that defines the datatable. */\n public setDef(def: DatatableDynamicDef | undefined): void {\n if (def) { setDynamicDatatableDefDefaults(def) }\n this._defSubject.next(def || undefined)\n }\n\n /** Map the def exporters to the provided `IDataExporter` objects. */\n private _mapExporters(def: DatatableDynamicDef): IDataExporter[] {\n if (!def.filterMenu || !Array.isArray(def.filterMenu.exporters)) {\n return []\n }\n\n return def.filterMenu.exporters\n .map(e => this._dataExporters.find(de => de.name === e))\n .filter(notNullOrUndefined)\n }\n\n /** Map the def filter menu items to provided components. */\n private _mapFilterMenuItems(def: DatatableDynamicDef): DynamicDatatableFilterMenuItem[] {\n if (!def.filterMenu || !def.filterMenu.filters || !Array.isArray(def.filterMenu.filters)) {\n return []\n }\n\n return def.filterMenu.filters\n .map(f => {\n const _df = this._dataFilters.find(df => df.name === f.name)\n if (_df) { return { ...f, component: _df.component } }\n })\n .filter(notNullOrUndefined)\n }\n\n}\n","import { Injectable } from '@angular/core'\nimport { from, Observable, of } from 'rxjs'\nimport { map, switchMap, toArray } from 'rxjs/operators'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from './datatable-dynamic-def'\nimport { DynamicDatatableDefService } from './dynamic-datatable-def.service'\nimport { DynamicDatatableRowAction } from './models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from './models/dynamic-datatable-row-action-context'\n\n@Injectable()\nexport class DynamicDatatableRowActionsService {\n\n constructor(\n private _valueHelper: DynamicValueHelperService,\n private _dynamicDef: DynamicDatatableDefService\n ) { }\n\n /**\n * Observe actions for specified row\n */\n public rowActions(row: DynamicDatatableRow): Observable<DynamicDatatableRowAction[]> {\n return this._dynamicDef.def$.pipe(\n map(def => (def && def.rowActions) ? def.rowActions || [] : []),\n switchMap(rowActions => !!rowActions\n ? from(rowActions).pipe(\n map(rowAction => {\n if (rowAction.hasOwnProperty('hidden')) {\n if (typeof rowAction.hidden === 'boolean') {\n return rowAction.hidden ? undefined : rowAction\n } else {\n const context = this._getRowActionContext(row, rowAction)\n // TODO: Fix async eval\n const isHidden = this._valueHelper.evalSync(rowAction.hidden, context)\n return isHidden ? undefined : rowAction\n }\n }\n return rowAction\n }),\n toArray(),\n map(v => v.filter(notNullOrUndefined))\n )\n : of([])\n )\n )\n }\n\n /** @ignore */\n private _getRowActionContext(row: DynamicDatatableRow, rowActionDef: DynamicDatatableRowAction): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { BehaviorSubject, from, Observable, of } from 'rxjs'\nimport { concatMap, filter, switchMap, toArray } from 'rxjs/operators'\n\nimport { faEllipsisH } from '@fortawesome/free-solid-svg-icons'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { hasProperty, notNullOrUndefined } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from '../datatable-dynamic-def'\nimport { DynamicDatatableRowActionsService } from '../dynamic-datatable-row-actions.service'\nimport { DynamicDatatableActionMenuElementTypes, DynamicDatatableActionMenuRecord } from '../models/dynamic-datatable-action-menu-record'\nimport { DynamicDatatableRowAction } from '../models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from '../models/dynamic-datatable-row-action-context'\n\n@Component({\n selector: 'seam-datatable-dynamic-action-menu',\n templateUrl: './datatable-dynamic-action-menu.component.html',\n styleUrls: ['./datatable-dynamic-action-menu.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicActionMenuComponent implements OnInit {\n\n faEllipsisH = faEllipsisH\n\n @Input()\n get row() { return this._row.value }\n set row(value: DynamicDatatableRow | undefined) {\n this._row.next(value || undefined)\n }\n private _row = new BehaviorSubject<DynamicDatatableRow | undefined>(undefined)\n\n @Input()\n get actionDefs() { return this._actionDefs.value }\n set actionDefs(value: DynamicDatatableRowAction[]) {\n this._actionDefs.next(value || [])\n }\n private _actionDefs = new BehaviorSubject<DynamicDatatableRowAction[]>([])\n\n _menuRecords$: Observable<DynamicDatatableActionMenuRecord[]>\n\n /** @ignore */\n _actionMenuPositions = [\n {\n originX: 'start',\n originY: 'bottom',\n overlayX: 'end',\n overlayY: 'top',\n },\n {\n originX: 'start',\n originY: 'top',\n overlayX: 'end',\n overlayY: 'bottom',\n },\n {\n originX: 'end',\n originY: 'bottom',\n overlayX: 'start',\n overlayY: 'top',\n },\n {\n originX: 'end',\n originY: 'top',\n overlayX: 'start',\n overlayY: 'bottom',\n },\n ]\n\n constructor(\n private _valueHelper: DynamicValueHelperService,\n private _dynamicRowActions: DynamicDatatableRowActionsService\n ) {\n // this._menuRecords$ = combineLatest([ this._row, this._actionDefs ]).pipe(\n // switchMap(([ row, actionDefs ]) => !!row ? this._mapRecords(row, actionDefs) : of([]))\n // )\n this._menuRecords$ = this._row.pipe(\n switchMap(row => !!row\n ? this._dynamicRowActions.rowActions(row).pipe(\n switchMap(actionDefs => this._mapRecords(row, actionDefs))\n )\n : of([])\n ),\n // tap(v => console.log('actions', v))\n )\n\n // this._menuRecords$.subscribe()\n }\n\n ngOnInit() { }\n\n // TODO: Consider moving this to `DynamicDatatableRowActionsService`.\n private _mapRecords<A extends DynamicDatatableRowAction>(\n row: DynamicDatatableRow,\n actionDefs: A[]\n ): Observable<DynamicDatatableActionMenuRecord[]> {\n return from(actionDefs).pipe(\n concatMap(actionDef => {\n return (async () => {\n const _rowAction: DynamicDatatableRowAction = {\n ...actionDef\n }\n\n const context = this._getRowActionContext(row, actionDef)\n\n if (hasProperty(_rowAction, 'hidden')) {\n _rowAction.hidden = await this._valueHelper.eval(_rowAction.hidden, context)\n if (_rowAction.hidden) {\n return undefined\n }\n }\n\n _rowAction.label = await this._valueHelper.eval(actionDef.label, context)\n\n if (hasProperty(_rowAction, 'disabled')) {\n _rowAction.disabled = await this._valueHelper.eval(_rowAction.disabled, context)\n }\n\n const record: DynamicDatatableActionMenuRecord = {\n _row: row,\n _def: actionDef,\n rowAction: _rowAction,\n elementType: this._expectedElementType(actionDef)\n }\n\n return record\n })()\n }),\n filter(notNullOrUndefined),\n toArray()\n )\n }\n\n /** @ignore */\n private _getRowActionContext(\n row: DynamicDatatableRow,\n rowActionDef: DynamicDatatableRowAction\n ): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n private _expectedElementType(def: DynamicDatatableRowAction): DynamicDatatableActionMenuElementTypes {\n const action = def.action\n\n if (action.type === 'link') {\n if (hasProperty(<any>action, 'asset')) {\n return 'button'\n }\n return 'a'\n }\n\n return 'button'\n }\n\n}\n","import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'\nimport { ChangeDetectionStrategy, Component, Injector, Input, OnInit } from '@angular/core'\n\nimport { THESEAM_DATA_FILTER_OPTIONS } from '@theseam/ui-common/data-filters'\nimport type { ComponentType } from '@theseam/ui-common/models'\n\n@Component({\n selector: 'seam-datatable-dynamic-filter-container',\n templateUrl: './datatable-dynamic-filter-container.component.html',\n styleUrls: ['./datatable-dynamic-filter-container.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicFilterContainerComponent<C> implements OnInit {\n\n @Input()\n set filterComponent(value: ComponentType<C> | undefined | null) {\n this._filterComponent = value\n // if (this._filterComponent !== value) {\n // this._setPortal(value)\n // }\n }\n get filterComponent() { return this._filterComponent }\n private _filterComponent: ComponentType<C> | undefined | null\n\n @Input() options: any\n\n _portal: ComponentPortal<C> | null = null\n\n constructor(\n private _injector: Injector\n ) { }\n\n ngOnInit() {\n if (this.filterComponent) {\n this._setPortal(this.filterComponent)\n }\n }\n\n private _setPortal(component: ComponentType<C>) {\n if (this._portal) {\n this._portal = null\n }\n\n if (component) {\n this._portal = new ComponentPortal(component, undefined, this._createInjector())\n } else {\n this._portal = null\n }\n }\n\n private _createInjector(): PortalInjector {\n return new PortalInjector(this._injector, new WeakMap <any, any> ([\n [ THESEAM_DATA_FILTER_OPTIONS, this.options ]\n ]))\n }\n\n}\n","import { InjectionToken } from '@angular/core'\n\nimport { IDatatableDynamicMenuBarItemManifest } from './datatable-dynamic-menu-bar-item-manifest'\n\nexport const THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM = new InjectionToken<IDatatableDynamicMenuBarItemManifest>(\n 'IDatatableDynamicMenuBarItemManifest'\n)\n","import { ComponentPortal, PortalInjector } from '@angular/cdk/portal'\nimport { ChangeDetectionStrategy, Component, Inject, Injector, Input, OnInit, Optional } from '@angular/core'\nimport { BehaviorSubject, Observable } from 'rxjs'\nimport { map, switchMap } from 'rxjs/operators'\n\nimport { DynamicValueHelperService } from '@theseam/ui-common/dynamic'\nimport { TheSeamDynamicComponentLoader } from '@theseam/ui-common/dynamic-component-loader'\nimport { hasProperty } from '@theseam/ui-common/utils'\n\nimport { IDatatableDynamicMenuBarItemManifest } from '../datatable-dynamic-menu-bar-item-manifest'\nimport { THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM } from '../datatable-dynamic-menu-bar-token'\nimport {\n DynamicDatatableMenuBar,\n DynamicDatatableMenuBarColumn,\n DynamicDatatableMenuBarItem,\n DynamicDatatableMenuBarRow,\n DynamicDatatableMenuBarRowLayoutTriColumn\n} from '../models/dynamic-datatable-menu-bar'\n\nexport interface IDatatableDynamicMenuBarContentItem {\n // styles?: string | string[]\n // cssClass?: string | string[]\n portal?: ComponentPortal<{}>\n // component?: string | ComponentType<{}>\n // config?: any\n}\n\nexport interface IDatatableDynamicMenuBarContentColumn {\n styles?: string | string[]\n cssClass?: string | string[]\n items?: IDatatableDynamicMenuBarContentItem[]\n}\n\nexport interface IDatatableDynamicMenuBarContentRowLayoutTriColumn {\n columnLeft?: IDatatableDynamicMenuBarContentColumn\n columnCenter?: IDatatableDynamicMenuBarContentColumn\n columnRight?: IDatatableDynamicMenuBarContentColumn\n}\n\nexport interface IDatatableDynamicMenuBarContentRow {\n styles?: string | string[]\n cssClass?: string | string[]\n priority?: number\n layoutType?: string\n layout?: IDatatableDynamicMenuBarContentRowLayoutTriColumn\n}\n\nexport interface IDatatableDynamicMenuBarContentRowContext {\n row: DynamicDatatableMenuBarRow\n}\n\nexport interface IDatatableDynamicMenuBarContentColumnContext {\n column: DynamicDatatableMenuBarColumn\n row: DynamicDatatableMenuBarRow\n}\n\nexport interface IDatatableDynamicMenuBarContentItemContext {\n item: DynamicDatatableMenuBarItem\n row: DynamicDatatableMenuBarRow\n column: DynamicDatatableMenuBarColumn\n}\n\n@Component({\n selector: 'seam-datatable-dynamic-menu-bar-content',\n templateUrl: './datatable-dynamic-menu-bar-content.component.html',\n styleUrls: ['./datatable-dynamic-menu-bar-content.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicMenuBarContentComponent implements OnInit {\n\n private readonly _def = new BehaviorSubject<DynamicDatatableMenuBar | undefined>(undefined)\n\n @Input()\n set def(value: DynamicDatatableMenuBar | undefined) { this._def.next(value) }\n get def(): DynamicDatatableMenuBar | undefined { return this._def.value }\n\n public readonly def$: Observable<DynamicDatatableMenuBar | undefined>\n\n readonly _rows$: Observable<IDatatableDynamicMenuBarContentRow[]>\n\n constructor(\n private readonly _valueHelper: DynamicValueHelperService,\n private readonly _dynamicComponentLoader: TheSeamDynamicComponentLoader,\n private readonly _injector: Injector,\n @Optional() @Inject(THESEAM_DATATABLE_DYNAMIC_MENUBAR_ITEM)\n private readonly _menuBarItemManifests?: IDatatableDynamicMenuBarItemManifest[]\n ) {\n this.def$ = this._def.asObservable()\n // .pipe(tap(v => console.log('def$', v)))\n\n this._rows$ = this.def$.pipe(switchMap(def => this._mapRows(def && def.rows || [])))\n // .pipe(tap(v => console.log('_rows$', v)))\n }\n\n ngOnInit() { }\n\n private _mapRows(rows: DynamicDatatableMenuBarRow[]): Promise<IDatatableDynamicMenuBarContentRow[]> {\n return Promise.all(rows.map(r => this._mapRow(r)))\n }\n\n private async _mapRow(row: DynamicDatatableMenuBarRow): Promise<IDatatableDynamicMenuBarContentRow> {\n const result: IDatatableDynamicMenuBarContentRow = { }\n const context = this._createRowContext(row)\n\n if (hasProperty(row, 'styles')) {\n result.styles = await this._valueHelper.eval(row.styles, context)\n }\n\n if (hasProperty(row, 'cssClass')) {\n result.cssClass = await this._valueHelper.eval(row.cssClass, context)\n }\n\n if (hasProperty(row, 'priority')) {\n result.priority = await this._valueHelper.eval(row.priority, context)\n }\n\n result.layoutType = row.layout.type\n result.layout = await this._mapRowLayout(row.layout, row)\n\n return result\n }\n\n private async _mapRowLayout(\n layout: DynamicDatatableMenuBarRowLayoutTriColumn,\n row: DynamicDatatableMenuBarRow\n ): Promise<IDatatableDynamicMenuBarContentRowLayoutTriColumn> {\n const result: IDatatableDynamicMenuBarContentRowLayoutTriColumn = { }\n\n if (hasProperty(layout, 'columnLeft')) {\n result.columnLeft = await this._mapColumn(layout.columnLeft, row)\n }\n\n if (hasProperty(layout, 'columnCenter')) {\n result.columnCenter = await this._mapColumn(layout.columnCenter, row)\n }\n\n if (hasProperty(layout, 'columnRight')) {\n result.columnRight = await this._mapColumn(layout.columnRight, row)\n }\n\n return result\n }\n\n private async _mapColumn(\n column: DynamicDatatableMenuBarColumn,\n row: DynamicDatatableMenuBarRow\n ): Promise<IDatatableDynamicMenuBarContentColumn> {\n const result: IDatatableDynamicMenuBarContentColumn = { }\n const context = this._createColumnContext(column, row)\n\n if (hasProperty(column, 'styles')) {\n result.styles = await this._valueHelper.eval(column.styles, context)\n }\n\n if (hasProperty(column, 'cssClass')) {\n result.cssClass = await this._valueHelper.eval(column.cssClass, context)\n }\n\n result.items = await Promise.all(column.items.map(v => this._mapItem(v, row, column)))\n\n return result\n }\n\n private async _mapItem(\n item: DynamicDatatableMenuBarItem,\n row: DynamicDatatableMenuBarRow,\n column: DynamicDatatableMenuBarColumn\n ): Promise<IDatatableDynamicMenuBarContentItem> {\n const result: IDatatableDynamicMenuBarContentItem = { }\n const context = this._createItemContext(item, row, column)\n\n // if (hasProperty(item, 'styles')) {\n // result.styles = await this._valueHelper.eval(item.styles, context)\n // }\n\n // if (hasProperty(item, 'cssClass')) {\n // result.cssClass = await this._valueHelper.eval(item.cssClass, context)\n // }\n\n if (hasProperty(item, 'component')) {\n // result.component = await this._valueHelper.eval(item.component, context)\n const component = await this._valueHelper.eval(item.component, context)\n\n let data: any\n if (hasProperty(item, 'data')) {\n // result.data = await this._valueHelper.eval(item.data, context)\n // console.log('%cdata', 'color:cyan', item.data)\n data = await this._valueHelper.eval(item.data, context)\n // console.log('%cdata', 'color:limegreen', data)\n }\n\n result.portal = await this._getComponentPortal(component, data)\n }\n\n return result\n }\n\n private _createRowContext(row: DynamicDatatableMenuBarRow): IDatatableDynamicMenuBarContentRowContext {\n return {\n row\n }\n }\n\n private _createColumnContext(\n column: DynamicDatatableMenuBarColumn,\n row: DynamicDatatableMenuBarRow\n ): IDatatableDynamicMenuBarContentColumnContext {\n return {\n row,\n column\n }\n }\n\n private _createItemContext(\n item: DynamicDatatableMenuBarItem,\n row: DynamicDatatableMenuBarRow,\n column: DynamicDatatableMenuBarColumn\n ): IDatatableDynamicMenuBarContentItemContext {\n return {\n item,\n row,\n column\n }\n }\n\n private async _getComponentPortal(component: string, data?: any): Promise<ComponentPortal<{}> | undefined> {\n const manifest = (this._menuBarItemManifests || []).find(m => m.name === component)\n\n if (!manifest) {\n // TODO: Make sure the component is skipped instead of erroring outside of dev mode.\n throw Error(`MenuBar manifest for '${component}' not found.`)\n }\n\n // TODO: Create a new injector with the data injected\n let injector = this._injector\n if (manifest.dataToken) {\n injector = new PortalInjector(this._injector, new WeakMap([\n [manifest.dataToken, data]\n ]))\n }\n\n if (typeof manifest.component === 'string') {\n this._dynamicComponentLoader.getComponentFactory<{}>(manifest.component).pipe(\n map(componentFactory => {\n return new ComponentPortal(\n componentFactory.componentType,\n null,\n injector,\n (<any /* ComponentFactoryBoundToModule */>componentFactory).ngModule.componentFactoryResolver\n )\n })\n ).toPromise()\n } else {\n return new ComponentPortal(manifest.component, null, injector, null)\n }\n }\n\n}\n","import { LocationStrategy } from '@angular/common'\nimport {\n Attribute,\n Directive,\n ElementRef,\n Input,\n isDevMode,\n OnChanges,\n OnDestroy,\n OnInit,\n Renderer2\n} from '@angular/core'\nimport { ActivatedRoute, QueryParamsHandling, Router, RouterLink, RouterLinkWithHref } from '@angular/router'\nimport { from, fromEvent, Observable, of, ReplaySubject, Subscription } from 'rxjs'\nimport { catchError, mapTo, switchMap, tap } from 'rxjs/operators'\n\nimport { AssetReaderHelperService } from '@theseam/ui-common/asset-reader'\nimport {\n DynamicActionHelperService,\n DynamicActionUiAnchorDef,\n DynamicActionUiButtonDef,\n DynamicActionUiDef,\n DynamicValueHelperService\n} from '@theseam/ui-common/dynamic'\nimport { getAttribute, hasProperty, toggleAttribute } from '@theseam/ui-common/utils'\n\nimport { DynamicDatatableRow } from '../datatable-dynamic-def'\nimport type { DynamicDatatableActionMenuRecord } from '../models/dynamic-datatable-action-menu-record'\nimport { DynamicDatatableRowAction } from '../models/dynamic-datatable-row-action'\nimport { DynamicDatatableRowActionContext } from '../models/dynamic-datatable-row-action-context'\n\n/**\n * Class to act as a substitute to `routerLink` directive until the menu items\n * can be dynamically built in a clean way with or without `routerLink`.\n */\nexport class DatatableDynamicActionMenuItemRouterLink {\n\n private _rLink?: RouterLink\n private _rLinkWithHref?: RouterLinkWithHref\n\n // private _clickSubscription?: Subscription\n private _rLinkClickEventListener?: any\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n @Attribute('tabindex') tabIndex: string | null,\n private renderer: Renderer2,\n private el: ElementRef,\n private locationStrategy: LocationStrategy\n ) {\n if (el.nativeElement.nodeName.toLowerCase() === 'a') {\n this._rLinkWithHref = new RouterLinkWithHref(\n router,\n route,\n locationStrategy\n )\n // console.log('rLinkWithHref', this.rLinkWithHref)\n\n this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', (event: MouseEvent) => {\n // console.log('this._rLinkWithHref', this._rLinkWithHref, this._rLinkWithHref && this._rLinkWithHref.href)\n if (this._rLinkWithHref) {\n return this._rLinkWithHref.onClick(event.button, event.ctrlKey, event.shiftKey, event.altKey, event.metaKey)\n }\n })\n } else {\n this._rLink = new RouterLink(\n router,\n route,\n tabIndex as string,\n renderer,\n el\n )\n // console.log('rLink', this.rLink)\n\n this._rLinkClickEventListener = this.el.nativeElement.addEventListener('click', () => {\n // console.log('this._rLink', this._rLink && this._rLink.urlTree)\n if (this._rLink) { return this._rLink.onClick() }\n })\n\n // this._clickSubscription = fromEvent(el.nativeElement, 'click')\n // .subscribe(() => {\n // if (this._rLink) {\n // this._rLink.onClick()\n // } else {\n // if (this._clickSubscription && !this._clickSubscription.closed) {\n // this._clickSubscription.unsubscribe()\n // }\n // }\n // })\n }\n }\n\n get routerLink(): RouterLink | undefined { return this._rLink }\n get routerLinkWithHref(): RouterLinkWithHref | undefined { return this._rLinkWithHref }\n\n set routerLinkInput(commands: any[] | string) {\n if (this._rLink) {\n this._rLink.routerLink = commands\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.routerLink = commands\n }\n }\n\n set queryParams(value: { [k: string]: any }) {\n if (this._rLink) {\n this._rLink.queryParams = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.queryParams = value\n }\n }\n\n set fragment(value: string) {\n if (this._rLink) {\n this._rLink.fragment = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.fragment = value\n }\n }\n\n set queryParamsHandling(value: QueryParamsHandling) {\n if (this._rLink) {\n this._rLink.queryParamsHandling = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.queryParamsHandling = value\n }\n }\n\n set preserveFragment(value: boolean) {\n if (this._rLink) {\n this._rLink.preserveFragment = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.preserveFragment = value\n }\n }\n\n set skipLocationChange(value: boolean) {\n if (this._rLink) {\n this._rLink.skipLocationChange = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.skipLocationChange = value\n }\n }\n\n set replaceUrl(value: boolean) {\n if (this._rLink) {\n this._rLink.replaceUrl = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.replaceUrl = value\n }\n }\n\n set state(value: { [k: string]: any }) {\n if (this._rLink) {\n this._rLink.state = value\n } else if (this._rLinkWithHref) {\n this._rLinkWithHref.state = value\n }\n }\n\n set target(value: string | undefined) {\n if (this._rLinkWithHref) {\n this._rLinkWithHref.target = value as string\n\n if (value) {\n this.renderer.setAttribute(this.el.nativeElement, 'target', value)\n } else {\n toggleAttribute(this.el.nativeElement, 'target', false)\n }\n }\n }\n\n public destroy() {\n // if (this._clickSubscription && !this._clickSubscription.closed) {\n // this._clickSubscription.unsubscribe()\n // }\n if (this._rLinkClickEventListener) {\n this.el.nativeElement.removeEventListener('click', this._rLinkClickEventListener)\n this._rLinkClickEventListener = null\n }\n\n if (this._rLinkWithHref && this._rLinkWithHref.ngOnDestroy) {\n this._rLinkWithHref.ngOnDestroy()\n }\n }\n\n}\n\n// TODO: Refactor this directive. It got way more complex instead of more\n// simplified like it was supposed to be.\n@Directive({\n selector: '[seamDatatableDynamicActionMenuItem]',\n exportAs: 'seamDatatableDynamicActionMenuItem'\n})\nexport class DatatableDynamicActionMenuItemDirective implements OnInit, OnDestroy, OnChanges {\n\n @Input()\n // get seamDatatableDynamicActionMenuItem(): DynamicDatatableActionMenuRecord { return this._record }\n set seamDatatableDynamicActionMenuItem(value: DynamicDatatableActionMenuRecord) {\n this._record.next(value)\n }\n private _record = new ReplaySubject<DynamicDatatableActionMenuRecord>(1)\n\n private _clickSubscription?: Subscription\n private _menuRouterLink?: DatatableDynamicActionMenuItemRouterLink\n\n private _recordSubscription = Subscription.EMPTY\n\n constructor(\n private _elementRef: ElementRef<HTMLElement>,\n private _renderer: Renderer2,\n private _valueHelper: DynamicValueHelperService,\n private _actionHelper: DynamicActionHelperService,\n private _assetReaderHelper: AssetReaderHelperService,\n private _router: Router,\n private _route: ActivatedRoute,\n private _locationStrategy: LocationStrategy\n ) {\n this._recordSubscription = this._record.pipe(\n // tap(v => console.log('record', v)),\n switchMap(record => this._update(record)),\n tap(() => { this._setInvalidActionState(false) }),\n catchError(error => {\n if (isDevMode()) { console.error(error) }\n this._setInvalidActionState(true)\n return of(undefined)\n }),\n // tap(v => console.log('record DONE', v))\n ).subscribe()\n }\n\n ngOnInit() { }\n\n ngOnDestroy() {\n this._recordSubscription.unsubscribe()\n this._unsubClick()\n if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {\n this._menuRouterLink.routerLinkWithHref.ngOnDestroy()\n }\n }\n\n ngOnChanges(changes: {}) {\n // console.log('ngOnChanges', changes, this, this._menuRouterLink)\n if (this._menuRouterLink && this._menuRouterLink.routerLinkWithHref) {\n this._menuRouterLink.routerLinkWithHref.ngOnChanges({})\n if (this._menuRouterLink.routerLinkWithHref.href) {\n if (getAttribute(this._elementRef.nativeElement, 'href') !== this._menuRouterLink.routerLinkWithHref.href) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'href', this._menuRouterLink.routerLinkWithHref.href)\n }\n } else {\n toggleAttribute(this._elementRef.nativeElement, 'href', false)\n }\n }\n }\n\n public _update(record: DynamicDatatableActionMenuRecord): Observable<void> {\n this._unsubClick()\n\n return from(this._getUiProps(record)).pipe(\n switchMap(uiProps => this._isAnchor()\n ? this._updateAnchorElement(record, uiProps as DynamicActionUiAnchorDef)\n : this._updateButtonElement(record, uiProps as DynamicActionUiButtonDef)\n )\n )\n }\n\n private _updateAnchorElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef\n ): Observable<void> {\n const _stream: Observable<any> = of(undefined)\n\n switch (uiProps.triggerType) {\n case 'link': {\n // console.log('Handle \"link\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n this._initMenuItemRouterLink(record, uiProps)\n\n break\n }\n case 'link-external': {\n // console.log('Handle \"link-external\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n if (hasProperty(uiProps, 'linkUrl')) {\n this._setAttr('href', uiProps.linkUrl)\n }\n if (hasProperty(uiProps, 'linkExtras')) {\n if (hasProperty(uiProps.linkExtras, 'target')) {\n this._setAttr('target', uiProps.linkExtras.target)\n }\n }\n // TODO: Consider making the ItemRouterLink work with external urls.\n // this._initMenuItemRouterLink(record, uiProps)\n\n break\n }\n // TODO: Unless we decide to add a route for openning assets, this would\n // be confusing to a user.\n // case 'link-asset': {\n // console.log('Handle \"link-asset\" triggerType.', uiProps)\n // // this._tryInitTabIndex()\n // this._tryInitBlockClick(record, uiProps)\n // break\n // }\n default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +\n `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`)\n }\n\n return _stream// .pipe(mapTo(undefined))\n }\n\n private _updateButtonElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef | DynamicActionUiButtonDef\n ): Observable<void> {\n let _stream: Observable<any> = of(undefined)\n // this._updateClickElement(record, uiProps as DynamicActionUiButtonDef)\n switch (uiProps.triggerType) {\n case 'link-asset': {\n // console.log('Handle \"link-asset\" triggerType.', uiProps)\n // this._tryInitTabIndex()\n this._tryInitBlockClick(record, uiProps)\n _stream = _stream.pipe(switchMap(() => this._updateAssetElement(record, uiProps)))\n break\n }\n case 'click': {\n // console.log('Handle \"click\" triggerType.', uiProps)\n this._tryInitBlockClick(record, uiProps)\n _stream = _stream.pipe(switchMap(() => this._updateClickElement(record, uiProps)))\n break\n }\n default: throw Error('[DatatableDynamicActionMenuItemDirective] ' +\n `triggerType ${uiProps.triggerType} is not valid for _updateAnchorElement().`)\n }\n\n return _stream// .pipe(mapTo(undefined))\n }\n\n private _updateAssetElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef | DynamicActionUiButtonDef\n ): Observable<void> {\n // console.log('_updateAssetElement')\n // return of(undefined)\n // console.log('this._elementRef.nativeElement', this._elementRef.nativeElement)\n const t = fromEvent(this._elementRef.nativeElement, 'click').pipe(\n tap(event => {\n // const _context = this._getContext(record._row, record.rowAction)\n // const context = { ..._context, event, uiProps }\n // const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)\n // console.log(record, uiProps)\n // console.log('_updateClickElement click', (<any>event).button, event)\n if (this._assetReaderHelper) {\n if (uiProps.triggerType === 'link-asset' && hasProperty(uiProps, 'linkUrl')) {\n const url = uiProps.linkUrl\n let target: string | undefined\n if (hasProperty(uiProps, 'linkExtras') && hasProperty(uiProps.linkExtras, 'target')) {\n target = uiProps.linkExtras.target\n }\n this._assetReaderHelper.openLink(url, true, true, target)\n }\n }\n // if (!result) {\n // event.preventDefault()\n // event.stopPropagation()\n // }\n }),\n mapTo(undefined)\n )\n\n return of(undefined).pipe(\n // tap(() => console.log('starting _updateButtonElement')),\n switchMap(() => t),\n )\n }\n\n private _updateClickElement(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiButtonDef\n ): Observable<void> {\n // console.log('_updateClickElement', record, uiProps)\n // return of(undefined)\n return fromEvent(this._elementRef.nativeElement, 'click').pipe(\n switchMap(event => {\n const _context = this._getContext(record._row, record.rowAction)\n const context = { ..._context, event, uiProps }\n // console.log('click', (<any>event).button, event)\n // if (!result) {\n // event.preventDefault()\n // event.stopPropagation()\n // }\n\n return this._actionHelper.exec(uiProps._actionDef, context)\n }),\n mapTo(undefined)\n )\n }\n\n private _unsubClick() {\n if (this._clickSubscription && !this._clickSubscription.closed) {\n this._clickSubscription.unsubscribe()\n }\n }\n\n private _setAttr(attr: string, value: string) {\n this._renderer.setAttribute(this._elementRef.nativeElement, attr, value)\n }\n\n private _tryInitTabIndex() {\n if (getAttribute(this._elementRef.nativeElement, 'tabindex') === null) {\n this._renderer.setAttribute(this._elementRef.nativeElement, 'tabindex', '0')\n }\n }\n\n private _tryInitBlockClick(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiDef\n ) {\n this._unsubClick()\n if (hasProperty(uiProps, 'blockClickExpr')) {\n this._clickSubscription = this._blockClickExprObservable(uiProps, record).subscribe()\n }\n }\n\n private _blockClickExprObservable(\n uiProps: DynamicActionUiDef,\n record: DynamicDatatableActionMenuRecord\n ) {\n return fromEvent(this._elementRef.nativeElement, 'click').pipe(\n tap(event => {\n const _context = this._getContext(record._row, record.rowAction)\n const context = { ..._context, event, uiProps }\n const result = this._valueHelper.evalSync(uiProps.blockClickExpr, context)\n // console.log('click', result, (<any>event).button, event)\n if (!result) {\n event.preventDefault()\n event.stopPropagation()\n }\n }),\n mapTo(undefined)\n )\n }\n\n private _initMenuItemRouterLink(\n record: DynamicDatatableActionMenuRecord,\n uiProps: DynamicActionUiAnchorDef\n ) {\n this._menuRouterLink = new DatatableDynamicActionMenuItemRouterLink(\n this._router,\n this._route,\n getAttribute(this._elementRef.nativeElement, 'tabindex'),\n this._renderer,\n this._elementRef,\n this._locationStrategy\n )\n // console.log(this._menuRouterLink)\n\n this._menuRouterLink.routerLinkInput = uiProps.linkUrl as string\n\n if (hasProperty(uiProps, 'linkExtras')) {\n if (hasProperty(uiProps.linkExtras, 'target')) {\n this._menuRouterLink.target = uiProps.linkExtras.target\n }\n if (hasProperty(uiProps.linkExtras, 'queryParams')) {\n this._menuRouterLink.queryParams = uiProps.linkExtras.queryParams\n }\n if (hasProperty(uiProps.linkExtras, 'fragment')) {\n this._menuRouterLink.fragment = uiProps.linkExtras.fragment\n }\n if (hasProperty(uiProps.linkExtras, 'queryParamsHandling')) {\n this._menuRouterLink.queryParamsHandling = uiProps.linkExtras.queryParamsHandling\n }\n if (hasProperty(uiProps.linkExtras, 'preserveFragment')) {\n this._menuRouterLink.preserveFragment = uiProps.linkExtras.preserveFragment\n }\n if (hasProperty(uiProps.linkExtras, 'skipLocationChange')) {\n this._menuRouterLink.skipLocationChange = uiProps.linkExtras.skipLocationChange\n }\n if (hasProperty(uiProps.linkExtras, 'replaceUrl')) {\n this._menuRouterLink.replaceUrl = uiProps.linkExtras.replaceUrl\n }\n if (hasProperty(uiProps.linkExtras, 'state')) {\n this._menuRouterLink.state = uiProps.linkExtras.state\n }\n }\n\n this.ngOnChanges({})\n }\n\n private _isAnchor(): boolean {\n return this._elementRef.nativeElement.nodeName.toLowerCase() === 'a'\n }\n\n private _getUiProps(record: DynamicDatatableActionMenuRecord): Promise<DynamicActionUiDef> {\n const context = this._getContext(record._row, record.rowAction)\n return this._actionHelper.getUiProps(record.rowAction.action, context)\n }\n\n /** @ignore */\n private _getContext(row: DynamicDatatableRow, rowActionDef: DynamicDatatableRowAction): DynamicDatatableRowActionContext {\n return {\n row\n }\n }\n\n private _setInvalidActionState(invalid: boolean = false) {\n const element = this._elementRef.nativeElement\n toggleAttribute(element, 'disabled', invalid)\n }\n\n}\n","import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core'\nimport { Observable } from 'rxjs'\nimport { map } from 'rxjs/operators'\n\nimport { IDataExporter } from '@theseam/ui-common/data-exporter'\n\nimport {\n DatatableDynamicDef,\n DynamicDatatableOptions\n} from './datatable-dynamic-def'\nimport { DynamicDatatableDefService } from './dynamic-datatable-def.service'\nimport { DynamicDatatableRowActionsService } from './dynamic-datatable-row-actions.service'\nimport { DynamicDatatableFilterMenuItem } from './models/dynamic-datatable-filter-menu-item'\nimport { DynamicDatatableMenuBar } from './models/dynamic-datatable-menu-bar'\n\n/**\n * # EXPERIMENTAL\n *\n * NOTE: This component is still experimental. When stable all standard\n * datatables must use this component, unless there is a good reason not to, in\n * our apps.\n *\n * ----------------------------------------------------------------------------\n *\n * Datatable that is built from a json definition.\n *\n * All standard datatables in our apps must use this component, unless there is\n * a good reason not to. If a standard datatable does not use this component\n * then an explaination comment needs to be clearly provided in the code to\n * avoid getting migrated to this component.\n *\n * A few reasons this component should to be used:\n * - We can, more easily, control what a datatable in our app does by requiring\n * the definition follow a json schema, instead of having full scripting\n * access available to the developer.\n * + By using json we can maintain the tables from any external app/language\n * that can produce a json string.\n * + More scripting access often leads to different hacks across the tables\n * that should have just been supported by this component if it is a feature\n * a datatable should be able to do in an app of ours.\n * - We can allow any of our tables to be configured by the server.\n * + By supporting configuration on the server we can change the tables\n * without a new build and do things like allowing non-developers/clients to\n * maintain the tables functionality.\n */\n@Component({\n selector: 'seam-datatable-dynamic',\n templateUrl: './datatable-dynamic.component.html',\n styleUrls: ['./datatable-dynamic.component.scss'],\n providers: [\n DynamicDatatableDefService,\n DynamicDatatableRowActionsService\n ],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class DatatableDynamicComponent implements OnInit {\n\n /** The `DatatableDynamicDef` that defines the datatable. */\n @Input() set def(value: DatatableDynamicDef | undefined | null) {\n this._dynamicDef.setDef(value || undefined)\n }\n\n /**\n * Observes whether the datatable has a def.\n * @ignore\n */\n _hasDef$: Observable<boolean>\n\n /**\n * Observes whether the datatable has a menu bar.\n */\n menuBar$: Observable<DynamicDatatableMenuBar | undefined>\n\n /**\n * The available exporters.\n * @ignore\n */\n _exporters$: Observable<IDataExporter[]>\n\n /**\n * The 'common' type filter menu items.\n * @ignore\n */\n _commonFilterMenuItems$: Observable<DynamicDatatableFilterMenuItem[]>\n\n /**\n * Observes whether the datatable has a 'full-search' menu item.\n * @ignore\n */\n _hasFullSearch$: Observable<boolean>\n\n /**\n * Observes whether the datatable has a filter menu.\n * @ignore\n */\n _hasFilterMenu$: Observable<boolean>\n\n /**\n * Observes datatable options.\n * @ignore\n */\n _options$: Observable<DynamicDatatableOptions | undefined>\n\n /**\n * TODO: Implement def columns parser.\n * @ignore\n */\n _tmp_columns$: Observable<any>\n\n /**\n * TODO: Implement def rows parser.\n * @ignore\n */\n _tmp_rows$: Observable<any>\n\n constructor(\n private readonly _dynamicDef: DynamicDatatableDefService\n ) {\n this._hasDef$ = this._dynamicDef.def$.pipe(map(def => !!def))\n\n this.menuBar$ = this._dynamicDef.menuBar$\n\n this._exporters$ = this._dynamicDef.exporters$\n\n this._commonFilterMenuItems$ = this._dynamicDef.filterMenuItems$\n .pipe(map(f => f.filter(_f => _f.type === 'common')))\n\n this._hasFullSearch$ = this._dynamicDef.filterMenuItems$\n .pipe(map(f => !!f.find(_f => _f.type === 'full-search')))\n\n this._hasFilterMenu$ = this._dynamicDef.hasFilterMenu$\n\n this._options$ = this._dynamicDef.options$\n\n this._tmp_columns$ = this._dynamicDef.def$.pipe(\n map(def => def ? def.columns : [])\n )\n\n this._tmp_rows$ = this._dynamicDef.def$.pipe(\n map(def => def ? def.rows : []),\n // tap(v => console.log('_tmp_rows$', v))\n )\n }\n\n /** @ignore */\n ngOnInit() { }\n\n}\n","import { PortalModule } from '@angular/cdk/portal'\nimport { CommonModule } from '@angular/common'\nimport { NgModule } from '@angular/core'\nimport { RouterModule } from '@angular/router'\n\nimport { TheSeamButtonsModule } from '@theseam/ui-common/buttons'\nimport { TheSeamDataExporterModule } from '@theseam/ui-common/data-exporter'\nimport { TheSeamDataFiltersModule } from '@theseam/ui-common/data-filters'\nimport { TheSeamDatatableModule } from '@theseam/ui-common/datatable'\nimport { TheSeamIconModule } from '@theseam/ui-common/icon'\nimport { TheSeamMenuModule } from '@theseam/ui-common/menu'\nimport { TheSeamSharedModule } from '@theseam/ui-common/shared'\nimport { TheSeamTableCellTypesModule } from '@theseam/ui-common/table-cell-types'\n\nimport { DatatableDynamicActionMenuComponent } from './datatable-dynamic-action-menu/datatable-dynamic-action-menu.component'\nimport { DatatableDynamicFilterContainerComponent } from './datatable-dynamic-filter-container/datatable-dynamic-filter-container.component'\nimport { DatatableDynamicMenuBarContentComponent } from './datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component'\nimport { DatatableDynamicComponent } from './datatable-dynamic.component'\nimport { DatatableDynamicActionMenuItemDirective } from './directives/datatable-dynamic-action-menu-item.directive'\n\n@NgModule({\n declarations: [\n DatatableDynamicComponent,\n DatatableDynamicFilterContainerComponent,\n DatatableDynamicActionMenuComponent,\n DatatableDynamicActionMenuItemDirective,\n DatatableDynamicMenuBarContentComponent,\n ],\n imports: [\n CommonModule,\n TheSeamSharedModule,\n TheSeamDatatableModule,\n TheSeamTableCellTypesModule,\n TheSeamDataExporterModule,\n TheSeamDataFiltersModule,\n TheSeamIconModule,\n PortalModule,\n RouterModule,\n TheSeamMenuModule,\n TheSeamButtonsModule\n ],\n exports: [\n DatatableDynamicComponent,\n TheSeamDatatableModule,\n DatatableDynamicActionMenuItemDirective\n ]\n})\nexport class TheSeamDatatableDynamicModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["BehaviorSubject","map","shareReplay","switchMap","of","combineLatest","notNullOrUndefined","hasProperty","Injectable","Inject","THESEAM_DATA_EXPORTER","THESEAM_DATA_FILTER_DEF","DynamicValueHelperService","from","toArray","faEllipsisH","concatMap","filter","Component","ChangeDetectionStrategy","Input","ComponentPortal","PortalInjector","THESEAM_DATA_FILTER_OPTIONS","Injector","InjectionToken","TheSeamDynamicComponentLoader","Optional","router","RouterLinkWithHref","RouterLink","toggleAttribute","Router","ActivatedRoute","Attribute","Renderer2","ElementRef","LocationStrategy","ReplaySubject","Subscription","tap","catchError","isDevMode","getAttribute","fromEvent","mapTo","Directive","DynamicActionHelperService","AssetReaderHelperService","NgModule","CommonModule","TheSeamSharedModule","TheSeamDatatableModule","TheSeamTableCellTypesModule","TheSeamDataExporterModule","TheSeamDataFiltersModule","TheSeamIconModule","PortalModule","RouterModule","TheSeamMenuModule","TheSeamButtonsModule"],"mappings":"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"}
|