manager.registerUI("inserttable", function (wdeditor, name) { var editor = wdeditor.getUeditor(); var tablePopup = new baidu.editor.ui.Popup({ editor: editor, content: '', className: 'edui-bubble', _deletetable: function () { this.hide(); wdeditor.execCommand("deletetable"); }, _insertrow: function (name) { this.hide(); wdeditor.execCommand("insertrow"); }, _deleterow: function (name) { this.hide(); wdeditor.execCommand("deleterow"); }, _insertcol: function (name) { this.hide(); wdeditor.execCommand("insertcol"); }, _deletecol: function (name) { this.hide(); wdeditor.execCommand("deletecol"); }, _mergecells: function (name) { this.hide(); wdeditor.execCommand("mergecells"); }, _deleterow: function (name) { this.hide(); wdeditor.execCommand("deleterow"); }, _mergeright: function (name) { this.hide(); wdeditor.execCommand("mergeright"); }, _mergedown: function (name) { this.hide(); wdeditor.execCommand("mergedown"); }, _splittocells: function (name) { this.hide(); wdeditor.execCommand("splittocells"); }, queryAutoHide: function (el) { if (el && el.ownerDocument == editor.document) { if (el.tagName.toLowerCase() == 'table' || baidu.editor.dom.domUtils.findParentByTagName(el, 'a', true)) { return el !== popup.anchorEl; } } return baidu.editor.ui.Popup.prototype.queryAutoHide .call(this, el); } }); tablePopup.render(); // 删除表格 插入行 插入列 删除行 删除列 合并选中 右合并 下合并 拆分 var tableCmds = [['deletetable', '删除表格','icon-deleteTable'], ['insertrow', '插入行','icon-insertRow'], ['insertcol', '插入列','icon-insertCol'], ['deleterow', '删除行','icon-deleteRow'], ['deletecol', '删除列','icon-deleteCol'], ['mergecells', '合并选中','icon-mergeCells'], ['mergeright', '右合并','icon-mergeRight'], ['mergedown', '下合并','icon-mergeDown'], ['splittocells', '拆分','icon-splitToCells']]; var tableBtnStr = '
@value@
'; var btn = new EditorManager.Button({ type: "button", name: "inserttable", className: "icon-table", text: "", title: "表格", onpicktable: function (t, numCols, numRows) { wdeditor.execCommand('InsertTable', { numRows: numRows, numCols: numCols, border: 1 }); }, setSelectionChange: function () { var this_ = this; wdeditor.addListener("selectionchange", function () { this_.setDisable(wdeditor.queryCommandState("inserttable") == -1); var evt = event; var sel = wdeditor.getUeditor().selection; var el = $(sel.getStart(), sel.document.defaultView).parents("table")[0]; if (el) { var html = ''; for (var i = 0; i < tableCmds.length; i++) { var cmd = tableCmds[i][0], txt = tableCmds[i][1], clas = tableCmds[i][2] if (wdeditor.queryCommandState(cmd) != -1) { // .replace("@value@", txt) html += tableBtnStr.replace("@event@", cmd).replace("@value@", txt).replace("@class@", clas); } } html += ''; html = tablePopup.formatHtml(html); tablePopup.getDom("content").innerHTML = html; tablePopup.anchorEl = el; tablePopup.showAnchor(tablePopup.anchorEl); } }); }, onBtnClick: function () { var h = this.getElement().offsetHeight; var ofs = $(this.getElement()).offset(); ofs.top += h + 3; this.popup.showAt(ofs); }, _onPickTable: function (numCols, numRows) { if (this.onpicktable('picktable', numCols, numRows) !== false) { this.popup.hide(); } }, oninit: function () { var me = this; var picker = new baidu.editor.ui.TablePicker({ editor: wdeditor.getUeditor(), onpicktable: function (t, numCols, numRows) { me._onPickTable(numCols, numRows); } }) var popup = new baidu.editor.ui.Popup({ content: picker, editor: wdeditor.getUeditor() }); this.popup = popup; } }); return btn; }); manager.registerUI("tabletools", function (wdeditor, name) { var btn = new EditorManager.ButtonGroup({ wdeditor: wdeditor, name: name, command: name, buttons: { deletetable: { type: "button", className: "insideButton-deleteRable", name: "deletetable", text: "删除表格", title: "删除表格" }, insertrow: { type: "button", className: "insideButton-insertRow", name: "insertrow", text: "插入行", title: "插入行" }, deleterow: { type: "button", className: "insideButton-deleteRow", name: "deleterow", text: "删除行", title: "删除行" }, insertcol: { type: "button", className: "insideButton-insertCol", name: "insertcol", text: "插入列", title: "插入列" }, deletecol: { type: "button", className: "insideButton-deleteCol", name: "deletecol", text: "删除列", title: "删除列" }, mergecells: { type: "button", className: "insideButton-mergeCells", name: "mergecells", text: "选中合并", title: "合并选定单元格" }, mergeright: { type: "button", className: "insideButton-mergeRight", name: "mergeright", text: "右合并", title: "合并右边单元格" }, mergedown: { type: "button", className: "insideButton-mergeDown", name: "mergedown", text: "下合并", title: "合并下边单元格" }, splittocells: { type: "button", className: "insideButton-splitToCells", name: "splittocells", text: "拆分", title: "拆分单元格" } } }); return btn; });