diff --git a/app/assets/javascripts/admin/spree/spree.js.coffee b/app/assets/javascripts/admin/spree/spree.js.coffee
index c905ff48e7..b1d155127e 100644
--- a/app/assets/javascripts/admin/spree/spree.js.coffee
+++ b/app/assets/javascripts/admin/spree/spree.js.coffee
@@ -1,13 +1,10 @@
-#= require jsuri
-
class window.Spree
# Helper function to take a URL and add query parameters to it
- @url: (uri, query) ->
- if uri.path == undefined
- uri = new Uri(uri)
- if query
- $.each query, (key, value) ->
- uri.addQueryParam(key, value)
+ @url: (uri) ->
+ if uri.pathname == undefined
+ uri = new URL(uri.toString())
if Spree.api_key
- uri.addQueryParam('token', Spree.api_key)
+ params = new URLSearchParams(uri.search)
+ params.append('token', Spree.api_key)
+
return uri
diff --git a/app/assets/javascripts/admin/spree/taxons/taxon_tree_menu.js.coffee b/app/assets/javascripts/admin/spree/taxons/taxon_tree_menu.js.coffee
index 75135cdfcc..dca01a3aa3 100644
--- a/app/assets/javascripts/admin/spree/taxons/taxon_tree_menu.js.coffee
+++ b/app/assets/javascripts/admin/spree/taxons/taxon_tree_menu.js.coffee
@@ -2,10 +2,9 @@ root = exports ? this
root.taxon_tree_menu = (obj, context) ->
- base_url = Spree.url(Spree.routes.taxonomy_taxons_path)
- admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons_path)
- edit_url = admin_base_url.clone()
- edit_url.setPath(edit_url.path() + '/' + obj.attr("id") + "/edit");
+ base_url = Spree.url(Spree.routes.taxonomy_taxons)
+ admin_base_url = Spree.url(Spree.routes.admin_taxonomy_taxons)
+ edit_url = Spree.url(Spree.routes.admin_taxonomy_taxons + '/' + obj.attr("id") + "/edit");
create:
label: " " + Spree.translations.add,
diff --git a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee
index 9ba35d692b..6a8d902caa 100644
--- a/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee
+++ b/app/assets/javascripts/admin/spree/taxons/taxonomy.js.coffee
@@ -9,7 +9,7 @@ handle_move = (e, data) ->
new_parent = data.rslt.np
url = Spree.url(base_url).clone()
- url.setPath url.path() + '/' + node.attr("id")
+ url.pathname = url.pathname + '/' + node.attr("id")
$.ajax
type: "POST",
dataType: "json",
@@ -41,7 +41,7 @@ handle_rename = (e, data) ->
name = data.rslt.new_name
url = Spree.url(base_url).clone()
- url.setPath(url.path() + '/' + node.attr("id"))
+ url.pathname = url.pathname + '/' + node.attr("id")
$.ajax
type: "POST",
@@ -70,10 +70,10 @@ root = exports ? this
root.setup_taxonomy_tree = (taxonomy_id) ->
if taxonomy_id != undefined
# this is defined within admin/taxonomies/edit
- root.base_url = Spree.url(Spree.routes.taxonomy_taxons_path)
+ root.base_url = Spree.url(Spree.routes.taxonomy_taxons)
$.ajax
- url: base_url.path().replace("/taxons", "/jstree"),
+ url: base_url.pathname.replace("/taxons", "/jstree"),
success: (taxonomy) ->
last_rollback = null
@@ -82,7 +82,7 @@ root.setup_taxonomy_tree = (taxonomy_id) ->
data: taxonomy,
ajax:
url: (e) ->
- base_url.path() + '/' + e.attr('id') + '/jstree'
+ base_url.pathname + '/' + e.attr('id') + '/jstree'
themes:
theme: "apple",
url: "/assets/jquery.jstree/themes/apple/style.css"
diff --git a/app/views/spree/admin/shared/_routes.html.erb b/app/views/spree/admin/shared/_routes.html.erb
index 418359b5e7..a0a854781f 100644
--- a/app/views/spree/admin/shared/_routes.html.erb
+++ b/app/views/spree/admin/shared/_routes.html.erb
@@ -6,9 +6,9 @@
Spree.routes = {}
}
Spree.routes = <%== {
- :variants_search => spree.admin_search_variants_path(:format => 'json'),
- :taxons_search => main_app.api_v0_taxons_path(:format => 'json'),
- :orders_api => main_app.api_v0_orders_path,
- :states_search => main_app.api_v0_states_path(:format => 'json')
+ :variants_search => spree.admin_search_variants_url(:format => 'json'),
+ :taxons_search => main_app.api_v0_taxons_url(:format => 'json'),
+ :orders_api => main_app.api_v0_orders_url,
+ :states_search => main_app.api_v0_states_url(:format => 'json')
}.to_json %>;
diff --git a/app/views/spree/admin/taxonomies/edit.haml b/app/views/spree/admin/taxonomies/edit.haml
index 1f11fbb56c..4131f2571f 100755
--- a/app/views/spree/admin/taxonomies/edit.haml
+++ b/app/views/spree/admin/taxonomies/edit.haml
@@ -17,8 +17,8 @@
= label_tag nil, t("spree.tree")
%br/
:javascript
- Spree.routes.taxonomy_taxons_path = "#{main_app.api_v0_taxonomy_taxons_path(@taxonomy)}";
- Spree.routes.admin_taxonomy_taxons_path = "#{spree.admin_taxonomy_taxons_path(@taxonomy)}";
+ Spree.routes.taxonomy_taxons = "#{main_app.api_v0_taxonomy_taxons_url(@taxonomy)}";
+ Spree.routes.admin_taxonomy_taxons = "#{spree.admin_taxonomy_taxons_url(@taxonomy)}";
#taxonomy_tree.tree
#progress{style: "display:none;"}
= image_pack_tag 'select2-spinner.gif', title: 'Spinner', style: "vertical-align:bottom;"
diff --git a/vendor/assets/javascripts/jsuri.js b/vendor/assets/javascripts/jsuri.js
deleted file mode 100644
index dcf60f9796..0000000000
--- a/vendor/assets/javascripts/jsuri.js
+++ /dev/null
@@ -1,2 +0,0 @@
-/*! jsUri v1.1.1 | https://github.com/derek-watson/jsUri */
-var Query=function(a){"use strict";var b=function(a){var b=[],c,d,e,f;if(typeof a=="undefined"||a===null||a==="")return b;a.indexOf("?")===0&&(a=a.substring(1)),d=a.toString().split(/[&;]/);for(c=0;c0&&(a+="&"),a+=d.join("=");return a.length>0?"?"+a:a},e=function(a){a=decodeURIComponent(a),a=a.replace("+"," ");return a},f=function(a){var b,d;for(d=0;d0&&c.push([a,b]);return this},j=function(a,b,d){var f=-1,g,j;if(arguments.length===3){for(g=0;g