Skip to content

历史插件

控制地图的回溯处理,让应用元素操作支持前进后退的功能

ts
  const { history } = tools
  history.enable()

事件

事件参数是否必填描述
enableundefined启用插件
closeundefined禁用插件
nextundefined前进
backundefined后退
cleanundefined清空状态

反射

属性参数描述
historyHistory历史操作结束后的反射事件
ts
  interface ElementSetDataItem {
    element: Element
    data: Partial<{
      data: Element['data']
      style: Element['style']
      rotate: Element['rotate']
      name: Element['name']
    }>
  }

  type StateItem = { 
    element: Element
    data?: ElementSetDataItem['data']
    rawData?: ElementSetDataItem['data']
  }

  type History = {
    max: number,
    pointer: number,
    type: 'add' | 'update' | 'remove'
    data: StateItem[]
  }

  app.emitter.on('history', (history: History) => {
    console.log(history)
  })

图层操作的Element反射
图层在添加、删除、element时会触发回调、调用element更新方法会更新element回调,监听元素变化

ts
  // 新增了元素element
  emitter.on('element:added', (element[]) => {

  })

  // 删除了元素element
  emitter.on('element:removed', (element[]) => {

  })

  // 更新元素element数据前
  emitter.on('element:update', (ElementSetDataItem[]) => {

  })

演示