Quite good looking graph derived from d3.js http://c3js.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

64 lines
1.6 KiB

import {
CLASS,
isValue,
isFunction,
isString,
isUndefined,
isDefined,
ceil10,
asHalfPixel,
diffDomain,
isEmpty,
notEmpty,
getOption,
hasValue,
sanitise,
getPathBox,
ChartInternal
} from '../chartinternal.js';
const resize = function (size) {
let $$ = this.internal, config = $$.config;
config.size_width = size ? size.width : null;
config.size_height = size ? size.height : null;
this.flush();
};
const flush = function () {
const $$ = this.internal;
$$.updateAndRedraw({ withLegend: true, withTransition: false, withTransitionForTransform: false });
};
const destroy = function () {
const $$ = this.internal;
window.clearInterval($$.intervalForObserveInserted);
if ($$.resizeTimeout !== undefined) {
window.clearTimeout($$.resizeTimeout);
}
if (window.detachEvent) {
window.detachEvent('onresize', $$.resizeFunction);
} else if (window.removeEventListener) {
window.removeEventListener('resize', $$.resizeFunction);
} else {
const wrapper = window.onresize;
// check if no one else removed our wrapper and remove our resizeFunction from it
if (wrapper && wrapper.add && wrapper.remove) {
wrapper.remove($$.resizeFunction);
}
}
$$.selectChart.classed('c3', false).html('');
// MEMO: this is needed because the reference of some elements will not be released,
// then memory leak will happen.
Object.keys($$).forEach((key) => {
$$[key] = null;
});
return null;
};
export { resize, flush, destroy };