⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tableoperation.js

📁 初学者
💻 JS
字号:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.widget.Editor2Plugin.TableOperation");dojo.require("dojo.widget.Editor2");dojo.event.topic.subscribe("dojo.widget.RichText::init", function (editor) {	if (dojo.render.html.ie) {		editor.contentDomPreFilters.push(dojo.widget.Editor2Plugin.TableOperation.showIETableBorder);		editor.contentDomPostFilters.push(dojo.widget.Editor2Plugin.TableOperation.removeIEFakeClass);	}	editor.getCommand("toggletableborder");});dojo.lang.declare("dojo.widget.Editor2Plugin.deleteTableCommand", dojo.widget.Editor2Command, {execute:function () {	var table = dojo.withGlobal(this._editor.window, "getAncestorElement", dojo.html.selection, ["table"]);	if (table) {		dojo.withGlobal(this._editor.window, "selectElement", dojo.html.selection, [table]);		this._editor.execCommand("inserthtml", " ");	}}, getState:function () {	if (this._editor._lastStateTimestamp > this._updateTime || this._state == undefined) {		this._updateTime = this._editor._lastStateTimestamp;		var table = dojo.withGlobal(this._editor.window, "hasAncestorElement", dojo.html.selection, ["table"]);		this._state = table ? dojo.widget.Editor2Manager.commandState.Enabled : dojo.widget.Editor2Manager.commandState.Disabled;	}	return this._state;}, getText:function () {	return "Delete Table";}});dojo.lang.declare("dojo.widget.Editor2Plugin.toggleTableBorderCommand", dojo.widget.Editor2Command, function () {	this._showTableBorder = false;	dojo.event.connect(this._editor, "editorOnLoad", this, "execute");}, {execute:function () {	if (this._showTableBorder) {		this._showTableBorder = false;		if (dojo.render.html.moz) {			this._editor.removeStyleSheet(dojo.uri.moduleUri("dojo.widget", "templates/Editor2/showtableborder_gecko.css"));		} else {			if (dojo.render.html.ie) {				this._editor.removeStyleSheet(dojo.uri.moduleUri("dojo.widget", "templates/Editor2/showtableborder_ie.css"));			}		}	} else {		this._showTableBorder = true;		if (dojo.render.html.moz) {			this._editor.addStyleSheet(dojo.uri.moduleUri("dojo.widget", "templates/Editor2/showtableborder_gecko.css"));		} else {			if (dojo.render.html.ie) {				this._editor.addStyleSheet(dojo.uri.moduleUri("dojo.widget", "templates/Editor2/showtableborder_ie.css"));			}		}	}}, getText:function () {	return "Toggle Table Border";}, getState:function () {	return this._showTableBorder ? dojo.widget.Editor2Manager.commandState.Latched : dojo.widget.Editor2Manager.commandState.Enabled;}});dojo.widget.Editor2Plugin.TableOperation = {getCommand:function (editor, name) {	switch (name.toLowerCase()) {	  case "toggletableborder":		return new dojo.widget.Editor2Plugin.toggleTableBorderCommand(editor, name);	  case "inserttable":		return new dojo.widget.Editor2DialogCommand(editor, "inserttable", {contentFile:"dojo.widget.Editor2Plugin.InsertTableDialog", contentClass:"Editor2InsertTableDialog", title:"Insert/Edit Table", width:"450px", height:"250px"});	  case "deletetable":		return new dojo.widget.Editor2Plugin.deleteTableCommand(editor, name);	}}, getToolbarItem:function (name) {	var name = name.toLowerCase();	var item;	switch (name) {	  case "inserttable":	  case "toggletableborder":		item = new dojo.widget.Editor2ToolbarButton(name);	}	return item;}, getContextMenuGroup:function (name, contextmenuplugin) {	return new dojo.widget.Editor2Plugin.TableContextMenuGroup(contextmenuplugin);}, showIETableBorder:function (dom) {	var tables = dom.getElementsByTagName("table");	dojo.lang.forEach(tables, function (t) {		dojo.html.addClass(t, "dojoShowIETableBorders");	});	return dom;}, removeIEFakeClass:function (dom) {	var tables = dom.getElementsByTagName("table");	dojo.lang.forEach(tables, function (t) {		dojo.html.removeClass(t, "dojoShowIETableBorders");	});	return dom;}};dojo.widget.Editor2Manager.registerHandler(dojo.widget.Editor2Plugin.TableOperation.getCommand);dojo.widget.Editor2ToolbarItemManager.registerHandler(dojo.widget.Editor2Plugin.TableOperation.getToolbarItem);if (dojo.widget.Editor2Plugin.ContextMenuManager) {	dojo.widget.Editor2Plugin.ContextMenuManager.registerGroup("Table", dojo.widget.Editor2Plugin.TableOperation.getContextMenuGroup);	dojo.declare("dojo.widget.Editor2Plugin.TableContextMenuGroup", dojo.widget.Editor2Plugin.SimpleContextMenuGroup, {createItems:function () {		this.items.push(dojo.widget.createWidget("Editor2ContextMenuItem", {caption:"Delete Table", command:"deletetable"}));		this.items.push(dojo.widget.createWidget("Editor2ContextMenuItem", {caption:"Table Property", command:"inserttable", iconClass:"TB_Button_Icon TB_Button_Table"}));	}, checkVisibility:function () {		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();		var table = dojo.withGlobal(curInst.window, "hasAncestorElement", dojo.html.selection, ["table"]);		if (dojo.withGlobal(curInst.window, "hasAncestorElement", dojo.html.selection, ["table"])) {			this.items[0].show();			this.items[1].show();			return true;		} else {			this.items[0].hide();			this.items[1].hide();			return false;		}	}});}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -