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

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

Обновлено: 04.03.26

Файл 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.

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое