mirror of
https://code.equilibrium.co.ao/ITO/doneit-web.git
synced 2026-04-18 20:47:54 +00:00
Buffer added on gabinete digital mobile
This commit is contained in:
@@ -33,7 +33,7 @@
|
||||
<ion-list>
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of despachoList; let i = index"
|
||||
*ngFor = "let task of despachoprstore.list; let i = index"
|
||||
(click)="goToDespachoPr(task.SerialNumber)"
|
||||
>
|
||||
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
|
||||
@@ -67,13 +67,13 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && despachoList.length == 0"
|
||||
*ngIf="!skeletonLoader && despachoprstore.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 && despachoprstore.list.length == 0">
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
|
||||
@@ -17,6 +17,7 @@ import { DespachoPage } from 'src/app/pages/gabinete-digital/despachos/despacho/
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { NavigationEnd, NavigationExtras, NavigationStart, Router } from '@angular/router';
|
||||
import { __awaiter } from 'tslib';
|
||||
import { DespachosprStore } from 'src/app/store/despachospr-store.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-despachos-pr',
|
||||
@@ -48,6 +49,7 @@ export class DespachosPrPage implements OnInit {
|
||||
|
||||
loggeduser: User;
|
||||
skeletonLoader = true
|
||||
despachoprstore = DespachosprStore
|
||||
|
||||
constructor (
|
||||
private processes:ProcessesService,
|
||||
@@ -150,6 +152,7 @@ export class DespachosPrPage implements OnInit {
|
||||
this.despachoList.push(task);
|
||||
console.log(this.despachoList);
|
||||
});
|
||||
this.despachoprstore.reset(this.despachoList);
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<ion-list>
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of despachoList; let i = index"
|
||||
*ngFor = "let task of despachospagestore.list; let i = index"
|
||||
(click)="GoToDespacho(task.SerialNumber)"
|
||||
>
|
||||
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
|
||||
@@ -68,13 +68,13 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && despachoList.length == 0 && despachoList.length == 0"
|
||||
*ngIf="!skeletonLoader && despachospagestore.list.length == 0 && despachospagestore.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 && despachospagestore.list.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -6,6 +6,8 @@ import { ModalController } from '@ionic/angular';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { NavigationStart, Router } from '@angular/router';
|
||||
import { DespachoStore } from 'src/app/store/despacho-store.service';
|
||||
import { DespachoPageStore } from 'src/app/store/despachos-page-store.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-despachos',
|
||||
@@ -36,6 +38,7 @@ export class DespachosPage implements OnInit {
|
||||
dicIndex = 0;
|
||||
inicial = false
|
||||
skeletonLoader = true
|
||||
despachospagestore = DespachoPageStore;
|
||||
|
||||
constructor (
|
||||
private processes:ProcessesService,
|
||||
@@ -113,6 +116,8 @@ export class DespachosPage implements OnInit {
|
||||
this.despachoList.push(task)
|
||||
});
|
||||
this.despachoList = this.sortArrayISODate(this.despachoList).reverse()
|
||||
this.despachospagestore.reset(this.despachoList);
|
||||
|
||||
}
|
||||
|
||||
sortArrayISODate(myArray: any) {
|
||||
|
||||
@@ -32,10 +32,10 @@
|
||||
</div>
|
||||
|
||||
<ion-list *ngSwitchCase="'MDGPR'">
|
||||
<div *ngIf="eventsMDGPRList" class="overflow-y-auto height-100">
|
||||
<div *ngIf="eventaprovacaostore.listmd" class="overflow-y-auto height-100">
|
||||
<ion-item-sliding>
|
||||
<ion-item class="Rectangle cursor-pointer" lines="none"
|
||||
*ngFor="let event of eventsMDGPRList" (click)="goToEventToApproveDetail(event.serialNumber)">
|
||||
*ngFor="let event of eventaprovacaostore.listmd" (click)="goToEventToApproveDetail(event.serialNumber)">
|
||||
|
||||
<div class="content-mdgpr-{{event.workflowInstanceDataFields.Agenda}} width-100">
|
||||
<div class="approve-event-time">
|
||||
@@ -53,10 +53,10 @@
|
||||
</div>
|
||||
</ion-list>
|
||||
<ion-list *ngSwitchCase="'PR'">
|
||||
<div *ngIf="eventsPRList" class="overflow-y-auto height-100">
|
||||
<div *ngIf="eventaprovacaostore.listpr" class="overflow-y-auto height-100">
|
||||
<ion-item-sliding>
|
||||
<ion-item class="Rectangle cursor-pointer" lines="none"
|
||||
*ngFor="let event of eventsPRList" (click)="goToEventToApproveDetail(event.serialNumber)">
|
||||
*ngFor="let event of eventaprovacaostore.listpr" (click)="goToEventToApproveDetail(event.serialNumber)">
|
||||
<div class="content-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
|
||||
<div class="approve-event-time">
|
||||
<p>{{event.workflowInstanceDataFields.StartDate | date: 'HH:mm'}}</p>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ModalController } from '@ionic/angular';
|
||||
import { ApproveEventModalPage } from './approve-event-modal/approve-event-modal.page';
|
||||
import { NavigationEnd, NavigationStart, Router } from '@angular/router';
|
||||
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-event-list',
|
||||
@@ -25,6 +26,7 @@ export class EventListPage implements OnInit {
|
||||
serialnumber:string;
|
||||
|
||||
skeletonLoader = true
|
||||
eventaprovacaostore = EventoAprovacaoStore;
|
||||
|
||||
|
||||
constructor(
|
||||
@@ -73,11 +75,13 @@ export class EventListPage implements OnInit {
|
||||
let mdEventsOficial = await this.processes.GetTasksList('Agenda Oficial MDGPR', false).toPromise();
|
||||
let mdEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal MDGPR', false).toPromise();
|
||||
this.eventsMDGPRList = mdEventsOficial.concat(mdEventsPessoal);
|
||||
this.eventaprovacaostore.resetmd(this.eventsMDGPRList);
|
||||
}
|
||||
else if(this.segment == 'PR'){
|
||||
let prEventsOficial = await this.processes.GetTasksList('Agenda Oficial PR', false).toPromise();
|
||||
let prEventsPessoal = await this.processes.GetTasksList('Agenda Pessoal PR', false).toPromise();
|
||||
this.eventsPRList = prEventsOficial.concat(prEventsPessoal);
|
||||
this.eventaprovacaostore.resetpr(this.eventsPRList);
|
||||
}
|
||||
this.showLoader = false;
|
||||
this.skeletonLoader = false
|
||||
|
||||
@@ -31,11 +31,11 @@
|
||||
<div class="main-content d-flex height-100" >
|
||||
<div class="content d-flex flex-column width-100 overflow-y-auto px-20">
|
||||
|
||||
<div class="width-100 flex-grow-1 " *ngIf="taskslist">
|
||||
<div class="width-100 flex-grow-1 " *ngIf="expedienteStorage.list">
|
||||
<ion-list>
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of taskslist"
|
||||
*ngFor = "let task of expedienteStorage.list"
|
||||
(click)="goToExpediente(task.SerialNumber)"
|
||||
>
|
||||
<div class="item width-100">
|
||||
@@ -67,13 +67,13 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && taskslist.length == 0 && taskslist.length == 0"
|
||||
*ngIf="!skeletonLoader && expedienteStorage.list.length == 0 && expedienteStorage.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && taskslist.length == 0">
|
||||
<div *ngIf="skeletonLoader && expedienteStorage.list.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -78,6 +78,7 @@ export class ExpedientePage implements OnInit {
|
||||
this.taskslist.push(task);
|
||||
});
|
||||
console.log(this.taskslist);
|
||||
this.expedienteStorage.reset(this.taskslist);
|
||||
this.skeletonLoader = false;
|
||||
}, ()=>{
|
||||
this.toastService.badRequest('Processo não encontrado')
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
<ion-list>
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of taskslist"
|
||||
*ngFor = "let task of expedienteprstore.list"
|
||||
(click)="goToExpediente(task.SerialNumber)"
|
||||
>
|
||||
<div class="item width-100">
|
||||
@@ -62,14 +62,14 @@
|
||||
</div>
|
||||
|
||||
<div
|
||||
*ngIf="!skeletonLoader && taskslist.length == 0 && taskslist.length == 0"
|
||||
*ngIf="!skeletonLoader && expedienteprstore.list.length == 0 && expedienteprstore.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<!-- Skeleton loader -->
|
||||
<div *ngIf="skeletonLoader && taskslist.length == 0">
|
||||
<div *ngIf="skeletonLoader && expedienteprstore.list.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -9,6 +9,7 @@ import { ExpedienteDetailPage } from 'src/app/pages/gabinete-digital/expediente/
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { User } from 'src/app/models/user.model';
|
||||
import { AuthService } from 'src/app/services/auth.service';
|
||||
import { ExpedienteprStore } from 'src/app/store/expedientepr-store.service';
|
||||
|
||||
@Component({
|
||||
selector: 'app-expedientes-pr',
|
||||
@@ -27,6 +28,7 @@ export class ExpedientesPrPage implements OnInit {
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
|
||||
skeletonLoader = true
|
||||
expedienteprstore = ExpedienteprStore;
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
@@ -88,6 +90,7 @@ export class ExpedientesPrPage implements OnInit {
|
||||
this.taskslist.push(task);
|
||||
});
|
||||
console.log(this.taskslist);
|
||||
this.expedienteprstore.reset(this.taskslist);
|
||||
this.skeletonLoader = false
|
||||
});
|
||||
|
||||
@@ -119,6 +122,7 @@ export class ExpedientesPrPage implements OnInit {
|
||||
this.taskslist.push(task);
|
||||
});
|
||||
console.log(this.taskslist);
|
||||
this.expedienteprstore.reset(this.taskslist);
|
||||
this.showLoader = false;
|
||||
});
|
||||
break;
|
||||
|
||||
@@ -98,7 +98,7 @@
|
||||
<div class="exp-card-text">
|
||||
<p class="exp-card-title " *ngIf="loggeduser.Profile == mdgpr">Expediente Presidente</p>
|
||||
<p class="exp-card-title " *ngIf="loggeduser.Profile == pr">Expediente</p>
|
||||
<p class="exp-card-content"><span class="number">{{expedientegbstore.count}} </span> <span class="title1">Documentos</span> </p>
|
||||
<p class="exp-card-content"><span class="number">{{expedienteprstore.count}} </span> <span class="title1">Documentos</span> </p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -240,11 +240,11 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
let expedientes = await this.processesbackend.GetTasksList("Expediente", false).toPromise();
|
||||
this.count_exp_dailywork = Object.keys(expedientes.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
|
||||
this.expedientegbstore.count;
|
||||
this.expedientegbstore.count = this.count_exp_dailywork;
|
||||
|
||||
let expedientes_pr = await this.processesbackend.GetTasksList("Expediente do Presidente", false).toPromise();
|
||||
this.count_exp_pr = Object.keys(expedientes_pr.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
|
||||
this.expedientegbstore.count;
|
||||
this.expedienteprstore.count = this.count_exp_pr;
|
||||
|
||||
let despachos = await this.processesbackend.GetTasksList("Despacho", false).toPromise();
|
||||
this.count_desp_dailywork = Object.keys(despachos.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
|
||||
@@ -255,13 +255,15 @@ export class GabineteDigitalPage implements OnInit {
|
||||
|
||||
let allParecer = pareceres.concat(pareceresPr);
|
||||
this.count_par_dailywork = Object.keys(allParecer.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
|
||||
this.pedidosstore.countparecer = this.count_par_dailywork;
|
||||
|
||||
let deferimentos = await this.processesbackend.GetTasksList("Pedido de Deferimento", false).toPromise();
|
||||
this.count_def_dailywork = Object.keys(deferimentos.filter(data => data.workflowInstanceDataFields.Status == "Active")).length;
|
||||
this.pedidosstore.countdeferimento = this.count_def_dailywork;
|
||||
|
||||
let pendentes =await this.processesbackend.GetPendingTasks(false).toPromise();
|
||||
this.count_total_pending = Object.keys(pendentes).length;
|
||||
this.pendentesstore.count
|
||||
this.pendentesstore.count = this.count_total_pending;
|
||||
|
||||
let despachospr = await this.processesbackend.GetTasksList("Despacho do Presidente da República", false).toPromise();
|
||||
let despachosPr;
|
||||
@@ -269,10 +271,12 @@ export class GabineteDigitalPage implements OnInit {
|
||||
case 'MDGPR':
|
||||
despachosPr = despachospr.filter(data => data.activityInstanceName == "Tarefa de Despacho").filter(data => data.workflowInstanceDataFields.Status == "Active");
|
||||
this.count_de_pr = Object.keys(despachosPr).length;
|
||||
this.despachoprstore.count = this.count_de_pr;
|
||||
break;
|
||||
case 'PR':
|
||||
despachosPr = despachospr.filter(data => data.activityInstanceName == "Concluir Despacho").filter(data => data.workflowInstanceDataFields.Status == "Active")
|
||||
this.count_de_pr = Object.keys(despachosPr).length;
|
||||
this.despachoprstore.count = this.count_de_pr;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
@@ -38,13 +38,13 @@
|
||||
|
||||
<div class="width-100" [ngSwitch]="segment">
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
<div *ngIf="parecerList">
|
||||
<div *ngIf="pedidosstorage.listparecer">
|
||||
<ion-list *ngSwitchCase="'parecer'">
|
||||
<!-- *ngFor = "let task of parecerList; let i = index"
|
||||
<!-- *ngFor = "let task of pedidosstorage.listparecer; let i = index"
|
||||
(click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of parecerList"
|
||||
*ngFor = "let task of pedidosstorage.listparecer"
|
||||
(click)="goToPedido(task.SerialNumber)"
|
||||
>
|
||||
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
@@ -77,11 +77,11 @@
|
||||
</ion-list>
|
||||
|
||||
</div>
|
||||
<div *ngIf="deferimentoList">
|
||||
<div *ngIf="pedidosstorage.listdeferimento">
|
||||
<ion-list *ngSwitchCase="'deferimento'">
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of deferimentoList"
|
||||
*ngFor = "let task of pedidosstorage.listdeferimento"
|
||||
(click)="goToPedido(task.SerialNumber)"
|
||||
>
|
||||
<!-- (click)="viewExpedientDetail(task.SerialNumber)" -->
|
||||
@@ -118,7 +118,7 @@
|
||||
<div [ngSwitch]="segment">
|
||||
<div *ngSwitchCase="'parecer'" class="d-flex height-100 align-center justify-content-center" >
|
||||
<div
|
||||
*ngIf="!skeletonLoader && parecerList.length == 0"
|
||||
*ngIf="!skeletonLoader && pedidosstorage.listparecer.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
@@ -127,7 +127,7 @@
|
||||
|
||||
<div *ngSwitchCase="'deferimento'" class="d-flex height-100 align-center justify-content-center">
|
||||
<div
|
||||
*ngIf="!skeletonLoader && deferimentoList.length == 0"
|
||||
*ngIf="!skeletonLoader && pedidosstorage.listdeferimento.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
@@ -135,7 +135,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && deferimentoList.length == 0 && skeletonLoader && parecerList.length == 0">
|
||||
<div *ngIf="skeletonLoader && pedidosstorage.listdeferimento.length == 0 && skeletonLoader && pedidosstorage.listparecer.length == 0">
|
||||
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
|
||||
@@ -5,6 +5,7 @@ import { DailyWorkTask, tasksList } from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { ModalController, NavParams } from '@ionic/angular';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { PedidosStore } from 'src/app/store/pedidos-store.service';
|
||||
@Component({
|
||||
selector: 'app-pedidos',
|
||||
templateUrl: './pedidos.page.html',
|
||||
@@ -25,6 +26,7 @@ export class PedidosPage implements OnInit {
|
||||
taskType: string;
|
||||
serialNumber:string;
|
||||
skeletonLoader = true
|
||||
pedidosstorage = PedidosStore;
|
||||
|
||||
segment:string;
|
||||
@Output() openExpedientDetail:EventEmitter<any> = new EventEmitter<any>();
|
||||
@@ -134,6 +136,7 @@ export class PedidosPage implements OnInit {
|
||||
}
|
||||
this.parecerList.push(task);
|
||||
});
|
||||
this.pedidosstorage.resetparecer(this.parecerList);
|
||||
|
||||
}
|
||||
else if(this.segment == 'deferimento') {
|
||||
@@ -173,6 +176,8 @@ export class PedidosPage implements OnInit {
|
||||
|
||||
|
||||
});
|
||||
this.pedidosstorage.resetdeferimento(this.deferimentoList);
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
|
||||
@@ -29,13 +29,13 @@
|
||||
|
||||
<ion-progress-bar type="indeterminate" *ngIf="skeletonLoader"></ion-progress-bar>
|
||||
|
||||
<div *ngIf="pendentesList.length >= 1" class="width-100">
|
||||
<div *ngIf="pendentesstore.list.length >= 1" class="width-100">
|
||||
|
||||
<div >
|
||||
<ion-list>
|
||||
<div
|
||||
class="expediente ion-no-padding ion-no-margin cursor-pointer"
|
||||
*ngFor = "let task of pendentesList"
|
||||
*ngFor = "let task of pendentesstore.list"
|
||||
(click)="viewTaskDetails(task.SerialNumber, task.WorkflowName)"
|
||||
>
|
||||
<!-- [routerLink]="['/home/gabinete-digital/expediente',task.SerialNumber]" -->
|
||||
@@ -70,13 +70,13 @@
|
||||
|
||||
<!-- Empty -->
|
||||
<div
|
||||
*ngIf="!skeletonLoader && pendentesList.length == 0"
|
||||
*ngIf="!skeletonLoader && pendentesstore.list.length == 0"
|
||||
class="empty-list d-flex height-100 align-center justify-content-center"
|
||||
>
|
||||
<span>Lista vazia</span>
|
||||
</div>
|
||||
|
||||
<div *ngIf="skeletonLoader && pendentesList.length == 0">
|
||||
<div *ngIf="skeletonLoader && pendentesstore.list.length == 0">
|
||||
<ion-list>
|
||||
<ion-item>
|
||||
<ion-thumbnail slot="end">
|
||||
|
||||
@@ -6,6 +6,7 @@ import { DailyWorkTask } from '../../../models/dailyworktask.model';
|
||||
import { ProcessesService } from 'src/app/services/processes.service';
|
||||
import { formatDate } from '@angular/common';
|
||||
import { AlertService } from 'src/app/services/alert.service';
|
||||
import { PendentesStore } from 'src/app/store/pendestes-store.service';
|
||||
|
||||
|
||||
@Component({
|
||||
@@ -25,6 +26,7 @@ export class PendentesPage implements OnInit {
|
||||
@Input() profile:string;
|
||||
segment:string;
|
||||
skeletonLoader = true
|
||||
pendentesstore = PendentesStore;
|
||||
|
||||
constructor(
|
||||
private processes:ProcessesService,
|
||||
@@ -96,6 +98,7 @@ export class PendentesPage implements OnInit {
|
||||
this.pendentesList = this.sortArrayISODate(this.pendentesList);
|
||||
|
||||
});
|
||||
this.pendentesstore.reset(this.pendentesList);
|
||||
this.skeletonLoader = false;
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,16 @@
|
||||
import { TestBed } from '@angular/core/testing';
|
||||
|
||||
import { DespachosPageStoreService } from './despachos-page-store.service';
|
||||
|
||||
describe('DespachosPageStoreService', () => {
|
||||
let service: DespachosPageStoreService;
|
||||
|
||||
beforeEach(() => {
|
||||
TestBed.configureTestingModule({});
|
||||
service = TestBed.inject(DespachosPageStoreService);
|
||||
});
|
||||
|
||||
it('should be created', () => {
|
||||
expect(service).toBeTruthy();
|
||||
});
|
||||
});
|
||||
@@ -0,0 +1,59 @@
|
||||
import { Injectable } from '@angular/core';
|
||||
import { localstoreService } from './localstore.service'
|
||||
import { AES, enc, SHA1 } from 'crypto-js'
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root'
|
||||
})
|
||||
export class DespachosPageStoreService {
|
||||
|
||||
// main data
|
||||
private _list: [] = []
|
||||
// local storage keyName
|
||||
private keyName: string;
|
||||
private _count = 0
|
||||
|
||||
constructor() {
|
||||
|
||||
this.keyName = (SHA1(this.constructor.name)).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.length
|
||||
})
|
||||
}, 10)
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
export const DespachoPageStore = new DespachosPageStoreService()
|
||||
Reference in New Issue
Block a user