Контекстное меню предназначено для операций над выделенными действиями на схеме.

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

Включение и выключение действия

Вы можете отключить одно или несколько действий на схеме робота, нажав кнопку «выключить действие» в контекстном меню. Отключённое действие не выполняется при отладке и в готовом роботе.

Действия, вложенные внутрь отключённого действия, не выполняются.

Чтобы включить действие, кликните на переключатель в верхней части действия либо выберите опцию «включить действие» в контекстном меню.

Установка точки останова

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

Чтобы удалить точку останова, в контекстном меню действия с точкой выберите опцию «удалить точку останова».

Учтите, что точка останова – инструмент отладки, который доступен только в редакторе робота и не влияет на работу опубликованного робота.

Получение списка действий 

  • «получить список действий из параметров» – отображается список действий, результаты которых используются в параметрах выбранного действия.
  • «получить список действий, использующих результаты» – отображается список действий, которые используют результат выбранного действия.

Найденные действия отображаются во вкладке «Результаты поиска». Вы можете перейти к действию на схеме, кликнув по его названию в списке.

Учтите, что обе функции доступны только при выборе одного действия.

Дублирование, копирование, вырезание, вставка действий

Вы можете изменять схему робота с помощью копирования, вырезания и последующей вставки действий:

  • Чтобы скопировать действие, выберите опцию «копировать» в контекстном меню или нажмите Ctrl+C (⌘+С – для macOS);
  • Чтобы вырезать действие, выберите опцию «вырезать» в контекстном меню или нажмите Ctrl+X (⌘+Х – для macOS).

Чтобы вставить скопированные или вырезанные действия, выберите опцию «вставить» в контекстном меню или нажмите Ctrl+V (⌘+V – для macOS):

  • вставка производится после выделенного действия;
  • действия вставляются в той же последовательности, в которой располагались на схеме робота, выделяются после вставки. Если действия содержали заполненные свойства, их значения сохраняются;
  • при вставке действий вложенные в них действия также копируются или переносятся.

Примечание: вы можете вставить скопированные действия на схему другого проекта. Подробнее читайте на странице «ROBIN Studio Web. Копирование части схемы в другой проект».

Вместо копирования и вставки вы можете дублировать действия. Выберите опцию «дублировать» в контекстном меню или нажмите Ctrl+D (⌘+D – для macOS):

  • в отличие от копирования и вставки, выбрать расположение дубликатов действий нельзя – они будут вставлены после последнего выделенного;
  • дубликаты действий вставляются в той же последовательности, в которой располагались на схеме робота, выделяются после вставки. Если действия содержали заполненные свойства, их значения сохраняются;
  • действия дублируются вместе со вложенными действиями.

Учтите следующее:

  • Операции копирования и вырезания могут применяться к нескольким выделенным действиям. Подробнее читайте в разделе «Управление действиями на схеме».
  • Функция вставки скопированных или вырезанных действий не выполняется, если копируемые или вырезаемые действия были удалены.
  • Вырезанные действия не удаляются со схемы робота до того момента, как будет произведена вставка.

Удаление действий

Вы можете удалить действия со схемы робота, выбрав опцию «удалить» в контекстном меню или нажав Del на клавиатуре. Параметры действий, которые ссылались на результаты удалённых, будут очищены. 

Действия, вложенные внутрь удаленного действия, также удаляются.

Группировка и разгруппировка действий

Вы можете добавить действия в группу, выбрав в контекстном меню опцию «сгруппировать» или нажав Ctrl+G (⌘+G – для macOS). При этом создастся группа действий, в которую поместятся выбранные действия.

Чтобы разгруппировать действия в контекстном меню, выберите опцию «разгруппировать» или нажмите Ctrl+Shift+G (⌘+Shift+G – для macOS).

<script>
  AJS.toInit(function() {
    var toc        = document.querySelector('.toc-float');
    var aside      = toc.closest('.cell.aside');
    var mainHeader = document.getElementById('main-header');
    var auiHeader  = document.querySelector('nav.aui-header');
    var marginTop  = 10; // дополнительный отступ сверху

    // Вставка заголовка, если ещё не вставлен
    function insertHeader() {
      if (!toc.querySelector('.toc-header')) {
        var header = document.createElement('div');
        header.textContent = 'На этой странице:';
        header.className = 'toc-header';
        header.style.fontWeight = 'bold';
        header.style.marginBottom = '10px';
        toc.insertBefore(header, toc.firstChild);
      }
    }

    // Применение inline-стилей
    function applyStyles() {
      insertHeader();

      // Получаем ширину родителя
      var asideRect = aside.getBoundingClientRect();

      // Вычисляем вертикальный отступ
      var offset = 0;
      if (mainHeader) {
        var mhRect = mainHeader.getBoundingClientRect();
        if (mhRect.bottom > 0 && mhRect.top < window.innerHeight) {
          offset = mhRect.bottom;
        }
      }
      if (offset === 0 && auiHeader) {
        var ahRect = auiHeader.getBoundingClientRect();
        offset = ahRect.bottom;
      }
      var topOffset = Math.max(offset + marginTop, asideRect.top);

      Object.assign(toc.style, {
        position:     'fixed',
        top:          topOffset + 'px',
        left:         asideRect.left + 'px',
        width:        asideRect.width + 'px',
        maxHeight:    (window.innerHeight - topOffset - 20) + 'px',
        overflowY:    'auto',
        boxSizing:    'border-box',
        border:       '1px solid #ddd',
        borderRadius: '4px',
        padding:      '15px',
        zIndex:       'auto'
      });
    }

    // Инициалный вызов
    applyStyles();

    // Обновление при скролле, ресайзе окна
    window.addEventListener('scroll', applyStyles);
    window.addEventListener('resize', applyStyles);

    // Наблюдатель за изменением размеров родителя
    if (window.ResizeObserver) {
      new ResizeObserver(applyStyles).observe(aside);
    }
  });
</script>