From 51f5c2681e0e705d31b76fc24162834449d2f38a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Stephan=20B=C3=B6sch-Plepelits?= <skunk@xover.mud.at>
Date: Mon, 25 Feb 2019 22:14:59 +0100
Subject: [PATCH] memorial: rewrite (unfin)

---
 img/blue_plaque.svg | 104 ++++++++++++++++++++++++++++++++++++++++++++
 img/plaque.svg      | 104 ++++++++++++++++++++++++++++++++++++++++++++
 memorial.json       |  77 ++++++++++++++++++++------------
 3 files changed, 257 insertions(+), 28 deletions(-)
 create mode 100644 img/blue_plaque.svg
 create mode 100644 img/plaque.svg

diff --git a/img/blue_plaque.svg b/img/blue_plaque.svg
new file mode 100644
index 000000000..ffc85b754
--- /dev/null
+++ b/img/blue_plaque.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="15"
+   height="15"
+   viewBox="0 0 15 15"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="blue_plaque.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="35.4"
+     inkscape:cx="7.5"
+     inkscape:cy="7.5"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1366"
+     inkscape:window-height="712"
+     inkscape:window-x="0"
+     inkscape:window-y="28"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title></dc:title>
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#0000ff;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4136"
+       width="10"
+       height="14"
+       x="2.5"
+       y="0.5" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4157"
+       width="10"
+       height="9"
+       x="2.5"
+       y="3" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#0000ff;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4157-3"
+       width="5"
+       height="14"
+       x="5"
+       y="0.5" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:2.65248108px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.4973402;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="2.9953218"
+       y="6.4278626"
+       id="text4520"
+       transform="scale(0.99468037,1.0053481)"><tspan
+         sodipodi:role="line"
+         id="tspan4518"
+         x="2.9953218"
+         y="6.4278626"
+         style="stroke-width:0.4973402">Ab Cde</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:1.60000002px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="2.2923846"
+       y="9.1671877"
+       id="text4524"><tspan
+         sodipodi:role="line"
+         id="tspan4522"
+         x="2.2923846"
+         y="9.1671877">Lorem ipsum</tspan></text>
+  </g>
+</svg>
diff --git a/img/plaque.svg b/img/plaque.svg
new file mode 100644
index 000000000..5aa441c3d
--- /dev/null
+++ b/img/plaque.svg
@@ -0,0 +1,104 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="15"
+   height="15"
+   viewBox="0 0 15 15"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.92.3 (2405546, 2018-03-11)"
+   sodipodi:docname="plaque.svg">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="35.4"
+     inkscape:cx="7.5"
+     inkscape:cy="7.5"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="false"
+     units="px"
+     fit-margin-top="0"
+     fit-margin-left="0"
+     fit-margin-right="0"
+     fit-margin-bottom="0"
+     inkscape:window-width="1366"
+     inkscape:window-height="712"
+     inkscape:window-x="0"
+     inkscape:window-y="28"
+     inkscape:window-maximized="1" />
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Ebene 1"
+     inkscape:groupmode="layer"
+     id="layer1">
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:none;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:1;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4136"
+       width="10"
+       height="14"
+       x="2.5"
+       y="0.5" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4157"
+       width="10"
+       height="9"
+       x="2.5"
+       y="3" />
+    <rect
+       style="color:#000000;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:#000000;stroke-width:0;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       id="rect4157-3"
+       width="5"
+       height="14"
+       x="5"
+       y="0.5" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:2.65248108px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.4973402;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+       x="2.9953218"
+       y="6.4278626"
+       id="text4520"
+       transform="scale(0.99468037,1.0053481)"><tspan
+         sodipodi:role="line"
+         id="tspan4518"
+         x="2.9953218"
+         y="6.4278626"
+         style="stroke-width:0.4973402">Ab Cde</tspan></text>
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-weight:normal;font-size:1.60000002px;line-height:125%;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="2.2923846"
+       y="9.1671877"
+       id="text4524"><tspan
+         sodipodi:role="line"
+         id="tspan4522"
+         x="2.2923846"
+         y="9.1671877">Lorem ipsum</tspan></text>
+  </g>
+</svg>
diff --git a/memorial.json b/memorial.json
index bd5b94270..5197f055c 100644
--- a/memorial.json
+++ b/memorial.json
@@ -25,14 +25,33 @@
     },
     "feature": {
         "pre": [
-            "{% set value = tags.historic %}",
-            "{% if tags.historic == 'memorial' and tags.memorial %}",
-            "  {% set value = tags.historic ~ ' memorial=' ~ tags.memorial %}",
-            "{% elseif tags.historic == 'memorial' and attribute(tags, 'memorial:type') %}",
-            "  {% set value = tags.historic ~ ' memorial=' ~ attribute(tags, 'memorial:type') %}",
+            "{% set memtype = 'yes' %}",
+            "{% if tags.historic == 'monument' and tags.monument == 'war_monument' %}",
+            "  {% set memtype = 'war_memorial' %}",
+            "{% elseif tags.memorial %}",
+            "  {% set memtype = tags.memorial %}",
+            "{% elseif attribute(tags, 'memorial:type') %}",
+            "  {% set memtype = attribute(tags, 'memorial:type') %}",
+            "{% elseif attribute(tags, 'monument') %}",
+            "  {% set memtype = attribute(tags, 'monument') %}",
             "{% endif %}"
         ],
-        "description": "{{ tagTransList('historic', value) }}",
+        "description": [
+            "{% if tags.historic == 'monument' and tags.monument == 'war_monument' %}",
+            "  {{ tagTrans('historic', 'monument monument=war_monument') }}",
+            "{% elseif memtype == 'yes' %}",
+            "  {{ tagTrans('historic', tags.historic) }}",
+            "{% else %}",
+            "  {{ tagTrans('historic', 'memorial memorial=' ~ memtype) }}",
+            "{% endif %}",
+            "",
+            "{% if tags.historic == 'monument' %}",
+            "  ({{ tagTrans('historic', 'monument') }})",
+            "{% endif %}"
+        ],
+        "priority": [
+            "{% if tags.historic == 'monument' %}0[% else %}1{% endif %}"
+        ],
         "body": [
             "<ul>",
             "{% if tags.inscription %}",
@@ -73,7 +92,7 @@
             "{% endif %}",
             "</ul>"
         ],
-        "markerSign": "{{ const[value].sign|raw }}"
+        "markerSign": "{% if memtype == 'yes' %}<img data-src=\"maki:monument\">{% else %}{{ const[memtype].sign|raw }}{% endif %}"
     },
     "info": [
         "<table>",
@@ -87,44 +106,46 @@
         "{% endfor %}",
         "{% if 14 <= map.zoom %}",
         "  <tr>",
-        "    <td>{{ markerCircle({})|raw }}<div class='sign'></div></td>",
+        "    <td>{{ markerCircle({})|raw }}<div class='sign'><img src='maki:monument'></div></td>",
         "    <td>{{ trans('other') }}</td>",
         "  </tr>",
         "{% endif %}",
         "</table>"
     ],
-    "const": {
+    "const1": {
+        "yes": {
+            "sign": "<img data-src='maki:monument?size=15'>",
+            "zoom": 11
+        },
         "memorial": {
-            "sign": "<span  style='position: relative; top: -2px;'><img src='maki:monument?size=11'></span>",
+            "sign": "<span style='position: relative; top: -2px;'><img src='maki:monument?size=11'></span>",
+            "zoom": 14
+        }
+    },
+    "const": {
+        "plaque": {
+            "sign": "<img data-src='img/plaque.svg'>",
             "zoom": 14
         },
-        "memorial memorial=plaque": {
+        "blue_plaque": {
+            "sign": "<img data-src='img/blue_plaque.svg'>",
+            "zoom": 14
+        },
+        "statue": {
             "sign": "",
             "zoom": 14
         },
-        "monument": {
-            "sign": "<img data-src='maki:monument?size=15'>",
-            "zoom": 11
+        "war_memorial": {
+            "sign": "<img data-src='maki:horse-riding'>",
+            "zoom": 14
         }
     },
     "filter": {
         "type": {
             "name": "{{ trans('filter:type') }}",
+            "show_default": "true",
             "type": "select",
-            "values": {
-                "monument": {
-                    "name": "{{ tagTrans('historic', 'monument') }}",
-                    "query": "nwr[historic=monument]"
-                },
-                "memorial": {
-                    "name": "{{ tagTrans('historic', 'memorial') }}",
-                    "query": "nwr[historic=memorial]"
-                },
-                "stolperstein": {
-                    "name": "{{ tagTrans('historic', 'memorial memorial=stolperstein') }}",
-                    "query": "(nwr[memorial=stolperstein];nwr[\"memorial:type\"=stolperstein];)"
-                }
-            }
+            "values": "{% for k, v in const %}<option value='{{ k }}' query='(nwr[memorial=\"{{ k }}\"];nwr[\"memorial:type\"=\"{{ k }}\"];nwr[\"monument\"=\"{{ k }}\"];{% if k == 'war_memorial' %}nwr[\"monument\"=\"war_monument\"];{% endif %})'>{{ tagTrans('historic', 'memorial memorial=' ~ k) }}</option>{% endfor %}"
         },
         "conflict": {
             "key": "memorial:conflict",