Files
misode.github.io/src/app/Settings.ts
2020-12-17 22:09:09 +01:00

23 lines
561 B
TypeScript

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), {}]
}
}