avo 3.5.0 → 3.5.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/app/components/avo/index/grid_item_component.html.erb +1 -1
- data/app/components/avo/index/grid_item_component.rb +0 -1
- data/app/components/avo/index/resource_controls_component.html.erb +0 -5
- data/app/components/avo/index/resource_controls_component.rb +1 -2
- data/app/components/avo/index/resource_grid_component.html.erb +1 -1
- data/app/components/avo/index/resource_grid_component.rb +0 -1
- data/app/components/avo/index/resource_table_component.html.erb +1 -1
- data/app/components/avo/index/resource_table_component.rb +0 -1
- data/app/components/avo/index/table_row_component.html.erb +1 -1
- data/app/components/avo/index/table_row_component.rb +0 -1
- data/app/components/avo/resource_component.rb +2 -2
- data/lib/avo/base_resource.rb +19 -16
- data/lib/avo/concerns/has_controls.rb +1 -1
- data/lib/avo/resources/controls/save_button.rb +4 -1
- data/lib/avo/version.rb +1 -1
- metadata +2 -3
- data/lib/avo/concerns/can_reorder_items.rb +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b09b96bd49a61cf405e01532f30b33471437b1b354efad21ccd3c0ad193fdc90
|
4
|
+
data.tar.gz: b35e575c1787a34a5b1a2185127f39075b808d833993d3bd8584ea877dc14035
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87e3e97b4e3e001080341a61565e97674d5e7ba9703a980bae1d769180afb648d5a0dff42d7901b5f42370a2915eb689951bff02cba33cb3183a634faa3c726b
|
7
|
+
data.tar.gz: a9841007e4c2226651a0c3b86d5ed25b189f2ad5fceb258bf23f79a8c5931cfcaefa68d8657e895483404c45f6fb8064e5c4b418db5b3282cc2fe7cb2d8e485c
|
data/Gemfile.lock
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
<%== item_selector_init @resource %>
|
5
5
|
data-resource-name="<%= @resource.class.to_s %>"
|
6
6
|
data-record-id="<%= @resource.record.id %>"
|
7
|
-
<%= drag_reorder_item_attributes %>
|
7
|
+
<%= try :drag_reorder_item_attributes %>
|
8
8
|
>
|
9
9
|
<%= content_tag :div,
|
10
10
|
class: "relative w-full pb-3/4 rounded-t overflow-hidden #{html(:cover, :classes)}",
|
@@ -1,9 +1,4 @@
|
|
1
1
|
<div class="space-x-2 flex flex-row justify-end w-full">
|
2
|
-
<% if can_dnd_reorder? %>
|
3
|
-
<div class="handle">
|
4
|
-
<%= helpers.svg 'heroicons/outline/bars-3', class: 'text-gray-400 h-6 hover:text-gray-600 cursor-pointer' %>
|
5
|
-
</div>
|
6
|
-
<% end %>
|
7
2
|
<% @resource.render_row_controls(item: singular_resource_name).each do |control| %>
|
8
3
|
<%= render_control control %>
|
9
4
|
<% end %>
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
class Avo::Index::ResourceControlsComponent < Avo::ResourceComponent
|
4
4
|
include Avo::ApplicationHelper
|
5
|
-
include Avo::Concerns::CanReorderItems
|
6
5
|
|
7
6
|
def initialize(resource: nil, reflection: nil, parent_record: nil, parent_resource: nil, view_type: :table, actions: nil)
|
8
7
|
@resource = resource
|
@@ -162,7 +161,7 @@ class Avo::Index::ResourceControlsComponent < Avo::ResourceComponent
|
|
162
161
|
end
|
163
162
|
|
164
163
|
def render_order_controls(control)
|
165
|
-
if can_reorder?
|
164
|
+
if try(:can_reorder?)
|
166
165
|
render Avo::Pro::Ordering::ButtonsComponent.new resource: @resource, reflection: @reflection, view_type: @view_type
|
167
166
|
end
|
168
167
|
end
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if @resources.present? %>
|
2
2
|
<turbo-frame id="<%= @resource.model_key %>_list" target="_top" class="relative w-full">
|
3
3
|
<div class="w-full grid grid-cols-1 xs:grid-cols-2 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-6 gap-6 mt-8"
|
4
|
-
<%= drag_reorder_attributes %>
|
4
|
+
<%= try :drag_reorder_attributes %>
|
5
5
|
data-component-name="<%= self.class.to_s.underscore %>"
|
6
6
|
data-selected-resources-name="<%= @resource.model_key %>" data-selected-resources="[]">
|
7
7
|
<% @resources.each_with_index do |resource, index| %>
|
@@ -1,7 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
class Avo::Index::ResourceGridComponent < Avo::BaseComponent
|
4
|
-
include Avo::Concerns::CanReorderItems
|
5
4
|
attr_reader :actions
|
6
5
|
|
7
6
|
def initialize(resources: nil, resource: nil, reflection: nil, parent_record: nil, parent_resource: nil, actions: nil)
|
@@ -39,7 +39,7 @@
|
|
39
39
|
<% end %>
|
40
40
|
<table class="w-full px-4 bg-white">
|
41
41
|
<%= render partial: 'avo/partials/table_header', locals: {fields: @resource.get_fields(reflection: @reflection, only_root: true)} %>
|
42
|
-
<tbody class="divide-y" <%= drag_reorder_attributes %>>
|
42
|
+
<tbody class="divide-y" <%= try :drag_reorder_attributes %>>
|
43
43
|
<% @resources.each_with_index do |resource, index| %>
|
44
44
|
<% cache_if Avo.configuration.cache_resources_on_index_view, resource.cache_hash(@parent_record), expires_in: 1.day do %>
|
45
45
|
<%= render Avo::Index::TableRowComponent.new(resource: resource, reflection: @reflection, parent_record: @parent_record, parent_resource: @parent_resource, actions: @actions) %>
|
@@ -2,7 +2,6 @@
|
|
2
2
|
|
3
3
|
class Avo::Index::ResourceTableComponent < Avo::BaseComponent
|
4
4
|
include Avo::ApplicationHelper
|
5
|
-
include Avo::Concerns::CanReorderItems
|
6
5
|
attr_reader :pagy, :query
|
7
6
|
|
8
7
|
def initialize(resources: nil, resource: nil, reflection: nil, parent_record: nil, parent_resource: nil, pagy: nil, query: nil, actions: nil)
|
@@ -5,7 +5,7 @@
|
|
5
5
|
<%== item_selector_init @resource %>
|
6
6
|
data-resource-name="<%= @resource.class.to_s %>"
|
7
7
|
data-record-id="<%= @resource.record.id %>"
|
8
|
-
<%= drag_reorder_item_attributes %>
|
8
|
+
<%= try :drag_reorder_item_attributes %>
|
9
9
|
>
|
10
10
|
<% if @resource.record_selector %>
|
11
11
|
<td class="w-10">
|
@@ -1,4 +1,6 @@
|
|
1
1
|
class Avo::ResourceComponent < Avo::BaseComponent
|
2
|
+
include Avo::Concerns::ChecksAssocAuthorization
|
3
|
+
|
2
4
|
attr_reader :fields_by_panel
|
3
5
|
attr_reader :has_one_panels
|
4
6
|
attr_reader :has_many_panels
|
@@ -7,8 +9,6 @@ class Avo::ResourceComponent < Avo::BaseComponent
|
|
7
9
|
attr_reader :resource
|
8
10
|
attr_reader :view
|
9
11
|
|
10
|
-
include Avo::Concerns::ChecksAssocAuthorization
|
11
|
-
|
12
12
|
def can_create?
|
13
13
|
return authorize_association_for(:create) if @reflection.present?
|
14
14
|
|
data/lib/avo/base_resource.rb
CHANGED
@@ -177,24 +177,27 @@ module Avo
|
|
177
177
|
end
|
178
178
|
|
179
179
|
def name
|
180
|
-
default
|
181
|
-
|
182
|
-
if translation_key
|
183
|
-
t(translation_key, count: 1, default: default).humanize
|
184
|
-
else
|
185
|
-
default
|
186
|
-
end
|
180
|
+
name_from_translation_key(count: 1, default: class_name.underscore.humanize)
|
187
181
|
end
|
188
182
|
alias_method :singular_name, :name
|
189
183
|
|
190
184
|
def plural_name
|
191
|
-
default
|
185
|
+
name_from_translation_key(count: 2, default: name.pluralize)
|
186
|
+
end
|
192
187
|
|
193
|
-
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
188
|
+
# Get the name from the translation_key and fallback to default
|
189
|
+
# It can raise I18n::InvalidPluralizationData when using only resource_translation without pluralization keys like: one, two or other key
|
190
|
+
# Example:
|
191
|
+
# ---
|
192
|
+
# en:
|
193
|
+
# avo:
|
194
|
+
# resource_translations:
|
195
|
+
# product:
|
196
|
+
# save: "Save product"
|
197
|
+
def name_from_translation_key(count:, default:)
|
198
|
+
t(translation_key, count:, default:).humanize
|
199
|
+
rescue I18n::InvalidPluralizationData
|
200
|
+
default
|
198
201
|
end
|
199
202
|
|
200
203
|
def underscore_name
|
@@ -448,14 +451,14 @@ module Avo
|
|
448
451
|
def file_hash
|
449
452
|
content_to_be_hashed = ""
|
450
453
|
|
451
|
-
|
452
|
-
resource_path = Rails.root.join("app", "avo", "resources", "#{
|
454
|
+
file_name = self.class.underscore_name.tr(" ", "_")
|
455
|
+
resource_path = Rails.root.join("app", "avo", "resources", "#{file_name}.rb").to_s
|
453
456
|
if File.file? resource_path
|
454
457
|
content_to_be_hashed += File.read(resource_path)
|
455
458
|
end
|
456
459
|
|
457
460
|
# policy file hash
|
458
|
-
policy_path = Rails.root.join("app", "policies", "#{
|
461
|
+
policy_path = Rails.root.join("app", "policies", "#{file_name.gsub("_resource", "")}_policy.rb").to_s
|
459
462
|
if File.file? policy_path
|
460
463
|
content_to_be_hashed += File.read(policy_path)
|
461
464
|
end
|
@@ -16,7 +16,7 @@ module Avo
|
|
16
16
|
end
|
17
17
|
|
18
18
|
def render_edit_controls
|
19
|
-
[BackButton.new(label: I18n.t("avo.cancel").capitalize), DeleteButton.new, ActionsList.new, SaveButton.new]
|
19
|
+
[BackButton.new(label: I18n.t("avo.cancel").capitalize), DeleteButton.new, ActionsList.new, SaveButton.new(resource: self)]
|
20
20
|
end
|
21
21
|
|
22
22
|
def render_index_controls(item:)
|
data/lib/avo/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: avo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.5.
|
4
|
+
version: 3.5.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adrian Marin
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2024-03-
|
13
|
+
date: 2024-03-15 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activerecord
|
@@ -2170,7 +2170,6 @@ files:
|
|
2170
2170
|
- lib/avo/base_resource_tool.rb
|
2171
2171
|
- lib/avo/concerns/borrow_items_holder.rb
|
2172
2172
|
- lib/avo/concerns/breadcrumbs.rb
|
2173
|
-
- lib/avo/concerns/can_reorder_items.rb
|
2174
2173
|
- lib/avo/concerns/can_replace_items.rb
|
2175
2174
|
- lib/avo/concerns/checks_assoc_authorization.rb
|
2176
2175
|
- lib/avo/concerns/filters_session_handler.rb
|
@@ -1,29 +0,0 @@
|
|
1
|
-
module Avo
|
2
|
-
module Concerns
|
3
|
-
module CanReorderItems
|
4
|
-
extend ActiveSupport::Concern
|
5
|
-
|
6
|
-
included do
|
7
|
-
if defined? Avo::Pro::Concerns::CanReorderItems
|
8
|
-
include Avo::Pro::Concerns::CanReorderItems
|
9
|
-
end
|
10
|
-
end
|
11
|
-
|
12
|
-
def can_reorder?
|
13
|
-
false
|
14
|
-
end
|
15
|
-
|
16
|
-
def can_dnd_reorder?
|
17
|
-
false
|
18
|
-
end
|
19
|
-
|
20
|
-
def drag_reorder_attributes
|
21
|
-
""
|
22
|
-
end
|
23
|
-
|
24
|
-
def drag_reorder_item_attributes
|
25
|
-
""
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|