useInjectLib.ts 2 KB
import { EPackagesCategoryEnum, EPackagesType } from '@/packages/components/external/types'
import { ComposesList } from '@/packages/components/external/Composes'
import { ConfigType, PackagesCategoryEnum } from '@/packages/index.d'
import { ClockConfig } from '@/packages/components/external/Decorates/Mores/Icon'
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'

export function useInjectLib(packagesList: EPackagesType) {

  packagesList[EPackagesCategoryEnum.COMPOSES] = ComposesList

  addWidgetToCategoryByCategoryName(packagesList, PackagesCategoryEnum.DECORATES, ClockConfig)
  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)
}

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