diff --git a/package-lock.json b/package-lock.json
index 6996fd3b0..47eb5b4ed 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -7948,6 +7948,11 @@
"loose-envify": "^1.0.0"
}
},
+ "ionic-selectable": {
+ "version": "4.5.0",
+ "resolved": "https://registry.npmjs.org/ionic-selectable/-/ionic-selectable-4.5.0.tgz",
+ "integrity": "sha512-ya65y4IF8rgaE68VVqBllSfsSNozBzk+If8ohtg70qk4HHTkxAT4mhiD7EGcQ8oJ2LGyFomAK5vLO15pJ1vCKg=="
+ },
"ionic2-calendar": {
"version": "0.6.6",
"resolved": "https://registry.npmjs.org/ionic2-calendar/-/ionic2-calendar-0.6.6.tgz",
diff --git a/package.json b/package.json
index bccaae993..afec2a39c 100644
--- a/package.json
+++ b/package.json
@@ -35,6 +35,7 @@
"cordova-ios": "6.1.0",
"cordova-res": "^0.15.1",
"date-fns": "^2.15.0",
+ "ionic-selectable": "^4.5.0",
"ionic2-calendar": "^0.6.6",
"moment": "^2.27.0",
"rxjs": "~6.5.1",
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 4b87f10d2..57c77524f 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -11,6 +11,7 @@ import { AppComponent } from './app.component';
import { HttpClientModule } from '@angular/common/http';
import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
+import { IonicSelectableModule } from 'ionic-selectable';
@NgModule({
declarations: [AppComponent],
@@ -21,7 +22,8 @@ import { InAppBrowser } from '@ionic-native/in-app-browser/ngx';
SplashScreen,
HttpClientModule,
{ provide: RouteReuseStrategy, useClass: IonicRouteStrategy },
- InAppBrowser
+ InAppBrowser,
+ IonicSelectableModule
],
bootstrap: [AppComponent],
schemas: [CUSTOM_ELEMENTS_SCHEMA]
diff --git a/src/app/home/home-routing.module.ts b/src/app/home/home-routing.module.ts
index 8bb4f560b..ed8768d54 100644
--- a/src/app/home/home-routing.module.ts
+++ b/src/app/home/home-routing.module.ts
@@ -2,7 +2,6 @@ import { NgModule } from '@angular/core';
import { Routes, RouterModule } from '@angular/router';
import { HomePage } from './home.page';
-import { EventsPage } from '../pages/events/events.page';
const routes: Routes = [
{
diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts
index aca3da5f6..70ac080a1 100644
--- a/src/app/home/home.module.ts
+++ b/src/app/home/home.module.ts
@@ -7,13 +7,16 @@ import { IonicModule } from '@ionic/angular';
import { HomePageRoutingModule } from './home-routing.module';
import { HomePage } from './home.page';
+import { IonicSelectableModule } from 'ionic-selectable';
+
@NgModule({
imports: [
CommonModule,
FormsModule,
IonicModule,
- HomePageRoutingModule
+ HomePageRoutingModule,
+ IonicSelectableModule
],
declarations: [HomePage]
})
diff --git a/src/app/pages/events/attendees/attendees.page.html b/src/app/pages/events/attendees/attendees.page.html
index 4ad73a606..503fc3a4e 100644
--- a/src/app/pages/events/attendees/attendees.page.html
+++ b/src/app/pages/events/attendees/attendees.page.html
@@ -5,9 +5,15 @@
-
-
-
+
+
+
+
+
+
+
diff --git a/src/app/pages/events/attendees/attendees.page.ts b/src/app/pages/events/attendees/attendees.page.ts
index afa4d5f39..cde2b7a50 100644
--- a/src/app/pages/events/attendees/attendees.page.ts
+++ b/src/app/pages/events/attendees/attendees.page.ts
@@ -1,7 +1,5 @@
-import { Component, OnInit, Injectable } from '@angular/core';
+import { Component, OnInit } from '@angular/core';
import { EventPerson } from 'src/app/models/eventperson.model';
-import { ActivatedRoute } from '@angular/router';
-import { EventDetailPage } from '../event-detail/event-detail.page';
import { EventsService } from 'src/app/services/events.service';
@Component({
@@ -11,18 +9,54 @@ import { EventsService } from 'src/app/services/events.service';
})
export class AttendeesPage implements OnInit {
+ eventAttendeesInitial: EventPerson[];
eventAttendees: EventPerson[];
- segment:string;
+ segment:string = "required";
+ shouldShowCancel:boolean = true;
- constructor(private activatedRoute: ActivatedRoute, public eventService: EventsService) {
+ searchCountryString = ''; // initialize your searchCountryString string empty
+
+ constructor(private eventService: EventsService) {
}
+
ngOnInit() {
- this.eventAttendees = this.eventService.loadedEvent.Attendees;
- console.log(this.eventService.loadedEvent);
+ this.loadAttendees();
}
onSegmentChange(){
-
+ this.loadAttendees();
+ }
+
+ searchCountry(searchbar) {
+ // reset countries list with initial call
+ this.eventAttendees = this.eventAttendeesInitial;
+
+ // set q to the value of the searchbar
+ var q = searchbar.value;
+
+ // if the value is an empty string don't filter the items
+ // if (q.trim() == '') {
+ // return;
+ // }
+
+ this.eventAttendees = this.eventAttendees.filter((v) => {
+ if (v.Name.toLowerCase().indexOf(q.toLowerCase()) > -1) {
+ return true;
+ }
+ return false;
+ })
+ }
+
+ loadAttendees(){
+ let isRequired: boolean = (this.segment == "required");
+ this.eventAttendees = this.eventService.lastloadedevent.Attendees.filter(function(person) {
+ return person.IsRequired == isRequired;
+ });
+ this.eventAttendeesInitial = this.eventAttendees;
+ }
+
+ onChange(evt: any) {
+ console.log(evt);
}
}
diff --git a/src/app/pages/events/event-detail/event-detail.page.html b/src/app/pages/events/event-detail/event-detail.page.html
index edd319c68..4d148bdbb 100644
--- a/src/app/pages/events/event-detail/event-detail.page.html
+++ b/src/app/pages/events/event-detail/event-detail.page.html
@@ -22,14 +22,12 @@
Localização
-
- Intervenientes
-
-
-
-
-
-
+
+
+ Pessoas
+
+
Calendário
@@ -46,13 +44,12 @@
Data Fim
-
- Anexos
-
-
- Lei do orçamento geral do Estado
+
+
+ Anexos
-
+
Apagar
diff --git a/src/app/pages/events/event-detail/event-detail.page.ts b/src/app/pages/events/event-detail/event-detail.page.ts
index e51814f32..f091ce14c 100644
--- a/src/app/pages/events/event-detail/event-detail.page.ts
+++ b/src/app/pages/events/event-detail/event-detail.page.ts
@@ -1,11 +1,11 @@
-import { Component, OnInit } from '@angular/core';
+import { Component, OnInit, Injectable } 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 { Observable } from 'rxjs';
import { EventBody } from 'src/app/models/eventbody.model';
import { AlertController } from '@ionic/angular';
+import { EventPerson } from 'src/app/models/eventperson.model';
@Component({
selector: 'app-event-detail',
@@ -15,7 +15,6 @@ import { AlertController } from '@ionic/angular';
export class EventDetailPage implements OnInit {
loadedEvent: Event;
- eventItem: Observable;
constructor(public alertController: AlertController, private router: Router, private activatedRoute: ActivatedRoute, private eventsService: EventsService) {
this.loadedEvent = new Event();
@@ -23,29 +22,42 @@ export class EventDetailPage implements OnInit {
}
ngOnInit() {
- /* Emit new data when something changes */
- this.activatedRoute.paramMap.subscribe(paramMap =>{
- if(!paramMap.has('eventId')){
- //Redirect
- return;
- }
- const eventId = paramMap.get('eventId');
+ this.loadEvent();
+ }
- /* Load my event detail */
- /* this.loadedEvent = this.eventsService.getEvent(eventId); */
- this.eventItem = this.eventsService.getEvent(eventId);
-
- /* console.log(this.eventItem); */
-
- this.eventsService.getEvent(eventId).subscribe(response =>
+ loadEvent()
+ {
+ this.activatedRoute.paramMap.subscribe(paramMap =>
+ {
+ if (!paramMap.has("eventId"))
{
- this.loadedEvent = response;
- });
- });
+ return;
+ }
+
+ this.eventsService.getEvent(paramMap.get('eventId')).subscribe(response =>
+ {
+ this.loadedEvent = response;
+ this.eventsService.lastloadedevent = this.loadedEvent;
+ });
+ }
+ );
+ }
+
+ getEventAttendees(): EventPerson[]
+ {
+ return this.loadedEvent.Attendees;
+ }
+
+ setEventAttendees(newattendes: EventPerson[])
+ {
+ this.loadedEvent.Attendees = newattendes;
}
async deleteConfirm()
{
+ console.log(this.loadedEvent.Attendees);
+ console.log(this.loadedEvent.CalendarName);
+
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
header: 'Apagar evento!',
@@ -55,7 +67,7 @@ export class EventDetailPage implements OnInit {
text: 'Não',
role: 'cancel',
cssClass: 'secondary',
- handler: (blah) => { }
+ handler: () => { }
}, {
text: 'Sim',
handler: () => {
@@ -70,7 +82,7 @@ export class EventDetailPage implements OnInit {
Delete()
{
- this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async response =>
+ this.eventsService.deleteEvent(this.loadedEvent.EventId, 0).subscribe(async () =>
{
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
@@ -86,7 +98,7 @@ export class EventDetailPage implements OnInit {
Save()
{
- this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async response =>
+ this.eventsService.putEvent(this.loadedEvent, 2, 3).subscribe(async () =>
{
const alert = await this.alertController.create({
cssClass: 'my-custom-class',
diff --git a/src/app/services/events.service.ts b/src/app/services/events.service.ts
index 476c0715b..eb2d53c57 100644
--- a/src/app/services/events.service.ts
+++ b/src/app/services/events.service.ts
@@ -15,7 +15,7 @@ export class EventsService {
authheader = {};
loggeduser: User;
headers: HttpHeaders;
- public loadedEvent: Event;
+ lastloadedevent: Event;
constructor(private http: HttpClient, user: AuthService) {
this.loggeduser = user.ValidatedUser;