Show/Hide Toolbars

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

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

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

mobile_containers1-01

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

 

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

 

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

 

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

Пример в JSon

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

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

mobile_containers1-02

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

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

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

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

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

mobile_containers5

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

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

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

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

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

mobile_containers_menu

Переход к настройке доступа к контейнеру по группам

Откроется окно настройки доступа к контейнеру по группам:

mobile_containers_groups_1

Настройка доступа к контейнеру по группам

Нажмите кнопку Создать и в открывшемся окне выберите группу пользователей, для которой будет доступен текущий контейнер. Для каждой группы необходимо создать отдельную запись.

mobile_containers_groups-2

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

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

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

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

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

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

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

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

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

mobile_containers_menu

Переход к копированию контейнера

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

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

Редактор

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

mobile_containers1-03

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

По кнопке add_test_case_tsql раскрывается список доступных для добавления типов блоков.

mobile_containers1-04

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

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

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

Если 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. Параметры шаблона не влияют на эти блоки.

Нажатие на элемент в списке откроет блок с его настройками и ключами.

mobile_containers1-05

Настройки элемента

Нажатие на кнопку mobile_containers_icon-01 создает копию блока. Копия появится под исходным блоком.

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

mobile_containers1-06

Переход к настройкам из макета

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

В структуре блока есть ключ 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 звонков. Туда входят входящие/исходящие звонки, входы в свою/чужие комнаты ВКС, входы/приемы вызовов ВКС с комнат задач.

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

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