Enhance API parameter documentation and introduce reusable component
- Added a new Blade component `<x-logistics.param-table>` for displaying API parameter tables across all Filament pages, ensuring consistent styling and reducing HTML duplication. - Integrated parameter tables for each endpoint in the Articles, Documents, Divers, Journaux, Tiers, and other pages, providing users with clear reference information. - Updated the documentation to reflect the new structure and details of API parameters, including required fields and descriptions. - Improved user experience by ensuring that endpoints without parameters do not display empty tables. - Overall, enhanced the clarity and usability of API interactions within the application.
This commit is contained in:
@@ -87,13 +87,17 @@ Chaque page Filament implémente :
|
||||
- **État vide** : Le composant `json-block` accepte une prop `$searched`. Quand `$searched` est `true` et `$data` est vide, un état vide est affiché. Pour les `data-table`, les vues vérifient `$hasSearched && count($data) === 0`.
|
||||
- **Badge de comptage** : Les badges de résultats utilisent `count($data)` (comptage réel PHP) au lieu de `$metadata['rowcount']` (retourné par l'API, parfois incorrect).
|
||||
|
||||
### Tableaux de référence des paramètres API
|
||||
|
||||
Chaque endpoint sur chaque page Filament dispose d'un tableau de référence des paramètres sous le formulaire, implémenté via le composant `<x-logistics.param-table>`. Le composant accepte un tableau `$params` où chaque élément contient `name`, `type`, `required` et `description`. Si le tableau est vide (endpoint sans paramètres), le composant ne rend rien. Les descriptions proviennent de la documentation API et incluent les informations critiques (format obligatoire, limites, sensibilité à la casse).
|
||||
|
||||
### Endpoints partiellement fonctionnels
|
||||
|
||||
L'endpoint `Document_GetPDF` est fonctionnel : le paramètre `LAYOUT` doit être une valeur numérique sous forme de string (ex: `"1"`). Les valeurs textuelles provoquent une erreur. Le PDF est retourné encodé en base64 dans le champ `data.pdf`.
|
||||
|
||||
### Endpoints non fonctionnels
|
||||
### Endpoint custom_geninv_updatestock
|
||||
|
||||
L'endpoint `custom_geninv_updatestock` est présent dans l'interface avec un bandeau d'avertissement ambre expliquant pourquoi il ne fonctionne pas. La méthode service existe dans LogisticsService pour permettre le test.
|
||||
L'endpoint `custom_geninv_updatestock` est fonctionnel en MODE=1 (Restock). Un bandeau d'avertissement ambre dans l'interface explique les deux modes disponibles et leurs prérequis. Le formulaire inclut un champ THIRDID (obligatoire en mode Restock) et la validation côté client vérifie cette condition. MODE=0 (Inventaire) dépend de la configuration des journaux KI du dossier.
|
||||
|
||||
### Page Documentation
|
||||
|
||||
@@ -120,6 +124,7 @@ Convention documentée dans `.cursor/rules/design-system.mdc`. Tous les composan
|
||||
| `<x-logistics.search-input>` | Champ de recherche avec icône loupe intégrée |
|
||||
| `<x-logistics.form-field>` | Champ de formulaire (label + input + padding gauche) à espacement homogène |
|
||||
| `<x-logistics.json-block>` | Bloc JSON formaté avec bordure et fond adapté |
|
||||
| `<x-logistics.param-table>` | Tableau de référence des paramètres API (PARAMETRE / TYPE / OBLIGATOIRE / DESCRIPTION) |
|
||||
|
||||
Règles :
|
||||
- Toujours utiliser les composants `x-logistics.*` au lieu de dupliquer les classes CSS.
|
||||
@@ -183,7 +188,7 @@ resources/
|
||||
filament/admin/
|
||||
theme.css # Thème Filament personnalisé (Tailwind 4 + Typography + prose)
|
||||
views/
|
||||
components/logistics/ # 10 composants du système de design
|
||||
components/logistics/ # 11 composants du système de design
|
||||
filament/pages/ # 7 vues de pages Filament
|
||||
pdf/
|
||||
documentation.blade.php # Template PDF pour la documentation
|
||||
@@ -197,15 +202,15 @@ database/
|
||||
...create_api_request_logs_table.php
|
||||
|
||||
tests/Feature/
|
||||
ArticlesPageTest.php # 8 tests page Articles (toggle, validation, tracking, erreurs)
|
||||
ArticlesPageTest.php # 10 tests page Articles (toggle, validation, tracking, erreurs, barcode)
|
||||
DocumentationTest.php # 5 tests page Documentation (Livewire + PDF)
|
||||
DocumentsPageTest.php # 22 tests page Documents (toggle, 9 endpoints, validation, erreurs, results)
|
||||
DiversPageTest.php # 8 tests page Divers (toggle, 3 endpoints, validation, erreurs)
|
||||
JournauxPageTest.php # 6 tests page Journaux (toggle, validation, tracking, erreurs)
|
||||
DiversPageTest.php # 22 tests page Divers (toggle, 3 endpoints, validation, erreurs, THIRDID conditionnel, modes)
|
||||
JournauxPageTest.php # 7 tests page Journaux (toggle, validation, tracking, erreurs)
|
||||
LogisticsServiceTest.php # 14 tests service API (mocks HTTP)
|
||||
TablesExplorerTest.php # 6 tests page TablesExplorer (Livewire)
|
||||
TiersPageTest.php # 15 tests page Tiers (toggle, validation, tracking, erreurs, métadonnées, casse thirdid)
|
||||
FilamentDashboardTest.php # Tests dashboard Filament (1 test en échec pré-existant)
|
||||
FilamentDashboardTest.php # Tests dashboard Filament (2 tests en échec pré-existant)
|
||||
DashboardTest.php # Tests dashboard
|
||||
ExampleTest.php # Test d'exemple Laravel
|
||||
tests/Unit/
|
||||
@@ -232,4 +237,5 @@ routes/
|
||||
- Toutes les vues Filament utilisent les composants `x-logistics.*` du système de design.
|
||||
- Après modification des vues ou composants, exécuter `npm run build` pour recompiler le thème.
|
||||
- Tous les contenus rédigés en français doivent utiliser les accents appropriés.
|
||||
- L'endpoint non fonctionnel (custom_geninv_updatestock) est présent dans l'interface avec un bandeau d'avertissement.
|
||||
- L'endpoint custom_geninv_updatestock est fonctionnel en MODE=1 (Restock) avec un bandeau d'information décrivant les modes.
|
||||
- Chaque endpoint sur chaque page dispose d'un tableau de référence des paramètres via `<x-logistics.param-table>`.
|
||||
|
||||
Reference in New Issue
Block a user