PluginProbe
wpForo Forum / 3.1.4
wpForo Forum v3.1.4
3.1.5 3.1.4 3.1.2 3.1.1 3.1.0 3.0.9 3.0.8 3.0.7 trunk 1.0.0 1.0.1 1.0.2 1.1.0 1.1.1 1.1.2 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.10 1.4.11 1.4.12 1.4.13 1.4.2 All 137 releases
wpforo / assets / js / tinymce-code.js

tinymce-code.js in wpForo Forum 3.1.4, at assets/js/tinymce-code.js

67 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 (function() {
2
3 tinymce.create('tinymce.plugins.wpforo_source_code_button', {
4 /**
5 * Initializes the plugin, this will be executed after the plugin has been created.
6 * This call is done before the editor instance has finished it's initialization so use the onInit event
7 * of the editor instance to intercept that event.
8 *
9 * @param {tinymce.Editor} ed Editor instance that the plugin is initialized in.
10 * @param {string} url Absolute URL to where the plugin is located.
11 */
12 init : function(ed, url) {
13
14 function showDialog() {
15 var win = ed.windowManager.open({
16 title: "Source code",
17 body: {
18 type: 'textbox',
19 name: 'code',
20 multiline: true,
21 minWidth: ed.getParam("code_dialog_width", 600),
22 minHeight: ed.getParam("code_dialog_height", Math.min(tinymce.DOM.getViewPort().h - 200, 500)),
23 spellcheck: false,
24 style: 'direction: ltr; text-align: left'
25 },
26 onSubmit: function(e) {
27 // We get a lovely "Wrong document" error in IE 11 if we
28 // don't move the focus to the editor before creating an undo
29 // transation since it tries to make a bookmark for the current selection
30 ed.focus();
31
32 ed.undoManager.transact(function() {
33 ed.setContent(e.data.code, {format: 'raw'});
34 });
35
36 ed.selection.setCursorLocation();
37 ed.nodeChanged();
38 }
39 });
40
41 // Gecko has a major performance issue with textarea
42 // contents so we need to set it when all reflows are done
43 win.find('#code').value(ed.getContent({source_view: true}));
44 }
45
46 ed.addCommand("mceCodeEditor", showDialog);
47
48 ed.addButton('source_code', {
49 icon: 'codesample',
50 tooltip: 'Source code',
51 onclick: showDialog
52 });
53
54 ed.addMenuItem('code', {
55 icon: 'code',
56 text: 'Source code',
57 context: 'tools',
58 onclick: showDialog
59 });
60
61 }
62 });
63
64 // Register plugin
65 tinymce.PluginManager.add('wpforo_source_code_button', tinymce.plugins.wpforo_source_code_button);
66
67 })();