diff --git a/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/langs/en.js b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/langs/en.js new file mode 100755 index 0000000000..d5e0bbde43 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/langs/en.js @@ -0,0 +1,8 @@ +tinymce.addI18n('en',{ + 'HTML source code': 'HTML source code', + 'Start search': 'Start search', + 'Find next': 'Find next', + 'Find previous': 'Find previous', + 'Replace': 'Replace', + 'Replace all': 'Replace all' +}); diff --git a/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/plugin.min.js b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/plugin.min.js new file mode 100755 index 0000000000..425083626d --- /dev/null +++ b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/plugin.min.js @@ -0,0 +1,3 @@ +tinymce.PluginManager.requireLangPack("codemirror"); +tinymce.PluginManager.add("codemirror",function(a,c){function b(){a.focus();a.selection.collapse(!0);a.selection.setContent('');var b=a.windowManager.open({title:"Source code",url:c+"/source.html",width: a.getParam("code_dialog_width", 600),height: a.getParam("code_dialog_height", Math.min(tinymce.DOM.getViewPort().h - 200, 500)),resizable:!0,maximizable:!0,buttons:[{text:"Ok",subtype:"primary",onclick:function(){document.querySelectorAll(".mce-container-body>iframe")[0].contentWindow.submit();b.close()}},{text:"Cancel",onclick:"close"}]})}a.addButton("code", +{title:"Source code",icon:"code",onclick:b});a.addMenuItem("code",{icon:"code",text:"Source code",context:"tools",onclick:b})}); diff --git a/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/source.html b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/source.html new file mode 100755 index 0000000000..6a4cd7ba57 --- /dev/null +++ b/src/Umbraco.Web.UI.Client/lib/tinymce/plugins/codemirror/source.html @@ -0,0 +1,243 @@ + + + + + + + + diff --git a/src/Umbraco.Web.UI/config/tinyMceConfig.config b/src/Umbraco.Web.UI/config/tinyMceConfig.config index 8a51b3f421..a3a9b9da01 100644 --- a/src/Umbraco.Web.UI/config/tinyMceConfig.config +++ b/src/Umbraco.Web.UI/config/tinyMceConfig.config @@ -6,7 +6,7 @@ code images/editor/code.gif - code + code 1 @@ -199,7 +199,7 @@ - code + codemirror paste umbracolink anchor @@ -228,5 +228,17 @@ param[name|value|_value|class],embed[type|width|height|src|class|*],map[name|cla raw GoogleSpellChecker.ashx + + { + "indentOnInit": false, + "path": "/umbraco_client/CodeMirror/Js", + "config": { + }, + "jsFiles": [ + ], + "cssFiles": [ + ] + } + \ No newline at end of file diff --git a/src/Umbraco.Web.UI/umbraco_client/CodeMirror/js/lib/codemirror.js b/src/Umbraco.Web.UI/umbraco_client/CodeMirror/js/lib/codemirror.js old mode 100644 new mode 100755 index 09a577aa18..f61f04a5dd --- a/src/Umbraco.Web.UI/umbraco_client/CodeMirror/js/lib/codemirror.js +++ b/src/Umbraco.Web.UI/umbraco_client/CodeMirror/js/lib/codemirror.js @@ -1980,6 +1980,7 @@ window.CodeMirror = (function() { if (extensions.propertyIsEnumerable(ext) && !instance.propertyIsEnumerable(ext)) instance[ext] = extensions[ext]; + for (var i = 0; i < initHooks.length; ++i) initHooks[i](instance); return instance; } // (end of function CodeMirror) @@ -2076,6 +2077,9 @@ window.CodeMirror = (function() { CodeMirror.defineExtension = function(name, func) { extensions[name] = func; }; + + var initHooks = []; + CodeMirror.defineInitHook = function(f) {initHooks.push(f);}; var modeExtensions = CodeMirror.modeExtensions = {}; CodeMirror.extendMode = function(mode, properties) {