summaryrefslogtreecommitdiff
path: root/public/assets/tinymce/plugins/anchor
diff options
context:
space:
mode:
authorerdgeist <erdgeist@erdgeist.org>2026-06-27 16:58:53 +0200
committererdgeist <erdgeist@erdgeist.org>2026-06-27 16:58:53 +0200
commit420506e58fdfc84f1a5bede0a01dedf0af3bb4f3 (patch)
tree57726b40e8aa9ccf80f874f39d3facefc0331420 /public/assets/tinymce/plugins/anchor
parent241d5e91b2b6716e2861cc77d319c3d3568343a8 (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/assets/tinymce/plugins/anchor')
-rw-r--r--public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js1
-rw-r--r--public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js.gzbin0 -> 1270 bytes
l---------public/assets/tinymce/plugins/anchor/plugin.js1
l---------public/assets/tinymce/plugins/anchor/plugin.js.gz1
4 files changed, 3 insertions, 0 deletions
diff --git a/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js b/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js
new file mode 100644
index 0000000..6333f2a
--- /dev/null
+++ b/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js
@@ -0,0 +1 @@
!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),o=tinymce.util.Tools.resolve("tinymce.util.Tools");const n=e=>e.options.get("allow_html_in_named_anchor");const a="a:not([href])",r=e=>!e,i=e=>e.getAttribute("id")||e.getAttribute("name")||"",l=e=>(e=>"a"===e.nodeName.toLowerCase())(e)&&!e.getAttribute("href")&&""!==i(e),s=e=>e.dom.getParent(e.selection.getStart(),a),d=(e,a)=>{const r=s(e);r?((e,t,o)=>{o.removeAttribute("name"),o.id=t,e.addVisual(),e.undoManager.add()})(e,a,r):((e,a)=>{e.undoManager.transact(()=>{n(e)||e.selection.collapse(!0),e.selection.isCollapsed()?e.insertContent(e.dom.createHTML("a",{id:a})):((e=>{const n=e.dom;t(n).walk(e.selection.getRng(),e=>{o.each(e,e=>{var t;l(t=e)&&!t.firstChild&&n.remove(e,!1)})})})(e),e.formatter.remove("namedAnchor",void 0,void 0,!0),e.formatter.apply("namedAnchor",{value:a}),e.addVisual())})})(e,a),e.focus()},c=e=>(e=>r(e.attr("href"))&&!r(e.attr("id")||e.attr("name")))(e)&&!e.firstChild,m=e=>t=>{for(let o=0;o<t.length;o++){const n=t[o];c(n)&&n.attr("contenteditable",e)}},u=e=>t=>{const o=()=>{t.setEnabled(e.selection.isEditable())};return e.on("NodeChange",o),o(),()=>{e.off("NodeChange",o)}};e.add("anchor",e=>{(e=>{(0,e.options.register)("allow_html_in_named_anchor",{processor:"boolean",default:!1})})(e),(e=>{e.on("PreInit",()=>{e.parser.addNodeFilter("a",m("false")),e.serializer.addNodeFilter("a",m(null))})})(e),(e=>{e.addCommand("mceAnchor",()=>{(e=>{const t=(e=>{const t=s(e);return t?i(t):""})(e);e.windowManager.open({title:"Anchor",size:"normal",body:{type:"panel",items:[{name:"id",type:"input",label:"ID",placeholder:"example"}]},buttons:[{type:"cancel",name:"cancel",text:"Cancel"},{type:"submit",name:"save",text:"Save",primary:!0}],initialData:{id:t},onSubmit:t=>{((e,t)=>/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)?(d(e,t),!0):(e.windowManager.alert("ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),!1))(e,t.getData().id)&&t.close()}})})(e)})})(e),(e=>{const t=()=>e.execCommand("mceAnchor");e.ui.registry.addToggleButton("anchor",{icon:"bookmark",tooltip:"Anchor",onAction:t,onSetup:t=>{const o=e.selection.selectorChangedWithUnbind("a:not([href])",t.setActive).unbind,n=u(e)(t);return()=>{o(),n()}}}),e.ui.registry.addMenuItem("anchor",{icon:"bookmark",text:"Anchor...",onAction:t,onSetup:u(e)})})(e),e.on("PreInit",()=>{(e=>{e.formatter.register("namedAnchor",{inline:"a",selector:a,remove:"all",split:!0,deep:!0,attributes:{id:"%value"},onmatch:(e,t,o)=>l(e)})})(e)})})}();
diff --git a/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js.gz b/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js.gz
new file mode 100644
index 0000000..8497b31
--- /dev/null
+++ b/public/assets/tinymce/plugins/anchor/plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js.gz
Binary files differ
diff --git a/public/assets/tinymce/plugins/anchor/plugin.js b/public/assets/tinymce/plugins/anchor/plugin.js
new file mode 120000
index 0000000..358650d
--- /dev/null
+++ b/public/assets/tinymce/plugins/anchor/plugin.js
@@ -0,0 +1 @@
plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js \ No newline at end of file
diff --git a/public/assets/tinymce/plugins/anchor/plugin.js.gz b/public/assets/tinymce/plugins/anchor/plugin.js.gz
new file mode 120000
index 0000000..42119cf
--- /dev/null
+++ b/public/assets/tinymce/plugins/anchor/plugin.js.gz
@@ -0,0 +1 @@
plugin-68d050a26370c0ab14945741766ac1f772123a04ccbe985e16d1fe58ac2a88dd.js.gz \ No newline at end of file