This repository has been archived on 2025-05-24. You can view files and clone it, but cannot push or open issues or pull requests.
Files
qemudb/xinha/plugins/DoubleClick/double-click.js
Chris Morgan 2d4b27530d Upgrade to Xinha 0.931. Xinha has been optimized for size and dozens of issues have been closed
out since the last upgrade . Add Firefox and Xinha buttons to main page to show our support.
2007-05-31 22:43:05 +00:00

66 lines
2.2 KiB
JavaScript

// Double Click Plugin for HTMLArea-3.0
// Implementation by Marijn Kampf http://www.marijn.org
// Sponsored by http://www.smiling-faces.com
//
// (c) Marijn Kampf 2004.
// Distributed under the same terms as HTMLArea itself.
// This notice MUST stay intact for use (see license.txt).
//
// Cut-n-paste version of double click plugin.
// Almost no original code used. Based on
// Luis HTMLarea and Mihai Bazon Context Menu
//
//
//
DoubleClick._pluginInfo = {
name : "DoubleClick",
version : "1.0",
developer : "Marijn Kampf",
developer_url : "http://www.marijn.org",
c_owner : "Marijn Kampf",
sponsor : "smiling-faces.com",
sponsor_url : "http://www.smiling-faces.com",
license : "htmlArea"
};
function DoubleClick(editor) {
this.editor = editor;
// ADDING CUSTOM DOUBLE CLICK ACTIONS
// format of the dblClickList elements is "TAGNAME: [ ACTION ]"
// - TAGNAME: tagname of the tag that is double clicked
// - ACTION: function that gets called when the button is clicked.
// it has the following prototype:
// function(editor, event)
// - editor is the HTMLArea object that triggered the call
// - target is the selected object
this.editor.dblClickList = {
// Edit Link dialog
a: [ function(e) {e.config.btnList['createlink'][3](e); } ],
// Follow link
//a: [ function(editor, target) { window.location = target.href; properties(target); } ],
img: [ function(e) {e.execCommand("insertimage");} ],
td: [ function(e) {e.execCommand("inserttable");} ]
};
}
DoubleClick.prototype.onGenerate = function() {
var self = this;
var doc = this.editordoc = this.editor._iframe.contentWindow.document;
HTMLArea._addEvents(doc, ["dblclick"],
function (event) {
return self.onDoubleClick(HTMLArea.is_ie ? self.editor._iframe.contentWindow.event : event);
});
this.currentClick = null;
};
DoubleClick.prototype.onDoubleClick = function(ev) {
var target = HTMLArea.is_ie ? ev.srcElement : ev.target;
var tagName = target.tagName.toLowerCase();
if (this.editor.dblClickList[tagName] != undefined) {
this.editor.dblClickList[tagName][0](this.editor, target);
}
};