UE.commands['tabbg'] = {
queryCommandState: function () {
var rng = this.selection.getRange();
return domUtils.findParentByTagName(rng.startContainer, 'table', true) ? 0:-1;
},
execCommand: function (cmd, color) {
if(color == "default")color="";
var rng = this.selection.getRange();
var table = domUtils.findParentByTagName(rng.startContainer, 'table', true);
if (table) {
// console.log('tab = ', table);
var sels = table.getElementsByClassName("selectTdClass");
if(sels.length == 0){
var prtTd = domUtils.findParentByTagName(rng.startContainer, 'td', true);
sels=[prtTd];
}
for(var i=0,n=sels.length;i<n;i++){
// console.log('e = ', sels[i]);
sels[i].style.backgroundColor=color;
}
}
this.selection.clearRange();
}
};
editorui.tabbg = function(editor){
window.ed = editor;
var ui = new editorui.ColorButton({
className:'edui-for-tabbg',
color:'default',
title:'单元格背景色',
editor:editor,
onpickcolor:function (t, color) {
// console.log('onpickcolor->', t, color);
editor.execCommand("tabbg", color);
},
onpicknocolor:function () {
// console.log('onpicknocolor-> nil');
editor.execCommand("tabbg", 'default');
this.setColor('transparent');
this.color = 'default';
},
onbuttonclick:function () {
// console.log('onbuttonclick-> nil');
editor.execCommand("tabbg", this.color);
}
});
editorui.buttons["tabbg"] = ui;
editor.addListener('selectionchange', function () {
ui.setDisabled(editor.queryCommandState("tabbg") == -1);
});
return ui;
}
浙公网安备 33010602011771号