'use strict'; exports.template = /* html */`
`; exports.data = { events: [], offset: 0, frame: -1, }; exports.methods = { display(x) { return x >= 0; }, onPopMenu(event, eventInfo) { const that = this; const menu = [{ label: Editor.I18n.t(`animator.event.delete`), click() { that.$emit('del', eventInfo); }, }]; Editor.Menu.popup({ menu, }); }, onMouseDown(event, item) { const that = this; event.stopPropagation(); this.frame = item.info.frame; const clientX = event.clientX; const startX = item.x; function mousemove(event) { const timelineX = startX + (event.clientX - clientX); that.$emit('move', item, timelineX); } function mouseup() { that.$emit('moveEnd', item); document.removeEventListener('mousemove', mousemove); document.removeEventListener('mouseup', mouseup); } document.addEventListener('mousemove', mousemove); document.addEventListener('mouseup', mouseup); }, openEventEditor(eventInfo) { // 目前的事件帧会有重复关键帧重叠的情况 this.frame = eventInfo.frame; this.$emit('edit', eventInfo); }, queryKeyStyle(x) { return `transform: translateX(${x || 0}px);`; }, refresh(eventInfos) { this.events = eventInfos; if (!eventInfos.some((item) => item.info.frame === this.frame)) { this.unselect(); } }, unselect() { this.frame = -1; }, };