(function() { 'use strict'; // Chart constructor. var Chart = function(properties) { var el = document.createElement("divChart"); el.style.position = "absolute"; el.style.left = "0px"; el.style.top = "0px"; el.style.width = "100%"; el.style.height = "100%"; this._el = el; this._hasModifyListener = false; // Create the chart. var chartId = properties.chartId; var chartType = properties.chartType; var chartWidth = properties.chartWidth; var chartHeight = properties.chartHeight; var myChart = new FusionCharts(chartType, chartId, chartWidth, chartHeight, "0", "1"); // Set chart data. var chartData = properties.chartData; myChart.setJSONData(chartData); // Render the chart. myChart.render(this._el); }; Chart.prototype = { getElement : function() { return this._el; } }; rap.registerTypeHandler("fusionchart.Chart", { factory : function(properties) { var result = new Chart(properties); rap.getObject(properties.parent).append(result.getElement()); return result; }, destructor : function(widget) { var el = widget.getElement(); if (el.parentNode) { el.parentNode.removeChild(el); } } }); }());