Console: Fix disabling sidebar refresh

0 disables refresh on /configsidebar
disable ajax if refresh disabled
change refresh default to 15 sec
This commit is contained in:
zzz
2020-04-07 20:47:12 +00:00
parent 4edb9bbf7f
commit 1752291ffd
4 changed files with 31 additions and 8 deletions

View File

@ -24,7 +24,7 @@ public class CSSHelper extends HelperBase {
public static final String BASE_THEME_PATH = "/themes/console/";
private static final String FORCE = "classic";
public static final String PROP_REFRESH = "routerconsole.summaryRefresh";
public static final String DEFAULT_REFRESH = "60";
public static final String DEFAULT_REFRESH = "15";
public static final int MIN_REFRESH = 3;
public static final String PROP_DISABLE_REFRESH = "routerconsole.summaryDisableRefresh";
private static final String PROP_XFRAME = "routerconsole.disableXFrame";

View File

@ -1,5 +1,6 @@
package net.i2p.router.web.helpers;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
@ -28,11 +29,22 @@ public class ConfigSummaryHandler extends FormHandler {
if (_action.equals(_t("Save")) && "0".equals(group)) {
try {
int refreshInterval = Integer.parseInt(getJettyString("refreshInterval"));
if (refreshInterval >= CSSHelper.MIN_REFRESH) {
_context.router().saveConfig(CSSHelper.PROP_REFRESH, Integer.toString(refreshInterval));
if (refreshInterval < 0)
refreshInterval = 0;
else if (refreshInterval > 0 && refreshInterval < CSSHelper.MIN_REFRESH)
refreshInterval = CSSHelper.MIN_REFRESH;
Map<String, String> toAdd = new HashMap<String, String>(2);
if (refreshInterval == 0) {
toAdd.put(CSSHelper.PROP_DISABLE_REFRESH, "true");
toAdd.put(CSSHelper.PROP_REFRESH, CSSHelper.DEFAULT_REFRESH);
_context.router().saveConfig(toAdd, null);
addFormNotice(_t("Refresh disabled"));
} else {
toAdd.put(CSSHelper.PROP_DISABLE_REFRESH, "false");
toAdd.put(CSSHelper.PROP_REFRESH, Integer.toString(refreshInterval));
_context.router().saveConfig(toAdd, null);
addFormNotice(_t("Refresh interval changed"));
} else
addFormError(_t("Refresh interval must be at least {0} seconds", CSSHelper.MIN_REFRESH));
}
} catch (java.lang.NumberFormatException e) {
addFormError(_t("Refresh interval must be a number"));
return;