diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index ec5e14308..f08d68e49 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -148,10 +148,13 @@ const routes = [ 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: 'chat', component: ChatPage } */ diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts index cc9c5c97e..338ccf71b 100644 --- a/src/app/home/home-routing.module.ts +++ b/src/app/home/home-routing.module.ts @@ -1,15 +1,7 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { AuthGuard } from '../guards/auth.guard'; -import { HomeGuard } from '../guards/home.guard'; -import { LoginGuard } from '../guards/login.guard'; -import { GroupMessagesPage } from '../pages/chat/group-messages/group-messages.page'; -import { MessagesPage } from '../pages/chat/messages/messages.page'; -import { PendentesResolverService } from '../resolvers/pendentes-resolver.service'; -import { ProcessesResolverService } from '../resolvers/processes-resolver.service'; import { UserDataResolver } from '../resolvers/userData.resolver'; -import { DiplomasPage } from '../shared/gabinete-digital/diplomas/diplomas.page'; - import { HomePage } from './home.page'; const routes: Routes = [ @@ -267,8 +259,6 @@ const routes: Routes = [ ] } ], - - }, { path: 'search', diff --git a/src/app/modals/eliminate-event/eliminate-event-routing.module.ts b/src/app/modals/eliminate-event/eliminate-event-routing.module.ts new file mode 100644 index 000000000..aeeafb0e7 --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event-routing.module.ts @@ -0,0 +1,17 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +import { EliminateEventPage } from './eliminate-event.page'; + +const routes: Routes = [ + { + path: '', + component: EliminateEventPage + } +]; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], +}) +export class EliminateEventPageRoutingModule {} diff --git a/src/app/modals/eliminate-event/eliminate-event.module.ts b/src/app/modals/eliminate-event/eliminate-event.module.ts new file mode 100644 index 000000000..32104b54c --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event.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 { EliminateEventPageRoutingModule } from './eliminate-event-routing.module'; + +import { EliminateEventPage } from './eliminate-event.page'; + +@NgModule({ + imports: [ + CommonModule, + FormsModule, + IonicModule, + EliminateEventPageRoutingModule + ], + declarations: [EliminateEventPage] +}) +export class EliminateEventPageModule {} diff --git a/src/app/modals/eliminate-event/eliminate-event.page.html b/src/app/modals/eliminate-event/eliminate-event.page.html new file mode 100644 index 000000000..b29c62d3b --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event.page.html @@ -0,0 +1,19 @@ + + + + +
+
+

Deseja retirar este expediente da sua caixa de correspondência?

+
+
+
+

Nota: Ao efectuar esta operação, o tratamento deste expediente não poderá ser realizado a partir da caixa de correspondência

+
+
+ +
+ + +
+
diff --git a/src/app/modals/eliminate-event/eliminate-event.page.scss b/src/app/modals/eliminate-event/eliminate-event.page.scss new file mode 100644 index 000000000..0c8c7cac0 --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event.page.scss @@ -0,0 +1,27 @@ +ion-content{ + --padding-top:15px; + --padding-start: 15px; + --padding-end: 15px; + } + .header-content{ + overflow: hidden; + margin: 0 auto; + align-items: center; + justify-content: center; + } + .header-title{ + font-family: Roboto; + font-size: 20px; + color:#000; + margin: 0 5px 0 5px; + } + .header-body{ + margin: 0 5px 0 5px; + } + + .buttons{ + display: flex; + justify-content: space-between; + padding: 15px 0 15px 0; + } + \ No newline at end of file diff --git a/src/app/modals/eliminate-event/eliminate-event.page.spec.ts b/src/app/modals/eliminate-event/eliminate-event.page.spec.ts new file mode 100644 index 000000000..e10f0264c --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event.page.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; +import { IonicModule } from '@ionic/angular'; + +import { EliminateEventPage } from './eliminate-event.page'; + +describe('EliminateEventPage', () => { + let component: EliminateEventPage; + let fixture: ComponentFixture; + + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ EliminateEventPage ], + imports: [IonicModule.forRoot()] + }).compileComponents(); + + fixture = TestBed.createComponent(EliminateEventPage); + component = fixture.componentInstance; + fixture.detectChanges(); + })); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/modals/eliminate-event/eliminate-event.page.ts b/src/app/modals/eliminate-event/eliminate-event.page.ts new file mode 100644 index 000000000..1e03c2dab --- /dev/null +++ b/src/app/modals/eliminate-event/eliminate-event.page.ts @@ -0,0 +1,24 @@ +import { Component, OnInit } from '@angular/core'; +import { ModalController } from '@ionic/angular'; + +@Component({ + selector: 'app-eliminate-event', + templateUrl: './eliminate-event.page.html', + styleUrls: ['./eliminate-event.page.scss'], +}) +export class EliminateEventPage implements OnInit { + + constructor(private modalController: ModalController,) { } + + ngOnInit() { + } + + close(){ + this.modalController.dismiss('No'); + } + + save(){ + this.modalController.dismiss('Yes'); + } + +} diff --git a/src/app/models/agenda/eventrecurrence.model.ts b/src/app/models/agenda/eventrecurrence.model.ts index 4348dce5c..14f8a5de1 100644 --- a/src/app/models/agenda/eventrecurrence.model.ts +++ b/src/app/models/agenda/eventrecurrence.model.ts @@ -1,5 +1,5 @@ -export class EventRecurrence{ - Type: string; +export class EventRecurrence { + Type: string | number; Day?: number; DayOfWeek?:number; Month?: number; 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 4d7378c27..e012e58b1 100644 --- a/src/app/pages/agenda/view-event/view-event.page.ts +++ b/src/app/pages/agenda/view-event/view-event.page.ts @@ -14,6 +14,7 @@ import { BookMeetingModalPage } from '../../gabinete-digital/expediente/book-mee 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'; +import { EliminateEventPage } from 'src/app/modals/eliminate-event/eliminate-event.page'; @Component({ selector: 'app-view-event', @@ -143,6 +144,34 @@ export class ViewEventPage implements OnInit { }); } + + async OpenDeleteEventModal() { + + const modal = await this.modalController.create({ + component: EliminateEventPage, + componentProps: { + eventId: this.loadedEvent.EventId, + caller: this.caller, + }, + cssClass: 'discart-expedient-modal', + + }); + await modal.present(); + modal.onDidDismiss().then((res) => { + console.log(res); + + if(res){ + setTimeout(() => { + /* this.loadEvent(); */ + this.loadEvent() + this.getAttachments(); + }, 250); + this.isEventEdited = true; + } + }); + + } + getAttachments() { const loader = this.toastService.loading() diff --git a/src/app/shared/agenda/edit-event/edit-event.page.ts b/src/app/shared/agenda/edit-event/edit-event.page.ts index 279c9770e..6b3fbd484 100644 --- a/src/app/shared/agenda/edit-event/edit-event.page.ts +++ b/src/app/shared/agenda/edit-event/edit-event.page.ts @@ -182,6 +182,11 @@ export class EditEventPage implements OnInit { injectValidation() { + if (typeof(this.postEvent.EventRecurrence.Type) == 'number') { + const str: any = this.postEvent.EventRecurrence.Type.toString() + this.postEvent.EventRecurrence.Type = str + } + this.Form = new FormGroup({ Subject: new FormControl(this.postEvent.Subject, [ Validators.required, diff --git a/src/app/shared/agenda/new-event/new-event.page.ts b/src/app/shared/agenda/new-event/new-event.page.ts index 6cb7da1b5..7003f7664 100644 --- a/src/app/shared/agenda/new-event/new-event.page.ts +++ b/src/app/shared/agenda/new-event/new-event.page.ts @@ -24,6 +24,7 @@ import { ThemePalette } from '@angular/material/core'; import { NgZone, ViewChild } from '@angular/core'; import { FormGroup, Validators } from '@angular/forms'; import { NGX_MAT_DATE_FORMATS } from '@angular-material-components/datetime-picker'; +import { EliminateEventPage } from 'src/app/modals/eliminate-event/eliminate-event.page'; const moment = _rollupMoment || _moment; @@ -227,6 +228,11 @@ export class NewEventPage implements OnInit { injectValidation() { + if (typeof(this.postEvent.EventRecurrence.Type) == 'number') { + const str: any = this.postEvent.EventRecurrence.Type.toString() + this.postEvent.EventRecurrence.Type = str + } + this.Form = new FormGroup({ Subject: new FormControl(this.postEvent.Subject, [ Validators.required, @@ -340,6 +346,8 @@ export class NewEventPage implements OnInit { } } + + async save() { this.injectValidation() 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 52b9fa115..d6468e6a8 100644 --- a/src/app/shared/agenda/view-event/view-event.page.ts +++ b/src/app/shared/agenda/view-event/view-event.page.ts @@ -13,6 +13,7 @@ import { BookMeetingModalPage } from 'src/app/pages/gabinete-digital/expediente/ import { ChatPopoverPage } from '../../popover/chat-popover/chat-popover.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'; @Component({ selector: 'app-view-event', @@ -109,12 +110,32 @@ export class ViewEventPage implements OnInit { ; } - deleteEvent(){ - this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () => - { + async deleteEvent(){ + + if (this.loadedEvent.IsRecurring) { + + } else { + this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () => { this.toastService.successMessage('Evento apagado'); this.close(); }); + } + + } + + async deleteRecurringEvent() { + + const modal = await this.modalController.create({ + component: EliminateEventPage, + componentProps: {}, + cssClass: 'discart-expedient-modal', + + }); + await modal.present(); + modal.onDidDismiss().then((res) => { + + }); + } getAttachments(eventId){