[DE] Watermark: asynchronous loading of languages
This commit is contained in:
parent
5b068c5d28
commit
e79a49ad44
|
@ -49,12 +49,11 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
DE.Views.WatermarkText = new(function() {
|
||||
var langs;
|
||||
var _get = function() {
|
||||
if (langs)
|
||||
return langs;
|
||||
|
||||
return langs;
|
||||
};
|
||||
var _load = function(callback) {
|
||||
langs = [];
|
||||
try {
|
||||
var langJson = Common.Utils.getConfigJson('resources/watermark/wm-text.json');
|
||||
Common.Utils.loadConfig('resources/watermark/wm-text.json', function (langJson) {
|
||||
for (var lang in langJson) {
|
||||
var val = Common.util.LanguageInfo.getLocalLanguageCode(lang);
|
||||
if (val) {
|
||||
|
@ -66,14 +65,12 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
if (a.shortname > b.shortname) return 1;
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
catch (e) {
|
||||
}
|
||||
|
||||
return langs;
|
||||
callback && callback(langs);
|
||||
});
|
||||
};
|
||||
return {
|
||||
get: _get
|
||||
get: _get,
|
||||
load: _load
|
||||
};
|
||||
})();
|
||||
|
||||
|
@ -115,6 +112,7 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
this.imageControls = [];
|
||||
this.fontName = 'Arial';
|
||||
this.lang = 'en';
|
||||
this.text = '';
|
||||
this.isAutoColor = false;
|
||||
this.isImageLoaded = false;
|
||||
|
||||
|
@ -209,6 +207,7 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
scrollAlwaysVisible: true,
|
||||
data : []
|
||||
}).on('selected', _.bind(this.onSelectLang, this));
|
||||
this.cmbLang.setValue(Common.util.LanguageInfo.getLocalLanguageName(9)[1]);//en
|
||||
this.textControls.push(this.cmbLang);
|
||||
|
||||
this.cmbText = new Common.UI.ComboBox({
|
||||
|
@ -422,18 +421,28 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
},
|
||||
|
||||
loadLanguages: function() {
|
||||
this.languages = DE.Views.WatermarkText.get();
|
||||
var data = [];
|
||||
this.languages && this.languages.forEach(function(item) {
|
||||
data.push({displayValue: item.name, value: item.shortname, wmtext: item.text});
|
||||
});
|
||||
this.cmbLang.setData(data);
|
||||
if (data.length) {
|
||||
var item = this.cmbLang.store.findWhere({value: this.lang}) || this.cmbLang.store.at(0);
|
||||
this.cmbLang.setValue(this.lang);
|
||||
this.onSelectLang(this.cmbLang, item.toJSON());
|
||||
} else
|
||||
this.cmbLang.setDisabled(true);
|
||||
var me = this;
|
||||
var callback = function(languages) {
|
||||
var data = [];
|
||||
me.languages = languages;
|
||||
me.languages && me.languages.forEach(function(item) {
|
||||
data.push({displayValue: item.name, value: item.shortname, wmtext: item.text});
|
||||
});
|
||||
if (data.length) {
|
||||
me.cmbLang.setData(data);
|
||||
var item = me.cmbLang.store.findWhere({value: me.lang}) || me.cmbLang.store.at(0);
|
||||
me.cmbLang.setValue(me.lang);
|
||||
me.cmbLang.setDisabled(!me.radioText.getValue());
|
||||
me.onSelectLang(me.cmbLang, item.toJSON());
|
||||
me.text && me.cmbText.setValue(me.text);
|
||||
} else
|
||||
me.cmbLang.setDisabled(true);
|
||||
};
|
||||
var languages = DE.Views.WatermarkText.get();
|
||||
if (languages)
|
||||
callback(languages);
|
||||
else
|
||||
DE.Views.WatermarkText.load(callback);
|
||||
},
|
||||
|
||||
onSelectLang: function(combo, record) {
|
||||
|
@ -444,8 +453,10 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
data.push({value: item});
|
||||
});
|
||||
this.lang = record.value;
|
||||
this.cmbText.setData(data);
|
||||
this.cmbText.setValue(data[0].value);
|
||||
if (data.length>0) {
|
||||
this.cmbText.setData(data);
|
||||
this.cmbText.setValue(data[0].value);
|
||||
}
|
||||
},
|
||||
|
||||
loadWMText: function(lang) {
|
||||
|
@ -463,8 +474,10 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
item && item.get('wmtext').forEach(function(item) {
|
||||
data.push({value: item});
|
||||
});
|
||||
this.cmbText.setData(data);
|
||||
(data.length>0) && this.cmbText.setValue(data[0].value);
|
||||
if (data.length>0) {
|
||||
this.cmbText.setData(data);
|
||||
this.cmbText.setValue(data[0].value);
|
||||
}
|
||||
},
|
||||
|
||||
insertFromUrl: function() {
|
||||
|
@ -555,6 +568,7 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
}
|
||||
val = props.get_Text();
|
||||
val && this.cmbText.setValue(val);
|
||||
this.text = val || '';
|
||||
}
|
||||
this.disableControls(type);
|
||||
}
|
||||
|
@ -610,7 +624,7 @@ define(['text!documenteditor/main/app/template/WatermarkSettings.template',
|
|||
_.each(this.textControls, function(item) {
|
||||
item.setDisabled(disable);
|
||||
});
|
||||
this.cmbLang.setDisabled(disable || this.languages.length<1);
|
||||
this.cmbLang.setDisabled(disable || !this.languages || this.languages.length<1);
|
||||
this.btnOk.setDisabled(type==Asc.c_oAscWatermarkType.Image && !this.isImageLoaded);
|
||||
},
|
||||
|
||||
|
|
Loading…
Reference in a new issue