index.d.ts 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. import { Component } from '@/router/types'
  2. import { GlobalThemeJsonType } from '@/settings/chartThemes/index'
  3. // 组件配置
  4. export type ConfigType = {
  5. key: string
  6. chartKey: string,
  7. conKey: string,
  8. title: string
  9. category: string
  10. categoryName: string
  11. package: string
  12. image: string | (() => Promise<typeof import('*.png')>)
  13. }
  14. // 组件实例类
  15. export interface PublicConfigType {
  16. id: string
  17. rename?: string
  18. attr: { x: number; y: number; w: number; h: number; zIndex: number }
  19. styles: { opacity: number, animations: string[] }
  20. setPosition: Function
  21. }
  22. export interface CreateComponentType extends PublicConfigType {
  23. key: string
  24. chartConfig: Omit<ConfigType, 'node' | 'conNode'>
  25. option: GlobalThemeJsonType
  26. }
  27. // 获取组件实例类中某个key对应value类型的方法
  28. export type PickCreateComponentType<T extends keyof CreateComponentType> = Pick<CreateComponentType, T>[T]
  29. // 包分类枚举
  30. export enum PackagesCategoryEnum {
  31. CHARTS = 'Charts',
  32. TABLES = 'Tables',
  33. INFORMATION = 'Informations',
  34. DECORATES = 'Decorates'
  35. }
  36. // 包分类名称
  37. export enum PackagesCategoryName {
  38. CHARTS = '图表',
  39. TABLES = '表格',
  40. INFORMATION = '信息',
  41. DECORATES = '小组件'
  42. }
  43. // 获取组件
  44. export enum FetchComFlagType {
  45. VIEW, CONFIG
  46. }
  47. // 图表包类型
  48. export type PackagesType = {
  49. [PackagesCategoryEnum.CHARTS]: ConfigType[]
  50. [PackagesCategoryEnum.INFORMATION]: ConfigType[]
  51. [PackagesCategoryEnum.TABLES]: ConfigType[]
  52. [PackagesCategoryEnum.DECORATES]: ConfigType[]
  53. }