avo 3.11.10 → 3.12.0
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/Gemfile.lock +9 -9
- data/app/components/avo/fields/common/badge_viewer_component.rb +1 -1
- data/app/components/avo/filters_component.rb +1 -1
- data/app/components/avo/index/grid_item_component.rb +1 -1
- data/app/components/avo/index/resource_controls_component.rb +1 -1
- data/app/components/avo/index/resource_grid_component.rb +1 -1
- data/app/components/avo/index/resource_table_component.rb +17 -1
- data/app/components/avo/index/table_row_component.rb +1 -1
- data/app/components/avo/items/panel_component.rb +1 -1
- data/app/components/avo/paginator_component.rb +1 -1
- data/app/components/avo/panel_component.rb +1 -1
- data/app/components/avo/panel_name_component.rb +1 -1
- data/app/components/avo/sidebar/base_item_component.rb +1 -0
- data/app/components/avo/sidebar/link_component.html.erb +1 -1
- data/app/components/avo/sidebar/link_component.rb +1 -0
- data/app/components/avo/sidebar_profile_component.rb +1 -1
- data/app/components/avo/views/resource_edit_component.rb +1 -1
- data/app/components/avo/views/resource_index_component.rb +1 -1
- data/app/components/avo/views/resource_show_component.rb +1 -1
- data/lib/avo/concerns/model_class_constantized.rb +8 -3
- data/lib/avo/resources/base.rb +5 -1
- data/lib/avo/version.rb +1 -1
- data/lib/generators/avo/tailwindcss/install_generator.rb +1 -1
- data/lib/generators/avo/templates/tailwindcss/tailwind.config.js +1 -0
- data/public/avo-assets/avo.base.js +98 -98
- data/public/avo-assets/avo.base.js.map +4 -4
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 7ea6bacc70642569fc566cfe8077351f912d1732dc448aaae5c3c7e9f514c03b
|
|
4
|
+
data.tar.gz: 00311e5f04c3cc273f95b9ca28d349e5b1b04fcab26e1b55b3d7dbea4742b538
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 8f33cbf80efdcc7c0b499bd6832b827e4d010550425e3de2d1a277039ad72182bef24a43f05bd893ffbdfd99e89cef878b03d35d61c9dbf2809d76f2c8567182
|
|
7
|
+
data.tar.gz: 6f4298165afa9a741778a1226d90b1f513bbf85b27ca604ab69d4cab96c36893823ca69b0b353d2215bbb10fede3782086e2187ee1a6bde3d89ce5c4d54aff91
|
data/Gemfile.lock
CHANGED
|
@@ -7,7 +7,7 @@ GIT
|
|
|
7
7
|
|
|
8
8
|
GIT
|
|
9
9
|
remote: https://github.com/rails/rails.git
|
|
10
|
-
revision:
|
|
10
|
+
revision: c692e75d96f572f3fe518f06bec0dfd12b548429
|
|
11
11
|
branch: main
|
|
12
12
|
specs:
|
|
13
13
|
actioncable (8.0.0.alpha)
|
|
@@ -105,7 +105,7 @@ GIT
|
|
|
105
105
|
PATH
|
|
106
106
|
remote: .
|
|
107
107
|
specs:
|
|
108
|
-
avo (3.
|
|
108
|
+
avo (3.12.0)
|
|
109
109
|
actionview (>= 6.1)
|
|
110
110
|
active_link_to
|
|
111
111
|
activerecord (>= 6.1)
|
|
@@ -156,8 +156,8 @@ GEM
|
|
|
156
156
|
money-rails (~> 1.12)
|
|
157
157
|
avo-record_link_field (0.0.1)
|
|
158
158
|
aws-eventstream (1.3.0)
|
|
159
|
-
aws-partitions (1.
|
|
160
|
-
aws-sdk-core (3.
|
|
159
|
+
aws-partitions (1.969.0)
|
|
160
|
+
aws-sdk-core (3.202.0)
|
|
161
161
|
aws-eventstream (~> 1, >= 1.3.0)
|
|
162
162
|
aws-partitions (~> 1, >= 1.651.0)
|
|
163
163
|
aws-sigv4 (~> 1.9)
|
|
@@ -320,7 +320,7 @@ GEM
|
|
|
320
320
|
activerecord (>= 4.0)
|
|
321
321
|
hashids (~> 1.0)
|
|
322
322
|
hashids (1.0.6)
|
|
323
|
-
highline (3.1.
|
|
323
|
+
highline (3.1.1)
|
|
324
324
|
reline
|
|
325
325
|
hightop (0.4.0)
|
|
326
326
|
activesupport (>= 6.1)
|
|
@@ -401,7 +401,7 @@ GEM
|
|
|
401
401
|
money (~> 6.13)
|
|
402
402
|
railties (>= 3.0)
|
|
403
403
|
msgpack (1.7.2)
|
|
404
|
-
net-imap (0.4.
|
|
404
|
+
net-imap (0.4.15)
|
|
405
405
|
date
|
|
406
406
|
net-protocol
|
|
407
407
|
net-pop (0.1.2)
|
|
@@ -417,7 +417,7 @@ GEM
|
|
|
417
417
|
nokogiri (1.16.7-x86_64-linux)
|
|
418
418
|
racc (~> 1.4)
|
|
419
419
|
orm_adapter (0.5.0)
|
|
420
|
-
pagy (9.0.
|
|
420
|
+
pagy (9.0.6)
|
|
421
421
|
parallel (1.26.3)
|
|
422
422
|
parser (3.3.4.2)
|
|
423
423
|
ast (~> 2.4.1)
|
|
@@ -604,7 +604,7 @@ GEM
|
|
|
604
604
|
prettier_print (>= 1.2.0)
|
|
605
605
|
terminal-table (3.0.2)
|
|
606
606
|
unicode-display_width (>= 1.1.1, < 3)
|
|
607
|
-
test-prof (1.4.
|
|
607
|
+
test-prof (1.4.1)
|
|
608
608
|
thor (1.3.1)
|
|
609
609
|
thread_safe (0.3.6)
|
|
610
610
|
tilt (2.4.0)
|
|
@@ -621,7 +621,7 @@ GEM
|
|
|
621
621
|
unaccent (0.4.0)
|
|
622
622
|
unicode-display_width (2.5.0)
|
|
623
623
|
useragent (0.16.10)
|
|
624
|
-
view_component (3.
|
|
624
|
+
view_component (3.14.0)
|
|
625
625
|
activesupport (>= 5.2.0, < 8.0)
|
|
626
626
|
concurrent-ruby (~> 1.0)
|
|
627
627
|
method_source (~> 1.0)
|
|
@@ -6,7 +6,7 @@ class Avo::FiltersComponent < Avo::BaseComponent
|
|
|
6
6
|
prop :filters, _Array(Avo::Filters::BaseFilter), default: [].freeze
|
|
7
7
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
8
8
|
prop :applied_filters, Hash, default: {}.freeze
|
|
9
|
-
prop :parent_record, _Nilable(
|
|
9
|
+
prop :parent_record, _Nilable(_Any)
|
|
10
10
|
|
|
11
11
|
def render?
|
|
12
12
|
@filters.present?
|
|
@@ -6,7 +6,7 @@ class Avo::Index::GridItemComponent < Avo::BaseComponent
|
|
|
6
6
|
|
|
7
7
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
8
8
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
9
|
-
prop :parent_record, _Nilable(
|
|
9
|
+
prop :parent_record, _Nilable(_Any)
|
|
10
10
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
11
11
|
prop :actions, _Nilable(_Array(Avo::BaseAction))
|
|
12
12
|
|
|
@@ -5,7 +5,7 @@ class Avo::Index::ResourceControlsComponent < Avo::ResourceComponent
|
|
|
5
5
|
|
|
6
6
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
7
7
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
8
|
-
prop :parent_record, _Nilable(
|
|
8
|
+
prop :parent_record, _Nilable(_Any)
|
|
9
9
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
10
10
|
prop :view_type, Symbol, default: :table
|
|
11
11
|
prop :actions, _Nilable(_Array(Avo::BaseAction))
|
|
@@ -4,7 +4,7 @@ class Avo::Index::ResourceGridComponent < Avo::BaseComponent
|
|
|
4
4
|
prop :resources, _Array(_Nilable(Avo::BaseResource))
|
|
5
5
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
6
6
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
7
|
-
prop :parent_record, _Nilable(
|
|
7
|
+
prop :parent_record, _Nilable(_Any)
|
|
8
8
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
9
9
|
prop :actions, _Nilable(_Array(Avo::BaseAction)), reader: :public
|
|
10
10
|
end
|
|
@@ -11,7 +11,7 @@ class Avo::Index::ResourceTableComponent < Avo::BaseComponent
|
|
|
11
11
|
prop :resources, _Nilable(_Array(Avo::BaseResource))
|
|
12
12
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
13
13
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
14
|
-
prop :parent_record, _Nilable(
|
|
14
|
+
prop :parent_record, _Nilable(_Any)
|
|
15
15
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
16
16
|
prop :pagy, _Nilable(Pagy)
|
|
17
17
|
prop :query, _Nilable(ActiveRecord::Relation)
|
|
@@ -24,6 +24,8 @@ class Avo::Index::ResourceTableComponent < Avo::BaseComponent
|
|
|
24
24
|
end
|
|
25
25
|
|
|
26
26
|
Avo::Services::EncryptionService.encrypt(message: @query, purpose: :select_all, serializer: Marshal)
|
|
27
|
+
rescue
|
|
28
|
+
disable_select_all
|
|
27
29
|
end
|
|
28
30
|
|
|
29
31
|
def selected_page_label
|
|
@@ -86,4 +88,18 @@ class Avo::Index::ResourceTableComponent < Avo::BaseComponent
|
|
|
86
88
|
|
|
87
89
|
[header_fields, table_row_components]
|
|
88
90
|
end
|
|
91
|
+
|
|
92
|
+
private
|
|
93
|
+
|
|
94
|
+
def disable_select_all
|
|
95
|
+
if Rails.env.development?
|
|
96
|
+
Avo.error_manager.add({
|
|
97
|
+
url: "https://docs.avohq.io/3.0/select-all.html#serialization-known-issues",
|
|
98
|
+
target: "_blank",
|
|
99
|
+
message: "An error occurred while serializing the query object. The Select All feature has been disabled because it depends on successful query serialization. For more details and troubleshooting steps, click here."
|
|
100
|
+
})
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
:select_all_disabled
|
|
104
|
+
end
|
|
89
105
|
end
|
|
@@ -7,7 +7,7 @@ class Avo::Index::TableRowComponent < Avo::BaseComponent
|
|
|
7
7
|
|
|
8
8
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
9
9
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
10
|
-
prop :parent_record, _Nilable(
|
|
10
|
+
prop :parent_record, _Nilable(_Any)
|
|
11
11
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
12
12
|
prop :actions, _Nilable(_Array(Avo::BaseAction))
|
|
13
13
|
prop :fields, _Nilable(_Array(Avo::Fields::BaseField))
|
|
@@ -11,7 +11,7 @@ class Avo::Items::PanelComponent < Avo::ResourceComponent
|
|
|
11
11
|
prop :actions, _Nilable(_Array(Avo::BaseAction)), reader: :public
|
|
12
12
|
prop :index, _Nilable(Integer), reader: :public
|
|
13
13
|
prop :parent_component, _Nilable(ViewComponent::Base)
|
|
14
|
-
prop :parent_record, _Nilable(
|
|
14
|
+
prop :parent_record, _Nilable(_Any)
|
|
15
15
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
16
16
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
17
17
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
class Avo::PaginatorComponent < Avo::BaseComponent
|
|
4
4
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
5
|
-
prop :parent_record, _Nilable(
|
|
5
|
+
prop :parent_record, _Nilable(_Any)
|
|
6
6
|
prop :pagy, _Nilable(Pagy)
|
|
7
7
|
prop :turbo_frame, _Nilable(_Union(String, Symbol)) do |frame|
|
|
8
8
|
frame.present? ? CGI.escapeHTML(frame) : :_top
|
|
@@ -24,7 +24,7 @@ class Avo::PanelComponent < Avo::BaseComponent
|
|
|
24
24
|
prop :profile_photo, _Nilable(Avo::ProfilePhoto)
|
|
25
25
|
prop :cover_photo, _Nilable(Avo::CoverPhoto)
|
|
26
26
|
prop :args, Hash, :**, default: {}.freeze
|
|
27
|
-
prop :name, _Nilable(
|
|
27
|
+
prop :name, _Nilable(_Union(_String, _Integer)) do |value|
|
|
28
28
|
value || @args&.dig(:title)
|
|
29
29
|
end
|
|
30
30
|
|
|
@@ -5,6 +5,7 @@ class Avo::Sidebar::BaseItemComponent < Avo::BaseComponent
|
|
|
5
5
|
|
|
6
6
|
# Object = Avo::Menu::BaseItem || ViewComponent::Base
|
|
7
7
|
prop :item, _Nilable(Object), reader: :public
|
|
8
|
+
prop :locals, _Nilable(Hash), default: {}.freeze
|
|
8
9
|
|
|
9
10
|
def after_initialize
|
|
10
11
|
@items = @item.items.select(&:visible?)
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<% if @path.present? %>
|
|
2
|
-
<%= send link_method, @path, class: classes, active: @active, target: @target, data: @data do %>
|
|
2
|
+
<%= send link_method, @path, class: classes, active: @active, target: @target, data: @data, **@args do %>
|
|
3
3
|
<%= helpers.svg @icon, class: "h-4 text-gray-700" if @icon.present? %>
|
|
4
4
|
<%= @label %>
|
|
5
5
|
<% if @target == :_blank %>
|
|
@@ -11,6 +11,7 @@ class Avo::Sidebar::LinkComponent < Avo::BaseComponent
|
|
|
11
11
|
end
|
|
12
12
|
prop :data, Hash, default: {}.freeze
|
|
13
13
|
prop :icon, _Nilable(String)
|
|
14
|
+
prop :args, Hash, :**, default: {}.freeze
|
|
14
15
|
|
|
15
16
|
def is_external?
|
|
16
17
|
# If the path contains the scheme, check if it includes the root path or not
|
|
@@ -4,7 +4,7 @@ class Avo::Views::ResourceEditComponent < Avo::ResourceComponent
|
|
|
4
4
|
include Avo::ApplicationHelper
|
|
5
5
|
|
|
6
6
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
7
|
-
prop :record, _Nilable(
|
|
7
|
+
prop :record, _Nilable(_Any)
|
|
8
8
|
prop :actions, _Array(Avo::BaseAction), default: [].freeze
|
|
9
9
|
prop :view, Avo::ViewInquirer, default: Avo::ViewInquirer.new(:edit).freeze
|
|
10
10
|
prop :display_breadcrumbs, _Boolean, default: true, reader: :public
|
|
@@ -14,7 +14,7 @@ class Avo::Views::ResourceIndexComponent < Avo::ResourceComponent
|
|
|
14
14
|
prop :actions, _Array(Avo::BaseAction), default: [].freeze
|
|
15
15
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
16
16
|
prop :turbo_frame, _Nilable(String), default: ""
|
|
17
|
-
prop :parent_record, _Nilable(
|
|
17
|
+
prop :parent_record, _Nilable(_Any)
|
|
18
18
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
19
19
|
prop :applied_filters, Hash, default: {}.freeze
|
|
20
20
|
prop :query, _Nilable(ActiveRecord::Relation), reader: :public
|
|
@@ -8,7 +8,7 @@ class Avo::Views::ResourceShowComponent < Avo::ResourceComponent
|
|
|
8
8
|
prop :resource, _Nilable(Avo::BaseResource)
|
|
9
9
|
prop :reflection, _Nilable(ActiveRecord::Reflection::AbstractReflection)
|
|
10
10
|
prop :parent_resource, _Nilable(Avo::BaseResource)
|
|
11
|
-
prop :parent_record, _Nilable(
|
|
11
|
+
prop :parent_record, _Nilable(_Any)
|
|
12
12
|
prop :resource_panel, _Nilable(_Array(Avo::BaseAction)), reader: :public
|
|
13
13
|
prop :actions, _Array(Avo::BaseAction), default: [].freeze, reader: :public
|
|
14
14
|
|
|
@@ -6,11 +6,16 @@ module Avo
|
|
|
6
6
|
class_methods do
|
|
7
7
|
# Cast the model class to a constantized version and memoize it like that
|
|
8
8
|
def model_class=(value)
|
|
9
|
-
@model_class =
|
|
9
|
+
@model_class = value
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
# Cast the model class to a constantized version
|
|
13
|
+
def constantized_model_class
|
|
14
|
+
@constantized_model_class ||= case @model_class
|
|
10
15
|
when Class
|
|
11
|
-
|
|
16
|
+
@model_class
|
|
12
17
|
when String, Symbol
|
|
13
|
-
|
|
18
|
+
@model_class.to_s.safe_constantize
|
|
14
19
|
else
|
|
15
20
|
raise ArgumentError.new "Failed to find a proper model class for #{self}"
|
|
16
21
|
end
|
data/lib/avo/resources/base.rb
CHANGED
|
@@ -143,7 +143,7 @@ module Avo
|
|
|
143
143
|
# where we figure out the model class from the record
|
|
144
144
|
def model_class(record_class: nil)
|
|
145
145
|
# get the model class off of the static property
|
|
146
|
-
return
|
|
146
|
+
return constantized_model_class if @model_class.present?
|
|
147
147
|
|
|
148
148
|
# get the model class off of the record for STI models
|
|
149
149
|
return record_class if record_class.present?
|
|
@@ -395,6 +395,10 @@ module Avo
|
|
|
395
395
|
end
|
|
396
396
|
|
|
397
397
|
def record_title
|
|
398
|
+
fetch_record_title.to_s
|
|
399
|
+
end
|
|
400
|
+
|
|
401
|
+
def fetch_record_title
|
|
398
402
|
return name if @record.nil?
|
|
399
403
|
|
|
400
404
|
# Get the title from the record if title is not set, try to get the name, title or label, or fallback to the to_param
|
data/lib/avo/version.rb
CHANGED
|
@@ -35,7 +35,7 @@ module Generators
|
|
|
35
35
|
script_name = "avo:tailwindcss"
|
|
36
36
|
if Rails.root.join("Procfile.dev").exist?
|
|
37
37
|
say "Add #{cmd = "avo_css: yarn #{script_name} --watch"} to Procfile.dev"
|
|
38
|
-
append_to_file "Procfile.dev", "#{cmd}\n"
|
|
38
|
+
append_to_file "Procfile.dev", "\n#{cmd}\n"
|
|
39
39
|
else
|
|
40
40
|
say "Add default Procfile.dev"
|
|
41
41
|
copy_file template_path("Procfile.dev"), "Procfile.dev"
|