@skyux/list-builder 8.6.0 → 9.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/documentation.json +3 -3
  2. package/{esm2020 → esm2022}/lib/modules/list/list.component.mjs +4 -4
  3. package/{esm2020 → esm2022}/lib/modules/list/list.module.mjs +5 -5
  4. package/esm2022/lib/modules/list/state/list-state.rxstate.mjs +82 -0
  5. package/{esm2020 → esm2022}/lib/modules/list/state/list-state.state-node.mjs +4 -4
  6. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-button.component.mjs +4 -4
  7. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-inline-item-renderer.component.mjs +4 -4
  8. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-inline-item.component.mjs +4 -4
  9. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-inline.component.mjs +4 -4
  10. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-summary.component.mjs +4 -4
  11. package/{esm2020 → esm2022}/lib/modules/list-filters/list-filters.module.mjs +12 -12
  12. package/{esm2020 → esm2022}/lib/modules/list-paging/list-paging.component.mjs +6 -6
  13. package/{esm2020 → esm2022}/lib/modules/list-paging/list-paging.module.mjs +5 -5
  14. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-multiselect-toolbar.component.mjs +4 -4
  15. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.component.mjs +4 -4
  16. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.mjs +4 -4
  17. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.mjs +4 -4
  18. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.mjs +15 -15
  19. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.service.mjs +4 -4
  20. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar-item-renderer.component.mjs +4 -4
  21. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar-item.component.mjs +4 -4
  22. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar-search-actions.component.mjs +4 -4
  23. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar-sort.component.mjs +4 -4
  24. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar-view-actions.component.mjs +4 -4
  25. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar.component.mjs +8 -8
  26. package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-toolbar.module.mjs +33 -33
  27. package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/toolbar-state.rxstate.mjs +4 -4
  28. package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/toolbar-state.state-node.mjs +4 -4
  29. package/esm2022/lib/modules/shared/sky-list-builder-resources.module.mjs +53 -0
  30. package/{fesm2020 → fesm2022}/skyux-list-builder.mjs +150 -150
  31. package/fesm2022/skyux-list-builder.mjs.map +1 -0
  32. package/lib/modules/list/list.component.d.ts +1 -1
  33. package/lib/modules/list-filters/list-filter-inline-item-renderer.component.d.ts +1 -1
  34. package/lib/modules/list-filters/list-filter-inline-item.component.d.ts +1 -1
  35. package/lib/modules/list-paging/list-paging.component.d.ts +1 -1
  36. package/lib/modules/list-toolbar/list-multiselect-toolbar.component.d.ts +1 -1
  37. package/lib/modules/list-toolbar/list-toolbar-item-renderer.component.d.ts +1 -1
  38. package/lib/modules/list-toolbar/list-toolbar-item.component.d.ts +1 -1
  39. package/lib/modules/list-toolbar/list-toolbar-sort.component.d.ts +1 -1
  40. package/lib/modules/list-toolbar/list-toolbar.component.d.ts +1 -1
  41. package/package.json +16 -22
  42. package/esm2020/lib/modules/list/state/list-state.rxstate.mjs +0 -82
  43. package/esm2020/lib/modules/shared/sky-list-builder-resources.module.mjs +0 -53
  44. package/fesm2015/skyux-list-builder.mjs +0 -2778
  45. package/fesm2015/skyux-list-builder.mjs.map +0 -1
  46. package/fesm2020/skyux-list-builder.mjs.map +0 -1
  47. /package/{esm2020 → esm2022}/index.mjs +0 -0
  48. /package/{esm2020 → esm2022}/lib/modules/list/list-data-request.model.mjs +0 -0
  49. /package/{esm2020 → esm2022}/lib/modules/list/list-data-response.model.mjs +0 -0
  50. /package/{esm2020 → esm2022}/lib/modules/list/list-data.provider.mjs +0 -0
  51. /package/{esm2020 → esm2022}/lib/modules/list/list-paging.component.mjs +0 -0
  52. /package/{esm2020 → esm2022}/lib/modules/list/list-view.component.mjs +0 -0
  53. /package/{esm2020 → esm2022}/lib/modules/list/state/filters/filters.orchestrator.mjs +0 -0
  54. /package/{esm2020 → esm2022}/lib/modules/list/state/filters/update.action.mjs +0 -0
  55. /package/{esm2020 → esm2022}/lib/modules/list/state/items/items.orchestrator.mjs +0 -0
  56. /package/{esm2020 → esm2022}/lib/modules/list/state/items/load.action.mjs +0 -0
  57. /package/{esm2020 → esm2022}/lib/modules/list/state/items/set-items-selected.action.mjs +0 -0
  58. /package/{esm2020 → esm2022}/lib/modules/list/state/items/set-loading.action.mjs +0 -0
  59. /package/{esm2020 → esm2022}/lib/modules/list/state/list-state-action.type.mjs +0 -0
  60. /package/{esm2020 → esm2022}/lib/modules/list/state/list-state.model.mjs +0 -0
  61. /package/{esm2020 → esm2022}/lib/modules/list/state/paging/paging.model.mjs +0 -0
  62. /package/{esm2020 → esm2022}/lib/modules/list/state/paging/paging.orchestrator.mjs +0 -0
  63. /package/{esm2020 → esm2022}/lib/modules/list/state/paging/set-items-per-page.action.mjs +0 -0
  64. /package/{esm2020 → esm2022}/lib/modules/list/state/paging/set-max-pages.action.mjs +0 -0
  65. /package/{esm2020 → esm2022}/lib/modules/list/state/paging/set-page-number.action.mjs +0 -0
  66. /package/{esm2020 → esm2022}/lib/modules/list/state/search/search.model.mjs +0 -0
  67. /package/{esm2020 → esm2022}/lib/modules/list/state/search/search.orchestrator.mjs +0 -0
  68. /package/{esm2020 → esm2022}/lib/modules/list/state/search/set-field-selectors.action.mjs +0 -0
  69. /package/{esm2020 → esm2022}/lib/modules/list/state/search/set-functions.action.mjs +0 -0
  70. /package/{esm2020 → esm2022}/lib/modules/list/state/search/set-options.action.mjs +0 -0
  71. /package/{esm2020 → esm2022}/lib/modules/list/state/search/set-search-text.action.mjs +0 -0
  72. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/load.action.mjs +0 -0
  73. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/selected.model.mjs +0 -0
  74. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/selected.orchestrator.mjs +0 -0
  75. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/set-item-selected.action.mjs +0 -0
  76. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/set-items-selected.action.mjs +0 -0
  77. /package/{esm2020 → esm2022}/lib/modules/list/state/selected/set-loading.action.mjs +0 -0
  78. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/label.model.mjs +0 -0
  79. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/set-available.action.mjs +0 -0
  80. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/set-field-selectors.action.mjs +0 -0
  81. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/set-global.action.mjs +0 -0
  82. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/sort.model.mjs +0 -0
  83. /package/{esm2020 → esm2022}/lib/modules/list/state/sort/sort.orchestrator.mjs +0 -0
  84. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/disable.action.mjs +0 -0
  85. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/load.action.mjs +0 -0
  86. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/remove.action.mjs +0 -0
  87. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/set-exists.action.mjs +0 -0
  88. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/set-type.action.mjs +0 -0
  89. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/show-multiselect-toolbar.action.mjs +0 -0
  90. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/toolbar-item.model.mjs +0 -0
  91. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/toolbar.model.mjs +0 -0
  92. /package/{esm2020 → esm2022}/lib/modules/list/state/toolbar/toolbar.orchestrator.mjs +0 -0
  93. /package/{esm2020 → esm2022}/lib/modules/list/state/views/load.action.mjs +0 -0
  94. /package/{esm2020 → esm2022}/lib/modules/list/state/views/set-active.action.mjs +0 -0
  95. /package/{esm2020 → esm2022}/lib/modules/list/state/views/view.model.mjs +0 -0
  96. /package/{esm2020 → esm2022}/lib/modules/list/state/views/views.model.mjs +0 -0
  97. /package/{esm2020 → esm2022}/lib/modules/list/state/views/views.orchestrator.mjs +0 -0
  98. /package/{esm2020 → esm2022}/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.mjs +0 -0
  99. /package/{esm2020 → esm2022}/lib/modules/list-filters/filter.model.mjs +0 -0
  100. /package/{esm2020 → esm2022}/lib/modules/list-filters/list-filter-inline.model.mjs +0 -0
  101. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/list-secondary-actions/list-secondary-action.mjs +0 -0
  102. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/config/config.model.mjs +0 -0
  103. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/config/config.orchestrator.mjs +0 -0
  104. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/config/set-search-enabled.action.mjs +0 -0
  105. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/config/set-sort-selector-enabled.action.mjs +0 -0
  106. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/toolbar-state-action.type.mjs +0 -0
  107. /package/{esm2020 → esm2022}/lib/modules/list-toolbar/state/toolbar-state.model.mjs +0 -0
  108. /package/{esm2020 → esm2022}/skyux-list-builder.mjs +0 -0
@@ -1,2778 +0,0 @@
1
- import * as i3$1 from '@angular/common';
2
- import { CommonModule } from '@angular/common';
3
- import * as i0 from '@angular/core';
4
- import { Injectable, EventEmitter, Component, ChangeDetectionStrategy, Input, Output, ContentChildren, NgModule, TemplateRef, ViewChild, ViewContainerRef, forwardRef } from '@angular/core';
5
- import { ListItemModel, getData, compare, StateOrchestrator, StateDispatcher, AsyncList, AsyncItem, StateNode, getValue, isObservable } from '@skyux/list-builder-common';
6
- import { BehaviorSubject, Observable, Subject, of, combineLatest } from 'rxjs';
7
- import { map, distinctUntilChanged, take, takeUntil, skip, flatMap, scan } from 'rxjs/operators';
8
- import * as i3 from '@skyux/core';
9
- import * as i4 from '@skyux/lists';
10
- import { SkyFilterModule, SkyPagingModule, SkySortModule } from '@skyux/lists';
11
- import * as i5 from '@skyux/i18n';
12
- import { getLibStringForLocale, SkyI18nModule, SKY_LIB_RESOURCES_PROVIDERS } from '@skyux/i18n';
13
- import * as i4$1 from '@skyux/indicators';
14
- import { SkyIconModule } from '@skyux/indicators';
15
- import * as i3$2 from '@skyux/popovers';
16
- import { SkyDropdownModule } from '@skyux/popovers';
17
- import * as i4$2 from '@skyux/forms';
18
- import { SkyCheckboxModule } from '@skyux/forms';
19
- import * as i5$1 from '@skyux/layout';
20
- import { SkyToolbarModule } from '@skyux/layout';
21
- import * as i8 from '@skyux/lookup';
22
- import { SkySearchComponent, SkySearchModule } from '@skyux/lookup';
23
-
24
- /**
25
- * @deprecated
26
- */
27
- class ListDataRequestModel {
28
- constructor(data) {
29
- /**
30
- * Whether to disable the search bar and filter button.
31
- * @default false
32
- */
33
- this.isToolbarDisabled = false;
34
- if (data !== undefined) {
35
- this.filters = data.filters;
36
- this.pageSize = data.pageSize;
37
- this.pageNumber = data.pageNumber;
38
- this.search = data.search;
39
- this.sort = data.sort;
40
- this.isToolbarDisabled = data.isToolbarDisabled;
41
- }
42
- }
43
- }
44
-
45
- /**
46
- * @deprecated
47
- */
48
- class ListDataResponseModel {
49
- constructor(data) {
50
- if (data !== undefined) {
51
- this.count = data.count;
52
- this.items = data.items;
53
- }
54
- }
55
- }
56
-
57
- /**
58
- * @internal
59
- * @deprecated
60
- */
61
- class ListDataProvider {
62
- constructor(data) {
63
- this.data = data;
64
- }
65
- }
66
-
67
- /**
68
- * Specifies a function to dynamically manage the data source when users change the text
69
- * in the list field. The search function must return an array or a promise of an array.
70
- * The `search` property is particularly useful when the data source does not live
71
- * in the source code.
72
- * @deprecated
73
- */
74
- class ListSearchModel {
75
- constructor(data) {
76
- /**
77
- * The text to search.
78
- * @default ""
79
- */
80
- this.searchText = '';
81
- /**
82
- * The array of functions that returns a `boolean` value of `true` when
83
- * the search is successful. This property accepts a function of type
84
- * `(data: any, searchText: string) => boolean>.`
85
- */
86
- this.functions = [];
87
- /**
88
- * The columns to search. The columns correspond to `field` values that
89
- * you specify with the list component's `data` property.
90
- */
91
- this.fieldSelectors = [];
92
- if (data) {
93
- this.searchText = data.searchText;
94
- this.functions = [...data.functions];
95
- this.fieldSelectors = data.fieldSelectors;
96
- }
97
- }
98
- }
99
-
100
- let idIndex$3 = 0;
101
- /**
102
- * @deprecated
103
- */
104
- class SkyListInMemoryDataProvider extends ListDataProvider {
105
- constructor(data, searchFunction) {
106
- super(data);
107
- this.items = new BehaviorSubject([]);
108
- this.searchFunction = searchFunction;
109
- if (data) {
110
- data.subscribe((items) => {
111
- this.items.next(items.map((d) => new ListItemModel(d.id || `sky-list-data-in-memory-provider-item-${++idIndex$3}`, d)));
112
- });
113
- }
114
- }
115
- count() {
116
- return this.items.pipe(map((items) => items.length));
117
- }
118
- get(request) {
119
- return this.filteredItems(request).pipe(map((result) => {
120
- if (request.pageNumber && request.pageSize) {
121
- const itemStart = (request.pageNumber - 1) * request.pageSize;
122
- const pagedResult = result.slice(itemStart, itemStart + request.pageSize);
123
- return new ListDataResponseModel({
124
- count: result.length,
125
- items: pagedResult,
126
- });
127
- }
128
- else {
129
- return new ListDataResponseModel({
130
- count: result.length,
131
- items: result,
132
- });
133
- }
134
- }));
135
- }
136
- filteredItems(request) {
137
- const showSelectedId = ['show-selected'];
138
- return this.items.pipe(map((items) => {
139
- let dataChanged = false;
140
- let search = request.search;
141
- const sort = request.sort;
142
- let filters = request.filters;
143
- if (this.lastItems === undefined || this.lastItems !== items) {
144
- dataChanged = true;
145
- this.lastItems = items;
146
- }
147
- let searchChanged = false;
148
- let filtersChanged = false;
149
- if (request.isToolbarDisabled) {
150
- searchChanged = true;
151
- search = new ListSearchModel();
152
- filters = filters.filter((f) => showSelectedId.indexOf(f.name) >= 0);
153
- filtersChanged = true;
154
- }
155
- else {
156
- if (this.lastSearch === undefined || this.lastSearch !== search) {
157
- searchChanged = true;
158
- }
159
- if (this.lastFilters === undefined || this.lastFilters !== filters) {
160
- filtersChanged = true;
161
- }
162
- }
163
- this.lastSearch = search;
164
- this.lastFilters = filters;
165
- let result = items;
166
- // Apply filters.
167
- if (!dataChanged &&
168
- !filtersChanged &&
169
- this.lastFilterResults !== undefined) {
170
- result = this.lastFilterResults;
171
- }
172
- else if (filters && filters.length > 0) {
173
- result = result.filter((item) => {
174
- for (let i = 0; i < filters.length; i++) {
175
- const filter = filters[i];
176
- if (filter.value === undefined ||
177
- filter.value === '' ||
178
- filter.value === false ||
179
- filter.value === filter.defaultValue) {
180
- continue;
181
- }
182
- if (!filter.filterFunction(item, filter.value)) {
183
- return false;
184
- }
185
- }
186
- return true;
187
- });
188
- this.lastFilterResults = result;
189
- }
190
- else {
191
- this.lastFilterResults = undefined;
192
- }
193
- // Apply search.
194
- /* istanbul ignore next */
195
- if (!dataChanged &&
196
- !searchChanged &&
197
- this.lastSearchResults !== undefined &&
198
- !filtersChanged) {
199
- result = this.lastSearchResults;
200
- }
201
- else if (search &&
202
- search.searchText !== undefined &&
203
- search.searchText.length > 0) {
204
- const searchText = search.searchText.toLowerCase();
205
- let searchFunctions;
206
- if (this.searchFunction !== undefined) {
207
- searchFunctions = [this.searchFunction];
208
- }
209
- else {
210
- searchFunctions = search.functions;
211
- }
212
- result = result.filter((item) => {
213
- let isMatch = false;
214
- for (let i = 0; i < searchFunctions.length; i++) {
215
- const searchFunction = searchFunctions[i];
216
- const searchResult = searchFunction(item.data, searchText);
217
- if ((typeof searchResult === 'string' &&
218
- searchResult.indexOf(searchText) !== -1) ||
219
- searchResult === true) {
220
- isMatch = true;
221
- break;
222
- }
223
- }
224
- return isMatch;
225
- });
226
- this.lastSearchResults = result;
227
- }
228
- else {
229
- this.lastSearchResults = undefined;
230
- }
231
- // Apply sort.
232
- if (sort && sort.fieldSelectors.length > 0) {
233
- result = result
234
- .slice()
235
- .sort((item1, item2) => {
236
- let compareResult = 0;
237
- for (let i = 0; i < sort.fieldSelectors.length; i++) {
238
- const selector = sort.fieldSelectors[i];
239
- const value1 = getData(item1.data, selector.fieldSelector);
240
- const value2 = getData(item2.data, selector.fieldSelector);
241
- compareResult = compare(value1, value2);
242
- if (selector.descending && compareResult !== 0) {
243
- compareResult *= -1;
244
- }
245
- if (compareResult !== 0) {
246
- break;
247
- }
248
- }
249
- return compareResult;
250
- });
251
- }
252
- return result;
253
- }));
254
- }
255
- }
256
-
257
- let idIndex$2 = 0;
258
- /**
259
- * @internal
260
- * @deprecated
261
- */
262
- class ListViewComponent {
263
- constructor(state, defaultName) {
264
- this.viewId = `sky-list-view-cmp-${++idIndex$2}`;
265
- this.state = state;
266
- this.viewName = defaultName;
267
- /* istanbul ignore next */
268
- this.hasToolbar = this.state.pipe(map((s) => s.toolbar.exists));
269
- this.active = this.state.pipe(map((s) => s.views.active === this.viewId));
270
- this.active
271
- .pipe(distinctUntilChanged())
272
- .subscribe((isActive) => isActive ? this.onViewActive() : this.onViewInactive());
273
- }
274
- get id() {
275
- return this.viewId;
276
- }
277
- get label() {
278
- return this.viewName;
279
- }
280
- // eslint-disable-next-line @typescript-eslint/no-empty-function
281
- /* istanbul ignore next */
282
- onViewActive() { }
283
- // eslint-disable-next-line @typescript-eslint/no-empty-function
284
- onViewInactive() { }
285
- }
286
-
287
- /**
288
- * @internal
289
- * @deprecated
290
- */
291
- class ListItemsLoadAction {
292
- constructor(items, refresh = false, dataChanged = true, count) {
293
- this.items = items;
294
- this.refresh = refresh;
295
- this.dataChanged = dataChanged;
296
- this.count = count;
297
- }
298
- }
299
-
300
- /**
301
- * @internal
302
- * @deprecated
303
- */
304
- class ListItemsSetLoadingAction {
305
- constructor(loading = true) {
306
- this.loading = loading;
307
- }
308
- }
309
-
310
- /**
311
- * @internal
312
- * @deprecated
313
- */
314
- class ListFiltersUpdateAction {
315
- constructor(filters) {
316
- this.filters = filters;
317
- }
318
- }
319
-
320
- /**
321
- * @internal
322
- * @deprecated
323
- */
324
- class ListSearchSetFieldSelectorsAction {
325
- constructor(fieldSelectors = []) {
326
- this.fieldSelectors = fieldSelectors;
327
- }
328
- }
329
-
330
- /**
331
- * @internal
332
- * @deprecated
333
- */
334
- class ListSearchSetFunctionsAction {
335
- constructor(functions = []) {
336
- this.functions = functions;
337
- }
338
- }
339
-
340
- /**
341
- * @internal
342
- * @deprecated
343
- */
344
- class ListSearchSetOptionsAction {
345
- constructor(searchTextAction, setFieldSelectorsAction, setFunctionsAction) {
346
- this.searchTextAction = searchTextAction;
347
- this.setFieldSelectorsAction = setFieldSelectorsAction;
348
- this.setFunctionsAction = setFunctionsAction;
349
- }
350
- }
351
-
352
- /**
353
- * @internal
354
- * @deprecated
355
- */
356
- class ListSearchSetSearchTextAction {
357
- constructor(searchText) {
358
- this.searchText = searchText;
359
- }
360
- }
361
-
362
- /**
363
- * @internal
364
- * @deprecated
365
- */
366
- class ListSelectedSetItemsSelectedAction {
367
- constructor(items, selected = false, refresh = true) {
368
- this.items = items;
369
- this.selected = selected;
370
- this.refresh = refresh;
371
- }
372
- }
373
-
374
- /**
375
- * @internal
376
- * @deprecated
377
- */
378
- class ListSortSetAvailableAction {
379
- constructor(available) {
380
- this.available = available;
381
- }
382
- }
383
-
384
- /**
385
- * @internal
386
- * @deprecated
387
- */
388
- class ListSortSetFieldSelectorsAction {
389
- constructor(fieldSelectors) {
390
- this.fieldSelectors = fieldSelectors;
391
- }
392
- }
393
-
394
- /**
395
- * @internal
396
- * @deprecated
397
- */
398
- class ListSortSetGlobalAction {
399
- constructor(global) {
400
- this.global = global;
401
- }
402
- }
403
-
404
- /**
405
- * @internal
406
- * @deprecated
407
- */
408
- class ListToolbarItemsDisableAction {
409
- constructor(disable) {
410
- this.disable = disable;
411
- }
412
- }
413
-
414
- /**
415
- * @internal
416
- * @deprecated
417
- */
418
- class ListToolbarItemsLoadAction {
419
- constructor(items, index = -1) {
420
- this.items = items;
421
- this.index = index;
422
- }
423
- }
424
-
425
- /**
426
- * @internal
427
- * @deprecated
428
- */
429
- class ListToolbarItemsRemoveAction {
430
- constructor(ids) {
431
- this.ids = ids;
432
- }
433
- }
434
-
435
- /**
436
- * @internal
437
- * @deprecated
438
- */
439
- class ListToolbarSetExistsAction {
440
- constructor(exists) {
441
- this.exists = exists;
442
- }
443
- }
444
-
445
- /**
446
- * @internal
447
- * @deprecated
448
- */
449
- class ListToolbarShowMultiselectToolbarAction {
450
- constructor(exists) {
451
- this.exists = exists;
452
- }
453
- }
454
-
455
- /**
456
- * @internal
457
- * @deprecated
458
- */
459
- class ListViewsSetActiveAction {
460
- constructor(view) {
461
- this.view = view;
462
- }
463
- }
464
-
465
- /**
466
- * @internal
467
- * @deprecated
468
- */
469
- class ListStateOrchestrator extends StateOrchestrator {
470
- }
471
- /**
472
- * @internal
473
- * @deprecated
474
- */
475
- class ListStateDispatcher extends StateDispatcher {
476
- viewsSetActive(id) {
477
- this.next(new ListViewsSetActiveAction(id));
478
- }
479
- toolbarExists(exists) {
480
- this.next(new ListToolbarSetExistsAction(exists));
481
- }
482
- toolbarSetDisabled(disabled) {
483
- this.next(new ListToolbarItemsDisableAction(disabled));
484
- }
485
- toolbarAddItems(items, index = -1) {
486
- this.next(new ListToolbarItemsLoadAction(items, index));
487
- }
488
- toolbarRemoveItems(ids) {
489
- this.next(new ListToolbarItemsRemoveAction(ids));
490
- }
491
- toolbarShowMultiselectToolbar(show) {
492
- this.next(new ListToolbarShowMultiselectToolbarAction(show));
493
- }
494
- searchSetFunctions(sortFunctions) {
495
- this.next(new ListSearchSetFunctionsAction(sortFunctions));
496
- }
497
- /* istanbul ignore next */
498
- searchSetFieldSelectors(fieldSelectors) {
499
- this.next(new ListSearchSetFieldSelectorsAction(fieldSelectors));
500
- }
501
- searchSetText(searchText) {
502
- this.next(new ListSearchSetSearchTextAction(searchText));
503
- }
504
- searchSetOptions(searchOptions) {
505
- this.next(new ListSearchSetOptionsAction(new ListSearchSetSearchTextAction(searchOptions.searchText), new ListSearchSetFieldSelectorsAction(searchOptions.fieldSelectors), new ListSearchSetFunctionsAction(searchOptions.functions)));
506
- }
507
- sortSetAvailable(sortLabels) {
508
- this.next(new ListSortSetAvailableAction(sortLabels));
509
- }
510
- sortSetFieldSelectors(fieldSelectors) {
511
- this.next(new ListSortSetFieldSelectorsAction(fieldSelectors));
512
- }
513
- sortSetGlobal(sortLabels) {
514
- this.next(new ListSortSetGlobalAction(sortLabels));
515
- }
516
- filtersUpdate(filters) {
517
- this.next(new ListFiltersUpdateAction(filters));
518
- }
519
- setSelected(selectedIds, selected, refresh = false) {
520
- this.next(new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh));
521
- }
522
- }
523
- ListStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
524
- ListStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListStateDispatcher });
525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListStateDispatcher, decorators: [{
526
- type: Injectable
527
- }] });
528
-
529
- /**
530
- * @internal
531
- * @deprecated
532
- */
533
- class ListFiltersOrchestrator extends ListStateOrchestrator {
534
- /* istanbul ignore next */
535
- constructor() {
536
- super();
537
- this.register(ListFiltersUpdateAction, this.update);
538
- }
539
- update(state, action) {
540
- return [...action.filters];
541
- }
542
- }
543
-
544
- /**
545
- * @internal
546
- * @deprecated
547
- */
548
- class ListItemsSetSelectedAction {
549
- constructor(items,
550
- /* istanbul ignore next */
551
- selected = false, refresh = true) {
552
- this.items = items;
553
- this.selected = selected;
554
- this.refresh = refresh;
555
- }
556
- }
557
-
558
- /**
559
- * @internal
560
- * @deprecated
561
- */
562
- class ListItemsOrchestrator extends ListStateOrchestrator {
563
- /* istanbul ignore next */
564
- constructor() {
565
- super();
566
- this.register(ListItemsSetLoadingAction, this.setLoading)
567
- .register(ListItemsLoadAction, this.load)
568
- .register(ListItemsSetSelectedAction, this.setItemsSelected);
569
- }
570
- setLoading(state, action) {
571
- return new AsyncList(state.items, state.lastUpdate, action.loading, state.count);
572
- }
573
- load(state, action) {
574
- const newListItems = action.items.map((g) => new ListItemModel(g.id, g.data, g.isSelected));
575
- const resultItems = action.refresh
576
- ? [...newListItems]
577
- : [...state.items, ...newListItems];
578
- const count = action.count === undefined ? resultItems.length : action.count;
579
- return new AsyncList(resultItems, action.dataChanged ? Date.now() : state.lastUpdate, false, count);
580
- }
581
- setItemsSelected(state, action) {
582
- /* istanbul ignore next */
583
- const newSelectedIds = action.items || [];
584
- const newListItemModels = this.cloneListItemModelArray(state.items);
585
- if (action.refresh) {
586
- newListItemModels.forEach((item) => (item.isSelected = undefined));
587
- }
588
- newSelectedIds.map((s) => {
589
- const newItem = newListItemModels.find((i) => i.id === s);
590
- /* istanbul ignore next */
591
- if (newItem) {
592
- newItem.isSelected = action.selected;
593
- }
594
- });
595
- return new AsyncList(newListItemModels, Date.now(), state.loading, state.count);
596
- }
597
- cloneListItemModelArray(source) {
598
- const newListItems = [];
599
- source.forEach((item) => {
600
- newListItems.push(new ListItemModel(item.id, Object.assign({}, item.data), item.isSelected));
601
- });
602
- return newListItems;
603
- }
604
- }
605
-
606
- /**
607
- * @internal
608
- * @deprecated
609
- */
610
- class ListPagingModel {
611
- constructor(data) {
612
- if (data !== undefined) {
613
- this.itemsPerPage = data.itemsPerPage || 10;
614
- this.maxDisplayedPages = data.maxDisplayedPages || 5;
615
- this.pageCount = data.pageCount || 0;
616
- this.pageNumber = data.pageNumber || 1;
617
- }
618
- }
619
- }
620
-
621
- /**
622
- * Contains data about the selected items in the list.
623
- * @deprecated
624
- */
625
- class ListSelectedModel {
626
- constructor() {
627
- this.selectedIdMap = new Map();
628
- }
629
- }
630
-
631
- /**
632
- * Specifies a set of fields to sort by.
633
- * @deprecated
634
- */
635
- class ListSortModel {
636
- constructor(data) {
637
- /**
638
- * The list of available views to sort.
639
- */
640
- this.available = [];
641
- /**
642
- * The list views that the sort applies to.
643
- */
644
- this.global = [];
645
- /**
646
- * The fields to sort.
647
- * For information about `ListSortFieldSelectorModel`, see the
648
- * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).
649
- */
650
- this.fieldSelectors = [];
651
- if (data) {
652
- this.available = data.available;
653
- this.global = data.global;
654
- this.fieldSelectors = data.fieldSelectors;
655
- }
656
- }
657
- }
658
-
659
- /**
660
- * @internal
661
- * @deprecated
662
- */
663
- class ListToolbarModel {
664
- constructor(data) {
665
- this.items = [];
666
- this.showMultiselectToolbar = false;
667
- if (data) {
668
- this.exists = data.exists;
669
- this.disabled = data.disabled;
670
- this.items = data.items;
671
- this.type = data.type;
672
- this.showMultiselectToolbar = data.showMultiselectToolbar;
673
- }
674
- }
675
- }
676
-
677
- /**
678
- * @internal
679
- * @deprecated
680
- */
681
- class ListViewsModel {
682
- constructor(data) {
683
- this.views = [];
684
- if (data) {
685
- this.active = data.active;
686
- this.views = data.views;
687
- }
688
- }
689
- }
690
-
691
- /**
692
- * @internal
693
- * @deprecated
694
- */
695
- class ListStateModel {
696
- constructor() {
697
- this.filters = [];
698
- this.items = new AsyncList();
699
- this.paging = new ListPagingModel();
700
- this.search = new ListSearchModel();
701
- this.selected = new AsyncItem();
702
- this.sort = new ListSortModel();
703
- this.toolbar = new ListToolbarModel();
704
- this.views = new ListViewsModel();
705
- this.selected.item = new ListSelectedModel();
706
- }
707
- }
708
-
709
- /**
710
- * @internal
711
- * @deprecated
712
- */
713
- class ListPagingSetItemsPerPageAction {
714
- constructor(itemsPerPage) {
715
- this.itemsPerPage = itemsPerPage;
716
- }
717
- }
718
-
719
- /**
720
- * @internal
721
- * @deprecated
722
- */
723
- class ListPagingSetMaxPagesAction {
724
- constructor(maxPages) {
725
- this.maxPages = maxPages;
726
- }
727
- }
728
-
729
- /**
730
- * @internal
731
- * @deprecated
732
- */
733
- class ListPagingSetPageNumberAction {
734
- constructor(pageNumber) {
735
- this.pageNumber = pageNumber;
736
- }
737
- }
738
-
739
- /**
740
- * @internal
741
- * @deprecated
742
- */
743
- class ListPagingOrchestrator extends ListStateOrchestrator {
744
- /* istanbul ignore next */
745
- constructor() {
746
- super();
747
- this.register(ListPagingSetMaxPagesAction, this.setMaxPages)
748
- .register(ListPagingSetItemsPerPageAction, this.setItemsPerPage)
749
- .register(ListPagingSetPageNumberAction, this.setPageNumber);
750
- }
751
- setMaxPages(state, action) {
752
- return new ListPagingModel(Object.assign({}, state, { maxDisplayedPages: Number(action.maxPages) }));
753
- }
754
- setItemsPerPage(state, action) {
755
- return new ListPagingModel(Object.assign({}, state, { itemsPerPage: Number(action.itemsPerPage) }));
756
- }
757
- setPageNumber(state, action) {
758
- return new ListPagingModel(Object.assign({}, state, { pageNumber: Number(action.pageNumber) }));
759
- }
760
- }
761
-
762
- /**
763
- * @internal
764
- * @deprecated
765
- */
766
- class ListSearchOrchestrator extends ListStateOrchestrator {
767
- /* istanbul ignore next */
768
- constructor() {
769
- super();
770
- this.register(ListSearchSetSearchTextAction, this.setSearchText)
771
- .register(ListSearchSetFunctionsAction, this.setFunctions)
772
- .register(ListSearchSetFieldSelectorsAction, this.setFieldSelectors)
773
- .register(ListSearchSetOptionsAction, this.setOptions);
774
- }
775
- setSearchText(state, action) {
776
- return new ListSearchModel(Object.assign({}, state, {
777
- searchText: action.searchText ? action.searchText : '',
778
- }));
779
- }
780
- setFunctions(state, action) {
781
- return new ListSearchModel(Object.assign({}, state, { functions: [...action.functions] }));
782
- }
783
- setFieldSelectors(state, action) {
784
- return new ListSearchModel(Object.assign({}, state, { fieldSelectors: [...action.fieldSelectors] }));
785
- }
786
- setOptions(state, action) {
787
- let result = state;
788
- /* istanbul ignore else */
789
- if (action.searchTextAction) {
790
- result = this.setSearchText(result, action.searchTextAction);
791
- }
792
- /* istanbul ignore else */
793
- if (action.setFieldSelectorsAction) {
794
- result = this.setFieldSelectors(result, action.setFieldSelectorsAction);
795
- }
796
- /* istanbul ignore else */
797
- if (action.setFunctionsAction) {
798
- result = this.setFunctions(result, action.setFunctionsAction);
799
- }
800
- return result;
801
- }
802
- }
803
-
804
- /**
805
- * @internal
806
- * @deprecated
807
- */
808
- class ListSelectedLoadAction {
809
- constructor(items) {
810
- this.items = items;
811
- }
812
- }
813
-
814
- /**
815
- * @internal
816
- * @deprecated
817
- */
818
- class ListSelectedSetItemSelectedAction {
819
- constructor(id, selected) {
820
- this.id = id;
821
- this.selected = selected;
822
- }
823
- }
824
-
825
- /**
826
- * @internal
827
- * @deprecated
828
- */
829
- class ListSelectedSetLoadingAction {
830
- constructor(loading = true) {
831
- this.loading = loading;
832
- }
833
- }
834
-
835
- /**
836
- * @internal
837
- * @deprecated
838
- */
839
- class ListSelectedOrchestrator extends ListStateOrchestrator {
840
- /* istanbul ignore next */
841
- constructor() {
842
- super();
843
- this.register(ListSelectedSetLoadingAction, this.setLoading)
844
- .register(ListSelectedSetItemSelectedAction, this.setItemSelected)
845
- .register(ListSelectedSetItemsSelectedAction, this.setItemsSelected)
846
- .register(ListSelectedLoadAction, this.load);
847
- }
848
- setLoading(state, action) {
849
- return new AsyncItem(state.item, state.lastUpdate, action.loading);
850
- }
851
- load(state, action) {
852
- const newSelected = new ListSelectedModel();
853
- action.items.map((s) => newSelected.selectedIdMap.set(s, true));
854
- return new AsyncItem(Object.assign({}, state.item, newSelected), Date.now(), false);
855
- }
856
- setItemSelected(state, action) {
857
- const newSelected = this.cloneListSelectedModel(state.item);
858
- newSelected.selectedIdMap.set(action.id, action.selected);
859
- return new AsyncItem(newSelected, state.lastUpdate, state.loading);
860
- }
861
- setItemsSelected(state, action) {
862
- const newSelectedIds = action.items || [];
863
- const newListSelectedModel = action.refresh
864
- ? new ListSelectedModel()
865
- : this.cloneListSelectedModel(state.item);
866
- if (newSelectedIds instanceof Observable) {
867
- newSelectedIds.pipe(take(1)).subscribe((selectedIds) => {
868
- selectedIds.map((s) => newListSelectedModel.selectedIdMap.set(s, action.selected));
869
- });
870
- }
871
- else {
872
- newSelectedIds.map((s) => newListSelectedModel.selectedIdMap.set(s, action.selected));
873
- }
874
- return new AsyncItem(newListSelectedModel, state.lastUpdate, state.loading);
875
- }
876
- cloneListSelectedModel(source) {
877
- const newListItems = new ListSelectedModel();
878
- newListItems.selectedIdMap = new Map(source.selectedIdMap);
879
- return newListItems;
880
- }
881
- }
882
-
883
- /**
884
- * These properties are a work in progress, and we do not recommend using them.
885
- * @deprecated
886
- */
887
- class ListSortLabelModel {
888
- constructor(data) {
889
- /**
890
- * Whether to sort all fields.
891
- * @default false
892
- */
893
- this.global = false;
894
- /**
895
- * Whether to sort in descending order.
896
- * @default false
897
- */
898
- this.descending = false;
899
- if (data) {
900
- this.text = data.text;
901
- this.fieldType = data.fieldType;
902
- this.fieldSelector = data.fieldSelector;
903
- this.global = data.global;
904
- this.descending = data.descending;
905
- }
906
- }
907
- }
908
-
909
- /**
910
- * @internal
911
- * @deprecated
912
- */
913
- class ListSortOrchestrator extends ListStateOrchestrator {
914
- /* istanbul ignore next */
915
- constructor() {
916
- super();
917
- this.register(ListSortSetFieldSelectorsAction, this.setFieldSelectors)
918
- .register(ListSortSetAvailableAction, this.setAvailable)
919
- .register(ListSortSetGlobalAction, this.setGlobal);
920
- }
921
- setFieldSelectors(state, action) {
922
- return new ListSortModel(Object.assign({}, state, { fieldSelectors: action.fieldSelectors }));
923
- }
924
- setAvailable(state, action) {
925
- const newAvailable = action.available.map((available) => new ListSortLabelModel(available));
926
- return new ListSortModel(Object.assign({}, state, { available: newAvailable }));
927
- }
928
- setGlobal(state, action) {
929
- const newGlobal = action.global.map((global) => new ListSortLabelModel(global));
930
- return new ListSortModel(Object.assign({}, state, { global: newGlobal }));
931
- }
932
- }
933
-
934
- /**
935
- * @internal
936
- * @deprecated
937
- */
938
- class ListToolbarSetTypeAction {
939
- constructor(type) {
940
- this.type = type;
941
- }
942
- }
943
-
944
- /**
945
- * @internal
946
- * @deprecated
947
- */
948
- class ListToolbarItemModel {
949
- constructor(data) {
950
- this.index = -1;
951
- if (data) {
952
- this.index = data.index;
953
- this.template = data.template;
954
- this.location = data.location;
955
- this.view = data.view;
956
- this.id = data.id;
957
- }
958
- }
959
- }
960
-
961
- /**
962
- * @internal
963
- * @deprecated
964
- */
965
- class ListToolbarOrchestrator extends ListStateOrchestrator {
966
- /* istanbul ignore next */
967
- constructor() {
968
- super();
969
- this.register(ListToolbarSetExistsAction, this.setExists)
970
- .register(ListToolbarItemsDisableAction, this.setDisabled)
971
- .register(ListToolbarItemsLoadAction, this.load)
972
- .register(ListToolbarSetTypeAction, this.setType)
973
- .register(ListToolbarItemsRemoveAction, this.remove)
974
- .register(ListToolbarShowMultiselectToolbarAction, this.showMultiselectToolbar);
975
- }
976
- setExists(state, action) {
977
- const newModel = new ListToolbarModel(state);
978
- newModel.exists = action.exists;
979
- return newModel;
980
- }
981
- setDisabled(state, action) {
982
- const newModel = new ListToolbarModel(state);
983
- newModel.disabled = action.disable;
984
- return newModel;
985
- }
986
- setType(state, action) {
987
- const newModel = new ListToolbarModel(state);
988
- newModel.type = action.type;
989
- return newModel;
990
- }
991
- load(state, action) {
992
- const newModel = new ListToolbarModel(state);
993
- const newListItems = action.items.map((item) => {
994
- /**
995
- * NOTE: Originally this function went off the action index and item models did not include
996
- * the index. We changed this but must leave functionality to convert the action index for
997
- * backwards compatibility.
998
- */
999
- if (!item.index) {
1000
- item.index = action.index;
1001
- }
1002
- return new ListToolbarItemModel(item);
1003
- });
1004
- let items = [...state.items, ...newListItems];
1005
- items = items.sort((a, b) => {
1006
- if (a.index < b.index) {
1007
- return -1;
1008
- }
1009
- else if (a.index > b.index) {
1010
- return 1;
1011
- }
1012
- else {
1013
- return 0;
1014
- }
1015
- });
1016
- newModel.items = items;
1017
- return newModel;
1018
- }
1019
- remove(state, action) {
1020
- const newModel = new ListToolbarModel(state);
1021
- newModel.items = newModel.items.filter((item) => {
1022
- return action.ids.indexOf(item.id) === -1;
1023
- });
1024
- return newModel;
1025
- }
1026
- showMultiselectToolbar(state, action) {
1027
- const newModel = new ListToolbarModel(state);
1028
- newModel.showMultiselectToolbar = action.exists;
1029
- return newModel;
1030
- }
1031
- }
1032
-
1033
- /**
1034
- * @internal
1035
- * @deprecated
1036
- */
1037
- class ListViewsLoadAction {
1038
- constructor(views) {
1039
- this.views = views;
1040
- }
1041
- }
1042
-
1043
- /**
1044
- * @internal
1045
- * @deprecated
1046
- */
1047
- class ListViewsOrchestrator extends ListStateOrchestrator {
1048
- /* istanbul ignore next */
1049
- constructor() {
1050
- super();
1051
- this.register(ListViewsSetActiveAction, this.setActive).register(ListViewsLoadAction, this.load);
1052
- }
1053
- setActive(state, action) {
1054
- return new ListViewsModel(Object.assign({}, state, { active: action.view }));
1055
- }
1056
- load(state, action) {
1057
- return new ListViewsModel(Object.assign({}, state, { views: action.views }));
1058
- }
1059
- }
1060
-
1061
- /**
1062
- * @internal
1063
- * @deprecated
1064
- */
1065
- class ListState extends StateNode {
1066
- constructor(dispatcher) {
1067
- super(new ListStateModel(), dispatcher);
1068
- this.register('filters', ListFiltersOrchestrator)
1069
- .register('items', ListItemsOrchestrator)
1070
- .register('paging', ListPagingOrchestrator)
1071
- .register('search', ListSearchOrchestrator)
1072
- .register('sort', ListSortOrchestrator)
1073
- .register('toolbar', ListToolbarOrchestrator)
1074
- .register('views', ListViewsOrchestrator)
1075
- .register('selected', ListSelectedOrchestrator)
1076
- .begin();
1077
- }
1078
- }
1079
- ListState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListState, deps: [{ token: ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
1080
- ListState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListState });
1081
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListState, decorators: [{
1082
- type: Injectable
1083
- }], ctorParameters: function () { return [{ type: ListStateDispatcher }]; } });
1084
-
1085
- /**
1086
- * @internal
1087
- * @deprecated
1088
- */
1089
- class ListViewModel {
1090
- constructor(id, name) {
1091
- this.id = id;
1092
- this.name = name;
1093
- }
1094
- }
1095
-
1096
- let idIndex$1 = 0;
1097
- /**
1098
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
1099
- */
1100
- class SkyListComponent {
1101
- constructor(state, dispatcher, logger) {
1102
- this.state = state;
1103
- this.dispatcher = dispatcher;
1104
- this.id = `sky-list-cmp-${++idIndex$1}`;
1105
- /**
1106
- * The data to display. The list component requires this property or the
1107
- * `dataProvider` property. For checklist or multiselect grids, each row requires an
1108
- * `id` property to manage selected items with the `selectedIds` input and the
1109
- * `selectedIdsChange` event. If you do not provide an `id`, the list automatically
1110
- * generates one. To update data in your view outside of a `dataProvider`, you must use
1111
- * an observable instead of a static array.
1112
- */
1113
- this.data = [];
1114
- /**
1115
- * The set of filters to apply to list data.
1116
- * These filters create a filter summary when the list includes the
1117
- * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)
1118
- * component.
1119
- */
1120
- this.appliedFilters = [];
1121
- /**
1122
- * For list views that support item selection, emits the selected entries.
1123
- */
1124
- this.selectedIdsChange = new EventEmitter();
1125
- /**
1126
- * Emits the filters applied to the list.
1127
- */
1128
- this.appliedFiltersChange = new EventEmitter();
1129
- this.dataFirstLoad = false;
1130
- this.lastSelectedIds = [];
1131
- this.lastFilters = [];
1132
- this.ngUnsubscribe = new Subject();
1133
- logger.deprecated('SkyListComponent', {
1134
- deprecationMajorVersion: 6,
1135
- moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
1136
- replacementRecommendation: 'Use data manager instead.',
1137
- });
1138
- }
1139
- ngAfterContentInit() {
1140
- if (this.data && this.dataProvider && this.initialTotal) {
1141
- this.dataFirstLoad = true;
1142
- }
1143
- if (this.listViews.length > 0) {
1144
- const defaultView = this.defaultView === undefined
1145
- ? this.listViews.first
1146
- : this.defaultView;
1147
- this.dispatcher.next(new ListViewsLoadAction(this.listViews.map((v) => new ListViewModel(v.id, v.label))));
1148
- // activate the default view
1149
- this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));
1150
- }
1151
- else {
1152
- return;
1153
- }
1154
- // set sort fields
1155
- getValue(this.sortFields, (sortFields) => {
1156
- let sortArray;
1157
- if (!Array.isArray(sortFields) && sortFields) {
1158
- sortArray = [sortFields];
1159
- }
1160
- else {
1161
- sortArray = sortFields;
1162
- }
1163
- this.dispatcher.next(new ListSortSetFieldSelectorsAction(sortArray || []));
1164
- });
1165
- this.displayedItems.subscribe((result) => {
1166
- this.dispatcher.next(new ListItemsSetLoadingAction());
1167
- this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
1168
- });
1169
- // Watch for selection changes.
1170
- this.state
1171
- .pipe(map((current) => current.selected), takeUntil(this.ngUnsubscribe), distinctUntilChanged())
1172
- .subscribe((selected) => {
1173
- // Update lastSelectedIds to help us retain user selections.
1174
- const selectedIdsList = [];
1175
- selected.item.selectedIdMap.forEach((value, key) => {
1176
- if (value === true) {
1177
- selectedIdsList.push(key);
1178
- }
1179
- });
1180
- // If changes are distinct, emit selectedIdsChange.
1181
- const distinctChanges = !this.arraysEqual(this.lastSelectedIds, selectedIdsList);
1182
- if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {
1183
- this.selectedIdsChange.emit(selected.item.selectedIdMap);
1184
- }
1185
- this.lastSelectedIds = selectedIdsList;
1186
- });
1187
- if (this.appliedFiltersChange.observers.length > 0) {
1188
- this.state
1189
- .pipe(map((current) => current.filters), takeUntil(this.ngUnsubscribe), skip(1))
1190
- .subscribe((filters) => {
1191
- /**
1192
- * We are doing this instead of a distinctUntilChange due to memory allocation issues
1193
- * with the javascript array. To fix fully the array should be changed to an object in
1194
- * a breaking change.
1195
- */
1196
- if (!this.arraysEqual(filters, this.lastFilters)) {
1197
- this.lastFilters = filters.slice(0);
1198
- this.appliedFiltersChange.emit(filters);
1199
- }
1200
- });
1201
- }
1202
- }
1203
- ngOnChanges(changes) {
1204
- if (changes['appliedFilters'] &&
1205
- changes['appliedFilters'].currentValue !==
1206
- changes['appliedFilters'].previousValue) {
1207
- this.state.pipe(take(1)).subscribe((currentState) => {
1208
- if (currentState.paging.pageNumber &&
1209
- currentState.paging.pageNumber !== 1) {
1210
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
1211
- }
1212
- this.dispatcher.filtersUpdate(this.appliedFilters);
1213
- });
1214
- }
1215
- if (changes['selectedIds']) {
1216
- // Only send selection changes to dispatcher if changes are distinct.
1217
- const newSelectedIds = changes['selectedIds'].currentValue;
1218
- if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {
1219
- this.dispatcher.setSelected(newSelectedIds, true, true);
1220
- }
1221
- }
1222
- }
1223
- ngOnDestroy() {
1224
- this.ngUnsubscribe.next();
1225
- this.ngUnsubscribe.complete();
1226
- }
1227
- refreshDisplayedItems() {
1228
- this.displayedItems.pipe(take(1)).subscribe((result) => {
1229
- this.dispatcher.next(new ListItemsSetLoadingAction());
1230
- this.dispatcher.next(new ListItemsLoadAction(result.items, true, true, result.count));
1231
- });
1232
- }
1233
- get displayedItems() {
1234
- if (!this.data && !this.dataProvider) {
1235
- throw new Error('List requires data or dataProvider to be set.');
1236
- }
1237
- let data = this.data;
1238
- if (!isObservable(data)) {
1239
- data = of(this.data);
1240
- }
1241
- if (!this.dataProvider) {
1242
- this.dataProvider = new SkyListInMemoryDataProvider(data, this.searchFunction);
1243
- }
1244
- let selectedIds = this.selectedIds || of([]);
1245
- if (!isObservable(selectedIds)) {
1246
- selectedIds = of(selectedIds);
1247
- }
1248
- let selectedChanged = false;
1249
- // This subject is used to cancel previous request to the list's data provider when a new change
1250
- // to the list's state occurs. In a future breaking change this should be replaced or coupled
1251
- // with adding a debounce time to the Observable which watches for state changes.
1252
- const cancelLastRequest = new Subject();
1253
- return combineLatest([
1254
- this.state.pipe(map((s) => s.filters), distinctUntilChanged()),
1255
- this.state.pipe(map((s) => s.search), distinctUntilChanged()),
1256
- this.state.pipe(map((s) => s.sort.fieldSelectors), distinctUntilChanged()),
1257
- this.state.pipe(map((s) => s.paging.itemsPerPage), distinctUntilChanged()),
1258
- this.state.pipe(map((s) => s.paging.pageNumber), distinctUntilChanged()),
1259
- this.state.pipe(map((s) => s.toolbar.disabled), distinctUntilChanged()),
1260
- selectedIds.pipe(distinctUntilChanged(), map((selected) => {
1261
- selectedChanged = true;
1262
- return selected;
1263
- })),
1264
- data.pipe(distinctUntilChanged()),
1265
- ], (filters, search, sortFieldSelectors, itemsPerPage, pageNumber, isToolbarDisabled, selected, itemsData) => {
1266
- cancelLastRequest.next();
1267
- cancelLastRequest.complete();
1268
- if (selectedChanged) {
1269
- this.dispatcher.next(new ListSelectedSetLoadingAction());
1270
- this.dispatcher.next(new ListSelectedLoadAction(selected));
1271
- this.dispatcher.next(new ListSelectedSetLoadingAction(false));
1272
- selectedChanged = false;
1273
- }
1274
- let response;
1275
- if (this.dataFirstLoad) {
1276
- this.dataFirstLoad = false;
1277
- const initialItems = itemsData.map((d) => new ListItemModel(d.id || `sky-list-item-model-${++idIndex$1}`, d));
1278
- response = of(new ListDataResponseModel({
1279
- count: this.initialTotal,
1280
- items: initialItems,
1281
- })).pipe(takeUntil(cancelLastRequest));
1282
- }
1283
- else {
1284
- response = this.dataProvider
1285
- .get(new ListDataRequestModel({
1286
- filters: filters,
1287
- pageSize: itemsPerPage,
1288
- pageNumber: pageNumber,
1289
- search: search,
1290
- sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),
1291
- isToolbarDisabled: isToolbarDisabled,
1292
- }))
1293
- .pipe(takeUntil(cancelLastRequest));
1294
- }
1295
- return response;
1296
- }).pipe(takeUntil(this.ngUnsubscribe),
1297
- // Retain user selections from previous state.
1298
- // This is only necessary for grids component (based on item.isSelected).
1299
- map((response) => {
1300
- return response.pipe(map((listDataResponseModel) => {
1301
- return new ListDataResponseModel({
1302
- count: listDataResponseModel.count,
1303
- items: this.getItemsAndRetainSelections(listDataResponseModel.items, this.lastSelectedIds),
1304
- });
1305
- }));
1306
- }), flatMap((value) => value));
1307
- }
1308
- get selectedItems() {
1309
- return combineLatest(this.state.pipe(map((current) => current.items.items), distinctUntilChanged()), this.state.pipe(map((current) => current.selected), distinctUntilChanged()), (items, selected) => {
1310
- return items.filter((i) => selected.item.selectedIdMap.get(i.id));
1311
- }).pipe(takeUntil(this.ngUnsubscribe));
1312
- }
1313
- get lastUpdate() {
1314
- return this.state.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined));
1315
- }
1316
- get views() {
1317
- return this.listViews.toArray();
1318
- }
1319
- get itemCount() {
1320
- return this.dataProvider.count();
1321
- }
1322
- getItemsAndRetainSelections(newList, selectedIds) {
1323
- const updatedListModel = newList.slice();
1324
- updatedListModel.forEach((item) => {
1325
- item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;
1326
- });
1327
- return updatedListModel;
1328
- }
1329
- arraysEqual(arrayA, arrayB) {
1330
- /* istanbul ignore next */
1331
- if (arrayA === arrayB) {
1332
- return true;
1333
- }
1334
- if (arrayA === undefined || arrayB === undefined) {
1335
- return false;
1336
- }
1337
- if (arrayA.length !== arrayB.length) {
1338
- return false;
1339
- }
1340
- for (let i = 0; i < arrayA.length; ++i) {
1341
- if (arrayA[i] !== arrayB[i]) {
1342
- return false;
1343
- }
1344
- }
1345
- return true;
1346
- }
1347
- }
1348
- SkyListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListComponent, deps: [{ token: ListState }, { token: ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
1349
- SkyListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListComponent, selector: "sky-list", inputs: { data: "data", dataProvider: "dataProvider", defaultView: "defaultView", initialTotal: "initialTotal", selectedIds: "selectedIds", sortFields: "sortFields", appliedFilters: "appliedFilters", searchFunction: ["search", "searchFunction"] }, outputs: { selectedIdsChange: "selectedIdsChange", appliedFiltersChange: "appliedFiltersChange" }, providers: [ListState, ListStateDispatcher], queries: [{ propertyName: "listViews", predicate: ListViewComponent }], usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush });
1350
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListComponent, decorators: [{
1351
- type: Component,
1352
- args: [{
1353
- selector: 'sky-list',
1354
- template: '<ng-content></ng-content>',
1355
- providers: [ListState, ListStateDispatcher],
1356
- changeDetection: ChangeDetectionStrategy.OnPush,
1357
- }]
1358
- }], ctorParameters: function () { return [{ type: ListState }, { type: ListStateDispatcher }, { type: i3.SkyLogService }]; }, propDecorators: { data: [{
1359
- type: Input
1360
- }], dataProvider: [{
1361
- type: Input
1362
- }], defaultView: [{
1363
- type: Input
1364
- }], initialTotal: [{
1365
- type: Input
1366
- }], selectedIds: [{
1367
- type: Input
1368
- }], sortFields: [{
1369
- type: Input
1370
- }], appliedFilters: [{
1371
- type: Input
1372
- }], selectedIdsChange: [{
1373
- type: Output
1374
- }], appliedFiltersChange: [{
1375
- type: Output
1376
- }], searchFunction: [{
1377
- type: Input,
1378
- args: ['search']
1379
- }], listViews: [{
1380
- type: ContentChildren,
1381
- args: [ListViewComponent]
1382
- }] } });
1383
-
1384
- /**
1385
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
1386
- */
1387
- class SkyListModule {
1388
- }
1389
- SkyListModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1390
- SkyListModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListModule, declarations: [SkyListComponent], imports: [CommonModule], exports: [SkyListComponent] });
1391
- SkyListModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListModule, imports: [CommonModule] });
1392
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListModule, decorators: [{
1393
- type: NgModule,
1394
- args: [{
1395
- declarations: [SkyListComponent],
1396
- imports: [CommonModule],
1397
- exports: [SkyListComponent],
1398
- }]
1399
- }] });
1400
-
1401
- class ListFilterModel {
1402
- constructor(data) {
1403
- /**
1404
- * Whether users can dismiss the filter's summary item.
1405
- * @default true
1406
- */
1407
- this.dismissible = true;
1408
- if (data) {
1409
- this.name = data.name;
1410
- this.label = data.label;
1411
- this.filterFunction = data.filterFunction;
1412
- this.value = data.value;
1413
- this.dismissible = data.dismissible;
1414
- this.defaultValue = data.defaultValue;
1415
- }
1416
- }
1417
- }
1418
-
1419
- /**
1420
- * @internal
1421
- */
1422
- class SkyListFilterInlineModel {
1423
- constructor(data) {
1424
- this.onChange = new EventEmitter();
1425
- if (data) {
1426
- this.name = data.name;
1427
- this.filterFunction = data.filterFunction;
1428
- this.value = data.value;
1429
- this.template = data.template;
1430
- this.defaultValue = data.defaultValue;
1431
- }
1432
- }
1433
- changed(value) {
1434
- this.value = value;
1435
- this.onChange.emit(value);
1436
- }
1437
- }
1438
-
1439
- /**
1440
- * Contains a filter button for the list toolbar. Place a
1441
- * [`sky-filter-button`](https://developer.blackbaud.com/skyux/components/filter)
1442
- * component inside this component to open a modal with filtering options.
1443
- * To apply filter options, use the
1444
- * [list component's](https://developer.blackbaud.com/skyux/components/list/overview#list-properties)
1445
- * `appliedFilters` property.
1446
- * @deprecated
1447
- */
1448
- class SkyListFilterButtonComponent {
1449
- constructor(dispatcher) {
1450
- this.dispatcher = dispatcher;
1451
- this.filterButtonItemToolbarIndex = 5000;
1452
- }
1453
- ngAfterViewInit() {
1454
- this.dispatcher.toolbarAddItems([
1455
- new ListToolbarItemModel({
1456
- template: this.filterButtonTemplate,
1457
- location: 'left',
1458
- index: this.filterButtonItemToolbarIndex,
1459
- }),
1460
- ]);
1461
- }
1462
- }
1463
- SkyListFilterButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterButtonComponent, deps: [{ token: ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
1464
- SkyListFilterButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListFilterButtonComponent, selector: "sky-list-filter-button", viewQueries: [{ propertyName: "filterButtonTemplate", first: true, predicate: ["filterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #filterButton>\n <ng-content></ng-content>\n</ng-template>\n" });
1465
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterButtonComponent, decorators: [{
1466
- type: Component,
1467
- args: [{ selector: 'sky-list-filter-button', template: "<ng-template #filterButton>\n <ng-content></ng-content>\n</ng-template>\n" }]
1468
- }], ctorParameters: function () { return [{ type: ListStateDispatcher }]; }, propDecorators: { filterButtonTemplate: [{
1469
- type: ViewChild,
1470
- args: ['filterButton', {
1471
- read: TemplateRef,
1472
- static: true,
1473
- }]
1474
- }] } });
1475
-
1476
- /**
1477
- * @internal
1478
- */
1479
- class SkyListFilterInlineItemRendererComponent {
1480
- ngOnInit() {
1481
- /* istanbul ignore else */
1482
- /* sanity check */
1483
- if (this.template !== undefined) {
1484
- this.container.createEmbeddedView(this.template, this);
1485
- }
1486
- }
1487
- }
1488
- SkyListFilterInlineItemRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1489
- SkyListFilterInlineItemRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: { template: "template", filter: "filter" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template #container></ng-template>', isInline: true });
1490
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineItemRendererComponent, decorators: [{
1491
- type: Component,
1492
- args: [{
1493
- selector: 'sky-list-filter-inline-item-renderer',
1494
- template: '<ng-template #container></ng-template>',
1495
- }]
1496
- }], propDecorators: { template: [{
1497
- type: Input
1498
- }], filter: [{
1499
- type: Input
1500
- }], container: [{
1501
- type: ViewChild,
1502
- args: ['container', {
1503
- read: ViewContainerRef,
1504
- static: true,
1505
- }]
1506
- }] } });
1507
-
1508
- /**
1509
- * Creates a filter in the list's inline filter area.
1510
- * @deprecated
1511
- */
1512
- class SkyListFilterInlineItemComponent {
1513
- constructor() {
1514
- this.onChange = new EventEmitter();
1515
- }
1516
- ngOnInit() {
1517
- if (this.name === undefined || this.name.length === 0) {
1518
- throw new Error('Inline filter requires a name.');
1519
- }
1520
- }
1521
- get template() {
1522
- return this.templates.length > 0
1523
- ? this.templates.first
1524
- : this.templateInput;
1525
- }
1526
- }
1527
- SkyListFilterInlineItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1528
- SkyListFilterInlineItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListFilterInlineItemComponent, selector: "sky-list-filter-inline-item", inputs: { name: "name", value: "value", defaultValue: "defaultValue", filterFunction: ["filter", "filterFunction"], templateInput: ["template", "templateInput"] }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
1529
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineItemComponent, decorators: [{
1530
- type: Component,
1531
- args: [{
1532
- selector: 'sky-list-filter-inline-item',
1533
- template: '<ng-content></ng-content>',
1534
- }]
1535
- }], propDecorators: { name: [{
1536
- type: Input
1537
- }], value: [{
1538
- type: Input
1539
- }], defaultValue: [{
1540
- type: Input
1541
- }], filterFunction: [{
1542
- type: Input,
1543
- args: ['filter']
1544
- }], templateInput: [{
1545
- type: Input,
1546
- args: ['template']
1547
- }], templates: [{
1548
- type: ContentChildren,
1549
- args: [TemplateRef]
1550
- }] } });
1551
-
1552
- /**
1553
- * Creates an inline filter area for the list. Place each filter
1554
- * in a `sky-list-filter-inline-item` component.
1555
- * @deprecated
1556
- */
1557
- class SkyListFilterInlineComponent {
1558
- constructor(dispatcher, state) {
1559
- this.dispatcher = dispatcher;
1560
- this.state = state;
1561
- this.inlineFilters = [];
1562
- }
1563
- ngAfterContentInit() {
1564
- this.inlineFilters = this.filters.map((filter) => {
1565
- return new SkyListFilterInlineModel({
1566
- name: filter.name,
1567
- filterFunction: filter.filterFunction,
1568
- template: filter.template,
1569
- value: filter.value,
1570
- defaultValue: filter.defaultValue,
1571
- });
1572
- });
1573
- this.inlineFilters.forEach((filter) => {
1574
- filter.onChange.subscribe((value) => {
1575
- this.applyFilters();
1576
- });
1577
- });
1578
- this.dispatcher.filtersUpdate(this.getFilterModelFromInline(this.inlineFilters));
1579
- }
1580
- applyFilters() {
1581
- this.state.pipe(take(1)).subscribe((currentState) => {
1582
- if (currentState.paging.pageNumber &&
1583
- currentState.paging.pageNumber !== 1) {
1584
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
1585
- }
1586
- this.dispatcher.filtersUpdate(this.getFilterModelFromInline(this.inlineFilters));
1587
- });
1588
- }
1589
- getFilterModelFromInline(inlineFilters) {
1590
- return inlineFilters.map((filter) => {
1591
- return new ListFilterModel({
1592
- name: filter.name,
1593
- value: filter.value,
1594
- filterFunction: filter.filterFunction,
1595
- defaultValue: filter.defaultValue,
1596
- });
1597
- });
1598
- }
1599
- }
1600
- SkyListFilterInlineComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineComponent, deps: [{ token: ListStateDispatcher }, { token: ListState }], target: i0.ɵɵFactoryTarget.Component });
1601
- SkyListFilterInlineComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListFilterInlineComponent, selector: "sky-list-filter-inline", queries: [{ propertyName: "filters", predicate: SkyListFilterInlineItemComponent }], ngImport: i0, template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n", dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ2, selector: "sky-filter-inline" }, { kind: "component", type: i4.λ3, selector: "sky-filter-inline-item" }, { kind: "component", type: SkyListFilterInlineItemRendererComponent, selector: "sky-list-filter-inline-item-renderer", inputs: ["template", "filter"] }] });
1602
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterInlineComponent, decorators: [{
1603
- type: Component,
1604
- args: [{ selector: 'sky-list-filter-inline', template: "<ng-content></ng-content>\n\n<sky-filter-inline>\n <sky-filter-inline-item *ngFor=\"let filter of inlineFilters\">\n <sky-list-filter-inline-item-renderer\n [template]=\"filter.template\"\n [filter]=\"filter\"\n >\n </sky-list-filter-inline-item-renderer>\n </sky-filter-inline-item>\n</sky-filter-inline>\n" }]
1605
- }], ctorParameters: function () { return [{ type: ListStateDispatcher }, { type: ListState }]; }, propDecorators: { filters: [{
1606
- type: ContentChildren,
1607
- args: [SkyListFilterInlineItemComponent]
1608
- }] } });
1609
-
1610
- /**
1611
- * Creates a filter summary based on the
1612
- * [list component's](https://developer.blackbaud.com/skyux/components/list/overview#list-properties)
1613
- * `appliedFilters` property. Place this component within the
1614
- * [`sky-list-toolbar`](https://developer.blackbaud.com/skyux/components/list/toolbar) component.
1615
- * @deprecated
1616
- */
1617
- class SkyListFilterSummaryComponent {
1618
- constructor(state, dispatcher) {
1619
- this.state = state;
1620
- this.dispatcher = dispatcher;
1621
- /**
1622
- * Emits a `ListFilterModel` when users select a summary item. A common use case is
1623
- * to open a filter modal when this event is received.
1624
- */
1625
- this.summaryItemClick = new EventEmitter();
1626
- }
1627
- ngAfterContentInit() {
1628
- // The setTimeout here is to ensure we avoid any ExpressionChangedAfterItHasBeenCheckedError issues.
1629
- setTimeout(() => {
1630
- this.appliedFilters = this.state.pipe(map((state) => {
1631
- return state.filters.filter((filter) => {
1632
- return (filter.value !== '' &&
1633
- filter.value !== undefined &&
1634
- filter.value !== false &&
1635
- filter.value !== filter.defaultValue);
1636
- });
1637
- }));
1638
- });
1639
- }
1640
- filterSummaryItemDismiss(index) {
1641
- this.appliedFilters.pipe(take(1)).subscribe((filters) => {
1642
- filters.splice(index, 1);
1643
- this.dispatcher.filtersUpdate(filters.slice());
1644
- });
1645
- }
1646
- filterSummaryItemClick(item) {
1647
- this.summaryItemClick.emit(item);
1648
- }
1649
- }
1650
- SkyListFilterSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterSummaryComponent, deps: [{ token: ListState }, { token: ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
1651
- SkyListFilterSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListFilterSummaryComponent, selector: "sky-list-filter-summary", outputs: { summaryItemClick: "summaryItemClick" }, ngImport: i0, template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n", dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i4.λ5, selector: "sky-filter-summary" }, { kind: "component", type: i4.λ4, selector: "sky-filter-summary-item", inputs: ["dismissible"], outputs: ["dismiss", "itemClick"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }] });
1652
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFilterSummaryComponent, decorators: [{
1653
- type: Component,
1654
- args: [{ selector: 'sky-list-filter-summary', template: "<sky-filter-summary>\n <sky-filter-summary-item\n *ngFor=\"let item of appliedFilters | async; let i = index\"\n (dismiss)=\"filterSummaryItemDismiss(i)\"\n (itemClick)=\"filterSummaryItemClick(item)\"\n [dismissible]=\"item.dismissible\"\n >\n {{ item.label || item.value }}\n </sky-filter-summary-item>\n</sky-filter-summary>\n" }]
1655
- }], ctorParameters: function () { return [{ type: ListState }, { type: ListStateDispatcher }]; }, propDecorators: { summaryItemClick: [{
1656
- type: Output
1657
- }] } });
1658
-
1659
- /**
1660
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
1661
- */
1662
- class SkyListFiltersModule {
1663
- }
1664
- SkyListFiltersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFiltersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1665
- SkyListFiltersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListFiltersModule, declarations: [SkyListFilterButtonComponent,
1666
- SkyListFilterSummaryComponent,
1667
- SkyListFilterInlineItemComponent,
1668
- SkyListFilterInlineComponent,
1669
- SkyListFilterInlineItemRendererComponent], imports: [CommonModule, SkyFilterModule], exports: [SkyListFilterButtonComponent,
1670
- SkyListFilterSummaryComponent,
1671
- SkyListFilterInlineItemComponent,
1672
- SkyListFilterInlineComponent] });
1673
- SkyListFiltersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFiltersModule, imports: [CommonModule, SkyFilterModule] });
1674
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListFiltersModule, decorators: [{
1675
- type: NgModule,
1676
- args: [{
1677
- declarations: [
1678
- SkyListFilterButtonComponent,
1679
- SkyListFilterSummaryComponent,
1680
- SkyListFilterInlineItemComponent,
1681
- SkyListFilterInlineComponent,
1682
- SkyListFilterInlineItemRendererComponent,
1683
- ],
1684
- imports: [CommonModule, SkyFilterModule],
1685
- exports: [
1686
- SkyListFilterButtonComponent,
1687
- SkyListFilterSummaryComponent,
1688
- SkyListFilterInlineItemComponent,
1689
- SkyListFilterInlineComponent,
1690
- ],
1691
- }]
1692
- }] });
1693
-
1694
- /**
1695
- * The SKY UX-themed pagination control that displays list data across multiple pages.
1696
- * @internal
1697
- * @deprecated
1698
- */
1699
- class ListPagingComponent {
1700
- constructor(state, dispatcher) {
1701
- this.initialized = new BehaviorSubject(false);
1702
- this.state = state;
1703
- this.dispatcher = dispatcher;
1704
- }
1705
- }
1706
-
1707
- /* istanbul ignore next */
1708
- const listPagingComponentRef = forwardRef(() => SkyListPagingComponent);
1709
- /**
1710
- * Displays a pagination control for a SKY UX-themed list of data.
1711
- * @deprecated
1712
- */
1713
- class SkyListPagingComponent extends ListPagingComponent {
1714
- constructor(state, dispatcher, logger) {
1715
- super(state, dispatcher);
1716
- /**
1717
- * The number of list items per page.
1718
- * @default 10
1719
- */
1720
- this.pageSize = 10;
1721
- /**
1722
- * The maximum pages to display.
1723
- * @default 5
1724
- */
1725
- this.maxPages = 5;
1726
- /**
1727
- * The current page number.
1728
- * @default 1
1729
- */
1730
- this.pageNumber = 1;
1731
- logger.deprecated('SkyListPagingComponent', {
1732
- deprecationMajorVersion: 6,
1733
- moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
1734
- replacementRecommendation: 'Use data manager and the paging component instead.',
1735
- });
1736
- }
1737
- ngOnInit() {
1738
- this.currentPageNumber = this.state.pipe(map((s) => s.paging.pageNumber));
1739
- this.maxDisplayedPages = this.state.pipe(map((s) => s.paging.maxDisplayedPages));
1740
- this.itemsPerPage = this.state.pipe(map((s) => s.paging.itemsPerPage));
1741
- this.itemCount = this.state.pipe(map((s) => {
1742
- return s.items;
1743
- }), scan((previousValue, newValue) => {
1744
- if (previousValue.lastUpdate > newValue.lastUpdate) {
1745
- return previousValue;
1746
- }
1747
- else {
1748
- return newValue;
1749
- }
1750
- }), map((result) => {
1751
- return result.count;
1752
- }), distinctUntilChanged());
1753
- // subscribe to or use inputs
1754
- getValue(this.pageSize, (pageSize) => this.dispatcher.next(new ListPagingSetItemsPerPageAction(Number(pageSize))));
1755
- getValue(this.maxPages, (maxPages) => this.dispatcher.next(new ListPagingSetMaxPagesAction(Number(maxPages))));
1756
- getValue(this.pageNumber, (pageNumber) => this.dispatcher.next(new ListPagingSetPageNumberAction(Number(pageNumber))));
1757
- }
1758
- pageChange(currentPage) {
1759
- // Paging must be updated after list data has been updated.
1760
- // Adding a setTimeout will pull it out of the stream.
1761
- setTimeout(() => {
1762
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(currentPage)));
1763
- });
1764
- }
1765
- }
1766
- SkyListPagingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingComponent, deps: [{ token: ListState }, { token: ListStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
1767
- SkyListPagingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListPagingComponent, selector: "sky-list-paging", inputs: { pageSize: "pageSize", maxPages: "maxPages", pageNumber: "pageNumber" }, providers: [
1768
- { provide: ListPagingComponent, useExisting: listPagingComponentRef },
1769
- ], usesInheritance: true, ngImport: i0, template: "<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n", dependencies: [{ kind: "component", type: i4.λ7, selector: "sky-paging", inputs: ["currentPage", "itemCount", "maxPages", "pageSize", "pagingLabel"], outputs: ["currentPageChange"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1770
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingComponent, decorators: [{
1771
- type: Component,
1772
- args: [{ selector: 'sky-list-paging', providers: [
1773
- { provide: ListPagingComponent, useExisting: listPagingComponentRef },
1774
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<sky-paging\n [pageSize]=\"itemsPerPage | async\"\n [maxPages]=\"maxDisplayedPages | async\"\n [currentPage]=\"currentPageNumber | async\"\n [itemCount]=\"itemCount | async\"\n (currentPageChange)=\"pageChange($event)\"\n>\n</sky-paging>\n" }]
1775
- }], ctorParameters: function () { return [{ type: ListState }, { type: ListStateDispatcher }, { type: i3.SkyLogService }]; }, propDecorators: { pageSize: [{
1776
- type: Input
1777
- }], maxPages: [{
1778
- type: Input
1779
- }], pageNumber: [{
1780
- type: Input
1781
- }] } });
1782
-
1783
- /**
1784
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
1785
- */
1786
- class SkyListPagingModule {
1787
- }
1788
- SkyListPagingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1789
- SkyListPagingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingModule, declarations: [SkyListPagingComponent], imports: [CommonModule, SkyPagingModule], exports: [SkyListPagingComponent] });
1790
- SkyListPagingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingModule, imports: [CommonModule, SkyPagingModule] });
1791
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListPagingModule, decorators: [{
1792
- type: NgModule,
1793
- args: [{
1794
- declarations: [SkyListPagingComponent],
1795
- imports: [CommonModule, SkyPagingModule],
1796
- exports: [SkyListPagingComponent],
1797
- }]
1798
- }] });
1799
-
1800
- /**
1801
- * NOTICE: DO NOT MODIFY THIS FILE!
1802
- * The contents of this file were automatically generated by
1803
- * the 'ng generate @skyux/i18n:lib-resources-module lib/modules/shared/sky-list-builder' schematic.
1804
- * To update this file, simply rerun the command.
1805
- */
1806
- const RESOURCES = {
1807
- 'EN-US': {
1808
- skyux_list_show_secondary_actions_button: { message: 'More' },
1809
- skyux_list_multiselect_clear_all: { message: 'Clear all' },
1810
- skyux_list_multiselect_select_all: { message: 'Select all' },
1811
- skyux_list_multiselect_show_selected: {
1812
- message: 'Only show selected items',
1813
- },
1814
- skyux_list_view_switcher_dropdown_title: { message: 'Select view' },
1815
- },
1816
- };
1817
- class SkyListBuilderResourcesProvider {
1818
- getString(localeInfo, name) {
1819
- return getLibStringForLocale(RESOURCES, localeInfo.locale, name);
1820
- }
1821
- }
1822
- /**
1823
- * Import into any component library module that needs to use resource strings.
1824
- */
1825
- class SkyListBuilderResourcesModule {
1826
- }
1827
- SkyListBuilderResourcesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListBuilderResourcesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1828
- SkyListBuilderResourcesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListBuilderResourcesModule, exports: [SkyI18nModule] });
1829
- SkyListBuilderResourcesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListBuilderResourcesModule, providers: [
1830
- {
1831
- provide: SKY_LIB_RESOURCES_PROVIDERS,
1832
- useClass: SkyListBuilderResourcesProvider,
1833
- multi: true,
1834
- },
1835
- ], imports: [SkyI18nModule] });
1836
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListBuilderResourcesModule, decorators: [{
1837
- type: NgModule,
1838
- args: [{
1839
- exports: [SkyI18nModule],
1840
- providers: [
1841
- {
1842
- provide: SKY_LIB_RESOURCES_PROVIDERS,
1843
- useClass: SkyListBuilderResourcesProvider,
1844
- multi: true,
1845
- },
1846
- ],
1847
- }]
1848
- }] });
1849
-
1850
- /**
1851
- * @internal
1852
- */
1853
- class SkyListSecondaryActionsService {
1854
- constructor() {
1855
- this.secondaryActionsCount = 0;
1856
- this.secondaryActionsSubject = new BehaviorSubject(0);
1857
- this.actionsStream = new BehaviorSubject([]);
1858
- this.actions = [];
1859
- }
1860
- addSecondaryAction(action) {
1861
- this.secondaryActionsCount++;
1862
- this.secondaryActionsSubject.next(this.secondaryActionsCount);
1863
- this.actions.push(action);
1864
- this.actionsStream.next(this.actions);
1865
- }
1866
- removeSecondaryAction(action) {
1867
- this.secondaryActionsCount--;
1868
- this.secondaryActionsSubject.next(this.secondaryActionsCount);
1869
- this.actions = this.actions.filter((existingItem) => existingItem !== action);
1870
- this.actionsStream.next(this.actions);
1871
- }
1872
- ngOnDestroy() {
1873
- this.secondaryActionsSubject.complete();
1874
- this.actionsStream.complete();
1875
- }
1876
- }
1877
- SkyListSecondaryActionsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1878
- SkyListSecondaryActionsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsService });
1879
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsService, decorators: [{
1880
- type: Injectable
1881
- }] });
1882
-
1883
- /**
1884
- * Adds actions to the secondary actions dropdown in the list toolbar.
1885
- * @deprecated
1886
- */
1887
- class SkyListSecondaryActionComponent {
1888
- constructor(actionService) {
1889
- this.actionService = actionService;
1890
- }
1891
- ngAfterContentInit() {
1892
- this.actionService.addSecondaryAction({
1893
- template: this.templateRef,
1894
- });
1895
- }
1896
- }
1897
- SkyListSecondaryActionComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionComponent, deps: [{ token: SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
1898
- SkyListSecondaryActionComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListSecondaryActionComponent, selector: "sky-list-secondary-action", viewQueries: [{ propertyName: "templateRef", first: true, predicate: ["listSecondaryAction"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #listSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n" });
1899
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionComponent, decorators: [{
1900
- type: Component,
1901
- args: [{ selector: 'sky-list-secondary-action', template: "<ng-template #listSecondaryAction>\n <ng-content></ng-content>\n</ng-template>\n" }]
1902
- }], ctorParameters: function () { return [{ type: SkyListSecondaryActionsService }]; }, propDecorators: { templateRef: [{
1903
- type: ViewChild,
1904
- args: ['listSecondaryAction', {
1905
- read: TemplateRef,
1906
- static: true,
1907
- }]
1908
- }] } });
1909
-
1910
- // Note: this component is needed to ensure any reactive styles placed in the element have
1911
- // their host to be based off of. Without this component the host is not written via the dispatcher.
1912
- /**
1913
- * @internal
1914
- */
1915
- class SkyListSecondaryActionsHostComponent {
1916
- constructor(changeDetector, actionService) {
1917
- this.changeDetector = changeDetector;
1918
- this.actionService = actionService;
1919
- this.dropdownHidden = false;
1920
- this.actions = [];
1921
- this.ngUnsubscribe = new Subject();
1922
- }
1923
- ngOnInit() {
1924
- this.actionService.actionsStream
1925
- .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())
1926
- .subscribe((actions) => {
1927
- const hasSecondaryActions = actions.length > 0;
1928
- this.dropdownHidden = !hasSecondaryActions;
1929
- this.actions = actions;
1930
- this.changeDetector.detectChanges();
1931
- });
1932
- }
1933
- ngOnDestroy() {
1934
- this.ngUnsubscribe.next();
1935
- this.ngUnsubscribe.complete();
1936
- }
1937
- }
1938
- SkyListSecondaryActionsHostComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsHostComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: SkyListSecondaryActionsService }], target: i0.ɵɵFactoryTarget.Component });
1939
- SkyListSecondaryActionsHostComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host", ngImport: i0, template: "<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 icon=\"ellipsis-h\"> </sky-icon>\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 <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n", styles: [".sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select{padding:6px 12px}.sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select sky-icon[icon=ellipsis-h]{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.sky-list-secondary-actions-hidden{display:none}:host .sky-list-secondary-actions-btn-text{display:none}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-list-secondary-actions-btn-text{display:inline}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}\n"], dependencies: [{ kind: "directive", type: i3$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3$2.λ2, selector: "sky-dropdown-button" }, { kind: "component", type: i3$2.λ3, selector: "sky-dropdown", inputs: ["buttonStyle", "buttonType", "disabled", "dismissOnBlur", "label", "horizontalAlignment", "messageStream", "title", "trigger"] }, { kind: "component", type: i3$2.λ1, selector: "sky-dropdown-item", inputs: ["ariaRole"] }, { kind: "component", type: i3$2.λ4, selector: "sky-dropdown-menu", inputs: ["ariaLabelledBy", "ariaRole", "useNativeFocus"], outputs: ["menuChanges"] }, { kind: "component", type: i4$1.λ4, selector: "sky-icon", inputs: ["icon", "iconType", "size", "fixedWidth", "variant"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1940
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsHostComponent, decorators: [{
1941
- type: Component,
1942
- args: [{ selector: 'sky-list-secondary-actions-host', changeDetection: ChangeDetectionStrategy.OnPush, template: "<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 icon=\"ellipsis-h\"> </sky-icon>\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 <sky-dropdown-item *ngFor=\"let action of actions\">\n <ng-container *ngTemplateOutlet=\"action.template\"> </ng-container>\n </sky-dropdown-item>\n </sky-dropdown-menu>\n </sky-dropdown>\n</div>\n<ng-content> </ng-content>\n", styles: [".sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select{padding:6px 12px}.sky-list-secondary-actions ::ng-deep .sky-dropdown-button-type-select sky-icon[icon=ellipsis-h]{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.sky-list-secondary-actions-hidden{display:none}:host .sky-list-secondary-actions-btn-text{display:none}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:none}:host-context(.sky-responsive-container-xs) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:none}@media (min-width: 768px){:host .sky-list-secondary-actions-btn-text{display:inline}:host .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions-btn-text,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions-btn-text{display:inline}:host-context(.sky-responsive-container-sm) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-md) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret,:host-context(.sky-responsive-container-lg) .sky-list-secondary-actions ::ng-deep .sky-dropdown-caret{display:inline-block}\n"] }]
1943
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: SkyListSecondaryActionsService }]; } });
1944
-
1945
- /**
1946
- * Adds a dropdown to the list toolbar for secondary actions. If the dropdown does not
1947
- * include actions, the secondary actions dropdown is hidden.
1948
- * @deprecated
1949
- */
1950
- class SkyListSecondaryActionsComponent {
1951
- constructor(dispatcher) {
1952
- this.dispatcher = dispatcher;
1953
- this.actions = [];
1954
- this.secondaryActionsItemToolbarIndex = 5000;
1955
- }
1956
- ngAfterViewInit() {
1957
- const secondaryActionItem = new ListToolbarItemModel({
1958
- id: 'secondary-actions',
1959
- template: this.secondaryActionsTemplate,
1960
- location: 'center',
1961
- index: this.secondaryActionsItemToolbarIndex,
1962
- });
1963
- this.dispatcher.toolbarAddItems([secondaryActionItem]);
1964
- }
1965
- }
1966
- SkyListSecondaryActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsComponent, deps: [{ token: ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
1967
- SkyListSecondaryActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListSecondaryActionsComponent, selector: "sky-list-secondary-actions", providers: [SkyListSecondaryActionsService], viewQueries: [{ propertyName: "secondaryActionsTemplate", first: true, predicate: ["secondaryActions"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n", dependencies: [{ kind: "component", type: SkyListSecondaryActionsHostComponent, selector: "sky-list-secondary-actions-host" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1968
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsComponent, decorators: [{
1969
- type: Component,
1970
- args: [{ selector: 'sky-list-secondary-actions', providers: [SkyListSecondaryActionsService], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #secondaryActions>\n <sky-list-secondary-actions-host>\n <ng-content></ng-content>\n </sky-list-secondary-actions-host>\n</ng-template>\n" }]
1971
- }], ctorParameters: function () { return [{ type: ListStateDispatcher }]; }, propDecorators: { secondaryActionsTemplate: [{
1972
- type: ViewChild,
1973
- args: ['secondaryActions', {
1974
- read: TemplateRef,
1975
- static: true,
1976
- }]
1977
- }] } });
1978
-
1979
- /**
1980
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
1981
- */
1982
- class SkyListSecondaryActionsModule {
1983
- }
1984
- SkyListSecondaryActionsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1985
- SkyListSecondaryActionsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsModule, declarations: [SkyListSecondaryActionsComponent,
1986
- SkyListSecondaryActionsHostComponent,
1987
- SkyListSecondaryActionComponent], imports: [CommonModule,
1988
- SkyDropdownModule,
1989
- SkyI18nModule,
1990
- SkyIconModule,
1991
- SkyListBuilderResourcesModule], exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent] });
1992
- SkyListSecondaryActionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsModule, imports: [CommonModule,
1993
- SkyDropdownModule,
1994
- SkyI18nModule,
1995
- SkyIconModule,
1996
- SkyListBuilderResourcesModule] });
1997
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListSecondaryActionsModule, decorators: [{
1998
- type: NgModule,
1999
- args: [{
2000
- declarations: [
2001
- SkyListSecondaryActionsComponent,
2002
- SkyListSecondaryActionsHostComponent,
2003
- SkyListSecondaryActionComponent,
2004
- ],
2005
- imports: [
2006
- CommonModule,
2007
- SkyDropdownModule,
2008
- SkyI18nModule,
2009
- SkyIconModule,
2010
- SkyListBuilderResourcesModule,
2011
- ],
2012
- exports: [SkyListSecondaryActionsComponent, SkyListSecondaryActionComponent],
2013
- }]
2014
- }] });
2015
-
2016
- /**
2017
- * @internal
2018
- */
2019
- class SkyListToolbarItemRendererComponent {
2020
- ngOnInit() {
2021
- if (this.template !== undefined) {
2022
- this.container.createEmbeddedView(this.template, this);
2023
- }
2024
- }
2025
- }
2026
- SkyListToolbarItemRendererComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarItemRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2027
- SkyListToolbarItemRendererComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: { template: "template" }, viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }], ngImport: i0, template: '<ng-template #container></ng-template>', isInline: true });
2028
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarItemRendererComponent, decorators: [{
2029
- type: Component,
2030
- args: [{
2031
- selector: 'sky-list-toolbar-item-renderer',
2032
- template: '<ng-template #container></ng-template>',
2033
- }]
2034
- }], propDecorators: { template: [{
2035
- type: Input
2036
- }], container: [{
2037
- type: ViewChild,
2038
- args: ['container', {
2039
- read: ViewContainerRef,
2040
- static: true,
2041
- }]
2042
- }] } });
2043
-
2044
- let uniqueId = 0;
2045
- /**
2046
- * @internal
2047
- * @deprecated
2048
- */
2049
- class SkyListMultiselectToolbarComponent {
2050
- constructor(state, dispatcher) {
2051
- this.state = state;
2052
- this.dispatcher = dispatcher;
2053
- this.showOnlySelected = false;
2054
- this.multiselectToolbarId = `sky-list-multiselect-toolbar-${uniqueId++}`;
2055
- this.selectedIdMap = new Map();
2056
- this.ngUnsubscribe = new Subject();
2057
- }
2058
- ngOnInit() {
2059
- this.state
2060
- .pipe(map((t) => t.selected.item), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.selectedMapEqual))
2061
- .subscribe((model) => {
2062
- this.selectedIdMap = model.selectedIdMap;
2063
- if (this.showOnlySelected) {
2064
- this.reapplyFilter(true);
2065
- }
2066
- });
2067
- // If 'show-selected' filter is programmatically set from a child component (e.g. checklist),
2068
- // make sure the checked state of the 'show-selected' checkbox stays in sync.
2069
- this.state
2070
- .pipe(map((t) => t.filters), takeUntil(this.ngUnsubscribe), distinctUntilChanged(this.showSelectedValuesEqual))
2071
- .subscribe((filters) => {
2072
- const showSelectedFilter = filters.find((filter) => filter.name === 'show-selected');
2073
- if (showSelectedFilter) {
2074
- this.showOnlySelected = showSelectedFilter.value === 'true';
2075
- }
2076
- });
2077
- }
2078
- ngOnDestroy() {
2079
- this.ngUnsubscribe.next();
2080
- this.ngUnsubscribe.complete();
2081
- }
2082
- selectAll() {
2083
- this.state
2084
- .pipe(map((state) => state.items.items), take(1))
2085
- .subscribe((items) => {
2086
- this.dispatcher.setSelected(items.map((item) => item.id), true);
2087
- if (this.showOnlySelected) {
2088
- this.reapplyFilter(this.showOnlySelected);
2089
- }
2090
- });
2091
- }
2092
- clearSelections() {
2093
- this.state
2094
- .pipe(map((state) => state.items.items), take(1))
2095
- .subscribe((items) => {
2096
- this.dispatcher.setSelected(items.map((item) => item.id), false);
2097
- if (this.showOnlySelected) {
2098
- this.reapplyFilter(this.showOnlySelected);
2099
- }
2100
- });
2101
- }
2102
- changeVisibleItems(change) {
2103
- this.showOnlySelected = change.checked;
2104
- this.reapplyFilter(change.checked);
2105
- }
2106
- reapplyFilter(isSelected) {
2107
- this.state
2108
- .pipe(map((state) => state.filters), take(1))
2109
- .subscribe((filters) => {
2110
- filters = filters.filter((filter) => filter.name !== 'show-selected');
2111
- filters.push(this.getShowSelectedFilter(isSelected));
2112
- this.dispatcher.filtersUpdate(filters);
2113
- });
2114
- // If "show selected" is checked and paging is enabled, go to page one.
2115
- /* istanbul ignore else */
2116
- if (isSelected) {
2117
- this.state.pipe(take(1)).subscribe((currentState) => {
2118
- if (currentState.paging.pageNumber &&
2119
- currentState.paging.pageNumber !== 1) {
2120
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
2121
- }
2122
- });
2123
- }
2124
- this.dispatcher.toolbarSetDisabled(isSelected);
2125
- }
2126
- getShowSelectedFilter(isSelected) {
2127
- return new ListFilterModel({
2128
- name: 'show-selected',
2129
- value: isSelected.toString(),
2130
- filterFunction: (model, showOnlySelected) => {
2131
- /* istanbul ignore else */
2132
- if (showOnlySelected.toString() !== false.toString()) {
2133
- return this.selectedIdMap.get(model.id);
2134
- }
2135
- },
2136
- defaultValue: false.toString(),
2137
- });
2138
- }
2139
- showSelectedValuesEqual(prev, next) {
2140
- const prevShowSelectedFilter = prev.find((filter) => filter.name === 'show-selected');
2141
- const nextShowSelectedFilter = next.find((filter) => filter.name === 'show-selected');
2142
- // Both undefined.
2143
- if (!prevShowSelectedFilter && !nextShowSelectedFilter) {
2144
- return true;
2145
- }
2146
- // Only one undefined.
2147
- if ((prevShowSelectedFilter && !nextShowSelectedFilter) ||
2148
- (!prevShowSelectedFilter && nextShowSelectedFilter)) {
2149
- return false;
2150
- }
2151
- // Defined, but with different "value".
2152
- return prevShowSelectedFilter.value === nextShowSelectedFilter.value;
2153
- }
2154
- selectedMapEqual(prev, next) {
2155
- if (prev.selectedIdMap.size !== next.selectedIdMap.size) {
2156
- return false;
2157
- }
2158
- for (let i = 0; i < next.selectedIdMap.size; i++) {
2159
- const key = Array.from(next.selectedIdMap.keys())[i];
2160
- const value = next.selectedIdMap.get(key);
2161
- /* istanbul ignore next */
2162
- if (value !== prev.selectedIdMap.get(key)) {
2163
- return false;
2164
- }
2165
- }
2166
- return true;
2167
- }
2168
- }
2169
- SkyListMultiselectToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListMultiselectToolbarComponent, deps: [{ token: ListState }, { token: ListStateDispatcher }], target: i0.ɵɵFactoryTarget.Component });
2170
- SkyListMultiselectToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: { showOnlySelected: "showOnlySelected" }, ngImport: i0, template: "<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-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\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", styles: [":host-context(sky-toolbar)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"], dependencies: [{ kind: "directive", type: i3$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i4$2.λ3, selector: "sky-checkbox", inputs: ["label", "labelledBy", "id", "disabled", "tabindex", "name", "icon", "checkboxType", "checked", "indeterminate", "required"], outputs: ["change", "checkedChange", "disabledChange", "indeterminateChange"] }, { kind: "component", type: i4$2.λ4, selector: "sky-checkbox-label" }, { kind: "component", type: i5$1.λ37, selector: "sky-toolbar" }, { kind: "component", type: i5$1.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i5$1.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i5$1.λ40, selector: "sky-toolbar-view-actions" }, { kind: "component", type: SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { kind: "pipe", type: i5.SkyLibResourcesPipe, name: "skyLibResources" }] });
2171
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListMultiselectToolbarComponent, decorators: [{
2172
- type: Component,
2173
- args: [{ selector: 'sky-list-multiselect-toolbar', template: "<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-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer [template]=\"clearSelectionsTemplate\">\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-view-actions>\n <ng-container *ngTemplateOutlet=\"showSelectedTemplate\"></ng-container>\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", styles: [":host-context(sky-toolbar)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container,:host-context(.sky-list-toolbar-search)+.sky-list-multiselect-toolbar ::ng-deep .sky-toolbar-container{border-top:none}\n"] }]
2174
- }], ctorParameters: function () { return [{ type: ListState }, { type: ListStateDispatcher }]; }, propDecorators: { showOnlySelected: [{
2175
- type: Input
2176
- }] } });
2177
-
2178
- let idIndex = 0;
2179
- /**
2180
- * Defines a toolbar item for the list toolbar.
2181
- * @deprecated
2182
- */
2183
- class SkyListToolbarItemComponent {
2184
- constructor() {
2185
- /**
2186
- * The ID of the item.
2187
- */
2188
- this.id = `sky-list-toolbar-item-${++idIndex}`;
2189
- /**
2190
- * The index of the item at the given item location.
2191
- * @default -1
2192
- */
2193
- this.index = -1;
2194
- /**
2195
- * The toolbar location of the item. The valid options are `"left"`,
2196
- * `"center"`, and `"right"`.
2197
- * @default "left"
2198
- */
2199
- this.location = 'left';
2200
- }
2201
- get template() {
2202
- return this.templates.length > 0 ? this.templates.first : undefined;
2203
- }
2204
- }
2205
- SkyListToolbarItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2206
- SkyListToolbarItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarItemComponent, selector: "sky-list-toolbar-item", inputs: { id: "id", index: "index", location: "location" }, queries: [{ propertyName: "templates", predicate: TemplateRef }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
2207
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarItemComponent, decorators: [{
2208
- type: Component,
2209
- args: [{
2210
- selector: 'sky-list-toolbar-item',
2211
- template: '<ng-content></ng-content>',
2212
- }]
2213
- }], propDecorators: { id: [{
2214
- type: Input
2215
- }], index: [{
2216
- type: Input
2217
- }], location: [{
2218
- type: Input
2219
- }], templates: [{
2220
- type: ContentChildren,
2221
- args: [TemplateRef]
2222
- }] } });
2223
-
2224
- /**
2225
- * Displays custom actions in the toolbar beside to the search bar.
2226
- * @deprecated
2227
- */
2228
- class SkyListToolbarSearchActionsComponent {
2229
- }
2230
- SkyListToolbarSearchActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarSearchActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2231
- SkyListToolbarSearchActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarSearchActionsComponent, selector: "sky-list-toolbar-search-actions", ngImport: i0, template: "<div class=\"sky-list-toolbar-search-actions\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-toolbar-search-actions{margin-left:10px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2232
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarSearchActionsComponent, decorators: [{
2233
- type: Component,
2234
- args: [{ selector: 'sky-list-toolbar-search-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-toolbar-search-actions\">\n <ng-content></ng-content>\n</div>\n", styles: [".sky-list-toolbar-search-actions{margin-left:10px}\n"] }]
2235
- }] });
2236
-
2237
- /**
2238
- * Adds a sort dropdown to the list toolbar.
2239
- * @deprecated
2240
- */
2241
- class SkyListToolbarSortComponent {
2242
- }
2243
- SkyListToolbarSortComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarSortComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2244
- SkyListToolbarSortComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarSortComponent, selector: "sky-list-toolbar-sort", inputs: { label: "label", field: "field", type: "type", descending: "descending" }, ngImport: i0, template: '', isInline: true });
2245
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarSortComponent, decorators: [{
2246
- type: Component,
2247
- args: [{
2248
- selector: 'sky-list-toolbar-sort',
2249
- template: '',
2250
- }]
2251
- }], propDecorators: { label: [{
2252
- type: Input
2253
- }], field: [{
2254
- type: Input
2255
- }], type: [{
2256
- type: Input
2257
- }], descending: [{
2258
- type: Input
2259
- }] } });
2260
-
2261
- /**
2262
- * Adds a section on the right side of the toolbar for items that substantially change
2263
- * or affect the view of the list. This includes simple filters and view switchers.
2264
- * If the view section includes more than one item, simple filters appear on the left
2265
- * and view switchers appear on the right.
2266
- * @deprecated
2267
- */
2268
- class SkyListToolbarViewActionsComponent {
2269
- constructor(logger) {
2270
- logger.deprecated('SkyListToolbarViewActionsComponent', {
2271
- deprecationMajorVersion: 6,
2272
- moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
2273
- replacementRecommendation: 'Use data manager instead.',
2274
- });
2275
- }
2276
- }
2277
- SkyListToolbarViewActionsComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarViewActionsComponent, deps: [{ token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
2278
- SkyListToolbarViewActionsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarViewActionsComponent, selector: "sky-list-toolbar-view-actions", ngImport: i0, template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host::ng-deep>:not(:last-child){margin-right:5px}.sky-list-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}\n"] });
2279
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarViewActionsComponent, decorators: [{
2280
- type: Component,
2281
- args: [{ selector: 'sky-list-toolbar-view-actions', template: "<ng-content></ng-content>\n", styles: [":host{display:flex;align-items:center}:host::ng-deep>:not(:last-child){margin-right:5px}.sky-list-toolbar-view-actions ::ng-deep>:not(:last-child){margin-right:5px}\n"] }]
2282
- }], ctorParameters: function () { return [{ type: i3.SkyLogService }]; } });
2283
-
2284
- /**
2285
- * @internal
2286
- */
2287
- class ListToolbarConfigSetSearchEnabledAction {
2288
- constructor(enabled) {
2289
- this.enabled = enabled;
2290
- }
2291
- }
2292
-
2293
- /**
2294
- * @internal
2295
- */
2296
- class ListToolbarConfigSetSortSelectorEnabledAction {
2297
- /* istanbul ignore next */
2298
- constructor(enabled = true) {
2299
- this.enabled = enabled;
2300
- }
2301
- }
2302
-
2303
- /**
2304
- * @internal
2305
- */
2306
- class ListToolbarConfigModel {
2307
- constructor(data) {
2308
- this.searchEnabled = true;
2309
- this.sortSelectorEnabled = true;
2310
- if (data) {
2311
- this.searchEnabled = data.searchEnabled;
2312
- this.sortSelectorEnabled = data.sortSelectorEnabled;
2313
- }
2314
- }
2315
- }
2316
-
2317
- /**
2318
- * @internal
2319
- */
2320
- class ListToolbarStateModel {
2321
- constructor() {
2322
- this.config = new ListToolbarConfigModel();
2323
- }
2324
- }
2325
-
2326
- /**
2327
- * @internal
2328
- */
2329
- class ListToolbarStateDispatcher extends StateDispatcher {
2330
- }
2331
- ListToolbarStateDispatcher.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarStateDispatcher, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
2332
- ListToolbarStateDispatcher.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarStateDispatcher });
2333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarStateDispatcher, decorators: [{
2334
- type: Injectable
2335
- }] });
2336
- /**
2337
- * @internal
2338
- */
2339
- class ListToolbarStateOrchestrator extends StateOrchestrator {
2340
- }
2341
-
2342
- /**
2343
- * @internal
2344
- */
2345
- class ListToolbarConfigOrchestrator extends ListToolbarStateOrchestrator {
2346
- /* istanbul ignore next */
2347
- constructor() {
2348
- super();
2349
- this.register(ListToolbarConfigSetSearchEnabledAction, this.setSearchEnabled).register(ListToolbarConfigSetSortSelectorEnabledAction, this.setSortSelectorEnabled);
2350
- }
2351
- setSearchEnabled(state, action) {
2352
- return new ListToolbarConfigModel(Object.assign({}, state, { searchEnabled: action.enabled }));
2353
- }
2354
- setSortSelectorEnabled(state, action) {
2355
- return new ListToolbarConfigModel(Object.assign({}, state, { sortSelectorEnabled: action.enabled }));
2356
- }
2357
- }
2358
-
2359
- /**
2360
- * @internal
2361
- */
2362
- class ListToolbarState extends StateNode {
2363
- constructor(initialState, dispatcher) {
2364
- super(initialState, dispatcher);
2365
- this.register('config', ListToolbarConfigOrchestrator).begin();
2366
- }
2367
- }
2368
- ListToolbarState.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarState, deps: [{ token: ListToolbarStateModel }, { token: ListToolbarStateDispatcher }], target: i0.ɵɵFactoryTarget.Injectable });
2369
- ListToolbarState.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarState });
2370
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: ListToolbarState, decorators: [{
2371
- type: Injectable
2372
- }], ctorParameters: function () { return [{ type: ListToolbarStateModel }, { type: ListToolbarStateDispatcher }]; } });
2373
-
2374
- let nextId = 0;
2375
- /**
2376
- * Displays a toolbar for a SKY UX-themed list of data.
2377
- * @deprecated
2378
- */
2379
- class SkyListToolbarComponent {
2380
- /**
2381
- * Whether to use the in-memory search.
2382
- * Setting this to `false` will allow consumers to run their own searches remotely,
2383
- * and push new values to the list component by updating the `data` property.
2384
- * @default true
2385
- * @internal
2386
- */
2387
- set inMemorySearchEnabled(value) {
2388
- this._inMemorySearchEnabled = value;
2389
- }
2390
- get inMemorySearchEnabled() {
2391
- if (this._inMemorySearchEnabled === undefined) {
2392
- return true;
2393
- }
2394
- return this._inMemorySearchEnabled;
2395
- }
2396
- get isFilterBarDisplayed() {
2397
- return (!this.isToolbarDisabled &&
2398
- this.hasInlineFilters &&
2399
- this.inlineFilterBarExpanded);
2400
- }
2401
- get filterButtonAriaControls() {
2402
- return this.isFilterBarDisplayed ? this.listFilterInlineId : undefined;
2403
- }
2404
- constructor(changeDetector, state, dispatcher, toolbarState, toolbarDispatcher, logger) {
2405
- this.changeDetector = changeDetector;
2406
- this.state = state;
2407
- this.dispatcher = dispatcher;
2408
- this.toolbarState = toolbarState;
2409
- this.toolbarDispatcher = toolbarDispatcher;
2410
- /**
2411
- * Display the search bar in the standard position or in a separate section.
2412
- * To highlight the search bar in a section above all other toolbar items,
2413
- * set this property to `search`.
2414
- * @default "standard"
2415
- */
2416
- this.toolbarType = 'standard';
2417
- this.isToolbarDisabled = false;
2418
- this.inlineFilterBarExpanded = false;
2419
- this.hasAdditionalToolbarSection = false;
2420
- this.hasViewActions = false;
2421
- this.filterButtonId = `sky-list-toolbar-filter-button-${++nextId}`;
2422
- this.listFilterInlineId = `sky-list-toolbar-filter-inline-${++nextId}`;
2423
- /**
2424
- * Fires when users submit a search.
2425
- * @internal
2426
- * @deprecated
2427
- */
2428
- this.searchApplied = new Subject();
2429
- this.customItemIds = [];
2430
- this.hasSortSelectors = false;
2431
- this.inlineFiltersItemToolbarIndex = 5000;
2432
- this.sortSelectorItemToolbarIndex = 6000;
2433
- this.ngUnsubscribe = new Subject();
2434
- logger.deprecated('SkyListToolbarComponent', {
2435
- deprecationMajorVersion: 6,
2436
- moreInfoUrl: 'https://developer.blackbaud.com/skyux/components/data-manager',
2437
- replacementRecommendation: 'Use data manager instead.',
2438
- });
2439
- }
2440
- ngOnInit() {
2441
- this.dispatcher.toolbarExists(true);
2442
- getValue(this.searchText, (searchText) => {
2443
- this.updateSearchText(searchText);
2444
- });
2445
- getValue(this.searchEnabled, (searchEnabled) => {
2446
- this.toolbarDispatcher.next(new ListToolbarConfigSetSearchEnabledAction(searchEnabled === undefined ? true : searchEnabled));
2447
- });
2448
- getValue(this.toolbarType, (type) => {
2449
- this.dispatcher.next(new ListToolbarSetTypeAction(this.toolbarType));
2450
- });
2451
- getValue(this.sortSelectorEnabled, (sortSelectorEnabled) => {
2452
- this.toolbarDispatcher.next(new ListToolbarConfigSetSortSelectorEnabledAction(sortSelectorEnabled === undefined ? true : sortSelectorEnabled));
2453
- });
2454
- this.sortSelectors = this.getSortSelectors();
2455
- // Initialize the sort toolbar item if necessary
2456
- this.sortSelectors
2457
- .pipe(takeUntil(this.ngUnsubscribe), distinctUntilChanged())
2458
- .subscribe((currentSort) => {
2459
- if (currentSort.length > 0 && !this.hasSortSelectors) {
2460
- this.hasSortSelectors = true;
2461
- this.dispatcher.toolbarAddItems([
2462
- new ListToolbarItemModel({
2463
- id: 'sort-selector',
2464
- template: this.sortSelectorTemplate,
2465
- location: 'left',
2466
- index: this.sortSelectorItemToolbarIndex,
2467
- }),
2468
- ]);
2469
- }
2470
- else if (currentSort.length < 1 && this.hasSortSelectors) {
2471
- this.hasSortSelectors = false;
2472
- this.dispatcher.toolbarRemoveItems(['sort-selector']);
2473
- }
2474
- });
2475
- this.searchTextInput = this.state.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.search.searchText), distinctUntilChanged());
2476
- this.view = this.state.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.views.active), distinctUntilChanged());
2477
- this.watchTemplates();
2478
- this.type = this.state.pipe(takeUntil(this.ngUnsubscribe), map((state) => state.toolbar.type), distinctUntilChanged());
2479
- this.type.pipe(takeUntil(this.ngUnsubscribe)).subscribe((toolbarType) => {
2480
- if (toolbarType === 'search') {
2481
- this.dispatcher.toolbarRemoveItems(['search']);
2482
- }
2483
- else {
2484
- this.dispatcher.toolbarAddItems([
2485
- new ListToolbarItemModel({
2486
- id: 'search',
2487
- template: this.searchTemplate,
2488
- location: 'right',
2489
- }),
2490
- ]);
2491
- }
2492
- });
2493
- this.isSearchEnabled = this.toolbarState.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.config), distinctUntilChanged(), map((c) => c.searchEnabled));
2494
- this.state
2495
- .pipe(map((s) => s.toolbar), takeUntil(this.ngUnsubscribe), distinctUntilChanged(), map((c) => c.disabled))
2496
- .subscribe((isDisabled) => (this.isToolbarDisabled = isDisabled));
2497
- this.isSortSelectorEnabled = this.toolbarState.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.config), distinctUntilChanged(), map((c) => c.sortSelectorEnabled));
2498
- this.isMultiselectEnabled = this.state.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.toolbar), distinctUntilChanged(), map((t) => t.showMultiselectToolbar));
2499
- this.hasAppliedFilters = this.state.pipe(takeUntil(this.ngUnsubscribe), map((s) => s.filters), distinctUntilChanged(), map((filters) => {
2500
- const activeFilters = filters.filter((f) => {
2501
- return (f.value !== '' &&
2502
- f.value !== undefined &&
2503
- f.value !== false &&
2504
- f.value !== f.defaultValue);
2505
- });
2506
- return activeFilters.length > 0;
2507
- }));
2508
- this.state.pipe(takeUntil(this.ngUnsubscribe)).subscribe((current) => {
2509
- this.hasAdditionalToolbarSection = current.toolbar.items.length > 0;
2510
- this.changeDetector.detectChanges();
2511
- });
2512
- }
2513
- ngAfterContentInit() {
2514
- // Inject custom toolbar items.
2515
- this.toolbarItems.forEach((toolbarItem) => {
2516
- this.dispatcher.toolbarAddItems([new ListToolbarItemModel(toolbarItem)]);
2517
- this.customItemIds.push(toolbarItem.id);
2518
- });
2519
- this.toolbarItems.changes
2520
- .pipe(takeUntil(this.ngUnsubscribe))
2521
- .subscribe((newItems) => {
2522
- newItems.forEach((item) => {
2523
- if (this.customItemIds.indexOf(item.id) < 0) {
2524
- this.dispatcher.toolbarAddItems([new ListToolbarItemModel(item)]);
2525
- this.customItemIds.push(item.id);
2526
- }
2527
- });
2528
- const itemsToRemove = [];
2529
- this.customItemIds.forEach((itemId, index) => {
2530
- if (!newItems.find((item) => item.id === itemId)) {
2531
- itemsToRemove.push(itemId);
2532
- this.customItemIds.splice(index, 1);
2533
- }
2534
- });
2535
- this.dispatcher.toolbarRemoveItems(itemsToRemove);
2536
- });
2537
- const sortModels = this.toolbarSorts.map((sort) => new ListSortLabelModel({
2538
- text: sort.label,
2539
- fieldSelector: sort.field,
2540
- fieldType: sort.type,
2541
- global: true,
2542
- descending: sort.descending,
2543
- }));
2544
- this.dispatcher.sortSetGlobal(sortModels);
2545
- // Add inline filters.
2546
- this.showFilterSummary = this.filterSummary.length > 0;
2547
- this.hasInlineFilters = this.inlineFilter.length > 0;
2548
- if (this.hasInlineFilters) {
2549
- this.dispatcher.toolbarAddItems([
2550
- new ListToolbarItemModel({
2551
- template: this.inlineFilterButtonTemplate,
2552
- location: 'left',
2553
- index: this.inlineFiltersItemToolbarIndex,
2554
- }),
2555
- ]);
2556
- }
2557
- // Check for view actions
2558
- this.hasViewActions = this.viewActions.length > 0;
2559
- }
2560
- ngOnDestroy() {
2561
- this.searchApplied.complete();
2562
- this.ngUnsubscribe.next();
2563
- this.ngUnsubscribe.complete();
2564
- }
2565
- setSort(sort) {
2566
- this.state.pipe(take(1)).subscribe((currentState) => {
2567
- if (currentState.paging.pageNumber &&
2568
- currentState.paging.pageNumber !== 1) {
2569
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
2570
- }
2571
- this.dispatcher.sortSetFieldSelectors([
2572
- { fieldSelector: sort.fieldSelector, descending: sort.descending },
2573
- ]);
2574
- });
2575
- }
2576
- inlineFilterButtonClick() {
2577
- this.inlineFilterBarExpanded = !this.inlineFilterBarExpanded;
2578
- }
2579
- updateSearchText(searchText) {
2580
- this.searchApplied.next(searchText);
2581
- if (this.inMemorySearchEnabled) {
2582
- this.state.pipe(take(1)).subscribe((currentState) => {
2583
- if (currentState.paging.pageNumber &&
2584
- currentState.paging.pageNumber !== 1) {
2585
- this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));
2586
- }
2587
- this.dispatcher.searchSetText(searchText);
2588
- });
2589
- }
2590
- }
2591
- itemIsInView(itemView, activeView) {
2592
- return itemView === undefined || itemView === activeView;
2593
- }
2594
- getSortSelectors() {
2595
- return combineLatest(this.state.pipe(map((s) => s.sort.available), distinctUntilChanged()), this.state.pipe(map((s) => s.sort.global), distinctUntilChanged()), this.state.pipe(map((s) => s.sort.fieldSelectors), distinctUntilChanged()), (available, global, fieldSelectors) => {
2596
- // Get sorts that are in the global that are not in the available
2597
- const sorts = global.filter((g) => available.filter((a) => a.fieldSelector === g.fieldSelector)
2598
- .length === 0);
2599
- const resultSortSelectors = [...sorts, ...available].map((sortLabels) => {
2600
- const fs = fieldSelectors.filter((f) => {
2601
- return (f.fieldSelector === sortLabels.fieldSelector &&
2602
- f.descending === sortLabels.descending);
2603
- });
2604
- let selected = false;
2605
- if (fs.length > 0) {
2606
- selected = true;
2607
- }
2608
- return {
2609
- sort: sortLabels,
2610
- selected: selected,
2611
- };
2612
- });
2613
- return resultSortSelectors;
2614
- }).pipe(takeUntil(this.ngUnsubscribe));
2615
- }
2616
- watchTemplates() {
2617
- combineLatest(this.state.pipe(map((s) => s.toolbar), distinctUntilChanged()), this.view.pipe(distinctUntilChanged()), (toolbar, view) => {
2618
- const items = toolbar.items.filter((i) => {
2619
- return this.itemIsInView(i.view, view);
2620
- });
2621
- const templates = {};
2622
- items.forEach((item) => {
2623
- templates[item.location] = templates[item.location] || [];
2624
- templates[item.location].push(item);
2625
- });
2626
- return templates;
2627
- })
2628
- .pipe(takeUntil(this.ngUnsubscribe))
2629
- .subscribe((value) => {
2630
- this.leftTemplates = value.left;
2631
- this.centerTemplates = value.center;
2632
- this.rightTemplates = value.right;
2633
- this.changeDetector.markForCheck();
2634
- });
2635
- }
2636
- }
2637
- SkyListToolbarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: ListState }, { token: ListStateDispatcher }, { token: ListToolbarState }, { token: ListToolbarStateDispatcher }, { token: i3.SkyLogService }], target: i0.ɵɵFactoryTarget.Component });
2638
- SkyListToolbarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.2.9", type: SkyListToolbarComponent, selector: "sky-list-toolbar", inputs: { inMemorySearchEnabled: "inMemorySearchEnabled", placeholder: "placeholder", searchEnabled: "searchEnabled", sortSelectorEnabled: "sortSelectorEnabled", toolbarType: "toolbarType", searchText: "searchText" }, providers: [
2639
- ListToolbarState,
2640
- ListToolbarStateDispatcher,
2641
- ListToolbarStateModel,
2642
- ], queries: [{ propertyName: "toolbarItems", predicate: SkyListToolbarItemComponent }, { propertyName: "toolbarSorts", predicate: SkyListToolbarSortComponent }, { propertyName: "filterSummary", predicate: SkyListFilterSummaryComponent }, { propertyName: "inlineFilter", predicate: SkyListFilterInlineComponent }, { propertyName: "viewActions", predicate: SkyListToolbarViewActionsComponent }], viewQueries: [{ propertyName: "searchComponent", first: true, predicate: SkySearchComponent, descendants: true, read: SkySearchComponent }, { propertyName: "searchTemplate", first: true, predicate: ["search"], descendants: true, read: TemplateRef, static: true }, { propertyName: "sortSelectorTemplate", first: true, predicate: ["sortSelector"], descendants: true, read: TemplateRef, static: true }, { propertyName: "inlineFilterButtonTemplate", first: true, predicate: ["inlineFilterButton"], descendants: true, read: TemplateRef, static: true }], ngImport: i0, template: "<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n", styles: [".sky-list-toolbar-search-wrapper{display:flex}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-dismiss-absolute{padding:0;position:static}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-container{position:relative;height:100%}.sky-list-toolbar-search-wrapper ::ng-deep sky-search{flex:1 1 auto}.sky-list-toolbar-search-wrapper ::ng-deep sky-list-toolbar-search-actions{flex:0 0 auto;z-index:1}.sky-list-toolbar-container ::ng-deep .sky-toolbar-section-items sky-toolbar-item{flex:0 1 auto;align-self:flex-start}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section{padding-top:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section-items{display:block;width:100%}.sky-list-toolbar-search ::ng-deep .sky-toolbar-item{margin:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-container,.sky-list-toolbar-search ::ng-deep .sky-search-dismiss-absolute{background-color:#eeeeef}.sky-list-toolbar-search ::ng-deep input[type=text]:disabled,.sky-list-toolbar-search ::ng-deep .sky-search-btn:disabled{background-color:#cdcfd2;opacity:1}.sky-list-toolbar-container ::ng-deep sky-toolbar-item[sky-toolbar-id=sort-selector] .sky-toolbar-item{margin-right:0}.sky-list-toolbar-container ::ng-deep sky-checkbox{position:relative;top:-2px}\n"], dependencies: [{ kind: "directive", type: i3$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5$1.λ37, selector: "sky-toolbar" }, { kind: "component", type: i5$1.λ39, selector: "sky-toolbar-item" }, { kind: "component", type: i5$1.λ38, selector: "sky-toolbar-section" }, { kind: "component", type: i5$1.λ40, selector: "sky-toolbar-view-actions" }, { kind: "component", type: i8.SkySearchComponent, selector: "sky-search", inputs: ["searchText", "expandMode", "debounceTime", "disabled", "placeholderText"], outputs: ["searchApply", "searchChange", "searchClear"] }, { kind: "component", type: i4.λ14, selector: "sky-sort", inputs: ["showButtonText"] }, { kind: "component", type: i4.λ13, selector: "sky-sort-item", inputs: ["active"], outputs: ["itemSelect"] }, { kind: "component", type: i4.λ1, selector: "sky-filter-button", inputs: ["filterButtonId", "ariaControls", "ariaExpanded", "active", "disabled", "showButtonText"], outputs: ["filterButtonClick"] }, { kind: "component", type: SkyListToolbarItemRendererComponent, selector: "sky-list-toolbar-item-renderer", inputs: ["template"] }, { kind: "component", type: SkyListMultiselectToolbarComponent, selector: "sky-list-multiselect-toolbar", inputs: ["showOnlySelected"] }, { kind: "pipe", type: i3$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2643
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarComponent, decorators: [{
2644
- type: Component,
2645
- args: [{ selector: 'sky-list-toolbar', providers: [
2646
- ListToolbarState,
2647
- ListToolbarStateDispatcher,
2648
- ListToolbarStateModel,
2649
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"sky-list-toolbar-container\">\n <sky-toolbar *ngIf=\"(type | async) !== 'search'\">\n <sky-toolbar-section>\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n\n <sky-toolbar-section\n *ngIf=\"showFilterSummary && (hasAppliedFilters | async)\"\n >\n <ng-content select=\"sky-list-filter-summary\"> </ng-content>\n </sky-toolbar-section>\n </sky-toolbar>\n\n <div\n *ngIf=\"\n (type | async) === 'search' &&\n ((isSearchEnabled | async) || hasAdditionalToolbarSection)\n \"\n class=\"sky-list-toolbar-search\"\n >\n <sky-toolbar>\n <sky-toolbar-section *ngIf=\"isSearchEnabled | async\">\n <sky-toolbar-item>\n <sky-list-toolbar-item-renderer\n sky-cmp-id=\"search\"\n [template]=\"search\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n </sky-toolbar-section>\n <sky-toolbar-section [hidden]=\"!hasAdditionalToolbarSection\">\n <sky-toolbar-item *ngFor=\"let item of leftTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item *ngFor=\"let item of centerTemplates\">\n <sky-list-toolbar-item-renderer\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <sky-toolbar-item\n *ngFor=\"let item of rightTemplates\"\n [attr.sky-toolbar-id]=\"item.id\"\n >\n <sky-list-toolbar-item-renderer\n *ngIf=\"item.id !== 'search'\"\n [attr.sky-cmp-id]=\"item.id\"\n [template]=\"item.template\"\n >\n </sky-list-toolbar-item-renderer>\n </sky-toolbar-item>\n <ng-content></ng-content>\n\n <sky-toolbar-view-actions *ngIf=\"hasViewActions\">\n <ng-content select=\"sky-list-toolbar-view-actions\"> </ng-content>\n </sky-toolbar-view-actions>\n </sky-toolbar-section>\n </sky-toolbar>\n </div>\n <div\n *ngIf=\"isFilterBarDisplayed\"\n [attr.aria-labelledby]=\"filterButtonId\"\n [id]=\"listFilterInlineId\"\n >\n <ng-content select=\"sky-list-filter-inline\"> </ng-content>\n </div>\n <sky-list-multiselect-toolbar *ngIf=\"isMultiselectEnabled | async\">\n </sky-list-multiselect-toolbar>\n</div>\n\n<ng-template #search>\n <div *ngIf=\"isSearchEnabled | async\" class=\"sky-list-toolbar-search-wrapper\">\n <sky-search\n [disabled]=\"isToolbarDisabled\"\n [expandMode]=\"(type | async) === 'search' ? 'fit' : 'responsive'\"\n [placeholderText]=\"placeholder\"\n [searchText]=\"searchTextInput | async\"\n (searchApply)=\"updateSearchText($event)\"\n >\n </sky-search>\n <ng-content select=\"sky-list-toolbar-search-actions\"></ng-content>\n </div>\n</ng-template>\n\n<ng-template #sortSelector>\n <div\n *ngIf=\"\n (isSortSelectorEnabled | async) && (sortSelectors | async).length > 0\n \"\n class=\"sky-toolbar-item-sort-container\"\n >\n <sky-sort [showButtonText]=\"true\">\n <sky-sort-item\n *ngFor=\"let item of sortSelectors | async\"\n [active]=\"item.selected\"\n (itemSelect)=\"setSort(item.sort)\"\n >\n {{ item.sort.text }}\n </sky-sort-item>\n </sky-sort>\n </div>\n</ng-template>\n\n<ng-template #inlineFilterButton>\n <sky-filter-button\n [active]=\"hasAppliedFilters | async\"\n [ariaControls]=\"filterButtonAriaControls\"\n [ariaExpanded]=\"inlineFilterBarExpanded\"\n [disabled]=\"isToolbarDisabled\"\n [filterButtonId]=\"filterButtonId\"\n [showButtonText]=\"true\"\n (filterButtonClick)=\"inlineFilterButtonClick()\"\n >\n </sky-filter-button>\n</ng-template>\n", styles: [".sky-list-toolbar-search-wrapper{display:flex}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-dismiss-absolute{padding:0;position:static}.sky-list-toolbar-search-wrapper ::ng-deep .sky-search-container{position:relative;height:100%}.sky-list-toolbar-search-wrapper ::ng-deep sky-search{flex:1 1 auto}.sky-list-toolbar-search-wrapper ::ng-deep sky-list-toolbar-search-actions{flex:0 0 auto;z-index:1}.sky-list-toolbar-container ::ng-deep .sky-toolbar-section-items sky-toolbar-item{flex:0 1 auto;align-self:flex-start}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section{padding-top:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-section-items{display:block;width:100%}.sky-list-toolbar-search ::ng-deep .sky-toolbar-item{margin:0}.sky-list-toolbar-search ::ng-deep .sky-toolbar-container,.sky-list-toolbar-search ::ng-deep .sky-search-dismiss-absolute{background-color:#eeeeef}.sky-list-toolbar-search ::ng-deep input[type=text]:disabled,.sky-list-toolbar-search ::ng-deep .sky-search-btn:disabled{background-color:#cdcfd2;opacity:1}.sky-list-toolbar-container ::ng-deep sky-toolbar-item[sky-toolbar-id=sort-selector] .sky-toolbar-item{margin-right:0}.sky-list-toolbar-container ::ng-deep sky-checkbox{position:relative;top:-2px}\n"] }]
2650
- }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: ListState }, { type: ListStateDispatcher }, { type: ListToolbarState }, { type: ListToolbarStateDispatcher }, { type: i3.SkyLogService }]; }, propDecorators: { inMemorySearchEnabled: [{
2651
- type: Input
2652
- }], placeholder: [{
2653
- type: Input
2654
- }], searchEnabled: [{
2655
- type: Input
2656
- }], searchComponent: [{
2657
- type: ViewChild,
2658
- args: [SkySearchComponent, {
2659
- read: SkySearchComponent,
2660
- static: false,
2661
- }]
2662
- }], sortSelectorEnabled: [{
2663
- type: Input
2664
- }], toolbarType: [{
2665
- type: Input
2666
- }], searchText: [{
2667
- type: Input
2668
- }], toolbarItems: [{
2669
- type: ContentChildren,
2670
- args: [SkyListToolbarItemComponent]
2671
- }], toolbarSorts: [{
2672
- type: ContentChildren,
2673
- args: [SkyListToolbarSortComponent]
2674
- }], filterSummary: [{
2675
- type: ContentChildren,
2676
- args: [SkyListFilterSummaryComponent]
2677
- }], inlineFilter: [{
2678
- type: ContentChildren,
2679
- args: [SkyListFilterInlineComponent]
2680
- }], viewActions: [{
2681
- type: ContentChildren,
2682
- args: [SkyListToolbarViewActionsComponent]
2683
- }], searchTemplate: [{
2684
- type: ViewChild,
2685
- args: ['search', {
2686
- read: TemplateRef,
2687
- static: true,
2688
- }]
2689
- }], sortSelectorTemplate: [{
2690
- type: ViewChild,
2691
- args: ['sortSelector', {
2692
- read: TemplateRef,
2693
- static: true,
2694
- }]
2695
- }], inlineFilterButtonTemplate: [{
2696
- type: ViewChild,
2697
- args: ['inlineFilterButton', {
2698
- read: TemplateRef,
2699
- static: true,
2700
- }]
2701
- }] } });
2702
-
2703
- /**
2704
- * @deprecated List builder and its features are deprecated. Use data manager instead. For more information, see https://developer.blackbaud.com/skyux/components/data-manager.
2705
- */
2706
- class SkyListToolbarModule {
2707
- }
2708
- SkyListToolbarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2709
- SkyListToolbarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarModule, declarations: [SkyListToolbarComponent,
2710
- SkyListToolbarItemComponent,
2711
- SkyListToolbarItemRendererComponent,
2712
- SkyListMultiselectToolbarComponent,
2713
- SkyListToolbarSearchActionsComponent,
2714
- SkyListToolbarSortComponent,
2715
- SkyListToolbarViewActionsComponent], imports: [CommonModule,
2716
- SkyCheckboxModule,
2717
- SkyI18nModule,
2718
- SkyToolbarModule,
2719
- SkySearchModule,
2720
- SkySortModule,
2721
- SkyFilterModule,
2722
- SkyListFiltersModule,
2723
- SkyIconModule,
2724
- SkyListBuilderResourcesModule], exports: [SkyListToolbarComponent,
2725
- SkyListToolbarItemComponent,
2726
- SkyListToolbarSearchActionsComponent,
2727
- SkyListToolbarSortComponent,
2728
- SkyListToolbarViewActionsComponent] });
2729
- SkyListToolbarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarModule, imports: [CommonModule,
2730
- SkyCheckboxModule,
2731
- SkyI18nModule,
2732
- SkyToolbarModule,
2733
- SkySearchModule,
2734
- SkySortModule,
2735
- SkyFilterModule,
2736
- SkyListFiltersModule,
2737
- SkyIconModule,
2738
- SkyListBuilderResourcesModule] });
2739
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: SkyListToolbarModule, decorators: [{
2740
- type: NgModule,
2741
- args: [{
2742
- declarations: [
2743
- SkyListToolbarComponent,
2744
- SkyListToolbarItemComponent,
2745
- SkyListToolbarItemRendererComponent,
2746
- SkyListMultiselectToolbarComponent,
2747
- SkyListToolbarSearchActionsComponent,
2748
- SkyListToolbarSortComponent,
2749
- SkyListToolbarViewActionsComponent,
2750
- ],
2751
- imports: [
2752
- CommonModule,
2753
- SkyCheckboxModule,
2754
- SkyI18nModule,
2755
- SkyToolbarModule,
2756
- SkySearchModule,
2757
- SkySortModule,
2758
- SkyFilterModule,
2759
- SkyListFiltersModule,
2760
- SkyIconModule,
2761
- SkyListBuilderResourcesModule,
2762
- ],
2763
- exports: [
2764
- SkyListToolbarComponent,
2765
- SkyListToolbarItemComponent,
2766
- SkyListToolbarSearchActionsComponent,
2767
- SkyListToolbarSortComponent,
2768
- SkyListToolbarViewActionsComponent,
2769
- ],
2770
- }]
2771
- }] });
2772
-
2773
- /**
2774
- * Generated bundle index. Do not edit.
2775
- */
2776
-
2777
- export { ListDataProvider, ListDataRequestModel, ListDataResponseModel, ListFilterModel, ListFiltersOrchestrator, ListFiltersUpdateAction, ListItemsLoadAction, ListItemsOrchestrator, ListItemsSetLoadingAction, ListItemsSetSelectedAction, ListPagingModel, ListPagingOrchestrator, ListPagingSetItemsPerPageAction, ListPagingSetMaxPagesAction, ListPagingSetPageNumberAction, ListSearchModel, ListSearchOrchestrator, ListSearchSetFieldSelectorsAction, ListSearchSetFunctionsAction, ListSearchSetOptionsAction, ListSearchSetSearchTextAction, ListSelectedLoadAction, ListSelectedModel, ListSelectedOrchestrator, ListSelectedSetItemSelectedAction, ListSelectedSetItemsSelectedAction, ListSelectedSetLoadingAction, ListSortLabelModel, ListSortModel, ListSortOrchestrator, ListSortSetAvailableAction, ListSortSetFieldSelectorsAction, ListSortSetGlobalAction, ListState, ListStateDispatcher, ListStateModel, ListStateOrchestrator, ListToolbarItemModel, ListToolbarItemsDisableAction, ListToolbarItemsLoadAction, ListToolbarItemsRemoveAction, ListToolbarModel, ListToolbarOrchestrator, ListToolbarSetExistsAction, ListToolbarSetTypeAction, ListToolbarShowMultiselectToolbarAction, ListViewComponent, ListViewModel, ListViewsLoadAction, ListViewsModel, ListViewsOrchestrator, ListViewsSetActiveAction, SkyListComponent, SkyListFilterInlineModel, SkyListFiltersModule, SkyListInMemoryDataProvider, SkyListModule, SkyListPagingModule, SkyListSecondaryActionsComponent, SkyListSecondaryActionsModule, SkyListToolbarComponent, SkyListToolbarModule, SkyListFilterButtonComponent as λ1, SkyListToolbarViewActionsComponent as λ10, SkyListToolbarSearchActionsComponent as λ11, SkyListFilterSummaryComponent as λ2, SkyListFilterInlineItemComponent as λ3, SkyListFilterInlineComponent as λ4, SkyListPagingComponent as λ5, SkyListSecondaryActionComponent as λ6, SkyListSecondaryActionsComponent as λ7, SkyListToolbarItemComponent as λ8, SkyListToolbarSortComponent as λ9 };
2778
- //# sourceMappingURL=skyux-list-builder.mjs.map