Настройка InMode и виджетов


НАЧАЛО >> he3 - редактор записей >> Руководство администратора >> Настройка InMode и виджетов📄 Скачать в DOCX


InMode связывает поле рабочего листа со средством ввода. На сервере WsParser преобразует числовой метод ввода в имя виджета, а клиентский WidgetRegistry создает редактор ячейки или окно.

1. Карта методов

InMode Виджет Основной пользовательский элемент Основная настройка
0 или неизвестный text однострочное поле обычно без DopInf
1, 2 dictionary окно справочника или словаря .mnu или параметры словаря
3 grnti окно ГРНТИ параметры рубрикатора
4, 8 textarea большое текстовое окно обычно без DopInf
5 dictionary или WSS по DopInf справочник или окно подполей .ws/.wss для вложенных подполей
6 tree иерархическое дерево .tre
7 radio радиокнопки в ячейке короткое .mnu
9 mask поле с маской строка маски
10 authority окно авторитетного файла параметры авторитетной базы/переноса
11 thesaurus окно тезауруса настройка тезауруса на сервере
12 upload форма загрузки файла каталог или правило загрузки
15 dyn_dict динамический справочник PFT
16 file выбор серверного файла серверный каталог/фильтр
17 dyn_input выбор следующего метода через PFT PFT, возвращающий InMode,DopInf
18 dyn_wss динамический рабочий лист подполей PFT, возвращающий схему подполей
20 ai AI-окно PFT промпта и настройка AI

2. Требования к DopInf

DopInf должен соответствовать выбранному методу:

Для dyn_input (InMode = 17) PFT из DopInf должен вернуть строку вида:

<код_метода_ввода>,<DopInf для выбранного метода>

Например, результат 1,kvlogin1.mnu откроет обычный справочник, но имя .mnu будет вычислено по текущей записи или вводимому значению. Если формат возвращает строку @<текст>, he3 показывает этот текст пользователю и не открывает дочернее окно ввода.

Перед вычислением PFT редактор синхронизирует черновик записи. Текущее значение поля передается в модельное поле 1001; при вызове из WSS туда попадает строка текущих подполей. Это нужно учитывать в форматах, которые выбирают метод по вводимому повторению.

dyn_input не должен возвращать 5, 7, 9 или 17: WSS, радиокнопки, маска и повторный динамический вызов не открываются как следующий модальный метод. Если нужно сделать выбор обязательным, в рабочем листе можно указать !17.

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

3. Пользовательские виджеты

Модуль предоставляет RegisterWidgetPlugin($inMode, $widgetName). Чтобы виджет заработал полностью, нужно:

  1. зарегистрировать PHP-сопоставление InMode -> widgetName;
  2. подключить JS-файл виджета;
  3. зарегистрировать клиентский обработчик Irbis.he3.WidgetRegistry.register(widgetName, ...);
  4. вернуть значение через стандартный callback;
  5. проверить работу внутри обычной таблицы полей и внутри WSS, если виджет должен поддерживать подполя.

Диапазон 128000-128999 можно использовать для пользовательских методов ввода, чтобы не конфликтовать со стандартными методами ИРБИС.

Подробное пользовательское описание всех стандартных методов ввода со скриншотами см. в разделе: