[OPT-1211] I can reorder table columns via drag and drop Created: 17/Apr/18  Updated: 18/Apr/19  Resolved: 09/May/18

Status: Done
Project: Camunda Optimize
Component/s: frontend
Affects Version/s: None
Fix Version/s: 2.1.0-alpha2, 2.1.0

Type: Feature Request Priority: L3 - Default
Reporter: Sebastian Stamm Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

AT:

  • In the report edit mode, I can re-arrange columns by grabbing a column by the header, moving it around and dropping it between two other columns
  • If the column is not dropped between two other columns, nothing happens
  • While grabbing a column, the column content is grayed out until the column is dropped
  • A representation of the column is following the mouse during the drag and drop operation
  • When hovering over a header, the cursor changes to indicate a possible grab interaction
  • Order of the columns is persisted when the report is saved and applies to report view mode, dashboards, shared views, and CSV export
  • When a column is hidden and the un-hidden, it retains its position


 Comments   
Comment by Johannes Heinemann [ 19/Apr/18 ]

Nice ticket description

Do we want to add that as feature part for OPT-1170?

Comment by Sebastian Stamm [ 19/Apr/18 ]

I would like to keep it separate as it is a new feature and not an improvement of an existing feature and it might involve subtickets on its own.

Comment by Johannes Heinemann [ 19/Apr/18 ]

Comment by Johannes Heinemann [ 26/Apr/18 ]

Review hints:

  • I like the code, especially in the processRawData.js. It is very expressive what is done in each row
  • processRawData.js/ColumnRearragement: the columnOrder is split up between meta and variables. Later in the code you label everything that is not related to variables 'processInstanceProps'. I think we should make that consistent and I would rather go for the 'processInstanceProps' than meta.
  • processRawData.js: the function getNestedColumnsForLastEntry() could be renamed to something like getNestedColumnsForVariables to make clear that this is related to the variables.
  • Report.js: the logic of if we want to show columns interactions does not belong here, since we have all kinds of reports that can be rendered here and they are not concerned with the column interactions. Think about using a addon mechanism that we already have in the dashboard.
Comment by Johannes Heinemann [ 09/May/18 ]

Nice, that looks a lot better

Generated at Tue Jul 16 06:08:00 CEST 2019 using JIRA 6.4.6#64021-sha1:33e5b454af4594f54560ac233c30a6e00459507e.