Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Se aplica a: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013
Define el controlador de un comando.
Definición
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Elementos y atributos
En las siguientes secciones se describen los atributos, elementos secundarios y elementos primarios.
Atributos
Atributo | Description |
---|---|
Command | Necesario. El nombre de un comando. El valor de este atributo coincide con el valor de un atributo Command en un elemento que define un control. |
CommandAction | Necesario. Instrucción de script que se ejecuta cuando se invoca este controlador. Microsoft SharePoint Foundation llama al método eval y pasa el valor de este atributo. El valor del atributo puede contener los tokens de sustitución que se transforman en la representación. Se reconocen los tokens siguientes:
|
EnabledScript | Nota: El atributo EnabledScript no funciona en acciones personalizadas implementadas en la web host mediante un complemento de SharePoint. Instrucción de script que se ejecuta para determinar si el comando está habilitado o deshabilitado. La expresión del script debería devolver un valor Boolean, true si el comando está habilitado y, si no lo está, false. Si la cinta de opciones está deshabilitada, los comandos están atenuados y no se puede hacer clic en ellos. Al igual que con el atributo CommandAction, se llama al método eval con el valor de este atributo como argumento. El atributo EnabledScript no es compatible con los tokens de sustitución que se describen para el atributo CommandAction. |
Elementos secundarios
Ninguno
Elementos principales
Repeticiones
Mínimo: 1
Máximo: sin límite
Ejemplo
En el ejemplo siguiente se define un comando de botón y el controlador correspondiente.
<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>