Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013
Определяет обработчик для команды.
Определение
<CommandUIHandler
Command = "Text"
CommandAction = "Text"
EnabledScript = "Text"
/>
Элементы и атрибуты
В разделах ниже приводится описание атрибутов, дочерних и родительских элементов.
Атрибуты
| Атрибут | Описание |
|---|---|
| Команда | Обязательно. Имя команды. Значение этого атрибута совпадает со значением атрибута Command элемента, который определяет элемент управления. |
| CommandAction | Обязательно. Инструкция скрипта, выполняемая при вызове этого обработчика. Microsoft SharePoint Foundation вызывает метод eval , передавая значение этого атрибута. Значение атрибута могут содержать маркеры подстановки, которые преобразуются при визуализации. Распознаются следующие маркеры:
|
| EnabledScript | Примечание. Атрибут EnabledScript не работает с пользовательскими действиями, развернутыми на хост-сайте надстройкой SharePoint. Оператор скрипта, который выполняется для определения того, включена или отключена команда. Выражение скрипта должно возвращать значение Boolean , true, если команда включена, и значение false если она отключена. Если лента отключена, команды недоступны и их нельзя выполнить. Как и в случае с атрибутом CommandAction, метод eval вызывается со значением этого атрибута в качестве аргумента. Атрибут EnabledScript не поддерживает маркеры подстановки, описанные для атрибута CommandAction. |
Дочерние элементы
Нет
Родительские элементы
Occurrences
Минимум: 1
Максимум: без ограничений
Пример
В следующем примере определяются команда кнопки и соответствующий обработчик.
<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>