v1.5.66 - resize individual Emblem enstead of hide

This commit is contained in:
Azgaar 2021-02-26 19:54:45 +03:00
parent 9a20a3e4c6
commit a5395fca78
3 changed files with 41 additions and 29 deletions

View file

@ -23,7 +23,8 @@ function editEmblem(type, id, el) {
emblemProvinces.oninput = selectProvince;
emblemBurgs.oninput = selectBurg;
emblemShapeSelector.oninput = changeShape;
document.getElementById("emblemShow").onchange = toggleEmblem;
document.getElementById("emblemSizeSlider").oninput = changeSize;
document.getElementById("emblemSizeNumber").oninput = changeSize;
document.getElementById("emblemsRegenerate").onclick = regenerate;
document.getElementById("emblemsArmoria").onclick = openInArmoria;
document.getElementById("emblemsUpload").onclick = toggleUpload;
@ -105,7 +106,9 @@ function editEmblem(type, id, el) {
emblemShapeSelector.value = el.coa.shield;
}
document.getElementById("emblemShow").checked = !el.coaHidden;
const size = el.coaSize || 1;
document.getElementById("emblemSizeSlider").value = size;
document.getElementById("emblemSizeNumber").value = size;
}
function selectState() {
@ -162,22 +165,24 @@ function editEmblem(type, id, el) {
highlightEmblemElement(type, el);
}
function toggleEmblem() {
el.coaHidden = !el.coaHidden;
function changeSize() {
const size = el.coaSize = +this.value;
document.getElementById("emblemSizeSlider").value = size;
document.getElementById("emblemSizeNumber").value = size;
const g = emblems.select("#"+type+"Emblems");
if (el.coaHidden) g.select("[data-i='"+el.i+"']").remove();
else {
// re-append use element
if (g.select("[data-i='"+el.i+"']").size()) return; // alredy displayed
const halfSize = +g.attr("font-size") / 2;
const x = el.x || el.pole[0];
const y = el.y || el.pole[1];
g.append("use").attr("data-i", el.i)
.attr("x", rn(x - halfSize), 2).attr("y", rn(y - halfSize), 2)
.attr("width", "1em").attr("height", "1em")
.attr("href", "#"+id);
}
g.select("[data-i='"+el.i+"']").remove();
if (!size) return;
// re-append use element
const categotySize = +g.attr("font-size");
const shift = categotySize * size / 2;
const x = el.x || el.pole[0];
const y = el.y || el.pole[1];
g.append("use").attr("data-i", el.i)
.attr("x", rn(x - shift), 2).attr("y", rn(y - shift), 2)
.attr("width", size+"em").attr("height", size+"em")
.attr("href", "#"+id);
}
function regenerate() {