Elemento CommandUIHandler
Aplica-se a: SharePoint 2016 | SharePoint Foundation 2013 | | do SharePoint Online SharePoint Server 2013
Define o manipulador para um comando.
Definição
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Elementos e atributos
As seções a seguir descrevem os atributos, os elementos filhos e os elementos pai.
Atributos
Atributo | Descrição |
---|---|
Comando | Obrigatório. O nome de um comando. O valor desse atributo corresponde ao valor de um atributo command em um elemento que define um controle. |
CommandAction | Obrigatório. Uma instrução de script a ser executada quando esse manipulador é invocado. O Microsoft SharePoint Foundation chama o método eval , passando o valor desse atributo. O valor do atributo pode conter tokens de substituição que são transformados na renderização. Os seguintes tokens são reconhecidos:
|
EnableedScript | Observação: o atributo EnabledScript não funciona em ações personalizadas implantadas na Web do host por um Suplemento do SharePoint. Uma instrução de script executada para determinar se o comando está habilitado ou desabilitado. A expressão de script deve retornar um valor booliano , true se o comando estiver habilitado e false se não for. Se a faixa de opções estiver desabilitada, os comandos serão esmaecidos e não podem ser clicados. Assim como acontece com o atributo CommandAction , o método eval é chamado com o valor desse atributo como um argumento. O atributo EnableedScript não dá suporte aos tokens de substituição descritos para o atributo CommandAction . |
Elementos filho
Nenhum
Elementos pai
Occurrences
Mínimo: 1
Máximo: desvinculado
Exemplo
O exemplo a seguir define um comando de botão e um manipulador correspondente.
<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>