Enhance csv_field: Fixed Header, Fixed Columns, and Improved DataTables Integration

Created on 18 March 2025, 20 days ago

Problem/Motivation

The csv_field module currently lacks support for fixed headers and fixed columns, making it difficult to navigate large tables. Users have requested enhancements to improve accessibility and usability when handling wide datasets.

Additionally, the DataTables responsive mode has been removed due to conflicts with fixed columns and horizontal scrolling.

Steps to reproduce

  • Enable the csv_field module and upload a CSV file with a large number of columns.
  • Observe that when scrolling horizontally or vertically, column headers and row headers disappear from view.
  • Try using DataTables' responsive mode, which breaks alignment when combined with horizontal scrolling.

Proposed resolution

  • Add support for FixedHeader to keep the table header visible when scrolling vertically.
  • Add support for FixedColumns to allow freezing the first column for better navigation.
  • Introduce two new checkboxes in the widget configuration to enable/disable FixedHeader and FixedColumns dynamically.
  • Improve DataTables implementation by ensuring horizontal scrolling works properly.
  • Remove responsive mode, which conflicts with the new functionality.

Remaining tasks

User interface changes

  • Add two new checkboxes in the field widget settings:
    • ✅ Freeze Column Headers
    • ✅ Freeze Row Headers

API changes

Data model changes

Feature request
Status

Active

Version

1.0

Component

Code

Created by

🇦🇲Armenia arthur.baghdasar

Live updates comments and jobs are added and updated live.
Sign in to follow issues

Comments & Activities

Production build 0.71.5 2024