avo 2.9.2.pre1 → 2.10.0

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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +5 -7
  3. data/README.md +4 -0
  4. data/app/assets/stylesheets/css/buttons.css +4 -1
  5. data/app/components/avo/actions_component.rb +6 -2
  6. data/app/components/avo/base_component.rb +2 -0
  7. data/app/components/avo/button_component.rb +3 -1
  8. data/app/components/avo/fields/common/key_value_component.html.erb +2 -2
  9. data/app/components/avo/fields/common/single_file_viewer_component.rb +1 -1
  10. data/app/components/avo/fields/date_field/edit_component.html.erb +1 -0
  11. data/app/components/avo/fields/date_time_field/edit_component.html.erb +10 -25
  12. data/app/components/avo/fields/date_time_field/index_component.html.erb +1 -9
  13. data/app/components/avo/fields/date_time_field/show_component.html.erb +1 -9
  14. data/app/components/avo/fields/edit_component.rb +5 -0
  15. data/app/components/avo/fields/show_component.rb +1 -1
  16. data/app/components/avo/index/ordering/button_component.rb +2 -12
  17. data/app/components/avo/index/resource_controls_component.html.erb +2 -2
  18. data/app/components/avo/index/resource_controls_component.rb +5 -1
  19. data/app/components/avo/index/resource_table_component.html.erb +1 -1
  20. data/app/components/avo/index/table_row_component.html.erb +1 -1
  21. data/app/components/avo/item_switcher_component.html.erb +19 -0
  22. data/app/components/avo/item_switcher_component.rb +45 -0
  23. data/app/components/avo/panel_component.html.erb +23 -24
  24. data/app/components/avo/panel_component.rb +8 -5
  25. data/app/components/avo/tab_group_component.html.erb +53 -0
  26. data/app/components/avo/tab_group_component.rb +51 -0
  27. data/app/components/avo/tab_switcher_component.html.erb +21 -0
  28. data/app/components/avo/tab_switcher_component.rb +86 -0
  29. data/app/components/avo/views/resource_edit_component.html.erb +34 -56
  30. data/app/components/avo/views/resource_edit_component.rb +11 -1
  31. data/app/components/avo/views/resource_index_component.html.erb +1 -1
  32. data/app/components/avo/views/resource_index_component.rb +3 -3
  33. data/app/components/avo/views/resource_show_component.html.erb +58 -89
  34. data/app/components/avo/views/resource_show_component.rb +2 -2
  35. data/app/controllers/avo/actions_controller.rb +1 -1
  36. data/app/controllers/avo/application_controller.rb +20 -3
  37. data/app/helpers/avo/application_helper.rb +0 -6
  38. data/app/helpers/avo/url_helpers.rb +1 -1
  39. data/app/javascript/avo.js +5 -1
  40. data/app/javascript/js/controllers/fields/date_field_controller.js +25 -87
  41. data/app/javascript/js/controllers/loading_button_controller.js +25 -21
  42. data/app/javascript/js/controllers/tabs_controller.js +86 -0
  43. data/app/javascript/js/controllers.js +2 -0
  44. data/app/views/avo/base/index.html.erb +1 -1
  45. data/app/views/avo/base/show.html.erb +1 -1
  46. data/app/views/avo/cards/show.html.erb +1 -1
  47. data/app/views/avo/debug/index.html.erb +1 -1
  48. data/app/views/avo/home/_actions.html.erb +1 -1
  49. data/app/views/avo/home/_dashboards.html.erb +19 -0
  50. data/app/views/avo/home/_filters.html.erb +1 -1
  51. data/app/views/avo/home/_resources.html.erb +1 -1
  52. data/app/views/avo/home/failed_to_load.html.erb +1 -1
  53. data/app/views/avo/home/index.html.erb +14 -2
  54. data/app/views/avo/partials/_javascript.html.erb +1 -1
  55. data/app/views/avo/partials/_tabs_toggle.html.erb +20 -0
  56. data/app/views/avo/private/design.html.erb +1 -1
  57. data/config/routes.rb +1 -1
  58. data/db/migrate/20210421064037_add_color_to_teams.rb +5 -0
  59. data/db/migrate/20210423075924_add_progress_to_projects.rb +5 -0
  60. data/db/migrate/20210525143134_add_slug_to_users.rb +6 -0
  61. data/lib/avo/app.rb +11 -4
  62. data/lib/avo/base_action.rb +2 -19
  63. data/lib/avo/base_card.rb +1 -7
  64. data/lib/avo/base_resource.rb +1 -95
  65. data/lib/avo/base_resource_tool.rb +3 -1
  66. data/lib/avo/concerns/handles_field_args.rb +1 -1
  67. data/lib/avo/concerns/has_fields.rb +247 -50
  68. data/lib/avo/concerns/has_html_attributes.rb +1 -1
  69. data/lib/avo/concerns/is_resource_item.rb +36 -0
  70. data/lib/avo/concerns/model_class_constantized.rb +23 -0
  71. data/lib/avo/dashboards/base_dashboard.rb +1 -1
  72. data/lib/avo/dsl/field_parser.rb +83 -0
  73. data/lib/avo/fields/base_field.rb +19 -2
  74. data/lib/avo/fields/date_field.rb +2 -0
  75. data/lib/avo/fields/date_time_field.rb +9 -21
  76. data/lib/avo/fields/field_extensions/visible_in_different_views.rb +18 -1
  77. data/lib/avo/fields/has_base_field.rb +20 -1
  78. data/lib/avo/fields/has_one_field.rb +4 -1
  79. data/lib/avo/grid_collector.rb +6 -3
  80. data/lib/avo/items_holder.rb +68 -0
  81. data/lib/avo/licensing/h_q.rb +10 -0
  82. data/lib/avo/main_panel.rb +3 -0
  83. data/lib/avo/menu/builder.rb +8 -7
  84. data/lib/avo/panel.rb +25 -0
  85. data/lib/avo/panel_builder.rb +23 -0
  86. data/lib/avo/services/uri_service.rb +71 -0
  87. data/lib/avo/tab.rb +78 -0
  88. data/lib/avo/tab_builder.rb +25 -0
  89. data/lib/avo/tab_group.rb +40 -0
  90. data/lib/avo/tab_group_builder.rb +43 -0
  91. data/lib/avo/version.rb +1 -1
  92. data/lib/avo.rb +1 -0
  93. data/lib/generators/avo/templates/locales/avo.fr.yml +115 -0
  94. data/lib/generators/avo/templates/resource/controller.tt +2 -0
  95. data/lib/generators/avo/templates/resource_tools/partial.tt +1 -1
  96. data/lib/generators/avo/templates/tool/view.tt +1 -1
  97. data/public/avo-assets/avo.css +27 -3
  98. data/public/avo-assets/avo.js +77 -77
  99. data/public/avo-assets/avo.js.map +3 -3
  100. metadata +28 -13
  101. data/app/assets/builds/action_cable.js +0 -2
  102. data/app/assets/builds/action_cable.js.map +0 -7
  103. data/app/assets/builds/application.js +0 -2
  104. data/app/assets/builds/application.js.map +0 -7
  105. data/app/assets/builds/avo.css +0 -9028
  106. data/app/assets/builds/avo.js +0 -512
  107. data/app/assets/builds/avo.js.map +0 -7
  108. data/app/assets/builds/avo_custom.js +0 -6
  109. data/app/assets/builds/avo_custom.js.map +0 -7
  110. data/lib/avo/concerns/has_tools.rb +0 -47
@@ -0,0 +1,115 @@
1
+ fr:
2
+ avo:
3
+ dashboard: 'Tableau de bord'
4
+ dashboards: 'Tableaux de bord'
5
+ choose_a_country: 'Sélectionnez un pays'
6
+ choose_an_option: 'Sélectionnez une option'
7
+ are_you_sure_you_want_to_run_this_option: 'Etes-vous sûr de vouloir exécuter cette action ?'
8
+ are_you_sure_detach_item: 'Êtes-vous sûr de vouloir détacher %{item}.'
9
+ run: 'Exécuter'
10
+ cancel: 'Annuler'
11
+ action_ran_successfully: "L'action s'est exécutée avec succès !"
12
+ details: "détails"
13
+ unauthorized: 'Non autorisé'
14
+ attachment_class_attached: '%{attachment_class} attaché.'
15
+ attachment_class_detached: '%{attachment_class} détaché.'
16
+ resource_updated: 'Ressource mise à jour'
17
+ resource_created: 'Ressource créee'
18
+ resource_destroyed: 'Ressource détruite'
19
+ switch_to_view: "Passez à la vue %{view_type}"
20
+ click_to_reveal_filters: "Cliquez pour révéler les filtres"
21
+ attachment_destroyed: 'Pièce jointe détruite'
22
+ failed_to_find_attachment: 'Impossible de trouver la pièce jointe'
23
+ you_missed_something_check_form: 'Vous avez peut-être oublié quelque chose. Veuillez vérifier le formulaire'
24
+ remove_selection: 'Supprimer la sélection'
25
+ select_item: 'Sélectionnez un élément'
26
+ select_all: 'Sélectionner tout sur la page'
27
+ delete_file: 'Supprimer le fichier'
28
+ delete: 'supprimer'
29
+ delete_item: 'Supprimer %{item}'
30
+ download_item: 'Télécharger %{item}'
31
+ download_file: 'Télécharger le fichier'
32
+ download: 'Télécharger'
33
+ view: 'Vue'
34
+ view_item: 'voir %{item}'
35
+ edit: 'éditer'
36
+ edit_item: 'éditer %{item}'
37
+ detach_item: 'détacher %{item}'
38
+ number_of_items:
39
+ zero: 'aucun %{item}'
40
+ one: 'un %{item}'
41
+ other: '%{count} %{item}'
42
+ x_items_more:
43
+ zero: 'aucun élément supplémentaire'
44
+ one: 'un élément de plus'
45
+ other: '%{count} éléments en plus'
46
+ are_you_sure: 'Êtes-vous sûr ?'
47
+ filters: 'Filtres'
48
+ per_page: 'Par page'
49
+ more: 'Plus'
50
+ attach: 'Attacher'
51
+ cancel: 'Annuler'
52
+ save: 'Enregistrer'
53
+ attach_and_attach_another: 'joindre et joindre un autre'
54
+ hide_content: 'Cacher le contenu'
55
+ show_content: 'Afficher le contenu'
56
+ no_related_item_found: "Aucun %{item} apparenté n'a été trouvé"
57
+ no_item_found: 'Aucun %{item} trouvé'
58
+ loading: 'Chargement'
59
+ confirm: 'Confirmer'
60
+ actions: 'Actions'
61
+ resources: 'Ressources'
62
+ oops_nothing_found: "Oups ! Rien n'a été trouvé..."
63
+ type_to_search: 'Type à rechercher.'
64
+ and_x_other_resources: 'et %{count} autres ressources'
65
+ go_back: 'Retourner en arrière'
66
+ home: 'Accueil'
67
+ new: 'Nouveau'
68
+ attach_item: 'Attacher %{item}'
69
+ choose_item: 'Choisir %{item}'
70
+ create_new_item: 'Créer un nouveau %{item}'
71
+ table_view: 'Vue table'
72
+ grid_view: 'Vue grille'
73
+ next_page: 'Page suivante'
74
+ prev_page: 'Page précédente'
75
+ list_is_empty: 'La liste est vide'
76
+ field_translations:
77
+ file:
78
+ zero: 'fichier'
79
+ one: 'fichier'
80
+ other: 'fichiers'
81
+ people:
82
+ zero: 'personne'
83
+ one: 'personne'
84
+ other: 'personnes'
85
+ resource_translations:
86
+ user:
87
+ zero: 'utilisateur'
88
+ one: 'utilisateurs'
89
+ other: 'utilisateurs'
90
+ reset_filters: 'Réinitialiser les filtres'
91
+ not_authorized: "Vous n'êtes pas autorisé à effectuer cette action."
92
+ search:
93
+ placeholder: 'Rechercher'
94
+ cancel_button: 'Annuler'
95
+ sign_out: 'Se déconnecter'
96
+ failed: 'Échec'
97
+ failed_to_load: 'Impossible de charger'
98
+ key_value_field:
99
+ key: 'Clé'
100
+ value: 'Valeur'
101
+ add_row: 'Ajouter une ligne'
102
+ delete_row: 'Supprimer une ligne'
103
+ was_successfully_created: 'a été créé avec succès'
104
+ was_successfully_updated: 'a été mis à jour avec succès'
105
+ clear_value: "Effacer la valeur"
106
+ tools: Outils
107
+ order:
108
+ reorder_record: Réorganiser
109
+ higher: Déplacer plus haut
110
+ lower: Déplacer plus bas
111
+ to_top: Déplacer tout en haut
112
+ to_bottom: Déplacer tout en bas
113
+ empty_dashboard_message: Ajouter des cartes à ce tableau de bord
114
+ no_cards_present: Aucune carte présente
115
+ no_options_available: Aucune option disponible
@@ -1,2 +1,4 @@
1
+ # This controller has been generated to enable Rails' resource routes.
2
+ # You shouldn't need to modify it in order to use Avo.
1
3
  class <%= controller_class %> < Avo::ResourcesController
2
4
  end
@@ -1,5 +1,5 @@
1
1
  <div class="flex flex-col">
2
- <%%= render Avo::PanelComponent.new title: "<%= human_name %>" do |c| %>
2
+ <%%= render Avo::PanelComponent.new(name: "<%= human_name %>") do |c| %>
3
3
  <%% c.tools do %>
4
4
  <%%= a_link('/avo', icon: 'heroicons/solid/academic-cap', style: :primary) do %>
5
5
  Dummy link
@@ -1,5 +1,5 @@
1
1
  <div class="flex flex-col">
2
- <%%= render Avo::PanelComponent.new title: '<%= human_name %>', display_breadcrumbs: true do |c| %>
2
+ <%%= render Avo::PanelComponent.new(name: '<%= human_name %>', display_breadcrumbs: true) do |c| %>
3
3
  <%% c.tools do %>
4
4
  <div class="text-sm italic">This is the panels tools section.</div>
5
5
  <%% end %>
@@ -3977,9 +3977,9 @@ a{
3977
3977
  display:flex;
3978
3978
  }
3979
3979
 
3980
- .button-group .button-component:first-child{
3981
- margin-right:-1px
3982
- }
3980
+ .button-group .button-component{
3981
+ margin-right:-1px
3982
+ }
3983
3983
 
3984
3984
  .button-group .button-component:first-child{
3985
3985
  border-top-left-radius:0.25rem;
@@ -6354,6 +6354,16 @@ trix-editor .attachment__metadata .attachment__size {
6354
6354
  margin-bottom:0px
6355
6355
  }
6356
6356
 
6357
+ .-mx-2{
6358
+ margin-left:-0.5rem;
6359
+ margin-right:-0.5rem
6360
+ }
6361
+
6362
+ .-my-2{
6363
+ margin-top:-0.5rem;
6364
+ margin-bottom:-0.5rem
6365
+ }
6366
+
6357
6367
  .mx-6{
6358
6368
  margin-left:1.5rem;
6359
6369
  margin-right:1.5rem
@@ -8885,6 +8895,16 @@ trix-editor {
8885
8895
  }
8886
8896
 
8887
8897
  @media (min-width: 1024px){
8898
+ .lg\:-mx-4{
8899
+ margin-left:-1rem;
8900
+ margin-right:-1rem
8901
+ }
8902
+
8903
+ .lg\:-my-4{
8904
+ margin-top:-1rem;
8905
+ margin-bottom:-1rem
8906
+ }
8907
+
8888
8908
  .lg\:flex{
8889
8909
  display:flex
8890
8910
  }
@@ -8927,6 +8947,10 @@ trix-editor {
8927
8947
  padding:1.5rem
8928
8948
  }
8929
8949
 
8950
+ .lg\:p-4{
8951
+ padding:1rem
8952
+ }
8953
+
8930
8954
  .lg\:px-8{
8931
8955
  padding-left:2rem;
8932
8956
  padding-right:2rem