Guia d'ús: LineDanceSpecEditor
Aquesta guia explica com utilitzar l'editor d'especificacions de balls de línia a la interfície web.
Accés
L'editor és accessible per usuaris amb rol TEACHER o ADMIN.
Ruta: /dances/:id/spec o des de la fitxa d'un ball → botó "Edit Spec"
Panell principal

L'editor té tres seccions principals:
1. Capçalera amb metadades
| Camp | Descripció |
|---|---|
| Status | DRAFT (esborrany) o PUBLISHED (visible públicament) |
| Completeness | NONE / PARTIAL / FULL - indica si la seqüència està completa |
| Source Text | Text original del stepsheet (per referència) |
| Notes | Notes internes de l'editor |
2. Components (passos)
Llista dels passos individuals que componen el ball:
┌─────────────────────────────────────────────────┐
│ Components [+ Add] │
├─────────────────────────────────────────────────┤
│ 🔢 VR │ Vine Right │ STEP │ 8 counts │ ✏️ 🗑️ │
│ 🔢 VL │ Vine Left │ STEP │ 8 counts │ ✏️ 🗑️ │
│ 🔢 CS │ Coaster Step │ STEP │ 4 counts │ ✏️ 🗑️ │
│ 🔢 TR │ Turn Right │ TURN │ 4 counts │ ✏️ 🗑️ │
└─────────────────────────────────────────────────┘
Camps de cada component:
| Camp | Descripció | Exemple |
|---|---|---|
| Code | Abreviatura única | VR, CS, TR |
| Label | Nom descriptiu | "Vine Right" |
| Type | Categoria | STEP, TURN, TAG, BRIDGE, OTHER |
| Counts | Nombre de temps | 4, 8, 16... |
3. Seqüència
L'ordre en què s'executen els components:
┌─────────────────────────────────────────────────┐
│ Sequence [+ Add] │
├─────────────────────────────────────────────────┤
│ 1. VR - Vine Right │
│ 2. VL - Vine Left │
│ 3. CS - Coaster Step │
│ 4. TR - Turn Right │
│ 5. # RESTART ← restart │
└─────────────────────────────────────────────────┘
El símbol Restart (#)
El restart indica que en aquest punt de la seqüència, el ball torna a començar des del principi. Als stepsheets tradicionals es representa amb el símbol #.
Com afegir un restart
- Afegeix un ítem a la seqüència
- Marca la casella "Restart" ✓
- Opcionalment afegeix una nota (ex: "Després de 4 repeticions")
Visualització
A la UI, els restarts es mostren destacats:
│ 4. TR - Turn Right │
│ ────────────────────────────────────────────── │
│ # RESTART │
│ ────────────────────────────────────────────── │
Completeness (Estat de completesa)
El camp sequenceCompleteness indica l'estat de la documentació:
| Valor | Significat | Quan usar-lo |
|---|---|---|
NONE | Sense seqüència | El ball no té passos documentats |
PARTIAL | Parcial | Alguns passos estan documentats, però no tots |
FULL | Complet | La seqüència completa està documentada |
Recomanació
- Comença amb
DRAFT+PARTIALmentre treballes - Canvia a
FULLquan tinguis tots els passos - Finalment, posa
PUBLISHEDper fer-ho públic
Flux de treball típic
1. Crear l'especificació
1. Obre la fitxa del ball
2. Clica "Edit Spec" (o "Create Spec" si no existeix)
3. Deixa status = DRAFT
2. Afegir components
1. Clica "+ Add Component"
2. Omple: Code (VR), Label (Vine Right), Type (STEP), Counts (8)
3. Repeteix per cada pas únic del ball
3. Crear la seqüència
1. Clica "+ Add to Sequence"
2. Selecciona el component del dropdown
3. Repeteix en l'ordre correcte
4. Afegeix RESTART (#) on calgui
4. Publicar
1. Canvia Completeness a FULL
2. Canvia Status a PUBLISHED
3. Guarda
Permisos
| Rol | Pot veure | Pot editar |
|---|---|---|
| USER | ✅ (si PUBLISHED) | ❌ |
| TEACHER | ✅ | ✅ (propis balls) |
| ADMIN | ✅ | ✅ (tots) |
API corresponent
L'editor utilitza aquests endpoints:
GET /api/dances/{id}/spec → Carrega l'especificació
PUT /api/dances/{id}/spec → Guarda metadades (status, notes)
PUT /api/dances/{id}/spec/components → Reemplaça tots els components
PUT /api/dances/{id}/spec/sequence → Reemplaça tota la seqüència
Troubleshooting
"Dance not found"
El ball amb aquest ID no existeix. Verifica la URL.
"Access denied"
No tens permisos per editar. Contacta un admin.
Components no es guarden
Assegura't que cada component té un code únic dins del ball.
La seqüència es desordera
L'order_index determina l'ordre. Si arrossegues elements, es recalcula automàticament.