2025-05-15 04:51:23 +03:00

57 lines
1.6 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) {
switch (what) {
case 'title': return this.getTitle();
case 'text': return this.getText();
case 'keywords': return this.getKeywords()
}
},
set: function(what, val) {
switch (what) {
case 'title': return this.setTitle(val);
case 'text': return this.setText(val);
case 'keywords': return this.setKeywords(val);
}
},
getTitle: function() { return LS.getItem(this.key('title')) || '' },
getText: function() { return LS.getItem(this.key('text')) || '' },
getKeywords: function() { return LS.getItem(this.key('keywords')) || '' },
setTitle: function(val) { LS.setItem(this.key('title'), val) },
setText: function(val) { LS.setItem(this.key('text'), val) },
setKeywords: function(val) { LS.setItem(this.key('keywords'), val) }
});