avo 0.5.0.beta7 → 0.5.0.beta8

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

Potentially problematic release.


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

Files changed (203) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -2
  3. data/Gemfile.lock +28 -18
  4. data/app/components/avo/common/badge_viewer_component.html.erb +1 -1
  5. data/app/components/avo/common/gravatar_viewer_component.html.erb +2 -2
  6. data/app/components/avo/common/gravatar_viewer_component.rb +2 -1
  7. data/app/components/avo/edit/fields/trix_field_component.html.erb +1 -1
  8. data/app/components/avo/index/field_wrapper_component.html.erb +1 -1
  9. data/app/components/avo/index/fields/belongs_to_field_component.html.erb +1 -5
  10. data/app/components/avo/index/fields/boolean_group_field_component.html.erb +1 -1
  11. data/app/components/avo/index/fields/gravatar_field_component.html.erb +2 -1
  12. data/app/components/avo/index/fields/has_one_field_component.html.erb +1 -5
  13. data/app/components/avo/index/fields/id_field_component.html.erb +1 -1
  14. data/app/components/avo/index/grid_item_component.html.erb +2 -2
  15. data/app/components/avo/index/grid_item_component.rb +3 -3
  16. data/app/components/avo/index/resource_controls_component.html.erb +12 -4
  17. data/app/components/avo/show/field_wrapper_component.html.erb +1 -1
  18. data/app/components/avo/show/fields/boolean_group_field_component.html.erb +1 -1
  19. data/app/components/avo/show/fields/external_image_field_component.html.erb +1 -1
  20. data/app/components/avo/views/resource_show_component.html.erb +14 -2
  21. data/app/controllers/avo/actions_controller.rb +5 -4
  22. data/app/controllers/avo/application_controller.rb +18 -2
  23. data/app/controllers/avo/base_controller.rb +5 -8
  24. data/app/controllers/avo/relations_controller.rb +1 -1
  25. data/app/helpers/avo/application_helper.rb +1 -1
  26. data/app/{frontend/css → packs/entrypoints}/application.css +12 -11
  27. data/app/{frontend/packs → packs/entrypoints}/application.js +3 -2
  28. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.eot +0 -0
  29. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.svg +0 -0
  30. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.ttf +0 -0
  31. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff +0 -0
  32. data/app/{frontend → packs}/fonts/nunito-v16-latin-700.woff2 +0 -0
  33. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.eot +0 -0
  34. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.svg +0 -0
  35. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.ttf +0 -0
  36. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff +0 -0
  37. data/app/{frontend → packs}/fonts/nunito-v16-latin-regular.woff2 +0 -0
  38. data/app/{frontend → packs}/images/logo.png +0 -0
  39. data/app/{frontend → packs}/importmap.json.erb +0 -0
  40. data/app/{frontend → packs}/js/controllers/action_controller.js +0 -0
  41. data/app/{frontend → packs}/js/controllers/actions_picker_controller.js +0 -0
  42. data/app/{frontend → packs}/js/controllers/alerts_controller.js +0 -0
  43. data/app/{frontend → packs}/js/controllers/attachments_controller.js +0 -0
  44. data/app/{frontend → packs}/js/controllers/boolean_filter_controller.js +0 -0
  45. data/app/{frontend → packs}/js/controllers/fields/code_field_controller.js +0 -0
  46. data/app/{frontend → packs}/js/controllers/fields/date_field_controller.js +0 -0
  47. data/app/{frontend → packs}/js/controllers/fields/simple_mde_controller.js +0 -0
  48. data/app/{frontend → packs}/js/controllers/filter_controller.js +19 -3
  49. data/app/{frontend → packs}/js/controllers/hidden_input_controller.js +0 -0
  50. data/app/{frontend → packs}/js/controllers/item_selector_controller.js +0 -0
  51. data/app/{frontend → packs}/js/controllers/modal_controller.js +0 -0
  52. data/app/{frontend → packs}/js/controllers/per_page_controller.js +5 -1
  53. data/app/{frontend → packs}/js/controllers/select_filter_controller.js +0 -0
  54. data/app/{frontend → packs}/js/controllers/tippy_controller.js +0 -0
  55. data/app/{frontend → packs}/js/controllers/toggle_panel_controller.js +0 -0
  56. data/app/{frontend → packs}/js/helpers/cast_boolean.js +0 -0
  57. data/app/{frontend → packs}/js/toastr.js +0 -0
  58. data/app/{frontend/css → packs/stylesheets}/alerts.css +0 -0
  59. data/app/{frontend/css → packs/stylesheets}/components/code.css +0 -0
  60. data/app/{frontend/css → packs/stylesheets}/components/status.css +0 -0
  61. data/app/{frontend/css → packs/stylesheets}/fonts.css +0 -0
  62. data/app/{frontend/css → packs/stylesheets}/loader.css +0 -0
  63. data/app/{frontend/css → packs/stylesheets}/pagination.css +0 -0
  64. data/app/{frontend/css → packs/stylesheets}/tailwindcss/base.css +0 -0
  65. data/app/{frontend/css → packs/stylesheets}/tailwindcss/components.css +0 -0
  66. data/app/{frontend/css → packs/stylesheets}/tailwindcss/utilities.css +0 -0
  67. data/app/{frontend/css → packs/stylesheets}/tooltips.css +0 -0
  68. data/app/{frontend/css → packs/stylesheets}/typography.css +0 -0
  69. data/app/{frontend → packs}/svgs/arrow-circle-right.svg +0 -0
  70. data/app/{frontend → packs}/svgs/arrow-left.svg +0 -0
  71. data/app/{frontend → packs}/svgs/avocado.svg +0 -0
  72. data/app/{frontend → packs}/svgs/badge-check-sm.svg +0 -0
  73. data/app/{frontend → packs}/svgs/check-circle.svg +0 -0
  74. data/app/{frontend → packs}/svgs/chevron-down.svg +0 -0
  75. data/app/{frontend → packs}/svgs/chevron-up.svg +0 -0
  76. data/app/{frontend → packs}/svgs/code.svg +0 -0
  77. data/app/{frontend → packs}/svgs/color-swatch.svg +0 -0
  78. data/app/{frontend → packs}/svgs/document-text.svg +0 -0
  79. data/app/{frontend → packs}/svgs/download.svg +0 -0
  80. data/app/{frontend → packs}/svgs/edit.svg +0 -0
  81. data/app/{frontend → packs}/svgs/exclamation-circle-sm.svg +0 -0
  82. data/app/{frontend → packs}/svgs/exclamation-sm.svg +0 -0
  83. data/app/{frontend → packs}/svgs/exclamation.svg +0 -0
  84. data/app/{frontend → packs}/svgs/eye.svg +0 -0
  85. data/app/{frontend → packs}/svgs/filter.svg +0 -0
  86. data/app/{frontend → packs}/svgs/fire.svg +0 -0
  87. data/app/{frontend → packs}/svgs/game-board.svg +0 -0
  88. data/app/{frontend → packs}/svgs/globe.svg +0 -0
  89. data/app/{frontend → packs}/svgs/information-circle-sm.svg +0 -0
  90. data/app/{frontend → packs}/svgs/information-circle.svg +0 -0
  91. data/app/{frontend → packs}/svgs/library.svg +0 -0
  92. data/app/{frontend → packs}/svgs/photograph.svg +0 -0
  93. data/app/{frontend → packs}/svgs/play.svg +0 -0
  94. data/app/{frontend → packs}/svgs/plus-circle.svg +0 -0
  95. data/app/{frontend → packs}/svgs/plus.svg +0 -0
  96. data/app/{frontend → packs}/svgs/question-mark-circle.svg +0 -0
  97. data/app/{frontend → packs}/svgs/save.svg +0 -0
  98. data/app/{frontend → packs}/svgs/selector.svg +0 -0
  99. data/app/{frontend → packs}/svgs/sort-ascending.svg +0 -0
  100. data/app/{frontend → packs}/svgs/sort-descending.svg +0 -0
  101. data/app/{frontend → packs}/svgs/switch-horizontal.svg +0 -0
  102. data/app/{frontend → packs}/svgs/thumbs-down.svg +0 -0
  103. data/app/{frontend → packs}/svgs/thumbs-up.svg +0 -0
  104. data/app/{frontend → packs}/svgs/times.svg +0 -0
  105. data/app/{frontend → packs}/svgs/trash-sm.svg +0 -0
  106. data/app/{frontend → packs}/svgs/trash.svg +0 -0
  107. data/app/{frontend → packs}/svgs/view-grid-add.svg +0 -0
  108. data/app/{frontend → packs}/svgs/view-grid.svg +0 -0
  109. data/app/{frontend → packs}/svgs/view-list.svg +0 -0
  110. data/app/{frontend → packs}/svgs/x-circle.svg +0 -0
  111. data/app/views/avo/actions/show.html.erb +3 -39
  112. data/app/views/avo/attachments/show.html.erb +8 -1
  113. data/app/views/avo/base/_boolean_filter.html.erb +1 -0
  114. data/app/views/avo/base/_filters.html.erb +1 -0
  115. data/app/views/avo/base/_select_filter.html.erb +1 -0
  116. data/app/views/avo/partials/_paginator.html.erb +24 -5
  117. data/app/views/avo/relations/new.html.erb +5 -1
  118. data/app/views/layouts/avo/application.html.erb +0 -5
  119. data/avo.gemspec +1 -0
  120. data/bin/helpers.rb +0 -0
  121. data/bin/rspec +1 -0
  122. data/bin/webpack +2 -1
  123. data/config/webpack/aliases.js +1 -1
  124. data/config/webpack/base.js +14 -0
  125. data/config/webpack/development.js +2 -2
  126. data/config/webpack/production.js +2 -2
  127. data/config/webpack/test.js +2 -2
  128. data/config/webpacker.yml +5 -44
  129. data/db/factories.rb +1 -0
  130. data/lib/avo/action_model.rb +20 -0
  131. data/lib/avo/app.rb +0 -42
  132. data/lib/avo/base_action.rb +40 -37
  133. data/lib/avo/base_resource.rb +26 -51
  134. data/lib/avo/configuration.rb +0 -4
  135. data/lib/avo/engine.rb +16 -0
  136. data/lib/avo/fields/base_field.rb +19 -9
  137. data/lib/avo/fields/field_extensions/has_field_name.rb +2 -9
  138. data/lib/avo/fields/gravatar_field.rb +1 -1
  139. data/lib/avo/fields_collector.rb +31 -0
  140. data/lib/avo/grid_collector.rb +39 -0
  141. data/lib/avo/has_context.rb +7 -0
  142. data/lib/avo/version.rb +1 -1
  143. data/lib/generators/avo/templates/action.tt +2 -2
  144. data/public/avo-packs/css/application-5bb09ba4.css +6024 -0
  145. data/public/avo-packs/css/application-5bb09ba4.css.br +0 -0
  146. data/public/avo-packs/css/application-5bb09ba4.css.gz +0 -0
  147. data/public/avo-packs/css/application-5bb09ba4.css.map +1 -0
  148. data/public/avo-packs/css/application-5bb09ba4.css.map.br +0 -0
  149. data/public/avo-packs/css/application-5bb09ba4.css.map.gz +0 -0
  150. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js +2 -0
  151. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.br +0 -0
  152. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.gz +0 -0
  153. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map +1 -0
  154. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.br +0 -0
  155. data/public/avo-packs/js/219-9aa2b689f44613118203.chunk.js.map.gz +0 -0
  156. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js +26 -0
  157. data/public/avo-packs/js/{application-8849c6e2c8f75d55c666.js.LICENSE.txt → application-86a3ea5a835b0c758203.js.LICENSE.txt} +17 -17
  158. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js.br +0 -0
  159. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js.gz +0 -0
  160. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js.map +1 -0
  161. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js.map.br +0 -0
  162. data/public/avo-packs/js/application-86a3ea5a835b0c758203.js.map.gz +0 -0
  163. data/public/avo-packs/manifest.json +46 -23
  164. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg → images/13ae283c0d7cc04efe7e.svg} +0 -0
  165. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.br → images/13ae283c0d7cc04efe7e.svg.br} +0 -0
  166. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-00fbd8a72a3708b8314cce5f0515640e.svg.gz → images/13ae283c0d7cc04efe7e.svg.gz} +0 -0
  167. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg → images/195026a50008c53526ef.svg} +0 -0
  168. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.br → images/195026a50008c53526ef.svg.br} +0 -0
  169. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-35bd1c96bc2e402cf22ea812ae067995.svg.gz → images/195026a50008c53526ef.svg.gz} +0 -0
  170. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-cb632c9fe211ba2c2bf1564c9a9295cc.woff → images/1f30e08faa7c60d1f7ac.woff} +0 -0
  171. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf → images/1fd17dabf6b7d2b15348.ttf} +0 -0
  172. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.br → images/1fd17dabf6b7d2b15348.ttf.br} +0 -0
  173. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-2cc22f9c0cf217cbfc371f3b74992305.ttf.gz → images/1fd17dabf6b7d2b15348.ttf.gz} +0 -0
  174. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-bcf84d6cb8a0ac214c8c14ba9af834f3.woff2 → images/39a18f443d434999b89b.woff2} +0 -0
  175. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-412073df419ad5f6f8f2ea76eb4aced9.woff2 → images/4ad349571e28bb59c5a5.woff2} +0 -0
  176. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-2fae1e2418251b68fe5d0505ab93dd5c.eot → images/57a5470848663767abbf.eot} +0 -0
  177. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf → images/b2e4cf0fab6c8ca66b7f.ttf} +0 -0
  178. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.br → images/b2e4cf0fab6c8ca66b7f.ttf.br} +0 -0
  179. data/public/avo-packs/media/{fonts/nunito-v16-latin-regular-df8c4bee41b6ca0ed2b7b71456ed7fbb.ttf.gz → images/b2e4cf0fab6c8ca66b7f.ttf.gz} +0 -0
  180. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-df7e79af617f98cd3b95d320e8b2a1af.eot → images/b78d61ab7e046de8c156.eot} +0 -0
  181. data/public/avo-packs/media/{fonts/nunito-v16-latin-700-7c472b19cb573f537bad8ef62ca917ac.woff → images/c9ab29becb76ddab01d0.woff} +0 -0
  182. data/public/avo-packs/media/images/{logo-edf8d8d0d263e0c1f73bb32a222d9991.png → f1b4befac91a3336db9a.png} +0 -0
  183. metadata +144 -127
  184. data/app/views/layouts/avo/application_vue.html.erb +0 -61
  185. data/config/webpack/environment.js +0 -18
  186. data/db/migrate/20210305082639_add_url_to_teams.rb +0 -5
  187. data/public/avo-packs/css/application-c75ac28c.css +0 -6
  188. data/public/avo-packs/css/application-c75ac28c.css.br +0 -0
  189. data/public/avo-packs/css/application-c75ac28c.css.gz +0 -0
  190. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js +0 -2
  191. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.br +0 -0
  192. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.gz +0 -0
  193. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map +0 -1
  194. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.br +0 -0
  195. data/public/avo-packs/js/1-0565987ca0c3045602ad.chunk.js.map.gz +0 -0
  196. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js +0 -26
  197. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.br +0 -0
  198. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.gz +0 -0
  199. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map +0 -1
  200. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map.br +0 -0
  201. data/public/avo-packs/js/application-8849c6e2c8f75d55c666.js.map.gz +0 -0
  202. data/public/avo-packs/manifest.json.br +0 -0
  203. data/public/avo-packs/manifest.json.gz +0 -0
@@ -103,7 +103,7 @@ module Avo
103
103
  @model.destroy!
104
104
 
105
105
  respond_to do |format|
106
- format.html { redirect_to params[:referrer] || resources_path(@model), notice: t('avo.resource_destroyed', attachment_class: @attachment_class) }
106
+ format.html { redirect_to params[:referrer] || resources_path(@model, turbo_frame: params[:turbo_frame], view_type: params[:view_type]), notice: t('avo.resource_destroyed', attachment_class: @attachment_class) }
107
107
  format.json { head :no_content }
108
108
  end
109
109
  end
@@ -161,18 +161,15 @@ module Avo
161
161
  @index_params[:per_page] = cookies[:per_page]
162
162
  end
163
163
 
164
- if params[:per_page].present?
165
- @index_params[:per_page] = params[:per_page]
164
+ if @parent_model.present?
165
+ @index_params[:per_page] = Avo.configuration.via_per_page
166
166
  end
167
167
 
168
168
  if params[:per_page].present?
169
+ @index_params[:per_page] = params[:per_page]
169
170
  cookies[:per_page] = params[:per_page]
170
171
  end
171
172
 
172
- if @parent_model.present?
173
- @index_params[:per_page] = Avo.configuration.via_per_page
174
- end
175
-
176
173
  # Sorting
177
174
  @index_params[:sort_by] = params[:sort_by] || :created_at
178
175
  @index_params[:sort_direction] = params[:sort_direction] || :desc
@@ -196,7 +193,7 @@ module Avo
196
193
  end
197
194
 
198
195
  @actions = @resource.get_actions.map do |action|
199
- action.new.hydrate(model: model, resource: @resource)
196
+ action.new(model: model, resource: @resource)
200
197
  end
201
198
  end
202
199
 
@@ -66,7 +66,7 @@ module Avo
66
66
  end
67
67
 
68
68
  respond_to do |format|
69
- format.html { redirect_to params[:referrer] || resources_path(@model), notice: t('avo.attachment_class_detached', attachment_class: @attachment_class) }
69
+ format.html { redirect_to params[:referrer] || resource_path(@model), notice: t('avo.attachment_class_detached', attachment_class: @attachment_class) }
70
70
  end
71
71
  end
72
72
 
@@ -130,7 +130,7 @@ module Avo
130
130
  options[:class] += args[:extra_class].present? ? " #{args[:extra_class]}" : ''
131
131
 
132
132
  # Create the path to the svgs directory
133
- file_path = "#{Avo::Engine.root}/app/frontend/svgs/#{file_name}"
133
+ file_path = "#{Avo::Engine.root}/app/packs/svgs/#{file_name}"
134
134
  file_path = "#{file_path}.svg" unless file_path.end_with? '.svg'
135
135
 
136
136
  # Create a cache hash
@@ -5,20 +5,21 @@
5
5
  @import './../../../node_modules/trix/dist/trix.css';
6
6
  @import './../../../node_modules/flatpickr/dist/flatpickr.css';
7
7
 
8
- @import './tailwindcss/base.css';
9
- @import './tailwindcss/components.css';
10
8
 
11
- @import './fonts.css';
12
- @import './typography.css';
13
- @import './tooltips.css';
14
- @import './alerts.css';
15
- @import './loader.css';
16
- @import './pagination.css';
9
+ @import './../stylesheets/tailwindcss/base.css';
17
10
 
18
- @import './components/status.css';
19
- @import './components/code.css';
11
+ @import './../stylesheets/fonts.css';
12
+ @import './../stylesheets/typography.css';
13
+ @import './../stylesheets/tooltips.css';
14
+ @import './../stylesheets/alerts.css';
15
+ @import './../stylesheets/loader.css';
16
+ @import './../stylesheets/pagination.css';
20
17
 
21
- @import './tailwindcss/utilities.css';
18
+ @import './../stylesheets/components/status.css';
19
+ @import './../stylesheets/components/code.css';
20
+ @import './../stylesheets/tailwindcss/components.css';
21
+
22
+ @import './../stylesheets/tailwindcss/utilities.css';
22
23
 
23
24
  html,
24
25
  body {
@@ -1,5 +1,3 @@
1
- import '@/css/application.css'
2
-
3
1
  import 'regenerator-runtime/runtime'
4
2
  import 'trix'
5
3
  import * as Mousetrap from 'mousetrap'
@@ -7,6 +5,9 @@ import { Application } from 'stimulus'
7
5
  import { Turbo } from '@hotwired/turbo-rails'
8
6
  import { definitionsFromContext } from 'stimulus/webpack-helpers'
9
7
  import tippy from 'tippy.js'
8
+ import Rails from '@rails/ujs';
9
+
10
+ Rails.start();
10
11
 
11
12
  // Toastr alerts
12
13
  import '../js/toastr'
File without changes
File without changes
@@ -1,5 +1,4 @@
1
1
  import { Controller } from 'stimulus'
2
- import { Turbo } from '@hotwired/turbo-rails'
3
2
  import URI from 'urijs'
4
3
 
5
4
  export default class extends Controller {
@@ -35,13 +34,30 @@ export default class extends Controller {
35
34
  }
36
35
 
37
36
  filters[filterClass] = value
38
- const encodedFilters = btoa(JSON.stringify(filters))
37
+
38
+ const filtered = Object.keys(filters)
39
+ .filter(key => filters[key] !== '')
40
+ .reduce((obj, key) => {
41
+ obj[key] = filters[key];
42
+ return obj;
43
+ }, {});
44
+
45
+ let encodedFilters;
46
+
47
+ if (filtered && Object.keys(filtered).length > 0) {
48
+ encodedFilters = btoa(JSON.stringify(filtered))
49
+ }
39
50
 
40
51
  const url = new URI(this.urlRedirectTarget.href)
41
52
 
42
53
  const query = {
43
54
  ...url.query(true),
44
- filters: encodedFilters,
55
+ }
56
+
57
+ if (encodedFilters) {
58
+ query['filters'] = encodedFilters
59
+ } else {
60
+ delete query['filters']
45
61
  }
46
62
 
47
63
  url.query(query)
@@ -3,7 +3,11 @@ import { Controller } from 'stimulus'
3
3
  export default class extends Controller {
4
4
  static targets = ['selector']
5
5
 
6
+ get turboFrame() {
7
+ return this.selectorTarget.dataset.turboFrame
8
+ }
9
+
6
10
  reload() {
7
- document.querySelector(`[data-per-page-option="${this.selectorTarget.value}"]`).click()
11
+ document.querySelector(`[data-per-page-option="${this.selectorTarget.value}"][data-turbo-frame="${this.turboFrame}"]`).click()
8
12
  }
9
13
  }
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -7,7 +7,7 @@
7
7
  data-resource-id="<%= params[:id] %>"
8
8
  class="hidden text-blue-gray-800"
9
9
  >
10
- <%= form_with scope: 'fields', url: "/avo/resources/#{@resource.model_class.model_name.route_key}/actions/#{@action.param_id}", data: {'turbo-frame': '_top', 'action-target': 'form'} do |form| %>
10
+ <%= form_with model: @model, scope: 'fields', url: "/avo/resources/#{@resource.model_class.model_name.route_key}/actions/#{@action.param_id}", data: {'turbo-frame': '_top', 'action-target': 'form'} do |form| %>
11
11
  <%= render Avo::ModalComponent.new do |c| %>
12
12
  <% c.with :heading do %>
13
13
  <%= @action.name %>
@@ -26,46 +26,10 @@
26
26
  <% end %>
27
27
 
28
28
  <% c.with :controls do %>
29
- <%= a_button @action.cancel_text, 'data-action': 'click->modal#close', size: :sm %>
30
- <%= a_button @action.confirm_text, type: :submit, color: :green, size: :sm %>
29
+ <%= a_button @action.cancel_button_label, 'data-action': 'click->modal#close', size: :sm %>
30
+ <%= a_button @action.confirm_button_label, type: :submit, color: :green, size: :sm %>
31
31
  <% end %>
32
32
  <% end %>
33
33
  <% end %>
34
34
  </div>
35
35
  <% end %>
36
-
37
- <%#
38
- <div v-if="hasFields">
39
- <component
40
- v-for="(field, index) in fields"
41
- :key="uniqueKey(field, index)"
42
- :index="index"
43
- :is="`edit-${field.component}`"
44
- :field="field"
45
- :errors="errors"
46
- :resource-name="resourceName"
47
- :field-id="field.id"
48
- :via-resource-name="viaResourceName"
49
- :via-resource-id="viaResourceId"
50
- :field-component="field.component"
51
- displayed-in="modal"
52
- />
53
- </div>
54
- <div class="flex-1 flex items-center justify-center px-8 text-lg mt-8 mb-12" v-else>
55
- {{ action.message }}
56
- </div>
57
- <div class="flex justify-end items-baseline space-x-4 p-4 bg-gray-200">
58
- <a-button
59
- size="sm"
60
- @click="$emit('close')"
61
- v-text="action.cancel_text"
62
- />
63
- <a-button
64
- ref="confirm-button"
65
- :color="buttonColor"
66
- size="sm"
67
- @click="handle"
68
- v-text="action.confirm_text"
69
- />
70
- </div>
71
- </div> %>
@@ -1,6 +1,13 @@
1
1
  <%= turbo_frame_tag 'destroy_attachment_form' do %>
2
2
  <%= form_with url: "/avo/resources/#{params[:resource_name]}/#{params[:id]
3
- }/active_storage_attachments/#{params[:attachment_name]}/#{params[:signed_attachment_id]}", method: :delete, html: {'data-turbo-frame': 'destroy_attachment_form', 'data-controller': 'attachments', 'data-attachments-target': 'form', class: 'hidden' } do |form| %>
3
+ }/active_storage_attachments/#{params[:attachment_name]}/#{params[:signed_attachment_id]}",
4
+ method: :delete,
5
+ html: {
6
+ 'data-turbo-frame': 'destroy_attachment_form',
7
+ 'data-controller': 'attachments',
8
+ 'data-attachments-target': 'form',
9
+ class: 'hidden'
10
+ } do |form| %>
4
11
  <%= form.button 'destroy', type: :submit %>
5
12
  <%= form.hidden_field :referrer, value: request.referer, id: "referrer_destroy_attachment_#{params[:signed_attachment_id]}" %>
6
13
  <% end %>
@@ -19,6 +19,7 @@
19
19
  <label class="flex items-center text-gray-700 text-sm">
20
20
  <%= check_box_tag filter.id, value, set_value[value.to_s],
21
21
  class: 'mr-2 text-lg h-4 w-4',
22
+ id: "avo_filters_#{filter.id.parameterize.underscore}",
22
23
  'data-filter-class': filter.class,
23
24
  'data-boolean-filter-target': 'option',
24
25
  'data-action': 'input->boolean-filter#changeFilter'