windy
3 years ago
11 changed files with 460 additions and 235 deletions
@ -0,0 +1,53 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2021/7/28 |
||||
*/ |
||||
BI.ColorChooserShowButton = BI.inherit(BI.BasicButton, { |
||||
|
||||
props: { |
||||
baseCls: 'bi-color-chooser-show-button bi-border bi-list-item-effect', |
||||
}, |
||||
|
||||
render: function () { |
||||
var self = this, o = this.options; |
||||
return { |
||||
type: 'bi.htape', |
||||
items: [{ |
||||
el: { |
||||
type: "bi.icon_label", |
||||
cls: o.iconCls, |
||||
ref: function (_ref) { |
||||
self.icon = _ref; |
||||
}, |
||||
iconWidth: 16, |
||||
iconHeight: 16, |
||||
}, |
||||
hgap: 20, |
||||
width: 16, |
||||
}, { |
||||
type: 'bi.label', |
||||
textAlign: 'left', |
||||
text: o.text, |
||||
}] |
||||
} |
||||
}, |
||||
|
||||
doClick: function () { |
||||
BI.ColorChooserShowButton.superclass.doClick.apply(this, arguments); |
||||
if (this.isValid()) { |
||||
this.fireEvent(BI.ColorChooserShowButton.EVENT_CHANGE, this); |
||||
} |
||||
}, |
||||
|
||||
setSelected: function (b) { |
||||
BI.ColorChooserShowButton.superclass.setSelected.apply(this, arguments); |
||||
if (b) { |
||||
this.icon.element.addClass("active"); |
||||
} else { |
||||
this.icon.element.removeClass("active"); |
||||
} |
||||
}, |
||||
}); |
||||
BI.ColorChooserShowButton.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.shortcut("bi.color_picker_show_button", BI.ColorChooserShowButton); |
@ -0,0 +1,170 @@
|
||||
/** |
||||
* @author windy |
||||
* @version 2.0 |
||||
* Created by windy on 2021/7/28 |
||||
*/ |
||||
BI.HexColorPicker = BI.inherit(BI.Widget, { |
||||
|
||||
props: { |
||||
baseCls: "bi-hex-color-picker", |
||||
items: null, |
||||
}, |
||||
|
||||
_items: [ |
||||
[{ |
||||
value: "#808080" |
||||
}, { |
||||
value: "#ffffff" |
||||
}, { |
||||
value: "#ffebe5" |
||||
}, { |
||||
value: "#ffddba" |
||||
}, { |
||||
value: "#ffeebb" |
||||
}, { |
||||
value: "#d4e9bf" |
||||
}, { |
||||
value: "#c7e1e1" |
||||
}, { |
||||
value: "#bfe3f0" |
||||
}, { |
||||
value: "#ccd6eb" |
||||
}], |
||||
[{ |
||||
value: "#616161" |
||||
}, { |
||||
value: "#f2f2f2" |
||||
}, { |
||||
value: "#ffd6cc" |
||||
}, { |
||||
value: "#ffb87a" |
||||
}, { |
||||
value: "#ffdf91" |
||||
}, { |
||||
value: "#b7d2b6" |
||||
}, { |
||||
value: "#a3d2c9" |
||||
}, { |
||||
value: "#8ab6d6" |
||||
}, { |
||||
value: "#bcbce0" |
||||
}], |
||||
[{ |
||||
value: "#404040" |
||||
}, { |
||||
value: "#dedede" |
||||
}, { |
||||
value: "#ffab9b" |
||||
}, { |
||||
value: "#eb8a3a" |
||||
}, { |
||||
value: "#ffc947" |
||||
}, { |
||||
value: "#8aa964" |
||||
}, { |
||||
value: "#5eaaa0" |
||||
}, { |
||||
value: "#2978b5" |
||||
}, { |
||||
value: "#8f8faa" |
||||
}], |
||||
[{ |
||||
value: "#202020" |
||||
}, { |
||||
value: "#bfbfbf" |
||||
}, { |
||||
value: "#df7461" |
||||
}, { |
||||
value: "#cf7536" |
||||
}, { |
||||
value: "#e6b63b" |
||||
}, { |
||||
value: "#5b8a72" |
||||
}, { |
||||
value: "#3b9aa3" |
||||
}, { |
||||
value: "#336291" |
||||
}, { |
||||
value: "#58568f" |
||||
}], |
||||
[{ |
||||
value: "#000000" |
||||
}, { |
||||
value: "#a1a1a1" |
||||
}, { |
||||
value: "#b55140" |
||||
}, { |
||||
value: "#a6713c" |
||||
}, { |
||||
value: "#ad975f" |
||||
}, { |
||||
value: "#5f7d6e" |
||||
}, { |
||||
value: "#3b7480" |
||||
}, { |
||||
value: "#425d78" |
||||
}, { |
||||
value: "#62608a" |
||||
}] |
||||
], |
||||
|
||||
render: function () { |
||||
var self = this, o = this.options; |
||||
this.colors = BI.createWidget(); |
||||
|
||||
return { |
||||
type: "bi.button_group", |
||||
items: this._digest(o.items || this._items), |
||||
layouts: [{ |
||||
type: "bi.grid", |
||||
}], |
||||
value: o.value, |
||||
listeners: [{ |
||||
eventName: BI.ButtonGroup.EVENT_CHANGE, |
||||
action: function () { |
||||
self.fireEvent(BI.HexColorPicker.EVENT_CHANGE, arguments); |
||||
} |
||||
}], |
||||
ref: function (_ref) { |
||||
self.colors = _ref; |
||||
} |
||||
}; |
||||
}, |
||||
|
||||
_digest: function (items) { |
||||
var o = this.options; |
||||
var blocks = []; |
||||
BI.each(items, function (idx, row) { |
||||
var bRow = []; |
||||
BI.each(row, function (idx, item) { |
||||
bRow.push(BI.extend({ |
||||
type: "bi.color_picker_button", |
||||
once: false, |
||||
cls: o.space ? 'bi-border-right' : '', |
||||
}, item)); |
||||
if (o.space && idx < row.length - 1) { |
||||
bRow.push({ type: 'bi.layout' }); |
||||
} |
||||
}); |
||||
blocks.push(bRow); |
||||
}); |
||||
|
||||
return blocks; |
||||
}, |
||||
|
||||
populate: function (items) { |
||||
var args = [].slice.call(arguments); |
||||
args[0] = this._digest(items); |
||||
this.colors.populate.apply(this.colors, args); |
||||
}, |
||||
|
||||
setValue: function (color) { |
||||
this.colors.setValue(color); |
||||
}, |
||||
|
||||
getValue: function () { |
||||
return this.colors.getValue(); |
||||
} |
||||
}); |
||||
BI.HexColorPicker.EVENT_CHANGE = "EVENT_CHANGE"; |
||||
BI.shortcut("bi.hex_color_picker", BI.HexColorPicker); |
Loading…
Reference in new issue