@skyux/list-builder 5.0.2 → 5.5.0
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/README.md +6 -4
- package/bundles/skyux-list-builder.umd.js +95 -94
- package/documentation.json +681 -468
- package/esm2015/index.js +78 -0
- package/esm2015/index.js.map +1 -0
- package/esm2015/lib/modules/list/list-data-request.model.js +18 -0
- package/esm2015/lib/modules/list/list-data-request.model.js.map +1 -0
- package/esm2015/lib/modules/list/list-data-response.model.js +9 -0
- package/esm2015/lib/modules/list/list-data-response.model.js.map +1 -0
- package/esm2015/lib/modules/list/list-data.provider.js +7 -0
- package/esm2015/lib/modules/list/list-data.provider.js.map +1 -0
- package/esm2015/lib/modules/list/list-paging.component.js +13 -0
- package/esm2015/lib/modules/list/list-paging.component.js.map +1 -0
- package/esm2015/lib/modules/list/list-view.component.js +28 -0
- package/esm2015/lib/modules/list/list-view.component.js.map +1 -0
- package/esm2015/lib/modules/list/list.component.js +305 -0
- package/esm2015/lib/modules/list/list.component.js.map +1 -0
- package/esm2015/lib/modules/list/list.module.js +18 -0
- package/esm2015/lib/modules/list/list.module.js.map +1 -0
- package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js +16 -0
- package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/filters/update.action.js +9 -0
- package/esm2015/lib/modules/list/state/filters/update.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js +53 -0
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/items/load.action.js +12 -0
- package/esm2015/lib/modules/list/state/items/load.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/items/set-items-selected.action.js +13 -0
- package/esm2015/lib/modules/list/state/items/set-items-selected.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/items/set-loading.action.js +9 -0
- package/esm2015/lib/modules/list/state/items/set-loading.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/list-state-action.type.js +2 -0
- package/esm2015/lib/modules/list/state/list-state-action.type.js.map +1 -0
- package/esm2015/lib/modules/list/state/list-state.model.js +24 -0
- package/esm2015/lib/modules/list/state/list-state.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/list-state.rxstate.js +80 -0
- package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +1 -0
- package/esm2015/lib/modules/list/state/list-state.state-node.js +37 -0
- package/esm2015/lib/modules/list/state/list-state.state-node.js.map +1 -0
- package/esm2015/lib/modules/list/state/paging/paging.model.js +14 -0
- package/esm2015/lib/modules/list/state/paging/paging.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +27 -0
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js +9 -0
- package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js +9 -0
- package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/paging/set-page-number.action.js +9 -0
- package/esm2015/lib/modules/list/state/paging/set-page-number.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/search.model.js +32 -0
- package/esm2015/lib/modules/list/state/search/search.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js +47 -0
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js +9 -0
- package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/set-functions.action.js +9 -0
- package/esm2015/lib/modules/list/state/search/set-functions.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/set-options.action.js +11 -0
- package/esm2015/lib/modules/list/state/search/set-options.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/search/set-search-text.action.js +9 -0
- package/esm2015/lib/modules/list/state/search/set-search-text.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/load.action.js +9 -0
- package/esm2015/lib/modules/list/state/selected/load.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/selected.model.js +9 -0
- package/esm2015/lib/modules/list/state/selected/selected.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +56 -0
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js +10 -0
- package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js +11 -0
- package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/selected/set-loading.action.js +9 -0
- package/esm2015/lib/modules/list/state/selected/set-loading.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/label.model.js +25 -0
- package/esm2015/lib/modules/list/state/sort/label.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/set-available.action.js +9 -0
- package/esm2015/lib/modules/list/state/sort/set-available.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js +9 -0
- package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/set-global.action.js +9 -0
- package/esm2015/lib/modules/list/state/sort/set-global.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/sort.model.js +27 -0
- package/esm2015/lib/modules/list/state/sort/sort.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +30 -0
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/disable.action.js +9 -0
- package/esm2015/lib/modules/list/state/toolbar/disable.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/load.action.js +10 -0
- package/esm2015/lib/modules/list/state/toolbar/load.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/remove.action.js +9 -0
- package/esm2015/lib/modules/list/state/toolbar/remove.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js +9 -0
- package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/set-type.action.js +9 -0
- package/esm2015/lib/modules/list/state/toolbar/set-type.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js +9 -0
- package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js +16 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js +17 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +80 -0
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list/state/views/load.action.js +9 -0
- package/esm2015/lib/modules/list/state/views/load.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/views/set-active.action.js +9 -0
- package/esm2015/lib/modules/list/state/views/set-active.action.js.map +1 -0
- package/esm2015/lib/modules/list/state/views/view.model.js +10 -0
- package/esm2015/lib/modules/list/state/views/view.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/views/views.model.js +13 -0
- package/esm2015/lib/modules/list/state/views/views.model.js.map +1 -0
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js +21 -0
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +160 -0
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +1 -0
- package/esm2015/lib/modules/list-filters/filter.model.js +18 -0
- package/esm2015/lib/modules/list-filters/filter.model.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-button.component.js +44 -0
- package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +34 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +45 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +74 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline.model.js +21 -0
- package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +60 -0
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +1 -0
- package/esm2015/lib/modules/list-filters/list-filters.module.js +41 -0
- package/esm2015/lib/modules/list-filters/list-filters.module.js.map +1 -0
- package/esm2015/lib/modules/list-paging/list-paging.component.js +89 -0
- package/esm2015/lib/modules/list-paging/list-paging.component.js.map +1 -0
- package/esm2015/lib/modules/list-paging/list-paging.module.js +19 -0
- package/esm2015/lib/modules/list-paging/list-paging.module.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +153 -0
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +33 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +2 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js.map +1 -0
- package/esm2015/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +6 -5
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +45 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +46 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +36 -0
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +30 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +47 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js +19 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js +25 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js +21 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +360 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +87 -0
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/config/config.model.js +14 -0
- package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js +21 -0
- package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js +9 -0
- package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +10 -0
- package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js +2 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js +10 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js +19 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +1 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +23 -0
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +1 -0
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +53 -0
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +1 -0
- package/esm2015/skyux-list-builder.js +2 -2
- package/esm2015/skyux-list-builder.js.map +1 -0
- package/fesm2015/skyux-list-builder.js +117 -116
- package/fesm2015/skyux-list-builder.js.map +1 -1
- package/index.d.ts +74 -0
- package/{modules → lib/modules}/list/list-data-request.model.d.ts +0 -0
- package/{modules → lib/modules}/list/list-data-response.model.d.ts +0 -0
- package/{modules → lib/modules}/list/list-data.provider.d.ts +0 -0
- package/{modules → lib/modules}/list/list-paging.component.d.ts +0 -0
- package/{modules → lib/modules}/list/list-view.component.d.ts +0 -0
- package/{modules → lib/modules}/list/list.component.d.ts +0 -0
- package/{modules → lib/modules}/list/list.module.d.ts +0 -0
- package/{modules → lib/modules}/list/state/filters/filters.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/filters/update.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/items/items.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/items/load.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/items/set-items-selected.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/items/set-loading.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/list-state-action.type.d.ts +0 -0
- package/{modules → lib/modules}/list/state/list-state.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/list-state.rxstate.d.ts +0 -0
- package/{modules → lib/modules}/list/state/list-state.state-node.d.ts +0 -0
- package/{modules → lib/modules}/list/state/paging/paging.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/paging/paging.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/paging/set-items-per-page.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/paging/set-max-pages.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/paging/set-page-number.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/search/search.model.d.ts +1 -0
- package/{modules → lib/modules}/list/state/search/search.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/search/set-field-selectors.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/search/set-functions.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/search/set-options.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/search/set-search-text.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/load.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/selected.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/selected.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/set-item-selected.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/set-items-selected.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/selected/set-loading.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/label.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/set-available.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/set-field-selectors.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/set-global.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/sort.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/sort/sort.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/disable.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/load.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/remove.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/set-exists.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/set-type.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/show-multiselect-toolbar.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/toolbar-item.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/toolbar.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/toolbar/toolbar.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list/state/views/load.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/views/set-active.action.d.ts +0 -0
- package/{modules → lib/modules}/list/state/views/view.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/views/views.model.d.ts +0 -0
- package/{modules → lib/modules}/list/state/views/views.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/filter.model.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-button.component.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-inline-item-renderer.component.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-inline-item.component.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-inline.component.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-inline.model.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filter-summary.component.d.ts +0 -0
- package/{modules → lib/modules}/list-filters/list-filters.module.d.ts +0 -0
- package/{modules → lib/modules}/list-paging/list-paging.component.d.ts +0 -0
- package/{modules → lib/modules}/list-paging/list-paging.module.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-multiselect-toolbar.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-action.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-action.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.module.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-secondary-actions/list-secondary-actions.service.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-toolbar-item-renderer.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-toolbar-item.component.d.ts +3 -3
- package/{modules → lib/modules}/list-toolbar/list-toolbar-search-actions.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-toolbar-sort.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-toolbar-view-actions.component.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/list-toolbar.component.d.ts +2 -2
- package/{modules → lib/modules}/list-toolbar/list-toolbar.module.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/config/config.model.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/config/config.orchestrator.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/config/set-search-enabled.action.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/config/set-sort-selector-enabled.action.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/toolbar-state-action.type.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/toolbar-state.model.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/toolbar-state.rxstate.d.ts +0 -0
- package/{modules → lib/modules}/list-toolbar/state/toolbar-state.state-node.d.ts +0 -0
- package/{modules → lib/modules}/shared/sky-list-builder-resources.module.d.ts +0 -0
- package/package.json +27 -13
- package/skyux-list-builder.d.ts +1 -1
- package/LICENSE +0 -21
- package/esm2015/modules/list/list-data-request.model.js +0 -18
- package/esm2015/modules/list/list-data-response.model.js +0 -9
- package/esm2015/modules/list/list-data.provider.js +0 -7
- package/esm2015/modules/list/list-paging.component.js +0 -13
- package/esm2015/modules/list/list-view.component.js +0 -28
- package/esm2015/modules/list/list.component.js +0 -304
- package/esm2015/modules/list/list.module.js +0 -18
- package/esm2015/modules/list/state/filters/filters.orchestrator.js +0 -16
- package/esm2015/modules/list/state/filters/update.action.js +0 -9
- package/esm2015/modules/list/state/items/items.orchestrator.js +0 -53
- package/esm2015/modules/list/state/items/load.action.js +0 -12
- package/esm2015/modules/list/state/items/set-items-selected.action.js +0 -13
- package/esm2015/modules/list/state/items/set-loading.action.js +0 -9
- package/esm2015/modules/list/state/list-state-action.type.js +0 -2
- package/esm2015/modules/list/state/list-state.model.js +0 -24
- package/esm2015/modules/list/state/list-state.rxstate.js +0 -80
- package/esm2015/modules/list/state/list-state.state-node.js +0 -36
- package/esm2015/modules/list/state/paging/paging.model.js +0 -14
- package/esm2015/modules/list/state/paging/paging.orchestrator.js +0 -27
- package/esm2015/modules/list/state/paging/set-items-per-page.action.js +0 -9
- package/esm2015/modules/list/state/paging/set-max-pages.action.js +0 -9
- package/esm2015/modules/list/state/paging/set-page-number.action.js +0 -9
- package/esm2015/modules/list/state/search/search.model.js +0 -31
- package/esm2015/modules/list/state/search/search.orchestrator.js +0 -47
- package/esm2015/modules/list/state/search/set-field-selectors.action.js +0 -9
- package/esm2015/modules/list/state/search/set-functions.action.js +0 -9
- package/esm2015/modules/list/state/search/set-options.action.js +0 -11
- package/esm2015/modules/list/state/search/set-search-text.action.js +0 -9
- package/esm2015/modules/list/state/selected/load.action.js +0 -9
- package/esm2015/modules/list/state/selected/selected.model.js +0 -9
- package/esm2015/modules/list/state/selected/selected.orchestrator.js +0 -56
- package/esm2015/modules/list/state/selected/set-item-selected.action.js +0 -10
- package/esm2015/modules/list/state/selected/set-items-selected.action.js +0 -11
- package/esm2015/modules/list/state/selected/set-loading.action.js +0 -9
- package/esm2015/modules/list/state/sort/label.model.js +0 -25
- package/esm2015/modules/list/state/sort/set-available.action.js +0 -9
- package/esm2015/modules/list/state/sort/set-field-selectors.action.js +0 -9
- package/esm2015/modules/list/state/sort/set-global.action.js +0 -9
- package/esm2015/modules/list/state/sort/sort.model.js +0 -27
- package/esm2015/modules/list/state/sort/sort.orchestrator.js +0 -30
- package/esm2015/modules/list/state/toolbar/disable.action.js +0 -9
- package/esm2015/modules/list/state/toolbar/load.action.js +0 -10
- package/esm2015/modules/list/state/toolbar/remove.action.js +0 -9
- package/esm2015/modules/list/state/toolbar/set-exists.action.js +0 -9
- package/esm2015/modules/list/state/toolbar/set-type.action.js +0 -9
- package/esm2015/modules/list/state/toolbar/show-multiselect-toolbar.action.js +0 -9
- package/esm2015/modules/list/state/toolbar/toolbar-item.model.js +0 -16
- package/esm2015/modules/list/state/toolbar/toolbar.model.js +0 -17
- package/esm2015/modules/list/state/toolbar/toolbar.orchestrator.js +0 -80
- package/esm2015/modules/list/state/views/load.action.js +0 -9
- package/esm2015/modules/list/state/views/set-active.action.js +0 -9
- package/esm2015/modules/list/state/views/view.model.js +0 -10
- package/esm2015/modules/list/state/views/views.model.js +0 -13
- package/esm2015/modules/list/state/views/views.orchestrator.js +0 -21
- package/esm2015/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +0 -160
- package/esm2015/modules/list-filters/filter.model.js +0 -18
- package/esm2015/modules/list-filters/list-filter-button.component.js +0 -43
- package/esm2015/modules/list-filters/list-filter-inline-item-renderer.component.js +0 -34
- package/esm2015/modules/list-filters/list-filter-inline-item.component.js +0 -45
- package/esm2015/modules/list-filters/list-filter-inline.component.js +0 -72
- package/esm2015/modules/list-filters/list-filter-inline.model.js +0 -21
- package/esm2015/modules/list-filters/list-filter-summary.component.js +0 -58
- package/esm2015/modules/list-filters/list-filters.module.js +0 -41
- package/esm2015/modules/list-paging/list-paging.component.js +0 -87
- package/esm2015/modules/list-paging/list-paging.module.js +0 -19
- package/esm2015/modules/list-toolbar/list-multiselect-toolbar.component.js +0 -151
- package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +0 -32
- package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +0 -2
- package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +0 -44
- package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +0 -46
- package/esm2015/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +0 -36
- package/esm2015/modules/list-toolbar/list-toolbar-item-renderer.component.js +0 -30
- package/esm2015/modules/list-toolbar/list-toolbar-item.component.js +0 -47
- package/esm2015/modules/list-toolbar/list-toolbar-search-actions.component.js +0 -19
- package/esm2015/modules/list-toolbar/list-toolbar-sort.component.js +0 -25
- package/esm2015/modules/list-toolbar/list-toolbar-view-actions.component.js +0 -21
- package/esm2015/modules/list-toolbar/list-toolbar.component.js +0 -358
- package/esm2015/modules/list-toolbar/list-toolbar.module.js +0 -87
- package/esm2015/modules/list-toolbar/state/config/config.model.js +0 -14
- package/esm2015/modules/list-toolbar/state/config/config.orchestrator.js +0 -21
- package/esm2015/modules/list-toolbar/state/config/set-search-enabled.action.js +0 -9
- package/esm2015/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +0 -10
- package/esm2015/modules/list-toolbar/state/toolbar-state-action.type.js +0 -2
- package/esm2015/modules/list-toolbar/state/toolbar-state.model.js +0 -10
- package/esm2015/modules/list-toolbar/state/toolbar-state.rxstate.js +0 -19
- package/esm2015/modules/list-toolbar/state/toolbar-state.state-node.js +0 -21
- package/esm2015/modules/shared/sky-list-builder-resources.module.js +0 -53
- package/esm2015/public-api.js +0 -78
- package/public-api.d.ts +0 -74
package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js
ADDED
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { BehaviorSubject } from 'rxjs';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
/**
|
|
5
|
+
* @internal
|
|
6
|
+
*/
|
|
7
|
+
export class SkyListSecondaryActionsService {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.secondaryActionsCount = 0;
|
|
10
|
+
this.secondaryActionsSubject = new BehaviorSubject(0);
|
|
11
|
+
this.actionsStream = new BehaviorSubject([]);
|
|
12
|
+
this.actions = [];
|
|
13
|
+
}
|
|
14
|
+
addSecondaryAction(action) {
|
|
15
|
+
this.secondaryActionsCount++;
|
|
16
|
+
this.secondaryActionsSubject.next(this.secondaryActionsCount);
|
|
17
|
+
this.actions.push(action);
|
|
18
|
+
this.actionsStream.next(this.actions);
|
|
19
|
+
}
|
|
20
|
+
removeSecondaryAction(action) {
|
|
21
|
+
this.secondaryActionsCount--;
|
|
22
|
+
this.secondaryActionsSubject.next(this.secondaryActionsCount);
|
|
23
|
+
this.actions = this.actions.filter((existingItem) => existingItem !== action);
|
|
24
|
+
this.actionsStream.next(this.actions);
|
|
25
|
+
}
|
|
26
|
+
ngOnDestroy() {
|
|
27
|
+
this.secondaryActionsSubject.complete();
|
|
28
|
+
this.actionsStream.complete();
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
SkyListSecondaryActionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListSecondaryActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
32
|
+
SkyListSecondaryActionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListSecondaryActionsService });
|
|
33
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListSecondaryActionsService, decorators: [{
|
|
34
|
+
type: Injectable
|
|
35
|
+
}] });
|
|
36
|
+
//# sourceMappingURL=list-secondary-actions.service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-secondary-actions.service.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,eAAe,CAAC;AAEtD,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;;AAIvC;;GAEG;AAEH,MAAM,OAAO,8BAA8B;IAD3C;QAES,0BAAqB,GAAG,CAAC,CAAC;QAC1B,4BAAuB,GAAG,IAAI,eAAe,CAAS,CAAC,CAAC,CAAC;QACzD,kBAAa,GAAG,IAAI,eAAe,CAA2B,EAAE,CAAC,CAAC;QACjE,YAAO,GAA6B,EAAE,CAAC;KAsBhD;IApBQ,kBAAkB,CAAC,MAA8B;QACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,qBAAqB,CAAC,MAAW;QACtC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAChC,CAAC,YAAY,EAAE,EAAE,CAAC,YAAY,KAAK,MAAM,CAC1C,CAAC;QACF,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;IAEM,WAAW;QAChB,IAAI,CAAC,uBAAuB,CAAC,QAAQ,EAAE,CAAC;QACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;;4HAzBU,8BAA8B;gIAA9B,8BAA8B;4FAA9B,8BAA8B;kBAD1C,UAAU","sourcesContent":["import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyListSecondaryActionsService implements OnDestroy {\n public secondaryActionsCount = 0;\n public secondaryActionsSubject = new BehaviorSubject<number>(0);\n public actionsStream = new BehaviorSubject<SkyListSecondaryAction[]>([]);\n private actions: SkyListSecondaryAction[] = [];\n\n public addSecondaryAction(action: SkyListSecondaryAction) {\n this.secondaryActionsCount++;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions.push(action);\n this.actionsStream.next(this.actions);\n }\n\n public removeSecondaryAction(action: any) {\n this.secondaryActionsCount--;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions = this.actions.filter(\n (existingItem) => existingItem !== action\n );\n this.actionsStream.next(this.actions);\n }\n\n public ngOnDestroy() {\n this.secondaryActionsSubject.complete();\n this.actionsStream.complete();\n }\n}\n"]}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { Component, ViewContainerRef, ViewChild, Input, TemplateRef, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
*/
|
|
6
|
+
export class SkyListToolbarItemRendererComponent {
|
|
7
|
+
ngOnInit() {
|
|
8
|
+
if (this.template !== undefined) {
|
|
9
|
+
this.container.createEmbeddedView(this.template, this);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
SkyListToolbarItemRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
+
SkyListToolbarItemRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: { template: "template" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template #container></ng-template>', isInline: true });
|
|
15
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarItemRendererComponent, decorators: [{
|
|
16
|
+
type: Component,
|
|
17
|
+
args: [{
|
|
18
|
+
selector: 'sky-list-toolbar-item-renderer',
|
|
19
|
+
template: '<ng-template #container></ng-template>',
|
|
20
|
+
}]
|
|
21
|
+
}], propDecorators: { template: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], container: [{
|
|
24
|
+
type: ViewChild,
|
|
25
|
+
args: ['container', {
|
|
26
|
+
read: ViewContainerRef,
|
|
27
|
+
static: true,
|
|
28
|
+
}]
|
|
29
|
+
}] } });
|
|
30
|
+
//# sourceMappingURL=list-toolbar-item-renderer.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-toolbar-item-renderer.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item-renderer.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,SAAS,EACT,KAAK,EACL,WAAW,GAEZ,MAAM,eAAe,CAAC;;AAEvB;;GAEG;AAKH,MAAM,OAAO,mCAAmC;IAUvC,QAAQ;QACb,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;SACxD;IACH,CAAC;;iIAdU,mCAAmC;qHAAnC,mCAAmC,2LAKtC,gBAAgB,2CAPd,wCAAwC;4FAEvC,mCAAmC;kBAJ/C,SAAS;mBAAC;oBACT,QAAQ,EAAE,gCAAgC;oBAC1C,QAAQ,EAAE,wCAAwC;iBACnD;8BAGQ,QAAQ;sBADd,KAAK;gBAOE,SAAS;sBAJhB,SAAS;uBAAC,WAAW,EAAE;wBACtB,IAAI,EAAE,gBAAgB;wBACtB,MAAM,EAAE,IAAI;qBACb","sourcesContent":["import {\n Component,\n ViewContainerRef,\n ViewChild,\n Input,\n TemplateRef,\n OnInit,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-toolbar-item-renderer',\n template: '<ng-template #container></ng-template>',\n})\nexport class SkyListToolbarItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<any>;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit() {\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { Component, Input, ContentChildren, TemplateRef, QueryList, } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
let idIndex = 0;
|
|
4
|
+
/**
|
|
5
|
+
* Defines a toolbar item for the list toolbar.
|
|
6
|
+
*/
|
|
7
|
+
export class SkyListToolbarItemComponent {
|
|
8
|
+
constructor() {
|
|
9
|
+
/**
|
|
10
|
+
* Specifies the ID of the item.
|
|
11
|
+
*/
|
|
12
|
+
this.id = `sky-list-toolbar-item-${++idIndex}`;
|
|
13
|
+
/**
|
|
14
|
+
* Specifies the index of the item at the given item location.
|
|
15
|
+
* @default -1
|
|
16
|
+
*/
|
|
17
|
+
this.index = -1;
|
|
18
|
+
/**
|
|
19
|
+
* Specifies the toolbar location of the item. The valid options are `"left"`,
|
|
20
|
+
* `"center"`, and `"right"`.
|
|
21
|
+
* @default "left"
|
|
22
|
+
*/
|
|
23
|
+
this.location = 'left';
|
|
24
|
+
}
|
|
25
|
+
get template() {
|
|
26
|
+
return this.templates.length > 0 ? this.templates.first : undefined;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
SkyListToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
30
|
+
SkyListToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarItemComponent, selector: "sky-list-toolbar-item", inputs: { id: "id", index: "index", location: "location" }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
31
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarItemComponent, decorators: [{
|
|
32
|
+
type: Component,
|
|
33
|
+
args: [{
|
|
34
|
+
selector: 'sky-list-toolbar-item',
|
|
35
|
+
template: '<ng-content></ng-content>',
|
|
36
|
+
}]
|
|
37
|
+
}], propDecorators: { id: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], index: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], location: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], templates: [{
|
|
44
|
+
type: ContentChildren,
|
|
45
|
+
args: [TemplateRef]
|
|
46
|
+
}] } });
|
|
47
|
+
//# sourceMappingURL=list-toolbar-item.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-toolbar-item.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,KAAK,EACL,eAAe,EACf,WAAW,EACX,SAAS,GACV,MAAM,eAAe,CAAC;;AAEvB,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;GAEG;AAKH,MAAM,OAAO,2BAA2B;IAJxC;QAKE;;WAEG;QACa,OAAE,GAAW,yBAAyB,EAAE,OAAO,EAAE,CAAC;QAClE;;;WAGG;QACa,UAAK,GAAW,CAAC,CAAC,CAAC;QACnC;;;;WAIG;QACa,aAAQ,GAAW,MAAM,CAAC;KAK3C;IAHC,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;;yHAnBU,2BAA2B;6GAA3B,2BAA2B,mJAgBrB,WAAW,6BAlBlB,2BAA2B;4FAE1B,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,2BAA2B;iBACtC;8BAKiB,EAAE;sBAAjB,KAAK;gBAKU,KAAK;sBAApB,KAAK;gBAMU,QAAQ;sBAAvB,KAAK;gBACgC,SAAS;sBAA9C,eAAe;uBAAC,WAAW","sourcesContent":["import {\n Component,\n Input,\n ContentChildren,\n TemplateRef,\n QueryList,\n} from '@angular/core';\n\nlet idIndex = 0;\n\n/**\n * Defines a toolbar item for the list toolbar.\n */\n@Component({\n selector: 'sky-list-toolbar-item',\n template: '<ng-content></ng-content>',\n})\nexport class SkyListToolbarItemComponent {\n /**\n * Specifies the ID of the item.\n */\n @Input() public id: string = `sky-list-toolbar-item-${++idIndex}`;\n /**\n * Specifies the index of the item at the given item location.\n * @default -1\n */\n @Input() public index: number = -1;\n /**\n * Specifies the toolbar location of the item. The valid options are `\"left\"`,\n * `\"center\"`, and `\"right\"`.\n * @default \"left\"\n */\n @Input() public location: string = 'left';\n @ContentChildren(TemplateRef) private templates: QueryList<TemplateRef<any>>;\n public get template(): TemplateRef<any> {\n return this.templates.length > 0 ? this.templates.first : undefined;\n }\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Displays custom actions in the toolbar beside to the search bar.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyListToolbarSearchActionsComponent {
|
|
7
|
+
}
|
|
8
|
+
SkyListToolbarSearchActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarSearchActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
SkyListToolbarSearchActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarSearchActionsComponent, selector: "sky-list-toolbar-search-actions", ngImport: i0, template: "<div class=\"sky-list-toolbar-search-actions\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-toolbar-search-actions{margin-left:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarSearchActionsComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'sky-list-toolbar-search-actions',
|
|
14
|
+
templateUrl: './list-toolbar-search-actions.component.html',
|
|
15
|
+
styleUrls: ['./list-toolbar-search-actions.component.scss'],
|
|
16
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
17
|
+
}]
|
|
18
|
+
}] });
|
|
19
|
+
//# sourceMappingURL=list-toolbar-search-actions.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-toolbar-search-actions.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAEnE;;GAEG;AAOH,MAAM,OAAO,oCAAoC;;kIAApC,oCAAoC;sHAApC,oCAAoC,uECXjD,wFAGA;4FDQa,oCAAoC;kBANhD,SAAS;mBAAC;oBACT,QAAQ,EAAE,iCAAiC;oBAC3C,WAAW,EAAE,8CAA8C;oBAC3D,SAAS,EAAE,CAAC,8CAA8C,CAAC;oBAC3D,eAAe,EAAE,uBAAuB,CAAC,MAAM;iBAChD","sourcesContent":["import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Displays custom actions in the toolbar beside to the search bar.\n */\n@Component({\n selector: 'sky-list-toolbar-search-actions',\n templateUrl: './list-toolbar-search-actions.component.html',\n styleUrls: ['./list-toolbar-search-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListToolbarSearchActionsComponent {}\n","<div class=\"sky-list-toolbar-search-actions\">\n <ng-content></ng-content>\n</div>\n"]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Adds a sort dropdown to the list toolbar.
|
|
5
|
+
*/
|
|
6
|
+
export class SkyListToolbarSortComponent {
|
|
7
|
+
}
|
|
8
|
+
SkyListToolbarSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
9
|
+
SkyListToolbarSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarSortComponent, selector: "sky-list-toolbar-sort", inputs: { label: "label", field: "field", type: "type", descending: "descending" }, ngImport: i0, template: '', isInline: true });
|
|
10
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarSortComponent, decorators: [{
|
|
11
|
+
type: Component,
|
|
12
|
+
args: [{
|
|
13
|
+
selector: 'sky-list-toolbar-sort',
|
|
14
|
+
template: '',
|
|
15
|
+
}]
|
|
16
|
+
}], propDecorators: { label: [{
|
|
17
|
+
type: Input
|
|
18
|
+
}], field: [{
|
|
19
|
+
type: Input
|
|
20
|
+
}], type: [{
|
|
21
|
+
type: Input
|
|
22
|
+
}], descending: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}] } });
|
|
25
|
+
//# sourceMappingURL=list-toolbar-sort.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-toolbar-sort.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-sort.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;;AAEjD;;GAEG;AAKH,MAAM,OAAO,2BAA2B;;yHAA3B,2BAA2B;6GAA3B,2BAA2B,iJAF5B,EAAE;4FAED,2BAA2B;kBAJvC,SAAS;mBAAC;oBACT,QAAQ,EAAE,uBAAuB;oBACjC,QAAQ,EAAE,EAAE;iBACb;8BAOQ,KAAK;sBADX,KAAK;gBAOC,KAAK;sBADX,KAAK;gBAOC,IAAI;sBADV,KAAK;gBAOC,UAAU;sBADhB,KAAK","sourcesContent":["import { Component, Input } from '@angular/core';\n\n/**\n * Adds a sort dropdown to the list toolbar.\n */\n@Component({\n selector: 'sky-list-toolbar-sort',\n template: '',\n})\nexport class SkyListToolbarSortComponent {\n /**\n * Specifies a label for a sort option.\n * @required\n */\n @Input()\n public label: string;\n /**\n * Specifies the data field to sort the list on.\n * @required\n */\n @Input()\n public field: string;\n /**\n * Specifies the data type of the data field to sort the list on.\n * @required\n */\n @Input()\n public type: string;\n /**\n * Indicates whether to sort data in descending order.\n * @default false\n */\n @Input()\n public descending: boolean;\n}\n"]}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { Component } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
/**
|
|
4
|
+
* Adds a section on the right side of the toolbar for items that substantially change
|
|
5
|
+
* or affect the view of the list. This includes simple filters and view switchers.
|
|
6
|
+
* If the view section includes more than one item, simple filters appear on the left
|
|
7
|
+
* and view switchers appear on the right.
|
|
8
|
+
*/
|
|
9
|
+
export class SkyListToolbarViewActionsComponent {
|
|
10
|
+
}
|
|
11
|
+
SkyListToolbarViewActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarViewActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
SkyListToolbarViewActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarViewActionsComponent, selector: "sky-list-toolbar-view-actions", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host::ng-deep>:not(:last-child){margin-right:5px}.sky-list-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}\n"] });
|
|
13
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarViewActionsComponent, decorators: [{
|
|
14
|
+
type: Component,
|
|
15
|
+
args: [{
|
|
16
|
+
selector: 'sky-list-toolbar-view-actions',
|
|
17
|
+
templateUrl: './list-toolbar-view-actions.component.html',
|
|
18
|
+
styleUrls: ['./list-toolbar-view-actions.component.scss'],
|
|
19
|
+
}]
|
|
20
|
+
}] });
|
|
21
|
+
//# sourceMappingURL=list-toolbar-view-actions.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list-toolbar-view-actions.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.ts","../../../../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.html"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;;AAE1C;;;;;GAKG;AAMH,MAAM,OAAO,kCAAkC;;gIAAlC,kCAAkC;oHAAlC,kCAAkC,qECb/C,6BACA;4FDYa,kCAAkC;kBAL9C,SAAS;mBAAC;oBACT,QAAQ,EAAE,+BAA+B;oBACzC,WAAW,EAAE,4CAA4C;oBACzD,SAAS,EAAE,CAAC,4CAA4C,CAAC;iBAC1D","sourcesContent":["import { Component } from '@angular/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially change\n * or affect the view of the list. This includes simple filters and view switchers.\n * If the view section includes more than one item, simple filters appear on the left\n * and view switchers appear on the right.\n */\n@Component({\n selector: 'sky-list-toolbar-view-actions',\n templateUrl: './list-toolbar-view-actions.component.html',\n styleUrls: ['./list-toolbar-view-actions.component.scss'],\n})\nexport class SkyListToolbarViewActionsComponent {}\n","<ng-content></ng-content>\n"]}
|
|
@@ -0,0 +1,360 @@
|
|
|
1
|
+
import { combineLatest as observableCombineLatest, Subject, } from 'rxjs';
|
|
2
|
+
import { map as observableMap, takeUntil, take, distinctUntilChanged, } from 'rxjs/operators';
|
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, Input, QueryList, TemplateRef, ViewChild, } from '@angular/core';
|
|
4
|
+
import { getValue } from '@skyux/list-builder-common';
|
|
5
|
+
import { SkySearchComponent } from '@skyux/lookup';
|
|
6
|
+
import { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';
|
|
7
|
+
import { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';
|
|
8
|
+
import { ListState } from '../list/state/list-state.state-node';
|
|
9
|
+
import { ListStateDispatcher } from '../list/state/list-state.rxstate';
|
|
10
|
+
import { ListSortLabelModel } from '../list/state/sort/label.model';
|
|
11
|
+
import { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';
|
|
12
|
+
import { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';
|
|
13
|
+
import { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';
|
|
14
|
+
import { SkyListToolbarItemComponent } from './list-toolbar-item.component';
|
|
15
|
+
import { SkyListToolbarSortComponent } from './list-toolbar-sort.component';
|
|
16
|
+
import { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';
|
|
17
|
+
import { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';
|
|
18
|
+
import { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';
|
|
19
|
+
import { ListToolbarState } from './state/toolbar-state.state-node';
|
|
20
|
+
import { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';
|
|
21
|
+
import { ListToolbarStateModel } from './state/toolbar-state.model';
|
|
22
|
+
import * as i0 from "@angular/core";
|
|
23
|
+
import * as i1 from "../list/state/list-state.state-node";
|
|
24
|
+
import * as i2 from "../list/state/list-state.rxstate";
|
|
25
|
+
import * as i3 from "./state/toolbar-state.state-node";
|
|
26
|
+
import * as i4 from "./state/toolbar-state.rxstate";
|
|
27
|
+
import * as i5 from "@skyux/layout";
|
|
28
|
+
import * as i6 from "./list-toolbar-item-renderer.component";
|
|
29
|
+
import * as i7 from "./list-multiselect-toolbar.component";
|
|
30
|
+
import * as i8 from "@skyux/lookup";
|
|
31
|
+
import * as i9 from "@skyux/lists";
|
|
32
|
+
import * as i10 from "@angular/common";
|
|
33
|
+
let nextId = 0;
|
|
34
|
+
/**
|
|
35
|
+
* Displays a toolbar for a SKY UX-themed list of data.
|
|
36
|
+
*/
|
|
37
|
+
export class SkyListToolbarComponent {
|
|
38
|
+
constructor(changeDetector, state, dispatcher, toolbarState, toolbarDispatcher) {
|
|
39
|
+
this.changeDetector = changeDetector;
|
|
40
|
+
this.state = state;
|
|
41
|
+
this.dispatcher = dispatcher;
|
|
42
|
+
this.toolbarState = toolbarState;
|
|
43
|
+
this.toolbarDispatcher = toolbarDispatcher;
|
|
44
|
+
/**
|
|
45
|
+
* Display the search bar in the standard position or in a separate section.
|
|
46
|
+
* To highlight the search bar in a section above all other toolbar items,
|
|
47
|
+
* set this property to `search`.
|
|
48
|
+
* @default "standard"
|
|
49
|
+
*/
|
|
50
|
+
this.toolbarType = 'standard';
|
|
51
|
+
this.isToolbarDisabled = false;
|
|
52
|
+
this.inlineFilterBarExpanded = false;
|
|
53
|
+
this.hasAdditionalToolbarSection = false;
|
|
54
|
+
this.hasViewActions = false;
|
|
55
|
+
this.filterButtonId = `sky-list-toolbar-filter-button-${++nextId}`;
|
|
56
|
+
this.listFilterInlineId = `sky-list-toolbar-filter-inline-${++nextId}`;
|
|
57
|
+
/**
|
|
58
|
+
* Fires when users submit a search.
|
|
59
|
+
* @internal
|
|
60
|
+
*/
|
|
61
|
+
this.searchApplied = new Subject();
|
|
62
|
+
this.customItemIds = [];
|
|
63
|
+
this.hasSortSelectors = false;
|
|
64
|
+
this.inlineFiltersItemToolbarIndex = 5000;
|
|
65
|
+
this.sortSelectorItemToolbarIndex = 6000;
|
|
66
|
+
this.ngUnsubscribe = new Subject();
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Indicates whether to use the in-memory search.
|
|
70
|
+
* Setting this to `false` will allow consumers to run their own searches remotely,
|
|
71
|
+
* and push new values to the list component by updating the `data` property.
|
|
72
|
+
* @default true
|
|
73
|
+
* @internal
|
|
74
|
+
*/
|
|
75
|
+
set inMemorySearchEnabled(value) {
|
|
76
|
+
this._inMemorySearchEnabled = value;
|
|
77
|
+
}
|
|
78
|
+
get inMemorySearchEnabled() {
|
|
79
|
+
if (this._inMemorySearchEnabled === undefined) {
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
return this._inMemorySearchEnabled;
|
|
83
|
+
}
|
|
84
|
+
get isFilterBarDisplayed() {
|
|
85
|
+
return (!this.isToolbarDisabled &&
|
|
86
|
+
this.hasInlineFilters &&
|
|
87
|
+
this.inlineFilterBarExpanded);
|
|
88
|
+
}
|
|
89
|
+
get filterButtonAriaControls() {
|
|
90
|
+
return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;
|
|
91
|
+
}
|
|
92
|
+
ngOnInit() {
|
|
93
|
+
this.dispatcher.toolbarExists(true);
|
|
94
|
+
getValue(this.searchText, (searchText) => {
|
|
95
|
+
this.updateSearchText(searchText);
|
|
96
|
+
});
|
|
97
|
+
getValue(this.searchEnabled, (searchEnabled) => {
|
|
98
|
+
this.toolbarDispatcher.next(new ListToolbarConfigSetSearchEnabledAction(searchEnabled === undefined ? true : searchEnabled));
|
|
99
|
+
});
|
|
100
|
+
getValue(this.toolbarType, (type) => {
|
|
101
|
+
this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));
|
|
102
|
+
});
|
|
103
|
+
getValue(this.sortSelectorEnabled, (sortSelectorEnabled) => {
|
|
104
|
+
this.toolbarDispatcher.next(new ListToolbarConfigSetSortSelectorEnabledAction(sortSelectorEnabled === undefined ? true : sortSelectorEnabled));
|
|
105
|
+
});
|
|
106
|
+
this.sortSelectors = this.getSortSelectors();
|
|
107
|
+
// Initialize the sort toolbar item if necessary
|
|
108
|
+
this.sortSelectors
|
|
109
|
+
.pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())
|
|
110
|
+
.subscribe((currentSort) => {
|
|
111
|
+
if (currentSort.length > 0 && !this.hasSortSelectors) {
|
|
112
|
+
this.hasSortSelectors = true;
|
|
113
|
+
this.dispatcher.toolbarAddItems([
|
|
114
|
+
new ListToolbarItemModel({
|
|
115
|
+
id: 'sort-selector',
|
|
116
|
+
template: this.sortSelectorTemplate,
|
|
117
|
+
location: 'left',
|
|
118
|
+
index: this.sortSelectorItemToolbarIndex,
|
|
119
|
+
}),
|
|
120
|
+
]);
|
|
121
|
+
}
|
|
122
|
+
else if (currentSort.length < 1 && this.hasSortSelectors) {
|
|
123
|
+
this.hasSortSelectors = false;
|
|
124
|
+
this.dispatcher.toolbarRemoveItems(['sort-selector']);
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
this.searchTextInput = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.search.searchText), distinctUntilChanged());
|
|
128
|
+
this.view = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.views.active), distinctUntilChanged());
|
|
129
|
+
this.watchTemplates();
|
|
130
|
+
this.type = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((state) => state.toolbar.type), distinctUntilChanged());
|
|
131
|
+
this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {
|
|
132
|
+
if (toolbarType === 'search') {
|
|
133
|
+
this.dispatcher.toolbarRemoveItems(['search']);
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
this.dispatcher.toolbarAddItems([
|
|
137
|
+
new ListToolbarItemModel({
|
|
138
|
+
id: 'search',
|
|
139
|
+
template: this.searchTemplate,
|
|
140
|
+
location: 'right',
|
|
141
|
+
}),
|
|
142
|
+
]);
|
|
143
|
+
}
|
|
144
|
+
});
|
|
145
|
+
this.isSearchEnabled = this.toolbarState.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.config), distinctUntilChanged(), observableMap((c) => c.searchEnabled));
|
|
146
|
+
this.state
|
|
147
|
+
.pipe(observableMap((s) => s.toolbar), takeUntil(this.ngUnsubscribe), distinctUntilChanged(), observableMap((c) => c.disabled))
|
|
148
|
+
.subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));
|
|
149
|
+
this.isSortSelectorEnabled = this.toolbarState.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.config), distinctUntilChanged(), observableMap((c) => c.sortSelectorEnabled));
|
|
150
|
+
this.isMultiselectEnabled = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.toolbar), distinctUntilChanged(), observableMap((t) => t.showMultiselectToolbar));
|
|
151
|
+
this.hasAppliedFilters = this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.filters), distinctUntilChanged(), observableMap((filters) => {
|
|
152
|
+
let activeFilters = filters.filter((f) => {
|
|
153
|
+
return (f.value !== '' &&
|
|
154
|
+
f.value !== undefined &&
|
|
155
|
+
f.value !== false &&
|
|
156
|
+
f.value !== f.defaultValue);
|
|
157
|
+
});
|
|
158
|
+
return activeFilters.length > 0;
|
|
159
|
+
}));
|
|
160
|
+
this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current) => {
|
|
161
|
+
this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;
|
|
162
|
+
this.changeDetector.detectChanges();
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
ngAfterContentInit() {
|
|
166
|
+
// Inject custom toolbar items.
|
|
167
|
+
this.toolbarItems.forEach((toolbarItem) => {
|
|
168
|
+
this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);
|
|
169
|
+
this.customItemIds.push(toolbarItem.id);
|
|
170
|
+
});
|
|
171
|
+
this.toolbarItems.changes
|
|
172
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
173
|
+
.subscribe((newItems) => {
|
|
174
|
+
newItems.forEach((item) => {
|
|
175
|
+
if (this.customItemIds.indexOf(item.id) < 0) {
|
|
176
|
+
this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);
|
|
177
|
+
this.customItemIds.push(item.id);
|
|
178
|
+
}
|
|
179
|
+
});
|
|
180
|
+
const itemsToRemove = [];
|
|
181
|
+
this.customItemIds.forEach((itemId, index) => {
|
|
182
|
+
if (!newItems.find((item) => item.id === itemId)) {
|
|
183
|
+
itemsToRemove.push(itemId);
|
|
184
|
+
this.customItemIds.splice(index, 1);
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
this.dispatcher.toolbarRemoveItems(itemsToRemove);
|
|
188
|
+
});
|
|
189
|
+
const sortModels = this.toolbarSorts.map((sort) => new ListSortLabelModel({
|
|
190
|
+
text: sort.label,
|
|
191
|
+
fieldSelector: sort.field,
|
|
192
|
+
fieldType: sort.type,
|
|
193
|
+
global: true,
|
|
194
|
+
descending: sort.descending,
|
|
195
|
+
}));
|
|
196
|
+
this.dispatcher.sortSetGlobal(sortModels);
|
|
197
|
+
// Add inline filters.
|
|
198
|
+
this.showFilterSummary = this.filterSummary.length > 0;
|
|
199
|
+
this.hasInlineFilters = this.inlineFilter.length > 0;
|
|
200
|
+
if (this.hasInlineFilters) {
|
|
201
|
+
this.dispatcher.toolbarAddItems([
|
|
202
|
+
new ListToolbarItemModel({
|
|
203
|
+
template: this.inlineFilterButtonTemplate,
|
|
204
|
+
location: 'left',
|
|
205
|
+
index: this.inlineFiltersItemToolbarIndex,
|
|
206
|
+
}),
|
|
207
|
+
]);
|
|
208
|
+
}
|
|
209
|
+
// Check for view actions
|
|
210
|
+
this.hasViewActions = this.viewActions.length > 0;
|
|
211
|
+
}
|
|
212
|
+
ngOnDestroy() {
|
|
213
|
+
this.searchApplied.complete();
|
|
214
|
+
this.ngUnsubscribe.next();
|
|
215
|
+
this.ngUnsubscribe.complete();
|
|
216
|
+
}
|
|
217
|
+
setSort(sort) {
|
|
218
|
+
this.state.pipe(take(1)).subscribe((currentState) => {
|
|
219
|
+
if (currentState.paging.pageNumber &&
|
|
220
|
+
currentState.paging.pageNumber !== 1) {
|
|
221
|
+
this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
|
|
222
|
+
}
|
|
223
|
+
this.dispatcher.sortSetFieldSelectors([
|
|
224
|
+
{ fieldSelector: sort.fieldSelector, descending: sort.descending },
|
|
225
|
+
]);
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
inlineFilterButtonClick() {
|
|
229
|
+
this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;
|
|
230
|
+
}
|
|
231
|
+
updateSearchText(searchText) {
|
|
232
|
+
this.searchApplied.next(searchText);
|
|
233
|
+
if (this.inMemorySearchEnabled) {
|
|
234
|
+
this.state.pipe(take(1)).subscribe((currentState) => {
|
|
235
|
+
if (currentState.paging.pageNumber &&
|
|
236
|
+
currentState.paging.pageNumber !== 1) {
|
|
237
|
+
this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
|
|
238
|
+
}
|
|
239
|
+
this.dispatcher.searchSetText(searchText);
|
|
240
|
+
});
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
itemIsInView(itemView, activeView) {
|
|
244
|
+
return itemView === undefined || itemView === activeView;
|
|
245
|
+
}
|
|
246
|
+
getSortSelectors() {
|
|
247
|
+
return observableCombineLatest(this.state.pipe(observableMap((s) => s.sort.available), distinctUntilChanged()), this.state.pipe(observableMap((s) => s.sort.global), distinctUntilChanged()), this.state.pipe(observableMap((s) => s.sort.fieldSelectors), distinctUntilChanged()), (available, global, fieldSelectors) => {
|
|
248
|
+
// Get sorts that are in the global that are not in the available
|
|
249
|
+
let sorts = global.filter((g) => available.filter((a) => a.fieldSelector === g.fieldSelector)
|
|
250
|
+
.length === 0);
|
|
251
|
+
let resultSortSelectors = [...sorts, ...available].map((sortLabels) => {
|
|
252
|
+
let fs = fieldSelectors.filter((f) => {
|
|
253
|
+
return (f.fieldSelector === sortLabels.fieldSelector &&
|
|
254
|
+
f.descending === sortLabels.descending);
|
|
255
|
+
});
|
|
256
|
+
let selected = false;
|
|
257
|
+
if (fs.length > 0) {
|
|
258
|
+
selected = true;
|
|
259
|
+
}
|
|
260
|
+
return {
|
|
261
|
+
sort: sortLabels,
|
|
262
|
+
selected: selected,
|
|
263
|
+
};
|
|
264
|
+
});
|
|
265
|
+
return resultSortSelectors;
|
|
266
|
+
}).pipe(takeUntil(this.ngUnsubscribe));
|
|
267
|
+
}
|
|
268
|
+
watchTemplates() {
|
|
269
|
+
observableCombineLatest(this.state.pipe(observableMap((s) => s.toolbar), distinctUntilChanged()), this.view.pipe(distinctUntilChanged()), (toolbar, view) => {
|
|
270
|
+
const items = toolbar.items.filter((i) => {
|
|
271
|
+
return this.itemIsInView(i.view, view);
|
|
272
|
+
});
|
|
273
|
+
const templates = {};
|
|
274
|
+
items.forEach((item) => {
|
|
275
|
+
templates[item.location] = templates[item.location] || [];
|
|
276
|
+
templates[item.location].push(item);
|
|
277
|
+
});
|
|
278
|
+
return templates;
|
|
279
|
+
})
|
|
280
|
+
.pipe(takeUntil(this.ngUnsubscribe))
|
|
281
|
+
.subscribe((value) => {
|
|
282
|
+
this.leftTemplates = value.left;
|
|
283
|
+
this.centerTemplates = value.center;
|
|
284
|
+
this.rightTemplates = value.right;
|
|
285
|
+
this.changeDetector.markForCheck();
|
|
286
|
+
});
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
SkyListToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.ListToolbarState }, { token: i4.ListToolbarStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
|
|
290
|
+
SkyListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: SkyListToolbarComponent, selector: "sky-list-toolbar", inputs: { inMemorySearchEnabled: "inMemorySearchEnabled", placeholder: "placeholder", searchEnabled: "searchEnabled", sortSelectorEnabled: "sortSelectorEnabled", toolbarType: "toolbarType", searchText: "searchText" }, providers: [
|
|
291
|
+
ListToolbarState,
|
|
292
|
+
ListToolbarStateDispatcher,
|
|
293
|
+
ListToolbarStateModel,
|
|
294
|
+
], queries: [{ propertyName: "toolbarItems", predicate: SkyListToolbarItemComponent }, { propertyName: "toolbarSorts", predicate: SkyListToolbarSortComponent }, { propertyName: "filterSummary", predicate: SkyListFilterSummaryComponent }, { propertyName: "inlineFilter", predicate: SkyListFilterInlineComponent }, { propertyName: "viewActions", predicate: SkyListToolbarViewActionsComponent }], viewQueries: [{ propertyName: "searchComponent", first: true, predicate: SkySearchComponent, descendants: true, read: SkySearchComponent }, { propertyName: "searchTemplate", first: true, predicate: ["search"], descendants: true, read: TemplateRef, static: true }, { propertyName: "sortSelectorTemplate", first: true, predicate: ["sortSelector"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inlineFilterButtonTemplate", first: true, predicate: ["inlineFilterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n", styles: [".sky-list-toolbar-search-wrapper{display:flex}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-dismiss-absolute{padding:0;position:static}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-container{position:relative;height:100%}.sky-list-toolbar-search-wrapper ::ng-deep sky-search{flex:1 1 auto}.sky-list-toolbar-search-wrapper ::ng-deep sky-list-toolbar-search-actions{flex:0 0 auto;z-index:1}.sky-list-toolbar-container ::ng-deep .sky-toolbar-section-items sky-toolbar-item{flex:0 1 auto;align-self:flex-start}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section{padding-top:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section-items{display:block;width:100%}.sky-list-toolbar-search ::ng-deep .sky-toolbar-item{margin:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-container,.sky-list-toolbar-search ::ng-deep .sky-search-dismiss-absolute{background-color:#eeeeef}.sky-list-toolbar-search ::ng-deep input[type=text]:disabled,.sky-list-toolbar-search ::ng-deep .sky-search-btn:disabled{background-color:#cdcfd2;opacity:1}.sky-list-toolbar-container ::ng-deep sky-toolbar-item[sky-toolbar-id=sort-selector] .sky-toolbar-item{margin-right:0}.sky-list-toolbar-container ::ng-deep sky-checkbox{position:relative;top:-2px}\n"], components: [{ type: i5.λ37, selector: "sky-toolbar" }, { type: i5.λ38, selector: "sky-toolbar-section" }, { type: i5.λ39, selector: "sky-toolbar-item" }, { type: i6.SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { type: i5.λ40, selector: "sky-toolbar-view-actions" }, { type: i7.SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: ["showOnlySelected"] }, { type: i8.SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { type: i9.λ14, selector: "sky-sort", inputs: ["showButtonText"] }, { type: i9.λ13, selector: "sky-sort-item", inputs: ["active"], outputs: ["itemSelect"] }, { type: i9.λ1, selector: "sky-filter-button", inputs: ["filterButtonId", "ariaControls", "ariaExpanded", "active", "disabled", "showButtonText"], outputs: ["filterButtonClick"] }], directives: [{ type: i10.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], pipes: { "async": i10.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
295
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: SkyListToolbarComponent, decorators: [{
|
|
296
|
+
type: Component,
|
|
297
|
+
args: [{
|
|
298
|
+
selector: 'sky-list-toolbar',
|
|
299
|
+
templateUrl: './list-toolbar.component.html',
|
|
300
|
+
styleUrls: ['./list-toolbar.component.scss'],
|
|
301
|
+
providers: [
|
|
302
|
+
ListToolbarState,
|
|
303
|
+
ListToolbarStateDispatcher,
|
|
304
|
+
ListToolbarStateModel,
|
|
305
|
+
],
|
|
306
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
307
|
+
}]
|
|
308
|
+
}], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i1.ListState }, { type: i2.ListStateDispatcher }, { type: i3.ListToolbarState }, { type: i4.ListToolbarStateDispatcher }]; }, propDecorators: { inMemorySearchEnabled: [{
|
|
309
|
+
type: Input
|
|
310
|
+
}], placeholder: [{
|
|
311
|
+
type: Input
|
|
312
|
+
}], searchEnabled: [{
|
|
313
|
+
type: Input
|
|
314
|
+
}], searchComponent: [{
|
|
315
|
+
type: ViewChild,
|
|
316
|
+
args: [SkySearchComponent, {
|
|
317
|
+
read: SkySearchComponent,
|
|
318
|
+
static: false,
|
|
319
|
+
}]
|
|
320
|
+
}], sortSelectorEnabled: [{
|
|
321
|
+
type: Input
|
|
322
|
+
}], toolbarType: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], searchText: [{
|
|
325
|
+
type: Input
|
|
326
|
+
}], toolbarItems: [{
|
|
327
|
+
type: ContentChildren,
|
|
328
|
+
args: [SkyListToolbarItemComponent]
|
|
329
|
+
}], toolbarSorts: [{
|
|
330
|
+
type: ContentChildren,
|
|
331
|
+
args: [SkyListToolbarSortComponent]
|
|
332
|
+
}], filterSummary: [{
|
|
333
|
+
type: ContentChildren,
|
|
334
|
+
args: [SkyListFilterSummaryComponent]
|
|
335
|
+
}], inlineFilter: [{
|
|
336
|
+
type: ContentChildren,
|
|
337
|
+
args: [SkyListFilterInlineComponent]
|
|
338
|
+
}], viewActions: [{
|
|
339
|
+
type: ContentChildren,
|
|
340
|
+
args: [SkyListToolbarViewActionsComponent]
|
|
341
|
+
}], searchTemplate: [{
|
|
342
|
+
type: ViewChild,
|
|
343
|
+
args: ['search', {
|
|
344
|
+
read: TemplateRef,
|
|
345
|
+
static: true,
|
|
346
|
+
}]
|
|
347
|
+
}], sortSelectorTemplate: [{
|
|
348
|
+
type: ViewChild,
|
|
349
|
+
args: ['sortSelector', {
|
|
350
|
+
read: TemplateRef,
|
|
351
|
+
static: true,
|
|
352
|
+
}]
|
|
353
|
+
}], inlineFilterButtonTemplate: [{
|
|
354
|
+
type: ViewChild,
|
|
355
|
+
args: ['inlineFilterButton', {
|
|
356
|
+
read: TemplateRef,
|
|
357
|
+
static: true,
|
|
358
|
+
}]
|
|
359
|
+
}] } });
|
|
360
|
+
//# sourceMappingURL=list-toolbar.component.js.map
|