|
Re: Custom widget for fusioncharts [message #1441838 is a reply to message #1426338] |
Fri, 10 October 2014 08:56 |
Alexandru LATA Messages: 8 Registered: October 2013 |
Junior Member |
|
|
Hi all,
Well in the end it wasn't very hard to do this (for someone who never touched js).
Here's the code of the handler.js :
(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);
}
}
});
}());
The Chart class is pretty straightforward, consider checking the CKEditor example.
Best regards,
|
|
|
Powered by
FUDForum. Page generated in 0.03380 seconds