useInjectLib.ts 3.24 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/Mores/OverrideSelect'
import { OverrideInputsDateConfig } from '@/packages/components/external/Informations/Mores/OverrideInputsDate'
import { OverrideInputsTabConfig } from '@/packages/components/external/Informations/Mores/OverrideInputsTab'
import { OverrideTextCommonConfig } from '@/packages/components/external/Informations/Mores/OverrideTextCommon'
import { OverrideIframeConfig } from '@/packages/components/external/Informations/Mores/OverrideIframe'
import { ButtonConfig } from '@/packages/components/external/Informations/Mores/Button'
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'

export function useInjectLib(packagesList: EPackagesType) {

  packagesList[EPackagesCategoryEnum.COMPOSES] = ComposesList

  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, PickIconConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, WeatherConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideImageConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideCarouselConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideSelectConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideInputsDateConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideInputsTabConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideTextCommonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, ButtonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideIframeConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideBarCommonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineCommonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineGradientsConfig)
}

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