import{H as e,Mt as t,dt as n,lt as r}from"./chunks/framework.BTDV-FQ9.js";var i=JSON.parse(`{"title":"eventsService方法","description":"","frontmatter":{},"headers":[],"relativePath":"api/editor/eventsServiceMethods.md","filePath":"api/editor/eventsServiceMethods.md"}`),a={name:`api/editor/eventsServiceMethods.md`};function o(e,i,a,o,s,c){return t(),r(`div`,null,[...i[0]||=[n(`

eventsService方法

setEvents

js
import { eventsService } from '@tmagic/editor';

eventsService.setEvents({
  page: [
    { label: '页面加载', value: 'load' },
    { label: '页面显示', value: 'show' },
  ],
  text: [
    { label: '点击', value: 'click' },
  ],
});

setEvent

js
import { eventsService } from '@tmagic/editor';

eventsService.setEvent('button', [
  { label: '点击', value: 'click' },
  { label: '长按', value: 'longpress' },
]);

getEvent

js
import { eventsService } from '@tmagic/editor';

const events = eventsService.getEvent('button', { node });
console.log(events); // [{ label: '点击', value: 'click' }, ...]

// 插件按节点定制
eventsService.usePlugin({
  afterGetEvent(events, type, data) {
    if (data?.node?.id === 'btn_1') {
      return events.filter((item) => item.value !== 'longpress');
    }
    return events;
  },
});

setMethods

js
import { eventsService } from '@tmagic/editor';

eventsService.setMethods({
  page: [
    { label: '刷新', value: 'refresh' },
    { label: '滚动到顶部', value: 'scrollToTop' },
  ],
  video: [
    { label: '播放', value: 'play' },
    { label: '暂停', value: 'pause' },
  ],
});

setMethod

js
import { eventsService } from '@tmagic/editor';

eventsService.setMethod('video', [
  { label: '播放', value: 'play' },
  { label: '暂停', value: 'pause' },
  { label: '停止', value: 'stop' },
]);

getMethod

js
import { eventsService } from '@tmagic/editor';

const methods = eventsService.getMethod('video', { targetId: 'video_123', node });
console.log(methods); // [{ label: '播放', value: 'play' }, ...]

// 插件按节点定制
eventsService.usePlugin({
  afterGetMethod(methods, type, data) {
    if (data?.targetId === 'video_123') {
      return methods.filter((item) => item.value !== 'stop');
    }
    return methods;
  },
});

resetState

js
import { eventsService } from '@tmagic/editor';

// 切到另一个版本的 runtime:先清空,再写入该版本的事件表
eventsService.resetState();
eventsService.setEvents(nextVersionEvents);
eventsService.setMethods(nextVersionMethods);

destroy

js
import { eventsService } from '@tmagic/editor';

eventsService.destroy();
`,25)]])}var s=e(a,[[`render`,o]]);export{i as __pageData,s as default};