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
    • Représentation des Smart Elements

      • Introduction
        • Éléments inclus
        • Illustrations
          • Responsive design
      • Concepts
        • Rendu
        • Vue
      • Masque
        • Configuration d'un masque {#maskxml}
        • Visibilité des SmartFields {#maskvisibility}
          • Visibilité des SmartFields structurants {#maskvisibilitystruc}
      • Contrôle de vue
        • Profilage du contrôle de vue
        • Choix automatique de la vue {#autochoice}
        • Libellé du menu modifier
        • Astuces
        • Configuration d'un contrôle de vue {#viewcontrolxml}
        • Configuration générale
        • Configuration d'une vue
      • Classe de rendu
        • Classes de configuration de rendu par défaut
      • Méthodes de la classe de configuration de rendu

        • smartElement/renderMethod.md
          • Éléments inclus
          • Illustrations
            • Responsive design
        • getCssReferences
        • getJsReferences
          • Mode global
        • getEtag
        • getTemplates
          • Gérer les modèles
          • Corps du Smart Element : body
          • Sections
            • Entête du Smart Element : header
            • Menu du Smart Element : menu
            • Contenu du Smart Element : content
            • Pied du Smart Element : footer
          • Variables des templates {#gettemplateVariables}
            • Variables client
            • Variables serveur
        • getContextController
          • Contrôleur par défaut
            • Propriétés
            • Attributs
            • Fonctions
          • Traduction
            • Exemples
        • getVisibilities
          • Exemple
        • getNeeded
          • Exemple
        • getCustomServerData
          • Exemple
        • setCustomClientData
          • Exemple
        • getLabel
          • Exemple
        • getMenu
          • Déclaration
          • Élément de menu simple {#itemMenu}
            • Construction
            • Arguments
            • Exemple
          • Définition de l’URL
            • Indiquer une URL statique
            • Indiquer la cible du menu
          • Émettre un événement
          • Contenu du menu
          • Liste d’éléments de menu {#listMenu}
            • Construction
            • Arguments
            • Méthode
          • Liste dynamique d’éléments de menu {#dynamicMenu}
            • Construction
            • Exemple
          • Fonction associée à un menu {#callableMenu}
            • Construction
            • Exemple
          • Menu Séparateur {#separatorMenu}
            • Construction
            • Arguments
            • Exemple
          • Intégration d’éléments dans un menu
            • Ajout d’un élément en fin de liste
            • Ajout d’un élément à une position donnée
            • _Exemple_
          • Suppression d’un élément
          • Surcharge d’un élément de menu
            • Exemple
          • Visibilité des éléments de menu
            • Exemple
          • Menus prédéfinis
            • Rendu de consultation
            • Rendu de modification
            • Événements prédéfinis
          • Menu d’envoi de courriel (mail) {#sendmenu}
            • Formulaire d’envoi
            • Choix des destinataires
            • Menu d’envoi standard
            • Menu d’envoi avec un lien personnalisé
            • Menu d’envoi avec un modèle de mail spécifique
        • getOptions
          • Remarques
          • Options personnalisées
        • getMessages
          • Déclaration
          • Arguments
          • Exemple
      • Options de rendu
        • Options de représentation type Smart Element {#smartElement-options}
          • setStickyTabs
          • setOpenFirstTab
          • setTabPlacement
        • Options de rendu communes à tout type de Smart Fields {#common-options}
          • showEmptyContent {#common-showemptycontent}
          • setLink
          • setLabelPosition {#common-setlabelposition}
          • setAttributeLabel {#common-setattributelabel}
          • setDescription {#common-setdescription}
          • displayDeleteButton {#common-displaydeletebutton}
          • setInputTooltip {#common-setinputtooltip}
          • setAutoCompleteHtmlLabel {#common-setautocompletehtmllabel}
          • addButton {#common-addbutton}
          • setTemplate {#common-settemplate}
          • addHtmlClass {#common-addhtmlclass}
          • removeHtmlClass {#common-removehtmlclass}
          • setHtmlAttribute {#common-sethtmlattribute}
          • setTranslations {#common-settranslations}
          • setCustomWidgetAttributeFunction {#common-setcustomwidgetattributefunction}
        • Options de représentation type account {#account-options}
        • Options de représentation type array {#array-options}
          • setRowCountThreshold {#array-setrowcountthreshold}
          • disableRowAdd {#array-disablerowadd}
          • disableRowDel {#array-disablerowdel}
          • disableRowMove {#array-disablerowmove}
          • setRowMinLimit {#array-setrowminlimit}
          • setRowMaxLimit {#array-setrowmaxlimit}
          • setRowMinDefault {#array-setrowmindefault}
          • setDescription (colonne de tableau) {#column-setdescription}
          • setDescription (tableau) {#array-setdescription}
          • setTranspositionWidth {#array-settranspositionwidth}
          • setTranslations {#array-settranslations}
        • Options de représentation type color {#color-options}
          • setKendoColorConfiguration {#color-setkendocolorconfiguration}
        • Options de représentation type date {#date-options}
          • setKendoDateConfiguration {#date-setkendodateconfiguration}
          • setFormat {#date-setformat}
          • setPlaceHolder {#date-setplaceholder}
        • Options de représentation type docid {#docid-options}
          • setKendoMultiSelectConfiguration {#docid-setkendomultiselectconfiguration}
          • setPlaceHolder {#docid-setplaceholder}
          • setFormat {#docid-setformat}
          • setDocumentIconSize {#docid-setdocumenticonsize}
          • addCreateDocumentButton {#docid-addcreatedocumentbutton}
        • Options de représentation type double {#double-options}
          • setDecimalPrecision {#double-setdecimalprecision}
        • Options de représentation type enum {#enum-options}
          • setDisplay {#enum-setdisplay}
          • useSourceUri {#enum-usesourceuri}
          • useFirstChoice {#enum-usefirstchoice}
          • useOtherChoice {#enum-useothertchoice}
          • setPlaceHolder {#enum-setplaceholder}
          • setTranslations {#enum-settranslations}
          • setOrderBy {#enum-setorderby}
        • Options de représentation type file {#file-options}
          • setContentDispositionInline {#file-setcontentdispositioninline}
          • setTranslations {#file-settranslations}
          • setPlaceHolder {#file-setplaceholder}
          • setMimeIconSize {#file-setmimeiconsize}
        • Options de représentation type frame {#frame-options}
          • setCollapse {#frame-setcollapse}
          • setDescription (cadre) {#frame-setdescription}
          • setResponsiveColumns {#frame-setresponsivecolumns}
        • Options de représentation type htmltext {#htmltext-options}
          • setHeight {#htmltext-setheight}
          • setToolbar {#htmltext-settoolbar}
          • setKendoEditorConfiguration {#htmltext-setKendoEditorConfiguration}
          • setAnchorsOptions {#htmltext-setanchorsoptions}
        • Options de représentation type image {#image-options}
          • setThumbnailSize {#image-setthumbnailsize}
        • Options de représentation type int {#int-options}
          • setKendoNumericConfiguration {#int-setkendonumericconfiguration}
          • setFormat {#int-setformat}
          • setTranslations {#int-settranslations}
          • setPlaceHolder {#int-setplaceholder}
        • Options de représentation type longtext {#longtext-options}
          • setMaxDisplayedLineNumber {#longtext-setmaxdisplayedlinenumber}
        • Options de représentation type money {#money-options}
          • setCurrency {#money-setcurrency}
        • Options de représentation type password {#password-options}
          • hideValue {#password-hidevalue}
          • setPlaceHolder {#password-setplaceholder}
        • Options de représentation type tab {#tab-options}
          • setTooltipLabel {#tab-settooltiplabel}
          • setDescription (onglet) {#tab-setdescription}
        • Options de représentation type text {#text-options}
          • setMaxLength {#text-setmaxlength}
          • setKendoAutoCompleteConfiguration {#text-setkendoautocompleteconfiguration}
          • setPlaceHolder {#text-setplaceholder}
          • setFormat {#text-setformat}
        • Options de représentation type time {#time-options}
          • setKendoTimeConfiguration {#time-setkendotimeconfiguration}
          • setFormat {#time-setformat}
          • setPlaceHolder {#time-setplaceholder}
        • Options de représentation type timestamp {#timestamp-options}
          • setKendoDateConfiguration {#timestamp-setkendodateconfiguration}
      • Associer une classe de rendu à un Smart Element
        • Fichiers de surcharge des éléments de rendu {#overloadRender}
          • Format
          • Prise en compte des surcharges
          • Définir l'accès à un rendu de Smart Element
          • Désactiver le calcul des etag {#disableetag}
        • Classe d'accès à un rendu de Smart Element
        • Définir les rendus dans un contrôle de vue
        • Définir un rendu par défaut pour une Smart Structure
      • Contrôleurs clients (javascript)
      • Contrôleur global
        • Méthodes du contrôleur global
          • addSmartElement
          • getScopedController
          • getControllers
          • addEventListener
          • registerFunction
          • setVerbose
      • Contrôleur restreint
        • Objets internes du contrôleur
          • Smart Element {#internal-SE}
          • Smart Field {#internal-SF}
          • Types de Smart Field {#smart-field-types}
        • Énuméré
          • Fenêtre de transition {#SE-transition}
          • Menu
        • Carte des événements du contrôleur restreint
          • Ordonnancement des événements
          • Modification
          • Sauvegarde
          • Suppression
          • Restauration
          • Passage de transition
          • Autres
        • Méthodes du contrôleur restreint de Smart Element
          • addEventListener {#addEventListener}
          • addConstraint
          • addCustomClientData
          • appendArrayRow
          • changeStateSmartElement
          • cleanSmartFieldErrorMessage
          • deleteSmartElement
          • drawTab
          • fetchSmartElement
          • getCustomServerData
          • getProperties
          • getProperty
          • getSmartFields
          • getSmartField
          • getValues
          • getValue
          • getMenus
          • getMenu
          • getCustomClientData
          • hasSmartField
          • hideSmartField
          • hasMenu
          • isLoaded
          • isModified
          • injectJS
          • injectCSS
          • insertBeforeArrayRow
          • listConstraints
          • listEventListeners
          • maskSmartElement
          • removeEventListeners
          • removeCustomClientData
          • removeArrayRow
          • restoreSmartElement
          • removeConstraint
          • reinitSmartElement
          • saveSmartElement
          • setValue
          • setSmartFieldErrorMessage
          • selectTab
          • showMessage
          • showSmartField
          • triggerEvent
          • tryToDestroy
          • unmaskSmartElement
        • Liste des événements déclenchés sur le Smart Element Ui
          • actionClick {#actionClick}
          • afterDelete
          • afterSave
          • afterRestore
          • beforeClose
          • beforeDelete
          • beforeRender
          • beforeRestore
          • beforeSave
          • beforeValidate
          • close
          • displayError
          • displayMessage
          • ready
        • Liste des événements déclenchés sur les Smart Fields
          • smartFieldAnchorClick
          • smartFieldArrayChange
          • smartFieldBeforeRender
          • smartFieldDownloadFile
          • smartFieldHelperResponse
          • smartFieldHelperSearch
          • smartFieldHelperSelect
          • smartFieldEnumResponse {#smartfieldenumresponse}
          • smartFieldEnumSearch {#smartfieldenumsearch}
          • smartFieldEnumSelect {#smartfieldenumselect}
          • smartFieldReady
          • smartFieldChange
          • smartFieldUploadFile
          • smartFieldUploadFileDone
          • smartFieldBeforeTabSelect
          • smartFieldAfterTabSelect
          • smartFieldTabChange
          • smartFieldConstraintCheck
          • smartFieldCreateDialogSmartElementReady
          • smartFieldCreateDialogSmartElementBeforeSetFormValues
          • smartFieldCreateDialogSmartElementBeforeSetTargetValue
          • smartFieldCreateDialogSmartElementBeforeClose
          • smartFieldCreateDialogSmartElementBeforeDestroy
          • beforeDisplayTransition
          • afterDisplayTransition
          • beforeTransitionClose
          • beforeTransition
          • failTransition
          • successTransition
      • Rendu de transition
        • Associer une classe de rendu de transition via le cycle de vie
        • Classe de rendu de transition
          • getCssReferences
          • getJsReferences
          • getTemplates
          • getTransitionParameters
          • getRenderOptions
    • Aide à la saisie

    # getVisibilities

    La méthode getVisibilities permet de redéfinir la visibilité des Smart Fields.

        /**
         * @param Anakeen\Core\Internal\SmartElement $document
         * @return RenderAttributeVisibilities new Smart Field visibilities
         */
        public function getVisibilities(Anakeen\Core\Internal\SmartElement $document);
    

    Les classes Anakeen\Ui\DefaultView et Anakeen\Ui\DefaultEdit retournent les visibilités par défaut, en fonction du contrôle de vue.

    Cette méthode doit retourner un objet de la classe Anakeen\Ui\RenderAttributeVisibilities qui contient les visibilités à appliquer pour chacun des Smart Fields.

    La classe RenderAttributeVisibilities expose la méthode setVisibility qui permet de modifier la visibilité d'un Smart Field en particulier. Cette visibilité surcharge la visibilité par défaut et la visibilité indiquée par un masque provenant du contrôle de vue.

        /**
         * Affect new visibility to an attribute
         * This visibility is more prioritary than mask
         * @param string $attributeId attribute identifier
         * @param string $visibility one of I,H,O,R,W,S
         * @return $this
         * @throws Exception
         */
        public function setVisibility($attributeId, $visibility);
    

    Les visibilités utilisables sont définies comme constantes de la classe \Anakeen\Ui\RenderAttributeVisibilities.

    Si une visibilité est appliquée à un attribut structurant, une propagation de cette visibilité sera effectuée.

    # Exemple

    Modification des visibilités de 2 Smart Fields en surchargeant la classe de vue par défaut.

    use Anakeen\Ui\RenderAttributeVisibilities;
    use Anakeen\AttributeIdentifiers\My_family;
    
    class RenderConfigCustom extends \Anakeen\Ui\DefaultView
    {
      /**
       * @param \Anakeen\Core\Internal\SmartElement $document
       * @return \Anakeen\Ui\RenderAttributeVisibilities new attribute visibilities
       */
      public function getVisibilities(\Anakeen\Core\Internal\SmartElement $document)
      {
        $visibilities = parent::getVisibilities($document);
    
        $visibilities->setVisibility(My_family::my_tab_info, \Anakeen\Ui\RenderAttributeVisibilities::ReadOnlyVisibility);
    
        $visibilities->setVisibility(
          My_family::my_tab_annexe,
          \Anakeen\Ui\RenderAttributeVisibilities::WriteOnlyVisibility
        );
    
        return $visibilities;
      }
    }
    

    ← getContextController getNeeded →