Перейти к основному содержимому
Версия: 7.0

Опции действия

При объявлении действия в инструкции ACTION в конце объявления может указываться некоторый набор опций действия.

Синтаксис​

Опции перечисляются друг за другом в произвольном порядке через пробел или переводы строк:

propertyOption1 ... propertyOptionN

Поддерживается следующий набор опций (синтаксис каждой опции указывается в отдельной строке):

IN groupName
viewType
ON eventType { actionOperator }
CHANGEKEY key [SHOW | HIDE]
CHANGEMOUSE key [SHOW | HIDE]
STICKY | NOSTICKY
syncType
ASON eventType [ACTION] propertyId
imageSetting
annotationSetting
CONFIRM
EXTID extID

Описание и параметры​

Блок интерактивного представления​

  • viewType

    Указание типа представления действия при добавлении на форму.

    • GRID - колонка таблицы
    • TOOLBAR - тулбар
    • PANEL - панель

    По действию аналогично указанию опции viewType в блоке свойств инструкции FORM. Соответственно, если эта опция не указана ни в опциях действий, ни в блоке свойств непосредственно на форме, используется тип представления по умолчанию для группы отображения, добавляемого на форму действия.

  • ON eventType { actionOperator }

    Указание действия, которое будет обработкой по умолчанию некоторого события всех интерактивных представлений этого действия. Могут быть переопределены в блоке свойств инструкции FORM.

    • eventType

      Тип события формы. Задается в одной из следующих форм:

      • CHANGE [eventPhase] - попытка изменения значения указанного свойства.

        • eventPhase

          Момент выполнения обработки относительно изменения значения свойства. Задается одним из ключевых слов:

          • BEFORE - обработка выполняется непосредственно до фактического изменения значения свойства.
          • AFTER - обработка выполняется непосредственно после фактического изменения значения свойства.

          Если не указан, обработка выполняется при попытке изменения значения и замещает обработку по умолчанию.

      • CHANGEWYS - попытка изменения значения указанного свойства с помощью специального механизма ввода. Подробнее можно прочитать в описании событий формы.

      • GROUPCHANGE - попытка изменения значения свойства для всех объектов в таблице (групповое редактирование).

      • EDIT - попытка редактирования объекта, который является значением указанного свойства.

      • CONTEXTMENU [caption] - пользователь выбрал в контекстном меню свойства на форме заданный пункт.

        • caption

          Строковый литерал, задающий заголовок пункта контекстного меню. Если не указан, по умолчанию равен заголовку действия.

      • KEYPRESS key - пользователь нажал заданную кнопку на клавиатуре.

        • key

          Строковый литерал, задающий кнопку на клавиатуре.

    • actionOperator

      Контекстно-зависимый оператор-действие. Оператор, описывающий выполняемое по событию действие. В качестве параметров оператора можно использовать параметры самого свойства.

  • ASON eventType [ACTION] propertyId

    Указание того, что это действие будет являться обработкой по умолчанию некоторого события всех интерактивных представлений заданного свойства или действия. Может быть переопределено в блоке свойств и действий инструкции FORM.

    • eventType

      Аналогично блоку ON.

    • propertyId

      Идентификатор свойства или действия, для которого создаваемое действие будет выполняться при возникновении указанного события формы.

    • ACTION

      Ключевое слово. Если задано, то считается, что в propertyId задается действие. Если не задано, первоначально считается, что в propertyId задается свойство, и только если оно не найдено, что в propertyId задается действие.

  • imageSetting

    Настройка иконки действия. Один из вариантов:

  • annotationSetting

    Аннотация действия. Начинается с @@. Поддерживаются следующие аннотации:

    • @@noauth

      Полностью обходит и проверку аутентификации, и настройку enableAPI при внешнем запросе для этого действия.

    • @@api

      При отключенном API (enableAPI=0) разрешает авторизованные внешние запросы для данного действия. Авторизованные пользователи, у которых есть доступ к форме навигатора System.interpreter, также могут использовать внешний API при enableAPI=0 даже без этой аннотации.

    • @@ui

      Принудительно помечает действие как интерактивное (требующее UI) при вызове через внешний API.

    • @@noui

      Отключает автоматическое определение интерактивности, так что действие выполняется синхронно при вызове через внешний API (если только клиент явно не запросил идентификатор уведомления через заголовок Need-Notification-Id).

    • @@deprecated

    • @@deprecated(since)

    • @@deprecated(since,message)

      Пометка действия как устаревшего и не рекомендованного для использования. Плагин показывает использование таких действий перечёркнутым.

      • since Строковый литерал, версия платформы, начиная с которой действие считается устаревшим.

      • message Строковый литерал, сообщение, поясняющее, почему действие помечено устаревшим.

  • EXTID extID

    Указание имени, которое будет использоваться для поиска действия при обращении из внешней системы.

Блок значений по умолчанию инструкции DESIGN​

  • CHANGEKEY key [SHOW | HIDE]

    Указание комбинации клавиш, при нажатии которой будет выполнено это действие. Устанавливает значение для дизайна по умолчанию, может быть переопределено в инструкции DESIGN.

    • key

    Строковый литерал, описывающий комбинацию клавиш. Синтаксис:

    keyStroke [;(modeKey=modeValue;)*]
    • keyStroke Строковое представление комбинации клавиш. Принцип задания аналогичен способу задания параметра в методе Java-класса Keystroke.getKeystroke(String).

    • (modeKey=modeValue;)* Опции, задающие условия выполнения для keyStroke. Поддерживаются следующие опции:

      • priority = priorityValue Приоритет, целочисленное значение. Если несколько действий имеют подходящий под условия CHANGEKEY, выполнится то, у которого приоритет будет выше. Если приоритет не задан, он равняется порядковому номеру свойства на форме. Кроме того, в любом случае к значению приоритета добавляется 1000, если совпадает группа объектов.

      • preview = previewValue Все события проверяются на выполнение дважды: сначала с isPreview=true, потом - с isPreview=false. Поддерживаемые значения previewValue:

        • auto, only -> isPreview
        • no -> !isPreview
        • all -> true
      • dialog = dialogValue Проверка, выполнять ли CHANGEKEY в диалоговом окне. Поддерживаемые значения dialogValue:

        • auto, all -> true
        • only -> isDialog
        • no -> !isDialog
      • window = windowValue Проверка, выполнять ли CHANGEKEY в модальном окне. Поддерживаемые значения windowValue:

        • auto, all -> true
        • only -> isWindow
        • no -> !isWindow
      • group = groupValue Проверка, совпадает ли группа объектов. Поддерживаемые значения groupValue:

        • auto, all -> true
        • only -> equalGroup
        • no -> !equalGroup
      • editing = editingValue Проверка, выполнять ли CHANGEKEY в режиме редактирования свойства. Поддерживаемые значения editingValue:

        • auto -> !(isEditing() && getEditElement().isOrHasChild(Element.as(event.getEventTarget())))
        • all -> true
        • only -> isEditing
        • no -> !isEditing
      • showing = showingValue Проверка, показывается ли в данный момент свойство на форме (для действий, скрытых через hide в дизайне). Поддерживаемые значения showingValue:

        • auto, only -> isShowing
        • all -> true
        • no -> !isShowing
      • panel = panelValue Проверка, находится ли действие в панели. Поддерживаемые значения panelValue:

        • auto -> !isMouse || !isPanel
        • all -> true
        • only -> isPanel
        • no -> !isPanel
      • cell = cellValue Проверка, находится ли действие в таблице. Поддерживаемые значения cellValue:

        • auto -> !isMouse || isCell
        • all -> true
        • only -> isCell
        • no -> !isCell

      Для всех опций кроме priority значением по умолчанию является auto.

    • SHOW

      Ключевое слово, при указании которого комбинация клавиш будет отображаться в заголовке действия. Используется по умолчанию.

    • HIDE

      Ключевое слово, при указании которого комбинация клавиш не будет отображаться в заголовке действия.

  • CHANGEMOUSE key [SHOW | HIDE]

    Указание комбинации клавиш мыши, при нажатии которых будет выполнено это действие. Устанавливает значение для дизайна по умолчанию, может быть переопределено в инструкции DESIGN.

    • key

    Строковый литерал, описывающий комбинацию клавиш. Синтаксис:

    keyStroke [;(modeKey=modeValue;)*]
    • keyStroke Строковое представление комбинации клавиш мыши. В данный момент единственное поддерживаемое значение - DBLCLK - двойной клик.

    • (modeKey=modeValue;)* Синтаксис полностью совпадает с CHANGEKEY.

    • SHOW

      Ключевое слово, при указании которого комбинация клавиш мыши будет отображаться в заголовке действия. Используется по умолчанию.

    • HIDE

      Ключевое слово, при указании которого комбинация клавиш мыши не будет отображаться в заголовке действия.

  • STICKY | NOSTICKY

    Ключевые слова. STICKY указывает на то, что действие в таблице будет прикреплено слева и при скроллинге вправо будет оставаться видимым. NOSTICKY снимает это закрепление. По умолчанию действие не закрепляется.

  • syncType

    Определяет, выполняется действие синхронно или асинхронно:

    • WAIT - синхронно.

    • NOWAIT - асинхронно. Это значение используется по умолчанию.

  • CONFIRM

    Ключевое слово. Если указано, то при интерактивном запуске действия на форме пользователю будет задан вопрос о подтверждении запуска. Подтверждение запрашивается клиентом только при интерактивном запуске (например, по нажатию кнопки). При вызове действия из другого действия или через внешний API подтверждение не запрашивается. Устанавливает значение для дизайна по умолчанию (атрибут askConfirm), может быть переопределено в инструкции DESIGN.