diff --git a/src/app/pages/chat/messages/messages.page.html b/src/app/pages/chat/messages/messages.page.html index 3c15cac40..db6c33508 100644 --- a/src/app/pages/chat/messages/messages.page.html +++ b/src/app/pages/chat/messages/messages.page.html @@ -58,13 +58,13 @@
{{msg.msg}}
-
+
image
-
+
diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index b2dee8dfa..072fb8230 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -4,11 +4,14 @@ import { GestureController, Gesture, ModalController, NavParams, PopoverControll import { map } from 'rxjs/operators'; import { ViewDocumentPage } from 'src/app/modals/view-document/view-document.page'; import { EventPerson } from 'src/app/models/eventperson.model'; +import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTaskModalPage'; +import { SearchDocumentDetails, SearchFolderDetails } from 'src/app/models/search-document'; import { ContactsPage } from 'src/app/pages/chat/messages/contacts/contacts.page'; import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { ChatService } from 'src/app/services/chat.service'; import { FileService } from 'src/app/services/functions/file.service'; +import { ProcessesService } from 'src/app/services/processes.service'; import { synchro } from 'src/app/services/socket/synchro.service'; import { ToastService } from 'src/app/services/toast.service'; import { NewEventPage } from 'src/app/shared/agenda/new-event/new-event.page'; @@ -55,6 +58,10 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { showMessageOptions = false; selectedMsgId:string; + dicIndex = 0; + task: ExpedientTaskModalPageNavParamsTask; + LoadedDocument:any = null; + constructor( public popoverController: PopoverController, private modalController: ModalController, @@ -67,6 +74,7 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { private activatedRoute: ActivatedRoute, private fileService: FileService, private gestureController: GestureController, + private processes: ProcessesService, ) { /* this.activatedRoute.paramMap.subscribe(params => { if(params["params"].SerialNumber) { @@ -275,6 +283,8 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } viewDocument(file:any){ + console.log(file); + if(file.type == "file"){ let fullUrl = "https://www.tabularium.pt" + file.title_link; this.fileService.viewDocumentByUrl(fullUrl); @@ -285,17 +295,80 @@ export class MessagesPage implements OnInit, AfterViewInit, OnDestroy { } } + docIndex(index: number){ + this.dicIndex = index + } + async openViewDocumentModal(file:any){ - const modal = await this.modalController.create({ - component: ViewDocumentPage, - componentProps: { - file: file, - }, - cssClass: 'modal modal-desktop', - backdropDismiss: false + console.log(file); + const docId = file.DocId; + const applicationId: any = file.ApplicationId; + + this.processes.GetDocumentDetails(docId, applicationId).subscribe( async(res)=> { + + this.LoadedDocument = res; + this.LoadedDocument.Subject = this.LoadedDocument.Assunto + + let thedate = new Date(this.LoadedDocument.DateDispatch || this.LoadedDocument.DocDate); + //this.customDate = this.days[thedate.getDay()]+ ", " + thedate.getDate() +" de " + ( this.months[thedate.getMonth()]); + + let task: ExpedientTaskModalPageNavParamsTask + let document: SearchDocumentDetails = this.LoadedDocument + let folder: SearchFolderDetails = this.LoadedDocument + + if(this.LoadedDocument.ApplicationID == 361 || this.LoadedDocument.ApplicationId == 361) { + task = { + serialNumber: folder.DispatchNumber, + taskStartDate: folder.DateDispatch, + isEvent: true, + workflowInstanceDataFields: { + FolderID: folder['FolderId'] || folder['FolderID'] || folder.folderId, + Subject: folder.Assunto, + SourceSecFsID: folder.ApplicationID || folder['ApplicationId'], + SourceType: 'FOLDER', + SourceID: folder.folderId, + DispatchNumber: folder.DispatchNumber + }, + } + } + else if (document.ApplicationID == 8 || document.ApplicationId == 8) + { + task = { + serialNumber: document.DocId, + taskStartDate: document.DocDate, + isEvent: true, + workflowInstanceDataFields: { + FolderID: null, + Subject: document.Assunto, + DispatchNumber: null, + SourceSecFsID: document.ApplicationID || document.ApplicationId, + SourceType: 'DOC', + SourceID: document.DocId, + } + } + } else { + console.log('unexpected ApplicationID') + } + + + const modal = await this.modalController.create({ + component: ViewDocumentPage, + componentProps: { + trustedUrl: '', + file: { + title: task.workflowInstanceDataFields.Subject, + url: '', + title_link: '', + }, + Document: this.LoadedDocument, + applicationId: document.ApplicationID || document.ApplicationId, + docId: document.ApplicationID || document.ApplicationId, + folderId: folder['FolderId'] || folder['FolderID'] || folder.folderId + }, + cssClass: 'modal modal-desktop' + }); + await modal.present(); }); - await modal.present(); - modal.onDidDismiss(); } getChatMembers() { diff --git a/src/app/services/functions/file.service.ts b/src/app/services/functions/file.service.ts index cf4e11f4d..4dbdcd120 100644 --- a/src/app/services/functions/file.service.ts +++ b/src/app/services/functions/file.service.ts @@ -267,6 +267,8 @@ export class FileService { modal.onDidDismiss().then(async res=>{ const data = res.data; + alert('HERE') + if(data.selected){ const loader = this.toastService.loading(); @@ -275,6 +277,10 @@ export class FileService { console.log(res.data.selected.Id); console.log(res.data.selected.ApplicationType); + console.log('AQUIIIII'); + + alert('HERE 2') + let url = await this.processesService.GetDocumentUrl(res.data.selected.Id, res.data.selected.ApplicationType).toPromise(); let url_no_options: string = url.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); console.log(url_no_options); @@ -296,7 +302,9 @@ export class FileService { }], "file":{ "name": res.data.selected.Assunto, - "type": "application/webtrix" + "type": "application/webtrix", + "ApplicationId": res.data.selected.ApplicationType, + "DocId": res.data.selected.Id, } } }