Close

Application Planitel Smartphone P2

Annuaire-name-modal

Description

 

Module dédié à une modal d’annuaire depuis laquelle nous avons la possibilité d’ajouter un nom qui sera associé au numéro, le mettre à jour et le supprimer.

 

 

Imports

Élément importé -> path de l’import :

Qu’est-ce que cet import ?

 

* import implémenté dans le constructor afin de lier l’import à la Class et de s’en servir plus facilement

 

Component -> ‘@angular/core’ :

Composants de Base d’angular

 

FormControl -> ‘@angular/forms’

Validators -> ‘@angular/forms’ :

Composant qui va faciliter la conception de formulaire sécurisé.

 

*ModalController -> ‘@ionic/angular’ :

Composant dont l’utilité sera de créer et d'interagir avec une modal.

 

*VariablesGlobales -> ‘../variablesGlobales’ :

Class que l’on peut appeler partout sur l’application pour se servir de variables dont les valeurs ne changeront pas peu importe l’endroit ou nous nous trouvons. Nous avons également la possibilité de modifier ses variables.

 

Annuaire -> ‘./Annuaire’:

type spécialement créé et importée via le fichier ‘’./annuaire.ts’ , contenant une propriété “id” de type string , une propriété  “name_customer” de type string et une propriété “phone_number” de type string

 

 

Variables

NomTypeUtilité
idNumberId du contact
typeStringType d’action à faire 
validBooleanValidation du champ name pour activer les le bouton de création / mise à jour
numeroStringnuméro associé à l’appel
dataAnnuaireDonnées récupéré dans la base de donnée depuis le composant parent et passé en props à la modal
nameFormControlInput qui contient le nom associé au numéro ou vide

 

 

 

Méthodes

 

 

NomDéclenchementUtilité
setValueOuverture du Composant dans la méthode ionViewWillEnter.

Traite les props (valeurs) qui lui ont été passées afin d’identifier l’objet de l’ouverture de la modal (Ajout ou Modification) et d’agir en conséquence.

 

dismissModalclic sur le Bouton “Fermer”Méthode qui déclenche la fermeture de la modal et n’applique aucun changement.
onUpdateclic sur le Bouton “Mettre à jour”Méthode qui déclenche la fermeture de la modal et passe la valeur à mettre à jour à son parent, mais également le rôle afin que son parent identifie l’action comme une mise à jour.
onSubmitclic sur le Bouton “Ajouter”Méthode qui déclenche la fermeture de la modal et passe la valeur à ajouter à son parent, mais également , le rôle afin que son parent identifie l’action comme un ajout.
onDeleteclic sur le Bouton “Supprimer”Méthode qui déclenche la fermeture de la modal et passe la valeur à supprimer à son parent, mais également , le rôle afin que son parent identifie l’action comme une suppression.
ionViewWillEnterOuverture du ComposantExécute la méthode setValue

 

Detail-sms

 

Description:

 

C’est la page dédiée aux sms, c’est là où l’utilisateur peut consulter ses sms et ses conversations ainsi que d'envoyer des messages.

 

Les imports

 

* import implémenté dans le constructor afin de lier l’import à la Class et de s’en servir plus facilement

Component => ‘@Angular/core’

Composant d’angular qui va créer le component detail-sms en reliant la page.ts avec son template, son style et renseigner la façon dont se composant devra être appeler.

elementRef => ‘@Angular/core’

Utiliser pour récupérer la référence d’un élément HTML pour le manipuler par la suite

onInit => ‘@Angular/core’

Sert à appeler la méthode ngOnInit() pour l’initialisation du composant

VewChild => ‘@Angular/core’

Permet de récupérer des éléments HTML et d'interagir avec.

ActivatedRoute => ‘@Angular/router’

Permet de récupérer des informations sur la route active.

HttpClient => ‘@Angular/common/http’

Ce composant sert à effectuer des requêtes HTTP

VariablesGlobales => ‘../VariablesGlobales’

Class avec une portée publique et globale que l’on peut l’appeler n’importe où dans l’application afin d’utiliser ses variables et ses méthodes.

*AlertController => ‘@ionic/angular’

Ce composant sert à afficher des alertes

PlatForm => ‘@ionic/angular’

Le service Platform est utilisé afin d’obtenir des informations sur l’appareil de l’utilisateur : Son système(iOS, Android, etc.) et son type(Desktop, Tablet ou Smartphone). Ce qui permet de gérer les comptabilités entre les différents types d’appareils.

 

ToastController => ‘@ionic/angular’ 

Permet d’afficher des notifications ou des messages à l'utilisateur.

 

LoadingController => ‘@ionic/angular’

Ce composant est utilisé pour afficher un loader.

 

 

Variables:

 

NomTypeUtilité
idStringStocke l’identifiant du message
smsArraytableau qui stocke les messages
astreinteArraytableau qui stocke la liste des noms des personnels d’astreinte
loadingBooleanPermet d’afficher ou non le loader
messageStringStock le contenu d’un message afin de l’envoyer par SMS
conversationArrayTableau qui stock la conversation
smsIsSendBoolenTrue si le message est bien envoyé
loaderAnyStock le composant Loader lors de l’utilisation de ce dernier
showLoaderBooleanPermet de savoir si le composant Loader est affiché

 

 

Méthodes:

 

 

NomDéclenchementUtilité
getSmsÀ l’ouverture de la pageCette méthode sert à récupérer un message
getConversationDans la méthode getSms()Sert à récupérer une conversation
sendSmsAu clic sur l'icône d’envoi d’un messageenvoyer un message
alertMessageDans la méthode sendSmsCréer une alerte avec un message donné
showLoadingDans la méthode sendSmsFait apparaître un loader avec le message ‘Envoi…’
onMessageAreaFocusQuand l’utilisateur touche pour commencer à écrire son messageScroll vers le bas lors de l’ouverture du clavier du smartphone
ngOninitÀ l’ouverture de la pageLancer la méthode getSms() à l’initialisation du composant detail-sms

 

Services

 

Description

 

C’est la classe qui gère le thème de l’application (Dark ou Light).

Les imports

* import implémenté dans le constructor afin de lier l’import à la Class et de s’en servir plus facilement

DOCUMENT => ‘@Angular/common

Sert à accéder directement au DOM et les manipuler

Injectable => ‘@Angular/core

* inject=> ‘@Angular/core

sert à rendre les dépendences de services injectables c’est à dire  accessibles dans toute l’application. 

 *RenderFactory2 => ‘@Angular/core

 Renderer2 => ‘@Angular/core

sert à manipuler directement les éléments du DOM.

 

Variables:

 

NomTypeUtilité
rendererRenderer2Cible et manipule l'élément body 

 

 

Méthodes:

 

 

NomDéclenchementUtilité
enableDarkÀ l’ouverture de l’application et au clic du bouton SombreActive le thème Dark
enableLightAu clic du bouton ClairActive le thème Light

 

Detail-statistic-page

Description

 

Module dédié à la page d’informations détaillée d’un appel. L’astreinte à la possibilité d’ajouter un commentaire, d’ajouter un nom d’annuaire, et d’ajouter ce nom d’annuaire + le numéro dans les contacts du téléphone.

 

 

Imports

 

Élément importé -> path de l’import :

Qu’est-ce que cet import ?

 

* import implémenté dans le constructor afin de lier l’import à la Class et de s’en servir plus facilement

Component -> ‘@angular/core’:

OnInit -> ‘@angular/core’:

Composants de Base d’angular

 

ActivatedRoute -> ‘@angular/router’:

Composant Angular permettant d’obtenir des informations sur une route 

 

HttpClient -> ‘@angular/common/http’:

Composant créant un client HTTP pour divers requêtes 

 

VariablesGlobales -> ‘../VariablesGlobales’:

Class que l’on peut appeler partout sur l’application pour se servir de variables dont les valeurs ne changeront pas peu importe l’endroit ou nous nous trouvons. Nous avons également la possibilité de modifier ses variables.

 

ModalController -> ‘@ionic/angular’:

AlertController -> ‘@ionic/angular’:

Platform -> ‘@ionic/angular’:

ToastController -> ‘@ionic/angular’:

Divers composants Ionic adapté à Angular pour gérer les modals , les alertes , les informations de l’appareil utilisateurs et les “toast” 

 

AnnuaireNameModalComponent -> ‘../annuaire-name-modal/annuaire-name-modal.component’:

Composant pour la modal de modification / ajout de nom lié au numéro

 

Contacts -> ‘@ionic-native/contacts/ngx’:

Contact -> ‘@ionic-native/contacts/ngx’:

ContactField -> ’@ionic-native/contacts/ngx’:

ContactName -> ‘@ionic-native/contacts/ngx’:

Composants permettants de trouver et gérer les contacts dans l’annuaire de l’appareil utilisateur

 

 

Variables

 

NomTypeUtilitévaleur par défaut
idStringid de l’appelNon initialisé
statisticArrayDonnées de l’appel récupéré depuis la base de donnéeVide
astreinteArrayDonnées concernant la personne d’astreinte lors de la prise de l’appelVide
numeroRappelStringnuméro ayant rappelé l’appelantNon initialisé
traiteBooleanétat de l’appelNon initialisé
saveInPhoneBooleanTrue si le contact est dans le répertoire du télFalse
contactUpdateBooleanmise à jour du contactFalse
updatingContactBooleanmise à jour en cours du contactFalse
rappelsArraynuméros ayant rappelé l’appelantVide
textCommentStringcontenu du commentaireVide
showCommentBooleanAffiche le commentaireFalse
showCommentTextareaBoolBooleanAffichage de la zone de texte pour un ajout de commentaireFalse
showCommentTextStringValue du textarea commentaireVide
numeroAppelantStringNuméro de l’appelantNon initialisé
contactPhoneContact[]informations du contact présent dans le téléphoneVide
nameStringNom de l’appelantNon initialisé
numberStringNuméro de l’appelantNon initialisé
commentairesArrayliste des commentaires présentsVide
loadingBooleanAffichage du loaderTrue

 

Méthodes

 

NomDéclenchementUtilité
ngOnInitOuverture de la pageLancer la méthode getStat.
getStatOuverture de la page via la méthode ngOnInitMéthode récupérant la statistiques de l’appel pour les afficher, puis vérifie la présence du numéro  et du nom d’annuaire dans le répertoire du téléphone ( si non présent, on affiche un toogle pour l’ajout) puis retrait du loader à la fin du traitement des données.
getListOfCallOuverture de la page via la méthode getStatMéthode récupérant les rappels faits pour cet appel.
showCommentTextareaClic sur l'icône de la partie CommentairesMéthode faisant passer la variable “showCommentTextareaBool” à true pour  afficher le textarea servant à ajouter un commentaire.
checkIfNumberIsInContactPhone

Ouverture de la page via la méthode getStat
Lancement via la méthode “createOrUdpateContactName

Méthode consultant l’annuaire du téléphone afin de vérifier la présence du numéro.
saveContactInPhoneToggle d’enregistrement sur la page Méthode enregistrant le numéro ainsi que le nom associé dans le répertoire téléphonique de l’utilisateur.
putStatisticToggle d’appel terminé sur la pageMéthode permettant de changer l’état de l’appel (terminé ou pas)
putStatInLocalStorage

Lancement via la méthode “putStatistic”

Lancement via la méthode “postCommentary”

Lancement via la méthode “putCommentary”

Lancement via la méthode “deleteCommentary”

Méthode enregistrant les données de l’appel dans le stockage local du téléphone 
convertTimeLancement dans la méthode “getStat”Méthode de conversion de temps de secondes vers minutes et secondes
postCommentaryClic sur le bouton d’envoi de commentaire Méthode de création d’un commentaire dans la base de donnée et le stock en même temps dans le stockage local de l’appareil (pour le récupérer dans son composant parent)
putCommentaryClic sur le bouton d’envoi de commentaireMéthode de mise à jour d’un commentaire dans la base de donnée et le stock en même temps dans le stockage local de l’appareil
deleteCommentaryLancement via la méthode asynchrone  “canDeletedCommentary”Supprime le commentaire associé à l’appel
canDeleteCommentaryClic sur le bouton de suppression de commentaire Confirmation avant de supprimer le commentaire 
alertMessage

Lancement via la méthode “saveContactInPhone”

Lancement via la méthode asynchrone “changeContactNameAlert”

Lancement via la méthode asynchrone “createOrUpdateContactName”

Affichage d’un message après divers actions
changeContactNameAlertToggle de mise à jour de contact sur la pageAffichage d’une alerte proposant le changement d’un nom de contact dans le téléphone pour le faire correspondre à celui enregistré dans la base de donnée
createOrUpdateContactName

Clic sur l'icône de modification de contact

Clic sur l'icône de création de contact

Ajout ou Mise à jour du nom associé au numéro de l’appelant dans la base de donnée

 

Splash

 

Description

 

Module concernant le splash screen (loader) de l’application

 

 

Imports

 

Élément importé -> path de l’import :

Qu’est-ce que cet import ?

 

* import implémenté dans le constructor afin de lier l’import à la Class et de s’en servir plus facilement


Component -> ‘@angular/core’:

Composants de Base d’angular

OnInit -> ‘@angular/core’:

Composant permettant la méthode onInit

 

Router -> ‘@angular/router’:

Composant gérant le routeur d’angular

 

 

Variables

 

NomTypeUtilitéValeur par défaut
appearBoolBooleanfaire apparaître le logoFalse

 

Méthodes

 

 

NomDéclenchementUtilité
ngOnInitChargement de la pageAjouter le dark mode si celui ci a été ajouté précédemment, fait apparaître le splash screen (loader de l’application) puis redirige vers tab1

 

Variables Globales

 

Description:

 

c’est une classe avec une portée publique et globale que l’on peut l’appeler n’importe où dans l’application afin d’utiliser ses variables et ses méthodes.

 

Imports:

 

 HttpHeaders => ‘@Angular/common/http’

Pour configurer l'en-tête d’une requête HTTP

 Injectable => ‘@Angular/core

sert à rendre les dépendences de services injectables c’est à dire  accessibles dans toute l’application.

 

Variables:

 

NomTypeUtilité
envStringStock le type de l’environnement (production ou développement)
baseURLStringL’URL de base de l’API
apiKeyStringClé de l’API
tokenAccessDataStringStock le token obtenu après la connexion de l’utilisateur
headersHttpHeadersStock le Header des requêtes HTTP
isLoggedInAnyTrue si l’utilisateur est connecté
droitActivationBooleanTrue si l’utilisateur a le droit d’utiliser l’application mobile
droitNumeroBooleanTrue si l’utilisateur a le droit de modifier son numéro de téléphone 
droitPlanningBooleanTrue si l’utilisateur a le droit de modifier son planning
typeStatBoolean 
mainNumeroStringstock le numéro de téléphone 
nomStringStock le nom de l’utilisateur
numeroPlanningStringNuméro du planning 
droitAnnuaireBooleanTrue si l’utilisateur a le droit de modifier l’annuaire
droitSmsBooleanTrue si l’utilisateur a le droit d'accéder au SMS
reloadSocketBooleanTrue si il faut recharger les websocket

 

Méthodes:

 

 

NomDéclenchementUtilité
putEnvA l’ouverture de l’applicationInitialise les variables d’environnement
formatDateDans la méthode sendSms de la page detail-sms et dans les méthodes postCommentary et putCommentary de la page detail-statisticTransforme la date et l’heure dans un format spécifique
disconnectedQuand une erreur se produit lors de la connexion au serveur socketDéconnecte l’utilisateur

Theme

Description

Cette page contient la déclaration des variables globales de couleurs pour les utiliser dans les différents composants de l’application. Le contenu des variables change selon le thème choisi par l’utilisateur (Dark ou Light).