On 14/09/15 16:09, Elliot Smith wrote:
When ToasterTable data is loaded into the UI, a new entry is
added to the browser history. This means that pressing the back
button appears to have no effect, as you end up at the same page,
possibly with slightly different data.

Instead, use replaceState(), so that the browser history doesn't
grow, but the page context still gets updated.

[YOCTO #7660]

Signed-off-by: Elliot Smith <[email protected]>
---
  bitbake/lib/toaster/toastergui/static/js/table.js | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/bitbake/lib/toaster/toastergui/static/js/table.js 
b/bitbake/lib/toaster/toastergui/static/js/table.js
index f18034d..99b99a0 100644
--- a/bitbake/lib/toaster/toastergui/static/js/table.js
+++ b/bitbake/lib/toaster/toastergui/static/js/table.js
@@ -49,7 +49,7 @@ function tableInit(ctx){
          headers: { 'X-CSRFToken' : $.cookie('csrftoken')},
          success: function(tableData) {
            updateTable(tableData);
-          window.history.pushState({
+          window.history.replaceState({
                tableData: tableData,
                tableParams: tableParams
            }, null, libtoaster.dumpsUrlParams(tableParams));

If we replace state each time we load, we won't have a back stack to put the tableData into and subsequently pop it out of on the onpopstate event, could you also remove storing the tableData, tableParams in the browser and remove the window.onpopstate handler code as that won't ever fire now.

Thanks,

Michael
--
_______________________________________________
toaster mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/toaster

Reply via email to