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 f36e4b948..5f75a5236 100644
--- a/src/app/shared/agenda/new-event/new-event.page.ts
+++ b/src/app/shared/agenda/new-event/new-event.page.ts
@@ -31,7 +31,7 @@ import { HttpErrorHandle } from 'src/app/services/http-error-handle.service';
import { environment } from 'src/environments/environment';
import { EventToAprove } from 'src/app/models/eventToAprove.model';
import { ProcessesService } from 'src/app/services/processes.service';
-import { Subject } from 'rxjs';
+import { Observable, Subject } from 'rxjs';
import { TaskService } from 'src/app/services/task.service'
import { ContactsService } from 'src/app/services/contacts.service';
@@ -39,6 +39,9 @@ import { DomSanitizerService } from 'src/app/services/DomSanitizer.service';
import { ChangeProfileService } from 'src/app/services/change-profile.service';
import { EventInputDTO } from 'src/app/services/Repositorys/Agenda/agendaDataModels';
import { AgendaDataRepositoryService } from 'src/app/services/Repositorys/Agenda/agenda-data-repository.service';
+import { RoleIdService } from 'src/app/services/role-id.service'
+import { TableSharedCalendar } from 'src/app/services/Repositorys/Agenda/agenda-local-data-source.service';
+import { map } from 'rxjs/operators';
const CUSTOM_DATE_FORMATS: NgxMatDateFormats = {
parse: {
@@ -140,6 +143,12 @@ export class NewEventPage implements OnInit {
contacts: EventPerson[] = [];
allDayCheck: boolean = false;
+
+ sharedCalendar: Observable
+ selectedUserCalendar:any;
+ SessionStore = SessionStore
+
+
constructor(
private modalController: ModalController,
public eventService: EventsService,
@@ -154,12 +163,47 @@ export class NewEventPage implements OnInit {
private contactsService: ContactsService,
private domSanitazerService: DomSanitizerService,
private changeProfileService: ChangeProfileService,
- private agendaDataRepository: AgendaDataRepositoryService
+ private agendaDataRepository: AgendaDataRepositoryService,
+ public RoleIdService: RoleIdService,
) {
this.dateAdapter.setLocale('pt');
this.loggeduser = SessionStore.user;
this.postEvent = new Event();
+
+ // Define the role priorities
+ const rolePriorities: { [key: number]: number } = {
+ 100000014: 1, // Presidente da República
+ 100000011: 2, // Vice Presidente (example role ID)
+ // Add other roles with their priorities here
+ };
+
+ this.sharedCalendar = this.agendaDataRepository.getShareCalendarItemsLive().pipe(
+ map(data => data.sort((a, b) => {
+ console.log('Raw data:', data); // Debug line
+ const priorityA = rolePriorities[a.roleId] || Infinity;
+ const priorityB = rolePriorities[b.roleId] || Infinity;
+ return priorityA - priorityB;
+ }))
+ )
+
+
+ this.setCalendarByDefault(true)
+ }
+
+ async setCalendarByDefault(force) {
+ if (!this.selectedUserCalendar || force) {
+
+ const data = await this.agendaDataRepository.geCalendars()
+
+ const prObject = data.find(e => e?.roleId == 100000014)
+ if(prObject) {
+ this.selectedUserCalendar = prObject.wxUserId
+ } else {
+ this.selectedUserCalendar = SessionStore.user.UserId
+ }
+
+ }
}
ngOnInit() {
@@ -429,7 +473,7 @@ export class NewEventPage implements OnInit {
cssClass: 'modal-width-100-width-background modal',
componentProps: {
type: 'AccoesPresidenciais & ArquivoDespachoElect',
- eventAgenda: true,
+ eventAgenda: true,
showSearchInput: true,
select: true
}
@@ -553,9 +597,9 @@ export class NewEventPage implements OnInit {
loader.remove();
}));
-
-
-
+
+
+
}
/* async save() {