useInjectLib.ts 6.79 KB
import { EPackagesCategoryEnum, EPackagesType } from '@/packages/components/external/types'
import { ComposesList } from '@/packages/components/external/Composes'
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
import { PickIconConfig } from '@/packages/components/external/Decorates/Mores/PickIcon'
import { WeatherConfig } from '@/packages/components/external/Decorates/Mores/Weather'
import { OverrideImageConfig } from '@/packages/components/external/Informations/Mores/OverrideImage'
import { OverrideCarouselConfig } from '@/packages/components/external/Informations/Mores/OverrideCarousel'
import { OverrideSelectConfig } from '@/packages/components/external/Informations/Inputs/OverrideSelect'
import { OverrideInputsDateConfig } from '@/packages/components/external/Informations/Inputs/OverrideInputsDate'
import { OverrideInputsTabConfig } from '@/packages/components/external/Informations/Inputs/OverrideInputsTab'
import { OverrideIframeConfig } from '@/packages/components/external/Informations/Mores/OverrideIframe'
import { ButtonConfig } from '@/packages/components/external/Informations/Inputs/Button'
import { OverrideTextCommonConfig } from '@/packages/components/external/Informations/Texts/OverrideTextCommon'
import { OverrideTextBarrageConfig } from '@/packages/components/external/Informations/Texts/OverrideTextBarrage'
import { OverrideTextGradientConfig } from '@/packages/components/external/Informations/Texts/OverrideTextGradient'
import { OverrideBarCommonConfig } from '@/packages/components/external/Charts/Bars/OverrideBarCommon'
import { OverrideLineCommonConfig } from '@/packages/components/external/Charts/Lines/OverrideLineCommon'
import { OverrideLineGradientsConfig } from '@/packages/components/external/Charts/Lines/OverrideLineGradients'
import { OverrideProcessConfig } from '@/packages/components/external/Charts/Mores/OverrideProcess'
import { OverridePieCircleConfig } from '@/packages/components/external/Charts/Pies/OverridePieCircle'
import { OverrideMapBaseConfig } from '@/packages/components/external/Charts/Maps/OverrideMapBase'
import { OverrideVideoConfig } from '@/packages/components/external/Informations/Mores/OverrideVideo'
import { OverrideWaterPoloConfig } from '@/packages/components/external/Charts/Mores/OverrideWaterPolo'
import { OverrideLineRealTimeConfig } from '@/packages/components/external/Charts/Lines/OverrideLineRealTime'
import { ThreeDimensionalConfig } from '@/packages/components/external/Decorates/Three/ThreeDimensional'
import { Headline1Config } from '@/packages/components/external/Decorates/Headline/Headline1'
import { Headline2Config } from '@/packages/components/external/Decorates/Headline/Headline2'
import { Subtitle1Config } from '@/packages/components/external/Decorates/Subtitle/Subtitle1'
import { Subtitle2Config } from '@/packages/components/external/Decorates/Subtitle/Subtitle2'
import { Subtitle3Config } from '@/packages/components/external/Decorates/Subtitle/Subtitle3'

/**
 * 重写动态注入
 */
export function useInjectLib(packagesList: EPackagesType) {
  packagesList[EPackagesCategoryEnum.COMPOSES] = ComposesList

  //小组件
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, PickIconConfig)//新增小组件图标
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, WeatherConfig)//新增小组件天气
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, ThreeDimensionalConfig)//三维模型
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, Headline1Config)//大标题1
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, Headline2Config)//大标题2
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, Subtitle1Config)//小标题1
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, Subtitle2Config)//小标题2
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, Subtitle3Config)//小标题3
  //

  //信息
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideImageConfig)//重写信息下的图片
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideCarouselConfig)//重写信息下的轮播图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideSelectConfig)//重写信息下的select
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, ButtonConfig)//新增信息下的按钮
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideIframeConfig)//重写信息下的远程加载网页
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideInputsDateConfig)//重写信息下的日期
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideInputsTabConfig)//重写信息下的tab
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideTextCommonConfig)//重写信息下的文字
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideTextBarrageConfig)//重写信息下的弹幕文字
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideTextGradientConfig)//重写信息下的渐变文字
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideVideoConfig)//重写信息下的视频
  //

  //图表
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideBarCommonConfig)//重写图表下的柱状图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineCommonConfig)//重写图表下的折线图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineGradientsConfig)//重写图表下的渐变折线图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineRealTimeConfig)//新增图表下的实时折线图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideProcessConfig)//重写图表下的native ui
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverridePieCircleConfig)//重写图表下的饼图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideMapBaseConfig)//重写图表下的地图
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideWaterPoloConfig)//重写图表下的水球图
  //
}

/**
 *
 * @param packagesList
 * @param categoryName
 * @param config
 */
function addWidgetToCategoryByCategoryName(
  packagesList: EPackagesType,
  categoryName: PackagesCategoryEnum,
  config: ConfigType
) {
  packagesList[categoryName].push(config)
}