From 1035fcecd8700e90c9e940c667bc66a2a0a1b241 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov Date: Wed, 24 May 2006 04:55:13 +0100 Subject: [PATCH] storeInitParam: only store changed params on server --- feedlist.js | 7 ++++++- functions.js | 32 ++++++++++++++++++++++++++++---- tt-rss.js | 2 +- 3 files changed, 35 insertions(+), 6 deletions(-) diff --git a/feedlist.js b/feedlist.js index 355b4d88..97d74ba2 100644 --- a/feedlist.js +++ b/feedlist.js @@ -27,7 +27,12 @@ function viewfeed(feed, skip, subop, doc, is_cat, subop_param) { toolbar_form.limit[toolbar_form.limit.selectedIndex].value); storeInitParam("toolbar_view_mode", - toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value); + toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value); + +/* var sp = new Object(); + sp["toolbar_limit"] = toolbar_form.limit[toolbar_form.limit.selectedIndex].value; + sp["toolbar_view_mode"] = toolbar_form.view_mode[toolbar_form.view_mode.selectedIndex].value; + storeInitParams(sp); */ var query = "backend.php?op=viewfeed&feed=" + feed + "&" + toolbar_query + "&subop=" + param_escape(subop); diff --git a/functions.js b/functions.js index 59684b02..2d04c02a 100644 --- a/functions.js +++ b/functions.js @@ -1162,19 +1162,43 @@ function getInitParam(key) { return getMainContext().init_params[key]; } -// TODO: batch mode function storeInitParam(key, value, is_client) { try { - getMainContext().init_params[key] = value; if (!is_client) { - new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" + - param_escape(key) + "&value=" + param_escape(value)); + if (getMainContext().init_params[key] != value) { + debug("storeInitParam: " + key + " => " + value); + new Ajax.Request("backend.php?op=rpc&subop=storeParam&key=" + + param_escape(key) + "&value=" + param_escape(value)); + } } + getMainContext().init_params[key] = value; } catch (e) { exception_error("storeInitParam", e); } } +/* +function storeInitParams(params, is_client) { + try { + var s = ""; + + for (k in params) { + if (getMainContext().init_params[k] != params[k]) { + s += k + "=" + params[k] + ";"; + getMainContext().init_params[k] = params[k]; + } + } + + debug("storeInitParams: " + s); + + if (!is_client) { + new Ajax.Request("backend.php?op=rpc&subop=storeParams&str=" + s); + } + } catch (e) { + exception_error("storeInitParams", e); + } +}*/ + function fatalError(code, message) { try { var fe = document.getElementById("fatal_error"); diff --git a/tt-rss.js b/tt-rss.js index bbe91ee0..f6a50733 100644 --- a/tt-rss.js +++ b/tt-rss.js @@ -14,7 +14,7 @@ var active_feed_id = 0; var xmlhttp = Ajax.getTransport(); -var init_params = new Array(); +var init_params = new Object(); function toggleTags() { display_tags = !display_tags; -- 2.39.5