0.1.4 • Published 3 years ago

@white-matrix/chainide-proxy-implements v0.1.4

Weekly downloads
3
License
GPL
Repository
-
Last release
3 years ago

Description

  • 支持 script 标签引入 或 es6 模块引入
  • 提供 chainIDE 提供的 API 以及 默认 event (获取文件内容,获取文件修改事件...)
  • 支持往 chainIDE 注册内部 function 和 event 供其他组件使用
  • 目前插件提供两块 view 注册区域,包含左侧 panel,与中间的 tabPanel,其中左侧 panel 必须包含 menuIcon

API

const newChainIdeProxyImp = new ChainIdeProxyImp({ pluginId: 'simplePlugin' });

// 注册插件方法(跨插件调用)
newChainIdeProxyImp.registerApiFunction(
  'registerSimplePluginFunc',
  ({ data }) => {
    console.log('registerSimplePluginFunc', data);
    return data;
  }
);

// 调用插件注册方法
newChainIdeProxyImp
  .callApiFunction(
    'simplePlugin',
    'registerSimplePluginFunc',
    'registerSimplePluginFunc res'
  )
  .then(({ data }) => {
    console.log('simplePlugin register function', data);
  });

// 插件内部订阅事件(跨插件通知)
newChainIdeProxyImp.subscribeEvent(
  'registerSimplePluginFunc.someChange',
  ({ data }) => console.log(data)
);

// 发布事件,可用于系统事件与插件内部事件相互通知
newChainIdeProxyImp.publishEvent(
  'registerSimplePluginFunc.someChange',
  'event'
);

// 调用 chainIDE fileSystem 提供的方法 获取文件树
newChainIdeProxyImp.fileSystemService('getFileTree').then(({ data }) => {
  console.log(data);
});

// 调用 chainIDE fileSystem 获取文件内容
newChainIdeProxyImp
  .fileSystemService('getFileContent', 'root/storage.sol')
  .then(({ data }) => {
  	console.log(data);
  });

// 调用 chainIDE fileSystem 获取文件 path list 第二个参数为正则
newChainIdeProxyImp
  .fileSystemService('getAllPathByRegex', '.*')
  .then(({ data }) => {
    console.log('getAllPathByRegex', data);
  });

// 订阅 ChainIDE 系统事件文件变动
newChainIdeProxyImp.subscribeEvent('onFileContentChange', ({ data }) => {
  console.log(data);
});
0.1.4

3 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.1

3 years ago

0.1.0

3 years ago