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 })(); |