to be able to have a "quick look" at the output of any cell (#40)
to be able to export data in whatever format is suitable (to allow import into other apps)
There could be various to ways to handle these requirements, all with pros and cons. This issue tries to identify the optimal solution.
Proposed solution
A "full screen view" that allows data to be explored in a simple manner and allows that data to be exported.
The view would be opened by maximising the cell so that it becomes full screen. The viewer allows the data and the metadata to be viewed (as separate tabs). Some cells might also provide their own specialist tab in full screen mode (e.g. visualisation cells such as scatter plot would have a full screen version of the visualisation as the default tab).
The metadata currently has these aspects:
The size of the dataset
Properties of the dataset (created, description, source, history ...)
Datatype of each field
Properties of each field (created, description, source, history ...)
The data would be best handled as a card display, each record being a card. Structures should be rendered with one of the rendering services (currently only CDK, but ultimately this would be user configurable) which can handle generation of SVG from the provided smiles or molfile (POST is supported for molfile). Care should be taken so that only the necessary SVGs are generated.
The size of cards would be user configurable (small, medium, large) as would be the font size for display of the property names and values. Cards would "flow" left to right and then top to bottom and adapt to changing the page size.
User would be able to specify to download the data is a specified format (e.g. SDF, TAB/CSV, JSON, HTML). For JSON this would be zipped data + metadata.
Additional features
Useful addition features for a later versions:
Sort and filter by field properties
Editing data (aka EdiTABLE)
Tabular view (essentially replacing the current table cell)
Alternatives/Complications
If this becomes more that just a "viewer" then its complexity could explode. And once we implement it it probably will do just that.
Handling which fields to display might be tricky. If we allow user to show/hide specific fields this setting will need to be persisted in the cell configuration.
This feature handles two key usabilty aspects
There could be various to ways to handle these requirements, all with pros and cons. This issue tries to identify the optimal solution.
Proposed solution
A "full screen view" that allows data to be explored in a simple manner and allows that data to be exported. The view would be opened by maximising the cell so that it becomes full screen. The viewer allows the data and the metadata to be viewed (as separate tabs). Some cells might also provide their own specialist tab in full screen mode (e.g. visualisation cells such as scatter plot would have a full screen version of the visualisation as the default tab).
The metadata currently has these aspects:
The data would be best handled as a card display, each record being a card. Structures should be rendered with one of the rendering services (currently only CDK, but ultimately this would be user configurable) which can handle generation of SVG from the provided smiles or molfile (POST is supported for molfile). Care should be taken so that only the necessary SVGs are generated.
The size of cards would be user configurable (small, medium, large) as would be the font size for display of the property names and values. Cards would "flow" left to right and then top to bottom and adapt to changing the page size.
User would be able to specify to download the data is a specified format (e.g. SDF, TAB/CSV, JSON, HTML). For JSON this would be zipped data + metadata.
Additional features
Useful addition features for a later versions:
Alternatives/Complications
If this becomes more that just a "viewer" then its complexity could explode. And once we implement it it probably will do just that.
Handling which fields to display might be tricky. If we allow user to show/hide specific fields this setting will need to be persisted in the cell configuration.