diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 0193e8f4b..5dfb7a7e9 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -9,82 +9,7 @@ const routes: Routes = [
{
path: '',
loadChildren: () => import('./home/home.module').then( m => m.HomePageModule)
- },
- {
- path: 'events',
- loadChildren: () => import('./pages/events/events.module').then( m => m.EventsPageModule)
- },
- {
- path: 'chat',
- loadChildren: () => import('./pages/chat/chat.module').then( m => m.ChatPageModule)
- },
- {
- path: 'publications',
- loadChildren: () => import('./pages/publications/publications.module').then( m => m.PublicationsPageModule)
- },
- {
- path: 'header',
- loadChildren: () => import('./shared/header/header.module').then( m => m.HeaderPageModule)
- },
- {
- path: 'header',
- loadChildren: () => import('./shared/header/header.module').then( m => m.HeaderPageModule)
- },
- {
- path: 'header-pr',
- loadChildren: () => import('./shared/header-pr/header-pr.module').then( m => m.HeaderPrPageModule)
- },
- {
- path: 'btn-seguinte',
- loadChildren: () => import('./shared/btn-seguinte/btn-seguinte.module').then( m => m.BtnSeguintePageModule)
- },
- {
- path: 'btn-modal-dismiss',
- loadChildren: () => import('./shared/btn-modal-dismiss/btn-modal-dismiss.module').then( m => m.BtnModalDismissPageModule)
- },
- {
- path: 'chat-popover',
- loadChildren: () => import('./shared/popover/chat-popover/chat-popover.module').then( m => m.ChatPopoverPageModule)
- },
- {
- path: 'chat-options-popover',
- loadChildren: () => import('./shared/popover/chat-options-popover/chat-options-popover.module').then( m => m.ChatOptionsPopoverPageModule)
- },
{
- path: 'messages-options',
- loadChildren: () => import('./shared/popover/messages-options/messages-options.module').then( m => m.MessagesOptionsPageModule)
- },
- {
- path: 'group-duration',
- loadChildren: () => import('./shared/popover/group-duration/group-duration.module').then( m => m.GroupDurationPageModule)
- },
- {
- path: 'header-no-search',
- loadChildren: () => import('./shared/headers/header-no-search/header-no-search.module').then( m => m.HeaderNoSearchPageModule)
- },
-
-
-
- /* {
- path: 'cal-modal',
- loadChildren: () => import('./pages/cal-modal/cal-modal.module').then( m => m.CalModalPageModule)
- }, */
- /* {
- path: 'events',
- loadChildren: () => import('./pages/events/events.module').then( m => m.EventsPageModule)
- }, */
-
- /*
- {
- path: 'gabinete-digital-menu',
- loadChildren: () => import('./pages/gabinete-digital-menu/gabinete-digital-menu.module').then( m => m.GabineteDigitalMenuPageModule)
- },
-
-
- {
- path: 'view-event',
- loadChildren: () => import('./pages/view-event/view-event.module').then( m => m.ViewEventPageModule)
- }, */
-
+ }
];
@NgModule({
imports: [
diff --git a/src/app/components/calendar/calendar.component.html b/src/app/components/calendar/calendar.component.html
deleted file mode 100644
index a23ca3d0c..000000000
--- a/src/app/components/calendar/calendar.component.html
+++ /dev/null
@@ -1,2 +0,0 @@
-
-
diff --git a/src/app/components/calendar/calendar.component.scss b/src/app/components/calendar/calendar.component.scss
deleted file mode 100644
index ef8de7ae7..000000000
--- a/src/app/components/calendar/calendar.component.scss
+++ /dev/null
@@ -1,20 +0,0 @@
-* {
- margin: 0;
- padding: 0;
- box-sizing: border-box;
- font-family: "Quicksand", sans-serif;
- }
-
- html {
- font-size: 62.5%;
- }
-
- .container {
- width: 100%;
- height: 100vh;
- background-color: #12121f;
- color: #eee;
- display: flex;
- justify-content: center;
- align-items: center;
- }
\ No newline at end of file
diff --git a/src/app/components/calendar/calendar.component.ts b/src/app/components/calendar/calendar.component.ts
deleted file mode 100644
index f2a841df3..000000000
--- a/src/app/components/calendar/calendar.component.ts
+++ /dev/null
@@ -1,41 +0,0 @@
-import { Component, OnInit } from '@angular/core';
-
-@Component({
- selector: 'app-calendar',
- templateUrl: './calendar.component.html',
- styleUrls: ['./calendar.component.scss'],
-})
-export class CalendarComponent implements OnInit {
-
- date = new Date();
- months = [
- "Janeiro",
- "Fevereiro",
- "Março",
- "Abril",
- "Maio",
- "Junho",
- "Julho",
- "Agosto",
- "Setembro",
- "Outubro",
- "Novembro",
- "Dezembro",
- ];
- weekdays = [
- "Domingo",
- "Segunda-feira",
- "Terça-feira",
- "Quarta-feira",
- "Quinta-feira",
- "Sexta-feira",
- "Sábado"
- ];
- currentMonth = this.months[this.date.getMonth()];
- customDate = this.weekdays[this.date.getDay()]+ ", " + this.date.getDate() +" de " + ( this.months[this.date.getMonth()]);
-
- constructor() { }
-
- ngOnInit() {
- }
-}
diff --git a/src/app/components/components.module.ts b/src/app/components/components.module.ts
deleted file mode 100644
index b415ba1d4..000000000
--- a/src/app/components/components.module.ts
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-import { CalendarComponent } from './calendar/calendar.component';
-
-
-
-
-
diff --git a/src/app/pages/agenda/agenda.module.ts b/src/app/pages/agenda/agenda.module.ts
index a72bd12bd..2812f3dc8 100644
--- a/src/app/pages/agenda/agenda.module.ts
+++ b/src/app/pages/agenda/agenda.module.ts
@@ -7,17 +7,17 @@ import { IonicModule } from '@ionic/angular';
import { AgendaPageRoutingModule } from './agenda-routing.module';
import { AgendaPage } from './agenda.page';
-
-
import { NgCalendarModule } from 'ionic2-calendar';
import { CalModalPageModule } from '../cal-modal/cal-modal.module';
import { registerLocaleData } from '@angular/common';
import localeDe from '@angular/common/locales/pt';
-import { CalendarComponent } from 'src/app/components/calendar/calendar.component';
import { SharedModule } from 'src/app/shared/shared.module';
-registerLocaleData(localeDe);
+import { NewEventPage } from "src/app/shared/agenda/new-event/new-event.component"
+import { EditEventComponent } from 'src/app/shared/agenda/edit-event/edit-event.component';
+import { ViewEventPage } from 'src/app/shared/agenda/view-event/view-event.page';
+registerLocaleData(localeDe);
import { CalendarModule, DateAdapter } from 'angular-calendar';
import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
@@ -36,7 +36,12 @@ import { adapterFactory } from 'angular-calendar/date-adapters/date-fns';
NgCalendarModule,
CalModalPageModule,
],
- declarations: [AgendaPage, CalendarComponent],
+ declarations: [
+ AgendaPage,
+ NewEventPage,
+ EditEventComponent,
+ ViewEventPage
+ ],
schemas: [CUSTOM_ELEMENTS_SCHEMA],
providers: [
{ provide: LOCALE_ID, useValue: 'pt-PT'}
diff --git a/src/app/pages/agenda/agenda.page.html b/src/app/pages/agenda/agenda.page.html
index 6f827411d..b783d6e49 100644
--- a/src/app/pages/agenda/agenda.page.html
+++ b/src/app/pages/agenda/agenda.page.html
@@ -1,279 +1,321 @@
-
-
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ viewTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
{{ viewTitle }}
-
+
+
+ {{ view.dates[row*7+col].label }}
+
+
+
- -->
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ viewTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{view.dates[row*7+col].label}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{ viewTitle }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{view.dates[row*7+col].label}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
- {{ view.dates[row*7+col].label }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ viewTitle }}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{view.dates[row*7+col].label}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{ viewTitle }}
-
-
-
-
-
-
-
-
-
-
+
-
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
- {{view.dates[row*7+col].label}}
-
-
-
-
-
-
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
+
\ No newline at end of file
diff --git a/src/app/pages/agenda/agenda.page.scss b/src/app/pages/agenda/agenda.page.scss
index 7825c669e..99fbb4e53 100644
--- a/src/app/pages/agenda/agenda.page.scss
+++ b/src/app/pages/agenda/agenda.page.scss
@@ -464,16 +464,21 @@ td.monthview-primary-with-event {
.timeline-header{
z-index: 1000000;
- position: absolute;
width: 100%;
background-color: white;
}
.timeline-container{
- margin-top: 67px;
+
}
+.calendar-timeline{
+
+ height: 100%;
+ background-color: white;
+ border-top-left-radius: 25px;
+}
.calendar-border{
background: #ebebeb;
@@ -484,6 +489,58 @@ td.monthview-primary-with-event {
.calendar-progress-bar{
position: absolute;
- width: calc(100% - 20px);
+ width: 100%;
margin-left: 10px;
+}
+
+
+.agenda-container{
+ overflow: hidden;
+}
+
+.container-wrapper{
+ height: 100%;
+ .calendar-timeline{
+ flex-wrap: wrap;
+ border-top-right-radius: 24px;
+ width: calc(100%);
+
+ .calendar-wrapper{
+ width: 100%;
+ }
+
+ .timeline-wrapper{
+ width: 100%;
+ overflow: scroll;
+ overflow-x: hidden;
+ }
+ }
+}
+
+.event-details{
+ width: 100%;
+ background: white;
+ border-top-right-radius: 25px;
+}
+
+
+.event-details{
+ // width: 411px;
+ display: none;
+}
+
+
+@media only screen and (min-width: 1024px) {
+ .container-wrapper{
+ height: 100%;
+
+ .calendar-timeline{
+ flex-wrap: wrap;
+ border-top-right-radius: 0px;
+ width: calc(100% - 40%);
+ }
+ }
+ .event-details{
+ display: block;
+ }
}
\ No newline at end of file
diff --git a/src/app/pages/agenda/agenda.page.ts b/src/app/pages/agenda/agenda.page.ts
index ef09c1e6d..3a5307da6 100644
--- a/src/app/pages/agenda/agenda.page.ts
+++ b/src/app/pages/agenda/agenda.page.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, ViewChild, Inject, LOCALE_ID } from '@angular/core';
+import { Component, OnInit, ViewChild, Inject, LOCALE_ID, Input } from '@angular/core';
import { CalendarComponent } from 'ionic2-calendar';
import { AlertController, ModalController } from '@ionic/angular';
import { CalModalPage } from '../cal-modal/cal-modal.page';
@@ -8,7 +8,8 @@ import { Router, NavigationEnd } from '@angular/router';
import { AlertService } from 'src/app/services/alert.service';
import { NewEventPage } from './new-event/new-event.page';
import { ViewEventPage } from './view-event/view-event.page';
-import { momentG } from 'src/plugin/momentG'
+import { momentG } from 'src/plugin/momentG';
+import {DomSanitizer} from "@angular/platform-browser";
// showTimeline
import { setHours, setMinutes } from 'date-fns';
@@ -80,6 +81,10 @@ export class AgendaPage implements OnInit {
rangeStartDate: Date;
rangeEndDate: Date;
+ selectedEvent: Event;
+ selectedEventId: string | number;
+ postEvent: any;
+
@ViewChild(CalendarComponent) myCal: CalendarComponent;
segment:string;
@@ -98,6 +103,11 @@ export class AgendaPage implements OnInit {
endTime: Date;
+ mobileComponent: any = {
+ showAddNewEvent: false,
+ showEditEvent: false,
+ showEventDitails: false,
+ }
constructor(
private alertCtrl: AlertController,
@@ -105,7 +115,8 @@ export class AgendaPage implements OnInit {
private modalCtrl: ModalController,
private eventService: EventsService,
private router: Router,
- private alertCrontroller: AlertService
+ private alertCrontroller: AlertService,
+ private sanitizer: DomSanitizer
) {
this.calendarHeight = "347px";
@@ -155,10 +166,21 @@ export class AgendaPage implements OnInit {
// Show information of the event for timeline
eventClicked({ event }: { event: CalendarEvent }): void {
console.log('Event clicked', event);
-
+
+ // this.selectedEvent = event;
+
this.eventSelectedDate = event.start;
- this.viewEventDetail(event.id);
- /* this.router.navigate(["/home/agenda", event.id, 'agenda']); */
+ this.selectedEventId = event.id;
+
+ // this.viewEventDetail(event.id);
+
+ if( window.innerWidth <= 1024){
+ this.router.navigate(["/home/agenda", event.id, 'agenda']);
+ } else {
+ this.cloneAllmobileComponent();
+ this.mobileComponent.showEventDitails = true;
+ }
+
}
//Show information of the event
@@ -263,16 +285,11 @@ export class AgendaPage implements OnInit {
// auto scroll timeline
setTimeout(() => {
const timelineMarker = document.querySelector('.cal-current-time-marker');
-
- const timelineContainer = document.querySelector('ion-content#timeline-conteiner');
-
- const shadowRoot = timelineContainer.shadowRoot;
-
- const scrollContainer = shadowRoot.querySelector('main');
+ const scrollContainer = document.querySelector('.timeline-wrapper');
try {
scrollContainer.scroll({
- top: timelineMarker['offsetTop'] - ((scrollContainer.offsetHeight/2) - 60),
+ top: timelineMarker['offsetTop'] - ((scrollContainer['offsetHeight']/2) - 60),
left: 0,
behavior: 'smooth'
})
@@ -280,7 +297,6 @@ export class AgendaPage implements OnInit {
//
}
-
}, timeout);
}
@@ -589,33 +605,45 @@ export class AgendaPage implements OnInit {
}
async openAddEvent() {
- const modal = await this.modalCtrl.create({
- component: NewEventPage,
- componentProps:{
- segment: this.segment,
- profile: this.profile,
- eventSelectedDate: this.eventSelectedDate
- },
- cssClass: 'modal',
- backdropDismiss: false
- });
- await modal.present();
- modal.onDidDismiss().then((data) => {
- let postEvent: Event = data['data'];
- if (postEvent.Subject != null)
- {
- this.eventSource.push({
- title: postEvent.Subject,
- startTime: new Date(postEvent.StartDate),
- endTime: new Date(postEvent.EndDate),
- allDay: false,
- event: postEvent
- });
- this.myCal.update();
- this.myCal.loadEvents();
- this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
- }
- });
+
+ if( window.innerWidth <= 1024){
+ const modal = await this.modalCtrl.create({
+ component: NewEventPage,
+ componentProps:{
+ segment: this.segment,
+ profile: this.profile,
+ eventSelectedDate: this.eventSelectedDate
+ },
+ cssClass: 'modal',
+ backdropDismiss: false
+ });
+ await modal.present();
+ modal.onDidDismiss().then((data) => {
+ this.openAddEventDismiss(data['data'])
+ });
+ } else {
+ this.mobileComponent.showAddNewEvent = true;
+ }
+ }
+
+ openAddEventDismiss(data){
+ this.cloneAllmobileComponent();
+
+ let postEvent: Event = data;
+ if (postEvent.Subject != null)
+ {
+ this.eventSource.push({
+ title: postEvent.Subject,
+ startTime: new Date(postEvent.StartDate),
+ endTime: new Date(postEvent.EndDate),
+ allDay: false,
+ event: postEvent
+ });
+ this.myCal.update();
+ this.myCal.loadEvents();
+ this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
+ }
+ this.mobileComponent.showAddNewEvent = false;
}
async viewEventDetail(eventId:any) {
@@ -632,12 +660,29 @@ export class AgendaPage implements OnInit {
await modal.present();
modal.onDidDismiss().then((res)=>{
if(res){
- console.log(res);
- this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
+ this.viewEventDetailDismiss(res);
}
});
}
+ async viewEventDetailDismiss(data){
+
+ await this.cloneAllmobileComponent()
+
+ if (data.type == 'edit'){
+
+ this.selectedEvent = data.event;
+ this.postEvent = data.event;
+
+ console.log(this.selectedEvent);
+
+ this.mobileComponent.showEditEvent = true;
+
+ }
+
+ this.loadRangeEvents(this.rangeStartDate, this.rangeEndDate);
+ }
+
async viewEventsToApprove(){
const modal = await this.modalCtrl.create({
component: EventListPage,
@@ -649,4 +694,15 @@ export class AgendaPage implements OnInit {
await modal.present();
modal.onDidDismiss();
}
+
+ async cloneAllmobileComponent(){
+
+ this.mobileComponent= {
+ showAddNewEvent: false,
+ showEditEvent: false,
+ showEventDitails: false,
+ }
+
+ }
+
}
\ 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 1191e66de..0d00866fd 100644
--- a/src/app/pages/agenda/edit-event/edit-event.page.ts
+++ b/src/app/pages/agenda/edit-event/edit-event.page.ts
@@ -1,7 +1,5 @@
import { Component, OnInit } from '@angular/core';
import { AlertController, ModalController, NavParams } from '@ionic/angular';
-import { AuthConnstants } from 'src/app/config/auth-constants';
-import { Attachment } from 'src/app/models/attachment.model';
import { EventBody } from 'src/app/models/eventbody.model';
import { EventPerson } from 'src/app/models/eventperson.model';
import { AlertService } from 'src/app/services/alert.service';
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 ba216ec40..25bf81aa3 100644
--- a/src/app/pages/agenda/new-event/new-event.page.html
+++ b/src/app/pages/agenda/new-event/new-event.page.html
@@ -204,7 +204,7 @@
-
+
Cancelar
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 d63990cdb..e9552d272 100644
--- a/src/app/pages/agenda/view-event/view-event.page.ts
+++ b/src/app/pages/agenda/view-event/view-event.page.ts
@@ -126,6 +126,4 @@ export class ViewEventPage implements OnInit {
browser.show();
}
-
-
}
diff --git a/src/app/shared/agenda/edit-event/edit-event.component.html b/src/app/shared/agenda/edit-event/edit-event.component.html
new file mode 100644
index 000000000..3f450ca4f
--- /dev/null
+++ b/src/app/shared/agenda/edit-event/edit-event.component.html
@@ -0,0 +1,230 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oficial
+ Pessoal
+
+
+
+
+
+
+
+
+
+
+
+
+ Reunião
+ Viagem
+ Conferência
+ Encontro
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Não se repete
+ Repete
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anexar Documentos
+
+
+
+
+
+
+ Documentos Anexados
+
+
+
+
+ Text
+ Text Text
+
+
+
+
+
+
+
+
+
+
+
+ Cancelar
+
+
+
+
+
+ Gravar
+
+
+
diff --git a/src/app/shared/agenda/edit-event/edit-event.component.scss b/src/app/shared/agenda/edit-event/edit-event.component.scss
new file mode 100644
index 000000000..1515a515b
--- /dev/null
+++ b/src/app/shared/agenda/edit-event/edit-event.component.scss
@@ -0,0 +1,177 @@
+ion-content{
+ --background:transparent;
+}
+.header-toolbar{
+ --background:transparent;
+ --opacity: 1;
+}
+ .main-header{
+ width: 100%; /* 400px */
+ height: 100%;
+ font-family: Roboto;
+ border-top-left-radius: 25px;
+ border-top-right-radius: 25px;
+ background-color: #fff;
+ overflow:hidden;
+ padding: 30px 20px 0px 20px;
+ color:#000;
+ transform: translate3d(0, 1px, 0);
+
+ .title-content{
+ width: 360px;
+ margin: 0px auto;
+ overflow: auto;
+ padding: 0 !important;
+ background: #fff;
+ .middle{
+ padding: 0!important;
+ float: left;
+ width: 221px;
+ margin: 2.5px 0 0 5px;
+ }
+ }
+
+ .title{
+ font-size: 25px;
+ }
+
+ }
+ .main-content{
+ width: 100%; /* 400px */
+ height: 100%;
+ font-family: Roboto;
+ margin: 0 auto;
+ background-color: #fff;
+ overflow:auto;
+ padding: 15px 20px 0 20px;
+
+ .ion-item-container{
+ width: 360px;
+ 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;
+ overflow: auto;
+ }
+ .ion-item-class-2{
+ width: 360px;
+ 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: 315px;
+ 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;
+ }
+
+ }
\ No newline at end of file
diff --git a/src/app/shared/agenda/edit-event/edit-event.component.spec.ts b/src/app/shared/agenda/edit-event/edit-event.component.spec.ts
new file mode 100644
index 000000000..f0db40f8a
--- /dev/null
+++ b/src/app/shared/agenda/edit-event/edit-event.component.spec.ts
@@ -0,0 +1,24 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { IonicModule } from '@ionic/angular';
+
+import { EditEventComponent } from './edit-event.component';
+
+describe('EditEventComponent', () => {
+ let component: EditEventComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ 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/shared/agenda/edit-event/edit-event.component.ts b/src/app/shared/agenda/edit-event/edit-event.component.ts
new file mode 100644
index 000000000..b7c7e4e3e
--- /dev/null
+++ b/src/app/shared/agenda/edit-event/edit-event.component.ts
@@ -0,0 +1,95 @@
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { ModalController } from '@ionic/angular';
+import { EventBody } from 'src/app/models/eventbody.model';
+import { EventPerson } from 'src/app/models/eventperson.model';
+import { EventsService } from 'src/app/services/events.service';
+import { Event } from 'src/app/models/event.model';
+import { AttendeesPage } from 'src/app/pages/events/attendees/attendees.page';
+import { AlertController, NavParams } from '@ionic/angular';
+import { AlertService } from 'src/app/services/alert.service';
+
+
+@Component({
+ selector: 'app-edit-event',
+ templateUrl: './edit-event.component.html',
+ styleUrls: ['./edit-event.component.scss'],
+})
+export class EditEventComponent implements OnInit {
+
+ stEvent: Event;
+ isRecurring:string;
+ isEventEdited: boolean;
+ loadedEvent: Event;
+ eventBody: EventBody;
+ segment:string = "true";
+ eventAttendees: EventPerson[];
+ minDate: string;
+
+ @Input() profile:string;
+ @Input() selectedSegment: string;
+ @Input() postEvent: any;
+
+
+ @Output() cloneAllmobileComponent = new EventEmitter();
+
+
+ constructor(
+ private modalController: ModalController,
+ private eventsService: EventsService,
+ public alertController: AlertController,
+ ) {
+
+ }
+
+ ngOnInit() {
+ this.isEventEdited = false;
+
+ if(this.postEvent.IsRecurring == false){
+ this.isRecurring = "Não se repete";
+ }
+ else{
+ this.isRecurring = "Repete";
+ }
+ }
+ close(){
+ // this.modalController.dismiss();
+ this.cloneAllmobileComponent.emit();
+ }
+ save(){
+
+ this.eventsService.editEvent(this.postEvent, 2, 3).subscribe(async () => {
+ const alert = await this.alertController.create({
+ cssClass: 'my-custom-class',
+ header: 'Evento actualizado',
+ buttons: ['OK']
+ });
+ await alert.present();
+ });
+ this.isEventEdited = true;
+ // this.modalController.dismiss(this.isEventEdited);
+ this.cloneAllmobileComponent.emit(this.isEventEdited);
+ }
+
+ async openAttendees()
+ {
+ 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.postEvent.Attendees = newattendees;
+ }
+ });
+}
+
+}
diff --git a/src/app/shared/agenda/new-event/new-event.component.html b/src/app/shared/agenda/new-event/new-event.component.html
new file mode 100644
index 000000000..98d05e4ef
--- /dev/null
+++ b/src/app/shared/agenda/new-event/new-event.component.html
@@ -0,0 +1,220 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Oficial
+ Pessoal
+
+
+
+
+
+
+
+
+
+
+
+
+ Reunião
+ Viagem
+ Conferência
+ Encontro
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Não se repete
+ Repete
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Anexar Documentos
+
+
+
+
+
+
+ Documentos Anexados
+
+
+
+
+ Text
+ Text Text
+
+
+
+
+
+
+
+
+
+
+ Cancelar
+
+
+
+
+
+ Gravar
+
+
+
+
\ No newline at end of file
diff --git a/src/app/shared/agenda/new-event/new-event.component.scss b/src/app/shared/agenda/new-event/new-event.component.scss
new file mode 100644
index 000000000..c42523a74
--- /dev/null
+++ b/src/app/shared/agenda/new-event/new-event.component.scss
@@ -0,0 +1,178 @@
+ion-content{
+ --background:transparent;
+}
+.header-toolbar{
+ --background:transparent;
+ --opacity: 1;
+}
+.main-header{
+ width: 100%; /* 400px */
+ height: 100%;
+ font-family: Roboto;
+ border-top-left-radius: 25px;
+ border-top-right-radius: 25px;
+ background-color: #fff;
+ overflow:hidden;
+ padding: 30px 20px 0px 20px;
+ color:#000;
+ transform: translate3d(0, 1px, 0);
+
+ .title-content{
+ width: 360px;
+ margin: 0px auto;
+ overflow: auto;
+ padding: 0 !important;
+ background: #fff;
+ .middle{
+ padding: 0!important;
+ float: left;
+ width: 221px;
+ margin: 2.5px 0 0 5px;
+ }
+ }
+
+ .title{
+ font-size: 25px;
+ }
+
+}
+.main-content{
+ width: 100%; /* 400px */
+ height: 100%;
+ font-family: Roboto;
+ margin: 0 auto;
+ background-color: #fff;
+ overflow:auto;
+ padding: 15px 20px 0 20px;
+
+ .ion-item-container{
+ width: 360px;
+ 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;
+ overflow: auto;
+ }
+ .ion-item-class-2{
+ width: 360px;
+ 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: 315px;
+ 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;
+ }
+
+}
+
diff --git a/src/app/components/calendar/calendar.component.spec.ts b/src/app/shared/agenda/new-event/new-event.component.spec.ts
similarity index 59%
rename from src/app/components/calendar/calendar.component.spec.ts
rename to src/app/shared/agenda/new-event/new-event.component.spec.ts
index de2551126..2930af086 100644
--- a/src/app/components/calendar/calendar.component.spec.ts
+++ b/src/app/shared/agenda/new-event/new-event.component.spec.ts
@@ -1,19 +1,19 @@
import { async, ComponentFixture, TestBed } from '@angular/core/testing';
import { IonicModule } from '@ionic/angular';
-import { CalendarComponent } from './calendar.component';
+import { NewEventPage } from './new-event.component';
-describe('CalendarComponent', () => {
- let component: CalendarComponent;
- let fixture: ComponentFixture;
+describe('NewEventPage', () => {
+ let component: NewEventPage;
+ let fixture: ComponentFixture;
beforeEach(async(() => {
TestBed.configureTestingModule({
- declarations: [ CalendarComponent ],
+ declarations: [ NewEventPage ],
imports: [IonicModule.forRoot()]
}).compileComponents();
- fixture = TestBed.createComponent(CalendarComponent);
+ fixture = TestBed.createComponent(NewEventPage);
component = fixture.componentInstance;
fixture.detectChanges();
}));
diff --git a/src/app/shared/agenda/new-event/new-event.component.ts b/src/app/shared/agenda/new-event/new-event.component.ts
new file mode 100644
index 000000000..9fea4813e
--- /dev/null
+++ b/src/app/shared/agenda/new-event/new-event.component.ts
@@ -0,0 +1,132 @@
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { EventBody } from 'src/app/models/eventbody.model';
+import { EventPerson } from 'src/app/models/eventperson.model';
+import { EventsService } from 'src/app/services/events.service';
+import { Event } from 'src/app/models/event.model';
+import { AttendeesPage } from 'src/app/pages/events/attendees/attendees.page';
+import { ModalController } from '@ionic/angular';
+
+
+@Component({
+ selector: 'app-new-event',
+ templateUrl: './new-event.component.html',
+ styleUrls: ['./new-event.component.scss'],
+})
+export class NewEventPage implements OnInit {
+ postEvent: Event;
+ eventBody: EventBody;
+ segment:string = "true";
+ eventAttendees: EventPerson[];
+
+ @Input() profile:string;
+ @Input() selectedSegment: string;
+ @Input() selectedDate: Date;
+
+ @Output() onAddEvent = new EventEmitter();
+
+ minDate: string;
+
+ constructor(
+ private modalController: ModalController,
+ //private navParams: NavParams,
+ private eventService: EventsService,
+ ) {
+ this.postEvent = new Event();
+ this.eventBody = { BodyType : "1", Text : ""};
+ this.postEvent.Body = this.eventBody;
+ }
+
+ ngOnInit() {
+
+ console.log(this.profile);
+
+ let selectedStartdDate = this.selectedDate;
+ let selectedEndDate = new Date(this.selectedDate);
+ /* Set + 30minutes to seleted datetime */
+ selectedEndDate.setMinutes(this.selectedDate.getMinutes() + 30) ;
+ this.minDate = this.selectedDate.toString();
+
+ if(this.selectedSegment != "Combinada"){
+ this.postEvent ={
+ EventId: '',
+ Subject: '',
+ Body: this.eventBody,
+ Location: '',
+ CalendarId: '',
+ CalendarName: this.selectedSegment,
+ StartDate: selectedStartdDate,
+ EndDate: new Date(selectedEndDate),
+ EventType: 'Reunião',
+ Attendees: null,
+ IsMeeting: false,
+ IsRecurring: false,
+ AppointmentState: 0,
+ TimeZone: '',
+ Organizer: '',
+ Categories: ['Reunião'],
+ HasAttachments: false,
+ };
+ }
+ else{
+ this.postEvent ={
+ EventId: '',
+ Subject: '',
+ Body: this.eventBody,
+ Location: '',
+ CalendarId: '',
+ CalendarName: 'Oficial',
+ StartDate: selectedStartdDate,
+ EndDate: new Date(selectedEndDate),
+ EventType: 'Reunião',
+ Attendees: null,
+ IsMeeting: false,
+ IsRecurring: false,
+ AppointmentState: 0,
+ TimeZone: '',
+ Organizer: '',
+ Categories: ['Reunião'],
+ HasAttachments: false,
+ };
+ }
+ }
+ close(){
+ this.modalController.dismiss();
+ }
+ save(){
+ console.log(this.postEvent);
+ console.log(this.profile);
+
+
+ if(this.profile=='mdgpr'){
+ this.eventService.postEventMd(this.postEvent, this.postEvent.CalendarName).subscribe();
+ }
+ else if(this.profile=='pr'){
+ this.eventService.postEventPr(this.postEvent, this.postEvent.CalendarName).subscribe();
+ }
+
+ this.onAddEvent.emit(this.postEvent);
+ }
+
+ async openAttendees()
+ {
+ 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.postEvent.Attendees = newattendees;
+ }
+ });
+}
+
+}
diff --git a/src/app/shared/agenda/view-event/view-event-routing.module.ts b/src/app/shared/agenda/view-event/view-event-routing.module.ts
new file mode 100644
index 000000000..37a7a0172
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event-routing.module.ts
@@ -0,0 +1,17 @@
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+import { ViewEventPage } from './view-event.page';
+
+const routes: Routes = [
+ {
+ path: '',
+ component: ViewEventPage
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forChild(routes)],
+ exports: [RouterModule],
+})
+export class ViewEventPageRoutingModule {}
diff --git a/src/app/shared/agenda/view-event/view-event.module.ts b/src/app/shared/agenda/view-event/view-event.module.ts
new file mode 100644
index 000000000..b2e97a22b
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event.module.ts
@@ -0,0 +1,22 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { FormsModule } from '@angular/forms';
+
+import { IonicModule } from '@ionic/angular';
+
+import { ViewEventPageRoutingModule } from './view-event-routing.module';
+
+import { ViewEventPage } from './view-event.page';
+import { SharedModule } from 'src/app/shared/shared.module';
+
+@NgModule({
+ imports: [
+ CommonModule,
+ FormsModule,
+ IonicModule,
+ SharedModule,
+ ViewEventPageRoutingModule
+ ],
+ declarations: [ViewEventPage]
+})
+export class ViewEventPageModule {}
diff --git a/src/app/shared/agenda/view-event/view-event.page.html b/src/app/shared/agenda/view-event/view-event.page.html
new file mode 100644
index 000000000..9caa1d5e5
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event.page.html
@@ -0,0 +1,69 @@
+
+
+
+
+
+
+
+
+
+ {{loadedEvent.Location}}
+
+
+ {{loadedEvent.CalendarName}}
+
+
+
+
+ {{customDate}}
+ das {{loadedEvent.StartDate | date: 'HH:mm'}} às {{loadedEvent.EndDate | date: 'HH:mm'}}
+ (Não se repete)
+ Repete
+
+
+
+
+
+
+ Intervenientes
+
+
+
+
+
+ Detalhes
+ {{loadedEvent.Body.Text}}
+
+
+
+
+
+
+ Documentos Anexados
+
+
+ {{attach.SourceName}}
+ {{attach.Stakeholders}}{{ attach.CreateDate | date: 'dd-MM-yy' }}
+
+
+
+
+
diff --git a/src/app/shared/agenda/view-event/view-event.page.scss b/src/app/shared/agenda/view-event/view-event.page.scss
new file mode 100644
index 000000000..c2de1475b
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event.page.scss
@@ -0,0 +1,191 @@
+ion-content{
+ --background:transparent;
+ --padding-top:0px;
+ --padding-start: 20px;
+ --padding-end: 20px;
+ font-size: 18px;
+}
+ion-menu{
+ --height: 225px;
+ }
+.header-toolbar{
+ --background:transparent;
+ --opacity: 1;
+}
+ .main-header{
+ width: 100%; /* 400px */
+ height: 100%;
+ font-family: Roboto;
+ border-top-left-radius: 25px;
+ border-top-right-radius: 25px;
+ background-color: #fff;
+ overflow:hidden;
+ padding: 30px 0px 0px 0px;
+ color:#000;
+ transform: translate3d(0, 1px, 0);
+
+ .title-content{
+ width: 360px;
+ margin: 0px auto;
+ overflow: auto;
+ padding: 0 !important;
+ background: #fff;
+
+ .left{
+ width: 37px;
+ float: left;
+ font-size: 35px;
+ overflow: hidden;
+ }
+ .middle{
+ width: 230px;
+ padding: 0!important;
+ float: left;
+ margin: 2.5px 0 0 0;
+ }
+ .header-icon-right{
+ width: 45px;
+ font-size: 45px;
+ float: right;
+ overflow: auto;
+ }
+ .div-icon{
+ width: 92px;
+ float: right;
+ overflow: auto;
+ padding: 1px;
+ }
+ .div-icon .edit{
+ font-size: 35px;
+ float: left;
+ }
+ .div-icon .delete{
+ padding: 7px;
+ font-size: 21px;
+ color:#fff;
+ background: #d30606;
+ border-radius: 20px;
+ margin-left: 10px;
+ }
+ }
+
+ .title{
+ font-size: 25px;
+ }
+
+ }
+ .main-content{
+ width: 100%; /* 400px */
+ font-family: Roboto;
+ margin: 0 auto;
+ background-color: #fff;
+ overflow:auto;
+ padding: 15px 0px 0 0px;
+
+ .upper-content{
+ margin-left: 50px;
+ overflow: auto;
+ font-size: 18px;
+
+ .content-location{
+ width: 100%;
+ margin: 0 auto;
+ padding: 0;
+ overflow: auto;
+ }
+
+ .location-detail{
+ width: 210px;
+ font-weight: 700;
+ font-size: 18px;
+ float: left;
+ margin: 5px 5px 5px 0px;
+ }
+ .button-mdgpr-Oficial{
+ width: 91px;
+ --border-radius: 20px;
+ --background: #ffb703;
+ margin-left: 5px;
+ float: left;
+ }
+ .button-mdgpr-Pessoal{
+ width: 91px;
+ --border-radius: 20px;
+ --background: #f05d5e;
+ margin-left: 5px;
+ float: left;
+ }
+
+ .button-pr-Oficial{
+ width: 91px;
+ --border-radius: 20px;
+ --background: #cbeecb;
+ margin-left: 5px;
+ float: left;
+ }
+ .button-pr-Pessoal{
+ width: 91px;
+ --border-radius: 20px;
+ --background: #cab0dc;
+ margin-left: 5px;
+ float: left;
+ }
+
+
+ .button-calendar-type ion-button{
+ height: 25px;
+ }
+ .button-edit-event {
+ width: 140px;
+ height: 44px;
+ border-radius: 22.5px;
+ --background: #e0e9ee;
+ --color:#061b52;
+ }
+ .content-details p{
+ font-size: 16px;
+ }
+ }
+ .middle-conten{
+ .middle-content h3, .middle-content p{
+ font-size: 16px;
+ }
+ }
+
+ .bottom-content{
+ width: 360px;
+ margin: 0 auto;
+
+ .bottom-content h3{
+ font-size: 16px;
+ margin: 0 0 0 10px;
+ }
+ .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;
+ }
+ }
+ }
\ No newline at end of file
diff --git a/src/app/shared/agenda/view-event/view-event.page.spec.ts b/src/app/shared/agenda/view-event/view-event.page.spec.ts
new file mode 100644
index 000000000..d13628ede
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event.page.spec.ts
@@ -0,0 +1,24 @@
+import { async, ComponentFixture, TestBed } from '@angular/core/testing';
+import { IonicModule } from '@ionic/angular';
+
+import { ViewEventPage } from './view-event.page';
+
+describe('ViewEventPage', () => {
+ let component: ViewEventPage;
+ let fixture: ComponentFixture;
+
+ beforeEach(async(() => {
+ TestBed.configureTestingModule({
+ declarations: [ ViewEventPage ],
+ imports: [IonicModule.forRoot()]
+ }).compileComponents();
+
+ fixture = TestBed.createComponent(ViewEventPage);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ }));
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/shared/agenda/view-event/view-event.page.ts b/src/app/shared/agenda/view-event/view-event.page.ts
new file mode 100644
index 000000000..701e996fc
--- /dev/null
+++ b/src/app/shared/agenda/view-event/view-event.page.ts
@@ -0,0 +1,111 @@
+import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';
+import { AlertController, ModalController, NavParams } 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';
+import { EventsService } from 'src/app/services/events.service';
+import { Event } from 'src/app/models/event.model';
+import { EditEventPage } from 'src/app/pages/agenda/edit-event/edit-event.page';
+import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
+
+@Component({
+ selector: 'app-view-event',
+ templateUrl: './view-event.page.html',
+ styleUrls: ['./view-event.page.scss'],
+})
+export class ViewEventPage implements OnInit {
+
+ loadedEvent: Event;
+ isEventEdited: boolean;
+ eventBody: EventBody;
+ loadedAttachments:any;
+ loadedEventAttachments: Attachment[];
+ pageId: string;
+ showLoader: boolean;
+
+ minDate: Date;
+
+ customDate:any;
+ today:any;
+
+ months = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"];
+ days = ["Domingo", "Segunda-feira", "Terça-feira", "Quarta-feira", "Quinta-feira", "Sexta-feira", "Sábado"];
+
+ @Input() profile:string;
+ @Input() eventId: string;
+
+ @Output() viewEventDetailDismiss = new EventEmitter();
+
+ constructor(
+ private eventsService: EventsService,
+ private attachmentsService: AttachmentsService,
+ public alertController: AlertController,
+ private iab: InAppBrowser,
+ )
+ {
+ this.isEventEdited = false;
+ this.loadedEvent = new Event();
+ this.eventBody = { BodyType : "1", Text : ""};
+ this.loadedEvent.Body = this.eventBody;
+ }
+
+ ngOnInit() {
+ /* console.log(this.eventId); */
+ this.loadEvent();
+ this.getAttachments();
+
+ }
+ close(){
+ console.log(this.isEventEdited);
+
+ this.viewEventDetailDismiss.emit({
+ type: 'close'
+ })
+ }
+
+ loadEvent(){
+ this.eventsService.getEvent(this.eventId).subscribe(res => {
+ this.loadedEvent = res;
+
+ console.log(res);
+
+ this.today = new Date(res.StartDate);
+ console.log(new Date(this.today));
+ 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 () =>
+ {
+ const alert = await this.alertController.create({
+ cssClass: 'my-custom-class',
+ header: 'Evento removido',
+ buttons: ['OK']
+ });
+
+ await alert.present();
+ this.close();
+ });
+ }
+
+ getAttachments(){
+ this.attachmentsService.getAttachmentsById(this.eventId).subscribe(res=>{
+ this.loadedAttachments = res;
+ console.log(res);
+ });
+ }
+
+ async editEvent() {
+
+ this.viewEventDetailDismiss.emit({
+ type: 'edit',
+ event: this.loadedEvent
+ })
+ }
+ viewDocument(){
+ const url: string = this.loadedAttachments.DocumentURL.replace("webTRIX.Viewer","webTRIX.Viewer.Branch1");
+ const browser = this.iab.create(url,"_blank");
+ browser.show();
+ }
+
+}
diff --git a/src/style/main.scss b/src/style/main.scss
index b10b6ba43..6bbe20225 100644
--- a/src/style/main.scss
+++ b/src/style/main.scss
@@ -156,4 +156,85 @@
}
.align-self-stretch {
align-self: stretch !important;
+}
+
+
+
+
+
+.m-t-20 {
+ margin-top: 20px;
+}
+
+.m-b-20 {
+ margin-bottom: 20px;
+}
+
+.m-l-20 {
+ margin-left: 20px;
+}
+
+.m-l-auto {
+ margin-left: auto;
+}
+
+.m-r-20 {
+ margin-right: 20px;
+}
+
+.m-auto {
+ margin: 0 auto;
+}
+
+.pd-10 {
+ padding: 10px;
+ box-sizing: border-box;
+}
+
+.pd-t-20 {
+ padding-top: 20px;
+}
+
+.pd-b-20 {
+ padding-bottom: 20px;
+}
+
+.pd-r-20 {
+ padding-right: 20px;
+}
+
+.pd-l-20 {
+ padding-left: 20px;
+}
+
+.text-bold {
+ font-weight: 700;
+}
+
+.text-blue {
+ color: #0d89d1;
+}
+
+.text-red {
+ color: #d30a0a;
+}
+
+.text-dark-blue {
+ color: #061b52;
+}
+
+.text-grey {
+ color: #797979;
+}
+
+.text-white {
+ color: white;
+}
+
+.text-black {
+ color: black;
+}
+
+.text-center {
+ text-align: center;
}
\ No newline at end of file