Oracle VBCS позволяет нам создавать несколько потоков в приложении. Это здорово - это помогает разделить логику приложения на разные модули меньшего размера. Хотя VBCS не предлагает (в текущей версии) декларативной поддержки для построения структуры меню для навигации между потоками. К счастью, это требование может быть выполнено за несколько простых шагов, пожалуйста, прочтите сообщение Джона Чеккарелли - Добавление панели навигации в приложение VBCS. Я подумал пройтись по инструкциям, перечисленным Джоном, и протестировать это, сегодняшний пост основан на этом. В своих следующих постах я рассмотрю, как заменить структуру меню панели навигации чем-то более продвинутым, например, слайдером меню слева.

Я думаю, что VBCS имеет большой потенциал как IDE для декларативной разработки JavaScript. Я вижу, что многие концепции похожи на другие инструменты декларативной разработки Oracle, например Формы, Oracle ADF. VBCS запускает Oracle JET, все, что вы создаете в VBCS, - это Oracle JET. Oracle позаботится об обновлении версии Oracle JET в VBCS, я применил недавний патч (нажатием кнопки), и последняя версия JET доступна в нашей среде VBCS:

Возвращаясь к потокам в VBCS. Мы можем создать столько потоков, сколько захотим. Каждый поток может быть основан на одном или нескольких фрагментах (модули HTML / JS). Здесь я создал три потока, каждый с одним фрагментом:

Мы можем выбрать поток, и это даст нам блок-схему, где у нас может быть реализация навигации между элементами / фрагментами потока:

Фрагмент - здесь выполняется UI-часть:

Итак, о потоках и фрагментах. Для кого-то, у кого есть опыт работы с ADF, это звучит очень похоже на потоки задач и фрагменты. Затем мы должны увидеть, как реализовать навигацию по потоку, чтобы иметь возможность выбирать поток в верхнем меню. Приложение VBCS поставляется с так называемой страницей оболочки. Эта страница является верхней оболочкой пользовательского интерфейса, которая содержит имя приложения, зарегистрированную информацию о пользователе и т. Д. Здесь мы можем реализовать меню верхнего уровня, которое будет перемещаться по потокам приложений:

Должен быть поток по умолчанию, который отображается после загрузки приложения. По умолчанию поток задается в настройках страницы shell. Зайдите в настройки и выберите поток по умолчанию, в моем случае - поток панели инструментов:

Затем нам нужно добавить компонент JET - список навигации на страницу оболочки, чтобы отобразить пользовательский интерфейс меню. Вы можете сделать это путем перетаскивания, но проще переключить страницу shell на исходный вид и вручную добавить HTML-часть списка навигации (вы можете скопировать и вставить ее из исходного кода, загруженного на GitHub, см. Ссылку на конец этого поста) - выделенный HTML-код отобразит строку меню для навигации между потоками:

Сначала вы заметите ошибку, связанную с тем, что список навигации JET не распознан, нам нужно его импортировать. Еще одна ошибка - не найден прослушиватель выбора, будем реализовывать.

Чтобы импортировать компонент списка навигации JET, перейдите к исходной реализации страницы shell и добавьте oj-navigation-list в раздел импорта компонентов - это решит проблему с неизвестной записью в списке навигации. :

Чтобы выполнить действие в VBCS, мы должны создать цепочку действий. Цепочка действий Crete на странице shell - navigateToPage:

Нам нужен входной параметр - название потока, к которому нужно перейти. Создать переменную в цепочке действий - currentFlow:

Добавьте действие типа «Перейти к цепочке действий», это вызовет логику навигации:

Перейдите в источник цепочки действий и добавьте «page»: «{{$ variables.currentFlow}}» под действиями. Это вызовет переход к потоку, который будет передан через параметр:

Наконец, мы создаем событие выбора списка навигации (на странице оболочки), это событие запускает цепочку действий, созданную выше, и передает идентификатор текущего потока. Мы должны создать собственное событие, и его имя должно совпадать с именем, определенным в списке навигации JET в HTML (см. Выше):

Выберите создание настраиваемого события (у меня это не сработало в Chrome, только в браузере Safari. Ошибка VBCS?) И укажите то же имя, что и в прослушивателе компонента списка навигации:

Выберите нашу навигационную цепочку действий, которая будет запускаться из этого события:

Напоминаем, что событие вызывается из выбора списка навигации:

Событие передает идентификатор потока из текущего выбранного элемента вкладки:

Во время выполнения поток панели мониторинга загружается по умолчанию:

Можем переключиться на Вакансии и т. Д .:

Загрузите экспортированное (запускаемое только в VBCS) приложение VBCS из репозитория GitHub.

Первоначально опубликовано на сайте andrejusb.blogspot.com 12 августа 2018 г.