//组件
import TopologyWorkspace from "../src/views/topology/Workspace.vue";
import Preview from "../src/views/topology/Preview.vue"
import PreviewToImg from "../src/components/topology/PreviewToImg.vue"
import ParamsConfig from "../src/views/configuration/ParamsConfig.vue"
//方法
import {getRegisterNode,registerIcons} from "../src/utils/topology/customgraph.js"
import {data} from "../src/utils/topology/data/eesymbols.js"
import {data2} from "../src/utils/topology/data/sgge.js"
import {lineList,lineOther,arrowTypes,eventAction,headMenu} from "../src/utils/topology/topologysetting.js"
import {customTools} from "../src/utils/topology/registerIconssetting.js"
import {encryption,decrypt} from "../src/utils/rsautils.js"
import topologyDict from "@/utils/topology-dict.js"
// 定义组件列表
const componentsList = [
  TopologyWorkspace,
  Preview,
  PreviewToImg,
  ParamsConfig
];
const install = function (Vue) {
  // 注册所有组件
  componentsList.map((component) => {
    Vue.component(component.name, component);
  })
}

if (typeof window !== 'undefined' && window.Vue) {
  install(window.Vue);
}
export default {
  //组件
  TopologyWorkspace,
  Preview,
  PreviewToImg,
  ParamsConfig,
  //自定义图标注册到@topology-core中
  getRegisterNode,
  //国家电网图元规范和电气工程常用的字母和字符注册到@topology-core中
  registerIcons,
  //电气工程常用字母和符号数据
  data,
  //国家电网图元规范
  data2,
  //线条
  lineList,
  //线条样式
  lineOther,
  //箭头
  arrowTypes,
  //事件
  eventAction,
  //头部菜单
  headMenu,
  //自定义icon
  customTools,
  //公钥加密
  encryption,
  //私钥解密
  decrypt,
  topologyDict
}