Elemento CommandUIHandler
Última modificación: miércoles, 13 de octubre de 2010
Hace referencia a: SharePoint Foundation 2010
En este artículo
Atributos
Elementos secundarios
Elementos primarios
Repeticiones
Define el controlador de un comando.
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Atributos
Atributo |
Descripción |
---|---|
Command |
Obligatorio. 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 |
Obligatorio. 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 |
Opcional. 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 primarios
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="https://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>