48 lines
1.4 KiB
JavaScript
48 lines
1.4 KiB
JavaScript
import { ref, computed } from 'vue'
|
|
|
|
let hasWarned = false
|
|
|
|
const warnDeprecated = () => {
|
|
if (hasWarned) return
|
|
if (process.dev) {
|
|
console.warn('[useComponentModels] Ce composable est conservé pour compatibilité mais les modèles ont été remplacés par les catégories enrichies de squelette. Utilisez useComponentTypes / useComposants à la place.')
|
|
}
|
|
hasWarned = true
|
|
}
|
|
|
|
const buildUnsupportedResult = () => ({
|
|
success: false,
|
|
error: 'Les modèles de composants ont été retirés. Gérez les squelettes via les catégories et utilisez les requirements machine pour instancier des composants.'
|
|
})
|
|
|
|
export function useComponentModels () {
|
|
warnDeprecated()
|
|
|
|
const componentModelsBuckets = ref({})
|
|
const loadingComponentModels = ref(false)
|
|
|
|
const componentModels = computed(() => [])
|
|
|
|
const noLongerSupported = async () => {
|
|
warnDeprecated()
|
|
return buildUnsupportedResult()
|
|
}
|
|
|
|
const getComponentModels = () => componentModels.value
|
|
const getComponentModelsForType = () => []
|
|
const isComponentModelLoading = () => loadingComponentModels.value
|
|
|
|
return {
|
|
componentModels,
|
|
componentModelsBuckets,
|
|
loadingComponentModels,
|
|
loadComponentModels: noLongerSupported,
|
|
createComponentModel: noLongerSupported,
|
|
updateComponentModel: noLongerSupported,
|
|
deleteComponentModel: noLongerSupported,
|
|
getComponentModels,
|
|
getComponentModelsForType,
|
|
isComponentModelLoading
|
|
}
|
|
}
|