33 lines
795 B
JavaScript
33 lines
795 B
JavaScript
class Draft {
|
|
constructor(id, lang = 'en') {
|
|
this.id = id
|
|
this.lang = lang
|
|
}
|
|
|
|
setLang(lang) {
|
|
this.lang = lang
|
|
}
|
|
|
|
getForLang(lang, what) {
|
|
return LS.getItem(this.key(what, lang)) || ''
|
|
}
|
|
|
|
key(what, lang = null) {
|
|
if (lang === null)
|
|
lang = this.lang
|
|
return `draft_${this.id}_${what}__${lang}`
|
|
}
|
|
|
|
reset(langs) {
|
|
for (const what of ['title', 'text']) {
|
|
for (const l of langs)
|
|
LS.removeItem(this.key(what, l))
|
|
}
|
|
}
|
|
|
|
get title() { return LS.getItem(this.key('title')) || '' }
|
|
get text() { return LS.getItem(this.key('text')) || '' }
|
|
set title(val) { LS.setItem(this.key('title'), val) }
|
|
set text(val) { LS.setItem(this.key('text'), val) }
|
|
}
|