Как включить всплывающее диалоговое окно в подstreamе

Есть ли способ вызвать диалоговое окно внутри подчиненного состояния, чтобы фон (текущий stream) отключился?

Таким образом, когда заканчивается подstream (после закрытия всплывающего диалогового windows), он может затем обновить родительский stream (текущая страница).

Я пытаюсь добиться чего-то вроде изображения ниже с суб-streamом:

введите описание изображения здесь

Обновить:

В конце я использовал следующий код в веб-streamе для динамического создания диалогового windows на ходу:

 

    Я не думаю, что для этой проблемы были разработаны переходы webflow parent -> subflow. В веб-streamе предполагается, что вы переходите со страницы -> страницы. Лучше всего сделать ajax / javascript-вызов, пока всплывающее окно инициализируется определенным переходом, определенным в вашем родительском / главном streamе, и поместите логику, которую вы хотите выполнить в процессе перехода. Вы можете настроить Spring Webflow для возврата fragmentов html, которые будут отображаться только вашим кодом javascript.

    Вот пример из одного из моих проектов.

              

    поэтому в приведенном выше примере мы находимся в нашем streamе «родительский / основной». переход «objUnlink» может быть вызван либо ссылкой html, которая выглядит так.

    (URL-адрес sudo):

     ${flowExecutionUrl}?_eventId='objUnlink'&someOtherParam=2 

    Требуемый PARAM для запуска перехода: «_eventId = objUnlink»

    или через ajax-вызов, где URL-адрес структурирован следующим образом:

    (URL-адрес sudo):

     ${flowExecutionUrl}?_eventId='objUnlink'&someOtherParam=2&ajaxSource=true 

    Требуемые PARAM для запуска перехода через ajax: «_eventId = objUnlink» и «ajaxSource = true»

    Потому что у нас есть:

      

    Запуск любого url будет отображать только fragment view_response_msg, как определено вашим представлением. В моем случае я использую тимелеаф в качестве frameworks представления, а «view_response_msg» определяется как fragment в тимелеафе.

    Поэтому после отправки запроса и выполнения перехода тело моего ответа будет состоять только из визуализированного html, который был определен в моей «view_response_msg» (а не на всей странице).

    Поэтому для вашего случая использования вам необходимо:

    1. Определите fragment в структуре представления, который будет отображать только содержимое всплывающего windows. Чтобы оставаться в соответствии с нашим примером, он будет называться ‘view_response_msg’

    2. Затем вызовите определенный переход на родительский / основной stream через AJAX. Снова, чтобы оставаться последовательным, назовем его «objUnlink»

    3. Затем сохраните этот частично обработанный html-ответ в переменной javascript (помните, мы назвали этот переход из вызова ajax), а затем отобразим его внутри вашего всплывающего windows.

    4. Если вы хотите обновить родительский / основной stream, когда кто-то закрывает всплывающее окно, используйте ту же концепцию и создайте другой ajax call -> transition -> render render. Помните, что мы не оставили основной stream.

    Извините за длинный ответ, но это не тривиальная проблема 🙂

    Примечание. Spring Web Flow должен быть EXPLICITLY настроен для обработки запросов ajax. См. Документацию. Более того, ваша конкретная структура представления может (например, тимелеаф) иметь собственную специфическую конфигурацию / реализацию для Web Flow для обработки запросов ajax и для рендеринга fragmentов.

    Давайте будем гением компьютера.