Dialogflow CX - transitioning to previous page from a route group does not re-prompt - dialogflow-cx

I have a "go back" route group that allows the user to go back to the previous page. While this is working, i.e. the flow indeed moves back to the previous page, the agent is not prompting the user after it navigates back.
In other words, let's say we have page A with prompt "Welcome to page A", then page B with prompt "Welcome to page B". User is on B, and tells the agent to go back; I expected to see the "Welcome to page A" prompt again, but the agent doesn't say anything.
Of course, adding the prompt to the "go back" route defeats the purpose, since we want to reuse it across the flow. How can I force the prompt to happen in this particular case?

If you use the PREVIOUS_PAGE, the page state from the previous page (Page B to A) will be restored after the transition. In this case, entry fulfilment or prompts will not be shown once the previous page is restored.
I believe only those unfilled parameters/fields/variables will be shown. In this sense, such use-case is an expected behaviour (no prompts will be shown when transitioning to previous page).

Related

Can't Navigate Back to Xamaran Shell Page After First Visit

I must not understand the concept correctly and I am doing something - though I don't get what.
I have a page ("page2") that is on the Shell/Flyout. Once on this page, for any number of reason (when it first loads, on an action, etc.) the user is redirected to "page3" that uses Shell.Current.GoToAsync("page3?id=xxxx") to go to a page that is in the global routes. That works.
If I try to go back to "page2" - using await Shell.Current.GoToAsync("///page2") "page3" gets displayed. I cannot step into anything - no OnDisappearing, OnAppearing, ctor,
What am I missing here?
I am not sure if you're looking for a way to go back one page but if you are the easiest way to do so is like:
Shell.Current.Navigation.PopAsync();

How to close a page in Xamarin Prism?

I have page A and with a button, I go to page B
Now I want to close page B and "page A" appear
(But I don't want to call her again, since the page To make assessments if there is internet, ping the Server, etc. and I don't want to make these checks again.
That is why I want page A to appear once I have closed page B
(As if it were a kind of PopUp (But I don't want to use PopUp because of the type of page and data on page B)
Thank you.
If you go to PageB from PageA with:
NavigationService.NavigateAsync("PageB");
Then you can go back with :
NavigationService.GoBackAsync();
If you go to PageB from PageA with Model style(like PopUp as you mentioned in the question):
NavigationService.NavigateAsync("PageB", useModalNavigation: true);
You can use below codes to go back:
NavigationService.GoBackAsync(useModalNavigation: true);
But I don't want to call her again
To achieve that, you can make the button in Page1 not visible after Page1 appear again.

oracle Apex, Issue with Ajax call

In Oracle Apex 5.1, I am having issues with Ajax call in my code. There is no error shown as well. Request help in debugging the below scenario.
I created a report with check boxes. This page also has 4 buttons A, B, C, D. I created a page process which is a pl/sql block. Upon clicking on bUtton A OR B this process is being called and executed properly as expected.
For buttons C and D, I wanted to take a user input and pass it to page process.After that only, the process should get executed. For this, I have written an on click dynamic action which prompts for user input upon clicking on buttons C or D.
var order= prompt("Please enter order number", "");
$s('P1_UPDATED_ORDER_NUMBER',order);
alert ($v(P1_UPDATED_ORDER_NUMBER)); // Until this the code is working
apex.server.process ('my_process',{}, {"dataType": "text"});
In the above code, the last line is not showing any result or error. I am not sure if the call is actually made or not?
This issue is resolved by removing apex.server.process() and triggering page submit after above java script is executed.
I believe the actual solution to request the AJAX Callback is to use this:
apex.server.process ('my_process',null, {"dataType": "script"});

Wicket Page cahing in DefaultPageStore

Recently I've overridden Wicket's DefaultPageStore methods serializePage and deserializePage and enhanced them with logging to track time spent in them.
I discovered that deserializePage is never called because the actual page is always retrieved from the SessionEntry#sessionCache.
I suspect this is due to my page setting setVersionPagesByDefault(false) which creates the situation where there is only current version of a page which is serialized in the SessionEntry and then (needlessly) in the DefaultPageStore from where it's never deserialized.
If this suspicion is correct, I'm then able to make method serializePage a no-op a and skip serialization, which currently takes 3 or 7 seconds (DeflatedJavaSerializer) for page X.
I did not detect any side-effects so far, so my question is: is this safe? And if not, then why?
I'm considering this only as temporary solution until I'm able to move the data from the page to proper cache.
Here is some info on page versioning: http://wicket.apache.org/guide/guide/versioningCaching.html
If you do not need support for back button, you can disable page versioning - it has not side effects, assuming that your pages handle back button correctly. Jumping back to the page that has no state can create page without initial parameters. Like for example: you jump from page A to B and provide some arguments to B. Now user is on page C and clicks back button. This will result in redirect to page B, but no arguments will be passed this time. If you would use page versioning, wicket would only deserialize page B and execute rendering again.
Here is also one possibility to disable page store:
http://maciej-miklas.blogspot.de/2013/09/wicket-6-disable-page-serialization.html

Magento: review step at checkout is being displayed too far up

When a user enters credit card details during the checkout process and clicks "Continue", the following review section is being displayed so far up the screen that the user then has to scroll up to see it - the bottom part of the review-buttons-container div (which contains the "Place Order" button) is all that can be seen unless you manually scroll up the page.
Is there any way to adjust the target/div that the process shows or scrolls to after hiding the opc-billing section?
To answer my own question for the benefit of others:
I added the following JavaScript to template/checkout/onepage.phtml:
if(Ajax.Responders){
Ajax.Responders.register({
onComplete: function(response){
scrollTo(0,0);
}
});
}
So after each AJAX request/response that occurs for process the current section and advancing on to the next, it causes a scroll to the top left of the page. This mightn't be particularly elegant, but it gets the job done.

Resources