[Toaster] [review-request][PATCH 1/2] toaster: Don't add new history entries when table data loads

Michael Wood michael.g.wood at intel.com
Tue Sep 29 10:50:32 PDT 2015


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 <elliot.smith at intel.com>
> ---
>   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


More information about the toaster mailing list