fix: uploaded namesbase to filter restricted chars

This commit is contained in:
Azgaar 2023-06-18 16:42:54 +04:00
parent c74d38ea2f
commit 7f9da4f06f
3 changed files with 16 additions and 34 deletions

View file

@ -7876,7 +7876,7 @@
<script defer src="modules/ui/heightmap-editor.js?v=1.89.06"></script> <script defer src="modules/ui/heightmap-editor.js?v=1.89.06"></script>
<script defer src="modules/ui/provinces-editor.js?v=1.89.00"></script> <script defer src="modules/ui/provinces-editor.js?v=1.89.00"></script>
<script defer src="modules/ui/biomes-editor.js"></script> <script defer src="modules/ui/biomes-editor.js"></script>
<script defer src="modules/ui/namesbase-editor.js?v=1.87.10"></script> <script defer src="modules/ui/namesbase-editor.js?v=1.89.25"></script>
<script defer src="modules/ui/elevation-profile.js"></script> <script defer src="modules/ui/elevation-profile.js"></script>
<script defer src="modules/ui/temperature-graph.js"></script> <script defer src="modules/ui/temperature-graph.js"></script>
<script defer src="modules/ui/routes-editor.js?v=1.89.04"></script> <script defer src="modules/ui/routes-editor.js?v=1.89.04"></script>

View file

@ -23,23 +23,11 @@ function editNamesbase() {
const uploader = document.getElementById("namesbaseToLoad"); const uploader = document.getElementById("namesbaseToLoad");
document.getElementById("namesbaseUpload").addEventListener("click", () => { document.getElementById("namesbaseUpload").addEventListener("click", () => {
uploader.addEventListener( uploader.addEventListener("change", e => uploadFile(e.target, d => namesbaseUpload(d, true)), {once: true});
"change",
function (event) {
uploadFile(event.target, d => namesbaseUpload(d, true));
},
{once: true}
);
uploader.click(); uploader.click();
}); });
document.getElementById("namesbaseUploadExtend").addEventListener("click", () => { document.getElementById("namesbaseUploadExtend").addEventListener("click", () => {
uploader.addEventListener( uploader.addEventListener("change", e => uploadFile(e.target, d => namesbaseUpload(d, false)), {once: true});
"change",
function (event) {
uploadFile(event.target, d => namesbaseUpload(d, false));
},
{once: true}
);
uploader.click(); uploader.click();
}); });
@ -92,11 +80,13 @@ function editNamesbase() {
function updateNamesData() { function updateNamesData() {
const base = +document.getElementById("namesbaseSelect").value; const base = +document.getElementById("namesbaseSelect").value;
const rawInput = document.getElementById("namesbaseTextarea").value; const input = document.getElementById("namesbaseTextarea");
if (rawInput.split(",").length < 3) return tip("The names data provided is too short of incorrect", false, "error"); if (input.value.split(",").length < 3)
return tip("The names data provided is too short of incorrect", false, "error");
const namesData = rawInput.replace(/[/|]/g, ""); const securedNamesData = input.value.replace(/[/|]/g, "");
nameBases[base].b = namesData; nameBases[base].b = securedNamesData;
input.value = securedNamesData;
Names.updateChain(base); Names.updateChain(base);
} }
@ -113,19 +103,13 @@ function editNamesbase() {
function updateBaseMin() { function updateBaseMin() {
const base = +document.getElementById("namesbaseSelect").value; const base = +document.getElementById("namesbaseSelect").value;
if (+this.value > nameBases[base].max) { if (+this.value > nameBases[base].max) return tip("Minimal length cannot be greater than maximal", false, "error");
tip("Minimal length cannot be greater than maximal", false, "error");
return;
}
nameBases[base].min = +this.value; nameBases[base].min = +this.value;
} }
function updateBaseMax() { function updateBaseMax() {
const base = +document.getElementById("namesbaseSelect").value; const base = +document.getElementById("namesbaseSelect").value;
if (+this.value < nameBases[base].min) { if (+this.value < nameBases[base].min) return tip("Maximal length should be greater than minimal", false, "error");
tip("Maximal length should be greater than minimal", false, "error");
return;
}
nameBases[base].max = +this.value; nameBases[base].max = +this.value;
} }
@ -256,16 +240,14 @@ function editNamesbase() {
function namesbaseUpload(dataLoaded, override = true) { function namesbaseUpload(dataLoaded, override = true) {
const data = dataLoaded.split("\r\n"); const data = dataLoaded.split("\r\n");
if (!data || !data[0]) { if (!data || !data[0]) return tip("Cannot load a namesbase. Please check the data format", false, "error");
tip("Cannot load a namesbase. Please check the data format", false, "error");
return;
}
Names.clearChains(); Names.clearChains();
if (override) nameBases = []; if (override) nameBases = [];
data.forEach(d => { data.forEach(d => {
const e = d.split("|"); const [name, min, max, d, m, names] = d.split("|");
nameBases.push({name: e[0], min: e[1], max: e[2], d: e[3], m: e[4], b: e[5]}); const secureNames = names.replace(/[/|]/g, "");
nameBases.push({name, min, max, d, m, b: secureNames});
}); });
createBasesList(); createBasesList();

View file

@ -1,7 +1,7 @@
"use strict"; "use strict";
// version and caching control // version and caching control
const version = "1.89.24"; // generator version, update each time const version = "1.89.25"; // generator version, update each time
{ {
document.title += " v" + version; document.title += " v" + version;