Partilhar via


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:

  • {ItemId} - ID (GUID) retirado do modo de exibição de lista.
  • {ItemUrl} - URL relativa à Web do item de lista (Url).
  • {RecurrenceId} - ID de um item recorrente (RecorrênciaID).
  • {SiteUrl} - A URL totalmente qualificada para o site (Url).
  • {ListId} – ID (GUID) da lista (ID).
  • {ListUrlDir} - URL relativa ao servidor do site mais a pasta da lista.
  • {Source} - URL de solicitação totalmente qualificada.
  • {SelectedListId} – ID (GUID) da lista que está atualmente selecionada em uma exibição de lista.
  • {SelectedItemId} - ID do item que está selecionado no momento na exibição de lista.
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

CommandUIHandlers

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>