| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203 |
- 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 = '<div class="toolbar-button @class@" onclick=$$._@event@() class="edui-clickable" value="">@value@</div>';
- 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 = '<nobr>';
- 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 += '</nobr>';
- 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;
- });
|