editor_plugin_src.js
78 lines
| 1.9 KiB
| application/javascript
|
JavascriptLexer
| r2 | /** | ||
| * $Id: editor_plugin_src.js 520 2008-01-07 16:30:32Z spocke $ | |||
| * | |||
| * @author Moxiecode | |||
| * @copyright Copyright � 2004-2008, Moxiecode Systems AB, All rights reserved. | |||
| */ | |||
| (function() { | |||
| tinymce.create('tinymce.plugins.Directionality', { | |||
| init : function(ed, url) { | |||
| var t = this; | |||
| t.editor = ed; | |||
| ed.addCommand('mceDirectionLTR', function() { | |||
| var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); | |||
| if (e) { | |||
| if (ed.dom.getAttrib(e, "dir") != "ltr") | |||
| ed.dom.setAttrib(e, "dir", "ltr"); | |||
| else | |||
| ed.dom.setAttrib(e, "dir", ""); | |||
| } | |||
| ed.nodeChanged(); | |||
| }); | |||
| ed.addCommand('mceDirectionRTL', function() { | |||
| var e = ed.dom.getParent(ed.selection.getNode(), ed.dom.isBlock); | |||
| if (e) { | |||
| if (ed.dom.getAttrib(e, "dir") != "rtl") | |||
| ed.dom.setAttrib(e, "dir", "rtl"); | |||
| else | |||
| ed.dom.setAttrib(e, "dir", ""); | |||
| } | |||
| ed.nodeChanged(); | |||
| }); | |||
| ed.addButton('ltr', {title : 'directionality.ltr_desc', cmd : 'mceDirectionLTR'}); | |||
| ed.addButton('rtl', {title : 'directionality.rtl_desc', cmd : 'mceDirectionRTL'}); | |||
| ed.onNodeChange.add(t._nodeChange, t); | |||
| }, | |||
| getInfo : function() { | |||
| return { | |||
| longname : 'Directionality', | |||
| author : 'Moxiecode Systems AB', | |||
| authorurl : 'http://tinymce.moxiecode.com', | |||
| infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/directionality', | |||
| version : tinymce.majorVersion + "." + tinymce.minorVersion | |||
| }; | |||
| }, | |||
| // Private methods | |||
| _nodeChange : function(ed, cm, n) { | |||
| var dom = ed.dom, dir; | |||
| n = dom.getParent(n, dom.isBlock); | |||
| if (!n) { | |||
| cm.setDisabled('ltr', 1); | |||
| cm.setDisabled('rtl', 1); | |||
| return; | |||
| } | |||
| dir = dom.getAttrib(n, 'dir'); | |||
| cm.setActive('ltr', dir == "ltr"); | |||
| cm.setDisabled('ltr', 0); | |||
| cm.setActive('rtl', dir == "rtl"); | |||
| cm.setDisabled('rtl', 0); | |||
| } | |||
| }); | |||
| // Register plugin | |||
| tinymce.PluginManager.add('directionality', tinymce.plugins.Directionality); | |||
| })(); |
