cione-comp-lib
Version:
`$ yarn add cione-comp-lib` 或者 `$ npm i cione-comp-lib -S`
39 lines (38 loc) • 1.31 kB
JavaScript
import { defaults } from "../../../../zrender/lib/core/util.mjs";
function installTimelineAction(registers) {
registers.registerAction({
type: "timelineChange",
event: "timelineChanged",
update: "prepareAndUpdate"
}, function(payload, ecModel, api) {
var timelineModel = ecModel.getComponent("timeline");
if (timelineModel && payload.currentIndex != null) {
timelineModel.setCurrentIndex(payload.currentIndex);
if (!timelineModel.get("loop", true) && timelineModel.isIndexMax() && timelineModel.getPlayState()) {
timelineModel.setPlayState(false);
api.dispatchAction({
type: "timelinePlayChange",
playState: false,
from: payload.from
});
}
}
ecModel.resetOption("timeline", {
replaceMerge: timelineModel.get("replaceMerge", true)
});
return defaults({
currentIndex: timelineModel.option.currentIndex
}, payload);
});
registers.registerAction({
type: "timelinePlayChange",
event: "timelinePlayChanged",
update: "update"
}, function(payload, ecModel) {
var timelineModel = ecModel.getComponent("timeline");
if (timelineModel && payload.playState != null) {
timelineModel.setPlayState(payload.playState);
}
});
}
export { installTimelineAction };