diff options
| -rw-r--r-- | app/helpers/admin_helper.rb | 24 | ||||
| -rw-r--r-- | app/views/layouts/admin.html.erb | 22 | ||||
| -rw-r--r-- | public/javascripts/admin_interface.js | 6 | ||||
| -rw-r--r-- | public/javascripts/admin_search.js | 8 |
4 files changed, 36 insertions, 24 deletions
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 | |||
| 14 | :role => "img", :class => classes, | 14 | :role => "img", :class => classes, |
| 15 | :title => hint, "aria-label" => hint) | 15 | :title => hint, "aria-label" => hint) |
| 16 | end | 16 | end |
| 17 | |||
| 18 | def admin_bridge | ||
| 19 | { | ||
| 20 | :urls => { | ||
| 21 | :search => admin_search_path, | ||
| 22 | :menu_search => admin_menu_search_path, | ||
| 23 | :dashboard_search => admin_dashboard_search_path, | ||
| 24 | :parameterize_preview => parameterize_preview_nodes_path | ||
| 25 | }, | ||
| 26 | :strings => { | ||
| 27 | :lock_lost_prefix => t("layouts.admin.lock_lost_prefix"), | ||
| 28 | :lock_lost_link => t("layouts.admin.lock_lost_link"), | ||
| 29 | :insert_image => t("layouts.admin.insert_image"), | ||
| 30 | :insert_image_tooltip => t("layouts.admin.insert_image_tooltip"), | ||
| 31 | :copied => t("layouts.admin.copied"), | ||
| 32 | :needs_redaktion => t("layouts.admin.needs_redaktion"), | ||
| 33 | :import_markdown => t("layouts.admin.import_markdown"), | ||
| 34 | :import_markdown_tooltip => t("layouts.admin.import_markdown_tooltip"), | ||
| 35 | :import_markdown_placeholder => t("layouts.admin.import_markdown_placeholder"), | ||
| 36 | :cancel => t("admin.common.cancel"), | ||
| 37 | :insert => t("layouts.admin.insert") | ||
| 38 | } | ||
| 39 | }.to_json | ||
| 40 | end | ||
| 17 | end | 41 | 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 @@ | |||
| 15 | <%= javascript_include_tag 'admin_bundle' %> | 15 | <%= javascript_include_tag 'admin_bundle' %> |
| 16 | <%= tinymce_assets %> | 16 | <%= tinymce_assets %> |
| 17 | <link rel="stylesheet" href="<%= mtime_busted_path('/stylesheets/admin.css') %>"> | 17 | <link rel="stylesheet" href="<%= mtime_busted_path('/stylesheets/admin.css') %>"> |
| 18 | <%= javascript_tag nonce: true do %> | ||
| 19 | var ADMIN_SEARCH_URL = "<%= admin_search_path %>"; | ||
| 20 | var ADMIN_MENU_SEARCH_URL = "<%= admin_menu_search_path %>"; | ||
| 21 | var ADMIN_STRINGS = <%= raw({ | ||
| 22 | :lock_lost_prefix => t(".lock_lost_prefix"), | ||
| 23 | :lock_lost_link => t(".lock_lost_link"), | ||
| 24 | :insert_image => t(".insert_image"), | ||
| 25 | :insert_image_tooltip => t(".insert_image_tooltip"), | ||
| 26 | :copied => t(".copied"), | ||
| 27 | :needs_redaktion => t(".needs_redaktion"), | ||
| 28 | :import_markdown => t(".import_markdown"), | ||
| 29 | :import_markdown_tooltip => t(".import_markdown_tooltip"), | ||
| 30 | :import_markdown_placeholder => t(".import_markdown_placeholder"), | ||
| 31 | :cancel => t("admin.common.cancel"), | ||
| 32 | :insert => t(".insert") | ||
| 33 | }.to_json) %>; | ||
| 34 | var PARAMETERIZE_PREVIEW_URL = "<%= parameterize_preview_nodes_path %>"; | ||
| 35 | var DASHBOARD_SEARCH_URL = "<%= admin_dashboard_search_path %>"; | ||
| 36 | <% end %> | ||
| 37 | <script src="<%= mtime_busted_path('/javascripts/admin_search.js') %>"></script> | ||
| 38 | <script src="<%= mtime_busted_path('/javascripts/admin_interface.js') %>"></script> | 18 | <script src="<%= mtime_busted_path('/javascripts/admin_interface.js') %>"></script> |
| 19 | <script src="<%= mtime_busted_path('/javascripts/admin_search.js') %>"></script> | ||
| 39 | <script src="<%= mtime_busted_path('/javascripts/related_assets.js') %>"></script> | 20 | <script src="<%= mtime_busted_path('/javascripts/related_assets.js') %>"></script> |
| 40 | <%= yield :head %> | 21 | <%= yield :head %> |
| 41 | </head> | 22 | </head> |
| @@ -62,5 +43,6 @@ | |||
| 62 | <%= yield %> | 43 | <%= yield %> |
| 63 | </div> | 44 | </div> |
| 64 | </div> | 45 | </div> |
| 46 | <script type="application/json" id="cccms_config"><%= raw admin_bridge %></script> | ||
| 65 | </body> | 47 | </body> |
| 66 | </html> | 48 | </html> |
diff --git a/public/javascripts/admin_interface.js b/public/javascripts/admin_interface.js index 9b28eb06..abe434bf 100644 --- a/public/javascripts/admin_interface.js +++ b/public/javascripts/admin_interface.js | |||
| @@ -1,4 +1,10 @@ | |||
| 1 | var CCCMS_CONFIG; | ||
| 2 | var ADMIN_STRINGS; | ||
| 3 | |||
| 1 | $(document).ready(function () { | 4 | $(document).ready(function () { |
| 5 | CCCMS_CONFIG = JSON.parse(document.getElementById('cccms_config').textContent); | ||
| 6 | ADMIN_STRINGS = CCCMS_CONFIG.strings; | ||
| 7 | |||
| 2 | admin_search.initialize(); | 8 | admin_search.initialize(); |
| 3 | 9 | ||
| 4 | function effective_scheme() { | 10 | function effective_scheme() { |
diff --git a/public/javascripts/admin_search.js b/public/javascripts/admin_search.js index 852f5339..8c86a74f 100644 --- a/public/javascripts/admin_search.js +++ b/public/javascripts/admin_search.js | |||
| @@ -22,7 +22,7 @@ admin_search = { | |||
| 22 | initSearchPicker({ | 22 | initSearchPicker({ |
| 23 | inputSelector: "#search_term", | 23 | inputSelector: "#search_term", |
| 24 | resultsSelector: "#menu_search_results", | 24 | resultsSelector: "#menu_search_results", |
| 25 | url: ADMIN_SEARCH_URL, | 25 | url: CCCMS_CONFIG.urls.search, |
| 26 | isActive: function() { return $('#search_widget').is(':visible'); }, | 26 | isActive: function() { return $('#search_widget').is(':visible'); }, |
| 27 | resultsHeaderHtml: "<p class='search_more'>Press Enter to see all results ⏎</p>" | 27 | resultsHeaderHtml: "<p class='search_more'>Press Enter to see all results ⏎</p>" |
| 28 | }); | 28 | }); |
| @@ -41,7 +41,7 @@ admin_search = { | |||
| 41 | function initSearchPicker(options) { | 41 | function initSearchPicker(options) { |
| 42 | var inputSelector = options.inputSelector; | 42 | var inputSelector = options.inputSelector; |
| 43 | var resultsSelector = options.resultsSelector; | 43 | var resultsSelector = options.resultsSelector; |
| 44 | var url = options.url || ADMIN_MENU_SEARCH_URL; | 44 | var url = options.url || CCCMS_CONFIG.urls.menu_search; |
| 45 | var onSelect = options.onSelect; | 45 | var onSelect = options.onSelect; |
| 46 | var isActive = options.isActive; | 46 | var isActive = options.isActive; |
| 47 | var resultsHeaderHtml = options.resultsHeaderHtml; | 47 | var resultsHeaderHtml = options.resultsHeaderHtml; |
| @@ -138,7 +138,7 @@ dashboard_search = { | |||
| 138 | initSearchPicker({ | 138 | initSearchPicker({ |
| 139 | inputSelector: "#dashboard_search_term", | 139 | inputSelector: "#dashboard_search_term", |
| 140 | resultsSelector: "#dashboard_search_results", | 140 | resultsSelector: "#dashboard_search_results", |
| 141 | url: DASHBOARD_SEARCH_URL, | 141 | url: CCCMS_CONFIG.urls.dashboard_search, |
| 142 | resultsHeaderHtml: "<p class='search_more'>Press Enter to see all results ⏎</p>", | 142 | resultsHeaderHtml: "<p class='search_more'>Press Enter to see all results ⏎</p>", |
| 143 | renderResults: function(data, results, resultsHeaderHtml) { | 143 | renderResults: function(data, results, resultsHeaderHtml) { |
| 144 | var found = false; | 144 | var found = false; |
| @@ -225,7 +225,7 @@ parent_search = { | |||
| 225 | 225 | ||
| 226 | clearTimeout(parent_search.path_timeout); | 226 | clearTimeout(parent_search.path_timeout); |
| 227 | parent_search.path_timeout = setTimeout(function() { | 227 | parent_search.path_timeout = setTimeout(function() { |
| 228 | $.get(PARAMETERIZE_PREVIEW_URL, { title: title }, function(slug) { | 228 | $.get(CCCMS_CONFIG.urls.parameterize_preview, { title: title }, function(slug) { |
| 229 | $("#resulting_path").text(window.location.origin + "/" + (prefix ? prefix + "/" : "") + slug); | 229 | $("#resulting_path").text(window.location.origin + "/" + (prefix ? prefix + "/" : "") + slug); |
| 230 | }); | 230 | }); |
| 231 | }, 300); | 231 | }, 300); |
