Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы
Редакторы
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Облачный офис
Облачный офис
Почта
Почта
Органайзер
Органайзер
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Создание файла конфигурации плагина: config.json

Обновлено: 10.10.24

Файл config.json — это файл конфигурации плагина, содержащий основные данные, необходимые для регистрации плагина в редакторах.

Ниже приводится пример кода для файла config.json (этот код используется для плагина Шахматы, но любой другой файл config.json создается аналогично):

{
    "baseUrl": "",
    "guid": "asc.{FFE1F462-1EA2-4391-990D-4CC84940B754}",
    "name": "chess(fen)",
    "variations": [
        {
            "buttons": [
                { "text": "OK", "primary": true  },
                { "text": "Cancel", "primary": false }
            ],
            "description": "chess",
            "EditorsSupport": ["word", "cell", "slide"],
            "icons": ["chess/icon.png", "chess/icon@2x.png"],
            "initData": "",
            "initDataType": "ole",
            "initOnSelectionChanged": true,
            "isInsideMode": false,
            "isModal": true,
            "isUpdateOleOnResize": true,
            "isViewer": true,
            "isVisual": true,
            "url": "chess/index.html"
        }
    ]
};
Имя Описание Тип
baseUrl Путь к плагину. Все остальные пути вычисляются относительно этого пути. Если плагин установлен на сервер, там прописывается дополнительный параметр — путь к плагинам. Если baseUrl == «», то используется путь ко всем плагинам. строка
guid Идентификатор плагина. Должен быть типа asc.{uuid}. строка
name Имя плагина, которое будет отображаться на панели плагинов. строка
variations Вариации плагина или «подплагины» — См. раздел «Вариации плагинов» ↗ ниже. массив
variations.buttons Перечень кнопок в окне плагина с возможностью скиновать. Используются только для визуальных плагинов в их собственном окне, например isVisual == true && isInsideMode == false). Кнопки могут быть главными или не главными. Флаг primary влияет только на скин кнопки. массив
variations.description Описание плагина. строка
variations.EditorsSupport Для каких редакторов предназначен плагин («word» — редактор текстовых документов, «cell» — редактор электронных таблиц, «slide» — редактор презентаций). массив
variations.icons Графические файлы иконок плагина, используемых в редакторах: для обычных экранов и иконки со вдвое большим разрешением для дисплеев Retina. массив
variations.initData Всегда равно «». Это данные, которые передаются плагину из редактора при запуске плагина (например, если initDataType == «text», плагин при запуске будет получать выделенный текст). строка
variations.initDataType Тип данных, которые выделяются в редакторе и передаются плагину: «text» — текстовые данные, «html» — HTML-код, «ole» — данные OLE-объекта, «none» — никакие данные не передаются плагину. строка
variations.initOnSelectionChanged Определяет, отслеживает ли плагин изменение выделения текста в окне редактора. логическое значение
variations.isInsideMode Определяет, должен ли плагин отображаться в панели редактора, а не в собственном окне (используется только для визуальных немодальных плагинов). Обязательно должно выполняться следующее правило: isModal != isInsideMode. логическое значение
variations.isModal Определяет, надо ли открывать плагин в отдельном модальном окне (используется только для визуальных плагинов). Обязательно должно выполняться следующее правило: isModal != isInsideMode. логическое значение
variations.isUpdateOleOnResize Определяет, нужно ли перерисовывать OLE-объект при изменении размера объекта в редакторе (векторная отрисовка). Используется только для OLE-объектов, то есть initDataType == «ole»). логическое значение
variations.isViewer Определяет, доступен ли плагин, если документ доступен только в режиме просмотра. логическое значение
variations.isVisual Определяет, является ли плагин визуальным (при их использовании открывается окно для выполнения какого-либо действия или рисуется определенный интерфейс в панели редактора) или невизуальным (представляют собой кнопки, при нажатии которых производятся манипуляции с документом). логическое значение
variations.url Точка входа в плагин, то есть HTML-файл, подключающий файл pluginBase.js (базовый файл для работы с плагинами) и запускающий код плагина. См. раздел index.html ↗ для получения подробной информации. строка

Вариации плагина

Для чего плагину нужны вариации? Очень просто: плагин может не только выполнять какое-то действие, но и содержать настройки или окно «О программе». Например, плагин-переводчик: самому плагину не требуется визуальное окно для перевода, так как это выполняется нажатием одной кнопки, но настройки плагина (направление перевода) и окно «О программе» должны быть визуальными. Поэтому потребуются как минимум две вариации плагина (сам перевод и настройки), или три, если надо добавить окно «О программе» с информацией о плагине и его разработчиках или о программном обеспечении, использованном для создания плагина.
Для правильной работы плагина файлы .html для всех вариаций должны быть помещены в корневую папку плагина вместе с файлом конфигурации config.json.