49 lines
1.3 KiB
JavaScript
49 lines
1.3 KiB
JavaScript
function Draft(id, lang) {
|
|
if (!lang)
|
|
lang = 'en'
|
|
this.id = id
|
|
this.lang = lang
|
|
}
|
|
|
|
extend(Draft.prototype, {
|
|
setLang: function(lang) {
|
|
this.lang = lang
|
|
},
|
|
|
|
getForLang: function(lang, what) {
|
|
return LS.getItem(this.key(what, lang)) || ''
|
|
},
|
|
|
|
key: function(what, lang) {
|
|
if (!lang)
|
|
lang = null
|
|
if (lang === null)
|
|
lang = this.lang
|
|
return 'draft_'+this.id+'_'+what+'__'+lang
|
|
},
|
|
|
|
reset: function(langs) {
|
|
var types = ['title', 'text'];
|
|
for (var i = 0; i < types.length; i++) {
|
|
var what = types[i];
|
|
for (var j = 0; j < langs.length; j++)
|
|
LS.removeItem(this.key(what, langs[i]));
|
|
}
|
|
},
|
|
|
|
get: function(what) {
|
|
return what === 'title' ? this.getTitle() : this.getText()
|
|
},
|
|
|
|
set: function(what, val) {
|
|
if (what === 'title')
|
|
this.setTitle(val)
|
|
else
|
|
this.setText(val)
|
|
},
|
|
|
|
getTitle: function() { return LS.getItem(this.key('title')) || '' },
|
|
getText: function() { return LS.getItem(this.key('text')) || '' },
|
|
setTitle: function(val) { LS.setItem(this.key('title'), val) },
|
|
setText: function(val) { LS.setItem(this.key('text'), val) }
|
|
}); |