Reduce condition complexity
This commit is contained in:
parent
e206dd527e
commit
a3c45f6ed6
6 changed files with 31 additions and 64 deletions
|
@ -61,13 +61,9 @@ OSM.Changeset = function (map) {
|
||||||
});
|
});
|
||||||
|
|
||||||
content.find("textarea").on("input", function (e) {
|
content.find("textarea").on("input", function (e) {
|
||||||
var form = e.target.form;
|
const form = e.target.form,
|
||||||
|
disabled = $(e.target).val() === "";
|
||||||
if ($(e.target).val() === "") {
|
form.comment.disabled = disabled;
|
||||||
$(form.comment).prop("disabled", true);
|
|
||||||
} else {
|
|
||||||
$(form.comment).prop("disabled", false);
|
|
||||||
}
|
|
||||||
});
|
});
|
||||||
|
|
||||||
content.find("textarea").val("").trigger("input");
|
content.find("textarea").val("").trigger("input");
|
||||||
|
|
|
@ -79,13 +79,10 @@ OSM.Directions = function (map) {
|
||||||
});
|
});
|
||||||
|
|
||||||
function formatDistance(m) {
|
function formatDistance(m) {
|
||||||
if (m < 1000) {
|
const unitTemplate = "javascripts.directions.distance_";
|
||||||
return I18n.t("javascripts.directions.distance_m", { distance: Math.round(m) });
|
if (m < 1000) return I18n.t(unitTemplate + "m", { distance: Math.round(m) });
|
||||||
} else if (m < 10000) {
|
if (m < 10000) return I18n.t(unitTemplate + "km", { distance: (m / 1000.0).toFixed(1) });
|
||||||
return I18n.t("javascripts.directions.distance_km", { distance: (m / 1000.0).toFixed(1) });
|
return I18n.t(unitTemplate + "km", { distance: Math.round(m / 1000) });
|
||||||
} else {
|
|
||||||
return I18n.t("javascripts.directions.distance_km", { distance: Math.round(m / 1000) });
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatHeight(m) {
|
function formatHeight(m) {
|
||||||
|
@ -179,28 +176,12 @@ OSM.Directions = function (map) {
|
||||||
|
|
||||||
// Add each row
|
// Add each row
|
||||||
route.steps.forEach(function (step) {
|
route.steps.forEach(function (step) {
|
||||||
var ll = step[0],
|
const [ll, direction, instruction, dist, lineseg] = step;
|
||||||
direction = step[1],
|
|
||||||
instruction = step[2],
|
|
||||||
dist = step[3],
|
|
||||||
lineseg = step[4];
|
|
||||||
|
|
||||||
if (dist < 5) {
|
|
||||||
dist = "";
|
|
||||||
} else if (dist < 200) {
|
|
||||||
dist = String(Math.round(dist / 10) * 10) + "m";
|
|
||||||
} else if (dist < 1500) {
|
|
||||||
dist = String(Math.round(dist / 100) * 100) + "m";
|
|
||||||
} else if (dist < 5000) {
|
|
||||||
dist = String(Math.round(dist / 100) / 10) + "km";
|
|
||||||
} else {
|
|
||||||
dist = String(Math.round(dist / 1000)) + "km";
|
|
||||||
}
|
|
||||||
|
|
||||||
var row = $("<tr class='turn'/>");
|
var row = $("<tr class='turn'/>");
|
||||||
row.append("<td class='border-0'><div class='direction i" + direction + "'/></td> ");
|
row.append("<td class='border-0'><div class='direction i" + direction + "'/></td> ");
|
||||||
row.append("<td>" + instruction);
|
row.append("<td>" + instruction);
|
||||||
row.append("<td class='distance text-body-secondary text-end'>" + dist);
|
row.append("<td class='distance text-body-secondary text-end'>" + getDistText(dist));
|
||||||
|
|
||||||
row.on("click", function () {
|
row.on("click", function () {
|
||||||
popup
|
popup
|
||||||
|
@ -232,6 +213,14 @@ OSM.Directions = function (map) {
|
||||||
// TODO: collapse width of sidebar back to previous
|
// TODO: collapse width of sidebar back to previous
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
function getDistText(dist) {
|
||||||
|
if (dist < 5) return "";
|
||||||
|
if (dist < 200) return String(Math.round(dist / 10) * 10) + "m";
|
||||||
|
if (dist < 1500) return String(Math.round(dist / 100) * 100) + "m";
|
||||||
|
if (dist < 5000) return String(Math.round(dist / 100) / 10) + "km";
|
||||||
|
return String(Math.round(dist / 1000)) + "km";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var chosenEngineIndex = findEngine("fossgis_osrm_car");
|
var chosenEngineIndex = findEngine("fossgis_osrm_car");
|
||||||
|
|
|
@ -106,9 +106,8 @@ L.OSM.Map = L.Map.extend({
|
||||||
link.attr("target", "_blank");
|
link.attr("target", "_blank");
|
||||||
}
|
}
|
||||||
return link.prop("outerHTML");
|
return link.prop("outerHTML");
|
||||||
} else {
|
|
||||||
return text;
|
|
||||||
}
|
}
|
||||||
|
return text;
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -169,16 +168,15 @@ L.OSM.Map = L.Map.extend({
|
||||||
getShortUrl: function (marker) {
|
getShortUrl: function (marker) {
|
||||||
var zoom = this.getZoom(),
|
var zoom = this.getZoom(),
|
||||||
latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(),
|
latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(),
|
||||||
str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ?
|
str = window.location.protocol + "//" + window.location.hostname.replace(/^www\.openstreetmap\.org/i, "osm.org") + "/go/",
|
||||||
window.location.protocol + "//osm.org/go/" :
|
|
||||||
window.location.protocol + "//" + window.location.hostname + "/go/",
|
|
||||||
char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~",
|
char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~",
|
||||||
x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)),
|
x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)),
|
||||||
y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)),
|
y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)),
|
||||||
// JavaScript only has to keep 32 bits of bitwise operators, so this has to be
|
// JavaScript only has to keep 32 bits of bitwise operators, so this has to be
|
||||||
// done in two parts. each of the parts c1/c2 has 30 bits of the total in it
|
// done in two parts. each of the parts c1/c2 has 30 bits of the total in it
|
||||||
// and drops the last 4 bits of the full 64 bit Morton code.
|
// and drops the last 4 bits of the full 64 bit Morton code.
|
||||||
c1 = interlace(x >>> 17, y >>> 17), c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff),
|
c1 = interlace(x >>> 17, y >>> 17),
|
||||||
|
c2 = interlace((x >>> 2) & 0x7fff, (y >>> 2) & 0x7fff),
|
||||||
digit,
|
digit,
|
||||||
i;
|
i;
|
||||||
|
|
||||||
|
@ -313,13 +311,8 @@ L.OSM.Map = L.Map.extend({
|
||||||
});
|
});
|
||||||
|
|
||||||
map._objectLayer.interestingNode = function (node, wayNodes, relationNodes) {
|
map._objectLayer.interestingNode = function (node, wayNodes, relationNodes) {
|
||||||
if (object.type === "node") {
|
return object.type === "node" ||
|
||||||
return true;
|
(object.type === "relation" && Boolean(relationNodes[node.id]));
|
||||||
} else if (object.type === "relation") {
|
|
||||||
return Boolean(relationNodes[node.id]);
|
|
||||||
} else {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
map._objectLayer.addData(data);
|
map._objectLayer.addData(data);
|
||||||
|
|
|
@ -21,12 +21,8 @@ L.OSM.note = function (options) {
|
||||||
.attr("data-bs-original-title", I18n.t(isDisabled ?
|
.attr("data-bs-original-title", I18n.t(isDisabled ?
|
||||||
"javascripts.site.createnote_disabled_tooltip" :
|
"javascripts.site.createnote_disabled_tooltip" :
|
||||||
"javascripts.site.createnote_tooltip"));
|
"javascripts.site.createnote_tooltip"));
|
||||||
|
if (isDisabled === wasDisabled) return;
|
||||||
if (isDisabled && !wasDisabled) {
|
link.trigger(isDisabled ? "disabled" : "enabled");
|
||||||
link.trigger("disabled");
|
|
||||||
} else if (wasDisabled && !isDisabled) {
|
|
||||||
link.trigger("enabled");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
update();
|
update();
|
||||||
|
|
|
@ -13,8 +13,6 @@ L.OSM.query = function (options) {
|
||||||
|
|
||||||
map.on("zoomend", update);
|
map.on("zoomend", update);
|
||||||
|
|
||||||
update();
|
|
||||||
|
|
||||||
function update() {
|
function update() {
|
||||||
var wasDisabled = link.hasClass("disabled"),
|
var wasDisabled = link.hasClass("disabled"),
|
||||||
isDisabled = map.getZoom() < 14;
|
isDisabled = map.getZoom() < 14;
|
||||||
|
@ -23,13 +21,11 @@ L.OSM.query = function (options) {
|
||||||
.attr("data-bs-original-title", I18n.t(isDisabled ?
|
.attr("data-bs-original-title", I18n.t(isDisabled ?
|
||||||
"javascripts.site.queryfeature_disabled_tooltip" :
|
"javascripts.site.queryfeature_disabled_tooltip" :
|
||||||
"javascripts.site.queryfeature_tooltip"));
|
"javascripts.site.queryfeature_tooltip"));
|
||||||
|
if (isDisabled === wasDisabled) return;
|
||||||
|
link.trigger(isDisabled ? "disabled" : "enabled");
|
||||||
|
}
|
||||||
|
|
||||||
if (isDisabled && !wasDisabled) {
|
update();
|
||||||
link.trigger("disabled");
|
|
||||||
} else if (wasDisabled && !isDisabled) {
|
|
||||||
link.trigger("enabled");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $container[0];
|
return $container[0];
|
||||||
};
|
};
|
||||||
|
|
|
@ -142,11 +142,8 @@ OSM.Router = function (map, rts) {
|
||||||
};
|
};
|
||||||
|
|
||||||
router.stateChange = function (state) {
|
router.stateChange = function (state) {
|
||||||
if (state.center) {
|
const url = state.center ? OSM.formatHash(state) : window.location;
|
||||||
window.history.replaceState(state, document.title, OSM.formatHash(state));
|
window.history.replaceState(state, document.title, url);
|
||||||
} else {
|
|
||||||
window.history.replaceState(state, document.title, window.location);
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
|
|
||||||
router.updateHash = function () {
|
router.updateHash = function () {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue