Class: Mensa::TablesController

Inherits:
ApplicationController show all
Defined in:
app/controllers/mensa/tables_controller.rb

Instance Method Summary collapse

Instance Method Details

#showObject



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/controllers/mensa/tables_controller.rb', line 3

def show
  config = params.permit(:format, :query, :id, :page, :table_view_id, :turbo_frame_id, order: {}, column_order: [], hidden_columns: [], params: {}, filters: {}).to_h

  @table = Mensa.for_name(params[:id], config)

  view_lookup_table = Mensa.for_name(params[:id], config)
  @view = if params[:table_view_id]
    Mensa::TableView.find_by(table_name: params[:id], id: params[:table_view_id]) ||
      view_lookup_table.system_views.find { |v| v.id == params[:table_view_id].to_sym }
  else
    view_lookup_table.default_system_view
  end

  config = (@view&.config&.deep_transform_keys(&:to_sym) || {}).merge(config)

  @table = Mensa.for_name(params[:id], config)
  @table.request = request
  @table.table_view = @view
  @table.original_view_context = helpers

  respond_to do |format|
    format.turbo_stream # Used for filtering
    format.html
  end
end