Browse Source

Merge pull request #998 in VISUAL/fineui from ~WINDY/fineui:master to master

* commit 'b41c5e84cb4dc4246a56a65504ea4296aa1ba055':
  update
  BI-47681 refactor: 简单颜色选择器仍然会收到auto和transparent影响
  update
  fix: 想了一下改一改
  BI-47433 fix: 文本列表setEnable为false仍然可以选中item项
es6
guy 5 years ago
parent
commit
119e927655
  1. 21
      src/case/colorchooser/colorchooser.popup.js
  2. 4
      src/case/colorchooser/colorchooser.popup.simple.js

21
src/case/colorchooser/colorchooser.popup.js

@ -10,13 +10,14 @@ BI.ColorChooserPopup = BI.inherit(BI.Widget, {
props: {
baseCls: "bi-color-chooser-popup",
width: 230,
height: 145
height: 145,
simple: false // 简单模式, popup中没有自动和透明
},
render: function () {
var self = this, o = this.options;
this.colorEditor = BI.createWidget(o.editor, {
type: "bi.color_picker_editor",
type: o.simple ? "bi.simple_color_picker_editor" : "bi.color_picker_editor",
value: o.value,
cls: "bi-header-background bi-border-bottom",
height: 30
@ -31,7 +32,7 @@ BI.ColorChooserPopup = BI.inherit(BI.Widget, {
this.storeColors = BI.createWidget({
type: "bi.color_picker",
cls: "bi-border-bottom bi-border-right",
items: [this._digestStoreColors(BI.string2Array(BI.Cache.getItem("colors") || ""))],
items: [this._digestStoreColors(this._getStoreColors())],
width: 210,
height: 24,
value: o.value
@ -175,7 +176,7 @@ BI.ColorChooserPopup = BI.inherit(BI.Widget, {
_dealStoreColors: function () {
var color = this.getValue();
var colors = BI.string2Array(BI.Cache.getItem("colors") || "");
var colors = this._getStoreColors();
var que = new BI.Queue(8);
que.fromArray(colors);
que.remove(color);
@ -200,6 +201,18 @@ BI.ColorChooserPopup = BI.inherit(BI.Widget, {
return items;
},
_getStoreColors: function() {
var self = this, o = this.options;
var colorsArray = BI.string2Array(BI.Cache.getItem("colors") || "");
return BI.filter(colorsArray, function (idx, color) {
return o.simple ? self._isRGBColor(color) : true;
});
},
_isRGBColor: function (color) {
return BI.isNotEmptyString(color) && color !== "transparent";
},
setStoreColors: function (colors) {
if (BI.isArray(colors)) {
this.storeColors.populate([this._digestStoreColors(colors)]);

4
src/case/colorchooser/colorchooser.popup.simple.js

@ -20,9 +20,7 @@ BI.SimpleColorChooserPopup = BI.inherit(BI.Widget, {
type: "bi.color_chooser_popup",
value: o.value,
element: this,
editor: {
type: "bi.simple_color_picker_editor"
}
simple: true // 是否有自动
});
this.popup.on(BI.ColorChooserPopup.EVENT_CHANGE, function () {
self.fireEvent(BI.SimpleColorChooserPopup.EVENT_CHANGE, arguments);

Loading…
Cancel
Save