list events

This commit is contained in:
Peter Maquiran
2024-05-29 15:45:34 +01:00
parent caa11d6be7
commit 38d36a6e49
22 changed files with 629 additions and 198 deletions
+16 -14
View File
@@ -1,7 +1,8 @@
import { Injectable } from '@angular/core';
import { SHA1 } from 'crypto-js'
import { localstoreService } from './localstore.service'
import { EventList, EventListStore } from '../models/agenda/AgendaEventList';
import { EventListStore } from '../models/agenda/AgendaEventList';
import { EventList } from '../models/entiry/agenda/eventList';
@Injectable({
providedIn: 'root'
@@ -9,13 +10,13 @@ import { EventList, EventListStore } from '../models/agenda/AgendaEventList';
export class CalendarService {
private _eventSource : EventListStore[] = []
private keyName: string;
public _eventSource : EventListStore[] = []
private keyName: string;
localstoreService = localstoreService
constructor() {
this.keyName = (SHA1("CalendarService"+ 'eventSource')).toString()
let restore = this.localstoreService.get(this.keyName, [])
@@ -49,12 +50,12 @@ export class CalendarService {
return this._eventSource || []
}
removeRange(rangeStartDate, rangeEndDate, profile) {
this._eventSource = this._eventSource.filter((e)=> {
if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() &&
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.profile == profile) {
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.profile == profile) {
return false
}
return true
@@ -64,17 +65,18 @@ export class CalendarService {
removeRangeForCalendar(rangeStartDate, rangeEndDate, profile, calendarId) {
this._eventSource = this._eventSource.filter((e)=> {
if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() &&
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId == calendarId) {
new Date(rangeEndDate).getTime() >= new Date(e.endTime).getTime() && e.CalendarId == calendarId) {
return false
}
return true
})
}
pushEvent(eventsList: EventList[], profile: 'pr' | 'md') {
pushEvent(eventsList: EventList, profile: 'pr' | 'md') {
let news = []
eventsList.forEach((element, eventIndex) => {
news.push({
startTime: new Date(element.StartDate),
endTime: new Date(element.EndDate),
@@ -95,20 +97,20 @@ export class CalendarService {
this._eventSource = (filtered)
setTimeout(() => {
this.localstoreService.set(this.keyName, this._eventSource)
}, 10)
}
getEventsByCalendarIds(ids:any[]): EventListStore[] {
getEventsByCalendarIds(ids:Object[]): EventListStore[] {
let result = [];
for (const calendar of ids) {
const events = this._eventSource.filter(e => e.CalendarId == calendar.CalendarId)
const events = this._eventSource.filter(e => e.CalendarId == calendar['OwnerUserId'])
result = result.concat(events)
}
@@ -123,4 +125,4 @@ export class CalendarService {
}
export const CalendarStore = new CalendarService()
export const CalendarStore = new CalendarService()