Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { Storage } from '@ionic/storage';
- declare var _: any;
- @Injectable()
- export class LocalStorageHelper {
- constructor(
- public storage: Storage
- ){}
- db: any = {
- cases: [],
- caseNotes: [],
- caseSessions: [],
- caseInvoices: [],
- caseTimeline: [],
- therapists: [],
- status: [],
- specialties: [],
- profile: {},
- };
- loadDb(cb){
- var i = 1;
- this.storage.get("db").then(
- (db) => {
- if(db){
- this.db = db;
- }
- cb()
- }
- )
- }
- saveDb(){
- this.storage.set("db", this.db)
- }
- newId() {
- function s4() {
- return Math.floor((1 + Math.random()) * 0x10000)
- .toString(16)
- .substring(1);
- }
- return s4() + s4() + '-' + s4() + '-' + s4() + '-' +
- s4() + '-' + s4() + s4() + s4();
- }
- addItemToList(listName, item, noId){
- if(noId!=true){
- item.Id = this.newId();
- }
- if(!this.db[listName]){
- this.db[listName] = [];
- }
- this.db[listName].push(item);
- this.saveDb();
- }
- updateItemToList(listName, item){
- for (var i = this.db[listName].length - 1; i >= 0; i--) {
- if(this.db[listName][i].Id==item.Id){
- Object.assign(this.db[listName][i], item);
- break;
- }
- }
- this.saveDb();
- }
- saveItem(listName, item){
- this.db[listName] = item
- this.saveDb();
- }
- getItemFromList(listName, id){
- return _.find(this.db[listName], {Id: id});
- }
- getListByParams(listName, params){
- return _.find(this.db[listName], params);
- }
- getList(listName){
- return this.db[listName];
- }
- getListItemsByParams(listName, params){
- return _.filter(this.db[listName], (i)=> {
- return i[params.field] == params.value;
- });
- }
- deleteItemFromList(listName, id){
- for (var i = this.db[listName].length - 1; i >= 0; i--) {
- if(this.db[listName][i].Id==id){
- this.db[listName].splice(i, 1);
- break;
- }
- }
- this.saveDb()
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement