mirror of
https://git.tt-rss.org/git/tt-rss.git
synced 2025-12-19 18:01:30 +00:00
update dojo to 1.7.3
This commit is contained in:
77
lib/dijit/_editor/plugins/ToggleDir.js.uncompressed.js
Normal file
77
lib/dijit/_editor/plugins/ToggleDir.js.uncompressed.js
Normal file
@@ -0,0 +1,77 @@
|
||||
define("dijit/_editor/plugins/ToggleDir", [
|
||||
"dojo/_base/declare", // declare
|
||||
"dojo/dom-style", // domStyle.getComputedStyle
|
||||
"dojo/_base/kernel", // kernel.experimental
|
||||
"dojo/_base/lang", // lang.hitch
|
||||
"../_Plugin",
|
||||
"../../form/ToggleButton"
|
||||
], function(declare, domStyle, kernel, lang, _Plugin, ToggleButton){
|
||||
|
||||
/*=====
|
||||
var _Plugin = dijit._editor._Plugin;
|
||||
=====*/
|
||||
|
||||
// module:
|
||||
// dijit/_editor/plugins/ToggleDir
|
||||
// summary:
|
||||
// This plugin is used to toggle direction of the edited document,
|
||||
// independent of what direction the whole page is.
|
||||
|
||||
|
||||
kernel.experimental("dijit._editor.plugins.ToggleDir");
|
||||
|
||||
var ToggleDir = declare("dijit._editor.plugins.ToggleDir", _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: ToggleButton,
|
||||
|
||||
_initButton: function(){
|
||||
// Override _Plugin._initButton() to setup handler for button click events.
|
||||
this.inherited(arguments);
|
||||
this.editor.onLoadDeferred.addCallback(lang.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 = domStyle.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.
|
||||
_Plugin.registry["toggleDir"] = function(){
|
||||
return new ToggleDir({command: "toggleDir"});
|
||||
};
|
||||
|
||||
return ToggleDir;
|
||||
});
|
||||
Reference in New Issue
Block a user