diff --git a/src/app/models/draft.ts b/src/app/models/draft.ts index 12ff41945..8030192ee 100644 --- a/src/app/models/draft.ts +++ b/src/app/models/draft.ts @@ -1,4 +1,4 @@ -interface Document { +export interface IDraft { ApplicationId: string; Assunto: string; DocDate: string; diff --git a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts index ea35e81ee..1caab174b 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despacho-pr/despacho-pr.page.ts @@ -656,7 +656,7 @@ export class DespachoPrPage implements OnInit { "FolderId": "", "Sender": "", "SourceDocId": "", - "content": resd.data.content, + "content": resd.data.content || " ", "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, diff --git a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts index 80c86a4b8..aa0e79655 100644 --- a/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despacho/despacho.page.ts @@ -223,7 +223,7 @@ export class DespachoPage implements OnInit { "FolderId": "", "Sender": "", "SourceDocId": "", - "content": resd.data.content, + "content": resd.data.content || " ", "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, diff --git a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts index 3f2adbff4..92a04682f 100644 --- a/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts +++ b/src/app/pages/gabinete-digital/diplomas-assinar/diploma-assinar/diploma-assinar.page.ts @@ -493,7 +493,7 @@ export class DiplomaAssinarPage implements OnInit { "FolderId": "", "Sender": "", "SourceDocId": "", - "content": resd.data.content, + "content": resd.data.content || " ", "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, diff --git a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts index acf778492..92da3fe48 100644 --- a/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts +++ b/src/app/pages/gabinete-digital/diplomas/diploma/diploma.page.ts @@ -548,7 +548,7 @@ export class DiplomaPage implements OnInit { "FolderId": "", "Sender": "", "SourceDocId": "", - "content": resd.data.content, + "content": resd.data.content || " ", "path": resd.data.path, "ownerId": resd.data.ownerId, "status": resd.data.status, diff --git a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.module.ts b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.module.ts index 0137e24b9..673bd58b5 100644 --- a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.module.ts +++ b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.module.ts @@ -9,13 +9,28 @@ import { ViewerAttachmentPageRoutingModule } from './viewer-attachment-routing.m import { ViewerAttachmentPage } from './viewer-attachment.page'; import { EditorModule } from '@tinymce/tinymce-angular'; + + +import {MatMenuModule} from '@angular/material/menu'; +import {MatButtonModule} from '@angular/material/button'; + + +import {MatIconModule} from '@angular/material/icon'; + + + @NgModule({ imports: [ CommonModule, FormsModule, IonicModule, ViewerAttachmentPageRoutingModule, - EditorModule + EditorModule, + + + MatMenuModule, + MatButtonModule, + MatIconModule, ], declarations: [ViewerAttachmentPage, ], exports: [ViewerAttachmentPage], diff --git a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.html b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.html index 8785650ca..59a1ee23d 100644 --- a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.html +++ b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.html @@ -5,7 +5,7 @@
-
+
{{ attachment.Assunto }}Rascunho @@ -15,16 +15,41 @@ {{ attachment.DocDate | date: 'dd/MM/yy' }}
+ + + + + + + + + +
-
+
-
- - - diff --git a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts index f757ed1b2..79bef430c 100644 --- a/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts +++ b/src/app/pages/gabinete-digital/viewer-attachment/viewer-attachment.page.ts @@ -3,6 +3,12 @@ import { IonicSlides } from '@ionic/angular'; import { ViewerAttachment, ViewerAttachmentParams } from './prop'; import { MiddlewareRepositoryService } from "src/app/shared/repository/middleware/middleware-repository.service" import { DeviceService } from "src/app/services/device.service" +import { HttpErrorHandle } from 'src/app/services/http-error-handle.service'; +import { ProcessesService } from 'src/app/services/processes.service'; +import { Subject, fromEvent, interval } from 'rxjs'; +import { switchMap, take } from 'rxjs/operators'; +import { PermissionService } from 'src/app/services/permission.service'; + @Component({ selector: 'app-viewer-attachment', templateUrl: './viewer-attachment.page.html', @@ -19,32 +25,36 @@ export class ViewerAttachmentPage implements OnInit { editorContent: ""; content: "" private saveTimeout: any; + draft = false constructor( public middlewareRepositoryService: MiddlewareRepositoryService, - public DeviceService: DeviceService + public DeviceService: DeviceService, + private processes: ProcessesService, + private erroHandler: HttpErrorHandle, + public p: PermissionService, ) { } ngOnInit() { - this.validateParams() const selectFirst = this.taskViewerAttachment[0] - - } - async clickDocument(viewerAttachment: ViewerAttachment, i) { + if(!this.taskViewerAttachment[this.selectedIndex]?.content) { + this.draft = false + } else if (this.taskViewerAttachment[this.selectedIndex]?.content == '') { + this.draft = false + } else { + this.draft =true + } + let count = 0 try { setTimeout(async ()=> { this.selectedIndex = i; - this.iframeContainer.nativeElement.innerHTML = "" - this.iframeContainer - - const linkRequest = await this.middlewareRepositoryService.getViewerLink({ ApplicationId: viewerAttachment.ApplicationId, DocId: viewerAttachment.DocId @@ -61,8 +71,15 @@ export class ViewerAttachmentPage implements OnInit { newIframe.width = '100%' newIframe.height = '100%' + this.iframeContainer.nativeElement.innerHTML = "" + this.iframeContainer this.iframeContainer.nativeElement.appendChild(newIframe) + + this.iframeContainer.nativeElement.style.display = 'flex' + } else { + this.iframeContainer.nativeElement.style.display = 'none' } + }, 1000) } catch (error) { this.clickDocument(viewerAttachment, i); @@ -97,18 +114,38 @@ export class ViewerAttachmentPage implements OnInit { } - onEditorContentChange() { - console.log('Autosave successful! Content saved to local storage1.'); - if (this.saveTimeout) { - clearTimeout(this.saveTimeout); - } + private holdStart: number = 0; + private holdEnd: number = 0; + private holdDuration: number = 500; // Adjust the duration needed for a "hold" + private holdTimer: any; + private isHoldTriggered: boolean = false; - this.saveTimeout = setTimeout(() => { - this.saveDraft(); - clearTimeout(this.saveTimeout); - }, 5000); + startHold(event: TouchEvent, attachment: any, index: number): void { + event.preventDefault(); + this.holdStart = new Date().getTime(); + + // Handle your logic for the initial touch (if needed) + this.clickDocument(attachment, index); + + this.holdTimer = setTimeout(() => { + const currentTime = new Date().getTime(); + if (currentTime - this.holdStart >= this.holdDuration) { + // Your logic for "hold to click" action goes here + console.log('Hold to click action triggered!'); + console.log(event) + window['e'] = event; + (event as any).target.parentElement.querySelector('button').click() + this.isHoldTriggered = true; + } + }, this.holdDuration); } + endHold(): void { + clearTimeout(this.holdTimer); + this.holdEnd = new Date().getTime(); + this.isHoldTriggered = false; + } - saveDraft() {} + openExpedientActionsModal(a: any, b:any) {} + openBookMeetingModal(a: any) {} } diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html index 6a92d9bca..3b1e7f460 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.html @@ -92,7 +92,7 @@ -
+
diff --git a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts index eae7557e9..a271d5ae1 100644 --- a/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts +++ b/src/app/shared/gabinete-digital/generic/task-details/task-details.page.ts @@ -28,7 +28,6 @@ export class TaskDetailsPage implements OnInit { selectedIndex = 0 dropButton = true - constructor( public ThemeService: ThemeService, public DeviceService: DeviceService,