diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index 5226aa346..75c242352 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -152,6 +152,10 @@ const routes: Routes = [ }, ] }, + { + path:'new-publication', + loadChildren: ()=> import('../shared/publication/new-publication/new-publication.module').then(m => m.NewPublicationPageModule) + }, ] }, { diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html index 60edf220b..9133595b8 100644 --- a/src/app/pages/agenda/agenda.page.html +++ b/src/app/pages/agenda/agenda.page.html @@ -334,6 +334,7 @@ diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts index f56b25a47..1e7874633 100644 --- a/src/app/pages/agenda/agenda.page.ts +++ b/src/app/pages/agenda/agenda.page.ts @@ -94,6 +94,11 @@ export class AgendaPage implements OnInit { selectedEventId: string | number; postEvent: any; + + taskParticipants: any = []; + taskParticipantsCc: any = []; + adding: "intervenient" | "CC" = "intervenient"; + @ViewChild(CalendarComponent) myCal: CalendarComponent; segment: "Combinado" | "Pessoal" | "Oficial"; @@ -259,14 +264,14 @@ export class AgendaPage implements OnInit { onTimeSelected = (ev: { selectedTime: Date, events: any[] }) => { console.log('Selected time: ' + ev.selectedTime + ', hasEvents: ' + (ev.events !== undefined && ev.events.length !== 0)); this.eventSelectedDate2 = ev.selectedTime; - }; + } onRangeChanged (ev: { startTime: Date, endTime: Date }) { this.rangeStartDate = ev.startTime; this.rangeEndDate = ev.endTime; this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate); - }; + } async openCalModal() { const modal = await this.modalCtrl.create({ @@ -912,10 +917,6 @@ export class AgendaPage implements OnInit { this.selectedEvent = data.event; this.postEvent = data.event; - console.log(this.selectedEvent); - - console.log(this.postEvent); - this.mobileComponent.showEditEvent = true; } @@ -945,8 +946,6 @@ export class AgendaPage implements OnInit { } approveEventDismiss({saveData, serialNumber, action}){ - - console.log(saveData); if(action == 'Aprovar'){ this.eventToaprove = { @@ -996,7 +995,6 @@ export class AgendaPage implements OnInit { // open component async openAttendeesComponent(data){ - if(Array.isArray(data)){ if(data.length >= 1){ @@ -1027,7 +1025,6 @@ export class AgendaPage implements OnInit { async GoBackEditOrAdd(){ - if(this.showEventEditOrOpen == "edit"){ this.cloneAllmobileComponent(); @@ -1042,7 +1039,6 @@ export class AgendaPage implements OnInit { } - // async closeComponentEditEventOrAdd(){ if(this.IsEvent ='edit') { @@ -1053,4 +1049,14 @@ export class AgendaPage implements OnInit { } + async setIntervenient(data){ + this.taskParticipants = data; + + this.postEvent + } + + async setIntervenientCC(data){ + this.taskParticipantsCc = data; + } + } \ No newline at end of file diff --git a/src/app/pages/agenda/edit-event/edit-event.module.ts b/src/app/pages/agenda/edit-event/edit-event.module.ts index 0c4e3f88c..643ac8978 100644 --- a/src/app/pages/agenda/edit-event/edit-event.module.ts +++ b/src/app/pages/agenda/edit-event/edit-event.module.ts @@ -7,6 +7,7 @@ import { IonicModule } from '@ionic/angular'; import { EditEventPageRoutingModule } from './edit-event-routing.module'; import { EditEventPage } from './edit-event.page'; +import { AttendeeModalPage } from 'src/app/shared/event/attendee-modal/attendee-modal.page'; @NgModule({ imports: [ @@ -15,6 +16,9 @@ import { EditEventPage } from './edit-event.page'; IonicModule, EditEventPageRoutingModule ], - declarations: [EditEventPage] + declarations: [ + EditEventPage, + AttendeeModalPage + ] }) export class EditEventPageModule {} diff --git a/src/app/pages/agenda/edit-event/edit-event.page.html b/src/app/pages/agenda/edit-event/edit-event.page.html index 5d46eb719..14980462d 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.html +++ b/src/app/pages/agenda/edit-event/edit-event.page.html @@ -1,7 +1,9 @@ -
-
-
+
+ +
+ +
@@ -10,212 +12,226 @@
- + + + +
+
+ +
+
+
+
+ +
+
+ +
+
+ + + +
+ +
+
+
+ +
+
+ + Oficial + Pessoal + +
+
+
+ +
+
+
+ +
+
+ + Reunião + Viagem + Conferência + Encontro + +
+
+
+ +
+
+
+ +
+
+ + + +
+
+
+ +
+
+
+ +
+
+ + + +
+
+
+ +
+
+
+ +
+
+ + Não se repete + Repete + +
+
+
+ +
+ +
+
+
+ +
+
+
+ + + Adicionar intervenientes + {{participant.Name}} + + +
+
+ +
+
+
+
+
+
+
+ +
+
+
+ + + Adicionar intervenientes + {{participant.Name}} + + +
+
+ +
+
+
+
+ +
+
+ +
+
+
+ +
+
+ +
+
+ + + +
+ -
- -
-
-
-
- -
-
- -
-
- - - -
- -
-
-
- -
-
- - Oficial - Pessoal - -
-
-
-
-
-
- -
-
- - Reunião - Viagem - Conferência - Encontro - -
-
-
- -
-
-
- -
-
- - - -
-
-
- -
-
-
- -
-
- - - -
-
-
- -
-
-
- -
-
- - Não se repete - Repete - -
-
-
- -
-
-
-
- -
-
-
- - - Adicionar Destinatários - - - -
-
- -
-
-
-
-
-
-
- -
-
-
- - - Adicionar CC - - - -
-
- -
-
-
-
-
- -
-
-
- -
-
- -
-
-
- - - -
+
- -
- -
+ + +
- + +
diff --git a/src/app/pages/agenda/edit-event/edit-event.page.scss b/src/app/pages/agenda/edit-event/edit-event.page.scss index f3440bae6..a7675581b 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.scss +++ b/src/app/pages/agenda/edit-event/edit-event.page.scss @@ -1,6 +1,10 @@ + +.title-content::after, .header-md::after{ + display: none; +} + .content{ - padding: 30px 20px 0 20px !important; margin: 0; float: left; border-left: 1px solid #d8d8d8 !important; @@ -8,13 +12,12 @@ .main-header{ font-family: Roboto; background-color: #fff; + overflow:hidden; - color:#000; transform: translate3d(0, 1px, 0); .title-content{ margin: 0px auto; - overflow: auto; padding: 0 !important; background: #fff; .middle{ @@ -38,12 +41,10 @@ width: 100%; margin: 0px auto; padding: 0 !important; - overflow: auto; } .container-div{ margin-bottom: 15px; float: left; - overflow: auto; } .ion-item-class-2{ margin: 0px auto; @@ -72,10 +73,8 @@ width: calc(100% - 45px); border: 1px solid #ebebeb; border-radius: 5px; - overflow: auto; } .list-people{ - //width: 256px; float: left; } 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 0a3bb35e6..3342f8ea3 100644 --- a/src/app/pages/agenda/edit-event/edit-event.page.ts +++ b/src/app/pages/agenda/edit-event/edit-event.page.ts @@ -3,7 +3,6 @@ import { AlertController, ModalController, NavParams } from '@ionic/angular'; import { EventBody } from 'src/app/models/eventbody.model'; import { EventPerson } from 'src/app/models/eventperson.model'; import { AlertService } from 'src/app/services/alert.service'; -import { AttachmentsService } from 'src/app/services/attachments.service'; import { EventsService } from 'src/app/services/events.service'; import { Event } from '../../../models/event.model'; import { AttendeesPage } from '../../events/attendees/attendees.page'; @@ -27,6 +26,11 @@ export class EditEventPage implements OnInit { selectedDate: Date; minDate: string; + + taskParticipants: any = []; + taskParticipantsCc: any = []; + adding: "intervenient" | "CC" = "intervenient"; + constructor( private modalController: ModalController, private navParams: NavParams, @@ -36,6 +40,18 @@ export class EditEventPage implements OnInit { ) { this.isEventEdited = false; this.postEvent = this.navParams.get('event'); + + this.taskParticipants = []; + this.taskParticipantsCc = []; + + if(this.postEvent.Attendees == null){ + this.taskParticipants = [] + } else { + this.taskParticipants = this.postEvent.Attendees; + } + + this.taskParticipantsCc = []; + if(this.postEvent.IsRecurring == false){ this.isRecurring = "Não se repete"; } @@ -46,8 +62,6 @@ export class EditEventPage implements OnInit { } ngOnInit() { - console.log(this.profile); - console.log(this.postEvent); window.onresize = (event) => { // if not mobile remove all component @@ -75,26 +89,55 @@ export class EditEventPage implements OnInit { this.modalController.dismiss(this.isEventEdited); } - async openAttendees() - { - const modal = await this.modalController.create({ - component: AttendeesPage, - componentProps: { - eventAttendees: this.postEvent.Attendees - }, - cssClass: 'attendee', - backdropDismiss: false - }); + async openAttendees(){ - await modal.present(); - - modal.onDidDismiss().then((data) => { - if (data['data'] != null) - { - let newattendees: EventPerson[] = data['data']; - this.postEvent.Attendees = newattendees; - } - }); -} + if(window.innerWidth <= 1024) { + const modal = await this.modalController.create({ + component: AttendeesPage, + componentProps: { + eventAttendees: this.postEvent.Attendees + }, + cssClass: 'attendee', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + if (data['data'] != null) + { + let newattendees: EventPerson[] = data['data']; + this.setIntervenient(newattendees); + } + }); + } + } + + async dynamicSetIntervenient(data){ + this.taskParticipants = data['taskParticipants']; + this.taskParticipantsCc = data['taskParticipantsCc']; + } + + async setIntervenient(data){ + this.taskParticipants = data; + + this.postEvent.Attendees = data; + } + + async setIntervenientCC(data){ + this.taskParticipantsCc = data; + } + + async addParticipants(){ + this.adding = 'intervenient'; + this.openAttendees(); + } + + async addParticipantsCC(){ + this.adding = 'CC'; + this.openAttendees(); + } + + async closeComponent(){} } diff --git a/src/app/pages/agenda/view-event/view-event.page.html b/src/app/pages/agenda/view-event/view-event.page.html index 448628f3f..e5c8ab51b 100644 --- a/src/app/pages/agenda/view-event/view-event.page.html +++ b/src/app/pages/agenda/view-event/view-event.page.html @@ -34,51 +34,57 @@
-
-
-

{{loadedEvent.Location}}{{loadedEvent.CalendarName}}

+ +
+
+
+

{{loadedEvent.Location}}{{loadedEvent.CalendarName}}

+
+
+ +

{{customDate}}

+

das {{loadedEvent.StartDate | date: 'HH:mm'}} às {{loadedEvent.EndDate | date: 'HH:mm'}}

+

(Não se repete)

+

Repete

+
+
-
- -

{{customDate}}

-

das {{loadedEvent.StartDate | date: 'HH:mm'}} às {{loadedEvent.EndDate | date: 'HH:mm'}}

-

(Não se repete)

-

Repete

-
-
-
-
-
-
-
Intervenientes
- - -
-

{{attendee.Name}}

-
-
-
-
-
Detalhes
- - - -
- -
- -

Documentos Anexados

+
+
+
+
Intervenientes
- -

{{attach.SourceName}}

-

{{attach.Stakeholders}}{{ attach.CreateDate | date: 'dd-MM-yy' }}

-
-
- + +
+

{{attendee.Name}}

+
+
+ +
+
+
Detalhes
+ + + +
+
+ +
+ +
Documentos Anexados
+ + +

{{attach.SourceName}}

+

{{attach.Stakeholders}}{{ attach.CreateDate | date: 'dd-MM-yy' }}

+
+
+
+
+
-
+
diff --git a/src/app/pages/agenda/view-event/view-event.page.scss b/src/app/pages/agenda/view-event/view-event.page.scss index 54eaf645b..78ef0dad7 100644 --- a/src/app/pages/agenda/view-event/view-event.page.scss +++ b/src/app/pages/agenda/view-event/view-event.page.scss @@ -162,7 +162,6 @@ ion-menu{ } .bottom-content{ - width: 360px; margin: 0 auto; .bottom-content h3{ 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 ed5b2dc28..20af874a9 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -8,12 +8,14 @@ import { EventsService } from 'src/app/services/events.service'; 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'; @Component({ selector: 'app-view-event', templateUrl: './view-event.page.html', styleUrls: ['./view-event.page.scss'], }) + export class ViewEventPage implements OnInit { loadedEvent: Event; @@ -41,6 +43,7 @@ export class ViewEventPage implements OnInit { private attachmentsService: AttachmentsService, public alertController: AlertController, private iab: InAppBrowser, + private processes: ProcessesService, ) { this.profile = this.navParams.get('profile'); @@ -65,6 +68,7 @@ export class ViewEventPage implements OnInit { }; } + close(){ console.log(this.isEventEdited); this.modalController.dismiss(this.isEventEdited); @@ -81,6 +85,7 @@ export class ViewEventPage implements OnInit { this.customDate = this.days[this.today.getDay()]+ ", " + this.today.getDate() +" de " + ( this.months[this.today.getMonth()]); }); } + deleteEvent(){ this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () => { @@ -102,6 +107,26 @@ export class ViewEventPage implements OnInit { }); } + async editEventDetail() { + + let classs; + if( window.innerWidth <= 800){ + classs = 'modal' + } else { + classs = 'modal modal-desktop' + } + + const modal = await this.modalController.create({ + component: EditEventPage, + componentProps: { + eventId: this.loadedEvent.EventId, + profile: this.profile, + }, + cssClass: classs, + }); + + } + async editEvent() { let classs; @@ -133,11 +158,14 @@ export class ViewEventPage implements OnInit { }); } - - viewDocument(){ - const url: string = this.loadedAttachments.DocumentURL.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); - const browser = this.iab.create(url,"_blank"); - browser.show(); + viewDocument(sourceId){ + this.processes.GetDocumentUrl(sourceId, '8').subscribe(res=>{ + console.log(res); + const url: string = res.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); + const browser = this.iab.create(url,"_blank"); + browser.show(); + + }); } } diff --git a/src/app/pages/events/attendees/attendees.page.html b/src/app/pages/events/attendees/attendees.page.html index 380e808b5..d9237957f 100644 --- a/src/app/pages/events/attendees/attendees.page.html +++ b/src/app/pages/events/attendees/attendees.page.html @@ -39,15 +39,14 @@ - - + + Cancelar - - + OK diff --git a/src/app/pages/events/attendees/attendees.page.ts b/src/app/pages/events/attendees/attendees.page.ts index 381044836..6217bf548 100644 --- a/src/app/pages/events/attendees/attendees.page.ts +++ b/src/app/pages/events/attendees/attendees.page.ts @@ -1,8 +1,8 @@ -import { Component, OnInit } from '@angular/core'; +import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core'; import { EventPerson } from 'src/app/models/eventperson.model'; import { EventsService } from 'src/app/services/events.service'; import { ModalController, NavController } from '@ionic/angular'; -import { AttendeeModalPage } from '../attendee-modal/attendee-modal.page'; +// import { AttendeeModalPage } from '../attendee-modal/attendee-modal.page'; @Component({ selector: 'app-attendees', @@ -11,12 +11,18 @@ import { AttendeeModalPage } from '../attendee-modal/attendee-modal.page'; }) export class AttendeesPage implements OnInit { - eventAttendees: EventPerson[]; + segment:string = "true"; shouldShowCancel:boolean = true; searchCountryString = ''; // initialize your searchCountryString string empty + @Output() openAttendeeModal = new EventEmitter(); + @Output() openAddEvent = new EventEmitter(); + @Input() eventAttendees: EventPerson[]; + @Output() GoBackEditOrAdd = new EventEmitter(); + + constructor(private eventService: EventsService, private modalCtrl: ModalController, private navCtrl: NavController) { } @@ -26,11 +32,15 @@ export class AttendeesPage implements OnInit { } save(){ + this.GoBackEditOrAdd.emit(); + //this.openAddEvent.emit(); this.modalCtrl.dismiss(this.eventAttendees); } close(){ + this.GoBackEditOrAdd.emit(); this.modalCtrl.dismiss(null); + //this.openAddEvent.emit(); } removeAttendee(attendee: EventPerson) @@ -42,9 +52,12 @@ export class AttendeesPage implements OnInit { this.eventAttendees.splice(index, 1); } - async addAttendees() - { - const modal = await this.modalCtrl.create({ + async addAttendees() { + + console.log('Event Intervenient'); + this.openAttendeeModal.emit(); + + /* const modal = await this.modalCtrl.create({ component: AttendeeModalPage, componentProps: { eventPersons: this.eventAttendees @@ -73,7 +86,8 @@ export class AttendeesPage implements OnInit { this.eventAttendees.push(att); }); } - }); + }); */ + } } \ No newline at end of file diff --git a/src/app/pages/events/edit-event/app-edit-event-home.page.html b/src/app/pages/events/edit-event/app-edit-event-home.page.html new file mode 100644 index 000000000..860adfe23 --- /dev/null +++ b/src/app/pages/events/edit-event/app-edit-event-home.page.html @@ -0,0 +1,215 @@ + + + + + + 21Visualizar Evento + + + + + + + +
+ + +
+ + Assunto + + + + + Campo obrigatório + +
+ + Descrição + + + + Localização + + + + Calendário + + Pessoal + Oficial + + + + Tipo do evento + + Reunião + Viagem + Conferência + Encontro + + + + Data Início + + + + Data Fim + + + +
+ + + Editar + + Participantes + +
+
+
+ + + + {{attendee.Name}} + + +
+ +
+
+ + Ver mais... + +
+
+
+
+ + + Editar + + Anexos + +
+
+
+ + + + + +

{{ att.Description }}

+

{{ att.CreateDate }}

+
+
+
+
+
+
+ + Ver mais... + +
+
+ + + + + + + Sem anexos + + + +
+
+
+
+ +
+
+ + + + + +
+ + + + + + + + + + + + +

+ +

+

+ +

+

+ +

+
+
+ + + + + +

+ +

+

+ +

+

+ +

+
+
+ + + +

+ +

+

+ +

+

+ +

+
+
+
+
+ +
+ + +
+ Gravar +
+
+
+ diff --git a/src/app/pages/events/edit-event/app-edit-event-home.page.scss b/src/app/pages/events/edit-event/app-edit-event-home.page.scss new file mode 100644 index 000000000..0224ee793 --- /dev/null +++ b/src/app/pages/events/edit-event/app-edit-event-home.page.scss @@ -0,0 +1,165 @@ + +.content{ + padding: 30px 20px 0 20px !important; + margin: 0; + float: left; + border-left: 1px solid #d8d8d8 !important; + } + .main-header{ + font-family: Roboto; + background-color: #fff; + overflow:hidden; + color:#000; + transform: translate3d(0, 1px, 0); + + .title-content{ + margin: 0px auto; + overflow: auto; + padding: 0 !important; + background: #fff; + .middle{ + padding: 0!important; + float: left; + } + } + + .title{ + font-size: 25px; + } + + } + .ion-item-container{ + margin: 15px auto; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 10px; + } + .ion-item-container-no-border{ + width: 100%; + margin: 0px auto; + padding: 0 !important; + overflow: auto; + } + .container-div{ + margin-bottom: 15px; + float: left; + overflow: auto; + } + .ion-item-class-2{ + margin: 0px auto; + } + .ion-icon-class{ + width: 45px; + height: 45px; + float: left; + padding: 10px; + font-size: 25px; + } + ion-select{ + padding-left: 5px; + margin-left: 0; + } + .ion-input-class{ + width: calc(100% - 45px); + height: 45px; + border: 1px solid #ebebeb; + border-radius: 5px; + padding-left: 5px; + padding-right: 10px; + float: left; + } + .ion-input-class-no-height{ + border: 1px solid #ebebeb; + border-radius: 5px; + overflow: auto; + } + .list-people{ + //width: 256px; + float: left; + + } + .add-people{ + width: 45px; + float: right; + overflow: auto; + font-size: 25px; + padding: 10px; + } + .list-people-title{ + /* font-size: 13px; */ + color: #797979; + } + .attach-document{ + font-size: 15px; + color: #0d89d1; + margin: 5px 5px 5px 10px; + padding: 5px; + float: left; + } + .attach-icon{ + width: 37px; + font-size: 35px; + float: left; + } + .attach-title-item{ + width: 100%; + font-size: 15px; + color:#0d89d1; + } + /* SPAN */ + .span-left{ + float: left; + font-size: 15x; + } + .span-right{ + text-align: right; + float: right; + font-size: 13px; + } + .container-footer{ + margin:0 auto; + overflow: auto; + } + .button-cancel { + width: 170px; + height: 44px; + border-radius: 22.5px; + --background: #e0e9ee; + --color: #061b52; + margin:10px; + } + .button-save { + width: 170px; + height: 44px; + border-radius: 22.5px; + --background: #42b9fe; + --color:#ffffff; + margin:10px; + } + + .text-input{ + width: 100%; + border: 1px solid #ebebeb; + margin: 0px 15px 15px 0px; + padding: 0 !important; + border-radius: 5px; + } + + /* Error Messages */ + .error{ + color:red; + font-size: 12px; + font-weight: bold; + padding-bottom: 20px; + } + .span-color{ + color:red; + } + + + .buttons{ + display: flex; + justify-content: space-between; + padding: 20px; + overflow: auto; + } \ No newline at end of file diff --git a/src/app/pages/events/edit-event/edit-event.component.spec.ts b/src/app/pages/events/edit-event/edit-event.component.spec.ts new file mode 100644 index 000000000..018a13b51 --- /dev/null +++ b/src/app/pages/events/edit-event/edit-event.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { EditEventComponent } from './edit-event.component'; + +describe('EditEventComponent', () => { + let component: EditEventComponent; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ EditEventComponent ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(EditEventComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/events/edit-event/edit-event.component.ts b/src/app/pages/events/edit-event/edit-event.component.ts new file mode 100644 index 000000000..7c8a50542 --- /dev/null +++ b/src/app/pages/events/edit-event/edit-event.component.ts @@ -0,0 +1,242 @@ +import { Component, OnInit } from '@angular/core'; +import { ActivatedRoute } from '@angular/router'; +import { EventsService } from 'src/app/services/events.service'; +import { Router } from '@angular/router'; +import { Event } from '../../../models/event.model'; +import { EventBody } from 'src/app/models/eventbody.model'; +import { AlertController, ModalController } from '@ionic/angular'; +import { EventPerson } from 'src/app/models/eventperson.model'; +import { AttendeesPage } from 'src/app/pages/events/attendees/attendees.page'; +import { AlertService } from 'src/app/services/alert.service'; +import { Attachment } from 'src/app/models/attachment.model'; +import { AttachmentsService } from 'src/app/services/attachments.service'; +import { FormGroup, FormBuilder, Validators } from "@angular/forms"; +import { InAppBrowser } from '@ionic-native/in-app-browser/ngx'; +import { AttachmentsPage } from '../attachments/attachments.page'; + + +@Component({ + selector: 'app-edit-event-home', + templateUrl: './app-edit-event-home.page.html', + styleUrls: ['./app-edit-event-home.page.scss'], +}) + +export class EventEditPage implements OnInit { + + loadedEvent: Event; + loadedEventAttachments: Attachment[]; + pageId: string; + showLoader: boolean; + backURL: string; + ionicForm: FormGroup; + isSubmitted = false; + + minDate: Date; + + profile:string; + + constructor( + public formBuilder: FormBuilder, + public alertController: AlertController, + private router: Router, + private activatedRoute: ActivatedRoute, + private eventsService: EventsService, + private modalCtrl: ModalController, + private alertService: AlertService, + private attachamentsService: AttachmentsService, + private route: Router, + private iab: InAppBrowser) { + this.loadedEvent = new Event(); + this.loadedEvent.Body = new EventBody(); + } + + ngOnInit() { + this.loadEvent(); + this.loadAttachments(); + this.ionicForm = this.formBuilder.group({ + subject: ['', [Validators.required]] + }) + } + + get errorControl() { + return this.ionicForm.controls; + } + + loadEvent(){ + let eventid: string; + this.activatedRoute.paramMap.subscribe(paramMap => + { + if (!paramMap.has("eventId")){ + return; + } + else{ + this.pageId = paramMap.get('eventId'); + eventid = paramMap.get('eventId'); + console.log(eventid); + + } + if (paramMap.has("caller")){ + this.backURL = "/home/" + paramMap.get('caller'); + } + } + ); + this.eventsService.getEvent(eventid).subscribe(response => { + this.loadedEvent = response; + }); + } + + async openAttendees(){ + const modal = await this.modalCtrl.create({ + component: AttendeesPage, + componentProps: { + eventAttendees: this.loadedEvent.Attendees + }, + cssClass: 'attendee', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + if (data['data'] != null) + { + let newattendees: EventPerson[] = data['data']; + this.loadedEvent.Attendees = newattendees; + } + }); + } + + getEventAttendees(): EventPerson[] + { + return this.loadedEvent.Attendees; + } + + setEventAttendees(newattendes: EventPerson[]) + { + this.loadedEvent.Attendees = newattendes; + } + + async deleteConfirm() + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Apagar evento!', + message: 'Deseja apagar o evento da agenda ' + this.loadedEvent.CalendarName + '?', + buttons: [ + { + text: 'Não', + role: 'cancel', + cssClass: 'secondary', + handler: () => { } + }, { + text: 'Sim', + handler: () => { + this.Delete(); + } + } + ] + }); + + await alert.present(); + } + + Delete() + { + this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () => + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento removido', + buttons: ['OK'] + }); + + await alert.present(); + + this.router.navigate(['/home/events']); + }); + } + + Save() + { + if (this.ionicForm.valid){ + + this.activatedRoute.paramMap.subscribe(paramMap =>{ + if (paramMap.has("profile")){ + console.log(paramMap.get('profile')); + + } + }); + + this.eventsService.editEvent(this.loadedEvent, 2, 3).subscribe(async () => + { + const alert = await this.alertController.create({ + cssClass: 'my-custom-class', + header: 'Evento actualizado', + buttons: ['OK'] + }); + + await alert.present(); + }); + } + } + + showAlert(){ + this.alertService.presentAlert("Funcionalidade em desenvolvimento"); + } + + loadAttachments() + { + /* console.log(this.pageId); */ + + this.attachamentsService.getAttachmentsById(this.pageId).subscribe(res => { + this.loadedEventAttachments = res; + console.log(res); + + }); + } + async viewDocument(documenturl:string) + { + const url: string = documenturl.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1"); + const browser = this.iab.create(url,"_blank"); + browser.show(); + } + + back() + { + //this.back(); + } + doRefresh(event){ + /* this.RefreshEvents(); */ + event.target.complete(); + setTimeout(() => { + event.target.complete(); + }, 2000); + + } + navigateTo(ev){ + this.route.navigate(['/home/events',ev]); + } + async openAttachments(){ + const modal = await this.modalCtrl.create({ + component: AttachmentsPage, + componentProps: { + eventId: this.pageId, + attachments: this.loadedEventAttachments + }, + cssClass: 'attachments', + backdropDismiss: false + }); + + await modal.present(); + + modal.onDidDismiss().then((data) => { + if (data['data'] != null) + { + let newattendees: EventPerson[] = data['data']; + this.loadedEvent.Attendees = newattendees; + } + }); + + } + +} diff --git a/src/app/pages/events/events-routing.module.ts b/src/app/pages/events/events-routing.module.ts index 64b25a029..0839cc0ea 100644 --- a/src/app/pages/events/events-routing.module.ts +++ b/src/app/pages/events/events-routing.module.ts @@ -1,37 +1,38 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; - -import { EventsPage } from './events.page'; - -const routes: Routes = [ - { - path: '', - component: EventsPage - }, - { - path: 'event-detail', - loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule) - }, - { - path: 'attachments', - loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule) - }, - { - path: 'attendees', - loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule) - }, - { - path: 'attendee-modal', - loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule) - }, { +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EventsPage } from './events.page'; + +const routes: Routes = [ + { + path: '', + component: EventsPage + }, + { + path: 'event-detail', + loadChildren: () => import('./event-detail/event-detail.module').then( m => m.EventDetailPageModule) + }, + { + path: 'attachments', + loadChildren: () => import('./attachments/attachments.module').then( m => m.AttachmentsPageModule) + }, + { + path: 'attendees', + loadChildren: () => import('./attendees/attendees.module').then( m => m.AttendeesPageModule) + }, + { + path: 'attendee-modal', + loadChildren: () => import('./attendee-modal/attendee-modal.module').then( m => m.AttendeeModalPageModule) + }, + { path: 'event-detail-modal', loadChildren: () => import('./event-detail-modal/event-detail-modal.module').then( m => m.EventDetailModalPageModule) } -]; - -@NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule], -}) -export class EventsPageRoutingModule {} +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EventsPageRoutingModule {} diff --git a/src/app/pages/events/events.page.ts b/src/app/pages/events/events.page.ts index 3b8fb1834..8359be511 100644 --- a/src/app/pages/events/events.page.ts +++ b/src/app/pages/events/events.page.ts @@ -15,6 +15,7 @@ import { DailyWorkTask } from '../../models/dailyworktask.model'; import { ViewEventPage } from '../agenda/view-event/view-event.page'; import { ExpedientePage } from '../gabinete-digital/expediente/expediente.page'; import { ExpedienteDetailPage } from '../gabinete-digital/expediente/expediente-detail/expediente-detail.page'; +import { EventEditPage } from './edit-event/edit-event.component'; import { GabineteDigitalPage } from '../gabinete-digital/gabinete-digital.page'; import { EditEventPage } from '../agenda/edit-event/edit-event.page'; @@ -106,6 +107,7 @@ export class EventsPage implements OnInit { doRefresh(event) { this.RefreshEvents(); event.target.complete(); + this.LoadList(); } onSegmentChange(){ @@ -265,7 +267,6 @@ export class EventsPage implements OnInit { } else { classs = 'modal modal-desktop showAsideOptions' } - console.log(this.profile); const modal = await this.modalController.create({ component: ViewEventPage, @@ -284,6 +285,34 @@ export class EventsPage implements OnInit { }); } + + async editEventDetail(eventId:any) { + + let classs; + if( window.innerWidth <= 800){ + classs = 'modal' + } else { + classs = 'modal modal-desktop showAsideOptions' + } + + const modal = await this.modalController.create({ + component: EventEditPage, + componentProps:{ + eventId: eventId, + profile: this.profile, + }, + cssClass: classs, + }); + + await modal.present(); + modal.onDidDismiss().then((res)=>{ + if(res){ + console.log(res); + this.RefreshEvents(); + } + }); + } + async viewExpedientDetail(serialNumber:any) { let classs; if( window.innerWidth <= 800){ diff --git a/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts b/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts index 59a8fbe75..7acf42a74 100644 --- a/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts +++ b/src/app/pages/gabinete-digital/discart-expedient-modal/discart-expedient-modal.page.ts @@ -40,7 +40,7 @@ export class DiscartExpedientModalPage implements OnInit { } save(){ - if(this.action != 'discart'){ + /* if(this.action != 'discart'){ let body = { "serialNumber": this.serialNumber, "action": "Tratado" } console.log(body); this.processes.PostTaskAction(body); @@ -49,9 +49,9 @@ export class DiscartExpedientModalPage implements OnInit { let body = { "serialNumber": this.serialNumber, "action": "Passivo" } console.log(body); this.processes.PostTaskAction(body); - } + } */ this.router.navigate(['/home/gabinete-digital/expediente']); - this.modalController.dismiss(); + this.modalController.dismiss('close'); } } diff --git a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html index 65598f61e..b589d9ab9 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html +++ b/src/app/pages/gabinete-digital/event-list/approve-event-modal/approve-event-modal.page.html @@ -25,7 +25,7 @@ - Emendar + Emendar1 diff --git a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html index 23aa99595..8140b1fae 100644 --- a/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html +++ b/src/app/pages/gabinete-digital/event-list/approve-event/approve-event.page.html @@ -25,7 +25,7 @@ - Emendar + Emendar1 @@ -93,7 +93,7 @@

- Aprovar + Aprovar1