Files
doneit-web/src/app/services/document-viewer-option.service.ts
T
2024-02-15 17:11:59 +01:00

148 lines
3.8 KiB
TypeScript

import { Component, Injectable, OnInit } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import { 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 { AlertController, ModalController } from '@ionic/angular';
import { SearchList } from 'src/app/models/search-document';
import { DocumentSetUpMeetingPage } from '../modals/document-set-up-meeting/document-set-up-meeting.page';
class CreateProcessFromProcess {}
class createProcessFromAttachment {}
@Injectable({
providedIn: 'any'
})
export class DocumentViewerOptionService {
trustedUrl: any;
file: any;
applicationId: any;
docId: any
task: ExpedientTaskModalPageNavParamsTask;
Document: any
loader = true
attachment: SearchList[] = [];
constructor(
private modalController: ModalController
) {}
setData({file, applicationId, docId, Document, task, attachment = null}) {
this.file = file
this.applicationId = applicationId
this.docId = docId
this.Document = Document
this.task = task
this.attachment = attachment
}
async openOptions() {
const modal = await this.modalController.create({
component: EventDetailsDocumentsOptionsPage,
cssClass: 'model aside-modal search-submodal',
componentProps: {
content: "", // check
Document:this.Document // check
}
});
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 {
}
}
}, (error) => {
console.log(error)
})
}
async openBookMeetingModal() {
//console.log('this.Document----------', this.Document)
let classs;
if( window.innerWidth < 701) {
classs = 'book-meeting-modal modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
// check passing
const modal = await this.modalController.create({
component: DocumentSetUpMeetingPage,
componentProps: {
subject: this.task.workflowInstanceDataFields.Subject, // check
document: this.Document, // document
},
cssClass: classs,
backdropDismiss: false
});
modal.onDidDismiss().then(res=>{
//this.RouteService.goBack();
}, (error) => {
console.log(error)
});
await modal.present();
}
// efetuar despacho
async openExpedientActionsModal( taskAction: any) {
let classs;
if( window.innerWidth < 701) {
classs = 'modal modal-desktop'
} else {
classs = 'modal modal-desktop showAsideOptions'
}
// check passing
//console.log('this.Document----------openExpedientActionsModal', this.Document)
const modal = await this.modalController.create({
component: ExpedientTaskModalPage,
componentProps: {
taskAction: taskAction, // check
task: this.task, // check
document: this.Document, // nope
aplicationId: this.Document.ApplicationId || this.Document.ApplicationID, // check
applicationId: this.applicationId,
docId: this.docId,
createProcessFromFile: true,
},
cssClass: classs,
});
modal.onDidDismiss().then(
async(res)=>{}
, (error) => {
console.log(error)
}
);
await modal.present();
}
}