Ajouter une tâche
Pour ajouter la tâche via l'API il faut utiliser la route POST /taches et y passer les données de la tâche.
/taches
POST /taches
Headers
Authorization
string
Token de type Bearer Exemple : "Bearer eyJ0eXAiOiJ..."
Request Body
nom
string
terminee
integer
Booléen au format entier Valeurs possibles : 0 ou 1
dateFin
string
Format Y-M-D
heureFin
string
Format HH:MM
{
"nom": "Nouvelle tâche",
"terminee": 0,
"dateFin": "2020-01-31",
"heureFin": "22:15",
"user_id": 156,
"id": 655
}Unauthorized.Format des dates
Comme on peut le lire dans la description des paramètres de la requête qui contient le formulaire d'ajout et de modification des tâches formate la date en POST /taches, il faut respecter le format des dates Y-M-D.
Actuellement, le composant FormTache.vue affiche la date au format D.M.Y et non en Y-M-D.
Nous allons modifier FormTache.vue pour qu'il continue d'afficher la date au format D.M.Y tout en la sauvegardant dans le format Y-M-D.
Première chose paramétrer le <q-date> pour qu'il retourne la date au format Y-M-D.
3 : Changement du masque en
"YYYY-MM-DD"
Si l'on sélectionne une date dans le calendrier, elle s'affiche au format Y-M-D dans le formulaire, et si on inspecte notre composant FormTache.vue la donnée tache.dateFin est dans le même format.
Comment faire pour que la date s'affiche dans un autre format ?
Le date picker <q-date> et le champs de formulaire <q-input> sont indépendant. Ils affichent la même valeur car il sout tout deux lié à tache.dateFin avec une directive v-model.
Nous allons laisser <q-date> lié à tache.dateFin ainsi la date sera au format de l'API, et nous allons créer une propriété calculée dateFinLocale qui reformatera la date pour le <q-input>.
Mais nous ne pouvons plus utiliser la directive v-model, car les donnée n'iront que dans un sens, on ne pourrat pas modifier la date directement dans le champs. On va donc utiliser :value à la place de v-model et passer le champ en mode lecture readonly.
Outil date de Quasar
Pour changer le format d'une date, nous aurons besoin de l'outil date de Qasar :
Résultat
30 : Ajout du mode
readonlyau champ date31 : Remplace
v-modelpar:valueet affecte la valeur de la propriété calculéedateFinLocale41 : Modifie le masque de la date retournée par le date picker :
mask="YYYY-MM-DD"95 : Importation de l'outil date de Quasar
119-124 : Création de la nouvelle propriété calculée
dateFinLocale121 : Création d'une nouvelle date JavaScript
122 : Retourne le date au format D.M.Y
Variante avec filtre global
Depuis Vue 3, il est déconseiller d'utiliser les filtres globaux !
Vous pouvez donc ignorer ce chapitre.
On préférera l'utilisation des getters ou méthodes globales.
Autre possibilité, créer un filtre global dmy en le déclarant dans un fichier de boot src/boot/filters.js.
Ajout du fichier au boot
Exemples d'utilisation
Ajouter un tâche
Pour ajouter la tâche avec l'API, nous allons modifier l'action existant ajouterTache du magasin des tâches. Il faudra réaliser les opérations suivantes :
1 : Récupération de :
commitpour accéder aux mutationsrootStatepour accéder au token du magasin Authtachedonnées de la nouvelle tâches envoyée par le formulaire
2 : Démarrer Loader
4-20 Créer la requête API d'ajout
POST /taches4 : Création de l'entête d'authentification avec token de type bearer
8: Appel de la requête
POST /tachesen y passant :tacheles données de la nouvelle tâcheconfigl'entête d'authorisation avec token
9-12 : En cas de succès de la requête
Récupérer les données de la réponse
response.dataet les sauvegarder dans le magasinNote : Plus besoin de générer un ID, nous récupérons celui créé par l'API.
13-19: En cas d'échec : Afficher un message d'erreur
20 : Dans tous les cas : Fermer loader
Ajouter l’importation de Loading au début du magasin
Mis à jour
Ce contenu vous a-t-il été utile ?