К основному контенту

Базовые компоненты Extention Library для создания XPages приложений. Application Layout

Библиотека компонентов Extention Library для разработка XPages приложений настолько расширилась и стала повсеместно используема, что была включена в новые релизы IBM Notes и Domino. Наиболее свежие и актуальные версии (как и раньше) можно найти на OpenNTF.org.
В серии постов, посвященных базовым компонентам Extension Library рассмотрю наиболее важные, на мой взгляд, для построения приложения на базе XPages. Должен заметить, что использование данных компонент значительно упрощают жизнь при разработке UI части интерфейса.


Будут рассмотрены:
1. Application Layout (ниже)
2. Navigator
3. Data View
4. Form Table (+Form Layout Column, Form Layout Row)
5. Dialog (+ Dialog Content, Dialog Button Bar)
6. Tooltip Dialog
--- Дополнительно ---
7. Widget Container
8. Bread Crumbs

Также выкладываю для скачивания свою демку, посвященную XPages, в которую буду добавлять описываемые компоненты, примеры использования и прочие эксперименты с XPages.

1. Application Layout
В своем посте о OneUI я описывал базовую структура внешнего вида приложения. Данный компонент используется, чтобы не описывать структура вручную через div'ы и ручное проставление стилевых классов. К тому же дает еще кучу всяких возможностей для оформления основного внешнего вида.
Опции:
Приведу не полный список свойств, а лишь наиболее важные.

1. При перетаскивании на XPage или custom control возникает первичный диалог с настройками, позволяющий настроить:
- общую конфигурацию
- наличие баннерной части
- наличия строки на названием приложения и строки поиска
- наличие place bar (в статье про OneUI обозвал это строкой положения). Это место для размещения подзаголовка, закладок и кнопок действий
- наличие нижней части (можно сказать нижнего колонтитула страницы с ссылками и прочей информацией
- наличие части для размещения информации о защите прав
- выставление темы приложения (отображение этого компонента сильно зависит от темы самого приложения)
Далее в полном списке свойств данного компонента это все можно изменить

2. Следующие опции в основном окне настроек компонента довольно важные. Это то, какие части для добавления контента будут доступны на каждой из страниц, а какие не будут видны или могут быть заполнены единожды и будут отображаться единообразно на всех страницах.
Итак, на выбор доступны левая, правая и центральная колонки. Если отметить чекбокс - вставка контента будет доступна на странице XPage, куда будет добавлен custom control. Если ничего не добавлять в качестве контента - колонка не будет отображаться.

3. Для каждой из областей (частей) из пункта 1 опций доступен широкий набор настроек. Они достаточно понятный для самостоятельного изучения.

Использование:
Обычно этот компонент помещается на отдельный custom control (например, cc_Layout) и затем добавляется на страницы xPages, дополняясь непосредственным содержимым страницы.

Комментарии

Популярные сообщения из этого блога

Занимательные алгоритмы. Поиск цикла в односвязном списке

И снова про тараканов, которые иногда возникают в голове. Как-то раз, засыпая, я задумался на курьезными задачками из своей сферы деятельности (Lotus Notes), которые можно было бы задать на собеседовании, плавно перешел к воспоминаниям о своих первых собеседования, когда опыта работы еще не было. Опыт самих собеседований у меня не велик а места, где задавались действительно интересные задачи (а не задачки типа: написать сортировку массива любым известным способом) вообще равны одному - это ABBYY. Как минимум одна задачка в списке на знание и понимание классических алгоритмов, описанных в книге Дональда Кнута -  Искусство программирования .

Unit-testing object validation when validator has DI

Summary Unit test object validation when validator(s) has a dependency. For instance, we have some custom field and cross-field validators. Want to test their combination. Additionally some of validators have dependencies, injected through constructor or setters. You're not using property injection, right? Shortcut If you are just searching for an answer, here's the fast way: Declare CustomConstraintValidatorFactory that implements javax.validation.ConstraintValidatorFactory Override getInstance method and on facing your constraint validator class instantiate it Otherwise delegate validator construction to org.hibernate.validator.internal.engine.constraintvalidation.ConstraintValidatorFactoryImpl Build validator factory and provide it your CustomConstraintValidatorFactory Build validator, using that factory... Go to demo project on GitHub for details:  https://github.com/MrArtemAA/blog-demos/blob/master/test-validator-with-injection/src/test/java/ru/artemaa/d

Lotus Notes FAQ. 8/9 Eclipse. Как настроить уведомления о Sametime сообщениях

Н а написание данной "инструкцию" натолкнул мой коллега. Помню, первый раз сам долго искал, как отключить постоянно выпрыгивающие уведомления о новых сообщениях в Sametime. И так, речь идет о клиентах IBM Notes 8+ версии Standart (Eclipse based). Как настроить уведомления о Sametime сообщениях?