-
Notifications
You must be signed in to change notification settings - Fork 34
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Refactor table visible columns feature
The set_visible_columns functionality has been refactored and the entry point of feature relocated from Controller to DSL module. The respective Ajax calls have also been updated to target a new end-point. Reusability has been improved, making it easier to manage table column visibility in future projects. example: to enable "visible columns" feature call method in you AA DSL `enable_visible_columns_feature!`
- Loading branch information
1 parent
3a9fcd1
commit 02da5eb
Showing
5 changed files
with
61 additions
and
22 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
# frozen_string_literal : true | ||
|
||
module ActiveAdmin | ||
module IndexAsTableVisibleColumns | ||
module DSL | ||
# | ||
# This feature is disabled by default to enable it you need to call this method in your ActiveAdmin resource | ||
# allow you to determine which columns are visible for the index table | ||
def enable_visible_columns_feature! | ||
controller do | ||
def columns_visibility? | ||
true | ||
end | ||
end | ||
|
||
collection_action :visible_index_columns, only: :index do | ||
if params.key?(:index_table_visible_columns) | ||
visible_columns_storage = current_admin_user.visible_columns | ||
visible_columns_storage[visible_columns_key] = params[:index_table_visible_columns] | ||
current_admin_user.update_column(:visible_columns, visible_columns_storage) | ||
render json: { visible_columns: visible_columns_storage[visible_columns_key] } | ||
end | ||
end | ||
end | ||
end | ||
end | ||
end | ||
|
||
ActiveAdmin::ResourceDSL.send :include, ActiveAdmin::IndexAsTableVisibleColumns::DSL |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters