Инструменты пользователя

Инструменты сайта


ru:airlay:descriptionformat

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ru:airlay:descriptionformat [2020/09/07 18:37]
Калинин Александр Игоревич [Вставка иконки слоя в описание]
ru:airlay:descriptionformat [2024/02/27 11:06] (текущий)
Дмитрий Ситкевич
Строка 71: Строка 71:
  
 Доступные функции: Доступные функции:
 +  * **addToPreparedData** - добавить элемент в список "Подготовленные данные".
   * **loadTrack** - функция получения трека, для мобильных объектов имеющих deviceId.   * **loadTrack** - функция получения трека, для мобильных объектов имеющих deviceId.
   * **hideTrack** - функция скрытия трека.   * **hideTrack** - функция скрытия трека.
   * **runSearchInRadius** - функция показа информации об объекте слоя в SideBar. HTML тег, с вызовом этой функции, автоматически удаляется, если в настройках портала включен SideBar.   * **runSearchInRadius** - функция показа информации об объекте слоя в SideBar. HTML тег, с вызовом этой функции, автоматически удаляется, если в настройках портала включен SideBar.
   * **setCategory** - функция изменения категории объекта.   * **setCategory** - функция изменения категории объекта.
-  * **MrskModule::getSap** - функция перехода в SAP(при подключённом плагине SAP-connector). +  * **editProperties** - редактировать свойства объекта. 
 +  * **createObject** - создать объект в другом наборе данных, аргументы: 
 +    - Идентификатор набора данных, в котором нужно создать объект. 
 +    - Идентификатор категории, которую нужно присвоить объекту (необязательный аргумент). 
 +  * **MrskModule::getSap** - функция перехода в SAP (при подключённом плагине SAP-connector), аргументы: 
 +    - Идентификатор объекта (необязательный аргумент, по умолчанию берется значение уникального поля объекта). 
 +    - Имя системы (необязательный аргумент). 
 +    - Команда (необязательный аргумент). 
 +  * **enableLineRunner** - функция открытия инструмента "расстояние на линии" (для объектов типа "Линия"). 
 +  * **createNewMilestone** - функция создания мероприятия (объект с которого производился вызов, будет добавлен в список объектов Мероприятия), аргументы: 
 +    - Идентификатор шаблона мероприятия. 
 +  * **PluginBinderModule::showPluginBinder** - функция открытия плагина связывания. 
 +  * **OporyRelationPickerModule::showOporyPicker** - функция открытия плагина редактора пролётов. 
 +  * **sendUrlRequest** - функция для отправки объекта по указанному url (параметр url должен содержаться в передаваемом объекте). Также может быть добавлено поле `filter` в котором может быть передан фильтр. 
 +  * **createReport** - функция для получения(скачивания) отчета. В случае успеха отчет будет добавлен в очередь скачивания. Требуется ид отчета, второй опциональный параметр true/false(делать/не делать скриншот), третий опциональный параметр это формат (blob, image, base64).
 **Пример описания:** **Пример описания:**
 <code html> <code html>
 <button data-createFunctionCall='["runSearchInRadius"]'>Больше...</button> <button data-createFunctionCall='["runSearchInRadius"]'>Больше...</button>
-<button data-createFunctionCall='["TrackModule::loadTrack"]'>Показать трэк</button> +<button data-createfunctioncall='["loadTrack"]' class='btn btn-primary btn-md'>Показать трэк</button>  
-<button data-createFunctionCall='["TrackModule::loadTrack""MrskModule::getSap"]'>Показать трэк и перейти в SAP</button>+<button data-createfunctioncall='["hideTrack"]' class='btn btn-primary btn-md'>Скрыть Трек</button> 
 +<button data-createFunctionCall='["MrskModule::getSap"]'>Показать трэк и перейти в SAP</button>
 <button data-createfunctioncall='[{"name": "setCategory", "arguments": ["5e4e3bda9ae89212cd1f2782"]}]'>Штатный режим</button> <button data-createfunctioncall='[{"name": "setCategory", "arguments": ["5e4e3bda9ae89212cd1f2782"]}]'>Штатный режим</button>
 +<button data-createfunctioncall='[{"name": "createObject", "arguments": ["608788a86db2a069937bf792"]}]'>Создать объект</button>
 +<button data-createfunctioncall='[{"name": "createObject", "arguments": ["608788a86db2a069937bf792", "6099d8740398ec5040647613"]}]'>Создать объект с категорией</button>
 +<button data-createFunctionCall='["enableLineRunner"]'>Расстояние на линии</button>
 +<button data-createFunctionCall='[{"name": "createNewMilestone", "arguments": ["619e0ff794779c32113745f9"]}]'>Создать мероприятие</button>
 +<button data-createFunctionCall='[{"name": "PluginBinderModule::showPluginBinder", "arguments": ["5e6f9b55525c1b12437eeadb"]}]'>Привязать</button>
 +<button data-createFunctionCall='[{"name": "OporyRelationPickerModule::showOporyPicker", "arguments": ["5e6f9b55525c1b12437eeadb"]}]'>Пролёты</button>
 +<button data-createfunctioncall='[{"name": "sendUrlRequest", "arguments": [{ "url" : "test.com", "tplnr" : "{{tplnr}}", "systemname" : "ER2", "command" : "33", "filter": "(<f>voltage</f> = 10 || <f>voltage</f> = 35) && (<f>type</f> = \"33\" && <f>type</f> = \"TP\")"}]}]'>Отправить объект</button>
 +<button data-createFunctionCall='[{"name": "createReport", "arguments": ["647095d90083c945a20ceef2", true]}]' >сделать отчет со скриншотом</button>
 +</code>
 +
 +==== Функция отправки сообщения с карты====
 +  * **sendMessages** - функция отправки push сообщения из окна с описанием.
 +Для этой функции помимо кнопки необходимо добавить пустой textarea.
 +**Пример описания:**
 +<code html>
 +<textarea id=send_{{deviceId}}></textarea>
 +<button data-createFunctionCall='[{"name": "sendMessages", "arguments": ["{{deviceId}}"]}]'>Отправка сообщения</button>
 </code> </code>
  
Строка 119: Строка 151:
  
 Unixtime: 1325412001 Unixtime: 1325412001
 +</code>
 +
 +==== Округление чисел ====
 +Если содержимое HTML элемента это число или строка, содержащая только число, то его можно округлить. Для этого необходимо добавить к HTML элементу атрибут **data-roundingNumber**. Значение атрибута - это стратегия округления:
 +  * **math** - округление по математическим правилам (по умолчанию).
 +  * **up** - округление вверх.
 +  * **down** - округление вниз.
 +
 +**Пример атрибутов объекта:**
 +<code json>
 +{
 +  "value": 0.6
 +}
 +</code>
 +
 +**Пример описания:**
 +<code html>
 +Формат №1: <b data-roundingNumber>{{value}}</b>
 +Формат №2: <b data-roundingNumber="math">{{value}}</b>
 +Формат №3: <b data-roundingNumber="up">{{value}}</b>
 +Формат №4: <b data-roundingNumber="down">{{value}}</b>
 +
 +Значение: <b>{{value}}</b>
 +</code>
 +
 +**Итоговое описание объекта:**
 +<code html>
 +Формат №1: 1
 +Формат №2: 1
 +Формат №3: 1
 +Формат №4: 0
 +
 +Значение: 0.6
 </code> </code>
  
Строка 133: Строка 198:
 <span data-showOnlyByAccess="2">Этот текст увидят пользователи с правами на запись</span> <span data-showOnlyByAccess="2">Этот текст увидят пользователи с правами на запись</span>
 <span data-showOnlyByAccess="3">Этот текст увидят пользователи с правами на чтение и запись</span> <span data-showOnlyByAccess="3">Этот текст увидят пользователи с правами на чтение и запись</span>
 +<span data-showOnlyByAccess="4">Этот текст увидят пользователи с правами на изменение категории</span>
 </code> </code>
  
Строка 151: Строка 217:
 Имя пользователя: {{userInfo.name}} Имя пользователя: {{userInfo.name}}
 Номер телефона: {{userInfo.number}} Номер телефона: {{userInfo.number}}
 +</code>
 +
 +
 +==== Вставка координат точечного объекта в описание ====
 +Для того, чтобы вставить в описание координаты точечного объекта необходимо воспользоваться тегом **point-lng-lat**.
 +
 +**Пример описания:**
 +<code html>
 +Координаты объекта: <point-lng-lat></point-lng-lat> 
 +</code>
 +
 +==== Наследование описания (доступно в версии 1.90 и выше) ====
 +Для того что бы унаследовать описание слоя от вышестоящего элемента дерева (папки/дерева) необходимо:
 +<code>
 +1. Оставить описание слоя пустым (Слой полностью унаследует описание вышестоящего элемента)
 +2. Использовать тэг {{@include name}}(на место тэга будет вставлен родительский тэг с заданным именем)
 +</code>
 +
 +**Примеры наследования:**
 +<code html>
 +**Описание**
 +{
 +    "name" : "Дерево 1"
 +    "description" : "<div id=\"tree-header\">tree-header</div> <div id=\"tree-footer\">tree-footer</div>"
 +}
 +
 +{
 +    "name" : "Папка 1 дерева 1",
 +    "description" : "{{@include tree-header}} <div id=\"dir-header\">dir-header</div> name = {{name}} <div id=\"dir-footer\">dir-footer</div> {{@include tree-footer}}"
 +}
 +
 +{
 +    "name" : "Слой 1 папки 1 дерева 1",
 +    "description" : "{{@include dir-footer}} name = {{name}} {{@include tree-header}}"
 +}
 +
 +{
 +    "name" : "Слой 2 папки 1 дерева 1",
 +    "description" : "{{@include dir-header}} text {{@include tree-footer}}\n{{@include dir-footer}}"
 +}
 +
 +{
 +    "type" : "Папка 2 дерева 1",
 +    "description" : ""
 +}
 +
 +{
 +    "type" : "Слой 1 папки 2 дерева 1",
 +    "description" : ""
 +}
 +
 +**Полученное описание для слоев**
 +{
 +
 +    "name" : "Слой 1 папки 1 дерева 1",
 +    "description" : "<div id=\"dir-footer\">dir-footer</div> name = {{name}} <div id=\"tree-header\">tree-header</div>"
 +}
 +{
 +    "name" : "Слой 2 папки 1 дерева 1",
 +    "description" : "<div id=\"dir-header\">dir-header</div> text <div id=\"tree-footer\">tree-footer</div>\n<div id=\"dir-footer\">dir-footer</div>"
 +}
 +{
 +    "type" : "Слой 1 папки 2 дерева 1",
 +    "description" : "<div id=\"tree-header\">tree-header</div> <div id=\"tree-footer\">tree-footer</div>"
 +}
 +</code>
 +
 +<code html>
 +**Описание**
 +{
 +    "name" : "Дерево 2",
 +    "description" : "<h1 id=h1t> this h1 <h2 id=h2t> this h2 <h3 id=h3t> this h3 </h1></h2></h3>  <div id=div1> this div1 <div id=div2> this div2 </div></div>"
 +}
 +
 +{
 +    "name" : "Слой 1 дерева 2",
 +    "description" : "{{@include h1t}}\n\n{{@include h2t}}\n\n{{@include h3t}}\n\n{{@include div1}}\n\n{{@include div2}}",
 +}
 +
 +**Полученное описание для слоя**
 +{
 +    "type" : "Слой 1 дерева 2",
 +    "description" : "<h1 id=\"h1t\"> this h1 <h2 id=\"h2t\"> this h2 <h3 id=\"h3t\"> this h3 </h3></h2></h1>\n\n<h2 id=\"h2t\"> this h2 <h3 id=\"h3t\"> this h3 </h3></h2>\n\n<h3 id=\"h3t\"> this h3 </h3>\n\n<div id=\"div1\"> this div1 <div id=\"div2\"> this div2 </div></div>\n\n<div id=\"div2\"> this div2 </div>"
 +}
 +</code>
 +
 +**Пример не правильного наследования:**
 +<code html>
 +**Описание**
 +{
 +    "name" : "Дерево 3",
 +    "description" : "<div id=\"tree-header\">tree-header</div>"
 +}
 +
 +{
 +    "name" : "Папка 1 дерева 3",
 +    "description" : "<div id=\"dir-footer\">dir-footer</div>"
 +}
 +
 +{
 +    "name" : "Слой 1 папки 1 дерева 3",
 +    "description" : "{{@include dir-footer}} name = {{name}} {{@include tree-header}}"
 +}
 +
 +**Полученное описание**
 +
 +    "type" : "layerEntity"
 +    "description" : "<div id=\"dir-footer\">dir-footer</div> name = {{name}} "
 +}
 +</code>
 +В данном варианте тэг tree-header не унаследуется так как его нет в папке.
 +
 +==== Отображение изображения в слое ====
 +
 +<code html>
 +**Изображение в атрибуте img**
 +{{#media}}
 +   <a target='_blank' href="{{url}}"> 
 +      <img src="{{preview}}" width="250" height="190"
 +   </a>
 +{{/media}}
 +
 +**Медиа и изображение**
 +{{#media}}
 +<video width="250" height="190" autoplay="autoplay" poster="{{url}}">
 +   <source src="{{url}}" type='video/ogg; codecs="theora, vorbis"'>
 +   <a target='_blank' href="{{media.url}}"> 
 +      <img src="{{preview}}" width="250" height="190"
 +   </a>
 +</video>
 +{{/media}}
 +</code>
 +
 +
 +==== Отображение документа в слое ====
 +
 +<code html>
 +{{#document}}
 +   <a target='_blank' href="{{url}}"> Скачать документ</a>
 +{{/document}}
 +</code>
 +
 +==== Для массива ссылок (Например imagesLinks) ====
 +<code html>
 +{{#imagesLinks}}
 +   <a target='_blank' href="{{.}}"> 
 +      <img src="{{.}}" width="250" height="190"
 +   </a>
 +{{/imagesLinks}}
 </code> </code>
ru/airlay/descriptionformat.1599478637.txt.gz · Последнее изменение: 2020/09/07 18:37 — Калинин Александр Игоревич