Module to keep single series data always sorted in FusionCharts

by Gary Cline

HTML

<script src="http://static.fusioncharts.com/code/red/19835/FusionCharts.js"></script>
<div id="chartcontainer">Chart loads here!!</div>

JavaScript

// File containing a FusionCharts module
FusionCharts(['private', 'modules.api.sortdata', function () {
    var ns = this,
        core = ns.core,
        sortData = function (ev, args) { 
            var chart = this,
                data;
            console.log(args);

        };

    ns.extend(core.prototype, {
        keepDataSorted: function (yes) {
            this[yes ? 'addEventListener' :
                 'removeEvendListener']('BeforeDataUpdate',
                   sortData);
        }
    });
}]);

// within page body
var myChart,
    fooChart,
    onLoad;
    
myChart = new FusionCharts({
    "chart": {
        "manageresize": "1",
        "upperlimit": "100",
        "lowerlimit": "0",
        "numbersuffix": "%",
        "majortmnumber": "11",
        "majortmcolor": "646F8F",
        "majortmheight": "9",
        "minortmnumber": "2",
        "minortmcolor": "646F8F",
        "minortmheight": "3",
        "majortmthickness": "1",
        "decimals": "0",
        "ledgap": "0",
        "ledsize": "1",
        "ledborderthickness": "4",
        "showborder": "0"
    },
    "colorrange": {
        "color": [
            {
                "minvalue": "0",
                "maxvalue": "30",
                "code": "cf0000"
            },
            {
                "minvalue": "30",
                "maxvalue": "60",
                "code": "ffcc33"
            },
            {
                "minvalue": "60",
                "maxvalue": "100",
                "code": "99cc00"
            }
        ]
    },
    "value": "95"
}).render();