While we do allow people to change the width of column in tree views this feature do not work in sao.
Often this is done because some columns are useless for said user but the trick is that this column could be used by another user.
I would like to propose the addition of a new attribute to
fields specified in tree views.
optional attribute would specify that this column could be added (or removed) from the interface by the user. Of course it’s up to the developer to decide if some columns are optional or not.
On the server side we would have an object storing by view ID and user the list of the displayed column and their order. The column list will be stored as a JSON list.
When requesting the view the server would send the view definition from the module if the view has not been changed by the user. Otherwise we would send the modified view and the list of the optional columns (so that user can update his view if he wishes to do so). Some validation during the computation of the modified view will need to occur (eg that all the non optional columns are present).
On the client side a button will allow the user to chose the columns he wants to display (with the option to remove the optional ones) and their order.