@theseam/ui-common 0.4.29 → 0.4.30
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/breadcrumbs/breadcrumbs/breadcrumbs.component.scss +1 -1
- package/datatable/datatable/datatable.component.d.ts +61 -9
- package/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.d.ts +25 -0
- package/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.d.ts +18 -0
- package/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.d.ts +16 -0
- package/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.d.ts +15 -0
- package/datatable/datatable-menu-bar/datatable-menu-bar.component.d.ts +2 -2
- package/datatable/datatable.module.d.ts +29 -20
- package/datatable/directives/datatable-column-filter-tpl.directive.d.ts +8 -0
- package/datatable/directives/datatable-column-filter.directive.d.ts +10 -0
- package/datatable/models/action-item-column-position.d.ts +13 -0
- package/datatable/models/columns-data-filter.d.ts +57 -0
- package/datatable/models/columns-data-filters/models.d.ts +65 -0
- package/datatable/models/columns-data-filters/search-date.columns-data-filter.d.ts +23 -0
- package/datatable/models/columns-data-filters/search-numeric.columns-data-filter.d.ts +22 -0
- package/datatable/models/columns-data-filters/search-text.columns-data-filter.d.ts +21 -0
- package/datatable/models/columns-data-filters/utils.d.ts +15 -0
- package/datatable/models/datatable-config.d.ts +97 -0
- package/datatable/models/table-column.d.ts +22 -1
- package/datatable/public-api.d.ts +14 -0
- package/datatable/services/columns-filters.service.d.ts +29 -0
- package/datatable/services/columns-manager.service.d.ts +7 -0
- package/datatable/utils/create-action-menu-column.d.ts +1 -1
- package/esm2020/asset-reader/asset-reader-helper.service.mjs +4 -4
- package/esm2020/asset-reader/asset-reader.module.mjs +5 -5
- package/esm2020/asset-reader/encrypted-asset-link.directive.mjs +4 -4
- package/esm2020/breadcrumbs/breadcrumbs/breadcrumbs.component.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.module.mjs +5 -5
- package/esm2020/breadcrumbs/breadcrumbs.service.mjs +4 -4
- package/esm2020/buttons/badge-button/badge-button.component.mjs +7 -7
- package/esm2020/buttons/button/button.component.mjs +10 -10
- package/esm2020/buttons/buttons.module.mjs +5 -5
- package/esm2020/buttons/progress-circle-button/progress-circle-button.component.mjs +4 -4
- package/esm2020/buttons/toggle-button/toggle-button.component.mjs +4 -4
- package/esm2020/card/card-action/card-action.component.mjs +4 -4
- package/esm2020/card/card-body/card-body.component.mjs +4 -4
- package/esm2020/card/card-footer/card-footer.component.mjs +4 -4
- package/esm2020/card/card-header/card-header.component.mjs +4 -4
- package/esm2020/card/card.component.mjs +4 -4
- package/esm2020/card/card.module.mjs +5 -5
- package/esm2020/carousel/carousel-slide.directive.mjs +4 -4
- package/esm2020/carousel/carousel.component.mjs +4 -4
- package/esm2020/carousel/carousel.module.mjs +5 -5
- package/esm2020/checkbox/checkbox.component.mjs +4 -4
- package/esm2020/checkbox/checkbox.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-click.directive.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.component.mjs +4 -4
- package/esm2020/confirm-dialog/confirm-dialog.module.mjs +5 -5
- package/esm2020/confirm-dialog/confirm-dialog.service.mjs +4 -4
- package/esm2020/data-exporter/data-exporter.module.mjs +5 -5
- package/esm2020/data-exporter/exporters/csv-exporter.mjs +4 -4
- package/esm2020/data-exporter/exporters/xlsx-exporter.mjs +4 -4
- package/esm2020/data-filters/data-filters.module.mjs +5 -5
- package/esm2020/data-filters/filters/data-filter-search/data-filter-search.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-text/data-filter-text.component.mjs +4 -4
- package/esm2020/data-filters/filters/data-filter-toggle-buttons/data-filter-toggle-buttons.component.mjs +4 -4
- package/esm2020/datatable/datatable/datatable.component.mjs +241 -32
- package/esm2020/datatable/datatable-action-menu/datatable-action-menu.component.mjs +5 -5
- package/esm2020/datatable/datatable-action-menu-item/datatable-action-menu-item.component.mjs +4 -4
- package/esm2020/datatable/datatable-column/datatable-column.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-filter-menu/datatable-column-filter-menu.component.mjs +55 -0
- package/esm2020/datatable/datatable-column-filter-search-date/datatable-column-filter-search-date.component.mjs +54 -0
- package/esm2020/datatable/datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component.mjs +48 -0
- package/esm2020/datatable/datatable-column-filter-search-text/datatable-column-filter-search-text.component.mjs +44 -0
- package/esm2020/datatable/datatable-column-preferences/datatable-column-preferences.component.mjs +4 -4
- package/esm2020/datatable/datatable-column-preferences-button/datatable-column-preferences-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-export-button/datatable-export-button.component.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-footer/datatable-footer.directive.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar/datatable-menu-bar.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-center/datatable-menu-bar-column-center.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-left/datatable-menu-bar-column-left.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-column-right/datatable-menu-bar-column-right.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-row/datatable-menu-bar-row.component.mjs +4 -4
- package/esm2020/datatable/datatable-menu-bar-text/datatable-menu-bar-text.component.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail-tpl.directive.mjs +4 -4
- package/esm2020/datatable/datatable-row-detail/datatable-row-detail.directive.mjs +4 -4
- package/esm2020/datatable/datatable.module.mjs +53 -11
- package/esm2020/datatable/directives/datatable-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-action-menu-toggle.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-cell-tpl.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-column-filter-tpl.directive.mjs +16 -0
- package/esm2020/datatable/directives/datatable-column-filter.directive.mjs +26 -0
- package/esm2020/datatable/directives/datatable-filter.directive.mjs +4 -4
- package/esm2020/datatable/directives/datatable-row-action-item.directive.mjs +4 -4
- package/esm2020/datatable/models/action-item-column-position.mjs +5 -0
- package/esm2020/datatable/models/columns-data-filter.mjs +10 -0
- package/esm2020/datatable/models/columns-data-filters/models.mjs +74 -0
- package/esm2020/datatable/models/columns-data-filters/search-date.columns-data-filter.mjs +113 -0
- package/esm2020/datatable/models/columns-data-filters/search-numeric.columns-data-filter.mjs +104 -0
- package/esm2020/datatable/models/columns-data-filters/search-text.columns-data-filter.mjs +86 -0
- package/esm2020/datatable/models/columns-data-filters/utils.mjs +28 -0
- package/esm2020/datatable/models/datatable-config.mjs +3 -0
- package/esm2020/datatable/models/table-column.mjs +1 -1
- package/esm2020/datatable/public-api.mjs +15 -1
- package/esm2020/datatable/services/columns-alterations-manager.service.mjs +4 -4
- package/esm2020/datatable/services/columns-filters.service.mjs +109 -0
- package/esm2020/datatable/services/columns-manager.service.mjs +30 -5
- package/esm2020/datatable/services/datatable-column-changes.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-preferences.service.mjs +4 -4
- package/esm2020/datatable/services/datatable-scrollbar-helper.service.mjs +4 -4
- package/esm2020/datatable/utils/create-action-menu-column.mjs +4 -3
- package/esm2020/datatable-dynamic/datatable-dynamic-action-menu/datatable-dynamic-action-menu.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-filter-container/datatable-dynamic-filter-container.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic-menu-bar-content/datatable-dynamic-menu-bar-content.component.mjs +4 -4
- package/esm2020/datatable-dynamic/datatable-dynamic.component.mjs +5 -5
- package/esm2020/datatable-dynamic/datatable-dynamic.module.mjs +5 -5
- package/esm2020/datatable-dynamic/directives/datatable-dynamic-action-menu-item.directive.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-def.service.mjs +4 -4
- package/esm2020/datatable-dynamic/dynamic-datatable-row-actions.service.mjs +4 -4
- package/esm2020/dynamic/action/api/dynamic-action-api.service.mjs +4 -4
- package/esm2020/dynamic/action/dynamic-action-helper.service.mjs +4 -4
- package/esm2020/dynamic/action/link/dynamic-action-link.service.mjs +4 -4
- package/esm2020/dynamic/action/modal/dynamic-action-modal.service.mjs +4 -4
- package/esm2020/dynamic/dynamic-value-helper.service.mjs +4 -4
- package/esm2020/dynamic/evaluators/exporters-data-evaluator/exporters-data-evaluator.mjs +4 -4
- package/esm2020/dynamic/evaluators/jexl-evaluator/jexl-evaluator.mjs +4 -4
- package/esm2020/dynamic-component-loader/dynamic-component-loader.module.mjs +5 -5
- package/esm2020/dynamic-component-loader/dynamic-component-loader.service.mjs +4 -4
- package/esm2020/footer-bar/footer-bar/footer-bar.component.mjs +4 -4
- package/esm2020/footer-bar/footer-bar.module.mjs +5 -5
- package/esm2020/form-field/form-field-error.directive.mjs +4 -4
- package/esm2020/form-field/form-field-help-text.directive.mjs +4 -4
- package/esm2020/form-field/form-field-label-tpl.directive.mjs +4 -4
- package/esm2020/form-field/form-field-required-indicator.component.mjs +4 -4
- package/esm2020/form-field/form-field.component.mjs +4 -4
- package/esm2020/form-field/form-field.module.mjs +5 -5
- package/esm2020/form-field/input.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error/form-field-error.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item-tpl.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list-item.directive.mjs +4 -4
- package/esm2020/form-field-error/form-field-error-list/form-field-error-list.component.mjs +4 -4
- package/esm2020/form-field-error/form-field-error.module.mjs +5 -5
- package/esm2020/framework/base-layout/base-layout.component.mjs +16 -6
- package/esm2020/framework/base-layout/base-layout.module.mjs +10 -5
- package/esm2020/framework/base-layout/directives/base-layout-content-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content-header.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-content.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-nav-toggle.directive.mjs +22 -6
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-footer.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-side-bar-header.directive.mjs +16 -0
- package/esm2020/framework/base-layout/directives/base-layout-side-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/directives/base-layout-top-bar.directive.mjs +4 -4
- package/esm2020/framework/base-layout/index.mjs +2 -1
- package/esm2020/framework/dashboard/dashboard-widget-container/dashboard-widget-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widget-template-container/dashboard-widget-template-container.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widget-portal-outlet.directive.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets-preferences.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard-widgets/dashboard-widgets.service.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.component.mjs +4 -4
- package/esm2020/framework/dashboard/dashboard.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/dynamic-router.module.mjs +5 -5
- package/esm2020/framework/dynamic-router/hierarchy-router-outlet/hierarchy-router-outlet.component.mjs +4 -4
- package/esm2020/framework/dynamic-router/resolvers/hierarchy-level.resolver.mjs +4 -4
- package/esm2020/framework/nav/horizontal-nav/horizontal-nav.component.mjs +55 -0
- package/esm2020/framework/nav/index.mjs +6 -0
- package/esm2020/framework/nav/nav-item/nav-item.component.mjs +227 -0
- package/esm2020/framework/nav/nav-utils.mjs +107 -0
- package/esm2020/framework/nav/nav.models.mjs +2 -0
- package/esm2020/framework/nav/nav.module.mjs +67 -0
- package/esm2020/framework/nav/nav.service.mjs +204 -0
- package/esm2020/framework/public-api.mjs +2 -1
- package/esm2020/framework/schema-form/schema-form-framework.component.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form-framework.mjs +4 -4
- package/esm2020/framework/schema-form/schema-form.module.mjs +5 -5
- package/esm2020/framework/schema-form-controls/schema-form-checkbox/schema-form-checkbox.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-divider/schema-form-divider.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-input/schema-form-input.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-number/schema-form-number.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-select/schema-form-select.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit/schema-form-submit.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-submit-split/schema-form-submit-split.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tel/schema-form-tel.component.mjs +4 -4
- package/esm2020/framework/schema-form-controls/schema-form-tiled-select/schema-form-tiled-select.component.mjs +4 -4
- package/esm2020/framework/side-nav/side-nav-item/side-nav-item.component.mjs +29 -68
- package/esm2020/framework/side-nav/side-nav-toggle/side-nav-toggle.component.mjs +14 -7
- package/esm2020/framework/side-nav/side-nav.component.mjs +117 -39
- package/esm2020/framework/side-nav/side-nav.models.mjs +1 -1
- package/esm2020/framework/side-nav/side-nav.module.mjs +11 -41
- package/esm2020/framework/side-nav/side-nav.service.mjs +4 -4
- package/esm2020/framework/top-bar/index.mjs +3 -1
- package/esm2020/framework/top-bar/top-bar-compact-menu-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-item.directive.mjs +12 -6
- package/esm2020/framework/top-bar/top-bar-menu-btn-detail.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.mjs +8 -6
- package/esm2020/framework/top-bar/top-bar-menu.directive.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.mjs +16 -0
- package/esm2020/framework/top-bar/top-bar-title/top-bar-title.component.mjs +4 -4
- package/esm2020/framework/top-bar/top-bar.component.mjs +57 -13
- package/esm2020/framework/top-bar/top-bar.module.mjs +19 -9
- package/esm2020/google-maps/google-maps/google-maps.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/lazy-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-api-loader/noop-google-maps-api-loader.mjs +4 -4
- package/esm2020/google-maps/google-maps-controls.service.mjs +4 -4
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.component.mjs +5 -5
- package/esm2020/google-maps/google-maps-places-autocomplete/google-maps-places-autocomplete.directive.mjs +4 -4
- package/esm2020/google-maps/google-maps-recenter-button-control/google-maps-recenter-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps-upload-button-control/google-maps-upload-button-control.component.mjs +4 -4
- package/esm2020/google-maps/google-maps.module.mjs +5 -5
- package/esm2020/google-maps/google-maps.service.mjs +4 -4
- package/esm2020/google-maps/map-control.component.mjs +4 -4
- package/esm2020/google-maps/map-file-drop/map-file-drop.component.mjs +4 -4
- package/esm2020/google-maps/map-value-manager.service.mjs +4 -4
- package/esm2020/graphql/datatable/datatable-graphql.service.mjs +4 -4
- package/esm2020/graphql/datatable/index.mjs +4 -1
- package/esm2020/graphql/datatable/map-filter-states.mjs +1 -1
- package/esm2020/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.mjs +139 -0
- package/esm2020/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.mjs +75 -0
- package/esm2020/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.mjs +44 -0
- package/esm2020/icon/icon/icon.component.mjs +4 -4
- package/esm2020/icon/icon-btn/icon-btn.component.mjs +4 -4
- package/esm2020/icon/icon-notification/icon-notification.component.mjs +4 -4
- package/esm2020/icon/icon.module.mjs +5 -5
- package/esm2020/layout/layout.module.mjs +5 -5
- package/esm2020/layout/layout.service.mjs +15 -5
- package/esm2020/loading/loading/loading.component.mjs +4 -4
- package/esm2020/loading/loading-overlay.service.mjs +4 -4
- package/esm2020/loading/loading.module.mjs +5 -5
- package/esm2020/menu/menu-divider.component.mjs +4 -4
- package/esm2020/menu/menu-footer/menu-footer.component.mjs +4 -4
- package/esm2020/menu/menu-footer-action/menu-footer-action.component.mjs +4 -4
- package/esm2020/menu/menu-header/menu-header.component.mjs +4 -4
- package/esm2020/menu/menu-item.component.mjs +4 -4
- package/esm2020/menu/menu-toggle.directive.mjs +9 -4
- package/esm2020/menu/menu.component.mjs +4 -4
- package/esm2020/menu/menu.module.mjs +5 -5
- package/esm2020/modal/directives/modal-close.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-footer-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-icon-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-header-title-tpl.directive.mjs +4 -4
- package/esm2020/modal/directives/modal-title.directive.mjs +4 -4
- package/esm2020/modal/directives/modal.directive.mjs +4 -4
- package/esm2020/modal/modal/modal.component.mjs +4 -4
- package/esm2020/modal/modal-body/modal-body.component.mjs +4 -4
- package/esm2020/modal/modal-container/modal-container.component.mjs +4 -4
- package/esm2020/modal/modal-footer/modal-footer.component.mjs +4 -4
- package/esm2020/modal/modal-header/modal-header.component.mjs +4 -4
- package/esm2020/modal/modal.module.mjs +5 -5
- package/esm2020/modal/modal.service.mjs +4 -4
- package/esm2020/modal/route-modal/route-modal.component.mjs +4 -4
- package/esm2020/navigation-reload/navigation-reload.service.mjs +4 -4
- package/esm2020/popover/popover/popover.component.mjs +9 -5
- package/esm2020/popover/popover.directive.mjs +8 -4
- package/esm2020/popover/popover.module.mjs +5 -5
- package/esm2020/progress/progress-circle/progress-circle.component.mjs +4 -4
- package/esm2020/progress/progress.module.mjs +5 -5
- package/esm2020/rich-text/rich-text/rich-text.component.mjs +4 -4
- package/esm2020/rich-text/rich-text.module.mjs +5 -5
- package/esm2020/scrollbar/overlay-scrollbar.directive.mjs +4 -4
- package/esm2020/scrollbar/overlay-scrollbars.service.mjs +4 -4
- package/esm2020/scrollbar/scrollbar.module.mjs +5 -5
- package/esm2020/services/asset-loader.service.mjs +4 -4
- package/esm2020/services/font-loader.service.mjs +4 -4
- package/esm2020/services/preferences/preferences-manager.service.mjs +4 -4
- package/esm2020/services/router-helpers.service.mjs +4 -4
- package/esm2020/shared/components/password-input-reveal/password-input-reveal.component.mjs +4 -4
- package/esm2020/shared/directives/auto-focus.directive.mjs +4 -4
- package/esm2020/shared/directives/click-outside.directive.mjs +4 -4
- package/esm2020/shared/directives/disable-control.directive.mjs +4 -4
- package/esm2020/shared/directives/elem-resized.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class-toggle.directive.mjs +4 -4
- package/esm2020/shared/directives/hover-class.directive.mjs +4 -4
- package/esm2020/shared/directives/ng-select-extra.directive.mjs +4 -4
- package/esm2020/shared/directives/ngx-quill-extra.directive.mjs +4 -4
- package/esm2020/shared/pipes/mask-chars.pipe.mjs +4 -4
- package/esm2020/shared/pipes/truncate.pipe.mjs +4 -4
- package/esm2020/shared/shared.module.mjs +5 -5
- package/esm2020/storage/local-storage.service.mjs +4 -4
- package/esm2020/story-helpers/initial-route.service.mjs +4 -4
- package/esm2020/story-helpers/story-empty-with-route.component.mjs +4 -4
- package/esm2020/story-helpers/story-empty.component.mjs +4 -4
- package/esm2020/story-helpers/story-helper-components.module.mjs +5 -5
- package/esm2020/story-helpers/story-initial-route.mjs +5 -5
- package/esm2020/story-helpers/story-modal-container.component.mjs +4 -4
- package/esm2020/story-helpers/story-preferences-accessor.service.mjs +4 -4
- package/esm2020/story-helpers/story-toastr.service.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab-content.directive.mjs +4 -4
- package/esm2020/tabbed/directives/tabbed-tab.directive.mjs +4 -4
- package/esm2020/tabbed/tabbed-content/tabbed-content.component.mjs +4 -4
- package/esm2020/tabbed/tabbed-item/tabbed-item.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.component.mjs +4 -4
- package/esm2020/tabbed/tabbed.module.mjs +5 -5
- package/esm2020/tabbed/tabbed.service.mjs +4 -4
- package/esm2020/table/public-api.mjs +4 -1
- package/esm2020/table/table/table.component.mjs +92 -7
- package/esm2020/table/table-cell-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column-header-tpl.directive.mjs +17 -0
- package/esm2020/table/table-column.component.mjs +68 -0
- package/esm2020/table/table.module.mjs +25 -9
- package/esm2020/table-cell-type/services/table-cell-types-helpers.service.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type-selector.component.mjs +4 -4
- package/esm2020/table-cell-type/table-cell-type.module.mjs +5 -5
- package/esm2020/table-cell-types/table-cell-type-currency/table-cell-type-currency.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-date/table-cell-type-date.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-decimal/table-cell-type-decimal.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-icon/table-cell-type-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-integer/table-cell-type-integer.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-phone/table-cell-type-phone.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle/table-cell-type-progress-circle.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-progress-circle-icon/table-cell-type-progress-circle-icon.component.mjs +4 -4
- package/esm2020/table-cell-types/table-cell-type-string/table-cell-type-string.component.mjs +7 -5
- package/esm2020/table-cell-types/table-cell-types.module.mjs +5 -5
- package/esm2020/tel-input/phone-number.pipe.mjs +4 -4
- package/esm2020/tel-input/tel-input/tel-input.component.mjs +4 -4
- package/esm2020/tel-input/tel-input.directive.mjs +4 -4
- package/esm2020/tel-input/tel-input.module.mjs +5 -5
- package/esm2020/tiled-select/components/tiled-select/tiled-select.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile/tiled-select-tile.component.mjs +4 -4
- package/esm2020/tiled-select/components/tiled-select-tile-icon/tiled-select-tile-icon.component.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-icon-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-label-tpl.directive.mjs +4 -4
- package/esm2020/tiled-select/directives/tiled-select-tile-overlay.directive.mjs +4 -4
- package/esm2020/tiled-select/tiled-select.module.mjs +5 -5
- package/esm2020/toggle-edit/toggle-edit-actions-container/toggle-edit-actions-container.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-display-tpl.directive.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit-keyboard-listener.service.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.component.mjs +4 -4
- package/esm2020/toggle-edit/toggle-edit.module.mjs +5 -5
- package/esm2020/toggle-group/toggle-group-option.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.directive.mjs +4 -4
- package/esm2020/toggle-group/toggle-group.module.mjs +5 -5
- package/esm2020/unsaved-changes-dialog/unsaved-changes-can-deactivate.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.component.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.guard.mjs +4 -4
- package/esm2020/unsaved-changes-dialog/unsaved-changes-dialog.module.mjs +5 -5
- package/esm2020/utils/geo-json/coerce-feature-collection.mjs +1 -1
- package/esm2020/utils/geo-json/is-feature-collection.validator.mjs +1 -1
- package/esm2020/utils/geo-json/is-only-geometry-types.mjs +1 -1
- package/esm2020/utils/geo-json/merge-polygons.mjs +1 -1
- package/esm2020/utils/geo-json/no-inner-rings.validator.mjs +1 -1
- package/esm2020/utils/geo-json/split-multi-polygons.mjs +1 -1
- package/esm2020/vertical-list-filter/vertical-list-filter.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.component.mjs +4 -4
- package/esm2020/viewers/html-template-viewer/html-template-viewer.module.mjs +5 -5
- package/esm2020/viewers/pdf-viewer/pdf-page/pdf-page.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-renderer.service.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.component.mjs +4 -4
- package/esm2020/viewers/pdf-viewer/pdf-viewer.module.mjs +5 -5
- package/esm2020/widget/directives/widget-drag-handle.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/directives/widget-title-tpl.directive.mjs +4 -4
- package/esm2020/widget/preferences/widget-preferences.service.mjs +4 -4
- package/esm2020/widget/widget/widget.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-button-group/widget-button-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-content-header/widget-content-header.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-description/widget-description.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-description/widget-description.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-empty-label/widget-empty-label.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-link/widget-footer-link.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-footer-text/widget-footer-text.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-header-badge/widget-header-badge.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item-icon-tpl.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group-item/widget-list-group-item.component.mjs +16 -16
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-list-group/widget-list-group.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-table/widget-table.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-table/widget-table.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer/widget-tile-footer.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-footer-item/widget-tile-footer-item.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-group/widget-tile-group.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile-secondary-icon.directive.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.component.mjs +7 -7
- package/esm2020/widget/widget-content-components/widget-tile/widget-tile.module.mjs +5 -5
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.component.mjs +4 -4
- package/esm2020/widget/widget-content-components/widget-tile-list/widget-tile-list.module.mjs +5 -5
- package/esm2020/widget/widget-footer/widget-footer.component.mjs +4 -4
- package/esm2020/widget/widget-registry.service.mjs +4 -4
- package/esm2020/widget/widget.module.mjs +5 -5
- package/fesm2015/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2015/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2015/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2015/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-card.mjs +19 -19
- package/fesm2015/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2015/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2015/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2015/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2015/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2015/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-datatable.mjs +1112 -139
- package/fesm2015/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2015/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2015/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2015/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2015/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2015/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-framework.mjs +1026 -277
- package/fesm2015/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2015/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2015/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-icon.mjs +13 -13
- package/fesm2015/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-layout.mjs +18 -9
- package/fesm2015/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-loading.mjs +10 -10
- package/fesm2015/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-menu.mjs +30 -25
- package/fesm2015/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-modal.mjs +43 -43
- package/fesm2015/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-navigation-reload.mjs +3 -3
- package/fesm2015/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-popover.mjs +19 -11
- package/fesm2015/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-progress.mjs +7 -7
- package/fesm2015/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2015/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2015/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-services.mjs +12 -12
- package/fesm2015/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-shared.mjs +37 -37
- package/fesm2015/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-storage.mjs +3 -3
- package/fesm2015/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2015/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2015/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2015/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2015/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-table.mjs +207 -15
- package/fesm2015/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2015/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2015/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2015/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2015/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2015/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2015/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2015/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2015/theseam-ui-common-widget.mjs +135 -135
- package/fesm2015/theseam-ui-common-widget.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-asset-reader.mjs +10 -10
- package/fesm2020/theseam-ui-common-asset-reader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs +11 -11
- package/fesm2020/theseam-ui-common-breadcrumbs.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-buttons.mjs +25 -25
- package/fesm2020/theseam-ui-common-buttons.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-card.mjs +19 -19
- package/fesm2020/theseam-ui-common-card.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-carousel.mjs +10 -10
- package/fesm2020/theseam-ui-common-carousel.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-checkbox.mjs +7 -7
- package/fesm2020/theseam-ui-common-checkbox.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-confirm-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-exporter.mjs +10 -10
- package/fesm2020/theseam-ui-common-data-exporter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-data-filters.mjs +13 -13
- package/fesm2020/theseam-ui-common-data-filters.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs +26 -26
- package/fesm2020/theseam-ui-common-datatable-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-datatable.mjs +1096 -139
- package/fesm2020/theseam-ui-common-datatable.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs +7 -7
- package/fesm2020/theseam-ui-common-dynamic-component-loader.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-dynamic.mjs +21 -21
- package/fesm2020/theseam-ui-common-dynamic.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-footer-bar.mjs +7 -7
- package/fesm2020/theseam-ui-common-footer-bar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field-error.mjs +16 -16
- package/fesm2020/theseam-ui-common-form-field-error.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-form-field.mjs +22 -22
- package/fesm2020/theseam-ui-common-form-field.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-framework.mjs +1028 -277
- package/fesm2020/theseam-ui-common-framework.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-google-maps.mjs +41 -41
- package/fesm2020/theseam-ui-common-google-maps.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-graphql.mjs +257 -4
- package/fesm2020/theseam-ui-common-graphql.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-icon.mjs +13 -13
- package/fesm2020/theseam-ui-common-icon.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-layout.mjs +18 -9
- package/fesm2020/theseam-ui-common-layout.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-loading.mjs +10 -10
- package/fesm2020/theseam-ui-common-loading.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-menu.mjs +30 -25
- package/fesm2020/theseam-ui-common-menu.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-modal.mjs +43 -43
- package/fesm2020/theseam-ui-common-modal.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-navigation-reload.mjs +3 -3
- package/fesm2020/theseam-ui-common-navigation-reload.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-popover.mjs +19 -11
- package/fesm2020/theseam-ui-common-popover.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-progress.mjs +7 -7
- package/fesm2020/theseam-ui-common-progress.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-rich-text.mjs +7 -7
- package/fesm2020/theseam-ui-common-rich-text.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-scrollbar.mjs +10 -10
- package/fesm2020/theseam-ui-common-scrollbar.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-services.mjs +12 -12
- package/fesm2020/theseam-ui-common-services.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-shared.mjs +37 -37
- package/fesm2020/theseam-ui-common-shared.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-storage.mjs +3 -3
- package/fesm2020/theseam-ui-common-storage.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-story-helpers.mjs +26 -26
- package/fesm2020/theseam-ui-common-story-helpers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tabbed.mjs +22 -22
- package/fesm2020/theseam-ui-common-tabbed.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-type.mjs +10 -10
- package/fesm2020/theseam-ui-common-table-cell-type.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table-cell-types.mjs +34 -32
- package/fesm2020/theseam-ui-common-table-cell-types.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-table.mjs +205 -15
- package/fesm2020/theseam-ui-common-table.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tel-input.mjs +13 -13
- package/fesm2020/theseam-ui-common-tel-input.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-tiled-select.mjs +22 -22
- package/fesm2020/theseam-ui-common-tiled-select.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-edit.mjs +16 -16
- package/fesm2020/theseam-ui-common-toggle-edit.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-toggle-group.mjs +10 -10
- package/fesm2020/theseam-ui-common-toggle-group.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs +13 -13
- package/fesm2020/theseam-ui-common-unsaved-changes-dialog.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-utils.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs +3 -3
- package/fesm2020/theseam-ui-common-vertical-list-filter.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-viewers.mjs +20 -20
- package/fesm2020/theseam-ui-common-viewers.mjs.map +1 -1
- package/fesm2020/theseam-ui-common-widget.mjs +135 -135
- package/fesm2020/theseam-ui-common-widget.mjs.map +1 -1
- package/framework/base-layout/base-layout.component.d.ts +4 -2
- package/framework/base-layout/base-layout.component.scss +18 -10
- package/framework/base-layout/base-layout.module.d.ts +11 -10
- package/framework/base-layout/directives/base-layout-nav-toggle.directive.d.ts +8 -3
- package/framework/base-layout/directives/base-layout-side-bar-header.directive.d.ts +9 -0
- package/framework/base-layout/index.d.ts +1 -0
- package/framework/base-layout/styles/_variables.scss +21 -0
- package/framework/nav/_nav-theme.scss +4 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.d.ts +25 -0
- package/framework/nav/horizontal-nav/horizontal-nav.component.scss +50 -0
- package/framework/nav/index.d.ts +5 -0
- package/framework/nav/nav-item/nav-item.component.d.ts +74 -0
- package/framework/nav/nav-item/nav-item.component.scss +203 -0
- package/framework/nav/nav-utils.d.ts +20 -0
- package/framework/nav/nav.models.d.ts +77 -0
- package/framework/nav/nav.module.d.ts +17 -0
- package/framework/nav/nav.service.d.ts +27 -0
- package/framework/nav/styles/_themes/light/_variables.scss +56 -0
- package/framework/nav/styles/_themes/primary/_variables.scss +56 -0
- package/framework/nav/styles/_utilities.scss +3 -0
- package/framework/nav/styles/_variables.scss +2 -0
- package/framework/public-api.d.ts +1 -0
- package/framework/side-nav/side-nav-item/side-nav-item.component.d.ts +7 -14
- package/framework/side-nav/side-nav-item/side-nav-item.component.scss +7 -5
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.d.ts +5 -3
- package/framework/side-nav/side-nav-toggle/side-nav-toggle.component.scss +3 -6
- package/framework/side-nav/side-nav.component.d.ts +13 -1
- package/framework/side-nav/side-nav.component.scss +0 -1
- package/framework/side-nav/side-nav.models.d.ts +7 -1
- package/framework/side-nav/side-nav.module.d.ts +1 -9
- package/framework/side-nav/styles/_themes/light/_variables.scss +24 -14
- package/framework/side-nav/styles/_themes/primary/_variables.scss +8 -0
- package/framework/top-bar/index.d.ts +2 -0
- package/framework/top-bar/top-bar-compact-menu-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar-item.directive.d.ts +4 -1
- package/framework/top-bar/top-bar-menu-button/top-bar-menu-button.component.d.ts +5 -2
- package/framework/top-bar/top-bar-nav-toggle-btn-detail.directive.d.ts +8 -0
- package/framework/top-bar/top-bar.component.d.ts +25 -3
- package/framework/top-bar/top-bar.component.scss +7 -2
- package/framework/top-bar/top-bar.module.d.ts +10 -8
- package/graphql/datatable/datatable-graphql.service.d.ts +1 -1
- package/graphql/datatable/index.d.ts +3 -0
- package/graphql/datatable/map-filter-states.d.ts +2 -2
- package/graphql/datatable/map-search-date-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-numeric-columns-data-filter-state-to-gql.d.ts +4 -0
- package/graphql/datatable/map-search-text-columns-data-filter-state-to-gql.d.ts +4 -0
- package/layout/layout.service.d.ts +9 -1
- package/menu/menu-toggle.directive.d.ts +2 -1
- package/package.json +3 -3
- package/popover/popover/popover.component.d.ts +4 -1
- package/popover/popover.directive.d.ts +2 -1
- package/styles/vendor/ngx-datatable/_ngx-datatable.scss +83 -14
- package/styles/vendor/ngx-datatable/_themes/bootstrap/_variables.scss +38 -3
- package/table/public-api.d.ts +3 -0
- package/table/table/table.component.d.ts +21 -3
- package/table/table-cell-tpl.directive.d.ts +7 -0
- package/table/table-column-header-tpl.directive.d.ts +7 -0
- package/table/table-column.component.d.ts +24 -0
- package/table/table.module.d.ts +4 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { ColumnsDataFilter } from "../columns-data-filter";
|
|
2
|
+
import { FormControl, FormGroup } from "@angular/forms";
|
|
3
|
+
import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
|
|
4
|
+
import { Subject, map, startWith } from "rxjs";
|
|
5
|
+
import { THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES } from "./models";
|
|
6
|
+
import { getFormattedDateForComparison } from "./utils";
|
|
7
|
+
export class SearchDateColumnsDataFilter extends ColumnsDataFilter {
|
|
8
|
+
constructor(prop, initialValue, column) {
|
|
9
|
+
super(prop, initialValue, column);
|
|
10
|
+
this.name = THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME;
|
|
11
|
+
this._updateFilterValue = new Subject;
|
|
12
|
+
this.form = new FormGroup({
|
|
13
|
+
searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
|
|
14
|
+
searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
|
|
15
|
+
fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
|
|
16
|
+
toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
|
|
17
|
+
});
|
|
18
|
+
this.uid = `${this.name}--${prop}`;
|
|
19
|
+
this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
|
|
20
|
+
this.options = {
|
|
21
|
+
dateType: this.column.filterOptions?.dateType || 'date'
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
dataFilter(data, filterValue, options) {
|
|
25
|
+
if (isNullOrUndefined(filterValue) || this.isDefault()) {
|
|
26
|
+
return data;
|
|
27
|
+
}
|
|
28
|
+
return this._dateSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
|
|
29
|
+
}
|
|
30
|
+
_isInvalidDate(dateString) {
|
|
31
|
+
return isNullOrUndefinedOrEmpty(dateString) || isNaN(new Date(dateString).valueOf());
|
|
32
|
+
}
|
|
33
|
+
_isInvalidSearchTerm(searchText, fromText, toText, comparator) {
|
|
34
|
+
if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(comparator) && this._isInvalidDate(searchText)) {
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(comparator) && (this._isInvalidDate(fromText) || this._isInvalidDate(toText))) {
|
|
38
|
+
return true;
|
|
39
|
+
}
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
_dateSearchDataFilter(prop, data, text, fromText, toText, comparator) {
|
|
43
|
+
if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
|
|
44
|
+
console.warn('No filter applied - invalid options.');
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
if (this._isInvalidSearchTerm(text, fromText, toText, comparator)) {
|
|
48
|
+
console.warn('No filter applied - invalid search terms.');
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
const useLocalTime = this.column.filterOptions?.useLocalTime === true;
|
|
52
|
+
const textDate = getFormattedDateForComparison(text, this.options.dateType, true);
|
|
53
|
+
const fromTextDate = getFormattedDateForComparison(fromText, this.options.dateType, true);
|
|
54
|
+
const toTextDate = getFormattedDateForComparison(toText, this.options.dateType, true);
|
|
55
|
+
return data.filter(item => {
|
|
56
|
+
let propDate = getFormattedDateForComparison(item[prop], this.options.dateType, useLocalTime);
|
|
57
|
+
if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
|
|
58
|
+
(comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
|
|
59
|
+
(comparator === 'lt' && propDate.valueOf() < textDate.valueOf()) ||
|
|
60
|
+
(comparator === 'lte' && propDate.valueOf() <= textDate.valueOf()) ||
|
|
61
|
+
(comparator === 'gt' && propDate.valueOf() > textDate.valueOf()) ||
|
|
62
|
+
(comparator === 'gte' && propDate.valueOf() >= textDate.valueOf()) ||
|
|
63
|
+
(comparator === 'eq' && propDate.valueOf() === textDate.valueOf()) ||
|
|
64
|
+
(comparator === 'between' && propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()) ||
|
|
65
|
+
(comparator === 'not-between' && !(propDate.valueOf() >= fromTextDate.valueOf() && propDate.valueOf() <= toTextDate.valueOf()))) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
return false;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
filter(data) {
|
|
72
|
+
return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
|
|
73
|
+
}
|
|
74
|
+
filterState() {
|
|
75
|
+
return {
|
|
76
|
+
name: this.name,
|
|
77
|
+
state: {
|
|
78
|
+
prop: this.prop,
|
|
79
|
+
formValue: this.form.value,
|
|
80
|
+
options: this.options
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
applyFilter() {
|
|
85
|
+
this._updateFilterValue.next();
|
|
86
|
+
}
|
|
87
|
+
clearFilter() {
|
|
88
|
+
this.form.setValue({
|
|
89
|
+
searchType: 'eq',
|
|
90
|
+
searchText: null,
|
|
91
|
+
fromText: null,
|
|
92
|
+
toText: null
|
|
93
|
+
});
|
|
94
|
+
this._updateFilterValue.next();
|
|
95
|
+
}
|
|
96
|
+
isDefault() {
|
|
97
|
+
const formValue = this.form.value;
|
|
98
|
+
if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
|
|
99
|
+
return true;
|
|
100
|
+
}
|
|
101
|
+
if (THESEAM_COLUMNS_DATA_FILTER_DATE_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_DATE_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_DATE_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
|
|
108
|
+
return false;
|
|
109
|
+
}
|
|
110
|
+
return true;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWRhdGUuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC1kYXRlLmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBOEssNENBQTRDLEVBQTBDLGtEQUFrRCxFQUFFLG1EQUFtRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNiLE9BQU8sRUFBRSw2QkFBNkIsRUFBRSxNQUFNLFNBQVMsQ0FBQztBQUV4RCxNQUFNLE9BQU8sMkJBQTRCLFNBQVEsaUJBQTZMO0lBYTVPLFlBQ0UsSUFBWSxFQUNaLFlBQXlELEVBQ3pELE1BQW9GO1FBRXBGLEtBQUssQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1FBakJuQixTQUFJLEdBQUcsNENBQTRDLENBQUE7UUFVM0QsdUJBQWtCLEdBQUcsSUFBSSxPQUFhLENBQUE7UUFTNUMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLFNBQVMsQ0FBQztZQUN4QixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQWdELGtCQUFrQixDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsVUFBVSxDQUFD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S0FBSyxDQUFBO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbnNEYXRhRmlsdGVyLCBDb2x1bW5zRGF0YUZpbHRlclN0YXRlIH0gZnJvbSBcIi4uL2NvbHVtbnMtZGF0YS1maWx0ZXJcIjtcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVyc1wiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSwgbm90TnVsbE9yVW5kZWZpbmVkLCBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5IH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWcsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1NFQVJDSF9OQU1FLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfU0VMRUNUX1NFQVJDSF9UWVBFUyB9IGZyb20gXCIuL21vZGVsc1wiO1xuaW1wb3J0IHsgZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24gfSBmcm9tIFwiLi91dGlsc1wiO1xuXG5leHBvcnQgY2xhc3MgU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIGV4dGVuZHMgQ29sdW1uc0RhdGFGaWx0ZXI8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaEZvcm0sIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hPcHRpb25zLCBUaGVTZWFtRGF0YXRhYmxlRGF0ZUNvbHVtbkZpbHRlcmFibGVDb25maWc+IHtcbiAgcHVibGljIHJlYWRvbmx5IG5hbWUgPSBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfTkFNRVxuXG4gIHB1YmxpYyByZWFkb25seSB1aWQ6IHN0cmluZ1xuXG4gIHB1YmxpYyBmb3JtOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVxuXG4gIHB1YmxpYyBmaWx0ZXJTdGF0ZUNoYW5nZXM6IE9ic2VydmFibGU8RGF0YUZpbHRlclN0YXRlPlxuXG4gIHB1YmxpYyBvcHRpb25zOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9uc1xuXG4gIHByaXZhdGUgX3VwZGF0ZUZpbHRlclZhbHVlID0gbmV3IFN1YmplY3Q8dm9pZD5cblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcm9wOiBzdHJpbmcsXG4gICAgaW5pdGlhbFZhbHVlOiBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLFxuICAgIGNvbHVtbjogVGhlU2VhbURhdGF0YWJsZUNvbHVtbjxhbnksIGFueSwgVGhlU2VhbURhdGF0YWJsZURhdGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnPlxuICApIHtcbiAgICBzdXBlcihwcm9wLCBpbml0aWFsVmFsdWUsIGNvbHVtbilcblxuICAgIHRoaXMuZm9ybSA9IG5ldyBGb3JtR3JvdXAoe1xuICAgICAgc2VhcmNoVHlwZTogbmV3IEZvcm1Db250cm9sPFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hUeXBlIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVHlwZSA6ICdlcScpLFxuICAgICAgc2VhcmNoVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnNlYXJjaFRleHQgOiBudWxsKSxcbiAgICAgIGZyb21UZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuZnJvbVRleHQgOiBudWxsKSxcbiAgICAgIHRvVGV4dDogbmV3IEZvcm1Db250cm9sPHN0cmluZyB8IG51bGw+KG5vdE51bGxPclVuZGVmaW5lZChpbml0aWFsVmFsdWUpID8gaW5pdGlhbFZhbHVlLnRvVGV4dCA6IG51bGwpLFxuICAgIH0pXG5cbiAgICB0aGlzLnVpZCA9IGAke3RoaXMubmFtZX0tLSR7cHJvcH1gXG5cbiAgICB0aGlzLmZpbHRlclN0YXRlQ2hhbmdlcyA9IHRoaXMuX3VwZGF0ZUZpbHRlclZhbHVlLnBpcGUoXG4gICAgICBzdGFydFdpdGgodW5kZWZpbmVkKSxcbiAgICAgIG1hcCgoKSA9PiB0aGlzLmZpbHRlclN0YXRlKCkpXG4gICAgKVxuXG4gICAgdGhpcy5vcHRpb25zID0ge1xuICAgICAgZGF0ZVR5cGU6IHRoaXMuY29sdW1uLmZpbHRlck9wdGlvbnM/LmRhdGVUeXBlIHx8ICdkYXRlJ1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBkYXRhRmlsdGVyKGRhdGE6IGFueVtdLCBmaWx0ZXJWYWx1ZTogUGFydGlhbDxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlPiwgb3B0aW9uczogYW55KTogYW55W10ge1xuICAgIGlmIChpc051bGxPclVuZGVmaW5lZChmaWx0ZXJWYWx1ZSkgfHwgdGhpcy5pc0RlZmF1bHQoKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5fZGF0ZVNlYXJjaERhdGFGaWx0ZXIodGhpcy5wcm9wLCBkYXRhLCBmaWx0ZXJWYWx1ZS5zZWFyY2hUZXh0LCBmaWx0ZXJWYWx1ZS5mcm9tVGV4dCwgZmlsdGVyVmFsdWUudG9UZXh0LCBmaWx0ZXJWYWx1ZS5zZWFyY2hUeXBlIHx8IG51bGwpXG4gIH1cblxuICBwcml2YXRlIF9pc0ludmFsaWREYXRlKGRhdGVTdHJpbmc6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBib29sZWFuIHtcbiAgICByZXR1cm4gaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGRhdGVTdHJpbmcpIHx8IGlzTmFOKG5ldyBEYXRlKGRhdGVTdHJpbmcpLnZhbHVlT2YoKSlcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW52YWxpZFNlYXJjaFRlcm0oc2VhcmNoVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoY29tcGFyYXRvcikgJiYgdGhpcy5faXNJbnZhbGlkRGF0ZShzZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX0RBVEVfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGNvbXBhcmF0b3IpICYmICh0aGlzLl9pc0ludmFsaWREYXRlKGZyb21UZXh0KSB8fCB0aGlzLl9pc0ludmFsaWREYXRlKHRvVGV4dCkpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBfZGF0ZVNlYXJjaERhdGFGaWx0ZXIocHJvcDogc3RyaW5nLCBkYXRhOiBhbnlbXSwgdGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgZnJvbVRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIHRvVGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaFR5cGUgfCBudWxsKSB7XG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDw9IDAgfHwgaXNOdWxsT3JVbmRlZmluZWQoY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIG9wdGlvbnMuJylcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuX2lzSW52YWxpZFNlYXJjaFRlcm0odGV4dCwgZnJvbVRleHQsIHRvVGV4dCwgY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIHNlYXJjaCB0ZXJtcy4nKVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICBjb25zdCB1c2VMb2NhbFRpbWUgPSB0aGlzLmNvbHVtbi5maWx0ZXJPcHRpb25zPy51c2VMb2NhbFRpbWUgPT09IHRydWVcblxuICAgIGNvbnN0IHRleHREYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24odGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuICAgIGNvbnN0IGZyb21UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKGZyb21UZXh0LCB0aGlzLm9wdGlvbnMuZGF0ZVR5cGUsIHRydWUpXG4gICAgY29uc3QgdG9UZXh0RGF0ZSA9IGdldEZvcm1hdHRlZERhdGVGb3JDb21wYXJpc29uKHRvVGV4dCwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB0cnVlKVxuXG4gICAgcmV0dXJuIGRhdGEuZmlsdGVyKGl0ZW0gPT4ge1xuICAgICAgbGV0IHByb3BEYXRlID0gZ2V0Rm9ybWF0dGVkRGF0ZUZvckNvbXBhcmlzb24oaXRlbVtwcm9wXSwgdGhpcy5vcHRpb25zLmRhdGVUeXBlLCB1c2VMb2NhbFRpbWUpXG5cbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdibGFuaycgJiYgKGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pIHx8IGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShgJHtpdGVtW3Byb3BdfWApKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmxhbmsnICYmIG5vdE51bGxPclVuZGVmaW5lZChpdGVtW3Byb3BdKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGAke2l0ZW1bcHJvcF19YCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHQnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdsdGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZ3QnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+IHRleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndGUnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSB0ZXh0RGF0ZS52YWx1ZU9mKCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZXEnICYmIHByb3BEYXRlLnZhbHVlT2YoKSA9PT0gdGV4dERhdGUudmFsdWVPZigpKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ2JldHdlZW4nICYmIHByb3BEYXRlLnZhbHVlT2YoKSA+PSBmcm9tVGV4dERhdGUudmFsdWVPZigpICYmIHByb3BEYXRlLnZhbHVlT2YoKSA8PSB0b1RleHREYXRlLnZhbHVlT2YoKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmV0d2VlbicgJiYgIShwcm9wRGF0ZS52YWx1ZU9mKCkgPj0gZnJvbVRleHREYXRlLnZhbHVlT2YoKSAmJiBwcm9wRGF0ZS52YWx1ZU9mKCkgPD0gdG9UZXh0RGF0ZS52YWx1ZU9mKCkpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJEYXRlU2VhcmNoT3B0aW9ucz4ge1xuICAgIHJldHVybiB7XG4gICAgICBuYW1lOiB0aGlzLm5hbWUsXG4gICAgICBzdGF0ZToge1xuICAgICAgICBwcm9wOiB0aGlzLnByb3AsXG4gICAgICAgIGZvcm1WYWx1ZTogdGhpcy5mb3JtLnZhbHVlLFxuICAgICAgICBvcHRpb25zOiB0aGlzLm9wdGlvbnNcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIHNlYXJjaFR5cGU6ICdlcScsXG4gICAgICBzZWFyY2hUZXh0OiBudWxsLFxuICAgICAgZnJvbVRleHQ6IG51bGwsXG4gICAgICB0b1RleHQ6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGlmIChUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUxFQ1RfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5zZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1JBTkdFX1NFQVJDSF9UWVBFUy5pbmNsdWRlcyhmb3JtVmFsdWUuc2VhcmNoVHlwZSkgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuZnJvbVRleHQpICYmIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkoZm9ybVZhbHVlLnRvVGV4dCkpIHtcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cblxuICAgIHJldHVybiB0cnVlXG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
import { ColumnsDataFilter } from "../columns-data-filter";
|
|
2
|
+
import { FormControl, FormGroup } from "@angular/forms";
|
|
3
|
+
import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
|
|
4
|
+
import { Subject, map, startWith } from "rxjs";
|
|
5
|
+
import { THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES } from "./models";
|
|
6
|
+
export class SearchNumericColumnsDataFilter extends ColumnsDataFilter {
|
|
7
|
+
constructor(prop, initialValue, column) {
|
|
8
|
+
super(prop, initialValue, column);
|
|
9
|
+
this.name = THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME;
|
|
10
|
+
this._updateFilterValue = new Subject;
|
|
11
|
+
this.form = new FormGroup({
|
|
12
|
+
searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'eq'),
|
|
13
|
+
searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
|
|
14
|
+
fromText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.fromText : null),
|
|
15
|
+
toText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.toText : null),
|
|
16
|
+
});
|
|
17
|
+
this.uid = `${this.name}--${prop}`;
|
|
18
|
+
this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
|
|
19
|
+
}
|
|
20
|
+
dataFilter(data, filterValue, options) {
|
|
21
|
+
if (isNullOrUndefined(filterValue) || this.isDefault()) {
|
|
22
|
+
return data;
|
|
23
|
+
}
|
|
24
|
+
return this.numberSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.fromText, filterValue.toText, filterValue.searchType || null);
|
|
25
|
+
}
|
|
26
|
+
_isInvalidSearchTerm(searchText, fromText, toText, comparator) {
|
|
27
|
+
if (isNaN(searchText) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(comparator)) {
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
else if ((isNaN(fromText) || isNaN(toText)) && THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(comparator)) {
|
|
31
|
+
return true;
|
|
32
|
+
}
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
numberSearchDataFilter(prop, data, text, fromText, toText, comparator) {
|
|
36
|
+
if (!data || data.length <= 0 || isNullOrUndefined(comparator)) {
|
|
37
|
+
console.warn('No filter applied - invalid options.');
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
const textNumeric = notNullOrUndefinedOrEmpty(text) ? parseFloat(text) : NaN;
|
|
41
|
+
const toTextNumeric = notNullOrUndefinedOrEmpty(toText) ? parseFloat(toText) : NaN;
|
|
42
|
+
const fromTextNumeric = notNullOrUndefinedOrEmpty(fromText) ? parseFloat(fromText) : NaN;
|
|
43
|
+
if (this._isInvalidSearchTerm(textNumeric, fromTextNumeric, toTextNumeric, comparator)) {
|
|
44
|
+
console.warn('No filter applied - invalid search terms.');
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
47
|
+
return data.filter(item => {
|
|
48
|
+
let propNumeric = parseFloat(item[prop]);
|
|
49
|
+
if ((comparator === 'blank' && (isNullOrUndefined(item[prop]) || isNullOrUndefinedOrEmpty(`${item[prop]}`))) ||
|
|
50
|
+
(comparator === 'not-blank' && notNullOrUndefined(item[prop]) && notNullOrUndefinedOrEmpty(`${item[prop]}`)) ||
|
|
51
|
+
(comparator === 'lt' && propNumeric < textNumeric) ||
|
|
52
|
+
(comparator === 'lte' && propNumeric <= textNumeric) ||
|
|
53
|
+
(comparator === 'gt' && propNumeric > textNumeric) ||
|
|
54
|
+
(comparator === 'gte' && propNumeric >= textNumeric) ||
|
|
55
|
+
(comparator === 'eq' && propNumeric === textNumeric) ||
|
|
56
|
+
(comparator === 'between' && propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric) ||
|
|
57
|
+
(comparator === 'not-between' && !(propNumeric >= fromTextNumeric && propNumeric <= toTextNumeric))) {
|
|
58
|
+
return true;
|
|
59
|
+
}
|
|
60
|
+
return false;
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
filter(data) {
|
|
64
|
+
return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
|
|
65
|
+
}
|
|
66
|
+
filterState() {
|
|
67
|
+
return {
|
|
68
|
+
name: this.name,
|
|
69
|
+
state: {
|
|
70
|
+
prop: this.prop,
|
|
71
|
+
formValue: this.form.value
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
applyFilter() {
|
|
76
|
+
this._updateFilterValue.next();
|
|
77
|
+
}
|
|
78
|
+
clearFilter() {
|
|
79
|
+
this.form.setValue({
|
|
80
|
+
searchType: 'eq',
|
|
81
|
+
searchText: null,
|
|
82
|
+
fromText: null,
|
|
83
|
+
toText: null
|
|
84
|
+
});
|
|
85
|
+
this._updateFilterValue.next();
|
|
86
|
+
}
|
|
87
|
+
isDefault() {
|
|
88
|
+
const formValue = this.form.value;
|
|
89
|
+
if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
|
|
96
|
+
return false;
|
|
97
|
+
}
|
|
98
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_NUMERIC_RANGE_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.fromText) && notNullOrUndefinedOrEmpty(formValue.toText)) {
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC1udW1lcmljLmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBNkYsK0NBQStDLEVBQTZDLHFEQUFxRCxFQUFFLHNEQUFzRCxFQUFFLHVEQUF1RCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRXpYLE1BQU0sT0FBTyw4QkFBK0IsU0FBUSxpQkFBdUg7SUFhekssWUFDRSxJQUFZLEVBQ1osWUFBNEQsRUFDNUQsTUFBOEI7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFqQm5CLFNBQUksR0FBRywrQ0FBK0MsQ0FBQTtRQVU5RCx1QkFBa0IsR0FBRyxJQUFJLE9BQWEsQ0FBQTtRQVM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBbUQsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztZQUNoSixVQUFVLEVBQUUs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LENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNoSixPQUFPLEtBQUssQ0FBQTtTQUNiO2FBQ0ksSUFBSSxzREFBc0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSx5QkFBeUIsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDOUwsT0FBTyxLQUFLLENBQUE7U0FDYjtRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztDQUVGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29sdW1uc0RhdGFGaWx0ZXIsIENvbHVtbnNEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiLi4vY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgVGhlU2VhbURhdGF0YWJsZUNvbHVtbiB9IGZyb20gXCIuLi90YWJsZS1jb2x1bW5cIjtcbmltcG9ydCB7IEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tIFwiQGFuZ3VsYXIvZm9ybXNcIjtcbmltcG9ydCB7IERhdGFGaWx0ZXJTdGF0ZSB9IGZyb20gXCJAdGhlc2VhbS91aS1jb21tb24vZGF0YS1maWx0ZXJzXCI7XG5pbXBvcnQgeyBpc051bGxPclVuZGVmaW5lZCwgaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5LCBub3ROdWxsT3JVbmRlZmluZWQsIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0LCBtYXAsIHN0YXJ0V2l0aCB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUUsIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hUeXBlLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19URVhUX1NFQVJDSF9UWVBFUywgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19TRUxFQ1RfU0VBUkNIX1RZUEVTIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjbGFzcyBTZWFyY2hOdW1lcmljQ29sdW1uc0RhdGFGaWx0ZXIgZXh0ZW5kcyBDb2x1bW5zRGF0YUZpbHRlcjxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybSwgdW5kZWZpbmVkPiB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lID0gVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUVcblxuICBwdWJsaWMgcmVhZG9ubHkgdWlkOiBzdHJpbmdcblxuICBwdWJsaWMgZm9ybTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPERhdGFGaWx0ZXJTdGF0ZT5cblxuICBwdWJsaWMgb3B0aW9uczogYW55XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRmlsdGVyVmFsdWUgPSBuZXcgU3ViamVjdDx2b2lkPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3A6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hGb3JtU3RhdGUsXG4gICAgY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uXG4gICkge1xuICAgIHN1cGVyKHByb3AsIGluaXRpYWxWYWx1ZSwgY29sdW1uKVxuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBzZWFyY2hUeXBlOiBuZXcgRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5zZWFyY2hUeXBlIDogJ2VxJyksXG4gICAgICBzZWFyY2hUZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVGV4dCA6IG51bGwpLFxuICAgICAgZnJvbVRleHQ6IG5ldyBGb3JtQ29udHJvbDxzdHJpbmcgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5mcm9tVGV4dCA6IG51bGwpLFxuICAgICAgdG9UZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUudG9UZXh0IDogbnVsbCksXG4gICAgfSlcblxuICAgIHRoaXMudWlkID0gYCR7dGhpcy5uYW1lfS0tJHtwcm9wfWBcblxuICAgIHRoaXMuZmlsdGVyU3RhdGVDaGFuZ2VzID0gdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuZmlsdGVyU3RhdGUoKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZGF0YUZpbHRlcihkYXRhOiBhbnlbXSwgZmlsdGVyVmFsdWU6IFBhcnRpYWw8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaEZvcm1TdGF0ZT4sIG9wdGlvbnM6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyVmFsdWUpIHx8IHRoaXMuaXNEZWZhdWx0KCkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMubnVtYmVyU2VhcmNoRGF0YUZpbHRlcih0aGlzLnByb3AsIGRhdGEsIGZpbHRlclZhbHVlLnNlYXJjaFRleHQsIGZpbHRlclZhbHVlLmZyb21UZXh0LCBmaWx0ZXJWYWx1ZS50b1RleHQsIGZpbHRlclZhbHVlLnNlYXJjaFR5cGUgfHwgbnVsbClcbiAgfVxuXG4gIHByaXZhdGUgX2lzSW52YWxpZFNlYXJjaFRlcm0oc2VhcmNoVGV4dDogbnVtYmVyLCBmcm9tVGV4dDogbnVtYmVyLCB0b1RleHQ6IG51bWJlciwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyTnVtZXJpY1NlYXJjaFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoaXNOYU4oc2VhcmNoVGV4dCkgJiYgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoY29tcGFyYXRvcikpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKChpc05hTihmcm9tVGV4dCkgfHwgaXNOYU4odG9UZXh0KSkgJiYgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGNvbXBhcmF0b3IpKSB7XG4gICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiBmYWxzZVxuICB9XG5cbiAgcHJpdmF0ZSBudW1iZXJTZWFyY2hEYXRhRmlsdGVyKHByb3A6IHN0cmluZywgZGF0YTogYW55W10sIHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGZyb21UZXh0OiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLCB0b1RleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQsIGNvbXBhcmF0b3I6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlck51bWVyaWNTZWFyY2hUeXBlIHwgbnVsbCkge1xuICAgIGlmICghZGF0YSB8fCBkYXRhLmxlbmd0aCA8PSAwIHx8IGlzTnVsbE9yVW5kZWZpbmVkKGNvbXBhcmF0b3IpKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ05vIGZpbHRlciBhcHBsaWVkIC0gaW52YWxpZCBvcHRpb25zLicpXG4gICAgICByZXR1cm4gZGF0YVxuICAgIH1cblxuICAgIGNvbnN0IHRleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0ZXh0KSA/IHBhcnNlRmxvYXQodGV4dCkgOiBOYU5cbiAgICBjb25zdCB0b1RleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0b1RleHQpID8gcGFyc2VGbG9hdCh0b1RleHQpIDogTmFOXG4gICAgY29uc3QgZnJvbVRleHROdW1lcmljID0gbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmcm9tVGV4dCkgPyBwYXJzZUZsb2F0KGZyb21UZXh0KSA6IE5hTlxuXG4gICAgaWYgKHRoaXMuX2lzSW52YWxpZFNlYXJjaFRlcm0odGV4dE51bWVyaWMsIGZyb21UZXh0TnVtZXJpYywgdG9UZXh0TnVtZXJpYywgY29tcGFyYXRvcikpIHtcbiAgICAgIGNvbnNvbGUud2FybignTm8gZmlsdGVyIGFwcGxpZWQgLSBpbnZhbGlkIHNlYXJjaCB0ZXJtcy4nKVxuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBsZXQgcHJvcE51bWVyaWMgPSBwYXJzZUZsb2F0KGl0ZW1bcHJvcF0pXG5cbiAgICAgIGlmIChcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdibGFuaycgJiYgKGlzTnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pIHx8IGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShgJHtpdGVtW3Byb3BdfWApKSkgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdub3QtYmxhbmsnICYmIG5vdE51bGxPclVuZGVmaW5lZChpdGVtW3Byb3BdKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGAke2l0ZW1bcHJvcF19YCkpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHQnICYmIHByb3BOdW1lcmljIDwgdGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbHRlJyAmJiBwcm9wTnVtZXJpYyA8PSB0ZXh0TnVtZXJpYykgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndCcgJiYgcHJvcE51bWVyaWMgPiB0ZXh0TnVtZXJpYykgfHxcbiAgICAgICAgKGNvbXBhcmF0b3IgPT09ICdndGUnICYmIHByb3BOdW1lcmljID49IHRleHROdW1lcmljKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ2VxJyAmJiBwcm9wTnVtZXJpYyA9PT0gdGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnYmV0d2VlbicgJiYgcHJvcE51bWVyaWMgPj0gZnJvbVRleHROdW1lcmljICYmIHByb3BOdW1lcmljIDw9IHRvVGV4dE51bWVyaWMpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnbm90LWJldHdlZW4nICYmICEocHJvcE51bWVyaWMgPj0gZnJvbVRleHROdW1lcmljICYmIHByb3BOdW1lcmljIDw9IHRvVGV4dE51bWVyaWMpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJOdW1lcmljU2VhcmNoRm9ybVN0YXRlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIHByb3A6IHRoaXMucHJvcCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLmZvcm0udmFsdWVcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYXBwbHlGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgY2xlYXJGaWx0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5mb3JtLnNldFZhbHVlKHtcbiAgICAgIHNlYXJjaFR5cGU6ICdlcScsXG4gICAgICBzZWFyY2hUZXh0OiBudWxsLFxuICAgICAgZnJvbVRleHQ6IG51bGwsXG4gICAgICB0b1RleHQ6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9OVU1FUklDX1NFTEVDVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfVEVYVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpICYmIG5vdE51bGxPclVuZGVmaW5lZE9yRW1wdHkoZm9ybVZhbHVlLnNlYXJjaFRleHQpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgZWxzZSBpZiAoVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfUkFOR0VfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5mcm9tVGV4dCkgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUudG9UZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG59XG4iXX0=
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { ColumnsDataFilter } from "../columns-data-filter";
|
|
2
|
+
import { FormControl, FormGroup } from "@angular/forms";
|
|
3
|
+
import { isNullOrUndefined, isNullOrUndefinedOrEmpty, notNullOrUndefined, notNullOrUndefinedOrEmpty } from "@theseam/ui-common/utils";
|
|
4
|
+
import { Subject, map, startWith } from "rxjs";
|
|
5
|
+
import { THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES, THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES } from "./models";
|
|
6
|
+
export class SearchTextColumnsDataFilter extends ColumnsDataFilter {
|
|
7
|
+
constructor(prop, initialValue, column) {
|
|
8
|
+
super(prop, initialValue, column);
|
|
9
|
+
this.name = THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME;
|
|
10
|
+
this._updateFilterValue = new Subject;
|
|
11
|
+
this.form = new FormGroup({
|
|
12
|
+
searchType: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchType : 'contains'),
|
|
13
|
+
searchText: new FormControl(notNullOrUndefined(initialValue) ? initialValue.searchText : null),
|
|
14
|
+
// caseSensitive: new FormControl<boolean | null>(notNullOrUndefined(initialValue) ? initialValue.caseSensitive : null),
|
|
15
|
+
});
|
|
16
|
+
this.uid = `${this.name}--${prop}`;
|
|
17
|
+
this.filterStateChanges = this._updateFilterValue.pipe(startWith(undefined), map(() => this.filterState()));
|
|
18
|
+
}
|
|
19
|
+
dataFilter(data, filterValue, options) {
|
|
20
|
+
if (isNullOrUndefined(filterValue) || this.isDefault()) {
|
|
21
|
+
return data;
|
|
22
|
+
}
|
|
23
|
+
return this._textSearchDataFilter(this.prop, data, filterValue.searchText, filterValue.searchType || null);
|
|
24
|
+
}
|
|
25
|
+
_textSearchDataFilter(prop, data, text, comparator) {
|
|
26
|
+
if (!data || data.length < 0 || isNullOrUndefined(comparator)) {
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
return data.filter(item => {
|
|
30
|
+
let value1 = `${notNullOrUndefined(item[prop]) ? item[prop] : ''}`;
|
|
31
|
+
let value2 = text || '';
|
|
32
|
+
// if (!options.caseSensitive) {
|
|
33
|
+
// value1 = value1.toLowerCase()
|
|
34
|
+
// value2 = value2.toLowerCase()
|
|
35
|
+
// }
|
|
36
|
+
value1 = value1.toLowerCase();
|
|
37
|
+
value2 = value2.toLowerCase();
|
|
38
|
+
if ((comparator === 'eq' && value1 === value2) ||
|
|
39
|
+
(comparator === 'neq' && value1 !== value2) ||
|
|
40
|
+
(comparator === 'contains' && value1.indexOf(value2) !== -1) ||
|
|
41
|
+
(comparator === 'ncontains' && value1.indexOf(value2) === -1) ||
|
|
42
|
+
(comparator === 'blank' && isNullOrUndefinedOrEmpty(value1)) ||
|
|
43
|
+
(comparator === 'not-blank' && notNullOrUndefinedOrEmpty(value1))) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
return false;
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
filter(data) {
|
|
50
|
+
return this._updateFilterValue.pipe(startWith(undefined), map(() => this.dataFilter(data, this.form.value, undefined)));
|
|
51
|
+
}
|
|
52
|
+
filterState() {
|
|
53
|
+
return {
|
|
54
|
+
name: this.name,
|
|
55
|
+
state: {
|
|
56
|
+
prop: this.prop,
|
|
57
|
+
formValue: this.form.value,
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
applyFilter() {
|
|
62
|
+
this._updateFilterValue.next();
|
|
63
|
+
}
|
|
64
|
+
clearFilter() {
|
|
65
|
+
this.form.setValue({
|
|
66
|
+
searchType: 'contains',
|
|
67
|
+
searchText: null,
|
|
68
|
+
// caseSensitive: null
|
|
69
|
+
});
|
|
70
|
+
this._updateFilterValue.next();
|
|
71
|
+
}
|
|
72
|
+
isDefault() {
|
|
73
|
+
const formValue = this.form.value;
|
|
74
|
+
if (isNullOrUndefinedOrEmpty(formValue.searchType)) {
|
|
75
|
+
return true;
|
|
76
|
+
}
|
|
77
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_TEXT_SEARCH_TYPES.includes(formValue.searchType) && notNullOrUndefinedOrEmpty(formValue.searchText)) {
|
|
78
|
+
return false;
|
|
79
|
+
}
|
|
80
|
+
else if (THESEAM_COLUMNS_DATA_FILTER_TEXT_SELECT_SEARCH_TYPES.includes(formValue.searchType)) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLXRleHQuY29sdW1ucy1kYXRhLWZpbHRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC10ZXh0LmNvbHVtbnMtZGF0YS1maWx0ZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGlCQUFpQixFQUEwQixNQUFNLHdCQUF3QixDQUFDO0FBRW5GLE9BQU8sRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFeEQsT0FBTyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixFQUFFLGtCQUFrQixFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDdEksT0FBTyxFQUFjLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNELE9BQU8sRUFBdUYsNENBQTRDLEVBQTBDLGtEQUFrRCxFQUFFLG9EQUFvRCxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRS9TLE1BQU0sT0FBTywyQkFBNEIsU0FBUSxpQkFBc0c7SUFhckosWUFDRSxJQUFZLEVBQ1osWUFBeUQsRUFDekQsTUFBOEI7UUFFOUIsS0FBSyxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFqQm5CLFNBQUksR0FBRyw0Q0FBNEMsQ0FBQTtRQVUzRCx1QkFBa0IsR0FBRyxJQUFJLE9BQWEsQ0FBQTtRQVM1QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksU0FBUyxDQUFDO1lBQ3hCLFVBQVUsRUFBRSxJQUFJLFdBQVcsQ0FBZ0Qsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNuSixVQUFVLEVBQUUsSUFBSSxXQUFXLENBQWdCLGtC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TCxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixLQUFLLEVBQUU7Z0JBQ0wsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO2dCQUNmLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUs7YUFDM0I7U0FDRixDQUFBO0lBQ0gsQ0FBQztJQUVNLFdBQVc7UUFDaEIsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksRUFBRSxDQUFBO0lBQ2hDLENBQUM7SUFFTSxXQUFXO1FBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ2pCLFVBQVUsRUFBRSxVQUFVO1lBQ3RCLFVBQVUsRUFBRSxJQUFJO1lBQ2hCLHNCQUFzQjtTQUN2QixDQUFDLENBQUE7UUFFRixJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxFQUFFLENBQUE7SUFDaEMsQ0FBQztJQUVNLFNBQVM7UUFDZCxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUVqQyxJQUFJLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUNsRCxPQUFPLElBQUksQ0FBQTtTQUNaO2FBQ0ksSUFBSSxrREFBa0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLHlCQUF5QixDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM3SSxPQUFPLEtBQUssQ0FBQTtTQUNiO2FBQ0ksSUFBSSxvREFBb0QsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzVGLE9BQU8sS0FBSyxDQUFBO1NBQ2I7UUFFRCxPQUFPLElBQUksQ0FBQTtJQUNiLENBQUM7Q0FFRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtbnNEYXRhRmlsdGVyLCBDb2x1bW5zRGF0YUZpbHRlclN0YXRlIH0gZnJvbSBcIi4uL2NvbHVtbnMtZGF0YS1maWx0ZXJcIjtcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVDb2x1bW4gfSBmcm9tIFwiLi4vdGFibGUtY29sdW1uXCI7XG5pbXBvcnQgeyBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBEYXRhRmlsdGVyU3RhdGUgfSBmcm9tIFwiQHRoZXNlYW0vdWktY29tbW9uL2RhdGEtZmlsdGVyc1wiO1xuaW1wb3J0IHsgaXNOdWxsT3JVbmRlZmluZWQsIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSwgbm90TnVsbE9yVW5kZWZpbmVkLCBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5IH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCwgbWFwLCBzdGFydFdpdGggfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1TdGF0ZSwgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm0sIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9OQU1FLCBUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoVHlwZSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfVEVYVF9TRUFSQ0hfVFlQRVMsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFTEVDVF9TRUFSQ0hfVFlQRVMgfSBmcm9tIFwiLi9tb2RlbHNcIjtcblxuZXhwb3J0IGNsYXNzIFNlYXJjaFRleHRDb2x1bW5zRGF0YUZpbHRlciBleHRlbmRzIENvbHVtbnNEYXRhRmlsdGVyPFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtU3RhdGUsIFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtPiB7XG4gIHB1YmxpYyByZWFkb25seSBuYW1lID0gVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfU0VBUkNIX05BTUVcblxuICBwdWJsaWMgcmVhZG9ubHkgdWlkOiBzdHJpbmdcblxuICBwdWJsaWMgZm9ybTogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGVDaGFuZ2VzOiBPYnNlcnZhYmxlPERhdGFGaWx0ZXJTdGF0ZT5cblxuICBwdWJsaWMgb3B0aW9uczogYW55XG5cbiAgcHJpdmF0ZSBfdXBkYXRlRmlsdGVyVmFsdWUgPSBuZXcgU3ViamVjdDx2b2lkPlxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByb3A6IHN0cmluZyxcbiAgICBpbml0aWFsVmFsdWU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlclRleHRTZWFyY2hGb3JtU3RhdGUsXG4gICAgY29sdW1uOiBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uXG4gICkge1xuICAgIHN1cGVyKHByb3AsIGluaXRpYWxWYWx1ZSwgY29sdW1uKVxuXG4gICAgdGhpcy5mb3JtID0gbmV3IEZvcm1Hcm91cCh7XG4gICAgICBzZWFyY2hUeXBlOiBuZXcgRm9ybUNvbnRyb2w8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaFR5cGUgfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5zZWFyY2hUeXBlIDogJ2NvbnRhaW5zJyksXG4gICAgICBzZWFyY2hUZXh0OiBuZXcgRm9ybUNvbnRyb2w8c3RyaW5nIHwgbnVsbD4obm90TnVsbE9yVW5kZWZpbmVkKGluaXRpYWxWYWx1ZSkgPyBpbml0aWFsVmFsdWUuc2VhcmNoVGV4dCA6IG51bGwpLFxuICAgICAgLy8gY2FzZVNlbnNpdGl2ZTogbmV3IEZvcm1Db250cm9sPGJvb2xlYW4gfCBudWxsPihub3ROdWxsT3JVbmRlZmluZWQoaW5pdGlhbFZhbHVlKSA/IGluaXRpYWxWYWx1ZS5jYXNlU2Vuc2l0aXZlIDogbnVsbCksXG4gICAgfSlcblxuICAgIHRoaXMudWlkID0gYCR7dGhpcy5uYW1lfS0tJHtwcm9wfWBcblxuICAgIHRoaXMuZmlsdGVyU3RhdGVDaGFuZ2VzID0gdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUucGlwZShcbiAgICAgIHN0YXJ0V2l0aCh1bmRlZmluZWQpLFxuICAgICAgbWFwKCgpID0+IHRoaXMuZmlsdGVyU3RhdGUoKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZGF0YUZpbHRlcihkYXRhOiBhbnlbXSwgZmlsdGVyVmFsdWU6IFBhcnRpYWw8VGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaEZvcm1TdGF0ZT4sIG9wdGlvbnM6IGFueSk6IGFueVtdIHtcbiAgICBpZiAoaXNOdWxsT3JVbmRlZmluZWQoZmlsdGVyVmFsdWUpIHx8IHRoaXMuaXNEZWZhdWx0KCkpIHtcbiAgICAgIHJldHVybiBkYXRhXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX3RleHRTZWFyY2hEYXRhRmlsdGVyKHRoaXMucHJvcCwgZGF0YSwgZmlsdGVyVmFsdWUuc2VhcmNoVGV4dCwgZmlsdGVyVmFsdWUuc2VhcmNoVHlwZSB8fCBudWxsKVxuICB9XG5cbiAgcHJpdmF0ZSBfdGV4dFNlYXJjaERhdGFGaWx0ZXIocHJvcDogc3RyaW5nLCBkYXRhOiBhbnlbXSwgdGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgY29tcGFyYXRvcjogVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyVGV4dFNlYXJjaFR5cGUgfCBudWxsKSB7XG4gICAgaWYgKCFkYXRhIHx8IGRhdGEubGVuZ3RoIDwgMCB8fCBpc051bGxPclVuZGVmaW5lZChjb21wYXJhdG9yKSkge1xuICAgICAgcmV0dXJuIGRhdGFcbiAgICB9XG5cbiAgICByZXR1cm4gZGF0YS5maWx0ZXIoaXRlbSA9PiB7XG4gICAgICBsZXQgdmFsdWUxID0gYCR7bm90TnVsbE9yVW5kZWZpbmVkKGl0ZW1bcHJvcF0pID8gaXRlbVtwcm9wXSA6ICcnfWBcbiAgICAgIGxldCB2YWx1ZTIgPSB0ZXh0IHx8ICcnXG5cbiAgICAgIC8vIGlmICghb3B0aW9ucy5jYXNlU2Vuc2l0aXZlKSB7XG4gICAgICAvLyAgIHZhbHVlMSA9IHZhbHVlMS50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyAgIHZhbHVlMiA9IHZhbHVlMi50b0xvd2VyQ2FzZSgpXG4gICAgICAvLyB9XG5cbiAgICAgIHZhbHVlMSA9IHZhbHVlMS50b0xvd2VyQ2FzZSgpXG4gICAgICB2YWx1ZTIgPSB2YWx1ZTIudG9Mb3dlckNhc2UoKVxuXG4gICAgICBpZiAoXG4gICAgICAgIChjb21wYXJhdG9yID09PSAnZXEnICYmIHZhbHVlMSA9PT0gdmFsdWUyKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25lcScgJiYgdmFsdWUxICE9PSB2YWx1ZTIpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnY29udGFpbnMnICYmIHZhbHVlMS5pbmRleE9mKHZhbHVlMikgIT09IC0xKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25jb250YWlucycgJiYgdmFsdWUxLmluZGV4T2YodmFsdWUyKSA9PT0gLTEpIHx8XG4gICAgICAgIChjb21wYXJhdG9yID09PSAnYmxhbmsnICYmIGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh2YWx1ZTEpKSB8fFxuICAgICAgICAoY29tcGFyYXRvciA9PT0gJ25vdC1ibGFuaycgJiYgbm90TnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh2YWx1ZTEpKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH0pXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyKGRhdGE6IGFueVtdKTogT2JzZXJ2YWJsZTxhbnlbXT4ge1xuICAgIHJldHVybiB0aGlzLl91cGRhdGVGaWx0ZXJWYWx1ZS5waXBlKFxuICAgICAgc3RhcnRXaXRoKHVuZGVmaW5lZCksXG4gICAgICBtYXAoKCkgPT4gdGhpcy5kYXRhRmlsdGVyKGRhdGEsIHRoaXMuZm9ybS52YWx1ZSwgdW5kZWZpbmVkKSlcbiAgICApXG4gIH1cblxuICBwdWJsaWMgZmlsdGVyU3RhdGUoKTogQ29sdW1uc0RhdGFGaWx0ZXJTdGF0ZTxUaGVTZWFtQ29sdW1uc0RhdGFGaWx0ZXJUZXh0U2VhcmNoRm9ybVN0YXRlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5hbWU6IHRoaXMubmFtZSxcbiAgICAgIHN0YXRlOiB7XG4gICAgICAgIHByb3A6IHRoaXMucHJvcCxcbiAgICAgICAgZm9ybVZhbHVlOiB0aGlzLmZvcm0udmFsdWUsXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFwcGx5RmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuX3VwZGF0ZUZpbHRlclZhbHVlLm5leHQoKVxuICB9XG5cbiAgcHVibGljIGNsZWFyRmlsdGVyKCk6IHZvaWQge1xuICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh7XG4gICAgICBzZWFyY2hUeXBlOiAnY29udGFpbnMnLFxuICAgICAgc2VhcmNoVGV4dDogbnVsbCxcbiAgICAgIC8vIGNhc2VTZW5zaXRpdmU6IG51bGxcbiAgICB9KVxuXG4gICAgdGhpcy5fdXBkYXRlRmlsdGVyVmFsdWUubmV4dCgpXG4gIH1cblxuICBwdWJsaWMgaXNEZWZhdWx0KCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IGZvcm1WYWx1ZSA9IHRoaXMuZm9ybS52YWx1ZVxuXG4gICAgaWYgKGlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3JtVmFsdWUuc2VhcmNoVHlwZSkpIHtcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1RFWFRfU0VBUkNIX1RZUEVTLmluY2x1ZGVzKGZvcm1WYWx1ZS5zZWFyY2hUeXBlKSAmJiBub3ROdWxsT3JVbmRlZmluZWRPckVtcHR5KGZvcm1WYWx1ZS5zZWFyY2hUZXh0KSkge1xuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgfVxuICAgIGVsc2UgaWYgKFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFTEVDVF9TRUFSQ0hfVFlQRVMuaW5jbHVkZXMoZm9ybVZhbHVlLnNlYXJjaFR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG5cbiAgICByZXR1cm4gdHJ1ZVxuICB9XG5cbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { notNullOrUndefined } from "@theseam/ui-common/utils";
|
|
2
|
+
import { SearchDateColumnsDataFilter } from "./search-date.columns-data-filter";
|
|
3
|
+
import { SearchNumericColumnsDataFilter } from "./search-numeric.columns-data-filter";
|
|
4
|
+
import { SearchTextColumnsDataFilter } from "./search-text.columns-data-filter";
|
|
5
|
+
import { THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME } from "./models";
|
|
6
|
+
export const THESEAM_COLUMNS_DATA_FILTERS_DEFAULT = [
|
|
7
|
+
{ name: THESEAM_COLUMNS_DATA_FILTER_TEXT_SEARCH_NAME, class: SearchTextColumnsDataFilter },
|
|
8
|
+
{ name: THESEAM_COLUMNS_DATA_FILTER_NUMERIC_SEARCH_NAME, class: SearchNumericColumnsDataFilter },
|
|
9
|
+
{ name: THESEAM_COLUMNS_DATA_FILTER_DATE_SEARCH_NAME, class: SearchDateColumnsDataFilter },
|
|
10
|
+
];
|
|
11
|
+
export const getFormattedDateForComparison = (date, dateType, setToLocalTime = false) => {
|
|
12
|
+
const dateObj = new Date(notNullOrUndefined(date) ? date : '');
|
|
13
|
+
if (dateType === 'datetime-local') {
|
|
14
|
+
// reset seconds and ms, since they can't be specified from the search input
|
|
15
|
+
dateObj.setSeconds(0);
|
|
16
|
+
dateObj.setMilliseconds(0);
|
|
17
|
+
}
|
|
18
|
+
else if (dateType === 'date') {
|
|
19
|
+
if (setToLocalTime) {
|
|
20
|
+
// set date from input type="date" to current timezone, to match expected behavior
|
|
21
|
+
dateObj.setMinutes(dateObj.getMinutes() + dateObj.getTimezoneOffset());
|
|
22
|
+
}
|
|
23
|
+
// reset hours/minutes/seconds/ms, since they can't be specified from the search input
|
|
24
|
+
dateObj.setHours(0, 0, 0, 0);
|
|
25
|
+
}
|
|
26
|
+
return dateObj;
|
|
27
|
+
};
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN0RixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNoRixPQUFPLEVBQThDLDRDQUE0QyxFQUFFLCtDQUErQyxFQUFFLDRDQUE0QyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRW5OLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHO0lBQ2xELEVBQUUsSUFBSSxFQUFFLDRDQUE0QyxFQUFFLEtBQUssRUFBRSwyQkFBMkIsRUFBRTtJQUMxRixFQUFFLElBQUksRUFBRSwrQ0FBK0MsRUFBRSxLQUFLLEVBQUUsOEJBQThCLEVBQUU7SUFDaEcsRUFBRSxJQUFJLEVBQUUsNENBQTRDLEVBQUUsS0FBSyxFQUFFLDJCQUEyQixFQUFFO0NBQ2xGLENBQUE7QUFFVixNQUFNLENBQUMsTUFBTSw2QkFBNkIsR0FBRyxDQUFDLElBQStDLEVBQUUsUUFBb0QsRUFBRSxpQkFBMEIsS0FBSyxFQUFRLEVBQUU7SUFDNUwsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFFOUQsSUFBSSxRQUFRLEtBQUssZ0JBQWdCLEVBQUU7UUFDakMsNEVBQTRFO1FBQzVFLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUE7UUFDckIsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtLQUMzQjtTQUNJLElBQUksUUFBUSxLQUFLLE1BQU0sRUFBRTtRQUM1QixJQUFJLGNBQWMsRUFBRTtZQUNsQixrRkFBa0Y7WUFDbEYsT0FBTyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtTQUN2RTtRQUVELHNGQUFzRjtRQUN0RixPQUFPLENBQUMsUUFBUSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO0tBQzdCO0lBRUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSBcIkB0aGVzZWFtL3VpLWNvbW1vbi91dGlsc1wiO1xuaW1wb3J0IHsgU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLWRhdGUuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgU2VhcmNoTnVtZXJpY0NvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgU2VhcmNoVGV4dENvbHVtbnNEYXRhRmlsdGVyIH0gZnJvbSBcIi4vc2VhcmNoLXRleHQuY29sdW1ucy1kYXRhLWZpbHRlclwiO1xuaW1wb3J0IHsgVGhlU2VhbUNvbHVtbnNEYXRhRmlsdGVyRGF0ZVNlYXJjaERhdGVUeXBlLCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfREFURV9TRUFSQ0hfTkFNRSwgVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX05VTUVSSUNfU0VBUkNIX05BTUUsIFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9URVhUX1NFQVJDSF9OQU1FIH0gZnJvbSBcIi4vbW9kZWxzXCI7XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJTX0RFRkFVTFQgPSBbXG4gIHsgbmFtZTogVEhFU0VBTV9DT0xVTU5TX0RBVEFfRklMVEVSX1RFWFRfU0VBUkNIX05BTUUsIGNsYXNzOiBTZWFyY2hUZXh0Q29sdW1uc0RhdGFGaWx0ZXIgfSxcbiAgeyBuYW1lOiBUSEVTRUFNX0NPTFVNTlNfREFUQV9GSUxURVJfTlVNRVJJQ19TRUFSQ0hfTkFNRSwgY2xhc3M6IFNlYXJjaE51bWVyaWNDb2x1bW5zRGF0YUZpbHRlciB9LFxuICB7IG5hbWU6IFRIRVNFQU1fQ09MVU1OU19EQVRBX0ZJTFRFUl9EQVRFX1NFQVJDSF9OQU1FLCBjbGFzczogU2VhcmNoRGF0ZUNvbHVtbnNEYXRhRmlsdGVyIH0sXG5dIGFzIGNvbnN0XG5cbmV4cG9ydCBjb25zdCBnZXRGb3JtYXR0ZWREYXRlRm9yQ29tcGFyaXNvbiA9IChkYXRlOiBzdHJpbmcgfCBudW1iZXIgfCBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCwgZGF0ZVR5cGU6IFRoZVNlYW1Db2x1bW5zRGF0YUZpbHRlckRhdGVTZWFyY2hEYXRlVHlwZSwgc2V0VG9Mb2NhbFRpbWU6IGJvb2xlYW4gPSBmYWxzZSk6IERhdGUgPT4ge1xuICBjb25zdCBkYXRlT2JqID0gbmV3IERhdGUobm90TnVsbE9yVW5kZWZpbmVkKGRhdGUpID8gZGF0ZSA6ICcnKVxuXG4gIGlmIChkYXRlVHlwZSA9PT0gJ2RhdGV0aW1lLWxvY2FsJykge1xuICAgIC8vIHJlc2V0IHNlY29uZHMgYW5kIG1zLCBzaW5jZSB0aGV5IGNhbid0IGJlIHNwZWNpZmllZCBmcm9tIHRoZSBzZWFyY2ggaW5wdXRcbiAgICBkYXRlT2JqLnNldFNlY29uZHMoMClcbiAgICBkYXRlT2JqLnNldE1pbGxpc2Vjb25kcygwKVxuICB9XG4gIGVsc2UgaWYgKGRhdGVUeXBlID09PSAnZGF0ZScpIHtcbiAgICBpZiAoc2V0VG9Mb2NhbFRpbWUpIHtcbiAgICAgIC8vIHNldCBkYXRlIGZyb20gaW5wdXQgdHlwZT1cImRhdGVcIiB0byBjdXJyZW50IHRpbWV6b25lLCB0byBtYXRjaCBleHBlY3RlZCBiZWhhdmlvclxuICAgICAgZGF0ZU9iai5zZXRNaW51dGVzKGRhdGVPYmouZ2V0TWludXRlcygpICsgZGF0ZU9iai5nZXRUaW1lem9uZU9mZnNldCgpKVxuICAgIH1cblxuICAgIC8vIHJlc2V0IGhvdXJzL21pbnV0ZXMvc2Vjb25kcy9tcywgc2luY2UgdGhleSBjYW4ndCBiZSBzcGVjaWZpZWQgZnJvbSB0aGUgc2VhcmNoIGlucHV0XG4gICAgZGF0ZU9iai5zZXRIb3VycygwLCAwLCAwLCAwKVxuICB9XG5cbiAgcmV0dXJuIGRhdGVPYmpcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { InjectionToken } from "@angular/core";
|
|
2
|
+
export const THESEAM_DATATABLE_CONFIG = new InjectionToken('TheSeamDatatableConfig');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YXRhYmxlLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvbW9kZWxzL2RhdGF0YWJsZS1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQTZHL0MsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQXlCLHdCQUF3QixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBTZWFtSWNvbiB9IGZyb20gXCJAdGhlc2VhbS91aS1jb21tb24vaWNvblwiO1xuaW1wb3J0IHsgQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uIH0gZnJvbSBcIi4vYWN0aW9uLWl0ZW0tY29sdW1uLXBvc2l0aW9uXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZU1lc3NhZ2VzIHtcbiAgLyoqXG4gICAqIE1lc3NhZ2UgdG8gc2hvdyB3aGVuIGFycmF5IGlzIHByZXNlbnRlZCwgYnV0IGNvbnRhaW5zIG5vIHZhbHVlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgJ05vIHJlY29yZHMgZm91bmQnXG4gICAqL1xuICBlbXB0eU1lc3NhZ2U6IHN0cmluZ1xuXG4gIC8qKlxuICAgKiBGb290ZXIgdG90YWwgbWVzc2FnZS5cbiAgICpcbiAgICogQGRlZmF1bHQgJ3RvdGFsJ1xuICAgKi9cbiAgdG90YWxNZXNzYWdlOiBzdHJpbmdcblxuICAvKipcbiAgICogRm9vdGVyIHNlbGVjdGVkIG1lc3NhZ2UuXG4gICAqXG4gICAqIEBkZWZhdWx0ICdzZWxlY3RlZCdcbiAgICovXG4gIHNlbGVjdGVkTWVzc2FnZTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJVcGRhdGVNZXRob2QgPSAndmFsdWVDaGFuZ2VzJyB8ICdzdWJtaXQnXG5cbi8qKlxuICogQSBjb25maWcgb2JqZWN0IHRoYXQgY2FuIGJlIGluamVjdGVkIGF0IHRoZSB0b3AgbGV2ZWwgb2YgYSBwcm9qZWN0XG4gKiB0byBhcHBseSBzcGVjaWZpYyBUaGVTZWFtRGF0YXRhYmxlIHNldHRpbmdzIHNpdGUtd2lkZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaGVTZWFtRGF0YXRhYmxlQ29uZmlnIHtcblxuICAvKipcbiAgICogU2VlIGBUaGVTZWFtRGF0YXRhYmxlTWVzc2FnZXNgLlxuICAgKi9cbiAgbWVzc2FnZXM/OiBQYXJ0aWFsPFRoZVNlYW1EYXRhdGFibGVNZXNzYWdlcz4gfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gaGVhZGVyIGhlaWdodCBpbiBwaXhlbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUwXG4gICAqL1xuICBoZWFkZXJIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIFJvdyBoZWlnaHQgaW4gcGl4ZWxzLCBuZWNlc3NhcnkgZm9yIGNhbGN1bGF0aW5nIHNjcm9sbCBoZWlnaHQuXG4gICAqXG4gICAqIEBkZWZhdWx0IDUwXG4gICAqL1xuICByb3dIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIE1pbmltdW0gZm9vdGVyIGhlaWdodCBpbiBwaXhlbHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IDQwXG4gICAqL1xuICBmb290ZXJIZWlnaHQ/OiBudW1iZXIgfCB1bmRlZmluZWQgfCBudWxsXG5cbiAgLyoqXG4gICAqIENTUyBjbGFzc2VzIGZvciB2YXJpb3VzIGljb24gYnV0dG9ucy5cbiAgICpcbiAgICogQGRlZmF1bHRcbiAgICogICBzb3J0QXNjZW5kaW5nOiAnZGF0YXRhYmxlLWljb24tdXAnLFxuICAgKiAgIHNvcnREZXNjZW5kaW5nOiAnZGF0YXRhYmxlLWljb24tZG93bicsXG4gICAqICAgcGFnZXJMZWZ0QXJyb3c6ICdkYXRhdGFibGUtaWNvbi1sZWZ0JyxcbiAgICogICBwYWdlclJpZ2h0QXJyb3c6ICdkYXRhdGFibGUtaWNvbi1yaWdodCcsXG4gICAqICAgcGFnZXJQcmV2aW91czogJ2RhdGF0YWJsZS1pY29uLXByZXYnLFxuICAgKiAgIHBhZ2VyTmV4dDogJ2RhdGF0YWJsZS1pY29uLXNraXAnXG4gICAqL1xuICBjc3NDbGFzc2VzPzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfVxuXG4gIC8qKlxuICAgKiBJY29uIHRvIGRpc3BsYXkgdG8gdGhlIGxlZnQgb2YgdGhlIGNvbHVtbiBoZWFkZXJcbiAgICogd2hlbiBhIGNvbHVtbiBpcyBtYXJrZWQgXCJmaWx0ZXJhYmxlXCIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhRmlsdGVyXG4gICAqL1xuICBjb2x1bW5GaWx0ZXJJY29uPzogU2VhbUljb25cblxuICAvKipcbiAgICogRGV0ZXJtaW5lcyB3aGF0IGtpbmQgb2YgYWN0aW9uIGNhdXNlcyBhIGZpbHRlciBjb2x1bW4gdG8gYmUgYXBwbGllZC5cbiAgICpcbiAgICogYHZhbHVlQ2hhbmdlc2A6IEZpbHRlciBpcyBhcHBsaWVkIG9uIGZvcm0gYHZhbHVlQ2hhbmdlc2AgZXZlbnQsIHdpdGggYW4gb3B0aW9uYWwgZGVib3VuY2Ugc2V0IG9uIGBjb2x1bW5GaWx0ZXJVcGRhdGVEZWJvdW5jZWAuXG4gICAqXG4gICAqIGBzdWJtaXRgOiBGaWx0ZXIgaXMgYXBwbGllZCBvbiBmb3JtIHN1Ym1pdC4gTm8gZGVib3VuY2UgaXMgYXBwbGllZC5cbiAgICpcbiAgICogQGRlZmF1bHQgXCJ2YWx1ZUNoYW5nZXNcIlxuICAgKi9cbiAgY29sdW1uRmlsdGVyVXBkYXRlTWV0aG9kPzogVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlclVwZGF0ZU1ldGhvZFxuXG4gIC8qKlxuICAgKiBOdW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIGRlYm91bmNlIGEgZmlsdGVyIGZvcm0gaW5wdXQgYmVmb3JlIGFwcGx5aW5nIHRoZSBmaWx0ZXIgY2hhbmdlLlxuICAgKiBPbmx5IGFwcGxpY2FibGUgd2hlbiBgY29sdW1uRmlsdGVyVXBkYXRlTWV0aG9kYCBpcyBgdmFsdWVDaGFuZ2VzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgNDAwXG4gICAqL1xuICBjb2x1bW5GaWx0ZXJVcGRhdGVEZWJvdW5jZT86IG51bWJlclxuXG4gIC8qKlxuICAgKiBTZXRzIHBvc2l0aW9uIGJlaGF2aW9yIGZvciBvcHRpb25hbCBBY3Rpb24gTWVudSBCdXR0b24gY29sdW1uLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmcm96ZW5SaWdodFxuICAgKi9cbiAgYWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uPzogQWN0aW9uSXRlbUNvbHVtblBvc2l0aW9uXG59XG5cbmV4cG9ydCBjb25zdCBUSEVTRUFNX0RBVEFUQUJMRV9DT05GSUcgPSBuZXcgSW5qZWN0aW9uVG9rZW48VGhlU2VhbURhdGF0YWJsZUNvbmZpZz4oJ1RoZVNlYW1EYXRhdGFibGVDb25maWcnKVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY29sdW1uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktY29tbW9uL2RhdGF0YWJsZS9tb2RlbHMvdGFibGUtY29sdW1uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUYWJsZUNvbHVtbiB9IGZyb20gJ0BtYXJrbGIvbmd4LWRhdGF0YWJsZSdcblxuaW1wb3J0IHsgVGFibGVDZWxsVHlwZUNvbHVtbiwgVGFibGVDZWxsVHlwZUNvbmZpZywgVGFibGVDZWxsVHlwZUV4cG9ydFByb3BzLCBUYWJsZUNlbGxUeXBlTmFtZSB9IGZyb20gJ0B0aGVzZWFtL3VpLWNvbW1vbi90YWJsZS1jZWxsLXR5cGUnXG5cbmV4cG9ydCBpbnRlcmZhY2UgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkhpZGFibGUge1xuXG4gIC8qKlxuICAgKiBIaWRlIGEgY29sdW1uLCBidXQgbGV0IHRoZSBkYXRhdGFibGUgc3RpbGwga25vdyBhYm91dCBpdC4gVXNlZnVsIGZvclxuICAgKiBoaWRkaW5nIGEgY29sdW1ucyB0aGF0IGNhbiBiZSB1bmhpZGRlbiB0aHJvdWdoIGEgc2V0dGluZy5cbiAgICpcbiAgICogTk9URTogSWYgeW91IGZpbHRlciBvdXQgdGhlIGNvbHVtbiBiZWZvcmUgcGFzc2luZyBpdCB0byB0aGUgZGF0YXRhYmxlIGl0XG4gICAqIHdpbGwgbm90IGJlIGFibGUgdG8gcHJvdmlkZSB0aGF0IGNvbHVtbiBhcyBhbiBvcHRpb24gaW4gdGhlIGNvbHVtbiB0b2dnbGVcbiAgICogbGlzdC5cbiAgICovXG4gIGhpZGRlbj86IGJvb2xlYW5cblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlPFQgZXh0ZW5kcyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uRmlsdGVyYWJsZUNvbmZpZyA9IGFueT4ge1xuICBmaWx0ZXJhYmxlPzogYm9vbGVhblxuXG4gIC8qKlxuICAgKiBBZGRpdGlvbmFsIG9wdGlvbnMgZm9yIGEgc3BlY2lmaWMgZmlsdGVyIHR5cGUuXG4gICAqL1xuICBmaWx0ZXJPcHRpb25zPzogVFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgbmFtZSBvbiB3aGljaCB0byBydW4gdGhlIGZpbHRlci5cbiAgICpcbiAgICogRGVmYXVsdHMgdG8gY29sdW1uIHByb3AuXG4gICAqL1xuICBmaWx0ZXJQcm9wPzogc3RyaW5nXG5cbiAgLyoqXG4gICAqIFRoZSB0eXBlIG9mIGZpbHRlcihzKSB0byBzaG93IGluIHRoZSBmaWx0ZXIgbWVudS5cbiAgICpcbiAgICogSWYgbm90IHByb3ZpZGVkLCB3aWxsIGxvb2sgdG8gY2VsbFR5cGUgdG8gZGV0ZXJtaW5lIGRlZmF1bHQgZmlsdGVyKHMpLlxuICAgKi9cbiAgZmlsdGVyVHlwZT86IHN0cmluZ1xuXG59XG5cbmV4cG9ydCB0eXBlIFRoZVNlYW1EYXRhdGFibGVDb2x1bW48VCBleHRlbmRzIFRhYmxlQ2VsbFR5cGVOYW1lID0gYW55LCBDIGV4dGVuZHMgVGFibGVDZWxsVHlwZUNvbmZpZzxUPiA9IGFueSwgRiBleHRlbmRzIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5GaWx0ZXJhYmxlQ29uZmlnID0gYW55PiA9XG4gIFRhYmxlQ29sdW1uICZcbiAgVGFibGVDZWxsVHlwZUNvbHVtbjxULCBDPiAmXG4gIFRhYmxlQ2VsbFR5cGVFeHBvcnRQcm9wcyAmXG4gIFRoZVNlYW1EYXRhdGFibGVDb2x1bW5IaWRhYmxlICZcbiAgVGhlU2VhbURhdGF0YWJsZUNvbHVtbkZpbHRlcmFibGU8Rj5cbiJdfQ==
|
|
@@ -2,6 +2,10 @@ export * from './datatable/datatable.component';
|
|
|
2
2
|
export * from './datatable-action-menu/datatable-action-menu.component';
|
|
3
3
|
export * from './datatable-action-menu-item/datatable-action-menu-item.component';
|
|
4
4
|
export * from './datatable-column/datatable-column.component';
|
|
5
|
+
export * from './datatable-column-filter-menu/datatable-column-filter-menu.component';
|
|
6
|
+
export * from './datatable-column-filter-search-date/datatable-column-filter-search-date.component';
|
|
7
|
+
export * from './datatable-column-filter-search-numeric/datatable-column-filter-search-numeric.component';
|
|
8
|
+
export * from './datatable-column-filter-search-text/datatable-column-filter-search-text.component';
|
|
5
9
|
export * from './datatable-column-preferences/datatable-column-preferences.component';
|
|
6
10
|
export * from './datatable-column-preferences-button/datatable-column-preferences-button.component';
|
|
7
11
|
export * from './datatable-export-button/datatable-export-button.component';
|
|
@@ -18,9 +22,18 @@ export * from './datatable-row-detail/datatable-row-detail.directive';
|
|
|
18
22
|
export * from './directives/datatable-action-menu-item.directive';
|
|
19
23
|
export * from './directives/datatable-action-menu-toggle.directive';
|
|
20
24
|
export * from './directives/datatable-cell-tpl.directive';
|
|
25
|
+
export * from './directives/datatable-column-filter-tpl.directive';
|
|
26
|
+
export * from './directives/datatable-column-filter.directive';
|
|
21
27
|
export * from './directives/datatable-filter.directive';
|
|
22
28
|
export * from './directives/datatable-row-action-item.directive';
|
|
29
|
+
export * from './models/columns-data-filter';
|
|
30
|
+
export * from './models/columns-data-filters/search-date.columns-data-filter';
|
|
31
|
+
export * from './models/columns-data-filters/search-numeric.columns-data-filter';
|
|
32
|
+
export * from './models/columns-data-filters/search-text.columns-data-filter';
|
|
33
|
+
export * from './models/columns-data-filters/models';
|
|
34
|
+
export * from './models/columns-data-filters/utils';
|
|
23
35
|
export * from './models/datatable-accessor';
|
|
36
|
+
export * from './models/datatable-config';
|
|
24
37
|
export * from './models/datatable-data-source';
|
|
25
38
|
export * from './models/datatable-gql-data-source';
|
|
26
39
|
export * from './models/menubar-item-data';
|
|
@@ -31,6 +44,7 @@ export * from './models/table-column';
|
|
|
31
44
|
export * from './models/sort-event';
|
|
32
45
|
export * from './models/sort-item';
|
|
33
46
|
export * from './models/table-column';
|
|
47
|
+
export * from './services/columns-filters.service';
|
|
34
48
|
export * from './services/datatable-column-changes.service';
|
|
35
49
|
export * from './services/datatable-preferences.service';
|
|
36
50
|
export * from './services/datatable-scrollbar-helper.service';
|
|
@@ -38,4 +52,4 @@ export * from './tokens/datatable-preferences-accessor';
|
|
|
38
52
|
export * from './tokens/menubar-item-data';
|
|
39
53
|
export * from './utils/with-stored-column-info';
|
|
40
54
|
export * from './datatable.module';
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLWNvbW1vbi9kYXRhdGFibGUvcHVibGljLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGlDQUFpQyxDQUFBO0FBQy9DLGNBQWMseURBQXlELENBQUE7QUFDdkUsY0FBYyxtRUFBbUUsQ0FBQTtBQUNqRixjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsdUVBQXVFLENBQUE7QUFDckYsY0FBYyxxRkFBcUYsQ0FBQTtBQUNuRyxjQUFjLDJGQUEyRixDQUFBO0FBQ3pHLGNBQWMscUZBQXFGLENBQUE7QUFDbkcsY0FBYyx1RUFBdUUsQ0FBQTtBQUNyRixjQUFjLHFGQUFxRixDQUFBO0FBQ25HLGNBQWMsNkRBQTZELENBQUE7QUFDM0UsY0FBYyxtREFBbUQsQ0FBQTtBQUNqRSxjQUFjLCtDQUErQyxDQUFBO0FBQzdELGNBQWMsbURBQW1ELENBQUE7QUFDakUsY0FBYywrRUFBK0UsQ0FBQTtBQUM3RixjQUFjLDJFQUEyRSxDQUFBO0FBQ3pGLGNBQWMsNkVBQTZFLENBQUE7QUFDM0YsY0FBYywyREFBMkQsQ0FBQTtBQUN6RSxjQUFjLDZEQUE2RCxDQUFBO0FBQzNFLGNBQWMsMkRBQTJELENBQUE7QUFDekUsY0FBYyx1REFBdUQsQ0FBQTtBQUVyRSxjQUFjLG1EQUFtRCxDQUFBO0FBQ2pFLGNBQWMscURBQXFELENBQUE7QUFDbkUsY0FBYywyQ0FBMkMsQ0FBQTtBQUN6RCxjQUFjLG9EQUFvRCxDQUFBO0FBQ2xFLGNBQWMsZ0RBQWdELENBQUE7QUFDOUQsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLGtEQUFrRCxDQUFBO0FBRWhFLGNBQWMsOEJBQThCLENBQUE7QUFDNUMsY0FBYywrREFBK0QsQ0FBQTtBQUM3RSxjQUFjLGtFQUFrRSxDQUFBO0FBQ2hGLGNBQWMsK0RBQStELENBQUE7QUFDN0UsY0FBYyxzQ0FBc0MsQ0FBQTtBQUNwRCxjQUFjLHFDQUFxQyxDQUFBO0FBQ25ELGNBQWMsNkJBQTZCLENBQUE7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQTtBQUN6QyxjQUFjLGdDQUFnQyxDQUFBO0FBQzlDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw0QkFBNEIsQ0FBQTtBQUMxQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsK0JBQStCLENBQUE7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQTtBQUNwQyxjQUFjLHVCQUF1QixDQUFBO0FBQ3JDLGNBQWMscUJBQXFCLENBQUE7QUFDbkMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLHVCQUF1QixDQUFBO0FBRXJDLGNBQWMsb0NBQW9DLENBQUE7QUFDbEQsY0FBYyw2Q0FBNkMsQ0FBQTtBQUMzRCxjQUFjLDBDQUEwQyxDQUFBO0FBQ3hELGNBQWMsK0NBQStDLENBQUE7QUFFN0QsY0FBYyx5Q0FBeUMsQ0FBQTtBQUN2RCxjQUFjLDRCQUE0QixDQUFBO0FBRTFDLGNBQWMsaUNBQWlDLENBQUE7QUFFL0MsY0FBYyxvQkFBb0IsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlL2RhdGF0YWJsZS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1hY3Rpb24tbWVudS9kYXRhdGFibGUtYWN0aW9uLW1lbnUuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS9kYXRhdGFibGUtYWN0aW9uLW1lbnUtaXRlbS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4vZGF0YXRhYmxlLWNvbHVtbi5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLW1lbnUvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItbWVudS5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlL2RhdGF0YWJsZS1jb2x1bW4tZmlsdGVyLXNlYXJjaC1kYXRlLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItc2VhcmNoLW51bWVyaWMuY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC9kYXRhdGFibGUtY29sdW1uLWZpbHRlci1zZWFyY2gtdGV4dC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMvZGF0YXRhYmxlLWNvbHVtbi1wcmVmZXJlbmNlcy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uL2RhdGF0YWJsZS1jb2x1bW4tcHJlZmVyZW5jZXMtYnV0dG9uLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24vZGF0YXRhYmxlLWV4cG9ydC1idXR0b24uY29tcG9uZW50J1xuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUtZm9vdGVyL2RhdGF0YWJsZS1mb290ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLWZvb3Rlci9kYXRhdGFibGUtZm9vdGVyLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyL2RhdGF0YWJsZS1tZW51LWJhci5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tY2VudGVyLmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1sZWZ0L2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tbGVmdC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1jb2x1bW4tcmlnaHQvZGF0YXRhYmxlLW1lbnUtYmFyLWNvbHVtbi1yaWdodC5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci1yb3cvZGF0YXRhYmxlLW1lbnUtYmFyLXJvdy5jb21wb25lbnQnXG5leHBvcnQgKiBmcm9tICcuL2RhdGF0YWJsZS1tZW51LWJhci10ZXh0L2RhdGF0YWJsZS1tZW51LWJhci10ZXh0LmNvbXBvbmVudCdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwtdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGF0YXRhYmxlLXJvdy1kZXRhaWwvZGF0YXRhYmxlLXJvdy1kZXRhaWwuZGlyZWN0aXZlJ1xuXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWFjdGlvbi1tZW51LWl0ZW0uZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1hY3Rpb24tbWVudS10b2dnbGUuZGlyZWN0aXZlJ1xuZXhwb3J0ICogZnJvbSAnLi9kaXJlY3RpdmVzL2RhdGF0YWJsZS1jZWxsLXRwbC5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWNvbHVtbi1maWx0ZXItdHBsLmRpcmVjdGl2ZSdcbmV4cG9ydCAqIGZyb20gJy4vZGlyZWN0aXZlcy9kYXRhdGFibGUtY29sdW1uLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLWZpbHRlci5kaXJlY3RpdmUnXG5leHBvcnQgKiBmcm9tICcuL2RpcmVjdGl2ZXMvZGF0YXRhYmxlLXJvdy1hY3Rpb24taXRlbS5kaXJlY3RpdmUnXG5cbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9zZWFyY2gtZGF0ZS5jb2x1bW5zLWRhdGEtZmlsdGVyJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvY29sdW1ucy1kYXRhLWZpbHRlcnMvc2VhcmNoLW51bWVyaWMuY29sdW1ucy1kYXRhLWZpbHRlcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2NvbHVtbnMtZGF0YS1maWx0ZXJzL3NlYXJjaC10ZXh0LmNvbHVtbnMtZGF0YS1maWx0ZXInXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy9tb2RlbHMnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9jb2x1bW5zLWRhdGEtZmlsdGVycy91dGlscydcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL2RhdGF0YWJsZS1jb25maWcnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZGF0YS1zb3VyY2UnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9kYXRhdGFibGUtZ3FsLWRhdGEtc291cmNlJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvbWVudWJhci1pdGVtLWRhdGEnXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wYWdlLWluZm8nXG5leHBvcnQgKiBmcm9tICcuL21vZGVscy9wcmVmZXJlbmNlcy1hY2Nlc3NvcidcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3ByZWZlcmVuY2VzJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvdGFibGUtY29sdW1uJ1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbHMvc29ydC1ldmVudCdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3NvcnQtaXRlbSdcbmV4cG9ydCAqIGZyb20gJy4vbW9kZWxzL3RhYmxlLWNvbHVtbidcblxuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9jb2x1bW5zLWZpbHRlcnMuc2VydmljZSdcbmV4cG9ydCAqIGZyb20gJy4vc2VydmljZXMvZGF0YXRhYmxlLWNvbHVtbi1jaGFuZ2VzLnNlcnZpY2UnXG5leHBvcnQgKiBmcm9tICcuL3NlcnZpY2VzL2RhdGF0YWJsZS1wcmVmZXJlbmNlcy5zZXJ2aWNlJ1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlcy9kYXRhdGFibGUtc2Nyb2xsYmFyLWhlbHBlci5zZXJ2aWNlJ1xuXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9kYXRhdGFibGUtcHJlZmVyZW5jZXMtYWNjZXNzb3InXG5leHBvcnQgKiBmcm9tICcuL3Rva2Vucy9tZW51YmFyLWl0ZW0tZGF0YSdcblxuZXhwb3J0ICogZnJvbSAnLi91dGlscy93aXRoLXN0b3JlZC1jb2x1bW4taW5mbydcblxuZXhwb3J0ICogZnJvbSAnLi9kYXRhdGFibGUubW9kdWxlJ1xuIl19
|
|
@@ -128,9 +128,9 @@ export class ColumnsAlterationsManagerService {
|
|
|
128
128
|
this._changesSubject.next(event);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
ColumnsAlterationsManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.
|
|
132
|
-
ColumnsAlterationsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.
|
|
133
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.
|
|
131
|
+
ColumnsAlterationsManagerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
132
|
+
ColumnsAlterationsManagerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService });
|
|
133
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImport: i0, type: ColumnsAlterationsManagerService, decorators: [{
|
|
134
134
|
type: Injectable
|
|
135
135
|
}], ctorParameters: function () { return []; } });
|
|
136
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1hbHRlcmF0aW9ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtYWx0ZXJhdGlvbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUs3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQTtBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQTs7QUFZL0YsTUFBTSxPQUFPLGdDQUFnQztJQU8zQztRQUxpQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFrQyxDQUFBO1FBQ3hFLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQTtRQUs1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLENBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksR0FBRyxDQUFDLFdBQWdDLEVBQUUsT0FBaUM7UUFDNUUsa0NBQWtDO1FBQ2xDLE1BQU0sT0FBTyxHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2pHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsR0FBRyxXQUFXLENBQUUsQ0FBQTtRQUU1RCxNQUFNLE9BQU8sR0FBc0M7WUFDakQsR0FBRyxPQUFPO1lBQ1YsR0FBRyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO2dCQUNyQixNQUFNLE1BQU0sR0FBb0M7b0JBQzlDLElBQUksRUFBRSxPQUFPO29CQUNiLFVBQVUsRUFBRSxDQUFDO2lCQUNkLENBQUE7Z0JBQ0QsT0FBTyxNQUFNLENBQUE7WUFDZixDQUFDLENBQUM7U0FDSCxDQUFBO1FBRUQsSUFBSSxrQkFBa0IsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFO1lBQ2pFLE9BQU8sT0FBTyxDQUFBO1NBQ2Y7UUFFRCxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBRTFCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7SUFFTSxNQUFNLENBQUMsV0FBZ0MsRUFBRSxPQUFpQztRQUMvRSxxQ0FBcUM7UUFDckMsTUFBTSxPQUFPLEdBQXNDLEVBQUUsQ0FBQTtRQUNyRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQy9DLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtZQUM5RCxJQUFJLEtBQUssRUFBRTtnQkFDVCxNQUFNLFdBQVcsR0FBb0M7b0JBQ25ELElBQUksRUFBRSxTQUFTO29CQUNmLFVBQVUsRUFBRSxDQUFDO2lCQUNkLENBQUE7Z0JBQ0QsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQTthQUMxQjtZQUNELE9BQU8sQ0FBQyxLQUFLLENBQUE7UUFDZixDQUFDLENBQUMsQ0FBQTtRQUVGLHFEQUFxRDtRQUVyRCxJQUFJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVNLEtBQUssQ0FBQyxPQUFpQyxFQUFFLFNBQW1DO1FBQ2pGLEtBQUssTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNqQyxDQUFDLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsQ0FBQTtTQUM1QjtRQUVELElBQUksQ0FBQyxvQkFBb0IsRUFBRSxDQUFBO0lBQzdCLENBQUM7SUFFRCw0RUFBNEU7SUFDNUUsNEVBQTRFO0lBQzVFLDBFQUEwRTtJQUMxRSw0RUFBNEU7SUFDNUUsd0VBQXdFO0lBQ3hFLDRFQUE0RTtJQUM1RSw2RUFBNkU7SUFDN0UsOEVBQThFO0lBQzlFLFlBQVk7SUFDWixFQUFFO0lBQ0Ysd0VBQXdFO0lBQ3hFLHFFQUFxRTtJQUNyRSxtREFBbUQ7SUFDNUMsS0FBSyxDQUFDLE9BQWlDO1FBQzVDLE1BQU0sT0FBTyxHQUFzQyxFQUFFLENBQUE7UUFDckQsS0FBSyxNQUFNLE1BQU0sSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RDLFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtnQkFDbkIsS0FBSyxhQUFhLENBQUMsQ0FBQztvQkFDbEIsTUFBTSxVQUFVLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFDLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUE7b0JBQ2pILE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUUsVUFBVSxDQUFFLENBQUMsQ0FBQyxDQUFBO29CQUN6QyxNQUFLO2lCQUNOO2dCQUNELEtBQUssT0FBTyxDQUFDLENBQUM7b0JBQ1osT0FBTyxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBRSxNQUFNLENBQUUsQ0FBQyxDQUFDLENBQUE7b0JBQ3hDLE1BQUs7aUJBQ047Z0JBQ0QsS0FBSyxNQUFNLENBQUMsQ0FBQztvQkFDWCxNQUFNLFVBQVUsR0FBRyxJQUFJLHFCQUFxQixDQUFDLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNsRSxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDLENBQUMsQ0FBQTtvQkFDekMsTUFBSztpQkFDTjtnQkFDRCxLQUFLLE9BQU8sQ0FBQyxDQUFDO29CQUNaLE1BQU0sVUFBVSxHQUFHLElBQUksc0JBQXNCLENBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsYUFBYSxFQUFFLElBQUksRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFBO29CQUNsSCxPQUFPLENBQUMsSUFBSSxDQUFDLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFFLFVBQVUsQ0FBRSxDQUFDLENBQUMsQ0FBQTtvQkFDekMsTUFBSztpQkFDTjthQUNGO1NBQ0Y7UUFFRCxJQUFJLGtCQUFrQixDQUFDLE9BQU8sRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxTQUFTLEVBQUU7WUFDakUsT0FBTyxPQUFPLENBQUE7U0FDZjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUIsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVPLG9CQUFvQjtRQUMxQixNQUFNLGFBQWEsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQ2xFLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUEwQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU07U0FDUDtRQUVELE1BQU0sS0FBSyxHQUFtQztZQUM1QyxPQUFPO1NBQ1IsQ0FBQTtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7OzZIQWxKVSxnQ0FBZ0M7aUlBQWhDLGdDQUFnQzsyRkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDb2x1bW5zQWx0ZXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVBY2Nlc3NvciB9IGZyb20gJy4uL21vZGVscy9kYXRhdGFibGUtYWNjZXNzb3InXG5pbXBvcnQgeyBIaWRlQ29sdW1uQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9oaWRlLWNvbHVtbi5jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBTb3J0Q29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9zb3J0LmNvbHVtbnMtYWx0ZXJhdGlvbidcbmltcG9ydCB7IFdpZHRoQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy93aWR0aC5jb2x1bW5zLWFsdGVyYXRpb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCB7XG4gIHR5cGU6ICdhZGRlZCcgfCAncmVtb3ZlZCdcbiAgYWx0ZXJhdGlvbjogQ29sdW1uc0FsdGVyYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkRXZlbnQge1xuICBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW11cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNBbHRlcmF0aW9uc01hbmFnZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudD4oKVxuICBwcml2YXRlIF9hbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSA9IFtdXG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IE9ic2VydmFibGU8Q29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2hhbmdlcyA9IHRoaXMuX2NoYW5nZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IENvbHVtbnNBbHRlcmF0aW9uW10ge1xuICAgIHJldHVybiBbIC4uLnRoaXMuX2FsdGVyYXRpb25zIF1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFsdGVyYXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gY29sdW1ucy5cbiAgICpcbiAgICogSWYgYW4gYWx0ZXJhdGlvbiB3aXRoIHRoZSBzYW1lIGBpZGAgYWxyZWFkeSBleGlzdHMgdGhlbiB0aGUgZXhpc3RpbmdcbiAgICogYWx0ZXJhdGlvbiB3aWxsIGJlIHJlbW92ZWQgYW5kIHRoZSBuZXcgb25lIGFkZGVkLlxuICAgKlxuICAgKiBOT1RFOiBXaGVuIHRoZXJlIGlzIGEgZHVwbGljYXRlIGFsdGVyYXRpb24gdGhlIG9sZCBhbHRlcmF0aW9uIGlzIHJlbW92ZWQsXG4gICAqIGluc3RlYWQgb2YgdXBkYXRlZCwgdG8gbWFpbnRhaW4gdGhlIG9yZGVyIGFsdGVyYXRpb25zIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgcHVibGljIGFkZChhbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICAvLyBjb25zb2xlLmxvZygnYWRkJywgYWx0ZXJhdGlvbnMpXG4gICAgY29uc3QgcmVtb3ZlZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gdGhpcy5yZW1vdmUoYWx0ZXJhdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gWyAuLi50aGlzLl9hbHRlcmF0aW9ucywgLi4uYWx0ZXJhdGlvbnMgXVxuXG4gICAgY29uc3QgY2hhbmdlczogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gW1xuICAgICAgLi4ucmVtb3ZlZCxcbiAgICAgIC4uLmFsdGVyYXRpb25zLm1hcChhID0+IHtcbiAgICAgICAgY29uc3QgcmVjb3JkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkID0ge1xuICAgICAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogYVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRcbiAgICAgIH0pXG4gICAgXVxuXG4gICAgaWYgKG5vdE51bGxPclVuZGVmaW5lZChvcHRpb25zPy5lbWl0RXZlbnQpICYmICFvcHRpb25zPy5lbWl0RXZlbnQpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VzXG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdENoYW5nZXMoY2hhbmdlcylcblxuICAgIHJldHVybiBjaGFuZ2VzXG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGFsdGVyYXRpb25zOiBDb2x1bW5zQWx0ZXJhdGlvbltdLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBhbHRlcmF0aW9ucylcbiAgICBjb25zdCByZW1vdmVkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBhbHRlcmF0aW9ucy5maW5kSW5kZXgoeSA9PiB5LmlkID09PSB4LmlkKSAhPT0gLTFcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBjb25zdCBldmVudFJlY29yZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCA9IHtcbiAgICAgICAgICB0eXBlOiAncmVtb3ZlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogeFxuICAgICAgICB9XG4gICAgICAgIHJlbW92ZWQucHVzaChldmVudFJlY29yZClcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZm91bmRcbiAgICB9KVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZWQnLCByZW1vdmVkLCB0aGlzLl9hbHRlcmF0aW9ucylcblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gcmVtb3ZlZFxuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKHJlbW92ZWQpXG5cbiAgICByZXR1cm4gcmVtb3ZlZFxuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSwgZGF0YXRhYmxlOiBUaGVTZWFtRGF0YXRhYmxlQWNjZXNzb3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5fYWx0ZXJhdGlvbnMpIHtcbiAgICAgIGEuYXBwbHkoY29sdW1ucywgZGF0YXRhYmxlKVxuICAgIH1cblxuICAgIHRoaXMuX3JlbW92ZU5vblBlcnNpc3RhbnQoKVxuICB9XG5cbiAgLy8gVE9ETzogTWFrZSBhd2FyZSBvZiBvcmlnaW5hbCBjb2x1bW4gb3JkZXIgYW5kIHByb3BlcnRpZXMuIFRoaXMgaXMgdHJpY2t5LFxuICAvLyBiZWNhdXNlIHRoZSBkYXRhdGFibGUgZG9lcyBub3QgZGVhbCB3aXRoIGltbXV0YWJsZSBjb2x1bW4vcm93IHJlY29yZHMgYW5kXG4gIC8vIGl0IGlzIGhhcmQgdG8ga25vdyB3aGVyZSBjaGFuZ2VzIGhhcHBlbmVkLiBKdXN0IHNlcmlhbGl6aW5nIHRoZSBjb2x1bW5zXG4gIC8vIGlucHV0IGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UgdGhlIGNvbHVtbnMgaW5wdXQgaXMgY2FsbGVkIGFueXRpbWUgdGhlIHVzZXJcbiAgLy8gbWFrZXMgYSBjb2x1bW4gY2hhbmdlLiBXZSBjYW4gcHJvYmFibHkgY29tZSB1cCB3aXRoIGEgbW9zdGx5IGFjY3VyYXRlXG4gIC8vIGltcGxlbWVudGF0aW9uLCBzdWNoIGFzIFwicmVzZXQgb3JpZ2luYWwgY29sdW1ucyBjYWNoZSB3aGVuIHByZWZlcmVuY2VzS2V5XG4gIC8vIGNoYW5nZXNcIiBvciBcIm51bWJlciBvZiBjb2x1bW5zIGNoYW5nZVwiLiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhvc2UgcnVsZXMsXG4gIC8vIGJ1dCB3aXRoIHNvbWUgdGVzdGluZy9leHBlcmltZW50aW5nIEkgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGEgXCJnb29kIGVub3VnaFwiXG4gIC8vIHNvbHV0aW9uLlxuICAvL1xuICAvLyBUT0RPOiBGaW5kIGEgZ2VuZXJpYyB3YXkgdG8gY2xlYXIgYWx0ZXJhdGlvbnMuIEkgd291bGQgbGlrZSB0byBhZGQgYW5cbiAgLy8gYHVuYXBwbHlgIG1ldGhvZCB0byBgQ29sdW1uc0FsdGVyYXRpb25gLCBidXQgc2luY2UgdGhlIGFsdGVyYXRpb25zXG4gIC8vIHRoZW1zZWx2ZXMgYXJlIG5vdCB0b28gZ2VuZXJpYyBpdCBtYXkgYmUgdHJpY2t5LlxuICBwdWJsaWMgY2xlYXIob3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICBjb25zdCBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIGZvciAoY29uc3QgY29sQWx0IG9mIHRoaXMuX2FsdGVyYXRpb25zKSB7XG4gICAgICBzd2l0Y2ggKGNvbEFsdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2hpZGUtY29sdW1uJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgSGlkZUNvbHVtbkNvbHVtbnNBbHRlcmF0aW9uKHsgY29sdW1uUHJvcDogY29sQWx0LnN0YXRlLmNvbHVtblByb3AsIGhpZGRlbjogZmFsc2UgfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ29yZGVyJzoge1xuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLnJlbW92ZShbIGNvbEFsdCBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NvcnQnOiB7XG4gICAgICAgICAgY29uc3QgYWx0ZXJhdGlvbiA9IG5ldyBTb3J0Q29sdW1uc0FsdGVyYXRpb24oeyBzb3J0czogW10gfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3dpZHRoJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgV2lkdGhDb2x1bW5zQWx0ZXJhdGlvbih7IGNvbHVtblByb3A6IGNvbEFsdC5zdGF0ZS5jb2x1bW5Qcm9wLCBjYW5BdXRvUmVzaXplOiB0cnVlIH0sIGZhbHNlKVxuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLmFkZChbIGFsdGVyYXRpb24gXSkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gY2hhbmdlc1xuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKGNoYW5nZXMpXG5cbiAgICByZXR1cm4gY2hhbmdlc1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTm9uUGVyc2lzdGFudCgpOiB2b2lkIHtcbiAgICBjb25zdCBub25QZXJzaXN0ZW50ID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4gIXgucGVyc2lzdGVudClcbiAgICB0aGlzLnJlbW92ZShub25QZXJzaXN0ZW50LCB7IGVtaXRFdmVudDogZmFsc2UgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2VzKGNoYW5nZXM6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRSZWNvcmRbXSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudCA9IHtcbiAgICAgIGNoYW5nZXNcbiAgICB9XG5cbiAgICB0aGlzLl9jaGFuZ2VzU3ViamVjdC5uZXh0KGV2ZW50KVxuICB9XG5cbn1cbiJdfQ==
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sdW1ucy1hbHRlcmF0aW9ucy1tYW5hZ2VyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1jb21tb24vZGF0YXRhYmxlL3NlcnZpY2VzL2NvbHVtbnMtYWx0ZXJhdGlvbnMtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUE7QUFDMUMsT0FBTyxFQUFjLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUUxQyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQTtBQUs3RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw4REFBOEQsQ0FBQTtBQUMxRyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQTtBQUM3RixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQTs7QUFZL0YsTUFBTSxPQUFPLGdDQUFnQztJQU8zQztRQUxpQixvQkFBZSxHQUFHLElBQUksT0FBTyxFQUFrQyxDQUFBO1FBQ3hFLGlCQUFZLEdBQXdCLEVBQUUsQ0FBQTtRQUs1QyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUE7SUFDcEQsQ0FBQztJQUVNLEdBQUc7UUFDUixPQUFPLENBQUUsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFFLENBQUE7SUFDakMsQ0FBQztJQUVEOzs7Ozs7OztPQVFHO0lBQ0ksR0FBRyxDQUFDLFdBQWdDLEVBQUUsT0FBaUM7UUFDNUUsa0NBQWtDO1FBQ2xDLE1BQU0sT0FBTyxHQUFzQyxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsRUFBRSxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFBO1FBQ2pHLElBQUksQ0FBQyxZQUFZLEdBQUcsQ0FBRSxHQUFHLElBQUksQ0FBQyxZQUFZ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RSxDQUFDLENBQUE7SUFDbEQsQ0FBQztJQUVPLFlBQVksQ0FBQyxPQUEwQztRQUM3RCxJQUFJLE9BQU8sQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1lBQ3hCLE9BQU07U0FDUDtRQUVELE1BQU0sS0FBSyxHQUFtQztZQUM1QyxPQUFPO1NBQ1IsQ0FBQTtRQUVELElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQ2xDLENBQUM7OzhIQWxKVSxnQ0FBZ0M7a0lBQWhDLGdDQUFnQzs0RkFBaEMsZ0NBQWdDO2tCQUQ1QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcydcblxuaW1wb3J0IHsgbm90TnVsbE9yVW5kZWZpbmVkIH0gZnJvbSAnQHRoZXNlYW0vdWktY29tbW9uL3V0aWxzJ1xuXG5pbXBvcnQgeyBDb2x1bW5zQWx0ZXJhdGlvbiB9IGZyb20gJy4uL21vZGVscy9jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBUaGVTZWFtRGF0YXRhYmxlQ29sdW1uIH0gZnJvbSAnLi4vbW9kZWxzL3RhYmxlLWNvbHVtbidcbmltcG9ydCB7IFRoZVNlYW1EYXRhdGFibGVBY2Nlc3NvciB9IGZyb20gJy4uL21vZGVscy9kYXRhdGFibGUtYWNjZXNzb3InXG5pbXBvcnQgeyBIaWRlQ29sdW1uQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9oaWRlLWNvbHVtbi5jb2x1bW5zLWFsdGVyYXRpb24nXG5pbXBvcnQgeyBTb3J0Q29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy9zb3J0LmNvbHVtbnMtYWx0ZXJhdGlvbidcbmltcG9ydCB7IFdpZHRoQ29sdW1uc0FsdGVyYXRpb24gfSBmcm9tICcuLi9tb2RlbHMvY29sdW1ucy1hbHRlcmF0aW9ucy93aWR0aC5jb2x1bW5zLWFsdGVyYXRpb24nXG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCB7XG4gIHR5cGU6ICdhZGRlZCcgfCAncmVtb3ZlZCdcbiAgYWx0ZXJhdGlvbjogQ29sdW1uc0FsdGVyYXRpb25cbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkRXZlbnQge1xuICBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW11cbn1cblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIENvbHVtbnNBbHRlcmF0aW9uc01hbmFnZXJTZXJ2aWNlIHtcblxuICBwcml2YXRlIHJlYWRvbmx5IF9jaGFuZ2VzU3ViamVjdCA9IG5ldyBTdWJqZWN0PENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudD4oKVxuICBwcml2YXRlIF9hbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSA9IFtdXG5cbiAgcHVibGljIHJlYWRvbmx5IGNoYW5nZXM6IE9ic2VydmFibGU8Q29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZEV2ZW50PlxuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHRoaXMuY2hhbmdlcyA9IHRoaXMuX2NoYW5nZXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpXG4gIH1cblxuICBwdWJsaWMgZ2V0KCk6IENvbHVtbnNBbHRlcmF0aW9uW10ge1xuICAgIHJldHVybiBbIC4uLnRoaXMuX2FsdGVyYXRpb25zIF1cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGFsdGVyYXRpb25zIHRvIGJlIGFwcGxpZWQgdG8gY29sdW1ucy5cbiAgICpcbiAgICogSWYgYW4gYWx0ZXJhdGlvbiB3aXRoIHRoZSBzYW1lIGBpZGAgYWxyZWFkeSBleGlzdHMgdGhlbiB0aGUgZXhpc3RpbmdcbiAgICogYWx0ZXJhdGlvbiB3aWxsIGJlIHJlbW92ZWQgYW5kIHRoZSBuZXcgb25lIGFkZGVkLlxuICAgKlxuICAgKiBOT1RFOiBXaGVuIHRoZXJlIGlzIGEgZHVwbGljYXRlIGFsdGVyYXRpb24gdGhlIG9sZCBhbHRlcmF0aW9uIGlzIHJlbW92ZWQsXG4gICAqIGluc3RlYWQgb2YgdXBkYXRlZCwgdG8gbWFpbnRhaW4gdGhlIG9yZGVyIGFsdGVyYXRpb25zIGFyZSBhcHBsaWVkLlxuICAgKi9cbiAgcHVibGljIGFkZChhbHRlcmF0aW9uczogQ29sdW1uc0FsdGVyYXRpb25bXSwgb3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICAvLyBjb25zb2xlLmxvZygnYWRkJywgYWx0ZXJhdGlvbnMpXG4gICAgY29uc3QgcmVtb3ZlZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gdGhpcy5yZW1vdmUoYWx0ZXJhdGlvbnMsIHsgZW1pdEV2ZW50OiBmYWxzZSB9KVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gWyAuLi50aGlzLl9hbHRlcmF0aW9ucywgLi4uYWx0ZXJhdGlvbnMgXVxuXG4gICAgY29uc3QgY2hhbmdlczogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdID0gW1xuICAgICAgLi4ucmVtb3ZlZCxcbiAgICAgIC4uLmFsdGVyYXRpb25zLm1hcChhID0+IHtcbiAgICAgICAgY29uc3QgcmVjb3JkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkID0ge1xuICAgICAgICAgIHR5cGU6ICdhZGRlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogYVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiByZWNvcmRcbiAgICAgIH0pXG4gICAgXVxuXG4gICAgaWYgKG5vdE51bGxPclVuZGVmaW5lZChvcHRpb25zPy5lbWl0RXZlbnQpICYmICFvcHRpb25zPy5lbWl0RXZlbnQpIHtcbiAgICAgIHJldHVybiBjaGFuZ2VzXG4gICAgfVxuXG4gICAgdGhpcy5fZW1pdENoYW5nZXMoY2hhbmdlcylcblxuICAgIHJldHVybiBjaGFuZ2VzXG4gIH1cblxuICBwdWJsaWMgcmVtb3ZlKGFsdGVyYXRpb25zOiBDb2x1bW5zQWx0ZXJhdGlvbltdLCBvcHRpb25zPzogeyBlbWl0RXZlbnQ/OiBib29sZWFuIH0pOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10ge1xuICAgIC8vIGNvbnNvbGUubG9nKCdyZW1vdmUnLCBhbHRlcmF0aW9ucylcbiAgICBjb25zdCByZW1vdmVkOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIHRoaXMuX2FsdGVyYXRpb25zID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4ge1xuICAgICAgY29uc3QgZm91bmQgPSBhbHRlcmF0aW9ucy5maW5kSW5kZXgoeSA9PiB5LmlkID09PSB4LmlkKSAhPT0gLTFcbiAgICAgIGlmIChmb3VuZCkge1xuICAgICAgICBjb25zdCBldmVudFJlY29yZDogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZCA9IHtcbiAgICAgICAgICB0eXBlOiAncmVtb3ZlZCcsXG4gICAgICAgICAgYWx0ZXJhdGlvbjogeFxuICAgICAgICB9XG4gICAgICAgIHJlbW92ZWQucHVzaChldmVudFJlY29yZClcbiAgICAgIH1cbiAgICAgIHJldHVybiAhZm91bmRcbiAgICB9KVxuXG4gICAgLy8gY29uc29sZS5sb2coJ3JlbW92ZWQnLCByZW1vdmVkLCB0aGlzLl9hbHRlcmF0aW9ucylcblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gcmVtb3ZlZFxuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKHJlbW92ZWQpXG5cbiAgICByZXR1cm4gcmVtb3ZlZFxuICB9XG5cbiAgcHVibGljIGFwcGx5KGNvbHVtbnM6IFRoZVNlYW1EYXRhdGFibGVDb2x1bW5bXSwgZGF0YXRhYmxlOiBUaGVTZWFtRGF0YXRhYmxlQWNjZXNzb3IpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGEgb2YgdGhpcy5fYWx0ZXJhdGlvbnMpIHtcbiAgICAgIGEuYXBwbHkoY29sdW1ucywgZGF0YXRhYmxlKVxuICAgIH1cblxuICAgIHRoaXMuX3JlbW92ZU5vblBlcnNpc3RhbnQoKVxuICB9XG5cbiAgLy8gVE9ETzogTWFrZSBhd2FyZSBvZiBvcmlnaW5hbCBjb2x1bW4gb3JkZXIgYW5kIHByb3BlcnRpZXMuIFRoaXMgaXMgdHJpY2t5LFxuICAvLyBiZWNhdXNlIHRoZSBkYXRhdGFibGUgZG9lcyBub3QgZGVhbCB3aXRoIGltbXV0YWJsZSBjb2x1bW4vcm93IHJlY29yZHMgYW5kXG4gIC8vIGl0IGlzIGhhcmQgdG8ga25vdyB3aGVyZSBjaGFuZ2VzIGhhcHBlbmVkLiBKdXN0IHNlcmlhbGl6aW5nIHRoZSBjb2x1bW5zXG4gIC8vIGlucHV0IGlzIG5vdCBlbm91Z2gsIGJlY2F1c2UgdGhlIGNvbHVtbnMgaW5wdXQgaXMgY2FsbGVkIGFueXRpbWUgdGhlIHVzZXJcbiAgLy8gbWFrZXMgYSBjb2x1bW4gY2hhbmdlLiBXZSBjYW4gcHJvYmFibHkgY29tZSB1cCB3aXRoIGEgbW9zdGx5IGFjY3VyYXRlXG4gIC8vIGltcGxlbWVudGF0aW9uLCBzdWNoIGFzIFwicmVzZXQgb3JpZ2luYWwgY29sdW1ucyBjYWNoZSB3aGVuIHByZWZlcmVuY2VzS2V5XG4gIC8vIGNoYW5nZXNcIiBvciBcIm51bWJlciBvZiBjb2x1bW5zIGNoYW5nZVwiLiBUaGVyZSBhcmUgaXNzdWVzIHdpdGggdGhvc2UgcnVsZXMsXG4gIC8vIGJ1dCB3aXRoIHNvbWUgdGVzdGluZy9leHBlcmltZW50aW5nIEkgdGhpbmsgdGhlcmUgc2hvdWxkIGJlIGEgXCJnb29kIGVub3VnaFwiXG4gIC8vIHNvbHV0aW9uLlxuICAvL1xuICAvLyBUT0RPOiBGaW5kIGEgZ2VuZXJpYyB3YXkgdG8gY2xlYXIgYWx0ZXJhdGlvbnMuIEkgd291bGQgbGlrZSB0byBhZGQgYW5cbiAgLy8gYHVuYXBwbHlgIG1ldGhvZCB0byBgQ29sdW1uc0FsdGVyYXRpb25gLCBidXQgc2luY2UgdGhlIGFsdGVyYXRpb25zXG4gIC8vIHRoZW1zZWx2ZXMgYXJlIG5vdCB0b28gZ2VuZXJpYyBpdCBtYXkgYmUgdHJpY2t5LlxuICBwdWJsaWMgY2xlYXIob3B0aW9ucz86IHsgZW1pdEV2ZW50PzogYm9vbGVhbiB9KTogQ29sdW1uc0FsdGVyYXRpb25zQ2hhbmdlZFJlY29yZFtdIHtcbiAgICBjb25zdCBjaGFuZ2VzOiBDb2x1bW5zQWx0ZXJhdGlvbnNDaGFuZ2VkUmVjb3JkW10gPSBbXVxuICAgIGZvciAoY29uc3QgY29sQWx0IG9mIHRoaXMuX2FsdGVyYXRpb25zKSB7XG4gICAgICBzd2l0Y2ggKGNvbEFsdC50eXBlKSB7XG4gICAgICAgIGNhc2UgJ2hpZGUtY29sdW1uJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgSGlkZUNvbHVtbkNvbHVtbnNBbHRlcmF0aW9uKHsgY29sdW1uUHJvcDogY29sQWx0LnN0YXRlLmNvbHVtblByb3AsIGhpZGRlbjogZmFsc2UgfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ29yZGVyJzoge1xuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLnJlbW92ZShbIGNvbEFsdCBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3NvcnQnOiB7XG4gICAgICAgICAgY29uc3QgYWx0ZXJhdGlvbiA9IG5ldyBTb3J0Q29sdW1uc0FsdGVyYXRpb24oeyBzb3J0czogW10gfSwgZmFsc2UpXG4gICAgICAgICAgY2hhbmdlcy5wdXNoKC4uLnRoaXMuYWRkKFsgYWx0ZXJhdGlvbiBdKSlcbiAgICAgICAgICBicmVha1xuICAgICAgICB9XG4gICAgICAgIGNhc2UgJ3dpZHRoJzoge1xuICAgICAgICAgIGNvbnN0IGFsdGVyYXRpb24gPSBuZXcgV2lkdGhDb2x1bW5zQWx0ZXJhdGlvbih7IGNvbHVtblByb3A6IGNvbEFsdC5zdGF0ZS5jb2x1bW5Qcm9wLCBjYW5BdXRvUmVzaXplOiB0cnVlIH0sIGZhbHNlKVxuICAgICAgICAgIGNoYW5nZXMucHVzaCguLi50aGlzLmFkZChbIGFsdGVyYXRpb24gXSkpXG4gICAgICAgICAgYnJlYWtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChub3ROdWxsT3JVbmRlZmluZWQob3B0aW9ucz8uZW1pdEV2ZW50KSAmJiAhb3B0aW9ucz8uZW1pdEV2ZW50KSB7XG4gICAgICByZXR1cm4gY2hhbmdlc1xuICAgIH1cblxuICAgIHRoaXMuX2VtaXRDaGFuZ2VzKGNoYW5nZXMpXG5cbiAgICByZXR1cm4gY2hhbmdlc1xuICB9XG5cbiAgcHJpdmF0ZSBfcmVtb3ZlTm9uUGVyc2lzdGFudCgpOiB2b2lkIHtcbiAgICBjb25zdCBub25QZXJzaXN0ZW50ID0gdGhpcy5fYWx0ZXJhdGlvbnMuZmlsdGVyKHggPT4gIXgucGVyc2lzdGVudClcbiAgICB0aGlzLnJlbW92ZShub25QZXJzaXN0ZW50LCB7IGVtaXRFdmVudDogZmFsc2UgfSlcbiAgfVxuXG4gIHByaXZhdGUgX2VtaXRDaGFuZ2VzKGNoYW5nZXM6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRSZWNvcmRbXSk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3QgZXZlbnQ6IENvbHVtbnNBbHRlcmF0aW9uc0NoYW5nZWRFdmVudCA9IHtcbiAgICAgIGNoYW5nZXNcbiAgICB9XG5cbiAgICB0aGlzLl9jaGFuZ2VzU3ViamVjdC5uZXh0KGV2ZW50KVxuICB9XG5cbn1cbiJdfQ==
|