wp/wp-includes/js/tinymce/plugins/directionality/plugin.js
changeset 9 177826044cd9
parent 7 cf61fcea0001
equal deleted inserted replaced
8:c7c34916027a 9:177826044cd9
     1 (function () {
     1 (function () {
     2 var directionality = (function () {
     2 var directionality = (function () {
     3   'use strict';
     3     'use strict';
     4 
     4 
     5   var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
     5     var global = tinymce.util.Tools.resolve('tinymce.PluginManager');
     6 
     6 
     7   var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
     7     var global$1 = tinymce.util.Tools.resolve('tinymce.util.Tools');
     8 
     8 
     9   var setDir = function (editor, dir) {
     9     var setDir = function (editor, dir) {
    10     var dom = editor.dom;
    10       var dom = editor.dom;
    11     var curDir;
    11       var curDir;
    12     var blocks = editor.selection.getSelectedBlocks();
    12       var blocks = editor.selection.getSelectedBlocks();
    13     if (blocks.length) {
    13       if (blocks.length) {
    14       curDir = dom.getAttrib(blocks[0], 'dir');
    14         curDir = dom.getAttrib(blocks[0], 'dir');
    15       global$1.each(blocks, function (block) {
    15         global$1.each(blocks, function (block) {
    16         if (!dom.getParent(block.parentNode, '*[dir="' + dir + '"]', dom.getRoot())) {
    16           if (!dom.getParent(block.parentNode, '*[dir="' + dir + '"]', dom.getRoot())) {
    17           dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);
    17             dom.setAttrib(block, 'dir', curDir !== dir ? dir : null);
    18         }
    18           }
       
    19         });
       
    20         editor.nodeChanged();
       
    21       }
       
    22     };
       
    23     var Direction = { setDir: setDir };
       
    24 
       
    25     var register = function (editor) {
       
    26       editor.addCommand('mceDirectionLTR', function () {
       
    27         Direction.setDir(editor, 'ltr');
    19       });
    28       });
    20       editor.nodeChanged();
    29       editor.addCommand('mceDirectionRTL', function () {
       
    30         Direction.setDir(editor, 'rtl');
       
    31       });
       
    32     };
       
    33     var Commands = { register: register };
       
    34 
       
    35     var generateSelector = function (dir) {
       
    36       var selector = [];
       
    37       global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
       
    38         selector.push(name + '[dir=' + dir + ']');
       
    39       });
       
    40       return selector.join(',');
       
    41     };
       
    42     var register$1 = function (editor) {
       
    43       editor.addButton('ltr', {
       
    44         title: 'Left to right',
       
    45         cmd: 'mceDirectionLTR',
       
    46         stateSelector: generateSelector('ltr')
       
    47       });
       
    48       editor.addButton('rtl', {
       
    49         title: 'Right to left',
       
    50         cmd: 'mceDirectionRTL',
       
    51         stateSelector: generateSelector('rtl')
       
    52       });
       
    53     };
       
    54     var Buttons = { register: register$1 };
       
    55 
       
    56     global.add('directionality', function (editor) {
       
    57       Commands.register(editor);
       
    58       Buttons.register(editor);
       
    59     });
       
    60     function Plugin () {
    21     }
    61     }
    22   };
       
    23   var $_fd54yfb4jjgwebo5 = { setDir: setDir };
       
    24 
    62 
    25   var register = function (editor) {
    63     return Plugin;
    26     editor.addCommand('mceDirectionLTR', function () {
       
    27       $_fd54yfb4jjgwebo5.setDir(editor, 'ltr');
       
    28     });
       
    29     editor.addCommand('mceDirectionRTL', function () {
       
    30       $_fd54yfb4jjgwebo5.setDir(editor, 'rtl');
       
    31     });
       
    32   };
       
    33   var $_cpb3fob3jjgwebo4 = { register: register };
       
    34 
       
    35   var generateSelector = function (dir) {
       
    36     var selector = [];
       
    37     global$1.each('h1 h2 h3 h4 h5 h6 div p'.split(' '), function (name) {
       
    38       selector.push(name + '[dir=' + dir + ']');
       
    39     });
       
    40     return selector.join(',');
       
    41   };
       
    42   var register$1 = function (editor) {
       
    43     editor.addButton('ltr', {
       
    44       title: 'Left to right',
       
    45       cmd: 'mceDirectionLTR',
       
    46       stateSelector: generateSelector('ltr')
       
    47     });
       
    48     editor.addButton('rtl', {
       
    49       title: 'Right to left',
       
    50       cmd: 'mceDirectionRTL',
       
    51       stateSelector: generateSelector('rtl')
       
    52     });
       
    53   };
       
    54   var $_8ch9fzb6jjgwebo7 = { register: register$1 };
       
    55 
       
    56   global.add('directionality', function (editor) {
       
    57     $_cpb3fob3jjgwebo4.register(editor);
       
    58     $_8ch9fzb6jjgwebo7.register(editor);
       
    59   });
       
    60   function Plugin () {
       
    61   }
       
    62 
       
    63   return Plugin;
       
    64 
    64 
    65 }());
    65 }());
    66 })();
    66 })();