mirror of
https://github.com/Azgaar/Fantasy-Map-Generator.git
synced 2025-12-17 17:51:24 +01:00
refactor: replace fmg.modules with local vars
This commit is contained in:
parent
80bf0ef688
commit
a97e7f44f6
31 changed files with 141 additions and 95 deletions
|
|
@ -9,6 +9,8 @@ import {openURL} from "utils/linkUtils";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function open() {
|
export function open() {
|
||||||
closeDialogs("#biomesEditor, .stable");
|
closeDialogs("#biomesEditor, .stable");
|
||||||
if (!layerIsOn("toggleBiomes")) toggleBiomes();
|
if (!layerIsOn("toggleBiomes")) toggleBiomes();
|
||||||
|
|
@ -21,8 +23,8 @@ export function open() {
|
||||||
const animate = d3.transition().duration(2000).ease(d3.easeSinIn);
|
const animate = d3.transition().duration(2000).ease(d3.easeSinIn);
|
||||||
refreshBiomesEditor();
|
refreshBiomesEditor();
|
||||||
|
|
||||||
if (fmg.modules.editBiomes) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editBiomes = true;
|
isLoaded = true;
|
||||||
|
|
||||||
$("#biomesEditor").dialog({
|
$("#biomesEditor").dialog({
|
||||||
title: "Biomes Editor",
|
title: "Biomes Editor",
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import * as d3 from "d3";
|
import * as d3 from "d3";
|
||||||
|
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
import {openDialog} from "dialogs";
|
||||||
import {layerIsOn} from "layers";
|
import {layerIsOn} from "layers";
|
||||||
import {prompt} from "scripts/prompt";
|
import {prompt} from "scripts/prompt";
|
||||||
import {clearMainTip, tip} from "scripts/tooltips";
|
import {clearMainTip, tip} from "scripts/tooltips";
|
||||||
|
|
@ -459,9 +460,9 @@ export function open({id} = {}) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function openEmblemEdit() {
|
function openEmblemEdit() {
|
||||||
const id = +elSelected.attr("data-id"),
|
const id = +elSelected.attr("data-id");
|
||||||
burg = pack.burgs[id];
|
const burg = pack.burgs[id];
|
||||||
editEmblem("burg", "burgCOA" + id, burg);
|
openDialog("emblemEditor", null, {type: "burg", id: "burgCOA" + id, el: burg});
|
||||||
}
|
}
|
||||||
|
|
||||||
function toggleMFCGMap() {
|
function toggleMFCGMap() {
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,7 @@ import {openURL} from "utils/linkUtils";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {parseTransform} from "utils/stringUtils";
|
import {parseTransform} from "utils/stringUtils";
|
||||||
|
|
||||||
export function editEmblem(type, id, el) {
|
export function open({type, id, el}) {
|
||||||
if (customization) return;
|
|
||||||
if (!id && d3.event) defineEmblemData(d3.event);
|
|
||||||
|
|
||||||
emblems.selectAll("use").call(d3.drag().on("drag", dragEmblem)).classed("draggable", true);
|
emblems.selectAll("use").call(d3.drag().on("drag", dragEmblem)).classed("draggable", true);
|
||||||
|
|
||||||
const emblemStates = document.getElementById("emblemStates");
|
const emblemStates = document.getElementById("emblemStates");
|
||||||
|
|
@ -49,20 +46,6 @@ export function editEmblem(type, id, el) {
|
||||||
document.getElementById("emblemsGallery").onclick = downloadGallery;
|
document.getElementById("emblemsGallery").onclick = downloadGallery;
|
||||||
document.getElementById("emblemsFocus").onclick = showArea;
|
document.getElementById("emblemsFocus").onclick = showArea;
|
||||||
|
|
||||||
function defineEmblemData(e) {
|
|
||||||
const parent = e.target.parentNode;
|
|
||||||
const [g, t] =
|
|
||||||
parent.id === "burgEmblems"
|
|
||||||
? [pack.burgs, "burg"]
|
|
||||||
: parent.id === "provinceEmblems"
|
|
||||||
? [pack.provinces, "province"]
|
|
||||||
: [pack.states, "state"];
|
|
||||||
const i = +e.target.dataset.i;
|
|
||||||
type = t;
|
|
||||||
id = type + "COA" + i;
|
|
||||||
el = g[i];
|
|
||||||
}
|
|
||||||
|
|
||||||
function updateElementSelectors(type, id, el) {
|
function updateElementSelectors(type, id, el) {
|
||||||
let state = 0,
|
let state = 0,
|
||||||
province = 0,
|
province = 0,
|
||||||
|
|
@ -18,6 +18,8 @@ import {aleaPRNG} from "scripts/aleaPRNG";
|
||||||
import {undraw} from "scripts/generation";
|
import {undraw} from "scripts/generation";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editHeightmap(options) {
|
export function editHeightmap(options) {
|
||||||
const {mode, tool} = options || {};
|
const {mode, tool} = options || {};
|
||||||
restartHistory();
|
restartHistory();
|
||||||
|
|
@ -26,8 +28,8 @@ export function editHeightmap(options) {
|
||||||
if (!mode) showModeDialog();
|
if (!mode) showModeDialog();
|
||||||
else enterHeightmapEditMode(mode);
|
else enterHeightmapEditMode(mode);
|
||||||
|
|
||||||
if (fmg.modules.editHeightmap) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editHeightmap = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
byId("paintBrushes").on("click", openBrushesPanel);
|
byId("paintBrushes").on("click", openBrushesPanel);
|
||||||
|
|
@ -555,6 +557,8 @@ export function editHeightmap(options) {
|
||||||
updateHistory();
|
updateHistory();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isBrushesPanelLoaded = false;
|
||||||
|
|
||||||
function openBrushesPanel() {
|
function openBrushesPanel() {
|
||||||
if ($("#brushesPanel").is(":visible")) return;
|
if ($("#brushesPanel").is(":visible")) return;
|
||||||
$("#brushesPanel")
|
$("#brushesPanel")
|
||||||
|
|
@ -565,8 +569,8 @@ export function editHeightmap(options) {
|
||||||
})
|
})
|
||||||
.on("dialogclose", exitBrushMode);
|
.on("dialogclose", exitBrushMode);
|
||||||
|
|
||||||
if (fmg.modules.openBrushesPanel) return;
|
if (isBrushesPanelLoaded) return;
|
||||||
fmg.modules.openBrushesPanel = true;
|
isBrushesPanelLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
byId("brushesButtons").on("click", e => toggleBrushMode(e));
|
byId("brushesButtons").on("click", e => toggleBrushMode(e));
|
||||||
|
|
@ -725,6 +729,8 @@ export function editHeightmap(options) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isTemplateEditorLoaded = false;
|
||||||
|
|
||||||
function openTemplateEditor() {
|
function openTemplateEditor() {
|
||||||
if ($("#templateEditor").is(":visible")) return;
|
if ($("#templateEditor").is(":visible")) return;
|
||||||
const $body = byId("templateBody");
|
const $body = byId("templateBody");
|
||||||
|
|
@ -737,8 +743,8 @@ export function editHeightmap(options) {
|
||||||
position: {my: "right top", at: "right-10 top+10", of: "svg"}
|
position: {my: "right top", at: "right-10 top+10", of: "svg"}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.openTemplateEditor) return;
|
if (isTemplateEditorLoaded) return;
|
||||||
fmg.modules.openTemplateEditor = true;
|
isTemplateEditorLoaded = true;
|
||||||
|
|
||||||
$("#templateBody").sortable({
|
$("#templateBody").sortable({
|
||||||
items: "> div",
|
items: "> div",
|
||||||
|
|
@ -1054,6 +1060,8 @@ export function editHeightmap(options) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isImageConverterLoaded = false;
|
||||||
|
|
||||||
function openImageConverter() {
|
function openImageConverter() {
|
||||||
if ($("#imageConverter").is(":visible")) return;
|
if ($("#imageConverter").is(":visible")) return;
|
||||||
imageToLoad.click();
|
imageToLoad.click();
|
||||||
|
|
@ -1084,8 +1092,8 @@ export function editHeightmap(options) {
|
||||||
viewbox.select("#heights").selectAll("*").remove();
|
viewbox.select("#heights").selectAll("*").remove();
|
||||||
updateHistory();
|
updateHistory();
|
||||||
|
|
||||||
if (fmg.modules.openImageConverter) return;
|
if (isImageConverterLoaded) return;
|
||||||
fmg.modules.openImageConverter = true;
|
isImageConverterLoaded = true;
|
||||||
|
|
||||||
// add color pallete
|
// add color pallete
|
||||||
void (function createColorPallete() {
|
void (function createColorPallete() {
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import * as d3 from "d3";
|
import * as d3 from "d3";
|
||||||
|
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
import {openDialog} from "dialogs";
|
||||||
import {restoreDefaultEvents} from "scripts/events";
|
import {restoreDefaultEvents} from "scripts/events";
|
||||||
import {clearMainTip, showMainTip, tip} from "scripts/tooltips";
|
import {clearMainTip, showMainTip, tip} from "scripts/tooltips";
|
||||||
import {getMixedColor, getRandomColor} from "utils/colorUtils";
|
import {getMixedColor, getRandomColor} from "utils/colorUtils";
|
||||||
|
|
@ -161,7 +162,8 @@ function addListeners() {
|
||||||
const stateId = +$element.parentNode?.dataset?.id;
|
const stateId = +$element.parentNode?.dataset?.id;
|
||||||
if ($element.tagName === "FILL-BOX") stateChangeFill($element);
|
if ($element.tagName === "FILL-BOX") stateChangeFill($element);
|
||||||
else if (classList.contains("name")) editStateName(stateId);
|
else if (classList.contains("name")) editStateName(stateId);
|
||||||
else if (classList.contains("coaIcon")) editEmblem("state", "stateCOA" + stateId, pack.states[stateId]);
|
else if (classList.contains("coaIcon"))
|
||||||
|
openDialog("emblemEditor", null, {type: "state", id: "stateCOA" + stateId, el: pack.state[stateId]});
|
||||||
else if (classList.contains("icon-star-empty")) stateCapitalZoomIn(stateId);
|
else if (classList.contains("icon-star-empty")) stateCapitalZoomIn(stateId);
|
||||||
else if (classList.contains("statePopulation")) changePopulation(stateId);
|
else if (classList.contains("statePopulation")) changePopulation(stateId);
|
||||||
else if (classList.contains("icon-pin")) toggleFog(stateId, classList);
|
else if (classList.contains("icon-pin")) toggleFog(stateId, classList);
|
||||||
|
|
@ -405,6 +407,8 @@ function stateChangeFill(el) {
|
||||||
openPicker(currentFill, callback);
|
openPicker(currentFill, callback);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
function editStateName(state) {
|
function editStateName(state) {
|
||||||
const $stateNameEditorCustomForm = byId("stateNameEditorCustomForm");
|
const $stateNameEditorCustomForm = byId("stateNameEditorCustomForm");
|
||||||
const $stateNameEditorSelectForm = byId("stateNameEditorSelectForm");
|
const $stateNameEditorSelectForm = byId("stateNameEditorSelectForm");
|
||||||
|
|
@ -438,8 +442,8 @@ function editStateName(state) {
|
||||||
position: {my: "center", at: "center", of: "svg"}
|
position: {my: "center", at: "center", of: "svg"}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editStateName) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editStateName = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
byId("stateNameEditorShortCulture").on("click", regenerateShortNameCuture);
|
byId("stateNameEditorShortCulture").on("click", regenerateShortNameCuture);
|
||||||
|
|
|
||||||
|
|
@ -7,12 +7,14 @@ import {prompt} from "scripts/prompt";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
import {fitScaleBar} from "modules/measurers";
|
import {fitScaleBar} from "modules/measurers";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function open() {
|
export function open() {
|
||||||
closeDialogs("#unitsEditor, .stable");
|
closeDialogs("#unitsEditor, .stable");
|
||||||
$("#unitsEditor").dialog();
|
$("#unitsEditor").dialog();
|
||||||
|
|
||||||
if (fmg.modules.editUnits) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editUnits = true;
|
isLoaded = true;
|
||||||
|
|
||||||
$("#unitsEditor").dialog({
|
$("#unitsEditor").dialog({
|
||||||
title: "Units Editor",
|
title: "Units Editor",
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ const dialogsMap = {
|
||||||
coastlineEditor: "coastline-editor",
|
coastlineEditor: "coastline-editor",
|
||||||
culturesEditor: "cultures-editor",
|
culturesEditor: "cultures-editor",
|
||||||
diplomacyEditor: "diplomacy-editor",
|
diplomacyEditor: "diplomacy-editor",
|
||||||
|
emblemEditor: "emblem-editor",
|
||||||
|
heightmapEditor: "heightmap-editor",
|
||||||
heightmapSelection: "heightmap-selection",
|
heightmapSelection: "heightmap-selection",
|
||||||
hierarchyTree: "hierarchy-tree",
|
hierarchyTree: "hierarchy-tree",
|
||||||
religionsEditor: "religions-editor",
|
religionsEditor: "religions-editor",
|
||||||
|
|
|
||||||
|
|
@ -14,10 +14,6 @@ import {addGlobalListeners} from "./scripts/listeners";
|
||||||
import {checkForUpdates} from "./scripts/updater";
|
import {checkForUpdates} from "./scripts/updater";
|
||||||
import {getInputNumber} from "utils/nodeUtils";
|
import {getInputNumber} from "utils/nodeUtils";
|
||||||
|
|
||||||
window.fmg = {
|
|
||||||
modules: {}
|
|
||||||
};
|
|
||||||
|
|
||||||
// default options
|
// default options
|
||||||
options = {
|
options = {
|
||||||
pinNotes: false,
|
pinNotes: false,
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ import {capitalize} from "utils/stringUtils";
|
||||||
import {getAdjective, list} from "utils/languageUtils";
|
import {getAdjective, list} from "utils/languageUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export class Battle {
|
export class Battle {
|
||||||
constructor(attacker, defender) {
|
constructor(attacker, defender) {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
|
|
@ -42,8 +44,8 @@ export class Battle {
|
||||||
close: () => Battle.prototype.context.cancelResults()
|
close: () => Battle.prototype.context.cancelResults()
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.Battle) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.Battle = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("battleType").addEventListener("click", ev => this.toggleChange(ev));
|
document.getElementById("battleType").addEventListener("click", ev => this.toggleChange(ev));
|
||||||
|
|
|
||||||
|
|
@ -421,6 +421,5 @@ function showElevationProfile(data, routeLen, isRiver) {
|
||||||
document.getElementById("epCurve").removeEventListener("change", draw);
|
document.getElementById("epCurve").removeEventListener("change", draw);
|
||||||
document.getElementById("epSave").removeEventListener("click", downloadCSV);
|
document.getElementById("epSave").removeEventListener("click", downloadCSV);
|
||||||
document.getElementById("elevationGraph").innerHTML = "";
|
document.getElementById("elevationGraph").innerHTML = "";
|
||||||
fmg.modules.elevation = false;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import {ra} from "utils/probabilityUtils";
|
||||||
import {parseTransform} from "utils/stringUtils";
|
import {parseTransform} from "utils/stringUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editIce() {
|
export function editIce() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs(".stable");
|
closeDialogs(".stable");
|
||||||
|
|
@ -26,8 +28,8 @@ export function editIce() {
|
||||||
close: closeEditor
|
close: closeEditor
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editIce) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editIce = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("iceEditStyle").addEventListener("click", () => editStyle("ice"));
|
document.getElementById("iceEditStyle").addEventListener("click", () => editStyle("ice"));
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ import {tip, showMainTip} from "scripts/tooltips";
|
||||||
import {round, parseTransform} from "utils/stringUtils";
|
import {round, parseTransform} from "utils/stringUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editLabel() {
|
export function editLabel() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs();
|
closeDialogs();
|
||||||
|
|
@ -26,8 +28,8 @@ export function editLabel() {
|
||||||
selectLabelGroup(text);
|
selectLabelGroup(text);
|
||||||
updateValues(textPath);
|
updateValues(textPath);
|
||||||
|
|
||||||
if (fmg.modules.editLabel) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editLabel = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("labelGroupShow").addEventListener("click", showGroupSection);
|
document.getElementById("labelGroupShow").addEventListener("click", showGroupSection);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import {rand} from "utils/probabilityUtils";
|
||||||
import {round} from "utils/stringUtils";
|
import {round} from "utils/stringUtils";
|
||||||
import {getArea, getAreaUnit, getHeight, si} from "utils/unitUtils";
|
import {getArea, getAreaUnit, getHeight, si} from "utils/unitUtils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editLake() {
|
export function editLake() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs(".stable");
|
closeDialogs(".stable");
|
||||||
|
|
@ -28,8 +30,8 @@ export function editLake() {
|
||||||
drawLakeVertices();
|
drawLakeVertices();
|
||||||
viewbox.on("touchmove mousemove", null);
|
viewbox.on("touchmove mousemove", null);
|
||||||
|
|
||||||
if (fmg.modules.editLake) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editLake = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("lakeName").addEventListener("input", changeName);
|
document.getElementById("lakeName").addEventListener("input", changeName);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import {capitalize} from "utils/stringUtils";
|
||||||
import {si} from "utils/unitUtils";
|
import {si} from "utils/unitUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function overviewMilitary() {
|
export function overviewMilitary() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs("#militaryOverview, .stable");
|
closeDialogs("#militaryOverview, .stable");
|
||||||
|
|
@ -18,8 +20,9 @@ export function overviewMilitary() {
|
||||||
addLines();
|
addLines();
|
||||||
$("#militaryOverview").dialog();
|
$("#militaryOverview").dialog();
|
||||||
|
|
||||||
if (fmg.modules.overviewMilitary) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.overviewMilitary = true;
|
isLoaded = true;
|
||||||
|
|
||||||
updateHeaders();
|
updateHeaders();
|
||||||
|
|
||||||
$("#militaryOverview").dialog({
|
$("#militaryOverview").dialog({
|
||||||
|
|
@ -243,6 +246,8 @@ export function overviewMilitary() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isCustomizeLoaded = false;
|
||||||
|
|
||||||
function militaryCustomize() {
|
function militaryCustomize() {
|
||||||
const types = ["melee", "ranged", "mounted", "machinery", "naval", "armored", "aviation", "magical"];
|
const types = ["melee", "ranged", "mounted", "machinery", "naval", "armored", "aviation", "magical"];
|
||||||
const tableBody = document.getElementById("militaryOptions").querySelector("tbody");
|
const tableBody = document.getElementById("militaryOptions").querySelector("tbody");
|
||||||
|
|
@ -282,8 +287,8 @@ export function overviewMilitary() {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.overviewMilitaryCustomize) return;
|
if (isCustomizeLoaded) return;
|
||||||
fmg.modules.overviewMilitaryCustomize = true;
|
isCustomizeLoaded = true;
|
||||||
|
|
||||||
tableBody.addEventListener("click", event => {
|
tableBody.addEventListener("click", event => {
|
||||||
const el = event.target;
|
const el = event.target;
|
||||||
|
|
|
||||||
|
|
@ -6,13 +6,15 @@ import {openURL} from "utils/linkUtils";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editNamesbase() {
|
export function editNamesbase() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs("#namesbaseEditor, .stable");
|
closeDialogs("#namesbaseEditor, .stable");
|
||||||
$("#namesbaseEditor").dialog();
|
$("#namesbaseEditor").dialog();
|
||||||
|
|
||||||
if (fmg.modules.editNamesbase) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editNamesbase = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("namesbaseSelect").addEventListener("change", updateInputs);
|
document.getElementById("namesbaseSelect").addEventListener("change", updateInputs);
|
||||||
|
|
|
||||||
|
|
@ -1,5 +1,7 @@
|
||||||
import {tip} from "scripts/tooltips";
|
import {tip} from "scripts/tooltips";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editNotes(id, name) {
|
export function editNotes(id, name) {
|
||||||
// elements
|
// elements
|
||||||
const notesLegend = document.getElementById("notesLegend");
|
const notesLegend = document.getElementById("notesLegend");
|
||||||
|
|
@ -49,8 +51,8 @@ export function editNotes(id, name) {
|
||||||
});
|
});
|
||||||
$("[aria-describedby='notesEditor']").css("top", "10vh");
|
$("[aria-describedby='notesEditor']").css("top", "10vh");
|
||||||
|
|
||||||
if (modules.editNotes) return;
|
if (isLoaded) return;
|
||||||
modules.editNotes = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("notesSelect").addEventListener("change", changeElement);
|
document.getElementById("notesSelect").addEventListener("change", changeElement);
|
||||||
|
|
|
||||||
|
|
@ -974,6 +974,8 @@ function resize3d() {
|
||||||
ThreeD.redraw();
|
ThreeD.redraw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
function toggle3dOptions() {
|
function toggle3dOptions() {
|
||||||
if (options3dUpdate.offsetParent) {
|
if (options3dUpdate.offsetParent) {
|
||||||
$("#options3d").dialog("close");
|
$("#options3d").dialog("close");
|
||||||
|
|
@ -988,8 +990,8 @@ function toggle3dOptions() {
|
||||||
|
|
||||||
updateValues();
|
updateValues();
|
||||||
|
|
||||||
if (fmg.modules.options3d) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.options3d = true;
|
isLoaded = true;
|
||||||
|
|
||||||
document.getElementById("options3dUpdate").addEventListener("click", ThreeD.update);
|
document.getElementById("options3dUpdate").addEventListener("click", ThreeD.update);
|
||||||
document.getElementById("options3dSave").addEventListener("click", ThreeD.saveScreenshot);
|
document.getElementById("options3dSave").addEventListener("click", ThreeD.saveScreenshot);
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
import * as d3 from "d3";
|
import * as d3 from "d3";
|
||||||
|
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
import {openDialog} from "dialogs";
|
||||||
import {turnLayerButtonOff} from "layers";
|
import {turnLayerButtonOff} from "layers";
|
||||||
import {restoreDefaultEvents} from "scripts/events";
|
import {restoreDefaultEvents} from "scripts/events";
|
||||||
import {clearMainTip, showMainTip, tip} from "scripts/tooltips";
|
import {clearMainTip, showMainTip, tip} from "scripts/tooltips";
|
||||||
|
|
@ -13,6 +14,8 @@ import {byId} from "utils/shorthands";
|
||||||
import {parseTransform} from "utils/stringUtils";
|
import {parseTransform} from "utils/stringUtils";
|
||||||
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editProvinces() {
|
export function editProvinces() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs("#provincesEditor, .stable");
|
closeDialogs("#provincesEditor, .stable");
|
||||||
|
|
@ -25,8 +28,8 @@ export function editProvinces() {
|
||||||
const body = byId("provincesBodySection");
|
const body = byId("provincesBodySection");
|
||||||
refreshProvincesEditor();
|
refreshProvincesEditor();
|
||||||
|
|
||||||
if (fmg.modules.editProvinces) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editProvinces = true;
|
isLoaded = true;
|
||||||
|
|
||||||
$("#provincesEditor").dialog({
|
$("#provincesEditor").dialog({
|
||||||
title: "Provinces Editor",
|
title: "Provinces Editor",
|
||||||
|
|
@ -61,7 +64,8 @@ export function editProvinces() {
|
||||||
|
|
||||||
if (el.tagName === "FILL-BOX") changeFill(el);
|
if (el.tagName === "FILL-BOX") changeFill(el);
|
||||||
else if (cl.contains("name")) editProvinceName(p);
|
else if (cl.contains("name")) editProvinceName(p);
|
||||||
else if (cl.contains("coaIcon")) editEmblem("province", "provinceCOA" + p, pack.provinces[p]);
|
else if (cl.contains("coaIcon"))
|
||||||
|
openDialog("emblemEditor", null, {type: "province", id: "provinceCOA" + p, el: pack.provinces[p]});
|
||||||
else if (cl.contains("icon-star-empty")) capitalZoomIn(p);
|
else if (cl.contains("icon-star-empty")) capitalZoomIn(p);
|
||||||
else if (cl.contains("icon-flag-empty")) triggerIndependencePromps(p);
|
else if (cl.contains("icon-flag-empty")) triggerIndependencePromps(p);
|
||||||
else if (cl.contains("culturePopulation")) changePopulation(p);
|
else if (cl.contains("culturePopulation")) changePopulation(p);
|
||||||
|
|
@ -506,6 +510,8 @@ export function editProvinces() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isNameEditorLoaded = false;
|
||||||
|
|
||||||
function editProvinceName(province) {
|
function editProvinceName(province) {
|
||||||
const p = pack.provinces[province];
|
const p = pack.provinces[province];
|
||||||
byId("provinceNameEditor").dataset.province = province;
|
byId("provinceNameEditor").dataset.province = province;
|
||||||
|
|
@ -528,8 +534,8 @@ export function editProvinces() {
|
||||||
position: {my: "center", at: "center", of: "svg"}
|
position: {my: "center", at: "center", of: "svg"}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editProvinceName) return;
|
if (isNameEditorLoaded) return;
|
||||||
fmg.modules.editProvinceName = true;
|
isNameEditorLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
byId("provinceNameEditorShortCulture").addEventListener("click", regenerateShortNameCuture);
|
byId("provinceNameEditorShortCulture").addEventListener("click", regenerateShortNameCuture);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import {rn} from "utils/numberUtils";
|
||||||
import {capitalize} from "utils/stringUtils";
|
import {capitalize} from "utils/stringUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editRegiment(selector) {
|
export function editRegiment(selector) {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs(".stable");
|
closeDialogs(".stable");
|
||||||
|
|
@ -28,8 +30,8 @@ export function editRegiment(selector) {
|
||||||
position: {my: "left top", at: "left+10 top+10", of: "#map"}
|
position: {my: "left top", at: "left+10 top+10", of: "#map"}
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editRegiment) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editRegiment = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("regimentNameRestore").addEventListener("click", restoreName);
|
document.getElementById("regimentNameRestore").addEventListener("click", restoreName);
|
||||||
|
|
|
||||||
|
|
@ -8,6 +8,8 @@ import {capitalize} from "utils/stringUtils";
|
||||||
import {si} from "utils/unitUtils";
|
import {si} from "utils/unitUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function overviewRegiments(state) {
|
export function overviewRegiments(state) {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs(".stable");
|
closeDialogs(".stable");
|
||||||
|
|
@ -18,8 +20,9 @@ export function overviewRegiments(state) {
|
||||||
addLines();
|
addLines();
|
||||||
$("#regimentsOverview").dialog();
|
$("#regimentsOverview").dialog();
|
||||||
|
|
||||||
if (fmg.modules.overviewRegiments) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.overviewRegiments = true;
|
isLoaded = true;
|
||||||
|
|
||||||
updateHeaders();
|
updateHeaders();
|
||||||
|
|
||||||
$("#regimentsOverview").dialog({
|
$("#regimentsOverview").dialog({
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,8 @@ import {tip, showMainTip, clearMainTip} from "scripts/tooltips";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editReliefIcon() {
|
export function editReliefIcon() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs(".stable");
|
closeDialogs(".stable");
|
||||||
|
|
@ -26,8 +28,8 @@ export function editReliefIcon() {
|
||||||
close: closeReliefEditor
|
close: closeReliefEditor
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editReliefIcon) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editReliefIcon = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("reliefIndividual").addEventListener("click", enterIndividualMode);
|
document.getElementById("reliefIndividual").addEventListener("click", enterIndividualMode);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import {tip, clearMainTip} from "scripts/tooltips";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function createRiver() {
|
export function createRiver() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs();
|
closeDialogs();
|
||||||
|
|
@ -29,8 +31,8 @@ export function createRiver() {
|
||||||
close: closeRiverCreator
|
close: closeRiverCreator
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.createRiver) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.createRiver = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("riverCreatorComplete").addEventListener("click", addRiver);
|
document.getElementById("riverCreatorComplete").addEventListener("click", addRiver);
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import {rn} from "utils/numberUtils";
|
||||||
import {rand} from "utils/probabilityUtils";
|
import {rand} from "utils/probabilityUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editRiver(id) {
|
export function editRiver(id) {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
if (elSelected && id === elSelected.attr("id")) return;
|
if (elSelected && id === elSelected.attr("id")) return;
|
||||||
|
|
@ -40,8 +42,8 @@ export function editRiver(id) {
|
||||||
close: closeRiverEditor
|
close: closeRiverEditor
|
||||||
});
|
});
|
||||||
|
|
||||||
if (fmg.modules.editRiver) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editRiver = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("riverCreateSelectingCells").addEventListener("click", createRiver);
|
document.getElementById("riverCreateSelectingCells").addEventListener("click", createRiver);
|
||||||
|
|
@ -173,7 +175,7 @@ export function editRiver(id) {
|
||||||
elSelected.attr("d", path);
|
elSelected.attr("d", path);
|
||||||
|
|
||||||
updateRiverLength(river);
|
updateRiverLength(river);
|
||||||
if (fmg.modules.elevation) showEPForRiver(elSelected.node());
|
// TODO: check visibility showEPForRiver(elSelected.node());
|
||||||
}
|
}
|
||||||
|
|
||||||
function addControlPoint() {
|
function addControlPoint() {
|
||||||
|
|
@ -237,7 +239,6 @@ export function editRiver(id) {
|
||||||
}
|
}
|
||||||
|
|
||||||
function showElevationProfile() {
|
function showElevationProfile() {
|
||||||
fmg.modules.elevation = true;
|
|
||||||
showEPForRiver(elSelected.node());
|
showEPForRiver(elSelected.node());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,8 @@ import * as d3 from "d3";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function overviewRivers() {
|
export function overviewRivers() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
closeDialogs("#riversOverview, .stable");
|
closeDialogs("#riversOverview, .stable");
|
||||||
|
|
@ -12,8 +14,8 @@ export function overviewRivers() {
|
||||||
riversOverviewAddLines();
|
riversOverviewAddLines();
|
||||||
$("#riversOverview").dialog();
|
$("#riversOverview").dialog();
|
||||||
|
|
||||||
if (fmg.modules.overviewRivers) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.overviewRivers = true;
|
isLoaded = true;
|
||||||
|
|
||||||
$("#riversOverview").dialog({
|
$("#riversOverview").dialog({
|
||||||
title: "Rivers Overview",
|
title: "Rivers Overview",
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@ import {getNextId} from "utils/nodeUtils";
|
||||||
import {round} from "utils/stringUtils";
|
import {round} from "utils/stringUtils";
|
||||||
import {closeDialogs} from "dialogs/utils";
|
import {closeDialogs} from "dialogs/utils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editRoute(onClick) {
|
export function editRoute(onClick) {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
if (!onClick && elSelected && d3.event.target.id === elSelected.attr("id")) return;
|
if (!onClick && elSelected && d3.event.target.id === elSelected.attr("id")) return;
|
||||||
|
|
@ -29,8 +31,8 @@ export function editRoute(onClick) {
|
||||||
viewbox.on("touchmove mousemove", showEditorTips);
|
viewbox.on("touchmove mousemove", showEditorTips);
|
||||||
if (onClick) toggleRouteCreationMode();
|
if (onClick) toggleRouteCreationMode();
|
||||||
|
|
||||||
if (fmg.modules.editRoute) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editRoute = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("routeGroupsShow").addEventListener("click", showGroupSection);
|
document.getElementById("routeGroupsShow").addEventListener("click", showGroupSection);
|
||||||
|
|
@ -106,11 +108,10 @@ export function editRoute(onClick) {
|
||||||
const l = elSelected.node().getTotalLength();
|
const l = elSelected.node().getTotalLength();
|
||||||
routeLength.innerHTML = rn(l * distanceScaleInput.value) + " " + distanceUnitInput.value;
|
routeLength.innerHTML = rn(l * distanceScaleInput.value) + " " + distanceUnitInput.value;
|
||||||
|
|
||||||
if (fmg.modules.elevation) showEPForRoute(elSelected.node());
|
// TODO: check visibility showEPForRoute(elSelected.node());
|
||||||
}
|
}
|
||||||
|
|
||||||
function showElevationProfile() {
|
function showElevationProfile() {
|
||||||
fmg.modules.elevation = true;
|
|
||||||
showEPForRoute(elSelected.node());
|
showEPForRoute(elSelected.node());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -131,6 +131,8 @@ function applyStyleWithUiRefresh(style) {
|
||||||
setPresetRemoveButtonVisibiliy();
|
setPresetRemoveButtonVisibiliy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
function addStylePreset() {
|
function addStylePreset() {
|
||||||
$("#styleSaver").dialog({title: "Style Saver", width: "26em", position: {my: "center", at: "center", of: "svg"}});
|
$("#styleSaver").dialog({title: "Style Saver", width: "26em", position: {my: "center", at: "center", of: "svg"}});
|
||||||
|
|
||||||
|
|
@ -139,8 +141,8 @@ function addStylePreset() {
|
||||||
styleSaverJSON.value = JSON.stringify(collectStyleData(), null, 2);
|
styleSaverJSON.value = JSON.stringify(collectStyleData(), null, 2);
|
||||||
checkName();
|
checkName();
|
||||||
|
|
||||||
if (fmg.modules.saveStyle) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.saveStyle = true;
|
isLoaded = true;
|
||||||
|
|
||||||
// add listeners
|
// add listeners
|
||||||
document.getElementById("styleSaverName").addEventListener("input", checkName);
|
document.getElementById("styleSaverName").addEventListener("input", checkName);
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ async function openEmblemEditor() {
|
||||||
}
|
}
|
||||||
|
|
||||||
await COArenderer.trigger(id, el.coa);
|
await COArenderer.trigger(id, el.coa);
|
||||||
editEmblem(type, id, el);
|
openDialog("emblemEditor", null, {type, id, el});
|
||||||
}
|
}
|
||||||
|
|
||||||
function regenerateRivers() {
|
function regenerateRivers() {
|
||||||
|
|
|
||||||
|
|
@ -4,6 +4,8 @@ import {tip} from "scripts/tooltips";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {round, parseTransform} from "utils/stringUtils";
|
import {round, parseTransform} from "utils/stringUtils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editWorld() {
|
export function editWorld() {
|
||||||
if (customization) return;
|
if (customization) return;
|
||||||
$("#worldConfigurator").dialog({
|
$("#worldConfigurator").dialog({
|
||||||
|
|
@ -40,8 +42,8 @@ export function editWorld() {
|
||||||
updateGlobeTemperature();
|
updateGlobeTemperature();
|
||||||
updateGlobePosition();
|
updateGlobePosition();
|
||||||
|
|
||||||
if (fmg.modules.editWorld) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editWorld = true;
|
isLoaded = true;
|
||||||
|
|
||||||
document.getElementById("worldControls").addEventListener("input", e => updateWorld(e.target));
|
document.getElementById("worldControls").addEventListener("input", e => updateWorld(e.target));
|
||||||
globe.select("#globeWindArrows").on("click", changeWind);
|
globe.select("#globeWindArrows").on("click", changeWind);
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,8 @@ import {getNextId} from "utils/nodeUtils";
|
||||||
import {rn} from "utils/numberUtils";
|
import {rn} from "utils/numberUtils";
|
||||||
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
import {getArea, getAreaUnit, si} from "utils/unitUtils";
|
||||||
|
|
||||||
|
let isLoaded = false;
|
||||||
|
|
||||||
export function editZones() {
|
export function editZones() {
|
||||||
closeDialogs();
|
closeDialogs();
|
||||||
if (!layerIsOn("toggleZones")) toggleZones();
|
if (!layerIsOn("toggleZones")) toggleZones();
|
||||||
|
|
@ -17,8 +19,8 @@ export function editZones() {
|
||||||
updateFilters();
|
updateFilters();
|
||||||
zonesEditorAddLines();
|
zonesEditorAddLines();
|
||||||
|
|
||||||
if (fmg.modules.editZones) return;
|
if (isLoaded) return;
|
||||||
fmg.modules.editZones = true;
|
isLoaded = true;
|
||||||
|
|
||||||
$("#zonesEditor").dialog({
|
$("#zonesEditor").dialog({
|
||||||
title: "Zones Editor",
|
title: "Zones Editor",
|
||||||
|
|
|
||||||
|
|
@ -30,7 +30,7 @@ function clicked() {
|
||||||
const p = d3.mouse(this);
|
const p = d3.mouse(this);
|
||||||
const i = findCell(p[0], p[1]);
|
const i = findCell(p[0], p[1]);
|
||||||
|
|
||||||
if (grand.id === "emblems") editEmblem();
|
if (grand.id === "emblems") openDialog("emblemEditor", null, defineEmblemData(+el.dataset.i, parent));
|
||||||
else if (parent.id === "rivers") editRiver(el.id);
|
else if (parent.id === "rivers") editRiver(el.id);
|
||||||
else if (grand.id === "routes") editRoute();
|
else if (grand.id === "routes") editRoute();
|
||||||
else if (el.tagName === "tspan" && grand.parentNode.parentNode.id === "labels") editLabel();
|
else if (el.tagName === "tspan" && grand.parentNode.parentNode.id === "labels") editLabel();
|
||||||
|
|
@ -45,6 +45,16 @@ function clicked() {
|
||||||
} else if (grand.id === "lakes") editLake();
|
} else if (grand.id === "lakes") editLake();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function defineEmblemData(i, parent) {
|
||||||
|
const [g, type] =
|
||||||
|
parent.id === "burgEmblems"
|
||||||
|
? [pack.burgs, "burg"]
|
||||||
|
: parent.id === "provinceEmblems"
|
||||||
|
? [pack.provinces, "province"]
|
||||||
|
: [pack.states, "state"];
|
||||||
|
return {type, id: type + "COA" + i, el: g[i]};
|
||||||
|
}
|
||||||
|
|
||||||
const onMouseMove = debounce(handleMouseMove, 100);
|
const onMouseMove = debounce(handleMouseMove, 100);
|
||||||
function handleMouseMove() {
|
function handleMouseMove() {
|
||||||
const point = d3.mouse(this);
|
const point = d3.mouse(this);
|
||||||
|
|
|
||||||
5
src/types/overrides.d.ts
vendored
5
src/types/overrides.d.ts
vendored
|
|
@ -5,11 +5,6 @@ interface Navigator {
|
||||||
}
|
}
|
||||||
|
|
||||||
interface Window {
|
interface Window {
|
||||||
fmg: {
|
|
||||||
modules: {
|
|
||||||
[key: string]: boolean;
|
|
||||||
};
|
|
||||||
};
|
|
||||||
mapCoordinates: IMapCoordinates;
|
mapCoordinates: IMapCoordinates;
|
||||||
// untyped IIFE modules
|
// untyped IIFE modules
|
||||||
$: typeof $;
|
$: typeof $;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue