mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-15 09:55:56 +00:00
upgrade Dojo to 1.6.1
This commit is contained in:
@@ -1,42 +1,80 @@
|
||||
/*
|
||||
Copyright (c) 2004-2010, The Dojo Foundation All Rights Reserved.
|
||||
Copyright (c) 2004-2011, The Dojo Foundation All Rights Reserved.
|
||||
Available via Academic Free License >= 2.1 OR the modified BSD license.
|
||||
see: http://dojotoolkit.org/license for details
|
||||
*/
|
||||
|
||||
|
||||
if(!dojo._hasResource["dijit._editor.plugins.ToggleDir"]){
|
||||
dojo._hasResource["dijit._editor.plugins.ToggleDir"]=true;
|
||||
if(!dojo._hasResource["dijit._editor.plugins.ToggleDir"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.
|
||||
dojo._hasResource["dijit._editor.plugins.ToggleDir"] = true;
|
||||
dojo.provide("dijit._editor.plugins.ToggleDir");
|
||||
dojo.experimental("dijit._editor.plugins.ToggleDir");
|
||||
dojo.require("dijit._editor._Plugin");
|
||||
dojo.require("dijit.form.ToggleButton");
|
||||
dojo.declare("dijit._editor.plugins.ToggleDir",dijit._editor._Plugin,{useDefaultCommand:false,command:"toggleDir",buttonClass:dijit.form.ToggleButton,_initButton:function(){
|
||||
this.inherited(arguments);
|
||||
this.editor.onLoadDeferred.addCallback(dojo.hitch(this,function(){
|
||||
var _1=this.editor.editorObject.contentWindow.document.documentElement;
|
||||
_1=_1.getElementsByTagName("body")[0];
|
||||
var _2=dojo.getComputedStyle(_1).direction=="ltr";
|
||||
this.button.set("checked",!_2);
|
||||
this.connect(this.button,"onChange","_setRtl");
|
||||
}));
|
||||
},updateState:function(){
|
||||
},_setRtl:function(_3){
|
||||
var _4="ltr";
|
||||
if(_3){
|
||||
_4="rtl";
|
||||
}
|
||||
var _5=this.editor.editorObject.contentWindow.document.documentElement;
|
||||
_5=_5.getElementsByTagName("body")[0];
|
||||
_5.dir=_4;
|
||||
}});
|
||||
dojo.subscribe(dijit._scopeName+".Editor.getPlugin",null,function(o){
|
||||
if(o.plugin){
|
||||
return;
|
||||
}
|
||||
switch(o.args.name){
|
||||
case "toggleDir":
|
||||
o.plugin=new dijit._editor.plugins.ToggleDir({command:o.args.name});
|
||||
}
|
||||
|
||||
|
||||
dojo.experimental("dijit._editor.plugins.ToggleDir");
|
||||
|
||||
dojo.require("dijit._editor._Plugin");
|
||||
dojo.require("dijit.form.ToggleButton");
|
||||
|
||||
dojo.declare("dijit._editor.plugins.ToggleDir",
|
||||
dijit._editor._Plugin,
|
||||
{
|
||||
// summary:
|
||||
// This plugin is used to toggle direction of the edited document,
|
||||
// independent of what direction the whole page is.
|
||||
|
||||
// Override _Plugin.useDefaultCommand: processing is done in this plugin
|
||||
// rather than by sending commands to the Editor
|
||||
useDefaultCommand: false,
|
||||
|
||||
command: "toggleDir",
|
||||
|
||||
// Override _Plugin.buttonClass to use a ToggleButton for this plugin rather than a vanilla Button
|
||||
buttonClass: dijit.form.ToggleButton,
|
||||
|
||||
_initButton: function(){
|
||||
// Override _Plugin._initButton() to setup handler for button click events.
|
||||
this.inherited(arguments);
|
||||
this.editor.onLoadDeferred.addCallback(dojo.hitch(this, function(){
|
||||
var editDoc = this.editor.editorObject.contentWindow.document.documentElement;
|
||||
//IE direction has to toggle on the body, not document itself.
|
||||
//If you toggle just the document, things get very strange in the
|
||||
//view. But, the nice thing is this works for all supported browsers.
|
||||
editDoc = editDoc.getElementsByTagName("body")[0];
|
||||
var isLtr = dojo.getComputedStyle(editDoc).direction == "ltr";
|
||||
this.button.set("checked", !isLtr);
|
||||
this.connect(this.button, "onChange", "_setRtl");
|
||||
}));
|
||||
},
|
||||
|
||||
updateState: function(){
|
||||
// summary:
|
||||
// Over-ride for button state control for disabled to work.
|
||||
this.button.set("disabled", this.get("disabled"));
|
||||
},
|
||||
|
||||
_setRtl: function(rtl){
|
||||
// summary:
|
||||
// Handler for button click events, to switch the text direction of the editor
|
||||
var dir = "ltr";
|
||||
if(rtl){
|
||||
dir = "rtl";
|
||||
}
|
||||
var editDoc = this.editor.editorObject.contentWindow.document.documentElement;
|
||||
editDoc = editDoc.getElementsByTagName("body")[0];
|
||||
editDoc.dir/*html node*/ = dir;
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
// Register this plugin.
|
||||
dojo.subscribe(dijit._scopeName + ".Editor.getPlugin",null,function(o){
|
||||
if(o.plugin){ return; }
|
||||
switch(o.args.name){
|
||||
case "toggleDir":
|
||||
o.plugin = new dijit._editor.plugins.ToggleDir({command: o.args.name});
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user