diff --git a/src/app/components/table/table.component.html b/src/app/components/table/table.component.html
index 198450b..7f67d27 100644
--- a/src/app/components/table/table.component.html
+++ b/src/app/components/table/table.component.html
@@ -63,6 +63,8 @@
showFirstLastButtons
>
+
+
@@ -361,14 +364,16 @@
*matHeaderRowDef="displayedColumns; sticky: true"
#headerRow
>
-
+
-
-
-
-
+
diff --git a/src/app/components/table/table.component.scss b/src/app/components/table/table.component.scss
index bb4a060..c208199 100644
--- a/src/app/components/table/table.component.scss
+++ b/src/app/components/table/table.component.scss
@@ -26,8 +26,17 @@
margin-right: 0.5em;
}
}
+ .idle-overlay {
+ filter: blur(5px);
+ }
+ .idle-spinner {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ z-index: 999;
+ }
.table-container {
- flex: 1;
width: auto;
margin-left: 0.5em;
margin-right: 0.5em;
@@ -69,4 +78,4 @@
}
}
}
-}
\ No newline at end of file
+}
diff --git a/src/app/components/table/table.component.ts b/src/app/components/table/table.component.ts
index 9cb7dd7..214dccb 100644
--- a/src/app/components/table/table.component.ts
+++ b/src/app/components/table/table.component.ts
@@ -92,6 +92,7 @@ export class TableComponent implements AfterViewInit {
filterChanged: Subject = new Subject();
isLoaded = false;
+ isProcessing = false;
@Output() createEvent = new EventEmitter();
@Output() lockEvent = new EventEmitter();
@@ -151,11 +152,11 @@ export class TableComponent implements AfterViewInit {
});
this.dataService.tableData.subscribe((newTableDataSource) => {
- this.reloadingTable = false;
const tempDataSource = [];
if (newTableDataSource === null) {
return;
}
+ this.reloadingTable = false;
this.isLoaded = true;
for (const row of newTableDataSource) {
const oldRow = this.getRowById(row.id);
@@ -427,10 +428,10 @@ export class TableComponent implements AfterViewInit {
}
applyFilters(): void {
- this.isLoaded = false;
+ this.isProcessing = true;
setTimeout(() => {
this.data.filter = (this.filters as unknown) as string;
- this.isLoaded = true;
+ this.isProcessing = false;
});
}