import type { IPublicTypeComponentMetadata, IPublicTypeSnippet, } from '@alilc/lowcode-types'; /** 低代码物料元数据,描述组件标识、导出位置和编辑器属性面板。 */ const meta: IPublicTypeComponentMetadata = { componentName: 'PisellSupersetDashboard', title: 'Superset 报表', category: 'SaaS', devMode: 'proCode', npm: { package: '@pisell/private-materials', version: '1.0.0', exportName: 'PisellSupersetDashboard', main: 'src/index.ts', destructuring: true, subName: '', }, // 页面配置统一放在 proCodeProps 内,保持编辑器与实际组件 Props 结构一致。 configure: { props: [ { name: 'proCodeProps', title: '报表配置', setter: { componentName: 'ObjectSetter', props: { config: { items: [ { name: 'dashboardId', title: '嵌入 UUID', setter: 'StringSetter', }, { name: 'dashboardUiConfig', title: 'Dashboard UI 配置', // JSON 编辑器允许填写任意 SDK UI 扩展字段。 setter: 'JsonSetter', }, ], }, }, }, }, ], supports: { style: true, className: true }, component: {}, }, }; /** 拖入编辑器时生成的默认片段;报表 ID 留空,需接入方填写实际嵌入 UUID。 */ const snippets: IPublicTypeSnippet[] = [ { title: 'Superset 报表', screenshot: '', schema: { componentName: 'PisellSupersetDashboard', props: { proCodeProps: { dashboardId: '', dashboardUiConfig: { filters: { visible: true, expanded: false }, hideTitle: true, hideChartControls: true, }, }, }, }, }, ]; /** 合并物料描述与默认片段,供低代码构建插件收集。 */ export default { ...meta, snippets };