Установка и первый экран
Кит ставится пакетом 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.