Add home's data to local storage

This commit is contained in:
Peter Maquiran
2021-07-20 19:18:16 +01:00
parent f7f71ea3ef
commit 036487ef3d
6 changed files with 125 additions and 1 deletions
+8 -1
View File
@@ -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() &&
@@ -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();
});
});
@@ -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()
+2
View File
@@ -56,3 +56,5 @@ export class LocalstoreService {
}
}
export const localstoreService = new LocalstoreService()
@@ -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();
});
});
@@ -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()