Élément CommandUIHandler
S’applique à : SharePoint 2016 | SharePoint Foundation 2013 | | SharePoint Online SharePoint Server 2013
Définit le gestionnaire d’une commande.
Définition
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Éléments et attributs
Les sections suivantes décrivent les attributs, les éléments enfants et les éléments parents.
Attributs
Attribut | Description |
---|---|
Commande | Obligatoire. Nom d’une commande. La valeur de cet attribut correspond à la valeur d’un attribut Command sur un élément qui définit un contrôle. |
CommandAction | Obligatoire. Instruction de script à exécuter lorsque ce gestionnaire est appelé. Microsoft SharePoint Foundation appelle la méthode eval , en transmettant la valeur de cet attribut. La valeur de l’attribut peut contenir des jetons de substitution transformés lors du rendu. Les jetons suivants sont reconnus :
|
EnabledScript | Remarque : l’attribut EnabledScript ne fonctionne pas sur les actions personnalisées déployées sur le site web hôte par un complément SharePoint. Instruction de script exécutée pour déterminer si la commande est activée ou désactivée. L’expression de script doit retourner une valeur Boolean (true si la commande est activée ou false si elle ne l’est pas). Si le Ruban est désactivé, les commandes sont estompées et l’utilisateur ne peut pas cliquer sur celles-ci. Comme dans le cas de l’attribut CommandAction, la méthode eval est appelée avec la valeur de cet attribut comme argument. L’attribut EnabledScript ne prend pas en charge les jetons de substitution décrits pour l’attribut CommandAction. |
Éléments enfants
Aucun
Éléments parents
Occurrences
Minimum : 1
Maximum : pas de limite
Exemple
L’exemple suivant définit une commande de bouton et un gestionnaire correspondant.
<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
<CustomAction
Id="EmailContacts"
RegistrationType="List"
RegistrationId="105"
Location="CommandUI.Ribbon">
<CommandUIExtension>
<CommandUIDefinitions>
<CommandUIDefinition
Location="Ribbon.ListItem.Actions.Controls._children">
<Button
Id="Ribbon.ListItem.Actions.Email"
Alt="$Resources:core,E-Mail;"
Sequence="55"
Command="emailContacts"
LabelText="$Resources:core,E-Mail;"
Description="$Resources:core,E-Mail;"
TemplateAlias="o1"/>
</CommandUIDefinition>
</CommandUIDefinitions>
<CommandUIHandlers>
<CommandUIHandler
Command="emailContacts"
CommandAction="javascript:
function getItemIds()
{
var itemIds = '';
var items = SP.ListOperation.Selection.getSelectedItems();
var item;
for(var i in items)
{
item = items[i];
if(itemIds != '')
{
itemIds = itemIds + ',';
}
itemIds = itemIds + item.id;
}
return itemIds;
}
function handleReadyStateChange()
{
if (client.readyState == 4)
{
if (client.status == 200)
{
// client.responseText is mailto string
window.location = ('mailto:' + client.responseText);
}
}
}
function invokeEmailContacts()
{
var params = 'itemids=' + getItemIds();
// Posting to EmailContacts.ashx to get the mailto string
var site='{SiteUrl}';
var url = site + '/_layouts/emailcontacts.ashx?listId={ListId}';
client = null;
client = new XMLHttpRequest();
client.onreadystatechange = handleReadyStateChange;
client.open('POST', url, true);
client.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
client.setRequestHeader('Content-length', params.length);
client.send(params);
}
invokeEmailContacts();"
EnabledScript="javascript:
function enableEmailContacts()
{
var items = SP.ListOperation.Selection.getSelectedItems();
return (items.length > 0);
}
enableEmailContacts();"/>
</CommandUIHandlers>
</CommandUIExtension>
</CustomAction>
</Elements>