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