diff --git a/src/app/store/calendar.service.ts b/src/app/store/calendar.service.ts index adb006069..9028b36bf 100644 --- a/src/app/store/calendar.service.ts +++ b/src/app/store/calendar.service.ts @@ -37,13 +37,20 @@ export class CalendarService { } ResetList(eventSource: eventSource[]) { - this._eventSource = eventSource + this._eventSource = eventSource + + setTimeout(() => { + this.localstoreService.set(this.keyName, this._eventSource) + }, 10) + } get eventSource() { return this._eventSource } + + removeRange(rangeStartDate, rangeEndDate, profile) { this._eventSource = this._eventSource.filter((e)=> { if(new Date(rangeStartDate).getTime() <= new Date(e.startTime).getTime() && diff --git a/src/app/store/expediente-storage-service.service.spec.ts b/src/app/store/expediente-storage-service.service.spec.ts new file mode 100644 index 000000000..274cd90d2 --- /dev/null +++ b/src/app/store/expediente-storage-service.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ExpedienteStorageServiceService } from './expediente-storage-service.service'; + +describe('ExpedienteStorageServiceService', () => { + let service: ExpedienteStorageServiceService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ExpedienteStorageServiceService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/store/expediente-storage-service.service.ts b/src/app/store/expediente-storage-service.service.ts new file mode 100644 index 000000000..3b3de92ed --- /dev/null +++ b/src/app/store/expediente-storage-service.service.ts @@ -0,0 +1,42 @@ +import { Injectable } from '@angular/core'; +import { Event } from '../models/event.model'; +import { localstoreService } from './localstore.service' +import { AES, enc, SHA1 } from 'crypto-js' + +@Injectable({ + providedIn: 'root' +}) + +// shared data used in home and gabinete +class ExpedienteStorageServiceService { + + // main data + private _list: Event[] + // local storage keyName + private keyName: string; + + constructor() { + + this.keyName = (SHA1(this.constructor.name+ 'ExpedienteStorage/forAll')).toString() + let restore = localstoreService.get(this.keyName, []) + this._list = restore + + } + + get list() { + return this._list + } + + reset(list: any) { + this._list = list + + this.save(this._list) + } + + private save(list: any) { + localstoreService.set(this.keyName, list) + } +} + + +export const ExpedienteStorage = new ExpedienteStorageServiceService() \ No newline at end of file diff --git a/src/app/store/localstore.service.ts b/src/app/store/localstore.service.ts index 9bdb572d1..b51e0115a 100644 --- a/src/app/store/localstore.service.ts +++ b/src/app/store/localstore.service.ts @@ -56,3 +56,5 @@ export class LocalstoreService { } } + +export const localstoreService = new LocalstoreService() diff --git a/src/app/store/to-day-event-storage.service.spec.ts b/src/app/store/to-day-event-storage.service.spec.ts new file mode 100644 index 000000000..801f71da6 --- /dev/null +++ b/src/app/store/to-day-event-storage.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { ToDayEventStorageService } from './to-day-event-storage.service'; + +describe('ToDayEventStorageService', () => { + let service: ToDayEventStorageService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(ToDayEventStorageService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/store/to-day-event-storage.service.ts b/src/app/store/to-day-event-storage.service.ts new file mode 100644 index 000000000..8b5115d13 --- /dev/null +++ b/src/app/store/to-day-event-storage.service.ts @@ -0,0 +1,41 @@ +import { Injectable } from '@angular/core'; +import { Event } from '../models/event.model'; +import { localstoreService } from './localstore.service' +import { AES, enc, SHA1 } from 'crypto-js' + +@Injectable({ + providedIn: 'root' +}) + +export class ToDayEventStorageService { + + // main data + private _eventsList: Event[] + // local storage keyName + private keyName: string; + + constructor() { + + this.keyName = (SHA1(this.constructor.name+ 'home/eventSource')).toString() + let restore = localstoreService.get(this.keyName, []) + this._eventsList = restore + + } + + get eventsList() { + return this._eventsList + } + + reset(eventsList: Event[]) { + this._eventsList = eventsList + + this.save(this._eventsList) + } + + private save(eventsList: Event[]) { + localstoreService.set(this.keyName,eventsList) + } + +} + +export const ToDayEventStorage = new ToDayEventStorageService() \ No newline at end of file