From c82a1d19dbb992b4de55b3c5ccb3dd978b42c9ea Mon Sep 17 00:00:00 2001 From: Jared Jurkiewicz Date: Thu, 17 Jul 2014 12:53:02 -0400 Subject: [PATCH] Merging in pull request 114 (add chart margin support to themes) fixes: #18079 --- charting/Chart.js | 9 +++++++-- charting/SimpleTheme.js | 1 + 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/charting/Chart.js b/charting/Chart.js index de4e89b2e9..7e363e1243 100644 --- a/charting/Chart.js +++ b/charting/Chart.js @@ -49,7 +49,8 @@ define(["../main", "dojo/_base/lang", "dojo/_base/array","dojo/_base/declare", " destroy = func.lambda("item.destroy()"), makeClean = func.lambda("item.dirty = false"), makeDirty = func.lambda("item.dirty = true"), - getName = func.lambda("item.name"); + getName = func.lambda("item.name"), + defaultMargins = {l: 10, t: 10, r: 10, b: 10}; var Chart = declare(has("dojo-bidi")? "dojox.charting.NonBidiChart" : "dojox.charting.Chart", null, { // summary: @@ -160,7 +161,8 @@ define(["../main", "dojo/_base/lang", "dojo/_base/array","dojo/_base/declare", " // initialize parameters if(!kwArgs){ kwArgs = {}; } - this.margins = kwArgs.margins ? kwArgs.margins : {l: 10, t: 10, r: 10, b: 10}; + this.margins = kwArgs.margins || defaultMargins; + this._customMargins = !!kwArgs.margins; this.stroke = kwArgs.stroke; this.fill = kwArgs.fill; this.delayInMs = kwArgs.delayInMs || 200; @@ -227,6 +229,9 @@ define(["../main", "dojo/_base/lang", "dojo/_base/array","dojo/_base/declare", " // returns: dojox/charting/Chart // A reference to the current chart for functional chaining. this.theme = theme.clone(); + if(!this._customMargins){ + this.margins = this.theme.chart.margins || defaultMargins; + } this.dirty = true; return this; // dojox/charting/Chart }, diff --git a/charting/SimpleTheme.js b/charting/SimpleTheme.js index b2ddadfdc6..c385c359dd 100644 --- a/charting/SimpleTheme.js +++ b/charting/SimpleTheme.js @@ -44,6 +44,7 @@ define(["dojo/_base/lang", "dojo/_base/array","dojo/_base/declare","dojo/_base/C // The default theme (and structure) looks like so: // | // all objects are structs used directly in dojox.gfx // | chart:{ + // | margins: {l: 10, t: 10, r: 10, b: 10}, // | stroke: null, // | fill: "white", // | pageStyle: null // suggested page style as an object suitable for dojo.style()