]> git.sur5r.net Git - bacula/bacula/blob - gui/baculum/debian/missing-sources/framework/Web/Javascripts/source/tinymce-405/plugins/visualblocks/plugin.js
baculum: Add missing-sources directory in debian metadata structure
[bacula/bacula] / gui / baculum / debian / missing-sources / framework / Web / Javascripts / source / tinymce-405 / plugins / visualblocks / plugin.js
1 /**
2  * plugin.js
3  *
4  * Copyright 2012, Moxiecode Systems AB
5  * Released under LGPL License.
6  *
7  * License: http://www.tinymce.com/license
8  * Contributing: http://www.tinymce.com/contributing
9  */
10
11 /*global tinymce:true */
12
13 tinymce.PluginManager.add('visualblocks', function(editor, url) {
14         var cssId, visualBlocksMenuItem, enabled;
15
16         // We don't support older browsers like IE6/7 and they don't provide prototypes for DOM objects
17         if (!window.NodeList) {
18                 return;
19         }
20
21         function toggleActiveState() {
22                 var self = this;
23
24                 self.active(enabled);
25
26                 editor.on('VisualBlocks', function() {
27                         self.active(editor.dom.hasClass(editor.getBody(), 'mce-visualblocks'));
28                 });
29         }
30
31         editor.addCommand('mceVisualBlocks', function() {
32                 var dom = editor.dom, linkElm;
33
34                 if (!cssId) {
35                         cssId = dom.uniqueId();
36                         linkElm = dom.create('link', {
37                                 id: cssId,
38                                 rel: 'stylesheet',
39                                 href: url + '/css/visualblocks.css'
40                         });
41
42                         editor.getDoc().getElementsByTagName('head')[0].appendChild(linkElm);
43                 }
44
45                 // Toggle on/off visual blocks while computing previews
46                 editor.on("PreviewFormats AfterPreviewFormats", function(e) {
47                         if (enabled) {
48                                 dom.toggleClass(editor.getBody(), 'mce-visualblocks', e.type == "afterpreviewformats");
49                         }
50                 });
51
52                 dom.toggleClass(editor.getBody(), 'mce-visualblocks');
53                 enabled = editor.dom.hasClass(editor.getBody(), 'mce-visualblocks');
54
55                 if (visualBlocksMenuItem) {
56                         visualBlocksMenuItem.active(dom.hasClass(editor.getBody(), 'mce-visualblocks'));
57                 }
58
59                 editor.fire('VisualBlocks');
60         });
61
62         editor.addButton('visualblocks', {
63                 title: 'Show blocks',
64                 cmd: 'mceVisualBlocks',
65                 onPostRender: toggleActiveState
66         });
67
68         editor.addMenuItem('visualblocks', {
69                 text: 'Show blocks',
70                 cmd: 'mceVisualBlocks',
71                 onPostRender: toggleActiveState,
72                 selectable: true,
73                 context: 'view',
74                 prependToContext: true
75         });
76
77         editor.on('init', function() {
78                 if (editor.settings.visualblocks_default_state) {
79                         editor.execCommand('mceVisualBlocks', false, null, {skip_focus: true});
80                 }
81         });
82
83         editor.on('remove', function() {
84                 editor.dom.removeClass(editor.getBody(), 'mce-visualblocks');
85         });
86 });