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

📄 editor2toolbar.js

📁 初学者
💻 JS
📖 第 1 页 / 共 2 页
字号:
/*	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.Editor2Toolbar");dojo.require("dojo.lang.*");dojo.require("dojo.widget.*");dojo.require("dojo.event.*");dojo.require("dojo.html.layout");dojo.require("dojo.html.display");dojo.require("dojo.widget.RichText");dojo.require("dojo.widget.PopupContainer");dojo.require("dojo.widget.ColorPalette");dojo.lang.declare("dojo.widget.HandlerManager", null, function () {	this._registeredHandlers = [];}, {registerHandler:function (obj, func) {	if (arguments.length == 2) {		this._registeredHandlers.push(function () {			return obj[func].apply(obj, arguments);		});	} else {		this._registeredHandlers.push(obj);	}}, removeHandler:function (func) {	for (var i = 0; i < this._registeredHandlers.length; i++) {		if (func === this._registeredHandlers[i]) {			delete this._registeredHandlers[i];			return;		}	}	dojo.debug("HandlerManager handler " + func + " is not registered, can not remove.");}, destroy:function () {	for (var i = 0; i < this._registeredHandlers.length; i++) {		delete this._registeredHandlers[i];	}}});dojo.widget.Editor2ToolbarItemManager = new dojo.widget.HandlerManager;dojo.lang.mixin(dojo.widget.Editor2ToolbarItemManager, {getToolbarItem:function (name) {	var item;	name = name.toLowerCase();	for (var i = 0; i < this._registeredHandlers.length; i++) {		item = this._registeredHandlers[i](name);		if (item) {			return item;		}	}	switch (name) {	  case "bold":	  case "copy":	  case "cut":	  case "delete":	  case "indent":	  case "inserthorizontalrule":	  case "insertorderedlist":	  case "insertunorderedlist":	  case "italic":	  case "justifycenter":	  case "justifyfull":	  case "justifyleft":	  case "justifyright":	  case "outdent":	  case "paste":	  case "redo":	  case "removeformat":	  case "selectall":	  case "strikethrough":	  case "subscript":	  case "superscript":	  case "underline":	  case "undo":	  case "unlink":	  case "createlink":	  case "insertimage":	  case "htmltoggle":		item = new dojo.widget.Editor2ToolbarButton(name);		break;	  case "forecolor":	  case "hilitecolor":		item = new dojo.widget.Editor2ToolbarColorPaletteButton(name);		break;	  case "plainformatblock":		item = new dojo.widget.Editor2ToolbarFormatBlockPlainSelect("formatblock");		break;	  case "formatblock":		item = new dojo.widget.Editor2ToolbarFormatBlockSelect("formatblock");		break;	  case "fontsize":		item = new dojo.widget.Editor2ToolbarFontSizeSelect("fontsize");		break;	  case "fontname":		item = new dojo.widget.Editor2ToolbarFontNameSelect("fontname");		break;	  case "inserttable":	  case "insertcell":	  case "insertcol":	  case "insertrow":	  case "deletecells":	  case "deletecols":	  case "deleterows":	  case "mergecells":	  case "splitcell":		dojo.debug(name + " is implemented in dojo.widget.Editor2Plugin.TableOperation, please require it first.");		break;	  case "inserthtml":	  case "blockdirltr":	  case "blockdirrtl":	  case "dirltr":	  case "dirrtl":	  case "inlinedirltr":	  case "inlinedirrtl":		dojo.debug("Not yet implemented toolbar item: " + name);		break;	  default:		dojo.debug("dojo.widget.Editor2ToolbarItemManager.getToolbarItem: Unknown toolbar item: " + name);	}	return item;}});dojo.addOnUnload(dojo.widget.Editor2ToolbarItemManager, "destroy");dojo.declare("dojo.widget.Editor2ToolbarButton", null, function (name) {	this._name = name;}, {create:function (node, toolbar, nohover) {	this._domNode = node;	var cmd = toolbar.parent.getCommand(this._name);	if (cmd) {		this._domNode.title = cmd.getText();	}	this.disableSelection(this._domNode);	this._parentToolbar = toolbar;	dojo.event.connect(this._domNode, "onclick", this, "onClick");	if (!nohover) {		dojo.event.connect(this._domNode, "onmouseover", this, "onMouseOver");		dojo.event.connect(this._domNode, "onmouseout", this, "onMouseOut");	}}, disableSelection:function (rootnode) {	dojo.html.disableSelection(rootnode);	var nodes = rootnode.all || rootnode.getElementsByTagName("*");	for (var x = 0; x < nodes.length; x++) {		dojo.html.disableSelection(nodes[x]);	}}, onMouseOver:function () {	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();	if (curInst) {		var _command = curInst.getCommand(this._name);		if (_command && _command.getState() != dojo.widget.Editor2Manager.commandState.Disabled) {			this.highlightToolbarItem();		}	}}, onMouseOut:function () {	this.unhighlightToolbarItem();}, destroy:function () {	this._domNode = null;	this._parentToolbar = null;}, onClick:function (e) {	if (this._domNode && !this._domNode.disabled && this._parentToolbar.checkAvailability()) {		e.preventDefault();		e.stopPropagation();		var curInst = dojo.widget.Editor2Manager.getCurrentInstance();		if (curInst) {			var _command = curInst.getCommand(this._name);			if (_command) {				_command.execute();			}		}	}}, refreshState:function () {	var curInst = dojo.widget.Editor2Manager.getCurrentInstance();	var em = dojo.widget.Editor2Manager;	if (curInst) {		var _command = curInst.getCommand(this._name);		if (_command) {			var state = _command.getState();			if (state != this._lastState) {				switch (state) {				  case em.commandState.Latched:					this.latchToolbarItem();					break;				  case em.commandState.Enabled:					this.enableToolbarItem();					break;				  case em.commandState.Disabled:				  default:					this.disableToolbarItem();				}				this._lastState = state;			}		}	}	return em.commandState.Enabled;}, latchToolbarItem:function () {	this._domNode.disabled = false;	this.removeToolbarItemStyle(this._domNode);	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarLatchedItemStyle);}, enableToolbarItem:function () {	this._domNode.disabled = false;	this.removeToolbarItemStyle(this._domNode);	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarEnabledItemStyle);}, disableToolbarItem:function () {	this._domNode.disabled = true;	this.removeToolbarItemStyle(this._domNode);	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarDisabledItemStyle);}, highlightToolbarItem:function () {	dojo.html.addClass(this._domNode, this._parentToolbar.ToolbarHighlightedItemStyle);}, unhighlightToolbarItem:function () {	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarHighlightedItemStyle);}, removeToolbarItemStyle:function () {	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarEnabledItemStyle);	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarLatchedItemStyle);	dojo.html.removeClass(this._domNode, this._parentToolbar.ToolbarDisabledItemStyle);	this.unhighlightToolbarItem();}});dojo.declare("dojo.widget.Editor2ToolbarDropDownButton", dojo.widget.Editor2ToolbarButton, {onClick:function () {	if (this._domNode && !this._domNode.disabled && this._parentToolbar.checkAvailability()) {		if (!this._dropdown) {			this._dropdown = dojo.widget.createWidget("PopupContainer", {});			this._domNode.appendChild(this._dropdown.domNode);		}		if (this._dropdown.isShowingNow) {			this._dropdown.close();		} else {			this.onDropDownShown();			this._dropdown.open(this._domNode, null, this._domNode);		}	}}, destroy:function () {	this.onDropDownDestroy();	if (this._dropdown) {		this._dropdown.destroy();	}	dojo.widget.Editor2ToolbarDropDownButton.superclass.destroy.call(this);}, onDropDownShown:function () {}, onDropDownDestroy:function () {}});dojo.declare("dojo.widget.Editor2ToolbarColorPaletteButton", dojo.widget.Editor2ToolbarDropDownButton, {onDropDownShown:function () {	if (!this._colorpalette) {		this._colorpalette = dojo.widget.createWidget("ColorPalette", {});		this._dropdown.addChild(this._colorpalette);		this.disableSelection(this._dropdown.domNode);		this.disableSelection(this._colorpalette.domNode);		dojo.event.connect(this._colorpalette, "onColorSelect", this, "setColor");		dojo.event.connect(this._dropdown, "open", this, "latchToolbarItem");		dojo.event.connect(this._dropdown, "close", this, "enableToolbarItem");

⌨️ 快捷键说明

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