Merge master
|
@ -100,7 +100,7 @@ export default class LayerConfig {
|
||||||
}
|
}
|
||||||
|
|
||||||
this.tagRenderings = trs(json.tagRenderings).concat(roamingRenderings);
|
this.tagRenderings = trs(json.tagRenderings).concat(roamingRenderings);
|
||||||
this.titleIcons = trs(json.titleIcons ?? ["wikipedialink","osmlink", "sharelink"]);
|
this.titleIcons = trs(json.titleIcons ?? ["phonelink","wikipedialink","osmlink", "sharelink"]);
|
||||||
|
|
||||||
|
|
||||||
function tr(key, deflt) {
|
function tr(key, deflt) {
|
||||||
|
|
|
@ -121,6 +121,12 @@ export interface LayerConfigJson {
|
||||||
/**
|
/**
|
||||||
* All the tag renderings.
|
* All the tag renderings.
|
||||||
* A tag rendering is a block that either shows the known value or asks a question.
|
* A tag rendering is a block that either shows the known value or asks a question.
|
||||||
|
*
|
||||||
|
* Refer to the class `TagRenderingConfigJson` to see the possibilities.
|
||||||
|
*
|
||||||
|
* Note that we can also use a string here - where the string refers to a tagrenering defined in `assets/questions/questions.json`,
|
||||||
|
* where a few very general questions are defined e.g. website, phone number, ...
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
tagRenderings?: (string | TagRenderingConfigJson) []
|
tagRenderings?: (string | TagRenderingConfigJson) []
|
||||||
}
|
}
|
|
@ -161,7 +161,7 @@ export class InitUiElements {
|
||||||
if (feature === undefined) {
|
if (feature === undefined) {
|
||||||
State.state.fullScreenMessage.setData(undefined);
|
State.state.fullScreenMessage.setData(undefined);
|
||||||
}
|
}
|
||||||
if (feature?.properties === undefined) {
|
if (feature?.properties === undefined) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
const data = feature.properties;
|
const data = feature.properties;
|
||||||
|
@ -175,7 +175,7 @@ export class InitUiElements {
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
if(layer.title === null && layer.tagRenderings.length === 0){
|
if((layer.title ?? null) === null && layer.tagRenderings.length === 0){
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -230,7 +230,6 @@ export class InitUiElements {
|
||||||
});
|
});
|
||||||
const marker = L.marker([home.lat, home.lon], {icon: icon})
|
const marker = L.marker([home.lat, home.lon], {icon: icon})
|
||||||
marker.addTo(State.state.bm.map)
|
marker.addTo(State.state.bm.map)
|
||||||
console.log(marker)
|
|
||||||
});
|
});
|
||||||
|
|
||||||
new GeoLocationHandler()
|
new GeoLocationHandler()
|
||||||
|
|
|
@ -184,7 +184,9 @@ export class FilteredLayer {
|
||||||
if (feature.properties.id.replace(/\//g, "_") === Hash.Get().data) {
|
if (feature.properties.id.replace(/\//g, "_") === Hash.Get().data) {
|
||||||
const center = GeoOperations.centerpoint(feature).geometry.coordinates;
|
const center = GeoOperations.centerpoint(feature).geometry.coordinates;
|
||||||
popup.setLatLng({lat: center[1], lng: center[0]});
|
popup.setLatLng({lat: center[1], lng: center[0]});
|
||||||
popup.openOn(State.state.bm.map)
|
popup.openOn(State.state.bm.map);
|
||||||
|
State.state.selectedElement.setData(feature);
|
||||||
|
uiElement.Update();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -42,6 +42,11 @@ export class Basemap {
|
||||||
layers: [this._previousLayer],
|
layers: [this._previousLayer],
|
||||||
});
|
});
|
||||||
|
|
||||||
|
L.control.scale(
|
||||||
|
{
|
||||||
|
position: 'topright',
|
||||||
|
}
|
||||||
|
).addTo(this.map)
|
||||||
|
|
||||||
// Users are not allowed to zoom to the 'copies' on the left and the right, stuff goes wrong then
|
// Users are not allowed to zoom to the 'copies' on the left and the right, stuff goes wrong then
|
||||||
// We give a bit of leeway for people on the edges
|
// We give a bit of leeway for people on the edges
|
||||||
|
|
|
@ -17,6 +17,14 @@ export class GeoLocationHandler extends UIElement {
|
||||||
constructor() {
|
constructor() {
|
||||||
super(undefined);
|
super(undefined);
|
||||||
this._hasLocation = State.state.currentGPSLocation.map((location) => location !== undefined);
|
this._hasLocation = State.state.currentGPSLocation.map((location) => location !== undefined);
|
||||||
|
var self = this;
|
||||||
|
import("../../vendor/Leaflet.AccuratePosition.js").then(() => {
|
||||||
|
self.init();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public init() {
|
||||||
this.ListenTo(this._hasLocation);
|
this.ListenTo(this._hasLocation);
|
||||||
this.ListenTo(this._isActive);
|
this.ListenTo(this._isActive);
|
||||||
this.ListenTo(this._permission);
|
this.ListenTo(this._permission);
|
||||||
|
@ -25,14 +33,10 @@ export class GeoLocationHandler extends UIElement {
|
||||||
|
|
||||||
|
|
||||||
function onAccuratePositionProgress(e) {
|
function onAccuratePositionProgress(e) {
|
||||||
console.log(e.accuracy);
|
|
||||||
console.log(e.latlng);
|
|
||||||
State.state.currentGPSLocation.setData({latlng: e.latlng, accuracy: e.accuracy});
|
State.state.currentGPSLocation.setData({latlng: e.latlng, accuracy: e.accuracy});
|
||||||
}
|
}
|
||||||
|
|
||||||
function onAccuratePositionFound(e) {
|
function onAccuratePositionFound(e) {
|
||||||
console.log(e.accuracy);
|
|
||||||
console.log(e.latlng);
|
|
||||||
State.state.currentGPSLocation.setData({latlng: e.latlng, accuracy: e.accuracy});
|
State.state.currentGPSLocation.setData({latlng: e.latlng, accuracy: e.accuracy});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -106,7 +110,12 @@ export class GeoLocationHandler extends UIElement {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
if (State.state.currentGPSLocation.data !== undefined) {
|
if (State.state.currentGPSLocation.data !== undefined) {
|
||||||
map.flyTo(State.state.currentGPSLocation.data.latlng, 18);
|
State.state.bm.map.flyTo(
|
||||||
|
State.state.currentGPSLocation.data.latlng, 16,
|
||||||
|
{
|
||||||
|
duration: 0.25,
|
||||||
|
}
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
import escapeHtml from "escape-html";
|
||||||
import {OsmConnection, UserDetails} from "./OsmConnection";
|
import {OsmConnection, UserDetails} from "./OsmConnection";
|
||||||
import {UIEventSource} from "../UIEventSource";
|
import {UIEventSource} from "../UIEventSource";
|
||||||
import {ElementStorage} from "../ElementStorage";
|
import {ElementStorage} from "../ElementStorage";
|
||||||
|
@ -105,7 +106,7 @@ export class ChangesetHandler {
|
||||||
`<tag k="theme" v="${layout.id}"/>`,
|
`<tag k="theme" v="${layout.id}"/>`,
|
||||||
`<tag k="language" v="${Locale.language.data}"/>`,
|
`<tag k="language" v="${Locale.language.data}"/>`,
|
||||||
surveySource,
|
surveySource,
|
||||||
layout.maintainer !== undefined ? `<tag k="theme-creator" v="${layout.maintainer}"/>` : "",
|
layout.maintainer !== undefined ? `<tag k="theme-creator" v="${escapeHtml(layout.maintainer)}"/>` : "",
|
||||||
`</changeset></osm>`].join("")
|
`</changeset></osm>`].join("")
|
||||||
}, function (err, response) {
|
}, function (err, response) {
|
||||||
if (response === undefined) {
|
if (response === undefined) {
|
||||||
|
|
9
Svg.ts
|
@ -14,7 +14,7 @@ export default class Svg {
|
||||||
public static addSmall_svg() { return new FixedUiElement(Svg.addSmall);}
|
public static addSmall_svg() { return new FixedUiElement(Svg.addSmall);}
|
||||||
public static addSmall_ui() { return new FixedUiElement(Svg.addSmall_img);}
|
public static addSmall_ui() { return new FixedUiElement(Svg.addSmall_img);}
|
||||||
|
|
||||||
public static ampersand = "e <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=\"275.9444\" height=\"243.66881\" version=\"1.1\" id=\"svg6\" sodipodi:docname=\"Ampersand.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"> <metadata id=\"metadata12\"> <rdf:RDF> <cc:Work rdf:about=\"\"> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /> </cc:Work> </rdf:RDF> </metadata> <defs id=\"defs10\" /> <sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1680\" inkscape:window-height=\"1013\" id=\"namedview8\" showgrid=\"false\" inkscape:zoom=\"0.5503876\" inkscape:cx=\"319.5\" inkscape:cy=\"120\" inkscape:window-x=\"1560\" inkscape:window-y=\"0\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg6\" /> <path d=\"M 69.184621,88.05971 C 65.398038,84.28878 45.405425,62.369149 47.716835,38.654524 49.990823,15.323837 73.884556,1.2473955 95.97427,0.11693352 c 20.36977,-1.042443 43.85918,4.70805898 53.3103,24.39507048 10.11956,21.079395 -1.28925,45.999521 -18.03685,58.640336 -5.82684,4.398004 -7.18682,4.599329 -15.78717,8.35864 -12.3926,5.41695 -24.869636,10.70587 -37.591472,15.28724 -26.286247,9.46617 -46.329939,30.90918 -45.609377,60.10938 0.656673,26.61116 24.371436,47.43668 49.951101,51.46486 27.220348,4.28654 49.202778,-0.15657 67.923898,-21.02736 8.04442,-8.96814 24.45293,-23.68334 32.63281,-32.53125 14.48284,-15.66562 21.97669,-28.32038 27.29668,-49.45345 3.60407,-14.31675 -20.5185,-11.01811 -16.28105,-23.06216 25.44722,-2.93304 51.02915,-3.7848 76.5625,-5.66406 4.00323,11.84618 -9.36778,8.3653 -26.72951,23.04671 -19.60573,16.579 -28.72934,30.72561 -45.60418,49.85029 l -11.89837,13.48472 c -8.00837,9.07609 -21.15724,23.50336 -29.33044,32.43076 -17.4629,19.07433 -33.57017,30.64012 -59.50887,35.61559 -27.730664,5.31919 -60.623141,2.30496 -80.151308,-20.4437 C -3.6264102,196.44728 -7.0848351,156.57316 15.462826,132.33729 30.171306,116.52755 38.031184,108.84767 57.724466,100.76314 73.147466,94.43165 97.05575,88.100173 109.29677,82.829346 136.69178,71.033402 137.40896,42.147541 124.50818,21.048935 113.44184,2.9504655 80.908653,4.4216525 74.904904,25.669377 69.689417,44.127381 77.089538,56.651269 88.37226,69.60789 l 96.21768,110.49249 c 11.83509,14.20823 29.6542,37.45695 49.80585,41.07969 13.32763,2.39596 30.53611,-3.5713 39.88214,-12.02915 4.97541,9.00928 -2.24528,16.35839 -7.83854,22.01449 -18.29468,18.50022 -49.85481,14.73994 -70.12946,-0.0122 -12.30082,-8.95026 -20.35382,-15.29947 -31.35277,-27.32693 z\" id=\"path2\" inkscape:connector-curvature=\"0\" /> </svg> "
|
public static ampersand = " <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=\"275.9444\" height=\"243.66881\" version=\"1.1\" id=\"svg6\" sodipodi:docname=\"Ampersand.svg\" inkscape:version=\"0.92.4 (5da689c313, 2019-01-14)\"> <metadata id=\"metadata12\"> <rdf:RDF> <cc:Work rdf:about=\"\"> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /> </cc:Work> </rdf:RDF> </metadata> <defs id=\"defs10\" /> <sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"1680\" inkscape:window-height=\"1013\" id=\"namedview8\" showgrid=\"false\" inkscape:zoom=\"0.5503876\" inkscape:cx=\"319.5\" inkscape:cy=\"120\" inkscape:window-x=\"1560\" inkscape:window-y=\"0\" inkscape:window-maximized=\"1\" inkscape:current-layer=\"svg6\" /> <path d=\"M 69.184621,88.05971 C 65.398038,84.28878 45.405425,62.369149 47.716835,38.654524 49.990823,15.323837 73.884556,1.2473955 95.97427,0.11693352 c 20.36977,-1.042443 43.85918,4.70805898 53.3103,24.39507048 10.11956,21.079395 -1.28925,45.999521 -18.03685,58.640336 -5.82684,4.398004 -7.18682,4.599329 -15.78717,8.35864 -12.3926,5.41695 -24.869636,10.70587 -37.591472,15.28724 -26.286247,9.46617 -46.329939,30.90918 -45.609377,60.10938 0.656673,26.61116 24.371436,47.43668 49.951101,51.46486 27.220348,4.28654 49.202778,-0.15657 67.923898,-21.02736 8.04442,-8.96814 24.45293,-23.68334 32.63281,-32.53125 14.48284,-15.66562 21.97669,-28.32038 27.29668,-49.45345 3.60407,-14.31675 -20.5185,-11.01811 -16.28105,-23.06216 25.44722,-2.93304 51.02915,-3.7848 76.5625,-5.66406 4.00323,11.84618 -9.36778,8.3653 -26.72951,23.04671 -19.60573,16.579 -28.72934,30.72561 -45.60418,49.85029 l -11.89837,13.48472 c -8.00837,9.07609 -21.15724,23.50336 -29.33044,32.43076 -17.4629,19.07433 -33.57017,30.64012 -59.50887,35.61559 -27.730664,5.31919 -60.623141,2.30496 -80.151308,-20.4437 C -3.6264102,196.44728 -7.0848351,156.57316 15.462826,132.33729 30.171306,116.52755 38.031184,108.84767 57.724466,100.76314 73.147466,94.43165 97.05575,88.100173 109.29677,82.829346 136.69178,71.033402 137.40896,42.147541 124.50818,21.048935 113.44184,2.9504655 80.908653,4.4216525 74.904904,25.669377 69.689417,44.127381 77.089538,56.651269 88.37226,69.60789 l 96.21768,110.49249 c 11.83509,14.20823 29.6542,37.45695 49.80585,41.07969 13.32763,2.39596 30.53611,-3.5713 39.88214,-12.02915 4.97541,9.00928 -2.24528,16.35839 -7.83854,22.01449 -18.29468,18.50022 -49.85481,14.73994 -70.12946,-0.0122 -12.30082,-8.95026 -20.35382,-15.29947 -31.35277,-27.32693 z\" id=\"path2\" inkscape:connector-curvature=\"0\" /> </svg> "
|
||||||
public static ampersand_img = Img.AsImageElement(Svg.ampersand)
|
public static ampersand_img = Img.AsImageElement(Svg.ampersand)
|
||||||
public static ampersand_svg() { return new FixedUiElement(Svg.ampersand);}
|
public static ampersand_svg() { return new FixedUiElement(Svg.ampersand);}
|
||||||
public static ampersand_ui() { return new FixedUiElement(Svg.ampersand_img);}
|
public static ampersand_ui() { return new FixedUiElement(Svg.ampersand_img);}
|
||||||
|
@ -174,6 +174,11 @@ export default class Svg {
|
||||||
public static pencil_svg() { return new FixedUiElement(Svg.pencil);}
|
public static pencil_svg() { return new FixedUiElement(Svg.pencil);}
|
||||||
public static pencil_ui() { return new FixedUiElement(Svg.pencil_img);}
|
public static pencil_ui() { return new FixedUiElement(Svg.pencil_img);}
|
||||||
|
|
||||||
|
public static phone = " <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\" viewBox=\"0 -256 1792 1792\" id=\"svg3013\" version=\"1.1\" inkscape:version=\"0.48.3.1 r9886\" width=\"100%\" height=\"100%\" sodipodi:docname=\"phone_font_awesome.svg\"> <metadata id=\"metadata3023\"> <rdf:RDF> <cc:Work rdf:about=\"\"> <dc:format>image/svg+xml</dc:format> <dc:type rdf:resource=\"http://purl.org/dc/dcmitype/StillImage\" /> </cc:Work> </rdf:RDF> </metadata> <defs id=\"defs3021\" /> <sodipodi:namedview pagecolor=\"#ffffff\" bordercolor=\"#666666\" borderopacity=\"1\" objecttolerance=\"10\" gridtolerance=\"10\" guidetolerance=\"10\" inkscape:pageopacity=\"0\" inkscape:pageshadow=\"2\" inkscape:window-width=\"640\" inkscape:window-height=\"480\" id=\"namedview3019\" showgrid=\"false\" inkscape:zoom=\"0.13169643\" inkscape:cx=\"896\" inkscape:cy=\"896\" inkscape:window-x=\"0\" inkscape:window-y=\"25\" inkscape:window-maximized=\"0\" inkscape:current-layer=\"svg3013\" /> <g transform=\"matrix(1,0,0,-1,159.45763,1293.0169)\" id=\"g3015\"> <path d=\"m 1408,296 q 0,-27 -10,-70.5 Q 1388,182 1377,157 1356,107 1255,51 1161,0 1069,0 1042,0 1016.5,3.5 991,7 959,16 927,25 911.5,30.5 896,36 856,51 816,66 807,69 709,104 632,152 504,231 367.5,367.5 231,504 152,632 104,709 69,807 66,816 51,856 36,896 30.5,911.5 25,927 16,959 7,991 3.5,1016.5 0,1042 0,1069 q 0,92 51,186 56,101 106,122 25,11 68.5,21 43.5,10 70.5,10 14,0 21,-3 18,-6 53,-76 11,-19 30,-54 19,-35 35,-63.5 16,-28.5 31,-53.5 3,-4 17.5,-25 14.5,-21 21.5,-35.5 7,-14.5 7,-28.5 0,-20 -28.5,-50 -28.5,-30 -62,-55 -33.5,-25 -62,-53 -28.5,-28 -28.5,-46 0,-9 5,-22.5 5,-13.5 8.5,-20.5 3.5,-7 14,-24 10.5,-17 11.5,-19 76,-137 174,-235 98,-98 235,-174 2,-1 19,-11.5 17,-10.5 24,-14 7,-3.5 20.5,-8.5 13.5,-5 22.5,-5 18,0 46,28.5 28,28.5 53,62 25,33.5 55,62 30,28.5 50,28.5 14,0 28.5,-7 14.5,-7 35.5,-21.5 21,-14.5 25,-17.5 25,-15 53.5,-31 28.5,-16 63.5,-35 35,-19 54,-30 70,-35 76,-53 3,-7 3,-21 z\" id=\"path3017\" inkscape:connector-curvature=\"0\" style=\"fill:currentColor\" /> </g> </svg> "
|
||||||
|
public static phone_img = Img.AsImageElement(Svg.phone)
|
||||||
|
public static phone_svg() { return new FixedUiElement(Svg.phone);}
|
||||||
|
public static phone_ui() { return new FixedUiElement(Svg.phone_img);}
|
||||||
|
|
||||||
public static pop_out = " <!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon --> <!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"> <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\" enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\"> <metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata> <g><g><path d=\"M485,379.5l130.6,130.6l245.8-245.8l126.9,126.9l0.2-379L607.1,10l123.8,123.7L485,379.5L485,379.5z M986.4,546.3l-94.1-95.4l1.7,441.3l-784.7,0.4l0.8-782.7l438.9-2l-98-98H108C53.9,10,10,54,10,108v784c0,54.1,43.9,98,98,98h784c54.1,0,98-43.9,98-98L986.4,546.3z\"/></g></g> </svg>"
|
public static pop_out = " <!-- Svg Vector Icons : http://www.onlinewebfonts.com/icon --> <!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"> <svg version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" x=\"0px\" y=\"0px\" viewBox=\"0 0 1000 1000\" enable-background=\"new 0 0 1000 1000\" xml:space=\"preserve\"> <metadata> Svg Vector Icons : http://www.onlinewebfonts.com/icon </metadata> <g><g><path d=\"M485,379.5l130.6,130.6l245.8-245.8l126.9,126.9l0.2-379L607.1,10l123.8,123.7L485,379.5L485,379.5z M986.4,546.3l-94.1-95.4l1.7,441.3l-784.7,0.4l0.8-782.7l438.9-2l-98-98H108C53.9,10,10,54,10,108v784c0,54.1,43.9,98,98,98h784c54.1,0,98-43.9,98-98L986.4,546.3z\"/></g></g> </svg>"
|
||||||
public static pop_out_img = Img.AsImageElement(Svg.pop_out)
|
public static pop_out_img = Img.AsImageElement(Svg.pop_out)
|
||||||
public static pop_out_svg() { return new FixedUiElement(Svg.pop_out);}
|
public static pop_out_svg() { return new FixedUiElement(Svg.pop_out);}
|
||||||
|
@ -219,4 +224,4 @@ export default class Svg {
|
||||||
public static wikipedia_svg() { return new FixedUiElement(Svg.wikipedia);}
|
public static wikipedia_svg() { return new FixedUiElement(Svg.wikipedia);}
|
||||||
public static wikipedia_ui() { return new FixedUiElement(Svg.wikipedia_img);}
|
public static wikipedia_ui() { return new FixedUiElement(Svg.wikipedia_img);}
|
||||||
|
|
||||||
public static All = {"add.svg": Svg.add,"addSmall.svg": Svg.addSmall,"ampersand.svg": Svg.ampersand,"arrow-left-smooth.svg": Svg.arrow_left_smooth,"arrow-right-smooth.svg": Svg.arrow_right_smooth,"bug.svg": Svg.bug,"camera-plus.svg": Svg.camera_plus,"checkmark.svg": Svg.checkmark,"close.svg": Svg.close,"compass.svg": Svg.compass,"crosshair-blue-center.svg": Svg.crosshair_blue_center,"crosshair-blue.svg": Svg.crosshair_blue,"crosshair.svg": Svg.crosshair,"delete_icon.svg": Svg.delete_icon,"direction.svg": Svg.direction,"direction_gradient.svg": Svg.direction_gradient,"down.svg": Svg.down,"envelope.svg": Svg.envelope,"floppy.svg": Svg.floppy,"gear.svg": Svg.gear,"help.svg": Svg.help,"home.svg": Svg.home,"home_white_bg.svg": Svg.home_white_bg,"josm_logo.svg": Svg.josm_logo,"layers.svg": Svg.layers,"layersAdd.svg": Svg.layersAdd,"logo.svg": Svg.logo,"logout.svg": Svg.logout,"mapillary.svg": Svg.mapillary,"no_checkmark.svg": Svg.no_checkmark,"or.svg": Svg.or,"osm-logo-us.svg": Svg.osm_logo_us,"osm-logo.svg": Svg.osm_logo,"pencil.svg": Svg.pencil,"pop-out.svg": Svg.pop_out,"reload.svg": Svg.reload,"search.svg": Svg.search,"share.svg": Svg.share,"star.svg": Svg.star,"statistics.svg": Svg.statistics,"up.svg": Svg.up,"wikimedia-commons-white.svg": Svg.wikimedia_commons_white,"wikipedia.svg": Svg.wikipedia};}
|
public static All = {"add.svg": Svg.add,"addSmall.svg": Svg.addSmall,"ampersand.svg": Svg.ampersand,"arrow-left-smooth.svg": Svg.arrow_left_smooth,"arrow-right-smooth.svg": Svg.arrow_right_smooth,"bug.svg": Svg.bug,"camera-plus.svg": Svg.camera_plus,"checkmark.svg": Svg.checkmark,"close.svg": Svg.close,"compass.svg": Svg.compass,"crosshair-blue-center.svg": Svg.crosshair_blue_center,"crosshair-blue.svg": Svg.crosshair_blue,"crosshair.svg": Svg.crosshair,"delete_icon.svg": Svg.delete_icon,"direction.svg": Svg.direction,"direction_gradient.svg": Svg.direction_gradient,"down.svg": Svg.down,"envelope.svg": Svg.envelope,"floppy.svg": Svg.floppy,"gear.svg": Svg.gear,"help.svg": Svg.help,"home.svg": Svg.home,"home_white_bg.svg": Svg.home_white_bg,"josm_logo.svg": Svg.josm_logo,"layers.svg": Svg.layers,"layersAdd.svg": Svg.layersAdd,"logo.svg": Svg.logo,"logout.svg": Svg.logout,"mapillary.svg": Svg.mapillary,"no_checkmark.svg": Svg.no_checkmark,"or.svg": Svg.or,"osm-logo-us.svg": Svg.osm_logo_us,"osm-logo.svg": Svg.osm_logo,"pencil.svg": Svg.pencil,"phone.svg": Svg.phone,"pop-out.svg": Svg.pop_out,"reload.svg": Svg.reload,"search.svg": Svg.search,"share.svg": Svg.share,"star.svg": Svg.star,"statistics.svg": Svg.statistics,"up.svg": Svg.up,"wikimedia-commons-white.svg": Svg.wikimedia_commons_white,"wikipedia.svg": Svg.wikipedia};}
|
||||||
|
|
|
@ -45,10 +45,13 @@ export class FullScreenMessageBox extends UIElement {
|
||||||
return "";
|
return "";
|
||||||
}
|
}
|
||||||
this._content = State.state.fullScreenMessage.data;
|
this._content = State.state.fullScreenMessage.data;
|
||||||
const uielement = new Combine([this._content]).SetStyle(
|
const innerWrap = new Combine([this._content]).SetStyle(
|
||||||
"display:block;" +
|
"display: block;" +
|
||||||
"padding: 1em;" +
|
"padding: 1em;" +
|
||||||
"padding-bottom:6em;" +
|
"padding-bottom: 6em; "
|
||||||
|
);
|
||||||
|
const uielement = new Combine([innerWrap]).SetStyle(
|
||||||
|
"display:block;" +
|
||||||
`margin-bottom: var(--return-to-the-map-height);` +
|
`margin-bottom: var(--return-to-the-map-height);` +
|
||||||
"box-sizing:border-box;" +
|
"box-sizing:border-box;" +
|
||||||
`height:calc(100vh - var(--return-to-the-map-height));` +
|
`height:calc(100vh - var(--return-to-the-map-height));` +
|
||||||
|
|
|
@ -33,7 +33,7 @@ export default class EditableTagRendering extends UIElement {
|
||||||
this.dumbMode = false;
|
this.dumbMode = false;
|
||||||
|
|
||||||
if (this._configuration.question !== undefined) {
|
if (this._configuration.question !== undefined) {
|
||||||
if (State.state.featureSwitchUserbadge.data) {
|
if (State.state?.featureSwitchUserbadge?.data) {
|
||||||
// 2.3em total width
|
// 2.3em total width
|
||||||
const self = this;
|
const self = this;
|
||||||
this._editButton =
|
this._editButton =
|
||||||
|
|
|
@ -44,9 +44,13 @@ export class FeatureInfoBox extends UIElement {
|
||||||
return new Combine([
|
return new Combine([
|
||||||
new Combine([this._title, this._titleIcons])
|
new Combine([this._title, this._titleIcons])
|
||||||
.SetClass("featureinfobox-titlebar"),
|
.SetClass("featureinfobox-titlebar"),
|
||||||
...this._renderings,
|
new Combine([
|
||||||
this._questionBox,
|
...this._renderings,
|
||||||
]).Render();
|
this._questionBox
|
||||||
|
]
|
||||||
|
).SetClass("featureinfobox-content"),
|
||||||
|
]).SetClass("featureinfobox")
|
||||||
|
.Render();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -109,7 +109,7 @@ export class UserBadge extends UIElement {
|
||||||
|
|
||||||
const userName = new Link(
|
const userName = new Link(
|
||||||
new FixedUiElement(user.name),
|
new FixedUiElement(user.name),
|
||||||
`https://www.openstreetmap.org/user/${user.name}'`,
|
`https://www.openstreetmap.org/user/${user.name}`,
|
||||||
true);
|
true);
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -89,6 +89,14 @@
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"titleIcons": [
|
||||||
|
{
|
||||||
|
"render": "<a href='https://fietsambassade.gent.be/' target='_blank'><img src='./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg'/></a>",
|
||||||
|
"condition": "operator=De Fietsambassade Gent"
|
||||||
|
},
|
||||||
|
"wikipedialink",
|
||||||
|
"osmlink"
|
||||||
|
],
|
||||||
"tagRenderings": [
|
"tagRenderings": [
|
||||||
"images",
|
"images",
|
||||||
{
|
{
|
||||||
|
|
|
@ -12,6 +12,13 @@
|
||||||
"#": "We select all bicycle shops, sport shops (but we try to weed out non-bicycle related shops), and any shop with a bicycle related tag",
|
"#": "We select all bicycle shops, sport shops (but we try to weed out non-bicycle related shops), and any shop with a bicycle related tag",
|
||||||
"or": [
|
"or": [
|
||||||
"shop=bicycle",
|
"shop=bicycle",
|
||||||
|
{
|
||||||
|
"#": "A bicycle rental with a network is something such as villo, bluebike, ... We don't want them",
|
||||||
|
"and": [
|
||||||
|
"amenity=bicycle_rental",
|
||||||
|
"network="
|
||||||
|
]
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"#": "if sport is defined and is not bicycle, it is retrackted; if bicycle retail/repair is marked as 'no', it is retracted too.",
|
"#": "if sport is defined and is not bicycle, it is retrackted; if bicycle retail/repair is marked as 'no', it is retracted too.",
|
||||||
"##": "There will be a few false-positives with this. They will get filtered out by people marking both 'not selling bikes' and 'not repairing bikes'. Furthermore, the OSMers will add a sports-subcategory on it",
|
"##": "There will be a few false-positives with this. They will get filtered out by people marking both 'not selling bikes' and 'not repairing bikes'. Furthermore, the OSMers will add a sports-subcategory on it",
|
||||||
|
@ -68,7 +75,12 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"if": "shop!~bicycle",
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"shop!~bicycle",
|
||||||
|
"shop~*"
|
||||||
|
]
|
||||||
|
},
|
||||||
"then": "Other shop"
|
"then": "Other shop"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
@ -127,6 +139,23 @@
|
||||||
"de": "Fahrradgeschäft"
|
"de": "Fahrradgeschäft"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"if": {
|
||||||
|
"and": [
|
||||||
|
"name~*",
|
||||||
|
{
|
||||||
|
"or": [
|
||||||
|
"service:bicycle:rental=yes",
|
||||||
|
"amenity=bicycle_rental"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"then": {
|
||||||
|
"nl": "Fietsverhuur <i>{name}</i>",
|
||||||
|
"en": "Bicycle rental <i>{name}</i>"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "name~*",
|
"if": "name~*",
|
||||||
"then": {
|
"then": {
|
||||||
|
@ -141,37 +170,34 @@
|
||||||
},
|
},
|
||||||
"titleIcons": [
|
"titleIcons": [
|
||||||
{
|
{
|
||||||
"mappings": [
|
"render": "<a href='https://fietsambassade.gent.be/' target='_blank'><img src='./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg'/></a>",
|
||||||
{
|
"condition": "operator=De Fietsambassade Gent"
|
||||||
"if": "service:bicycle:pump=yes",
|
|
||||||
"then": "<img src='./assets/layers/bike_shop/pump.svg'>"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mappings": [
|
"condition": {
|
||||||
{
|
"or": [
|
||||||
"if": "service:bicycle:diy=yes",
|
"service:bicycle:pump=yes",
|
||||||
"then": "<img src='./assets/layers/bike_shop/tools.svg'>"
|
"service:bicycle:pump=seperate"
|
||||||
}
|
]
|
||||||
]
|
},
|
||||||
|
"render": "<img src='./assets/layers/bike_shop/pump.svg'/>"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"mappings": [
|
"condition": "service:bicycle:diy=yes",
|
||||||
{
|
"render": "<img src='./assets/layers/bike_shop/tools.svg'/>"
|
||||||
"if": {
|
|
||||||
"or": [
|
|
||||||
"service:bicycle:cleaning=yes",
|
|
||||||
"service:bicycle:cleaning=diy"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
"then": "<img src='./assets/layers/bike_shop/bike_cleaning.svg'>"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
"condition": {
|
||||||
|
"or": [
|
||||||
|
"service:bicycle:cleaning=yes",
|
||||||
|
"service:bicycle:cleaning=diy"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"render": "<img src='./assets/layers/bike_shop/bike_cleaning.svg'/>"
|
||||||
|
},
|
||||||
|
"phonelink",
|
||||||
"wikipedialink",
|
"wikipedialink",
|
||||||
"osmlink"
|
"osmlink"
|
||||||
|
|
||||||
],
|
],
|
||||||
"description": {
|
"description": {
|
||||||
"en": "A shop specifically selling bicycles or related items",
|
"en": "A shop specifically selling bicycles or related items",
|
||||||
|
@ -182,6 +208,7 @@
|
||||||
{
|
{
|
||||||
"condition": {
|
"condition": {
|
||||||
"and": [
|
"and": [
|
||||||
|
"shop~*",
|
||||||
"shop!~bicycle",
|
"shop!~bicycle",
|
||||||
"shop!~sports"
|
"shop!~sports"
|
||||||
]
|
]
|
||||||
|
@ -257,6 +284,13 @@
|
||||||
"type": "opening_hours"
|
"type": "opening_hours"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"description",
|
||||||
|
{
|
||||||
|
"render": "Enkel voor {access}",
|
||||||
|
"freeform": {
|
||||||
|
"key": "access"
|
||||||
|
}
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"question": {
|
"question": {
|
||||||
"en": "Does this shop sell bikes?",
|
"en": "Does this shop sell bikes?",
|
||||||
|
@ -439,6 +473,13 @@
|
||||||
"gl": "Esta tenda non ofrece unha bomba de ar para uso de calquera persoa",
|
"gl": "Esta tenda non ofrece unha bomba de ar para uso de calquera persoa",
|
||||||
"de": "Dieses Geschäft bietet für niemanden eine Fahrradpumpe an"
|
"de": "Dieses Geschäft bietet für niemanden eine Fahrradpumpe an"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "service:bicycle:pump=seperate",
|
||||||
|
"then": {
|
||||||
|
"en": "There is bicycle pump, it is shown as a seperate point ",
|
||||||
|
"nl": "Er is een fietspomp, deze is apart aangeduid"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -470,6 +511,13 @@
|
||||||
"gl": "Non hai ferramentas aquí para arranxar a túa propia bicicleta",
|
"gl": "Non hai ferramentas aquí para arranxar a túa propia bicicleta",
|
||||||
"de": "Dieses Geschäft bietet keine Werkzeuge für Heimwerkerreparaturen an"
|
"de": "Dieses Geschäft bietet keine Werkzeuge für Heimwerkerreparaturen an"
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "service:bicycle:diy=only_sold",
|
||||||
|
"then": {
|
||||||
|
"en": "Tools for DIY repair are only available if you bought/hire the bike in the shop",
|
||||||
|
"nl": "Het gereedschap aan om je fiets zelf te herstellen is enkel voor als je de fiets er kocht of huurt"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -521,6 +569,10 @@
|
||||||
"icon": {
|
"icon": {
|
||||||
"render": "./assets/layers/bike_shop/repair_shop.svg",
|
"render": "./assets/layers/bike_shop/repair_shop.svg",
|
||||||
"mappings": [
|
"mappings": [
|
||||||
|
{
|
||||||
|
"if": "operator=De Fietsambassade Gent",
|
||||||
|
"then": "./assets/themes/cyclofix/fietsambassade_gent_logo_small.svg"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"if": "service:bicycle:retail=yes",
|
"if": "service:bicycle:retail=yes",
|
||||||
"then": "./assets/layers/bike_shop/shop.svg"
|
"then": "./assets/layers/bike_shop/shop.svg"
|
||||||
|
|
Before Width: | Height: | Size: 8 KiB After Width: | Height: | Size: 8 KiB |
|
@ -7,7 +7,7 @@
|
||||||
"de": "Mit Fahrrad zusammenhängendes Objekt"
|
"de": "Mit Fahrrad zusammenhängendes Objekt"
|
||||||
},
|
},
|
||||||
"minzoom": 13,
|
"minzoom": 13,
|
||||||
"overpassTags": "theme~cycling|bicycle",
|
"overpassTags": {"or": ["theme~cycling|bicycle", "sport=cycling"]},
|
||||||
"title": {
|
"title": {
|
||||||
"render": {
|
"render": {
|
||||||
"en": "Bike related object",
|
"en": "Bike related object",
|
||||||
|
@ -18,12 +18,13 @@
|
||||||
"mappings": [
|
"mappings": [
|
||||||
{
|
{
|
||||||
"if": "name~*",
|
"if": "name~*",
|
||||||
|
"then":"<i>{name}</i>"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"if": "leisure=track",
|
||||||
"then": {
|
"then": {
|
||||||
"en": "<i>{name}</i>",
|
"nl": "Wielerpiste",
|
||||||
"nl": "<i>{name}</i>",
|
"en": "Cycle track"
|
||||||
"fr": "<i>{name}</i>",
|
|
||||||
"gl": "<i>{name}</i>",
|
|
||||||
"de": "<i>{name}</i>"
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
e<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
<svg
|
<svg
|
||||||
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
||||||
xmlns:cc="http://creativecommons.org/ns#"
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
|
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
59
assets/svg/phone.svg
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<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"
|
||||||
|
viewBox="0 -256 1792 1792"
|
||||||
|
id="svg3013"
|
||||||
|
version="1.1"
|
||||||
|
inkscape:version="0.48.3.1 r9886"
|
||||||
|
width="100%"
|
||||||
|
height="100%"
|
||||||
|
sodipodi:docname="phone_font_awesome.svg">
|
||||||
|
<metadata
|
||||||
|
id="metadata3023">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<defs
|
||||||
|
id="defs3021" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="640"
|
||||||
|
inkscape:window-height="480"
|
||||||
|
id="namedview3019"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="0.13169643"
|
||||||
|
inkscape:cx="896"
|
||||||
|
inkscape:cy="896"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="25"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="svg3013" />
|
||||||
|
<g
|
||||||
|
transform="matrix(1,0,0,-1,159.45763,1293.0169)"
|
||||||
|
id="g3015">
|
||||||
|
<path
|
||||||
|
d="m 1408,296 q 0,-27 -10,-70.5 Q 1388,182 1377,157 1356,107 1255,51 1161,0 1069,0 1042,0 1016.5,3.5 991,7 959,16 927,25 911.5,30.5 896,36 856,51 816,66 807,69 709,104 632,152 504,231 367.5,367.5 231,504 152,632 104,709 69,807 66,816 51,856 36,896 30.5,911.5 25,927 16,959 7,991 3.5,1016.5 0,1042 0,1069 q 0,92 51,186 56,101 106,122 25,11 68.5,21 43.5,10 70.5,10 14,0 21,-3 18,-6 53,-76 11,-19 30,-54 19,-35 35,-63.5 16,-28.5 31,-53.5 3,-4 17.5,-25 14.5,-21 21.5,-35.5 7,-14.5 7,-28.5 0,-20 -28.5,-50 -28.5,-30 -62,-55 -33.5,-25 -62,-53 -28.5,-28 -28.5,-46 0,-9 5,-22.5 5,-13.5 8.5,-20.5 3.5,-7 14,-24 10.5,-17 11.5,-19 76,-137 174,-235 98,-98 235,-174 2,-1 19,-11.5 17,-10.5 24,-14 7,-3.5 20.5,-8.5 13.5,-5 22.5,-5 18,0 46,28.5 28,28.5 53,62 25,33.5 55,62 30,28.5 50,28.5 14,0 28.5,-7 14.5,-7 35.5,-21.5 21,-14.5 25,-17.5 25,-15 53.5,-31 28.5,-16 63.5,-35 35,-19 54,-30 70,-35 76,-53 3,-7 3,-21 z"
|
||||||
|
id="path3017"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
style="fill:currentColor" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
|
@ -12,7 +12,10 @@
|
||||||
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank'><img src='./assets/wikipedia.svg' alt='WP'/></a>",
|
"render": "<a href='https://wikipedia.org/wiki/{wikipedia}' target='_blank'><img src='./assets/wikipedia.svg' alt='WP'/></a>",
|
||||||
"condition": "wikipedia~*"
|
"condition": "wikipedia~*"
|
||||||
},
|
},
|
||||||
|
"phonelink": {
|
||||||
|
"render": "<a href='tel:{phone}' target='_blank'><img src='./assets/svg/phone.svg'/></a>",
|
||||||
|
"condition": "phone~*"
|
||||||
|
},
|
||||||
"sharelink": {
|
"sharelink": {
|
||||||
"render": "{share_link()}"
|
"render": "{share_link()}"
|
||||||
}
|
}
|
||||||
|
|
1
assets/themes/cyclofix/fietsambassade_gent_logo.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 295.23 356.97"><defs><style>.cls-1{fill:#55bdc0;}.cls-2{fill:#fff;}</style></defs><title>Lg_fietsambassade_Q_blauw_neg</title><g id="Laag_2" data-name="Laag 2"><path class="cls-1" d="M120.08,121V357.28c0,26.31,21.73,54.33,64.59,83.3,20.52,13.87,61.09,37.34,83,37.34s62.52-23.47,83-37.34c42.86-29,64.59-57,64.59-83.3V121Z" transform="translate(-120.08 -120.95)"/><path class="cls-2" d="M315.94,292.51V269.8h8.12v-5.58h-21.9v5.58h8.12v22.71ZM250,287v-6.83h8.12v-5.49H250v-4.89h14v-5.54H244.31v28.29h20.25V287Zm-23.38-3.84h4.48c-.32,2.47-1.66,4.28-5.53,4.28-4.25,0-6.71-3.83-6.71-9.05s2.42-9,6.66-9c3.08,0,4.37,1.58,5.42,3.68l5.37-2.22c-1.85-4.37-4.93-7.07-10.7-7.07-7.4,0-12.57,6-12.57,14.58,0,8.93,5,14.59,12.36,14.59,6.55,0,11.36-4.12,11.36-11.4v-3.71H226.59Zm-61.89-68h-9.65l4.85-15.82Zm3.21,10.6h4l-9.52-29.51h-4.72l-9.56,29.51h3.77l2.32-7.55h11.49Zm22.78-7.68-6.48-21.83h-5.06l-2.48,29.51h3.51l1-13.3c.39-4.37.64-9.13.69-12.48l6.94,22.39h3.48L199,200c0,2.49.38,7.55.81,12.23l1.12,13.51h3.6l-2.57-29.51h-5.07Zm14.52-48.89c0,7.33-2.32,9.35-6.39,9.35h-2.06V160.06h2c3.95,0,6.44,1.72,6.44,9.14m8.19,0c0-12.27-7.59-14.8-15.66-14.8h-8.92v29.81h9.53c7.93,0,15.05-3.09,15.05-15m4.31,30h3.56c4.5,0,7.16,1,7.16,4.72,0,3.21-2.53,4.93-5.92,4.93h-4.8Zm0,12.52h5.19c3.65,0,6.73,1.46,6.73,5.67s-3.08,5.36-7.5,5.36h-4.42Zm3.17-15.48H214v29.51h8.11c6.77,0,11.45-2.23,11.45-8.36,0-5-3.35-6.7-6.82-7.25a6.48,6.48,0,0,0,5.49-6.48c0-5.11-4.2-7.42-11.37-7.42M236.69,160l.81-5.62H218.59v29.81h18.79v-5.62H226.52v-6.78h8.88v-5.44h-8.88V160Zm16.75,55.15h-9.65l4.84-15.82Zm7.16,10.6-9.52-29.51h-4.72l-9.56,29.51h3.77l2.32-7.55h11.49l2.27,7.55ZM271.73,160l.81-5.62H254.23v29.81h7.94V172.8h8.4v-5.62h-8.4V160Zm11.43,39.11a12.15,12.15,0,0,0-9-3.39c-5.37,0-9.14,3.18-9.14,7.6s2.87,6.69,8.66,8.45c5.06,1.54,6.52,2.87,6.52,5.91,0,3.65-2.92,5.5-6.52,5.5a10.51,10.51,0,0,1-7.67-3.09l-2.19,2.4a13.71,13.71,0,0,0,9.91,3.77c6.47,0,10.33-3.56,10.33-8.7,0-5.54-3.82-7.42-8.66-8.88-5.32-1.63-6.56-2.88-6.56-5.49,0-2.88,2.36-4.38,5.49-4.38a9.58,9.58,0,0,1,6.69,2.66Zm-6.37-14.92h7.93V154.4h-7.93Zm12.81,98.15c-.36-.72-1.29-2.14-2-3.19l-10-14.95h-5.41v28.29h5.57V280.06c0-1.58-.08-5.13-.08-6.18.37.72,1.29,2.14,2,3.19l10.39,15.44h5.05V264.22h-5.58v12c0,1.58.08,5.13.08,6.18m15.26-64.66c0,3.65-2.92,5.5-6.52,5.5a10.51,10.51,0,0,1-7.67-3.09l-2.19,2.4a13.7,13.7,0,0,0,9.9,3.77c6.48,0,10.34-3.56,10.34-8.7,0-5.54-3.82-7.42-8.66-8.88-5.32-1.63-6.56-2.88-6.56-5.49,0-2.88,2.36-4.38,5.49-4.38a9.58,9.58,0,0,1,6.69,2.66l2.1-2.36a12.15,12.15,0,0,0-9-3.39c-5.37,0-9.14,3.18-9.14,7.6s2.87,6.69,8.66,8.45c5.06,1.54,6.52,2.87,6.52,5.91M309.17,160l.81-5.62H291.07v29.81h18.79v-5.62H299v-6.78h8.88v-5.44H299V160Zm9.63,55.15,4.85-15.82,4.8,15.82Zm2.57-18.91-9.56,29.51h3.78l2.31-7.55h11.5l2.27,7.55h3.94l-9.52-29.51Zm14.27-35.81.81-6H313.2v6h7.47v23.76h7.93V160.45Zm11.4,1.41c0-1.63,1.29-2.53,3.61-2.53a9.92,9.92,0,0,1,6.43,2.45l3.6-4.21A14.54,14.54,0,0,0,350,153.63c-6.39,0-11.15,3.43-11.15,8.88,0,4.37,2.24,7.24,9.18,9.43,4.12,1.25,5.15,2.1,5.15,4.08s-1.5,3.21-4.25,3.21a10.87,10.87,0,0,1-7.37-3l-4,4.38A16.13,16.13,0,0,0,349.27,185c7.64,0,12.18-3.95,12.18-9.57,0-5.4-3-7.93-8.83-9.77-4.46-1.46-5.58-2.06-5.58-3.78m11.69,49c0,9.91-4.76,12-9.48,12h-3.47V199.26H349c4.8,0,9.78,1.42,9.78,11.58m4,0c0-12.22-7.16-14.58-14.54-14.58h-6.09v29.51H349c6.31,0,13.77-2.83,13.77-14.93M375,222.77V212.21h10.08v-3H375v-10h11.62l.43-3H371.3v29.51h16v-3Z" transform="translate(-120.08 -120.95)"/><path class="cls-2" d="M333.81,355.77a2.71,2.71,0,0,0,2.13,3.18l37.42,7.49a2.44,2.44,0,0,0,.53.05,2.71,2.71,0,0,0,.53-5.36L337,353.64a2.72,2.72,0,0,0-3.19,2.13m-54.08,40.14V421a2.71,2.71,0,0,0,5.41,0V395.91a2.71,2.71,0,0,0-5.41,0M265,391.49v33.9a2.71,2.71,0,0,0,5.42,0v-33.9a2.71,2.71,0,0,0-5.42,0m-14.74,4.42V421a2.71,2.71,0,0,0,5.42,0V395.91a2.71,2.71,0,0,0-5.42,0m-12,12a29.48,29.48,0,1,1,29.48,29.48A29.48,29.48,0,0,1,238.22,408m-7.79,0a37.27,37.27,0,1,0,37.27-37.27A37.31,37.31,0,0,0,230.43,408m-71.58-43.64a2.71,2.71,0,0,0,2.65,2.17,2.32,2.32,0,0,0,.53-.05L199.46,359a2.71,2.71,0,0,0-1.07-5.31L161,361.13a2.7,2.7,0,0,0-2.12,3.19M150,335a9.32,9.32,0,0,0,9.32,9.32h44a9.27,9.27,0,0,0,8.12-4.84c5.48,2.43,8.9,7.09,12.41,12,4.74,6.63,9.65,13.49,19.73,13.49h48.24c10.08,0,15-6.86,19.73-13.49,3.5-4.9,6.93-9.56,12.4-12a9.29,9.29,0,0,0,8.13,4.84h44a9.32,9.32,0,0,0,0-18.64h-44a9.28,9.28,0,0,0-9.22,8.34c-7.47,2.86-11.8,8.83-15.72,14.3-4.48,6.27-8,11.22-15.32,11.22H243.58c-7.29,0-10.84-4.95-15.33-11.22-3.91-5.47-8.25-11.44-15.71-14.3a9.29,9.29,0,0,0-9.22-8.34h-44A9.32,9.32,0,0,0,150,335" transform="translate(-120.08 -120.95)"/></g></svg>
|
After Width: | Height: | Size: 4.5 KiB |
82
assets/themes/cyclofix/fietsambassade_gent_logo_small.svg
Normal file
|
@ -0,0 +1,82 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<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"
|
||||||
|
viewBox="0 0 295.368 232.39316"
|
||||||
|
version="1.1"
|
||||||
|
id="svg15"
|
||||||
|
sodipodi:docname="fietsambassade_gent_logo_small.svg"
|
||||||
|
width="295.36801"
|
||||||
|
height="232.39316"
|
||||||
|
inkscape:version="0.92.4 (5da689c313, 2019-01-14)">
|
||||||
|
<metadata
|
||||||
|
id="metadata19">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
</cc:Work>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<sodipodi:namedview
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1"
|
||||||
|
objecttolerance="10"
|
||||||
|
gridtolerance="10"
|
||||||
|
guidetolerance="10"
|
||||||
|
inkscape:pageopacity="0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:window-width="1920"
|
||||||
|
inkscape:window-height="1001"
|
||||||
|
id="namedview17"
|
||||||
|
showgrid="false"
|
||||||
|
showguides="true"
|
||||||
|
inkscape:guide-bbox="true"
|
||||||
|
inkscape:zoom="0.93496484"
|
||||||
|
inkscape:cx="-146.92431"
|
||||||
|
inkscape:cy="82.235797"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg15">
|
||||||
|
<sodipodi:guide
|
||||||
|
position="-5.4830949,207.9804"
|
||||||
|
orientation="-0.70710678,0.70710678"
|
||||||
|
id="guide829"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="321.42428,190.39661"
|
||||||
|
orientation="0.70710678,0.70710678"
|
||||||
|
id="guide831"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs4">
|
||||||
|
<style
|
||||||
|
id="style2">.cls-1{fill:#55bdc0;}.cls-2{fill:#fff;}</style>
|
||||||
|
</defs>
|
||||||
|
<title
|
||||||
|
id="title6">Lg_fietsambassade_Q_blauw_neg</title>
|
||||||
|
<path
|
||||||
|
style="fill:#55bdc0"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path8"
|
||||||
|
d="M 0.09456096,18.8351 2.4670257e-5,111.75316 C -0.02674352,138.06315 21.730025,166.08316 64.590025,195.05316 c 20.52,13.87 61.089995,37.34 82.999995,37.34 21.91,0 62.52,-23.47 83,-37.34 42.86,-29 64.5384,-57.00005 64.59,-83.3 l 0.188,-95.81287 C 295.34552,6.77737 288.23263,8e-4 279.42773,0 L 18.693261,0.2364 C 8.8199886,0.3282 0.09456096,6.94637 0.09456096,18.8351 Z"
|
||||||
|
class="cls-1"
|
||||||
|
sodipodi:nodetypes="cscscscccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;stroke-width:1.15448177"
|
||||||
|
inkscape:connector-curvature="0"
|
||||||
|
id="path12"
|
||||||
|
d="m 223.56466,76.765023 c -0.33232,1.692354 0.76759,3.334455 2.45904,3.671251 l 43.20071,8.647067 c 0.20125,0.04156 0.40643,0.06084 0.61188,0.05772 3.72894,-0.04953 4.2589,-5.409161 0.61187,-6.18802 l -43.20071,-8.647069 c -1.69498,-0.332733 -3.34045,0.765976 -3.68279,2.459047 m -62.43438,46.340891 v 28.96595 c 0.23836,3.91825 6.00741,3.91825 6.24575,0 v -28.96594 c -0.23834,-3.91823 -6.00739,-3.91823 -6.24575,0 m -17.00551,-5.10281 v 39.13693 c 0,4.17153 6.25729,4.17153 6.25729,0 v -39.13693 c 0,-4.17153 -6.25729,-4.17153 -6.25729,0 m -17.01706,5.10281 v 28.96594 c 0,4.17154 6.25729,4.17154 6.25729,0 v -28.96594 c 0,-4.17153 -6.25729,-4.17153 -6.25729,0 m -13.85378,13.85378 c 0,-30.32327 36.65947,-45.503726 58.09866,-24.06453 9.73364,9.73363 12.64618,24.37161 7.37866,37.08902 -5.26753,12.71744 -17.67769,21.00963 -31.4432,21.00963 -18.77405,0.0256 -34.02301,-15.15624 -34.0803,-33.93022 m -8.99342,0 c 0,17.40301 10.48339,33.0925 26.56137,39.75197 16.07795,6.65944 34.58397,2.97727 46.88968,-9.32844 12.30573,-12.30573 15.9879,-30.81175 9.32846,-46.88969 -6.65947,-16.07799 -22.34897,-26.561373 -39.75197,-26.561373 -23.7529,0.02551 -43.00208,19.274643 -43.02754,43.027533 M 21.576541,86.682018 c 0.295929,1.455363 1.574237,2.502132 3.059376,2.505226 0.205498,0.0046 0.410808,-0.01501 0.611876,-0.05772 l 43.212252,-8.635521 c 3.919743,-0.932533 2.739705,-6.788607 -1.235296,-6.130299 l -43.166073,8.589345 c -1.69607,0.3363 -2.794318,1.988849 -2.447501,3.682794 M 11.359377,52.786436 c 0,5.942464 4.817313,10.75977 10.75977,10.75977 h 50.797197 c 3.911062,-0.0092 7.505358,-2.152104 9.374392,-5.587691 6.32656,2.80539 10.274888,8.185275 14.327108,13.853781 5.472246,7.654214 11.140746,15.573956 22.777926,15.573956 h 55.6922 c 11.63718,0 17.31723,-7.919742 22.77792,-15.573956 4.04069,-5.656961 8.00056,-11.036846 14.31558,-13.853781 1.87475,3.435622 5.47211,5.57722 9.38593,5.587691 h 50.7972 c 5.94247,0 10.75977,-4.817306 10.75977,-10.75977 0,-5.942452 -4.8173,-10.75977 -10.75977,-10.75977 h -50.7972 c -5.49132,0.0069 -10.08809,4.165301 -10.64432,9.628378 -8.62398,3.301818 -13.62288,10.194074 -18.14845,16.509089 -5.17208,7.238601 -9.23585,12.953286 -17.68666,12.953286 h -55.6922 c -8.41617,0 -12.51458,-5.714685 -17.69821,-12.953286 C 97.18354,61.849118 92.1731,54.956862 83.560666,51.655044 82.999343,46.194542 78.405613,42.039262 72.916344,42.026666 H 22.119147 c -5.942457,0 -10.75977,4.817318 -10.75977,10.75977"
|
||||||
|
class="cls-2"
|
||||||
|
sodipodi:nodetypes="cccccccccccccsssccsssccsscccsssccccccccccscccsscccssscccsscccsc" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.1 KiB |
|
@ -6,12 +6,12 @@
|
||||||
"fr": "Carte des cartes"
|
"fr": "Carte des cartes"
|
||||||
},
|
},
|
||||||
"shortDescription": {
|
"shortDescription": {
|
||||||
"en": "On this map, all the maps known by OpenStreetMap are shown",
|
"en": "This theme shows all (touristic) maps that OpenStreetMap knows of",
|
||||||
"nl": "Een kaart met alle kaarten die OpenStreetMap kent",
|
"nl": "Een kaart met alle kaarten die OpenStreetMap kent",
|
||||||
"fr": "Cette carte affiche toutes les cartes (plans) mappés dans OpenStreetMap"
|
"fr": "Cette carte affiche toutes les cartes (plans) mappés dans OpenStreetMap"
|
||||||
},
|
},
|
||||||
"description": {
|
"description": {
|
||||||
"en": "On this map you can find all maps OpenStreetMap knows.<br/><br/>If a map is missing, you can easily map this map on OpenStreetMap.",
|
"en": "On this map you can find all maps OpenStreetMap knows - typically a big map on an information board showing the area, city or region, e.g. a tourist map on the back of a billboard, a map of a nature reserve, a map of cycling networks in the region, ...) <br/><br/>If a map is missing, you can easily map this map on OpenStreetMap.",
|
||||||
"nl": "Op deze kaart kan je alle kaarten zien die OpenStreetMap kent.<br/><br/>Ontbreekt er een kaart, dan kan je die kaart hier ook gemakelijk aan deze kaart toevoegen.",
|
"nl": "Op deze kaart kan je alle kaarten zien die OpenStreetMap kent.<br/><br/>Ontbreekt er een kaart, dan kan je die kaart hier ook gemakelijk aan deze kaart toevoegen.",
|
||||||
"fr": "Sur cette carte sont affichées les cartes (plans) mappées dans OpenStreetMap.<br/><br/>Si une carte est manquante, vous pouvez l'ajouer facilement avec un compte OpenStreetMap."
|
"fr": "Sur cette carte sont affichées les cartes (plans) mappées dans OpenStreetMap.<br/><br/>Si une carte est manquante, vous pouvez l'ajouer facilement avec un compte OpenStreetMap."
|
||||||
},
|
},
|
||||||
|
|
|
@ -9,18 +9,3 @@ html {
|
||||||
--foreground-color: white !important;
|
--foreground-color: white !important;
|
||||||
--shadow-color: #0f0 !important;
|
--shadow-color: #0f0 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
#innercolor {
|
|
||||||
stop-color:#ff0000
|
|
||||||
}
|
|
||||||
.leaflet-div-icon svg {
|
|
||||||
width: calc(100% - 3px);
|
|
||||||
height: calc(100% + 3px);
|
|
||||||
}
|
|
||||||
/*
|
|
||||||
.leaflet-div-icon svg path {
|
|
||||||
fill: none !important;
|
|
||||||
stroke-width: 1px !important;
|
|
||||||
stroke: #0f0 !important;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
|
@ -1,12 +1,23 @@
|
||||||
|
|
||||||
|
.featureinfobox {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
}
|
||||||
|
|
||||||
.featureinfobox-title {
|
.featureinfobox-title {
|
||||||
font-size: xx-large;
|
font-size: xx-large;
|
||||||
}
|
}
|
||||||
.featureinfobox-icons img{
|
.featureinfobox-icons img{
|
||||||
max-height: 1.5em;
|
max-height: 1.5em;
|
||||||
|
width:1.5em;
|
||||||
}
|
}
|
||||||
.featureinfobox-icons {
|
.featureinfobox-icons {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.featureinfobox-icons span {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
.featureinfobox-titlebar{
|
.featureinfobox-titlebar{
|
||||||
font-size: large;
|
font-size: large;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
@ -14,6 +25,20 @@
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.featureinfobox-content {
|
||||||
|
display:block;
|
||||||
|
max-height: 75vh;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 600px), only screen and (max-height: 600px) {
|
||||||
|
.featureinfobox-content {
|
||||||
|
display:block;
|
||||||
|
max-height: unset !important;
|
||||||
|
overflow-y: auto;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
.answer {
|
.answer {
|
||||||
display: flex;
|
display: flex;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -43,6 +68,12 @@
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.question a {
|
||||||
|
pointer-events: none;
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--subtle-detail-color-contrast)
|
||||||
|
}
|
||||||
|
|
||||||
.question-text {
|
.question-text {
|
||||||
font-size: larger;
|
font-size: larger;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
|
|
10
index.css
|
@ -408,10 +408,7 @@ a {
|
||||||
}
|
}
|
||||||
|
|
||||||
.leaflet-popup-content {
|
.leaflet-popup-content {
|
||||||
width: 40em !important;
|
width: 45em !important;
|
||||||
max-height: 80vh;
|
|
||||||
overflow-y: auto;
|
|
||||||
overflow-x: hidden;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.leaflet-div-icon {
|
.leaflet-div-icon {
|
||||||
|
@ -420,6 +417,11 @@ a {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
.leaflet-div-icon svg {
|
||||||
|
width: calc(100%);
|
||||||
|
height: calc(100%);
|
||||||
|
}
|
||||||
|
|
||||||
/****** ShareScreen *****/
|
/****** ShareScreen *****/
|
||||||
|
|
||||||
.literal-code {
|
.literal-code {
|
||||||
|
|
|
@ -65,7 +65,6 @@
|
||||||
<div id="leafletDiv"></div>
|
<div id="leafletDiv"></div>
|
||||||
|
|
||||||
<script src="./index.ts"></script>
|
<script src="./index.ts"></script>
|
||||||
<script src="./vendor/Leaflet.AccuratePosition.js"></script>
|
|
||||||
|
|
||||||
<script data-goatcounter="https://pietervdvn.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
<script data-goatcounter="https://pietervdvn.goatcounter.com/count" async src="//gc.zgo.at/count.js"></script>
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
"staticPath": [
|
"staticPath": [
|
||||||
{
|
{
|
||||||
"staticPath": "tiles/",
|
"staticPath": "tiles/",
|
||||||
"staticOutDir": "./tiles/"
|
"staticOutDir": "tiles/"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
@ -24,10 +24,8 @@
|
||||||
"build": "rm -rf dist/ && npm run generate && parcel build --public-url ./ *.html assets/** assets/**/** assets/**/**/** vendor/* vendor/*/*",
|
"build": "rm -rf dist/ && npm run generate && parcel build --public-url ./ *.html assets/** assets/**/** assets/**/**/** vendor/* vendor/*/*",
|
||||||
"prepare-deploy": "npm run generate && npm run build && rm -rf .cache",
|
"prepare-deploy": "npm run generate && npm run build && rm -rf .cache",
|
||||||
"deploy:staging": "npm run prepare-deploy && rm -rf /home/pietervdvn/git/pietervdvn.github.io/Staging/* && cp -r dist/* /home/pietervdvn/git/pietervdvn.github.io/Staging/ && cd /home/pietervdvn/git/pietervdvn.github.io/ && git add * && git commit -m 'New MapComplete Version' && git push && cd - && npm run clean",
|
"deploy:staging": "npm run prepare-deploy && rm -rf /home/pietervdvn/git/pietervdvn.github.io/Staging/* && cp -r dist/* /home/pietervdvn/git/pietervdvn.github.io/Staging/ && cd /home/pietervdvn/git/pietervdvn.github.io/ && git add * && git commit -m 'New MapComplete Version' && git push && cd - && npm run clean",
|
||||||
"deploy:production": "npm run prepare-deploy && npm run optimize-images && rm -rf /home/pietervdvn/git/pietervdvn.github.io/MapComplete/* && cp -r dist/* /home/pietervdvn/git/pietervdvn.github.io/MapComplete/ && cd /home/pietervdvn/git/pietervdvn.github.io/ && git add * && git commit -m 'New MapComplete Version' && git push && cd - && npm run clean",
|
"deploy:production": "rm -rf ./assets/generated && npm run prepare-deploy && npm run optimize-images && rm -rf /home/pietervdvn/git/pietervdvn.github.io/MapComplete/* && cp -r dist/* /home/pietervdvn/git/pietervdvn.github.io/MapComplete/ && cd /home/pietervdvn/git/pietervdvn.github.io/ && git add * && git commit -m 'New MapComplete Version' && git push && cd - && npm run clean",
|
||||||
|
|
||||||
"clean": "rm -rf .cache/ && (find *.html | grep -v \"\\(index\\|land\\|test\\|preferences\\|customGenerator\\).html\" | xargs rm) && (find *.webmanifest | xargs rm)"
|
"clean": "rm -rf .cache/ && (find *.html | grep -v \"\\(index\\|land\\|test\\|preferences\\|customGenerator\\).html\" | xargs rm) && (find *.webmanifest | xargs rm)"
|
||||||
|
|
||||||
},
|
},
|
||||||
"keywords": [
|
"keywords": [
|
||||||
"OpenStreetMap",
|
"OpenStreetMap",
|
||||||
|
@ -40,6 +38,7 @@
|
||||||
"codegrid-js": "git://github.com/hlaw/codegrid-js.git",
|
"codegrid-js": "git://github.com/hlaw/codegrid-js.git",
|
||||||
"country-language": "^0.1.7",
|
"country-language": "^0.1.7",
|
||||||
"email-validator": "^2.0.4",
|
"email-validator": "^2.0.4",
|
||||||
|
"escape-html": "^1.0.3",
|
||||||
"i18next-client": "^1.11.4",
|
"i18next-client": "^1.11.4",
|
||||||
"jquery": "latest",
|
"jquery": "latest",
|
||||||
"leaflet": "^1.7.1",
|
"leaflet": "^1.7.1",
|
||||||
|
|
2
test.ts
|
@ -6,7 +6,7 @@ import {UIEventSource} from "./Logic/UIEventSource";
|
||||||
import {VariableUiElement} from "./UI/Base/VariableUIElement";
|
import {VariableUiElement} from "./UI/Base/VariableUIElement";
|
||||||
|
|
||||||
const d = new UIEventSource("90");
|
const d = new UIEventSource("90");
|
||||||
new Direction(d, [51.21576,3.22001]).AttachTo("maindiv")
|
new Direction(d).AttachTo("maindiv")
|
||||||
new VariableUiElement(d.map(d => "" + d + "°")).AttachTo("extradiv")
|
new VariableUiElement(d.map(d => "" + d + "°")).AttachTo("extradiv")
|
||||||
|
|
||||||
UIEventSource.Chronic(25, () => {
|
UIEventSource.Chronic(25, () => {
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
import {UIElement} from "../UI/UIElement";
|
import {UIElement} from "../UI/UIElement";
|
||||||
UIElement.runningFromConsole = true;
|
UIElement.runningFromConsole = true;
|
||||||
|
import {Img} from "../UI/Img";
|
||||||
|
Img.runningFromConsole = true;
|
||||||
import {equal} from "assert";
|
import {equal} from "assert";
|
||||||
import T from "./TestHelper";
|
import T from "./TestHelper";
|
||||||
import {FromJSON} from "../Customizations/JSON/FromJSON";
|
import {FromJSON} from "../Customizations/JSON/FromJSON";
|
||||||
|
@ -17,7 +18,6 @@ import {Utils} from "../Utils";
|
||||||
import {Translation} from "../UI/i18n/Translation";
|
import {Translation} from "../UI/i18n/Translation";
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
new T([
|
new T([
|
||||||
["Tag replacement works in translation", () => {
|
["Tag replacement works in translation", () => {
|
||||||
const tr = new Translation({
|
const tr = new Translation({
|
||||||
|
@ -35,6 +35,15 @@ new T([
|
||||||
equal((and.and[0] as Tag).key, "key");
|
equal((and.and[0] as Tag).key, "key");
|
||||||
equal((and.and[1] as Tag).value, "y");
|
equal((and.and[1] as Tag).value, "y");
|
||||||
|
|
||||||
|
|
||||||
|
const notReg = FromJSON.Tag("x!~y") as And;
|
||||||
|
equal(notReg.matches([{k:"x",v:"y"}]), false)
|
||||||
|
equal(notReg.matches([{k:"x",v:"z"}]), true)
|
||||||
|
equal(notReg.matches([{k:"x",v:""}]), true)
|
||||||
|
|
||||||
|
equal(notReg.matches([]), true)
|
||||||
|
|
||||||
|
|
||||||
})],
|
})],
|
||||||
["Is equivalent test", (() => {
|
["Is equivalent test", (() => {
|
||||||
|
|
||||||
|
|