spree_admin 5.4.0.rc1 → 5.4.0.rc2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/assets/tailwind/spree/admin/components/_layout.css +1 -2
- data/app/helpers/spree/admin/table_helper.rb +4 -1
- data/app/models/spree/admin/form_builder.rb +4 -1
- data/app/views/spree/admin/tables/_query_builder.html.erb +17 -0
- data/app/views/spree/admin/tables/_table.html.erb +27 -0
- data/app/views/spree/admin/zones/_form.html.erb +21 -17
- metadata +6 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 479097d9317adf858807e12d40ee9d2dcb340f486bf0dc01dee9d90dbad90819
|
|
4
|
+
data.tar.gz: cc5c526fae02b32c8fb876f1251a9eff679cb08f72aaa5ee521e10df4d62698f
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: cbefe5db66c8ad5fa2eb1b5c8310d3eeb88b93ab0dd92ee74b13df72249d8f422fe8ede21e97f9965c98f61daabf99c5660147de08ec548159816e7e61543dae
|
|
7
|
+
data.tar.gz: 80ba852806ea114ae47deba8227d894d7a484fc34edd5fd631d9f40b24ae4e3e481949f791b715c797574930eaa47bd454f714a28d49247da39801e1eb9ee51c
|
|
@@ -427,9 +427,8 @@
|
|
|
427
427
|
}
|
|
428
428
|
|
|
429
429
|
.sidebar-mobile .sidebar-panel {
|
|
430
|
-
@apply absolute left-0 top-0 bottom-0 bg-gray-25 overflow-y-auto flex flex-col shadow-lg transition-transform duration-500;
|
|
430
|
+
@apply absolute left-0 top-0 bottom-0 bg-gray-25 overflow-y-auto flex flex-col shadow-lg transition-transform duration-500 -translate-x-full;
|
|
431
431
|
width: var(--spacing-sidebar-width);
|
|
432
|
-
transform: translateX(-100%);
|
|
433
432
|
}
|
|
434
433
|
|
|
435
434
|
.sidebar-mobile .sidebar-mobile-header {
|
|
@@ -394,8 +394,11 @@ module Spree
|
|
|
394
394
|
end
|
|
395
395
|
|
|
396
396
|
def sort_dropdown_item(label, sort_value, is_active, current_q)
|
|
397
|
+
url_params = { q: current_q.merge(s: sort_value) }
|
|
398
|
+
url_params[:query_state] = params[:query_state] if params[:query_state].present?
|
|
399
|
+
|
|
397
400
|
link_to(
|
|
398
|
-
url_for(
|
|
401
|
+
url_for(url_params),
|
|
399
402
|
class: "dropdown-item flex items-center justify-between #{'active' if is_active}",
|
|
400
403
|
data: { turbo_action: 'advance' }
|
|
401
404
|
) do
|
|
@@ -286,7 +286,10 @@ module Spree
|
|
|
286
286
|
@template.content_tag(:div, class: 'form-group') do
|
|
287
287
|
@template.content_tag(:div, class: 'custom-control custom-radio') do
|
|
288
288
|
radio = @template.radio_button(@object_name, method, tag_value, objectify_options(options.merge(class: 'custom-control-input form-radio')))
|
|
289
|
-
|
|
289
|
+
label_options = { class: 'custom-control-label' }
|
|
290
|
+
label_options[:for] = options[:id] if options[:id]
|
|
291
|
+
label_options[:value] = tag_value unless options[:id]
|
|
292
|
+
label = options[:label] == false ? ''.html_safe : @template.label(@object_name, method, get_label(method, options), label_options)
|
|
290
293
|
radio + label
|
|
291
294
|
end + @template.error_message_on(@object_name, method) + spree_field_help(method, options.merge(class: 'form-text mt-2'))
|
|
292
295
|
end
|
|
@@ -24,6 +24,23 @@
|
|
|
24
24
|
class="grow flex flex-col justify-between">
|
|
25
25
|
|
|
26
26
|
<%= form_with url: url_for, method: :get, html: { class: 'grow flex flex-col justify-between' }, data: { turbo_frame: frame_name, turbo_action: 'advance', query_builder_target: 'form', action: 'submit->query-builder#submitForm' } do |f| %>
|
|
27
|
+
<%# Preserve search and date range state when applying filters %>
|
|
28
|
+
<% search_param = table.respond_to?(:search_param) ? table.search_param : :name_cont %>
|
|
29
|
+
<% if params.dig(:q, search_param).present? %>
|
|
30
|
+
<%= hidden_field_tag "q[#{search_param}]", params.dig(:q, search_param) %>
|
|
31
|
+
<% end %>
|
|
32
|
+
<% date_range_param = table.date_range_param %>
|
|
33
|
+
<% if date_range_param.present? %>
|
|
34
|
+
<% if params.dig(:q, :"#{date_range_param}_gt").present? %>
|
|
35
|
+
<%= hidden_field_tag "q[#{date_range_param}_gt]", params.dig(:q, :"#{date_range_param}_gt") %>
|
|
36
|
+
<% end %>
|
|
37
|
+
<% if params.dig(:q, :"#{date_range_param}_lt").present? %>
|
|
38
|
+
<%= hidden_field_tag "q[#{date_range_param}_lt]", params.dig(:q, :"#{date_range_param}_lt") %>
|
|
39
|
+
<% end %>
|
|
40
|
+
<% end %>
|
|
41
|
+
<% if params.dig(:q, :s).present? %>
|
|
42
|
+
<%= hidden_field_tag "q[s]", params.dig(:q, :s) %>
|
|
43
|
+
<% end %>
|
|
27
44
|
<div class="drawer-body">
|
|
28
45
|
<div class="mb-4 flex items-center gap-2 flex-wrap">
|
|
29
46
|
<span class="text-sm text-gray-600">
|
|
@@ -27,6 +27,23 @@
|
|
|
27
27
|
<%= icon 'x', class: 'w-4 h-4' %>
|
|
28
28
|
</button>
|
|
29
29
|
</div>
|
|
30
|
+
<%# Preserve query builder filter state when submitting search %>
|
|
31
|
+
<% if params[:query_state].present? %>
|
|
32
|
+
<%= hidden_field_tag :query_state, params[:query_state] %>
|
|
33
|
+
<% end %>
|
|
34
|
+
<%# Preserve date range filter state when submitting search %>
|
|
35
|
+
<% if date_range_param.present? %>
|
|
36
|
+
<% if params.dig(:q, :"#{date_range_param}_gt").present? %>
|
|
37
|
+
<%= hidden_field_tag "q[#{date_range_param}_gt]", params.dig(:q, :"#{date_range_param}_gt") %>
|
|
38
|
+
<% end %>
|
|
39
|
+
<% if params.dig(:q, :"#{date_range_param}_lt").present? %>
|
|
40
|
+
<%= hidden_field_tag "q[#{date_range_param}_lt]", params.dig(:q, :"#{date_range_param}_lt") %>
|
|
41
|
+
<% end %>
|
|
42
|
+
<% end %>
|
|
43
|
+
<%# Preserve sort order when submitting search %>
|
|
44
|
+
<% if params.dig(:q, :s).present? %>
|
|
45
|
+
<%= hidden_field_tag "q[s]", params.dig(:q, :s) %>
|
|
46
|
+
<% end %>
|
|
30
47
|
<% end %>
|
|
31
48
|
</div>
|
|
32
49
|
|
|
@@ -39,6 +56,16 @@
|
|
|
39
56
|
date_from_value: params.dig(:q, :"#{date_range_param}_gt"),
|
|
40
57
|
date_to_value: params.dig(:q, :"#{date_range_param}_lt"),
|
|
41
58
|
css_classes: "btn-light btn-sm dropdown-toggle h-[2.125rem]" %>
|
|
59
|
+
<%# Preserve search and filter state when submitting date range %>
|
|
60
|
+
<% if params.dig(:q, search_param).present? %>
|
|
61
|
+
<%= hidden_field_tag "q[#{search_param}]", params.dig(:q, search_param) %>
|
|
62
|
+
<% end %>
|
|
63
|
+
<% if params[:query_state].present? %>
|
|
64
|
+
<%= hidden_field_tag :query_state, params[:query_state] %>
|
|
65
|
+
<% end %>
|
|
66
|
+
<% if params.dig(:q, :s).present? %>
|
|
67
|
+
<%= hidden_field_tag "q[s]", params.dig(:q, :s) %>
|
|
68
|
+
<% end %>
|
|
42
69
|
<% end %>
|
|
43
70
|
<% end %>
|
|
44
71
|
<%= render 'spree/admin/tables/query_builder', table: table, table_key: table_key, frame_name: frame_name %>
|
|
@@ -1,24 +1,28 @@
|
|
|
1
|
-
<div
|
|
2
|
-
<div class="card-
|
|
3
|
-
<
|
|
4
|
-
|
|
1
|
+
<div data-controller="replace">
|
|
2
|
+
<div class="card mb-6">
|
|
3
|
+
<div class="card-header">
|
|
4
|
+
<h5 class="card-title"><%= Spree.t(:general_settings) %></h5>
|
|
5
|
+
</div>
|
|
5
6
|
|
|
6
|
-
|
|
7
|
-
|
|
7
|
+
<div class="card-body">
|
|
8
|
+
<%= f.spree_text_field :name %>
|
|
8
9
|
|
|
9
|
-
|
|
10
|
+
<%= f.spree_text_field :description %>
|
|
10
11
|
|
|
11
|
-
|
|
12
|
+
<%= f.spree_check_box :default_tax, label: Spree.t(:default_tax_zone) %>
|
|
12
13
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
<h6 class="mb-2 mt-4"><%= Spree.t(:type) %></h6>
|
|
15
|
+
<%= f.spree_radio_button :kind, :country, id: 'country_based', data: { action: 'click->replace#replace' }, label: Spree.t(:country_based) %>
|
|
16
|
+
<%= f.spree_radio_button :kind, :state, id: 'state_based', data: { action: 'click->replace#revert' }, label: Spree.t(:state_based) %>
|
|
17
|
+
</div>
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
<div data-replace-target="to" class="<%= 'hidden' unless @zone.country? %>">
|
|
21
|
+
<%= render partial: 'country_members', locals: { zone_form: f } %>
|
|
16
22
|
</div>
|
|
17
|
-
</div>
|
|
18
23
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
<% end %>
|
|
24
|
+
<div data-replace-target="from" class="<%= 'hidden' if @zone.country? %>">
|
|
25
|
+
<%= render partial: 'state_members', locals: { zone_form: f } %>
|
|
26
|
+
</div>
|
|
27
|
+
</div>
|
|
24
28
|
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_admin
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 5.4.0.
|
|
4
|
+
version: 5.4.0.rc2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Vendo Connect Inc.
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-03-
|
|
11
|
+
date: 2026-03-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: spree
|
|
@@ -16,14 +16,14 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: 5.4.0.
|
|
19
|
+
version: 5.4.0.rc2
|
|
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: 5.4.0.
|
|
26
|
+
version: 5.4.0.rc2
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: active_link_to
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -1169,9 +1169,9 @@ licenses:
|
|
|
1169
1169
|
- BSD-3-Clause
|
|
1170
1170
|
metadata:
|
|
1171
1171
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
1172
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.
|
|
1172
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v5.4.0.rc2
|
|
1173
1173
|
documentation_uri: https://docs.spreecommerce.org/
|
|
1174
|
-
source_code_uri: https://github.com/spree/spree/tree/v5.4.0.
|
|
1174
|
+
source_code_uri: https://github.com/spree/spree/tree/v5.4.0.rc2
|
|
1175
1175
|
post_install_message:
|
|
1176
1176
|
rdoc_options: []
|
|
1177
1177
|
require_paths:
|