summaryrefslogtreecommitdiff
path: root/includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js
diff options
context:
space:
mode:
Diffstat (limited to 'includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js')
-rw-r--r--includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js140
1 files changed, 0 insertions, 140 deletions
diff --git a/includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js b/includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js
deleted file mode 100644
index 9879e88..0000000
--- a/includes/js/dijit/_editor/plugins/AlwaysShowToolbar.js
+++ /dev/null
@@ -1,140 +0,0 @@
-if(!dojo._hasResource["dijit._editor.plugins.AlwaysShowToolbar"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
-dojo._hasResource["dijit._editor.plugins.AlwaysShowToolbar"] = true;
-dojo.provide("dijit._editor.plugins.AlwaysShowToolbar");
-
-dojo.declare("dijit._editor.plugins.AlwaysShowToolbar", dijit._editor._Plugin,
- {
- _handleScroll: true,
- setEditor: function(e){
- this.editor = e;
-// setTimeout(dojo.hitch(this,this.enable), 10000);
- e.onLoadDeferred.addCallback(dojo.hitch(this, this.enable));
-// this.scrollInterval = setInterval(dojo.hitch(this, "globalOnScrollHandler"), 100);
- },
- enable: function(d){
- this._updateHeight();
- this.connect(window, 'onscroll', "globalOnScrollHandler");
- this.connect(this.editor, 'onNormalizedDisplayChanged', "_updateHeight");
- return d;
- },
- _updateHeight: function(){
- // summary:
- // Updates the height of the editor area to fit the contents.
- var e = this.editor;
- if(!e.isLoaded){ return; }
- if(e.height){ return; }
-
- var height = dojo.marginBox(e.editNode).h;
- if(dojo.isOpera){
- height = e.editNode.scrollHeight;
- }
- // console.debug('height',height);
- // alert(this.editNode);
-
- //height maybe zero in some cases even though the content is not empty,
- //we try the height of body instead
- if(!height){
- height = dojo.marginBox(e.document.body).h;
- }
-
- if(height == 0){
- console.debug("Can not figure out the height of the editing area!");
- return; //prevent setting height to 0
- }
- if(height != this._lastHeight){
- this._lastHeight = height;
- // this.editorObject.style.height = this._lastHeight + "px";
- dojo.marginBox(e.iframe, { h: this._lastHeight });
-// this.iframe.height=this._lastHeight+10+'px';
-// this.iframe.style.height=this._lastHeight+'px';
- }
- },
- _lastHeight: 0,
- globalOnScrollHandler: function(){
- var isIE = dojo.isIE && dojo.isIE<7;
- if(!this._handleScroll){ return; }
- var tdn = this.editor.toolbar.domNode;
- var db = dojo.body;
-
- if(!this._scrollSetUp){
- this._scrollSetUp = true;
- this._scrollThreshold = dojo._abs(tdn, true).y;
-// console.log("threshold:", this._scrollThreshold);
- //what's this for?? comment out for now
-// if((isIE)&&(db)&&(dojo.style(db, "backgroundIimage")=="none")){
-// db.style.backgroundImage = "url(" + dojo.uri.moduleUri("dijit", "templates/blank.gif") + ")";
-// db.style.backgroundAttachment = "fixed";
-// }
- }
-
- var scrollPos = dojo._docScroll().y;
- var s = tdn.style;
-
- if(scrollPos > this._scrollThreshold && scrollPos < this._scrollThreshold+this._lastHeight){
- // dojo.debug(scrollPos);
- if(!this._fixEnabled){
- var tdnbox = dojo.marginBox(tdn);
- this.editor.iframe.style.marginTop = tdnbox.h+"px";
-
- if(isIE){
- s.left = dojo._abs(tdn).x;
- if(tdn.previousSibling){
- this._IEOriginalPos = ['after',tdn.previousSibling];
- }else if(tdn.nextSibling){
- this._IEOriginalPos = ['before',tdn.nextSibling];
- }else{
- this._IEOriginalPos = ['last',tdn.parentNode];
- }
- dojo.body().appendChild(tdn);
- dojo.addClass(tdn,'dijitIEFixedToolbar');
- }else{
- s.position = "fixed";
- s.top = "0px";
- }
-
- dojo.marginBox(tdn, { w: tdnbox.w });
- s.zIndex = 2000;
- this._fixEnabled = true;
- }
- // if we're showing the floating toolbar, make sure that if
- // we've scrolled past the bottom of the editor that we hide
- // the toolbar for this instance of the editor.
-
- // TODO: when we get multiple editor toolbar support working
- // correctly, ensure that we check this against the scroll
- // position of the bottom-most editor instance.
- var eHeight = (this.height) ? parseInt(this.editor.height) : this.editor._lastHeight;
- s.display = (scrollPos > this._scrollThreshold+eHeight) ? "none" : "";
- }else if(this._fixEnabled){
- this.editor.iframe.style.marginTop = '';
- s.position = "";
- s.top = "";
- s.zIndex = "";
- s.display = "";
- if(isIE){
- s.left = "";
- dojo.removeClass(tdn,'dijitIEFixedToolbar');
- if(this._IEOriginalPos){
- dojo.place(tdn, this._IEOriginalPos[1], this._IEOriginalPos[0]);
- this._IEOriginalPos = null;
- }else{
- dojo.place(tdn, this.editor.iframe, 'before');
- }
- }
- s.width = "";
- this._fixEnabled = false;
- }
- },
- destroy: function(){
- this._IEOriginalPos = null;
- this._handleScroll = false;
- dojo.forEach(this._connects, dojo.disconnect);
-// clearInterval(this.scrollInterval);
-
- if(dojo.isIE && dojo.isIE<7){
- dojo.removeClass(this.editor.toolbar.domNode, 'dijitIEFixedToolbar');
- }
- }
-});
-
-}