oscript-ui
oscript-ui

Сводка

Сводка показывает запись списка одним взглядом: название первым и крупно, знаки состояния рядом с ним, подпись под ним и подписанные строки «подпись — значение» ниже. Разметка у неё строчная, поэтому сводка ложится и в свёрнутую строку раскрывашки.

Когда использовать#

  • Список записей, у каждой из которых имя, состояние и два-три сведения: рассылки, расписания, подключения.
  • Запись разворачивается на месте, и её свёрнутая строка должна сразу ответить «что это».
  • Сведений у записи разное число, и колонки таблицы стояли бы полупустыми.

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

Название, подпись и сведения#

Название обязательно: им запись называют — именем, адресом, номером. Подпись — приглушённая строка под названием. Сведения — строки «подпись — значение»: на широком экране подпись и значение стоят колонками, на узком подпись встаёт над значением.

Название, подпись и сведения

Утренняя рассылкапочта · общий ящикКогдапо будням в 9:00Комувсем участникам
Сведения = Новый Массив(); Сведения.Добавить(Новый Структура("Подпись, Значение", "Когда", "по будням в 9:00")); Сведения.Добавить(Новый Структура("Подпись, Значение", "Кому", "всем участникам")); HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Подпись, Сведения", "Утренняя рассылка", "почта · общий ящик", Сведения));

В дереве холста сводка собирается словами: название позицией, подпись и каждая строка сведений — словом (см. Язык узлов).

Узлом холста — словами

Утренняя рассылкапочта · общий ящикКогдапо будням в 9:00Комувсем участникам
HTML = Кит.Сводка("Утренняя рассылка").Подпись("почта · общий ящик") .Сведение("Когда", "по будням в 9:00") .Сведение("Кому", "всем участникам").Рендер();

Знаки состояния и предупреждение#

Знаки — плашки сразу за названием: их читают вторыми, но видят сразу. Слово Знак принимает узел плашки или её текст. Подпись можно задать частями — повторным словом Подпись или массивом в прежнем виде модели: кит соединит их через « · » и пропустит пустые. Строка сведений с видом «warn» красится цветом предупреждения. Длинный перечень переносится внутри своей колонки значения.

Знак у названия, подпись частями, длинный перечень и предупреждение

Вечерний отчётвыключенапочта · отдел продажТемыНовые заказы, Отмены заказов, Возвраты, Жалобы клиентов, Отзывы, Сбои оплатыПропалоОпросы
HTML = Кит.Сводка("Вечерний отчёт") .Знак(Кит.Плашка("выключена").Вид("warn")) .Подпись("почта").Подпись("отдел продаж") .Сведение("Темы", "Новые заказы, Отмены заказов, Возвраты, Жалобы клиентов, Отзывы, Сбои оплаты") .Сведение("Пропало", "Опросы", "warn").Рендер();

Пустые сведения#

Строка с пустым значением не печатается. Поэтому сведения собирают как есть, без проверок: незаполненное поле просто не появится.

Пустое «Кому» пропущено

Ежемесячный итогКогдараз в месяц
Сведения = Новый Массив(); Сведения.Добавить(Новый Структура("Подпись, Значение", "Когда", "раз в месяц")); Сведения.Добавить(Новый Структура("Подпись, Значение", "Кому", "")); HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Сведения", "Ежемесячный итог", Сведения));

В свёрнутой строке раскрывашки#

Сводка — сплошь <span>, поэтому её можно положить в <summary>, куда блочные теги класть нельзя. Свёрнутая строка отвечает «что это», развёрнутая отдаёт подробности.

Сводка в шапке раскрывашки

Вечерний отчётпочта · отдел продажТемыНовые заказы, Отмены, Возвраты

Отправляется в 19:00 по рабочим дням.

HTML = Кит.Раскрывашка(Кит.Примечание("Отправляется в 19:00 по рабочим дням.")) .Шапка(Кит.Сводка("Вечерний отчёт").Подпись("почта · отдел продаж") .Сведение("Темы", "Новые заказы, Отмены, Возвраты")).Рендер();

Гайдлайны#

Вечерний отчётрассылка · отдел продаж
ДелайтеНазвание — имя самой записи
Код
HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Подпись",
	"Вечерний отчёт", "рассылка · отдел продаж"));
РассылкаВечерний отчёт · отдел продаж
Не делайтеНазвание — тип записи: все строки списка назовутся одинаково
Код
HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Подпись",
	"Рассылка", "Вечерний отчёт · отдел продаж"));
Вечерний отчётвыключена
ДелайтеСостояние — знаком у названия
Код
Знаки = Новый Массив();
Знаки.Добавить(Новый Структура("Текст, Вид", "выключена", "warn"));

HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Знаки",
	"Вечерний отчёт", Знаки));
Вечерний отчётКогдав 19:00Состояниевыключена
Не делайтеСостояние строкой сведений: его не видно с первого взгляда
Код
Сведения = Новый Массив();
Сведения.Добавить(Новый Структура("Подпись, Значение", "Когда", "в 19:00"));
Сведения.Добавить(Новый Структура("Подпись, Значение", "Состояние", "выключена"));

HTML = Набор.Сводка().Отрисовать(Новый Структура("Название, Сведения",
	"Вечерний отчёт", Сведения));

Доступность#

  • Без Названия кит сводку не соберёт и бросит исключение: запись без имени скринридер не назовёт.
  • Знаки — обычные плашки с текстом. Их смысл читается словами, а не цветом.
  • Подпись строки сведений печатается текстом рядом со значением, поэтому скринридер читает пару целиком: «Темы — Новые заказы…».
  • Предупреждение в сведениях выделено только цветом. Пусть его несёт и само значение или подпись: «Пропало — Опросы».

Узлом холста#

Кит.Сводка — узел холста: его кладут в пункт списка, в ячейку таблицы или в шапку раскрывашки, как в образце выше.

Сводка узлом дерева

Утренняя рассылкапочта
HTML = Кит.Сводка("Утренняя рассылка").Подпись("почта").Рендер();

Модель#

Класс компонента — КраткаяСводка, в наборе он зовётся Набор.Сводка(). Структура ниже — прежний вид модели; в дереве холста её поля пишут слова Кит.Сводка.

КраткаяСводка.Отрисовать()src/Классы/компоненты/КраткаяСводка.os

Отрисовывает сводку.

Параметры:
 Модель - Структура - Название (обязательно), Знаки (Массив моделей «Плашки» — состояние
          у названия), Подпись (Строка либо Массив из Строка — части через « · »),
          Сведения (Массив из Структура: Подпись, Значение, Вид — "" | "warn"; строка
          с пустым значением не печатается).

Возвращаемое значение:
 Строка - фрагмент span.brief. Кидается исключением, если Название пусто.

Кит.Сводка()src/Классы/холст/Кит.os

Сводка — запись списка одним взглядом: название первым, знаки состояния у него, подпись
под ним и подписанные строки «подпись — значение». Строчная разметка: ложится и в
свёрнутую строку раскрывашки. Слова: Подпись (повторная — ещё часть через « · »),
Знак(узел плашки | текст), Сведение(Подпись, Значение, Вид).

Параметры:
 Модель - Строка, Структура - название; Структура — прежний вид модели.

Возвращаемое значение:
 ЭлементЭкрана