Module: Smriti::Admin::DatatableHelper

Included in:
MatViewDefinitionsController, MatViewRunsController
Defined in:
app/helpers/smriti/admin/datatable_helper.rb

Overview

Smriti::Admin::DatatableHelper

Helper module providing methods to manage datatable functionalities such as sorting, searching, filtering, and pagination.

Responsibilities:

  • Apply sorting based on request parameters.
  • Apply searching across multiple columns.
  • Apply filtering based on specified criteria.
  • Handle pagination with customizable page size.
  • Generate pagination window for UI display.
  • Parse custom headers to parameters for datatable requests.
  • Render Turbo Stream responses for dynamic datatable updates.

Methods:

  • dt_apply_sort: applies sorting to a relation based on parameters.
  • dt_apply_search: applies search filtering to a relation.
  • dt_apply_filter: applies column-based filtering to a relation.
  • dt_apply_pagination: paginates a relation.
  • pagination_window: generates page numbers for pagination UI.
  • parse_headers_to_params: parses custom headers into params.
  • render_dt_turbo_streams: renders Turbo Stream responses for datatables.
  • param_dtfilter: accessor for dtfilter param.
  • param_dtsearch: accessor for dtsearch param.
  • param_dtsort: accessor for dtsort param.