/*
|
* 导出所有 widgets
|
*/
|
import type { DefineComponent } from 'vue'
|
|
/**
|
* 控件信息
|
*/
|
type Widget = {
|
is: string
|
name: string
|
category: string
|
icon: string
|
canvasView: DefineComponent // 画布视图 import XXX from 'XXX.vue'
|
settingsView: DefineComponent // 设置视图 import XXXSettings from 'XXX.settings.vue'
|
}
|
|
const moduleMap = import.meta.glob('./*/index.ts', { eager: true })
|
const widgets: any = Object.values(moduleMap).map((module: any) => module)
|
|
export async function getWidgets() {
|
const widgetsData = []
|
for (let i = 0; i < widgets.length; i++) {
|
const widget = await widgets[i]()
|
widgetsData.push(widget.default)
|
}
|
return widgetsData
|
}
|
|
export default widgets
|