Show/Hide Toolbars

Руководство администратора

Общая информация

 

Метод /app/v1.2/api/mobile/containers?v=1.2 отдает контейнеры и принимает ключи с названиями (id) контейнеров из интерфейса администрирования. Для запроса конкретного контейнера нужно запросить в боди его id, например: ["Tabbar"]

 

Отдача состоит из массива blocks (внутри них может быть вложенный массив blocks).

 

Во вложенном файле пример отдачи контейнера Tabbar.

Пример в JSon

mobile_containers1

Список контейнеров

Создание контейнера

Чтобы создать новый контейнер, нажмите кнопку Создать. Откроется окно для добавления контейнера. Идентификатор контейнера (поле Id) должен начинаться с латинской буквы. Выберите шаблон, по которому будет создаваться контейнер, а также укажите группы пользователей, которые смогут его использовать.

 

mobile_containers2

Окно создания нового контейнера

warning_icon  Id контейнера не является его уникальным идентификатором. Напротив, для некоторых контейнеров Id должны быть строго определенными — например, для нижнего меню Id должен быть TabBar, для главного рабочего стола — Dashboard. И если для разных групп пользователей настроены разные контейнеры одного типа, они будут иметь одинаковые Id.

warning_icon  Все Id и названия контейнеров, шаблонов, полей и блоков являются регистрозависимыми: TabBar и tabBar — это разные Id.

Редактирование основных настроек контейнера

Для редактирования основных настроек контейнера кликните мышью по соответствующей строке. Откроется окно редактирования настроек.

Вы можете изменить Id контейнера, выбрать другой шаблон, указать группы, которым доступен этот шаблон, изменить признак активности контейнера, назначить смарт-фильтр доступности контейнера.

После внесения данных нажмите кнопку Сохранить, чтобы применить изменения, или Сбросить, чтобы отменить изменения. Кнопка Назад позволит вернуться в общему списку.

Доступность контейнеров

Доступность контейнера определяется принадлежностью пользователя к группе и результатом, который возвращает смарт-фильтр доступности.

Если в системе настроены несколько контейнеров с одинаковым Id (например, несколько рабочих столов — контейнеров Dashboard), то для пользователя будет отображаться контейнер, соответствующий следующим условиям:

контейнер с наименьшим значением в колонке Порядок, для которого в колонке Группы указана группа, в которую входит пользователь, а если задан смарт-фильтр, то он возвращает true;

если ни для одной группы пользователя контейнер не назначен, то выбирается контейнер с наименьшим значением в колонке Порядок, для которого в колонке Группы не указано ничего, а если задан смарт-фильтр, то он возвращает true;

если и такого контейнера нет, то будет отображаться произвольный контейнер с таким Id.

warning_icon  Чтобы избежать случая, когда пользователю отображается произвольный контейнер, рекомендуется настраивать контейнер по умолчанию — такой, где в колонке Группы не указано ничего, и у нее должен быть наименьший порядковый номер среди всех одинаковых Id.

Пример

Для рабочих столов (Dashboard) можно управлять не только доступностью всего контейнера, но и доступностью отдельных блоков на нем.

Редактирование содержимого контейнера

Для редактирования содержимого контейнера нажмите на кнопку Ключи шаблона в таблице напротив соответствующей строки или на форме редактирования контейнера. Откроется окно редактирования контента:

mobile_containers5

Окно редактирования содержимого контейнера

Удаление контейнера

Для удаления контейнера нажмите кнопку Удалить на форме или выберите соответствующий пункт в контекстном меню строки.

Настройка блоков

Блок представляет собой базовую единицу пользовательского интерфейса. В зависимости от выбранного шаблона, блок представляет собой кнопку в нижнем меню, пункт в боковом меню или плитку на рабочем столе.

Если ID блока не оговорен специально (в таблице ниже), он может быть произвольным.

Тип блока в Палитре

Описание

Возможные значения ID блока

Папка

Используется для создания иерархии вложенных элементов

Stack (для шаблона dashboardStack — списка дашбордов)

В дереве имеем объект Палитры "Папка", для папки приходит пустой type.

Для наглядности в id мы пишем Folder, но лучше смотреть на пустой type.

Тут сразу еще нужно понимать, что id у плиток не является уникальным

Синдикат

Блок указывает на набор каких-либо данных.

Блоки типа "синдикат" применяются для элементов Лента, Задачи, Заголовок, Категория, Звонки, Контакты, Вопросы, Комментарии, Подписи, Отчеты, Группа Пользователей, Рубрика. Для этих типов блоков приложение "Первая Форма" присылает необходимые данные — значение счетчика, заголовки, ID сущностей и т.д.

Calls — звонки и история звонков;

Chats — список чатов;

Contacts — список контактов;

CustomTaskSource — содержимое публикации;

Feed — лента (вопросы, комментарии и т.д.);

DemoSpeech — голосовая постановка задачи (временно используемый ключ);

TasksFeed — лента задач (новые, просроченные, личные и т.д);

MyQuestions — мои вопросы;

QuestionsToMe — вопросы мне;

OwnTasks — личные задачи;

OverdueTasks — просроченные задачи;

ToSign — на подписи;

Reports — отчеты;

UserProfile – профиль текущего пользователя (работает корректно как блок рабочего стола);

TaskSourceNNN – задачи из источника данных, где NNN – ID источника данных задач;

SubcatNNN – задачи из категории, где NNN — ID категории;

SubcatAll — задачи из всех категорий

separator — заголовок, который служит логическим и визуальным разделителем между элементами контейнера

MyQuestionsAndAnswers — исходящих вопросов и ответов на них.

QuestionToMeAndAnswers — входящих вопросов и ответов на них

Настройки

Используется в левом главном меню

Settings

Задача

Блок содержит данные задачи — полный текст и номер задачи

TaskNNN, где NNN — номер задачи

Контакт

Блок содержит данные пользователя (ФИО, ID контакта в "Первой Форме" и открытые доп. поля профиля)

UserNNN, где NNN — ID пользователя (работает корректно как элемент бокового меню)

Ссылка

Блок содержит ссылку относительно веб-адреса "Первой Формы" или на внешний ресурс


Форма новой задачи

По клику на блок открывается форма постановки новой задачи

NewTaskNNN, где NNN — ID категории, в которой нужно поставить задачу

Кнопки из рабочих мест



Дашборд

По клику на блок открывается дополнительный рабочий стол

Id контейнера с шаблоном dashboard

Группа пользователей

Блок, содержащий в данных данные всех пользователей, входящих в группу. Используется на рабочем столе для отображения плиток с контактами

UserGroupNNN, где NNN — ID группы

Отчет

Аналогично ссылке Link, но используется для web-версий отчетов


warning_icon  Для указания корректного типа блока при настройке контейнера в режиме администрирования важно выбрать верный элемент в палитре

Если элемент выбран некорректно, то приложение может вести себя неправильно (например не будет отображать данные или совершать действие по нажатию на блок).

Элементы палитры "Избранное" и "Избранное РМГ" являются наборами блоков, отражающих ссылки в блоке Избранное конкретного пользователя и его рабочие места. Их можно добавлять в контейнеры, поддерживающие полноценную древовидную структуру, то есть только в контейнеры с шаблоном menu. Параметры шаблона не влияют на эти блоки.

Структура настроенных блоков

В структуре блока есть ключ data, они в общем случае имеем вид типа

{

        "data": {

          "tasksCounters": {

            "allTasksCount": null,

            "newTasksCount": 0,

            "overdueTasksCount": 0,

            "allTasksUserOwns": 2,

            "allTasksUserPerforms": 0

          },

          "rules": {...},

          "templates": [...],

          "tasks": [...],

          "fullTasks": [...],

          "canCreate": true,

          "id": 6581,

          "counter": 0,

          "type": "Subcategory",

          "title": "Динамический шаблон"

        }

Counter определяется логикой сервера в зависимости от конфигурации блока контейнера. Это может быть кол-во задач, вопросов, подписей и т д. Ненулевое значение сounter отображается в виде счетчика в плитке.

Если в шаблоне блока приходит hideOnZeroCount = 1 и при этом counter = 0/null, то такой блок игнорируется и не показывается.

Groups

В плитках может приходить не пустой массив id групп для параметра groups. Если он непустой, то МП определяет пересечение групп текущего сессионного пользователя и массива groups. Если пересечение пустое, то такие элементы не отображаются на экране.

Фильтрация по группам может быть и на уровне стека (он целиком для группы задан). Внутри для остальных элементов папки также происходят дополнительные фильтрации и скрытия.

Настройка кнопок в верхней панели (rightBarButton)

В настройках дэша есть ключ rightBarButtons — это json строка, содержащая массив объектов onTap. Данный элемент настраивается в настройках главного контейнера. Пример:

[

{

 "action": "openCallHistory", "icon": "RecentTasks"

},

{

 "action": "openTaskSource",

 "dataSourceUrl": "/app/v1.2/api/publications/action/mob-notifications",

 "icon": "Notification",

 "tickerAlias":"badge"

}

]

righBarButton

Пример righBarButton

Основные action для настройки rightBarButton в контейнере:

openCalendar

openCallHistory

openVideoConferenceRoom

Действие openCallHistory — открытие истории звонков ВКС. Показывает все звонки ВКС текущего пользователя за последнее время.

Элемент описания tickerAlias — это название системного счетчика, либо номер кастомного. С помощью данного ключа прикрепляется произвольный счетчик для отображения.

Экран История звонков

conference_call_ios_iconconference_call_history_iosconference_call_history_ios_user

История звонков

Данный экран вохможно настроить в контейнера, как на примере выше. Пример текста JSon в параметра rightBarButton для настройки:

{

"action": "openCallHistory",

"icon": "RecentTasks",

"tickerAlias":"missedCalls",

"tickerColor": "E05040"}

}

Действие openCallHistor — открытие истории звонков ВКС. Показывает все звонки ВКС текущего пользователя за последнее время.

При открытии данного экрана через иконку пользователю отображается статичный экран со списком звонков и их итоговым статусом.

В данном списке фиксированно отображаются ближайшие 100 звонков. Туда входят входящие/исходящие звонки, входы в свою/чужие комнаты ВКС, входы/приемы вызовов ВКС с комнат задач.

При нажатии на пункт инициализируется переход в соответствующую ВКС комнату.

При долгом нажатии появляется модальное окно с пунктами, конкретно под каждый тип вызова (пользователь, комната с задачи).