From 724445084ac04f9cc11cb3a0c0d9d04a11c7e2cf Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 09:10:38 +0100 Subject: [PATCH 01/17] Update --- src/app/pages/chat/messages/messages.page.ts | 4 +- src/app/services/socket/synchro.service.ts | 40 ++++++++++++++++--- src/app/shared/chat/messages/messages.page.ts | 26 +++++++++++- 3 files changed, 61 insertions(+), 9 deletions(-) diff --git a/src/app/pages/chat/messages/messages.page.ts b/src/app/pages/chat/messages/messages.page.ts index be159bdd9..608e6e7d0 100644 --- a/src/app/pages/chat/messages/messages.page.ts +++ b/src/app/pages/chat/messages/messages.page.ts @@ -6,6 +6,7 @@ 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 { connection } from 'src/app/services/socket/synchro.service'; import { ToastService } from 'src/app/services/toast.service'; import { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page'; import { MessagesOptionsPage } from 'src/app/shared/popover/messages-options/messages-options.page'; @@ -29,6 +30,7 @@ export class MessagesPage implements OnInit, AfterViewChecked { roomId:string; el:any; + connection = connection constructor( public popoverController: PopoverController, @@ -187,7 +189,7 @@ async openChatOptions(ev?: any) { //this.loadMessages() await this.serverLongPull(); } - }); + }); } } diff --git a/src/app/services/socket/synchro.service.ts b/src/app/services/socket/synchro.service.ts index 7caea0a1a..a7df1fed8 100644 --- a/src/app/services/socket/synchro.service.ts +++ b/src/app/services/socket/synchro.service.ts @@ -23,10 +23,24 @@ export class SynchroService { private id: string = uuidv4(); public conected = false private url: string = '' + callback = function(){} constructor(){} - setUrl(wss:wss) { + setUrl() { + + let header ={ + id:'1234', + bluePrint: '12312123', + jwt: uuidv4() + } + + let wss: wss ={ + header, + url: 'wss://synchro-server.herokuapp.com/ws/some_url/', + type: 'reflect' + } + this.url = `${wss.url}${wss.header.id}/${wss.header.jwt}/${wss.header.bluePrint}/${this.id}/` } @@ -42,19 +56,28 @@ export class SynchroService { private onopen = () =>{ console.log('open ======================= welcome to socket server') - // this.connection.send(JSON.stringify({user:'user1'})); + } - public $send = (object: any) => { - let sendData = JSON.stringify(Object.assign({}, object)); + public $send(object: any) { + + let message = { + message: '{"person.adress.country":"1Angola"}', + username: '', + idConnection: this.id + } + + let sendData = JSON.stringify(Object.assign({}, message)); + this.connection.send(sendData); } private onmessage = async (event: any)=> { - + // alert('message') + this.callback() } - private onclose=(event:any)=>{ + private onclose=(event:any)=> { setTimeout(() => { if (event.wasClean) { console.log(`[close] Connection closed cleanly, code=${event.code} reason=${event.reason}`); @@ -72,3 +95,8 @@ export class SynchroService { console.log(`[error] ${event.message}`); } } + + +export const connection = new SynchroService() +connection.setUrl() +connection.connect() \ No newline at end of file diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 3111da46c..c8a0524fa 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -10,6 +10,7 @@ import { MessagesOptionsPage } from 'src/app/shared/popover/messages-options/mes import { ProfileComponent } from '../../headers/header-no-search/profile/profile.page'; import { ContactsPage } from '../new-group/contacts/contacts.page'; import { Router } from '@angular/router'; +import { connection } from 'src/app/services/socket/synchro.service'; @Component({ selector: 'app-messages', @@ -33,6 +34,9 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { @Input() roomId:string; @Input() showMessages:string; + + connection = connection + constructor( public popoverController: PopoverController, private modalController: ModalController, @@ -46,6 +50,21 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { ) { this.loggedUser = authService.ValidatedUserChat['data']; + + + this.connection.callback = function() { + this.chatService.getRoomMessages(this.roomId).subscribe(async res => { + + if (res == 502) { + + } else if (res != 200) { + this.messages = res['messages'].reverse(); + console.log(this.messages); + } + }); + } + + /* this.dm = this.navParams.get('dm'); */ } ngOnChanges(changes: SimpleChanges): void { @@ -103,7 +122,9 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { } } - sendMessage(){ + sendMessage() { + + this.connection.$send({}) let body = { "message": @@ -292,7 +313,8 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { return await modal.present(); } - async serverLongPull(){ + async serverLongPull() { + this.chatService.getRoomMessages(this.roomId).subscribe(async res => { if (res == 502) { From 469717cd3f8c48ef00bdb8d3c00ce8f1e655cbb7 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 12:52:26 +0100 Subject: [PATCH 02/17] Improve --- src/app/models/event.model.ts | 134 ++++++++++++++---- .../agenda/edit-event/edit-event.page.ts | 2 +- .../despachos-pr/despachos-pr.page.ts | 2 +- .../despachos/despachos.page.ts | 1 - .../book-meeting-modal.page.ts | 18 +-- .../edit-event-to-approve.page.ts | 6 +- .../edit-event-to-approve/edit-event.page.ts | 13 +- .../despachos-pr-options.page.html | 2 +- .../despachos-pr-options.page.ts | 18 +-- 9 files changed, 133 insertions(+), 63 deletions(-) diff --git a/src/app/models/event.model.ts b/src/app/models/event.model.ts index 415ee7158..a60028ad6 100644 --- a/src/app/models/event.model.ts +++ b/src/app/models/event.model.ts @@ -1,7 +1,15 @@ -import { EventRecurrence } from './agenda/eventrecurrence.model'; import { EventBody } from './eventbody.model'; import { EventPerson } from './eventperson.model'; + +export interface EventRecurrence { + Type: number | string; + Day?: number; + DayOfWeek?: number; + Month?: number | string; + LastOccurrence?: Date | string; +} + export class Event{ ParentId?: string; EventId: string; @@ -29,27 +37,105 @@ export class Event{ } */ } -export class EventToApproveEdit { - "serialNumber": "9296_86" - "Body": "Testando" - "Location": "Testland" - "Subject": "Teste 0123" - "StartDate": "2021-05-12T10:30:00" - "EndDate": "2021-05-12T11:30:00" - "Private": false - "ReviewUserComment": "" - "MDName": "Paulo Pinto" - "OccurrenceType": "-1" - "LastOccurrence": "2021-07-14" - "MDEmail": "paulo.pinto@gabinetedigital.local" - "Agenda": "Oficial" | "Pessoal" - "EventType": "Reunião" - "IsRecurring": false - "IsAllDayEvent": true - "ParticipantsList": { - "EmailAddress": "gilson.manuel@gabinetedigital.local", - "Name": "Gilson Manuel", - "IsRequired": true - }[] - "Message": "Recebeu um novo" + +// event to approve details ================================================ +export interface Originator { + email: string; + manager: string; + displayName: string; + fqn: string; + username: string; } + +export interface WorkflowInstanceDataFields { + Body: string; + Location: string; + Subject: string; + StartDate: string; + EndDate: string; + Participants?: string; + CC?: string; + ReviewUserComment?: string; + Role?: number; + MDName: string; + MDEmail: string; + OriginatorComments?: string; + Status?: string; + TimeZone?: string; + Agenda: string; + EventType: string; + EventID?: string; + IsRecurring?: any; + HasAttachments?: boolean; + ParticipantsList?: any; + EventOrganizer?: string; + CreateEvent?: string; + IsAllDayEvent: boolean; + SerializedItem?: string; + MDwxUserID?: number; + DeserializedItem?: string; + Message: string; + InstanceId: string; + Header?: string; + RecurringString?: string; + LastOccurrence: string; + OccurrenceType: string; + SerialNumber?: string; + UserEmail?: string; + PREmail?: string; +} + +export interface EventToApproveDetails { + serialNumber: string; + originator?: Originator; + actions?: string[]; + activityInstanceName?: string; + workflowInstanceFolio?: string; + taskStartDate?: string; + workflowID?: number; + workflowInstanceID?: number; + workflowName?: string; + workflowDisplayName?: string; + formURL?: string; + workflowInstanceDataFields: WorkflowInstanceDataFields; + totalDocuments?: any; + Documents?: any; +} +// ================================================================================ + + +// event event to approve ================ +export interface ParticipantsList { + Id: number; + EmailAddress: string; + Name: string; + IsRequired: boolean; +} + + +export interface EventToApproveEdit { + SerialNumber: string; + Body: string; + Location: string; + Subject: string; + StartDate: Date | string; + EndDate: Date | string; + ReviewUserComment: string; + MDName: string; + MDEmail: string; + IsAllDayEvent: boolean; + Status: string; + EventType: string; + IsRecurring: boolean; + ParticipantsList: ParticipantsList[]; + Message: string; + EventRecurrence: EventRecurrence; + Participants?: string; + CC?: string; + Agenda: string; + HasAttachments?: boolean; + EventOrganizer?: string; + InstanceId?: string; +} + +// ================================================================================ \ No newline at end of file diff --git a/src/app/pages/agenda/edit-event/edit-event.page.ts b/src/app/pages/agenda/edit-event/edit-event.page.ts index 88c42e969..346b38167 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.ts +++ b/src/app/pages/agenda/edit-event/edit-event.page.ts @@ -60,7 +60,7 @@ export class EditEventPage implements OnInit { this.postEvent = new Event(); this.isEventEdited = false; - this.postEvent.EventRecurrence = {Type:'-1'}; + this.postEvent.EventRecurrence = { Type:'-1', LastOccurrence:''}; this.postEvent = this.navParams.get('event'); this.caller = this.navParams.get('caller'); this.initCalendarName = this.postEvent.CalendarName; diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts index 360aa167a..82da90c54 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -253,7 +253,7 @@ export class DespachosPrPage implements OnInit { } let classs; - if( window.innerWidth <= 800){ + if( window.innerWidth <= 800) { classs = 'book-meeting-modal modal modal-desktop' } else { classs = 'modal modal-desktop showAsideOptions' diff --git a/src/app/pages/gabinete-digital/despachos/despachos.page.ts b/src/app/pages/gabinete-digital/despachos/despachos.page.ts index 728eb2be2..1338a40c5 100644 --- a/src/app/pages/gabinete-digital/despachos/despachos.page.ts +++ b/src/app/pages/gabinete-digital/despachos/despachos.page.ts @@ -6,7 +6,6 @@ import { ModalController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { AuthService } from 'src/app/services/auth.service'; import { NavigationStart, Router } from '@angular/router'; -import { DespachoStore } from 'src/app/store/despacho-store.service'; import { DespachoPageStore } from 'src/app/store/despachos-page-store.service'; @Component({ diff --git a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts index 6ea2a843d..e856a75e6 100644 --- a/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page.ts @@ -19,7 +19,6 @@ import * as _moment from 'moment'; import * as _rollupMoment from 'moment'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; -import { MAT_DATE_LOCALE } from '@angular/material/core'; const moment = _rollupMoment || _moment; @@ -124,7 +123,6 @@ export class BookMeetingModalPage implements OnInit { private attachmentsService: AttachmentsService, private calendarService: EventsService, authService: AuthService, - private animationController: AnimationController, private toastService: ToastService, private activatedRoute: ActivatedRoute, ) { @@ -137,17 +135,12 @@ export class BookMeetingModalPage implements OnInit { this.eventBody = { BodyType : "1", Text : ""}; this.postData.Body = this.eventBody; - /* Initialize 'Subject' with the title of the expedient */ this.postData.Subject = this.task.Folio; this.postData.CalendarName = "Oficial"; - /* this.postData.StartDate = new Date(); */ - /* Set + 30minutes to seleted datetime */ - /* this.postData.EndDate = new Date(selectedEndDate.setMinutes(new Date().getMinutes() + 30)); */ this.dateControlStart = new FormControl(moment(new Date())); this.dateControlEnd = new FormControl(moment(new Date(new Date().getTime() + 15 * 60000))); - this.postData.Category = 'Reunião' } @@ -264,8 +257,6 @@ export class BookMeetingModalPage implements OnInit { }, } - console.log(this.postData); - if(this.task.FsId == '8') { const loader = this.toastService.loading() try { @@ -314,6 +305,11 @@ export class BookMeetingModalPage implements OnInit { } } + + if(true) { + // + } + } async addParticipants() { @@ -443,10 +439,6 @@ export class BookMeetingModalPage implements OnInit { this.taskParticipantsCc = taskParticipantsCc; } - goToGabinete() { - this.router.navigate(['/home/gabinete-digital']); - } - setIntervenient(data){ this.taskParticipants = data; } diff --git a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts index e62ca8002..624de04ca 100644 --- a/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts +++ b/src/app/shared/agenda/edit-event-to-approve/edit-event-to-approve.page.ts @@ -12,6 +12,7 @@ import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; import { NgxMatDateFormats } from '@angular-material-components/datetime-picker'; import { removeDuplicate } from 'src/plugin/removeDuplicate.js' +import { EventToApproveEdit } from 'src/app/models/event.model'; const CUSTOM_DATE_FORMATS: NgxMatDateFormats = { parse: { @@ -83,7 +84,7 @@ export class EditEventToApprovePage implements OnInit { StartDate: '', MDEmail: '', MDName: '', - IsAllDayEvent: '', + IsAllDayEvent: false, Message: '' } } @@ -280,7 +281,7 @@ export class EditEventToApprovePage implements OnInit { } }) - const event: any = { + const event: EventToApproveEdit = { SerialNumber: this.eventProcess.serialNumber, Body: this.eventProcess.workflowInstanceDataFields.Body, Location: this.eventProcess.workflowInstanceDataFields.Location, @@ -288,6 +289,7 @@ export class EditEventToApprovePage implements OnInit { StartDate: this.eventProcess.workflowInstanceDataFields.StartDate, EndDate: this.eventProcess.workflowInstanceDataFields.EndDate, ReviewUserComment: '', + Agenda: this.eventProcess.workflowInstanceDataFields.Agenda, MDName: this.eventProcess.workflowInstanceDataFields.MDName, MDEmail: this.eventProcess.workflowInstanceDataFields.MDEmail, IsAllDayEvent: this.eventProcess.workflowInstanceDataFields.IsAllDayEvent, diff --git a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts index f0392f42d..029bbfc3e 100644 --- a/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts +++ b/src/app/shared/gabinete-digital/edit-event-to-approve/edit-event.page.ts @@ -1,7 +1,5 @@ import { Component, OnInit, ViewChild } from '@angular/core'; -import { FormControl } from '@angular/forms'; import { AlertController, AnimationController, ModalController, NavParams } from '@ionic/angular'; -import * as moment from 'moment'; import { Attachment } from 'src/app/models/attachment.model'; import { EventPerson } from 'src/app/models/eventperson.model'; import { SearchDocument } from 'src/app/models/search-document'; @@ -11,7 +9,7 @@ import { AttachmentsService } from 'src/app/services/attachments.service'; import { EventsService } from 'src/app/services/events.service'; import { ProcessesService } from 'src/app/services/processes.service'; import { ToastService } from 'src/app/services/toast.service'; -import { Event } from '../../../models/event.model'; +import { Event, EventToApproveEdit } from '../../../models/event.model'; import { NgxMatDateFormats, NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; import { NavigationExtras, Router } from '@angular/router'; @@ -71,7 +69,6 @@ export class EditEventToApproveComponent implements OnInit { Body: "", OccurrenceType: '', LastOccurrence: '', - IsRecurring: false, ParticipantsList: [], Agenda: '', EndDate: '', @@ -82,8 +79,9 @@ export class EditEventToApproveComponent implements OnInit { StartDate: '', MDEmail: '', MDName: '', - IsAllDayEvent: '', - Message: '' + IsAllDayEvent: false, + Message: '', + IsRecurring: false } } @@ -235,7 +233,7 @@ export class EditEventToApproveComponent implements OnInit { } }) - const event: any = { + const event: EventToApproveEdit = { SerialNumber: this.eventProcess.serialNumber, Body: this.eventProcess.workflowInstanceDataFields.Body, Location: this.eventProcess.workflowInstanceDataFields.Location, @@ -247,6 +245,7 @@ export class EditEventToApproveComponent implements OnInit { MDEmail: this.eventProcess.workflowInstanceDataFields.MDEmail, IsAllDayEvent: this.eventProcess.workflowInstanceDataFields.IsAllDayEvent, Status: null, + Agenda: this.eventProcess.workflowInstanceDataFields.Agenda, EventType: this.eventProcess.workflowInstanceDataFields.EventType, IsRecurring: this.eventProcess.workflowInstanceDataFields.IsRecurring, Message: this.eventProcess.workflowInstanceDataFields.Message, diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html index b10f5950a..4d047a03a 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html @@ -34,7 +34,7 @@
- + diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts index ade13929f..d5a6d8a26 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts @@ -4,7 +4,7 @@ import { AttachmentsService } from 'src/app/services/attachments.service'; import { EventsService } from 'src/app/services/events.service'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; -import { AnimationController, MenuController, ModalController, PopoverController } from '@ionic/angular'; +import { ModalController, PopoverController } from '@ionic/angular'; import { AlertService } from 'src/app/services/alert.service'; import { CreateProcessPage } from 'src/app/modals/create-process/create-process.page'; import { DelegarPage } from 'src/app/modals/delegar/delegar.page'; @@ -322,23 +322,15 @@ export class DespachosPrOptionsPage implements OnInit { } finally { loader.remove() } - } - goBack() { - - // let navigationExtras: NavigationExtras = { - // queryParams: { - // "despachospr": true, - // } - // }; - - // this.router.navigate(['/home/gabinete-digital'], navigationExtras); - this.location.back() - + this.cancle() } + cancle() { + this.popoverController.dismiss() + } } From e08a0a2388b587d53173fefab7a5b8390fadafdc Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 13:00:20 +0100 Subject: [PATCH 03/17] Remove --- src/app/shared/chat/messages/messages.page.ts | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/src/app/shared/chat/messages/messages.page.ts b/src/app/shared/chat/messages/messages.page.ts index 8e52e0f70..10e256568 100644 --- a/src/app/shared/chat/messages/messages.page.ts +++ b/src/app/shared/chat/messages/messages.page.ts @@ -51,8 +51,6 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { ) { this.loggedUser = authService.ValidatedUserChat['data']; - this.connection.callback = this.load - /* this.dm = this.navParams.get('dm'); */ } ngOnChanges(changes: SimpleChanges): void { @@ -300,36 +298,36 @@ export class MessagesPage implements OnInit, AfterViewChecked, OnChanges { return await modal.present(); } - async serverLongPull() { + async serverLongPull(){ this.chatService.getRoomMessages(this.roomId).subscribe(async res => { - if (res == 502) { - // Connection timeout - // happens when the connection was pending for too long - // let's reconnect - // await this.serverLongPull(); - } else if (res != 200) { - // Show Error - //showMessage(response.statusText); - //this.loadMessages() - this.messages = res['messages'].reverse(); - console.log(this.messages); - // Reconnect in one second - if(this.route.url != "/home/chat"){ - console.log("Timer message stop") - } else { - //await new Promise(resolve => setTimeout(resolve, 1000)); - // await this.serverLongPull(); - console.log('Timer message running') - } - + if (res == 502) { + // Connection timeout + // happens when the connection was pending for too long + // let's reconnect + await this.serverLongPull(); + } else if (res != 200) { + // Show Error + //showMessage(response.statusText); + //this.loadMessages() + this.messages = res['messages'].reverse(); + console.log(this.messages); + // Reconnect in one second + if(this.route.url != "/home/chat"){ + console.log("Timer message stop") } else { - // Got message - //let message = await response.text(); - //this.loadMessages() - //await this.serverLongPull(); + await new Promise(resolve => setTimeout(resolve, 1000)); + await this.serverLongPull(); + console.log('Timer message running') } - }); + + } else { + // Got message + //let message = await response.text(); + //this.loadMessages() + await this.serverLongPull(); + } + }); } } From 5cb25924c9140eb6c745a2243ce209596df91b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Eudes=20In=C3=A1cio?= Date: Thu, 19 Aug 2021 13:58:43 +0100 Subject: [PATCH 04/17] Notification delete feature added --- config.xml | 2 +- src/app/modals/profile/profile.page.ts | 77 ++++++++++++++++------- src/app/services/notifications.service.ts | 2 +- 3 files changed, 55 insertions(+), 26 deletions(-) diff --git a/config.xml b/config.xml index 97d2fb38d..7b18d7926 100644 --- a/config.xml +++ b/config.xml @@ -3,7 +3,7 @@ gabinete digital An awesome Ionic/Cordova app. Ionic Framework Team - + diff --git a/src/app/modals/profile/profile.page.ts b/src/app/modals/profile/profile.page.ts index 944d2eb15..0dbb39fe9 100644 --- a/src/app/modals/profile/profile.page.ts +++ b/src/app/modals/profile/profile.page.ts @@ -42,26 +42,48 @@ export class ProfilePage implements OnInit { } ngOnInit() { + this.storageservice.get("Notifications").then((value) => { + console.log("Init get store", value) var data = JSON.parse(value); - data.forEach((element, i) => { + console.log("Init store parse", data) + data.forEach((element,i) => { console.log("ARaaAA", element) - var payload = JSON.parse(element.payload) - let notificationObject = { - index: i, - alert: element.alert, - Service: payload.Service, - Object: payload.Object, - IdObject: payload.IdObject, - FolderId: payload.FolderId, - desc: payload.desc, - dateInit: payload.dateInit, - dateEnd: payload.dateEnd, - Location: payload.Location, - TypeAgenda: payload.TypeAgenda, - Status: payload.Status + let notificationObject; + if(element.payload){ + var payload = JSON.parse(element.payload) + notificationObject = { + index: i, + alert: element.alert, + Service: payload.Service, + Object: payload.Object, + IdObject: payload.IdObject, + FolderId: payload.FolderId, + desc: payload.desc, + dateInit: payload.dateInit, + dateEnd: payload.dateEnd, + Location: payload.Location, + TypeAgenda: payload.TypeAgenda, + Status: payload.Status + } + } else { + notificationObject = { + index: i, + alert: element.alert, + Service: element.Service, + Object: element.Object, + IdObject: element.IdObject, + FolderId: element.FolderId, + desc: element.desc, + dateInit: element.dateInit, + dateEnd: element.dateEnd, + Location: element.Location, + TypeAgenda: element.TypeAgenda, + Status: element.Status + } } + this.DataArray.push(notificationObject) }); @@ -69,6 +91,8 @@ export class ProfilePage implements OnInit { console.log("Notificaaa", this.notificationdata) }) console.log("Notificaaa", this.notificationdata) + + } @@ -124,16 +148,21 @@ export class ProfilePage implements OnInit { this.zone.run(() => this.router.navigate(['/home/gabinete-digital/expedientes-pr', IdObject, 'gabinete-digital'])); } - const indexx = this.notificationdata.indexOf(index, 0); - if (indexx > -1) { - this.notificationdata.splice(index, 1); - console.log('This notificatio', this.notificationdata); - } + this.deleteNotification(index); + + + } + + deleteNotification(index){ + console.log("Delete notification first stata", this.notificationdata) + this.notificationdata = this.notificationdata.filter(item=>item.index !=index ); - this.notificationservice.removeDepartment(index); - console.log('This notificatio 2', this.notificationdata); - - + this.storageservice.store("Notifications",JSON.stringify(this.notificationdata)).then(() =>{ + this.storageservice.get("Notifications").then((value) =>{ + console.log("notfication state", value, ) + }); + }); + console.log("Delete notification last stata", this.notificationdata) } diff --git a/src/app/services/notifications.service.ts b/src/app/services/notifications.service.ts index d253a06ed..906b4cc32 100644 --- a/src/app/services/notifications.service.ts +++ b/src/app/services/notifications.service.ts @@ -195,7 +195,7 @@ export class NotificationsService { var notificationReceived = (message) => { //this.jsonstore.createCollection('Notifications',message); this.DataArray.push(message) - console.log("On ReceiveNotification", message) + console.log("On ReceiveNotification", this.DataArray) this.storageService.store("Notifications",JSON.stringify(this.DataArray)) console.log(message); From dc7796cacff39a31bb76fb93ba346901f8c53ea8 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 15:40:21 +0100 Subject: [PATCH 05/17] Improve --- .../document-detail/document-detail.page.ts | 16 +++--- src/app/models/ExpedientTaskModalPage.ts | 10 ++-- src/app/models/dailyworktask.model.ts | 21 ++++++++ .../agenda/view-event/view-event.page.ts | 5 -- .../despachos-pr/despachos-pr.page.ts | 45 ---------------- .../expedient-task-modal.page.ts | 23 ++++---- .../expediente-detail.page.ts | 4 +- .../expediente-pr/expediente-pr.page.ts | 1 + src/app/pages/search/search.page.ts | 53 ++++++++++--------- src/app/pipes/search-document.pipe.ts | 3 +- src/app/services/auth.service.ts | 2 + src/app/services/processes.service.ts | 2 +- .../agenda/view-event/view-event.page.ts | 4 +- .../opts-expediente-pr.page.ts | 5 +- .../opts-expediente/opts-expediente.page.ts | 10 ++-- .../searched-document-options.page.ts | 6 --- 16 files changed, 93 insertions(+), 117 deletions(-) diff --git a/src/app/modals/document-detail/document-detail.page.ts b/src/app/modals/document-detail/document-detail.page.ts index 5201e2bae..a69824d57 100644 --- a/src/app/modals/document-detail/document-detail.page.ts +++ b/src/app/modals/document-detail/document-detail.page.ts @@ -70,10 +70,12 @@ export class DocumentDetailPage implements OnInit { taskStartDate: folder.DateDispatch, isEvent: true, workflowInstanceDataFields: { - FsId: folder.ApplicationID || folder.ApplicationId, FolderID: folder['FolderId'] || folder['FolderID'] || folder.folderId, - DocId: folder.DispatchNumber, // not used - Subject: folder.Assunto + Subject: folder.Assunto, + SourceSecFsID: folder.ApplicationID || folder['ApplicationId'], + SourceType: 'FOLDER', + SourceID: folder.folderId, + DispatchNumber: folder.DispatchNumber }, } } else if (document.ApplicationID == 8 || document.ApplicationId == 8) { @@ -82,10 +84,12 @@ export class DocumentDetailPage implements OnInit { taskStartDate: document.DocDate, isEvent: true, workflowInstanceDataFields: { - FsId: document.ApplicationID || document.ApplicationId, FolderID: null, - DocId: document.DocId || document['DocID'], - Subject: document.Assunto + Subject: document.Assunto, + DispatchNumber: null, + SourceSecFsID: document.ApplicationID || document.ApplicationId, + SourceType: 'DOC', + SourceID: document.DocId, } } } else { diff --git a/src/app/models/ExpedientTaskModalPage.ts b/src/app/models/ExpedientTaskModalPage.ts index 411693e89..2afe880ce 100644 --- a/src/app/models/ExpedientTaskModalPage.ts +++ b/src/app/models/ExpedientTaskModalPage.ts @@ -5,12 +5,12 @@ export class ExpedientTaskModalPageNavParamsTask { taskStartDate: string isEvent: boolean workflowInstanceDataFields: { - FsId: any, - FolderID: any, - DocId: any, - DocID?: any + FolderID: any, // folder Subject: string, - DispatchNumber?: any + DispatchNumber?: any, + SourceSecFsID: any, // aplication id + SourceType: 'DOC' | 'FOLDER', + SourceID: any // doc id } } diff --git a/src/app/models/dailyworktask.model.ts b/src/app/models/dailyworktask.model.ts index a927cf697..bba984a56 100644 --- a/src/app/models/dailyworktask.model.ts +++ b/src/app/models/dailyworktask.model.ts @@ -93,3 +93,24 @@ export class customTask { activityInstanceName : string Status : string } + + + + +export interface expedienteTask { + SerialNumber: string + Folio : string + Senders: string + CreateDate : string + DocumentURL : string + Note: any + FolderId : number | string + Remetente : string + DocId : number + FsId: any + WorkflowName : string + Status : string + DispatchNumber: any + AttachmentsProcessLastInstanceID: any + InstanceID: any +} \ No newline at end of file diff --git a/src/app/pages/agenda/view-event/view-event.page.ts b/src/app/pages/agenda/view-event/view-event.page.ts index 54091fbd3..602b61ae7 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -8,8 +8,6 @@ import { Event } from '../../../models/event.model'; import { EditEventPage } from '../edit-event/edit-event.page'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ProcessesService } from 'src/app/services/processes.service'; -import { ExpedientTaskModalPage } from '../../gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; -import { BookMeetingModalPage } from '../../gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page'; import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; import { ToastService } from 'src/app/services/toast.service'; @@ -207,9 +205,6 @@ export class ViewEventPage implements OnInit { async editEventDetail() { - console.log(this.caller); - - const modal = await this.modalController.create({ component: EditEventPage, componentProps: { diff --git a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts index 82da90c54..28aa74d78 100644 --- a/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts +++ b/src/app/pages/gabinete-digital/despachos-pr/despachos-pr.page.ts @@ -190,51 +190,6 @@ export class DespachosPrPage implements OnInit { }); } - // old - async openExpedientActionsModal(taskAction: any, task: any) { - //this.modalController.dismiss(); - let classs; - if( window.innerWidth <= 800){ - classs = 'modal modal-desktop' - } else { - classs = 'modal modal-desktop showAsideOptions' - } - - const doc = this.loadedAttachments[ this.dicIndex]; - - task = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - }, - } - - const modal = await this.modalController.create({ - component: ExpedientTaskModalPage, - componentProps: { - taskAction: taskAction, - task: task, - profile: this.profile, - }, - cssClass: classs, - }); - await modal.present(); - modal.onDidDismiss().then(res=>{ - console.log(res['data']); - if(res['data']=='openDiscart'){ - console.log('open discart'); - - // this.distartExpedientModal(); - - } - - }); - } async openBookMeetingModal(task: customFullTask) { diff --git a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts index 410e402d9..8fe5cb40c 100644 --- a/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page.ts @@ -125,26 +125,19 @@ export class ExpedientTaskModalPage implements OnInit { Nad: 30, Subject: '', Message: '', - SourceSecFsId: this.task.workflowInstanceDataFields.FsId, //361 - SourceType: 'DOC', //FOLDER - SourceId: this.task.workflowInstanceDataFields.DocID, //FolderId + SourceSecFsId: this.task.workflowInstanceDataFields.SourceSecFsID, //361 + SourceType: this.task.workflowInstanceDataFields.SourceType, //FOLDER + SourceId: this.task.workflowInstanceDataFields.SourceID, //FolderId DeadlineType: '', SubjectTypes: this.selectedTypes, NumberPDPP: this.task.workflowInstanceDataFields.DispatchNumber, }; + console.log('task 123123', this.task) + console.log('this.aplicationId', this.aplicationId) - if(this.aplicationId == 361) { - this.dispatchFolder.SourceType = 'FOLDER' - this.dispatchFolder.SourceId = this.task.workflowInstanceDataFields.FolderID - } else if(this.aplicationId == 8) { - this.dispatchFolder.SourceType = 'DOC' - this.dispatchFolder.SourceId = this.task.workflowInstanceDataFields.DocId - } - - - + this.postData.DispatchFolder = this.dispatchFolder; this.postData.UsersSelected = this.participants; /* By Default TypeDeadline should be 'Normal' */ @@ -152,6 +145,8 @@ export class ExpedientTaskModalPage implements OnInit { /* Initialize 'Subject' with the title of the expedient */ this.postData.DispatchFolder.Subject = this.task.workflowInstanceDataFields.Subject; this.profile = this.navParams.get('profile'); + + console.log(this.postData); } async setAdding(type: "intervenient" | "CC") { @@ -159,7 +154,7 @@ export class ExpedientTaskModalPage implements OnInit { } ngOnInit() { - console.log(this.postData); + this.taskDate = new Date(this.task.taskStartDate); if(!this.task.hasOwnProperty('isEvent')) { diff --git a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts index 30e702383..f28f11e24 100644 --- a/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts +++ b/src/app/pages/gabinete-digital/expediente/expediente-detail/expediente-detail.page.ts @@ -20,6 +20,7 @@ import { AddNotePage } from 'src/app/modals/add-note/add-note.page'; import { PermissionService } from 'src/app/OtherService/permission.service'; import { SearchDocumentPipe } from 'src/app/pipes/search-document.pipe'; import { ExpedientesService } from 'src/app/Rules/expedientes.service'; +import { expedienteTask } from 'src/app/models/dailyworktask.model'; @Component({ selector: 'app-expediente-detail', @@ -33,7 +34,7 @@ export class ExpedienteDetailPage implements OnInit { customDate:any; - task: any; + task: expedienteTask; fulltask: any; eventsList: Event[]; serialNumber: string; @@ -256,6 +257,7 @@ export class ExpedienteDetailPage implements OnInit { "AttachmentsProcessLastInstanceID": res.workflowInstanceDataFields.AttachmentsProcessLastInstanceID, "InstanceID": res.workflowInstanceDataFields.InstanceID } + this.fulltask = res; let thedate = new Date(this.task.CreateDate); diff --git a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts index 4546c2355..3781913e8 100644 --- a/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts +++ b/src/app/pages/gabinete-digital/expedientes-pr/expediente-pr/expediente-pr.page.ts @@ -535,6 +535,7 @@ export class ExpedientePrPage implements OnInit { } async openOptions(taskAction?: any) { + const popover = await this.popoverController.create({ component: OptsExpedientePrPage, cssClass: 'exp-options', diff --git a/src/app/pages/search/search.page.ts b/src/app/pages/search/search.page.ts index 7a0f27203..dad7fcbc1 100644 --- a/src/app/pages/search/search.page.ts +++ b/src/app/pages/search/search.page.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController, NavParams } from '@ionic/angular'; import { SearchService } from "../../services/search.service"; import { SearchCategory } from "src/app/models/search-category"; -import { SearchDocument } from "src/app/models/search-document"; +import { FromSearchDocument, SearchDocument, SearchFolder } from "src/app/models/search-document"; import { formatDate } from '@angular/common'; import { SenderPage } from 'src/app/pages/search/sender/sender.page'; import { OrganicEntityPage } from 'src/app/pages/search/organic-entity/organic-entity.page'; @@ -11,6 +11,7 @@ import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page'; import { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page'; import { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page'; import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page'; +import { task } from 'src/app/models/ExpedientTaskModalPage'; @@ -626,30 +627,34 @@ export class SearchPage implements OnInit { } - async openExpedientActionsModal(doc: any) { + // async openExpedientActionsModal(doc: SearchDocument) { - let customTask = { - serialNumber: doc.SourceId, - taskStartDate: doc.CreateDate, - isEvent: true, - workflowInstanceDataFields: { - FsId: doc.ApplicationId, - FolderID: null, - DocId: doc.SourceId, - Subject: doc.SourceName - }, - } + // let customTask: task = { + // serialNumber: doc.SourceId, + // taskStartDate: doc.CreateDate, + // isEvent: true, + // workflowInstanceDataFields: { + // FolderID: , + // Subject: , + // SourceSecFsID: , + // SourceType: , + // SourceID: , + // FolderID: null, + // DocId: doc.SourceId, + // Subject: doc.SourceName, + // }, + // } - const popover = await this.modalController.create({ - component: OptsExpedientePage, - cssClass: 'model aside-modal search-submodal', - componentProps: { - fulltask: customTask, - task: customTask - }, - //translucent: true - }); - return await popover.present(); - } + // const popover = await this.modalController.create({ + // component: OptsExpedientePage, + // cssClass: 'model aside-modal search-submodal', + // componentProps: { + // fulltask: customTask, + // task: customTask + // }, + // //translucent: true + // }); + // return await popover.present(); + // } } diff --git a/src/app/pipes/search-document.pipe.ts b/src/app/pipes/search-document.pipe.ts index 0a9474bd7..70d90666a 100644 --- a/src/app/pipes/search-document.pipe.ts +++ b/src/app/pipes/search-document.pipe.ts @@ -1,6 +1,5 @@ import { Pipe, PipeTransform } from '@angular/core'; -import { ExpedientTaskModalPageNavParamsTask } from '../models/ExpedientTaskModalPage'; -import { Attachments, FromSearchDocument, SearchDocument, SearchFolder } from '../models/search-document'; +import { Attachments, SearchDocument } from '../models/search-document'; @Pipe({ name: 'searchDocument' diff --git a/src/app/services/auth.service.ts b/src/app/services/auth.service.ts index e5b42f8a1..09e130f24 100644 --- a/src/app/services/auth.service.ts +++ b/src/app/services/auth.service.ts @@ -11,6 +11,7 @@ import { AlertController } from '@ionic/angular'; import { LocalstoreService } from '../store/localstore.service'; import { ToastService } from './toast.service'; import { UserStore } from 'src/app/store/user.service' +import { SHA1, SHA256, AES, enc } from 'crypto-js' @Injectable({ providedIn: 'root' @@ -50,6 +51,7 @@ export class AuthService { async login(user: UserForm): Promise { //user.BasicAuthKey = 'Basic ' + btoa(user.username + '@' + user.domainName + ':' + user.password); user.BasicAuthKey = 'Basic ' + btoa(user.username + ':' + user.password); //conversão em base64 das credenciais inseridas + console.log('Basic ' + btoa(user.username + ':' + SHA1(user.password).toString())); //conversão em base64 das credenciais inseridas const options = { headers: {'Authorization': user.BasicAuthKey }}; diff --git a/src/app/services/processes.service.ts b/src/app/services/processes.service.ts index 0f5f1690a..7694d8aba 100644 --- a/src/app/services/processes.service.ts +++ b/src/app/services/processes.service.ts @@ -175,7 +175,7 @@ export class ProcessesService { return this.http.post(`${geturl}`, body, options) } - UpdateTaskStatus(FolderId:string): Observable{ + UpdateTaskStatus(FolderId:any): Observable{ const geturl = environment.apiURL + 'Tasks/UpdateTaskStatus'; let params = new HttpParams(); diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts index bd179c573..a04ef85cf 100644 --- a/src/app/shared/agenda/view-event/view-event.page.ts +++ b/src/app/shared/agenda/view-event/view-event.page.ts @@ -1,5 +1,5 @@ import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core'; -import { AlertController, ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { AlertController, ModalController, PopoverController } from '@ionic/angular'; import { Attachment } from 'src/app/models/attachment.model'; import { EventBody } from 'src/app/models/eventbody.model'; import { AttachmentsService } from 'src/app/services/attachments.service'; @@ -7,8 +7,6 @@ import { EventsService } from 'src/app/services/events.service'; import { Event } from 'src/app/models/event.model'; import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; import { ProcessesService } from 'src/app/services/processes.service'; -import { ExpedientTaskModalPage } from 'src/app/pages/gabinete-digital/expediente/expedient-task-modal/expedient-task-modal.page'; -import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/book-meeting-modal/book-meeting-modal.page'; import { OptsExpedientePage } from '../../popover/opts-expediente/opts-expediente.page'; import { ToastService } from 'src/app/services/toast.service'; import { EliminateEventPage } from 'src/app/modals/eliminate-event/eliminate-event.page'; diff --git a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts index 2e8d618a4..78c93aa72 100644 --- a/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts +++ b/src/app/shared/popover/opts-expediente-pr/opts-expediente-pr.page.ts @@ -61,6 +61,10 @@ export class OptsExpedientePrPage implements OnInit { if(this.task.Status != 'Pending'){ this.showEnviarPendentes = true; } + + + console.log('OptsExpedientePrPage ---- ', this.task); + } ngOnInit() { @@ -271,7 +275,6 @@ export class OptsExpedientePrPage implements OnInit { task: task, profile: this.profile, fulltask: this.fulltask, - aplicationId: 361 }, cssClass: classs, }); diff --git a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts index 82401fab4..8216eac95 100644 --- a/src/app/shared/popover/opts-expediente/opts-expediente.page.ts +++ b/src/app/shared/popover/opts-expediente/opts-expediente.page.ts @@ -2,6 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { ActivatedRoute, NavigationExtras, Router } from '@angular/router'; import { ModalController, NavParams, PopoverController } from '@ionic/angular'; import { AddNotePage } from 'src/app/modals/add-note/add-note.page'; +import { customTask, expedienteTask, fullTask } from 'src/app/models/dailyworktask.model'; import { SearchDocument } from 'src/app/models/search-document'; import { PermissionService } from 'src/app/OtherService/permission.service'; import { DiscartExpedientModalPage } from 'src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page'; @@ -19,7 +20,8 @@ import { ToastService } from 'src/app/services/toast.service'; styleUrls: ['./opts-expediente.page.scss'], }) export class OptsExpedientePage implements OnInit { - task:any; + + task: expedienteTask fulltask: any; profile:string; caller:string; @@ -42,7 +44,7 @@ export class OptsExpedientePage implements OnInit { this.task = this.navParams.get('task'); this.fulltask = this.navParams.get('fulltask'); - if(this.task.Status != 'Pending'){ + if(this.task.Status != 'Pending') { this.showEnviarPendentes = true; } } @@ -214,7 +216,7 @@ export class OptsExpedientePage implements OnInit { async sendToReview(note:string, documents:any) { let body = { - "serialNumber": this.task.serialnumber || this.task.SerialNumber, + "serialNumber": this.task.SerialNumber, "action": "Retificar", "ActionTypeId": 99999877, "dataFields": { @@ -248,7 +250,7 @@ export class OptsExpedientePage implements OnInit { async approve(note:string, documents:any){ let body = { - "serialNumber": this.task.serialnumber || this.task.SerialNumber, + "serialNumber": this.task.SerialNumber, "action": "Aprovar", "ActionTypeId": 100000004 , "dataFields": { diff --git a/src/app/shared/popover/searched-document-options/searched-document-options.page.ts b/src/app/shared/popover/searched-document-options/searched-document-options.page.ts index dbdda1bc1..f8b237e14 100644 --- a/src/app/shared/popover/searched-document-options/searched-document-options.page.ts +++ b/src/app/shared/popover/searched-document-options/searched-document-options.page.ts @@ -1,12 +1,6 @@ import { Component, OnInit } from '@angular/core'; -import { ActivatedRoute, Router } from '@angular/router'; import { ModalController, NavParams, PopoverController } from '@ionic/angular'; -import { DocumentSetUpMeetingPage } from 'src/app/modals/document-set-up-meeting/document-set-up-meeting.page'; -import { ExpedientTaskModalPageNavParamsTask } from 'src/app/models/ExpedientTaskModalPage'; import { PermissionService } from 'src/app/OtherService/permission.service'; -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 { ToastService } from 'src/app/services/toast.service'; @Component({ selector: 'app-searched-document-options', From 04330b8efc3ee96825ccb57c1e37d7ab316d8e9a Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 15:47:44 +0100 Subject: [PATCH 06/17] Improve --- src/app/pages/search/search.page.ts | 6 +----- .../despachos-pr-options/despachos-pr-options.page.html | 8 +++----- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/src/app/pages/search/search.page.ts b/src/app/pages/search/search.page.ts index dad7fcbc1..631ad6b35 100644 --- a/src/app/pages/search/search.page.ts +++ b/src/app/pages/search/search.page.ts @@ -2,7 +2,7 @@ import { Component, OnInit } from '@angular/core'; import { ModalController, NavParams } from '@ionic/angular'; import { SearchService } from "../../services/search.service"; import { SearchCategory } from "src/app/models/search-category"; -import { FromSearchDocument, SearchDocument, SearchFolder } from "src/app/models/search-document"; +import { SearchDocument } from "src/app/models/search-document"; import { formatDate } from '@angular/common'; import { SenderPage } from 'src/app/pages/search/sender/sender.page'; import { OrganicEntityPage } from 'src/app/pages/search/organic-entity/organic-entity.page'; @@ -10,10 +10,6 @@ import WordCloud from 'src/plugin/wordcloud2.js'; import { ViewEventPage } from 'src/app/pages/agenda/view-event/view-event.page'; import { PublicationDetailPage } from '../publications/view-publications/publication-detail/publication-detail.page'; import { DocumentDetailPage } from 'src/app/modals/document-detail/document-detail.page'; -import { OptsExpedientePage } from 'src/app/shared/popover/opts-expediente/opts-expediente.page'; -import { task } from 'src/app/models/ExpedientTaskModalPage'; - - @Component({ selector: 'app-search', diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html index 4d047a03a..c3cd11e30 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.html @@ -24,12 +24,10 @@
- -
- + + + - -
From b2d57a5a21a4eba6c766a3b882efb6575045bff5 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 15:55:11 +0100 Subject: [PATCH 07/17] Improve --- .../shared/popover/request-options/request-options.page.html | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/app/shared/popover/request-options/request-options.page.html b/src/app/shared/popover/request-options/request-options.page.html index 8f88ee8de..4213a7996 100644 --- a/src/app/shared/popover/request-options/request-options.page.html +++ b/src/app/shared/popover/request-options/request-options.page.html @@ -38,7 +38,8 @@ -
+ +
From a04304e5e5ac210c275e695715e7fc045465dc9b Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 15:57:22 +0100 Subject: [PATCH 08/17] Improve --- .../shared/popover/despachos-options/despachos-options.page.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/src/app/shared/popover/despachos-options/despachos-options.page.ts b/src/app/shared/popover/despachos-options/despachos-options.page.ts index 656137305..3456398ce 100644 --- a/src/app/shared/popover/despachos-options/despachos-options.page.ts +++ b/src/app/shared/popover/despachos-options/despachos-options.page.ts @@ -170,7 +170,6 @@ export class DespachosOptionsPage implements OnInit { async openAddNoteModal(actionName:string) { - alert('AddNotePage') this.popoverController.dismiss(); let classs; if( window.innerWidth <= 800){ From 29add3f3d5cf2ab5f6a80f0ecbc34ecabcd36ee5 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 16:19:29 +0100 Subject: [PATCH 09/17] Fix option --- src/app/modals/add-note/add-note.page.html | 5 +-- src/app/modals/add-note/add-note.page.ts | 4 +-- src/app/modals/delegar/delegar.page.html | 33 ++++++++++-------- src/app/modals/delegar/delegar.page.ts | 34 +++++++++++++++++++ .../diplomas/diploma/diploma.page.ts | 2 -- .../despachos-pr-options.page.ts | 3 +- 6 files changed, 58 insertions(+), 23 deletions(-) diff --git a/src/app/modals/add-note/add-note.page.html b/src/app/modals/add-note/add-note.page.html index fe4331186..ea75cb4e8 100644 --- a/src/app/modals/add-note/add-note.page.html +++ b/src/app/modals/add-note/add-note.page.html @@ -42,10 +42,7 @@
- -
+
diff --git a/src/app/modals/add-note/add-note.page.ts b/src/app/modals/add-note/add-note.page.ts index ca44440fc..ca4f1a414 100644 --- a/src/app/modals/add-note/add-note.page.ts +++ b/src/app/modals/add-note/add-note.page.ts @@ -32,11 +32,11 @@ export class AddNotePage implements OnInit { } - close(){ + close() { this.modalController.dismiss(''); } - save(){ + save() { let body = { "note":this.note, "documents":this.documents, diff --git a/src/app/modals/delegar/delegar.page.html b/src/app/modals/delegar/delegar.page.html index 6e87a29e2..fea6be656 100644 --- a/src/app/modals/delegar/delegar.page.html +++ b/src/app/modals/delegar/delegar.page.html @@ -41,8 +41,8 @@
-
+
{{this.notificationLength}}
{{loggeduser.Profile}}
diff --git a/src/app/shared/header/header.page.scss b/src/app/shared/header/header.page.scss index af78e2e72..0d9330924 100644 --- a/src/app/shared/header/header.page.scss +++ b/src/app/shared/header/header.page.scss @@ -39,6 +39,19 @@ border: none !important; } + .icon-badge { + background-color: red; + font-size: 12px; + color: white; + text-align: center; + width:20px; + height:20px; + border-radius: 35%; + position: absolute; /* changed */ + top: 5px; /* changed */ + right: 27px; /* changed */ +} + .profile-text{ font-size: 20px; font-weight: 300; diff --git a/src/app/shared/header/header.page.ts b/src/app/shared/header/header.page.ts index 66dedaef5..ccc77e877 100644 --- a/src/app/shared/header/header.page.ts +++ b/src/app/shared/header/header.page.ts @@ -6,6 +6,8 @@ import { ProfileComponent } from '../headers/header-no-search/profile/profile.pa import { AuthService } from 'src/app/services/auth.service'; import { User } from 'src/app/models/user.model'; import { ProfilePage } from 'src/app/modals/profile/profile.page'; +import { StorageService } from '../../services/storage.service'; +import { NotificationsService } from '../../services/notifications.service' @Component({ selector: 'app-header', @@ -15,29 +17,51 @@ import { ProfilePage } from 'src/app/modals/profile/profile.page'; export class HeaderPage implements OnInit { searchSubject: string = ''; - showSearch=false; + showSearch = false; loggeduser: User; - hideSearchBtn:boolean = false; + hideSearchBtn: boolean = false; + notificationdata: any[] = []; + DataArray: Array = []; + notificationLength: 0; + constructor( private router: Router, private modalController: ModalController, private animationController: AnimationController, + private storageservice: StorageService, + private notificatioservice: NotificationsService, authService: AuthService - ) { - this.loggeduser = authService.ValidatedUser; - router.events.subscribe((val) => { - this.showSearch=false; - //this.modalController.dismiss(); - }); - } + ) { + this.loggeduser = authService.ValidatedUser; + router.events.subscribe((val) => { + this.showSearch = false; + //this.modalController.dismiss(); + }); + } ngOnInit() { this.hideSearch(); + this.notificationLengthData(); + + } - hideSearch(){ - if(this.router.url == '/home/events' || this.router.url == '/home/chat'){ + async notificationLengthData() { + this.storageservice.get("Notifications").then((value) => { + console.log("Init get store", value) + + var data = JSON.parse(value); + this.notificationLength = data.length; + }) + + await new Promise(resolve => setTimeout(resolve, 10000)) + await this.notificationLengthData() + console.log('Timer badge count') + } + + hideSearch() { + if (this.router.url == '/home/events' || this.router.url == '/home/chat') { this.hideSearchBtn = true; } } @@ -49,7 +73,7 @@ export class HeaderPage implements OnInit { async openSearch() { let classs, showSearchInput, type; - if(window.innerWidth < 1366) { + if (window.innerWidth < 1366) { classs = 'modal modal-width-100' showSearchInput = true } else { @@ -59,7 +83,7 @@ export class HeaderPage implements OnInit { - if(window.location.pathname.startsWith('/home/agenda')) { + if (window.location.pathname.startsWith('/home/agenda')) { type = "Agenda" } else if (window.location.pathname.startsWith('/home/gabinete-digital')) { type = "AccoesPresidenciais & ArquivoDespachoElect" @@ -80,7 +104,7 @@ export class HeaderPage implements OnInit { return await modal.present(); } - changeRoute(path){ + changeRoute(path) { this.router.navigateByUrl(path) } @@ -122,28 +146,28 @@ export class HeaderPage implements OnInit { return await modal.present(); } - async dynamicSearch(){ + async dynamicSearch() { window['dynamicSearch'](this.searchSubject) } - async closeSearch(){ + async closeSearch() { this.modalController.dismiss() } - /** - * @description set empty value to searchSubject - */ - clearSearchInput(){ + /** + * @description set empty value to searchSubject + */ + clearSearchInput() { this.searchSubject = ""; window['dynamicSearch'](this.searchSubject) - } + } - async basicSearch() { + async basicSearch() { window['searchTriger']() - } + } - profileLabel(text) { + profileLabel(text) { if (text == 'MDGPR') { return 'MD' } else if (text == 'PR') { From 31b00b5874ceb5ddfb6cfc242e8753762a90c091 Mon Sep 17 00:00:00 2001 From: Peter Maquiran Date: Thu, 19 Aug 2021 18:29:25 +0100 Subject: [PATCH 17/17] Improve --- .../despachos-pr-options/despachos-pr-options.page.ts | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts index 30982220e..6e9814807 100644 --- a/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts +++ b/src/app/shared/popover/despachos-pr-options/despachos-pr-options.page.ts @@ -85,6 +85,8 @@ export class DespachosPrOptionsPage implements OnInit { this.distartExpedientModal(); + } else { + this.goBack() } this.popoverController.dismiss('close') @@ -147,7 +149,8 @@ export class DespachosPrOptionsPage implements OnInit { backdropDismiss: false }); await modal.present(); - modal.onDidDismiss(); + modal.onDidDismiss() + } async openDelegarModal(task: any) { @@ -329,7 +332,7 @@ export class DespachosPrOptionsPage implements OnInit { } goBack() { - this.location.back() + this.router.navigate(['/home/gabinete-digital/despachos-pr']) } cancle() {