Skip to content

Superviseur — Frontend v1.0.0


Superviseur — Frontend / features/map/useMapEditor / useMapEditor

Fonction: useMapEditor() ​

ts
function useMapEditor(): object;

Défini dans: features/map/useMapEditor.ts:35

Logique de l'éditeur de plans : chargement et navigation entre plans, sauvegarde (avec suivi des modifications non enregistrées), téléversement d'image de fond (image ou PDF converti via pdf.js), réordonnancement des onglets et suppression. Extrait de MapEditor.vue pour séparer le comportement du gabarit.

Retourne ​

NomTypeDescriptionDéfini dans
mapsRef<object[], BuildingMap[] | object[]>-features/map/useMapEditor.ts:570
currentMapRef< | { id: string; name: string; imageUrl: string; imageName?: string; points: object[]; pointSize?: number; lineSize?: number; labelScale?: number; resolutionScale?: number; sortOrder?: number; createdAt: string; } | null, | BuildingMap | { id: string; name: string; imageUrl: string; imageName?: string; points: object[]; pointSize?: number; lineSize?: number; labelScale?: number; resolutionScale?: number; sortOrder?: number; createdAt: string; } | null>-features/map/useMapEditor.ts:571
unifiedMapRefany-features/map/useMapEditor.ts:572
isSavingRef<boolean, boolean>-features/map/useMapEditor.ts:573
justSavedRef<boolean, boolean>-features/map/useMapEditor.ts:574
hasUnsavedChangesRef<boolean, boolean>-features/map/useMapEditor.ts:575
selectMap()(map) => Promise<void>Sélectionne un plan avec un fondu de la seule zone de plan : l'image cible se précharge, la permutation se fait pendant que le plan est invisible, puis fondu d'entrée — sans à-coup.features/map/useMapEditor.ts:576
locateItem()(item) => Promise<void>Localise un élément placé qui n'est pas sur le plan courant : bascule vers le plan qui le contient puis le survole. Déclenché par l'événement locate-item d'UnifiedMap (clic sur un élément de la bibliothèque situé sur un autre plan).features/map/useMapEditor.ts:577
onMapUpdate()(m) => voidRéception d'une édition du plan depuis l'éditeur : applique la mise à jour et marque le plan modifié.features/map/useMapEditor.ts:578
isDemo()(name) => boolean-features/map/useMapEditor.ts:579
planLabel()(name) => string-features/map/useMapEditor.ts:580
fileInputRefRef<HTMLInputElement | null, HTMLInputElement | null>-features/map/useMapEditor.ts:581
isMobileRef<boolean, boolean>-features/map/useMapEditor.ts:582
loadingRef<boolean, boolean>-features/map/useMapEditor.ts:583
mapTabsRefRef<HTMLDivElement | null, HTMLDivElement | null>-features/map/useMapEditor.ts:584
hasTabsOverflowRef<boolean, boolean>-features/map/useMapEditor.ts:585
scrollTabs()(amount) => void-features/map/useMapEditor.ts:586
onTabsWheel()(e) => voidConvertit le défilement vertical de la molette en défilement horizontal des onglets (confort souris).features/map/useMapEditor.ts:587
onSortStart()() => voidAligne le clone flottant de SortableJS (mode forceFallback, compatible souris ET tactile) sous le zoom CSS dynamique du layout : le clone est en position fixe DANS le contexte zoomé, donc SortableJS le positionne en px écran qui sont ensuite re-multipliés par le zoom → dérive. On divise sa taille, sa position initiale et sa translation de suivi par le zoom, si bien qu'après re-mise à l'échelle il colle exactement au curseur/doigt (même convention que les menus téléportés).features/map/useMapEditor.ts:588
onSortEnd()() => voidFin du glisser-déposer : arrête la correction de zoom et persiste le nouvel ordre des onglets.features/map/useMapEditor.ts:589
createNewMap()() => Promise<void>-features/map/useMapEditor.ts:590
deleteMap()(id) => Promise<void>-features/map/useMapEditor.ts:591
onManualSave()() => Promise<void>Sauvegarde manuelle (clic bouton) : affiche l'état « Enregistrement… » au moins ~450 ms pour que l'animation reste perceptible même quand la requête est instantanée, puis repasse à l'état enregistré.features/map/useMapEditor.ts:592
savedLabelComputedRef<string>Libellé relatif du dernier enregistrement, rafraîchi par le tic de saveNow.features/map/useMapEditor.ts:593
triggerUpload()() => void | undefined-features/map/useMapEditor.ts:594
handleFileUpload()(e) => Promise<void>-features/map/useMapEditor.ts:595
handleDeleteImage()() => Promise<void>-features/map/useMapEditor.ts:596

Documentation Technique