bugfix
This commit is contained in:
parent
08a8e143dc
commit
c67593298f
@ -40,7 +40,7 @@ bricks.ChartBar = class extends bricks.EchartsExt {
|
|||||||
trigger:'axis'
|
trigger:'axis'
|
||||||
},
|
},
|
||||||
legend:{
|
legend:{
|
||||||
data:n_data
|
data:this.valueFields
|
||||||
},
|
},
|
||||||
xAxis:{
|
xAxis:{
|
||||||
type:'category',
|
type:'category',
|
||||||
|
|||||||
@ -701,7 +701,10 @@ bricks.App = class extends bricks.Layout {
|
|||||||
let params = {'lang':this.lang};
|
let params = {'lang':this.lang};
|
||||||
var jc = new bricks.HttpJson();
|
var jc = new bricks.HttpJson();
|
||||||
d = await jc.httpcall(desc.url, {
|
d = await jc.httpcall(desc.url, {
|
||||||
"method":desc.method||'GET', params:params});
|
"method":desc.method||'GET',
|
||||||
|
params:params
|
||||||
|
}
|
||||||
|
);
|
||||||
this.i18n.setup_dict(d);
|
this.i18n.setup_dict(d);
|
||||||
}
|
}
|
||||||
async build(){
|
async build(){
|
||||||
|
|||||||
@ -1,53 +1,81 @@
|
|||||||
var bricks = window.bricks || {};
|
var bricks = window.bricks || {};
|
||||||
|
|
||||||
bricks.I18n = class {
|
bricks.I18n = class {
|
||||||
constructor(url, default_lang){
|
/*
|
||||||
|
opts={
|
||||||
|
i18n
|
||||||
|
lang
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
constructor(opts){
|
||||||
/*
|
/*
|
||||||
{
|
{
|
||||||
url:
|
url:
|
||||||
method:
|
method:
|
||||||
default_lang
|
lang:
|
||||||
|
i18n_path:
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
this.url = opts.url;
|
this.url = opts.url || '/i18n'
|
||||||
this.default_lang = opts.default_lang||'en';
|
htis.i18n_path = opts.i18n_path;
|
||||||
|
this.lang = opts.lang;
|
||||||
this.method = opts.method || 'GET';
|
this.method = opts.method || 'GET';
|
||||||
this.lang_msgs = {};
|
this.lang_msgs = {};
|
||||||
this.msgs = {};
|
this.msgs = {};
|
||||||
|
this.uni18n = {};
|
||||||
}
|
}
|
||||||
|
|
||||||
_(txt, obj){
|
_(txt, obj){
|
||||||
if (this.msgs.hasOwnProperty(txt)){
|
var outt, mt;
|
||||||
itxt = this.msgs[txt];
|
var msgs = this.lang_msgs[this.lang].msgs;
|
||||||
|
if (msgs.hasOwnProperty(txt)){
|
||||||
|
mt = msgs[txt] || txt;
|
||||||
}
|
}
|
||||||
if (obj instanceof Object){
|
if (obj instanceof Object){
|
||||||
return obj_fmtstr(obj, itxt);
|
outt = obj_fmtstr(obj, mt);
|
||||||
|
} else {
|
||||||
|
outt = mt;
|
||||||
|
}
|
||||||
|
if (mt == txt) {
|
||||||
|
this.uni18n(txt);
|
||||||
}
|
}
|
||||||
return txt;
|
return txt;
|
||||||
}
|
}
|
||||||
|
uni18n(txt){
|
||||||
|
var d = this.lang_msgs[this.lang].unmsgs;
|
||||||
|
if (! d[txt]){
|
||||||
|
d[txt] = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
is_loaded(lang){
|
is_loaded(lang){
|
||||||
if (objget(this.lang_msgs, lang)) return true;
|
if (objget(this.lang_msgs, lang)) return true;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
setup_dict(dic, lang){
|
setup_dict(dic, lang){
|
||||||
this.cur_lang = lang;
|
this.lang = lang;
|
||||||
bricks.extend(this.lang_msgs, {lang:dic});
|
this.lang_msgs[lang] = {
|
||||||
this.msgs = dic;
|
msgs:dic,
|
||||||
|
unmsgs:{}
|
||||||
}
|
}
|
||||||
async change_lang(lang){
|
|
||||||
if (objget(this.lang_msgs, lang)){
|
|
||||||
this.msgs = objget(this.lang_msgs, lang);
|
|
||||||
return;
|
|
||||||
}
|
}
|
||||||
|
async get_lang_dic(lang){
|
||||||
if (! this.url) return;
|
let params = {
|
||||||
|
lang:lang,
|
||||||
let params = {'lang':lang};
|
i18n: this.i18n_path
|
||||||
|
};
|
||||||
var jc = new bricks.HttpJson();
|
var jc = new bricks.HttpJson();
|
||||||
d = await jc.httpcall(desc.url, {
|
d = await jc.httpcall(this.url, {
|
||||||
"method":this.method || 'GET',
|
"method":this.method || 'GET',
|
||||||
params:params
|
params:params
|
||||||
});
|
});
|
||||||
this.setup_dict(d, lang);
|
this.setup_dict(d, lang);
|
||||||
|
|
||||||
|
}
|
||||||
|
async change_lang(lang){
|
||||||
|
if (this.lang_msgs[lang]){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
await this.get_lang_dic(lang);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -101,3 +101,20 @@ binds数组定义用户交互行为,每个绑定bind描述符包含以下结
|
|||||||
| `params` | Object | 携带的数据 |
|
| `params` | Object | 携带的数据 |
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
### bricks 控件注册机制
|
||||||
|
|
||||||
|
bricks使用控件注册机制来实现识别源码中widgettype的值对应bricks的哪个控件。
|
||||||
|
|
||||||
|
注册实现
|
||||||
|
bricks.Factory.register(控件名, bricks实现的控件对象)完成注册
|
||||||
|
|
||||||
|
### bricks的已实现控件清单
|
||||||
|
已实现的[控件清单](widgets.md)
|
||||||
|
|
||||||
|
### 控件扩展要求
|
||||||
|
|
||||||
|
* javascript class类
|
||||||
|
* 继承自JsWidget或其子类
|
||||||
|
* 为控件命名,并注册此控件
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user