Despacho store created and added to despacho page on share file

This commit is contained in:
Eudes Inácio
2021-07-22 11:29:11 +01:00
parent f37c64d649
commit 41b92b5ce9
4 changed files with 81 additions and 4 deletions
@@ -23,11 +23,11 @@
<div class="overflow-y-auto height-100 width-100">
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
<div *ngIf="despachoList.length >= 0">
<div *ngIf="despachoStore.list.length >= 0">
<ion-list part="divo">
<div
class="expediente ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of despachoList; let i = index"
*ngFor = "let task of despachoStore.list; let i = index"
(click)="goToDespacho(task.SerialNumber)"
>
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
@@ -60,13 +60,13 @@
</div>
<div
*ngIf="!skeletonLoader && despachoList.length == 0"
*ngIf="!skeletonLoader && despachoStore.list.length == 0"
class="empty-list d-flex height-100 align-center justify-content-center"
>
<span>Lista vazia</span>
</div>
<div *ngIf="skeletonLoader && despachoList.length == 0">
<div *ngIf="skeletonLoader && despachoStore.list.length == 0">
<ion-list>
<ion-item>
@@ -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
}
@@ -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();
});
});
+58
View File
@@ -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()