UNPKG

@visactor/vrender-components

Version:

components library for dp visualization

31 lines (28 loc) 1.39 kB
export function collectTrackedAnimates(graphic, animates = [], visited = new Set) { var _a, _b, _c, _d, _e; const trackedAnimates = null !== (_c = null === (_b = (_a = graphic).getTrackedAnimates) || void 0 === _b ? void 0 : _b.call(_a)) && void 0 !== _c ? _c : graphic.animates; return null == trackedAnimates || trackedAnimates.forEach((animate => { animate && !visited.has(animate) && (visited.add(animate), animates.push(animate)); })), null === (_e = (_d = graphic).forEachChildren) || void 0 === _e || _e.call(_d, (child => { collectTrackedAnimates(child, animates, visited); })), animates; } export function appendExitReleaseCallback(state, callback) { callback && (null == state || state.onComplete.push(callback)); } export function runExitReleaseCallbacks(callbacks) { callbacks.forEach((callback => { callback(); })); } export function bindExitReleaseAnimates(exitAnimates, getState, finalize) { const finish = animate => { const state = getState(); state && !state.finalized && state.pendingAnimates.has(animate) && (state.pendingAnimates.delete(animate), state.pendingAnimates.size || finalize()); }; exitAnimates.forEach((animate => { animate.onEnd((() => finish(animate))), animate.onRemove((() => finish(animate))); })); } //# sourceMappingURL=exit-release.js.map