zs
2025-05-06 55bf797dcc730b37bc691ebab2b51ff9db8ed245
HIAWms/web/src/widgets/index.ts
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,30 @@
/*
 * å¯¼å‡ºæ‰€æœ‰ 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