Commit 015bd222 authored by Kevin Yumang's avatar Kevin Yumang

SERV-2286 - bar chart element configuration WIP

parent d3e301af
...@@ -57,7 +57,7 @@ function set_data(elementObject, callback) { ...@@ -57,7 +57,7 @@ function set_data(elementObject, callback) {
let title = elementObject.attr('title') ?? null; let title = elementObject.attr('title') ?? null;
let colors = JSON.parse(elementObject.attr('colors')) ?? defaultColors; let colors = JSON.parse(elementObject.attr('colors')) ?? defaultColors;
let inverted = (elementObject.attr('inverted') == 'true' || elementObject.attr('inverted') == true); // default false let horizontal = (elementObject.attr('horizontal') == 'true' || elementObject.attr('horizontal') == true); // default false
let animationDuration = elementObject.attr('animation-duration') ?? 750; let animationDuration = elementObject.attr('animation-duration') ?? 750;
// ex '{value} users' - https://echarts.apache.org/en/option.html#yAxis.axisLabel.formatter // ex '{value} users' - https://echarts.apache.org/en/option.html#yAxis.axisLabel.formatter
...@@ -66,7 +66,7 @@ function set_data(elementObject, callback) { ...@@ -66,7 +66,7 @@ function set_data(elementObject, callback) {
let series = JSON.parse(elementObject.attr('series')) ?? null; let series = JSON.parse(elementObject.attr('series')) ?? null;
let seriesNames = series && series.map(function(item){ return item.name }); let seriesNames = series && series.map(function(item){ return item.name });
let seriesObject = setSeries(series, elementObject); let seriesObject = setSeries(series, elementObject, horizontal);
// Options // Options
options = { options = {
...@@ -93,10 +93,10 @@ function set_data(elementObject, callback) { ...@@ -93,10 +93,10 @@ function set_data(elementObject, callback) {
tooltip: setTooltip(), tooltip: setTooltip(),
// Horizontal axis // Horizontal axis
xAxis: inverted ? setYAxis(yAxisLabelValueFormat) : setXAxis(categories), xAxis: horizontal ? setYAxis(yAxisLabelValueFormat) : setXAxis(categories),
// Vertical axis // Vertical axis
yAxis: inverted ? setXAxis(categories) : setYAxis(yAxisLabelValueFormat), yAxis: horizontal ? setXAxis(categories) : setYAxis(yAxisLabelValueFormat),
// Add series // Add series
series: seriesObject series: seriesObject
...@@ -114,7 +114,7 @@ function set_data(elementObject, callback) { ...@@ -114,7 +114,7 @@ function set_data(elementObject, callback) {
//#endregion //#endregion
//#region FUNCTIONS FOR OPTIONS //#region FUNCTIONS FOR OPTIONS
function setSeries(seriesData, elementObject) { function setSeries(seriesData, elementObject, horizontal = false) {
// uses series options if available else use global options. // uses series options if available else use global options.
let seriesArray = []; let seriesArray = [];
...@@ -136,7 +136,7 @@ function setSeries(seriesData, elementObject) { ...@@ -136,7 +136,7 @@ function setSeries(seriesData, elementObject) {
normal: { normal: {
label: { label: {
show: seriesData[i].showBarValues ?? showBarValues, show: seriesData[i].showBarValues ?? showBarValues,
position: 'top', position: horizontal ? 'insideRight' : 'top',
textStyle: { textStyle: {
fontWeight: 500 fontWeight: 500
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
title="{{ $title }}" title="{{ $title }}"
colors="{{ json_encode($colors) }}" colors="{{ json_encode($colors) }}"
bar-values="{{ $barValues }}" bar-values="{{ $barValues }}"
inverted="{{ $inverted }}" horizontal="{{ $horizontal }}"
stacked="{{ $stacked }}" stacked="{{ $stacked }}"
animation-duration="{{ $animationDuration }}" animation-duration="{{ $animationDuration }}"
@if($yAxisLabelValueFormat != null) y-axis-label-value-format="{{ $yAxisLabelValueFormat }}" @endif @if($yAxisLabelValueFormat != null) y-axis-label-value-format="{{ $yAxisLabelValueFormat }}" @endif
......
...@@ -67,7 +67,7 @@ ...@@ -67,7 +67,7 @@
->withTitle($parameters['title'] ?? null) ->withTitle($parameters['title'] ?? null)
->withColors($parameters['colors'] ?? null) ->withColors($parameters['colors'] ?? null)
->withBarValues($parameters['bar-values'] ?? false) ->withBarValues($parameters['bar-values'] ?? false)
->withInverted($parameters['inverted'] ?? false) ->withHorizontal($parameters['horizontal'] ?? false)
->withStacked($parameters['stacked'] ?? false) ->withStacked($parameters['stacked'] ?? false)
->withAnimationDuration($parameters['animation-duration'] ?? 750) ->withAnimationDuration($parameters['animation-duration'] ?? 750)
->withYAxisLabelValueFormat($parameters['y-axis-label-value-format'] ?? null) ->withYAxisLabelValueFormat($parameters['y-axis-label-value-format'] ?? null)
......
...@@ -23,9 +23,15 @@ ...@@ -23,9 +23,15 @@
// json string data should be valid else it will return null // json string data should be valid else it will return null
$rawData = '{ $rawData = '{
"color":[
"#8dd3c7",
"#ffffb3"
],
"textStyle":{
"color":"#fff"
},
"xAxis":{ "xAxis":{
"type":"category", "type":"category",
"boundaryGap":false,
"data":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"] "data":["Mon","Tue","Wed","Thu","Fri","Sat","Sun"]
}, },
"yAxis":{ "yAxis":{
...@@ -34,7 +40,7 @@ ...@@ -34,7 +40,7 @@
"series":[ "series":[
{ {
"data":[820,932,901,934,1290,1330,1320], "data":[820,932,901,934,1290,1330,1320],
"type":"line", "type":"bar",
"areaStyle":{} "areaStyle":{}
} }
] ]
...@@ -44,6 +50,7 @@ ...@@ -44,6 +50,7 @@
@Limitless::CardStart(['title' => "Basic Setup", 'icon' => 'icon-info22' ] ) @Limitless::CardStart(['title' => "Basic Setup", 'icon' => 'icon-info22' ] )
@Limitless::BarChart([ @Limitless::BarChart([
'title' => 'Basic',
'mark-line' => 'average', 'mark-line' => 'average',
'categories' => $categories, 'categories' => $categories,
'series' => $seriesData, 'series' => $seriesData,
...@@ -58,12 +65,20 @@ ...@@ -58,12 +65,20 @@
]) ])
@Limitless::CardStop @Limitless::CardStop
@Limitless::CardStart(['title' => "Stacked Setup", 'icon' => 'icon-info22' ] ) @Limitless::CardStart(['title' => "Stacked Horizontal Setup", 'icon' => 'icon-info22' ] )
@Limitless::BarChart([ @Limitless::BarChart([
'horizontal' => true,
'stacked' => true, 'stacked' => true,
'bar-values' => true,
'categories' => $categories, 'categories' => $categories,
'series' => $seriesData, 'series' => $seriesData,
]) ])
@Limitless::CardStop @Limitless::CardStop
@Limitless::CardStart(['title' => "Raw Setup", 'icon' => 'icon-info22' ] )
@Limitless::BarChart([
'raw' => $rawData
])
@Limitless::CardStop
@stop @stop
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment