Web offline

This commit is contained in:
Eudes Inácio
2022-02-01 10:25:41 +01:00
parent 0b0a500c37
commit d2662b4ac7
11 changed files with 384 additions and 237 deletions
@@ -28,12 +28,12 @@
<div *ngSwitchCase="'MDGPR'" class="height-100">
<div *ngIf="eventaprovacaostore.listmd.length != 0">
<div *ngIf="eventsMDGPRList.length != 0">
<ion-list class="width-100" >
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor="let event of eventaprovacaostore.listmd"
*ngFor="let event of eventsMDGPRList"
(click)="goToEventDetail(event)"
>
<!-- (click)="openApproveModal(event)" -->
@@ -52,7 +52,7 @@
</ion-list>
</div>
<div *ngIf="eventaprovacaostore.listmd.length == 0" class="centered-div">
<div *ngIf="eventsMDGPRList.length == 0" class="centered-div">
<div *ngSwitchCase="'MDGPR'" >
<div class="d-flex height-90 align-center justify-content-center"
>
@@ -62,12 +62,12 @@
</div>
</div>
<div *ngSwitchCase="'PR'">
<div *ngIf="eventaprovacaostore.listpr.length != 0">
<div *ngIf="eventsPRList.length != 0">
<ion-list class="width-100" *ngSwitchCase="'PR'">
<div class="width-100" *ngIf="eventaprovacaostore.listpr">
<div class="width-100" *ngIf="eventsPRList">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor="let event of eventaprovacaostore.listpr"
*ngFor="let event of eventsPRList"
(click)="goToEventDetail(event)"
>
<div class="item event-pr-{{event.workflowInstanceDataFields.Agenda}} width-100">
@@ -87,10 +87,10 @@
</div>
<div *ngIf="eventaprovacaostore.listpr.length == 0" class="centered-div d-flex height-90 align-center justify-content-center">
<div *ngIf="eventsPRList.length == 0" class="centered-div d-flex height-90 align-center justify-content-center">
<div *ngSwitchCase="'PR'" >
<div class="d-flex align-center justify-content-center"
*ngIf="eventaprovacaostore.listpr.length < 1">
*ngIf="eventsPRList.length < 1">
Lista vazia
</div>
</div>
@@ -8,6 +8,7 @@ import { LoginUserRespose } from 'src/app/models/user.model';
import { AuthService } from 'src/app/services/auth.service';
import { EventoAprovacaoStore } from 'src/app/store/eventoaprovacao-store.service';
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
@Component({
selector: 'app-events-to-approve',
@@ -33,6 +34,7 @@ export class EventsToApprovePage implements OnInit {
private router: Router,
private userAuth: AuthService,
private sortService: SortService,
private storage: Storage
)
{
this.loggeduser = userAuth.ValidatedUser;
@@ -63,25 +65,46 @@ export class EventsToApprovePage implements OnInit {
async LoadToApproveEvents() {
this.showLoader = true;
console.log(this.segment);
this.getFromDB();
if(this.segment == 'MDGPR'){
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.eventsMDGPRList = this.sortService.sortArrayByDate(this.eventsMDGPRList)
console.log(this.sortService.sortArrayByDate(this.eventsMDGPRList));
this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate'));
this.storage.set('event-to-aproveMD',this.eventsMDGPRList).then(() => {
console.log(' EVENTMD TO APROVE SAVED')
})
//this.eventaprovacaostore.resetmd(this.sortService.sortDate(this.eventsMDGPRList, 'CreateDate'));
}
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.eventsPRList = this.sortService.sortArrayByDate(this.eventsPRList)
this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate'));
this.storage.set('event-to-aprovePR',this.eventsPRList).then(() => {
console.log(' EVENTPR TO APROVE SAVED')
})
//this.eventaprovacaostore.resetpr(this.sortService.sortDate(this.eventsPRList, 'CreateDate'));
}
this.showLoader = false;
}
getFromDB() {
this.storage.get('event-to-aproveMD').then((events) => {
this.eventsMDGPRList = events
})
this.storage.get('event-to-aprovePR').then((events) => {
this.eventsPRList = events
})
}
toDateString(e) {
return new Date(e).toDateString()
}
@@ -22,10 +22,10 @@
<div class="content width-100 overflow-y-auto height-100" >
<div >
<ion-list *ngIf="expedientegbstore.list.length >=0">
<ion-list *ngIf="taskslist.length >=0">
<div
class="expediente item-hover ion-no-padding ion-no-margin cursor-pointer"
*ngFor = "let task of expedientegbstore.list"
*ngFor = "let task of taskslist"
(click)="goToExpediente(task.SerialNumber)"
>
<div class="item width-100">
@@ -58,13 +58,13 @@
</div>
<div
*ngIf="!skeletonLoader && expedientegbstore.list.length == 0 && expedientegbstore.list.length == 0"
*ngIf="!skeletonLoader && taskslist.length == 0 && taskslist.length == 0"
class="empty-list d-flex height-100 align-center justify-content-center"
>
<span>Lista vazia</span>
</div>
<div *ngIf="skeletonLoader && expedientegbstore.list.length == 0">
<div *ngIf="skeletonLoader && taskslist.length == 0">
<ion-list>
<ion-item>
@@ -6,6 +6,7 @@ import { ExpedienteGdStore } from 'src/app/store/expedientegd-store.service';
import { ExpedienteTaskPipe } from 'src/app/pipes/expediente-task.pipe';
import { ThemeService } from 'src/app/services/theme.service'
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
@Component({
selector: 'app-expedients',
@@ -13,27 +14,28 @@ import { SortService } from 'src/app/services/functions/sort.service';
styleUrls: ['./expedients.page.scss'],
})
export class ExpedientsPage implements OnInit {
segment:string;
segment: string;
taskslist = [];
serialNumber:string;
serialNumber: string;
@Input() profile:string;
@Input() profile: string;
skeletonLoader = true
expedientegbstore = ExpedienteGdStore
expedienteTaskPipe = new ExpedienteTaskPipe()
constructor(
private processes:ProcessesService,
private processes: ProcessesService,
private alertService: AlertService,
private router: Router,
public ThemeService: ThemeService,
private sortService: SortService,
) {
this.profile = 'mdgpr';
private storage: Storage
) {
this.profile = 'mdgpr';
}
}
ngOnInit() {
//Inicializar segment
@@ -43,11 +45,11 @@ export class ExpedientsPage implements OnInit {
this.router.events.forEach((event) => {
if (event instanceof NavigationStart &&
event.url.startsWith('/home/gabinete-digital?expedientes=true')) {
if(window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) {
this.doRefresh()
} else {
this.LoadList()
}
if (window.location.pathname.split('/').length >= 4 && window.location.pathname.startsWith('/home/gabinete-digital')) {
this.doRefresh()
} else {
this.LoadList()
}
}
});
@@ -75,21 +77,35 @@ export class ExpedientsPage implements OnInit {
this.taskslist.push(task);
});
this.taskslist = this.sortService.sortDate(this.taskslist, 'CreateDate')
this.addProcessTODb(this.taskslist);
this.expedientegbstore.reset(this.taskslist);
}, (error) => {
this.getEventsFromLocalDb();
});
}
doRefresh() {
setTimeout(()=>{
this.LoadList();
}, 1000)
addProcessTODb(task) {
this.storage.set('gabinete-expediente', task).then(() => {
console.log('GABINETE EXPEDIENTE SAVED')
})
}
goToExpediente(serialNumber:any){
this.router.navigate(['/home/gabinete-digital/expediente',serialNumber,'gabinete-digital']);
getEventsFromLocalDb() {
this.storage.get('gabinete-expediente').then((expediente) => {
this.taskslist = expediente
})
}
}
doRefresh() {
setTimeout(() => {
this.LoadList();
}, 1000)
}
goToExpediente(serialNumber: any) {
this.router.navigate(['/home/gabinete-digital/expediente', serialNumber, 'gabinete-digital']);
}
}
@@ -20,7 +20,7 @@
</ion-refresher>
<app-task-list
[taskList] = pendentesstore.list
[taskList] = listToPresent
[skeletonLoader] = skeletonLoader
(viewTaskDetail)="viewTaskDetails($event)"
> </app-task-list>
@@ -8,6 +8,7 @@ import { PendentesStore } from 'src/app/store/pendestes-store.service';
import { LoginUserRespose } from 'src/app/models/user.model';
import { CustomTaskPipe } from 'src/app/pipes/custom-task.pipe';
import { SortService } from 'src/app/services/functions/sort.service';
import { Storage } from '@ionic/storage';
@Component({
selector: 'app-pendentes',
@@ -20,6 +21,7 @@ export class PendentesPage implements OnInit {
pendentesstore = PendentesStore;
customTaskPipe = new CustomTaskPipe()
loggeduser: LoginUserRespose;
listToPresent = [];
@Input() profile:string;
segment:string;
@@ -30,6 +32,7 @@ export class PendentesPage implements OnInit {
private authService: AuthService,
private router: Router,
private sortService: SortService,
private storage: Storage
) {
this.loggeduser = authService.ValidatedUser;
}
@@ -52,7 +55,7 @@ export class PendentesPage implements OnInit {
async LoadList(){
this.skeletonLoader = true;
this.processes.GetPendingTasks(false).subscribe(async res => {
let pendentes = await this.processes.GetPendingTasks(false).toPromise();
let pendentesList = [];
@@ -64,9 +67,24 @@ export class PendentesPage implements OnInit {
pendentesList = removeDuplicate( pendentesList)
pendentesList = this.sortService.sortDate(pendentesList, 'CreateDate')
this.listToPresent = pendentesList
this.pendentesstore.reset(pendentesList);
this.storage.set('pendente-list',pendentesList).then(() => {
console.log('Pendente list SAVED')
})
this.skeletonLoader = false;
}
}, (error) => {
if(error.status == 0){
this.getFromDb();
}
})
}
getFromDb() {
this.storage.get('pendente-list').then((pendentes) => {
this.listToPresent =pendentes
})
}
doRefresh() {
setTimeout(()=>{