oscript-ui
oscript-ui

Установка и первый экран

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

Установка#

opm install oscript-ui

В packagedef приложения:

.ЗависитОт("oscript-ui", "0.9.0")

И в точке входа, до создания поделки ОСени — желудём становится только класс, известный контейнеру к сборке:

#Использовать autumn
#Использовать winow
#Использовать oscript-ui

Классы кита — желуди ОСени. Зависимости на неё у библиотеки нет: кит можно собрать и руками, как это делают его тесты.

Четыре желудя экрана#

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

Желудь Что делает Как зовут в образцах
НаборКомпонентов фасад компонентов: модель в разметку Набор
Кит холст: экран деревом узлов Кит
Формы объявление формы, проверка и печать Формы
РендерерНастроек каркас дома настроек Настройки

Компонент можно позвать двумя путями. Через набор он сразу возвращает строку; через кит — узел, который собирают словами (см. Язык узлов), кладут в дерево и печатают вместе со всем экраном.

Через набор — строка

готово
HTML = Набор.Тег().Отрисовать(Новый Структура("Текст, Вид", "готово", "ok"));

Через кит — узел дерева

готово
HTML = Кит.Плашка("готово").Вид("ok").Рендер();

Первый экран#

Контроллер winow берёт кит и каркас страницы, собирает содержимое и отдаёт страницу целиком: голову с темой, шапку, меню, подвал и скрипты.

&ТочкаМаршрута("/проекты")
Процедура Проекты(Ответ, КукиЗапроса, ПутьЗапроса) Экспорт

	Холст = Кит.Холст(
		Кит.ЗаголовокСтраницы("Проекты").Пояснение("Всё, над чем работает команда"),
		Кит.Таблица(Кит.Колонка("Имя")).Пусто(Кит.Примечание("Проектов пока нет")));

	Ответ.ТелоТекст = Каркас.Страница("Проекты", Холст,
		Каркас.КонтекстСтраницы(Неопределено, КукиЗапроса, Ложь, Ложь, ПутьЗапроса));

КонецПроцедуры

&Контроллер("/")
Процедура ПриСозданииОбъекта(
	&Пластилин(Значение = "Кит") _Кит,
	&Пластилин(Значение = "КаркасСтраницы") _Каркас) Экспорт

	Кит = _Кит;
	Каркас = _Каркас;

КонецПроцедуры

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

Без контейнера#

Кит не требует ОСени. Граф можно собрать руками — так собирают его тесты кита и проверка страниц этой документации.

Экран = Новый ЭкранированиеHTML();
Модели = Новый ЧтениеМодели();
Место = Новый РаскладкаСтатики(Новый СтатикаИнсталляцииПоУмолчанию());
Значки = Новый Иконка(Экран, Новый НаборИконок(Место, Новый ЧтениеГлифа()), Модели);

Кнопки = Новый Кнопка(Экран, Модели, Значки);
HTML = Кнопки.Отрисовать("Сохранить");

Полная ручная сборка — в документация/src/Классы/движок/СборкаДокументации.os.