Browse Source

preparing js

lookup-tables
Stephan Richter 5 years ago
parent
commit
7607a75d74
  1. 17
      css/style.css
  2. 44
      resources/css/style.css
  3. 2
      resources/js/jquery-3.5.1.slim.min.js
  4. 1
      resources/js/plan.js
  5. 0
      resources/svg/DiagNE.svg
  6. 0
      resources/svg/DiagSW.svg
  7. 0
      resources/svg/DiagWN.svg
  8. 0
      resources/svg/EndE.svg
  9. 0
      resources/svg/EndW.svg
  10. 0
      resources/svg/StraightH.svg
  11. 0
      resources/svg/StraightV.svg
  12. 0
      resources/svg/TurnoutSE.svg
  13. 0
      resources/svg/TurnoutSW.svg
  14. 0
      resources/svg/TurnoutWS.svg
  15. 16
      src/main/java/de/srsoftware/web4rail/Application.java
  16. 9
      src/main/java/de/srsoftware/web4rail/Page.java
  17. 16
      src/main/java/de/srsoftware/web4rail/Plan.java
  18. 3
      src/main/java/de/srsoftware/web4rail/tiles/Tile.java

17
css/style.css

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
.tile{
border: 1px solid black;
width: 30px;
height: 30px;
position: absolute;
}
svg polygon,
svg rect{
fill:rgb(0,255,255);
stroke-width:5;
stroke:rgb(0,0,0);
}
svg text{
font-size: 50px;
}

44
resources/css/style.css

@ -0,0 +1,44 @@ @@ -0,0 +1,44 @@
.tile{
border: 1px solid black;
width: 30px;
height: 30px;
position: absolute;
}
svg polygon,
svg rect{
fill:rgb(0,255,255);
stroke-width:5;
stroke:rgb(0,0,0);
}
svg text{
font-size: 50px;
}
.menu{
position: fixed;
bottom: 40px;
}
.menu .tile{
background: white;
font-size: 12px;
}
.menu .tile .list{
display: none;
}
.menu .tile:hover .list{
position: fixed;
right: 0;
height: 30px;
left: 0;
bottom: 40px;
display: inline-block;
}
.menu .tile .list .tile{
position: relative;
}

2
resources/js/jquery-3.5.1.slim.min.js vendored

File diff suppressed because one or more lines are too long

1
resources/js/plan.js

@ -0,0 +1 @@ @@ -0,0 +1 @@
alert('hallo!');

0
svg/DiagNE.svg → resources/svg/DiagNE.svg

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 105 B

0
svg/DiagSW.svg → resources/svg/DiagSW.svg

Before

Width:  |  Height:  |  Size: 105 B

After

Width:  |  Height:  |  Size: 105 B

0
svg/DiagWN.svg → resources/svg/DiagWN.svg

Before

Width:  |  Height:  |  Size: 101 B

After

Width:  |  Height:  |  Size: 101 B

0
svg/EndE.svg → resources/svg/EndE.svg

Before

Width:  |  Height:  |  Size: 107 B

After

Width:  |  Height:  |  Size: 107 B

0
svg/EndW.svg → resources/svg/EndW.svg

Before

Width:  |  Height:  |  Size: 106 B

After

Width:  |  Height:  |  Size: 106 B

0
svg/StraightH.svg → resources/svg/StraightH.svg

Before

Width:  |  Height:  |  Size: 107 B

After

Width:  |  Height:  |  Size: 107 B

0
svg/StraightV.svg → resources/svg/StraightV.svg

Before

Width:  |  Height:  |  Size: 107 B

After

Width:  |  Height:  |  Size: 107 B

0
svg/TurnoutSE.svg → resources/svg/TurnoutSE.svg

Before

Width:  |  Height:  |  Size: 156 B

After

Width:  |  Height:  |  Size: 156 B

0
svg/TurnoutSW.svg → resources/svg/TurnoutSW.svg

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

0
svg/TurnoutWS.svg → resources/svg/TurnoutWS.svg

Before

Width:  |  Height:  |  Size: 152 B

After

Width:  |  Height:  |  Size: 152 B

16
src/main/java/de/srsoftware/web4rail/Application.java

@ -1,5 +1,6 @@ @@ -1,5 +1,6 @@
package de.srsoftware.web4rail;
import java.awt.Desktop;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
@ -30,9 +31,11 @@ import de.srsoftware.web4rail.tiles.TurnoutWS; @@ -30,9 +31,11 @@ import de.srsoftware.web4rail.tiles.TurnoutWS;
public class Application {
private static Plan plan;
private static final Logger LOG = LoggerFactory.getLogger(Application.class);
private static final String PORT = "port";
public static void main(String[] args) throws IOException {
Configuration config = new Configuration(Configuration.dir("Web4Rail")+"/app.config");
Configuration config = new Configuration(Configuration.dir("Web4Rail")+"/app.config");
LOG.debug("Config: {}",config);
plan = new Plan();
plan.set(0, 0, new StraightH());
plan.set(1, 0, new DiagSW());
@ -44,18 +47,20 @@ public class Application { @@ -44,18 +47,20 @@ public class Application {
plan.set(3, 0, new TurnoutSW());
plan.set(2, 0, new EndE());
plan.set(4, 1, new EndW());
InetSocketAddress addr = new InetSocketAddress(config.getOrAdd("port", 8080));
InetSocketAddress addr = new InetSocketAddress(config.getOrAdd(PORT, 8080));
HttpServer server = HttpServer.create(addr, 0);
server.createContext("/plan", client -> sendPlan(client));
server.createContext("/css" , client -> sendFile(client));
server.createContext("/svg" , client -> sendFile(client));
server.createContext("/js" , client -> sendFile(client));
server.setExecutor(java.util.concurrent.Executors.newCachedThreadPool());
server.start();
Desktop.getDesktop().browse(URI.create("http://localhost:"+config.getInt(PORT)+"/plan"));
}
private static void sendFile(HttpExchange client) throws IOException {
URI uri = client.getRequestURI();
File file = new File(System.getProperty("user.dir")+uri);
File file = new File(System.getProperty("user.dir")+"/resources"+uri);
LOG.debug("requesting file: {}",file);
if (file.exists()) {
client.sendResponseHeaders(200, file.length());
OutputStream out = client.getResponseBody();
@ -70,6 +75,7 @@ public class Application { @@ -70,6 +75,7 @@ public class Application {
private static void sendError(HttpExchange client, int code, String msg) throws IOException {
client.sendResponseHeaders(code, msg.length());
LOG.error(msg);
OutputStream out = client.getResponseBody();
out.write(msg.getBytes(StandardCharsets.UTF_8));
out.close();
@ -80,7 +86,7 @@ public class Application { @@ -80,7 +86,7 @@ public class Application {
}
private static void sendPlan(HttpExchange client) throws IOException {
send(client,plan.html().style("css/style.css"));
send(client,plan.html().style("css/style.css").js("jquery-3.5.1.slim.min.js").js("js/plan.js"));
}
private static void send(HttpExchange client, Page response) throws IOException {

9
src/main/java/de/srsoftware/web4rail/Page.java

@ -9,6 +9,7 @@ import de.srsoftware.tools.Tag; @@ -9,6 +9,7 @@ import de.srsoftware.tools.Tag;
public class Page {
private StringBuffer buf;
private Vector<String> cssFiles = new Vector<String>();
private Vector<String> jsFiles = new Vector<String>();
public Page() {
buf = new StringBuffer();
@ -26,6 +27,9 @@ public class Page { @@ -26,6 +27,9 @@ public class Page {
for (String cssFile : cssFiles) {
sb.append("\t\t"+new Tag("link").attr("rel", "stylesheet").attr("type", "text/css").attr("href", cssFile)+"\n");
}
for (String jsFile : jsFiles) {
sb.append("\t\t"+new Tag("script").attr("type", "text/javascript").attr("src", jsFile).content("")+"\n");
}
return sb.append("\t</head>\n");
}
@ -50,4 +54,9 @@ public class Page { @@ -50,4 +54,9 @@ public class Page {
cssFiles.add(cssPath);
return this;
}
public Page js(String jsPath) {
jsFiles.add(jsPath);
return this;
}
}

16
src/main/java/de/srsoftware/web4rail/Plan.java

@ -4,6 +4,9 @@ import java.io.IOException; @@ -4,6 +4,9 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map.Entry;
import de.srsoftware.tools.Tag;
import de.srsoftware.web4rail.tiles.StraightH;
import de.srsoftware.web4rail.tiles.StraightV;
import de.srsoftware.web4rail.tiles.Tile;
public class Plan {
@ -36,6 +39,19 @@ public class Plan { @@ -36,6 +39,19 @@ public class Plan {
page.append("\t\t"+tile.html()+"\n");
}
}
page.append(menu());
return page;
}
private Tag menu() throws IOException {
Tag menu = new Tag("div").clazz("menu");
Tag tileMenu = new Tag("div").clazz("tile").content("Add tile");
StringBuffer tiles = new StringBuffer();
tiles.append(new StraightH().html());
tiles.append(new StraightV().html());
new Tag("div").clazz("list").content(tiles.toString()).addTo(tileMenu).addTo(menu);
return menu;
}
}

3
src/main/java/de/srsoftware/web4rail/tiles/Tile.java

@ -31,10 +31,11 @@ public abstract class Tile { @@ -31,10 +31,11 @@ public abstract class Tile {
.id("tile-"+x+"-"+y)
.clazz(classes)
.size(100,100)
.attr("name", getClass().getSimpleName())
.attr("viewbox", "0 0 100 100")
.style("left: "+(30*x)+"px; top: "+(30*y)+"px");
File file = new File(System.getProperty("user.dir")+"/svg/"+getClass().getSimpleName()+".svg");
File file = new File(System.getProperty("user.dir")+"/resources/svg/"+getClass().getSimpleName()+".svg");
if (file.exists()) {
Scanner scanner = new Scanner(file, StandardCharsets.UTF_8);
StringBuffer sb = new StringBuffer();

Loading…
Cancel
Save