From 4315b0086b14cd5266b4cb824c3bd95aa550240c Mon Sep 17 00:00:00 2001 From: svncommit <devs@roundcube.net> Date: Mon, 10 Dec 2007 23:20:01 -0500 Subject: [PATCH] added ability to insert attached images in HTML editor --- program/js/tiny_mce/utils/mclayer.js | 420 ++++++++++++++++++++++++++++++------------------------------ 1 files changed, 210 insertions(+), 210 deletions(-) diff --git a/program/js/tiny_mce/utils/mclayer.js b/program/js/tiny_mce/utils/mclayer.js index 1b347f7..23982db 100644 --- a/program/js/tiny_mce/utils/mclayer.js +++ b/program/js/tiny_mce/utils/mclayer.js @@ -1,210 +1,210 @@ -/** - * $Id: mclayer.js 162 2007-01-03 16:16:52Z spocke $ - * - * Moxiecode floating layer script. - * - * @author Moxiecode - * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved. - */ - -function MCLayer(id) { - this.id = id; - this.settings = new Array(); - this.blockerElement = null; - this.isMSIE = navigator.appName == "Microsoft Internet Explorer"; - this.events = false; - this.autoHideCallback = null; -} - -MCLayer.prototype = { - moveRelativeTo : function(re, p, a) { - var rep = this.getAbsPosition(re); - var w = parseInt(re.offsetWidth); - var h = parseInt(re.offsetHeight); - var x, y; - - switch (p) { - case "tl": - break; - - case "tr": - x = rep.absLeft + w; - y = rep.absTop; - break; - - case "bl": - break; - - case "br": - break; - } - - this.moveTo(x, y); - }, - - moveBy : function(dx, dy) { - var e = this.getElement(); - var x = parseInt(e.style.left); - var y = parseInt(e.style.top); - - e.style.left = (x + dx) + "px"; - e.style.top = (y + dy) + "px"; - - this.updateBlocker(); - }, - - moveTo : function(x, y) { - var e = this.getElement(); - - e.style.left = x + "px"; - e.style.top = y + "px"; - - this.updateBlocker(); - }, - - show : function() { - MCLayer.visibleLayer = this; - - this.getElement().style.display = 'block'; - this.updateBlocker(); - }, - - hide : function() { - this.getElement().style.display = 'none'; - this.updateBlocker(); - }, - - setAutoHide : function(s, cb) { - this.autoHideCallback = cb; - this.registerEventHandlers(); - }, - - getElement : function() { - return document.getElementById(this.id); - }, - - updateBlocker : function() { - if (!this.isMSIE) - return; - - var e = this.getElement(); - var b = this.getBlocker(); - var x = this.parseInt(e.style.left); - var y = this.parseInt(e.style.top); - var w = this.parseInt(e.offsetWidth); - var h = this.parseInt(e.offsetHeight); - - b.style.left = x + 'px'; - b.style.top = y + 'px'; - b.style.width = w + 'px'; - b.style.height = h + 'px'; - b.style.display = e.style.display; - }, - - getBlocker : function() { - if (!this.blockerElement) { - var d = document, b = d.createElement("iframe"); - - b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0'; - b.src = 'javascript:false;'; - b.frameBorder = '0'; - b.scrolling = 'no'; - - d.body.appendChild(b); - this.blockerElement = b; - } - - return this.blockerElement; - }, - - getAbsPosition : function(n) { - var p = {absLeft : 0, absTop : 0}; - - while (n) { - p.absLeft += n.offsetLeft; - p.absTop += n.offsetTop; - n = n.offsetParent; - } - - return p; - }, - - registerEventHandlers : function() { - if (!this.events) { - var d = document; - - this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown); - - this.events = true; - } - }, - - addEvent : function(o, n, h) { - if (o.attachEvent) - o.attachEvent("on" + n, h); - else - o.addEventListener(n, h, false); - }, - - onMouseDown : function(e) { - e = typeof(e) == "undefined" ? window.event : e; - var b = document.body; - var l = MCLayer.visibleLayer; - - if (l) { - var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX; - var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY; - var el = l.getElement(); - var x = parseInt(el.style.left); - var y = parseInt(el.style.top); - var w = parseInt(el.offsetWidth); - var h = parseInt(el.offsetHeight); - - if (!(mx > x && mx < x + w && my > y && my < y + h)) { - MCLayer.visibleLayer = null; - - if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) - return true; - - l.hide(); - } - } - }, - - addCSSClass : function(e, c) { - this.removeCSSClass(e, c); - var a = this.explode(' ', e.className); - a[a.length] = c; - e.className = a.join(' '); - }, - - removeCSSClass : function(e, c) { - var a = this.explode(' ', e.className), i; - - for (i=0; i<a.length; i++) { - if (a[i] == c) - a[i] = ''; - } - - e.className = a.join(' '); - }, - - explode : function(d, s) { - var ar = s.split(d); - var oar = new Array(); - - for (var i = 0; i<ar.length; i++) { - if (ar[i] != "") - oar[oar.length] = ar[i]; - } - - return oar; - }, - - parseInt : function(s) { - if (s == null || s == '') - return 0; - - return parseInt(s); - } -} +/** + * $Id: mclayer.js 162 2007-01-03 16:16:52Z spocke $ + * + * Moxiecode floating layer script. + * + * @author Moxiecode + * @copyright Copyright � 2004-2007, Moxiecode Systems AB, All rights reserved. + */ + +function MCLayer(id) { + this.id = id; + this.settings = new Array(); + this.blockerElement = null; + this.isMSIE = navigator.appName == "Microsoft Internet Explorer"; + this.events = false; + this.autoHideCallback = null; +} + +MCLayer.prototype = { + moveRelativeTo : function(re, p, a) { + var rep = this.getAbsPosition(re); + var w = parseInt(re.offsetWidth); + var h = parseInt(re.offsetHeight); + var x, y; + + switch (p) { + case "tl": + break; + + case "tr": + x = rep.absLeft + w; + y = rep.absTop; + break; + + case "bl": + break; + + case "br": + break; + } + + this.moveTo(x, y); + }, + + moveBy : function(dx, dy) { + var e = this.getElement(); + var x = parseInt(e.style.left); + var y = parseInt(e.style.top); + + e.style.left = (x + dx) + "px"; + e.style.top = (y + dy) + "px"; + + this.updateBlocker(); + }, + + moveTo : function(x, y) { + var e = this.getElement(); + + e.style.left = x + "px"; + e.style.top = y + "px"; + + this.updateBlocker(); + }, + + show : function() { + MCLayer.visibleLayer = this; + + this.getElement().style.display = 'block'; + this.updateBlocker(); + }, + + hide : function() { + this.getElement().style.display = 'none'; + this.updateBlocker(); + }, + + setAutoHide : function(s, cb) { + this.autoHideCallback = cb; + this.registerEventHandlers(); + }, + + getElement : function() { + return document.getElementById(this.id); + }, + + updateBlocker : function() { + if (!this.isMSIE) + return; + + var e = this.getElement(); + var b = this.getBlocker(); + var x = this.parseInt(e.style.left); + var y = this.parseInt(e.style.top); + var w = this.parseInt(e.offsetWidth); + var h = this.parseInt(e.offsetHeight); + + b.style.left = x + 'px'; + b.style.top = y + 'px'; + b.style.width = w + 'px'; + b.style.height = h + 'px'; + b.style.display = e.style.display; + }, + + getBlocker : function() { + if (!this.blockerElement) { + var d = document, b = d.createElement("iframe"); + + b.style.cssText = 'display: none; left: 0px; position: absolute; top: 0'; + b.src = 'javascript:false;'; + b.frameBorder = '0'; + b.scrolling = 'no'; + + d.body.appendChild(b); + this.blockerElement = b; + } + + return this.blockerElement; + }, + + getAbsPosition : function(n) { + var p = {absLeft : 0, absTop : 0}; + + while (n) { + p.absLeft += n.offsetLeft; + p.absTop += n.offsetTop; + n = n.offsetParent; + } + + return p; + }, + + registerEventHandlers : function() { + if (!this.events) { + var d = document; + + this.addEvent(d, 'mousedown', MCLayer.prototype.onMouseDown); + + this.events = true; + } + }, + + addEvent : function(o, n, h) { + if (o.attachEvent) + o.attachEvent("on" + n, h); + else + o.addEventListener(n, h, false); + }, + + onMouseDown : function(e) { + e = typeof(e) == "undefined" ? window.event : e; + var b = document.body; + var l = MCLayer.visibleLayer; + + if (l) { + var mx = l.isMSIE ? e.clientX + b.scrollLeft : e.pageX; + var my = l.isMSIE ? e.clientY + b.scrollTop : e.pageY; + var el = l.getElement(); + var x = parseInt(el.style.left); + var y = parseInt(el.style.top); + var w = parseInt(el.offsetWidth); + var h = parseInt(el.offsetHeight); + + if (!(mx > x && mx < x + w && my > y && my < y + h)) { + MCLayer.visibleLayer = null; + + if (l.autoHideCallback && l.autoHideCallback(l, e, mx, my)) + return true; + + l.hide(); + } + } + }, + + addCSSClass : function(e, c) { + this.removeCSSClass(e, c); + var a = this.explode(' ', e.className); + a[a.length] = c; + e.className = a.join(' '); + }, + + removeCSSClass : function(e, c) { + var a = this.explode(' ', e.className), i; + + for (i=0; i<a.length; i++) { + if (a[i] == c) + a[i] = ''; + } + + e.className = a.join(' '); + }, + + explode : function(d, s) { + var ar = s.split(d); + var oar = new Array(); + + for (var i = 0; i<ar.length; i++) { + if (ar[i] != "") + oar[oar.length] = ar[i]; + } + + return oar; + }, + + parseInt : function(s) { + if (s == null || s == '') + return 0; + + return parseInt(s); + } +} -- Gitblit v1.9.1