diff options
Diffstat (limited to 'tipboard/tiles/pie_chart.js')
-rw-r--r-- | tipboard/tiles/pie_chart.js | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/tipboard/tiles/pie_chart.js b/tipboard/tiles/pie_chart.js new file mode 100644 index 0000000..27ab76e --- /dev/null +++ b/tipboard/tiles/pie_chart.js @@ -0,0 +1,64 @@ +function updateTilePie(tileId, data, config, tipboard) { + Tipboard.Dashboard.setDataByKeys(tileId, data, ['title', 'description']); + renderersSwapper = new RenderersSwapper(); + renderersSwapper.swap(config); + var config = jQuery.extend(true, DEFAULT_PIE_CHART_CONFIG, { + legend: { + border: Tipboard.DisplayUtils.palette.tile_background, + background: Tipboard.DisplayUtils.palette.tile_background + }, + grid: { + background: Tipboard.DisplayUtils.palette.tile_background + } + }, config); + // colors from palette + if (config.seriesColors) { + $.each(config.seriesColors, function (idx, color) { + config.seriesColors[idx] = Tipboard.DisplayUtils.replaceFromPalette(color); + }); + } else { + config.seriesColors = Tipboard.DisplayUtils.getPalette( + tipboard.color + ); + } + // autoscale required nodes and plot + // TODO: use buildFittedChart + var tile = Tipboard.Dashboard.id2node(tileId); + Tipboard.DisplayUtils.expandLastChild(tile); + Tipboard.DisplayUtils.expandLastChild($(tile).find('.tile-content')[0]); + Tipboard.Dashboard.chartsIds[tileId] = $.jqplot( + tileId + '-chart', [data.pie_data], config + ); +} +Tipboard.Dashboard.registerUpdateFunction('pie_chart', updateTilePie); + +var DEFAULT_PIE_CHART_CONFIG = { + title: false, + legend: { + textColor: 'white', + renderer: $.jqplot.DonutLegendRenderer, + location: 's', + show: true, + border: '0', + //placement: "outside", + rendererOptions: { + numberColumns: 3 + } + }, + grid: { + drawGridLines: false, + borderWidth: 0, + shadow: false + }, + seriesDefaults: { + renderer: $.jqplot.DonutRenderer, + rendererOptions: { + padding: 0, + shadowAlpha: 0, + sliceMargin: 0, + innerDiameter: 60, + showDataLabels: true, + startAngle: -90 + } + } +}; |