aboutsummaryrefslogtreecommitdiffhomepage
path: root/client/src/app/shared/rest/rest-table.ts
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2018-02-23 14:36:16 +0100
committerChocobozzz <me@florianbigard.com>2018-02-23 14:36:16 +0100
commitab998f7b6dffbe461d830d3696cb46491ad6afb0 (patch)
treef819e4049ca62b5389fd31ebfcbcb6ffbe0eaf0b /client/src/app/shared/rest/rest-table.ts
parent621d99f53f47a11919ec243e05273ecf5907b444 (diff)
downloadPeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.tar.gz
PeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.tar.zst
PeerTube-ab998f7b6dffbe461d830d3696cb46491ad6afb0.zip
Improve admin tables
Diffstat (limited to 'client/src/app/shared/rest/rest-table.ts')
-rw-r--r--client/src/app/shared/rest/rest-table.ts20
1 files changed, 20 insertions, 0 deletions
diff --git a/client/src/app/shared/rest/rest-table.ts b/client/src/app/shared/rest/rest-table.ts
index d04d91c68..165fc4e45 100644
--- a/client/src/app/shared/rest/rest-table.ts
+++ b/client/src/app/shared/rest/rest-table.ts
@@ -4,13 +4,28 @@ import { SortMeta } from 'primeng/components/common/sortmeta'
4import { RestPagination } from './rest-pagination' 4import { RestPagination } from './rest-pagination'
5 5
6export abstract class RestTable { 6export abstract class RestTable {
7
7 abstract totalRecords: number 8 abstract totalRecords: number
8 abstract rowsPerPage: number 9 abstract rowsPerPage: number
9 abstract sort: SortMeta 10 abstract sort: SortMeta
10 abstract pagination: RestPagination 11 abstract pagination: RestPagination
11 12
13 private sortLocalStorageKey = 'rest-table-sort-' + this.constructor.name
14
12 protected abstract loadData (): void 15 protected abstract loadData (): void
13 16
17 loadSort () {
18 const result = localStorage.getItem(this.sortLocalStorageKey)
19
20 if (result) {
21 try {
22 this.sort = JSON.parse(result)
23 } catch (err) {
24 console.error('Cannot load sort of local storage key ' + this.sortLocalStorageKey, err)
25 }
26 }
27 }
28
14 loadLazy (event: LazyLoadEvent) { 29 loadLazy (event: LazyLoadEvent) {
15 this.sort = { 30 this.sort = {
16 order: event.sortOrder, 31 order: event.sortOrder,
@@ -23,6 +38,11 @@ export abstract class RestTable {
23 } 38 }
24 39
25 this.loadData() 40 this.loadData()
41 this.saveSort()
42 }
43
44 saveSort () {
45 localStorage.setItem(this.sortLocalStorageKey, JSON.stringify(this.sort))
26 } 46 }
27 47
28} 48}