diff --git a/lib/datagrid/helper.rb b/lib/datagrid/helper.rb index f18b124..bc42a56 100644 --- a/lib/datagrid/helper.rb +++ b/lib/datagrid/helper.rb @@ -167,12 +167,7 @@ def datagrid_order_path(grid, column, descending) datagrid_renderer.order_path(grid, column, descending, request) end - protected - - def datagrid_renderer - Renderer.for(self) - end - + # @!visibility private def datagrid_column_classes(grid, column) Datagrid::Utils.warn_once(<<~MSG) datagrid_column_classes is deprecated. Assign necessary classes manually. @@ -182,7 +177,13 @@ def datagrid_column_classes(grid, column) order_class = if grid.ordered_by?(column) ["ordered", grid.descending ? "desc" : "asc"] end - [column.name, order_class, column.options[:class]].compact.join(" ") + class_names(column.name, order_class, column.options[:class], column.tag_options[:class]) + end + + protected + + def datagrid_renderer + Renderer.for(self) end end end diff --git a/spec/datagrid/helper_spec.rb b/spec/datagrid/helper_spec.rb index 0c7bce9..37aaa34 100644 --- a/spec/datagrid/helper_spec.rb +++ b/spec/datagrid/helper_spec.rb @@ -731,13 +731,17 @@ def param_name grid = test_grid(order: :name, descending: true) do scope { Entry } column(:name) + column(:category, tag_options: { class: "long-column" }) column(:group_id, class: "short-column") end silence_deprecator do - expect(subject.send(:datagrid_column_classes, grid, :name)).to eq( + expect(subject.datagrid_column_classes(grid, :name)).to eq( "name ordered desc", ) - expect(subject.send(:datagrid_column_classes, grid, :group_id)).to eq( + expect(subject.datagrid_column_classes(grid, :category)).to eq( + "category long-column", + ) + expect(subject.datagrid_column_classes(grid, :group_id)).to eq( "group_id short-column", ) end