@skyux/data-manager 5.8.0 → 5.8.3
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-data-manager.umd.js +47 -1
- package/documentation.json +495 -416
- package/esm2015/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.js +0 -1
- package/esm2015/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.js.map +1 -1
- package/esm2015/lib/modules/data-manager/data-manager-filter-context.js +3 -0
- package/esm2015/lib/modules/data-manager/data-manager-filter-context.js.map +1 -1
- package/esm2015/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.js +10 -0
- package/esm2015/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.js.map +1 -1
- package/esm2015/lib/modules/data-manager/models/data-manager-state-options.js.map +1 -1
- package/esm2015/lib/modules/data-manager/models/data-manager-state.js +21 -0
- package/esm2015/lib/modules/data-manager/models/data-manager-state.js.map +1 -1
- package/esm2015/lib/modules/data-manager/models/data-view-state-options.js.map +1 -1
- package/esm2015/lib/modules/data-manager/models/data-view-state.js +13 -0
- package/esm2015/lib/modules/data-manager/models/data-view-state.js.map +1 -1
- package/fesm2015/skyux-data-manager.js +47 -1
- package/fesm2015/skyux-data-manager.js.map +1 -1
- package/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.d.ts +0 -1
- package/lib/modules/data-manager/data-manager-filter-context.d.ts +6 -0
- package/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.d.ts +10 -0
- package/lib/modules/data-manager/models/data-manager-state-options.d.ts +3 -3
- package/lib/modules/data-manager/models/data-manager-state.d.ts +41 -0
- package/lib/modules/data-manager/models/data-view-state-options.d.ts +2 -2
- package/lib/modules/data-manager/models/data-view-state.d.ts +20 -0
- package/package.json +9 -9
@@ -26,7 +26,6 @@ export class SkyDataManagerColumnPickerComponent {
|
|
26
26
|
this.dataManagerService = dataManagerService;
|
27
27
|
this.instance = instance;
|
28
28
|
this.libResources = libResources;
|
29
|
-
this.title = 'Choose columns to show in the list';
|
30
29
|
this.viewConfig = {
|
31
30
|
id: 'columnPicker',
|
32
31
|
name: 'Column Picker',
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-manager-column-picker.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.ts","../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyModalInstance } from '@skyux/modals';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataManagerColumnPickerOption } from '../models/data-manager-column-picker-option';\nimport { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataViewConfig } from '../models/data-view-config';\n\nimport { SkyDataManagerColumnPickerContext } from './data-manager-column-picker-context';\n\n/**\n * @internal\n */\ninterface Column extends SkyDataManagerColumnPickerOption {\n isSelected: boolean;\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-data-manager-column-picker',\n templateUrl: './data-manager-column-picker.component.html',\n styleUrls: ['./data-manager-column-picker.component.scss'],\n providers: [SkyDataManagerService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataManagerColumnPickerComponent implements OnDestroy, OnInit {\n public get dataState(): SkyDataManagerState {\n return this._dataState;\n }\n\n public set dataState(value: SkyDataManagerState) {\n this._dataState = value;\n this.displayedColumnData = this.searchColumns(\n this.columnData.filter((col) => !col.alwaysDisplayed)\n );\n\n if (value.onlyShowSelected) {\n this.displayedColumnData = this.displayedColumnData.filter(\n (col) => col.isSelected\n );\n }\n }\n\n public title = 'Choose columns to show in the list';\n public columnData: Column[];\n public displayedColumnData: Column[];\n public viewConfig: SkyDataViewConfig = {\n id: 'columnPicker',\n name: 'Column Picker',\n searchEnabled: true,\n searchExpandMode: 'fit',\n multiselectToolbarEnabled: true,\n onSelectAllClick: this.selectAll.bind(this),\n onClearAllClick: this.clearAll.bind(this),\n };\n\n private _dataState = new SkyDataManagerState({});\n private _ngUnsubscribe = new Subject();\n\n constructor(\n public context: SkyDataManagerColumnPickerContext,\n public dataManagerService: SkyDataManagerService,\n public instance: SkyModalInstance,\n private libResources: SkyLibResourcesService\n ) {}\n\n public ngOnInit(): void {\n this.libResources\n .getString('skyux_data_manager_column_picker_title')\n .subscribe((value) => {\n console.log(value);\n });\n this.dataManagerService.initDataManager({\n activeViewId: this.viewConfig.id,\n dataManagerConfig: {},\n defaultDataState: this.dataState,\n });\n this.dataManagerService.initDataView(this.viewConfig);\n\n this.columnData = this.formatColumnOptions();\n\n this.dataManagerService\n .getDataStateUpdates('columnPicker')\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((state) => {\n this.dataState = state;\n });\n }\n\n public ngOnDestroy(): void {\n this._ngUnsubscribe.next();\n this._ngUnsubscribe.complete();\n }\n\n public searchColumns(columns: Column[]): Column[] {\n let searchedColumns = columns;\n const searchText =\n this.dataState && this.dataState.searchText?.toUpperCase();\n\n if (searchText) {\n searchedColumns = columns.filter(function (item: any) {\n let property: any;\n\n for (property in item) {\n if (\n Object.prototype.hasOwnProperty.call(item, property) &&\n (property === 'label' || property === 'description')\n ) {\n const propertyText: string =\n item[property] && item[property].toUpperCase();\n if (propertyText && propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n\n return false;\n });\n }\n return searchedColumns;\n }\n\n public selectAll(): void {\n this.displayedColumnData.forEach((column) => (column.isSelected = true));\n }\n\n public clearAll(): void {\n this.displayedColumnData.forEach((column) => (column.isSelected = false));\n }\n\n public cancelChanges(): void {\n this.instance.cancel();\n }\n\n public isSelected(id: string): boolean {\n return (\n this.context.displayedColumnIds.findIndex((colId) => colId === id) !== -1\n );\n }\n\n public applyChanges(): void {\n this.instance.save(\n this.columnData.filter((col) => col.isSelected || col.alwaysDisplayed)\n );\n }\n\n private formatColumnOptions(): Column[] {\n const allColumnOptions = this.context.columnOptions;\n const visibleColumnIds = this.context.displayedColumnIds;\n let formattedColumnOptions: Column[] = [];\n const unselectedColumnOptions: Column[] = [];\n\n for (const columnOption of allColumnOptions) {\n // format the column with the properties the column picker needs\n const colIndex = visibleColumnIds.indexOf(columnOption.id);\n const formattedColumn: Column = {\n alwaysDisplayed: columnOption.alwaysDisplayed,\n id: columnOption.id,\n label: columnOption.label,\n description: columnOption.description,\n isSelected: colIndex !== -1,\n };\n\n // if column picker sorting is currently enabled sort columns by order displayed then alphabetical\n // else display column in order they were specified in the columnOptions\n if (\n this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical\n ) {\n if (formattedColumn.isSelected) {\n formattedColumnOptions[colIndex] = formattedColumn;\n } else {\n unselectedColumnOptions.push(formattedColumn);\n }\n } else {\n formattedColumnOptions.push(formattedColumn);\n }\n }\n\n // if column picker sorting is enabled, sort the columns that are not currently displayed\n // and add them after the currently displayed options\n if (\n this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical\n ) {\n unselectedColumnOptions.sort((col1, col2) =>\n col1.label.localeCompare(col2.label)\n );\n formattedColumnOptions = formattedColumnOptions.concat(\n unselectedColumnOptions\n );\n }\n\n return formattedColumnOptions;\n }\n}\n","<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar> </sky-data-manager-toolbar>\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let column of displayedColumnData\"\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n"]}
|
1
|
+
{"version":3,"file":"data-manager-column-picker.component.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.ts","../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-column-picker/data-manager-column-picker.component.html"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { SkyLibResourcesService } from '@skyux/i18n';\nimport { SkyModalInstance } from '@skyux/modals';\n\nimport { Subject } from 'rxjs';\nimport { takeUntil } from 'rxjs/operators';\n\nimport { SkyDataManagerService } from '../data-manager.service';\nimport { SkyDataManagerColumnPickerOption } from '../models/data-manager-column-picker-option';\nimport { SkyDataManagerColumnPickerSortStrategy } from '../models/data-manager-column-picker-sort-strategy';\nimport { SkyDataManagerState } from '../models/data-manager-state';\nimport { SkyDataViewConfig } from '../models/data-view-config';\n\nimport { SkyDataManagerColumnPickerContext } from './data-manager-column-picker-context';\n\n/**\n * @internal\n */\ninterface Column extends SkyDataManagerColumnPickerOption {\n isSelected: boolean;\n}\n\n/**\n * @internal\n */\n@Component({\n selector: 'sky-data-manager-column-picker',\n templateUrl: './data-manager-column-picker.component.html',\n styleUrls: ['./data-manager-column-picker.component.scss'],\n providers: [SkyDataManagerService],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class SkyDataManagerColumnPickerComponent implements OnDestroy, OnInit {\n public get dataState(): SkyDataManagerState {\n return this._dataState;\n }\n\n public set dataState(value: SkyDataManagerState) {\n this._dataState = value;\n this.displayedColumnData = this.searchColumns(\n this.columnData.filter((col) => !col.alwaysDisplayed)\n );\n\n if (value.onlyShowSelected) {\n this.displayedColumnData = this.displayedColumnData.filter(\n (col) => col.isSelected\n );\n }\n }\n\n public columnData: Column[];\n public displayedColumnData: Column[];\n public viewConfig: SkyDataViewConfig = {\n id: 'columnPicker',\n name: 'Column Picker',\n searchEnabled: true,\n searchExpandMode: 'fit',\n multiselectToolbarEnabled: true,\n onSelectAllClick: this.selectAll.bind(this),\n onClearAllClick: this.clearAll.bind(this),\n };\n\n private _dataState = new SkyDataManagerState({});\n private _ngUnsubscribe = new Subject();\n\n constructor(\n public context: SkyDataManagerColumnPickerContext,\n public dataManagerService: SkyDataManagerService,\n public instance: SkyModalInstance,\n private libResources: SkyLibResourcesService\n ) {}\n\n public ngOnInit(): void {\n this.libResources\n .getString('skyux_data_manager_column_picker_title')\n .subscribe((value) => {\n console.log(value);\n });\n this.dataManagerService.initDataManager({\n activeViewId: this.viewConfig.id,\n dataManagerConfig: {},\n defaultDataState: this.dataState,\n });\n this.dataManagerService.initDataView(this.viewConfig);\n\n this.columnData = this.formatColumnOptions();\n\n this.dataManagerService\n .getDataStateUpdates('columnPicker')\n .pipe(takeUntil(this._ngUnsubscribe))\n .subscribe((state) => {\n this.dataState = state;\n });\n }\n\n public ngOnDestroy(): void {\n this._ngUnsubscribe.next();\n this._ngUnsubscribe.complete();\n }\n\n public searchColumns(columns: Column[]): Column[] {\n let searchedColumns = columns;\n const searchText =\n this.dataState && this.dataState.searchText?.toUpperCase();\n\n if (searchText) {\n searchedColumns = columns.filter(function (item: any) {\n let property: any;\n\n for (property in item) {\n if (\n Object.prototype.hasOwnProperty.call(item, property) &&\n (property === 'label' || property === 'description')\n ) {\n const propertyText: string =\n item[property] && item[property].toUpperCase();\n if (propertyText && propertyText.indexOf(searchText) > -1) {\n return true;\n }\n }\n }\n\n return false;\n });\n }\n return searchedColumns;\n }\n\n public selectAll(): void {\n this.displayedColumnData.forEach((column) => (column.isSelected = true));\n }\n\n public clearAll(): void {\n this.displayedColumnData.forEach((column) => (column.isSelected = false));\n }\n\n public cancelChanges(): void {\n this.instance.cancel();\n }\n\n public isSelected(id: string): boolean {\n return (\n this.context.displayedColumnIds.findIndex((colId) => colId === id) !== -1\n );\n }\n\n public applyChanges(): void {\n this.instance.save(\n this.columnData.filter((col) => col.isSelected || col.alwaysDisplayed)\n );\n }\n\n private formatColumnOptions(): Column[] {\n const allColumnOptions = this.context.columnOptions;\n const visibleColumnIds = this.context.displayedColumnIds;\n let formattedColumnOptions: Column[] = [];\n const unselectedColumnOptions: Column[] = [];\n\n for (const columnOption of allColumnOptions) {\n // format the column with the properties the column picker needs\n const colIndex = visibleColumnIds.indexOf(columnOption.id);\n const formattedColumn: Column = {\n alwaysDisplayed: columnOption.alwaysDisplayed,\n id: columnOption.id,\n label: columnOption.label,\n description: columnOption.description,\n isSelected: colIndex !== -1,\n };\n\n // if column picker sorting is currently enabled sort columns by order displayed then alphabetical\n // else display column in order they were specified in the columnOptions\n if (\n this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical\n ) {\n if (formattedColumn.isSelected) {\n formattedColumnOptions[colIndex] = formattedColumn;\n } else {\n unselectedColumnOptions.push(formattedColumn);\n }\n } else {\n formattedColumnOptions.push(formattedColumn);\n }\n }\n\n // if column picker sorting is enabled, sort the columns that are not currently displayed\n // and add them after the currently displayed options\n if (\n this.context.columnPickerSortStrategy ===\n SkyDataManagerColumnPickerSortStrategy.SelectedThenAlphabetical\n ) {\n unselectedColumnOptions.sort((col1, col2) =>\n col1.label.localeCompare(col2.label)\n );\n formattedColumnOptions = formattedColumnOptions.concat(\n unselectedColumnOptions\n );\n }\n\n return formattedColumnOptions;\n }\n}\n","<sky-modal>\n <sky-modal-header>\n {{ 'skyux_data_manager_column_picker_title' | skyLibResources }}\n </sky-modal-header>\n <sky-modal-content class=\"sky-data-manager-column-picker-content\">\n <sky-data-manager>\n <sky-data-manager-toolbar> </sky-data-manager-toolbar>\n\n <sky-data-view [viewId]=\"viewConfig.id\">\n <sky-repeater expandMode=\"none\">\n <sky-repeater-item\n *ngFor=\"let column of displayedColumnData\"\n [selectable]=\"true\"\n [(isSelected)]=\"column.isSelected\"\n >\n <sky-repeater-item-title>\n {{ column.label }}\n </sky-repeater-item-title>\n <sky-repeater-item-content>\n {{ column.description }}\n </sky-repeater-item-content>\n </sky-repeater-item>\n </sky-repeater>\n </sky-data-view>\n </sky-data-manager>\n </sky-modal-content>\n <sky-modal-footer>\n <button\n sky-cmp-id=\"apply-changes\"\n class=\"sky-btn sky-btn-primary\"\n (click)=\"applyChanges()\"\n >\n {{ 'skyux_data_manager_apply_changes_button_title' | skyLibResources }}\n </button>\n <button\n sky-cmp-id=\"cancel\"\n class=\"sky-btn sky-btn-link\"\n (click)=\"cancelChanges()\"\n >\n {{ 'skyux_data_manager_cancel_button_title' | skyLibResources }}\n </button>\n </sky-modal-footer>\n</sky-modal>\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-manager-filter-context.js","sourceRoot":"","sources":["../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-filter-context.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gCAAgC;
|
1
|
+
{"version":3,"file":"data-manager-filter-context.js","sourceRoot":"","sources":["../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/data-manager-filter-context.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,gCAAgC;CAK5C","sourcesContent":["import { SkyDataManagerFilterData } from './models/data-manager-filter-data';\n\n/**\n * Sets the state of the filters.\n */\nexport class SkyDataManagerFilterModalContext {\n /**\n * Sets the state of the filters.\n */\n public filterData: SkyDataManagerFilterData;\n}\n"]}
|
@@ -1,6 +1,16 @@
|
|
1
|
+
/**
|
2
|
+
* These options specify the sorting strategy applied to columns when `columnPickerEnabled` is enabled.
|
3
|
+
*/
|
1
4
|
export var SkyDataManagerColumnPickerSortStrategy;
|
2
5
|
(function (SkyDataManagerColumnPickerSortStrategy) {
|
6
|
+
/**
|
7
|
+
* No sorting is applied to the columns.
|
8
|
+
*/
|
3
9
|
SkyDataManagerColumnPickerSortStrategy["None"] = "none";
|
10
|
+
/**
|
11
|
+
* If `sortEnabled` is set to `true`, then the selected columns are displayed before the unselected columns. Unselected columns are sorted alphabetically.
|
12
|
+
* If `sortEnabled` is set to `false`, then the columns are displayed in the order specified by `columnOptions`.
|
13
|
+
*/
|
4
14
|
SkyDataManagerColumnPickerSortStrategy["SelectedThenAlphabetical"] = "selectedThenAlphabetical";
|
5
15
|
})(SkyDataManagerColumnPickerSortStrategy || (SkyDataManagerColumnPickerSortStrategy = {}));
|
6
16
|
//# sourceMappingURL=data-manager-column-picker-sort-strategy.js.map
|
package/esm2015/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-manager-column-picker-sort-strategy.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,
|
1
|
+
{"version":3,"file":"data-manager-column-picker-sort-strategy.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-column-picker-sort-strategy.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAN,IAAY,sCAUX;AAVD,WAAY,sCAAsC;IAChD;;OAEG;IACH,uDAAa,CAAA;IACb;;;OAGG;IACH,+FAAqD,CAAA;AACvD,CAAC,EAVW,sCAAsC,KAAtC,sCAAsC,QAUjD","sourcesContent":["/**\n * These options specify the sorting strategy applied to columns when `columnPickerEnabled` is enabled.\n */\nexport enum SkyDataManagerColumnPickerSortStrategy {\n /**\n * No sorting is applied to the columns.\n */\n None = 'none',\n /**\n * If `sortEnabled` is set to `true`, then the selected columns are displayed before the unselected columns. Unselected columns are sorted alphabetically.\n * If `sortEnabled` is set to `false`, then the columns are displayed in the order specified by `columnOptions`.\n */\n SelectedThenAlphabetical = 'selectedThenAlphabetical',\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-manager-state-options.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-state-options.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyDataManagerFilterData } from './data-manager-filter-data';\nimport { SkyDataManagerSortOption } from './data-manager-sort-option';\nimport { SkyDataViewStateOptions } from './data-view-state-options';\n\nexport interface SkyDataManagerStateOptions {\n /**\n * The selected SkyDataManagerSortOption to apply.\n */\n activeSortOption?: SkyDataManagerSortOption;\n /**\n * An untyped property that
|
1
|
+
{"version":3,"file":"data-manager-state-options.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-state-options.ts"],"names":[],"mappings":"","sourcesContent":["import { SkyDataManagerFilterData } from './data-manager-filter-data';\nimport { SkyDataManagerSortOption } from './data-manager-sort-option';\nimport { SkyDataViewStateOptions } from './data-view-state-options';\n\nexport interface SkyDataManagerStateOptions {\n /**\n * The selected SkyDataManagerSortOption to apply.\n */\n activeSortOption?: SkyDataManagerSortOption;\n /**\n * An untyped property that tracks any state information that's relevant to a data\n * manager but that the existing properties do not cover.\n */\n additionalData?: any;\n /**\n * The state of the filters.\n */\n filterData?: SkyDataManagerFilterData;\n /**\n * Indicates whether to display only the selected rows or objects. The multiselect toolbar\n * uses this property.\n */\n onlyShowSelected?: boolean;\n /**\n * The search text to apply.\n */\n searchText?: string;\n /**\n * The currently selected rows or objects.\n */\n selectedIds?: string[];\n /**\n * The states of the individual views.\n */\n views?: SkyDataViewStateOptions[];\n}\n"]}
|
@@ -1,6 +1,12 @@
|
|
1
1
|
import { SkyDataViewState } from './data-view-state';
|
2
|
+
/**
|
3
|
+
* Provides options that control which data to display.
|
4
|
+
*/
|
2
5
|
export class SkyDataManagerState {
|
3
6
|
constructor(data) {
|
7
|
+
/**
|
8
|
+
* The states of the individual views.
|
9
|
+
*/
|
4
10
|
this.views = [];
|
5
11
|
const views = data.views && data.views.map((view) => new SkyDataViewState(view));
|
6
12
|
this.activeSortOption = data.activeSortOption;
|
@@ -11,6 +17,10 @@ export class SkyDataManagerState {
|
|
11
17
|
this.searchText = data.searchText;
|
12
18
|
this.views = views || [];
|
13
19
|
}
|
20
|
+
/**
|
21
|
+
* Returns the `SkyDataManagerStateOptions` for the data manager.
|
22
|
+
* @returns The `SkyDataManagerStateOptions` for the data manager.
|
23
|
+
*/
|
14
24
|
getStateOptions() {
|
15
25
|
const viewStates = this.views.map((view) => {
|
16
26
|
return view.getViewStateOptions();
|
@@ -25,9 +35,20 @@ export class SkyDataManagerState {
|
|
25
35
|
views: viewStates,
|
26
36
|
};
|
27
37
|
}
|
38
|
+
/**
|
39
|
+
* Returns the `SkyDataViewState` for the specified view.
|
40
|
+
* @param viewId The ID for the view.
|
41
|
+
* @returns The `SkyDataViewState` for the specified view.
|
42
|
+
*/
|
28
43
|
getViewStateById(viewId) {
|
29
44
|
return this.views.find((view) => view.viewId === viewId);
|
30
45
|
}
|
46
|
+
/**
|
47
|
+
* Adds a `SkyDataViewState` to a view or updates an existing view.
|
48
|
+
* @param viewId The ID for the view.
|
49
|
+
* @param view The `SkyDataViewState` option to add or update.
|
50
|
+
* @returns The state of the data manager for the specified view.
|
51
|
+
*/
|
31
52
|
addOrUpdateView(viewId, view) {
|
32
53
|
const existingViewIndex = this.views.findIndex((v) => v.viewId === viewId);
|
33
54
|
if (existingViewIndex !== -1) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-manager-state.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD,MAAM,OAAO,mBAAmB;
|
1
|
+
{"version":3,"file":"data-manager-state.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-manager-state.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAGrD;;GAEG;AACH,MAAM,OAAO,mBAAmB;IAgC9B,YAAY,IAAgC;QAL5C;;WAEG;QACI,UAAK,GAAuB,EAAE,CAAC;QAGpC,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;QAErE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAC1C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QAClC,IAAI,CAAC,KAAK,GAAG,KAAK,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;OAGG;IACI,eAAe;QACpB,MAAM,UAAU,GAA8B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACpE,OAAO,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpC,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,UAAU;SAClB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,gBAAgB,CAAC,MAAc;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;OAKG;IACI,eAAe,CACpB,MAAc,EACd,IAAsB;QAEtB,MAAM,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC;QAE3E,IAAI,iBAAiB,KAAK,CAAC,CAAC,EAAE;YAC5B,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAC;SACtC;aAAM;YACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;QAED,OAAO,IAAI,mBAAmB,CAAC;YAC7B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;YACvC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF","sourcesContent":["import { SkyDataManagerFilterData } from './data-manager-filter-data';\nimport { SkyDataManagerSortOption } from './data-manager-sort-option';\nimport { SkyDataManagerStateOptions } from './data-manager-state-options';\nimport { SkyDataViewState } from './data-view-state';\nimport { SkyDataViewStateOptions } from './data-view-state-options';\n\n/**\n * Provides options that control which data to display.\n */\nexport class SkyDataManagerState {\n /**\n * The selected SkyDataManagerSortOption to apply.\n */\n public activeSortOption: SkyDataManagerSortOption;\n /**\n * An untyped property that tracks any state information that's relevant to a data\n * manager but that the existing properties do not cover.\n */\n public additionalData: any;\n /**\n * The state of the filters.\n */\n public filterData: SkyDataManagerFilterData;\n /**\n * Indicates whether to display only the selected rows or objects. The multiselect toolbar\n * uses this property.\n */\n public onlyShowSelected: boolean;\n /**\n * The search text to apply.\n */\n public searchText: string;\n /**\n * The currently selected rows or objects.\n */\n public selectedIds: string[];\n /**\n * The states of the individual views.\n */\n public views: SkyDataViewState[] = [];\n\n constructor(data: SkyDataManagerStateOptions) {\n const views =\n data.views && data.views.map((view) => new SkyDataViewState(view));\n\n this.activeSortOption = data.activeSortOption;\n this.additionalData = data.additionalData;\n this.filterData = data.filterData;\n this.onlyShowSelected = data.onlyShowSelected;\n this.selectedIds = data.selectedIds;\n this.searchText = data.searchText;\n this.views = views || [];\n }\n\n /**\n * Returns the `SkyDataManagerStateOptions` for the data manager.\n * @returns The `SkyDataManagerStateOptions` for the data manager.\n */\n public getStateOptions(): SkyDataManagerStateOptions {\n const viewStates: SkyDataViewStateOptions[] = this.views.map((view) => {\n return view.getViewStateOptions();\n });\n\n return {\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n onlyShowSelected: this.onlyShowSelected,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: viewStates,\n };\n }\n\n /**\n * Returns the `SkyDataViewState` for the specified view.\n * @param viewId The ID for the view.\n * @returns The `SkyDataViewState` for the specified view.\n */\n public getViewStateById(viewId: string): SkyDataViewState {\n return this.views.find((view) => view.viewId === viewId);\n }\n\n /**\n * Adds a `SkyDataViewState` to a view or updates an existing view.\n * @param viewId The ID for the view.\n * @param view The `SkyDataViewState` option to add or update.\n * @returns The state of the data manager for the specified view.\n */\n public addOrUpdateView(\n viewId: string,\n view: SkyDataViewState\n ): SkyDataManagerState {\n const existingViewIndex = this.views.findIndex((v) => v.viewId === viewId);\n\n if (existingViewIndex !== -1) {\n this.views[existingViewIndex] = view;\n } else {\n this.views.push(view);\n }\n\n return new SkyDataManagerState({\n activeSortOption: this.activeSortOption,\n additionalData: this.additionalData,\n filterData: this.filterData,\n searchText: this.searchText,\n selectedIds: this.selectedIds,\n views: this.views,\n });\n }\n}\n"]}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-view-state-options.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-view-state-options.ts"],"names":[],"mappings":"","sourcesContent":["export interface SkyDataViewStateOptions {\n /**\n * The ID of this view.\n */\n viewId: string;\n /**\n * The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.\n */\n columnIds?: string[];\n /**\n * The IDs of the columns displayed for column-based views.\n */\n displayedColumnIds?: string[];\n /**\n * An untyped property that
|
1
|
+
{"version":3,"file":"data-view-state-options.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-view-state-options.ts"],"names":[],"mappings":"","sourcesContent":["export interface SkyDataViewStateOptions {\n /**\n * The ID of this view.\n */\n viewId: string;\n /**\n * The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.\n */\n columnIds?: string[];\n /**\n * The IDs of the columns displayed for column-based views.\n */\n displayedColumnIds?: string[];\n /**\n * An untyped property that tracks any view-specific state information\n * that is relevant to a data manager but that existing properties do not cover.\n */\n additionalData?: any;\n}\n"]}
|
@@ -1,12 +1,25 @@
|
|
1
|
+
/**
|
2
|
+
* Provides options for defining how data is displayed, such as which columns appear.
|
3
|
+
*/
|
1
4
|
export class SkyDataViewState {
|
2
5
|
constructor(data) {
|
6
|
+
/**
|
7
|
+
* The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.
|
8
|
+
*/
|
3
9
|
this.columnIds = [];
|
10
|
+
/**
|
11
|
+
* The IDs of the columns displayed for column-based views.
|
12
|
+
*/
|
4
13
|
this.displayedColumnIds = [];
|
5
14
|
this.viewId = data.viewId;
|
6
15
|
this.columnIds = data.columnIds || [];
|
7
16
|
this.displayedColumnIds = data.displayedColumnIds || [];
|
8
17
|
this.additionalData = data.additionalData;
|
9
18
|
}
|
19
|
+
/**
|
20
|
+
* Returns the `SkyDataViewStateOptions` for the current view.
|
21
|
+
* @returns The `SkyDataViewStateOptions`.
|
22
|
+
*/
|
10
23
|
getViewStateOptions() {
|
11
24
|
return {
|
12
25
|
viewId: this.viewId,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"data-view-state.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-view-state.ts"],"names":[],"mappings":"AAEA,MAAM,OAAO,gBAAgB;
|
1
|
+
{"version":3,"file":"data-view-state.js","sourceRoot":"","sources":["../../../../../../../../../libs/components/data-manager/src/lib/modules/data-manager/models/data-view-state.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,OAAO,gBAAgB;IAmB3B,YAAY,IAA6B;QAlBzC;;WAEG;QACI,cAAS,GAAa,EAAE,CAAC;QAChC;;WAEG;QACI,uBAAkB,GAAa,EAAE,CAAC;QAYvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,kBAAkB,IAAI,EAAE,CAAC;QACxD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;IAC5C,CAAC;IAED;;;OAGG;IACI,mBAAmB;QACxB,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,cAAc,EAAE,IAAI,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import { SkyDataViewStateOptions } from './data-view-state-options';\n\n/**\n * Provides options for defining how data is displayed, such as which columns appear.\n */\nexport class SkyDataViewState {\n /**\n * The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.\n */\n public columnIds: string[] = [];\n /**\n * The IDs of the columns displayed for column-based views.\n */\n public displayedColumnIds: string[] = [];\n /**\n * The ID of this view.\n */\n public viewId: string;\n /**\n * An untyped property that tracks any view-specific state information\n * that is relevant to a data manager but that existing properties do not cover.\n */\n public additionalData: any;\n\n constructor(data: SkyDataViewStateOptions) {\n this.viewId = data.viewId;\n this.columnIds = data.columnIds || [];\n this.displayedColumnIds = data.displayedColumnIds || [];\n this.additionalData = data.additionalData;\n }\n\n /**\n * Returns the `SkyDataViewStateOptions` for the current view.\n * @returns The `SkyDataViewStateOptions`.\n */\n public getViewStateOptions(): SkyDataViewStateOptions {\n return {\n viewId: this.viewId,\n columnIds: this.columnIds,\n displayedColumnIds: this.displayedColumnIds,\n additionalData: this.additionalData,\n };\n }\n}\n"]}
|
@@ -77,15 +77,28 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
77
77
|
}]
|
78
78
|
}] });
|
79
79
|
|
80
|
+
/**
|
81
|
+
* Provides options for defining how data is displayed, such as which columns appear.
|
82
|
+
*/
|
80
83
|
class SkyDataViewState {
|
81
84
|
constructor(data) {
|
85
|
+
/**
|
86
|
+
* The IDs of the columns able to be displayed for column-based views. This property is required when utilizing a grid-based view, a column picker, or both.
|
87
|
+
*/
|
82
88
|
this.columnIds = [];
|
89
|
+
/**
|
90
|
+
* The IDs of the columns displayed for column-based views.
|
91
|
+
*/
|
83
92
|
this.displayedColumnIds = [];
|
84
93
|
this.viewId = data.viewId;
|
85
94
|
this.columnIds = data.columnIds || [];
|
86
95
|
this.displayedColumnIds = data.displayedColumnIds || [];
|
87
96
|
this.additionalData = data.additionalData;
|
88
97
|
}
|
98
|
+
/**
|
99
|
+
* Returns the `SkyDataViewStateOptions` for the current view.
|
100
|
+
* @returns The `SkyDataViewStateOptions`.
|
101
|
+
*/
|
89
102
|
getViewStateOptions() {
|
90
103
|
return {
|
91
104
|
viewId: this.viewId,
|
@@ -96,8 +109,14 @@ class SkyDataViewState {
|
|
96
109
|
}
|
97
110
|
}
|
98
111
|
|
112
|
+
/**
|
113
|
+
* Provides options that control which data to display.
|
114
|
+
*/
|
99
115
|
class SkyDataManagerState {
|
100
116
|
constructor(data) {
|
117
|
+
/**
|
118
|
+
* The states of the individual views.
|
119
|
+
*/
|
101
120
|
this.views = [];
|
102
121
|
const views = data.views && data.views.map((view) => new SkyDataViewState(view));
|
103
122
|
this.activeSortOption = data.activeSortOption;
|
@@ -108,6 +127,10 @@ class SkyDataManagerState {
|
|
108
127
|
this.searchText = data.searchText;
|
109
128
|
this.views = views || [];
|
110
129
|
}
|
130
|
+
/**
|
131
|
+
* Returns the `SkyDataManagerStateOptions` for the data manager.
|
132
|
+
* @returns The `SkyDataManagerStateOptions` for the data manager.
|
133
|
+
*/
|
111
134
|
getStateOptions() {
|
112
135
|
const viewStates = this.views.map((view) => {
|
113
136
|
return view.getViewStateOptions();
|
@@ -122,9 +145,20 @@ class SkyDataManagerState {
|
|
122
145
|
views: viewStates,
|
123
146
|
};
|
124
147
|
}
|
148
|
+
/**
|
149
|
+
* Returns the `SkyDataViewState` for the specified view.
|
150
|
+
* @param viewId The ID for the view.
|
151
|
+
* @returns The `SkyDataViewState` for the specified view.
|
152
|
+
*/
|
125
153
|
getViewStateById(viewId) {
|
126
154
|
return this.views.find((view) => view.viewId === viewId);
|
127
155
|
}
|
156
|
+
/**
|
157
|
+
* Adds a `SkyDataViewState` to a view or updates an existing view.
|
158
|
+
* @param viewId The ID for the view.
|
159
|
+
* @param view The `SkyDataViewState` option to add or update.
|
160
|
+
* @returns The state of the data manager for the specified view.
|
161
|
+
*/
|
128
162
|
addOrUpdateView(viewId, view) {
|
129
163
|
const existingViewIndex = this.views.findIndex((v) => v.viewId === viewId);
|
130
164
|
if (existingViewIndex !== -1) {
|
@@ -423,9 +457,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
423
457
|
type: Injectable
|
424
458
|
}], ctorParameters: function () { return [{ type: i1.SkyUIConfigService }]; } });
|
425
459
|
|
460
|
+
/**
|
461
|
+
* These options specify the sorting strategy applied to columns when `columnPickerEnabled` is enabled.
|
462
|
+
*/
|
426
463
|
var SkyDataManagerColumnPickerSortStrategy;
|
427
464
|
(function (SkyDataManagerColumnPickerSortStrategy) {
|
465
|
+
/**
|
466
|
+
* No sorting is applied to the columns.
|
467
|
+
*/
|
428
468
|
SkyDataManagerColumnPickerSortStrategy["None"] = "none";
|
469
|
+
/**
|
470
|
+
* If `sortEnabled` is set to `true`, then the selected columns are displayed before the unselected columns. Unselected columns are sorted alphabetically.
|
471
|
+
* If `sortEnabled` is set to `false`, then the columns are displayed in the order specified by `columnOptions`.
|
472
|
+
*/
|
429
473
|
SkyDataManagerColumnPickerSortStrategy["SelectedThenAlphabetical"] = "selectedThenAlphabetical";
|
430
474
|
})(SkyDataManagerColumnPickerSortStrategy || (SkyDataManagerColumnPickerSortStrategy = {}));
|
431
475
|
|
@@ -525,6 +569,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
525
569
|
type: Injectable
|
526
570
|
}] });
|
527
571
|
|
572
|
+
/**
|
573
|
+
* Sets the state of the filters.
|
574
|
+
*/
|
528
575
|
class SkyDataManagerFilterModalContext {
|
529
576
|
}
|
530
577
|
|
@@ -747,7 +794,6 @@ class SkyDataManagerColumnPickerComponent {
|
|
747
794
|
this.dataManagerService = dataManagerService;
|
748
795
|
this.instance = instance;
|
749
796
|
this.libResources = libResources;
|
750
|
-
this.title = 'Choose columns to show in the list';
|
751
797
|
this.viewConfig = {
|
752
798
|
id: 'columnPicker',
|
753
799
|
name: 'Column Picker',
|