From ccb7695056beb63c2fb86d4c85f8294539c2ed69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Javi=20Mart=C3=ADn?= Date: Tue, 30 Jun 2020 19:26:07 +0200 Subject: [PATCH] Use a custom link_to method for table actions This way we'll be able to change the behavior of these links without changing the view nor affecting the rest of the application. --- app/components/admin/budgets/table_actions_component.rb | 1 + app/components/admin/hidden_table_actions_component.rb | 1 + .../admin/organizations/table_actions_component.rb | 1 + app/components/admin/roles/table_actions_component.rb | 1 + app/components/admin/table_actions_component.rb | 1 + app/components/concerns/table_action_link.rb | 7 +++++++ 6 files changed, 12 insertions(+) create mode 100644 app/components/concerns/table_action_link.rb diff --git a/app/components/admin/budgets/table_actions_component.rb b/app/components/admin/budgets/table_actions_component.rb index 75dab1850..0250eb1d7 100644 --- a/app/components/admin/budgets/table_actions_component.rb +++ b/app/components/admin/budgets/table_actions_component.rb @@ -1,4 +1,5 @@ class Admin::Budgets::TableActionsComponent < ApplicationComponent + include TableActionLink attr_reader :budget def initialize(budget) diff --git a/app/components/admin/hidden_table_actions_component.rb b/app/components/admin/hidden_table_actions_component.rb index 68647d130..41788be0b 100644 --- a/app/components/admin/hidden_table_actions_component.rb +++ b/app/components/admin/hidden_table_actions_component.rb @@ -1,4 +1,5 @@ class Admin::HiddenTableActionsComponent < ApplicationComponent + include TableActionLink attr_reader :record def initialize(record) diff --git a/app/components/admin/organizations/table_actions_component.rb b/app/components/admin/organizations/table_actions_component.rb index d0b29708f..786755b74 100644 --- a/app/components/admin/organizations/table_actions_component.rb +++ b/app/components/admin/organizations/table_actions_component.rb @@ -1,4 +1,5 @@ class Admin::Organizations::TableActionsComponent < ApplicationComponent + include TableActionLink delegate :can?, to: :controller attr_reader :organization diff --git a/app/components/admin/roles/table_actions_component.rb b/app/components/admin/roles/table_actions_component.rb index 57d19f169..d674321af 100644 --- a/app/components/admin/roles/table_actions_component.rb +++ b/app/components/admin/roles/table_actions_component.rb @@ -1,4 +1,5 @@ class Admin::Roles::TableActionsComponent < ApplicationComponent + include TableActionLink attr_reader :record, :actions def initialize(record, actions: [:destroy]) diff --git a/app/components/admin/table_actions_component.rb b/app/components/admin/table_actions_component.rb index 339dc4c6c..e43c5294d 100644 --- a/app/components/admin/table_actions_component.rb +++ b/app/components/admin/table_actions_component.rb @@ -1,4 +1,5 @@ class Admin::TableActionsComponent < ApplicationComponent + include TableActionLink attr_reader :record, :options def initialize(record = nil, **options) diff --git a/app/components/concerns/table_action_link.rb b/app/components/concerns/table_action_link.rb new file mode 100644 index 000000000..bca6a91ad --- /dev/null +++ b/app/components/concerns/table_action_link.rb @@ -0,0 +1,7 @@ +module TableActionLink + extend ActiveSupport::Concern + + def link_to(text, url, **options) + super(text, url, options) + end +end