===== Настройка функций для мобильного приложения AirLay Control =====
Использование функций позволяет выполнять дополнительные настройки для мобильного приложения AirLay Control.
На текущий момент доступны следующие функции:
* [[ru:airlay:properties_ac#визуальное_разграничение_атрибутов_в_форме|Визуальное разграничение атрибутов в форме]];
* [[ru:airlay:properties_ac#установка_связи_с_категорией|Установка связи с категорией]];
* [[ru:airlay:properties_ac#включение_уменьшенных_отступов_между_элементами_формы|Включение уменьшенных отступов между элементами формы]];
* [[ru:airlay:properties_ac#создание_новой_категории|Включение разрешений на добавление медиа из галереи (В ПРОЦЕССЕ РЕАЛИЗАЦИИ)]];
* [[ru:airlay:properties_ac#создание_новой_категории|Включение компактного представления формы, скрывая необязательные поля к заполнению (В ПРОЦЕССЕ РЕАЛИЗАЦИИ)]];
* [[ru:airlay:properties_ac#создание_новой_категории|Включение автозаполнения формы данными с раннее заполненной формы (В ПРОЦЕССЕ РЕАЛИЗАЦИИ)]];
* [[ru:airlay:properties_ac#создание_новой_категории|Проверка поля на совпадение с раннее введенными данными (предупреждение) (В ПРОЦЕССЕ РЕАЛИЗАЦИИ)]];
* [[ru:airlay:properties_ac#создание_новой_категории|Проверка поля на совпадение с раннее введенными данными (блокировка отправки) (В ПРОЦЕССЕ РЕАЛИЗАЦИИ)]].
С целью удобства формирования формирования функций можно воспользоваться [[https://www.airlay.ru/media/шаблонизатор_функций_для_схем.xlsx|шаблонизатором функций]]
==== Введение ====
Функции представляют из себя ''json'' элемент, в котором содержится описание правила подключаемого модуля.
----
__Для добавления визуального разграничения формы в схему, необходимо:__
- Войти в систему с правами администратора;
- Нажать кнопку "Главное меню";
- Нажать кнопку "Администрирование";
- Выбрать "Модуль трека";
- Выбрать необходимый модуль, который будет использоваться для схемы в мобильном приложении AirLay Control, путем нажатия ЛКМ;
- Перейти во вкладку "Схемы";
- Напротив необходимой схемы нажать кнопку "Настройки";
- Перейти во вкладку "Список параметров";
- В поле "Имя" добавить ''_group1'', а в поле "Псевдоним" задать наименование группы и нажать кнопку "Добавить";
- В поле "Задать значение" добавить необходимую цветовую схему в формате [[https://csscolor.ru|HEX]], где:
- первые две цифры - установка прозрачности;
- остальные - код цветовой схемы.
Пример добавленной функции визуального разграничения атрибутов в форме представлен на рисунке 1.
{{:ru:airlay:properties_1.png?nolink|}}\\
**//Рисунок 1. Добавленная функция в схему для разграничения атрибутов формы//**
{{:ru:airlay:properties_2.jpg?nolink&250|}}\\
**//Рисунок 2. Пример отображения функции визуального разграничения атрибутов//**
----
__Для добавления функции в схему, необходимо:__
- Войти в систему с правами администратора;
- Нажать кнопку "Главное меню";
- Нажать кнопку "Администрирование";
- Выбрать "Модуль трека";
- Выбрать необходимый модуль, который будет использоваться для схемы в мобильном приложении AirLay Control, путем нажатия ЛКМ;
- Перейти во вкладку "Схемы";
- Напротив необходимой схемы нажать кнопку "Настройки";
- Перейти во вкладку "Список параметров";
- В поле "Имя" добавить ''_properties'' и нажать кнопку "Добавить";
- Поле "Псевдоним" добавить любой символ (не влияет на используемую фукнцию и отображение);
- В поле "Задать значение" добавить необходимую функцию.
Пример добавленной функции представлен на рисунке 3.
{{:ru:airlay:properties_3.png?nolink|}}\\
**//Рисунок 3. Добавленная функция в схему для разграничения атрибутов формы//**
==== Визуальное разграничение атрибутов в форме ====
Визуальное разграничение позволяет устанавливать цветовые схемы и группировать поля в форме.
\\
Правила формирования разграничения атрибутов формы включают в себя:
* Атрибуты _group* заканчиваются числом, которая образует последовательность. Например при первичном добавлении разграничения необходимо указывать ''_group1'', а для следующих групп необходимо указывать ''_group2'' и т.д.;
* Если в схеме используется 1 группа и необходимо ввести ограничение на кол-во сгруппированных элементов, необходимо после закрывающиего элемента добавить атрибут ''_endgroup1'', где цифра - указатель на имя группы, с которой выполнялось ограничение;
* Если в схеме используются 2 группы и более, то для введения ограничения на кол-во сгруппированных элементов, будет достаточным добавления следующего атрибута ''_group2'', где цифра указывает номер следующей группы.
* Все цветовые схемы HEX начинаются с ''#''
* Для установки прозрачности цвета, необходимо после ''#'' добавить число, которое будет указывать на прозрачность (измеряется в процентах). __Например__, при добавлении цвета ''#f01616'', необходимо установить прозрачность 40%. Для этого необходимо после # добавить значение 40. Конечный вариант выглядит следующим образом: ''#40f01616''
{{:ru:airlay:properties_4.png?nolink|}}\\
**//Рисунок 4. Пример настроенной схемы для визуального разграничения атрибутов в форме//**
{{:ru:airlay:properties_5.jpg?nolink&250|}}\\
**//Рисунок 5. Пример отображения настроенны схемы для визуального разграничения атрибутов в форме мобильного приложения//**
==== Установка связи с категорией ====
Установка связи с категорией позволяет присваивать сущностям, отправленным из настроенной схемы, значения по умолчанию.\\
__Сценарий использования:__ в наборе данных с объектами электросети содержится множество типов объектов (опоры, линии, подстанции и т.д.). Для каждого типа объекта необходимо использовать соответствующую форму заполнения отчета. Для этого, администратор ИС создает соответствующие категории, куда добавляет атрибуты, позволяющие идентифицировать отчет, а именно по какому типу объекта он был отправлен.
\\
**Для добавления функции установки связи с категорией в схему, необходимо:**
- Войти в систему с правами администратора;
- Нажать кнопку "Главное меню";
- Нажать кнопку "Администрирование";
- Выбрать "Список категорий";
- Создать новую категорию и установить необходимые параметры;
- Скопировать идентификатор категории, путем нажатия ЛКМ под наименованием категории;
- Перейти в "Модуль трека";
- Выбрать необходимый модуль, который будет использоваться для схемы в мобильном приложении AirLay Control, путем нажатия ЛКМ;
- Перейти во вкладку "Схемы";
- Напротив необходимой схемы нажать кнопку "Настройки";
- Перейти во вкладку "Список параметров";
- В поле "Имя" добавить ''_properties'' и нажать кнопку "Добавить";
- Поле "Псевдоним" добавить любой символ (не влияет на используемую фукнцию и отображение);
- В поле "Задать значение" добавить функцию, которая формируется следующим образом:
{"category_id": "id"}
где, id - идентификатор скопированной категории.\\
Пример добавленной функции установки связи с категорией представлен на рисунке 6.
{{:ru:airlay:properties_3.png?nolink|}}\\
**//Рисунок 6. Добавленная функция установки связи с категорией в схему//**
==== Включение уменьшенных отступов между элементами формы ====
Включение уменьшенных отступов между элементами формы позволяет сократить отступы между полями для заполнения в форме.\\
**Для добавления функции уменьшения отступов в схему, необходимо:**
- Войти в систему с правами администратора;
- Нажать кнопку "Главное меню";
- Нажать кнопку "Администрирование";
- Выбрать в "Модуль трека";
- Выбрать необходимый модуль, который будет использоваться для схемы в мобильном приложении AirLay Control, путем нажатия ЛКМ;
- Перейти во вкладку "Схемы";
- Напротив необходимой схемы нажать кнопку "Настройки";
- Перейти во вкладку "Список параметров";
- В поле "Имя" добавить ''_properties'' и нажать кнопку "Добавить";
- Поле "Псевдоним" добавить любой символ (не влияет на используемую фукнцию и отображение);
- В поле "Задать значение" добавить следующую функцию:
{"slim_view": true}
__Примечание:__ для использования нескольких функций, необходимо разделять запятыми внутри ''json'' элемента, например:
{"category_id":"663491dc5cb8f5bb43020446","slim_view":true}
Пример добавленной функции уменьшения отступов представлен на рисунке 7.
{{:ru:airlay:properties_6.png?nolink|}}\\
**//Рисунок 7. Добавленная функция уменьшения отступов//**
Сравнение включенной и выключенной функции уменьшения отступов представлено на рисунке 8.\\
{{:ru:airlay:properties_7.jpg?nolink&250|}}{{:ru:airlay:properties_8.jpg?nolink&250|}}\\
**//Рисунок 8. Сравнение включенной и выключенной функции//**
==== Функция прикрепления медиа к полю ====
----
__Для добавления возможности прикрепления медиа к полю схемы, необходимо:__
- Войти в систему с правами администратора;
- Нажать кнопку "Главное меню";
- Нажать кнопку "Администрирование";
- Выбрать "Модуль трека";
- Выбрать необходимый модуль, который будет использоваться для схемы в мобильном приложении AirLay Control, путем нажатия ЛКМ;
- Перейти во вкладку "Схемы";
- Напротив необходимой схемы нажать кнопку "Настройки";
- Перейти во вкладку "Список параметров";
- В том поле где необходимо прикрепление медиа в поле "Имя" добавить в конце наименования поля ''_media'' (пример: ''name_media'' - у поля name в приложении будет возможность прикрепить медиа к конкретному полю;
==== Полный перечень параметров в поле _properties ====
Перечень опций которые влияют на поведение программы при работе со схемой в которой они указаны:
^ Параметр ^ по умолчанию ^ описание ^
|{"category_id":"id", ...}|-|Категория объектов, под которые разработана схема - мобильное приложение выберет эту схему для объекта с указанной категорией|
|{"allow_gallery": true|false}|настройка сервера|Включает возможность добавления фото из галереи при использовании схемы (перекрывает настройку на сервере)|
|{"compact_view": true|false}|false|Убирает необязательные поля с формы с возможностью добавить эти поля пользователем|
|{"slimView": true|false}|false|Уменьшает отступы у элементов формы|
|{"check_unique_warn":
["num","name", ...]
}|нет|Перечень полей, которые проверяются которые проверяются на "уникальность" в рамках текущей сессии на мобильном устройстве и выдается предупреждение, что они заполнены некорректно - отправка не блокируется - можно передавать с такими значениями полей|
|{"check_unique_err":
["id", "num", ...]
}|нет|Перечень полей, которые проверяются на "уникальность" в рамках текущей сессии на мобильном устройстве, т.е. если в предыдущем объекте/отчете были указаны какие то значения в этих полях, то на текущем объекте/отчете они должны отличаться от ранее введенных, отправка будет заблокирована пока пользователь не поправит значения|
|{"auto_fill_form":
["dname", "num_pilon", ...]
}|нет|Перечень полей, которые будут автозаполняться с предыдущего объекта/отчета|
|{"auto_fill_master_form":
["properties.name",
"length",
"issue", ...]
}|нет|Перечень полей, для схем Мониторинг/Обследование, которые будут предзаполняться значениями из полей мастер объекта (обследуемого объекта). Наименование полей должно быть одинаковым с мастер объектом|
|{"gps_accuracy_limit":5}|отключено|Лимит точности GPS, при котором будет выведено предупреждение, что точность координат полученных от устройства недостаточная (в режиме привязки к координатам устройства)|
|{"require_field_media_count":0|1}|0|Приложение запросит прикрепление медиа у обязательных полей, к которым можно прикрепить медиа в указанном количестве|
|{"allow_link_objects": true|false}|true|В случаях, когда категория объекта является дочерней, программа запрашивает создание родительского объекта, в случае если опция указана false тогда такое не будет запрашиваться и родительский элемент создаваться не будет|
|{"add_creation_issue_data": true|false}|false|Если опция включена - приложение добавит к создаваемому объекту поле "_issue", в котором укажет параметры задачи по которой создается объект в приложении|
|{"min_object_creation_distance": 0-999}|0 (не контролируем) |Если указано значение отличное от 0 - мобильное приложение будет проверять рассояние до ранее созданных на планшете объектов, и в случае если расстояние меньше или равно указанному будет высвечивать неблокирующее предупреждение о возможном дубле|