wps内容控件点击事件

需求:我希望点击内容控件拿到内容控件的Tag值,根据Tag值去xml里取数据,并且回显数据。

部分代码:

function OnAddinLoad(ribbonUI: any) {
  const doc = window.Application.ActiveDocument;

  doc.ApiEvent.RemoveApiEventListener('ContentControlOnEnter');
  doc.ApiEvent.AddApiEventListener('ContentControlOnEnter', (cc: any) => {
    if (!cc.Tag) return

    const data = loadChartData(cc.Tag)
    if (data?.treeData) {
      // 判断是否是已打开,如果没有打开的话再打开
      let tsCacheId = Util.buildTaskpaneCacheId('chart-set');
      let tsId = window.Application.PluginStorage.getItem(tsCacheId)
      if(tsId) {
        localStorage.setItem('chart-set-tag', cc.Tag)
      } else {
        Util.tool.openTaskPane('chart-set', `/chart/row-one?tag=${cc.Tag}`, '内容设置', window.Application.Enum.msoCTPDockPositionRight);
      }
    }
  })

  if (typeof window.Application.ribbonUI != 'object') {
    window.Application.ribbonUI = ribbonUI;
  }

  if (typeof window.Application.Enum != 'object') {
    // 如果没有内置枚举值
    window.Application.Enum = Util.WPS_Enum;
  }

  window.Application.ApiEvent.AddApiEventListener(
    'AfterTaskPaneHidden',
    onAfterTaskPaneHidden,
  );

  Util.longCache.setValue('IsSigned', false);

  return true;
}

期望:点击内容控件,触发回调函数。

实际:有时候会触发,有时候不会触发。

上海
浏览 61
收藏
1
分享
1 +1
+1
全部评论