feat(custom-fields) : autocomplete des noms + corrections formule de référence auto #3

Merged
matthieu merged 12 commits from feat/custom-field-name-autocomplete into develop 2026-05-11 14:25:15 +00:00
2 changed files with 7 additions and 0 deletions
Showing only changes of commit 17ca857cc3 - Show all commits

View File

@@ -7,6 +7,7 @@
import { ref, type Ref } from 'vue'
import { useToast } from './useToast'
import { useCustomFieldNameSuggestions } from './useCustomFieldNameSuggestions'
import { humanizeError } from '~/shared/utils/errorMessages'
import {
listModelTypes,
@@ -79,6 +80,7 @@ export function invalidateEntityTypeCache(category: ModelCategory) {
export function useEntityTypes(config: EntityTypeConfig) {
const { category, label } = config
const { showSuccess, showError } = useToast()
const { invalidate: invalidateCustomFieldNames } = useCustomFieldNameSuggestions()
const state = getOrCreateState(category)
const normalizeItem = (item: ModelType): EntityType => ({
@@ -124,6 +126,7 @@ export function useEntityTypes(config: EntityTypeConfig) {
})
const normalized = normalizeItem(data)
state.types.value.push(normalized)
invalidateCustomFieldNames()
showSuccess(`Type de ${label} "${data.name}" créé`)
return { success: true, data: normalized }
} catch (error) {
@@ -150,6 +153,7 @@ export function useEntityTypes(config: EntityTypeConfig) {
const normalized = normalizeItem(data)
const index = state.types.value.findIndex((t) => t.id === id)
if (index !== -1) state.types.value[index] = normalized
invalidateCustomFieldNames()
showSuccess(`Type de ${label} "${data.name}" mis à jour`)
return { success: true, data: normalized }
} catch (error) {

View File

@@ -1,5 +1,6 @@
import { reactive, ref } from 'vue'
import { useApi } from '~/composables/useApi'
import { useCustomFieldNameSuggestions } from '~/composables/useCustomFieldNameSuggestions'
import { useToast } from '~/composables/useToast'
// --- Types ---
@@ -88,6 +89,7 @@ const parseOptions = (optionsText: string): string[] =>
export function useMachineCustomFieldDefs(deps: Deps) {
const { apiCall } = useApi()
const { showSuccess, showError } = useToast()
const { invalidate: invalidateCustomFieldNames } = useCustomFieldNameSuggestions()
// --- State ---
@@ -294,6 +296,7 @@ export function useMachineCustomFieldDefs(deps: Deps) {
}
showSuccess('Champs personnalisés sauvegardés avec succès')
invalidateCustomFieldNames()
await deps.onSaved()
} catch {
showError('Erreur inattendue lors de la sauvegarde des champs personnalisés')