useInjectLib.ts 4.96 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 { 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 { OverrideILoadConfigurationframeConfig } from '@/packages/components/external/Informations/Mores/OverrideILoadConfigurationframe'
import { OverrideVideoConfig } from '@/packages/components/external/Informations/Mores/OverrideVideo'
import { OverrideWaterPoloConfig } from '@/packages/components/external/Charts/Mores/OverrideWaterPolo'

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.INFORMATIONS, OverrideTextBarrageConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideTextGradientConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideBarCommonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineCommonConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideLineGradientsConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideProcessConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverridePieCircleConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideMapBaseConfig)
  addWidgetToCategoryByCategoryName(
    packagesList,
    PackagesCategoryEnum.INFORMATIONS,
    OverrideILoadConfigurationframeConfig
  )
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.INFORMATIONS, OverrideVideoConfig)
  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.CHARTS, OverrideWaterPoloConfig)
}

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