Lazy-load Dashboard component to reduce the size of the main bundle.
This MR aims at reducing the main bundle size from 1.58MiB to 1.24MiB (in production) by lazy loading the charts more intelligently.
The first commit extracts the selects from all the chart files to put them in a single file (one of the reason the charts were included in the bundle was due to the selects being shared between lazy-loaded modules and non lazy-loaded ones.
The second commit exposes the charts from a single file and lazy load all of the charts from there.
charts/charts.js is not written in
ts because this would require modifying the target version of JS of
ts-loader, which I prefer to leave it as is (it seems we are not very consistent across babel, ts etc see #1036 ).