mirror of https://github.com/masayuki0812/c3.git
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.
65 lines
1.6 KiB
65 lines
1.6 KiB
8 years ago
|
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 };
|