Commit Graph

51 Commits

Author SHA1 Message Date
Matthieu a7415964a7 feat(machine) : single save button + link versioning display
- Replace auto-save-on-blur with single "Enregistrer" button
- Add Cancel button that resets local state
- Expose saveFieldDefinitions via defineExpose on MachineInfoCard
- Remove standalone save button from MachineCustomFieldDefEditor
- Add saveAllMachineCustomFields batch method
- Add submitEdition/cancelEdition/saving/canSubmit to orchestrator
- Show diff summary badges in version list entries
- Show link changes in restore modal description

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 16:51:34 +01:00
Matthieu 767c9a7424 feat(versioning) : add entity versioning frontend with restore flow
- useEntityVersions composable (list, preview, restore API calls)
- EntityVersionList component with auto-refresh after save
- VersionRestoreModal with context-aware messages per entity type
- Integrate into machine, composant, piece, product detail pages
- Add restore action label to historyDisplayUtils
- Show structure slots in composant/piece consultation mode

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 14:58:39 +01:00
Matthieu 9e1504ddb7 feat(machine) : add entity history section to machine detail page
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 23:31:25 +01:00
Matthieu aebe7ed586 fix(machine-detail) : hide empty sections in consultation mode
Documents, products, components and pieces cards are now hidden when
empty in consultation mode. They remain visible in edit mode so users
can still add items. Addresses Geoffrey's feedback (INV-7).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 09:08:43 +01:00
Matthieu b0124c11ba feat(ui) : add site colors, dark mode toggle and card styling improvements
- Site color field with color picker in create/edit modals
- Dark mode theme (mytheme-dark) with toggle in navbar
- Stronger site color visibility on cards (gradient, top border, badges)
- Bigger action buttons (btn-sm) on machine cards
- White card backgrounds with proper dark mode support

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:51:29 +01:00
Matthieu 7e67b124f3 feat(machine) : allow site editing on machine detail page and align card buttons
- Add site select field in MachineInfoCard (edit mode)
- Include siteId in machine PATCH payload
- Align action buttons (Modifier/Supprimer/Détails) consistently at card bottom
- Use mt-auto + flex-col to push buttons to bottom across all machine cards

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 15:09:14 +01:00
matthieu 5b9c4ca09d refactor(ui) : improve styling, layout and responsive across all components
Rework CSS theme (app.css), navbar layout, dashboard page, machine detail,
catalog pages, and various form/display components for better consistency
and mobile responsiveness.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 00:14:32 +01:00
matthieu 98f5d983b3 feat(machine) : add custom field definition editor on machine detail page
Adds UI to create, edit, reorder and delete custom field definitions
directly from the machine detail page in edit mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-08 18:34:35 +01:00
Matthieu 32d03b480d refactor(machines) : remove TypeMachine skeleton system, simplify machine creation
- Remove TypeEdit*, TypeInfoDisplay, MachineSkeletonSummary, MachineCreatePreview components
- Remove machine-skeleton pages and type pages
- Remove useMachineTypesApi, useMachineSkeletonEditor, useMachineCreateSelections composables
- Add AddEntityToMachineModal for direct entity linking
- Update machine detail/create pages for direct custom fields
- Fix SearchSelect, category display, and ipartial search filters

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-05 17:25:23 +01:00
Matthieu e88ed5b8f2 feat(documents): migrate storage to filesystem, add server-side pagination
- Replace Base64 data URIs with file-based storage served via dedicated endpoints
- Add DocumentPreviewModal navigation, DocumentThumbnail fileUrl support
- Refactor documents page with server-side pagination, search, sort and filters
- Update all components to use fileUrl/downloadUrl instead of raw path
- Add pagination composable support (total, page, itemsPerPage, attachmentFilter)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 15:17:59 +01:00
Matthieu a98ab8c275 feat(comments): add comment/ticket system across all entity pages
Add CommentSection component for inline comments on entity detail pages
(machines, pieces, composants, products, categories, skeleton types).
Add dedicated /comments page with filters, pagination and clickable links.
Add unresolved count badge on avatar and in profile dropdown.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 14:06:06 +01:00
Matthieu cc70fe2b29 feat(permissions) : add role-based UI guards and readonly mode for viewers
- Add usePermissions composable (isAdmin, canEdit, canView)
- Password-protected profile login with modal on profiles page
- Disable all form fields for ROLE_VIEWER across edit/create pages
- Show navigation buttons (Modifier/Consulter) for all roles, hide delete for viewers
- Add readonly prop to ModelTypeForm for category pages
- Disable modal fields (sites, constructeurs) for viewers
- Guard /admin routes in middleware

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-26 13:36:42 +01:00
Matthieu daaa1c4cb9 refactor(machine): decompose detail page into composables + 7 components (F1.1)
Extract 2 composables (useMachineDetailData, useMachineSkeletonEditor) and
7 UI components from machine/[id].vue, reducing it from 2989 to 219 LOC.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-09 11:19:22 +01:00
Matthieu 1f2d6c78e8 refacto(F1.1) : wire [id].vue to use extracted modules and fix TS errors
Wire machine/[id].vue to import from extracted utility modules
(customFieldUtils, productDisplayUtils, useMachineHierarchy, useMachinePrint).
Remove ~1400 LOC of inline functions replaced by imports.
Fix TypeScript errors in extracted composables (AnyRecord/ConstructeurSummary
boundary casts, Map generics, optional chaining on unknown).

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-04 08:58:42 +01:00
matthieu b5af7f13b6 wip(frontend) : api calls + skeleton fetch 2026-01-12 13:14:12 +01:00
Matthieu 936a73fde3 Fix fournisseur handling across catalog flows 2025-12-03 11:29:11 +01:00
Matthieu d860f24e69 feat: add product catalogue and product-aware UI
- introduce product catalogue pages, management view entries and shared product composables\n- wire product selection into component/piece flows and machine skeleton requirements\n- display linked product metadata and documents across machine, component and piece views\n- generalize model type tooling to handle PRODUCT category
2025-11-05 15:35:02 +01:00
Matthieu dc2bc6c70a feat: afficher fournisseur dans les libellés front 2025-10-31 10:02:27 +01:00
Matthieu f59255e684 fix: de-duplicate constructeur ids before machine update 2025-10-30 11:34:58 +01:00
Matthieu 4c714b3647 feat: drag & drop des champs personnalisés 2025-10-28 18:08:14 +01:00
Matthieu b752fba69a feat: gérer les constructeurs multiples 2025-10-28 16:37:10 +01:00
Matthieu 417b34b45e feat: enrich piece assignment labels and document previews 2025-10-23 09:01:38 +02:00
Matthieu 553600c34b Add searchbar in catalogue and update custom fuild bug 2025-10-17 10:10:52 +02:00
Matthieu 4ccc19505f add img preview + fix navbar 2025-10-16 10:26:36 +02:00
Matthieu 469bcb82d1 update ui machine view 2025-10-13 10:41:31 +02:00
Matthieu 06ae0ca7aa feat: improve machine component hierarchy handling 2025-10-13 09:01:19 +02:00
MatthieuTD 95c2a82689 Normalize machine link responses 2025-10-09 09:21:40 +02:00
MatthieuTD f9641dbd62 Restore catalogs and type-aware machine selection 2025-10-06 17:19:30 +02:00
MatthieuTD 384c3f0680 Restore component catalog with requirement-based instantiation 2025-10-06 16:55:45 +02:00
MatthieuTD c5f2c568b6 chore: retire legacy model catalogs 2025-10-02 16:29:50 +02:00
Matthieu 7f19d9ba4e feat(front): allow recursive skeleton selection for machines 2025-10-01 08:36:00 +02:00
Matthieu 84bc99d8ec feat(ui): streamline skeleton model selection and toast display 2025-09-30 16:51:22 +02:00
MatthieuTD fcab426f8a Fix JS syntax by removing TS annotations in machine page 2025-09-30 11:11:25 +02:00
MatthieuTD 1d1e0b7bd0 feat(machine): allow configuring nested skeleton models 2025-09-30 11:07:24 +02:00
Matthieu fd60cbbbfe fix champs personnalisé update 2025-09-30 10:46:46 +02:00
Matthieu c489f093ed fix: Mise a jour ui simple
- supp champs emplacement
- augmenter espace en label et input
sup btn compléter champs perso
2025-09-29 15:36:14 +02:00
Matthieu 7980aa186b FIx: delete champs par default 2025-09-25 11:25:43 +02:00
Matthieu 83b3e33b1e feat: Add model feature for piece and component 2025-09-23 15:06:19 +02:00
MatthieuTD 5501b3b5ef feat: auto complete missing custom fields on machine page 2025-09-22 11:12:00 +02:00
MatthieuTD 57a08bb8c9 feat: allow machine skeleton reconfiguration 2025-09-22 10:52:44 +02:00
Matthieu 936a9d74ca set up new view for skeleton hiearchi 2025-09-22 08:34:05 +02:00
Matthieu e33e91ee26 fix(machine-ui): restore machine detail layout and align api base url 2025-09-19 15:00:56 +02:00
Matthieu 32dd8fab58 feat(frontend): replace inline icons with lucide components 2025-09-19 08:19:09 +02:00
Matthieu 316dcb6339 feat: add profile management flow 2025-09-17 23:11:13 +02:00
Matthieu 37c66ac3d6 feat: add document preview overlay 2025-09-17 17:12:41 +02:00
Matthieu 8a32ef4bbc fix: stabilize constructeur selector ui 2025-09-17 16:21:42 +02:00
Matthieu 0a95b90553 feat: add constructors selection and management 2025-09-17 15:10:01 +02:00
Matthieu 3c0c22ad0f feat: enhance document management UI 2025-09-17 12:41:51 +02:00
Matthieu dd0ef12b46 refactor: rename prestataire to constructeur 2025-09-17 08:50:03 +02:00
Matthieu 95da7c72db feat: replis hiérarchie composants et sections type 2025-09-16 17:14:42 +02:00