Все панели (поля) в интерфейсе отображаются с помощью стандартных элементов управления (view) каждому из которых соответствует тип панели. Типы панелей описываются с помощью перечисления:
public enum ViewFieldTypes
{
Untyped = -1,
/// <summary>
/// Простая панель с данными, заголовок + текстовое значение с цветовой разметкой
/// </summary>
SimpleView = 0,
/// <summary>
/// Отображение клиента, не путать с обычным отображением базового объекта (вьюха будет другая)
/// </summary>
ClientView = 1,
/// <summary>
/// Уведомление
/// </summary>
Notification = 2,
/// <summary>
/// Блок обратной связи (телефония, цап, смс и т.д.)
/// </summary>
CallBackBlock = 3,
/// <summary>
/// Флаги базового объекта
/// </summary>
Flags = 4,
/// <summary>
/// Комментарий
/// </summary>
Comment = 5,
/// <summary>
/// Панель отображения базового объекта (клиент, договор и т.д.)
/// </summary>
BaseObjectView = 6,
/// <summary>
/// Панель отображения LiteView блока
/// </summary>
BaseObjectLiteView = 7,
/// <summary>
/// Нужен для отображения сводки по объекту. Значение идет под названием панели
/// </summary>
SummaryInfo = 8,
/// <summary>
/// Заголовок, значение с цветовой разметкой и подробный текст детализация, который будет открываться по клику.
/// Например в блоке анализа звонка ИИ
/// </summary>
SimpleWithTextDetail = 9,
/// <summary>
/// Иконка
/// </summary>
Icon = 10,
/// <summary>
/// Текст и процент и подробная детализация - основной
/// </summary>
TextPercentAndDetailMain = 11,
/// <summary>
/// Текст и процент и подробная детализация - для доп.вопросов
/// </summary>
TextPercentAndDetailAdditional = 12,
/// <summary>
/// Комментарий для лидера разговора в анализе ИИ
/// </summary>
CommentLeader = 13,
/// <summary>
/// Похож на простой вид, но с икнокой перед Value
/// </summary>
SimpleWithIcon = 14,
}
SimpleView
Текст только в одну строку и всплывашка при наведении
Реализация в PrimaryView
На картинке отображены три панели с типом SimpleView. При отображении заголовок всегда слева, значение справа. Если задан цвет, то панель окрашивается целиков в указанный цвет.
Если Detailing не пусто, то в LiteView и PrimaryView добавлять его значение серым цветом
Реализация в ContextView.
Реализация в CanbanView
ClientView
Отображает клиента и блок контактной информации (на момент написания статьи реализована только для контекстного блока)
Notification
Для ContextView
CallBackBlock
Отображает блок обратной связи с клиентом в виде набора функциональных кнопок (на момент написания статьи реализована только для контекстного блока)
Flags (на момент написания статьи НЕ используется)
Comment
Реализация в контекстном виде приведена на рисунке ниже. Тут многострочный текст, в отличии от SimpleView
Реализация к канбан-карточке
Реализация в LiteView
Реализация в PrimaryView и PrimaryEdit.
Дополнительно в PrimaryView и PrimaryEdit может быть заполнено поле Detailing данными последнего изменения этого комментария - его показывать серым цветом
BaseObjectView
Для CanbanView
Для PrimaryView
BaseObjectLiteView (на текущий момент не используется на клиенте)
SummaryInfo
с детализацией (заполнен Detailing) Если Detailing пусто, то SystemColor применяется к большой цифре, а если не пусто, то большая - черным цветом, а SystemColor применяем к маленькой
Важно! В данной панели допустимо использовать свойство Command для отображения команды, связанной с полем.
ClientBalancePanel = new FieldViewDto()
{
Code = "infoClientBalance",
Title = "Текущий баланс",
Value = XL.Base.Utils.CommonTools.FormatSumm(item.TotalBalanceSumSt),
FieldType = ViewFieldTypes.SummaryInfo,
Command = new FieldViewCommand()
{
CommandType = CommandTypes.OpenCustomView,
Title = "Акт сверки",
BaseObjectId = item.ID,
BaseObjectType = BaseObjectTypes.Client,
CustomView = "ClientBalanceView"
}
};
SimpleWithTextDetail
В PrimaryView и LiteView. По клику на value (цифра/текст) рядом должно отобразиться окно с подробным описанием из Detailing
Icon
В PrimaryView и LiteView - имя иконки
TextPercentAndDetailMain
В PrimaryView
TextPercentAndDetailAdditional
В PrimaryView
CommentLeader
В PrimaryView
В PrimaryEdit
SimpleWithIcon
в PrimaryView и PrimaryEdit