UNPKG

cione-comp-lib

Version:

`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`

63 lines (62 loc) 1.74 kB
import { each as each$1 } from "../../../../zrender/lib/core/util.mjs"; import { makeInner } from "../../util/model.mjs"; var each = each$1; var inner = makeInner(); function push(ecModel, newSnapshot) { var storedSnapshots = getStoreSnapshots(ecModel); each(newSnapshot, function(batchItem, dataZoomId) { var i = storedSnapshots.length - 1; for (; i >= 0; i--) { var snapshot = storedSnapshots[i]; if (snapshot[dataZoomId]) { break; } } if (i < 0) { var dataZoomModel = ecModel.queryComponents({ mainType: "dataZoom", subType: "select", id: dataZoomId })[0]; if (dataZoomModel) { var percentRange = dataZoomModel.getPercentRange(); storedSnapshots[0][dataZoomId] = { dataZoomId, start: percentRange[0], end: percentRange[1] }; } } }); storedSnapshots.push(newSnapshot); } function pop(ecModel) { var storedSnapshots = getStoreSnapshots(ecModel); var head = storedSnapshots[storedSnapshots.length - 1]; storedSnapshots.length > 1 && storedSnapshots.pop(); var snapshot = {}; each(head, function(batchItem, dataZoomId) { for (var i = storedSnapshots.length - 1; i >= 0; i--) { batchItem = storedSnapshots[i][dataZoomId]; if (batchItem) { snapshot[dataZoomId] = batchItem; break; } } }); return snapshot; } function clear(ecModel) { inner(ecModel).snapshots = null; } function count(ecModel) { return getStoreSnapshots(ecModel).length; } function getStoreSnapshots(ecModel) { var store = inner(ecModel); if (!store.snapshots) { store.snapshots = [{}]; } return store.snapshots; } export { clear, count, pop, push };