diff --git a/pom.xml b/pom.xml
index 2c4a924..4ee5967 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
de.srsoftware
web4rail
- 1.2.42
+ 1.2.43
Web4Rail
jar
Java Model Railway Control
diff --git a/resources/js/plan.js b/resources/js/plan.js
index dc920ca..1b19c51 100644
--- a/resources/js/plan.js
+++ b/resources/js/plan.js
@@ -163,6 +163,10 @@ function request(data){
method : POST,
data : data,
success: function(resp){
+ var win = $('.window');
+ var scroll = win.scrollTop();
+ var winId = win.attr('id');
+
if (data.realm != 'car' && data.realm != 'loco') closeWindows();
if (resp.startsWith(' routes = BaseClass.listElements(Route.class);
for (Route route : routes) {
- table.addRow(route.link("span",route.name()),route.link("span", route.startBlock()),route.link("span", route.endBlock()));
+ table.addRow(route.link("span",route.name()),route.link("span", route.startBlock()),route.link("span", route.endBlock()),plan.button(t("simplyfy name"), Map.of(ACTION,ACTION_AUTO,ROUTE,route.id().toString())));
}
table.clazz("turnouts").addTo(win);
@@ -709,6 +711,19 @@ public class Plan extends BaseClass{
if (isSet(contact)) contact.activate(active);
}
+ private Object simplyfyRouteName(HashMap params) {
+ String routeId = params.get(ROUTE);
+ if (isSet(routeId)) {
+ Route route = BaseClass.get(new Id(routeId));
+ if (isSet(route)) route.simplyfyName();
+ }
+ Id tileId = Id.from(params);
+ Tile tile = isSet(tileId)? BaseClass.get(tileId) : null;
+ if (isSet(tile)) return tile.properties();
+ params.remove(ID);
+ return plan.properties(params);
+ }
+
/**
* sends some data to the clients
* @param data
diff --git a/src/main/java/de/srsoftware/web4rail/Route.java b/src/main/java/de/srsoftware/web4rail/Route.java
index 6c8fc17..68ebbb0 100644
--- a/src/main/java/de/srsoftware/web4rail/Route.java
+++ b/src/main/java/de/srsoftware/web4rail/Route.java
@@ -748,7 +748,11 @@ public class Route extends BaseClass {
preForm.add(contactsAndActions());
formInputs.add(t("Name"),new Input(NAME, name()));
- formInputs.add(t("State"),new Checkbox(DISABLED, t("disabled"), disabled));
+ Checkbox checkbox = new Checkbox(DISABLED, t("disabled"), disabled);
+ if (disabled) checkbox.clazz("disabled");
+ formInputs.add(t("State"),checkbox);
+
+
postForm.add(basicProperties());
if (!turnouts.isEmpty()) postForm.add(turnouts());
@@ -848,6 +852,11 @@ public class Route extends BaseClass {
return parts[0].trim()+"–"+parts[parts.length-1].trim();
}
+ public void simplyfyName() {
+ String[] parts = name().split("-");
+ if (parts.length>1) name(parts[0]+" - "+parts[parts.length-1]);
+ }
+
public Route.State state(){
return state;
}
diff --git a/src/main/java/de/srsoftware/web4rail/actions/SetTurnout.java b/src/main/java/de/srsoftware/web4rail/actions/SetTurnout.java
index eb2b4db..cd13f2d 100644
--- a/src/main/java/de/srsoftware/web4rail/actions/SetTurnout.java
+++ b/src/main/java/de/srsoftware/web4rail/actions/SetTurnout.java
@@ -24,8 +24,9 @@ public class SetTurnout extends Action {
@Override
public boolean fire(Context context) {
- if (isNull(turnout)) return false;
+ if (isNull(turnout)) return false;
if (!turnout.state(state).succeeded()) return false;
+ if (turnout.address() == 0) return true;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
diff --git a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
index 5de5f4d..327befa 100644
--- a/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
+++ b/src/main/java/de/srsoftware/web4rail/tiles/Tile.java
@@ -45,7 +45,6 @@ public abstract class Tile extends BaseClass implements Comparable{
private static final String OCCUPIED = "occupied";
private static final String ONEW_WAY = "one_way";
private static final String POS = "pos";
- private static final String ROUTE = "route";
private static final String TYPE = "type";
private static final String X = "x";
private static final String Y = "y";
@@ -246,6 +245,7 @@ public abstract class Tile extends BaseClass implements Comparable{
for (Route route : routes) {
Tag li = route.link("span", route.name()+(route.isDisabled()?" ["+t("disabled")+"]" : "")+NBSP).addTo(new Tag("li").clazz("link"));
route.button(t("delete route"),Map.of(ACTION,ACTION_DROP)).addTo(li);
+ button(t("simplify name"), Map.of(ACTION,ACTION_AUTO,ROUTE,route.id().toString())).addTo(li);
li.addTo(routeList);
}
routeList.addTo(fieldset);