diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ee0d9d09c..99374a12a 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,177 +1,178 @@ -import { NgModule } from '@angular/core'; -import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; -import { ChatPage } from './pages/chat/chat.page'; -import { MessagesPage } from './pages/chat/messages/messages.page'; - -const routes = [ - { - path: '', - loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) - }, - { - path: '', - loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) - }, - { - path: 'empty-chat', - loadChildren: () => import('./shared/chat/empty-chat/empty-chat.module').then( m => m.EmptyChatPageModule) - }, - { - path: 'empty-container', - loadChildren: () => import('./shared/empty-container/empty-container.module').then( m => m.EmptyContainerPageModule) - }, - { - path: 'events-to-approve', - loadChildren: () => import('./shared/gabinete-digital/events-to-approve/events-to-approve.module').then( m => m.EventsToApprovePageModule) - }, - { - path: 'expedients', - loadChildren: () => import('./shared/gabinete-digital/expedients/expedients.module').then( m => m.ExpedientsPageModule) - }, - { - path: 'document-detail', - loadChildren: () => import('./modals/document-detail/document-detail.module').then( m => m.DocumentDetailPageModule) - }, - { - path: 'edit-group', - loadChildren: () => import('./shared/chat/edit-group/edit-group.module').then( m => m.EditGroupPageModule) - }, - { - path: 'pedidos', - loadChildren: () => import('./shared/gabinete-digital/pedidos/pedidos.module').then( m => m.PedidosPageModule) - }, - { - path: 'event-list', - loadChildren: () => import('./pages/gabinete-digital/event-list/event-list.module').then(m =>m.EventListPageModule) - }, - { - path: 'despachos', - loadChildren: () => import('./shared/gabinete-digital/despachos/despachos.module').then( m => m.DespachosPageModule) - }, - { - path: 'create-process', - loadChildren: () => import('./modals/create-process/create-process.module').then( m => m.CreateProcessPageModule) - }, - { - path: 'pendentes', - loadChildren: () => import('./shared/gabinete-digital/pendentes/pendentes.module').then( m => m.PendentesPageModule) - }, - { - path: 'delegar', - loadChildren: () => import('./modals/delegar/delegar.module').then( m => m.DelegarPageModule) - }, - { - path: 'add-note', - loadChildren: () => import('./modals/add-note/add-note.module').then( m => m.AddNotePageModule) - }, - { - path: 'dar-parecer', - loadChildren: () => import('./modals/dar-parecer/dar-parecer.module').then( m => m.DarParecerPageModule) - }, - { - path: 'opts-expediente', - loadChildren: () => import('./shared/popover/opts-expediente/opts-expediente.module').then( m => m.OptsExpedientePageModule) - }, - { - path: 'despachos-pr', - loadChildren: () => import('./shared/gabinete-digital/despachos-pr/despachos-pr.module').then( m => m.DespachosPrPageModule) - }, - { - path: 'diplomas', - loadChildren: () => import('./shared/gabinete-digital/diplomas/diplomas.module').then( m => m.DiplomasPageModule) - }, - { - path: 'expedientes-pr', - loadChildren: () => import('./shared/gabinete-digital/expedientes-pr/expedientes-pr.module').then( m => m.ExpedientesPrPageModule) - }, - { - path: 'diplomas-assinar', - loadChildren: () => import('./shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module').then( m => m.DiplomasAssinarPageModule) - }, - { - path: 'opts-expediente-pr', - loadChildren: () => import('./shared/popover/opts-expediente-pr/opts-expediente-pr.module').then( m => m.OptsExpedientePrPageModule) - }, - { - path: 'despachos-options', - loadChildren: () => import('./shared/popover/despachos-options/despachos-options.module').then( m => m.DespachosOptionsPageModule) - }, - { - path: 'despachos-pr-options', - loadChildren: () => import('./shared/popover/despachos-pr-options/despachos-pr-options.module').then( m => m.DespachosPrOptionsPageModule) - }, - { - path: 'deploma-options', - loadChildren: () => import('./shared/popover/deploma-options/deploma-options.module').then( m => m.DeplomaOptionsPageModule) - }, - { - path: 'pin', - loadChildren: () => import('./shared/pin/pin.module').then( m => m.PinPageModule) - }, - { - path: 'fingerprint', - loadChildren: () => import('./shared/fingerprint/fingerprint.module').then( m => m.FingerprintPageModule) - }, - { - path: 'new-event', - loadChildren: () => import('./shared/agenda/new-event/new-event.module').then( m => m.NewEventPageModule) - }, - { - path: 'event-list', - loadChildren: () => import('./shared/agenda/event-list/event-list.module').then( m => m.EventListPageModule) - }, - { - path: 'approve-event', - loadChildren: () => import('./shared/agenda/approve-event/approve-event.module').then( m => m.ApproveEventPageModule) - }, - { - path: 'bad-request', - loadChildren: () => import('./shared/popover/bad-request/bad-request.module').then( m => m.BadRequestPageModule) - }, - { - path: 'success-message', - loadChildren: () => import('./shared/popover/success-message/success-message.module').then( m => m.SuccessMessagePageModule) - }, - { - path: 'forward', - loadChildren: () => import('./modals/forward/forward.module').then( m => m.ForwardPageModule) - }, - { - path: 'edit-event-to-approve', - loadChildren: () => import('./shared/agenda/edit-event-to-approve/edit-event-to-approve.module').then( m => m.EditEventToApprovePageModule) - }, - { - path: 'actions-options', - loadChildren: () => import('./shared/popover/actions-options/actions-options.module').then( m => m.ActionsOptionsPageModule) - }, - { - path: 'edit-action', - loadChildren: () => import('./shared/publication/edit-action/edit-action.module').then( m => m.EditActionPageModule) - }, - { - path: 'eliminate-event', - loadChildren: () => import('./modals/eliminate-event/eliminate-event.module').then( m => m.EliminateEventPageModule) - }, - { - path: 'inactivity', - loadChildren: () => import('./pages/inactivity/inactivity.module').then( m => m.InactivityPageModule) - }, - { - path: 'document-set-up-meeting', - loadChildren: () => import('./modals/document-set-up-meeting/document-set-up-meeting.module').then( m => m.DocumentSetUpMeetingPageModule) - }, - { - path: 'profile', - loadChildren: () => import('./modals/profile/profile.module').then( m => m.ProfilePageModule) - }, - { - path: 'all-processes', - loadChildren: () => import('./shared/gabinete-digital/all-processes/all-processes.module').then( m => m.AllProcessesPageModule) - }, - { - path: 'searched-document-options', - loadChildren: () => import('./shared/popover/searched-document-options/searched-document-options.module').then( m => m.SearchedDocumentOptionsPageModule) - }, { +import { NgModule } from '@angular/core'; +import { PreloadAllModules, RouterModule, Routes } from '@angular/router'; +import { ChatPage } from './pages/chat/chat.page'; +import { MessagesPage } from './pages/chat/messages/messages.page'; + +const routes = [ + { + path: '', + loadChildren: () => import('./index/index.module').then(m => m.IndexPageModule) + }, + { + path: '', + loadChildren: () => import('./home/home.module').then( m => m.HomePageModule) + }, + { + path: 'empty-chat', + loadChildren: () => import('./shared/chat/empty-chat/empty-chat.module').then( m => m.EmptyChatPageModule) + }, + { + path: 'empty-container', + loadChildren: () => import('./shared/empty-container/empty-container.module').then( m => m.EmptyContainerPageModule) + }, + { + path: 'events-to-approve', + loadChildren: () => import('./shared/gabinete-digital/events-to-approve/events-to-approve.module').then( m => m.EventsToApprovePageModule) + }, + { + path: 'expedients', + loadChildren: () => import('./shared/gabinete-digital/expedients/expedients.module').then( m => m.ExpedientsPageModule) + }, + { + path: 'document-detail', + loadChildren: () => import('./modals/document-detail/document-detail.module').then( m => m.DocumentDetailPageModule) + }, + { + path: 'edit-group', + loadChildren: () => import('./shared/chat/edit-group/edit-group.module').then( m => m.EditGroupPageModule) + }, + { + path: 'pedidos', + loadChildren: () => import('./shared/gabinete-digital/pedidos/pedidos.module').then( m => m.PedidosPageModule) + }, + { + path: 'event-list', + loadChildren: () => import('./pages/gabinete-digital/event-list/event-list.module').then(m =>m.EventListPageModule) + }, + { + path: 'despachos', + loadChildren: () => import('./shared/gabinete-digital/despachos/despachos.module').then( m => m.DespachosPageModule) + }, + { + path: 'create-process', + loadChildren: () => import('./modals/create-process/create-process.module').then( m => m.CreateProcessPageModule) + }, + { + path: 'pendentes', + loadChildren: () => import('./shared/gabinete-digital/pendentes/pendentes.module').then( m => m.PendentesPageModule) + }, + { + path: 'delegar', + loadChildren: () => import('./modals/delegar/delegar.module').then( m => m.DelegarPageModule) + }, + { + path: 'add-note', + loadChildren: () => import('./modals/add-note/add-note.module').then( m => m.AddNotePageModule) + }, + { + path: 'dar-parecer', + loadChildren: () => import('./modals/dar-parecer/dar-parecer.module').then( m => m.DarParecerPageModule) + }, + { + path: 'opts-expediente', + loadChildren: () => import('./shared/popover/opts-expediente/opts-expediente.module').then( m => m.OptsExpedientePageModule) + }, + { + path: 'despachos-pr', + loadChildren: () => import('./shared/gabinete-digital/despachos-pr/despachos-pr.module').then( m => m.DespachosPrPageModule) + }, + { + path: 'diplomas', + loadChildren: () => import('./shared/gabinete-digital/diplomas/diplomas.module').then( m => m.DiplomasPageModule) + }, + { + path: 'expedientes-pr', + loadChildren: () => import('./shared/gabinete-digital/expedientes-pr/expedientes-pr.module').then( m => m.ExpedientesPrPageModule) + }, + { + path: 'diplomas-assinar', + loadChildren: () => import('./shared/gabinete-digital/diplomas-assinar/diplomas-assinar.module').then( m => m.DiplomasAssinarPageModule) + }, + { + path: 'opts-expediente-pr', + loadChildren: () => import('./shared/popover/opts-expediente-pr/opts-expediente-pr.module').then( m => m.OptsExpedientePrPageModule) + }, + { + path: 'despachos-options', + loadChildren: () => import('./shared/popover/despachos-options/despachos-options.module').then( m => m.DespachosOptionsPageModule) + }, + { + path: 'despachos-pr-options', + loadChildren: () => import('./shared/popover/despachos-pr-options/despachos-pr-options.module').then( m => m.DespachosPrOptionsPageModule) + }, + { + path: 'deploma-options', + loadChildren: () => import('./shared/popover/deploma-options/deploma-options.module').then( m => m.DeplomaOptionsPageModule) + }, + { + path: 'pin', + loadChildren: () => import('./shared/pin/pin.module').then( m => m.PinPageModule) + }, + { + path: 'fingerprint', + loadChildren: () => import('./shared/fingerprint/fingerprint.module').then( m => m.FingerprintPageModule) + }, + { + path: 'new-event', + loadChildren: () => import('./shared/agenda/new-event/new-event.module').then( m => m.NewEventPageModule) + }, + { + path: 'event-list', + loadChildren: () => import('./shared/agenda/event-list/event-list.module').then( m => m.EventListPageModule) + }, + { + path: 'approve-event', + loadChildren: () => import('./shared/agenda/approve-event/approve-event.module').then( m => m.ApproveEventPageModule) + }, + { + path: 'bad-request', + loadChildren: () => import('./shared/popover/bad-request/bad-request.module').then( m => m.BadRequestPageModule) + }, + { + path: 'success-message', + loadChildren: () => import('./shared/popover/success-message/success-message.module').then( m => m.SuccessMessagePageModule) + }, + { + path: 'forward', + loadChildren: () => import('./modals/forward/forward.module').then( m => m.ForwardPageModule) + }, + { + path: 'edit-event-to-approve', + loadChildren: () => import('./shared/agenda/edit-event-to-approve/edit-event-to-approve.module').then( m => m.EditEventToApprovePageModule) + }, + { + path: 'actions-options', + loadChildren: () => import('./shared/popover/actions-options/actions-options.module').then( m => m.ActionsOptionsPageModule) + }, + { + path: 'edit-action', + loadChildren: () => import('./shared/publication/edit-action/edit-action.module').then( m => m.EditActionPageModule) + }, + { + path: 'eliminate-event', + loadChildren: () => import('./modals/eliminate-event/eliminate-event.module').then( m => m.EliminateEventPageModule) + }, + { + path: 'inactivity', + loadChildren: () => import('./pages/inactivity/inactivity.module').then( m => m.InactivityPageModule) + }, + { + path: 'document-set-up-meeting', + loadChildren: () => import('./modals/document-set-up-meeting/document-set-up-meeting.module').then( m => m.DocumentSetUpMeetingPageModule) + }, + { + path: 'profile', + loadChildren: () => import('./modals/profile/profile.module').then( m => m.ProfilePageModule) + }, + { + path: 'all-processes', + loadChildren: () => import('./shared/gabinete-digital/all-processes/all-processes.module').then( m => m.AllProcessesPageModule) + }, + { + path: 'searched-document-options', + loadChildren: () => import('./shared/popover/searched-document-options/searched-document-options.module').then( m => m.SearchedDocumentOptionsPageModule) + }, + { path: 'task-list', loadChildren: () => import('./shared/gabinete-digital/generic/task-list/task-list.module').then( m => m.TaskListPageModule) }, @@ -187,18 +188,31 @@ const routes = [ path: 'task-details', loadChildren: () => import('./shared/gabinete-digital/generic/task-details/task-details.module').then( m => m.TaskDetailsPageModule) }, + { + path: 'chat-options-features', + loadChildren: () => import('./modals/chat-options-features/chat-options-features.module').then( m => m.ChatOptionsFeaturesPageModule) + }, - /* - path: 'chat', - component: ChatPage - } */ - -]; -@NgModule({ - imports: [ - RouterModule.forRoot(routes, - { preloadingStrategy: PreloadAllModules }) - ], - exports: [RouterModule] -}) -export class AppRoutingModule {} + + + + + /* + path: 'chat', + component: ChatPage + } */ + + /* + path: 'chat', + component: ChatPage + } */ + +]; +@NgModule({ + imports: [ + RouterModule.forRoot(routes, + { preloadingStrategy: PreloadAllModules }) + ], + exports: [RouterModule] +}) +export class AppRoutingModule {} diff --git a/src/app/modals/chat-options-features/chat-options-features-routing.module.ts b/src/app/modals/chat-options-features/chat-options-features-routing.module.ts new file mode 100644 index 000000000..84c99e3e5 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +const routes: Routes = [ + { + path: '', + component: ChatOptionsFeaturesPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class ChatOptionsFeaturesPageRoutingModule {} diff --git a/src/app/modals/chat-options-features/chat-options-features.module.ts b/src/app/modals/chat-options-features/chat-options-features.module.ts new file mode 100644 index 000000000..625164a28 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; + +import { IonicModule } from '@ionic/angular'; + +import { ChatOptionsFeaturesPageRoutingModule } from './chat-options-features-routing.module'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + ChatOptionsFeaturesPageRoutingModule + ], + declarations: [ChatOptionsFeaturesPage] +}) +export class ChatOptionsFeaturesPageModule {} diff --git a/src/app/modals/chat-options-features/chat-options-features.page.html b/src/app/modals/chat-options-features/chat-options-features.page.html new file mode 100644 index 000000000..8b387656a --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.html @@ -0,0 +1,17 @@ + + + + + + + + Tirar Fotografia + Digitalizar Documento + Anexar Fotografia + Anexar Documento + + Marcar reunião + Cancelar + + + diff --git a/src/app/modals/chat-options-features/chat-options-features.page.scss b/src/app/modals/chat-options-features/chat-options-features.page.scss new file mode 100644 index 000000000..7e30d88ff --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.scss @@ -0,0 +1,47 @@ +.container{ + --padding-top:20px !important; + --padding-bottom:20px !important; + --padding-start:20px !important; + --padding-end:20px !important; +} +.arrow-right{ + display: none; + margin-bottom: 20px; + .arrow-right-icon{ + width: 37px; + float: right; + font-size: 35px; + overflow: hidden; + } +} +.buttons{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + + .btn-ok, .btn-cancel, .btn-delete{ + margin-bottom: 10px !important; + } +} +.solid { + display: none; + width: 90%; + border-top: 1px solid #bbb; + margin: 0 auto !important; + margin-bottom: 10px; +} +@media only screen and (min-width: 1024px) { + .arrow-right{ + display: flex; + justify-content: flex-end; + } + .btn-cancel{ + width: 100% !important; + } + .btn-cancel:hover{ + background-color: #42b9fe; + } + .mobile-only{ + display: none !important; + } +} diff --git a/src/app/modals/chat-options-features/chat-options-features.page.spec.ts b/src/app/modals/chat-options-features/chat-options-features.page.spec.ts new file mode 100644 index 000000000..9d5b4b02d --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { ChatOptionsFeaturesPage } from './chat-options-features.page'; + +describe('ChatOptionsFeaturesPage', () => { + let component: ChatOptionsFeaturesPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ ChatOptionsFeaturesPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(ChatOptionsFeaturesPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modals/chat-options-features/chat-options-features.page.ts b/src/app/modals/chat-options-features/chat-options-features.page.ts new file mode 100644 index 000000000..51f676f89 --- /dev/null +++ b/src/app/modals/chat-options-features/chat-options-features.page.ts @@ -0,0 +1,128 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { SearchDocument } from 'src/app/models/search-document'; +import { NewEventPage } from 'src/app/pages/agenda/new-event/new-event.page'; +import { SearchPage } from 'src/app/pages/search/search.page'; +import { AlertService } from 'src/app/services/alert.service'; +import { environment } from 'src/environments/environment'; + +@Component({ + selector: 'app-chat-options-features', + templateUrl: './chat-options-features.page.html', + styleUrls: ['./chat-options-features.page.scss'], +}) +export class ChatOptionsFeaturesPage implements OnInit { + + documents:SearchDocument[] = []; + members: any; + attendees: EventPerson[] = []; + + constructor( + private popoverController: PopoverController, + private modalController: ModalController, + private alertService: AlertService, + private navParams: NavParams, + ) { + + this.members = this.navParams.get('members'); + console.log(this.members); + this.attendees = this.members.map((val)=>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + } + + ngOnInit() { + console.log(this.attendees); + + } + + notImplemented(){ + this.alertService.presentAlert('Funcionalidade em desenvolvimento'); + } + + close(){ + if( window.innerWidth <= 1024){ + this.popoverController.dismiss(); + } + else{ + this.modalController.dismiss(); + } + } + + attachDocument(){ + console.log('Anexar Documento'); + + } + + /* getGroupContacts(room:any){ + this.showLoader = true; + //If group is private call getGroupMembers + if(this.room.t === 'p'){ + this.chatService.getGroupMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + //Otherwise call getChannelMembers for públic groups + else{ + this.chatService.getChannelMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + } */ + + async getDoc(){ + const modal = await this.modalController.create({ + component: SearchPage, + cssClass: 'group-messages modal-desktop search-modal search-modal-to-desktop', + componentProps: { + type: 'AccoesPresidenciais & ArquivoDespachoElect', + select: true, + showSearchInput: true, + } + }); + await modal.present(); + modal.onDidDismiss().then((res)=>{ + if(res){ + const data = res.data; + this.documents.push(data.selected); + console.log(res.data); + + } + }); + } + + async bookMeeting() { + console.log(this.attendees); + + if( window.innerWidth <= 800){ + this.popoverController.dismiss(); + const modal = await this.modalController.create({ + component: NewEventPage, + componentProps:{ + attendees: this.attendees, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then((data) => { + if(data){ + + } + }); + } + else{ + this.modalController.dismiss('meeting'); + } + } + +} diff --git a/src/app/pages/agenda/new-event/new-event.page.html b/src/app/pages/agenda/new-event/new-event.page.html index 433053105..0cfae6c88 100644 --- a/src/app/pages/agenda/new-event/new-event.page.html +++ b/src/app/pages/agenda/new-event/new-event.page.html @@ -227,12 +227,11 @@ - Com conhecimento + Com conhecimento - Adicionar intervenientes - {{participant.Name}} + {{participant.Name}} diff --git a/src/app/pages/agenda/new-event/new-event.page.ts b/src/app/pages/agenda/new-event/new-event.page.ts index c2359b6f1..bdff27d63 100644 --- a/src/app/pages/agenda/new-event/new-event.page.ts +++ b/src/app/pages/agenda/new-event/new-event.page.ts @@ -59,6 +59,7 @@ export class NewEventPage implements OnInit { documents:SearchDocument[] = []; loggeduser: User; + members:any; constructor( private modalController: ModalController, @@ -78,7 +79,9 @@ export class NewEventPage implements OnInit { this.selectedSegment = this.navParams.get('segment'); this.selectedDate = this.navParams.get('eventSelectedDate'); + this.taskParticipants = this.navParams.get('attendees'); + console.log(this.taskParticipants); this.postEvent.StartDate = new Date() this.postEvent.EndDate = (new Date(new Date().getTime() + 15 * 60000)) @@ -232,13 +235,15 @@ export class NewEventPage implements OnInit { this.postEvent.EventRecurrence.Type = this.selectedRecurringType; } + this.postEvent.Attendees = this.taskParticipants.concat(this.taskParticipantsCc); + let eventId: any; const loader = this.toastService.loading() try { - + if(this.loggeduser.Profile == 'MDGPR') { console.log(this.loggeduser.Profile); diff --git a/src/app/pages/chat/chat.module.ts b/src/app/pages/chat/chat.module.ts index c8480955d..957e1967a 100644 --- a/src/app/pages/chat/chat.module.ts +++ b/src/app/pages/chat/chat.module.ts @@ -26,6 +26,8 @@ import { GroupContactsPageModule } from 'src/app/shared/chat/group-messages/grou import { MessagesPageModule } from 'src/app/shared/chat/messages/messages.module'; import { EmptyChatPageModule } from 'src/app/shared/chat/empty-chat/empty-chat.module'; import { HeaderPageModule } from 'src/app/shared/header/header.module'; +import { NewEventPageModule } from 'src/app/shared/agenda/new-event/new-event.module'; +import { AttendeeModalPageModule } from 'src/app/shared/event/attendee-modal/attendee-modal.module'; @NgModule({ imports: [ @@ -44,6 +46,8 @@ import { HeaderPageModule } from 'src/app/shared/header/header.module'; EditGroupPageModule, GroupContactsPageModule, EmptyChatPageModule, + NewEventPageModule, + AttendeeModalPageModule, ], declarations: [ ChatPage diff --git a/src/app/pages/chat/chat.page.html b/src/app/pages/chat/chat.page.html index 1be48dcf3..f00981d68 100644 --- a/src/app/pages/chat/chat.page.html +++ b/src/app/pages/chat/chat.page.html @@ -112,17 +112,20 @@ [showMessages]="showMessages" #messagecontainer> + + + + + + + + + + + + diff --git a/src/app/pages/chat/chat.page.ts b/src/app/pages/chat/chat.page.ts index 01a7cc689..b57a3b0df 100644 --- a/src/app/pages/chat/chat.page.ts +++ b/src/app/pages/chat/chat.page.ts @@ -23,6 +23,9 @@ import * as Rx from "rxjs/Rx"; import { Message } from 'src/app/models/message.model'; import { Observable, Subject } from "rxjs/Rx"; import { Router } from '@angular/router'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { removeDuplicate } from 'src/plugin/removeDuplicate.js' +import { environment } from 'src/environments/environment'; @Component({ selector: 'app-chat', @@ -70,6 +73,8 @@ export class ChatPage implements OnInit { showEditGroup=false; showGroupMessages=false; showGroupContacts=false; + showNewEvent=false; + showAttendees=false; emptyTextDescription = 'Sem conversa selecionada'; @Output() getRoomInfo; @@ -95,6 +100,14 @@ export class ChatPage implements OnInit { loggedUserChat:any; hideRefreshBtn = true; + taskParticipants: any = []; + taskParticipantsCc: any = []; + adding: "intervenient" | "CC" = "intervenient"; + profile:'mdgpr' | 'pr'; + eventSelectedDate: Date = new Date(); + contacts: EventPerson[]; + showEventEditOrOpen: "edit" | "add" | "" | "eventoToApprove" = "" + constructor( private http:HttpClient, private chatService: ChatService, @@ -164,8 +177,11 @@ hideRefreshButton(){ this.showGroupMessages=false; this.showEmptyComponent=false; this.showGroupContacts=false; + this.showNewEvent=false; + this.showAttendees=false; console.log('All components closed!'); } + showEmptyContainer(){ this.showEmptyComponent=true; } @@ -240,6 +256,57 @@ hideRefreshButton(){ } } + openNewEventPage(data:any){ + this.taskParticipants = data.members.map((val) =>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + this.closeAllDesktopComponents(); + if(window.innerWidth < 801){ + console.log('Mobile'); + } + else{ + this.showNewEvent=true; + } + } + + async openAttendeesComponent(data) { + this.adding = data.type + this.closeAllDesktopComponents(); + this.showAttendees = true; + } + + async clearContact() { + this.contacts = []; + } + + async setContact(data:EventPerson[]) { + this.contacts = data; + } + + async setIntervenient(data) { + this.taskParticipants = removeDuplicate(data) + + } + + async setIntervenientCC(data) { + this.taskParticipantsCc = removeDuplicate(data) + } + + async closeAttendeesComponent() { + this.closeAllDesktopComponents(); + this.showNewEvent = true; + } + + async closeNewEventComponent() { + this.closeAllDesktopComponents(); + this.showEmptyComponent = true; + this.idSelected = ""; + } + onSegmentChange(){ this.load(); } diff --git a/src/app/pages/chat/group-messages/group-messages.module.ts b/src/app/pages/chat/group-messages/group-messages.module.ts index 1dfcecefa..c0e419c06 100644 --- a/src/app/pages/chat/group-messages/group-messages.module.ts +++ b/src/app/pages/chat/group-messages/group-messages.module.ts @@ -12,11 +12,14 @@ import { GroupMessagesPage } from './group-messages.page'; import { ChatPopoverPageModule } from 'src/app/shared/popover/chat-popover/chat-popover.module'; import { BtnModalDismissPageModule } from 'src/app/shared/btn-modal-dismiss/btn-modal-dismiss.module'; +import { FontAwesomeModule } from '@fortawesome/angular-fontawesome'; + @NgModule({ imports: [ CommonModule, BrowserModule, FormsModule, + FontAwesomeModule, IonicModule, GroupMessagesPageRoutingModule, diff --git a/src/app/pages/chat/group-messages/group-messages.page.html b/src/app/pages/chat/group-messages/group-messages.page.html index 6132a87a0..173101d6b 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.html +++ b/src/app/pages/chat/group-messages/group-messages.page.html @@ -86,11 +86,11 @@ - - + + - + diff --git a/src/app/pages/chat/group-messages/group-messages.page.scss b/src/app/pages/chat/group-messages/group-messages.page.scss index 2e59497b7..01ef3a21d 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.scss +++ b/src/app/pages/chat/group-messages/group-messages.page.scss @@ -187,14 +187,19 @@ .container{ justify-content: center; justify-content: space-evenly; + align-items: center; + + .message-box{ + margin: 0 5px 0 5px; + } } .chat-icon-options{ display:block !important; - font-size: 25px; + font-size: 35px; float: right !important; - margin-top: 10px; + margin-top: 5px; } .chat-icon-send{ @@ -209,6 +214,7 @@ border-radius: 25px; padding-left: 15px; align-items: center; + overflow: auto; ion-textarea{ diff --git a/src/app/pages/chat/group-messages/group-messages.page.ts b/src/app/pages/chat/group-messages/group-messages.page.ts index 5dcdd0711..3980b0b00 100644 --- a/src/app/pages/chat/group-messages/group-messages.page.ts +++ b/src/app/pages/chat/group-messages/group-messages.page.ts @@ -31,6 +31,7 @@ export class GroupMessagesPage implements OnInit, AfterViewChecked { roomId: string; loggedUserChat:any; + eventSelectedDate: Date = new Date(); @ViewChild('scrollMe') private myScrollContainer: ElementRef; @@ -146,7 +147,6 @@ export class GroupMessagesPage implements OnInit, AfterViewChecked { } async openOptions() { - console.log('OK'); const modal = await this.popoverController.create({ component: ChatPopoverPage, cssClass: 'chat-popover', @@ -165,17 +165,20 @@ export class GroupMessagesPage implements OnInit, AfterViewChecked { else if(res.data == 'edit'){ this.editGroup(this.roomId); } - }); } async openChatOptions(ev?: any) { + console.log(this.members); + const popover = await this.popoverController.create({ component: ChatOptionsPopoverPage, cssClass: 'chat-options-popover', event: ev, componentProps: { room: this.room, + members: this.members, + eventSelectedDate: new Date(), }, translucent: true }); diff --git a/src/app/shared/agenda/new-event/new-event.page.html b/src/app/shared/agenda/new-event/new-event.page.html index 12d3aa2cd..12465819e 100644 --- a/src/app/shared/agenda/new-event/new-event.page.html +++ b/src/app/shared/agenda/new-event/new-event.page.html @@ -186,11 +186,11 @@ - {{recurring.Description}} - + --> @@ -204,19 +204,6 @@ - - - - - - + diff --git a/src/app/shared/chat/group-messages/group-messages.page.ts b/src/app/shared/chat/group-messages/group-messages.page.ts index 8affbd4de..bcec85e3f 100644 --- a/src/app/shared/chat/group-messages/group-messages.page.ts +++ b/src/app/shared/chat/group-messages/group-messages.page.ts @@ -3,12 +3,13 @@ import { ActionSheetController, AnimationController, MenuController, ModalContro 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 { ChatOptionsPopoverPage } from 'src/app/shared/popover/chat-options-popover/chat-options-popover.page'; import { ChatPopoverPage } from 'src/app/shared/popover/chat-popover/chat-popover.page'; import { ContactsPage } from '../new-group/contacts/contacts.page'; import { NewGroupPage } from '../new-group/new-group.page'; import { GroupContactsPage } from './group-contacts/group-contacts.page'; import { Router } from '@angular/router' +import { ChatOptionsPopoverPage } from '../../popover/chat-options-popover/chat-options-popover.page'; +import { ChatOptionsFeaturesPage } from 'src/app/modals/chat-options-features/chat-options-features.page'; @Component({ selector: 'app-group-messages', @@ -34,6 +35,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { @Output() showEmptyContainer:EventEmitter = new EventEmitter(); @Output() openGroupContacts:EventEmitter = new EventEmitter(); @Output() openEditGroupPage:EventEmitter = new EventEmitter(); + @Output() openNewEventPage:EventEmitter = new EventEmitter(); @ViewChild('scrollMe') private myScrollContainer: ElementRef; @@ -79,6 +81,14 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { this.openGroupContacts.emit(this.roomId); } + openBookMeetingComponent(){ + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + close(){ this.modalController.dismiss(); } @@ -242,7 +252,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { } openSendGroupMessageOptions(ev?: any){ - if(window.innerWidth <= 1024){ + if(window.innerWidth <= 701){ console.log('mobile'); this.openChatOptions(ev); } @@ -280,6 +290,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { event: ev, componentProps: { room: this.room, + members: this.members, }, translucent: true }); @@ -350,7 +361,7 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { return this.animationController.create() .addElement(baseEl) .easing('ease-out') - .duration(500) + .duration(5000) .addAnimation([backdropAnimation, wrapperAnimation]); } @@ -361,13 +372,27 @@ export class GroupMessagesPage implements OnInit, OnChanges, AfterViewChecked { const modal = await this.modalController.create({ enterAnimation, leaveAnimation, - component: ChatOptionsPopoverPage, + component: ChatOptionsFeaturesPage, cssClass: 'model profile-modal search-submodal', componentProps: { roomId: this.roomId, + members: this.members, } }); - return await modal.present(); + + await modal.present(); + modal.onDidDismiss().then((res)=>{ + console.log(res['data']); + if(res['data'] == 'meeting'){ + //this.closeAllDesktopComponents.emit(); + let data = { + roomId: this.roomId, + members: this.members + } + this.openNewEventPage.emit(data); + } + + }); } async serverLongPull(){ diff --git a/src/app/shared/chat/messages/messages.page.html b/src/app/shared/chat/messages/messages.page.html index edd0c5a38..0e4ce007b 100644 --- a/src/app/shared/chat/messages/messages.page.html +++ b/src/app/shared/chat/messages/messages.page.html @@ -50,7 +50,7 @@ - + diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts b/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts index d6e7129d9..7ea2a727e 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.module.ts @@ -15,6 +15,7 @@ import { ChatOptionsPopoverPage } from './chat-options-popover.page'; IonicModule, ChatOptionsPopoverPageRoutingModule ], - declarations: [ChatOptionsPopoverPage] + declarations: [ChatOptionsPopoverPage], + exports: [ChatOptionsPopoverPage] }) export class ChatOptionsPopoverPageModule {} diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html index bb0fc5c83..a3adebd27 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.html @@ -10,6 +10,7 @@ Anexar Fotografia Anexar Documento + Marcar reunião Cancelar diff --git a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts index 9f09bc0aa..f17fc4d15 100644 --- a/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts +++ b/src/app/shared/popover/chat-options-popover/chat-options-popover.page.ts @@ -1,8 +1,11 @@ import { Component, OnInit } from '@angular/core'; -import { ModalController, PopoverController } from '@ionic/angular'; +import { ModalController, NavParams, PopoverController } from '@ionic/angular'; +import { EventPerson } from 'src/app/models/eventperson.model'; import { SearchDocument } from 'src/app/models/search-document'; +import { NewEventPage } from 'src/app/pages/agenda/new-event/new-event.page'; import { SearchPage } from 'src/app/pages/search/search.page'; import { AlertService } from 'src/app/services/alert.service'; +import { environment } from 'src/environments/environment'; @Component({ selector: 'app-chat-options-popover', @@ -12,14 +15,30 @@ import { AlertService } from 'src/app/services/alert.service'; export class ChatOptionsPopoverPage implements OnInit { documents:SearchDocument[] = []; + members: any; + attendees: EventPerson[] = []; constructor( private popoverController: PopoverController, private modalController: ModalController, private alertService: AlertService, - ) { } + private navParams: NavParams, + ) { + + this.members = this.navParams.get('members'); + console.log(this.members); + this.attendees = this.navParams.get('members').map((val)=>{ + return { + Name: val.name, + EmailAddress: val.username+"@"+environment.domain, + IsRequired: "true", + } + }); + } ngOnInit() { + console.log(this.attendees); + } notImplemented(){ @@ -37,9 +56,29 @@ export class ChatOptionsPopoverPage implements OnInit { attachDocument(){ console.log('Anexar Documento'); - + } + /* getGroupContacts(room:any){ + this.showLoader = true; + //If group is private call getGroupMembers + if(this.room.t === 'p'){ + this.chatService.getGroupMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + //Otherwise call getChannelMembers for públic groups + else{ + this.chatService.getChannelMembers(this.roomId).subscribe(res=>{ + console.log(res); + this.members = res['members']; + this.showLoader = false; + }); + } + } */ + async getDoc(){ const modal = await this.modalController.create({ component: SearchPage, @@ -56,9 +95,30 @@ export class ChatOptionsPopoverPage implements OnInit { const data = res.data; this.documents.push(data.selected); console.log(res.data); - + } }); } + async bookMeeting() { + console.log(this.attendees); + this.popoverController.dismiss(); + if( window.innerWidth <= 1024){ + const modal = await this.modalController.create({ + component: NewEventPage, + componentProps:{ + attendees: this.attendees, + }, + cssClass: 'modal modal-desktop', + backdropDismiss: false + }); + await modal.present(); + modal.onDidDismiss().then((data) => { + if(data){ + + } + }); + } + } + } diff --git a/src/app/shared/popover/chat-popover/chat-popover.page.html b/src/app/shared/popover/chat-popover/chat-popover.page.html index c16ada8e6..806cedd83 100644 --- a/src/app/shared/popover/chat-popover/chat-popover.page.html +++ b/src/app/shared/popover/chat-popover/chat-popover.page.html @@ -8,6 +8,7 @@ Sair do Grupo Alterar nome do grupo + Marcar Reunião Cancelar Apagar grupo diff --git a/src/app/shared/popover/chat-popover/chat-popover.page.ts b/src/app/shared/popover/chat-popover/chat-popover.page.ts index 1fdf3bbf6..58ead2ef5 100644 --- a/src/app/shared/popover/chat-popover/chat-popover.page.ts +++ b/src/app/shared/popover/chat-popover/chat-popover.page.ts @@ -86,4 +86,8 @@ export class ChatPopoverPage implements OnInit { this.modalController.dismiss('edit'); } + bookMeeting(){ + + } + }