CommandUIHandler-Element
Gilt für: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online-| SharePoint Server 2013
Definiert den Handler für einen Befehl.
Definition
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Elemente und Attribute
In den folgenden Abschnitten werden Attribute, untergeordnete und übergeordnete Elemente erläutert.
Attribute
Attribut | Beschreibung |
---|---|
Befehl | Erforderlich. Der Name eines Befehls. Der Wert dieses Attributs stimmt mit dem Wert eines Command-Attributs für ein Element überein, das ein Steuerelement definiert. |
CommandAction | Erforderlich. Eine Skriptanweisung, die beim Aufruf dieses Handlers ausgeführt werden soll. Microsoft SharePoint Foundation ruft die eval-Methode auf und übergibt den Wert dieses Attributs. Der Wert des Attributs kann Ersatztoken enthalten, die beim Rendering transformiert werden. Die folgenden Token werden erkannt:
|
EnabledScript | Hinweis: Das EnabledScript-Attribut funktioniert nicht für benutzerdefinierte Aktionen, die im Hostweb von einem SharePoint-Add-In bereitgestellt werden. Eine Skript-Anweisung, die ausgeführt wird, um zu bestimmen, ob der Befehl aktiviert oder deaktiviert ist. Der Skriptausdruck sollte einen Boolean-Wert zurückgeben: true, falls der Befehl aktiviert ist, sonst false. Wenn das Menüband deaktiviert ist, werden Befehle ausgegraut und sind nicht klickbar. Wie beim CommandAction-Attribut wird die eval-Methode mit dem Wert dieses Attributs als Argument aufgerufen. Für das EnabledScript-Attribut werden die für das CommandAction-Attribut beschriebenen Ersatztoken nicht unterstützt. |
Untergeordnete Elemente
Keine
Übergeordnete Elemente
Vorkommen
Minimum: 1
Maximum: Unbegrenzt
Beispiel
Im folgenden Beispiel werden ein Schaltflächenbefehl und ein entsprechender Handler definiert.
<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>