Skip to content
Extraits de code Groupes Projets
jqplot.axisLabelRenderer.js 3,17 ko
Newer Older
  • Learn to ignore specific revisions
  • BeezyT's avatar
    BeezyT a validé
    /**
     * jqPlot
     * Pure JavaScript plotting plugin using jQuery
     *
     * Version: @VERSION
     *
     * Copyright (c) 2009-2011 Chris Leonello
     * jqPlot is currently available for use in all personal or commercial projects 
     * under both the MIT (http://www.opensource.org/licenses/mit-license.php) and GPL 
     * version 2.0 (http://www.gnu.org/licenses/gpl-2.0.html) licenses. This means that you can 
     * choose the license that best suits your project and use it accordingly. 
     *
     * Although not required, the author would appreciate an email letting him 
     * know of any substantial use of jqPlot.  You can reach the author at: 
     * chris at jqplot dot com or see http://www.jqplot.com/info.php .
     *
     * If you are feeling kind and generous, consider supporting the project by
     * making a donation at: http://www.jqplot.com/donate.php .
     *
     * sprintf functions contained in jqplot.sprintf.js by Ash Searle:
     *
     *     version 2007.04.27
     *     author Ash Searle
     *     http://hexmen.com/blog/2007/03/printf-sprintf/
     *     http://hexmen.com/js/sprintf.js
     *     The author (Ash Searle) has placed this code in the public domain:
     *     "This code is unrestricted: you are free to use it however you like."
     * 
     */
    (function($) {
        // class: $.jqplot.AxisLabelRenderer
        // Renderer to place labels on the axes.
        $.jqplot.AxisLabelRenderer = function(options) {
            // Group: Properties
            $.jqplot.ElemContainer.call(this);
            // name of the axis associated with this tick
            this.axis;
            // prop: show
            // wether or not to show the tick (mark and label).
            this.show = true;
            // prop: label
            // The text or html for the label.
            this.label = '';
            this.fontFamily = null;
            this.fontSize = null;
            this.textColor = null;
            this._elem;
            // prop: escapeHTML
            // true to escape HTML entities in the label.
            this.escapeHTML = false;
            
            $.extend(true, this, options);
        };
        
        $.jqplot.AxisLabelRenderer.prototype = new $.jqplot.ElemContainer();
        $.jqplot.AxisLabelRenderer.prototype.constructor = $.jqplot.AxisLabelRenderer;
        
        $.jqplot.AxisLabelRenderer.prototype.init = function(options) {
            $.extend(true, this, options);
        };
        
        $.jqplot.AxisLabelRenderer.prototype.draw = function(ctx, plot) {
            // Memory Leaks patch
            if (this._elem) {
                this._elem.emptyForce();
                this._elem = null;
            }
    
            this._elem = $('<div style="position:absolute;" class="jqplot-'+this.axis+'-label"></div>');
            
            if (Number(this.label)) {
                this._elem.css('white-space', 'nowrap');
            }
            
            if (!this.escapeHTML) {
                this._elem.html(this.label);
            }
            else {
                this._elem.text(this.label);
            }
            if (this.fontFamily) {
                this._elem.css('font-family', this.fontFamily);
            }
            if (this.fontSize) {
                this._elem.css('font-size', this.fontSize);
            }
            if (this.textColor) {
                this._elem.css('color', this.textColor);
            }
            
            return this._elem;
        };
        
        $.jqplot.AxisLabelRenderer.prototype.pack = function() {
        };
    })(jQuery);