Focus-window selection in cartesian charts
Ability to select a vertical section of a cartesian chart (when vertically oriented, or horizontal section, when horizontally aligned).
- The focus window remains visible after selection, and if desired, able to be resized or moved.
- It is configuration option if the focus window can be resized and/or moved by user interaction
- The main aspects of the focus window can be styled through extension points
- In particular, the fill color of the selected area and the fill color of the not-selected area must be styleable
- Each chart has its own selection window, including small charts
- When a selection operation (new, move, resize) ends (when a drag completes):
- A focus window changed event is fired, informing about the currently selected base extent, containing the new window size (extent length) and start value, in base axis domain space (not in pixels).
- The datums in the selected base extent replace the currently selected on that chart (replaces only the datums selected on the specific chart or small chart), firing a selection changed event
- When a chart is rendered, the initial selection also fires events
- The focus window and its start position can be constrained through an external function through base axis domain values.
- Ex: Can only select windows of size "1 week" and these can only start at the 00:00 hours of a day
- Charts with a discrete base axis should automatically constrain selection to base band boundaries and (for now?) cannot be additionally constrained through an extension function
- The focus window selection mode is mutually exclusive with the existing "rubber-band and click selection" mode.
- Rubber-banding is disabled (in plot, axes, legend)
- Click-select is disabled (in plot, axes, legend)
- The initially selected window is configurable through chart options
- The focus window works on the base axis, irrespective of the chart orientation
- The focus window should be sensible to an axis being reversed