mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-7817] Show hide columns on datatable (#7580)
* [AAE-7817] Show hide columns for data-table * Update * update tests and uses material harness * added pipes test * update * update * added tests for datatable * update * Added documentation * Fix for drop column header * lint fix * fix lint
This commit is contained in:
@@ -38,6 +38,9 @@ export abstract class DataTableSchema {
|
||||
protected columnsOrder: string[] | undefined;
|
||||
protected columnsOrderedByKey: string = 'id';
|
||||
|
||||
protected hiddenColumns: string[] | undefined;
|
||||
protected hiddenColumnsKey: string = 'id';
|
||||
|
||||
private layoutPresets = {};
|
||||
|
||||
private columnsSchemaSubject$ = new ReplaySubject<boolean>();
|
||||
@@ -59,7 +62,8 @@ export abstract class DataTableSchema {
|
||||
}
|
||||
|
||||
public createColumns(): void {
|
||||
const columns = this.mergeJsonAndHtmlSchema();
|
||||
const allColumns = this.mergeJsonAndHtmlSchema();
|
||||
const columns = this.setHiddenColumns(allColumns);
|
||||
this.columns = this.sortColumnsByKey(columns);
|
||||
}
|
||||
|
||||
@@ -127,4 +131,19 @@ export abstract class DataTableSchema {
|
||||
|
||||
return [...columnsWithProperOrder, ...defaultColumns];
|
||||
}
|
||||
|
||||
private setHiddenColumns(columns: DataColumn[]): DataColumn[] {
|
||||
if (this.hiddenColumns) {
|
||||
return columns.map(column => {
|
||||
const columnShouldBeHidden = this.hiddenColumns.includes(column[this.hiddenColumnsKey]);
|
||||
|
||||
return {
|
||||
...column,
|
||||
isHidden: columnShouldBeHidden
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
return columns;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user