diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.html b/src/app/shared/gabinete-digital/despachos/despachos.page.html index 85e4a3fc3..c6496859d 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.html +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.html @@ -23,11 +23,11 @@
-
+
@@ -60,13 +60,13 @@
Lista vazia
-
+
diff --git a/src/app/shared/gabinete-digital/despachos/despachos.page.ts b/src/app/shared/gabinete-digital/despachos/despachos.page.ts index df047fae1..0c82c5e38 100644 --- a/src/app/shared/gabinete-digital/despachos/despachos.page.ts +++ b/src/app/shared/gabinete-digital/despachos/despachos.page.ts @@ -15,6 +15,7 @@ import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discar import { AuthService } from 'src/app/services/auth.service'; import { DespachoPage } from 'src/app/pages/gabinete-digital/despachos/despacho/despacho.page'; import { ActivatedRoute, NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router'; +import { DespachoStore, DespachoStoreService } from 'src/app/store/despacho-store.service'; @Component({ selector: 'app-despachos', @@ -44,6 +45,7 @@ export class DespachosPage implements OnInit { dicIndex = 0; inicial = false skeletonLoader = true + despachoStore = DespachoStore; constructor ( private processes:ProcessesService, @@ -132,6 +134,7 @@ export class DespachosPage implements OnInit { }); this.despachoList = this.sortArrayISODate(this.despachoList).reverse(); + this.despachoStore.reset(this.despachoList); this.skeletonLoader = false } diff --git a/src/app/store/despacho-store.service.spec.ts b/src/app/store/despacho-store.service.spec.ts new file mode 100644 index 000000000..459bfef6f --- /dev/null +++ b/src/app/store/despacho-store.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { DespachoStoreService } from './despacho-store.service'; + +describe('DespachoStoreService', () => { + let service: DespachoStoreService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(DespachoStoreService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/store/despacho-store.service.ts b/src/app/store/despacho-store.service.ts new file mode 100644 index 000000000..582b6ceae --- /dev/null +++ b/src/app/store/despacho-store.service.ts @@ -0,0 +1,58 @@ +import { Injectable } from '@angular/core'; +import { localstoreService } from './localstore.service' +import { AES, enc, SHA1 } from 'crypto-js' + +@Injectable({ + providedIn: 'root' +}) +export class DespachoStoreService { + + // main data + private _list: Event[] + // local storage keyName + private keyName: string; + private _count = 0 + + constructor() { + + this.keyName = (SHA1(this.constructor.name+ 'home/eventSource')).toString() + + + setTimeout(()=>{ + let restore = localstoreService.get(this.keyName, {}) + this._list = restore.eventsList || [] + this._count = restore.count || 0 + }, 10) + + } + + get list() { + return this._list + } + get count() { + return this._count + } + set count(value) { + this._count = value + } + + reset(eventsList: any) { + this._list = eventsList + + this.count = this._list.length + this.save(this._list) + } + + private save(eventsList: any) { + setTimeout(()=>{ + localstoreService.set(this.keyName,{ + eventsList, + count: this._list + }) + }, 10) + + } + +} + +export const DespachoStore = new DespachoStoreService()