bk-angular-table
Version:
An Angular 19 table, with pagination, sorting, filter etc.
197 lines (195 loc) • 267 kB
JavaScript
import * as i0 from '@angular/core';
import { Injectable, EventEmitter, Component, Input, Output, ViewChild, NgModule } from '@angular/core';
import * as i5 from '@angular/material/table';
import { MatTableDataSource, MatTableModule } from '@angular/material/table';
import * as i3 from '@angular/material/paginator';
import { MatPaginator, MatPaginatorModule } from '@angular/material/paginator';
import * as i4 from '@angular/material/sort';
import { MatSort, MatSortModule } from '@angular/material/sort';
import { SelectionModel } from '@angular/cdk/collections';
import * as i1 from '@angular/material/snack-bar';
import { MatSnackBarModule } from '@angular/material/snack-bar';
import * as i2 from '@angular/common';
import { CommonModule } from '@angular/common';
import * as i6 from '@angular/material/tooltip';
import { MatTooltipModule } from '@angular/material/tooltip';
import { FormsModule } from '@angular/forms';
import { MatCheckboxModule } from '@angular/material/checkbox';
import { MatFormFieldModule } from '@angular/material/form-field';
import { MatInputModule } from '@angular/material/input';
class BkAngularTableService {
constructor() { }
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BkAngularTableService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BkAngularTableService, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BkAngularTableService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}], ctorParameters: function () { return []; } });
class BkAngularTableComponent {
constructor(changeDetectorRef, snackBar, elementRef) {
this.changeDetectorRef = changeDetectorRef;
this.snackBar = snackBar;
this.elementRef = elementRef;
this.dataSource = [];
this.multiSelect = false;
this.columnClass = "";
this.selectedRow$ = new EventEmitter();
this.pagination$ = new EventEmitter();
this.hasSelect = true;
this.rowTabIndex = 0;
this.shown_columns_multi = ['select'];
this.selection = new SelectionModel(true, []);
// sort: any;
this.tableDS = new MatTableDataSource();
this.searchParam = "%";
this.pathNames = [];
this.pathName = window.location.pathname;
}
ngOnInit() {
console.log(this.displayedColumns);
this.wildcardStatus = true;
const fields = this.displayedColumns.map(x => x.field);
const titles = this.displayedColumns.map(x => x.title);
this.shown_columns = fields.slice();
this.shown_columns_multi = this.shown_columns_multi.concat(this.shown_columns);
this.shown_titles = titles.slice();
}
/** Whether the number of selected elements matches the total number of rows. */
isAllSelected() {
const numSelected = this.selection.selected.length;
const numRows = this.tableDS.data.length;
return numSelected === numRows;
}
/** Selects all rows if they are not all selected; otherwise clear selection. */
masterToggle() {
this.isAllSelected() ?
this.selection.clear() :
this.tableDS.data.forEach(row => this.selection.select(row));
}
onSelectRow(row, emit = true) {
this.selectedRow = row;
if (emit) {
this.selectedRow$.emit(this.selectedRow);
}
}
tableKeydown(event) {
if (!this.selection.isEmpty()) {
let newSelection;
const currentSelection = this.selection.selected[0];
const currentIndex = this.tableDS.data.findIndex(row => row === currentSelection);
if (event.key === 'Enter') {
this.onSelectRow(this.selection.selected[0], true);
}
else if (event.key === 'ArrowDown') {
newSelection = this.tableDS.data[currentIndex + 1];
}
else if (event.key === 'ArrowUp') {
newSelection = this.tableDS.data[currentIndex - 1];
}
if (newSelection) {
this.selection.clear();
this.selection.toggle(newSelection);
this.onSelectRow(this.selection.selected[0], false);
}
console.log(this.selection.selected);
}
else {
this.selection.clear();
this.selection.toggle(this.tableDS.filteredData[0]);
this.onSelectRow(this.tableDS.filteredData[0], false);
}
}
applyFilter(filterValue) {
filterValue = filterValue.trim(); // Remove whitespace
filterValue = filterValue.toLowerCase(); // MatTableDataSource defaults to lowercase matches
console.log(filterValue);
this.tableDS.filter = filterValue;
}
ngAfterViewInit() {
this.tableDS = new MatTableDataSource(this.dataSource);
this.tableDS.paginator = this.paginator;
this.tableDS.sort = this.sort;
this.changeDetectorRef.detectChanges();
let elementSelector = this.elementRef.nativeElement.closest(".mat-dialog-container");
if (elementSelector == null || elementSelector.textContent == "") {
elementSelector = this.elementRef.nativeElement.closest('.mat-tab-group');
}
if (elementSelector != null) {
this.elementSelector = (elementSelector.textContent && elementSelector.textContent != "") ? elementSelector.textContent : "";
}
this.getTableSettings();
if (this.searchParam == '%') {
// this.searchField.nativeElement.focus()
this.searchField.nativeElement['selectionEnd'] = this.searchParam.length - 1;
}
}
onTablePage(event) {
this.pagination$.emit(event);
const matTable = document.getElementById('bkTable');
matTable.scrollTop = 0;
if (this.elementSelector == "" || this.elementSelector == null) {
// let tableSettings = sessionStorage.getItem("tableSettings");
let tableSettings = this.getTableSettingsOnPathName();
if (tableSettings) {
tableSettings = JSON.parse(tableSettings);
tableSettings['pageindex'] = event;
sessionStorage.setItem(this.sessionStorageName, JSON.stringify(tableSettings));
}
else {
sessionStorage.setItem(this.sessionStorageName, JSON.stringify({
"pageindex": event
}));
}
}
}
setTableSettings() {
if (this.elementSelector == "" || this.elementSelector == null) {
// let tableSettings = sessionStorage.getItem("tableSettings");
let tableSettings = this.getTableSettingsOnPathName();
if (tableSettings) {
tableSettings = JSON.parse(tableSettings);
tableSettings['searchParam'] = this.tableDS.filter;
sessionStorage.setItem(this.sessionStorageName, JSON.stringify(tableSettings));
}
else {
sessionStorage.setItem(this.sessionStorageName, JSON.stringify({
"searchParam": this.tableDS.filter
}));
}
}
}
getTableSettings() {
if (this.elementSelector == "" || this.elementSelector == null) {
// this.tableSettings = sessionStorage.getItem("tableSettings");
this.tableSettings = this.getTableSettingsOnPathName();
if (this.tableSettings) {
this.tableSettings = JSON.parse(this.tableSettings);
if (this.tableSettings.pageindex) {
this.paginator.pageIndex = this.tableSettings.pageindex.pageIndex;
this.paginator.pageSize = this.tableSettings.pageindex.pageSize;
}
if (this.tableSettings.searchParam) {
this.searchParam = this.tableSettings.searchParam;
// this.toAddWildCardSearch();
this.tableDS.filter = this.searchParam;
}
}
}
}
getTableSettingsOnPathName() {
let tableSettings;
if (this.pathNames.indexOf(this.pathName) != -1) {
this.sessionStorageName = 'tableSettings' + this.pathName;
tableSettings = sessionStorage.getItem(this.sessionStorageName);
}
else {
this.sessionStorageName = 'tableSettings';
tableSettings = sessionStorage.getItem(this.sessionStorageName);
}
return tableSettings;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: BkAngularTableComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.MatSnackBar }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: BkAngularTableComponent, selector: "bk-angular-table", inputs: { displayedColumns: "displayedColumns", dataSource: "dataSource", columnClass: "columnClass" }, outputs: { selectedRow$: "selectedRow$", pagination$: "pagination$" }, viewQueries: [{ propertyName: "paginator", first: true, predicate: MatPaginator, descendants: true, static: true }, { propertyName: "sort", first: true, predicate: MatSort, descendants: true, static: true }, { propertyName: "searchField", first: true, predicate: ["searchField"], descendants: true }], ngImport: i0, template: "\n\n <div class=\"bk-actions-toolbar\">\n <div class=\"bk-table-filter bk-actions-toolbar-right\">\n <input type=\"text\" (keyup)=\"applyFilter(searchField.value)\" #searchField placeholder=\"Table Keyword Search\" >\n </div>\n </div>\n \n <table mat-table matSort [dataSource]=\"tableDS\" class=\"bk-table\" id=\"bkTable\">\n <ng-container \n *ngFor=\"let column of shown_columns; index as i\"\n [matColumnDef]=\"column\"\n >\n <mat-header-cell [ngClass]=\"['bk-table-header', columnClass]\" *matHeaderCellDef mat-header-cell [mat-sort-header]=\"column\"> {{ shown_titles[i] }} </mat-header-cell>\n <mat-cell *matCellDef=\"let element\" \n [class]=\"columnClass\"\n [matTooltip]=\"element[column]\"\n matTooltipClass=\"example-tooltip-red\"\n >\n <span class=\"bk-global-ellipsis\">{{element[column]}}</span>\n </mat-cell>\n </ng-container>\n \n <mat-header-row *matHeaderRowDef=\"shown_columns; sticky: true\"></mat-header-row>\n <mat-row class=\"bk-row\" [ngClass]= \"{'selected': selectedRow === row }\" *matRowDef=\"let row; columns: shown_columns;\"\n (click)=\"onSelectRow(row, true)\" (keydown)=\"tableKeydown($event)\"></mat-row>\n </table>\n <mat-paginator [length]=\"dataSource.length\" [pageSizeOptions]=\"[5,10, 25, 50, 100, 1000]\" (page)=\"onTablePage($event)\"></mat-paginator>\n ", styles: [".bk-table{overflow:auto;max-width:100%;width:100%;margin:auto}.bk-table{border:2px solid #0568ae;margin-left:5px!important;margin-top:5px!important}.bk-table-filter{display:block;padding-left:10px;padding-right:10px}.mat-table__wrapper .mat-table{min-width:auto!important;width:100%!important}.mat-header-row{width:100%}.mat-row{flex:1 0 100%!important;width:100%!important}.mat-form-field{font-size:14px;width:calc(100% - 40px);margin:0 20px}.mat-column-select{flex:0 0 50px}[class^=mat-column]{flex:0 0 50%!important;flex-wrap:nowrap!important}.mat-form-field{width:485px!important;margin-left:5px!important}.mat-form-field .mat-form-field-infix{top:-15px!important}mat-header-row{min-height:40px;background-image:linear-gradient(to right,#1a88c5,#1a88c5)}mat-header-cell{background-image:linear-gradient(to right,#1a88c5,#1a88c5);color:#fff;border-right:1px solid white!important}.bk-actions-toolbar-left{justify-content:flex-start;flex-grow:1}.bk-actions-toolbar-right{justify-content:flex-end;align-self:flex-end;text-align:end;margin-right:0;flex-grow:1}.bk-actions-toolbar{display:flex;padding:0;width:100%}mat-row:hover{background-image:linear-gradient(to right,#aee7ff,#aee7ff);cursor:pointer;color:#000}mat-row.selected mat-cell{color:#e6390e;font-weight:900;background-color:#aee7ff}mat-row{min-height:30px!important}mat-sort-header-arrow{color:#000}.mat-mdc-form-field-infix{min-height:30px}input[type=text]{min-width:25%;box-sizing:border-box;border:2px solid #0568ae;border-radius:4px;font-size:13px;background-color:#fff;background-image:url(data:image/png;base64,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