Темы оформления публичной карты
Система ORBISmap позволяет модифицировать или создавать темы оформления публичной карты. Для изменения предустановленной темы, её необходимо скачать через менеджер тем.
Архив с темой оформления имеет в своём составе:
- dist - папка для сборки темы (build dir);
- src - папка с исходниками темы;
- static - содержит шрифты, картинки, сторонние библиотеки;
- package.json - файл настроек темы оформления;
- webpack.config.js - конфигурационный файл для сборки темы;
- parser.js - файл постобработки после сборки;
- server.js - файл конфигурации dev-сервера для локальной разработки;
- widgets.json - файл настройки интерфейса панелей пользовательских виджетов в конструкторе публикаций.
Специализированные поля package.json
themeName
- название темы;themeID
- уникальный идентификатор темы;devServerConf
- настройки запуска сервера для разработки и модификации тем;orbismapHost
- хост ORBISmap Server, откуда тема была загружена;orbismapDB
- имя базы данных ORBISmap Server, откуда тема была загружена;
Структура файла widgets.json
В данном файле записываются настройки для нестандартных (пользовательских) виджетов, которые могут быть добавлены в тему оформления публичной карты.
Для создания виджетов необходимо использовать следующие параметры:
code
- код виджета (его идентификатор);name
- название виджета (отображается как заголовок панели в настройках публикаций);enabled
- устанавливает возможность включения/отключения отображения виджета на публичной карте;fields
- массив параметров выводимых полей виджета:name
- код поля,label
- наименование поля,type
- тип поля,checked
- для поля типа checkbox,value
- значение опции (для заполняемых типов полей);
{
"widgets": [
{
"code": "toolsWidget",
"name": "Виджет: Панель инструментов",
"enabled": true,
"fields": [
{
"name": "measurements",
"label": "Измерение расстояний",
"type": "checkbox",
"checked": true
},
{
"name": "searchLimit",
"label": "Количество результатов",
"value": "5",
"type": "text"
},
{
"name": "description",
"label": "Описание",
"value": "",
"type": "textarea"
}
]
},
{
...
}
]
}
Разработка и модификация темы
Модификация функционала тем оформления производится с использованием возможностей ORBISmap JS API
Для разработки требуется Node.js v6+ и пакетный менеджер npm
или yarn
.
Установка всех необходимых зависимостей выполняется командой $ npm install
в папке с темой.
Сборка модифицированой темы выполняется командами:
- для предустановленных тем ORBISmap -
$ npm run build_standart
- для пользовательских тем -
$ npm run build
Для удобства разработки сконфинурирован dev-сервер, запуск которого выполняется командой:
$ npm run start_devServer
Dev-сервер следит за всеми изменениями в файлах исходного кода темы и выполняет автоматическую пересборку. Для просмотра результата работы dev-сервера можно перейти по ссылке (при условии, что dev-сервер запущен).
Установка модифицированной темы
Для установки модифицированной темы папку с ней необходимо упаковать в zip
архив, и загрузить его через менеджер тем ORBISmap в настройках публикации.