FusionCharts API-Event: disposeCancelled

Created using FusionCharts Suite XT - www.fusioncharts.com

by FusionCharts

HTML

<script src="https://static.fusioncharts.com/code/latest/fusioncharts.js"></script>
<script src="https://static.fusioncharts.com/code/latest/fusioncharts.charts.js"></script>
<script src="https://static.fusioncharts.com/code/latest/themes/fusioncharts.theme.fint.js"></script>
<!-- This sample shows the event parameters, and their values, when disposeCancelled event is triggered-->
<div id="indicatorDiv">Event name: <strong> disposeCancelled </strong> 
    
   <p>Triggered when the default behaviour of the beforeDispose event is cancelled by calling the eventObj.preventDefault() method.</p>
   <p>When triggered, the disposeCancelled event provides the <strong> eventObj </strong> object (object containing information generic to all events) parameter to the event handler.</p>
   <p>Scroll down to the table rendered below the chart to view information contained in the eventObj object.</p>
    
</div>
<div id="chart-container">FusionCharts will render here</div>
<button id="btn_dispose">Dispose Chart</button>
<div>
    <div>
        <div id="header">
            <div class="parameter-name">Parameter Name</div>
            <div class="parameter-value">Parameter Value</div>
        </div>
        <div id="attrs-table"></div>
    </div>
</div>

CSS

body {
    padding: 5px;
    margin: 0 auto;
}
strong {
  font-weight: bold;
}
#header {
    display: none;
}
#indicatorDiv {
    width: 500px;
    font-family:'Arial', 'Helvetica';
    font-size: 14px;
}
p {
    margin-top: 20px;
    margin-bottom: 20px;
}
#attrs-table {
    text-align: center;
    width: 500px;
}
.parameter-name, .parameter-value {
    width: 250px;
    font-weight: bold;
    text-align: center;
    float: left;
}
.title, .value {
    float:left;
    width: 230px;
    height: 20px;
    background: #fff;
    padding: 5px 10px;
}
.title {
    clear: left;
}
.title:nth-child(4n+1), .value:nth-child(4n+2) {
    background: rgb(0, 117, 194);
    color: #fff;
}
.value {
    word-wrap: break-word;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

JavaScript

FusionCharts.ready(function () {
    var ageGroupChart = new FusionCharts({
        type: 'pie2d',
        renderAt: 'chart-container',
        width: '450',
        height: '250',
        dataFormat: 'json',
        dataSource: {
            "chart": {
                "caption": "Split of visitors by age group",
                    "subCaption": "Last year",
                    "enableSmartLabels": "0",
                    "showPercentValues": "1",
                    "showTooltip": "0",
                    "decimals": "1",
                    "theme": "fint"
            },
                "data": [{
                "label": "Teenage",
                    "value": "1250400"
            }, {
                "label": "Adult",
                    "value": "1463300"
            }, {
                "label": "Mid-age",
                    "value": "1050700"
            }, {
                "label": "Senior",
                    "value": "491000"
            }]
        },
            "events": {

            //Cancelling chart dispose. Calling the preventDefault() method will trigger the disposeCancelled event.
            "beforeDispose": function (eventObj) {
                eventObj.preventDefault();
            },

            /**
             * @description
             *Triggered when the default behavior of the beforeDispose event is cancelled by calling the eventObj.preventDefault() method.  *
             * @param {Object} eventObj: An object containing all the details related to this event like eventId, sender, etc.
             */

                "disposeCancelled": function (eventObj) {
                var header = document.getElementById('header');
                header.style.display = 'block';

                var tempDiv = document.createElement('div');
                var attrsTable = document.getElementById('attrs-table');
                var titleDiv, valueDiv;
                for (var prop in eventObj) {
                    titleDiv =...