diff --git a/pom.xml b/pom.xml
index 6483874..7ea7045 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 0.11.6
+ 0.11.7
Web4Rail
jar
Java Model Railway Control
diff --git a/resources/translations/Application.de.translation b/resources/translations/Application.de.translation
index 04bf690..2b699b9 100644
--- a/resources/translations/Application.de.translation
+++ b/resources/translations/Application.de.translation
@@ -36,6 +36,8 @@ Destination\: {} from {} : Ziel: {} von {}
Direction : Richtung
Direction\: heading {} : Richtung: nach {}
disabled : deaktiviert
+Drop : Verwerfen
+Dropped destination of {}. : Ziel von {} verworfen.
EAST : Osten
editable train properties : veränderliche Zug-Eigenschaften
Emergency : Notfall
diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java
index 077391e..e516b4a 100644
--- a/src/main/java/de/srsoftware/web4rail/Route.java
+++ b/src/main/java/de/srsoftware/web4rail/Route.java
@@ -635,6 +635,11 @@ public class Route extends BaseClass{
}
return true;
}
+
+ public String shortName() {
+ String[] parts = name().split("-");
+ return parts[0].trim()+"–"+parts[parts.length-1].trim();
+ }
public Block startBlock() {
return startBlock;
@@ -688,9 +693,4 @@ public class Route extends BaseClass{
}
return message;
}
-
- public String shortName() {
- String[] parts = name().split("-");
- return parts[0].trim()+"–"+parts[parts.length-1].trim();
- }
}
diff --git a/src/main/java/de/srsoftware/web4rail/moving/Train.java b/src/main/java/de/srsoftware/web4rail/moving/Train.java
index 3a8ba71..7c9af38 100644
--- a/src/main/java/de/srsoftware/web4rail/moving/Train.java
+++ b/src/main/java/de/srsoftware/web4rail/moving/Train.java
@@ -485,6 +485,7 @@ public class Train extends BaseClass implements Comparable {
new Button(t("Select from plan"),"return selectDest("+id+");").addTo(dest);
} else {
link("span",Map.of(REALM,REALM_PLAN,ID,destination.id(),ACTION,ACTION_CLICK),destination.toString()).addTo(dest);
+ new Button(t("Drop"),Map.of(REALM,REALM_TRAIN,ID,id,ACTION,ACTION_MOVE,DESTINATION,"")).addTo(dest);
}
dest.addTo(propList);
@@ -553,6 +554,10 @@ public class Train extends BaseClass implements Comparable {
private String setDestination(HashMap params) {
String dest = params.get(DESTINATION);
if (isNull(dest)) return t("No destination supplied!");
+ if (dest.isEmpty()) {
+ destination = null;
+ return t("Dropped destination of {}.",this);
+ }
Tile tile = plan.get(dest, true);
if (isNull(tile)) return t("Tile {} not known!",dest);
if (tile instanceof Block) {
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
index ff07205..4c45704 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
@@ -216,10 +216,13 @@ public abstract class Tile extends BaseClass{
if (isSet(train)) {
HashMap props = new HashMap(Map.of(REALM,REALM_TRAIN,ID,train.id));
- props.put(ACTION, ACTION_STOP);
- window.children().insertElementAt(new Button(t("stop"),props), 1);
- props.put(ACTION, ACTION_START);
- window.children().insertElementAt(new Button(t("start"),props), 1);
+ if (isSet(train.route)) {
+ props.put(ACTION, ACTION_STOP);
+ window.children().insertElementAt(new Button(t("stop"),props), 1);
+ } else {
+ props.put(ACTION, ACTION_START);
+ window.children().insertElementAt(new Button(t("start"),props), 1);
+ }
window.children().insertElementAt(train.link("span"), 1);
window.children().insertElementAt(new Tag("h4").content(t("Train:")), 1);
}
@@ -240,7 +243,7 @@ public abstract class Tile extends BaseClass{
Tag routeList = new Tag("ol");
for (Route route : routes) {
String json = new JSONObject(Map.of(REALM,ROUTE,ID,route.id(),ACTION,ACTION_PROPS,CONTEXT,REALM_PLAN+":"+id())).toString().replace("\"", "'");
- Tag li = new Tag("span").attr("onclick","return request("+json+");").content(route.shortName()+(route.isDisabled()?" ["+t("disabled")+"]" : "")+NBSP).addTo(new Tag("li").clazz("link"));
+ Tag li = new Tag("span").attr("onclick","return request("+json+");").content(route.name()+(route.isDisabled()?" ["+t("disabled")+"]" : "")+NBSP).addTo(new Tag("li").clazz("link"));
Map params = Map.of(REALM,REALM_ROUTE,ID,route.id(),ACTION,ACTION_DROP,Tile.class.getSimpleName(),id());
new Button(t("delete route"),params).addTo(li);
li.addTo(routeList);