@tomino/dynamic-form-semantic-ui
Version:
Semantic UI form renderer based on dynamic form generation
43 lines • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
class LocalStorage {
constructor(key = 'CORPIX_PROJECTS') {
this.key = key;
}
listProjects() {
let raw = localStorage.getItem(this.key);
if (raw) {
return Promise.resolve(JSON.parse(raw));
}
return Promise.resolve([]);
}
async loadProject(id) {
let projects = await this.listProjects();
if (id == null) {
return (projects || [])[0];
}
return projects.find(p => p.id === id);
}
async deleteProject(id) {
let projects = await this.listProjects();
let index = projects.findIndex(p => p.id === id);
if (index >= 0) {
projects.splice(index, 1);
}
localStorage.setItem(this.key, JSON.stringify(projects));
}
async saveProject(project) {
let projects = await this.listProjects();
let index = projects.findIndex(p => p.id === project.id);
project.modified = Date.now();
if (index >= 0) {
projects.splice(index, 1, project);
}
else {
projects.push(project);
}
localStorage.setItem(this.key, JSON.stringify(projects));
}
}
exports.LocalStorage = LocalStorage;
//# sourceMappingURL=local_storage.js.map