|
Struts example source code file (Axis.js)
The Struts Axis.js source code/* Copyright (c) 2004-2006, The Dojo Foundation All Rights Reserved. Licensed under the Academic Free License version 2.1 or above OR the modified BSD license. For more information on Dojo licensing, see: http://dojotoolkit.org/community/licensing.shtml */ dojo.provide("dojo.charting.Axis"); dojo.require("dojo.lang.common"); dojo.charting.Axis = function (label, scale, labels) { var id = "dojo-charting-axis-" + dojo.charting.Axis.count++; this.getId = function () { return id; }; this.setId = function (key) { id = key; }; this.scale = scale || "linear"; this.label = label || ""; this.showLabel = true; this.showLabels = true; this.showLines = false; this.showTicks = false; this.range = {upper:100, lower:0}; this.origin = "min"; this._origin = null; this.labels = labels || []; this._labels = []; this.nodes = {main:null, axis:null, label:null, labels:null, lines:null, ticks:null}; this._rerender = false; }; dojo.charting.Axis.count = 0; dojo.extend(dojo.charting.Axis, {getCoord:function (val, plotArea, plot) { val = parseFloat(val, 10); var area = plotArea.getArea(); if (plot.axisX == this) { var offset = 0 - this.range.lower; var min = this.range.lower + offset; var max = this.range.upper + offset; val += offset; return (val * ((area.right - area.left) / max)) + area.left; } else { var max = this.range.upper; var min = this.range.lower; var offset = 0; if (min < 0) { offset += Math.abs(min); } max += offset; min += offset; val += offset; var pmin = area.bottom; var pmax = area.top; return (((pmin - pmax) / (max - min)) * (max - val)) + pmax; } }, initializeOrigin:function (drawAgainst, plane) { if (this._origin == null) { this._origin = this.origin; } if (isNaN(this._origin)) { if (this._origin.toLowerCase() == "max") { this.origin = drawAgainst.range[(plane == "y") ? "upper" : "lower"]; } else { if (this._origin.toLowerCase() == "min") { this.origin = drawAgainst.range[(plane == "y") ? "lower" : "upper"]; } else { this.origin = 0; } } } }, initializeLabels:function () { this._labels = []; if (this.labels.length == 0) { this.showLabels = false; this.showLines = false; this.showTicks = false; } else { if (this.labels[0].label && this.labels[0].value != null) { for (var i = 0; i < this.labels.length; i++) { this._labels.push(this.labels[i]); } } else { if (!isNaN(this.labels[0])) { for (var i = 0; i < this.labels.length; i++) { this._labels.push({label:this.labels[i], value:this.labels[i]}); } } else { var a = []; for (var i = 0; i < this.labels.length; i++) { a.push(this.labels[i]); } var s = a.shift(); this._labels.push({label:s, value:this.range.lower}); if (a.length > 0) { var s = a.pop(); this._labels.push({label:s, value:this.range.upper}); } if (a.length > 0) { var range = this.range.upper - this.range.lower; var step = range / (this.labels.length - 1); for (var i = 1; i <= a.length; i++) { this._labels.push({label:a[i - 1], value:this.range.lower + (step * i)}); } } } } } }, initialize:function (plotArea, plot, drawAgainst, plane) { this.destroy(); this.initializeOrigin(drawAgainst, plane); this.initializeLabels(); var node = this.render(plotArea, plot, drawAgainst, plane); return node; }, destroy:function () { for (var p in this.nodes) { while (this.nodes[p] && this.nodes[p].childNodes.length > 0) { this.nodes[p].removeChild(this.nodes[p].childNodes[0]); } if (this.nodes[p] && this.nodes[p].parentNode) { this.nodes[p].parentNode.removeChild(this.nodes[p]); } this.nodes[p] = null; } }}); dojo.requireIf(dojo.render.svg.capable, "dojo.charting.svg.Axis"); dojo.requireIf(dojo.render.vml.capable, "dojo.charting.vml.Axis"); Other Struts examples (source code examples)Here is a short list of links related to this Struts Axis.js source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.