From 8570051876b86c08d4b72288f8598f0e0d2335e1 Mon Sep 17 00:00:00 2001 From: erdgeist Date: Mon, 17 Aug 2026 02:22:04 +0200 Subject: Bridge Rails values into JavaScript through a JSON element --- app/helpers/admin_helper.rb | 24 ++++++++++++++++++++++++ app/views/layouts/admin.html.erb | 22 ++-------------------- 2 files changed, 26 insertions(+), 20 deletions(-) (limited to 'app') diff --git a/app/helpers/admin_helper.rb b/app/helpers/admin_helper.rb index 5a1a42a3..be20eb8b 100644 --- a/app/helpers/admin_helper.rb +++ b/app/helpers/admin_helper.rb @@ -14,4 +14,28 @@ module AdminHelper :role => "img", :class => classes, :title => hint, "aria-label" => hint) end + + def admin_bridge + { + :urls => { + :search => admin_search_path, + :menu_search => admin_menu_search_path, + :dashboard_search => admin_dashboard_search_path, + :parameterize_preview => parameterize_preview_nodes_path + }, + :strings => { + :lock_lost_prefix => t("layouts.admin.lock_lost_prefix"), + :lock_lost_link => t("layouts.admin.lock_lost_link"), + :insert_image => t("layouts.admin.insert_image"), + :insert_image_tooltip => t("layouts.admin.insert_image_tooltip"), + :copied => t("layouts.admin.copied"), + :needs_redaktion => t("layouts.admin.needs_redaktion"), + :import_markdown => t("layouts.admin.import_markdown"), + :import_markdown_tooltip => t("layouts.admin.import_markdown_tooltip"), + :import_markdown_placeholder => t("layouts.admin.import_markdown_placeholder"), + :cancel => t("admin.common.cancel"), + :insert => t("layouts.admin.insert") + } + }.to_json + end end diff --git a/app/views/layouts/admin.html.erb b/app/views/layouts/admin.html.erb index 082f172c..3f6667a8 100644 --- a/app/views/layouts/admin.html.erb +++ b/app/views/layouts/admin.html.erb @@ -15,27 +15,8 @@ <%= javascript_include_tag 'admin_bundle' %> <%= tinymce_assets %> - <%= javascript_tag nonce: true do %> - var ADMIN_SEARCH_URL = "<%= admin_search_path %>"; - var ADMIN_MENU_SEARCH_URL = "<%= admin_menu_search_path %>"; - var ADMIN_STRINGS = <%= raw({ - :lock_lost_prefix => t(".lock_lost_prefix"), - :lock_lost_link => t(".lock_lost_link"), - :insert_image => t(".insert_image"), - :insert_image_tooltip => t(".insert_image_tooltip"), - :copied => t(".copied"), - :needs_redaktion => t(".needs_redaktion"), - :import_markdown => t(".import_markdown"), - :import_markdown_tooltip => t(".import_markdown_tooltip"), - :import_markdown_placeholder => t(".import_markdown_placeholder"), - :cancel => t("admin.common.cancel"), - :insert => t(".insert") - }.to_json) %>; - var PARAMETERIZE_PREVIEW_URL = "<%= parameterize_preview_nodes_path %>"; - var DASHBOARD_SEARCH_URL = "<%= admin_dashboard_search_path %>"; - <% end %> - + <%= yield :head %> @@ -62,5 +43,6 @@ <%= yield %> + -- cgit v1.3