/** * WordPress dependencies */ const { __ } = wp.i18n; const { Component } = wp.element; const { ColorPalette } = wp.blockEditor || wp.editor; const { BaseControl, CheckboxControl, PanelBody, SelectControl, TextControl } = wp.components; class GeneralSettings extends Component { constructor() { super( ...arguments ); } render() { const type = this.props.chart['visualizer-chart-type']; const settings = this.props.chart['visualizer-settings']; const tooltipTriggers = [ { label: __( 'The tooltip will be displayed when the user hovers over an element' ), value: 'focus' } ]; if ( -1 >= [ 'timeline' ].indexOf( type ) ) { tooltipTriggers[1] = { label: __( 'The tooltip will be displayed when the user selects an element' ), value: 'selection' }; } tooltipTriggers[2] = { label: __( 'The tooltip will not be displayed' ), value: 'none' }; let positions = [ { label: __( 'Left of the chart' ), value: 'left' }, { label: __( 'Right of the chart' ), value: 'right' }, { label: __( 'Above the chart' ), value: 'top' }, { label: __( 'Below the chart' ), value: 'bottom' }, { label: __( 'Omit the legend' ), value: 'none' } ]; if ( 'pie' !== type ) { positions.push({ label: __( 'Inside the chart' ), value: 'in' }); } let titleHelp = __( 'Text to display above the chart.' ); if ( 0 <= [ 'tabular', 'dataTable', 'gauge', 'geo', 'timeline' ].indexOf( type ) ) { titleHelp = __( 'Text to display in the back-end admin area' ); } return ( { settings.title = e; this.props.edit( settings ); } } /> { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'pie', 'timeline' ].indexOf( type ) ) && ( { settings.titlePosition = e; this.props.edit( settings ); } } /> ) } { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'timeline' ].indexOf( type ) ) && ( { settings.titleTextStyle.color = e; this.props.edit( settings ); } } /> ) } { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'pie', 'timeline' ].indexOf( type ) ) && ( { settings.axisTitlesPosition = e; this.props.edit( settings ); } } /> ) } { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'pie', 'timeline' ].indexOf( type ) ) && ( { settings.fontName = e; this.props.edit( settings ); } } /> { settings.fontSize = e; this.props.edit( settings ); } } /> ) } { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'timeline' ].indexOf( type ) ) && ( { if ( 'pie' !== type ) { let axis = 'left' === e ? 1 : 0; Object.keys( settings.series ).map( i => { settings.series[i].targetAxisIndex = axis; }); } settings.legend.position = e; this.props.edit( settings ); } } /> { settings.legend.alignment = e; this.props.edit( settings ); } } /> { settings.legend.textStyle.color = e; this.props.edit( settings ); } } /> ) } { ( -1 >= [ 'tabular', 'gauge', 'geo', 'dataTable', 'timeline' ].indexOf( type ) ) && ( { settings.tooltip.trigger = e; this.props.edit( settings ); } } /> { settings.tooltip.showColorCode = e; this.props.edit( settings ); } } /> { ( 0 <= [ 'pie' ].indexOf( type ) ) && ( { settings.tooltip.text = e; this.props.edit( settings ); } } /> ) } ) } { ( -1 >= [ 'tabular', 'dataTable', 'gauge', 'geo', 'pie', 'timeline' ].indexOf( type ) ) && ( { settings.animation.startup = e ? '1' : '0'; this.props.edit( settings ); } } /> { settings.animation.duration = e; this.props.edit( settings ); } } /> { settings.animation.easing = e; this.props.edit( settings ); } } /> ) } ); } } export default GeneralSettings;