@visactor/vchart
Version:
charts lib based @visactor/VGrammar
38 lines (30 loc) • 1.74 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: !0
}), exports.releaseVRenderComponent = exports.collectVRenderComponents = exports.releaseVRenderComponentSync = void 0;
const releaseVRenderComponentSync = (component, removeFromParent = !0) => {
var _a, _b, _c, _d, _e;
const parent = component.parent;
null === (_a = component.release) || void 0 === _a || _a.call(component, !0), null === (_c = (_b = component).removeAllChild) || void 0 === _c || _c.call(_b, !0),
removeFromParent && (null === (_e = null !== (_d = component.parent) && void 0 !== _d ? _d : parent) || void 0 === _e || _e.removeChild(component, !0));
};
exports.releaseVRenderComponentSync = releaseVRenderComponentSync;
const collectVRenderComponents = component => {
var _a, _b;
const components = [ component ];
return null === (_b = (_a = component).forEachChildren) || void 0 === _b || _b.call(_a, (child => {
components.push(...(0, exports.collectVRenderComponents)(child));
})), components;
};
exports.collectVRenderComponents = collectVRenderComponents;
const releaseVRenderComponent = (component, options = {}) => {
var _a, _b;
const {enableExitAnimation: enableExitAnimation = !0, removeFromParent: removeFromParent = !0, onComplete: onComplete} = options;
return !(!enableExitAnimation || !(null === (_b = (_a = component).releaseWithExitAnimation) || void 0 === _b ? void 0 : _b.call(_a, {
removeFromParent: removeFromParent,
onComplete: onComplete
}))) || ((0, exports.releaseVRenderComponentSync)(component, removeFromParent),
!1);
};
exports.releaseVRenderComponent = releaseVRenderComponent;
//# sourceMappingURL=release-vrender-component.js.map