From 496f9c106ee10fa5b887137b8f3ce202d6019e00 Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Wed, 19 Aug 2020 10:04:27 +0100 Subject: [PATCH] Bring the very last bits of js and css from spree_core --- .../admin/spree/handlebar_extensions.js | 9 + .../javascripts/admin/spree/spree.js.coffee | 40 ++ app/views/spree/admin/shared/_routes.html.erb | 6 + vendor/assets/javascripts/jsuri.js | 2 + vendor/assets/stylesheets/normalize.css | 375 ++++++++++++++++++ vendor/assets/stylesheets/skeleton.css | 242 +++++++++++ 6 files changed, 674 insertions(+) create mode 100644 app/assets/javascripts/admin/spree/handlebar_extensions.js create mode 100644 app/assets/javascripts/admin/spree/spree.js.coffee create mode 100644 vendor/assets/javascripts/jsuri.js create mode 100644 vendor/assets/stylesheets/normalize.css create mode 100644 vendor/assets/stylesheets/skeleton.css diff --git a/app/assets/javascripts/admin/spree/handlebar_extensions.js b/app/assets/javascripts/admin/spree/handlebar_extensions.js new file mode 100644 index 0000000000..02f372bb00 --- /dev/null +++ b/app/assets/javascripts/admin/spree/handlebar_extensions.js @@ -0,0 +1,9 @@ +//= require handlebars +Handlebars.registerHelper("t", function(key) { + if (Spree.translations[key]) { + return Spree.translations[key] + } else { + console.error("No translation found for " + key + ". Does it exist within spree/admin/shared/_translations.html.erb?") + } +}); + diff --git a/app/assets/javascripts/admin/spree/spree.js.coffee b/app/assets/javascripts/admin/spree/spree.js.coffee new file mode 100644 index 0000000000..0930a372ad --- /dev/null +++ b/app/assets/javascripts/admin/spree/spree.js.coffee @@ -0,0 +1,40 @@ +#= require jsuri +class window.Spree + @ready: (callback) -> + jQuery(document).ready(callback) + + # Helper function to take a URL and add query parameters to it + # Uses the JSUri library from here: https://code.google.com/p/jsuri/ + # Thanks to Jake Moffat for the suggestion: https://twitter.com/jakeonrails/statuses/321776992221544449 + @url: (uri, query) -> + if uri.path == undefined + uri = new Uri(uri) + if query + $.each query, (key, value) -> + uri.addQueryParam(key, value) + if Spree.api_key + uri.addQueryParam('token', Spree.api_key) + return uri + + # Helper method in case people want to call uri rather than url + @uri: (uri, query) -> + url(uri, query) + + # This function automatically appends the API token + # for the user to the end of any URL. + # Immediately after, this string is then passed to jQuery.ajax. + # + # ajax works in two ways in jQuery: + # + # $.ajax("url", {settings: 'go here'}) + # or: + # $.ajax({url: "url", settings: 'go here'}) + # + # This function will support both of these calls. + @ajax: (url_or_settings, settings) -> + if (typeof(url_or_settings) == "string") + $.ajax(Spree.url(url_or_settings).toString(), settings) + else + url = url_or_settings['url'] + delete url_or_settings['url'] + $.ajax(Spree.url(url).toString(), url_or_settings) diff --git a/app/views/spree/admin/shared/_routes.html.erb b/app/views/spree/admin/shared/_routes.html.erb index 15d562e4ef..438d257af9 100644 --- a/app/views/spree/admin/shared/_routes.html.erb +++ b/app/views/spree/admin/shared/_routes.html.erb @@ -1,4 +1,10 @@