Files
doneit-web/src/app/modals/view-document/view-document.page.ts
T
2021-12-10 10:32:49 +01:00

136 lines
3.7 KiB
TypeScript

import { Component, OnInit } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { ModalController, NavParams } from '@ionic/angular';
import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTaskModalPage';
import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page';
import { ProcessesService } from 'src/app/services/processes.service';
import { EventDetailsDocumentsOptionsPage } from 'src/app/shared/popover/event-details-documents-options/event-details-documents-options.page';
import { DocumentSetUpMeetingPage } from '../document-set-up-meeting/document-set-up-meeting.page';
8
@Component({
selector: 'app-view-document',
templateUrl: './view-document.page.html',
styleUrls: ['./view-document.page.scss'],
})
export class ViewDocumentPage implements OnInit {
trustedUrl: any;
file: any;
applicationId: any;
docId: any
task: ExpedientTaskModalPageNavParamsTask;
Document: any
constructor(
private modalController: ModalController,
private navParams: NavParams,
private sanitazer: DomSanitizer,
private processes: ProcessesService,
) {
this.file = this.navParams.get('file');
this.applicationId = this.navParams.get('applicationId');
this.docId = this.navParams.get('docId');
this.Document = this.navParams.get('Document')
this.task = this.navParams.get('task')
if(!this.file.title) {
this.file.title = 'Sem Título'
}
console.log(this.task)
}
ngOnInit() {
this.processes.GetViewer(this.docId, this.applicationId).subscribe(res=> {
const link: string = res;
this.trustedUrl = this.sanitazer.bypassSecurityTrustResourceUrl(link);
}, ()=>{
this.close();
});
}
close() {
this.modalController.dismiss();
}
async openOptions() {
const modal = await this.modalController.create({
component: EventDetailsDocumentsOptionsPage,
cssClass: 'model aside-modal search-submodal',
componentProps: {
fulltask: this.task,
task: this.task
}
});
await modal.present();
modal.onDidDismiss().then((res)=>{
if(res.data) {
if(res.data.component == 'openBookMeetingModal') {
this.openBookMeetingModal()
} else if(res.data.component == 'openExpedientActionsModal') {
this.openExpedientActionsModal(res.data.taskAction)
} else {
console.log('component not found')
}
}
})
}
async openBookMeetingModal() {
let classs;
if( window.innerWidth < 701) {
classs = 'book-meeting-modal modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: DocumentSetUpMeetingPage,
componentProps: {
subject: this.task.workflowInstanceDataFields.Subject,
document: this.Document,
},
cssClass: classs,
backdropDismiss: false
});
await modal.present();
modal.onDidDismiss().then(res=>{
//this.location.back();
});
}
// efetuar despacho
async openExpedientActionsModal( taskAction: any) {
let classs;
if( window.innerWidth < 701) {
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
taskAction: taskAction,
task: this.task,
seachDocuments: this.Document,
aplicationId: this.Document.ApplicationId || this.Document.ApplicationID
},
cssClass: classs,
});
await modal.present();
modal.onDidDismiss().then( async(res)=>{});
}
}