Browse Source

Added xCenter and yCenter to defaults

codeClimate
Wim Rijnders 8 years ago
parent
commit
165aa03e13
1 changed files with 20 additions and 21 deletions
  1. +20
    -21
      lib/graph3d/Graph3d.js

+ 20
- 21
lib/graph3d/Graph3d.js View File

@ -39,7 +39,9 @@ var OPTIONKEYS = [
'animationPreload', 'animationPreload',
'animationAutoStart', 'animationAutoStart',
'axisColor', 'axisColor',
'gridColor'
'gridColor',
'xCenter',
'yCenter'
]; ];
@ -78,7 +80,9 @@ var DEFAULTS = {
animationInterval: 1000, // milliseconds animationInterval: 1000, // milliseconds
animationPreload : false, animationPreload : false,
axisColor : '#4D4D4D', axisColor : '#4D4D4D',
gridColor : '#D3D3D3'
gridColor : '#D3D3D3',
xCenter : '55%',
yCenter : '50%'
// Following not in defaults (yet) but present in user settings // Following not in defaults (yet) but present in user settings
@ -174,9 +178,6 @@ function Graph3d(container, data, options) {
// These require special attention in some way // These require special attention in some way
// TODO: handle these // TODO: handle these
this.defaultXCenter = '55%';
this.defaultYCenter = '50%';
this.showLegend = undefined; // auto by default (based on graph style) this.showLegend = undefined; // auto by default (based on graph style)
this.style = Graph3d.STYLE.DOT; this.style = Graph3d.STYLE.DOT;
@ -345,8 +346,8 @@ Graph3d.prototype._convertTranslationToScreen = function(translation) {
// shift and scale the point to the center of the screen // shift and scale the point to the center of the screen
// use the width of the graph to scale both horizontally and vertically. // use the width of the graph to scale both horizontally and vertically.
return new Point2d( return new Point2d(
this.xcenter + bx * this.frame.canvas.clientWidth,
this.ycenter - by * this.frame.canvas.clientWidth);
this.currentXCenter + bx * this.frame.canvas.clientWidth,
this.currentYCenter - by * this.frame.canvas.clientWidth);
}; };
@ -873,30 +874,30 @@ Graph3d.prototype.animationStop = function() {
/** /**
* Resize the center position based on the current values in this.defaultXCenter
* and this.defaultYCenter (which are strings with a percentage or a value
* in pixels). The center positions are the variables this.xCenter
* and this.yCenter
* Resize the center position based on the current values in this.xCenter
* and this.yCenter (which are strings with a percentage or a value
* in pixels). The center positions are the variables this.currentXCenter
* and this.currentYCenter
*/ */
Graph3d.prototype._resizeCenter = function() { Graph3d.prototype._resizeCenter = function() {
// calculate the horizontal center position // calculate the horizontal center position
if (this.defaultXCenter.charAt(this.defaultXCenter.length-1) === '%') {
this.xcenter =
parseFloat(this.defaultXCenter) / 100 *
if (this.xCenter.charAt(this.xCenter.length-1) === '%') {
this.currentXCenter =
parseFloat(this.xCenter) / 100 *
this.frame.canvas.clientWidth; this.frame.canvas.clientWidth;
} }
else { else {
this.xcenter = parseFloat(this.defaultXCenter); // supposed to be in px
this.currentXCenter = parseFloat(this.xCenter); // supposed to be in px
} }
// calculate the vertical center position // calculate the vertical center position
if (this.defaultYCenter.charAt(this.defaultYCenter.length-1) === '%') {
this.ycenter =
parseFloat(this.defaultYCenter) / 100 *
if (this.yCenter.charAt(this.yCenter.length-1) === '%') {
this.currentYCenter =
parseFloat(this.yCenter) / 100 *
(this.frame.canvas.clientHeight - this.frame.filter.clientHeight); (this.frame.canvas.clientHeight - this.frame.filter.clientHeight);
} }
else { else {
this.ycenter = parseFloat(this.defaultYCenter); // supposed to be in px
this.currentYCenter = parseFloat(this.yCenter); // supposed to be in px
} }
}; };
@ -995,8 +996,6 @@ Graph3d.prototype.setOptions = function (options) {
safeCopy(options, this, OPTIONKEYS); safeCopy(options, this, OPTIONKEYS);
// Handle the rest of the parameters // Handle the rest of the parameters
if (options.xCenter !== undefined) this.defaultXCenter = options.xCenter;
if (options.yCenter !== undefined) this.defaultYCenter = options.yCenter;
if (options.showLegend !== undefined) this.defaultShowLegend = options.showLegend; if (options.showLegend !== undefined) this.defaultShowLegend = options.showLegend;
if (options.style !== undefined) { if (options.style !== undefined) {

Loading…
Cancel
Save