Add field settings

This commit is contained in:
Misode
2020-12-17 22:09:09 +01:00
parent acb6978d48
commit 6a3c7aac42
11 changed files with 232 additions and 13 deletions

22
src/app/Settings.ts Normal file
View File

@@ -0,0 +1,22 @@
type FieldSetting = {
path?: string
name?: string
hidden?: boolean
}
export class Settings {
fields: FieldSetting[]
constructor(private local_storage: string) {
const settings = JSON.parse(localStorage.getItem(local_storage) ?? '{}')
if (!Array.isArray(settings.fields)) settings.fields = []
this.fields = settings.fields
this.save()
}
save() {
const settings = JSON.stringify({ fields: this.fields })
localStorage.setItem(this.local_storage, settings)
this.fields = [...this.fields.filter(v => v?.path), {}]
}
}