src/pyams_skin/resources/js/ext/tinymce/dev/plugins/code/plugin.js
changeset 557 bca7a7e058a3
equal deleted inserted replaced
-1:000000000000 557:bca7a7e058a3
       
     1 /**
       
     2  * plugin.js
       
     3  *
       
     4  * Copyright, 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('code', function(editor) {
       
    14 	function showDialog() {
       
    15 		var win = editor.windowManager.open({
       
    16 			title: "Source code",
       
    17 			body: {
       
    18 				type: 'textbox',
       
    19 				name: 'code',
       
    20 				multiline: true,
       
    21 				minWidth: editor.getParam("code_dialog_width", 600),
       
    22 				minHeight: editor.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 				editor.focus();
       
    31 
       
    32 				editor.undoManager.transact(function() {
       
    33 					editor.setContent(e.data.code);
       
    34 				});
       
    35 
       
    36 				editor.selection.setCursorLocation();
       
    37 				editor.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(editor.getContent({source_view: true}));
       
    44 	}
       
    45 
       
    46 	editor.addCommand("mceCodeEditor", showDialog);
       
    47 
       
    48 	editor.addButton('code', {
       
    49 		icon: 'code',
       
    50 		tooltip: 'Source code',
       
    51 		onclick: showDialog
       
    52 	});
       
    53 
       
    54 	editor.addMenuItem('code', {
       
    55 		icon: 'code',
       
    56 		text: 'Source code',
       
    57 		context: 'tools',
       
    58 		onclick: showDialog
       
    59 	});
       
    60 });