solidus_backend 1.2.1 → 1.2.2

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of solidus_backend might be problematic. Click here for more details.

checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 87c62b3326ebc0d631669e3dc6d60879fe2a11b3
4
- data.tar.gz: 246d61ab89e432641d5616cfe179f2eddc866707
3
+ metadata.gz: 06989a896502698f667c9003187bae8aaaa01d44
4
+ data.tar.gz: f1804fb9406cc68260ab5630bec3bac3217cbe79
5
5
  SHA512:
6
- metadata.gz: 11ab1253fe0a288fe11bd7f308e209fb303496e005b49d60427e07e78ed8eca9d974a60a2c7294504d7f6ef254a583fbe2319daaaffcd3284b8d5dde844371be
7
- data.tar.gz: 4af71715d6cea8635f07f798c005fce1fffa8d296742567cf48665423271c70147d312a1d81a490f41384e78bbac49d98d66b3e60ffa36abb87e3e98ad88636f
6
+ metadata.gz: 4df80190b2cab7f56d803c754e55901f88dc314024e9256b5113f0641e2df1a700b5bcbe345b2a0c10b70485229d976f47958a5b13fe569af6b17bb92de2e22c
7
+ data.tar.gz: 83fefa9cbf10943d2a68b2f0872f5515c7d175023ebaeaecad97092553ac442ce49f478d492783ab1e6fb23cfafdf797b024ac4471221707f22d754207c4167b
@@ -7,3 +7,5 @@ Handlebars.registerHelper "t", (key)->
7
7
  console.error "No translation found for #{key}."
8
8
  key
9
9
 
10
+ Handlebars.registerHelper "admin_url", ->
11
+ Spree.pathFor("admin")
@@ -1,4 +1,3 @@
1
- taxons_template = null
2
1
  Handlebars.registerHelper 'isRootTaxon', ->
3
2
  !@parent_id?
4
3
 
@@ -32,6 +31,7 @@ delete_taxon = ({id}) ->
32
31
  error: redraw_tree
33
32
 
34
33
  draw_tree = (taxonomy) ->
34
+ taxons_template = HandlebarsTemplates["taxons/tree"]
35
35
  $('#taxonomy_tree')
36
36
  .html( taxons_template({ taxons: [taxonomy.root] }) )
37
37
  .find('ul')
@@ -67,21 +67,25 @@ handle_delete = (e) ->
67
67
  delete_taxon({id: el.data('taxon-id')})
68
68
  el.remove()
69
69
 
70
+ handle_add_child = (e) ->
71
+ el = $(e.target).closest('li')
72
+ parent_id = el.data('taxon-id')
73
+ name = 'New node'
74
+ child_index = 0
75
+ create_taxon({name, parent_id, child_index})
76
+
70
77
  get_create_handler = (taxonomy_id) ->
71
78
  handle_create = (e) ->
72
79
  e.preventDefault()
73
- name = 'New node'
74
- parent_id = taxonomy_id
75
- child_index = 0
76
- create_taxon({name, parent_id, child_index})
80
+ get_taxonomy().done (taxonomy) ->
81
+ name = 'New node'
82
+ parent_id = taxonomy.root.id
83
+ child_index = 0
84
+ create_taxon({name, parent_id, child_index})
77
85
 
78
- @setup_taxonomy_tree = (taxonomy_id) ->
79
- return unless taxonomy_id?
80
- taxons_template_text = $('#taxons-list-template').text()
81
- taxons_template = Handlebars.compile(taxons_template_text)
82
- Handlebars.registerPartial( 'taxons', taxons_template_text )
86
+ setup_taxonomy_tree = (taxonomy_id) ->
83
87
  redraw_tree()
84
- $('#taxonomy_tree').on
88
+ $("#taxonomy_tree").on
85
89
  sortstart: (e, ui) ->
86
90
  resize_placeholder(ui)
87
91
  sortover: (e, ui) ->
@@ -89,5 +93,10 @@ get_create_handler = (taxonomy_id) ->
89
93
  sortstop: restore_sort_targets
90
94
  sortupdate: (e, ui) ->
91
95
  handle_move(ui.item) unless ui.sender?
92
- .on('click', '.delete-taxon-button', handle_delete)
96
+ .on('click', '.js-taxon-delete', handle_delete)
97
+ .on('click', '.js-taxon-add-child', handle_add_child)
93
98
  $('.add-taxon-button').on('click', get_create_handler(taxonomy_id))
99
+
100
+ $ ->
101
+ if $('#taxonomy_tree').length
102
+ setup_taxonomy_tree($('#taxonomy_tree').data("taxonomy-id"))
@@ -0,0 +1,16 @@
1
+ {{#each taxons}}
2
+ <li data-taxon-id="{{id}}" data-taxon-taxonomy-id="{{taxonomy_id}}">
3
+ <div class="sortable-handle">
4
+ {{#if (isRootTaxon) }}{{else}}<i class="fa fa-arrows"></i>{{/if}}
5
+ {{name}}
6
+ <div class="actions right">
7
+ <a href="#" class="js-taxon-add-child fa fa-plus icon_link no-text"></a>
8
+ <a href="{{admin_url}}/taxonomies/{{taxonomy_id}}/taxons/{{id}}/edit" class="fa fa-edit icon_link no-text"></a>
9
+ <a href="#" class="js-taxon-delete fa fa-trash icon_link no-text"></a>
10
+ </div>
11
+ </div>
12
+ <ul>
13
+ {{> taxons/_tree }}
14
+ </ul>
15
+ </li>
16
+ {{/each}}
@@ -0,0 +1 @@
1
+ {{> taxons/_tree }}
@@ -1,8 +1,5 @@
1
1
  <%= render :partial => 'spree/admin/shared/configuration_menu' %>
2
2
 
3
- <%= render :partial => 'spree/admin/taxons/list_template' %>
4
- <%= render :partial => 'js_head' %>
5
-
6
3
  <% content_for :page_title do %>
7
4
  <%= Spree.t(:taxonomy_edit) %>
8
5
  <% end %>
@@ -33,6 +30,6 @@
33
30
  Spree.routes.taxonomy_taxons_path = "<%= spree.api_taxonomy_taxons_path(@taxonomy) %>";
34
31
  Spree.routes.admin_taxonomy_taxons_path = "<%= spree.admin_taxonomy_taxons_path(@taxonomy) %>";
35
32
  </script>
36
- <div id="taxonomy_tree" class="tree"></div>
33
+ <div id="taxonomy_tree" class="tree" data-taxonomy-id="<%= @taxonomy.id %>"></div>
37
34
  </div>
38
35
  <% end %>
@@ -22,10 +22,21 @@ describe "Taxonomies and taxons", :type => :feature do
22
22
  expect(page).to have_content("Taxon \"Shirt\" has been successfully updated!")
23
23
  end
24
24
 
25
- it "can see taxon tree", js: true do
25
+ it "can view and add to taxon tree", js: true do
26
26
  taxonomy = create :taxonomy
27
27
 
28
28
  visit spree.edit_admin_taxonomy_path(taxonomy)
29
29
  expect(page).to have_content('Brand')
30
+
31
+ click_on('Add taxon')
32
+ expect(page).to have_content('New node')
33
+
34
+ # Little tricky to select the right taxon. Since the text is technically
35
+ # inside the top-level li.
36
+ within '#taxonomy_tree li li', text: 'New node' do
37
+ click_icon :edit
38
+ end
39
+
40
+ expect(page).to have_current_path %r{/admin/taxonomies/\d+/taxons/\d+/edit}
30
41
  end
31
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: solidus_backend
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Solidus Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-23 00:00:00.000000000 Z
11
+ date: 2016-03-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: solidus_api
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 1.2.1
19
+ version: 1.2.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 1.2.1
26
+ version: 1.2.2
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: solidus_core
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 1.2.1
33
+ version: 1.2.2
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - '='
39
39
  - !ruby/object:Gem::Version
40
- version: 1.2.1
40
+ version: 1.2.2
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: bourbon
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -185,6 +185,8 @@ files:
185
185
  - app/assets/javascripts/spree/backend/templates/promotions/rules/option_values_select.hbs
186
186
  - app/assets/javascripts/spree/backend/templates/stock_items/stock_location_stock_item.hbs
187
187
  - app/assets/javascripts/spree/backend/templates/stock_transfers/transfer_item.hbs.erb
188
+ - app/assets/javascripts/spree/backend/templates/taxons/_tree.hbs
189
+ - app/assets/javascripts/spree/backend/templates/taxons/tree.hbs
188
190
  - app/assets/javascripts/spree/backend/templates/variants/autocomplete.hbs.erb
189
191
  - app/assets/javascripts/spree/backend/templates/variants/autocomplete_stock.hbs
190
192
  - app/assets/javascripts/spree/backend/templates/variants/line_items_autocomplete_stock.hbs
@@ -571,14 +573,12 @@ files:
571
573
  - app/views/spree/admin/tax_rates/index.html.erb
572
574
  - app/views/spree/admin/tax_rates/new.html.erb
573
575
  - app/views/spree/admin/taxonomies/_form.html.erb
574
- - app/views/spree/admin/taxonomies/_js_head.html.erb
575
576
  - app/views/spree/admin/taxonomies/_list.html.erb
576
577
  - app/views/spree/admin/taxonomies/_taxon.html.erb
577
578
  - app/views/spree/admin/taxonomies/edit.erb
578
579
  - app/views/spree/admin/taxonomies/index.html.erb
579
580
  - app/views/spree/admin/taxonomies/new.html.erb
580
581
  - app/views/spree/admin/taxons/_form.html.erb
581
- - app/views/spree/admin/taxons/_list_template.html.erb
582
582
  - app/views/spree/admin/taxons/_taxon_table.html.erb
583
583
  - app/views/spree/admin/taxons/edit.html.erb
584
584
  - app/views/spree/admin/taxons/index.html.erb
@@ -1,13 +0,0 @@
1
- <% content_for :head do %>
2
- <%= javascript_tag "var taxonomy_id = #{@taxonomy.id};
3
- var loading = '#{escape_javascript Spree.t(:loading)}';
4
- var new_taxon = '#{escape_javascript Spree.t(:new_taxon)}';
5
- var server_error = '#{escape_javascript Spree.t(:server_error)}';
6
- var taxonomy_tree_error = '#{escape_javascript Spree.t(:taxonomy_tree_error)}';
7
-
8
- $(document).ready(function(){
9
- setup_taxonomy_tree(taxonomy_id);
10
- });
11
- "
12
- %>
13
- <% end %>
@@ -1,17 +0,0 @@
1
- <script type="text/template" id="taxons-list-template">
2
- {{#each taxons}}
3
- <li data-taxon-id="{{id}}" data-taxon-taxonomy-id="{{taxonomy_id}}">
4
- <div class="sortable-handle">
5
- {{#if (isRootTaxon) }}{{else}}<i class="fa fa-arrows"></i>{{/if}}
6
- {{name}}
7
- <div class="actions right">
8
- <a href="/admin/taxonomies/{{taxonomy_id}}/taxons/{{id}}/edit" class="fa fa-edit icon_link with-tip no-text"></a>
9
- <a href="#" class="delete-taxon-button fa fa-trash icon_link with-tip no-text"></a>
10
- </div>
11
- </div>
12
- <ul>
13
- {{> taxons}}
14
- </ul>
15
- </li>
16
- {{/each}}
17
- </script>