@skyux/list-builder 5.5.0 → 5.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/skyux-list-builder.umd.js +702 -701
- package/documentation.json +552 -789
- package/esm2015/lib/modules/list/list-data-request.model.js.map +1 -1
- package/esm2015/lib/modules/list/list-data.provider.js +3 -1
- package/esm2015/lib/modules/list/list-data.provider.js.map +1 -1
- package/esm2015/lib/modules/list/list-paging.component.js.map +1 -1
- package/esm2015/lib/modules/list/list-view.component.js +2 -1
- package/esm2015/lib/modules/list/list-view.component.js.map +1 -1
- package/esm2015/lib/modules/list/list.component.js +17 -17
- package/esm2015/lib/modules/list/list.component.js.map +1 -1
- package/esm2015/lib/modules/list/list.module.js +1 -1
- package/esm2015/lib/modules/list/list.module.js.map +1 -1
- package/esm2015/lib/modules/list/state/filters/filters.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js +5 -5
- package/esm2015/lib/modules/list/state/items/items.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/list-state-action.type.js.map +1 -1
- package/esm2015/lib/modules/list/state/list-state.model.js +1 -1
- package/esm2015/lib/modules/list/state/list-state.model.js.map +1 -1
- package/esm2015/lib/modules/list/state/list-state.rxstate.js +2 -2
- package/esm2015/lib/modules/list/state/list-state.rxstate.js.map +1 -1
- package/esm2015/lib/modules/list/state/list-state.state-node.js +4 -4
- package/esm2015/lib/modules/list/state/list-state.state-node.js.map +1 -1
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js +1 -1
- package/esm2015/lib/modules/list/state/paging/paging.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/search/search.model.js.map +1 -1
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js +2 -2
- package/esm2015/lib/modules/list/state/search/search.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/search/set-options.action.js.map +1 -1
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js +3 -3
- package/esm2015/lib/modules/list/state/selected/selected.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/sort/label.model.js.map +1 -1
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js +2 -2
- package/esm2015/lib/modules/list/state/sort/sort.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/toolbar/toolbar-item.model.js.map +1 -1
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js +3 -3
- package/esm2015/lib/modules/list/state/toolbar/toolbar.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js +1 -1
- package/esm2015/lib/modules/list/state/views/views.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js +12 -12
- package/esm2015/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.js.map +1 -1
- package/esm2015/lib/modules/list-filters/filter.model.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-button.component.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item-renderer.component.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline-item.component.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js +3 -3
- package/esm2015/lib/modules/list-filters/list-filter-inline.component.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-inline.model.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js +1 -1
- package/esm2015/lib/modules/list-filters/list-filter-summary.component.js.map +1 -1
- package/esm2015/lib/modules/list-filters/list-filters.module.js +3 -3
- package/esm2015/lib/modules/list-filters/list-filters.module.js.map +1 -1
- package/esm2015/lib/modules/list-paging/list-paging.component.js +3 -3
- package/esm2015/lib/modules/list-paging/list-paging.component.js.map +1 -1
- package/esm2015/lib/modules/list-paging/list-paging.module.js +2 -2
- package/esm2015/lib/modules/list-paging/list-paging.module.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js +3 -4
- package/esm2015/lib/modules/list-toolbar/list-multiselect-toolbar.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js +1 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions-host.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js +1 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js +2 -2
- package/esm2015/lib/modules/list-toolbar/list-secondary-actions/list-secondary-actions.module.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item-renderer.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar-item.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js +14 -14
- package/esm2015/lib/modules/list-toolbar/list-toolbar.component.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js +10 -10
- package/esm2015/lib/modules/list-toolbar/list-toolbar.module.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/state/config/config.model.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/state/config/config.orchestrator.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state-action.type.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.rxstate.js.map +1 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js +1 -1
- package/esm2015/lib/modules/list-toolbar/state/toolbar-state.state-node.js.map +1 -1
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js +1 -1
- package/esm2015/lib/modules/shared/sky-list-builder-resources.module.js.map +1 -1
- package/fesm2015/skyux-list-builder.js +645 -643
- package/fesm2015/skyux-list-builder.js.map +1 -1
- package/lib/modules/list/list-data.provider.d.ts +2 -1
- package/lib/modules/list/list-paging.component.d.ts +1 -1
- package/lib/modules/list/list-view.component.d.ts +1 -1
- package/lib/modules/list/list.component.d.ts +4 -4
- package/lib/modules/list/state/filters/filters.orchestrator.d.ts +1 -1
- package/lib/modules/list/state/list-state-action.type.d.ts +13 -13
- package/lib/modules/list/state/list-state.model.d.ts +1 -1
- package/lib/modules/list/state/search/set-options.action.d.ts +1 -1
- package/lib/modules/list-data-provider-in-memory/list-data-in-memory.provider.d.ts +2 -2
- package/lib/modules/list-filters/list-filter-inline-item-renderer.component.d.ts +1 -1
- package/lib/modules/list-filters/list-filter-inline-item.component.d.ts +1 -1
- package/lib/modules/list-filters/list-filter-inline.component.d.ts +1 -1
- package/lib/modules/list-filters/list-filter-inline.model.d.ts +1 -1
- package/lib/modules/list-filters/list-filter-summary.component.d.ts +1 -1
- package/lib/modules/list-paging/list-paging.component.d.ts +1 -1
- package/lib/modules/list-toolbar/list-multiselect-toolbar.component.d.ts +2 -2
- package/lib/modules/list-toolbar/list-toolbar-item-renderer.component.d.ts +1 -1
- package/lib/modules/list-toolbar/list-toolbar.component.d.ts +5 -5
- package/package.json +16 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-data-request.model.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-data-request.model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-data-request.model.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-data-request.model.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,oBAAoB;IA+B/B,YAAY,IAAU;QANtB;;;WAGG;QACI,sBAAiB,GAAG,KAAK,CAAC;QAG/B,IAAI,IAAI,KAAK,SAAS,EAAE;YACtB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;YAC5B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;YAC9B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC;SACjD;IACH,CAAC;CACF","sourcesContent":["import { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSortModel } from './state/sort/sort.model';\n\nexport class ListDataRequestModel {\n /**\n * Specifies a function to determine whether items are filtered.\n * This property is required when using an in-memory data provider.\n */\n public filters: ListFilterModel[];\n /**\n * Specifies the number of items to display per page.\n */\n public pageSize: number;\n /**\n * Specifies the current page number.\n */\n public pageNumber: number;\n /**\n * Specifies a function to dynamically manage the data source when users\n * change the text in the list field. The search function must return an\n * array or a promise of an array. The `search` property is particularly useful\n * when the data source does not live in the source code.\n */\n public search: ListSearchModel;\n /**\n * Specifies a set of fields to sort by.\n */\n public sort: ListSortModel;\n /**\n * Indicates whether to disable the search bar and filter button.\n * @default false\n */\n public isToolbarDisabled = false;\n\n constructor(data?: any) {\n if (data !== undefined) {\n this.filters = data.filters;\n this.pageSize = data.pageSize;\n this.pageNumber = data.pageNumber;\n this.search = data.search;\n this.sort = data.sort;\n this.isToolbarDisabled = data.isToolbarDisabled;\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-data.provider.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-data.provider.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAgB,gBAAgB;IACpC,
|
|
1
|
+
{"version":3,"file":"list-data.provider.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-data.provider.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,OAAgB,gBAAgB;IACpC,YAAmB,IAAwB;QAAxB,SAAI,GAAJ,IAAI,CAAoB;IAAG,CAAC;CAOhD","sourcesContent":["import { Observable } from 'rxjs';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\n\n/**\n * @internal\n */\nexport abstract class ListDataProvider {\n constructor(public data?: Observable<any[]>) {}\n\n public abstract get(\n request: ListDataRequestModel\n ): Observable<ListDataResponseModel>;\n\n public abstract count(): Observable<number>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-paging.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-paging.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAKvC;;;GAGG;AACH,MAAM,OAAgB,mBAAmB;IAKvC,YAAY,KAAgB,EAAE,UAA+B;QAJnD,gBAAW,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAK3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF","sourcesContent":["import { BehaviorSubject } from 'rxjs';\n\nimport {
|
|
1
|
+
{"version":3,"file":"list-paging.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-paging.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,MAAM,CAAC;AAKvC;;;GAGG;AACH,MAAM,OAAgB,mBAAmB;IAKvC,YAAY,KAAgB,EAAE,UAA+B;QAJnD,gBAAW,GAA6B,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;QAK3E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;CACF","sourcesContent":["import { BehaviorSubject } from 'rxjs';\n\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\n\n/**\n * Provides a SKY UX-themed pagination control to display list data across multiple pages.\n * @internal\n */\nexport abstract class ListPagingComponent {\n protected initialized: BehaviorSubject<boolean> = new BehaviorSubject(false);\n protected state: ListState;\n protected dispatcher: ListStateDispatcher;\n\n constructor(state: ListState, dispatcher: ListStateDispatcher) {\n this.state = state;\n this.dispatcher = dispatcher;\n }\n}\n"]}
|
|
@@ -21,8 +21,9 @@ export class ListViewComponent {
|
|
|
21
21
|
get label() {
|
|
22
22
|
return this.viewName;
|
|
23
23
|
}
|
|
24
|
-
|
|
24
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
25
25
|
onViewActive() { }
|
|
26
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
26
27
|
onViewInactive() { }
|
|
27
28
|
}
|
|
28
29
|
//# sourceMappingURL=list-view.component.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-view.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-view.component.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-view.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list-view.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,GAAG,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAM5E,IAAI,OAAO,GAAG,CAAC,CAAC;AAEhB;;GAEG;AACH,MAAM,OAAgB,iBAAiB;IASrC,YAAY,KAAgB,EAAE,WAAmB;QAFzC,WAAM,GAAG,qBAAqB,EAAE,OAAO,EAAE,CAAC;QAGhD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAE5B,0BAA0B;QAC1B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAC3B,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,CAAC,CACrD,CAAC;QAEF,IAAI,CAAC,MAAM;aACR,IAAI,CAAC,oBAAoB,EAAE,CAAC;aAC5B,SAAS,CAAC,CAAC,QAAQ,EAAE,EAAE,CACtB,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,EAAE,CACvD,CAAC;IACN,CAAC;IAED,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,gEAAgE;IACzD,YAAY,KAAI,CAAC;IACxB,gEAAgE;IACzD,cAAc,KAAI,CAAC;CAC3B","sourcesContent":["import { Observable } from 'rxjs';\nimport { distinctUntilChanged, map as observableMap } from 'rxjs/operators';\n\nimport { SkyListComponent } from '../list/list.component';\n\nimport { ListState } from './state/list-state.state-node';\n\nlet idIndex = 0;\n\n/**\n * @internal\n */\nexport abstract class ListViewComponent {\n public active: Observable<boolean>;\n\n protected viewName: string;\n protected state: ListState;\n protected list: SkyListComponent;\n protected hasToolbar: Observable<boolean>;\n private viewId = `sky-list-view-cmp-${++idIndex}`;\n\n constructor(state: ListState, defaultName: string) {\n this.state = state;\n this.viewName = defaultName;\n\n /* istanbul ignore next */\n this.hasToolbar = this.state.pipe(observableMap((s) => s.toolbar.exists));\n\n this.active = this.state.pipe(\n observableMap((s) => s.views.active === this.viewId)\n );\n\n this.active\n .pipe(distinctUntilChanged())\n .subscribe((isActive) =>\n isActive ? this.onViewActive() : this.onViewInactive()\n );\n }\n\n get id() {\n return this.viewId;\n }\n\n get label() {\n return this.viewName;\n }\n\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewActive() {}\n // eslint-disable-next-line @typescript-eslint/no-empty-function\n public onViewInactive() {}\n}\n"]}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { combineLatest as observableCombineLatest, of as observableOf, Subject, } from 'rxjs';
|
|
2
|
-
import { distinctUntilChanged, flatMap, map as observableMap, skip, take, takeUntil, } from 'rxjs/operators';
|
|
3
1
|
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, } from '@angular/core';
|
|
4
2
|
import { getValue } from '@skyux/list-builder-common';
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import { ListSortModel } from './state/sort/sort.model';
|
|
10
|
-
import { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';
|
|
3
|
+
import { ListItemModel, isObservable, } from '@skyux/list-builder-common';
|
|
4
|
+
import { Subject, combineLatest as observableCombineLatest, of as observableOf, } from 'rxjs';
|
|
5
|
+
import { distinctUntilChanged, flatMap, map as observableMap, skip, take, takeUntil, } from 'rxjs/operators';
|
|
6
|
+
import { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';
|
|
11
7
|
import { ListDataRequestModel } from './list-data-request.model';
|
|
12
8
|
import { ListDataResponseModel } from './list-data-response.model';
|
|
13
9
|
import { ListDataProvider } from './list-data.provider';
|
|
14
|
-
import { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';
|
|
15
|
-
import { ListState } from './state/list-state.state-node';
|
|
16
|
-
import { ListStateDispatcher } from './state/list-state.rxstate';
|
|
17
|
-
import { isObservable, ListItemModel, } from '@skyux/list-builder-common';
|
|
18
10
|
import { ListViewComponent } from './list-view.component';
|
|
11
|
+
import { ListItemsLoadAction } from './state/items/load.action';
|
|
12
|
+
import { ListItemsSetLoadingAction } from './state/items/set-loading.action';
|
|
13
|
+
import { ListStateDispatcher } from './state/list-state.rxstate';
|
|
14
|
+
import { ListState } from './state/list-state.state-node';
|
|
19
15
|
import { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';
|
|
16
|
+
import { ListSelectedLoadAction } from './state/selected/load.action';
|
|
17
|
+
import { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';
|
|
18
|
+
import { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';
|
|
19
|
+
import { ListSortModel } from './state/sort/sort.model';
|
|
20
20
|
import { ListViewsLoadAction } from './state/views/load.action';
|
|
21
21
|
import { ListViewsSetActiveAction } from './state/views/set-active.action';
|
|
22
22
|
import { ListViewModel } from './state/views/view.model';
|
|
@@ -63,7 +63,7 @@ export class SkyListComponent {
|
|
|
63
63
|
this.dataFirstLoad = true;
|
|
64
64
|
}
|
|
65
65
|
if (this.listViews.length > 0) {
|
|
66
|
-
|
|
66
|
+
const defaultView = this.defaultView === undefined
|
|
67
67
|
? this.listViews.first
|
|
68
68
|
: this.defaultView;
|
|
69
69
|
this.dispatcher.next(new ListViewsLoadAction(this.listViews.map((v) => new ListViewModel(v.id, v.label))));
|
|
@@ -93,7 +93,7 @@ export class SkyListComponent {
|
|
|
93
93
|
.pipe(observableMap((current) => current.selected), takeUntil(this.ngUnsubscribe), distinctUntilChanged())
|
|
94
94
|
.subscribe((selected) => {
|
|
95
95
|
// Update lastSelectedIds to help us retain user selections.
|
|
96
|
-
|
|
96
|
+
const selectedIdsList = [];
|
|
97
97
|
selected.item.selectedIdMap.forEach((value, key) => {
|
|
98
98
|
if (value === true) {
|
|
99
99
|
selectedIdsList.push(key);
|
|
@@ -171,7 +171,7 @@ export class SkyListComponent {
|
|
|
171
171
|
// This subject is used to cancel previous request to the list's data provider when a new change
|
|
172
172
|
// to the list's state occurs. In a future breaking change this should be replaced or coupled
|
|
173
173
|
// with adding a debounce time to the Observable which watches for state changes.
|
|
174
|
-
|
|
174
|
+
const cancelLastRequest = new Subject();
|
|
175
175
|
return observableCombineLatest([
|
|
176
176
|
this.state.pipe(observableMap((s) => s.filters), distinctUntilChanged()),
|
|
177
177
|
this.state.pipe(observableMap((s) => s.search), distinctUntilChanged()),
|
|
@@ -196,7 +196,7 @@ export class SkyListComponent {
|
|
|
196
196
|
let response;
|
|
197
197
|
if (this.dataFirstLoad) {
|
|
198
198
|
this.dataFirstLoad = false;
|
|
199
|
-
|
|
199
|
+
const initialItems = itemsData.map((d) => new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d));
|
|
200
200
|
response = observableOf(new ListDataResponseModel({
|
|
201
201
|
count: this.initialTotal,
|
|
202
202
|
items: initialItems,
|
|
@@ -242,7 +242,7 @@ export class SkyListComponent {
|
|
|
242
242
|
return this.dataProvider.count();
|
|
243
243
|
}
|
|
244
244
|
getItemsAndRetainSelections(newList, selectedIds) {
|
|
245
|
-
|
|
245
|
+
const updatedListModel = newList.slice();
|
|
246
246
|
updatedListModel.forEach((item) => {
|
|
247
247
|
item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;
|
|
248
248
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n combineLatest as observableCombineLatest,\n Observable,\n of as observableOf,\n Subject,\n} from 'rxjs';\n\nimport {\n distinctUntilChanged,\n flatMap,\n map as observableMap,\n skip,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n Output,\n OnChanges,\n OnDestroy,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\n\nimport { AsyncItem, getValue } from '@skyux/list-builder-common';\n\nimport { ListItemsLoadAction } from './state/items/load.action';\n\nimport { ListItemsSetLoadingAction } from './state/items/set-loading.action';\n\nimport { ListSelectedLoadAction } from './state/selected/load.action';\n\nimport { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';\n\nimport { ListSelectedModel } from './state/selected/selected.model';\n\nimport { ListSortModel } from './state/sort/sort.model';\n\nimport { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';\n\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListDataRequestModel } from './list-data-request.model';\n\nimport { ListDataResponseModel } from './list-data-response.model';\n\nimport { ListDataProvider } from './list-data.provider';\n\nimport { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';\n\nimport { ListState } from './state/list-state.state-node';\n\nimport { ListStateDispatcher } from './state/list-state.rxstate';\n\nimport {\n isObservable,\n ListItemModel,\n ListSortFieldSelectorModel,\n} from '@skyux/list-builder-common';\n\nimport { ListViewComponent } from './list-view.component';\n\nimport { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';\n\nimport { ListSearchModel } from './state/search/search.model';\n\nimport { ListViewsLoadAction } from './state/views/load.action';\n\nimport { ListViewsSetActiveAction } from './state/views/set-active.action';\n\nimport { ListViewModel } from './state/views/view.model';\n\nlet idIndex = 0;\n\n@Component({\n selector: 'sky-list',\n template: '<ng-content></ng-content>',\n providers: [ListState, ListStateDispatcher],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListComponent\n implements AfterContentInit, OnChanges, OnDestroy\n{\n public id: string = `sky-list-cmp-${++idIndex}`;\n /**\n * Specifies the data to display. The list component requires this property or the\n * `dataProvider` property. For checklist or multiselect grids, each row requires an\n * `id` property to manage selected items with the `selectedIds` input and the\n * `selectedIdsChange` event. If you do not provide an `id`, the list automatically\n * generates one. To update data in your view outside of a `dataProvider`, you must use\n * an observable instead of a static array.\n */\n @Input()\n public data?: Array<any> | Observable<Array<any>> = [];\n\n /**\n * Specifies a data provider to obtain the data to display. The list component requires\n * this property or the `data` property. For lists that use `dataProvider` instead of `data`,\n * consumers are responsible for managing all `ListDataRequestModel` properties.\n * @default SkyListInMemoryDataProvider\n */\n @Input()\n public dataProvider?: ListDataProvider;\n\n /**\n * @internal\n */\n @Input()\n public defaultView?: ListViewComponent;\n\n /**\n * Specifies the total number of items for the initial data set when initialized. When\n * used in conjunction with `data` and `dataProvider`, it allows an initial data to be\n * set with the need to call the `dataProvider`.\n */\n @Input()\n public initialTotal?: number;\n\n /**\n * Specifies a set of IDs for the items to select in a checklist or multiselect grid.\n * The IDs match the `id` properties of the `data` objects. Items with IDs that are not\n * included are de-selected in the checklist or multiselect grid.\n */\n @Input()\n public selectedIds?: Array<string> | Observable<Array<string>>;\n\n /**\n * Specifies a set of fields to sort by. If array of fields then sorted by order of array.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n @Input()\n public sortFields?:\n | ListSortFieldSelectorModel\n | Array<ListSortFieldSelectorModel>\n | Observable<Array<ListSortFieldSelectorModel>>\n | Observable<ListSortFieldSelectorModel>;\n\n /**\n * Specifies a set of filters to apply to list data.\n * These filters create a filter summary when the list includes the\n * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)\n * component.\n */\n @Input()\n public appliedFilters: Array<ListFilterModel> = [];\n\n /**\n * For list views that support item selection, emits the selected entries.\n */\n @Output()\n public selectedIdsChange = new EventEmitter<Map<string, boolean>>();\n\n /**\n * Emits the filters applied to the list.\n */\n @Output()\n public appliedFiltersChange = new EventEmitter<Array<ListFilterModel>>();\n\n /**\n * Specifies a function to apply as a global sort on the list.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('search')\n public searchFunction: (data: any, searchText: string) => boolean;\n\n private dataFirstLoad: boolean = false;\n\n @ContentChildren(ListViewComponent)\n private listViews: QueryList<ListViewComponent>;\n\n private lastSelectedIds: string[] = [];\n\n private lastFilters: ListFilterModel[] = [];\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher\n ) {}\n\n public ngAfterContentInit(): void {\n if (this.data && this.dataProvider && this.initialTotal) {\n this.dataFirstLoad = true;\n }\n\n if (this.listViews.length > 0) {\n let defaultView: ListViewComponent =\n this.defaultView === undefined\n ? this.listViews.first\n : this.defaultView;\n\n this.dispatcher.next(\n new ListViewsLoadAction(\n this.listViews.map((v) => new ListViewModel(v.id, v.label))\n )\n );\n\n // activate the default view\n this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));\n } else {\n return;\n }\n\n // set sort fields\n getValue(\n this.sortFields,\n (\n sortFields: ListSortFieldSelectorModel[] | ListSortFieldSelectorModel\n ) => {\n let sortArray: ListSortFieldSelectorModel[];\n if (!Array.isArray(sortFields) && sortFields) {\n sortArray = [sortFields];\n } else {\n sortArray = sortFields as ListSortFieldSelectorModel[];\n }\n this.dispatcher.next(\n new ListSortSetFieldSelectorsAction(sortArray || [])\n );\n }\n );\n\n this.displayedItems.subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count)\n );\n });\n\n // Watch for selection changes.\n this.state\n .pipe(\n observableMap((current) => current.selected),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged()\n )\n .subscribe((selected) => {\n // Update lastSelectedIds to help us retain user selections.\n let selectedIdsList: string[] = [];\n selected.item.selectedIdMap.forEach((value, key) => {\n if (value === true) {\n selectedIdsList.push(key);\n }\n });\n\n // If changes are distinct, emit selectedIdsChange.\n const distinctChanges = !this.arraysEqual(\n this.lastSelectedIds,\n selectedIdsList\n );\n if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {\n this.selectedIdsChange.emit(selected.item.selectedIdMap);\n }\n\n this.lastSelectedIds = selectedIdsList;\n });\n\n if (this.appliedFiltersChange.observers.length > 0) {\n this.state\n .pipe(\n observableMap((current) => current.filters),\n takeUntil(this.ngUnsubscribe),\n skip(1)\n )\n .subscribe((filters) => {\n /**\n * We are doing this instead of a distinctUntilChange due to memory allocation issues\n * with the javascript array. To fix fully the array should be changed to an object in\n * a breaking change.\n */\n if (!this.arraysEqual(filters, this.lastFilters)) {\n this.lastFilters = filters.slice(0);\n this.appliedFiltersChange.emit(filters);\n }\n });\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['appliedFilters'] &&\n changes['appliedFilters'].currentValue !==\n changes['appliedFilters'].previousValue\n ) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(this.appliedFilters);\n });\n }\n if (changes['selectedIds']) {\n // Only send selection changes to dispatcher if changes are distinct.\n const newSelectedIds = changes['selectedIds'].currentValue;\n if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {\n this.dispatcher.setSelected(newSelectedIds, true, true);\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public refreshDisplayedItems(): void {\n this.displayedItems.pipe(take(1)).subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count)\n );\n });\n }\n\n get displayedItems(): Observable<ListDataResponseModel> {\n if (!this.data && !this.dataProvider) {\n throw new Error('List requires data or dataProvider to be set.');\n }\n\n let data: any = this.data;\n if (!isObservable(data)) {\n data = observableOf(this.data);\n }\n\n if (!this.dataProvider) {\n this.dataProvider = new SkyListInMemoryDataProvider(\n data,\n this.searchFunction\n );\n }\n\n let selectedIds = this.selectedIds || observableOf([]);\n if (!isObservable(selectedIds)) {\n selectedIds = observableOf(selectedIds);\n }\n\n let selectedChanged: boolean = false;\n\n // This subject is used to cancel previous request to the list's data provider when a new change\n // to the list's state occurs. In a future breaking change this should be replaced or coupled\n // with adding a debounce time to the Observable which watches for state changes.\n let cancelLastRequest = new Subject();\n\n return observableCombineLatest(\n [\n this.state.pipe(\n observableMap((s) => s.filters),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.search),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.toolbar.disabled),\n distinctUntilChanged()\n ),\n selectedIds.pipe(\n distinctUntilChanged(),\n observableMap((selected) => {\n selectedChanged = true;\n return selected;\n })\n ),\n data.pipe(distinctUntilChanged()),\n ],\n (\n filters: ListFilterModel[],\n search: ListSearchModel,\n sortFieldSelectors: Array<ListSortFieldSelectorModel>,\n itemsPerPage: number,\n pageNumber: number,\n isToolbarDisabled: boolean,\n selected: Array<string>,\n itemsData: Array<any>\n ) => {\n cancelLastRequest.next();\n cancelLastRequest.complete();\n if (selectedChanged) {\n this.dispatcher.next(new ListSelectedSetLoadingAction());\n this.dispatcher.next(new ListSelectedLoadAction(selected));\n this.dispatcher.next(new ListSelectedSetLoadingAction(false));\n selectedChanged = false;\n }\n\n let response: Observable<ListDataResponseModel>;\n if (this.dataFirstLoad) {\n this.dataFirstLoad = false;\n let initialItems = itemsData.map(\n (d) =>\n new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d)\n );\n response = observableOf(\n new ListDataResponseModel({\n count: this.initialTotal,\n items: initialItems,\n })\n ).pipe(takeUntil(cancelLastRequest));\n } else {\n response = this.dataProvider\n .get(\n new ListDataRequestModel({\n filters: filters,\n pageSize: itemsPerPage,\n pageNumber: pageNumber,\n search: search,\n sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),\n isToolbarDisabled: isToolbarDisabled,\n })\n )\n .pipe(takeUntil(cancelLastRequest));\n }\n\n return response;\n }\n ).pipe(\n takeUntil(this.ngUnsubscribe),\n\n // Retain user selections from previous state.\n // This is only necessary for grids component (based on item.isSelected).\n observableMap((response) => {\n return response.pipe(\n observableMap((listDataResponseModel) => {\n return new ListDataResponseModel({\n count: listDataResponseModel.count,\n items: this.getItemsAndRetainSelections(\n listDataResponseModel.items,\n this.lastSelectedIds\n ),\n });\n })\n );\n }),\n flatMap((value) => value)\n );\n }\n\n public get selectedItems(): Observable<Array<ListItemModel>> {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((current) => current.items.items),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((current) => current.selected),\n distinctUntilChanged()\n ),\n (items: Array<ListItemModel>, selected: AsyncItem<ListSelectedModel>) => {\n return items.filter((i) => selected.item.selectedIdMap.get(i.id));\n }\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n public get lastUpdate(): Observable<Date> {\n return this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) =>\n s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined\n )\n );\n }\n\n public get views(): Array<ListViewComponent> {\n return this.listViews.toArray();\n }\n\n public get itemCount(): Observable<number> {\n return this.dataProvider.count();\n }\n\n private getItemsAndRetainSelections(\n newList: ListItemModel[],\n selectedIds: string[]\n ): ListItemModel[] {\n let updatedListModel = newList.slice();\n updatedListModel.forEach((item) => {\n item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;\n });\n return updatedListModel;\n }\n\n private arraysEqual(arrayA: any[], arrayB: any[]): boolean {\n /* istanbul ignore next */\n if (arrayA === arrayB) {\n return true;\n }\n if (arrayA === undefined || arrayB === undefined) {\n return false;\n }\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n for (let i = 0; i < arrayA.length; ++i) {\n if (arrayA[i] !== arrayB[i]) {\n return false;\n }\n }\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"list.component.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list.component.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n AfterContentInit,\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n EventEmitter,\n Input,\n OnChanges,\n OnDestroy,\n Output,\n QueryList,\n SimpleChanges,\n} from '@angular/core';\nimport { AsyncItem, getValue } from '@skyux/list-builder-common';\nimport {\n ListItemModel,\n ListSortFieldSelectorModel,\n isObservable,\n} from '@skyux/list-builder-common';\n\nimport {\n Observable,\n Subject,\n combineLatest as observableCombineLatest,\n of as observableOf,\n} from 'rxjs';\nimport {\n distinctUntilChanged,\n flatMap,\n map as observableMap,\n skip,\n take,\n takeUntil,\n} from 'rxjs/operators';\n\nimport { SkyListInMemoryDataProvider } from '../list-data-provider-in-memory/list-data-in-memory.provider';\nimport { ListFilterModel } from '../list-filters/filter.model';\n\nimport { ListDataRequestModel } from './list-data-request.model';\nimport { ListDataResponseModel } from './list-data-response.model';\nimport { ListDataProvider } from './list-data.provider';\nimport { ListViewComponent } from './list-view.component';\nimport { ListItemsLoadAction } from './state/items/load.action';\nimport { ListItemsSetLoadingAction } from './state/items/set-loading.action';\nimport { ListStateDispatcher } from './state/list-state.rxstate';\nimport { ListState } from './state/list-state.state-node';\nimport { ListPagingSetPageNumberAction } from './state/paging/set-page-number.action';\nimport { ListSearchModel } from './state/search/search.model';\nimport { ListSelectedLoadAction } from './state/selected/load.action';\nimport { ListSelectedModel } from './state/selected/selected.model';\nimport { ListSelectedSetLoadingAction } from './state/selected/set-loading.action';\nimport { ListSortSetFieldSelectorsAction } from './state/sort/set-field-selectors.action';\nimport { ListSortModel } from './state/sort/sort.model';\nimport { ListViewsLoadAction } from './state/views/load.action';\nimport { ListViewsSetActiveAction } from './state/views/set-active.action';\nimport { ListViewModel } from './state/views/view.model';\n\nlet idIndex = 0;\n\n@Component({\n selector: 'sky-list',\n template: '<ng-content></ng-content>',\n providers: [ListState, ListStateDispatcher],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyListComponent\n implements AfterContentInit, OnChanges, OnDestroy\n{\n public id = `sky-list-cmp-${++idIndex}`;\n /**\n * Specifies the data to display. The list component requires this property or the\n * `dataProvider` property. For checklist or multiselect grids, each row requires an\n * `id` property to manage selected items with the `selectedIds` input and the\n * `selectedIdsChange` event. If you do not provide an `id`, the list automatically\n * generates one. To update data in your view outside of a `dataProvider`, you must use\n * an observable instead of a static array.\n */\n @Input()\n public data?: Array<any> | Observable<Array<any>> = [];\n\n /**\n * Specifies a data provider to obtain the data to display. The list component requires\n * this property or the `data` property. For lists that use `dataProvider` instead of `data`,\n * consumers are responsible for managing all `ListDataRequestModel` properties.\n * @default SkyListInMemoryDataProvider\n */\n @Input()\n public dataProvider?: ListDataProvider;\n\n /**\n * @internal\n */\n @Input()\n public defaultView?: ListViewComponent;\n\n /**\n * Specifies the total number of items for the initial data set when initialized. When\n * used in conjunction with `data` and `dataProvider`, it allows an initial data to be\n * set with the need to call the `dataProvider`.\n */\n @Input()\n public initialTotal?: number;\n\n /**\n * Specifies a set of IDs for the items to select in a checklist or multiselect grid.\n * The IDs match the `id` properties of the `data` objects. Items with IDs that are not\n * included are de-selected in the checklist or multiselect grid.\n */\n @Input()\n public selectedIds?: Array<string> | Observable<Array<string>>;\n\n /**\n * Specifies a set of fields to sort by. If array of fields then sorted by order of array.\n * For information about `ListSortFieldSelectorModel`, see the\n * [shared classes for lists](https://developer.blackbaud.com/skyux-list-builder-common/docs/list-builder-common).\n */\n @Input()\n public sortFields?:\n | ListSortFieldSelectorModel\n | Array<ListSortFieldSelectorModel>\n | Observable<Array<ListSortFieldSelectorModel>>\n | Observable<ListSortFieldSelectorModel>;\n\n /**\n * Specifies a set of filters to apply to list data.\n * These filters create a filter summary when the list includes the\n * [`sky-list-filter-summary`](https://developer.blackbaud.com/skyux/components/list/filters)\n * component.\n */\n @Input()\n public appliedFilters: Array<ListFilterModel> = [];\n\n /**\n * For list views that support item selection, emits the selected entries.\n */\n @Output()\n public selectedIdsChange = new EventEmitter<Map<string, boolean>>();\n\n /**\n * Emits the filters applied to the list.\n */\n @Output()\n public appliedFiltersChange = new EventEmitter<Array<ListFilterModel>>();\n\n /**\n * Specifies a function to apply as a global sort on the list.\n */\n // eslint-disable-next-line @angular-eslint/no-input-rename\n @Input('search')\n public searchFunction: (data: any, searchText: string) => boolean;\n\n private dataFirstLoad = false;\n\n @ContentChildren(ListViewComponent)\n private listViews: QueryList<ListViewComponent>;\n\n private lastSelectedIds: string[] = [];\n\n private lastFilters: ListFilterModel[] = [];\n\n private ngUnsubscribe = new Subject();\n\n constructor(\n private state: ListState,\n private dispatcher: ListStateDispatcher\n ) {}\n\n public ngAfterContentInit(): void {\n if (this.data && this.dataProvider && this.initialTotal) {\n this.dataFirstLoad = true;\n }\n\n if (this.listViews.length > 0) {\n const defaultView: ListViewComponent =\n this.defaultView === undefined\n ? this.listViews.first\n : this.defaultView;\n\n this.dispatcher.next(\n new ListViewsLoadAction(\n this.listViews.map((v) => new ListViewModel(v.id, v.label))\n )\n );\n\n // activate the default view\n this.dispatcher.next(new ListViewsSetActiveAction(defaultView.id));\n } else {\n return;\n }\n\n // set sort fields\n getValue(\n this.sortFields,\n (\n sortFields: ListSortFieldSelectorModel[] | ListSortFieldSelectorModel\n ) => {\n let sortArray: ListSortFieldSelectorModel[];\n if (!Array.isArray(sortFields) && sortFields) {\n sortArray = [sortFields];\n } else {\n sortArray = sortFields as ListSortFieldSelectorModel[];\n }\n this.dispatcher.next(\n new ListSortSetFieldSelectorsAction(sortArray || [])\n );\n }\n );\n\n this.displayedItems.subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count)\n );\n });\n\n // Watch for selection changes.\n this.state\n .pipe(\n observableMap((current) => current.selected),\n takeUntil(this.ngUnsubscribe),\n distinctUntilChanged()\n )\n .subscribe((selected) => {\n // Update lastSelectedIds to help us retain user selections.\n const selectedIdsList: string[] = [];\n selected.item.selectedIdMap.forEach((value, key) => {\n if (value === true) {\n selectedIdsList.push(key);\n }\n });\n\n // If changes are distinct, emit selectedIdsChange.\n const distinctChanges = !this.arraysEqual(\n this.lastSelectedIds,\n selectedIdsList\n );\n if (this.selectedIdsChange.observers.length > 0 && distinctChanges) {\n this.selectedIdsChange.emit(selected.item.selectedIdMap);\n }\n\n this.lastSelectedIds = selectedIdsList;\n });\n\n if (this.appliedFiltersChange.observers.length > 0) {\n this.state\n .pipe(\n observableMap((current) => current.filters),\n takeUntil(this.ngUnsubscribe),\n skip(1)\n )\n .subscribe((filters) => {\n /**\n * We are doing this instead of a distinctUntilChange due to memory allocation issues\n * with the javascript array. To fix fully the array should be changed to an object in\n * a breaking change.\n */\n if (!this.arraysEqual(filters, this.lastFilters)) {\n this.lastFilters = filters.slice(0);\n this.appliedFiltersChange.emit(filters);\n }\n });\n }\n }\n\n public ngOnChanges(changes: SimpleChanges): void {\n if (\n changes['appliedFilters'] &&\n changes['appliedFilters'].currentValue !==\n changes['appliedFilters'].previousValue\n ) {\n this.state.pipe(take(1)).subscribe((currentState) => {\n if (\n currentState.paging.pageNumber &&\n currentState.paging.pageNumber !== 1\n ) {\n this.dispatcher.next(new ListPagingSetPageNumberAction(Number(1)));\n }\n\n this.dispatcher.filtersUpdate(this.appliedFilters);\n });\n }\n if (changes['selectedIds']) {\n // Only send selection changes to dispatcher if changes are distinct.\n const newSelectedIds = changes['selectedIds'].currentValue;\n if (!this.arraysEqual(newSelectedIds, this.lastSelectedIds)) {\n this.dispatcher.setSelected(newSelectedIds, true, true);\n }\n }\n }\n\n public ngOnDestroy(): void {\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n\n public refreshDisplayedItems(): void {\n this.displayedItems.pipe(take(1)).subscribe((result) => {\n this.dispatcher.next(new ListItemsSetLoadingAction());\n this.dispatcher.next(\n new ListItemsLoadAction(result.items, true, true, result.count)\n );\n });\n }\n\n get displayedItems(): Observable<ListDataResponseModel> {\n if (!this.data && !this.dataProvider) {\n throw new Error('List requires data or dataProvider to be set.');\n }\n\n let data: any = this.data;\n if (!isObservable(data)) {\n data = observableOf(this.data);\n }\n\n if (!this.dataProvider) {\n this.dataProvider = new SkyListInMemoryDataProvider(\n data,\n this.searchFunction\n );\n }\n\n let selectedIds = this.selectedIds || observableOf([]);\n if (!isObservable(selectedIds)) {\n selectedIds = observableOf(selectedIds);\n }\n\n let selectedChanged = false;\n\n // This subject is used to cancel previous request to the list's data provider when a new change\n // to the list's state occurs. In a future breaking change this should be replaced or coupled\n // with adding a debounce time to the Observable which watches for state changes.\n const cancelLastRequest = new Subject();\n\n return observableCombineLatest(\n [\n this.state.pipe(\n observableMap((s) => s.filters),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.search),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.sort.fieldSelectors),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.paging.itemsPerPage),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.paging.pageNumber),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((s) => s.toolbar.disabled),\n distinctUntilChanged()\n ),\n selectedIds.pipe(\n distinctUntilChanged(),\n observableMap((selected) => {\n selectedChanged = true;\n return selected;\n })\n ),\n data.pipe(distinctUntilChanged()),\n ],\n (\n filters: ListFilterModel[],\n search: ListSearchModel,\n sortFieldSelectors: Array<ListSortFieldSelectorModel>,\n itemsPerPage: number,\n pageNumber: number,\n isToolbarDisabled: boolean,\n selected: Array<string>,\n itemsData: Array<any>\n ) => {\n cancelLastRequest.next();\n cancelLastRequest.complete();\n if (selectedChanged) {\n this.dispatcher.next(new ListSelectedSetLoadingAction());\n this.dispatcher.next(new ListSelectedLoadAction(selected));\n this.dispatcher.next(new ListSelectedSetLoadingAction(false));\n selectedChanged = false;\n }\n\n let response: Observable<ListDataResponseModel>;\n if (this.dataFirstLoad) {\n this.dataFirstLoad = false;\n const initialItems = itemsData.map(\n (d) =>\n new ListItemModel(d.id || `sky-list-item-model-${++idIndex}`, d)\n );\n response = observableOf(\n new ListDataResponseModel({\n count: this.initialTotal,\n items: initialItems,\n })\n ).pipe(takeUntil(cancelLastRequest));\n } else {\n response = this.dataProvider\n .get(\n new ListDataRequestModel({\n filters: filters,\n pageSize: itemsPerPage,\n pageNumber: pageNumber,\n search: search,\n sort: new ListSortModel({ fieldSelectors: sortFieldSelectors }),\n isToolbarDisabled: isToolbarDisabled,\n })\n )\n .pipe(takeUntil(cancelLastRequest));\n }\n\n return response;\n }\n ).pipe(\n takeUntil(this.ngUnsubscribe),\n\n // Retain user selections from previous state.\n // This is only necessary for grids component (based on item.isSelected).\n observableMap((response) => {\n return response.pipe(\n observableMap((listDataResponseModel) => {\n return new ListDataResponseModel({\n count: listDataResponseModel.count,\n items: this.getItemsAndRetainSelections(\n listDataResponseModel.items,\n this.lastSelectedIds\n ),\n });\n })\n );\n }),\n flatMap((value) => value)\n );\n }\n\n public get selectedItems(): Observable<Array<ListItemModel>> {\n return observableCombineLatest(\n this.state.pipe(\n observableMap((current) => current.items.items),\n distinctUntilChanged()\n ),\n this.state.pipe(\n observableMap((current) => current.selected),\n distinctUntilChanged()\n ),\n (items: Array<ListItemModel>, selected: AsyncItem<ListSelectedModel>) => {\n return items.filter((i) => selected.item.selectedIdMap.get(i.id));\n }\n ).pipe(takeUntil(this.ngUnsubscribe));\n }\n\n public get lastUpdate(): Observable<Date> {\n return this.state.pipe(\n takeUntil(this.ngUnsubscribe),\n observableMap((s) =>\n s.items.lastUpdate ? new Date(s.items.lastUpdate) : undefined\n )\n );\n }\n\n public get views(): Array<ListViewComponent> {\n return this.listViews.toArray();\n }\n\n public get itemCount(): Observable<number> {\n return this.dataProvider.count();\n }\n\n private getItemsAndRetainSelections(\n newList: ListItemModel[],\n selectedIds: string[]\n ): ListItemModel[] {\n const updatedListModel = newList.slice();\n updatedListModel.forEach((item) => {\n item.isSelected = selectedIds.indexOf(item.id) > -1 ? true : false;\n });\n return updatedListModel;\n }\n\n private arraysEqual(arrayA: any[], arrayB: any[]): boolean {\n /* istanbul ignore next */\n if (arrayA === arrayB) {\n return true;\n }\n if (arrayA === undefined || arrayB === undefined) {\n return false;\n }\n if (arrayA.length !== arrayB.length) {\n return false;\n }\n for (let i = 0; i < arrayA.length; ++i) {\n if (arrayA[i] !== arrayB[i]) {\n return false;\n }\n }\n return true;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list.module.js","sourceRoot":"","sources":["../../../../../../../../libs/components/list-builder/src/lib/modules/list/list.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;;AAOpD,MAAM,OAAO,aAAa;;2GAAb,aAAa;4GAAb,aAAa,iBAJT,gBAAgB,aACrB,YAAY,aACZ,gBAAgB;4GAEf,aAAa,YAHf,CAAC,YAAY,CAAC;4FAGZ,aAAa;kBALzB,QAAQ;mBAAC;oBACR,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,YAAY,CAAC;oBACvB,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC5B","sourcesContent":["import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\n\nimport { SkyListComponent } from './list.component';\n\n@NgModule({\n declarations: [SkyListComponent],\n imports: [CommonModule],\n exports: [SkyListComponent],\n})\nexport class SkyListModule {}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filters.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/filters.orchestrator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"filters.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/filters/filters.orchestrator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,uBAAuB,EAAE,MAAM,iBAAiB,CAAC;AAE1D;;GAEG;AACH,MAAM,OAAO,uBAAwB,SAAQ,qBAE5C;IACC,0BAA0B;IAC1B;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,CAAC,uBAAuB,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CACZ,KAAwB,EACxB,MAA+B;QAE/B,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import { ListFilterModel } from '../../../list-filters/filter.model';\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListFiltersUpdateAction } from './update.action';\n\n/**\n * @internal\n */\nexport class ListFiltersOrchestrator extends ListStateOrchestrator<\n ListFilterModel[]\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListFiltersUpdateAction, this.update);\n }\n\n private update(\n state: ListFilterModel[],\n action: ListFiltersUpdateAction\n ): ListFilterModel[] {\n return [...action.filters];\n }\n}\n"]}
|
|
@@ -2,8 +2,8 @@ import { ListItemModel } from '@skyux/list-builder-common';
|
|
|
2
2
|
import { AsyncList } from '@skyux/list-builder-common';
|
|
3
3
|
import { ListStateOrchestrator } from '../list-state.rxstate';
|
|
4
4
|
import { ListItemsLoadAction } from './load.action';
|
|
5
|
-
import { ListItemsSetLoadingAction } from './set-loading.action';
|
|
6
5
|
import { ListItemsSetSelectedAction } from './set-items-selected.action';
|
|
6
|
+
import { ListItemsSetLoadingAction } from './set-loading.action';
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|
|
@@ -23,18 +23,18 @@ export class ListItemsOrchestrator extends ListStateOrchestrator {
|
|
|
23
23
|
const resultItems = action.refresh
|
|
24
24
|
? [...newListItems]
|
|
25
25
|
: [...state.items, ...newListItems];
|
|
26
|
-
|
|
26
|
+
const count = action.count === undefined ? resultItems.length : action.count;
|
|
27
27
|
return new AsyncList(resultItems, action.dataChanged ? Date.now() : state.lastUpdate, false, count);
|
|
28
28
|
}
|
|
29
29
|
setItemsSelected(state, action) {
|
|
30
30
|
/* istanbul ignore next */
|
|
31
31
|
const newSelectedIds = action.items || [];
|
|
32
|
-
|
|
32
|
+
const newListItemModels = this.cloneListItemModelArray(state.items);
|
|
33
33
|
if (action.refresh) {
|
|
34
34
|
newListItemModels.forEach((item) => (item.isSelected = undefined));
|
|
35
35
|
}
|
|
36
36
|
newSelectedIds.map((s) => {
|
|
37
|
-
|
|
37
|
+
const newItem = newListItemModels.find((i) => i.id === s);
|
|
38
38
|
/* istanbul ignore next */
|
|
39
39
|
if (newItem) {
|
|
40
40
|
newItem.isSelected = action.selected;
|
|
@@ -43,7 +43,7 @@ export class ListItemsOrchestrator extends ListStateOrchestrator {
|
|
|
43
43
|
return new AsyncList(newListItemModels, Date.now(), state.loading, state.count);
|
|
44
44
|
}
|
|
45
45
|
cloneListItemModelArray(source) {
|
|
46
|
-
|
|
46
|
+
const newListItems = [];
|
|
47
47
|
source.forEach((item) => {
|
|
48
48
|
newListItems.push(new ListItemModel(item.id, Object.assign({}, item.data), item.isSelected));
|
|
49
49
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"items.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"items.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/items/items.orchestrator.ts"],"names":[],"mappings":"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","sourcesContent":["import { ListItemModel } from '@skyux/list-builder-common';\nimport { AsyncList } from '@skyux/list-builder-common';\n\nimport { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListItemsLoadAction } from './load.action';\nimport { ListItemsSetSelectedAction } from './set-items-selected.action';\nimport { ListItemsSetLoadingAction } from './set-loading.action';\n\n/**\n * @internal\n */\nexport class ListItemsOrchestrator extends ListStateOrchestrator<\n AsyncList<ListItemModel>\n> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListItemsSetLoadingAction, this.setLoading)\n .register(ListItemsLoadAction, this.load)\n .register(ListItemsSetSelectedAction, this.setItemsSelected);\n }\n\n private setLoading(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetLoadingAction\n ): AsyncList<ListItemModel> {\n return new AsyncList<ListItemModel>(\n state.items,\n state.lastUpdate,\n action.loading,\n state.count\n );\n }\n\n private load(\n state: AsyncList<ListItemModel>,\n action: ListItemsLoadAction\n ): AsyncList<ListItemModel> {\n const newListItems = action.items.map(\n (g) => new ListItemModel(g.id, g.data, g.isSelected)\n );\n const resultItems = action.refresh\n ? [...newListItems]\n : [...state.items, ...newListItems];\n\n const count =\n action.count === undefined ? resultItems.length : action.count;\n return new AsyncList<ListItemModel>(\n resultItems,\n action.dataChanged ? Date.now() : state.lastUpdate,\n false,\n count\n );\n }\n\n private setItemsSelected(\n state: AsyncList<ListItemModel>,\n action: ListItemsSetSelectedAction\n ): AsyncList<ListItemModel> {\n /* istanbul ignore next */\n const newSelectedIds = action.items || [];\n const newListItemModels = this.cloneListItemModelArray(state.items);\n\n if (action.refresh) {\n newListItemModels.forEach((item) => (item.isSelected = undefined));\n }\n\n newSelectedIds.map((s) => {\n const newItem = newListItemModels.find((i) => i.id === s);\n /* istanbul ignore next */\n if (newItem) {\n newItem.isSelected = action.selected;\n }\n });\n\n return new AsyncList<ListItemModel>(\n newListItemModels,\n Date.now(),\n state.loading,\n state.count\n );\n }\n\n private cloneListItemModelArray(\n source: Array<ListItemModel>\n ): ListItemModel[] {\n const newListItems: Array<ListItemModel> = [];\n source.forEach((item) => {\n newListItems.push(\n new ListItemModel(\n item.id,\n Object.assign({}, item.data),\n item.isSelected\n )\n );\n });\n return newListItems;\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-state-action.type.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state-action.type.ts"],"names":[],"mappings":"","sourcesContent":["import {
|
|
1
|
+
{"version":3,"file":"list-state-action.type.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state-action.type.ts"],"names":[],"mappings":"","sourcesContent":["import { ListFiltersUpdateAction } from './filters/update.action';\nimport { ListItemsLoadAction } from './items/load.action';\nimport { ListItemsSetSelectedAction } from './items/set-items-selected.action';\nimport { ListItemsSetLoadingAction } from './items/set-loading.action';\nimport { ListPagingSetItemsPerPageAction } from './paging/set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from './paging/set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from './paging/set-page-number.action';\nimport { ListSearchSetFieldSelectorsAction } from './search/set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './search/set-functions.action';\nimport { ListSearchSetOptionsAction } from './search/set-options.action';\nimport { ListSearchSetSearchTextAction } from './search/set-search-text.action';\nimport { ListSelectedLoadAction } from './selected/load.action';\nimport { ListSelectedSetItemSelectedAction } from './selected/set-item-selected.action';\nimport { ListSelectedSetItemsSelectedAction } from './selected/set-items-selected.action';\nimport { ListSelectedSetLoadingAction } from './selected/set-loading.action';\nimport { ListSortSetAvailableAction } from './sort/set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './sort/set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './sort/set-global.action';\nimport { ListToolbarItemsDisableAction } from './toolbar/disable.action';\nimport { ListToolbarItemsLoadAction } from './toolbar/load.action';\nimport { ListToolbarItemsRemoveAction } from './toolbar/remove.action';\nimport { ListToolbarSetExistsAction } from './toolbar/set-exists.action';\nimport { ListToolbarSetTypeAction } from './toolbar/set-type.action';\nimport { ListViewsLoadAction } from './views/load.action';\nimport { ListViewsSetActiveAction } from './views/set-active.action';\n\n/**\n * @internal\n */\nexport type ListStateAction =\n | ListItemsSetLoadingAction\n | ListItemsLoadAction\n | ListItemsSetSelectedAction\n | ListPagingSetMaxPagesAction\n | ListPagingSetItemsPerPageAction\n | ListPagingSetPageNumberAction\n | ListViewsLoadAction\n | ListViewsSetActiveAction\n | ListToolbarItemsLoadAction\n | ListToolbarSetExistsAction\n | ListSearchSetSearchTextAction\n | ListSearchSetFunctionsAction\n | ListSearchSetFieldSelectorsAction\n | ListSearchSetOptionsAction\n | ListSelectedSetLoadingAction\n | ListSelectedLoadAction\n | ListSelectedSetItemSelectedAction\n | ListSelectedSetItemsSelectedAction\n | ListToolbarSetTypeAction\n | ListSortSetFieldSelectorsAction\n | ListSortSetAvailableAction\n | ListSortSetGlobalAction\n | ListFiltersUpdateAction\n | ListToolbarItemsRemoveAction\n | ListToolbarItemsDisableAction;\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AsyncItem, AsyncList } from '@skyux/list-builder-common';
|
|
2
2
|
import { ListPagingModel } from './paging/paging.model';
|
|
3
3
|
import { ListSearchModel } from './search/search.model';
|
|
4
4
|
import { ListSelectedModel } from './selected/selected.model';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-state.model.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.model.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list-state.model.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.model.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAIlE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD;;GAEG;AACH,MAAM,OAAO,cAAc;IAWzB;QAVO,YAAO,GAAsB,EAAE,CAAC;QAChC,UAAK,GAA6B,IAAI,SAAS,EAAiB,CAAC;QACjE,WAAM,GAAoB,IAAI,eAAe,EAAE,CAAC;QAChD,WAAM,GAAoB,IAAI,eAAe,EAAE,CAAC;QAChD,aAAQ,GACb,IAAI,SAAS,EAAqB,CAAC;QAC9B,SAAI,GAAkB,IAAI,aAAa,EAAE,CAAC;QAC1C,YAAO,GAAqB,IAAI,gBAAgB,EAAE,CAAC;QACnD,UAAK,GAAmB,IAAI,cAAc,EAAE,CAAC;QAGlD,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC/C,CAAC;CACF","sourcesContent":["import { ListItemModel } from '@skyux/list-builder-common';\nimport { AsyncItem, AsyncList } from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListPagingModel } from './paging/paging.model';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSelectedModel } from './selected/selected.model';\nimport { ListSortModel } from './sort/sort.model';\nimport { ListToolbarModel } from './toolbar/toolbar.model';\nimport { ListViewsModel } from './views/views.model';\n\n/**\n * @internal\n */\nexport class ListStateModel {\n public filters: ListFilterModel[] = [];\n public items: AsyncList<ListItemModel> = new AsyncList<ListItemModel>();\n public paging: ListPagingModel = new ListPagingModel();\n public search: ListSearchModel = new ListSearchModel();\n public selected: AsyncItem<ListSelectedModel> =\n new AsyncItem<ListSelectedModel>();\n public sort: ListSortModel = new ListSortModel();\n public toolbar: ListToolbarModel = new ListToolbarModel();\n public views: ListViewsModel = new ListViewsModel();\n\n constructor() {\n this.selected.item = new ListSelectedModel();\n }\n}\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';
|
|
3
3
|
import { ListFiltersUpdateAction } from './filters/update.action';
|
|
4
|
-
import { ListSearchSetFunctionsAction } from './search/set-functions.action';
|
|
5
|
-
import { ListSearchSetSearchTextAction } from './search/set-search-text.action';
|
|
6
4
|
import { ListSearchSetFieldSelectorsAction } from './search/set-field-selectors.action';
|
|
5
|
+
import { ListSearchSetFunctionsAction } from './search/set-functions.action';
|
|
7
6
|
import { ListSearchSetOptionsAction } from './search/set-options.action';
|
|
7
|
+
import { ListSearchSetSearchTextAction } from './search/set-search-text.action';
|
|
8
8
|
import { ListSelectedSetItemsSelectedAction } from './selected/set-items-selected.action';
|
|
9
9
|
import { ListSortSetAvailableAction } from './sort/set-available.action';
|
|
10
10
|
import { ListSortSetFieldSelectorsAction } from './sort/set-field-selectors.action';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-state.rxstate.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"list-state.rxstate.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.rxstate.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injectable } from '@angular/core';\nimport { StateDispatcher, StateOrchestrator } from '@skyux/list-builder-common';\nimport { ListSortFieldSelectorModel } from '@skyux/list-builder-common';\n\nimport { ListFilterModel } from '../../list-filters/filter.model';\n\nimport { ListFiltersUpdateAction } from './filters/update.action';\nimport { ListStateAction } from './list-state-action.type';\nimport { ListSearchModel } from './search/search.model';\nimport { ListSearchSetFieldSelectorsAction } from './search/set-field-selectors.action';\nimport { ListSearchSetFunctionsAction } from './search/set-functions.action';\nimport { ListSearchSetOptionsAction } from './search/set-options.action';\nimport { ListSearchSetSearchTextAction } from './search/set-search-text.action';\nimport { ListSelectedSetItemsSelectedAction } from './selected/set-items-selected.action';\nimport { ListSortLabelModel } from './sort/label.model';\nimport { ListSortSetAvailableAction } from './sort/set-available.action';\nimport { ListSortSetFieldSelectorsAction } from './sort/set-field-selectors.action';\nimport { ListSortSetGlobalAction } from './sort/set-global.action';\nimport { ListToolbarItemsDisableAction } from './toolbar/disable.action';\nimport { ListToolbarItemsLoadAction } from './toolbar/load.action';\nimport { ListToolbarItemsRemoveAction } from './toolbar/remove.action';\nimport { ListToolbarSetExistsAction } from './toolbar/set-exists.action';\nimport { ListToolbarShowMultiselectToolbarAction } from './toolbar/show-multiselect-toolbar.action';\nimport { ListToolbarItemModel } from './toolbar/toolbar-item.model';\nimport { ListViewsSetActiveAction } from './views/set-active.action';\n\n/**\n * @internal\n */\nexport class ListStateOrchestrator<T> extends StateOrchestrator<\n T,\n ListStateAction\n> {}\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListStateDispatcher extends StateDispatcher<ListStateAction> {\n public viewsSetActive(id: string) {\n this.next(new ListViewsSetActiveAction(id));\n }\n\n public toolbarExists(exists: boolean): void {\n this.next(new ListToolbarSetExistsAction(exists));\n }\n\n public toolbarSetDisabled(disabled: boolean): void {\n this.next(new ListToolbarItemsDisableAction(disabled));\n }\n\n public toolbarAddItems(\n items: ListToolbarItemModel[],\n index: number = -1\n ): void {\n this.next(new ListToolbarItemsLoadAction(items, index));\n }\n\n public toolbarRemoveItems(ids: string[]): void {\n this.next(new ListToolbarItemsRemoveAction(ids));\n }\n\n public toolbarShowMultiselectToolbar(show: boolean): void {\n this.next(new ListToolbarShowMultiselectToolbarAction(show));\n }\n\n public searchSetFunctions(\n sortFunctions: ((data: any, searchText: string) => boolean)[]\n ): void {\n this.next(new ListSearchSetFunctionsAction(sortFunctions));\n }\n\n /* istanbul ignore next */\n public searchSetFieldSelectors(fieldSelectors: Array<string>): void {\n this.next(new ListSearchSetFieldSelectorsAction(fieldSelectors));\n }\n\n public searchSetText(searchText: string) {\n this.next(new ListSearchSetSearchTextAction(searchText));\n }\n\n public searchSetOptions(searchOptions: ListSearchModel) {\n this.next(\n new ListSearchSetOptionsAction(\n new ListSearchSetSearchTextAction(searchOptions.searchText),\n new ListSearchSetFieldSelectorsAction(searchOptions.fieldSelectors),\n new ListSearchSetFunctionsAction(searchOptions.functions)\n )\n );\n }\n\n public sortSetAvailable(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetAvailableAction(sortLabels));\n }\n\n public sortSetFieldSelectors(\n fieldSelectors: ListSortFieldSelectorModel[]\n ): void {\n this.next(new ListSortSetFieldSelectorsAction(fieldSelectors));\n }\n\n public sortSetGlobal(sortLabels: ListSortLabelModel[]): void {\n this.next(new ListSortSetGlobalAction(sortLabels));\n }\n\n public filtersUpdate(filters: ListFilterModel[]): void {\n this.next(new ListFiltersUpdateAction(filters));\n }\n\n public setSelected(\n selectedIds: string[],\n selected: boolean,\n refresh: boolean = false\n ): void {\n this.next(\n new ListSelectedSetItemsSelectedAction(selectedIds, selected, refresh)\n );\n }\n}\n"]}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Injectable } from '@angular/core';
|
|
2
2
|
import { StateNode } from '@skyux/list-builder-common';
|
|
3
|
-
import { ListStateModel } from './list-state.model';
|
|
4
|
-
import { ListStateDispatcher } from './list-state.rxstate';
|
|
5
3
|
import { ListFiltersOrchestrator } from './filters/filters.orchestrator';
|
|
6
4
|
import { ListItemsOrchestrator } from './items/items.orchestrator';
|
|
5
|
+
import { ListStateModel } from './list-state.model';
|
|
6
|
+
import { ListStateDispatcher } from './list-state.rxstate';
|
|
7
7
|
import { ListPagingOrchestrator } from './paging/paging.orchestrator';
|
|
8
|
-
import { ListViewsOrchestrator } from './views/views.orchestrator';
|
|
9
|
-
import { ListToolbarOrchestrator } from './toolbar/toolbar.orchestrator';
|
|
10
8
|
import { ListSearchOrchestrator } from './search/search.orchestrator';
|
|
11
9
|
import { ListSelectedOrchestrator } from './selected/selected.orchestrator';
|
|
12
10
|
import { ListSortOrchestrator } from './sort/sort.orchestrator';
|
|
11
|
+
import { ListToolbarOrchestrator } from './toolbar/toolbar.orchestrator';
|
|
12
|
+
import { ListViewsOrchestrator } from './views/views.orchestrator';
|
|
13
13
|
import * as i0 from "@angular/core";
|
|
14
14
|
import * as i1 from "./list-state.rxstate";
|
|
15
15
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-state.state-node.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.state-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-state.state-node.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/list-state.state-node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;;AAEnE;;GAEG;AAEH,MAAM,OAAO,SAAU,SAAQ,SAAyB;IACtD,YAAY,UAA+B;QACzC,KAAK,CAAC,IAAI,cAAc,EAAE,EAAE,UAAU,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;aAC9C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;aACxC,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;aAC1C,QAAQ,CAAC,QAAQ,EAAE,sBAAsB,CAAC;aAC1C,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;aACtC,QAAQ,CAAC,SAAS,EAAE,uBAAuB,CAAC;aAC5C,QAAQ,CAAC,OAAO,EAAE,qBAAqB,CAAC;aACxC,QAAQ,CAAC,UAAU,EAAE,wBAAwB,CAAC;aAC9C,KAAK,EAAE,CAAC;IACb,CAAC;;uGAbU,SAAS;2GAAT,SAAS;4FAAT,SAAS;kBADrB,UAAU","sourcesContent":["import { Injectable } from '@angular/core';\nimport { StateNode } from '@skyux/list-builder-common';\n\nimport { ListFiltersOrchestrator } from './filters/filters.orchestrator';\nimport { ListItemsOrchestrator } from './items/items.orchestrator';\nimport { ListStateModel } from './list-state.model';\nimport { ListStateDispatcher } from './list-state.rxstate';\nimport { ListPagingOrchestrator } from './paging/paging.orchestrator';\nimport { ListSearchOrchestrator } from './search/search.orchestrator';\nimport { ListSelectedOrchestrator } from './selected/selected.orchestrator';\nimport { ListSortOrchestrator } from './sort/sort.orchestrator';\nimport { ListToolbarOrchestrator } from './toolbar/toolbar.orchestrator';\nimport { ListViewsOrchestrator } from './views/views.orchestrator';\n\n/**\n * @internal\n */\n@Injectable()\nexport class ListState extends StateNode<ListStateModel> {\n constructor(dispatcher: ListStateDispatcher) {\n super(new ListStateModel(), dispatcher);\n\n this.register('filters', ListFiltersOrchestrator)\n .register('items', ListItemsOrchestrator)\n .register('paging', ListPagingOrchestrator)\n .register('search', ListSearchOrchestrator)\n .register('sort', ListSortOrchestrator)\n .register('toolbar', ListToolbarOrchestrator)\n .register('views', ListViewsOrchestrator)\n .register('selected', ListSelectedOrchestrator)\n .begin();\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ListStateOrchestrator } from '../list-state.rxstate';
|
|
2
2
|
import { ListPagingModel } from './paging.model';
|
|
3
|
-
import { ListPagingSetMaxPagesAction } from './set-max-pages.action';
|
|
4
3
|
import { ListPagingSetItemsPerPageAction } from './set-items-per-page.action';
|
|
4
|
+
import { ListPagingSetMaxPagesAction } from './set-max-pages.action';
|
|
5
5
|
import { ListPagingSetPageNumberAction } from './set-page-number.action';
|
|
6
6
|
/**
|
|
7
7
|
* @internal
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paging.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"paging.orchestrator.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/paging/paging.orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9D,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAC9E,OAAO,EAAE,2BAA2B,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0BAA0B,CAAC;AAEzE;;GAEG;AACH,MAAM,OAAO,sBAAuB,SAAQ,qBAAsC;IAChF,0BAA0B;IAC1B;QACE,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,QAAQ,CAAC,2BAA2B,EAAE,IAAI,CAAC,WAAW,CAAC;aACzD,QAAQ,CAAC,+BAA+B,EAAE,IAAI,CAAC,eAAe,CAAC;aAC/D,QAAQ,CAAC,6BAA6B,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;IACjE,CAAC;IAEO,WAAW,CACjB,KAAsB,EACtB,MAAmC;QAEnC,OAAO,IAAI,eAAe,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CACzE,CAAC;IACJ,CAAC;IAEO,eAAe,CACrB,KAAsB,EACtB,MAAuC;QAEvC,OAAO,IAAI,eAAe,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,EAAE,CAAC,CACxE,CAAC;IACJ,CAAC;IAEO,aAAa,CACnB,KAAsB,EACtB,MAAqC;QAErC,OAAO,IAAI,eAAe,CACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC,CACpE,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { ListStateOrchestrator } from '../list-state.rxstate';\n\nimport { ListPagingModel } from './paging.model';\nimport { ListPagingSetItemsPerPageAction } from './set-items-per-page.action';\nimport { ListPagingSetMaxPagesAction } from './set-max-pages.action';\nimport { ListPagingSetPageNumberAction } from './set-page-number.action';\n\n/**\n * @internal\n */\nexport class ListPagingOrchestrator extends ListStateOrchestrator<ListPagingModel> {\n /* istanbul ignore next */\n constructor() {\n super();\n\n this.register(ListPagingSetMaxPagesAction, this.setMaxPages)\n .register(ListPagingSetItemsPerPageAction, this.setItemsPerPage)\n .register(ListPagingSetPageNumberAction, this.setPageNumber);\n }\n\n private setMaxPages(\n state: ListPagingModel,\n action: ListPagingSetMaxPagesAction\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { maxDisplayedPages: Number(action.maxPages) })\n );\n }\n\n private setItemsPerPage(\n state: ListPagingModel,\n action: ListPagingSetItemsPerPageAction\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { itemsPerPage: Number(action.itemsPerPage) })\n );\n }\n\n private setPageNumber(\n state: ListPagingModel,\n action: ListPagingSetPageNumberAction\n ): ListPagingModel {\n return new ListPagingModel(\n Object.assign({}, state, { pageNumber: Number(action.pageNumber) })\n );\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search.model.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAkB1B,YAAY,IAAU;QAjBtB;;;WAGG;QACI,eAAU,
|
|
1
|
+
{"version":3,"file":"search.model.js","sourceRoot":"","sources":["../../../../../../../../../../libs/components/list-builder/src/lib/modules/list/state/search/search.model.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,OAAO,eAAe;IAkB1B,YAAY,IAAU;QAjBtB;;;WAGG;QACI,eAAU,GAAG,EAAE,CAAC;QACvB;;;;WAIG;QACI,cAAS,GAAsD,EAAE,CAAC;QACzE;;;WAGG;QACI,mBAAc,GAAkB,EAAE,CAAC;QAGxC,IAAI,IAAI,EAAE;YACR,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;YAClC,IAAI,CAAC,SAAS,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACrC,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SAC3C;IACH,CAAC;CACF","sourcesContent":["/**\n * Specifies a function to dynamically manage the data source when users change the text\n * in the list field. The search function must return an array or a promise of an array.\n * The `search` property is particularly useful when the data source does not live\n * in the source code.\n */\nexport class ListSearchModel {\n /**\n * Specifies the text to search.\n * @default \"\"\n */\n public searchText = '';\n /**\n * Specifies an array of functions that returns a `boolean` value of `true` when\n * the search is successful. This property accepts a function of type\n * `(data: any, searchText: string) => boolean>.`\n */\n public functions: Array<(data: any, searchText: string) => boolean> = [];\n /**\n * Specifies the columns to search. The columns correspond to `field` values that\n * you specify with the list component's `data` property.\n */\n public fieldSelectors: Array<string> = [];\n\n constructor(data?: any) {\n if (data) {\n this.searchText = data.searchText;\n this.functions = [...data.functions];\n this.fieldSelectors = data.fieldSelectors;\n }\n }\n}\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ListStateOrchestrator } from '../list-state.rxstate';
|
|
2
2
|
import { ListSearchModel } from './search.model';
|
|
3
|
-
import { ListSearchSetSearchTextAction } from './set-search-text.action';
|
|
4
|
-
import { ListSearchSetFunctionsAction } from './set-functions.action';
|
|
5
3
|
import { ListSearchSetFieldSelectorsAction } from './set-field-selectors.action';
|
|
4
|
+
import { ListSearchSetFunctionsAction } from './set-functions.action';
|
|
6
5
|
import { ListSearchSetOptionsAction } from './set-options.action';
|
|
6
|
+
import { ListSearchSetSearchTextAction } from './set-search-text.action';
|
|
7
7
|
/**
|
|
8
8
|
* @internal
|
|
9
9
|
*/
|