4.2.19 Type menu
4.2.19.1 Description
Les attributs de type menu se présentent sous la forme de liens présent dans la barre de menu en haut du document.
Ces menus permettent d'accéder à des urls, et ainsi de déclencher des actions, etc.
L'url du menu est indiqué dans la caractéristique link
.
Cette caractéristique supporte, en plus des notations standards, la notation :
::myMethod()
Cette notation permet d'appeler directement une méthode exposée de la famille. L'appel de cette méthode retourne la page de consultation de document mis à jour.
La méthode appelée doit avoit le tag @apiExpose
dans le commentaire associée
afin de la rendre exposable. Cette méthode doit assurer elle-même les contrôles
nécessaires à la sécurité du document.
4.2.19.2 Représentation
-
consultation :
Une entrée de menu supplémentaire.
-
modification :
Aucune représentation.
-
odt :
Aucune représentation.
4.2.19.3 Comportement
Le menu n'est pas représenté dans les cas suivants:
- link est vide,
- la visibilité est
H
, - le menu référence des attributs au moyen de la syntaxe <attrid> et un de ces attributs est vide (cela peut être contourné par l'utilisation de la syntaxe ?<attrid>).
4.2.19.4 Format de stockage
Cet attribut n'est pas stocké.
4.2.19.5 Visibilité
Le menu est soumis à la visibilité standard.
Si la visibilité est H
, ou si l'url est vide le menu n'est pas affiché.
Si le champ phpfunc indique une méthode, alors cette méthode sera utilisé pour avoir la visibilité du menu. Cette méthode outrepasse la visibilité indiqué dans l'attribut ou le masque. La méthode doit retourner une des constantes suivantes :
-
MENU_ACTIVE
: Le menu est visible et actif (cliquable) -
MENU_INVISIBLE
: Le menu n'est pas visible -
MENU_INACTIVE
: Le menu est visible mais il est inhibé (grisé)
Exemple :
Utilisation de la fonction ::menuResetLoginFailure()
déclarée dans la colonne
phpfunc
:
class myFamily extends \Dcp\Family\Document public function menuResetLoginFailure() { // Do not show the menu if the user has no edit rights on the document if ($this->canEdit() != '') { return MENU_INACTIVE; } // Do not show the menu on the 'admin' user if ($this->getRawValue('us_whatid') == 1) { return MENU_INVISIBLE; } // Do not show the menu if the account has no failures if ($this->getRawValue("us_loginfailure") <= 0) { return MENU_INVISIBLE; } return MENU_ACTIVE; } }
4.2.19.6 Options
En plus des options communes à tous les types d'attributs, ce type d'attribut dispose des options suivantes :
- barmenu
-
Indique que la popup doit s'ouvrir avec la barre de menus du navigateur.
Les valeurs possibles sont :
yes
no
(comportement par défaut)
- global
-
Indique que l'action effectuée par le menu n'est pas liée à un document en particulier.
Dans ce cas, le menu apparaît aussi dans le menu 'outils' des applications issues de GENERIC, ainsi que dans le menu contextuel du document famille.
Les valeurs possibles sont :
yes
no
(comportement par défaut)
- lconfirm
-
Indique qu'une confirmation doit être demandée avant activation du lien.
Le texte de la confirmation est déterminé par l'option tconfirm.
Les valeurs possibles sont :
yes
no
(comportement par défaut)
- lcontrol
-
Indique que le menu est disponible uniquement dans le menu contextuel du document, lorsque la touche control est appuyée.
Les valeurs possibles sont :
yes
no
(comportement par défaut)
- mheight
-
Indique la hauteur de la fenêtre popup.
Les valeurs possibles sont :
- toute hauteur en pixels (par exemple
400px
)
La valeur par défaut est
300px
- toute hauteur en pixels (par exemple
- mtarget
-
Indique le name de la fenêtre cible de l'hyperlien.
Les valeurs possibles sont :
-
_blank
(comportement par défaut) : Dans ce cas, la fenêtre cible est une nouvelle fenêtre ; -
_self
: Dans ce cas, la fenêtre cible est la fenêtre en cours ; -
fhidden
: Dans ce cas, la fenêtre cible est une fenêtre cachée ; -
fdoc
: Dans l'application ONEFAM, la fenêtre cible est la fenêtre dans laquelle est affiché le document (utile pour les menus avec l'option global) ; - tout nom de fenêtre valide.
-
- mwidth
-
Indique la largeur de la fenêtre popup.
Les valeurs possibles sont :
- toute largeur en pixels (par exemple
400px
)
La valeur par défaut est
400px
- toute largeur en pixels (par exemple
- onlyglobal
-
Utilisé conjointement avec l'option global, indique que le menu ne doit pas apparaître sur le document.
Les valeurs possibles sont :
yes
no
(comportement par défaut)
- submenu
-
Indique que le menu doit avoir un menu parent.
Les valeurs possibles sont :
- toute chaîne alphanumérique.
- tconfirm
-
Indique la question apparaissant pour la confirmation (ce doit être une question fermée).
Cette question est automatiquement ajoutée au catalogue de traduction.
Les valeurs possibles sont :
- toute chaîne de caractères.
La valeur par défaut est
Êtes-vous sûr ?