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.

    menu - consultation html

    Figure 48. menu - consultation html

  • 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

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

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 ?

×