@skyux/list-builder 14.6.0 → 14.6.2
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/fesm2022/skyux-list-builder.mjs +80 -80
- package/fesm2022/skyux-list-builder.mjs.map +1 -1
- package/package.json +10 -10
- package/types/skyux-list-builder.d.ts +143 -191
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"skyux-list-builder.mjs","sources":["../../../../../libs/components/list-builder/src/lib/modules/list/list-data-request.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-data-response.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-data.provider.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-view.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/update.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-options.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-search-text.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-available.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-field-selectors.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-global.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/disable.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/remove.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/set-exists.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/set-active.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/filters.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/selected.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/views.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-items-per-page.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-max-pages.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-page-number.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-item-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/selected.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/label.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/sort.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/set-type.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar-item.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/views.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.state-node.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/view.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/filter.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-button.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-button.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline-item-renderer.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline-item.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filters.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-paging.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.module.ts","../../../../../libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item-renderer.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-sort.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-search-enabled.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/config.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.rxstate.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/config.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.state-node.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.module.ts","../../../../../libs/components/list-builder/src/skyux-list-builder.ts"],"sourcesContent":["import { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSortModel } from './state/sort/sort.model';\n\n/**\n * @deprecated\n */\nexport class ListDataRequestModel {\n /**\n * The function that determines whether items are filtered.\n * This property is required when using an in-memory data provider.\n */\n public filters: ListFilterModel[];\n /**\n * The number of items to display per page.\n */\n public pageSize: number;\n /**\n * The current page number.\n */\n public pageNumber: number;\n /**\n * The function to dynamically manage the data source when users\n * change the text in the list field. The search function must return an\n * array or a promise of an array. The `search` property is particularly useful\n * when the data source does not live in the source code.\n */\n public search: ListSearchModel;\n /**\n * The set of fields to sort by.\n */\n public sort: ListSortModel;\n /**\n * Whether to disable the search bar and filter button.\n * @default false\n */\n public isToolbarDisabled = false;\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.filters = data.filters;\n this.pageSize = data.pageSize;\n this.pageNumber = data.pageNumber;\n this.search = data.search;\n this.sort = data.sort;\n this.isToolbarDisabled = data.isToolbarDisabled;\n }\n }\n}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @deprecated\n */\nexport class ListDataResponseModel {\n /**\n * The total number of records in the list.\n */\n public count: number;\n /**\n * An array of the items returned. For information about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public items: ListItemModel[];\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.count = data.count;\n this.items = data.items;\n }\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport abstract class ListDataProvider {\n constructor(public data?: Observable<any[]>) {}\n\n public abstract get(\n request: ListDataRequestModel,\n ): Observable<ListDataResponseModel>;\n\n public abstract count(): Observable<number>;\n}\n","/**\n * Specifies a function to dynamically manage the data source when users change the text\n * in the list field. The search function must return an array or a promise of an array.\n * The `search` property is particularly useful when the data source does not live\n * in the source code.\n * @deprecated\n */\nexport class ListSearchModel {\n /**\n * The text to search.\n * @default \"\"\n */\n public searchText = '';\n /**\n * The array of functions that returns a `boolean` value of `true` when\n * the search is successful. This property accepts a function of type\n * `(data: any, searchText: string) => boolean>.`\n */\n public functions: ((data: any, searchText: string) => boolean)[] = [];\n /**\n * The columns to search. The columns correspond to `field` values that\n * you specify with the list component's `data` property.\n */\n public fieldSelectors: string[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.searchText = data.searchText;\n this.functions = [...data.functions];\n this.fieldSelectors = data.fieldSelectors;\n }\n }\n}\n","import { ListItemModel, compare, getData } from '@skyux/list-builder-common';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { ListDataRequestModel } from '../list/list-data-request.model';\nimport { ListDataResponseModel } from '../list/list-data-response.model';\nimport { ListDataProvider } from '../list/list-data.provider';\nimport { ListSearchModel } from '../list/state/search/search.model';\n\nlet idIndex = 0;\n\n/**\n * @deprecated\n */\nexport class SkyListInMemoryDataProvider extends ListDataProvider {\n public items: BehaviorSubject<ListItemModel[]> = new BehaviorSubject<\n ListItemModel[]\n >([]);\n\n private lastItems: ListItemModel[];\n private lastSearch: ListSearchModel;\n private lastSearchResults: ListItemModel[];\n private searchFunction: (data: any, searchText: string) => boolean;\n\n private lastFilters: ListFilterModel[];\n private lastFilterResults: ListItemModel[];\n\n constructor(\n data?: Observable<any[]>,\n searchFunction?: (data: any, searchText: string) => boolean,\n ) {\n super(data);\n\n this.searchFunction = searchFunction;\n\n if (data) {\n data.subscribe((items) => {\n this.items.next(\n items.map(\n (d) =>\n new ListItemModel(\n d.id || `sky-list-data-in-memory-provider-item-${++idIndex}`,\n d,\n ),\n ),\n );\n });\n }\n }\n\n public count(): Observable<number> {\n return this.items.pipe(observableMap((items) => items.length));\n }\n\n public get(request: ListDataRequestModel): Observable<ListDataResponseModel> {\n return this.filteredItems(request).pipe(\n observableMap((result) => {\n if (request.pageNumber && request.pageSize) {\n const itemStart = (request.pageNumber - 1) * request.pageSize;\n const pagedResult = result.slice(\n itemStart,\n itemStart + request.pageSize,\n );\n return new ListDataResponseModel({\n count: result.length,\n items: pagedResult,\n });\n } else {\n return new ListDataResponseModel({\n count: result.length,\n items: result,\n });\n }\n }),\n );\n }\n\n private filteredItems(\n request: ListDataRequestModel,\n ): Observable<ListItemModel[]> {\n const showSelectedId = ['show-selected'];\n\n return this.items.pipe(\n observableMap((items) => {\n let dataChanged = false;\n let search = request.search;\n const sort = request.sort;\n let filters: ListFilterModel[] = request.filters;\n\n if (this.lastItems === undefined || this.lastItems !== items) {\n dataChanged = true;\n this.lastItems = items;\n }\n\n let searchChanged = false;\n let filtersChanged = false;\n\n if (request.isToolbarDisabled) {\n searchChanged = true;\n search = new ListSearchModel();\n\n filters = filters.filter((f) => showSelectedId.indexOf(f.name) >= 0);\n filtersChanged = true;\n } else {\n if (this.lastSearch === undefined || this.lastSearch !== search) {\n searchChanged = true;\n }\n\n if (this.lastFilters === undefined || this.lastFilters !== filters) {\n filtersChanged = true;\n }\n }\n\n this.lastSearch = search;\n this.lastFilters = filters;\n\n let result = items;\n\n // Apply filters.\n if (\n !dataChanged &&\n !filtersChanged &&\n this.lastFilterResults !== undefined\n ) {\n result = this.lastFilterResults;\n } else if (filters && filters.length > 0) {\n result = result.filter((item) => {\n for (const filter of filters) {\n if (\n filter.value === undefined ||\n filter.value === '' ||\n filter.value === false ||\n filter.value === filter.defaultValue\n ) {\n continue;\n }\n\n if (!filter.filterFunction(item, filter.value)) {\n return false;\n }\n }\n return true;\n });\n\n this.lastFilterResults = result;\n } else {\n this.lastFilterResults = undefined;\n }\n\n // Apply search.\n /* istanbul ignore next */\n if (\n !dataChanged &&\n !searchChanged &&\n this.lastSearchResults !== undefined &&\n !filtersChanged\n ) {\n result = this.lastSearchResults;\n } else if (\n search &&\n search.searchText !== undefined &&\n search.searchText.length > 0\n ) {\n const searchText = search.searchText.toLowerCase();\n let searchFunctions: any[];\n if (this.searchFunction !== undefined) {\n searchFunctions = [this.searchFunction];\n } else {\n searchFunctions = search.functions;\n }\n\n result = result.filter((item) => {\n let isMatch = false;\n\n for (const searchFunction of searchFunctions) {\n const searchResult = searchFunction(item.data, searchText);\n\n if (\n (typeof searchResult === 'string' &&\n searchResult.indexOf(searchText) !== -1) ||\n searchResult === true\n ) {\n isMatch = true;\n break;\n }\n }\n\n return isMatch;\n });\n\n this.lastSearchResults = result;\n } else {\n this.lastSearchResults = undefined;\n }\n\n // Apply sort.\n if (sort && sort.fieldSelectors.length > 0) {\n result = result\n .slice()\n .sort((item1: ListItemModel, item2: ListItemModel) => {\n let compareResult = 0;\n for (const selector of sort.fieldSelectors) {\n const value1 = getData(item1.data, selector.fieldSelector);\n const value2 = getData(item2.data, selector.fieldSelector);\n\n compareResult = compare(value1, value2);\n\n if (selector.descending && compareResult !== 0) {\n compareResult *= -1;\n }\n\n if (compareResult !== 0) {\n break;\n }\n }\n\n return compareResult;\n });\n }\n return result;\n }),\n );\n }\n}\n","import { Observable } from 'rxjs';\nimport { distinctUntilChanged, map as observableMap } from 'rxjs/operators';\n\nimport { SkyListComponent } from '../list/list.component';\n\nimport { ListState } from './state/list-state.state-node';\n\nlet idIndex = 0;\n\n/**\n * @internal\n * @deprecated\n */\nexport abstract class ListViewComponent {\n public active: Observable<boolean>;\n\n protected viewName: string;\n protected state: ListState;\n protected list: SkyListComponent;\n protected hasToolbar: Observable<boolean>;\n private viewId = `sky-list-view-cmp-${++idIndex}`;\n\n constructor(state: ListState, defaultName: string) {\n this.state = state;\n this.viewName = defaultName;\n\n /* istanbul ignore next */\n this.hasToolbar = this.state.pipe(observableMap((s) => s.toolbar.exists));\n\n this.active = this.state.pipe(\n observableMap((s) => s.views.active === this.viewId),\n );\n\n this.active\n .pipe(distinctUntilChanged())\n .subscribe((isActive) =>\n isActive ? this.onViewActive() : this.onViewInactive(),\n );\n }\n\n public get id(): string {\n return this.viewId;\n }\n\n public get label(): string {\n return this.viewName;\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewActive(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewInactive(): void {}\n}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListItemsLoadAction {\n constructor(\n public items: ListItemModel[],\n public refresh = false,\n public dataChanged = true,\n public count?: number,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListItemsSetLoadingAction {\n constructor(public loading = true) {}\n}\n","import { ListFilterModel } from '../../../list-filters/filter.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListFiltersUpdateAction {\n constructor(public filters: ListFilterModel[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetFieldSelectorsAction {\n constructor(public fieldSelectors: string[] = []) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetFunctionsAction {\n constructor(\n public functions: ((data: any, searchText: string) => boolean)[] = [],\n ) {}\n}\n","import { ListSearchSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './set-functions.action';\nimport { ListSearchSetSearchTextAction } from './set-search-text.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetOptionsAction {\n constructor(\n public searchTextAction: ListSearchSetSearchTextAction,\n public setFieldSelectorsAction: ListSearchSetFieldSelectorsAction,\n public setFunctionsAction: ListSearchSetFunctionsAction,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetSearchTextAction {\n constructor(public searchText: string) {}\n}\n","import { Observable } from 'rxjs';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetItemsSelectedAction {\n constructor(\n public items: string[] | Observable<string[]>,\n public selected = false,\n public refresh = true,\n ) {}\n}\n","import { ListSortLabelModel } from './label.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetAvailableAction {\n constructor(public available: ListSortLabelModel[]) {}\n}\n","import { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetFieldSelectorsAction {\n constructor(public fieldSelectors: ListSortFieldSelectorModel[]) {}\n}\n","import { ListSortLabelModel } from './label.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetGlobalAction {\n constructor(public global: ListSortLabelModel[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsDisableAction {\n constructor(public disable: boolean) {}\n}\n","import { ListToolbarItemModel } from './toolbar-item.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsLoadAction {\n constructor(\n public items: ListToolbarItemModel[],\n public index = -1,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsRemoveAction {\n constructor(public ids: string[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarSetExistsAction {\n constructor(public exists: boolean) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarShowMultiselectToolbarAction {\n constructor(public exists: boolean) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListViewsSetActiveAction {\n constructor(public view: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n ListSortFieldSelectorModel,\n StateDispatcher,\n StateOrchestrator,\n} from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListFiltersUpdateAction } from './filters/update.action';\nimport { ListStateAction } from './list-state-action.type';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSearchSetFieldSelectorsAction } from './search/set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './search/set-functions.action';\nimport { ListSearchSetOptionsAction } from './search/set-options.action';\nimport { ListSearchSetSearchTextAction } from './search/set-search-text.action';\nimport { ListSelectedSetItemsSelectedAction } from './selected/set-items-selected.action';\nimport { ListSortLabelModel } from './sort/label.model';\nimport { ListSortSetAvailableAction } from './sort/set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './sort/set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './sort/set-global.action';\nimport { ListToolbarItemsDisableAction } from './toolbar/disable.action';\nimport { ListToolbarItemsLoadAction } from './toolbar/load.action';\nimport { ListToolbarItemsRemoveAction } from './toolbar/remove.action';\nimport { ListToolbarSetExistsAction } from './toolbar/set-exists.action';\nimport { ListToolbarShowMultiselectToolbarAction } from './toolbar/show-multiselect-toolbar.action';\nimport { ListToolbarItemModel } from './toolbar/toolbar-item.model';\nimport { ListViewsSetActiveAction } from './views/set-active.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListStateOrchestrator<T> extends StateOrchestrator<\n T,\n ListStateAction\n> {}\n\n/**\n * @internal\n * @deprecated\n */\n@Injectable()\nexport class ListStateDispatcher extends StateDispatcher<ListStateAction> {\n public viewsSetActive(id: string): void {\n this.next(new ListViewsSetActiveAction(id));\n }\n\n public toolbarExists(exists: boolean): void {\n this.next(new ListToolbarSetExistsAction(exists));\n }\n\n public toolbarSetDisabled(disabled: boolean): void {\n this.next(new ListToolbarItemsDisableAction(disabled));\n }\n\n public toolbarAddItems(items: ListToolbarItemModel[], index = -1): void {\n this.next(new ListToolbarItemsLoadAction(items, index));\n }\n\n public toolbarRemoveItems(ids: string[]): void {\n this.next(new ListToolbarItemsRemoveAction(ids));\n }\n\n public toolbarShowMultiselectToolbar(show: boolean): void {\n this.next(new ListToolbarShowMultiselectToolbarAction(show));\n }\n\n public searchSetFunctions(\n sortFunctions: ((data: any, searchText: string) => boolean)[],\n ): void {\n this.next(new ListSearchSetFunctionsAction(sortFunctions));\n }\n\n /* istanbul ignore next */\n public searchSetFieldSelectors(fieldSelectors: string[]): void {\n this.next(new ListSearchSetFieldSelectorsAction(fieldSelectors));\n }\n\n public searchSetText(searchText: string): void {\n this.next(new ListSearchSetSearchTextAction(searchText));\n }\n\n public searchSetOptions(searchOptions: ListSearchModel): void {\n this.next(\n new ListSearchSetOptionsAction(\n new ListSearchSetSearchTextAction(searchOptions.searchText),\n new ListSearchSetFieldSelectorsAction(searchOptions.fieldSelectors),\n new ListSearchSetFunctionsAction(searchOptions.functions),\n ),\n );\n }\n\n public sortSetAvailable(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetAvailableAction(sortLabels));\n }\n\n public sortSetFieldSelectors(\n fieldSelectors: ListSortFieldSelectorModel[],\n ): void {\n this.next(new ListSortSetFieldSelectorsAction(fieldSelectors));\n }\n\n public sortSetGlobal(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetGlobalAction(sortLabels));\n }\n\n public filtersUpdate(filters: ListFilterModel[]): void {\n this.next(new ListFiltersUpdateAction(filters));\n }\n\n public setSelected(\n selectedIds: string[],\n selected: boolean,\n refresh = false,\n ): void {\n this.next(\n new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh),\n );\n }\n}\n","import { ListFilterModel } from '../../../list-filters/filter.model';\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListFiltersUpdateAction } from './update.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListFiltersOrchestrator extends ListStateOrchestrator<\n ListFilterModel[]\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListFiltersUpdateAction, this.update);\n }\n\n private update(\n state: ListFilterModel[],\n action: ListFiltersUpdateAction,\n ): ListFilterModel[] {\n return [...action.filters];\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListItemsSetSelectedAction {\n constructor(\n public items: string[],\n /* istanbul ignore next */\n public selected = false,\n public refresh = true,\n ) {}\n}\n","import { AsyncList, ListItemModel } from '@skyux/list-builder-common';\n\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListItemsLoadAction } from './load.action';\nimport { ListItemsSetSelectedAction } from './set-items-selected.action';\nimport { ListItemsSetLoadingAction } from './set-loading.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListItemsOrchestrator extends ListStateOrchestrator<\n AsyncList<ListItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListItemsSetLoadingAction, this.setLoading)\n .register(ListItemsLoadAction, this.load)\n .register(ListItemsSetSelectedAction, this.setItemsSelected);\n }\n\n private setLoading(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetLoadingAction,\n ): AsyncList<ListItemModel> {\n return new AsyncList<ListItemModel>(\n state.items,\n state.lastUpdate,\n action.loading,\n state.count,\n );\n }\n\n private load(\n state: AsyncList<ListItemModel>,\n action: ListItemsLoadAction,\n ): AsyncList<ListItemModel> {\n const newListItems = action.items.map(\n (g) => new ListItemModel(g.id, g.data, g.isSelected),\n );\n const resultItems = action.refresh\n ? [...newListItems]\n : [...state.items, ...newListItems];\n\n const count =\n action.count === undefined ? resultItems.length : action.count;\n return new AsyncList<ListItemModel>(\n resultItems,\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n count,\n );\n }\n\n private setItemsSelected(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetSelectedAction,\n ): AsyncList<ListItemModel> {\n /* istanbul ignore next */\n const newSelectedIds = action.items || [];\n const newListItemModels = this.cloneListItemModelArray(state.items);\n\n if (action.refresh) {\n newListItemModels.forEach((item) => (item.isSelected = undefined));\n }\n\n newSelectedIds.map((s) => {\n const newItem = newListItemModels.find((i) => i.id === s);\n /* istanbul ignore next */\n if (newItem) {\n newItem.isSelected = action.selected;\n }\n });\n\n return new AsyncList<ListItemModel>(\n newListItemModels,\n Date.now(),\n state.loading,\n state.count,\n );\n }\n\n private cloneListItemModelArray(source: ListItemModel[]): ListItemModel[] {\n const newListItems: ListItemModel[] = [];\n source.forEach((item) => {\n newListItems.push(\n new ListItemModel(\n item.id,\n Object.assign({}, item.data),\n item.isSelected,\n ),\n );\n });\n return newListItems;\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingModel {\n public itemsPerPage: number;\n public maxDisplayedPages: number;\n public pageCount: number;\n public pageNumber: number;\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.itemsPerPage = data.itemsPerPage || 10;\n this.maxDisplayedPages = data.maxDisplayedPages || 5;\n this.pageCount = data.pageCount || 0;\n this.pageNumber = data.pageNumber || 1;\n }\n }\n}\n","/**\n * Contains data about the selected items in the list.\n * @deprecated\n */\nexport class ListSelectedModel {\n /**\n * A map of key value pairs that consists of IDs for selected items\n * and boolean values for their selected states.\n */\n public selectedIdMap: Map<string, boolean>;\n\n constructor() {\n this.selectedIdMap = new Map<string, boolean>();\n }\n}\n","import { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\nimport { ListSortLabelModel } from './label.model';\n\n/**\n * Specifies a set of fields to sort by.\n * @deprecated\n */\nexport class ListSortModel {\n /**\n * The list of available views to sort.\n */\n public available: ListSortLabelModel[] = [];\n /**\n * The list views that the sort applies to.\n */\n public global: ListSortLabelModel[] = [];\n /**\n * The fields to sort.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public fieldSelectors: ListSortFieldSelectorModel[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.available = data.available;\n this.global = data.global;\n this.fieldSelectors = data.fieldSelectors;\n }\n }\n}\n","import { ListToolbarItemModel } from './toolbar-item.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarModel {\n public exists: boolean;\n public disabled: boolean;\n public items: ListToolbarItemModel[] = [];\n public type: string;\n public showMultiselectToolbar = false;\n\n constructor(data?: any) {\n if (data) {\n this.exists = data.exists;\n this.disabled = data.disabled;\n this.items = data.items;\n this.type = data.type;\n this.showMultiselectToolbar = data.showMultiselectToolbar;\n }\n }\n}\n","import { ListViewModel } from './view.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsModel {\n public active: string;\n public views: ListViewModel[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.active = data.active;\n this.views = data.views;\n }\n }\n}\n","import {\n AsyncItem,\n AsyncList,\n ListItemModel,\n} from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListPagingModel } from './paging/paging.model';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSelectedModel } from './selected/selected.model';\nimport { ListSortModel } from './sort/sort.model';\nimport { ListToolbarModel } from './toolbar/toolbar.model';\nimport { ListViewsModel } from './views/views.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListStateModel {\n public filters: ListFilterModel[] = [];\n public items: AsyncList<ListItemModel> = new AsyncList<ListItemModel>();\n public paging: ListPagingModel = new ListPagingModel();\n public search: ListSearchModel = new ListSearchModel();\n public selected: AsyncItem<ListSelectedModel> =\n new AsyncItem<ListSelectedModel>();\n public sort: ListSortModel = new ListSortModel();\n public toolbar: ListToolbarModel = new ListToolbarModel();\n public views: ListViewsModel = new ListViewsModel();\n\n constructor() {\n this.selected.item = new ListSelectedModel();\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetItemsPerPageAction {\n constructor(public itemsPerPage: number) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetMaxPagesAction {\n constructor(public maxPages: number) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetPageNumberAction {\n constructor(public pageNumber: number) {}\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListPagingModel } from './paging.model';\nimport { ListPagingSetItemsPerPageAction } from './set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from './set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from './set-page-number.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListPagingOrchestrator extends ListStateOrchestrator<ListPagingModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListPagingSetMaxPagesAction, this.setMaxPages)\n .register(ListPagingSetItemsPerPageAction, this.setItemsPerPage)\n .register(ListPagingSetPageNumberAction, this.setPageNumber);\n }\n\n private setMaxPages(\n state: ListPagingModel,\n action: ListPagingSetMaxPagesAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { maxDisplayedPages: Number(action.maxPages) }),\n );\n }\n\n private setItemsPerPage(\n state: ListPagingModel,\n action: ListPagingSetItemsPerPageAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { itemsPerPage: Number(action.itemsPerPage) }),\n );\n }\n\n private setPageNumber(\n state: ListPagingModel,\n action: ListPagingSetPageNumberAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { pageNumber: Number(action.pageNumber) }),\n );\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSearchModel } from './search.model';\nimport { ListSearchSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './set-functions.action';\nimport { ListSearchSetOptionsAction } from './set-options.action';\nimport { ListSearchSetSearchTextAction } from './set-search-text.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSearchOrchestrator extends ListStateOrchestrator<ListSearchModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSearchSetSearchTextAction, this.setSearchText)\n .register(ListSearchSetFunctionsAction, this.setFunctions)\n .register(ListSearchSetFieldSelectorsAction, this.setFieldSelectors)\n .register(ListSearchSetOptionsAction, this.setOptions);\n }\n\n private setSearchText(\n state: ListSearchModel,\n action: ListSearchSetSearchTextAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, {\n searchText: action.searchText ? action.searchText : '',\n }),\n );\n }\n\n private setFunctions(\n state: ListSearchModel,\n action: ListSearchSetFunctionsAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, { functions: [...action.functions] }),\n );\n }\n\n private setFieldSelectors(\n state: ListSearchModel,\n action: ListSearchSetFieldSelectorsAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, { fieldSelectors: [...action.fieldSelectors] }),\n );\n }\n\n private setOptions(\n state: ListSearchModel,\n action: ListSearchSetOptionsAction,\n ): ListSearchModel {\n let result = state;\n\n /* istanbul ignore else */\n if (action.searchTextAction) {\n result = this.setSearchText(result, action.searchTextAction);\n }\n\n /* istanbul ignore else */\n if (action.setFieldSelectorsAction) {\n result = this.setFieldSelectors(result, action.setFieldSelectorsAction);\n }\n\n /* istanbul ignore else */\n if (action.setFunctionsAction) {\n result = this.setFunctions(result, action.setFunctionsAction);\n }\n\n return result;\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedLoadAction {\n constructor(public items: string[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetItemSelectedAction {\n constructor(\n public id: any,\n public selected: boolean,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetLoadingAction {\n constructor(public loading = true) {}\n}\n","import { AsyncItem } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSelectedLoadAction } from './load.action';\nimport { ListSelectedModel } from './selected.model';\nimport { ListSelectedSetItemSelectedAction } from './set-item-selected.action';\nimport { ListSelectedSetItemsSelectedAction } from './set-items-selected.action';\nimport { ListSelectedSetLoadingAction } from './set-loading.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedOrchestrator extends ListStateOrchestrator<\n AsyncItem<ListSelectedModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSelectedSetLoadingAction, this.setLoading)\n .register(ListSelectedSetItemSelectedAction, this.setItemSelected)\n .register(ListSelectedSetItemsSelectedAction, this.setItemsSelected)\n .register(ListSelectedLoadAction, this.load);\n }\n\n private setLoading(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetLoadingAction,\n ): AsyncItem<ListSelectedModel> {\n return new AsyncItem<ListSelectedModel>(\n state.item,\n state.lastUpdate,\n action.loading,\n );\n }\n\n private load(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedLoadAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelected = new ListSelectedModel();\n action.items.map((s) => newSelected.selectedIdMap.set(s, true));\n\n return new AsyncItem<ListSelectedModel>(\n Object.assign({}, state.item, newSelected),\n Date.now(),\n false,\n );\n }\n\n private setItemSelected(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetItemSelectedAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelected = this.cloneListSelectedModel(state.item);\n\n newSelected.selectedIdMap.set(action.id, action.selected);\n\n return new AsyncItem<ListSelectedModel>(\n newSelected,\n state.lastUpdate,\n state.loading,\n );\n }\n\n private setItemsSelected(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetItemsSelectedAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelectedIds = action.items || [];\n const newListSelectedModel = action.refresh\n ? new ListSelectedModel()\n : this.cloneListSelectedModel(state.item);\n\n if (newSelectedIds instanceof Observable) {\n newSelectedIds.pipe(take(1)).subscribe((selectedIds) => {\n selectedIds.map((s) =>\n newListSelectedModel.selectedIdMap.set(s, action.selected),\n );\n });\n } else {\n newSelectedIds.map((s) =>\n newListSelectedModel.selectedIdMap.set(s, action.selected),\n );\n }\n\n return new AsyncItem<ListSelectedModel>(\n newListSelectedModel,\n state.lastUpdate,\n state.loading,\n );\n }\n\n private cloneListSelectedModel(source: ListSelectedModel): ListSelectedModel {\n const newListItems = new ListSelectedModel();\n newListItems.selectedIdMap = new Map<string, boolean>(source.selectedIdMap);\n\n return newListItems;\n }\n}\n","/**\n * These properties are a work in progress, and we do not recommend using them.\n * @deprecated\n */\nexport class ListSortLabelModel {\n /**\n * The text for the label.\n */\n public text: string;\n /**\n * The label type.\n */\n public fieldType: string;\n /**\n * The fields to sort.\n */\n public fieldSelector: string;\n /**\n * Whether to sort all fields.\n * @default false\n */\n public global = false;\n /**\n * Whether to sort in descending order.\n * @default false\n */\n public descending = false;\n\n constructor(data?: any) {\n if (data) {\n this.text = data.text;\n this.fieldType = data.fieldType;\n this.fieldSelector = data.fieldSelector;\n this.global = data.global;\n this.descending = data.descending;\n }\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSortLabelModel } from './label.model';\nimport { ListSortSetAvailableAction } from './set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './set-global.action';\nimport { ListSortModel } from './sort.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortOrchestrator extends ListStateOrchestrator<ListSortModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSortSetFieldSelectorsAction, this.setFieldSelectors)\n .register(ListSortSetAvailableAction, this.setAvailable)\n .register(ListSortSetGlobalAction, this.setGlobal);\n }\n\n private setFieldSelectors(\n state: ListSortModel,\n action: ListSortSetFieldSelectorsAction,\n ): ListSortModel {\n return new ListSortModel(\n Object.assign({}, state, { fieldSelectors: action.fieldSelectors }),\n );\n }\n\n private setAvailable(\n state: ListSortModel,\n action: ListSortSetAvailableAction,\n ): ListSortModel {\n const newAvailable = action.available.map(\n (available) => new ListSortLabelModel(available),\n );\n return new ListSortModel(\n Object.assign({}, state, { available: newAvailable }),\n );\n }\n\n private setGlobal(\n state: ListSortModel,\n action: ListSortSetGlobalAction,\n ): ListSortModel {\n const newGlobal = action.global.map(\n (global) => new ListSortLabelModel(global),\n );\n return new ListSortModel(Object.assign({}, state, { global: newGlobal }));\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarSetTypeAction {\n constructor(public type: string) {}\n}\n","import { TemplateRef } from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemModel {\n public index = -1;\n public template: TemplateRef<unknown>;\n public location: string;\n public view: string;\n\n public id: string;\n\n constructor(data?: any) {\n if (data) {\n this.index = data.index;\n this.template = data.template;\n this.location = data.location;\n this.view = data.view;\n this.id = data.id;\n }\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListToolbarItemsDisableAction } from './disable.action';\nimport { ListToolbarItemsLoadAction } from './load.action';\nimport { ListToolbarItemsRemoveAction } from './remove.action';\nimport { ListToolbarSetExistsAction } from './set-exists.action';\nimport { ListToolbarSetTypeAction } from './set-type.action';\nimport { ListToolbarShowMultiselectToolbarAction } from './show-multiselect-toolbar.action';\nimport { ListToolbarItemModel } from './toolbar-item.model';\nimport { ListToolbarModel } from './toolbar.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarOrchestrator extends ListStateOrchestrator<ListToolbarModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListToolbarSetExistsAction, this.setExists)\n .register(ListToolbarItemsDisableAction, this.setDisabled)\n .register(ListToolbarItemsLoadAction, this.load)\n .register(ListToolbarSetTypeAction, this.setType)\n .register(ListToolbarItemsRemoveAction, this.remove)\n .register(\n ListToolbarShowMultiselectToolbarAction,\n this.showMultiselectToolbar,\n );\n }\n\n private setExists(\n state: ListToolbarModel,\n action: ListToolbarSetExistsAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.exists = action.exists;\n return newModel;\n }\n\n private setDisabled(\n state: ListToolbarModel,\n action: ListToolbarItemsDisableAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.disabled = action.disable;\n return newModel;\n }\n\n private setType(\n state: ListToolbarModel,\n action: ListToolbarSetTypeAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.type = action.type;\n return newModel;\n }\n\n private load(\n state: ListToolbarModel,\n action: ListToolbarItemsLoadAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n\n const newListItems = action.items.map((item) => {\n /**\n * NOTE: Originally this function went off the action index and item models did not include\n * the index. We changed this but must leave functionality to convert the action index for\n * backwards compatibility.\n */\n if (!item.index) {\n item.index = action.index;\n }\n return new ListToolbarItemModel(item);\n });\n\n let items = [...state.items, ...newListItems];\n items = items.sort((a, b) => {\n if (a.index < b.index) {\n return -1;\n } else if (a.index > b.index) {\n return 1;\n } else {\n return 0;\n }\n });\n\n newModel.items = items;\n\n return newModel;\n }\n\n private remove(\n state: ListToolbarModel,\n action: ListToolbarItemsRemoveAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n\n newModel.items = newModel.items.filter((item: ListToolbarItemModel) => {\n return action.ids.indexOf(item.id) === -1;\n });\n\n return newModel;\n }\n\n private showMultiselectToolbar(\n state: ListToolbarModel,\n action: ListToolbarShowMultiselectToolbarAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.showMultiselectToolbar = action.exists;\n return newModel;\n }\n}\n","import { ListViewModel } from './view.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsLoadAction {\n constructor(public views: ListViewModel[]) {}\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListViewsLoadAction } from './load.action';\nimport { ListViewsSetActiveAction } from './set-active.action';\nimport { ListViewsModel } from './views.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsOrchestrator extends ListStateOrchestrator<ListViewsModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListViewsSetActiveAction, this.setActive).register(\n ListViewsLoadAction,\n this.load,\n );\n }\n\n private setActive(\n state: ListViewsModel,\n action: ListViewsSetActiveAction,\n ): ListViewsModel {\n return new ListViewsModel(\n Object.assign({}, state, { active: action.view }),\n );\n }\n\n private load(\n state: ListViewsModel,\n action: ListViewsLoadAction,\n ): ListViewsModel {\n return new ListViewsModel(\n Object.assign({}, state, { views: action.views }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ListFiltersOrchestrator } from './filters/filters.orchestrator';\nimport { ListItemsOrchestrator } from './items/items.orchestrator';\nimport { ListStateModel } from './list-state.model';\nimport { ListStateDispatcher } from './list-state.rxstate';\nimport { ListPagingOrchestrator } from './paging/paging.orchestrator';\nimport { ListSearchOrchestrator } from './search/search.orchestrator';\nimport { ListSelectedOrchestrator } from './selected/selected.orchestrator';\nimport { ListSortOrchestrator } from './sort/sort.orchestrator';\nimport { ListToolbarOrchestrator } from './toolbar/toolbar.orchestrator';\nimport { ListViewsOrchestrator } from './views/views.orchestrator';\n\n/**\n * @internal\n * @deprecated\n */\n@Injectable()\nexport class ListState extends StateNode<ListStateModel> {\n constructor(dispatcher: ListStateDispatcher) {\n super(new ListStateModel(), dispatcher);\n\n this.register('filters', ListFiltersOrchestrator)\n .register('items', ListItemsOrchestrator)\n .register('paging', ListPagingOrchestrator)\n .register('search', ListSearchOrchestrator)\n .register('sort', ListSortOrchestrator)\n .register('toolbar', ListToolbarOrchestrator)\n .register('views', ListViewsOrchestrator)\n .register('selected', ListSelectedOrchestrator)\n .begin();\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListViewModel {\n public id: string;\n public name: string;\n\n constructor(id: string, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport {\n AsyncItem,\n ListItemModel,\n ListSortFieldSelectorModel,\n getValue,\n isObservable,\n} from '@skyux/list-builder-common';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n of as observableOf,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n flatMap,\n map as observableMap,\n skip,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\nimport { ListDataProvider } from './list-data.provider';\nimport { ListViewComponent } from './list-view.component';\nimport { ListItemsLoadAction } from './state/items/load.action';\nimport { ListItemsSetLoadingAction } from './state/items/set-loading.action';\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSelectedLoadAction } from './state/selected/load.action';\nimport { ListSelectedModel } from './state/selected/selected.model';\nimport { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';\nimport { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';\nimport { ListSortModel } from './state/sort/sort.model';\nimport { ListViewsLoadAction } from './state/views/load.action';\nimport { ListViewsSetActiveAction } from './state/views/set-active.action';\nimport { ListViewModel } from './state/views/view.model';\n\nlet idIndex = 0;\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@Component({\n selector: 'sky-list',\n template: '<ng-content />',\n providers: [ListState, ListStateDispatcher],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListComponent\n implements AfterContentInit, OnChanges, OnDestroy\n{\n public id = `sky-list-cmp-${++idIndex}`;\n /**\n * The data to display. The list component requires this property or the\n * `dataProvider` property. For checklist or multiselect grids, each row requires an\n * `id` property to manage selected items with the `selectedIds` input and the\n * `selectedIdsChange` event. If you do not provide an `id`, the list automatically\n * generates one. To update data in your view outside of a `dataProvider`, you must use\n * an observable instead of a static array.\n */\n @Input()\n public data?: any[] | Observable<any[]> = [];\n\n /**\n * The data provider that obtains the data to display. The list component requires\n * this property or the `data` property. For lists that use `dataProvider` instead of `data`,\n * consumers are responsible for managing all `ListDataRequestModel` properties.\n * @default SkyListInMemoryDataProvider\n */\n @Input()\n public dataProvider?: ListDataProvider;\n\n /**\n * @internal\n */\n @Input()\n public defaultView?: ListViewComponent;\n\n /**\n * The total number of items for the initial data set when initialized. When\n * used in conjunction with `data` and `dataProvider`, it allows an initial data to be\n * set with the need to call the `dataProvider`.\n */\n @Input()\n public initialTotal?: number;\n\n /**\n * The set of IDs for the items to select in a checklist or multiselect grid.\n * The IDs match the `id` properties of the `data` objects. Items with IDs that are not\n * included are de-selected in the checklist or multiselect grid.\n */\n @Input()\n public selectedIds?: string[] | Observable<string[]>;\n\n /**\n * The set of fields to sort by. If array of fields then sorted by order of array.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n @Input()\n public sortFields?:\n | ListSortFieldSelectorModel\n | ListSortFieldSelectorModel[]\n | Observable<ListSortFieldSelectorModel[]>\n | Observable<ListSortFieldSelectorModel>;\n\n /**\n * The set of filters to apply to list data.\n * These filters create a filter summary when the list includes the\n * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list-filters)\n * component.\n */\n @Input()\n public appliedFilters: ListFilterModel[] = [];\n\n /**\n * For list views that support item selection, emits the selected entries.\n */\n @Output()\n public selectedIdsChange = new EventEmitter<Map<string, boolean>>();\n\n /**\n * Emits the filters applied to the list.\n */\n @Output()\n public appliedFiltersChange = new EventEmitter<ListFilterModel[]>();\n\n /**\n * The function to apply as a global sort on the list.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('search')\n public searchFunction: (data: any, searchText: string) => boolean;\n\n private dataFirstLoad = false;\n\n @ContentChildren(ListViewComponent)\n private listViews: QueryList<ListViewComponent>;\n\n private lastSelectedIds: string[] = [];\n\n private lastFilters: ListFilterModel[] = [];\n\n private ngUnsubscribe = new Subject<void>();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n logger: SkyLogService,\n ) {\n logger.deprecated('SkyListComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n\n public ngAfterContentInit(): void {\n if (this.data && this.dataProvider && this.initialTotal) {\n this.dataFirstLoad = true;\n }\n\n if (this.listViews.length > 0) {\n const defaultView: ListViewComponent =\n this.defaultView === undefined\n ? this.listViews.first\n : this.defaultView;\n\n this.dispatcher.next(\n new ListViewsLoadAction(\n this.listViews.map((v) => new ListViewModel(v.id, v.label)),\n ),\n );\n\n // activate the default view\n this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));\n } else {\n return;\n }\n\n // set sort fields\n getValue(\n this.sortFields,\n (\n sortFields: ListSortFieldSelectorModel[] | ListSortFieldSelectorModel,\n ) => {\n let sortArray: ListSortFieldSelectorModel[];\n if (!Array.isArray(sortFields) && sortFields) {\n sortArray = [sortFields];\n } else {\n sortArray = sortFields as ListSortFieldSelectorModel[];\n }\n this.dispatcher.next(\n new ListSortSetFieldSelectorsAction(sortArray || []),\n );\n },\n );\n\n this.displayedItems.subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count),\n );\n });\n\n // Watch for selection changes.\n this.state\n .pipe(\n observableMap((current) => current.selected),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n )\n .subscribe((selected) => {\n // Update lastSelectedIds to help us retain user selections.\n const selectedIdsList: string[] = [];\n selected.item.selectedIdMap.forEach((value, key) => {\n if (value === true) {\n selectedIdsList.push(key);\n }\n });\n\n // If changes are distinct, emit selectedIdsChange.\n const distinctChanges = !this.arraysEqual(\n this.lastSelectedIds,\n selectedIdsList,\n );\n if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {\n this.selectedIdsChange.emit(selected.item.selectedIdMap);\n }\n\n this.lastSelectedIds = selectedIdsList;\n });\n\n if (this.appliedFiltersChange.observers.length > 0) {\n this.state\n .pipe(\n observableMap((current) => current.filters),\n takeUntil(this.ngUnsubscribe),\n skip(1),\n )\n .subscribe((filters) => {\n /**\n * We are doing this instead of a distinctUntilChange due to memory allocation issues\n * with the javascript array. To fix fully the array should be changed to an object in\n * a breaking change.\n */\n if (!this.arraysEqual(filters, this.lastFilters)) {\n this.lastFilters = filters.slice(0);\n this.appliedFiltersChange.emit(filters);\n }\n });\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['appliedFilters'] &&\n changes['appliedFilters'].currentValue !==\n changes['appliedFilters'].previousValue\n ) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(this.appliedFilters);\n });\n }\n if (changes['selectedIds']) {\n // Only send selection changes to dispatcher if changes are distinct.\n const newSelectedIds = changes['selectedIds'].currentValue;\n if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {\n this.dispatcher.setSelected(newSelectedIds, true, true);\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public refreshDisplayedItems(): void {\n this.displayedItems.pipe(take(1)).subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count),\n );\n });\n }\n\n public get displayedItems(): Observable<ListDataResponseModel> {\n if (!this.data && !this.dataProvider) {\n throw new Error('List requires data or dataProvider to be set.');\n }\n\n let data: any = this.data;\n if (!isObservable(data)) {\n data = observableOf(this.data);\n }\n\n if (!this.dataProvider) {\n this.dataProvider = new SkyListInMemoryDataProvider(\n data,\n this.searchFunction,\n );\n }\n\n let selectedIds = this.selectedIds || observableOf([]);\n if (!isObservable(selectedIds)) {\n selectedIds = observableOf(selectedIds);\n }\n\n let selectedChanged = false;\n\n // This subject is used to cancel previous request to the list's data provider when a new change\n // to the list's state occurs. In a future breaking change this should be replaced or coupled\n // with adding a debounce time to the Observable which watches for state changes.\n const cancelLastRequest = new Subject<void>();\n\n return observableCombineLatest(\n [\n this.state.pipe(\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.search),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.toolbar.disabled),\n distinctUntilChanged(),\n ),\n selectedIds.pipe(\n distinctUntilChanged(),\n observableMap((selected) => {\n selectedChanged = true;\n return selected;\n }),\n ),\n data.pipe(distinctUntilChanged()),\n ],\n (\n filters: ListFilterModel[],\n search: ListSearchModel,\n sortFieldSelectors: ListSortFieldSelectorModel[],\n itemsPerPage: number,\n pageNumber: number,\n isToolbarDisabled: boolean,\n selected: string[],\n itemsData: any[],\n ) => {\n cancelLastRequest.next();\n cancelLastRequest.complete();\n if (selectedChanged) {\n this.dispatcher.next(new ListSelectedSetLoadingAction());\n this.dispatcher.next(new ListSelectedLoadAction(selected));\n this.dispatcher.next(new ListSelectedSetLoadingAction(false));\n selectedChanged = false;\n }\n\n let response: Observable<ListDataResponseModel>;\n if (this.dataFirstLoad) {\n this.dataFirstLoad = false;\n const initialItems = itemsData.map(\n (d) =>\n new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d),\n );\n response = observableOf(\n new ListDataResponseModel({\n count: this.initialTotal,\n items: initialItems,\n }),\n ).pipe(takeUntil(cancelLastRequest));\n } else {\n response = this.dataProvider\n .get(\n new ListDataRequestModel({\n filters: filters,\n pageSize: itemsPerPage,\n pageNumber: pageNumber,\n search: search,\n sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),\n isToolbarDisabled: isToolbarDisabled,\n }),\n )\n .pipe(takeUntil(cancelLastRequest));\n }\n\n return response;\n },\n ).pipe(\n takeUntil(this.ngUnsubscribe),\n\n // Retain user selections from previous state.\n // This is only necessary for grids component (based on item.isSelected).\n observableMap((response) => {\n return response.pipe(\n observableMap((listDataResponseModel) => {\n return new ListDataResponseModel({\n count: listDataResponseModel.count,\n items: this.getItemsAndRetainSelections(\n listDataResponseModel.items,\n this.lastSelectedIds,\n ),\n });\n }),\n );\n }),\n flatMap((value) => value),\n );\n }\n\n public get selectedItems(): Observable<ListItemModel[]> {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((current) => current.items.items),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((current) => current.selected),\n distinctUntilChanged(),\n ),\n (items: ListItemModel[], selected: AsyncItem<ListSelectedModel>) => {\n return items.filter((i) => selected.item.selectedIdMap.get(i.id));\n },\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n public get lastUpdate(): Observable<Date> {\n return this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) =>\n s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined,\n ),\n );\n }\n\n public get views(): ListViewComponent[] {\n return this.listViews.toArray();\n }\n\n public get itemCount(): Observable<number> {\n return this.dataProvider.count();\n }\n\n private getItemsAndRetainSelections(\n newList: ListItemModel[],\n selectedIds: string[],\n ): ListItemModel[] {\n const updatedListModel = newList.slice();\n updatedListModel.forEach((item) => {\n item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;\n });\n return updatedListModel;\n }\n\n private arraysEqual(arrayA: any[], arrayB: any[]): boolean {\n /* istanbul ignore next */\n if (arrayA === arrayB) {\n return true;\n }\n if (arrayA === undefined || arrayB === undefined) {\n return false;\n }\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n for (let i = 0; i < arrayA.length; ++i) {\n if (arrayA[i] !== arrayB[i]) {\n return false;\n }\n }\n return true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyListComponent } from './list.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [SkyListComponent],\n imports: [CommonModule],\n exports: [SkyListComponent],\n})\nexport class SkyListModule {}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\nexport class ListFilterModel {\n /**\n * The name of the filter.\n * @required\n */\n public name: string;\n\n /**\n * The label for the filter's summary item.\n * The label defaults to the `value` of the filter.\n */\n public label: string;\n\n /**\n * Whether users can dismiss the filter's summary item.\n * @default true\n */\n public dismissible = true;\n\n /**\n * The current value of the filter.\n */\n public value: any;\n\n /**\n * The default value of the filter. When a filter equals the\n * default value, the filter does not affect the list.\n */\n public defaultValue: any;\n\n /**\n * The function that determines whether items are filtered.\n * This property is required when using an in-memory data provider.\n * For information about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n\n constructor(data?: any) {\n if (data) {\n this.name = data.name;\n this.label = data.label;\n this.filterFunction = data.filterFunction;\n this.value = data.value;\n this.dismissible = data.dismissible;\n this.defaultValue = data.defaultValue;\n }\n }\n}\n","import { EventEmitter, TemplateRef } from '@angular/core';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n */\nexport class SkyListFilterInlineModel {\n public name: string;\n public value: any;\n public defaultValue: any;\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n public onChange: EventEmitter<any> = new EventEmitter<any>();\n public template: TemplateRef<unknown>;\n\n constructor(data?: any) {\n if (data) {\n this.name = data.name;\n this.filterFunction = data.filterFunction;\n this.value = data.value;\n this.template = data.template;\n this.defaultValue = data.defaultValue;\n }\n }\n\n public changed(value: any): void {\n this.value = value;\n this.onChange.emit(value);\n }\n}\n","import {\n AfterViewInit,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\n\n/**\n * Contains a filter button for the list toolbar. Place a\n * [`sky-filter-button`](https://developer.blackbaud.com/skyux/components/filter)\n * component inside this component to open a modal with filtering options.\n * To apply filter options, use the\n * [list component's](https://developer.blackbaud.com/skyux/components/list-overview?docs-active-tab=development#class_sky-list-component)\n * `appliedFilters` property.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-button',\n templateUrl: './list-filter-button.component.html',\n standalone: false,\n})\nexport class SkyListFilterButtonComponent implements AfterViewInit {\n @ViewChild('filterButton', {\n read: TemplateRef,\n static: true,\n })\n private filterButtonTemplate: TemplateRef<unknown>;\n\n private filterButtonItemToolbarIndex = 5000;\n\n constructor(private dispatcher: ListStateDispatcher) {}\n\n public ngAfterViewInit(): void {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.filterButtonTemplate,\n location: 'left',\n index: this.filterButtonItemToolbarIndex,\n }),\n ]);\n }\n}\n","<ng-template #filterButton>\n <ng-content />\n</ng-template>\n","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-filter-inline-item-renderer',\n template: '<ng-template #container />',\n standalone: false,\n})\nexport class SkyListFilterInlineItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<unknown>;\n @Input()\n public filter: any;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n /* sanity check */\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n","import {\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnInit,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * Creates a filter in the list's inline filter area.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-inline-item',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyListFilterInlineItemComponent implements OnInit {\n /**\n * The name of the filter.\n * @required\n */\n @Input()\n public name: string;\n\n /**\n * The current value of the filter.\n */\n @Input()\n public value: any;\n\n /**\n * The default value of the filter. If the value of the filter\n * is set to the default value, then the filter is not applied.\n */\n @Input()\n public defaultValue: any;\n\n /**\n * The function that determines whether an item is filtered.\n * This property is required when using an in-memory data provider. For information\n * about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('filter')\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n\n /**\n * The template for the filter. The template can access the `filter`\n * variable that contains the `value` of the filter control, which should be bound to\n * `ngModel`, and the `changed` function, which should be called when the model changes.\n * @required\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('template')\n public templateInput: TemplateRef<unknown>;\n\n public onChange: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChildren(TemplateRef)\n private templates: QueryList<TemplateRef<unknown>>;\n\n public ngOnInit(): void {\n if (this.name === undefined || this.name.length === 0) {\n throw new Error('Inline filter requires a name.');\n }\n }\n\n public get template(): TemplateRef<unknown> {\n return this.templates.length > 0\n ? this.templates.first\n : this.templateInput;\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n QueryList,\n} from '@angular/core';\n\nimport { take } from 'rxjs/operators';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\nimport { ListFilterModel } from './filter.model';\nimport { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';\nimport { SkyListFilterInlineModel } from './list-filter-inline.model';\n\n/**\n * Creates an inline filter area for the list. Place each filter\n * in a `sky-list-filter-inline-item` component.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-inline',\n templateUrl: './list-filter-inline.component.html',\n standalone: false,\n})\nexport class SkyListFilterInlineComponent implements AfterContentInit {\n public inlineFilters: SkyListFilterInlineModel[] = [];\n\n @ContentChildren(SkyListFilterInlineItemComponent)\n private filters: QueryList<SkyListFilterInlineItemComponent>;\n\n constructor(\n private dispatcher: ListStateDispatcher,\n private state: ListState,\n ) {}\n\n public ngAfterContentInit(): void {\n this.inlineFilters = this.filters.map((filter) => {\n return new SkyListFilterInlineModel({\n name: filter.name,\n filterFunction: filter.filterFunction,\n template: filter.template,\n value: filter.value,\n defaultValue: filter.defaultValue,\n });\n });\n\n this.inlineFilters.forEach((filter) => {\n filter.onChange.subscribe((value: any) => {\n this.applyFilters();\n });\n });\n\n this.dispatcher.filtersUpdate(\n this.getFilterModelFromInline(this.inlineFilters),\n );\n }\n\n public applyFilters(): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(\n this.getFilterModelFromInline(this.inlineFilters),\n );\n });\n }\n\n private getFilterModelFromInline(\n inlineFilters: SkyListFilterInlineModel[],\n ): ListFilterModel[] {\n return inlineFilters.map((filter) => {\n return new ListFilterModel({\n name: filter.name,\n value: filter.value,\n filterFunction: filter.filterFunction,\n defaultValue: filter.defaultValue,\n });\n });\n }\n}\n","<ng-content />\n\n<sky-filter-inline>\n @for (filter of inlineFilters; track filter) {\n <sky-filter-inline-item>\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n />\n </sky-filter-inline-item>\n }\n</sky-filter-inline>\n","import {\n AfterContentInit,\n Component,\n EventEmitter,\n Output,\n} from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map as observableMap, take } from 'rxjs/operators';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\n\nimport { ListFilterModel } from './filter.model';\n\n/**\n * Creates a filter summary based on the\n * [list component's](https://developer.blackbaud.com/skyux/components/list-overview?docs-active-tab=development#class_sky-list-component)\n * `appliedFilters` property. Place this component within the\n * [`sky-list-toolbar`](https://developer.blackbaud.com/skyux/components/list-toolbar) component.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-summary',\n templateUrl: './list-filter-summary.component.html',\n standalone: false,\n})\nexport class SkyListFilterSummaryComponent implements AfterContentInit {\n /**\n * Emits a `ListFilterModel` when users select a summary item. A common use case is\n * to open a filter modal when this event is received.\n */\n @Output()\n public summaryItemClick = new EventEmitter<ListFilterModel>();\n\n public appliedFilters: Observable<ListFilterModel[]>;\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n ) {}\n\n public ngAfterContentInit(): void {\n // The setTimeout here is to ensure we avoid any ExpressionChangedAfterItHasBeenCheckedError issues.\n setTimeout(() => {\n this.appliedFilters = this.state.pipe(\n observableMap((state) => {\n return state.filters.filter((filter) => {\n return (\n filter.value !== '' &&\n filter.value !== undefined &&\n filter.value !== false &&\n filter.value !== filter.defaultValue\n );\n });\n }),\n );\n });\n }\n\n public filterSummaryItemDismiss(index: number): void {\n this.appliedFilters.pipe(take(1)).subscribe((filters) => {\n filters.splice(index, 1);\n this.dispatcher.filtersUpdate(filters.slice());\n });\n }\n\n public filterSummaryItemClick(item: ListFilterModel): void {\n this.summaryItemClick.emit(item);\n }\n}\n","<sky-filter-summary>\n @for (item of appliedFilters | async; track item; let i = $index) {\n <sky-filter-summary-item\n [dismissible]=\"item.dismissible\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n }\n</sky-filter-summary>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFilterModule } from '@skyux/lists';\n\nimport { SkyListFilterButtonComponent } from './list-filter-button.component';\nimport { SkyListFilterInlineItemRendererComponent } from './list-filter-inline-item-renderer.component';\nimport { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';\nimport { SkyListFilterInlineComponent } from './list-filter-inline.component';\nimport { SkyListFilterSummaryComponent } from './list-filter-summary.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListFilterButtonComponent,\n SkyListFilterSummaryComponent,\n SkyListFilterInlineItemComponent,\n SkyListFilterInlineComponent,\n SkyListFilterInlineItemRendererComponent,\n ],\n imports: [CommonModule, SkyFilterModule],\n exports: [\n SkyListFilterButtonComponent,\n SkyListFilterSummaryComponent,\n SkyListFilterInlineItemComponent,\n SkyListFilterInlineComponent,\n ],\n})\nexport class SkyListFiltersModule {}\n","import { BehaviorSubject } from 'rxjs';\n\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\n\n/**\n * The SKY UX-themed pagination control that displays list data across multiple pages.\n * @internal\n * @deprecated\n */\nexport abstract class ListPagingComponent {\n protected initialized = new BehaviorSubject<boolean>(false);\n protected state: ListState;\n protected dispatcher: ListStateDispatcher;\n\n constructor(state: ListState, dispatcher: ListStateDispatcher) {\n this.state = state;\n this.dispatcher = dispatcher;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n forwardRef,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { AsyncList, ListItemModel, getValue } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n scan,\n} from 'rxjs/operators';\n\nimport { ListPagingComponent } from '../list/list-paging.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetItemsPerPageAction } from '../list/state/paging/set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from '../list/state/paging/set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\n/* istanbul ignore next */\nconst listPagingComponentRef = forwardRef(() => SkyListPagingComponent);\n\n/**\n * Displays a pagination control for a SKY UX-themed list of data.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-paging',\n templateUrl: './list-paging.component.html',\n providers: [\n { provide: ListPagingComponent, useExisting: listPagingComponentRef },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListPagingComponent\n extends ListPagingComponent\n implements OnInit\n{\n /**\n * The number of list items per page.\n * @default 10\n */\n @Input()\n public pageSize: Observable<number> | number = 10;\n\n /**\n * The maximum pages to display.\n * @default 5\n */\n @Input()\n public maxPages: Observable<number> | number = 5;\n\n /**\n * The current page number.\n * @default 1\n */\n @Input()\n public pageNumber: Observable<number> | number = 1;\n\n public currentPageNumber: Observable<number>;\n\n public maxDisplayedPages: Observable<number>;\n\n public itemsPerPage: Observable<number>;\n\n public itemCount: Observable<number>;\n\n constructor(\n state: ListState,\n dispatcher: ListStateDispatcher,\n logger: SkyLogService,\n ) {\n super(state, dispatcher);\n logger.deprecated('SkyListPagingComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation:\n 'Use data manager and the paging component instead.',\n });\n }\n\n public ngOnInit(): void {\n this.currentPageNumber = this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n );\n\n this.maxDisplayedPages = this.state.pipe(\n observableMap((s) => s.paging.maxDisplayedPages),\n );\n\n this.itemsPerPage = this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n );\n\n this.itemCount = this.state.pipe(\n observableMap((s) => {\n return s.items;\n }),\n scan(\n (\n previousValue: AsyncList<ListItemModel>,\n newValue: AsyncList<ListItemModel>,\n ) => {\n if (previousValue.lastUpdate > newValue.lastUpdate) {\n return previousValue;\n } else {\n return newValue;\n }\n },\n ),\n observableMap((result: AsyncList<ListItemModel>) => {\n return result.count;\n }),\n distinctUntilChanged(),\n );\n\n // subscribe to or use inputs\n getValue(this.pageSize, (pageSize: number) =>\n this.dispatcher.next(\n new ListPagingSetItemsPerPageAction(Number(pageSize)),\n ),\n );\n getValue(this.maxPages, (maxPages: number) =>\n this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages))),\n );\n getValue(this.pageNumber, (pageNumber: number) =>\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(pageNumber)),\n ),\n );\n }\n\n public pageChange(currentPage: number): void {\n // Paging must be updated after list data has been updated.\n // Adding a setTimeout will pull it out of the stream.\n setTimeout(() => {\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(currentPage)),\n );\n });\n }\n}\n","<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n/>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\n\nimport { SkyListPagingComponent } from './list-paging.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [SkyListPagingComponent],\n imports: [CommonModule, SkyPagingModule],\n exports: [SkyListPagingComponent],\n})\nexport class SkyListPagingModule {}\n","/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-list-builder' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_list_show_secondary_actions_button: { message: 'More' },\n skyux_list_multiselect_clear_all: { message: 'Clear all' },\n skyux_list_multiselect_select_all: { message: 'Select all' },\n skyux_list_multiselect_show_selected: {\n message: 'Only show selected items',\n },\n skyux_list_view_switcher_dropdown_title: { message: 'Select view' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyListBuilderResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyListSecondaryActionsService implements OnDestroy {\n public secondaryActionsCount = 0;\n public secondaryActionsSubject = new BehaviorSubject<number>(0);\n public actionsStream = new BehaviorSubject<SkyListSecondaryAction[]>([]);\n private actions: SkyListSecondaryAction[] = [];\n\n public addSecondaryAction(action: SkyListSecondaryAction): void {\n this.secondaryActionsCount++;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions.push(action);\n this.actionsStream.next(this.actions);\n }\n\n public removeSecondaryAction(action: any): void {\n this.secondaryActionsCount--;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions = this.actions.filter(\n (existingItem) => existingItem !== action,\n );\n this.actionsStream.next(this.actions);\n }\n\n public ngOnDestroy(): void {\n this.secondaryActionsSubject.complete();\n this.actionsStream.complete();\n }\n}\n","import {\n AfterContentInit,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds actions to the secondary actions dropdown in the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-secondary-action',\n templateUrl: './list-secondary-action.component.html',\n standalone: false,\n})\nexport class SkyListSecondaryActionComponent implements AfterContentInit {\n @ViewChild('listSecondaryAction', {\n read: TemplateRef,\n static: true,\n })\n private templateRef: TemplateRef<unknown>;\n\n constructor(private actionService: SkyListSecondaryActionsService) {}\n\n public ngAfterContentInit(): void {\n this.actionService.addSecondaryAction({\n template: this.templateRef,\n });\n }\n}\n","<ng-template #listSecondaryAction>\n <ng-content />\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n// Note: this component is needed to ensure any reactive styles placed in the element have\n// their host to be based off of. Without this component the host is not written via the dispatcher.\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-secondary-actions-host',\n templateUrl: './list-secondary-actions-host.component.html',\n styleUrls: ['./list-secondary-actions-host.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListSecondaryActionsHostComponent implements OnInit, OnDestroy {\n public dropdownHidden = false;\n public actions: any[] = [];\n\n private ngUnsubscribe = new Subject<void>();\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private actionService: SkyListSecondaryActionsService,\n ) {}\n\n public ngOnInit(): void {\n this.actionService.actionsStream\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((actions: SkyListSecondaryAction[]) => {\n const hasSecondaryActions = actions.length > 0;\n this.dropdownHidden = !hasSecondaryActions;\n this.actions = actions;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon iconName=\"more-actions\" />\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (action of actions; track action) {\n <sky-dropdown-item>\n <ng-container *ngTemplateOutlet=\"action.template\" />\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content />\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../../list/state/list-state.rxstate';\nimport { ListToolbarItemModel } from '../../list/state/toolbar/toolbar-item.model';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds a dropdown to the list toolbar for secondary actions. If the dropdown does not\n * include actions, the secondary actions dropdown is hidden.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-secondary-actions',\n templateUrl: './list-secondary-actions.component.html',\n providers: [SkyListSecondaryActionsService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListSecondaryActionsComponent implements AfterViewInit {\n public actions: any[] = [];\n\n @ViewChild('secondaryActions', {\n read: TemplateRef,\n static: true,\n })\n private secondaryActionsTemplate: TemplateRef<unknown>;\n\n private secondaryActionsItemToolbarIndex = 5000;\n\n constructor(private dispatcher: ListStateDispatcher) {}\n\n public ngAfterViewInit(): void {\n const secondaryActionItem = new ListToolbarItemModel({\n id: 'secondary-actions',\n template: this.secondaryActionsTemplate,\n location: 'center',\n index: this.secondaryActionsItemToolbarIndex,\n });\n\n this.dispatcher.toolbarAddItems([secondaryActionItem]);\n }\n}\n","<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content />\n </sky-list-secondary-actions-host>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { SkyListBuilderResourcesModule } from '../../shared/sky-list-builder-resources.module';\n\nimport { SkyListSecondaryActionComponent } from './list-secondary-action.component';\nimport { SkyListSecondaryActionsHostComponent } from './list-secondary-actions-host.component';\nimport { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListSecondaryActionsComponent,\n SkyListSecondaryActionsHostComponent,\n SkyListSecondaryActionComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent],\n})\nexport class SkyListSecondaryActionsModule {}\n","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-toolbar-item-renderer',\n template: '<ng-template #container />',\n standalone: false,\n})\nexport class SkyListToolbarItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<unknown>;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit(): void {\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\nimport { Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSelectedModel } from '../list/state/selected/selected.model';\n\nlet uniqueId = 0;\n\n/**\n * @internal\n * @deprecated\n */\n@Component({\n selector: 'sky-list-multiselect-toolbar',\n templateUrl: './list-multiselect-toolbar.component.html',\n styleUrls: ['./list-multiselect-toolbar.component.scss'],\n standalone: false,\n})\nexport class SkyListMultiselectToolbarComponent implements OnInit, OnDestroy {\n @Input()\n public showOnlySelected = false;\n\n public multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;\n\n private selectedIdMap = new Map<string, boolean>();\n\n private ngUnsubscribe = new Subject<void>();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n ) {}\n\n public ngOnInit(): void {\n this.state\n .pipe(\n observableMap((t) => t.selected.item),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.selectedMapEqual),\n )\n .subscribe((model: ListSelectedModel) => {\n this.selectedIdMap = model.selectedIdMap;\n\n if (this.showOnlySelected) {\n this.reapplyFilter(true);\n }\n });\n\n // If 'show-selected' filter is programmatically set from a child component (e.g. checklist),\n // make sure the checked state of the 'show-selected' checkbox stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual),\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter) => filter.name === 'show-selected',\n );\n if (showSelectedFilter) {\n this.showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public selectAll(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1),\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n true,\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public clearSelections(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1),\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n false,\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public changeVisibleItems(change: SkyCheckboxChange): void {\n this.showOnlySelected = change.checked;\n this.reapplyFilter(change.checked);\n }\n\n private reapplyFilter(isSelected: boolean): void {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1),\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n\n // If \"show selected\" is checked and paging is enabled, go to page one.\n /* istanbul ignore else */\n if (isSelected) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n });\n }\n this.dispatcher.toolbarSetDisabled(isSelected);\n }\n\n private getShowSelectedFilter(isSelected: boolean): ListFilterModel {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (\n model: ListItemModel,\n showOnlySelected: boolean,\n ): boolean => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this.selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[],\n ): boolean {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected',\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected',\n );\n\n // Both undefined.\n if (!prevShowSelectedFilter && !nextShowSelectedFilter) {\n return true;\n }\n\n // Only one undefined.\n if (\n (prevShowSelectedFilter && !nextShowSelectedFilter) ||\n (!prevShowSelectedFilter && nextShowSelectedFilter)\n ) {\n return false;\n }\n\n // Defined, but with different \"value\".\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n private selectedMapEqual(\n prev: ListSelectedModel,\n next: ListSelectedModel,\n ): boolean {\n if (prev.selectedIdMap.size !== next.selectedIdMap.size) {\n return false;\n }\n\n for (let i = 0; i < next.selectedIdMap.size; i++) {\n const key = Array.from(next.selectedIdMap.keys())[i];\n const value = next.selectedIdMap.get(key);\n /* istanbul ignore next */\n if (value !== prev.selectedIdMap.get(key)) {\n return false;\n }\n }\n\n return true;\n }\n}\n","<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\" />\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\" />\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\" />\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_multiselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nlet idIndex = 0;\n\n/**\n * Defines a toolbar item for the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-item',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyListToolbarItemComponent {\n /**\n * The ID of the item.\n */\n @Input() public id = `sky-list-toolbar-item-${++idIndex}`;\n /**\n * The index of the item at the given item location.\n * @default -1\n */\n @Input() public index = -1;\n /**\n * The toolbar location of the item. The valid options are `\"left\"`,\n * `\"center\"`, and `\"right\"`.\n * @default \"left\"\n */\n @Input() public location = 'left';\n @ContentChildren(TemplateRef) private templates: QueryList<\n TemplateRef<unknown>\n >;\n public get template(): TemplateRef<unknown> {\n return this.templates.length > 0 ? this.templates.first : undefined;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Displays custom actions in the toolbar beside to the search bar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-search-actions',\n templateUrl: './list-toolbar-search-actions.component.html',\n styleUrls: ['./list-toolbar-search-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListToolbarSearchActionsComponent {}\n","<div class=\"sky-list-toolbar-search-actions\">\n <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\n/**\n * Adds a sort dropdown to the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-sort',\n template: '',\n standalone: false,\n})\nexport class SkyListToolbarSortComponent {\n /**\n * The label for a sort option.\n * @required\n */\n @Input()\n public label: string;\n /**\n * The data field to sort the list on.\n * @required\n */\n @Input()\n public field: string;\n /**\n * The data type of the data field to sort the list on.\n * @required\n */\n @Input()\n public type: string;\n /**\n * Whether to sort data in descending order.\n * @default false\n */\n @Input()\n public descending: boolean;\n}\n","import { Component } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially change\n * or affect the view of the list. This includes simple filters and view switchers.\n * If the view section includes more than one item, simple filters appear on the left\n * and view switchers appear on the right.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-view-actions',\n templateUrl: './list-toolbar-view-actions.component.html',\n styleUrls: ['./list-toolbar-view-actions.component.scss'],\n standalone: false,\n})\nexport class SkyListToolbarViewActionsComponent {\n constructor(logger: SkyLogService) {\n logger.deprecated('SkyListToolbarViewActionsComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n}\n","<ng-content />\n","/**\n * @internal\n */\nexport class ListToolbarConfigSetSearchEnabledAction {\n constructor(public enabled: boolean) {}\n}\n","/**\n * @internal\n */\nexport class ListToolbarConfigSetSortSelectorEnabledAction {\n /* istanbul ignore next */\n constructor(public enabled = true) {}\n}\n","/**\n * @internal\n */\nexport class ListToolbarConfigModel {\n public searchEnabled = true;\n public sortSelectorEnabled = true;\n\n constructor(data?: any) {\n if (data) {\n this.searchEnabled = data.searchEnabled;\n this.sortSelectorEnabled = data.sortSelectorEnabled;\n }\n }\n}\n","import { ListToolbarConfigModel } from './config/config.model';\n\n/**\n * @internal\n */\nexport class ListToolbarStateModel {\n public config: ListToolbarConfigModel = new ListToolbarConfigModel();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ListToolbarStateAction } from './toolbar-state-action.type';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListToolbarStateDispatcher extends StateDispatcher<ListToolbarStateAction> {}\n\n/**\n * @internal\n */\nexport class ListToolbarStateOrchestrator<T> extends StateOrchestrator<\n T,\n ListToolbarStateAction\n> {}\n","import { ListToolbarStateOrchestrator } from '../toolbar-state.rxstate';\n\nimport { ListToolbarConfigModel } from './config.model';\nimport { ListToolbarConfigSetSearchEnabledAction } from './set-search-enabled.action';\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './set-sort-selector-enabled.action';\n\n/**\n * @internal\n */\nexport class ListToolbarConfigOrchestrator extends ListToolbarStateOrchestrator<ListToolbarConfigModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(\n ListToolbarConfigSetSearchEnabledAction,\n this.setSearchEnabled,\n ).register(\n ListToolbarConfigSetSortSelectorEnabledAction,\n this.setSortSelectorEnabled,\n );\n }\n\n private setSearchEnabled(\n state: ListToolbarConfigModel,\n action: ListToolbarConfigSetSearchEnabledAction,\n ): ListToolbarConfigModel {\n return new ListToolbarConfigModel(\n Object.assign({}, state, { searchEnabled: action.enabled }),\n );\n }\n\n private setSortSelectorEnabled(\n state: ListToolbarConfigModel,\n action: ListToolbarConfigSetSortSelectorEnabledAction,\n ): ListToolbarConfigModel {\n return new ListToolbarConfigModel(\n Object.assign({}, state, { sortSelectorEnabled: action.enabled }),\n );\n }\n}\n","import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ListToolbarConfigOrchestrator } from './config/config.orchestrator';\nimport { ListToolbarStateModel } from './toolbar-state.model';\nimport { ListToolbarStateDispatcher } from './toolbar-state.rxstate';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListToolbarState extends StateNode<ListToolbarStateModel> {\n constructor(\n initialState: ListToolbarStateModel,\n dispatcher: ListToolbarStateDispatcher,\n ) {\n super(initialState, dispatcher);\n\n this.register('config', ListToolbarConfigOrchestrator).begin();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport {\n ListSortFieldSelectorModel,\n getValue,\n} from '@skyux/list-builder-common';\nimport { SkySearchComponent } from '@skyux/lookup';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';\nimport { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSortLabelModel } from '../list/state/sort/label.model';\nimport { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\nimport { ListToolbarModel } from '../list/state/toolbar/toolbar.model';\n\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\nimport { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';\nimport { ListToolbarStateModel } from './state/toolbar-state.model';\nimport { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';\nimport { ListToolbarState } from './state/toolbar-state.state-node';\n\nlet nextId = 0;\n\n/**\n * Displays a toolbar for a SKY UX-themed list of data.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar',\n templateUrl: './list-toolbar.component.html',\n styleUrls: ['./list-toolbar.component.scss'],\n providers: [\n ListToolbarState,\n ListToolbarStateDispatcher,\n ListToolbarStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListToolbarComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * Whether to use the in-memory search.\n * Setting this to `false` will allow consumers to run their own searches remotely,\n * and push new values to the list component by updating the `data` property.\n * @default true\n * @internal\n */\n @Input()\n public set inMemorySearchEnabled(value: boolean) {\n this._inMemorySearchEnabled = value;\n }\n\n public get inMemorySearchEnabled(): boolean {\n if (this._inMemorySearchEnabled === undefined) {\n return true;\n }\n return this._inMemorySearchEnabled;\n }\n\n /**\n * Placeholder text for the search bar that the list toolbar creates with\n * a [search component](https://developer.blackbaud.com/skyux/components/search).\n * @default \"Find in this list\"\n */\n @Input()\n public placeholder: string;\n\n /**\n * Whether to enable the search bar.\n * @default true\n */\n @Input()\n public searchEnabled: boolean | Observable<boolean>;\n\n @ViewChild(SkySearchComponent, {\n read: SkySearchComponent,\n static: false,\n })\n public searchComponent: SkySearchComponent;\n\n /**\n * Whether to enable the sort selector.\n * @default false\n */\n @Input()\n public sortSelectorEnabled: boolean | Observable<boolean>;\n\n /**\n * Display the search bar in the standard position or in a separate section.\n * To highlight the search bar in a section above all other toolbar items,\n * set this property to `search`.\n * @default \"standard\"\n */\n @Input()\n public toolbarType = 'standard';\n\n /**\n * The text string to search with.\n */\n @Input()\n public searchText: string | Observable<string>;\n\n public get isFilterBarDisplayed(): boolean {\n return (\n !this.isToolbarDisabled &&\n this.hasInlineFilters &&\n this.inlineFilterBarExpanded\n );\n }\n\n public get filterButtonAriaControls(): string {\n return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;\n }\n\n public sortSelectors: Observable<any[]>;\n public searchTextInput: Observable<string>;\n public view: Observable<string>;\n public leftTemplates: ListToolbarItemModel[];\n public centerTemplates: ListToolbarItemModel[];\n public rightTemplates: ListToolbarItemModel[];\n public type: Observable<string>;\n public isSearchEnabled: Observable<boolean>;\n public isToolbarDisabled = false;\n public isMultiselectEnabled: Observable<boolean>;\n public isSortSelectorEnabled: Observable<boolean>;\n public appliedFilters: Observable<ListFilterModel[]>;\n public hasAppliedFilters: Observable<boolean>;\n public showFilterSummary: boolean;\n public hasInlineFilters: boolean;\n public inlineFilterBarExpanded = false;\n public hasAdditionalToolbarSection = false;\n public hasViewActions = false;\n\n public filterButtonId = `sky-list-toolbar-filter-button-${++nextId}`;\n public listFilterInlineId = `sky-list-toolbar-filter-inline-${++nextId}`;\n\n /**\n * Fires when users submit a search.\n * @internal\n * @deprecated\n */\n public searchApplied: Subject<string> = new Subject<string>();\n\n @ContentChildren(SkyListToolbarItemComponent)\n private toolbarItems: QueryList<SkyListToolbarItemComponent>;\n\n @ContentChildren(SkyListToolbarSortComponent)\n private toolbarSorts: QueryList<SkyListToolbarSortComponent>;\n\n @ContentChildren(SkyListFilterSummaryComponent)\n private filterSummary: QueryList<SkyListFilterSummaryComponent>;\n\n @ContentChildren(SkyListFilterInlineComponent)\n private inlineFilter: QueryList<SkyListFilterInlineComponent>;\n\n @ContentChildren(SkyListToolbarViewActionsComponent)\n private viewActions: QueryList<SkyListToolbarViewActionsComponent>;\n\n @ViewChild('search', {\n read: TemplateRef,\n static: true,\n })\n private searchTemplate: TemplateRef<unknown>;\n\n @ViewChild('sortSelector', {\n read: TemplateRef,\n static: true,\n })\n private sortSelectorTemplate: TemplateRef<unknown>;\n\n @ViewChild('inlineFilterButton', {\n read: TemplateRef,\n static: true,\n })\n private inlineFilterButtonTemplate: TemplateRef<unknown>;\n\n private customItemIds: string[] = [];\n private hasSortSelectors = false;\n private inlineFiltersItemToolbarIndex = 5000;\n private sortSelectorItemToolbarIndex = 6000;\n private ngUnsubscribe = new Subject<void>();\n\n private _inMemorySearchEnabled: boolean;\n\n constructor(\n private changeDetector: ChangeDetectorRef,\n private state: ListState,\n private dispatcher: ListStateDispatcher,\n private toolbarState: ListToolbarState,\n public toolbarDispatcher: ListToolbarStateDispatcher,\n logger: SkyLogService,\n ) {\n logger.deprecated('SkyListToolbarComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n\n public ngOnInit(): void {\n this.dispatcher.toolbarExists(true);\n\n getValue(this.searchText, (searchText: string) => {\n this.updateSearchText(searchText);\n });\n\n getValue(this.searchEnabled, (searchEnabled: boolean) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSearchEnabledAction(\n searchEnabled === undefined ? true : searchEnabled,\n ),\n );\n });\n\n getValue(this.toolbarType, (type: string) => {\n this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));\n });\n\n getValue(this.sortSelectorEnabled, (sortSelectorEnabled: any) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSortSelectorEnabledAction(\n sortSelectorEnabled === undefined ? true : sortSelectorEnabled,\n ),\n );\n });\n\n this.sortSelectors = this.getSortSelectors();\n\n // Initialize the sort toolbar item if necessary\n this.sortSelectors\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((currentSort) => {\n if (currentSort.length > 0 && !this.hasSortSelectors) {\n this.hasSortSelectors = true;\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'sort-selector',\n template: this.sortSelectorTemplate,\n location: 'left',\n index: this.sortSelectorItemToolbarIndex,\n }),\n ]);\n } else if (currentSort.length < 1 && this.hasSortSelectors) {\n this.hasSortSelectors = false;\n this.dispatcher.toolbarRemoveItems(['sort-selector']);\n }\n });\n\n this.searchTextInput = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.search.searchText),\n distinctUntilChanged(),\n );\n\n this.view = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.views.active),\n distinctUntilChanged(),\n );\n\n this.watchTemplates();\n\n this.type = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((state) => state.toolbar.type),\n distinctUntilChanged(),\n );\n\n this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {\n if (toolbarType === 'search') {\n this.dispatcher.toolbarRemoveItems(['search']);\n } else {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'search',\n template: this.searchTemplate,\n location: 'right',\n }),\n ]);\n }\n });\n\n this.isSearchEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.searchEnabled),\n );\n\n this.state\n .pipe(\n observableMap((s) => s.toolbar),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n observableMap((c) => c.disabled),\n )\n .subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));\n\n this.isSortSelectorEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.sortSelectorEnabled),\n );\n\n this.isMultiselectEnabled = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n observableMap((t) => t.showMultiselectToolbar),\n );\n\n this.hasAppliedFilters = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n observableMap((filters) => {\n const activeFilters = filters.filter((f) => {\n return (\n f.value !== '' &&\n f.value !== undefined &&\n f.value !== false &&\n f.value !== f.defaultValue\n );\n });\n return activeFilters.length > 0;\n }),\n );\n\n this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current: any) => {\n this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngAfterContentInit(): void {\n // Inject custom toolbar items.\n this.toolbarItems.forEach((toolbarItem) => {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);\n\n this.customItemIds.push(toolbarItem.id);\n });\n\n this.toolbarItems.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((newItems: QueryList<SkyListToolbarItemComponent>) => {\n newItems.forEach((item) => {\n if (this.customItemIds.indexOf(item.id) < 0) {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);\n\n this.customItemIds.push(item.id);\n }\n });\n\n const itemsToRemove: string[] = [];\n\n this.customItemIds.forEach((itemId, index) => {\n if (!newItems.find((item) => item.id === itemId)) {\n itemsToRemove.push(itemId);\n this.customItemIds.splice(index, 1);\n }\n });\n\n this.dispatcher.toolbarRemoveItems(itemsToRemove);\n });\n\n const sortModels = this.toolbarSorts.map(\n (sort) =>\n new ListSortLabelModel({\n text: sort.label,\n fieldSelector: sort.field,\n fieldType: sort.type,\n global: true,\n descending: sort.descending,\n }),\n );\n\n this.dispatcher.sortSetGlobal(sortModels);\n\n // Add inline filters.\n this.showFilterSummary = this.filterSummary.length > 0;\n this.hasInlineFilters = this.inlineFilter.length > 0;\n\n if (this.hasInlineFilters) {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.inlineFilterButtonTemplate,\n location: 'left',\n index: this.inlineFiltersItemToolbarIndex,\n }),\n ]);\n }\n\n // Check for view actions\n this.hasViewActions = this.viewActions.length > 0;\n }\n\n public ngOnDestroy(): void {\n this.searchApplied.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public setSort(sort: ListSortLabelModel): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.sortSetFieldSelectors([\n { fieldSelector: sort.fieldSelector, descending: sort.descending },\n ]);\n });\n }\n\n public inlineFilterButtonClick(): void {\n this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;\n }\n\n public updateSearchText(searchText: string): void {\n this.searchApplied.next(searchText);\n if (this.inMemorySearchEnabled) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.searchSetText(searchText);\n });\n }\n }\n\n private itemIsInView(itemView: string, activeView: string): boolean {\n return itemView === undefined || itemView === activeView;\n }\n\n private getSortSelectors(): Observable<\n {\n sort: ListSortLabelModel;\n selected: boolean;\n }[]\n > {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.sort.available),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.global),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged(),\n ),\n (\n available: ListSortLabelModel[],\n global: ListSortLabelModel[],\n fieldSelectors: ListSortFieldSelectorModel[],\n ) => {\n // Get sorts that are in the global that are not in the available\n const sorts = global.filter(\n (g) =>\n available.filter((a) => a.fieldSelector === g.fieldSelector)\n .length === 0,\n );\n\n const resultSortSelectors = [...sorts, ...available].map(\n (sortLabels) => {\n const fs = fieldSelectors.filter((f) => {\n return (\n f.fieldSelector === sortLabels.fieldSelector &&\n f.descending === sortLabels.descending\n );\n });\n let selected = false;\n if (fs.length > 0) {\n selected = true;\n }\n\n return {\n sort: sortLabels,\n selected: selected,\n };\n },\n );\n\n return resultSortSelectors;\n },\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n private watchTemplates(): void {\n observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n ),\n this.view.pipe(distinctUntilChanged()),\n (toolbar: ListToolbarModel, view: string) => {\n const items = toolbar.items.filter((i: ListToolbarItemModel) => {\n return this.itemIsInView(i.view, view);\n });\n\n const templates: any = {};\n\n items.forEach((item: ListToolbarItemModel) => {\n templates[item.location] = templates[item.location] || [];\n templates[item.location].push(item);\n });\n\n return templates;\n },\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.leftTemplates = value.left;\n this.centerTemplates = value.center;\n this.rightTemplates = value.right;\n this.changeDetector.markForCheck();\n });\n }\n}\n","<div class=\"sky-list-toolbar-container\">\n @if ((type | async) !== 'search') {\n <sky-toolbar>\n <sky-toolbar-section>\n @for (item of leftTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of centerTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of rightTemplates; track item) {\n <sky-toolbar-item [attr.sky-toolbar-id]=\"item.id\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n <ng-content />\n @if (hasViewActions) {\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-list-toolbar-view-actions\" />\n </sky-toolbar-view-actions>\n }\n </sky-toolbar-section>\n @if (showFilterSummary && (hasAppliedFilters | async)) {\n <sky-toolbar-section>\n <ng-content select=\"sky-list-filter-summary\" />\n </sky-toolbar-section>\n }\n </sky-toolbar>\n }\n\n @if (\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n ) {\n <div class=\"sky-list-toolbar-search\">\n <sky-toolbar>\n @if (isSearchEnabled | async) {\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n />\n </sky-toolbar-item>\n </sky-toolbar-section>\n }\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n @for (item of leftTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of centerTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of rightTemplates; track item) {\n <sky-toolbar-item [attr.sky-toolbar-id]=\"item.id\">\n @if (item.id !== 'search') {\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n }\n </sky-toolbar-item>\n }\n <ng-content />\n @if (hasViewActions) {\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-list-toolbar-view-actions\" />\n </sky-toolbar-view-actions>\n }\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n }\n @if (isFilterBarDisplayed) {\n <div [attr.aria-labelledby]=\"filterButtonId\" [id]=\"listFilterInlineId\">\n <ng-content select=\"sky-list-filter-inline\" />\n </div>\n }\n @if (isMultiselectEnabled | async) {\n <sky-list-multiselect-toolbar />\n }\n</div>\n\n<ng-template #search>\n @if (isSearchEnabled | async) {\n <div class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n />\n <ng-content select=\"sky-list-toolbar-search-actions\" />\n </div>\n }\n</ng-template>\n\n<ng-template #sortSelector>\n @if ((isSortSelectorEnabled | async) && (sortSelectors | async).length > 0) {\n <div class=\"sky-toolbar-item-sort-container\">\n <sky-sort [showButtonText]=\"true\">\n @for (item of sortSelectors | async; track item) {\n <sky-sort-item\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n }\n </sky-sort>\n </div>\n }\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n />\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterModule, SkySortModule } from '@skyux/lists';\nimport { SkySearchModule } from '@skyux/lookup';\n\nimport { SkyListFiltersModule } from '../list-filters/list-filters.module';\nimport { SkyListBuilderResourcesModule } from '../shared/sky-list-builder-resources.module';\n\nimport { SkyListMultiselectToolbarComponent } from './list-multiselect-toolbar.component';\nimport { SkyListToolbarItemRendererComponent } from './list-toolbar-item-renderer.component';\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\nimport { SkyListToolbarSearchActionsComponent } from './list-toolbar-search-actions.component';\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\nimport { SkyListToolbarComponent } from './list-toolbar.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListToolbarComponent,\n SkyListToolbarItemComponent,\n SkyListToolbarItemRendererComponent,\n SkyListMultiselectToolbarComponent,\n SkyListToolbarSearchActionsComponent,\n SkyListToolbarSortComponent,\n SkyListToolbarViewActionsComponent,\n ],\n imports: [\n CommonModule,\n SkyCheckboxModule,\n SkyToolbarModule,\n SkySearchModule,\n SkySortModule,\n SkyFilterModule,\n SkyListFiltersModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [\n SkyListToolbarComponent,\n SkyListToolbarItemComponent,\n SkyListToolbarSearchActionsComponent,\n SkyListToolbarSortComponent,\n SkyListToolbarViewActionsComponent,\n ],\n})\nexport class SkyListToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["idIndex","observableMap","i1.ListStateDispatcher","observableOf","observableCombineLatest","i1.ListState","i2.ListStateDispatcher","i2.ListState","i3","i4.SkyListFilterInlineItemRendererComponent","i4","i5","i1.SkyListSecondaryActionsService","i2.SkyListSecondaryActionsHostComponent","i6.SkyListToolbarItemRendererComponent","i7","i1","i1.ListToolbarStateModel","i2.ListToolbarStateDispatcher","i3.ListToolbarState","i4.ListToolbarStateDispatcher","i6","i8","i9.SkyListToolbarItemRendererComponent","i10.SkyListMultiselectToolbarComponent","i11"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"skyux-list-builder.mjs","sources":["../../../../../libs/components/list-builder/src/lib/modules/list/list-data-request.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-data-response.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-data.provider.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-view.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/set-loading.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/update.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-field-selectors.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-functions.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-options.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/set-search-text.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-items-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-available.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-field-selectors.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/set-global.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/disable.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/remove.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/set-exists.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/set-active.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/filters.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/set-items-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/selected.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/sort.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/views.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-items-per-page.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-max-pages.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/set-page-number.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-item-selected.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/set-loading.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/selected/selected.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/label.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/sort/sort.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/set-type.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar-item.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/toolbar/toolbar.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/load.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/views.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.state-node.ts","../../../../../libs/components/list-builder/src/lib/modules/list/state/views/view.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/filter.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-button.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-button.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline-item-renderer.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline-item.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-inline.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filter-summary.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-filters/list-filters.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list/list-paging.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-paging/list-paging.module.ts","../../../../../libs/components/list-builder/src/lib/modules/shared/sky-list-builder-resources.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item-renderer.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-multiselect-toolbar.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-item.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-search-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-sort.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar-view-actions.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-search-enabled.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/config.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.model.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.rxstate.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/config/config.orchestrator.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/state/toolbar-state.state-node.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.ts","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.component.html","../../../../../libs/components/list-builder/src/lib/modules/list-toolbar/list-toolbar.module.ts","../../../../../libs/components/list-builder/src/skyux-list-builder.ts"],"sourcesContent":["import { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSortModel } from './state/sort/sort.model';\n\n/**\n * @deprecated\n */\nexport class ListDataRequestModel {\n /**\n * The function that determines whether items are filtered.\n * This property is required when using an in-memory data provider.\n */\n public filters: ListFilterModel[];\n /**\n * The number of items to display per page.\n */\n public pageSize: number;\n /**\n * The current page number.\n */\n public pageNumber: number;\n /**\n * The function to dynamically manage the data source when users\n * change the text in the list field. The search function must return an\n * array or a promise of an array. The `search` property is particularly useful\n * when the data source does not live in the source code.\n */\n public search: ListSearchModel;\n /**\n * The set of fields to sort by.\n */\n public sort: ListSortModel;\n /**\n * Whether to disable the search bar and filter button.\n * @default false\n */\n public isToolbarDisabled = false;\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.filters = data.filters;\n this.pageSize = data.pageSize;\n this.pageNumber = data.pageNumber;\n this.search = data.search;\n this.sort = data.sort;\n this.isToolbarDisabled = data.isToolbarDisabled;\n }\n }\n}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @deprecated\n */\nexport class ListDataResponseModel {\n /**\n * The total number of records in the list.\n */\n public count: number;\n /**\n * An array of the items returned. For information about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public items: ListItemModel[];\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.count = data.count;\n this.items = data.items;\n }\n }\n}\n","import { Observable } from 'rxjs';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport abstract class ListDataProvider {\n constructor(public data?: Observable<any[]>) {}\n\n public abstract get(\n request: ListDataRequestModel,\n ): Observable<ListDataResponseModel>;\n\n public abstract count(): Observable<number>;\n}\n","/**\n * Specifies a function to dynamically manage the data source when users change the text\n * in the list field. The search function must return an array or a promise of an array.\n * The `search` property is particularly useful when the data source does not live\n * in the source code.\n * @deprecated\n */\nexport class ListSearchModel {\n /**\n * The text to search.\n * @default \"\"\n */\n public searchText = '';\n /**\n * The array of functions that returns a `boolean` value of `true` when\n * the search is successful. This property accepts a function of type\n * `(data: any, searchText: string) => boolean>.`\n */\n public functions: ((data: any, searchText: string) => boolean)[] = [];\n /**\n * The columns to search. The columns correspond to `field` values that\n * you specify with the list component's `data` property.\n */\n public fieldSelectors: string[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.searchText = data.searchText;\n this.functions = [...data.functions];\n this.fieldSelectors = data.fieldSelectors;\n }\n }\n}\n","import { ListItemModel, compare, getData } from '@skyux/list-builder-common';\n\nimport { BehaviorSubject, Observable } from 'rxjs';\nimport { map as observableMap } from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { ListDataRequestModel } from '../list/list-data-request.model';\nimport { ListDataResponseModel } from '../list/list-data-response.model';\nimport { ListDataProvider } from '../list/list-data.provider';\nimport { ListSearchModel } from '../list/state/search/search.model';\n\nlet idIndex = 0;\n\n/**\n * @deprecated\n */\nexport class SkyListInMemoryDataProvider extends ListDataProvider {\n public items: BehaviorSubject<ListItemModel[]> = new BehaviorSubject<\n ListItemModel[]\n >([]);\n\n private lastItems: ListItemModel[];\n private lastSearch: ListSearchModel;\n private lastSearchResults: ListItemModel[];\n private searchFunction: (data: any, searchText: string) => boolean;\n\n private lastFilters: ListFilterModel[];\n private lastFilterResults: ListItemModel[];\n\n constructor(\n data?: Observable<any[]>,\n searchFunction?: (data: any, searchText: string) => boolean,\n ) {\n super(data);\n\n this.searchFunction = searchFunction;\n\n if (data) {\n data.subscribe((items) => {\n this.items.next(\n items.map(\n (d) =>\n new ListItemModel(\n d.id || `sky-list-data-in-memory-provider-item-${++idIndex}`,\n d,\n ),\n ),\n );\n });\n }\n }\n\n public count(): Observable<number> {\n return this.items.pipe(observableMap((items) => items.length));\n }\n\n public get(request: ListDataRequestModel): Observable<ListDataResponseModel> {\n return this.filteredItems(request).pipe(\n observableMap((result) => {\n if (request.pageNumber && request.pageSize) {\n const itemStart = (request.pageNumber - 1) * request.pageSize;\n const pagedResult = result.slice(\n itemStart,\n itemStart + request.pageSize,\n );\n return new ListDataResponseModel({\n count: result.length,\n items: pagedResult,\n });\n } else {\n return new ListDataResponseModel({\n count: result.length,\n items: result,\n });\n }\n }),\n );\n }\n\n private filteredItems(\n request: ListDataRequestModel,\n ): Observable<ListItemModel[]> {\n const showSelectedId = ['show-selected'];\n\n return this.items.pipe(\n observableMap((items) => {\n let dataChanged = false;\n let search = request.search;\n const sort = request.sort;\n let filters: ListFilterModel[] = request.filters;\n\n if (this.lastItems === undefined || this.lastItems !== items) {\n dataChanged = true;\n this.lastItems = items;\n }\n\n let searchChanged = false;\n let filtersChanged = false;\n\n if (request.isToolbarDisabled) {\n searchChanged = true;\n search = new ListSearchModel();\n\n filters = filters.filter((f) => showSelectedId.indexOf(f.name) >= 0);\n filtersChanged = true;\n } else {\n if (this.lastSearch === undefined || this.lastSearch !== search) {\n searchChanged = true;\n }\n\n if (this.lastFilters === undefined || this.lastFilters !== filters) {\n filtersChanged = true;\n }\n }\n\n this.lastSearch = search;\n this.lastFilters = filters;\n\n let result = items;\n\n // Apply filters.\n if (\n !dataChanged &&\n !filtersChanged &&\n this.lastFilterResults !== undefined\n ) {\n result = this.lastFilterResults;\n } else if (filters && filters.length > 0) {\n result = result.filter((item) => {\n for (const filter of filters) {\n if (\n filter.value === undefined ||\n filter.value === '' ||\n filter.value === false ||\n filter.value === filter.defaultValue\n ) {\n continue;\n }\n\n if (!filter.filterFunction(item, filter.value)) {\n return false;\n }\n }\n return true;\n });\n\n this.lastFilterResults = result;\n } else {\n this.lastFilterResults = undefined;\n }\n\n // Apply search.\n /* istanbul ignore next */\n if (\n !dataChanged &&\n !searchChanged &&\n this.lastSearchResults !== undefined &&\n !filtersChanged\n ) {\n result = this.lastSearchResults;\n } else if (\n search &&\n search.searchText !== undefined &&\n search.searchText.length > 0\n ) {\n const searchText = search.searchText.toLowerCase();\n let searchFunctions: any[];\n if (this.searchFunction !== undefined) {\n searchFunctions = [this.searchFunction];\n } else {\n searchFunctions = search.functions;\n }\n\n result = result.filter((item) => {\n let isMatch = false;\n\n for (const searchFunction of searchFunctions) {\n const searchResult = searchFunction(item.data, searchText);\n\n if (\n (typeof searchResult === 'string' &&\n searchResult.indexOf(searchText) !== -1) ||\n searchResult === true\n ) {\n isMatch = true;\n break;\n }\n }\n\n return isMatch;\n });\n\n this.lastSearchResults = result;\n } else {\n this.lastSearchResults = undefined;\n }\n\n // Apply sort.\n if (sort && sort.fieldSelectors.length > 0) {\n result = result\n .slice()\n .sort((item1: ListItemModel, item2: ListItemModel) => {\n let compareResult = 0;\n for (const selector of sort.fieldSelectors) {\n const value1 = getData(item1.data, selector.fieldSelector);\n const value2 = getData(item2.data, selector.fieldSelector);\n\n compareResult = compare(value1, value2);\n\n if (selector.descending && compareResult !== 0) {\n compareResult *= -1;\n }\n\n if (compareResult !== 0) {\n break;\n }\n }\n\n return compareResult;\n });\n }\n return result;\n }),\n );\n }\n}\n","import { Observable } from 'rxjs';\nimport { distinctUntilChanged, map as observableMap } from 'rxjs/operators';\n\nimport { SkyListComponent } from '../list/list.component';\n\nimport { ListState } from './state/list-state.state-node';\n\nlet idIndex = 0;\n\n/**\n * @internal\n * @deprecated\n */\nexport abstract class ListViewComponent {\n public active: Observable<boolean>;\n\n protected viewName: string;\n protected state: ListState;\n protected list: SkyListComponent;\n protected hasToolbar: Observable<boolean>;\n private viewId = `sky-list-view-cmp-${++idIndex}`;\n\n constructor(state: ListState, defaultName: string) {\n this.state = state;\n this.viewName = defaultName;\n\n /* istanbul ignore next */\n this.hasToolbar = this.state.pipe(observableMap((s) => s.toolbar.exists));\n\n this.active = this.state.pipe(\n observableMap((s) => s.views.active === this.viewId),\n );\n\n this.active\n .pipe(distinctUntilChanged())\n .subscribe((isActive) =>\n isActive ? this.onViewActive() : this.onViewInactive(),\n );\n }\n\n public get id(): string {\n return this.viewId;\n }\n\n public get label(): string {\n return this.viewName;\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewActive(): void {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewInactive(): void {}\n}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListItemsLoadAction {\n constructor(\n public items: ListItemModel[],\n public refresh = false,\n public dataChanged = true,\n public count?: number,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListItemsSetLoadingAction {\n constructor(public loading = true) {}\n}\n","import { ListFilterModel } from '../../../list-filters/filter.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListFiltersUpdateAction {\n constructor(public filters: ListFilterModel[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetFieldSelectorsAction {\n constructor(public fieldSelectors: string[] = []) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetFunctionsAction {\n constructor(\n public functions: ((data: any, searchText: string) => boolean)[] = [],\n ) {}\n}\n","import { ListSearchSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './set-functions.action';\nimport { ListSearchSetSearchTextAction } from './set-search-text.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetOptionsAction {\n constructor(\n public searchTextAction: ListSearchSetSearchTextAction,\n public setFieldSelectorsAction: ListSearchSetFieldSelectorsAction,\n public setFunctionsAction: ListSearchSetFunctionsAction,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSearchSetSearchTextAction {\n constructor(public searchText: string) {}\n}\n","import { Observable } from 'rxjs';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetItemsSelectedAction {\n constructor(\n public items: string[] | Observable<string[]>,\n public selected = false,\n public refresh = true,\n ) {}\n}\n","import { ListSortLabelModel } from './label.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetAvailableAction {\n constructor(public available: ListSortLabelModel[]) {}\n}\n","import { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetFieldSelectorsAction {\n constructor(public fieldSelectors: ListSortFieldSelectorModel[]) {}\n}\n","import { ListSortLabelModel } from './label.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortSetGlobalAction {\n constructor(public global: ListSortLabelModel[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsDisableAction {\n constructor(public disable: boolean) {}\n}\n","import { ListToolbarItemModel } from './toolbar-item.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsLoadAction {\n constructor(\n public items: ListToolbarItemModel[],\n public index = -1,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemsRemoveAction {\n constructor(public ids: string[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarSetExistsAction {\n constructor(public exists: boolean) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarShowMultiselectToolbarAction {\n constructor(public exists: boolean) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListViewsSetActiveAction {\n constructor(public view: string) {}\n}\n","import { Injectable } from '@angular/core';\nimport {\n ListSortFieldSelectorModel,\n StateDispatcher,\n StateOrchestrator,\n} from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListFiltersUpdateAction } from './filters/update.action';\nimport { ListStateAction } from './list-state-action.type';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSearchSetFieldSelectorsAction } from './search/set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './search/set-functions.action';\nimport { ListSearchSetOptionsAction } from './search/set-options.action';\nimport { ListSearchSetSearchTextAction } from './search/set-search-text.action';\nimport { ListSelectedSetItemsSelectedAction } from './selected/set-items-selected.action';\nimport { ListSortLabelModel } from './sort/label.model';\nimport { ListSortSetAvailableAction } from './sort/set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './sort/set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './sort/set-global.action';\nimport { ListToolbarItemsDisableAction } from './toolbar/disable.action';\nimport { ListToolbarItemsLoadAction } from './toolbar/load.action';\nimport { ListToolbarItemsRemoveAction } from './toolbar/remove.action';\nimport { ListToolbarSetExistsAction } from './toolbar/set-exists.action';\nimport { ListToolbarShowMultiselectToolbarAction } from './toolbar/show-multiselect-toolbar.action';\nimport { ListToolbarItemModel } from './toolbar/toolbar-item.model';\nimport { ListViewsSetActiveAction } from './views/set-active.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListStateOrchestrator<T> extends StateOrchestrator<\n T,\n ListStateAction\n> {}\n\n/**\n * @internal\n * @deprecated\n */\n@Injectable()\nexport class ListStateDispatcher extends StateDispatcher<ListStateAction> {\n public viewsSetActive(id: string): void {\n this.next(new ListViewsSetActiveAction(id));\n }\n\n public toolbarExists(exists: boolean): void {\n this.next(new ListToolbarSetExistsAction(exists));\n }\n\n public toolbarSetDisabled(disabled: boolean): void {\n this.next(new ListToolbarItemsDisableAction(disabled));\n }\n\n public toolbarAddItems(items: ListToolbarItemModel[], index = -1): void {\n this.next(new ListToolbarItemsLoadAction(items, index));\n }\n\n public toolbarRemoveItems(ids: string[]): void {\n this.next(new ListToolbarItemsRemoveAction(ids));\n }\n\n public toolbarShowMultiselectToolbar(show: boolean): void {\n this.next(new ListToolbarShowMultiselectToolbarAction(show));\n }\n\n public searchSetFunctions(\n sortFunctions: ((data: any, searchText: string) => boolean)[],\n ): void {\n this.next(new ListSearchSetFunctionsAction(sortFunctions));\n }\n\n /* istanbul ignore next */\n public searchSetFieldSelectors(fieldSelectors: string[]): void {\n this.next(new ListSearchSetFieldSelectorsAction(fieldSelectors));\n }\n\n public searchSetText(searchText: string): void {\n this.next(new ListSearchSetSearchTextAction(searchText));\n }\n\n public searchSetOptions(searchOptions: ListSearchModel): void {\n this.next(\n new ListSearchSetOptionsAction(\n new ListSearchSetSearchTextAction(searchOptions.searchText),\n new ListSearchSetFieldSelectorsAction(searchOptions.fieldSelectors),\n new ListSearchSetFunctionsAction(searchOptions.functions),\n ),\n );\n }\n\n public sortSetAvailable(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetAvailableAction(sortLabels));\n }\n\n public sortSetFieldSelectors(\n fieldSelectors: ListSortFieldSelectorModel[],\n ): void {\n this.next(new ListSortSetFieldSelectorsAction(fieldSelectors));\n }\n\n public sortSetGlobal(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetGlobalAction(sortLabels));\n }\n\n public filtersUpdate(filters: ListFilterModel[]): void {\n this.next(new ListFiltersUpdateAction(filters));\n }\n\n public setSelected(\n selectedIds: string[],\n selected: boolean,\n refresh = false,\n ): void {\n this.next(\n new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh),\n );\n }\n}\n","import { ListFilterModel } from '../../../list-filters/filter.model';\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListFiltersUpdateAction } from './update.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListFiltersOrchestrator extends ListStateOrchestrator<\n ListFilterModel[]\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListFiltersUpdateAction, this.update);\n }\n\n private update(\n state: ListFilterModel[],\n action: ListFiltersUpdateAction,\n ): ListFilterModel[] {\n return [...action.filters];\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListItemsSetSelectedAction {\n constructor(\n public items: string[],\n /* istanbul ignore next */\n public selected = false,\n public refresh = true,\n ) {}\n}\n","import { AsyncList, ListItemModel } from '@skyux/list-builder-common';\n\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListItemsLoadAction } from './load.action';\nimport { ListItemsSetSelectedAction } from './set-items-selected.action';\nimport { ListItemsSetLoadingAction } from './set-loading.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListItemsOrchestrator extends ListStateOrchestrator<\n AsyncList<ListItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListItemsSetLoadingAction, this.setLoading)\n .register(ListItemsLoadAction, this.load)\n .register(ListItemsSetSelectedAction, this.setItemsSelected);\n }\n\n private setLoading(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetLoadingAction,\n ): AsyncList<ListItemModel> {\n return new AsyncList<ListItemModel>(\n state.items,\n state.lastUpdate,\n action.loading,\n state.count,\n );\n }\n\n private load(\n state: AsyncList<ListItemModel>,\n action: ListItemsLoadAction,\n ): AsyncList<ListItemModel> {\n const newListItems = action.items.map(\n (g) => new ListItemModel(g.id, g.data, g.isSelected),\n );\n const resultItems = action.refresh\n ? [...newListItems]\n : [...state.items, ...newListItems];\n\n const count =\n action.count === undefined ? resultItems.length : action.count;\n return new AsyncList<ListItemModel>(\n resultItems,\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n count,\n );\n }\n\n private setItemsSelected(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetSelectedAction,\n ): AsyncList<ListItemModel> {\n /* istanbul ignore next */\n const newSelectedIds = action.items || [];\n const newListItemModels = this.cloneListItemModelArray(state.items);\n\n if (action.refresh) {\n newListItemModels.forEach((item) => (item.isSelected = undefined));\n }\n\n newSelectedIds.map((s) => {\n const newItem = newListItemModels.find((i) => i.id === s);\n /* istanbul ignore next */\n if (newItem) {\n newItem.isSelected = action.selected;\n }\n });\n\n return new AsyncList<ListItemModel>(\n newListItemModels,\n Date.now(),\n state.loading,\n state.count,\n );\n }\n\n private cloneListItemModelArray(source: ListItemModel[]): ListItemModel[] {\n const newListItems: ListItemModel[] = [];\n source.forEach((item) => {\n newListItems.push(\n new ListItemModel(\n item.id,\n Object.assign({}, item.data),\n item.isSelected,\n ),\n );\n });\n return newListItems;\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingModel {\n public itemsPerPage: number;\n public maxDisplayedPages: number;\n public pageCount: number;\n public pageNumber: number;\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.itemsPerPage = data.itemsPerPage || 10;\n this.maxDisplayedPages = data.maxDisplayedPages || 5;\n this.pageCount = data.pageCount || 0;\n this.pageNumber = data.pageNumber || 1;\n }\n }\n}\n","/**\n * Contains data about the selected items in the list.\n * @deprecated\n */\nexport class ListSelectedModel {\n /**\n * A map of key value pairs that consists of IDs for selected items\n * and boolean values for their selected states.\n */\n public selectedIdMap: Map<string, boolean>;\n\n constructor() {\n this.selectedIdMap = new Map<string, boolean>();\n }\n}\n","import { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\nimport { ListSortLabelModel } from './label.model';\n\n/**\n * Specifies a set of fields to sort by.\n * @deprecated\n */\nexport class ListSortModel {\n /**\n * The list of available views to sort.\n */\n public available: ListSortLabelModel[] = [];\n /**\n * The list views that the sort applies to.\n */\n public global: ListSortLabelModel[] = [];\n /**\n * The fields to sort.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public fieldSelectors: ListSortFieldSelectorModel[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.available = data.available;\n this.global = data.global;\n this.fieldSelectors = data.fieldSelectors;\n }\n }\n}\n","import { ListToolbarItemModel } from './toolbar-item.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarModel {\n public exists: boolean;\n public disabled: boolean;\n public items: ListToolbarItemModel[] = [];\n public type: string;\n public showMultiselectToolbar = false;\n\n constructor(data?: any) {\n if (data) {\n this.exists = data.exists;\n this.disabled = data.disabled;\n this.items = data.items;\n this.type = data.type;\n this.showMultiselectToolbar = data.showMultiselectToolbar;\n }\n }\n}\n","import { ListViewModel } from './view.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsModel {\n public active: string;\n public views: ListViewModel[] = [];\n\n constructor(data?: any) {\n if (data) {\n this.active = data.active;\n this.views = data.views;\n }\n }\n}\n","import {\n AsyncItem,\n AsyncList,\n ListItemModel,\n} from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListPagingModel } from './paging/paging.model';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSelectedModel } from './selected/selected.model';\nimport { ListSortModel } from './sort/sort.model';\nimport { ListToolbarModel } from './toolbar/toolbar.model';\nimport { ListViewsModel } from './views/views.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListStateModel {\n public filters: ListFilterModel[] = [];\n public items: AsyncList<ListItemModel> = new AsyncList<ListItemModel>();\n public paging: ListPagingModel = new ListPagingModel();\n public search: ListSearchModel = new ListSearchModel();\n public selected: AsyncItem<ListSelectedModel> =\n new AsyncItem<ListSelectedModel>();\n public sort: ListSortModel = new ListSortModel();\n public toolbar: ListToolbarModel = new ListToolbarModel();\n public views: ListViewsModel = new ListViewsModel();\n\n constructor() {\n this.selected.item = new ListSelectedModel();\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetItemsPerPageAction {\n constructor(public itemsPerPage: number) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetMaxPagesAction {\n constructor(public maxPages: number) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListPagingSetPageNumberAction {\n constructor(public pageNumber: number) {}\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListPagingModel } from './paging.model';\nimport { ListPagingSetItemsPerPageAction } from './set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from './set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from './set-page-number.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListPagingOrchestrator extends ListStateOrchestrator<ListPagingModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListPagingSetMaxPagesAction, this.setMaxPages)\n .register(ListPagingSetItemsPerPageAction, this.setItemsPerPage)\n .register(ListPagingSetPageNumberAction, this.setPageNumber);\n }\n\n private setMaxPages(\n state: ListPagingModel,\n action: ListPagingSetMaxPagesAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { maxDisplayedPages: Number(action.maxPages) }),\n );\n }\n\n private setItemsPerPage(\n state: ListPagingModel,\n action: ListPagingSetItemsPerPageAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { itemsPerPage: Number(action.itemsPerPage) }),\n );\n }\n\n private setPageNumber(\n state: ListPagingModel,\n action: ListPagingSetPageNumberAction,\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { pageNumber: Number(action.pageNumber) }),\n );\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSearchModel } from './search.model';\nimport { ListSearchSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './set-functions.action';\nimport { ListSearchSetOptionsAction } from './set-options.action';\nimport { ListSearchSetSearchTextAction } from './set-search-text.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSearchOrchestrator extends ListStateOrchestrator<ListSearchModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSearchSetSearchTextAction, this.setSearchText)\n .register(ListSearchSetFunctionsAction, this.setFunctions)\n .register(ListSearchSetFieldSelectorsAction, this.setFieldSelectors)\n .register(ListSearchSetOptionsAction, this.setOptions);\n }\n\n private setSearchText(\n state: ListSearchModel,\n action: ListSearchSetSearchTextAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, {\n searchText: action.searchText ? action.searchText : '',\n }),\n );\n }\n\n private setFunctions(\n state: ListSearchModel,\n action: ListSearchSetFunctionsAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, { functions: [...action.functions] }),\n );\n }\n\n private setFieldSelectors(\n state: ListSearchModel,\n action: ListSearchSetFieldSelectorsAction,\n ): ListSearchModel {\n return new ListSearchModel(\n Object.assign({}, state, { fieldSelectors: [...action.fieldSelectors] }),\n );\n }\n\n private setOptions(\n state: ListSearchModel,\n action: ListSearchSetOptionsAction,\n ): ListSearchModel {\n let result = state;\n\n /* istanbul ignore else */\n if (action.searchTextAction) {\n result = this.setSearchText(result, action.searchTextAction);\n }\n\n /* istanbul ignore else */\n if (action.setFieldSelectorsAction) {\n result = this.setFieldSelectors(result, action.setFieldSelectorsAction);\n }\n\n /* istanbul ignore else */\n if (action.setFunctionsAction) {\n result = this.setFunctions(result, action.setFunctionsAction);\n }\n\n return result;\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedLoadAction {\n constructor(public items: string[]) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetItemSelectedAction {\n constructor(\n public id: any,\n public selected: boolean,\n ) {}\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedSetLoadingAction {\n constructor(public loading = true) {}\n}\n","import { AsyncItem } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\nimport { take } from 'rxjs/operators';\n\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSelectedLoadAction } from './load.action';\nimport { ListSelectedModel } from './selected.model';\nimport { ListSelectedSetItemSelectedAction } from './set-item-selected.action';\nimport { ListSelectedSetItemsSelectedAction } from './set-items-selected.action';\nimport { ListSelectedSetLoadingAction } from './set-loading.action';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSelectedOrchestrator extends ListStateOrchestrator<\n AsyncItem<ListSelectedModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSelectedSetLoadingAction, this.setLoading)\n .register(ListSelectedSetItemSelectedAction, this.setItemSelected)\n .register(ListSelectedSetItemsSelectedAction, this.setItemsSelected)\n .register(ListSelectedLoadAction, this.load);\n }\n\n private setLoading(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetLoadingAction,\n ): AsyncItem<ListSelectedModel> {\n return new AsyncItem<ListSelectedModel>(\n state.item,\n state.lastUpdate,\n action.loading,\n );\n }\n\n private load(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedLoadAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelected = new ListSelectedModel();\n action.items.map((s) => newSelected.selectedIdMap.set(s, true));\n\n return new AsyncItem<ListSelectedModel>(\n Object.assign({}, state.item, newSelected),\n Date.now(),\n false,\n );\n }\n\n private setItemSelected(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetItemSelectedAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelected = this.cloneListSelectedModel(state.item);\n\n newSelected.selectedIdMap.set(action.id, action.selected);\n\n return new AsyncItem<ListSelectedModel>(\n newSelected,\n state.lastUpdate,\n state.loading,\n );\n }\n\n private setItemsSelected(\n state: AsyncItem<ListSelectedModel>,\n action: ListSelectedSetItemsSelectedAction,\n ): AsyncItem<ListSelectedModel> {\n const newSelectedIds = action.items || [];\n const newListSelectedModel = action.refresh\n ? new ListSelectedModel()\n : this.cloneListSelectedModel(state.item);\n\n if (newSelectedIds instanceof Observable) {\n newSelectedIds.pipe(take(1)).subscribe((selectedIds) => {\n selectedIds.map((s) =>\n newListSelectedModel.selectedIdMap.set(s, action.selected),\n );\n });\n } else {\n newSelectedIds.map((s) =>\n newListSelectedModel.selectedIdMap.set(s, action.selected),\n );\n }\n\n return new AsyncItem<ListSelectedModel>(\n newListSelectedModel,\n state.lastUpdate,\n state.loading,\n );\n }\n\n private cloneListSelectedModel(source: ListSelectedModel): ListSelectedModel {\n const newListItems = new ListSelectedModel();\n newListItems.selectedIdMap = new Map<string, boolean>(source.selectedIdMap);\n\n return newListItems;\n }\n}\n","/**\n * These properties are a work in progress, and we do not recommend using them.\n * @deprecated\n */\nexport class ListSortLabelModel {\n /**\n * The text for the label.\n */\n public text: string;\n /**\n * The label type.\n */\n public fieldType: string;\n /**\n * The fields to sort.\n */\n public fieldSelector: string;\n /**\n * Whether to sort all fields.\n * @default false\n */\n public global = false;\n /**\n * Whether to sort in descending order.\n * @default false\n */\n public descending = false;\n\n constructor(data?: any) {\n if (data) {\n this.text = data.text;\n this.fieldType = data.fieldType;\n this.fieldSelector = data.fieldSelector;\n this.global = data.global;\n this.descending = data.descending;\n }\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListSortLabelModel } from './label.model';\nimport { ListSortSetAvailableAction } from './set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './set-global.action';\nimport { ListSortModel } from './sort.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListSortOrchestrator extends ListStateOrchestrator<ListSortModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListSortSetFieldSelectorsAction, this.setFieldSelectors)\n .register(ListSortSetAvailableAction, this.setAvailable)\n .register(ListSortSetGlobalAction, this.setGlobal);\n }\n\n private setFieldSelectors(\n state: ListSortModel,\n action: ListSortSetFieldSelectorsAction,\n ): ListSortModel {\n return new ListSortModel(\n Object.assign({}, state, { fieldSelectors: action.fieldSelectors }),\n );\n }\n\n private setAvailable(\n state: ListSortModel,\n action: ListSortSetAvailableAction,\n ): ListSortModel {\n const newAvailable = action.available.map(\n (available) => new ListSortLabelModel(available),\n );\n return new ListSortModel(\n Object.assign({}, state, { available: newAvailable }),\n );\n }\n\n private setGlobal(\n state: ListSortModel,\n action: ListSortSetGlobalAction,\n ): ListSortModel {\n const newGlobal = action.global.map(\n (global) => new ListSortLabelModel(global),\n );\n return new ListSortModel(Object.assign({}, state, { global: newGlobal }));\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarSetTypeAction {\n constructor(public type: string) {}\n}\n","import { TemplateRef } from '@angular/core';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarItemModel {\n public index = -1;\n public template: TemplateRef<unknown>;\n public location: string;\n public view: string;\n\n public id: string;\n\n constructor(data?: any) {\n if (data) {\n this.index = data.index;\n this.template = data.template;\n this.location = data.location;\n this.view = data.view;\n this.id = data.id;\n }\n }\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListToolbarItemsDisableAction } from './disable.action';\nimport { ListToolbarItemsLoadAction } from './load.action';\nimport { ListToolbarItemsRemoveAction } from './remove.action';\nimport { ListToolbarSetExistsAction } from './set-exists.action';\nimport { ListToolbarSetTypeAction } from './set-type.action';\nimport { ListToolbarShowMultiselectToolbarAction } from './show-multiselect-toolbar.action';\nimport { ListToolbarItemModel } from './toolbar-item.model';\nimport { ListToolbarModel } from './toolbar.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListToolbarOrchestrator extends ListStateOrchestrator<ListToolbarModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListToolbarSetExistsAction, this.setExists)\n .register(ListToolbarItemsDisableAction, this.setDisabled)\n .register(ListToolbarItemsLoadAction, this.load)\n .register(ListToolbarSetTypeAction, this.setType)\n .register(ListToolbarItemsRemoveAction, this.remove)\n .register(\n ListToolbarShowMultiselectToolbarAction,\n this.showMultiselectToolbar,\n );\n }\n\n private setExists(\n state: ListToolbarModel,\n action: ListToolbarSetExistsAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.exists = action.exists;\n return newModel;\n }\n\n private setDisabled(\n state: ListToolbarModel,\n action: ListToolbarItemsDisableAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.disabled = action.disable;\n return newModel;\n }\n\n private setType(\n state: ListToolbarModel,\n action: ListToolbarSetTypeAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.type = action.type;\n return newModel;\n }\n\n private load(\n state: ListToolbarModel,\n action: ListToolbarItemsLoadAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n\n const newListItems = action.items.map((item) => {\n /**\n * NOTE: Originally this function went off the action index and item models did not include\n * the index. We changed this but must leave functionality to convert the action index for\n * backwards compatibility.\n */\n if (!item.index) {\n item.index = action.index;\n }\n return new ListToolbarItemModel(item);\n });\n\n let items = [...state.items, ...newListItems];\n items = items.sort((a, b) => {\n if (a.index < b.index) {\n return -1;\n } else if (a.index > b.index) {\n return 1;\n } else {\n return 0;\n }\n });\n\n newModel.items = items;\n\n return newModel;\n }\n\n private remove(\n state: ListToolbarModel,\n action: ListToolbarItemsRemoveAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n\n newModel.items = newModel.items.filter((item: ListToolbarItemModel) => {\n return action.ids.indexOf(item.id) === -1;\n });\n\n return newModel;\n }\n\n private showMultiselectToolbar(\n state: ListToolbarModel,\n action: ListToolbarShowMultiselectToolbarAction,\n ): ListToolbarModel {\n const newModel = new ListToolbarModel(state);\n newModel.showMultiselectToolbar = action.exists;\n return newModel;\n }\n}\n","import { ListViewModel } from './view.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsLoadAction {\n constructor(public views: ListViewModel[]) {}\n}\n","import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListViewsLoadAction } from './load.action';\nimport { ListViewsSetActiveAction } from './set-active.action';\nimport { ListViewsModel } from './views.model';\n\n/**\n * @internal\n * @deprecated\n */\nexport class ListViewsOrchestrator extends ListStateOrchestrator<ListViewsModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListViewsSetActiveAction, this.setActive).register(\n ListViewsLoadAction,\n this.load,\n );\n }\n\n private setActive(\n state: ListViewsModel,\n action: ListViewsSetActiveAction,\n ): ListViewsModel {\n return new ListViewsModel(\n Object.assign({}, state, { active: action.view }),\n );\n }\n\n private load(\n state: ListViewsModel,\n action: ListViewsLoadAction,\n ): ListViewsModel {\n return new ListViewsModel(\n Object.assign({}, state, { views: action.views }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ListFiltersOrchestrator } from './filters/filters.orchestrator';\nimport { ListItemsOrchestrator } from './items/items.orchestrator';\nimport { ListStateModel } from './list-state.model';\nimport { ListStateDispatcher } from './list-state.rxstate';\nimport { ListPagingOrchestrator } from './paging/paging.orchestrator';\nimport { ListSearchOrchestrator } from './search/search.orchestrator';\nimport { ListSelectedOrchestrator } from './selected/selected.orchestrator';\nimport { ListSortOrchestrator } from './sort/sort.orchestrator';\nimport { ListToolbarOrchestrator } from './toolbar/toolbar.orchestrator';\nimport { ListViewsOrchestrator } from './views/views.orchestrator';\n\n/**\n * @internal\n * @deprecated\n */\n@Injectable()\nexport class ListState extends StateNode<ListStateModel> {\n constructor() {\n super(new ListStateModel(), inject(ListStateDispatcher));\n\n this.register('filters', ListFiltersOrchestrator)\n .register('items', ListItemsOrchestrator)\n .register('paging', ListPagingOrchestrator)\n .register('search', ListSearchOrchestrator)\n .register('sort', ListSortOrchestrator)\n .register('toolbar', ListToolbarOrchestrator)\n .register('views', ListViewsOrchestrator)\n .register('selected', ListSelectedOrchestrator)\n .begin();\n }\n}\n","/**\n * @internal\n * @deprecated\n */\nexport class ListViewModel {\n public id: string;\n public name: string;\n\n constructor(id: string, name: string) {\n this.id = id;\n this.name = name;\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport {\n AsyncItem,\n ListItemModel,\n ListSortFieldSelectorModel,\n getValue,\n isObservable,\n} from '@skyux/list-builder-common';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n of as observableOf,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n flatMap,\n map as observableMap,\n skip,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\nimport { ListDataProvider } from './list-data.provider';\nimport { ListViewComponent } from './list-view.component';\nimport { ListItemsLoadAction } from './state/items/load.action';\nimport { ListItemsSetLoadingAction } from './state/items/set-loading.action';\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSelectedLoadAction } from './state/selected/load.action';\nimport { ListSelectedModel } from './state/selected/selected.model';\nimport { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';\nimport { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';\nimport { ListSortModel } from './state/sort/sort.model';\nimport { ListViewsLoadAction } from './state/views/load.action';\nimport { ListViewsSetActiveAction } from './state/views/set-active.action';\nimport { ListViewModel } from './state/views/view.model';\n\nlet idIndex = 0;\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@Component({\n selector: 'sky-list',\n template: '<ng-content />',\n providers: [ListState, ListStateDispatcher],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListComponent\n implements AfterContentInit, OnChanges, OnDestroy\n{\n public id = `sky-list-cmp-${++idIndex}`;\n /**\n * The data to display. The list component requires this property or the\n * `dataProvider` property. For checklist or multiselect grids, each row requires an\n * `id` property to manage selected items with the `selectedIds` input and the\n * `selectedIdsChange` event. If you do not provide an `id`, the list automatically\n * generates one. To update data in your view outside of a `dataProvider`, you must use\n * an observable instead of a static array.\n */\n @Input()\n public data?: any[] | Observable<any[]> = [];\n\n /**\n * The data provider that obtains the data to display. The list component requires\n * this property or the `data` property. For lists that use `dataProvider` instead of `data`,\n * consumers are responsible for managing all `ListDataRequestModel` properties.\n * @default SkyListInMemoryDataProvider\n */\n @Input()\n public dataProvider?: ListDataProvider;\n\n /**\n * @internal\n */\n @Input()\n public defaultView?: ListViewComponent;\n\n /**\n * The total number of items for the initial data set when initialized. When\n * used in conjunction with `data` and `dataProvider`, it allows an initial data to be\n * set with the need to call the `dataProvider`.\n */\n @Input()\n public initialTotal?: number;\n\n /**\n * The set of IDs for the items to select in a checklist or multiselect grid.\n * The IDs match the `id` properties of the `data` objects. Items with IDs that are not\n * included are de-selected in the checklist or multiselect grid.\n */\n @Input()\n public selectedIds?: string[] | Observable<string[]>;\n\n /**\n * The set of fields to sort by. If array of fields then sorted by order of array.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n @Input()\n public sortFields?:\n | ListSortFieldSelectorModel\n | ListSortFieldSelectorModel[]\n | Observable<ListSortFieldSelectorModel[]>\n | Observable<ListSortFieldSelectorModel>;\n\n /**\n * The set of filters to apply to list data.\n * These filters create a filter summary when the list includes the\n * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list-filters)\n * component.\n */\n @Input()\n public appliedFilters: ListFilterModel[] = [];\n\n /**\n * For list views that support item selection, emits the selected entries.\n */\n @Output()\n public selectedIdsChange = new EventEmitter<Map<string, boolean>>();\n\n /**\n * Emits the filters applied to the list.\n */\n @Output()\n public appliedFiltersChange = new EventEmitter<ListFilterModel[]>();\n\n /**\n * The function to apply as a global sort on the list.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('search')\n public searchFunction: (data: any, searchText: string) => boolean;\n\n private dataFirstLoad = false;\n\n @ContentChildren(ListViewComponent)\n private listViews: QueryList<ListViewComponent>;\n\n private lastSelectedIds: string[] = [];\n\n private lastFilters: ListFilterModel[] = [];\n\n private ngUnsubscribe = new Subject<void>();\n\n private readonly state = inject(ListState);\n private readonly dispatcher = inject(ListStateDispatcher);\n\n constructor() {\n inject(SkyLogService).deprecated('SkyListComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n\n public ngAfterContentInit(): void {\n if (this.data && this.dataProvider && this.initialTotal) {\n this.dataFirstLoad = true;\n }\n\n if (this.listViews.length > 0) {\n const defaultView: ListViewComponent =\n this.defaultView === undefined\n ? this.listViews.first\n : this.defaultView;\n\n this.dispatcher.next(\n new ListViewsLoadAction(\n this.listViews.map((v) => new ListViewModel(v.id, v.label)),\n ),\n );\n\n // activate the default view\n this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));\n } else {\n return;\n }\n\n // set sort fields\n getValue(\n this.sortFields,\n (\n sortFields: ListSortFieldSelectorModel[] | ListSortFieldSelectorModel,\n ) => {\n let sortArray: ListSortFieldSelectorModel[];\n if (!Array.isArray(sortFields) && sortFields) {\n sortArray = [sortFields];\n } else {\n sortArray = sortFields as ListSortFieldSelectorModel[];\n }\n this.dispatcher.next(\n new ListSortSetFieldSelectorsAction(sortArray || []),\n );\n },\n );\n\n this.displayedItems.subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count),\n );\n });\n\n // Watch for selection changes.\n this.state\n .pipe(\n observableMap((current) => current.selected),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n )\n .subscribe((selected) => {\n // Update lastSelectedIds to help us retain user selections.\n const selectedIdsList: string[] = [];\n selected.item.selectedIdMap.forEach((value, key) => {\n if (value === true) {\n selectedIdsList.push(key);\n }\n });\n\n // If changes are distinct, emit selectedIdsChange.\n const distinctChanges = !this.arraysEqual(\n this.lastSelectedIds,\n selectedIdsList,\n );\n if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {\n this.selectedIdsChange.emit(selected.item.selectedIdMap);\n }\n\n this.lastSelectedIds = selectedIdsList;\n });\n\n if (this.appliedFiltersChange.observers.length > 0) {\n this.state\n .pipe(\n observableMap((current) => current.filters),\n takeUntil(this.ngUnsubscribe),\n skip(1),\n )\n .subscribe((filters) => {\n /**\n * We are doing this instead of a distinctUntilChange due to memory allocation issues\n * with the javascript array. To fix fully the array should be changed to an object in\n * a breaking change.\n */\n if (!this.arraysEqual(filters, this.lastFilters)) {\n this.lastFilters = filters.slice(0);\n this.appliedFiltersChange.emit(filters);\n }\n });\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['appliedFilters'] &&\n changes['appliedFilters'].currentValue !==\n changes['appliedFilters'].previousValue\n ) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(this.appliedFilters);\n });\n }\n if (changes['selectedIds']) {\n // Only send selection changes to dispatcher if changes are distinct.\n const newSelectedIds = changes['selectedIds'].currentValue;\n if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {\n this.dispatcher.setSelected(newSelectedIds, true, true);\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public refreshDisplayedItems(): void {\n this.displayedItems.pipe(take(1)).subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count),\n );\n });\n }\n\n public get displayedItems(): Observable<ListDataResponseModel> {\n if (!this.data && !this.dataProvider) {\n throw new Error('List requires data or dataProvider to be set.');\n }\n\n let data: any = this.data;\n if (!isObservable(data)) {\n data = observableOf(this.data);\n }\n\n if (!this.dataProvider) {\n this.dataProvider = new SkyListInMemoryDataProvider(\n data,\n this.searchFunction,\n );\n }\n\n let selectedIds = this.selectedIds || observableOf([]);\n if (!isObservable(selectedIds)) {\n selectedIds = observableOf(selectedIds);\n }\n\n let selectedChanged = false;\n\n // This subject is used to cancel previous request to the list's data provider when a new change\n // to the list's state occurs. In a future breaking change this should be replaced or coupled\n // with adding a debounce time to the Observable which watches for state changes.\n const cancelLastRequest = new Subject<void>();\n\n return observableCombineLatest(\n [\n this.state.pipe(\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.search),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.toolbar.disabled),\n distinctUntilChanged(),\n ),\n selectedIds.pipe(\n distinctUntilChanged(),\n observableMap((selected) => {\n selectedChanged = true;\n return selected;\n }),\n ),\n data.pipe(distinctUntilChanged()),\n ],\n (\n filters: ListFilterModel[],\n search: ListSearchModel,\n sortFieldSelectors: ListSortFieldSelectorModel[],\n itemsPerPage: number,\n pageNumber: number,\n isToolbarDisabled: boolean,\n selected: string[],\n itemsData: any[],\n ) => {\n cancelLastRequest.next();\n cancelLastRequest.complete();\n if (selectedChanged) {\n this.dispatcher.next(new ListSelectedSetLoadingAction());\n this.dispatcher.next(new ListSelectedLoadAction(selected));\n this.dispatcher.next(new ListSelectedSetLoadingAction(false));\n selectedChanged = false;\n }\n\n let response: Observable<ListDataResponseModel>;\n if (this.dataFirstLoad) {\n this.dataFirstLoad = false;\n const initialItems = itemsData.map(\n (d) =>\n new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d),\n );\n response = observableOf(\n new ListDataResponseModel({\n count: this.initialTotal,\n items: initialItems,\n }),\n ).pipe(takeUntil(cancelLastRequest));\n } else {\n response = this.dataProvider\n .get(\n new ListDataRequestModel({\n filters: filters,\n pageSize: itemsPerPage,\n pageNumber: pageNumber,\n search: search,\n sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),\n isToolbarDisabled: isToolbarDisabled,\n }),\n )\n .pipe(takeUntil(cancelLastRequest));\n }\n\n return response;\n },\n ).pipe(\n takeUntil(this.ngUnsubscribe),\n\n // Retain user selections from previous state.\n // This is only necessary for grids component (based on item.isSelected).\n observableMap((response) => {\n return response.pipe(\n observableMap((listDataResponseModel) => {\n return new ListDataResponseModel({\n count: listDataResponseModel.count,\n items: this.getItemsAndRetainSelections(\n listDataResponseModel.items,\n this.lastSelectedIds,\n ),\n });\n }),\n );\n }),\n flatMap((value) => value),\n );\n }\n\n public get selectedItems(): Observable<ListItemModel[]> {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((current) => current.items.items),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((current) => current.selected),\n distinctUntilChanged(),\n ),\n (items: ListItemModel[], selected: AsyncItem<ListSelectedModel>) => {\n return items.filter((i) => selected.item.selectedIdMap.get(i.id));\n },\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n public get lastUpdate(): Observable<Date> {\n return this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) =>\n s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined,\n ),\n );\n }\n\n public get views(): ListViewComponent[] {\n return this.listViews.toArray();\n }\n\n public get itemCount(): Observable<number> {\n return this.dataProvider.count();\n }\n\n private getItemsAndRetainSelections(\n newList: ListItemModel[],\n selectedIds: string[],\n ): ListItemModel[] {\n const updatedListModel = newList.slice();\n updatedListModel.forEach((item) => {\n item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;\n });\n return updatedListModel;\n }\n\n private arraysEqual(arrayA: any[], arrayB: any[]): boolean {\n /* istanbul ignore next */\n if (arrayA === arrayB) {\n return true;\n }\n if (arrayA === undefined || arrayB === undefined) {\n return false;\n }\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n for (let i = 0; i < arrayA.length; ++i) {\n if (arrayA[i] !== arrayB[i]) {\n return false;\n }\n }\n return true;\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyListComponent } from './list.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [SkyListComponent],\n imports: [CommonModule],\n exports: [SkyListComponent],\n})\nexport class SkyListModule {}\n","import { ListItemModel } from '@skyux/list-builder-common';\n\nexport class ListFilterModel {\n /**\n * The name of the filter.\n * @required\n */\n public name: string;\n\n /**\n * The label for the filter's summary item.\n * The label defaults to the `value` of the filter.\n */\n public label: string;\n\n /**\n * Whether users can dismiss the filter's summary item.\n * @default true\n */\n public dismissible = true;\n\n /**\n * The current value of the filter.\n */\n public value: any;\n\n /**\n * The default value of the filter. When a filter equals the\n * default value, the filter does not affect the list.\n */\n public defaultValue: any;\n\n /**\n * The function that determines whether items are filtered.\n * This property is required when using an in-memory data provider.\n * For information about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n\n constructor(data?: any) {\n if (data) {\n this.name = data.name;\n this.label = data.label;\n this.filterFunction = data.filterFunction;\n this.value = data.value;\n this.dismissible = data.dismissible;\n this.defaultValue = data.defaultValue;\n }\n }\n}\n","import { EventEmitter, TemplateRef } from '@angular/core';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * @internal\n */\nexport class SkyListFilterInlineModel {\n public name: string;\n public value: any;\n public defaultValue: any;\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n public onChange: EventEmitter<any> = new EventEmitter<any>();\n public template: TemplateRef<unknown>;\n\n constructor(data?: any) {\n if (data) {\n this.name = data.name;\n this.filterFunction = data.filterFunction;\n this.value = data.value;\n this.template = data.template;\n this.defaultValue = data.defaultValue;\n }\n }\n\n public changed(value: any): void {\n this.value = value;\n this.onChange.emit(value);\n }\n}\n","import {\n AfterViewInit,\n Component,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\n\n/**\n * Contains a filter button for the list toolbar. Place a\n * [`sky-filter-button`](https://developer.blackbaud.com/skyux/components/filter)\n * component inside this component to open a modal with filtering options.\n * To apply filter options, use the\n * [list component's](https://developer.blackbaud.com/skyux/components/list-overview?docs-active-tab=development#class_sky-list-component)\n * `appliedFilters` property.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-button',\n templateUrl: './list-filter-button.component.html',\n standalone: false,\n})\nexport class SkyListFilterButtonComponent implements AfterViewInit {\n @ViewChild('filterButton', {\n read: TemplateRef,\n static: true,\n })\n private filterButtonTemplate: TemplateRef<unknown>;\n\n private filterButtonItemToolbarIndex = 5000;\n\n private readonly dispatcher = inject(ListStateDispatcher);\n\n public ngAfterViewInit(): void {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.filterButtonTemplate,\n location: 'left',\n index: this.filterButtonItemToolbarIndex,\n }),\n ]);\n }\n}\n","<ng-template #filterButton>\n <ng-content />\n</ng-template>\n","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-filter-inline-item-renderer',\n template: '<ng-template #container />',\n standalone: false,\n})\nexport class SkyListFilterInlineItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<unknown>;\n @Input()\n public filter: any;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit(): void {\n /* istanbul ignore else */\n /* sanity check */\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n","import {\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnInit,\n QueryList,\n TemplateRef,\n} from '@angular/core';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\n/**\n * Creates a filter in the list's inline filter area.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-inline-item',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyListFilterInlineItemComponent implements OnInit {\n /**\n * The name of the filter.\n * @required\n */\n @Input()\n public name: string;\n\n /**\n * The current value of the filter.\n */\n @Input()\n public value: any;\n\n /**\n * The default value of the filter. If the value of the filter\n * is set to the default value, then the filter is not applied.\n */\n @Input()\n public defaultValue: any;\n\n /**\n * The function that determines whether an item is filtered.\n * This property is required when using an in-memory data provider. For information\n * about `ListItemModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('filter')\n public filterFunction: (item: ListItemModel, filter: any) => boolean;\n\n /**\n * The template for the filter. The template can access the `filter`\n * variable that contains the `value` of the filter control, which should be bound to\n * `ngModel`, and the `changed` function, which should be called when the model changes.\n * @required\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('template')\n public templateInput: TemplateRef<unknown>;\n\n public onChange: EventEmitter<any> = new EventEmitter<any>();\n\n @ContentChildren(TemplateRef)\n private templates: QueryList<TemplateRef<unknown>>;\n\n public ngOnInit(): void {\n if (this.name === undefined || this.name.length === 0) {\n throw new Error('Inline filter requires a name.');\n }\n }\n\n public get template(): TemplateRef<unknown> {\n return this.templates.length > 0\n ? this.templates.first\n : this.templateInput;\n }\n}\n","import {\n AfterContentInit,\n Component,\n ContentChildren,\n QueryList,\n inject,\n} from '@angular/core';\n\nimport { take } from 'rxjs/operators';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\nimport { ListFilterModel } from './filter.model';\nimport { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';\nimport { SkyListFilterInlineModel } from './list-filter-inline.model';\n\n/**\n * Creates an inline filter area for the list. Place each filter\n * in a `sky-list-filter-inline-item` component.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-inline',\n templateUrl: './list-filter-inline.component.html',\n standalone: false,\n})\nexport class SkyListFilterInlineComponent implements AfterContentInit {\n public inlineFilters: SkyListFilterInlineModel[] = [];\n\n @ContentChildren(SkyListFilterInlineItemComponent)\n private filters: QueryList<SkyListFilterInlineItemComponent>;\n\n private readonly dispatcher = inject(ListStateDispatcher);\n private readonly state = inject(ListState);\n\n public ngAfterContentInit(): void {\n this.inlineFilters = this.filters.map((filter) => {\n return new SkyListFilterInlineModel({\n name: filter.name,\n filterFunction: filter.filterFunction,\n template: filter.template,\n value: filter.value,\n defaultValue: filter.defaultValue,\n });\n });\n\n this.inlineFilters.forEach((filter) => {\n filter.onChange.subscribe((value: any) => {\n this.applyFilters();\n });\n });\n\n this.dispatcher.filtersUpdate(\n this.getFilterModelFromInline(this.inlineFilters),\n );\n }\n\n public applyFilters(): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(\n this.getFilterModelFromInline(this.inlineFilters),\n );\n });\n }\n\n private getFilterModelFromInline(\n inlineFilters: SkyListFilterInlineModel[],\n ): ListFilterModel[] {\n return inlineFilters.map((filter) => {\n return new ListFilterModel({\n name: filter.name,\n value: filter.value,\n filterFunction: filter.filterFunction,\n defaultValue: filter.defaultValue,\n });\n });\n }\n}\n","<ng-content />\n\n<sky-filter-inline>\n @for (filter of inlineFilters; track filter) {\n <sky-filter-inline-item>\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n />\n </sky-filter-inline-item>\n }\n</sky-filter-inline>\n","import {\n AfterContentInit,\n Component,\n EventEmitter,\n Output,\n inject,\n} from '@angular/core';\n\nimport { Observable } from 'rxjs';\nimport { map as observableMap, take } from 'rxjs/operators';\n\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\n\nimport { ListFilterModel } from './filter.model';\n\n/**\n * Creates a filter summary based on the\n * [list component's](https://developer.blackbaud.com/skyux/components/list-overview?docs-active-tab=development#class_sky-list-component)\n * `appliedFilters` property. Place this component within the\n * [`sky-list-toolbar`](https://developer.blackbaud.com/skyux/components/list-toolbar) component.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-filter-summary',\n templateUrl: './list-filter-summary.component.html',\n standalone: false,\n})\nexport class SkyListFilterSummaryComponent implements AfterContentInit {\n /**\n * Emits a `ListFilterModel` when users select a summary item. A common use case is\n * to open a filter modal when this event is received.\n */\n @Output()\n public summaryItemClick = new EventEmitter<ListFilterModel>();\n\n public appliedFilters: Observable<ListFilterModel[]>;\n\n private readonly state = inject(ListState);\n private readonly dispatcher = inject(ListStateDispatcher);\n\n public ngAfterContentInit(): void {\n // The setTimeout here is to ensure we avoid any ExpressionChangedAfterItHasBeenCheckedError issues.\n setTimeout(() => {\n this.appliedFilters = this.state.pipe(\n observableMap((state) => {\n return state.filters.filter((filter) => {\n return (\n filter.value !== '' &&\n filter.value !== undefined &&\n filter.value !== false &&\n filter.value !== filter.defaultValue\n );\n });\n }),\n );\n });\n }\n\n public filterSummaryItemDismiss(index: number): void {\n this.appliedFilters.pipe(take(1)).subscribe((filters) => {\n filters.splice(index, 1);\n this.dispatcher.filtersUpdate(filters.slice());\n });\n }\n\n public filterSummaryItemClick(item: ListFilterModel): void {\n this.summaryItemClick.emit(item);\n }\n}\n","<sky-filter-summary>\n @for (item of appliedFilters | async; track item; let i = $index) {\n <sky-filter-summary-item\n [dismissible]=\"item.dismissible\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n }\n</sky-filter-summary>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyFilterModule } from '@skyux/lists';\n\nimport { SkyListFilterButtonComponent } from './list-filter-button.component';\nimport { SkyListFilterInlineItemRendererComponent } from './list-filter-inline-item-renderer.component';\nimport { SkyListFilterInlineItemComponent } from './list-filter-inline-item.component';\nimport { SkyListFilterInlineComponent } from './list-filter-inline.component';\nimport { SkyListFilterSummaryComponent } from './list-filter-summary.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListFilterButtonComponent,\n SkyListFilterSummaryComponent,\n SkyListFilterInlineItemComponent,\n SkyListFilterInlineComponent,\n SkyListFilterInlineItemRendererComponent,\n ],\n imports: [CommonModule, SkyFilterModule],\n exports: [\n SkyListFilterButtonComponent,\n SkyListFilterSummaryComponent,\n SkyListFilterInlineItemComponent,\n SkyListFilterInlineComponent,\n ],\n})\nexport class SkyListFiltersModule {}\n","import { BehaviorSubject } from 'rxjs';\n\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\n\n/**\n * The SKY UX-themed pagination control that displays list data across multiple pages.\n * @internal\n * @deprecated\n */\nexport abstract class ListPagingComponent {\n protected initialized = new BehaviorSubject<boolean>(false);\n protected state: ListState;\n protected dispatcher: ListStateDispatcher;\n\n constructor(state: ListState, dispatcher: ListStateDispatcher) {\n this.state = state;\n this.dispatcher = dispatcher;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n Input,\n OnInit,\n forwardRef,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport { AsyncList, ListItemModel, getValue } from '@skyux/list-builder-common';\n\nimport { Observable } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n scan,\n} from 'rxjs/operators';\n\nimport { ListPagingComponent } from '../list/list-paging.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetItemsPerPageAction } from '../list/state/paging/set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from '../list/state/paging/set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\n\n/* istanbul ignore next */\nconst listPagingComponentRef = forwardRef(() => SkyListPagingComponent);\n\n/**\n * Displays a pagination control for a SKY UX-themed list of data.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-paging',\n templateUrl: './list-paging.component.html',\n providers: [\n { provide: ListPagingComponent, useExisting: listPagingComponentRef },\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListPagingComponent\n extends ListPagingComponent\n implements OnInit\n{\n /**\n * The number of list items per page.\n * @default 10\n */\n @Input()\n public pageSize: Observable<number> | number = 10;\n\n /**\n * The maximum pages to display.\n * @default 5\n */\n @Input()\n public maxPages: Observable<number> | number = 5;\n\n /**\n * The current page number.\n * @default 1\n */\n @Input()\n public pageNumber: Observable<number> | number = 1;\n\n public currentPageNumber: Observable<number>;\n\n public maxDisplayedPages: Observable<number>;\n\n public itemsPerPage: Observable<number>;\n\n public itemCount: Observable<number>;\n\n constructor() {\n super(inject(ListState), inject(ListStateDispatcher));\n inject(SkyLogService).deprecated('SkyListPagingComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation:\n 'Use data manager and the paging component instead.',\n });\n }\n\n public ngOnInit(): void {\n this.currentPageNumber = this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n );\n\n this.maxDisplayedPages = this.state.pipe(\n observableMap((s) => s.paging.maxDisplayedPages),\n );\n\n this.itemsPerPage = this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n );\n\n this.itemCount = this.state.pipe(\n observableMap((s) => {\n return s.items;\n }),\n scan(\n (\n previousValue: AsyncList<ListItemModel>,\n newValue: AsyncList<ListItemModel>,\n ) => {\n if (previousValue.lastUpdate > newValue.lastUpdate) {\n return previousValue;\n } else {\n return newValue;\n }\n },\n ),\n observableMap((result: AsyncList<ListItemModel>) => {\n return result.count;\n }),\n distinctUntilChanged(),\n );\n\n // subscribe to or use inputs\n getValue(this.pageSize, (pageSize: number) =>\n this.dispatcher.next(\n new ListPagingSetItemsPerPageAction(Number(pageSize)),\n ),\n );\n getValue(this.maxPages, (maxPages: number) =>\n this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages))),\n );\n getValue(this.pageNumber, (pageNumber: number) =>\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(pageNumber)),\n ),\n );\n }\n\n public pageChange(currentPage: number): void {\n // Paging must be updated after list data has been updated.\n // Adding a setTimeout will pull it out of the stream.\n setTimeout(() => {\n this.dispatcher.next(\n new ListPagingSetPageNumberAction(Number(currentPage)),\n );\n });\n }\n}\n","<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n/>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyPagingModule } from '@skyux/lists';\n\nimport { SkyListPagingComponent } from './list-paging.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [SkyListPagingComponent],\n imports: [CommonModule, SkyPagingModule],\n exports: [SkyListPagingComponent],\n})\nexport class SkyListPagingModule {}\n","/* istanbul ignore file */\n\n/**\n * NOTICE: DO NOT MODIFY THIS FILE!\n * The contents of this file were automatically generated by\n * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-list-builder' schematic.\n * To update this file, simply rerun the command.\n */\nimport { NgModule } from '@angular/core';\nimport {\n SkyI18nModule,\n SkyLibResources,\n SkyLibResourcesService,\n} from '@skyux/i18n';\n\nconst RESOURCES: Record<string, SkyLibResources> = {\n 'EN-US': {\n skyux_list_show_secondary_actions_button: { message: 'More' },\n skyux_list_multiselect_clear_all: { message: 'Clear all' },\n skyux_list_multiselect_select_all: { message: 'Select all' },\n skyux_list_multiselect_show_selected: {\n message: 'Only show selected items',\n },\n skyux_list_view_switcher_dropdown_title: { message: 'Select view' },\n },\n};\n\nSkyLibResourcesService.addResources(RESOURCES);\n\n/**\n * Import into any component library module that needs to use resource strings.\n */\n@NgModule({\n exports: [SkyI18nModule],\n})\nexport class SkyListBuilderResourcesModule {}\n","import { Injectable, OnDestroy } from '@angular/core';\n\nimport { BehaviorSubject } from 'rxjs';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\n\n/**\n * @internal\n */\n@Injectable()\nexport class SkyListSecondaryActionsService implements OnDestroy {\n public secondaryActionsCount = 0;\n public secondaryActionsSubject = new BehaviorSubject<number>(0);\n public actionsStream = new BehaviorSubject<SkyListSecondaryAction[]>([]);\n private actions: SkyListSecondaryAction[] = [];\n\n public addSecondaryAction(action: SkyListSecondaryAction): void {\n this.secondaryActionsCount++;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions.push(action);\n this.actionsStream.next(this.actions);\n }\n\n public removeSecondaryAction(action: any): void {\n this.secondaryActionsCount--;\n this.secondaryActionsSubject.next(this.secondaryActionsCount);\n this.actions = this.actions.filter(\n (existingItem) => existingItem !== action,\n );\n this.actionsStream.next(this.actions);\n }\n\n public ngOnDestroy(): void {\n this.secondaryActionsSubject.complete();\n this.actionsStream.complete();\n }\n}\n","import {\n AfterContentInit,\n Component,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds actions to the secondary actions dropdown in the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-secondary-action',\n templateUrl: './list-secondary-action.component.html',\n standalone: false,\n})\nexport class SkyListSecondaryActionComponent implements AfterContentInit {\n @ViewChild('listSecondaryAction', {\n read: TemplateRef,\n static: true,\n })\n private templateRef: TemplateRef<unknown>;\n\n private readonly actionService = inject(SkyListSecondaryActionsService);\n\n public ngAfterContentInit(): void {\n this.actionService.addSecondaryAction({\n template: this.templateRef,\n });\n }\n}\n","<ng-template #listSecondaryAction>\n <ng-content />\n</ng-template>\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n OnDestroy,\n OnInit,\n inject,\n} from '@angular/core';\n\nimport { Subject } from 'rxjs';\nimport { distinctUntilChanged, takeUntil } from 'rxjs/operators';\n\nimport { SkyListSecondaryAction } from './list-secondary-action';\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n// Note: this component is needed to ensure any reactive styles placed in the element have\n// their host to be based off of. Without this component the host is not written via the dispatcher.\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-secondary-actions-host',\n templateUrl: './list-secondary-actions-host.component.html',\n styleUrls: ['./list-secondary-actions-host.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListSecondaryActionsHostComponent implements OnInit, OnDestroy {\n public dropdownHidden = false;\n public actions: any[] = [];\n\n private ngUnsubscribe = new Subject<void>();\n\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly actionService = inject(SkyListSecondaryActionsService);\n\n public ngOnInit(): void {\n this.actionService.actionsStream\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((actions: SkyListSecondaryAction[]) => {\n const hasSecondaryActions = actions.length > 0;\n this.dropdownHidden = !hasSecondaryActions;\n this.actions = actions;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","<div\n class=\"sky-list-secondary-actions\"\n [ngClass]=\"{ 'sky-list-secondary-actions-hidden': dropdownHidden }\"\n>\n <sky-dropdown\n [attr.title]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n [label]=\"'skyux_list_show_secondary_actions_button' | skyLibResources\"\n >\n <sky-dropdown-button>\n <sky-icon iconName=\"more-actions\" />\n <span class=\"sky-list-secondary-actions-btn-text\">\n {{ 'skyux_list_show_secondary_actions_button' | skyLibResources }}\n </span>\n </sky-dropdown-button>\n <sky-dropdown-menu>\n @for (action of actions; track action) {\n <sky-dropdown-item>\n <ng-container *ngTemplateOutlet=\"action.template\" />\n </sky-dropdown-item>\n }\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content />\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\n\nimport { ListStateDispatcher } from '../../list/state/list-state.rxstate';\nimport { ListToolbarItemModel } from '../../list/state/toolbar/toolbar-item.model';\n\nimport { SkyListSecondaryActionsService } from './list-secondary-actions.service';\n\n/**\n * Adds a dropdown to the list toolbar for secondary actions. If the dropdown does not\n * include actions, the secondary actions dropdown is hidden.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-secondary-actions',\n templateUrl: './list-secondary-actions.component.html',\n providers: [SkyListSecondaryActionsService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListSecondaryActionsComponent implements AfterViewInit {\n public actions: any[] = [];\n\n @ViewChild('secondaryActions', {\n read: TemplateRef,\n static: true,\n })\n private secondaryActionsTemplate: TemplateRef<unknown>;\n\n private secondaryActionsItemToolbarIndex = 5000;\n\n private readonly dispatcher = inject(ListStateDispatcher);\n\n public ngAfterViewInit(): void {\n const secondaryActionItem = new ListToolbarItemModel({\n id: 'secondary-actions',\n template: this.secondaryActionsTemplate,\n location: 'center',\n index: this.secondaryActionsItemToolbarIndex,\n });\n\n this.dispatcher.toolbarAddItems([secondaryActionItem]);\n }\n}\n","<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content />\n </sky-list-secondary-actions-host>\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyDropdownModule } from '@skyux/popovers';\n\nimport { SkyListBuilderResourcesModule } from '../../shared/sky-list-builder-resources.module';\n\nimport { SkyListSecondaryActionComponent } from './list-secondary-action.component';\nimport { SkyListSecondaryActionsHostComponent } from './list-secondary-actions-host.component';\nimport { SkyListSecondaryActionsComponent } from './list-secondary-actions.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListSecondaryActionsComponent,\n SkyListSecondaryActionsHostComponent,\n SkyListSecondaryActionComponent,\n ],\n imports: [\n CommonModule,\n SkyDropdownModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent],\n})\nexport class SkyListSecondaryActionsModule {}\n","import {\n Component,\n Input,\n OnInit,\n TemplateRef,\n ViewChild,\n ViewContainerRef,\n} from '@angular/core';\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-list-toolbar-item-renderer',\n template: '<ng-template #container />',\n standalone: false,\n})\nexport class SkyListToolbarItemRendererComponent implements OnInit {\n @Input()\n public template: TemplateRef<unknown>;\n\n @ViewChild('container', {\n read: ViewContainerRef,\n static: true,\n })\n private container: ViewContainerRef;\n\n public ngOnInit(): void {\n if (this.template !== undefined) {\n this.container.createEmbeddedView(this.template, this);\n }\n }\n}\n","import { Component, Input, OnDestroy, OnInit, inject } from '@angular/core';\nimport { SkyCheckboxChange } from '@skyux/forms';\nimport { ListItemModel } from '@skyux/list-builder-common';\n\nimport { Subject } from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSelectedModel } from '../list/state/selected/selected.model';\n\nlet uniqueId = 0;\n\n/**\n * @internal\n * @deprecated\n */\n@Component({\n selector: 'sky-list-multiselect-toolbar',\n templateUrl: './list-multiselect-toolbar.component.html',\n styleUrls: ['./list-multiselect-toolbar.component.scss'],\n standalone: false,\n})\nexport class SkyListMultiselectToolbarComponent implements OnInit, OnDestroy {\n @Input()\n public showOnlySelected = false;\n\n public multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;\n\n private selectedIdMap = new Map<string, boolean>();\n\n private ngUnsubscribe = new Subject<void>();\n\n private readonly state = inject(ListState);\n private readonly dispatcher = inject(ListStateDispatcher);\n\n public ngOnInit(): void {\n this.state\n .pipe(\n observableMap((t) => t.selected.item),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.selectedMapEqual),\n )\n .subscribe((model: ListSelectedModel) => {\n this.selectedIdMap = model.selectedIdMap;\n\n if (this.showOnlySelected) {\n this.reapplyFilter(true);\n }\n });\n\n // If 'show-selected' filter is programmatically set from a child component (e.g. checklist),\n // make sure the checked state of the 'show-selected' checkbox stays in sync.\n this.state\n .pipe(\n observableMap((t) => t.filters),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(this.showSelectedValuesEqual),\n )\n .subscribe((filters: ListFilterModel[]) => {\n const showSelectedFilter = filters.find(\n (filter) => filter.name === 'show-selected',\n );\n if (showSelectedFilter) {\n this.showOnlySelected = showSelectedFilter.value === 'true';\n }\n });\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public selectAll(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1),\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n true,\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public clearSelections(): void {\n this.state\n .pipe(\n observableMap((state) => state.items.items),\n take(1),\n )\n .subscribe((items) => {\n this.dispatcher.setSelected(\n items.map((item) => item.id),\n false,\n );\n if (this.showOnlySelected) {\n this.reapplyFilter(this.showOnlySelected);\n }\n });\n }\n\n public changeVisibleItems(change: SkyCheckboxChange): void {\n this.showOnlySelected = change.checked;\n this.reapplyFilter(change.checked);\n }\n\n private reapplyFilter(isSelected: boolean): void {\n this.state\n .pipe(\n observableMap((state) => state.filters),\n take(1),\n )\n .subscribe((filters: ListFilterModel[]) => {\n filters = filters.filter((filter) => filter.name !== 'show-selected');\n filters.push(this.getShowSelectedFilter(isSelected));\n this.dispatcher.filtersUpdate(filters);\n });\n\n // If \"show selected\" is checked and paging is enabled, go to page one.\n /* istanbul ignore else */\n if (isSelected) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n });\n }\n this.dispatcher.toolbarSetDisabled(isSelected);\n }\n\n private getShowSelectedFilter(isSelected: boolean): ListFilterModel {\n return new ListFilterModel({\n name: 'show-selected',\n value: isSelected.toString(),\n filterFunction: (\n model: ListItemModel,\n showOnlySelected: boolean,\n ): boolean => {\n /* istanbul ignore else */\n if (showOnlySelected.toString() !== false.toString()) {\n return this.selectedIdMap.get(model.id);\n }\n },\n defaultValue: false.toString(),\n });\n }\n\n private showSelectedValuesEqual(\n prev: ListFilterModel[],\n next: ListFilterModel[],\n ): boolean {\n const prevShowSelectedFilter = prev.find(\n (filter) => filter.name === 'show-selected',\n );\n const nextShowSelectedFilter = next.find(\n (filter) => filter.name === 'show-selected',\n );\n\n // Both undefined.\n if (!prevShowSelectedFilter && !nextShowSelectedFilter) {\n return true;\n }\n\n // Only one undefined.\n if (\n (prevShowSelectedFilter && !nextShowSelectedFilter) ||\n (!prevShowSelectedFilter && nextShowSelectedFilter)\n ) {\n return false;\n }\n\n // Defined, but with different \"value\".\n return prevShowSelectedFilter.value === nextShowSelectedFilter.value;\n }\n\n private selectedMapEqual(\n prev: ListSelectedModel,\n next: ListSelectedModel,\n ): boolean {\n if (prev.selectedIdMap.size !== next.selectedIdMap.size) {\n return false;\n }\n\n for (let i = 0; i < next.selectedIdMap.size; i++) {\n const key = Array.from(next.selectedIdMap.keys())[i];\n const value = next.selectedIdMap.get(key);\n /* istanbul ignore next */\n if (value !== prev.selectedIdMap.get(key)) {\n return false;\n }\n }\n\n return true;\n }\n}\n","<sky-toolbar class=\"sky-list-multiselect-toolbar\">\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"selectAllTemplate\" />\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\" />\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\" />\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n</sky-toolbar>\n\n<ng-template #selectAllTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-select-all'\"\n (click)=\"selectAll(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_select_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #clearSelectionsTemplate>\n <button\n class=\"sky-btn sky-btn-link\"\n type=\"button\"\n [attr.id]=\"multiselectToolbarId + '-clear-all'\"\n (click)=\"clearSelections(); $event.preventDefault()\"\n >\n {{ 'skyux_list_multiselect_clear_all' | skyLibResources }}\n </button>\n</ng-template>\n\n<ng-template #showSelectedTemplate>\n <sky-checkbox\n [attr.id]=\"multiselectToolbarId + '-show-selected'\"\n [checked]=\"showOnlySelected\"\n (change)=\"changeVisibleItems($event)\"\n >\n <sky-checkbox-label>\n {{ 'skyux_list_multiselect_show_selected' | skyLibResources }}\n </sky-checkbox-label>\n </sky-checkbox>\n</ng-template>\n","import {\n Component,\n ContentChildren,\n Input,\n QueryList,\n TemplateRef,\n} from '@angular/core';\n\nlet idIndex = 0;\n\n/**\n * Defines a toolbar item for the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-item',\n template: '<ng-content />',\n standalone: false,\n})\nexport class SkyListToolbarItemComponent {\n /**\n * The ID of the item.\n */\n @Input() public id = `sky-list-toolbar-item-${++idIndex}`;\n /**\n * The index of the item at the given item location.\n * @default -1\n */\n @Input() public index = -1;\n /**\n * The toolbar location of the item. The valid options are `\"left\"`,\n * `\"center\"`, and `\"right\"`.\n * @default \"left\"\n */\n @Input() public location = 'left';\n @ContentChildren(TemplateRef) private templates: QueryList<\n TemplateRef<unknown>\n >;\n public get template(): TemplateRef<unknown> {\n return this.templates.length > 0 ? this.templates.first : undefined;\n }\n}\n","import { ChangeDetectionStrategy, Component } from '@angular/core';\n\n/**\n * Displays custom actions in the toolbar beside to the search bar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-search-actions',\n templateUrl: './list-toolbar-search-actions.component.html',\n styleUrls: ['./list-toolbar-search-actions.component.scss'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListToolbarSearchActionsComponent {}\n","<div class=\"sky-list-toolbar-search-actions\">\n <ng-content />\n</div>\n","import { Component, Input } from '@angular/core';\n\n/**\n * Adds a sort dropdown to the list toolbar.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-sort',\n template: '',\n standalone: false,\n})\nexport class SkyListToolbarSortComponent {\n /**\n * The label for a sort option.\n * @required\n */\n @Input()\n public label: string;\n /**\n * The data field to sort the list on.\n * @required\n */\n @Input()\n public field: string;\n /**\n * The data type of the data field to sort the list on.\n * @required\n */\n @Input()\n public type: string;\n /**\n * Whether to sort data in descending order.\n * @default false\n */\n @Input()\n public descending: boolean;\n}\n","import { Component, inject } from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\n\n/**\n * Adds a section on the right side of the toolbar for items that substantially change\n * or affect the view of the list. This includes simple filters and view switchers.\n * If the view section includes more than one item, simple filters appear on the left\n * and view switchers appear on the right.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar-view-actions',\n templateUrl: './list-toolbar-view-actions.component.html',\n styleUrls: ['./list-toolbar-view-actions.component.scss'],\n standalone: false,\n})\nexport class SkyListToolbarViewActionsComponent {\n constructor() {\n inject(SkyLogService).deprecated('SkyListToolbarViewActionsComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n}\n","<ng-content />\n","/**\n * @internal\n */\nexport class ListToolbarConfigSetSearchEnabledAction {\n constructor(public enabled: boolean) {}\n}\n","/**\n * @internal\n */\nexport class ListToolbarConfigSetSortSelectorEnabledAction {\n /* istanbul ignore next */\n constructor(public enabled = true) {}\n}\n","/**\n * @internal\n */\nexport class ListToolbarConfigModel {\n public searchEnabled = true;\n public sortSelectorEnabled = true;\n\n constructor(data?: any) {\n if (data) {\n this.searchEnabled = data.searchEnabled;\n this.sortSelectorEnabled = data.sortSelectorEnabled;\n }\n }\n}\n","import { ListToolbarConfigModel } from './config/config.model';\n\n/**\n * @internal\n */\nexport class ListToolbarStateModel {\n public config: ListToolbarConfigModel = new ListToolbarConfigModel();\n}\n","import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\n\nimport { ListToolbarStateAction } from './toolbar-state-action.type';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListToolbarStateDispatcher extends StateDispatcher<ListToolbarStateAction> {}\n\n/**\n * @internal\n */\nexport class ListToolbarStateOrchestrator<T> extends StateOrchestrator<\n T,\n ListToolbarStateAction\n> {}\n","import { ListToolbarStateOrchestrator } from '../toolbar-state.rxstate';\n\nimport { ListToolbarConfigModel } from './config.model';\nimport { ListToolbarConfigSetSearchEnabledAction } from './set-search-enabled.action';\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './set-sort-selector-enabled.action';\n\n/**\n * @internal\n */\nexport class ListToolbarConfigOrchestrator extends ListToolbarStateOrchestrator<ListToolbarConfigModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(\n ListToolbarConfigSetSearchEnabledAction,\n this.setSearchEnabled,\n ).register(\n ListToolbarConfigSetSortSelectorEnabledAction,\n this.setSortSelectorEnabled,\n );\n }\n\n private setSearchEnabled(\n state: ListToolbarConfigModel,\n action: ListToolbarConfigSetSearchEnabledAction,\n ): ListToolbarConfigModel {\n return new ListToolbarConfigModel(\n Object.assign({}, state, { searchEnabled: action.enabled }),\n );\n }\n\n private setSortSelectorEnabled(\n state: ListToolbarConfigModel,\n action: ListToolbarConfigSetSortSelectorEnabledAction,\n ): ListToolbarConfigModel {\n return new ListToolbarConfigModel(\n Object.assign({}, state, { sortSelectorEnabled: action.enabled }),\n );\n }\n}\n","import { Injectable, inject } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ListToolbarConfigOrchestrator } from './config/config.orchestrator';\nimport { ListToolbarStateModel } from './toolbar-state.model';\nimport { ListToolbarStateDispatcher } from './toolbar-state.rxstate';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListToolbarState extends StateNode<ListToolbarStateModel> {\n constructor() {\n super(inject(ListToolbarStateModel), inject(ListToolbarStateDispatcher));\n\n this.register('config', ListToolbarConfigOrchestrator).begin();\n }\n}\n","import {\n AfterContentInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n Input,\n OnDestroy,\n OnInit,\n QueryList,\n TemplateRef,\n ViewChild,\n inject,\n} from '@angular/core';\nimport { SkyLogService } from '@skyux/core';\nimport {\n ListSortFieldSelectorModel,\n getValue,\n} from '@skyux/list-builder-common';\nimport { SkySearchComponent } from '@skyux/lookup';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n map as observableMap,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\nimport { SkyListFilterInlineComponent } from '../list-filters/list-filter-inline.component';\nimport { SkyListFilterSummaryComponent } from '../list-filters/list-filter-summary.component';\nimport { ListStateDispatcher } from '../list/state/list-state.rxstate';\nimport { ListState } from '../list/state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from '../list/state/paging/set-page-number.action';\nimport { ListSortLabelModel } from '../list/state/sort/label.model';\nimport { ListToolbarSetTypeAction } from '../list/state/toolbar/set-type.action';\nimport { ListToolbarItemModel } from '../list/state/toolbar/toolbar-item.model';\nimport { ListToolbarModel } from '../list/state/toolbar/toolbar.model';\n\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\nimport { ListToolbarConfigSetSearchEnabledAction } from './state/config/set-search-enabled.action';\nimport { ListToolbarConfigSetSortSelectorEnabledAction } from './state/config/set-sort-selector-enabled.action';\nimport { ListToolbarStateModel } from './state/toolbar-state.model';\nimport { ListToolbarStateDispatcher } from './state/toolbar-state.rxstate';\nimport { ListToolbarState } from './state/toolbar-state.state-node';\n\nlet nextId = 0;\n\n/**\n * Displays a toolbar for a SKY UX-themed list of data.\n * @deprecated\n */\n@Component({\n selector: 'sky-list-toolbar',\n templateUrl: './list-toolbar.component.html',\n styleUrls: ['./list-toolbar.component.scss'],\n providers: [\n ListToolbarState,\n ListToolbarStateDispatcher,\n ListToolbarStateModel,\n ],\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: false,\n})\nexport class SkyListToolbarComponent\n implements OnInit, AfterContentInit, OnDestroy\n{\n /**\n * Whether to use the in-memory search.\n * Setting this to `false` will allow consumers to run their own searches remotely,\n * and push new values to the list component by updating the `data` property.\n * @default true\n * @internal\n */\n @Input()\n public set inMemorySearchEnabled(value: boolean) {\n this._inMemorySearchEnabled = value;\n }\n\n public get inMemorySearchEnabled(): boolean {\n if (this._inMemorySearchEnabled === undefined) {\n return true;\n }\n return this._inMemorySearchEnabled;\n }\n\n /**\n * Placeholder text for the search bar that the list toolbar creates with\n * a [search component](https://developer.blackbaud.com/skyux/components/search).\n * @default \"Find in this list\"\n */\n @Input()\n public placeholder: string;\n\n /**\n * Whether to enable the search bar.\n * @default true\n */\n @Input()\n public searchEnabled: boolean | Observable<boolean>;\n\n @ViewChild(SkySearchComponent, {\n read: SkySearchComponent,\n static: false,\n })\n public searchComponent: SkySearchComponent;\n\n /**\n * Whether to enable the sort selector.\n * @default false\n */\n @Input()\n public sortSelectorEnabled: boolean | Observable<boolean>;\n\n /**\n * Display the search bar in the standard position or in a separate section.\n * To highlight the search bar in a section above all other toolbar items,\n * set this property to `search`.\n * @default \"standard\"\n */\n @Input()\n public toolbarType = 'standard';\n\n /**\n * The text string to search with.\n */\n @Input()\n public searchText: string | Observable<string>;\n\n public get isFilterBarDisplayed(): boolean {\n return (\n !this.isToolbarDisabled &&\n this.hasInlineFilters &&\n this.inlineFilterBarExpanded\n );\n }\n\n public get filterButtonAriaControls(): string {\n return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;\n }\n\n public sortSelectors: Observable<any[]>;\n public searchTextInput: Observable<string>;\n public view: Observable<string>;\n public leftTemplates: ListToolbarItemModel[];\n public centerTemplates: ListToolbarItemModel[];\n public rightTemplates: ListToolbarItemModel[];\n public type: Observable<string>;\n public isSearchEnabled: Observable<boolean>;\n public isToolbarDisabled = false;\n public isMultiselectEnabled: Observable<boolean>;\n public isSortSelectorEnabled: Observable<boolean>;\n public appliedFilters: Observable<ListFilterModel[]>;\n public hasAppliedFilters: Observable<boolean>;\n public showFilterSummary: boolean;\n public hasInlineFilters: boolean;\n public inlineFilterBarExpanded = false;\n public hasAdditionalToolbarSection = false;\n public hasViewActions = false;\n\n public filterButtonId = `sky-list-toolbar-filter-button-${++nextId}`;\n public listFilterInlineId = `sky-list-toolbar-filter-inline-${++nextId}`;\n\n /**\n * Fires when users submit a search.\n * @internal\n * @deprecated\n */\n public searchApplied: Subject<string> = new Subject<string>();\n\n @ContentChildren(SkyListToolbarItemComponent)\n private toolbarItems: QueryList<SkyListToolbarItemComponent>;\n\n @ContentChildren(SkyListToolbarSortComponent)\n private toolbarSorts: QueryList<SkyListToolbarSortComponent>;\n\n @ContentChildren(SkyListFilterSummaryComponent)\n private filterSummary: QueryList<SkyListFilterSummaryComponent>;\n\n @ContentChildren(SkyListFilterInlineComponent)\n private inlineFilter: QueryList<SkyListFilterInlineComponent>;\n\n @ContentChildren(SkyListToolbarViewActionsComponent)\n private viewActions: QueryList<SkyListToolbarViewActionsComponent>;\n\n @ViewChild('search', {\n read: TemplateRef,\n static: true,\n })\n private searchTemplate: TemplateRef<unknown>;\n\n @ViewChild('sortSelector', {\n read: TemplateRef,\n static: true,\n })\n private sortSelectorTemplate: TemplateRef<unknown>;\n\n @ViewChild('inlineFilterButton', {\n read: TemplateRef,\n static: true,\n })\n private inlineFilterButtonTemplate: TemplateRef<unknown>;\n\n private customItemIds: string[] = [];\n private hasSortSelectors = false;\n private inlineFiltersItemToolbarIndex = 5000;\n private sortSelectorItemToolbarIndex = 6000;\n private ngUnsubscribe = new Subject<void>();\n\n private _inMemorySearchEnabled: boolean;\n\n private readonly changeDetector = inject(ChangeDetectorRef);\n private readonly state = inject(ListState);\n private readonly dispatcher = inject(ListStateDispatcher);\n private readonly toolbarState = inject(ListToolbarState);\n public readonly toolbarDispatcher = inject(ListToolbarStateDispatcher);\n\n constructor() {\n inject(SkyLogService).deprecated('SkyListToolbarComponent', {\n deprecationMajorVersion: 6,\n moreInfoUrl:\n 'https://developer.blackbaud.com/skyux/components/data-manager',\n replacementRecommendation: 'Use data manager instead.',\n });\n }\n\n public ngOnInit(): void {\n this.dispatcher.toolbarExists(true);\n\n getValue(this.searchText, (searchText: string) => {\n this.updateSearchText(searchText);\n });\n\n getValue(this.searchEnabled, (searchEnabled: boolean) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSearchEnabledAction(\n searchEnabled === undefined ? true : searchEnabled,\n ),\n );\n });\n\n getValue(this.toolbarType, (type: string) => {\n this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));\n });\n\n getValue(this.sortSelectorEnabled, (sortSelectorEnabled: any) => {\n this.toolbarDispatcher.next(\n new ListToolbarConfigSetSortSelectorEnabledAction(\n sortSelectorEnabled === undefined ? true : sortSelectorEnabled,\n ),\n );\n });\n\n this.sortSelectors = this.getSortSelectors();\n\n // Initialize the sort toolbar item if necessary\n this.sortSelectors\n .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())\n .subscribe((currentSort) => {\n if (currentSort.length > 0 && !this.hasSortSelectors) {\n this.hasSortSelectors = true;\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'sort-selector',\n template: this.sortSelectorTemplate,\n location: 'left',\n index: this.sortSelectorItemToolbarIndex,\n }),\n ]);\n } else if (currentSort.length < 1 && this.hasSortSelectors) {\n this.hasSortSelectors = false;\n this.dispatcher.toolbarRemoveItems(['sort-selector']);\n }\n });\n\n this.searchTextInput = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.search.searchText),\n distinctUntilChanged(),\n );\n\n this.view = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.views.active),\n distinctUntilChanged(),\n );\n\n this.watchTemplates();\n\n this.type = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((state) => state.toolbar.type),\n distinctUntilChanged(),\n );\n\n this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {\n if (toolbarType === 'search') {\n this.dispatcher.toolbarRemoveItems(['search']);\n } else {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n id: 'search',\n template: this.searchTemplate,\n location: 'right',\n }),\n ]);\n }\n });\n\n this.isSearchEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.searchEnabled),\n );\n\n this.state\n .pipe(\n observableMap((s) => s.toolbar),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged(),\n observableMap((c) => c.disabled),\n )\n .subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));\n\n this.isSortSelectorEnabled = this.toolbarState.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.config),\n distinctUntilChanged(),\n observableMap((c) => c.sortSelectorEnabled),\n );\n\n this.isMultiselectEnabled = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n observableMap((t) => t.showMultiselectToolbar),\n );\n\n this.hasAppliedFilters = this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) => s.filters),\n distinctUntilChanged(),\n observableMap((filters) => {\n const activeFilters = filters.filter((f) => {\n return (\n f.value !== '' &&\n f.value !== undefined &&\n f.value !== false &&\n f.value !== f.defaultValue\n );\n });\n return activeFilters.length > 0;\n }),\n );\n\n this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current: any) => {\n this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;\n this.changeDetector.detectChanges();\n });\n }\n\n public ngAfterContentInit(): void {\n // Inject custom toolbar items.\n this.toolbarItems.forEach((toolbarItem) => {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);\n\n this.customItemIds.push(toolbarItem.id);\n });\n\n this.toolbarItems.changes\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((newItems: QueryList<SkyListToolbarItemComponent>) => {\n newItems.forEach((item) => {\n if (this.customItemIds.indexOf(item.id) < 0) {\n this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);\n\n this.customItemIds.push(item.id);\n }\n });\n\n const itemsToRemove: string[] = [];\n\n this.customItemIds.forEach((itemId, index) => {\n if (!newItems.find((item) => item.id === itemId)) {\n itemsToRemove.push(itemId);\n this.customItemIds.splice(index, 1);\n }\n });\n\n this.dispatcher.toolbarRemoveItems(itemsToRemove);\n });\n\n const sortModels = this.toolbarSorts.map(\n (sort) =>\n new ListSortLabelModel({\n text: sort.label,\n fieldSelector: sort.field,\n fieldType: sort.type,\n global: true,\n descending: sort.descending,\n }),\n );\n\n this.dispatcher.sortSetGlobal(sortModels);\n\n // Add inline filters.\n this.showFilterSummary = this.filterSummary.length > 0;\n this.hasInlineFilters = this.inlineFilter.length > 0;\n\n if (this.hasInlineFilters) {\n this.dispatcher.toolbarAddItems([\n new ListToolbarItemModel({\n template: this.inlineFilterButtonTemplate,\n location: 'left',\n index: this.inlineFiltersItemToolbarIndex,\n }),\n ]);\n }\n\n // Check for view actions\n this.hasViewActions = this.viewActions.length > 0;\n }\n\n public ngOnDestroy(): void {\n this.searchApplied.complete();\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public setSort(sort: ListSortLabelModel): void {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.sortSetFieldSelectors([\n { fieldSelector: sort.fieldSelector, descending: sort.descending },\n ]);\n });\n }\n\n public inlineFilterButtonClick(): void {\n this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;\n }\n\n public updateSearchText(searchText: string): void {\n this.searchApplied.next(searchText);\n if (this.inMemorySearchEnabled) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.searchSetText(searchText);\n });\n }\n }\n\n private itemIsInView(itemView: string, activeView: string): boolean {\n return itemView === undefined || itemView === activeView;\n }\n\n private getSortSelectors(): Observable<\n {\n sort: ListSortLabelModel;\n selected: boolean;\n }[]\n > {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.sort.available),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.global),\n distinctUntilChanged(),\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged(),\n ),\n (\n available: ListSortLabelModel[],\n global: ListSortLabelModel[],\n fieldSelectors: ListSortFieldSelectorModel[],\n ) => {\n // Get sorts that are in the global that are not in the available\n const sorts = global.filter(\n (g) =>\n available.filter((a) => a.fieldSelector === g.fieldSelector)\n .length === 0,\n );\n\n const resultSortSelectors = [...sorts, ...available].map(\n (sortLabels) => {\n const fs = fieldSelectors.filter((f) => {\n return (\n f.fieldSelector === sortLabels.fieldSelector &&\n f.descending === sortLabels.descending\n );\n });\n let selected = false;\n if (fs.length > 0) {\n selected = true;\n }\n\n return {\n sort: sortLabels,\n selected: selected,\n };\n },\n );\n\n return resultSortSelectors;\n },\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n private watchTemplates(): void {\n observableCombineLatest(\n this.state.pipe(\n observableMap((s) => s.toolbar),\n distinctUntilChanged(),\n ),\n this.view.pipe(distinctUntilChanged()),\n (toolbar: ListToolbarModel, view: string) => {\n const items = toolbar.items.filter((i: ListToolbarItemModel) => {\n return this.itemIsInView(i.view, view);\n });\n\n const templates: any = {};\n\n items.forEach((item: ListToolbarItemModel) => {\n templates[item.location] = templates[item.location] || [];\n templates[item.location].push(item);\n });\n\n return templates;\n },\n )\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe((value) => {\n this.leftTemplates = value.left;\n this.centerTemplates = value.center;\n this.rightTemplates = value.right;\n this.changeDetector.markForCheck();\n });\n }\n}\n","<div class=\"sky-list-toolbar-container\">\n @if ((type | async) !== 'search') {\n <sky-toolbar>\n <sky-toolbar-section>\n @for (item of leftTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of centerTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of rightTemplates; track item) {\n <sky-toolbar-item [attr.sky-toolbar-id]=\"item.id\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n <ng-content />\n @if (hasViewActions) {\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-list-toolbar-view-actions\" />\n </sky-toolbar-view-actions>\n }\n </sky-toolbar-section>\n @if (showFilterSummary && (hasAppliedFilters | async)) {\n <sky-toolbar-section>\n <ng-content select=\"sky-list-filter-summary\" />\n </sky-toolbar-section>\n }\n </sky-toolbar>\n }\n\n @if (\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n ) {\n <div class=\"sky-list-toolbar-search\">\n <sky-toolbar>\n @if (isSearchEnabled | async) {\n <sky-toolbar-section>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n />\n </sky-toolbar-item>\n </sky-toolbar-section>\n }\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n @for (item of leftTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of centerTemplates; track item) {\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n </sky-toolbar-item>\n }\n @for (item of rightTemplates; track item) {\n <sky-toolbar-item [attr.sky-toolbar-id]=\"item.id\">\n @if (item.id !== 'search') {\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n />\n }\n </sky-toolbar-item>\n }\n <ng-content />\n @if (hasViewActions) {\n <sky-toolbar-view-actions>\n <ng-content select=\"sky-list-toolbar-view-actions\" />\n </sky-toolbar-view-actions>\n }\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n }\n @if (isFilterBarDisplayed) {\n <div [attr.aria-labelledby]=\"filterButtonId\" [id]=\"listFilterInlineId\">\n <ng-content select=\"sky-list-filter-inline\" />\n </div>\n }\n @if (isMultiselectEnabled | async) {\n <sky-list-multiselect-toolbar />\n }\n</div>\n\n<ng-template #search>\n @if (isSearchEnabled | async) {\n <div class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n />\n <ng-content select=\"sky-list-toolbar-search-actions\" />\n </div>\n }\n</ng-template>\n\n<ng-template #sortSelector>\n @if ((isSortSelectorEnabled | async) && (sortSelectors | async).length > 0) {\n <div class=\"sky-toolbar-item-sort-container\">\n <sky-sort [showButtonText]=\"true\">\n @for (item of sortSelectors | async; track item) {\n <sky-sort-item\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n }\n </sky-sort>\n </div>\n }\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n />\n</ng-template>\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { SkyCheckboxModule } from '@skyux/forms';\nimport { SkyIconModule } from '@skyux/icon';\nimport { SkyToolbarModule } from '@skyux/layout';\nimport { SkyFilterModule, SkySortModule } from '@skyux/lists';\nimport { SkySearchModule } from '@skyux/lookup';\n\nimport { SkyListFiltersModule } from '../list-filters/list-filters.module';\nimport { SkyListBuilderResourcesModule } from '../shared/sky-list-builder-resources.module';\n\nimport { SkyListMultiselectToolbarComponent } from './list-multiselect-toolbar.component';\nimport { SkyListToolbarItemRendererComponent } from './list-toolbar-item-renderer.component';\nimport { SkyListToolbarItemComponent } from './list-toolbar-item.component';\nimport { SkyListToolbarSearchActionsComponent } from './list-toolbar-search-actions.component';\nimport { SkyListToolbarSortComponent } from './list-toolbar-sort.component';\nimport { SkyListToolbarViewActionsComponent } from './list-toolbar-view-actions.component';\nimport { SkyListToolbarComponent } from './list-toolbar.component';\n\n/**\n * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.\n */\n@NgModule({\n declarations: [\n SkyListToolbarComponent,\n SkyListToolbarItemComponent,\n SkyListToolbarItemRendererComponent,\n SkyListMultiselectToolbarComponent,\n SkyListToolbarSearchActionsComponent,\n SkyListToolbarSortComponent,\n SkyListToolbarViewActionsComponent,\n ],\n imports: [\n CommonModule,\n SkyCheckboxModule,\n SkyToolbarModule,\n SkySearchModule,\n SkySortModule,\n SkyFilterModule,\n SkyListFiltersModule,\n SkyIconModule,\n SkyListBuilderResourcesModule,\n ],\n exports: [\n SkyListToolbarComponent,\n SkyListToolbarItemComponent,\n SkyListToolbarSearchActionsComponent,\n SkyListToolbarSortComponent,\n SkyListToolbarViewActionsComponent,\n ],\n})\nexport class SkyListToolbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["idIndex","observableMap","observableOf","observableCombineLatest","i2.SkyListFilterInlineItemRendererComponent","i2","i1","i1.SkyListSecondaryActionsHostComponent","i3","i4.SkyListToolbarItemRendererComponent","i5","i5.SkyListMultiselectToolbarComponent","i6"],"mappings":"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"}
|