Manuel de référence
    • Introduction
    • Smart Data
    • Sécurité
    • Workflow
    • Les essentiels de l'API PHP
    • Composants graphiques
    • UIs de Smart Element
    • Internationalisation
    • Scripts
    • Module
    • API REST
    • Routes
    • Moteurs de transformation
    • Recherche générale
    • Supervision
    • Techniques avancées
    • Tableaux de bord
    • Workers
    Anakeen Platform 4
    Anakeen
    • Introduction
    • Smart Data
    • Sécurité
    • Workflow
    • Les essentiels de l'API PHP
    • Composants graphiques
    • UIs de Smart Element
    • Internationalisation
    • Scripts
    • Module
    • API REST
    • Routes
    • Moteurs de transformation
    • Recherche générale
    • Supervision
    • Techniques avancées
    • Tableaux de bord
    • Workers
    Anakeen Platform 4
    Anakeen
    • Introduction
    • Préparation de la page
      • La CSS
      • Les traductions
      • Exemple
    • Authentication
      • Initialisation
      • Description
        • Fonctionnement général
        • Mot de passe oublié
      • Propriétés
        • authentLanguage (String, default: "fr_FR, en_US")
        • defaultLanguage (String, default: "fr_FR")
      • Événements
        • beforeLogin
        • afterLogin
        • beforeRequestResetPassword
        • afterRequestResetPassword
        • beforeApplyResetPassword
        • afterApplyResetPassword
    • Identity
      • Description
      • Initialisation
      • Propriétés
        • large
        • email-alterable
        • password-alterable
      • Événements
        • beforeUserLoaded
        • afterUserLoaded
        • beforeMailAddressChange
        • afterMailAddressChange
        • beforePasswordChange
        • afterPasswordChange
    • Logout
      • Description
      • Initialisation
      • Propriétés
        • Title
        • withCloseConfirmation
        • autoDestroy
      • Événements
        • beforeLogout
        • afterLogout
        • logoutCanceled
      • Exemples
        • Composant avec l'icône par défaut
        • Composant avec un contenu personnalisé
        • Composant avec icône personnalisée
    • Smart Criteria
      • Description
      • Initialisation
      • Concepts
        • Types de filtre
        • Structure des filtres
        • Logiques de filtrage
      • Propriétés
        • config: La configuration initiale
        • standalone: Configuration complète côté client
        • submit: Bouton de validation
        • force: Popup de confirmation
        • responsiveColumns: Affichage multi-colonne
        • noCheck: Empêcher l'affichage d'erreurs
      • Slots
      • Méthodes
        • getFilters()
        • getCriteriaForm()
        • loadValues(filterValues: SmartFilter)
        • Méthodes de Smart Form
      • Evénements
        • smartCriteriaReady
        • smartCriteriaChange
        • smartCriteriaError
        • smartCriteriaValidated
        • smartCriteriaSubmitClick
        • smartCriteriaEnterKey
        • Evènements de Smart Form
      • Cas d'usages
        • Operateur non modifiable
        • Aide à la saisie
        • Lien avec une SmartGrid
        • Recherche générale
    • Smart Element
      • Description
      • Initialisation
      • Propriétés
        • initid (Number | String, default: 0)
        • view-id (String, default: "!defaultConsultation
        • revision (Number, default: -1)
        • custom-client-data (Object, default: null)
        • browser-history (Boolean, default: false)
      • Événements
        • documentLoaded
        • Évènements du widget interne
      • Slots
        • loading
      • Méthodes
      • Exemples
        • Ajouter une bordure et la propriété title pour tous les Smart Fields
        • Afficher un message à chaque modification de valeur de Smart Field
    • Smart Element Grid
      • Description
      • Initialisation
        • Configuration des colonnes d’une grille
        • Configuration d’une colonne abstraite de la grille
        • Configuration de la colonne d’actions de la grille
      • Propriétés
        • collection (String)
        • controller (String)
        • defaultExportButton (Boolean)
        • exportOptions (Object)
        • contextTitles (Boolean, default: true)
        • contextTitlesSeparator (String, default: "-")
        • emptyCellText (String, default: "")
        • sortable (Boolean | SmartGridSortConfig, default: DEFAULT_SORT)
        • filterable (Boolean ou Object, default: true)
        • pageable (Boolean | SmartGridPageSize, default: DEFAULT_PAGER)
        • refresh (Boolean, default: false)
        • autoScrollTop (Boolean, default: true]) {#autoScrollTop}
        • reorderable (Boolean, default: false)
        • resizable (Boolean, default: true)
        • persistStateKey (String, default:"")
        • customData (Object)
        • kendoProps
        • smartCriteriaValue (object, default: {})
        • filterOption (FilterOptions , default: FilterOptions.NOCASE = 2)
      • Événements
        • gridReady
        • beforeConfig
        • afterConfig
        • beforeContent
        • afterContent
        • beforeGridCellRender
        • rowClick
        • rowActionClick
        • beforeDocidLink
        • beforeGridExport
        • beforePollingGridExport
        • dataBound
        • selectionChange
        • afterRestoreConfiguration
        • afterSaveConfiguration
        • beforeSaveConfiguration
        • beforeRestoreConfiguration
        • gridError
        • pageChange
      • Slots
        • Description
        • Initialisation
        • cellTemplate
        • ank-grid-pager
        • ank-smart-element-grid-expand-button
        • ank-smart-element-grid-export-button
        • ank-smart-element-grid-columns-button
      • Méthodes
        • export
        • addFilter
        • refreshGrid
        • addSort
        • selectSmartElements
        • expandColumns
        • restoreConfiguration
        • saveConfiguration
        • resetConfiguration
        • displayColumns
        • setOverlay
        • updateOverlay
        • getExportFile
      • Cas d’usages
        • Recherche générale
    • Smart Element List
      • Description
      • Initialisation
      • Propriétés
      • Événements
        • itemSelected
        • filterChange
        • filterInput
        • pageChange
        • beforeContent
        • dataBound
      • Slots
        • header
        • label
        • search
        • item
        • footer
        • pager
      • Méthodes
        • setCollection
        • filterList
        • refreshList
        • selectSmartElement
        • clearListFilter
        • scrollToActiveItem
      • Exemples
        • Affichage des Smart Elements de la Smart Structure "DEVBILLL"
        • Affichage d'une collection "MyCollection" après initialisation du composant
        • Affichage d'une collection "MyCollection" avec gestion d'événements et non sélectionnable
    • Smart Element Tab
      • Installation
      • Tabs component
        • Propriétés
        • Événements
        • Exemple d'utilisation
        • Exemple d'utilisation
        • Méthodes
        • Exemple d'utilisation
      • Smart Element Tab component
        • Description
        • Propriétés
        • Slots
        • Événements
        • Méthodes
      • Tab component
        • Description
        • Propriétés
        • Événements
        • Méthodes
        • Exemple
      • Exemple
    • Smart Form
      • Description {#sf-description}
      • Initialisation {#sf-initialisation}
      • Propriétés {#sf-properties}
        • config.structure (Smart Form Structure) {#sf-config-structure}
        • config.structure (Autocomplete) {#sf-config-autocomplete}
        • config.renderOptions (Smart Form RenderOptions) {#sf-config-renderoptions}
        • config.menu (Smart Form Menu)
        • config.values (Smart Form Values) {#sf-config-values}
      • Événements {#sf-events}
    • Un exemple
      • Ajout de la libraire
      • Mise en place du code

    # Identity Component

    # Description

    Badge permettant d'identifier l'utilisateur courant (initiales et éventuellement prénom et nom). Permet aussi, suivant configuration, de modifier des informations sur son profil (adresse email et/ou mot de passe).

    # Initialisation

    Le composant AnkIdentity est défini dans la bibliothèque "@anakeen/user-interfaces/components/lib/AnkIdentity.esm" et sa CSS provient de @anakeen/user-interfaces/components/scss/AnkIdentity.scss.

    Exemple d'initialisation

    <template>
      <div>
        <ank-identity />
      </div>
    </template>
    <script>
      import AnkIdentity from "@anakeen/user-interfaces/components/lib/AnkIdentity.esm";
      import "@anakeen/user-interfaces/components/scss/AnkIdentity.scss";
      export default {
        components: {
          AnkIdentity
        }
      };
    </script>
    

    Aperçu du composant

    identityDefault

    # Propriétés

    # large

    Booléen, définit si le composant doit afficher uniquement le badge avec les initiales (large="false"), ou également afficher le nom et l'email de l'utilisateur (large="true"). Sa valeur est définie à false par défaut.

        <ank-identity :large="true" />
    

    identityLarge

    # email-alterable

    Booléen, définit si l'utilisateur peut ou non modifier l'adresse email rattachée à son profil depuis le composant. Sa valeur est définie a false par défaut.

        <ank-identity :email-alterable="true" />
    

    identityMailAlterable

    Si la valeur est true, alors un bouton sera affiché dans un menu déroulant pour permettre la saisie d'adresse email.

    # password-alterable

    Booléen, définit si l'utilisateur peut ou non modifier son mot de passe depuis le composant. Sa valeur est définie à false par défaut.

        <ank-identity :password-alterable="true" />
    

    Si la valeur est true, alors un bouton sera affiché dans un menu déroulant pour permettre la saisie du changement de mot de passe.

    Placement "left"

    # Événements

    # beforeUserLoaded

    Événement déclenché lorsque les informations de l'utilisateur ont été chargées depuis le serveur mais n'ont pas encore été chargées dans le composant. Il transmet les informations chargées de l'utilisateur connecté (initiales, nom, prénom, login, email et langue). La fonction preventDefault() de l'événement permet d'annuler le chargement des informations de l'utilisateur dans le composant. L'événement peut être intercepté pour modifier les données reçues qui seront affichées par le composant.

    Format des données transmises dans l'événement, dans le champ event.detail[0] :

        "data": {
            "initials": "JD",
            "firstName": "Jean",
            "lastName": "Dupont",
            "login": "jean.dupont",
            "email": "jean.dupont@example.com",
            "locale": "fr_FR.UTF-8"
        }
    

    L'exemple suivant modifie les initiales renvoyées par le serveur pour les mettre en minuscules :

        <ank-identity ref="identityComponent"
                      :large="false"
                      :email-alterable="false"
                      :password-alterable="false" />
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("beforeUserLoaded", event => {
      let data = event.detail[0];
      data.initials = data.initials.toLowerCase();
    });
    

    L'exemple suivant annule le chargement des données utilisateur dans le composant :

        <ank-identity ref="identityComponent"/>
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("userLoaded", event => {
      event.preventDefault();
    });
    

    # afterUserLoaded

    Événement déclenché lorsque les informations de l'utilisateur ont été chargées dans le composant. Il transmet les informations chargées de l'utilisateur connecté (initiales, nom, prénom, login et email).

    Format des données transmises dans l'événement, dans le champ event.detail[0] :

        "data": {
            "initials": "JD",
            "firstName": "Jean",
            "lastName": "Dupont",
            "login": "jean.dupont",
            "email": "jean.dupont@example.com",
        }
    

    L'exemple suivant affiche les données utilisateurs :

        <ank-identity ref="identityComponent"/>
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("afterUserLoaded", event => {
      let data = event.detail[0];
      alert(JSON.stringify(data));
    });
    

    # beforeMailAddressChange

    Événement déclenché lorsque le bouton de validation a été cliqué pour envoyer la requête de modification de son adresse email, et avant que cette requête ne soit envoyée au serveur. La fonction preventDefault() de l'événement permet d'annuler la modification de l'email. L'événement beforeMailAddressChange transmet la nouvelle valeur de mail demandée.

    Format des données transmises, dans le champ event.detail[0] :

        "data": {
            "newEmail": "new.mail.adress@example.com",
        }
    

    L'exemple suivant empêche le changement de l'adresse email si la nouvelle adresse n'appartient pas au domaine @example.com :

        <ank-identity ref="identityComponent"
                      :large="false"
                      :email-alterable="true"
                      :password-alterable="true" />
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("beforeMailAddressChange", event => {
      let data = event.detail[0];
      if (!data.newEmail.match(/\S+@example.com/)) {
        event.preventDefault();
        alert("The new email doesn't belong to an authorized domain");
      }
    });
    

    # afterMailAddressChange

    Événement déclenché lorsque l'adresse email a été modifiée sur le serveur. Il transmet la nouvelle adresse email enregistrée sur le serveur.

    Format des données transmises dans le champ event.detail[0] :

        "data": {
            "email": "jean.dupont@example.com"
        }
    

    L'exemple suivant indique à l'utilisateur sa nouvelle adresse email enregistrée sur le serveur :

        <ank-identity ref="identityComponent"
                      :large="false"
                      :email-alterable="true"
                      :password-alterable="true" />
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("afterMailAddressChange", event => {
      let data = event.detail[0];
      alert("Your email has been updated. Your new email is " + data.email);
    });
    

    # beforePasswordChange

    Événement déclenché lorsque l'utilisateur a cliqué sur le bouton de validation pour envoyer la requête de modification de son mot de passe, et avant que cette requête ne soit envoyée au serveur. La fonction preventDefault de l'événement permet d'annuler la modification du mot de passe. L'événement beforePasswordChange ne transmet pas d'informations

    L'exemple suivant empêche le changement du mot de passe :

        <ank-identity ref="identityComponent"
                      :large="false"
                      :email-alterable="true"
                      :password-alterable="true" />
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("beforePasswordChange", event => {
      event.preventDefault();
      alert("The admin password can't be changed");
    });
    

    # afterPasswordChange

    Événement déclenché lorsque le mot de passe a été modifié sur le serveur. Il transmet les informations de l'utilisateur connecté (initiales, nom, prénom, login et email).

    Format des données transmises dans l'événement, dans le champ event.detail[0] :

        "data": {
            "initials": "JD",
            "firstName": "Jean",
            "lastName": "Dupont",
            "login": "jean.dupont",
            "email": "jean.dupont@example.com",
        }
    

    L'exemple suivant affiche une alerte à l'utilisateur lui indiquant que son mot de passe a bien été modifié :

        <ank-identity ref="identityComponent"
                      :large="false"
                      :email-alterable="true"
                      :password-alterable="true" />
    
    let identityComponent = this.$refs.identityComponent;
    identityComponent.$on("afterPasswordChange", () => {
      alert("Your password was successfully modified");
    });
    

    ← Authentication Logout →