Копировать ссылку на страницу Перейти в предыдущий раздел Перейти в следующий раздел

Для каждого веб-модуля в секции ContextMenus можно настроить контекстные меню объектов.

Состав пунктов контекстных меню по умолчанию см. в разделе «Стандартные имена пунктов контекстного меню».

Рекомендации:

добавляйте в контекстное меню только часто используемые действия, как правило, связанные с выбранным объектом. Количество действий должно быть минимальным;
по возможности соотнесите группировку действий контекстного меню с аналогичными кнопками на панели действий. Группы должны быть отделены друг от друга разделителями;
если действия контекстного меню дублируют кнопки на панели действий, задайте им одинаковые наименования;
располагайте действия в контекстном меню в последовательности:
1.Основные, часто используемые действия, например, «открыть», «запустить».
2.Дополнительные действия, например, «отправить по типовому маршруту».
3.Действия переноса, например, «вырезать», «копировать», «вставить».
4.Настройки объекта, например, «изменить состояние объекта».
5.Свойства объекта, например, «просмотр истории»;
используйте значки только для часто используемых действий и действий, которые могут привести к необратимым последствиям, например, удаление объекта.

Структура секции:

 

<ContextMenus>
<!-- Удаление всех контекстных меню по умолчанию -->
<clear />
<!-- Удаление конкретного контекстного меню по умолчанию -->
<remove name="{Тип удаляемого контекстного меню}" />
<!-- Настраиваемое контекстное меню -->
<ContextMenu
  type="{Тип объекта, вызывающего меню}"
  width="{Ширина меню}"
  refcode="{Код справочника}">
  <!-- Удаление всех пунктов контекстного меню по умолчанию -->
  <clear />
  <!-- Удаление конкретного пункта контекстного меню по умолчанию -->
  <remove name="{Имя удаляемого пункта меню}" />
  <!-- Пункты меню -->
  <MenuItem
    id="{ИД пункта меню}"
    text="{Код строки локализации названия пункта}"
    icon="{Значок пункта меню}"
    jsaction="{Функция, которая выполняется при выборе пункта меню}" />
  <!-- Разделитель пунктов меню -->
  <Separator />
</ContextMenu>
</ContextMenus>

remove – удаление конкретного контекстного меню.

name. Тип объекта, вызывающего удаляемое контекстное меню. Возможные значения:

EDocument – документ;
EDocumentVersion – список версий в карточек документа;
Job – задание;
Task – задача;
Folder – папка;
ReferenceRecord – запись справочника в списке объектов;
ReferenceRecordTable – запись справочника в списке записей справочника.

ContextMenu – настраиваемое контекстное меню.

type. Тип объекта, вызывающего контекстное меню. Возможные значения.

width. Ширина отображаемого контекстного меню в пикселях.

refcode. Код справочника, для записей которого настраивается контекстное меню. Указывается только для ReferenceRecordTable.

remove – удаление конкретного пункта меню.

name. Имя удаляемого пункта меню. Возможные значения.

MenuItem – список пунктов меню.

id. ИД пункта меню. Возможные значения.

icon. Название файла значка пункта меню (без расширения), расположенного в папке App_Sprites корневой папки веб-сайта. Если подходящего значка нет, добавьте свой в формате SVG в папку svg или PNG в папку App_Sprites. Значок пункта меню должен иметь размер 16x16.

jsaction. Функция, которая выполняется при выборе пункта меню. При необходимости укажите параметры функции. Файл с текстом функции следует размещать в подпапке js корневой папки веб-сайта.

Показать/скрыть пример Пример

<ContextMenus>
<ContextMenu type="EDocument">
  <MenuItem id="OpenForEdit"
    text="EDIT"
    icon="documentEdit-16"
    jsaction="OpenWithAgent(this, true);" />
  <MenuItem id="ViewInEditor"
    text="VIEW_IN_EDITOR"
    icon="documentRead-16"
    jsaction="EDocument(this).ViewInEditor()" />
  <Separator />
  <MenuItem id="CreateVersion"
    text="MENU_CREATE_VERSION"
    jsaction="EDocument(this).CreateVersion();" />
  <MenuItem id="Export"
    text="TOOLBAR_EXPORT_IMPORT_GROUP_EXPORT"
    icon="documentExport-16"
    jsaction="EDocument(this).Export()" />
  <MenuItem id="Import"
    text="TOOLBAR_EXPORT_IMPORT_GROUP_IMPORT"
    jsaction="EDocument(this).Import()" />
  <Separator />
  <MenuItem id="Card"
    text="OPEN_CARD"
    icon="card-16"
    jsaction="ShowObjectCard(this, 'view=Card&amp;mode=read')" />
  <MenuItem id="RightsList"
    text="MENU_RIGHTS"
    jsaction="ShowObjectCard(this, 'view=RightsList&amp;mode=read')" />
  <Separator />
  <MenuItem id="Sign"
    text="SIGN"
    icon="signYellow-16"
    jsaction="SignEDoc(this.id)" />
  <Separator />
  <MenuItem id="CopyLink"
    text="MENU_COPY_LINK"
    icon="linkCopy-16"
    jsaction="ObjCopyLink(this)" />
  <MenuItem id="DeleteLink"
    text="MENU_DELETE_LINK"
    icon="linkDelete-16"
    jsaction="ObjDeleteLink(this)" />
  <Separator />
  <MenuItem id="CopyDoc"
    text="MENU_COPY_DOCUMENT"
    jsaction="EDocument(this).CopyDoc()" />
  <Separator />
  <MenuItem id="SendAttach"
    text="MENU_SEND_AS_ATTACHMENT"
    jsaction="SendAsAttachment(this)" />
  <Separator />
  <MenuItem id="InsideFolders"
    text="MENU_INSIDE_FOLDERS"
    jsaction="ShowObjectCard(this, 'view=PlacedInFolders')" />
</ContextMenu>
</ContextMenus>

В результате у документов будет контекстное меню с пунктами:

Редактировать;
Открыть для чтения;
Создать версию;
Экспортировать;
Импортировать;
Открыть карточку;
Права доступа;
Подписать;
Копировать ссылку;
Удалить ссылку;
Создать копию;
Отправить задачей;
Находится в папках.
© Компания DIRECTUM, 2018 Сообщество пользователей DIRECTUM
.navbar > a:hover { background: #FFD73B; }