diff options
Diffstat (limited to '')
-rw-r--r-- | src/pybind/mgr/dashboard/frontend/src/app/shared/classes/list-with-details.class.ts | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/pybind/mgr/dashboard/frontend/src/app/shared/classes/list-with-details.class.ts b/src/pybind/mgr/dashboard/frontend/src/app/shared/classes/list-with-details.class.ts new file mode 100644 index 000000000..2eaeeb35e --- /dev/null +++ b/src/pybind/mgr/dashboard/frontend/src/app/shared/classes/list-with-details.class.ts @@ -0,0 +1,29 @@ +import { NgZone } from '@angular/core'; + +import { TableStatus } from './table-status'; + +export class ListWithDetails { + expandedRow: any; + staleTimeout: number; + tableStatus: TableStatus; + + constructor(protected ngZone?: NgZone) {} + + setExpandedRow(expandedRow: any) { + this.expandedRow = expandedRow; + } + + setTableRefreshTimeout() { + clearTimeout(this.staleTimeout); + this.ngZone.runOutsideAngular(() => { + this.staleTimeout = window.setTimeout(() => { + this.ngZone.run(() => { + this.tableStatus = new TableStatus( + 'warning', + $localize`The user list data might be stale. If needed, you can manually reload it.` + ); + }); + }, 10000); + }); + } +} |