diff options
Diffstat (limited to 'app/assets/javascripts/monitoring/components/charts/options.js')
-rw-r--r-- | app/assets/javascripts/monitoring/components/charts/options.js | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/app/assets/javascripts/monitoring/components/charts/options.js b/app/assets/javascripts/monitoring/components/charts/options.js index 09b03774580..f7822e69b1d 100644 --- a/app/assets/javascripts/monitoring/components/charts/options.js +++ b/app/assets/javascripts/monitoring/components/charts/options.js @@ -1,5 +1,6 @@ import { SUPPORTED_FORMATS, getFormatter } from '~/lib/utils/unit_format'; -import { s__ } from '~/locale'; +import { __, s__ } from '~/locale'; +import { formatDate, timezones, formats } from '../../format_date'; const yAxisBoundaryGap = [0.1, 0.1]; /** @@ -21,6 +22,21 @@ const chartGridLeft = 75; // Axis options /** + * Axis types + * @see https://echarts.apache.org/en/option.html#xAxis.type + */ +export const axisTypes = { + /** + * Category axis, suitable for discrete category data. + */ + category: 'category', + /** + * Time axis, suitable for continuous time series data. + */ + time: 'time', +}; + +/** * Converts .yml parameters to echarts axis options for data axis * @param {Object} param - Dashboard .yml definition options */ @@ -58,6 +74,17 @@ export const getYAxisOptions = ({ }; }; +export const getTimeAxisOptions = ({ timezone = timezones.LOCAL } = {}) => ({ + name: __('Time'), + type: axisTypes.time, + axisLabel: { + formatter: date => formatDate(date, { format: formats.shortTime, timezone }), + }, + axisPointer: { + snap: false, + }, +}); + // Chart grid /** |