From 5e54c0cfb6c0d6d1175482fb1aa52eb64a016633 Mon Sep 17 00:00:00 2001 From: Stephan Richter Date: Fri, 27 Nov 2020 01:15:19 +0100 Subject: [PATCH] improved train access --- pom.xml | 2 +- src/main/java/de/srsoftware/web4rail/Plan.java | 5 +++++ src/main/java/de/srsoftware/web4rail/moving/Train.java | 2 +- src/main/java/de/srsoftware/web4rail/tiles/Block.java | 8 +++++++- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 9376109..b8f0e71 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 de.srsoftware web4rail - 1.0.17 + 1.0.18 Web4Rail jar Java Model Railway Control diff --git a/src/main/java/de/srsoftware/web4rail/Plan.java b/src/main/java/de/srsoftware/web4rail/Plan.java index d45b653..8cc1ccf 100644 --- a/src/main/java/de/srsoftware/web4rail/Plan.java +++ b/src/main/java/de/srsoftware/web4rail/Plan.java @@ -592,6 +592,11 @@ public class Plan extends BaseClass{ } private Window properties(HashMap params) { + if (params.containsKey(ID)) { + Tile tile = get(params.get(ID), true); + if (isSet(tile)) return tile.propMenu(); + } + Window win = new Window("plan-properties", t("Properties")); Form form = new Form("plan-properties-form"); new Input(REALM,REALM_PLAN).hideIn(form); diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java index d1fab5a..ba47130 100644 --- a/src/main/java/de/srsoftware/web4rail/moving/Train.java +++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java @@ -531,7 +531,7 @@ public class Train extends BaseClass implements Comparable { HashMap props = new HashMap(Map.of(REALM,REALM_TRAIN,ID,id)); if (isSet(currentBlock)) { - link("li",Map.of(REALM,REALM_PLAN,ID,currentBlock.id(),ACTION,ACTION_CLICK),t("Current location: {}",currentBlock)).addTo(propList); + currentBlock.link(currentBlock.toString(),"span").addTo(new Tag("li").content(t("Current location:")+NBSP)).addTo(propList); Tag actions = new Tag("li").clazz().content(t("Actions:")+NBSP); if (isSet(route)) { props.put(ACTION, ACTION_STOP); diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Block.java b/src/main/java/de/srsoftware/web4rail/tiles/Block.java index a9299ca..d90e600 100644 --- a/src/main/java/de/srsoftware/web4rail/tiles/Block.java +++ b/src/main/java/de/srsoftware/web4rail/tiles/Block.java @@ -120,6 +120,12 @@ public abstract class Block extends StretchableTile implements Comparable private Vector waitTimes = new Vector(); + @Override + public Object click() throws IOException { + if (isSet(train)) return train.props(); + return super.click(); + } + @Override public int compareTo(Block other) { return name.compareTo(other.name); @@ -189,7 +195,7 @@ public abstract class Block extends StretchableTile implements Comparable public Tag link(String...args) { String tx = args.length<1 ? name+NBSP : args[0]; String type = args.length<2 ? "span" : args[1]; - return link(type, Map.of(REALM,REALM_PLAN,ID,id(),ACTION,ACTION_CLICK), tx); + return link(type, Map.of(REALM,REALM_PLAN,ID,id(),ACTION,ACTION_PROPS), tx).clazz("link","block"); } @Override