diff options
| author | erdgeist <erdgeist@erdgeist.org> | 2026-06-27 16:58:53 +0200 |
|---|---|---|
| committer | erdgeist <erdgeist@erdgeist.org> | 2026-06-27 16:58:53 +0200 |
| commit | 420506e58fdfc84f1a5bede0a01dedf0af3bb4f3 (patch) | |
| tree | 57726b40e8aa9ccf80f874f39d3facefc0331420 /public/javascripts/tiny_mce/plugins/fullscreen | |
| parent | 241d5e91b2b6716e2861cc77d319c3d3568343a8 (diff) | |
Stage 7: Rails 7.2 → 8.1 on Ruby 3.2.11
- Bump Rails to 8.1.3 (Ruby unchanged at 3.2.11, new gemset rails8-upgrade)
- config.load_defaults 8.1; merge app:update diffs for all environment files
- Remove routing-filter 0.7.0; replace with native scope '(:locale)' in
routes.rb and default_url_options in ApplicationController
- Delete config/initializers/routing_filter_rails71_patch.rb
- Replace vendored TinyMCE 3.x (~200 files) with tinymce-rails ~> 8.3;
migrate admin_interface.js from jQuery .tinymce()/advanced theme to
tinymce.init(); add config/tinymce.yml; note: TinyMCE 7+ is GPL
- rails-i18n ~> 8.0 added explicitly (previously indirect dependency)
- awesome_nested_set, acts-as-taggable-on pinned to git main/master
(gemspec activerecord < 8.1 ceiling; no functional incompatibility;
repin to version once upstream releases updated gemspecs)
- globalize ~> 7.0, libxml-ruby ~> 5.0, nokogiri ~> 1.18, pg ~> 1.5
- sass-rails, coffee-rails, uglifier moved from :assets group to main
(Sprockets 4 convention; :assets group no longer meaningful)
- Node: head, draft, lock_owner marked belongs_to optional: true
- Page: node, user, editor marked belongs_to optional: true
- Static assets in public/images/ and public/javascripts/ referenced via
plain HTML tags; Rails 8 load_defaults raises on pipeline helpers for
undeclared assets
- sessions_controller_test.rb: remove stale require and dead rescue_action
- users_controller_test.rb: assert button[type=submit] not input[type=submit]
(Rails 8 button_to renders <button> not <input>)
- test_helper.rb: node.reload after children.create! (awesome_nested_set
3.9.0 does not refresh parent in memory after callback)
- 129 runs, 339 assertions, 3 failures, 0 errors — identical baseline to 7.2
Diffstat (limited to 'public/javascripts/tiny_mce/plugins/fullscreen')
3 files changed, 0 insertions, 256 deletions
diff --git a/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js b/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js deleted file mode 100644 index dfb3f16..0000000 --- a/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin.js +++ /dev/null | |||
| @@ -1 +0,0 @@ | |||
| 1 | (function(){var a=tinymce.DOM;tinymce.create("tinymce.plugins.FullScreenPlugin",{init:function(c,d){var e=this,f={},b;e.editor=c;c.addCommand("mceFullScreen",function(){var h,i=a.doc.documentElement;if(c.getParam("fullscreen_is_enabled")){if(c.getParam("fullscreen_new_window")){closeFullscreen()}else{a.win.setTimeout(function(){tinymce.dom.Event.remove(a.win,"resize",e.resizeFunc);tinyMCE.get(c.getParam("fullscreen_editor_id")).setContent(c.getContent({format:"raw"}),{format:"raw"});tinyMCE.remove(c);a.remove("mce_fullscreen_container");i.style.overflow=c.getParam("fullscreen_html_overflow");a.setStyle(a.doc.body,"overflow",c.getParam("fullscreen_overflow"));a.win.scrollTo(c.getParam("fullscreen_scrollx"),c.getParam("fullscreen_scrolly"));tinyMCE.settings=tinyMCE.oldSettings},10)}return}if(c.getParam("fullscreen_new_window")){h=a.win.open(d+"/fullscreen.htm","mceFullScreenPopup","fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width="+screen.availWidth+",height="+screen.availHeight);try{h.resizeTo(screen.availWidth,screen.availHeight)}catch(g){}}else{tinyMCE.oldSettings=tinyMCE.settings;f.fullscreen_overflow=a.getStyle(a.doc.body,"overflow",1)||"auto";f.fullscreen_html_overflow=a.getStyle(i,"overflow",1);b=a.getViewPort();f.fullscreen_scrollx=b.x;f.fullscreen_scrolly=b.y;if(tinymce.isOpera&&f.fullscreen_overflow=="visible"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&f.fullscreen_overflow=="scroll"){f.fullscreen_overflow="auto"}if(tinymce.isIE&&(f.fullscreen_html_overflow=="visible"||f.fullscreen_html_overflow=="scroll")){f.fullscreen_html_overflow="auto"}if(f.fullscreen_overflow=="0px"){f.fullscreen_overflow=""}a.setStyle(a.doc.body,"overflow","hidden");i.style.overflow="hidden";b=a.getViewPort();a.win.scrollTo(0,0);if(tinymce.isIE){b.h-=1}n=a.add(a.doc.body,"div",{id:"mce_fullscreen_container",style:"position:"+(tinymce.isIE6||(tinymce.isIE&&!a.boxModel)?"absolute":"fixed")+";top:0;left:0;width:"+b.w+"px;height:"+b.h+"px;z-index:200000;"});a.add(n,"div",{id:"mce_fullscreen"});tinymce.each(c.settings,function(j,k){f[k]=j});f.id="mce_fullscreen";f.width=n.clientWidth;f.height=n.clientHeight-15;f.fullscreen_is_enabled=true;f.fullscreen_editor_id=c.id;f.theme_advanced_resizing=false;f.save_onsavecallback=function(){c.setContent(tinyMCE.get(f.id).getContent({format:"raw"}),{format:"raw"});c.execCommand("mceSave")};tinymce.each(c.getParam("fullscreen_settings"),function(l,j){f[j]=l});if(f.theme_advanced_toolbar_location==="external"){f.theme_advanced_toolbar_location="top"}e.fullscreenEditor=new tinymce.Editor("mce_fullscreen",f);e.fullscreenEditor.onInit.add(function(){e.fullscreenEditor.setContent(c.getContent());e.fullscreenEditor.focus()});e.fullscreenEditor.render();tinyMCE.add(e.fullscreenEditor);e.fullscreenElement=new tinymce.dom.Element("mce_fullscreen_container");e.fullscreenElement.update();e.resizeFunc=tinymce.dom.Event.add(a.win,"resize",function(){var j=tinymce.DOM.getViewPort();e.fullscreenEditor.theme.resizeTo(j.w,j.h)})}});c.addButton("fullscreen",{title:"fullscreen.desc",cmd:"mceFullScreen"});c.onNodeChange.add(function(h,g){g.setActive("fullscreen",h.getParam("fullscreen_is_enabled"))})},getInfo:function(){return{longname:"Fullscreen",author:"Moxiecode Systems AB",authorurl:"http://tinymce.moxiecode.com",infourl:"http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen",version:tinymce.majorVersion+"."+tinymce.minorVersion}}});tinymce.PluginManager.add("fullscreen",tinymce.plugins.FullScreenPlugin)})(); \ No newline at end of file | ||
diff --git a/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js b/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js deleted file mode 100644 index 77a8c3b..0000000 --- a/public/javascripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +++ /dev/null | |||
| @@ -1,145 +0,0 @@ | |||
| 1 | /** | ||
| 2 | * $Id: editor_plugin_src.js 923 2008-09-09 16:45:29Z spocke $ | ||
| 3 | * | ||
| 4 | * @author Moxiecode | ||
| 5 | * @copyright Copyright © 2004-2008, Moxiecode Systems AB, All rights reserved. | ||
| 6 | */ | ||
| 7 | |||
| 8 | (function() { | ||
| 9 | var DOM = tinymce.DOM; | ||
| 10 | |||
| 11 | tinymce.create('tinymce.plugins.FullScreenPlugin', { | ||
| 12 | init : function(ed, url) { | ||
| 13 | var t = this, s = {}, vp; | ||
| 14 | |||
| 15 | t.editor = ed; | ||
| 16 | |||
| 17 | // Register commands | ||
| 18 | ed.addCommand('mceFullScreen', function() { | ||
| 19 | var win, de = DOM.doc.documentElement; | ||
| 20 | |||
| 21 | if (ed.getParam('fullscreen_is_enabled')) { | ||
| 22 | if (ed.getParam('fullscreen_new_window')) | ||
| 23 | closeFullscreen(); // Call to close in new window | ||
| 24 | else { | ||
| 25 | DOM.win.setTimeout(function() { | ||
| 26 | tinymce.dom.Event.remove(DOM.win, 'resize', t.resizeFunc); | ||
| 27 | tinyMCE.get(ed.getParam('fullscreen_editor_id')).setContent(ed.getContent({format : 'raw'}), {format : 'raw'}); | ||
| 28 | tinyMCE.remove(ed); | ||
| 29 | DOM.remove('mce_fullscreen_container'); | ||
| 30 | de.style.overflow = ed.getParam('fullscreen_html_overflow'); | ||
| 31 | DOM.setStyle(DOM.doc.body, 'overflow', ed.getParam('fullscreen_overflow')); | ||
| 32 | DOM.win.scrollTo(ed.getParam('fullscreen_scrollx'), ed.getParam('fullscreen_scrolly')); | ||
| 33 | tinyMCE.settings = tinyMCE.oldSettings; // Restore old settings | ||
| 34 | }, 10); | ||
| 35 | } | ||
| 36 | |||
| 37 | return; | ||
| 38 | } | ||
| 39 | |||
| 40 | if (ed.getParam('fullscreen_new_window')) { | ||
| 41 | win = DOM.win.open(url + "/fullscreen.htm", "mceFullScreenPopup", "fullscreen=yes,menubar=no,toolbar=no,scrollbars=no,resizable=yes,left=0,top=0,width=" + screen.availWidth + ",height=" + screen.availHeight); | ||
| 42 | try { | ||
| 43 | win.resizeTo(screen.availWidth, screen.availHeight); | ||
| 44 | } catch (e) { | ||
| 45 | // Ignore | ||
| 46 | } | ||
| 47 | } else { | ||
| 48 | tinyMCE.oldSettings = tinyMCE.settings; // Store old settings | ||
| 49 | s.fullscreen_overflow = DOM.getStyle(DOM.doc.body, 'overflow', 1) || 'auto'; | ||
| 50 | s.fullscreen_html_overflow = DOM.getStyle(de, 'overflow', 1); | ||
| 51 | vp = DOM.getViewPort(); | ||
| 52 | s.fullscreen_scrollx = vp.x; | ||
| 53 | s.fullscreen_scrolly = vp.y; | ||
| 54 | |||
| 55 | // Fixes an Opera bug where the scrollbars doesn't reappear | ||
| 56 | if (tinymce.isOpera && s.fullscreen_overflow == 'visible') | ||
| 57 | s.fullscreen_overflow = 'auto'; | ||
| 58 | |||
| 59 | // Fixes an IE bug where horizontal scrollbars would appear | ||
| 60 | if (tinymce.isIE && s.fullscreen_overflow == 'scroll') | ||
| 61 | s.fullscreen_overflow = 'auto'; | ||
| 62 | |||
| 63 | // Fixes an IE bug where the scrollbars doesn't reappear | ||
| 64 | if (tinymce.isIE && (s.fullscreen_html_overflow == 'visible' || s.fullscreen_html_overflow == 'scroll')) | ||
| 65 | s.fullscreen_html_overflow = 'auto'; | ||
| 66 | |||
| 67 | if (s.fullscreen_overflow == '0px') | ||
| 68 | s.fullscreen_overflow = ''; | ||
| 69 | |||
| 70 | DOM.setStyle(DOM.doc.body, 'overflow', 'hidden'); | ||
| 71 | de.style.overflow = 'hidden'; //Fix for IE6/7 | ||
| 72 | vp = DOM.getViewPort(); | ||
| 73 | DOM.win.scrollTo(0, 0); | ||
| 74 | |||
| 75 | if (tinymce.isIE) | ||
| 76 | vp.h -= 1; | ||
| 77 | |||
| 78 | n = DOM.add(DOM.doc.body, 'div', {id : 'mce_fullscreen_container', style : 'position:' + (tinymce.isIE6 || (tinymce.isIE && !DOM.boxModel) ? 'absolute' : 'fixed') + ';top:0;left:0;width:' + vp.w + 'px;height:' + vp.h + 'px;z-index:200000;'}); | ||
| 79 | DOM.add(n, 'div', {id : 'mce_fullscreen'}); | ||
| 80 | |||
| 81 | tinymce.each(ed.settings, function(v, n) { | ||
| 82 | s[n] = v; | ||
| 83 | }); | ||
| 84 | |||
| 85 | s.id = 'mce_fullscreen'; | ||
| 86 | s.width = n.clientWidth; | ||
| 87 | s.height = n.clientHeight - 15; | ||
| 88 | s.fullscreen_is_enabled = true; | ||
| 89 | s.fullscreen_editor_id = ed.id; | ||
| 90 | s.theme_advanced_resizing = false; | ||
| 91 | s.save_onsavecallback = function() { | ||
| 92 | ed.setContent(tinyMCE.get(s.id).getContent({format : 'raw'}), {format : 'raw'}); | ||
| 93 | ed.execCommand('mceSave'); | ||
| 94 | }; | ||
| 95 | |||
| 96 | tinymce.each(ed.getParam('fullscreen_settings'), function(v, k) { | ||
| 97 | s[k] = v; | ||
| 98 | }); | ||
| 99 | |||
| 100 | if (s.theme_advanced_toolbar_location === 'external') | ||
| 101 | s.theme_advanced_toolbar_location = 'top'; | ||
| 102 | |||
| 103 | t.fullscreenEditor = new tinymce.Editor('mce_fullscreen', s); | ||
| 104 | t.fullscreenEditor.onInit.add(function() { | ||
| 105 | t.fullscreenEditor.setContent(ed.getContent()); | ||
| 106 | t.fullscreenEditor.focus(); | ||
| 107 | }); | ||
| 108 | |||
| 109 | t.fullscreenEditor.render(); | ||
| 110 | tinyMCE.add(t.fullscreenEditor); | ||
| 111 | |||
| 112 | t.fullscreenElement = new tinymce.dom.Element('mce_fullscreen_container'); | ||
| 113 | t.fullscreenElement.update(); | ||
| 114 | //document.body.overflow = 'hidden'; | ||
| 115 | |||
| 116 | t.resizeFunc = tinymce.dom.Event.add(DOM.win, 'resize', function() { | ||
| 117 | var vp = tinymce.DOM.getViewPort(); | ||
| 118 | |||
| 119 | t.fullscreenEditor.theme.resizeTo(vp.w, vp.h); | ||
| 120 | }); | ||
| 121 | } | ||
| 122 | }); | ||
| 123 | |||
| 124 | // Register buttons | ||
| 125 | ed.addButton('fullscreen', {title : 'fullscreen.desc', cmd : 'mceFullScreen'}); | ||
| 126 | |||
| 127 | ed.onNodeChange.add(function(ed, cm) { | ||
| 128 | cm.setActive('fullscreen', ed.getParam('fullscreen_is_enabled')); | ||
| 129 | }); | ||
| 130 | }, | ||
| 131 | |||
| 132 | getInfo : function() { | ||
| 133 | return { | ||
| 134 | longname : 'Fullscreen', | ||
| 135 | author : 'Moxiecode Systems AB', | ||
| 136 | authorurl : 'http://tinymce.moxiecode.com', | ||
| 137 | infourl : 'http://wiki.moxiecode.com/index.php/TinyMCE:Plugins/fullscreen', | ||
| 138 | version : tinymce.majorVersion + "." + tinymce.minorVersion | ||
| 139 | }; | ||
| 140 | } | ||
| 141 | }); | ||
| 142 | |||
| 143 | // Register plugin | ||
| 144 | tinymce.PluginManager.add('fullscreen', tinymce.plugins.FullScreenPlugin); | ||
| 145 | })(); \ No newline at end of file | ||
diff --git a/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm b/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm deleted file mode 100644 index 6ec4f26..0000000 --- a/public/javascripts/tiny_mce/plugins/fullscreen/fullscreen.htm +++ /dev/null | |||
| @@ -1,110 +0,0 @@ | |||
| 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> | ||
| 2 | <html xmlns="http://www.w3.org/1999/xhtml"> | ||
| 3 | <head> | ||
| 4 | <title></title> | ||
| 5 | <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> | ||
| 6 | <script type="text/javascript" src="../../tiny_mce.js"></script> | ||
| 7 | <script type="text/javascript"> | ||
| 8 | function patchCallback(settings, key) { | ||
| 9 | if (settings[key]) | ||
| 10 | settings[key] = "window.opener." + settings[key]; | ||
| 11 | } | ||
| 12 | |||
| 13 | var settings = {}, paSe = window.opener.tinyMCE.activeEditor.settings, oeID = window.opener.tinyMCE.activeEditor.id; | ||
| 14 | |||
| 15 | // Clone array | ||
| 16 | for (var n in paSe) | ||
| 17 | settings[n] = paSe[n]; | ||
| 18 | |||
| 19 | // Override options for fullscreen | ||
| 20 | for (var n in paSe.fullscreen_settings) | ||
| 21 | settings[n] = paSe.fullscreen_settings[n]; | ||
| 22 | |||
| 23 | // Patch callbacks, make them point to window.opener | ||
| 24 | patchCallback(settings, 'urlconverter_callback'); | ||
| 25 | patchCallback(settings, 'insertlink_callback'); | ||
| 26 | patchCallback(settings, 'insertimage_callback'); | ||
| 27 | patchCallback(settings, 'setupcontent_callback'); | ||
| 28 | patchCallback(settings, 'save_callback'); | ||
| 29 | patchCallback(settings, 'onchange_callback'); | ||
| 30 | patchCallback(settings, 'init_instance_callback'); | ||
| 31 | patchCallback(settings, 'file_browser_callback'); | ||
| 32 | patchCallback(settings, 'cleanup_callback'); | ||
| 33 | patchCallback(settings, 'execcommand_callback'); | ||
| 34 | patchCallback(settings, 'oninit'); | ||
| 35 | |||
| 36 | // Set options | ||
| 37 | delete settings.id; | ||
| 38 | settings['mode'] = 'exact'; | ||
| 39 | settings['elements'] = 'fullscreenarea'; | ||
| 40 | settings['add_unload_trigger'] = false; | ||
| 41 | settings['ask'] = false; | ||
| 42 | settings['document_base_url'] = window.opener.tinyMCE.activeEditor.documentBaseURI.getURI(); | ||
| 43 | settings['fullscreen_is_enabled'] = true; | ||
| 44 | settings['fullscreen_editor_id'] = oeID; | ||
| 45 | settings['theme_advanced_resizing'] = false; | ||
| 46 | settings['strict_loading_mode'] = true; | ||
| 47 | |||
| 48 | settings.save_onsavecallback = function() { | ||
| 49 | window.opener.tinyMCE.get(oeID).setContent(tinyMCE.get('fullscreenarea').getContent({format : 'raw'}), {format : 'raw'}); | ||
| 50 | window.opener.tinyMCE.get(oeID).execCommand('mceSave'); | ||
| 51 | window.close(); | ||
| 52 | }; | ||
| 53 | |||
| 54 | function unloadHandler(e) { | ||
| 55 | moveContent(); | ||
| 56 | } | ||
| 57 | |||
| 58 | function moveContent() { | ||
| 59 | window.opener.tinyMCE.get(oeID).setContent(tinyMCE.activeEditor.getContent()); | ||
| 60 | } | ||
| 61 | |||
| 62 | function closeFullscreen() { | ||
| 63 | moveContent(); | ||
| 64 | window.close(); | ||
| 65 | } | ||
| 66 | |||
| 67 | function doParentSubmit() { | ||
| 68 | moveContent(); | ||
| 69 | |||
| 70 | if (window.opener.tinyMCE.selectedInstance.formElement.form) | ||
| 71 | window.opener.tinyMCE.selectedInstance.formElement.form.submit(); | ||
| 72 | |||
| 73 | window.close(); | ||
| 74 | |||
| 75 | return false; | ||
| 76 | } | ||
| 77 | |||
| 78 | function render() { | ||
| 79 | var e = document.getElementById('fullscreenarea'), vp, ed, ow, oh, dom = tinymce.DOM; | ||
| 80 | |||
| 81 | e.value = window.opener.tinyMCE.get(oeID).getContent(); | ||
| 82 | |||
| 83 | vp = dom.getViewPort(); | ||
| 84 | settings.width = vp.w; | ||
| 85 | settings.height = vp.h - 15; | ||
| 86 | |||
| 87 | tinymce.dom.Event.add(window, 'resize', function() { | ||
| 88 | var vp = dom.getViewPort(); | ||
| 89 | |||
| 90 | tinyMCE.activeEditor.theme.resizeTo(vp.w, vp.h); | ||
| 91 | }); | ||
| 92 | |||
| 93 | tinyMCE.init(settings); | ||
| 94 | } | ||
| 95 | |||
| 96 | // Add onunload | ||
| 97 | tinymce.dom.Event.add(window, "beforeunload", unloadHandler); | ||
| 98 | </script> | ||
| 99 | </head> | ||
| 100 | <body style="margin:0;overflow:hidden;width:100%;height:100%" scrolling="no" scroll="no"> | ||
| 101 | <form onsubmit="doParentSubmit();"> | ||
| 102 | <textarea id="fullscreenarea" style="width:100%; height:100%"></textarea> | ||
| 103 | </form> | ||
| 104 | |||
| 105 | <script type="text/javascript"> | ||
| 106 | render(); | ||
| 107 | </script> | ||
| 108 | |||
| 109 | </body> | ||
| 110 | </html> | ||
