@skyux/list-builder 5.9.4 → 6.0.0-beta.10
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/documentation.json +775 -532
- package/esm2020/index.mjs +78 -0
- package/esm2020/lib/modules/list/list-data-request.model.mjs +21 -0
- package/esm2020/lib/modules/list/list-data-response.model.mjs +12 -0
- package/esm2020/lib/modules/list/list-data.provider.mjs +10 -0
- package/esm2020/lib/modules/list/list-paging.component.mjs +14 -0
- package/esm2020/lib/modules/list/list-view.component.mjs +30 -0
- package/esm2020/lib/modules/list/list.component.mjs +315 -0
- package/esm2020/lib/modules/list/list.module.mjs +21 -0
- package/esm2020/lib/modules/list/state/filters/filters.orchestrator.mjs +17 -0
- package/esm2020/lib/modules/list/state/filters/update.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/items/items.orchestrator.mjs +54 -0
- package/esm2020/lib/modules/list/state/items/load.action.mjs +13 -0
- package/esm2020/lib/modules/list/state/items/set-items-selected.action.mjs +14 -0
- package/esm2020/lib/modules/list/state/items/set-loading.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/list-state-action.type.mjs +2 -0
- package/esm2020/lib/modules/list/state/list-state.model.mjs +25 -0
- package/esm2020/lib/modules/list/state/list-state.rxstate.mjs +82 -0
- package/esm2020/lib/modules/list/state/list-state.state-node.mjs +38 -0
- package/esm2020/lib/modules/list/state/paging/paging.model.mjs +15 -0
- package/esm2020/lib/modules/list/state/paging/paging.orchestrator.mjs +28 -0
- package/esm2020/lib/modules/list/state/paging/set-items-per-page.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/paging/set-max-pages.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/paging/set-page-number.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/search/search.model.mjs +33 -0
- package/esm2020/lib/modules/list/state/search/search.orchestrator.mjs +48 -0
- package/esm2020/lib/modules/list/state/search/set-field-selectors.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/search/set-functions.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/search/set-options.action.mjs +12 -0
- package/esm2020/lib/modules/list/state/search/set-search-text.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/selected/load.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/selected/selected.model.mjs +10 -0
- package/esm2020/lib/modules/list/state/selected/selected.orchestrator.mjs +57 -0
- package/esm2020/lib/modules/list/state/selected/set-item-selected.action.mjs +11 -0
- package/esm2020/lib/modules/list/state/selected/set-items-selected.action.mjs +12 -0
- package/esm2020/lib/modules/list/state/selected/set-loading.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/sort/label.model.mjs +26 -0
- package/esm2020/lib/modules/list/state/sort/set-available.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/sort/set-field-selectors.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/sort/set-global.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/sort/sort.model.mjs +28 -0
- package/esm2020/lib/modules/list/state/sort/sort.orchestrator.mjs +31 -0
- package/esm2020/lib/modules/list/state/toolbar/disable.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/toolbar/load.action.mjs +11 -0
- package/esm2020/lib/modules/list/state/toolbar/remove.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/toolbar/set-exists.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/toolbar/set-type.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/toolbar/toolbar-item.model.mjs +17 -0
- package/esm2020/lib/modules/list/state/toolbar/toolbar.model.mjs +18 -0
- package/esm2020/lib/modules/list/state/toolbar/toolbar.orchestrator.mjs +81 -0
- package/esm2020/lib/modules/list/state/views/load.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/views/set-active.action.mjs +10 -0
- package/esm2020/lib/modules/list/state/views/view.model.mjs +11 -0
- package/esm2020/lib/modules/list/state/views/views.model.mjs +14 -0
- package/esm2020/lib/modules/list/state/views/views.orchestrator.mjs +22 -0
- package/esm2020/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.mjs +163 -0
- package/esm2020/lib/modules/list-filters/filter.model.mjs +18 -0
- package/esm2020/lib/modules/list-filters/list-filter-button.component.mjs +42 -0
- package/esm2020/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +34 -0
- package/esm2020/lib/modules/list-filters/list-filter-inline-item.component.mjs +46 -0
- package/esm2020/lib/modules/list-filters/list-filter-inline.component.mjs +72 -0
- package/esm2020/lib/modules/list-filters/list-filter-inline.model.mjs +21 -0
- package/esm2020/lib/modules/list-filters/list-filter-summary.component.mjs +58 -0
- package/esm2020/lib/modules/list-filters/list-filters.module.mjs +44 -0
- package/esm2020/lib/modules/list-paging/list-paging.component.mjs +92 -0
- package/esm2020/lib/modules/list-paging/list-paging.module.mjs +22 -0
- package/esm2020/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +149 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +31 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.mjs +2 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +45 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +41 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +49 -0
- package/esm2020/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +36 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +30 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar-item.component.mjs +48 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +15 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +26 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +27 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar.component.mjs +363 -0
- package/esm2020/lib/modules/list-toolbar/list-toolbar.module.mjs +90 -0
- package/esm2020/lib/modules/list-toolbar/state/config/config.model.mjs +14 -0
- package/esm2020/lib/modules/list-toolbar/state/config/config.orchestrator.mjs +21 -0
- package/esm2020/lib/modules/list-toolbar/state/config/set-search-enabled.action.mjs +9 -0
- package/esm2020/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.mjs +10 -0
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state-action.type.mjs +2 -0
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state.model.mjs +10 -0
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +19 -0
- package/esm2020/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +23 -0
- package/esm2020/lib/modules/shared/sky-list-builder-resources.module.mjs +53 -0
- package/esm2020/skyux-list-builder.mjs +5 -0
- package/fesm2015/{skyux-list-builder.js → skyux-list-builder.mjs} +231 -163
- package/fesm2015/skyux-list-builder.mjs.map +1 -0
- package/fesm2020/skyux-list-builder.mjs +2781 -0
- package/fesm2020/skyux-list-builder.mjs.map +1 -0
- package/lib/modules/list/list-data-request.model.d.ts +3 -0
- package/lib/modules/list/list-data-response.model.d.ts +3 -0
- package/lib/modules/list/list-data.provider.d.ts +1 -0
- package/lib/modules/list/list-paging.component.d.ts +1 -0
- package/lib/modules/list/list-view.component.d.ts +1 -0
- package/lib/modules/list/list.component.d.ts +5 -1
- package/lib/modules/list/list.module.d.ts +3 -0
- package/lib/modules/list/state/filters/filters.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/filters/update.action.d.ts +1 -0
- package/lib/modules/list/state/items/items.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/items/load.action.d.ts +1 -0
- package/lib/modules/list/state/items/set-items-selected.action.d.ts +1 -0
- package/lib/modules/list/state/items/set-loading.action.d.ts +1 -0
- package/lib/modules/list/state/list-state-action.type.d.ts +1 -0
- package/lib/modules/list/state/list-state.model.d.ts +1 -0
- package/lib/modules/list/state/list-state.rxstate.d.ts +2 -0
- package/lib/modules/list/state/list-state.state-node.d.ts +1 -0
- package/lib/modules/list/state/paging/paging.model.d.ts +1 -0
- package/lib/modules/list/state/paging/paging.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/paging/set-items-per-page.action.d.ts +1 -0
- package/lib/modules/list/state/paging/set-max-pages.action.d.ts +1 -0
- package/lib/modules/list/state/paging/set-page-number.action.d.ts +1 -0
- package/lib/modules/list/state/search/search.model.d.ts +1 -0
- package/lib/modules/list/state/search/search.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/search/set-field-selectors.action.d.ts +1 -0
- package/lib/modules/list/state/search/set-functions.action.d.ts +1 -0
- package/lib/modules/list/state/search/set-options.action.d.ts +1 -0
- package/lib/modules/list/state/search/set-search-text.action.d.ts +1 -0
- package/lib/modules/list/state/selected/load.action.d.ts +1 -0
- package/lib/modules/list/state/selected/selected.model.d.ts +1 -0
- package/lib/modules/list/state/selected/selected.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/selected/set-item-selected.action.d.ts +1 -0
- package/lib/modules/list/state/selected/set-items-selected.action.d.ts +1 -0
- package/lib/modules/list/state/selected/set-loading.action.d.ts +1 -0
- package/lib/modules/list/state/sort/label.model.d.ts +1 -0
- package/lib/modules/list/state/sort/set-available.action.d.ts +1 -0
- package/lib/modules/list/state/sort/set-field-selectors.action.d.ts +1 -0
- package/lib/modules/list/state/sort/set-global.action.d.ts +1 -0
- package/lib/modules/list/state/sort/sort.model.d.ts +1 -0
- package/lib/modules/list/state/sort/sort.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/toolbar/disable.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/load.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/remove.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/set-exists.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/set-type.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.d.ts +1 -0
- package/lib/modules/list/state/toolbar/toolbar-item.model.d.ts +1 -0
- package/lib/modules/list/state/toolbar/toolbar.model.d.ts +1 -0
- package/lib/modules/list/state/toolbar/toolbar.orchestrator.d.ts +1 -0
- package/lib/modules/list/state/views/load.action.d.ts +1 -0
- package/lib/modules/list/state/views/set-active.action.d.ts +1 -0
- package/lib/modules/list/state/views/view.model.d.ts +1 -0
- package/lib/modules/list/state/views/views.model.d.ts +1 -0
- package/lib/modules/list/state/views/views.orchestrator.d.ts +1 -0
- package/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +3 -0
- package/lib/modules/list-filters/list-filter-button.component.d.ts +1 -0
- package/lib/modules/list-filters/list-filter-inline-item.component.d.ts +1 -0
- package/lib/modules/list-filters/list-filter-inline.component.d.ts +1 -0
- package/lib/modules/list-filters/list-filter-summary.component.d.ts +1 -0
- package/lib/modules/list-filters/list-filters.module.d.ts +3 -0
- package/lib/modules/list-paging/list-paging.component.d.ts +3 -1
- package/lib/modules/list-paging/list-paging.module.d.ts +3 -0
- package/lib/modules/list-toolbar/list-multiselect-toolbar.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.d.ts +1 -0
- package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.d.ts +3 -0
- package/lib/modules/list-toolbar/list-toolbar-item.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-toolbar-search-actions.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-toolbar-sort.component.d.ts +1 -0
- package/lib/modules/list-toolbar/list-toolbar-view-actions.component.d.ts +3 -0
- package/lib/modules/list-toolbar/list-toolbar.component.d.ts +4 -1
- package/lib/modules/list-toolbar/list-toolbar.module.d.ts +3 -0
- package/package.json +33 -16
- package/bundles/skyux-list-builder.umd.js +0 -3357
- package/esm2015/index.js +0 -78
- package/esm2015/index.js.map +0 -1
- package/esm2015/lib/modules/list/list-data-request.model.js +0 -18
- package/esm2015/lib/modules/list/list-data-request.model.js.map +0 -1
- package/esm2015/lib/modules/list/list-data-response.model.js +0 -9
- package/esm2015/lib/modules/list/list-data-response.model.js.map +0 -1
- package/esm2015/lib/modules/list/list-data.provider.js +0 -9
- package/esm2015/lib/modules/list/list-data.provider.js.map +0 -1
- package/esm2015/lib/modules/list/list-paging.component.js +0 -13
- package/esm2015/lib/modules/list/list-paging.component.js.map +0 -1
- package/esm2015/lib/modules/list/list-view.component.js +0 -29
- package/esm2015/lib/modules/list/list-view.component.js.map +0 -1
- package/esm2015/lib/modules/list/list.component.js +0 -305
- package/esm2015/lib/modules/list/list.component.js.map +0 -1
- package/esm2015/lib/modules/list/list.module.js +0 -18
- package/esm2015/lib/modules/list/list.module.js.map +0 -1
- package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js +0 -16
- package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/filters/update.action.js +0 -9
- package/esm2015/lib/modules/list/state/filters/update.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js +0 -53
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/items/load.action.js +0 -12
- package/esm2015/lib/modules/list/state/items/load.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/items/set-items-selected.action.js +0 -13
- package/esm2015/lib/modules/list/state/items/set-items-selected.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/items/set-loading.action.js +0 -9
- package/esm2015/lib/modules/list/state/items/set-loading.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/list-state-action.type.js +0 -2
- package/esm2015/lib/modules/list/state/list-state-action.type.js.map +0 -1
- package/esm2015/lib/modules/list/state/list-state.model.js +0 -24
- package/esm2015/lib/modules/list/state/list-state.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/list-state.rxstate.js +0 -80
- package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +0 -1
- package/esm2015/lib/modules/list/state/list-state.state-node.js +0 -37
- package/esm2015/lib/modules/list/state/list-state.state-node.js.map +0 -1
- package/esm2015/lib/modules/list/state/paging/paging.model.js +0 -14
- package/esm2015/lib/modules/list/state/paging/paging.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +0 -27
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js +0 -9
- package/esm2015/lib/modules/list/state/paging/set-items-per-page.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js +0 -9
- package/esm2015/lib/modules/list/state/paging/set-max-pages.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/paging/set-page-number.action.js +0 -9
- package/esm2015/lib/modules/list/state/paging/set-page-number.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/search.model.js +0 -32
- package/esm2015/lib/modules/list/state/search/search.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js +0 -47
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js +0 -9
- package/esm2015/lib/modules/list/state/search/set-field-selectors.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/set-functions.action.js +0 -9
- package/esm2015/lib/modules/list/state/search/set-functions.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/set-options.action.js +0 -11
- package/esm2015/lib/modules/list/state/search/set-options.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/search/set-search-text.action.js +0 -9
- package/esm2015/lib/modules/list/state/search/set-search-text.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/load.action.js +0 -9
- package/esm2015/lib/modules/list/state/selected/load.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/selected.model.js +0 -9
- package/esm2015/lib/modules/list/state/selected/selected.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +0 -56
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js +0 -10
- package/esm2015/lib/modules/list/state/selected/set-item-selected.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js +0 -11
- package/esm2015/lib/modules/list/state/selected/set-items-selected.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/selected/set-loading.action.js +0 -9
- package/esm2015/lib/modules/list/state/selected/set-loading.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/label.model.js +0 -25
- package/esm2015/lib/modules/list/state/sort/label.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/set-available.action.js +0 -9
- package/esm2015/lib/modules/list/state/sort/set-available.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js +0 -9
- package/esm2015/lib/modules/list/state/sort/set-field-selectors.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/set-global.action.js +0 -9
- package/esm2015/lib/modules/list/state/sort/set-global.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/sort.model.js +0 -27
- package/esm2015/lib/modules/list/state/sort/sort.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +0 -30
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/disable.action.js +0 -9
- package/esm2015/lib/modules/list/state/toolbar/disable.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/load.action.js +0 -10
- package/esm2015/lib/modules/list/state/toolbar/load.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/remove.action.js +0 -9
- package/esm2015/lib/modules/list/state/toolbar/remove.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js +0 -9
- package/esm2015/lib/modules/list/state/toolbar/set-exists.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/set-type.action.js +0 -9
- package/esm2015/lib/modules/list/state/toolbar/set-type.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js +0 -9
- package/esm2015/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js +0 -16
- package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js +0 -17
- package/esm2015/lib/modules/list/state/toolbar/toolbar.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +0 -80
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list/state/views/load.action.js +0 -9
- package/esm2015/lib/modules/list/state/views/load.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/views/set-active.action.js +0 -9
- package/esm2015/lib/modules/list/state/views/set-active.action.js.map +0 -1
- package/esm2015/lib/modules/list/state/views/view.model.js +0 -10
- package/esm2015/lib/modules/list/state/views/view.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/views/views.model.js +0 -13
- package/esm2015/lib/modules/list/state/views/views.model.js.map +0 -1
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js +0 -21
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +0 -160
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +0 -1
- package/esm2015/lib/modules/list-filters/filter.model.js +0 -18
- package/esm2015/lib/modules/list-filters/filter.model.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-button.component.js +0 -44
- package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +0 -34
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +0 -45
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +0 -74
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline.model.js +0 -21
- package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +0 -60
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +0 -1
- package/esm2015/lib/modules/list-filters/list-filters.module.js +0 -41
- package/esm2015/lib/modules/list-filters/list-filters.module.js.map +0 -1
- package/esm2015/lib/modules/list-paging/list-paging.component.js +0 -89
- package/esm2015/lib/modules/list-paging/list-paging.component.js.map +0 -1
- package/esm2015/lib/modules/list-paging/list-paging.module.js +0 -19
- package/esm2015/lib/modules/list-paging/list-paging.module.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +0 -152
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js +0 -33
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js +0 -2
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +0 -50
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +0 -45
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +0 -46
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js +0 -36
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +0 -30
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +0 -47
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js +0 -19
- package/esm2015/lib/modules/list-toolbar/list-toolbar-search-actions.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js +0 -25
- package/esm2015/lib/modules/list-toolbar/list-toolbar-sort.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js +0 -21
- package/esm2015/lib/modules/list-toolbar/list-toolbar-view-actions.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +0 -360
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +0 -87
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/config/config.model.js +0 -14
- package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js +0 -21
- package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js +0 -9
- package/esm2015/lib/modules/list-toolbar/state/config/set-search-enabled.action.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js +0 -10
- package/esm2015/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js +0 -2
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js +0 -10
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.model.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js +0 -19
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +0 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +0 -23
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +0 -1
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +0 -53
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +0 -1
- package/esm2015/skyux-list-builder.js +0 -5
- package/esm2015/skyux-list-builder.js.map +0 -1
- package/fesm2015/skyux-list-builder.js.map +0 -1
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
export * from './lib/modules/list/list-data-request.model';
|
|
2
|
+
export * from './lib/modules/list/list-data-response.model';
|
|
3
|
+
export * from './lib/modules/list/list-data.provider';
|
|
4
|
+
export * from './lib/modules/list/list.module';
|
|
5
|
+
export * from './lib/modules/list/state/list-state-action.type';
|
|
6
|
+
export * from './lib/modules/list/state/list-state.model';
|
|
7
|
+
export * from './lib/modules/list/state/list-state.rxstate';
|
|
8
|
+
export * from './lib/modules/list/state/list-state.state-node';
|
|
9
|
+
export * from './lib/modules/list/state/filters/filters.orchestrator';
|
|
10
|
+
export * from './lib/modules/list/state/filters/update.action';
|
|
11
|
+
export * from './lib/modules/list/state/items/items.orchestrator';
|
|
12
|
+
export * from './lib/modules/list/state/items/load.action';
|
|
13
|
+
export * from './lib/modules/list/state/items/set-items-selected.action';
|
|
14
|
+
export * from './lib/modules/list/state/items/set-loading.action';
|
|
15
|
+
export * from './lib/modules/list/state/paging/paging.model';
|
|
16
|
+
export * from './lib/modules/list/state/paging/paging.orchestrator';
|
|
17
|
+
export * from './lib/modules/list/state/paging/set-items-per-page.action';
|
|
18
|
+
export * from './lib/modules/list/state/paging/set-max-pages.action';
|
|
19
|
+
export * from './lib/modules/list/state/paging/set-page-number.action';
|
|
20
|
+
export * from './lib/modules/list/state/search/search.model';
|
|
21
|
+
export * from './lib/modules/list/state/search/search.orchestrator';
|
|
22
|
+
export * from './lib/modules/list/state/search/set-field-selectors.action';
|
|
23
|
+
export * from './lib/modules/list/state/search/set-functions.action';
|
|
24
|
+
export * from './lib/modules/list/state/search/set-options.action';
|
|
25
|
+
export * from './lib/modules/list/state/search/set-search-text.action';
|
|
26
|
+
export * from './lib/modules/list/state/selected/load.action';
|
|
27
|
+
export * from './lib/modules/list/state/selected/selected.model';
|
|
28
|
+
export * from './lib/modules/list/state/selected/selected.orchestrator';
|
|
29
|
+
export * from './lib/modules/list/state/selected/set-item-selected.action';
|
|
30
|
+
export * from './lib/modules/list/state/selected/set-items-selected.action';
|
|
31
|
+
export * from './lib/modules/list/state/selected/set-loading.action';
|
|
32
|
+
export * from './lib/modules/list/state/sort/label.model';
|
|
33
|
+
export * from './lib/modules/list/state/sort/set-available.action';
|
|
34
|
+
export * from './lib/modules/list/state/sort/set-field-selectors.action';
|
|
35
|
+
export * from './lib/modules/list/state/sort/set-global.action';
|
|
36
|
+
export * from './lib/modules/list/state/sort/sort.model';
|
|
37
|
+
export * from './lib/modules/list/state/sort/sort.orchestrator';
|
|
38
|
+
export * from './lib/modules/list/state/toolbar/disable.action';
|
|
39
|
+
export * from './lib/modules/list/state/toolbar/load.action';
|
|
40
|
+
export * from './lib/modules/list/state/toolbar/remove.action';
|
|
41
|
+
export * from './lib/modules/list/state/toolbar/set-exists.action';
|
|
42
|
+
export * from './lib/modules/list/state/toolbar/set-type.action';
|
|
43
|
+
export * from './lib/modules/list/state/toolbar/show-multiselect-toolbar.action';
|
|
44
|
+
export * from './lib/modules/list/state/toolbar/toolbar-item.model';
|
|
45
|
+
export * from './lib/modules/list/state/toolbar/toolbar.model';
|
|
46
|
+
export * from './lib/modules/list/state/toolbar/toolbar.orchestrator';
|
|
47
|
+
export * from './lib/modules/list/state/views/load.action';
|
|
48
|
+
export * from './lib/modules/list/state/views/set-active.action';
|
|
49
|
+
export * from './lib/modules/list/state/views/view.model';
|
|
50
|
+
export * from './lib/modules/list/state/views/views.model';
|
|
51
|
+
export * from './lib/modules/list/state/views/views.orchestrator';
|
|
52
|
+
export * from './lib/modules/list-data-provider-in-memory/list-data-in-memory.provider';
|
|
53
|
+
export * from './lib/modules/list-filters/filter.model';
|
|
54
|
+
export * from './lib/modules/list-filters/list-filter-inline.model';
|
|
55
|
+
export * from './lib/modules/list-filters/list-filters.module';
|
|
56
|
+
export * from './lib/modules/list-paging/list-paging.module';
|
|
57
|
+
export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-action';
|
|
58
|
+
export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module';
|
|
59
|
+
export * from './lib/modules/list-toolbar/list-toolbar.module';
|
|
60
|
+
// The following exports are used internally by `@skyux/list-builder-view-grids`.
|
|
61
|
+
export * from './lib/modules/list/list-view.component';
|
|
62
|
+
export * from './lib/modules/list/list.component';
|
|
63
|
+
export * from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component';
|
|
64
|
+
export * from './lib/modules/list-toolbar/list-toolbar.component';
|
|
65
|
+
// Components and directives must be exported to support Angular's "partial" Ivy compiler.
|
|
66
|
+
// Obscure names are used to indicate types are not part of the public API.
|
|
67
|
+
export { SkyListFilterButtonComponent as λ1 } from './lib/modules/list-filters/list-filter-button.component';
|
|
68
|
+
export { SkyListFilterSummaryComponent as λ2 } from './lib/modules/list-filters/list-filter-summary.component';
|
|
69
|
+
export { SkyListFilterInlineItemComponent as λ3 } from './lib/modules/list-filters/list-filter-inline-item.component';
|
|
70
|
+
export { SkyListFilterInlineComponent as λ4 } from './lib/modules/list-filters/list-filter-inline.component';
|
|
71
|
+
export { SkyListPagingComponent as λ5 } from './lib/modules/list-paging/list-paging.component';
|
|
72
|
+
export { SkyListSecondaryActionComponent as λ6 } from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component';
|
|
73
|
+
export { SkyListSecondaryActionsComponent as λ7 } from './lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component';
|
|
74
|
+
export { SkyListToolbarItemComponent as λ8 } from './lib/modules/list-toolbar/list-toolbar-item.component';
|
|
75
|
+
export { SkyListToolbarSortComponent as λ9 } from './lib/modules/list-toolbar/list-toolbar-sort.component';
|
|
76
|
+
export { SkyListToolbarViewActionsComponent as λ10 } from './lib/modules/list-toolbar/list-toolbar-view-actions.component';
|
|
77
|
+
export { SkyListToolbarSearchActionsComponent as λ11 } from './lib/modules/list-toolbar/list-toolbar-search-actions.component';
|
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDRDQUE0QyxDQUFDO0FBQzNELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLGdDQUFnQyxDQUFDO0FBRS9DLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLDZDQUE2QyxDQUFDO0FBQzVELGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsY0FBYyx1REFBdUQsQ0FBQztBQUN0RSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsbURBQW1ELENBQUM7QUFDbEUsY0FBYyw0Q0FBNEMsQ0FBQztBQUMzRCxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLHFEQUFxRCxDQUFDO0FBQ3BFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyxzREFBc0QsQ0FBQztBQUNyRSxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsOENBQThDLENBQUM7QUFDN0QsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLDREQUE0RCxDQUFDO0FBQzNFLGNBQWMsc0RBQXNELENBQUM7QUFDckUsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLHdEQUF3RCxDQUFDO0FBRXZFLGNBQWMsK0NBQStDLENBQUM7QUFDOUQsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLHlEQUF5RCxDQUFDO0FBQ3hFLGNBQWMsNERBQTRELENBQUM7QUFDM0UsY0FBYyw2REFBNkQsQ0FBQztBQUM1RSxjQUFjLHNEQUFzRCxDQUFDO0FBRXJFLGNBQWMsMkNBQTJDLENBQUM7QUFDMUQsY0FBYyxvREFBb0QsQ0FBQztBQUNuRSxjQUFjLDBEQUEwRCxDQUFDO0FBQ3pFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLGlEQUFpRCxDQUFDO0FBRWhFLGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyw4Q0FBOEMsQ0FBQztBQUM3RCxjQUFjLGdEQUFnRCxDQUFDO0FBQy9ELGNBQWMsb0RBQW9ELENBQUM7QUFDbkUsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLGtFQUFrRSxDQUFDO0FBQ2pGLGNBQWMscURBQXFELENBQUM7QUFDcEUsY0FBYyxnREFBZ0QsQ0FBQztBQUMvRCxjQUFjLHVEQUF1RCxDQUFDO0FBRXRFLGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxrREFBa0QsQ0FBQztBQUNqRSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYyxtREFBbUQsQ0FBQztBQUVsRSxjQUFjLHlFQUF5RSxDQUFDO0FBRXhGLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxREFBcUQsQ0FBQztBQUNwRSxjQUFjLGdEQUFnRCxDQUFDO0FBRS9ELGNBQWMsOENBQThDLENBQUM7QUFFN0QsY0FBYyx5RUFBeUUsQ0FBQztBQUN4RixjQUFjLGlGQUFpRixDQUFDO0FBRWhHLGNBQWMsZ0RBQWdELENBQUM7QUFFL0QsaUZBQWlGO0FBQ2pGLGNBQWMsd0NBQXdDLENBQUM7QUFDdkQsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLG9GQUFvRixDQUFDO0FBQ25HLGNBQWMsbURBQW1ELENBQUM7QUFFbEUsMEZBQTBGO0FBQzFGLDJFQUEyRTtBQUMzRSxPQUFPLEVBQUUsNEJBQTRCLElBQUksRUFBRSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDN0csT0FBTyxFQUFFLDZCQUE2QixJQUFJLEVBQUUsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQy9HLE9BQU8sRUFBRSxnQ0FBZ0MsSUFBSSxFQUFFLEVBQUUsTUFBTSw4REFBOEQsQ0FBQztBQUN0SCxPQUFPLEVBQUUsNEJBQTRCLElBQUksRUFBRSxFQUFFLE1BQU0seURBQXlELENBQUM7QUFDN0csT0FBTyxFQUFFLHNCQUFzQixJQUFJLEVBQUUsRUFBRSxNQUFNLGlEQUFpRCxDQUFDO0FBQy9GLE9BQU8sRUFBRSwrQkFBK0IsSUFBSSxFQUFFLEVBQUUsTUFBTSxtRkFBbUYsQ0FBQztBQUMxSSxPQUFPLEVBQUUsZ0NBQWdDLElBQUksRUFBRSxFQUFFLE1BQU0sb0ZBQW9GLENBQUM7QUFDNUksT0FBTyxFQUFFLDJCQUEyQixJQUFJLEVBQUUsRUFBRSxNQUFNLHdEQUF3RCxDQUFDO0FBQzNHLE9BQU8sRUFBRSwyQkFBMkIsSUFBSSxFQUFFLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUMzRyxPQUFPLEVBQUUsa0NBQWtDLElBQUksR0FBRyxFQUFFLE1BQU0sZ0VBQWdFLENBQUM7QUFDM0gsT0FBTyxFQUFFLG9DQUFvQyxJQUFJLEdBQUcsRUFBRSxNQUFNLGtFQUFrRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS5wcm92aWRlcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC5tb2R1bGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS1hY3Rpb24udHlwZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvZmlsdGVycy9maWx0ZXJzLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvZmlsdGVycy91cGRhdGUuYWN0aW9uJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL2l0ZW1zLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvaXRlbXMvbG9hZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL3NldC1pdGVtcy1zZWxlY3RlZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL2l0ZW1zL3NldC1sb2FkaW5nLmFjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9wYWdpbmcvcGFnaW5nLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9wYWdpbmcvcGFnaW5nLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1pdGVtcy1wZXItcGFnZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3BhZ2luZy9zZXQtbWF4LXBhZ2VzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvcGFnaW5nL3NldC1wYWdlLW51bWJlci5hY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NlYXJjaC5vcmNoZXN0cmF0b3InO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlYXJjaC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VhcmNoL3NldC1mdW5jdGlvbnMuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2V0LW9wdGlvbnMuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWFyY2gvc2V0LXNlYXJjaC10ZXh0LmFjdGlvbic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9sb2FkLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2VsZWN0ZWQubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm9yY2hlc3RyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc2VsZWN0ZWQvc2V0LWl0ZW0tc2VsZWN0ZWQuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtaXRlbXMtc2VsZWN0ZWQuYWN0aW9uJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zZWxlY3RlZC9zZXQtbG9hZGluZy5hY3Rpb24nO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9sYWJlbC5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtYXZhaWxhYmxlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtZmllbGQtc2VsZWN0b3JzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zZXQtZ2xvYmFsLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvc29ydC9zb3J0Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS9zb3J0L3NvcnQub3JjaGVzdHJhdG9yJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvZGlzYWJsZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvbG9hZC5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvcmVtb3ZlLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci9zZXQtZXhpc3RzLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci9zZXQtdHlwZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvc2hvdy1tdWx0aXNlbGVjdC10b29sYmFyLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci90b29sYmFyLWl0ZW0ubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3Rvb2xiYXIvdG9vbGJhci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdG9vbGJhci90b29sYmFyLm9yY2hlc3RyYXRvcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3Qvc3RhdGUvdmlld3Mvc2V0LWFjdGl2ZS5hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0L3N0YXRlL3ZpZXdzL3ZpZXdzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9zdGF0ZS92aWV3cy92aWV3cy5vcmNoZXN0cmF0b3InO1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtZmlsdGVycy9saXN0LWZpbHRlci1pbmxpbmUubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXJzLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1wYWdpbmcvbGlzdC1wYWdpbmcubW9kdWxlJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb25zLm1vZHVsZSc7XG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5tb2R1bGUnO1xuXG4vLyBUaGUgZm9sbG93aW5nIGV4cG9ydHMgYXJlIHVzZWQgaW50ZXJuYWxseSBieSBgQHNreXV4L2xpc3QtYnVpbGRlci12aWV3LWdyaWRzYC5cbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LXZpZXcuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC9saXN0LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9tb2R1bGVzL2xpc3QtdG9vbGJhci9saXN0LXNlY29uZGFyeS1hY3Rpb25zL2xpc3Qtc2Vjb25kYXJ5LWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci5jb21wb25lbnQnO1xuXG4vLyBDb21wb25lbnRzIGFuZCBkaXJlY3RpdmVzIG11c3QgYmUgZXhwb3J0ZWQgdG8gc3VwcG9ydCBBbmd1bGFyJ3MgXCJwYXJ0aWFsXCIgSXZ5IGNvbXBpbGVyLlxuLy8gT2JzY3VyZSBuYW1lcyBhcmUgdXNlZCB0byBpbmRpY2F0ZSB0eXBlcyBhcmUgbm90IHBhcnQgb2YgdGhlIHB1YmxpYyBBUEkuXG5leHBvcnQgeyBTa3lMaXN0RmlsdGVyQnV0dG9uQ29tcG9uZW50IGFzIM67MSB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1maWx0ZXJzL2xpc3QtZmlsdGVyLWJ1dHRvbi5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdEZpbHRlclN1bW1hcnlDb21wb25lbnQgYXMgzrsyIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItc3VtbWFyeS5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdEZpbHRlcklubGluZUl0ZW1Db21wb25lbnQgYXMgzrszIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RGaWx0ZXJJbmxpbmVDb21wb25lbnQgYXMgzrs0IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LWZpbHRlcnMvbGlzdC1maWx0ZXItaW5saW5lLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lMaXN0UGFnaW5nQ29tcG9uZW50IGFzIM67NSB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC1wYWdpbmcvbGlzdC1wYWdpbmcuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RTZWNvbmRhcnlBY3Rpb25Db21wb25lbnQgYXMgzrs2IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy9saXN0LXNlY29uZGFyeS1hY3Rpb24uY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RTZWNvbmRhcnlBY3Rpb25zQ29tcG9uZW50IGFzIM67NyB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3Qtc2Vjb25kYXJ5LWFjdGlvbnMvbGlzdC1zZWNvbmRhcnktYWN0aW9ucy5jb21wb25lbnQnO1xuZXhwb3J0IHsgU2t5TGlzdFRvb2xiYXJJdGVtQ29tcG9uZW50IGFzIM67OCB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgeyBTa3lMaXN0VG9vbGJhclNvcnRDb21wb25lbnQgYXMgzrs5IH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC10b29sYmFyLXNvcnQuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RUb29sYmFyVmlld0FjdGlvbnNDb21wb25lbnQgYXMgzrsxMCB9IGZyb20gJy4vbGliL21vZHVsZXMvbGlzdC10b29sYmFyL2xpc3QtdG9vbGJhci12aWV3LWFjdGlvbnMuY29tcG9uZW50JztcbmV4cG9ydCB7IFNreUxpc3RUb29sYmFyU2VhcmNoQWN0aW9uc0NvbXBvbmVudCBhcyDOuzExIH0gZnJvbSAnLi9saWIvbW9kdWxlcy9saXN0LXRvb2xiYXIvbGlzdC10b29sYmFyLXNlYXJjaC1hY3Rpb25zLmNvbXBvbmVudCc7XG4iXX0=
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated
|
|
3
|
+
*/
|
|
4
|
+
export class ListDataRequestModel {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
/**
|
|
7
|
+
* Indicates whether to disable the search bar and filter button.
|
|
8
|
+
* @default false
|
|
9
|
+
*/
|
|
10
|
+
this.isToolbarDisabled = false;
|
|
11
|
+
if (data !== undefined) {
|
|
12
|
+
this.filters = data.filters;
|
|
13
|
+
this.pageSize = data.pageSize;
|
|
14
|
+
this.pageNumber = data.pageNumber;
|
|
15
|
+
this.search = data.search;
|
|
16
|
+
this.sort = data.sort;
|
|
17
|
+
this.isToolbarDisabled = data.isToolbarDisabled;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLXJlcXVlc3QubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBOztHQUVHO0FBQ0gsTUFBTSxPQUFPLG9CQUFvQjtJQStCL0IsWUFBWSxJQUFVO1FBTnRCOzs7V0FHRztRQUNJLHNCQUFpQixHQUFHLEtBQUssQ0FBQztRQUcvQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1lBQzVCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7WUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1lBQzFCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztZQUN0QixJQUFJLENBQUMsaUJBQWlCLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDO1NBQ2pEO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTGlzdEZpbHRlck1vZGVsIH0gZnJvbSAnLi4vbGlzdC1maWx0ZXJzL2ZpbHRlci5tb2RlbCc7XG5cbmltcG9ydCB7IExpc3RTZWFyY2hNb2RlbCB9IGZyb20gJy4vc3RhdGUvc2VhcmNoL3NlYXJjaC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0U29ydE1vZGVsIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NvcnQubW9kZWwnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKi9cbmV4cG9ydCBjbGFzcyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBkZXRlcm1pbmUgd2hldGhlciBpdGVtcyBhcmUgZmlsdGVyZWQuXG4gICAqIFRoaXMgcHJvcGVydHkgaXMgcmVxdWlyZWQgd2hlbiB1c2luZyBhbiBpbi1tZW1vcnkgZGF0YSBwcm92aWRlci5cbiAgICovXG4gIHB1YmxpYyBmaWx0ZXJzOiBMaXN0RmlsdGVyTW9kZWxbXTtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgbnVtYmVyIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHBhZ2UuXG4gICAqL1xuICBwdWJsaWMgcGFnZVNpemU6IG51bWJlcjtcbiAgLyoqXG4gICAqIFNwZWNpZmllcyB0aGUgY3VycmVudCBwYWdlIG51bWJlci5cbiAgICovXG4gIHB1YmxpYyBwYWdlTnVtYmVyOiBudW1iZXI7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBtYW5hZ2UgdGhlIGRhdGEgc291cmNlIHdoZW4gdXNlcnNcbiAgICogY2hhbmdlIHRoZSB0ZXh0IGluIHRoZSBsaXN0IGZpZWxkLiBUaGUgc2VhcmNoIGZ1bmN0aW9uIG11c3QgcmV0dXJuIGFuXG4gICAqIGFycmF5IG9yIGEgcHJvbWlzZSBvZiBhbiBhcnJheS4gVGhlIGBzZWFyY2hgIHByb3BlcnR5IGlzIHBhcnRpY3VsYXJseSB1c2VmdWxcbiAgICogd2hlbiB0aGUgZGF0YSBzb3VyY2UgZG9lcyBub3QgbGl2ZSBpbiB0aGUgc291cmNlIGNvZGUuXG4gICAqL1xuICBwdWJsaWMgc2VhcmNoOiBMaXN0U2VhcmNoTW9kZWw7XG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZXQgb2YgZmllbGRzIHRvIHNvcnQgYnkuXG4gICAqL1xuICBwdWJsaWMgc29ydDogTGlzdFNvcnRNb2RlbDtcbiAgLyoqXG4gICAqIEluZGljYXRlcyB3aGV0aGVyIHRvIGRpc2FibGUgdGhlIHNlYXJjaCBiYXIgYW5kIGZpbHRlciBidXR0b24uXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICBwdWJsaWMgaXNUb29sYmFyRGlzYWJsZWQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihkYXRhPzogYW55KSB7XG4gICAgaWYgKGRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5maWx0ZXJzID0gZGF0YS5maWx0ZXJzO1xuICAgICAgdGhpcy5wYWdlU2l6ZSA9IGRhdGEucGFnZVNpemU7XG4gICAgICB0aGlzLnBhZ2VOdW1iZXIgPSBkYXRhLnBhZ2VOdW1iZXI7XG4gICAgICB0aGlzLnNlYXJjaCA9IGRhdGEuc2VhcmNoO1xuICAgICAgdGhpcy5zb3J0ID0gZGF0YS5zb3J0O1xuICAgICAgdGhpcy5pc1Rvb2xiYXJEaXNhYmxlZCA9IGRhdGEuaXNUb29sYmFyRGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iXX0=
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @deprecated
|
|
3
|
+
*/
|
|
4
|
+
export class ListDataResponseModel {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
if (data !== undefined) {
|
|
7
|
+
this.count = data.count;
|
|
8
|
+
this.items = data.items;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBV2hDLFlBQVksSUFBVTtRQUNwQixJQUFJLElBQUksS0FBSyxTQUFTLEVBQUU7WUFDdEIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1lBQ3hCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztTQUN6QjtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IExpc3RJdGVtTW9kZWwgfSBmcm9tICdAc2t5dXgvbGlzdC1idWlsZGVyLWNvbW1vbic7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGNsYXNzIExpc3REYXRhUmVzcG9uc2VNb2RlbCB7XG4gIC8qKlxuICAgKiBUaGUgdG90YWwgbnVtYmVyIG9mIHJlY29yZHMgaW4gdGhlIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgY291bnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIEFuIGFycmF5IG9mIHRoZSBpdGVtcyByZXR1cm5lZC4gRm9yIGluZm9ybWF0aW9uIGFib3V0IGBMaXN0SXRlbU1vZGVsYCwgc2VlIHRoZVxuICAgKiBbc2hhcmVkIGNsYXNzZXMgZm9yIGxpc3RzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LWxpc3QtYnVpbGRlci1jb21tb24vZG9jcy9saXN0LWJ1aWxkZXItY29tbW9uKS5cbiAgICovXG4gIHB1YmxpYyBpdGVtczogTGlzdEl0ZW1Nb2RlbFtdO1xuXG4gIGNvbnN0cnVjdG9yKGRhdGE/OiBhbnkpIHtcbiAgICBpZiAoZGF0YSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNvdW50ID0gZGF0YS5jb3VudDtcbiAgICAgIHRoaXMuaXRlbXMgPSBkYXRhLml0ZW1zO1xuICAgIH1cbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @internal
|
|
3
|
+
* @deprecated
|
|
4
|
+
*/
|
|
5
|
+
export class ListDataProvider {
|
|
6
|
+
constructor(data) {
|
|
7
|
+
this.data = data;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1kYXRhLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LWRhdGEucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0E7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixnQkFBZ0I7SUFDcEMsWUFBbUIsSUFBd0I7UUFBeEIsU0FBSSxHQUFKLElBQUksQ0FBb0I7SUFBRyxDQUFDO0NBT2hEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMaXN0RGF0YVJlcXVlc3RNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlcXVlc3QubW9kZWwnO1xuaW1wb3J0IHsgTGlzdERhdGFSZXNwb25zZU1vZGVsIH0gZnJvbSAnLi9saXN0LWRhdGEtcmVzcG9uc2UubW9kZWwnO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3REYXRhUHJvdmlkZXIge1xuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGF0YT86IE9ic2VydmFibGU8YW55W10+KSB7fVxuXG4gIHB1YmxpYyBhYnN0cmFjdCBnZXQoXG4gICAgcmVxdWVzdDogTGlzdERhdGFSZXF1ZXN0TW9kZWxcbiAgKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+O1xuXG4gIHB1YmxpYyBhYnN0cmFjdCBjb3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj47XG59XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { BehaviorSubject } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* Provides a SKY UX-themed pagination control to display list data across multiple pages.
|
|
4
|
+
* @internal
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
7
|
+
export class ListPagingComponent {
|
|
8
|
+
constructor(state, dispatcher) {
|
|
9
|
+
this.initialized = new BehaviorSubject(false);
|
|
10
|
+
this.state = state;
|
|
11
|
+
this.dispatcher = dispatcher;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1wYWdpbmcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2xpc3QtYnVpbGRlci9zcmMvbGliL21vZHVsZXMvbGlzdC9saXN0LXBhZ2luZy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUt2Qzs7OztHQUlHO0FBQ0gsTUFBTSxPQUFnQixtQkFBbUI7SUFLdkMsWUFBWSxLQUFnQixFQUFFLFVBQStCO1FBSm5ELGdCQUFXLEdBQTZCLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBSzNFLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBMaXN0U3RhdGVEaXNwYXRjaGVyIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnJ4c3RhdGUnO1xuaW1wb3J0IHsgTGlzdFN0YXRlIH0gZnJvbSAnLi9zdGF0ZS9saXN0LXN0YXRlLnN0YXRlLW5vZGUnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgU0tZIFVYLXRoZW1lZCBwYWdpbmF0aW9uIGNvbnRyb2wgdG8gZGlzcGxheSBsaXN0IGRhdGEgYWNyb3NzIG11bHRpcGxlIHBhZ2VzLlxuICogQGludGVybmFsXG4gKiBAZGVwcmVjYXRlZFxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTGlzdFBhZ2luZ0NvbXBvbmVudCB7XG4gIHByb3RlY3RlZCBpbml0aWFsaXplZDogQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+ID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIHByb3RlY3RlZCBzdGF0ZTogTGlzdFN0YXRlO1xuICBwcm90ZWN0ZWQgZGlzcGF0Y2hlcjogTGlzdFN0YXRlRGlzcGF0Y2hlcjtcblxuICBjb25zdHJ1Y3RvcihzdGF0ZTogTGlzdFN0YXRlLCBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMuZGlzcGF0Y2hlciA9IGRpc3BhdGNoZXI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { distinctUntilChanged, map as observableMap } from 'rxjs/operators';
|
|
2
|
+
let idIndex = 0;
|
|
3
|
+
/**
|
|
4
|
+
* @internal
|
|
5
|
+
* @deprecated
|
|
6
|
+
*/
|
|
7
|
+
export class ListViewComponent {
|
|
8
|
+
constructor(state, defaultName) {
|
|
9
|
+
this.viewId = `sky-list-view-cmp-${++idIndex}`;
|
|
10
|
+
this.state = state;
|
|
11
|
+
this.viewName = defaultName;
|
|
12
|
+
/* istanbul ignore next */
|
|
13
|
+
this.hasToolbar = this.state.pipe(observableMap((s) => s.toolbar.exists));
|
|
14
|
+
this.active = this.state.pipe(observableMap((s) => s.views.active === this.viewId));
|
|
15
|
+
this.active
|
|
16
|
+
.pipe(distinctUntilChanged())
|
|
17
|
+
.subscribe((isActive) => isActive ? this.onViewActive() : this.onViewInactive());
|
|
18
|
+
}
|
|
19
|
+
get id() {
|
|
20
|
+
return this.viewId;
|
|
21
|
+
}
|
|
22
|
+
get label() {
|
|
23
|
+
return this.viewName;
|
|
24
|
+
}
|
|
25
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
26
|
+
onViewActive() { }
|
|
27
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
28
|
+
onViewInactive() { }
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9saXN0LWJ1aWxkZXIvc3JjL2xpYi9tb2R1bGVzL2xpc3QvbGlzdC12aWV3LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsR0FBRyxJQUFJLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBTTVFLElBQUksT0FBTyxHQUFHLENBQUMsQ0FBQztBQUVoQjs7O0dBR0c7QUFDSCxNQUFNLE9BQWdCLGlCQUFpQjtJQVNyQyxZQUFZLEtBQWdCLEVBQUUsV0FBbUI7UUFGekMsV0FBTSxHQUFHLHFCQUFxQixFQUFFLE9BQU8sRUFBRSxDQUFDO1FBR2hELElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDO1FBRTVCLDBCQUEwQjtRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO1FBRTFFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQzNCLGFBQWEsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUNyRCxDQUFDO1FBRUYsSUFBSSxDQUFDLE1BQU07YUFDUixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQzthQUM1QixTQUFTLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN0QixRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUN2RCxDQUFDO0lBQ04sQ0FBQztJQUVELElBQUksRUFBRTtRQUNKLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxLQUFLO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnRUFBZ0U7SUFDekQsWUFBWSxLQUFJLENBQUM7SUFDeEIsZ0VBQWdFO0lBQ3pELGNBQWMsS0FBSSxDQUFDO0NBQzNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZGlzdGluY3RVbnRpbENoYW5nZWQsIG1hcCBhcyBvYnNlcnZhYmxlTWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuXG5pbXBvcnQgeyBTa3lMaXN0Q29tcG9uZW50IH0gZnJvbSAnLi4vbGlzdC9saXN0LmNvbXBvbmVudCc7XG5cbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcblxubGV0IGlkSW5kZXggPSAwO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICogQGRlcHJlY2F0ZWRcbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIExpc3RWaWV3Q29tcG9uZW50IHtcbiAgcHVibGljIGFjdGl2ZTogT2JzZXJ2YWJsZTxib29sZWFuPjtcblxuICBwcm90ZWN0ZWQgdmlld05hbWU6IHN0cmluZztcbiAgcHJvdGVjdGVkIHN0YXRlOiBMaXN0U3RhdGU7XG4gIHByb3RlY3RlZCBsaXN0OiBTa3lMaXN0Q29tcG9uZW50O1xuICBwcm90ZWN0ZWQgaGFzVG9vbGJhcjogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgcHJpdmF0ZSB2aWV3SWQgPSBgc2t5LWxpc3Qtdmlldy1jbXAtJHsrK2lkSW5kZXh9YDtcblxuICBjb25zdHJ1Y3RvcihzdGF0ZTogTGlzdFN0YXRlLCBkZWZhdWx0TmFtZTogc3RyaW5nKSB7XG4gICAgdGhpcy5zdGF0ZSA9IHN0YXRlO1xuICAgIHRoaXMudmlld05hbWUgPSBkZWZhdWx0TmFtZTtcblxuICAgIC8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovXG4gICAgdGhpcy5oYXNUb29sYmFyID0gdGhpcy5zdGF0ZS5waXBlKG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5leGlzdHMpKTtcblxuICAgIHRoaXMuYWN0aXZlID0gdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy52aWV3cy5hY3RpdmUgPT09IHRoaXMudmlld0lkKVxuICAgICk7XG5cbiAgICB0aGlzLmFjdGl2ZVxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGlzQWN0aXZlKSA9PlxuICAgICAgICBpc0FjdGl2ZSA/IHRoaXMub25WaWV3QWN0aXZlKCkgOiB0aGlzLm9uVmlld0luYWN0aXZlKClcbiAgICAgICk7XG4gIH1cblxuICBnZXQgaWQoKSB7XG4gICAgcmV0dXJuIHRoaXMudmlld0lkO1xuICB9XG5cbiAgZ2V0IGxhYmVsKCkge1xuICAgIHJldHVybiB0aGlzLnZpZXdOYW1lO1xuICB9XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwdWJsaWMgb25WaWV3QWN0aXZlKCkge31cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1lbXB0eS1mdW5jdGlvblxuICBwdWJsaWMgb25WaWV3SW5hY3RpdmUoKSB7fVxufVxuIl19
|
|
@@ -0,0 +1,315 @@
|
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
|
|
2
|
+
import { SkyLogService } from '@skyux/core';
|
|
3
|
+
import { getValue } from '@skyux/list-builder-common';
|
|
4
|
+
import { ListItemModel, isObservable, } from '@skyux/list-builder-common';
|
|
5
|
+
import { Subject, combineLatest as observableCombineLatest, of as observableOf, } from 'rxjs';
|
|
6
|
+
import { distinctUntilChanged, flatMap, map as observableMap, skip, take, takeUntil, } from 'rxjs/operators';
|
|
7
|
+
import { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';
|
|
8
|
+
import { ListDataRequestModel } from './list-data-request.model';
|
|
9
|
+
import { ListDataResponseModel } from './list-data-response.model';
|
|
10
|
+
import { ListDataProvider } from './list-data.provider';
|
|
11
|
+
import { ListViewComponent } from './list-view.component';
|
|
12
|
+
import { ListItemsLoadAction } from './state/items/load.action';
|
|
13
|
+
import { ListItemsSetLoadingAction } from './state/items/set-loading.action';
|
|
14
|
+
import { ListStateDispatcher } from './state/list-state.rxstate';
|
|
15
|
+
import { ListState } from './state/list-state.state-node';
|
|
16
|
+
import { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';
|
|
17
|
+
import { ListSelectedLoadAction } from './state/selected/load.action';
|
|
18
|
+
import { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';
|
|
19
|
+
import { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';
|
|
20
|
+
import { ListSortModel } from './state/sort/sort.model';
|
|
21
|
+
import { ListViewsLoadAction } from './state/views/load.action';
|
|
22
|
+
import { ListViewsSetActiveAction } from './state/views/set-active.action';
|
|
23
|
+
import { ListViewModel } from './state/views/view.model';
|
|
24
|
+
import * as i0 from "@angular/core";
|
|
25
|
+
import * as i1 from "./state/list-state.state-node";
|
|
26
|
+
import * as i2 from "./state/list-state.rxstate";
|
|
27
|
+
import * as i3 from "@skyux/core";
|
|
28
|
+
let idIndex = 0;
|
|
29
|
+
/**
|
|
30
|
+
* @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
|
|
31
|
+
*/
|
|
32
|
+
export class SkyListComponent {
|
|
33
|
+
constructor(state, dispatcher, logger) {
|
|
34
|
+
this.state = state;
|
|
35
|
+
this.dispatcher = dispatcher;
|
|
36
|
+
this.id = `sky-list-cmp-${++idIndex}`;
|
|
37
|
+
/**
|
|
38
|
+
* Specifies the data to display. The list component requires this property or the
|
|
39
|
+
* `dataProvider` property. For checklist or multiselect grids, each row requires an
|
|
40
|
+
* `id` property to manage selected items with the `selectedIds` input and the
|
|
41
|
+
* `selectedIdsChange` event. If you do not provide an `id`, the list automatically
|
|
42
|
+
* generates one. To update data in your view outside of a `dataProvider`, you must use
|
|
43
|
+
* an observable instead of a static array.
|
|
44
|
+
*/
|
|
45
|
+
this.data = [];
|
|
46
|
+
/**
|
|
47
|
+
* Specifies a set of filters to apply to list data.
|
|
48
|
+
* These filters create a filter summary when the list includes the
|
|
49
|
+
* [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)
|
|
50
|
+
* component.
|
|
51
|
+
*/
|
|
52
|
+
this.appliedFilters = [];
|
|
53
|
+
/**
|
|
54
|
+
* For list views that support item selection, emits the selected entries.
|
|
55
|
+
*/
|
|
56
|
+
this.selectedIdsChange = new EventEmitter();
|
|
57
|
+
/**
|
|
58
|
+
* Emits the filters applied to the list.
|
|
59
|
+
*/
|
|
60
|
+
this.appliedFiltersChange = new EventEmitter();
|
|
61
|
+
this.dataFirstLoad = false;
|
|
62
|
+
this.lastSelectedIds = [];
|
|
63
|
+
this.lastFilters = [];
|
|
64
|
+
this.ngUnsubscribe = new Subject();
|
|
65
|
+
logger.deprecated('SkyListComponent', {
|
|
66
|
+
deprecationMajorVersion: 6,
|
|
67
|
+
moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
|
|
68
|
+
replacementRecommendation: 'Use data manager instead.',
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
ngAfterContentInit() {
|
|
72
|
+
if (this.data && this.dataProvider && this.initialTotal) {
|
|
73
|
+
this.dataFirstLoad = true;
|
|
74
|
+
}
|
|
75
|
+
if (this.listViews.length > 0) {
|
|
76
|
+
const defaultView = this.defaultView === undefined
|
|
77
|
+
? this.listViews.first
|
|
78
|
+
: this.defaultView;
|
|
79
|
+
this.dispatcher.next(new ListViewsLoadAction(this.listViews.map((v) => new ListViewModel(v.id, v.label))));
|
|
80
|
+
// activate the default view
|
|
81
|
+
this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
// set sort fields
|
|
87
|
+
getValue(this.sortFields, (sortFields) => {
|
|
88
|
+
let sortArray;
|
|
89
|
+
if (!Array.isArray(sortFields) && sortFields) {
|
|
90
|
+
sortArray = [sortFields];
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
sortArray = sortFields;
|
|
94
|
+
}
|
|
95
|
+
this.dispatcher.next(new ListSortSetFieldSelectorsAction(sortArray || []));
|
|
96
|
+
});
|
|
97
|
+
this.displayedItems.subscribe((result) => {
|
|
98
|
+
this.dispatcher.next(new ListItemsSetLoadingAction());
|
|
99
|
+
this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
|
|
100
|
+
});
|
|
101
|
+
// Watch for selection changes.
|
|
102
|
+
this.state
|
|
103
|
+
.pipe(observableMap((current) => current.selected), takeUntil(this.ngUnsubscribe), distinctUntilChanged())
|
|
104
|
+
.subscribe((selected) => {
|
|
105
|
+
// Update lastSelectedIds to help us retain user selections.
|
|
106
|
+
const selectedIdsList = [];
|
|
107
|
+
selected.item.selectedIdMap.forEach((value, key) => {
|
|
108
|
+
if (value === true) {
|
|
109
|
+
selectedIdsList.push(key);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
// If changes are distinct, emit selectedIdsChange.
|
|
113
|
+
const distinctChanges = !this.arraysEqual(this.lastSelectedIds, selectedIdsList);
|
|
114
|
+
if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {
|
|
115
|
+
this.selectedIdsChange.emit(selected.item.selectedIdMap);
|
|
116
|
+
}
|
|
117
|
+
this.lastSelectedIds = selectedIdsList;
|
|
118
|
+
});
|
|
119
|
+
if (this.appliedFiltersChange.observers.length > 0) {
|
|
120
|
+
this.state
|
|
121
|
+
.pipe(observableMap((current) => current.filters), takeUntil(this.ngUnsubscribe), skip(1))
|
|
122
|
+
.subscribe((filters) => {
|
|
123
|
+
/**
|
|
124
|
+
* We are doing this instead of a distinctUntilChange due to memory allocation issues
|
|
125
|
+
* with the javascript array. To fix fully the array should be changed to an object in
|
|
126
|
+
* a breaking change.
|
|
127
|
+
*/
|
|
128
|
+
if (!this.arraysEqual(filters, this.lastFilters)) {
|
|
129
|
+
this.lastFilters = filters.slice(0);
|
|
130
|
+
this.appliedFiltersChange.emit(filters);
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
ngOnChanges(changes) {
|
|
136
|
+
if (changes['appliedFilters'] &&
|
|
137
|
+
changes['appliedFilters'].currentValue !==
|
|
138
|
+
changes['appliedFilters'].previousValue) {
|
|
139
|
+
this.state.pipe(take(1)).subscribe((currentState) => {
|
|
140
|
+
if (currentState.paging.pageNumber &&
|
|
141
|
+
currentState.paging.pageNumber !== 1) {
|
|
142
|
+
this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
|
|
143
|
+
}
|
|
144
|
+
this.dispatcher.filtersUpdate(this.appliedFilters);
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
if (changes['selectedIds']) {
|
|
148
|
+
// Only send selection changes to dispatcher if changes are distinct.
|
|
149
|
+
const newSelectedIds = changes['selectedIds'].currentValue;
|
|
150
|
+
if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {
|
|
151
|
+
this.dispatcher.setSelected(newSelectedIds, true, true);
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
ngOnDestroy() {
|
|
156
|
+
this.ngUnsubscribe.next();
|
|
157
|
+
this.ngUnsubscribe.complete();
|
|
158
|
+
}
|
|
159
|
+
refreshDisplayedItems() {
|
|
160
|
+
this.displayedItems.pipe(take(1)).subscribe((result) => {
|
|
161
|
+
this.dispatcher.next(new ListItemsSetLoadingAction());
|
|
162
|
+
this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
get displayedItems() {
|
|
166
|
+
if (!this.data && !this.dataProvider) {
|
|
167
|
+
throw new Error('List requires data or dataProvider to be set.');
|
|
168
|
+
}
|
|
169
|
+
let data = this.data;
|
|
170
|
+
if (!isObservable(data)) {
|
|
171
|
+
data = observableOf(this.data);
|
|
172
|
+
}
|
|
173
|
+
if (!this.dataProvider) {
|
|
174
|
+
this.dataProvider = new SkyListInMemoryDataProvider(data, this.searchFunction);
|
|
175
|
+
}
|
|
176
|
+
let selectedIds = this.selectedIds || observableOf([]);
|
|
177
|
+
if (!isObservable(selectedIds)) {
|
|
178
|
+
selectedIds = observableOf(selectedIds);
|
|
179
|
+
}
|
|
180
|
+
let selectedChanged = false;
|
|
181
|
+
// This subject is used to cancel previous request to the list's data provider when a new change
|
|
182
|
+
// to the list's state occurs. In a future breaking change this should be replaced or coupled
|
|
183
|
+
// with adding a debounce time to the Observable which watches for state changes.
|
|
184
|
+
const cancelLastRequest = new Subject();
|
|
185
|
+
return observableCombineLatest([
|
|
186
|
+
this.state.pipe(observableMap((s) => s.filters), distinctUntilChanged()),
|
|
187
|
+
this.state.pipe(observableMap((s) => s.search), distinctUntilChanged()),
|
|
188
|
+
this.state.pipe(observableMap((s) => s.sort.fieldSelectors), distinctUntilChanged()),
|
|
189
|
+
this.state.pipe(observableMap((s) => s.paging.itemsPerPage), distinctUntilChanged()),
|
|
190
|
+
this.state.pipe(observableMap((s) => s.paging.pageNumber), distinctUntilChanged()),
|
|
191
|
+
this.state.pipe(observableMap((s) => s.toolbar.disabled), distinctUntilChanged()),
|
|
192
|
+
selectedIds.pipe(distinctUntilChanged(), observableMap((selected) => {
|
|
193
|
+
selectedChanged = true;
|
|
194
|
+
return selected;
|
|
195
|
+
})),
|
|
196
|
+
data.pipe(distinctUntilChanged()),
|
|
197
|
+
], (filters, search, sortFieldSelectors, itemsPerPage, pageNumber, isToolbarDisabled, selected, itemsData) => {
|
|
198
|
+
cancelLastRequest.next();
|
|
199
|
+
cancelLastRequest.complete();
|
|
200
|
+
if (selectedChanged) {
|
|
201
|
+
this.dispatcher.next(new ListSelectedSetLoadingAction());
|
|
202
|
+
this.dispatcher.next(new ListSelectedLoadAction(selected));
|
|
203
|
+
this.dispatcher.next(new ListSelectedSetLoadingAction(false));
|
|
204
|
+
selectedChanged = false;
|
|
205
|
+
}
|
|
206
|
+
let response;
|
|
207
|
+
if (this.dataFirstLoad) {
|
|
208
|
+
this.dataFirstLoad = false;
|
|
209
|
+
const initialItems = itemsData.map((d) => new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d));
|
|
210
|
+
response = observableOf(new ListDataResponseModel({
|
|
211
|
+
count: this.initialTotal,
|
|
212
|
+
items: initialItems,
|
|
213
|
+
})).pipe(takeUntil(cancelLastRequest));
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
response = this.dataProvider
|
|
217
|
+
.get(new ListDataRequestModel({
|
|
218
|
+
filters: filters,
|
|
219
|
+
pageSize: itemsPerPage,
|
|
220
|
+
pageNumber: pageNumber,
|
|
221
|
+
search: search,
|
|
222
|
+
sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),
|
|
223
|
+
isToolbarDisabled: isToolbarDisabled,
|
|
224
|
+
}))
|
|
225
|
+
.pipe(takeUntil(cancelLastRequest));
|
|
226
|
+
}
|
|
227
|
+
return response;
|
|
228
|
+
}).pipe(takeUntil(this.ngUnsubscribe),
|
|
229
|
+
// Retain user selections from previous state.
|
|
230
|
+
// This is only necessary for grids component (based on item.isSelected).
|
|
231
|
+
observableMap((response) => {
|
|
232
|
+
return response.pipe(observableMap((listDataResponseModel) => {
|
|
233
|
+
return new ListDataResponseModel({
|
|
234
|
+
count: listDataResponseModel.count,
|
|
235
|
+
items: this.getItemsAndRetainSelections(listDataResponseModel.items, this.lastSelectedIds),
|
|
236
|
+
});
|
|
237
|
+
}));
|
|
238
|
+
}), flatMap((value) => value));
|
|
239
|
+
}
|
|
240
|
+
get selectedItems() {
|
|
241
|
+
return observableCombineLatest(this.state.pipe(observableMap((current) => current.items.items), distinctUntilChanged()), this.state.pipe(observableMap((current) => current.selected), distinctUntilChanged()), (items, selected) => {
|
|
242
|
+
return items.filter((i) => selected.item.selectedIdMap.get(i.id));
|
|
243
|
+
}).pipe(takeUntil(this.ngUnsubscribe));
|
|
244
|
+
}
|
|
245
|
+
get lastUpdate() {
|
|
246
|
+
return this.state.pipe(takeUntil(this.ngUnsubscribe), observableMap((s) => s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined));
|
|
247
|
+
}
|
|
248
|
+
get views() {
|
|
249
|
+
return this.listViews.toArray();
|
|
250
|
+
}
|
|
251
|
+
get itemCount() {
|
|
252
|
+
return this.dataProvider.count();
|
|
253
|
+
}
|
|
254
|
+
getItemsAndRetainSelections(newList, selectedIds) {
|
|
255
|
+
const updatedListModel = newList.slice();
|
|
256
|
+
updatedListModel.forEach((item) => {
|
|
257
|
+
item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;
|
|
258
|
+
});
|
|
259
|
+
return updatedListModel;
|
|
260
|
+
}
|
|
261
|
+
arraysEqual(arrayA, arrayB) {
|
|
262
|
+
/* istanbul ignore next */
|
|
263
|
+
if (arrayA === arrayB) {
|
|
264
|
+
return true;
|
|
265
|
+
}
|
|
266
|
+
if (arrayA === undefined || arrayB === undefined) {
|
|
267
|
+
return false;
|
|
268
|
+
}
|
|
269
|
+
if (arrayA.length !== arrayB.length) {
|
|
270
|
+
return false;
|
|
271
|
+
}
|
|
272
|
+
for (let i = 0; i < arrayA.length; ++i) {
|
|
273
|
+
if (arrayA[i] !== arrayB[i]) {
|
|
274
|
+
return false;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return true;
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
SkyListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyListComponent, deps: [{ token: i1.ListState }, { token: i2.ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
|
|
281
|
+
SkyListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.2", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
282
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: SkyListComponent, decorators: [{
|
|
283
|
+
type: Component,
|
|
284
|
+
args: [{
|
|
285
|
+
selector: 'sky-list',
|
|
286
|
+
template: '<ng-content></ng-content>',
|
|
287
|
+
providers: [ListState, ListStateDispatcher],
|
|
288
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
289
|
+
}]
|
|
290
|
+
}], ctorParameters: function () { return [{ type: i1.ListState }, { type: i2.ListStateDispatcher }, { type: i3.SkyLogService }]; }, propDecorators: { data: [{
|
|
291
|
+
type: Input
|
|
292
|
+
}], dataProvider: [{
|
|
293
|
+
type: Input
|
|
294
|
+
}], defaultView: [{
|
|
295
|
+
type: Input
|
|
296
|
+
}], initialTotal: [{
|
|
297
|
+
type: Input
|
|
298
|
+
}], selectedIds: [{
|
|
299
|
+
type: Input
|
|
300
|
+
}], sortFields: [{
|
|
301
|
+
type: Input
|
|
302
|
+
}], appliedFilters: [{
|
|
303
|
+
type: Input
|
|
304
|
+
}], selectedIdsChange: [{
|
|
305
|
+
type: Output
|
|
306
|
+
}], appliedFiltersChange: [{
|
|
307
|
+
type: Output
|
|
308
|
+
}], searchFunction: [{
|
|
309
|
+
type: Input,
|
|
310
|
+
args: ['search']
|
|
311
|
+
}], listViews: [{
|
|
312
|
+
type: ContentChildren,
|
|
313
|
+
args: [ListViewComponent]
|
|
314
|
+
}] } });
|
|
315
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvbGlzdC1idWlsZGVyL3NyYy9saWIvbW9kdWxlcy9saXN0L2xpc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUdMLE1BQU0sRUFDTixTQUFTLEdBRVYsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQWEsUUFBUSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDakUsT0FBTyxFQUNMLGFBQWEsRUFFYixZQUFZLEdBQ2IsTUFBTSw0QkFBNEIsQ0FBQztBQUVwQyxPQUFPLEVBRUwsT0FBTyxFQUNQLGFBQWEsSUFBSSx1QkFBdUIsRUFDeEMsRUFBRSxJQUFJLFlBQVksR0FDbkIsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQ0wsb0JBQW9CLEVBQ3BCLE9BQU8sRUFDUCxHQUFHLElBQUksYUFBYSxFQUNwQixJQUFJLEVBQ0osSUFBSSxFQUNKLFNBQVMsR0FDVixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBRzNHLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hFLE9BQU8sRUFB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QWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2lCQUNoRDs4SkFjUSxJQUFJO3NCQURWLEtBQUs7Z0JBVUMsWUFBWTtzQkFEbEIsS0FBSztnQkFPQyxXQUFXO3NCQURqQixLQUFLO2dCQVNDLFlBQVk7c0JBRGxCLEtBQUs7Z0JBU0MsV0FBVztzQkFEakIsS0FBSztnQkFTQyxVQUFVO3NCQURoQixLQUFLO2dCQWNDLGNBQWM7c0JBRHBCLEtBQUs7Z0JBT0MsaUJBQWlCO3NCQUR2QixNQUFNO2dCQU9BLG9CQUFvQjtzQkFEMUIsTUFBTTtnQkFRQSxjQUFjO3NCQURwQixLQUFLO3VCQUFDLFFBQVE7Z0JBTVAsU0FBUztzQkFEaEIsZUFBZTt1QkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlckNvbnRlbnRJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFF1ZXJ5TGlzdCxcbiAgU2ltcGxlQ2hhbmdlcyxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTa3lMb2dTZXJ2aWNlIH0gZnJvbSAnQHNreXV4L2NvcmUnO1xuaW1wb3J0IHsgQXN5bmNJdGVtLCBnZXRWYWx1ZSB9IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcbmltcG9ydCB7XG4gIExpc3RJdGVtTW9kZWwsXG4gIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsLFxuICBpc09ic2VydmFibGUsXG59IGZyb20gJ0Bza3l1eC9saXN0LWJ1aWxkZXItY29tbW9uJztcblxuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgU3ViamVjdCxcbiAgY29tYmluZUxhdGVzdCBhcyBvYnNlcnZhYmxlQ29tYmluZUxhdGVzdCxcbiAgb2YgYXMgb2JzZXJ2YWJsZU9mLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7XG4gIGRpc3RpbmN0VW50aWxDaGFuZ2VkLFxuICBmbGF0TWFwLFxuICBtYXAgYXMgb2JzZXJ2YWJsZU1hcCxcbiAgc2tpcCxcbiAgdGFrZSxcbiAgdGFrZVVudGlsLFxufSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlciB9IGZyb20gJy4uL2xpc3QtZGF0YS1wcm92aWRlci1pbi1tZW1vcnkvbGlzdC1kYXRhLWluLW1lbW9yeS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0RmlsdGVyTW9kZWwgfSBmcm9tICcuLi9saXN0LWZpbHRlcnMvZmlsdGVyLm1vZGVsJztcblxuaW1wb3J0IHsgTGlzdERhdGFSZXF1ZXN0TW9kZWwgfSBmcm9tICcuL2xpc3QtZGF0YS1yZXF1ZXN0Lm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUmVzcG9uc2VNb2RlbCB9IGZyb20gJy4vbGlzdC1kYXRhLXJlc3BvbnNlLm1vZGVsJztcbmltcG9ydCB7IExpc3REYXRhUHJvdmlkZXIgfSBmcm9tICcuL2xpc3QtZGF0YS5wcm92aWRlcic7XG5pbXBvcnQgeyBMaXN0Vmlld0NvbXBvbmVudCB9IGZyb20gJy4vbGlzdC12aWV3LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBMaXN0SXRlbXNMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0SXRlbXNTZXRMb2FkaW5nQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9pdGVtcy9zZXQtbG9hZGluZy5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFN0YXRlRGlzcGF0Y2hlciB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5yeHN0YXRlJztcbmltcG9ydCB7IExpc3RTdGF0ZSB9IGZyb20gJy4vc3RhdGUvbGlzdC1zdGF0ZS5zdGF0ZS1ub2RlJztcbmltcG9ydCB7IExpc3RQYWdpbmdTZXRQYWdlTnVtYmVyQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9wYWdpbmcvc2V0LXBhZ2UtbnVtYmVyLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U2VhcmNoTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlYXJjaC9zZWFyY2gubW9kZWwnO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbiB9IGZyb20gJy4vc3RhdGUvc2VsZWN0ZWQvbG9hZC5hY3Rpb24nO1xuaW1wb3J0IHsgTGlzdFNlbGVjdGVkTW9kZWwgfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NlbGVjdGVkLm1vZGVsJztcbmltcG9ydCB7IExpc3RTZWxlY3RlZFNldExvYWRpbmdBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3NlbGVjdGVkL3NldC1sb2FkaW5nLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0U29ydFNldEZpZWxkU2VsZWN0b3JzQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS9zb3J0L3NldC1maWVsZC1zZWxlY3RvcnMuYWN0aW9uJztcbmltcG9ydCB7IExpc3RTb3J0TW9kZWwgfSBmcm9tICcuL3N0YXRlL3NvcnQvc29ydC5tb2RlbCc7XG5pbXBvcnQgeyBMaXN0Vmlld3NMb2FkQWN0aW9uIH0gZnJvbSAnLi9zdGF0ZS92aWV3cy9sb2FkLmFjdGlvbic7XG5pbXBvcnQgeyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24gfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3NldC1hY3RpdmUuYWN0aW9uJztcbmltcG9ydCB7IExpc3RWaWV3TW9kZWwgfSBmcm9tICcuL3N0YXRlL3ZpZXdzL3ZpZXcubW9kZWwnO1xuXG5sZXQgaWRJbmRleCA9IDA7XG5cbi8qKlxuICogQGRlcHJlY2F0ZWQgTGlzdCBidWlsZGVyIGFuZCBpdHMgZmVhdHVyZXMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBkYXRhIG1hbmFnZXIgaW5zdGVhZC4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdza3ktbGlzdCcsXG4gIHRlbXBsYXRlOiAnPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PicsXG4gIHByb3ZpZGVyczogW0xpc3RTdGF0ZSwgTGlzdFN0YXRlRGlzcGF0Y2hlcl0sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTa3lMaXN0Q29tcG9uZW50XG4gIGltcGxlbWVudHMgQWZ0ZXJDb250ZW50SW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3lcbntcbiAgcHVibGljIGlkID0gYHNreS1saXN0LWNtcC0keysraWRJbmRleH1gO1xuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlcyB0aGlzIHByb3BlcnR5IG9yIHRoZVxuICAgKiBgZGF0YVByb3ZpZGVyYCBwcm9wZXJ0eS4gRm9yIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkcywgZWFjaCByb3cgcmVxdWlyZXMgYW5cbiAgICogYGlkYCBwcm9wZXJ0eSB0byBtYW5hZ2Ugc2VsZWN0ZWQgaXRlbXMgd2l0aCB0aGUgYHNlbGVjdGVkSWRzYCBpbnB1dCBhbmQgdGhlXG4gICAqIGBzZWxlY3RlZElkc0NoYW5nZWAgZXZlbnQuIElmIHlvdSBkbyBub3QgcHJvdmlkZSBhbiBgaWRgLCB0aGUgbGlzdCBhdXRvbWF0aWNhbGx5XG4gICAqIGdlbmVyYXRlcyBvbmUuIFRvIHVwZGF0ZSBkYXRhIGluIHlvdXIgdmlldyBvdXRzaWRlIG9mIGEgYGRhdGFQcm92aWRlcmAsIHlvdSBtdXN0IHVzZVxuICAgKiBhbiBvYnNlcnZhYmxlIGluc3RlYWQgb2YgYSBzdGF0aWMgYXJyYXkuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YT86IEFycmF5PGFueT4gfCBPYnNlcnZhYmxlPEFycmF5PGFueT4+ID0gW107XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGRhdGEgcHJvdmlkZXIgdG8gb2J0YWluIHRoZSBkYXRhIHRvIGRpc3BsYXkuIFRoZSBsaXN0IGNvbXBvbmVudCByZXF1aXJlc1xuICAgKiB0aGlzIHByb3BlcnR5IG9yIHRoZSBgZGF0YWAgcHJvcGVydHkuIEZvciBsaXN0cyB0aGF0IHVzZSBgZGF0YVByb3ZpZGVyYCBpbnN0ZWFkIG9mIGBkYXRhYCxcbiAgICogY29uc3VtZXJzIGFyZSByZXNwb25zaWJsZSBmb3IgbWFuYWdpbmcgYWxsIGBMaXN0RGF0YVJlcXVlc3RNb2RlbGAgcHJvcGVydGllcy5cbiAgICogQGRlZmF1bHQgU2t5TGlzdEluTWVtb3J5RGF0YVByb3ZpZGVyXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGF0YVByb3ZpZGVyPzogTGlzdERhdGFQcm92aWRlcjtcblxuICAvKipcbiAgICogQGludGVybmFsXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmYXVsdFZpZXc/OiBMaXN0Vmlld0NvbXBvbmVudDtcblxuICAvKipcbiAgICogU3BlY2lmaWVzIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZm9yIHRoZSBpbml0aWFsIGRhdGEgc2V0IHdoZW4gaW5pdGlhbGl6ZWQuIFdoZW5cbiAgICogdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIGBkYXRhYCBhbmQgYGRhdGFQcm92aWRlcmAsIGl0IGFsbG93cyBhbiBpbml0aWFsIGRhdGEgdG8gYmVcbiAgICogc2V0IHdpdGggdGhlIG5lZWQgdG8gY2FsbCB0aGUgYGRhdGFQcm92aWRlcmAuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgaW5pdGlhbFRvdGFsPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBTcGVjaWZpZXMgYSBzZXQgb2YgSURzIGZvciB0aGUgaXRlbXMgdG8gc2VsZWN0IGluIGEgY2hlY2tsaXN0IG9yIG11bHRpc2VsZWN0IGdyaWQuXG4gICAqIFRoZSBJRHMgbWF0Y2ggdGhlIGBpZGAgcHJvcGVydGllcyBvZiB0aGUgYGRhdGFgIG9iamVjdHMuIEl0ZW1zIHdpdGggSURzIHRoYXQgYXJlIG5vdFxuICAgKiBpbmNsdWRlZCBhcmUgZGUtc2VsZWN0ZWQgaW4gdGhlIGNoZWNrbGlzdCBvciBtdWx0aXNlbGVjdCBncmlkLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzPzogQXJyYXk8c3RyaW5nPiB8IE9ic2VydmFibGU8QXJyYXk8c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNldCBvZiBmaWVsZHMgdG8gc29ydCBieS4gSWYgYXJyYXkgb2YgZmllbGRzIHRoZW4gc29ydGVkIGJ5IG9yZGVyIG9mIGFycmF5LlxuICAgKiBGb3IgaW5mb3JtYXRpb24gYWJvdXQgYExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsYCwgc2VlIHRoZVxuICAgKiBbc2hhcmVkIGNsYXNzZXMgZm9yIGxpc3RzXShodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4LWxpc3QtYnVpbGRlci1jb21tb24vZG9jcy9saXN0LWJ1aWxkZXItY29tbW9uKS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzb3J0RmllbGRzPzpcbiAgICB8IExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsXG4gICAgfCBBcnJheTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD5cbiAgICB8IE9ic2VydmFibGU8QXJyYXk8TGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWw+PlxuICAgIHwgT2JzZXJ2YWJsZTxMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbD47XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIHNldCBvZiBmaWx0ZXJzIHRvIGFwcGx5IHRvIGxpc3QgZGF0YS5cbiAgICogVGhlc2UgZmlsdGVycyBjcmVhdGUgYSBmaWx0ZXIgc3VtbWFyeSB3aGVuIHRoZSBsaXN0IGluY2x1ZGVzIHRoZVxuICAgKiBbYHNreS1saXN0LWZpbHRlci1zdW1tYXJ5YF0oaHR0cHM6Ly9kZXZlbG9wZXIuYmxhY2tiYXVkLmNvbS9za3l1eC9jb21wb25lbnRzL2xpc3QvZmlsdGVycylcbiAgICogY29tcG9uZW50LlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGFwcGxpZWRGaWx0ZXJzOiBBcnJheTxMaXN0RmlsdGVyTW9kZWw+ID0gW107XG5cbiAgLyoqXG4gICAqIEZvciBsaXN0IHZpZXdzIHRoYXQgc3VwcG9ydCBpdGVtIHNlbGVjdGlvbiwgZW1pdHMgdGhlIHNlbGVjdGVkIGVudHJpZXMuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHNlbGVjdGVkSWRzQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxNYXA8c3RyaW5nLCBib29sZWFuPj4oKTtcblxuICAvKipcbiAgICogRW1pdHMgdGhlIGZpbHRlcnMgYXBwbGllZCB0byB0aGUgbGlzdC5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgYXBwbGllZEZpbHRlcnNDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPEFycmF5PExpc3RGaWx0ZXJNb2RlbD4+KCk7XG5cbiAgLyoqXG4gICAqIFNwZWNpZmllcyBhIGZ1bmN0aW9uIHRvIGFwcGx5IGFzIGEgZ2xvYmFsIHNvcnQgb24gdGhlIGxpc3QuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLWlucHV0LXJlbmFtZVxuICBASW5wdXQoJ3NlYXJjaCcpXG4gIHB1YmxpYyBzZWFyY2hGdW5jdGlvbjogKGRhdGE6IGFueSwgc2VhcmNoVGV4dDogc3RyaW5nKSA9PiBib29sZWFuO1xuXG4gIHByaXZhdGUgZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuXG4gIEBDb250ZW50Q2hpbGRyZW4oTGlzdFZpZXdDb21wb25lbnQpXG4gIHByaXZhdGUgbGlzdFZpZXdzOiBRdWVyeUxpc3Q8TGlzdFZpZXdDb21wb25lbnQ+O1xuXG4gIHByaXZhdGUgbGFzdFNlbGVjdGVkSWRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIHByaXZhdGUgbGFzdEZpbHRlcnM6IExpc3RGaWx0ZXJNb2RlbFtdID0gW107XG5cbiAgcHJpdmF0ZSBuZ1Vuc3Vic2NyaWJlID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0YXRlOiBMaXN0U3RhdGUsXG4gICAgcHJpdmF0ZSBkaXNwYXRjaGVyOiBMaXN0U3RhdGVEaXNwYXRjaGVyLFxuICAgIGxvZ2dlcjogU2t5TG9nU2VydmljZVxuICApIHtcbiAgICBsb2dnZXIuZGVwcmVjYXRlZCgnU2t5TGlzdENvbXBvbmVudCcsIHtcbiAgICAgIGRlcHJlY2F0aW9uTWFqb3JWZXJzaW9uOiA2LFxuICAgICAgbW9yZUluZm9Vcmw6XG4gICAgICAgICdodHRwczovL2RldmVsb3Blci5ibGFja2JhdWQuY29tL3NreXV4L2NvbXBvbmVudHMvZGF0YS1tYW5hZ2VyJyxcbiAgICAgIHJlcGxhY2VtZW50UmVjb21tZW5kYXRpb246ICdVc2UgZGF0YSBtYW5hZ2VyIGluc3RlYWQuJyxcbiAgICB9KTtcbiAgfVxuXG4gIHB1YmxpYyBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuZGF0YSAmJiB0aGlzLmRhdGFQcm92aWRlciAmJiB0aGlzLmluaXRpYWxUb3RhbCkge1xuICAgICAgdGhpcy5kYXRhRmlyc3RMb2FkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5saXN0Vmlld3MubGVuZ3RoID4gMCkge1xuICAgICAgY29uc3QgZGVmYXVsdFZpZXc6IExpc3RWaWV3Q29tcG9uZW50ID1cbiAgICAgICAgdGhpcy5kZWZhdWx0VmlldyA9PT0gdW5kZWZpbmVkXG4gICAgICAgICAgPyB0aGlzLmxpc3RWaWV3cy5maXJzdFxuICAgICAgICAgIDogdGhpcy5kZWZhdWx0VmlldztcblxuICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgIG5ldyBMaXN0Vmlld3NMb2FkQWN0aW9uKFxuICAgICAgICAgIHRoaXMubGlzdFZpZXdzLm1hcCgodikgPT4gbmV3IExpc3RWaWV3TW9kZWwodi5pZCwgdi5sYWJlbCkpXG4gICAgICAgIClcbiAgICAgICk7XG5cbiAgICAgIC8vIGFjdGl2YXRlIHRoZSBkZWZhdWx0IHZpZXdcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0Vmlld3NTZXRBY3RpdmVBY3Rpb24oZGVmYXVsdFZpZXcuaWQpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIC8vIHNldCBzb3J0IGZpZWxkc1xuICAgIGdldFZhbHVlKFxuICAgICAgdGhpcy5zb3J0RmllbGRzLFxuICAgICAgKFxuICAgICAgICBzb3J0RmllbGRzOiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdIHwgTGlzdFNvcnRGaWVsZFNlbGVjdG9yTW9kZWxcbiAgICAgICkgPT4ge1xuICAgICAgICBsZXQgc29ydEFycmF5OiBMaXN0U29ydEZpZWxkU2VsZWN0b3JNb2RlbFtdO1xuICAgICAgICBpZiAoIUFycmF5LmlzQXJyYXkoc29ydEZpZWxkcykgJiYgc29ydEZpZWxkcykge1xuICAgICAgICAgIHNvcnRBcnJheSA9IFtzb3J0RmllbGRzXTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBzb3J0QXJyYXkgPSBzb3J0RmllbGRzIGFzIExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsW107XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLm5leHQoXG4gICAgICAgICAgbmV3IExpc3RTb3J0U2V0RmllbGRTZWxlY3RvcnNBY3Rpb24oc29ydEFycmF5IHx8IFtdKVxuICAgICAgICApO1xuICAgICAgfVxuICAgICk7XG5cbiAgICB0aGlzLmRpc3BsYXllZEl0ZW1zLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG5cbiAgICAvLyBXYXRjaCBmb3Igc2VsZWN0aW9uIGNoYW5nZXMuXG4gICAgdGhpcy5zdGF0ZVxuICAgICAgLnBpcGUoXG4gICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuc2VsZWN0ZWQpLFxuICAgICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgLy8gVXBkYXRlIGxhc3RTZWxlY3RlZElkcyB0byBoZWxwIHVzIHJldGFpbiB1c2VyIHNlbGVjdGlvbnMuXG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzTGlzdDogc3RyaW5nW10gPSBbXTtcbiAgICAgICAgc2VsZWN0ZWQuaXRlbS5zZWxlY3RlZElkTWFwLmZvckVhY2goKHZhbHVlLCBrZXkpID0+IHtcbiAgICAgICAgICBpZiAodmFsdWUgPT09IHRydWUpIHtcbiAgICAgICAgICAgIHNlbGVjdGVkSWRzTGlzdC5wdXNoKGtleSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcblxuICAgICAgICAvLyBJZiBjaGFuZ2VzIGFyZSBkaXN0aW5jdCwgZW1pdCBzZWxlY3RlZElkc0NoYW5nZS5cbiAgICAgICAgY29uc3QgZGlzdGluY3RDaGFuZ2VzID0gIXRoaXMuYXJyYXlzRXF1YWwoXG4gICAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMsXG4gICAgICAgICAgc2VsZWN0ZWRJZHNMaXN0XG4gICAgICAgICk7XG4gICAgICAgIGlmICh0aGlzLnNlbGVjdGVkSWRzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwICYmIGRpc3RpbmN0Q2hhbmdlcykge1xuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJZHNDaGFuZ2UuZW1pdChzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXApO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5sYXN0U2VsZWN0ZWRJZHMgPSBzZWxlY3RlZElkc0xpc3Q7XG4gICAgICB9KTtcblxuICAgIGlmICh0aGlzLmFwcGxpZWRGaWx0ZXJzQ2hhbmdlLm9ic2VydmVycy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLnN0YXRlXG4gICAgICAgIC5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGN1cnJlbnQpID0+IGN1cnJlbnQuZmlsdGVycyksXG4gICAgICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG4gICAgICAgICAgc2tpcCgxKVxuICAgICAgICApXG4gICAgICAgIC5zdWJzY3JpYmUoKGZpbHRlcnMpID0+IHtcbiAgICAgICAgICAvKipcbiAgICAgICAgICAgKiBXZSBhcmUgZG9pbmcgdGhpcyBpbnN0ZWFkIG9mIGEgZGlzdGluY3RVbnRpbENoYW5nZSBkdWUgdG8gbWVtb3J5IGFsbG9jYXRpb24gaXNzdWVzXG4gICAgICAgICAgICogd2l0aCB0aGUgamF2YXNjcmlwdCBhcnJheS4gVG8gZml4IGZ1bGx5IHRoZSBhcnJheSBzaG91bGQgYmUgY2hhbmdlZCB0byBhbiBvYmplY3QgaW5cbiAgICAgICAgICAgKiBhIGJyZWFraW5nIGNoYW5nZS5cbiAgICAgICAgICAgKi9cbiAgICAgICAgICBpZiAoIXRoaXMuYXJyYXlzRXF1YWwoZmlsdGVycywgdGhpcy5sYXN0RmlsdGVycykpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdEZpbHRlcnMgPSBmaWx0ZXJzLnNsaWNlKDApO1xuICAgICAgICAgICAgdGhpcy5hcHBsaWVkRmlsdGVyc0NoYW5nZS5lbWl0KGZpbHRlcnMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICBpZiAoXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddICYmXG4gICAgICBjaGFuZ2VzWydhcHBsaWVkRmlsdGVycyddLmN1cnJlbnRWYWx1ZSAhPT1cbiAgICAgICAgY2hhbmdlc1snYXBwbGllZEZpbHRlcnMnXS5wcmV2aW91c1ZhbHVlXG4gICAgKSB7XG4gICAgICB0aGlzLnN0YXRlLnBpcGUodGFrZSgxKSkuc3Vic2NyaWJlKChjdXJyZW50U3RhdGUpID0+IHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAmJlxuICAgICAgICAgIGN1cnJlbnRTdGF0ZS5wYWdpbmcucGFnZU51bWJlciAhPT0gMVxuICAgICAgICApIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFBhZ2luZ1NldFBhZ2VOdW1iZXJBY3Rpb24oTnVtYmVyKDEpKSk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmRpc3BhdGNoZXIuZmlsdGVyc1VwZGF0ZSh0aGlzLmFwcGxpZWRGaWx0ZXJzKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpZiAoY2hhbmdlc1snc2VsZWN0ZWRJZHMnXSkge1xuICAgICAgLy8gT25seSBzZW5kIHNlbGVjdGlvbiBjaGFuZ2VzIHRvIGRpc3BhdGNoZXIgaWYgY2hhbmdlcyBhcmUgZGlzdGluY3QuXG4gICAgICBjb25zdCBuZXdTZWxlY3RlZElkcyA9IGNoYW5nZXNbJ3NlbGVjdGVkSWRzJ10uY3VycmVudFZhbHVlO1xuICAgICAgaWYgKCF0aGlzLmFycmF5c0VxdWFsKG5ld1NlbGVjdGVkSWRzLCB0aGlzLmxhc3RTZWxlY3RlZElkcykpIHtcbiAgICAgICAgdGhpcy5kaXNwYXRjaGVyLnNldFNlbGVjdGVkKG5ld1NlbGVjdGVkSWRzLCB0cnVlLCB0cnVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwdWJsaWMgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5uZ1Vuc3Vic2NyaWJlLm5leHQoKTtcbiAgICB0aGlzLm5nVW5zdWJzY3JpYmUuY29tcGxldGUoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWZyZXNoRGlzcGxheWVkSXRlbXMoKTogdm9pZCB7XG4gICAgdGhpcy5kaXNwbGF5ZWRJdGVtcy5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XG4gICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdEl0ZW1zU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KFxuICAgICAgICBuZXcgTGlzdEl0ZW1zTG9hZEFjdGlvbihyZXN1bHQuaXRlbXMsIHRydWUsIHRydWUsIHJlc3VsdC5jb3VudClcbiAgICAgICk7XG4gICAgfSk7XG4gIH1cblxuICBnZXQgZGlzcGxheWVkSXRlbXMoKTogT2JzZXJ2YWJsZTxMaXN0RGF0YVJlc3BvbnNlTW9kZWw+IHtcbiAgICBpZiAoIXRoaXMuZGF0YSAmJiAhdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTGlzdCByZXF1aXJlcyBkYXRhIG9yIGRhdGFQcm92aWRlciB0byBiZSBzZXQuJyk7XG4gICAgfVxuXG4gICAgbGV0IGRhdGE6IGFueSA9IHRoaXMuZGF0YTtcbiAgICBpZiAoIWlzT2JzZXJ2YWJsZShkYXRhKSkge1xuICAgICAgZGF0YSA9IG9ic2VydmFibGVPZih0aGlzLmRhdGEpO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5kYXRhUHJvdmlkZXIpIHtcbiAgICAgIHRoaXMuZGF0YVByb3ZpZGVyID0gbmV3IFNreUxpc3RJbk1lbW9yeURhdGFQcm92aWRlcihcbiAgICAgICAgZGF0YSxcbiAgICAgICAgdGhpcy5zZWFyY2hGdW5jdGlvblxuICAgICAgKTtcbiAgICB9XG5cbiAgICBsZXQgc2VsZWN0ZWRJZHMgPSB0aGlzLnNlbGVjdGVkSWRzIHx8IG9ic2VydmFibGVPZihbXSk7XG4gICAgaWYgKCFpc09ic2VydmFibGUoc2VsZWN0ZWRJZHMpKSB7XG4gICAgICBzZWxlY3RlZElkcyA9IG9ic2VydmFibGVPZihzZWxlY3RlZElkcyk7XG4gICAgfVxuXG4gICAgbGV0IHNlbGVjdGVkQ2hhbmdlZCA9IGZhbHNlO1xuXG4gICAgLy8gVGhpcyBzdWJqZWN0IGlzIHVzZWQgdG8gY2FuY2VsIHByZXZpb3VzIHJlcXVlc3QgdG8gdGhlIGxpc3QncyBkYXRhIHByb3ZpZGVyIHdoZW4gYSBuZXcgY2hhbmdlXG4gICAgLy8gdG8gdGhlIGxpc3QncyBzdGF0ZSBvY2N1cnMuIEluIGEgZnV0dXJlIGJyZWFraW5nIGNoYW5nZSB0aGlzIHNob3VsZCBiZSByZXBsYWNlZCBvciBjb3VwbGVkXG4gICAgLy8gd2l0aCBhZGRpbmcgYSBkZWJvdW5jZSB0aW1lIHRvIHRoZSBPYnNlcnZhYmxlIHdoaWNoIHdhdGNoZXMgZm9yIHN0YXRlIGNoYW5nZXMuXG4gICAgY29uc3QgY2FuY2VsTGFzdFJlcXVlc3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgW1xuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5maWx0ZXJzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnNlYXJjaCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgocykgPT4gcy5zb3J0LmZpZWxkU2VsZWN0b3JzKSxcbiAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICksXG4gICAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgICBvYnNlcnZhYmxlTWFwKChzKSA9PiBzLnBhZ2luZy5pdGVtc1BlclBhZ2UpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMucGFnaW5nLnBhZ2VOdW1iZXIpLFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICAgKSxcbiAgICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+IHMudG9vbGJhci5kaXNhYmxlZCksXG4gICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgICApLFxuICAgICAgICBzZWxlY3RlZElkcy5waXBlKFxuICAgICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgICAgICAgb2JzZXJ2YWJsZU1hcCgoc2VsZWN0ZWQpID0+IHtcbiAgICAgICAgICAgIHNlbGVjdGVkQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICByZXR1cm4gc2VsZWN0ZWQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgZGF0YS5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpLFxuICAgICAgXSxcbiAgICAgIChcbiAgICAgICAgZmlsdGVyczogTGlzdEZpbHRlck1vZGVsW10sXG4gICAgICAgIHNlYXJjaDogTGlzdFNlYXJjaE1vZGVsLFxuICAgICAgICBzb3J0RmllbGRTZWxlY3RvcnM6IEFycmF5PExpc3RTb3J0RmllbGRTZWxlY3Rvck1vZGVsPixcbiAgICAgICAgaXRlbXNQZXJQYWdlOiBudW1iZXIsXG4gICAgICAgIHBhZ2VOdW1iZXI6IG51bWJlcixcbiAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGJvb2xlYW4sXG4gICAgICAgIHNlbGVjdGVkOiBBcnJheTxzdHJpbmc+LFxuICAgICAgICBpdGVtc0RhdGE6IEFycmF5PGFueT5cbiAgICAgICkgPT4ge1xuICAgICAgICBjYW5jZWxMYXN0UmVxdWVzdC5uZXh0KCk7XG4gICAgICAgIGNhbmNlbExhc3RSZXF1ZXN0LmNvbXBsZXRlKCk7XG4gICAgICAgIGlmIChzZWxlY3RlZENoYW5nZWQpIHtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkU2V0TG9hZGluZ0FjdGlvbigpKTtcbiAgICAgICAgICB0aGlzLmRpc3BhdGNoZXIubmV4dChuZXcgTGlzdFNlbGVjdGVkTG9hZEFjdGlvbihzZWxlY3RlZCkpO1xuICAgICAgICAgIHRoaXMuZGlzcGF0Y2hlci5uZXh0KG5ldyBMaXN0U2VsZWN0ZWRTZXRMb2FkaW5nQWN0aW9uKGZhbHNlKSk7XG4gICAgICAgICAgc2VsZWN0ZWRDaGFuZ2VkID0gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgcmVzcG9uc2U6IE9ic2VydmFibGU8TGlzdERhdGFSZXNwb25zZU1vZGVsPjtcbiAgICAgICAgaWYgKHRoaXMuZGF0YUZpcnN0TG9hZCkge1xuICAgICAgICAgIHRoaXMuZGF0YUZpcnN0TG9hZCA9IGZhbHNlO1xuICAgICAgICAgIGNvbnN0IGluaXRpYWxJdGVtcyA9IGl0ZW1zRGF0YS5tYXAoXG4gICAgICAgICAgICAoZCkgPT5cbiAgICAgICAgICAgICAgbmV3IExpc3RJdGVtTW9kZWwoZC5pZCB8fCBgc2t5LWxpc3QtaXRlbS1tb2RlbC0keysraWRJbmRleH1gLCBkKVxuICAgICAgICAgICk7XG4gICAgICAgICAgcmVzcG9uc2UgPSBvYnNlcnZhYmxlT2YoXG4gICAgICAgICAgICBuZXcgTGlzdERhdGFSZXNwb25zZU1vZGVsKHtcbiAgICAgICAgICAgICAgY291bnQ6IHRoaXMuaW5pdGlhbFRvdGFsLFxuICAgICAgICAgICAgICBpdGVtczogaW5pdGlhbEl0ZW1zLFxuICAgICAgICAgICAgfSlcbiAgICAgICAgICApLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcmVzcG9uc2UgPSB0aGlzLmRhdGFQcm92aWRlclxuICAgICAgICAgICAgLmdldChcbiAgICAgICAgICAgICAgbmV3IExpc3REYXRhUmVxdWVzdE1vZGVsKHtcbiAgICAgICAgICAgICAgICBmaWx0ZXJzOiBmaWx0ZXJzLFxuICAgICAgICAgICAgICAgIHBhZ2VTaXplOiBpdGVtc1BlclBhZ2UsXG4gICAgICAgICAgICAgICAgcGFnZU51bWJlcjogcGFnZU51bWJlcixcbiAgICAgICAgICAgICAgICBzZWFyY2g6IHNlYXJjaCxcbiAgICAgICAgICAgICAgICBzb3J0OiBuZXcgTGlzdFNvcnRNb2RlbCh7IGZpZWxkU2VsZWN0b3JzOiBzb3J0RmllbGRTZWxlY3RvcnMgfSksXG4gICAgICAgICAgICAgICAgaXNUb29sYmFyRGlzYWJsZWQ6IGlzVG9vbGJhckRpc2FibGVkLFxuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgICAgLnBpcGUodGFrZVVudGlsKGNhbmNlbExhc3RSZXF1ZXN0KSk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gcmVzcG9uc2U7XG4gICAgICB9XG4gICAgKS5waXBlKFxuICAgICAgdGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSksXG5cbiAgICAgIC8vIFJldGFpbiB1c2VyIHNlbGVjdGlvbnMgZnJvbSBwcmV2aW91cyBzdGF0ZS5cbiAgICAgIC8vIFRoaXMgaXMgb25seSBuZWNlc3NhcnkgZm9yIGdyaWRzIGNvbXBvbmVudCAoYmFzZWQgb24gaXRlbS5pc1NlbGVjdGVkKS5cbiAgICAgIG9ic2VydmFibGVNYXAoKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIHJldHVybiByZXNwb25zZS5waXBlKFxuICAgICAgICAgIG9ic2VydmFibGVNYXAoKGxpc3REYXRhUmVzcG9uc2VNb2RlbCkgPT4ge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBMaXN0RGF0YVJlc3BvbnNlTW9kZWwoe1xuICAgICAgICAgICAgICBjb3VudDogbGlzdERhdGFSZXNwb25zZU1vZGVsLmNvdW50LFxuICAgICAgICAgICAgICBpdGVtczogdGhpcy5nZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgICAgICAgICAgICAgbGlzdERhdGFSZXNwb25zZU1vZGVsLml0ZW1zLFxuICAgICAgICAgICAgICAgIHRoaXMubGFzdFNlbGVjdGVkSWRzXG4gICAgICAgICAgICAgICksXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgICAgfSksXG4gICAgICBmbGF0TWFwKCh2YWx1ZSkgPT4gdmFsdWUpXG4gICAgKTtcbiAgfVxuXG4gIHB1YmxpYyBnZXQgc2VsZWN0ZWRJdGVtcygpOiBPYnNlcnZhYmxlPEFycmF5PExpc3RJdGVtTW9kZWw+PiB7XG4gICAgcmV0dXJuIG9ic2VydmFibGVDb21iaW5lTGF0ZXN0KFxuICAgICAgdGhpcy5zdGF0ZS5waXBlKFxuICAgICAgICBvYnNlcnZhYmxlTWFwKChjdXJyZW50KSA9PiBjdXJyZW50Lml0ZW1zLml0ZW1zKSxcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKVxuICAgICAgKSxcbiAgICAgIHRoaXMuc3RhdGUucGlwZShcbiAgICAgICAgb2JzZXJ2YWJsZU1hcCgoY3VycmVudCkgPT4gY3VycmVudC5zZWxlY3RlZCksXG4gICAgICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKClcbiAgICAgICksXG4gICAgICAoaXRlbXM6IEFycmF5PExpc3RJdGVtTW9kZWw+LCBzZWxlY3RlZDogQXN5bmNJdGVtPExpc3RTZWxlY3RlZE1vZGVsPikgPT4ge1xuICAgICAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpKSA9PiBzZWxlY3RlZC5pdGVtLnNlbGVjdGVkSWRNYXAuZ2V0KGkuaWQpKTtcbiAgICAgIH1cbiAgICApLnBpcGUodGFrZVVudGlsKHRoaXMubmdVbnN1YnNjcmliZSkpO1xuICB9XG5cbiAgcHVibGljIGdldCBsYXN0VXBkYXRlKCk6IE9ic2VydmFibGU8RGF0ZT4ge1xuICAgIHJldHVybiB0aGlzLnN0YXRlLnBpcGUoXG4gICAgICB0YWtlVW50aWwodGhpcy5uZ1Vuc3Vic2NyaWJlKSxcbiAgICAgIG9ic2VydmFibGVNYXAoKHMpID0+XG4gICAgICAgIHMuaXRlbXMubGFzdFVwZGF0ZSA/IG5ldyBEYXRlKHMuaXRlbXMubGFzdFVwZGF0ZSkgOiB1bmRlZmluZWRcbiAgICAgIClcbiAgICApO1xuICB9XG5cbiAgcHVibGljIGdldCB2aWV3cygpOiBBcnJheTxMaXN0Vmlld0NvbXBvbmVudD4ge1xuICAgIHJldHVybiB0aGlzLmxpc3RWaWV3cy50b0FycmF5KCk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IGl0ZW1Db3VudCgpOiBPYnNlcnZhYmxlPG51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmRhdGFQcm92aWRlci5jb3VudCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRJdGVtc0FuZFJldGFpblNlbGVjdGlvbnMoXG4gICAgbmV3TGlzdDogTGlzdEl0ZW1Nb2RlbFtdLFxuICAgIHNlbGVjdGVkSWRzOiBzdHJpbmdbXVxuICApOiBMaXN0SXRlbU1vZGVsW10ge1xuICAgIGNvbnN0IHVwZGF0ZWRMaXN0TW9kZWwgPSBuZXdMaXN0LnNsaWNlKCk7XG4gICAgdXBkYXRlZExpc3RNb2RlbC5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICBpdGVtLmlzU2VsZWN0ZWQgPSBzZWxlY3RlZElkcy5pbmRleE9mKGl0ZW0uaWQpID4gLTEgPyB0cnVlIDogZmFsc2U7XG4gICAgfSk7XG4gICAgcmV0dXJuIHVwZGF0ZWRMaXN0TW9kZWw7XG4gIH1cblxuICBwcml2YXRlIGFycmF5c0VxdWFsKGFycmF5QTogYW55W10sIGFycmF5QjogYW55W10pOiBib29sZWFuIHtcbiAgICAvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL1xuICAgIGlmIChhcnJheUEgPT09IGFycmF5Qikge1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuICAgIGlmIChhcnJheUEgPT09IHVuZGVmaW5lZCB8fCBhcnJheUIgPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBpZiAoYXJyYXlBLmxlbmd0aCAhPT0gYXJyYXlCLmxlbmd0aCkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGFycmF5QS5sZW5ndGg7ICsraSkge1xuICAgICAgaWYgKGFycmF5QVtpXSAhPT0gYXJyYXlCW2ldKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==
|