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

Name
Type
Description

Authorization

string

Token de type Bearer Exemple : "Bearer eyJ0eXAiOiJ..."

Request Body

Name
Type
Description

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

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 readonly au champ date

  • 31 : Remplace v-model par :value et affecte la valeur de la propriété calculée dateFinLocale

  • 41 : 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 dateFinLocale

    • 121 : Création d'une nouvelle date JavaScript

    • 122 : Retourne le date au format D.M.Y

Variante avec filtre global

circle-exclamation

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 :

    • commit pour accéder aux mutations

    • rootState pour accéder au token du magasin Auth

    • tache donné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 /taches

    • 4 : Création de l'entête d'authentification avec token de type bearer

    • 8: Appel de la requête POST /taches en y passant :

      • tache les données de la nouvelle tâche

      • config l'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.data et les sauvegarder dans le magasin

      • Note : 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 ?