@microsoft/windows-admin-center-sdk
Version:
Microsoft - Windows Admin Center Shell
80 lines • 11.7 kB
JavaScript
import { __decorate, __metadata } from "tslib";
import { Debounce } from '@microsoft/windows-admin-center-sdk/core/base/decorators/debounce.decorators';
export class DataTableColumnPickerExtension {
constructor(dataTable) {
this.dataTable = dataTable;
}
applyColumnPickerChange(result) {
if (result.chooseColumnData || result.groupByColumnData) {
const chooseColumnData = result.chooseColumnData;
const groupByColumnData = result.groupByColumnData;
if (chooseColumnData && chooseColumnData.length > 0) {
const unselected = [];
if (this.dataTable && this.dataTable.columns && this.dataTable.columns.length > 0) {
const columns = this.dataTable.columns.toArray().map(item => item.field);
for (let i = 0; i < columns.length; i++) {
if (!chooseColumnData.includes(columns[i])) {
unselected.push(columns[i]);
}
}
this.dataTable.columns.map((item) => {
item.hidden = false;
if (unselected.includes(item.field)) {
item.hidden = true;
}
});
}
}
this.onGroupColumnChanged(groupByColumnData);
this.dataTable.processColumnsByOrder(chooseColumnData);
this.refreshDataTable();
}
}
onGroupColumnChanged(input) {
if (this.dataTable) {
const column = this.dataTable.columns.filter(currentColumn => currentColumn.field === input)[0];
this.dataTable.groupColumn = column;
this.dataTable.isColumnWidthCalculated = false;
if (column) {
if (!this.dataTable.useGroupToggle) {
this.dataTable.useGroupToggle = true;
}
if (!this.dataTable.defaultGroupToggleExpanded) {
this.dataTable.defaultGroupToggleExpanded = true;
}
}
else {
this.dataTable.useGroupToggle = undefined;
this.dataTable.defaultGroupToggleExpanded = undefined;
}
}
}
refreshDataTable() {
if (this.dataTable) {
this.dataTable.refreshData();
}
}
mapColumn() {
const allColumns = this.dataTable.columns ? this.dataTable.columns.toArray() : [];
const dataTableAllColumns = allColumns.map((item) => {
return {
'utaId': item.utaId,
'field': item.field,
'header': item.header,
'hidden': item.hidden,
'queryEditorType': item.queryEditorType,
'searchable': item.searchable,
'sortMode': item.sortMode,
'sortable': item.sortable
};
});
return dataTableAllColumns;
}
}
__decorate([
Debounce(),
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", void 0)
], DataTableColumnPickerExtension.prototype, "refreshDataTable", null);
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS10YWJsZS1jb2x1bW4tcGlja2VyLWV4dGVuc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL2FuZ3VsYXIvc3JjL2NvbnRyb2xzL2RhdGEtdGFibGUvZXh0ZW5zaW9ucy9kYXRhLXRhYmxlLWNvbHVtbi1waWNrZXItZXh0ZW5zaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEVBQThFLENBQUM7QUFJeEcsTUFBTSxPQUFPLDhCQUE4QjtJQUN2QyxZQUFvQixTQUE2QjtRQUE3QixjQUFTLEdBQVQsU0FBUyxDQUFvQjtJQUFJLENBQUM7SUFFL0MsdUJBQXVCLENBQUMsTUFBNEM7UUFDdkUsSUFBSSxNQUFNLENBQUMsZ0JBQWdCLElBQUksTUFBTSxDQUFDLGlCQUFpQixFQUFFO1lBQ3JELE1BQU0sZ0JBQWdCLEdBQUcsTUFBTSxDQUFDLGdCQUFnQixDQUFDO1lBQ2pELE1BQU0saUJBQWlCLEdBQUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO1lBQ25ELElBQUksZ0JBQWdCLElBQUksZ0JBQWdCLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDakQsTUFBTSxVQUFVLEdBQUcsRUFBRSxDQUFDO2dCQUN0QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtvQkFDL0UsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO29CQUN6RSxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxD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Q0o7QUF2Qkc7SUFBQyxRQUFRLEVBQUU7Ozs7c0VBS1YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWJvdW5jZSB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvYmFzZS9kZWNvcmF0b3JzL2RlYm91bmNlLmRlY29yYXRvcnMnO1xyXG5pbXBvcnQgeyBDb2x1bW5QaWNrZXJEaWFsb2dSZXNwb25zZVBhcmFtZXRlcnMsIERhdGFUYWJsZUNvbHVtbiB9IGZyb20gJ0BtaWNyb3NvZnQvd2luZG93cy1hZG1pbi1jZW50ZXItc2RrL2NvcmUvZGF0YS9jb2x1bW4tcGlja2VyJztcclxuaW1wb3J0IHsgRGF0YVRhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi4vZGF0YS10YWJsZS5jb21wb25lbnQnO1xyXG5cclxuZXhwb3J0IGNsYXNzIERhdGFUYWJsZUNvbHVtblBpY2tlckV4dGVuc2lvbiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIGRhdGFUYWJsZTogRGF0YVRhYmxlQ29tcG9uZW50KSB7IH1cclxuXHJcbiAgICBwdWJsaWMgYXBwbHlDb2x1bW5QaWNrZXJDaGFuZ2UocmVzdWx0OiBDb2x1bW5QaWNrZXJEaWFsb2dSZXNwb25zZVBhcmFtZXRlcnMpIHtcclxuICAgICAgICBpZiAocmVzdWx0LmNob29zZUNvbHVtbkRhdGEgfHwgcmVzdWx0Lmdyb3VwQnlDb2x1bW5EYXRhKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNob29zZUNvbHVtbkRhdGEgPSByZXN1bHQuY2hvb3NlQ29sdW1uRGF0YTtcclxuICAgICAgICAgICAgY29uc3QgZ3JvdXBCeUNvbHVtbkRhdGEgPSByZXN1bHQuZ3JvdXBCeUNvbHVtbkRhdGE7XHJcbiAgICAgICAgICAgIGlmIChjaG9vc2VDb2x1bW5EYXRhICYmIGNob29zZUNvbHVtbkRhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgdW5zZWxlY3RlZCA9IFtdO1xyXG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuZGF0YVRhYmxlICYmIHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMgJiYgdGhpcy5kYXRhVGFibGUuY29sdW1ucy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29sdW1ucyA9IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMudG9BcnJheSgpLm1hcChpdGVtID0+IGl0ZW0uZmllbGQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sdW1ucy5sZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAoIWNob29zZUNvbHVtbkRhdGEuaW5jbHVkZXMoY29sdW1uc1tpXSkpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2VsZWN0ZWQucHVzaChjb2x1bW5zW2ldKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5jb2x1bW5zLm1hcCgoaXRlbSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtLmhpZGRlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAodW5zZWxlY3RlZC5pbmNsdWRlcyhpdGVtLmZpZWxkKSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRlbS5oaWRkZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgdGhpcy5vbkdyb3VwQ29sdW1uQ2hhbmdlZChncm91cEJ5Q29sdW1uRGF0YSk7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLnByb2Nlc3NDb2x1bW5zQnlPcmRlcihjaG9vc2VDb2x1bW5EYXRhKTtcclxuICAgICAgICAgICAgdGhpcy5yZWZyZXNoRGF0YVRhYmxlKCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBvbkdyb3VwQ29sdW1uQ2hhbmdlZChpbnB1dDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuZGF0YVRhYmxlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IGNvbHVtbiA9IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMuZmlsdGVyKGN1cnJlbnRDb2x1bW4gPT4gY3VycmVudENvbHVtbi5maWVsZCA9PT0gaW5wdXQpWzBdO1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5ncm91cENvbHVtbiA9IGNvbHVtbjtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVGFibGUuaXNDb2x1bW5XaWR0aENhbGN1bGF0ZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgaWYgKGNvbHVtbikge1xyXG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLmRhdGFUYWJsZS51c2VHcm91cFRvZ2dsZSkge1xyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLnVzZUdyb3VwVG9nZ2xlID0gdHJ1ZTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGlmICghdGhpcy5kYXRhVGFibGUuZGVmYXVsdEdyb3VwVG9nZ2xlRXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS5kZWZhdWx0R3JvdXBUb2dnbGVFeHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmRhdGFUYWJsZS51c2VHcm91cFRvZ2dsZSA9IHVuZGVmaW5lZDtcclxuICAgICAgICAgICAgICAgIHRoaXMuZGF0YVRhYmxlLmRlZmF1bHRHcm91cFRvZ2dsZUV4cGFuZGVkID0gdW5kZWZpbmVkO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBEZWJvdW5jZSgpXHJcbiAgICBwdWJsaWMgcmVmcmVzaERhdGFUYWJsZSgpIHtcclxuICAgICAgICBpZiAodGhpcy5kYXRhVGFibGUpIHtcclxuICAgICAgICAgICAgdGhpcy5kYXRhVGFibGUucmVmcmVzaERhdGEoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHVibGljIG1hcENvbHVtbigpOiBBcnJheTxEYXRhVGFibGVDb2x1bW4+IHtcclxuICAgICAgICBjb25zdCBhbGxDb2x1bW5zID0gdGhpcy5kYXRhVGFibGUuY29sdW1ucyA/IHRoaXMuZGF0YVRhYmxlLmNvbHVtbnMudG9BcnJheSgpIDogW107XHJcbiAgICAgICAgY29uc3QgZGF0YVRhYmxlQWxsQ29sdW1uczogQXJyYXk8RGF0YVRhYmxlQ29sdW1uPiA9IGFsbENvbHVtbnMubWFwKChpdGVtKSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7XHJcbiAgICAgICAgICAgICAgICAndXRhSWQnOiBpdGVtLnV0YUlkLFxyXG4gICAgICAgICAgICAgICAgJ2ZpZWxkJzogaXRlbS5maWVsZCxcclxuICAgICAgICAgICAgICAgICdoZWFkZXInOiBpdGVtLmhlYWRlcixcclxuICAgICAgICAgICAgICAgICdoaWRkZW4nOiBpdGVtLmhpZGRlbixcclxuICAgICAgICAgICAgICAgICdxdWVyeUVkaXRvclR5cGUnOiBpdGVtLnF1ZXJ5RWRpdG9yVHlwZSxcclxuICAgICAgICAgICAgICAgICdzZWFyY2hhYmxlJzogaXRlbS5zZWFyY2hhYmxlLFxyXG4gICAgICAgICAgICAgICAgJ3NvcnRNb2RlJzogaXRlbS5zb3J0TW9kZSxcclxuICAgICAgICAgICAgICAgICdzb3J0YWJsZSc6IGl0ZW0uc29ydGFibGVcclxuICAgICAgICAgICAgfTtcclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gZGF0YVRhYmxlQWxsQ29sdW1ucztcclxuICAgIH1cclxufVxyXG4iXX0=