Browse Source

支持i18n变化

es6
guy 3 years ago
parent
commit
bf1e026b64
  1. 1
      changelog.md
  2. 4
      src/base/single/1.text.js
  3. 30
      src/core/utils/i18n.js

1
changelog.md

@ -1,6 +1,5 @@
# 更新日志 # 更新日志
2.0(2021-07) 2.0(2021-07)
- 支持BI.changeI18n动态换i18n方法
- layout支持forceUpdate刷新方式 - layout支持forceUpdate刷新方式
- width属性支持calc() - width属性支持calc()
- 修改了颜色选择器交互 - 修改了颜色选择器交互

4
src/base/single/1.text.js

@ -106,9 +106,6 @@
_getShowText: function () { _getShowText: function () {
var o = this.options; var o = this.options;
var text = BI.isFunction(o.text) ? o.text() : o.text; var text = BI.isFunction(o.text) ? o.text() : o.text;
if (text && text.addWidget) {
text.addWidget(this);
}
return BI.isKey(text) ? BI.Text.formatText(text + "") : text; return BI.isKey(text) ? BI.Text.formatText(text + "") : text;
}, },
@ -158,7 +155,6 @@
__d: function () { __d: function () {
BI.Text.superclass.__d.call(this); BI.Text.superclass.__d.call(this);
BI.i18nProvider.removeWidget(this);
} }
}); });
var formatters = []; var formatters = [];

30
src/core/utils/i18n.js

@ -1,27 +1,10 @@
!(function () { !(function () {
var i18nStore = {}; var i18nStore = {};
var i18nWidgets = {};
_.extend(BI, { _.extend(BI, {
i18nProvider: {
addWidget: function (widget, i18n) {
if (!i18nWidgets[widget.getName()]) {
i18nWidgets[widget.getName()] = i18n;
i18n.widget = widget;
}
},
removeWidget: function (widget) {
if (i18nWidgets[widget.getName()]) {
delete i18nWidgets[widget.getName()];
}
}
},
changeI18n: function (i18n) { changeI18n: function (i18n) {
if (i18n) { if (i18n) {
i18nStore = i18n; i18nStore = i18n;
} }
BI.each(i18nWidgets, function (widgetName, i18n) {
i18n.widget.setText(BI.i18nText.apply(null, i18n.args));
});
}, },
addI18n: function (i18n) { addI18n: function (i18n) {
BI.extend(i18nStore, i18n); BI.extend(i18nStore, i18n);
@ -46,18 +29,7 @@
}); });
} }
} }
return { return localeText;
args: arguments,
addWidget: function (widget) {
BI.i18nProvider.addWidget(widget, this);
},
valueOf: function () {
return localeText;
},
toString: function () {
return localeText;
}
};
} }
}); });
})(); })();

Loading…
Cancel
Save