diff --git a/modules/dynamic/editors/cultures-editor.js b/modules/dynamic/editors/cultures-editor.js index c13e8e74..c6a32be5 100644 --- a/modules/dynamic/editors/cultures-editor.js +++ b/modules/dynamic/editors/cultures-editor.js @@ -4,6 +4,7 @@ import {tip, showMainTip, clearMainTip} from "/src/scripts/tooltips"; import {byId} from "/src/utils/shorthands"; import {rn} from "/src/utils/numberUtils"; import {capitalize} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; const $body = insertEditorHtml(); addListeners(); diff --git a/modules/dynamic/editors/religions-editor.js b/modules/dynamic/editors/religions-editor.js index fd173e20..3f8a035b 100644 --- a/modules/dynamic/editors/religions-editor.js +++ b/modules/dynamic/editors/religions-editor.js @@ -3,6 +3,7 @@ import {findAll, findCell, getPackPolygon, isLand} from "/src/utils/graphUtils"; import {tip, showMainTip, clearMainTip} from "/src/scripts/tooltips"; import {byId} from "/src/utils/shorthands"; import {rn} from "/src/utils/numberUtils"; +import {si} from "@/utils/unitUtils"; const $body = insertEditorHtml(); addListeners(); diff --git a/modules/dynamic/editors/states-editor.js b/modules/dynamic/editors/states-editor.js index d8267560..c5e2a3e1 100644 --- a/modules/dynamic/editors/states-editor.js +++ b/modules/dynamic/editors/states-editor.js @@ -5,6 +5,7 @@ import {tip, showMainTip, clearMainTip} from "/src/scripts/tooltips"; import {getRandomColor, getMixedColor} from "/src/utils/colorUtils"; import {rn} from "/src/utils/numberUtils"; import {rand, P} from "@/utils/probabilityUtils"; +import {si} from "@/utils/unitUtils"; const $body = insertEditorHtml(); addListeners(); diff --git a/modules/dynamic/overview/charts-overview.js b/modules/dynamic/overview/charts-overview.js index 7e64b850..e2558a02 100644 --- a/modules/dynamic/overview/charts-overview.js +++ b/modules/dynamic/overview/charts-overview.js @@ -4,6 +4,7 @@ import {tip} from "/src/scripts/tooltips"; import {byId} from "/src/utils/shorthands"; import {rn} from "/src/utils/numberUtils"; import {capitalize} from "@/utils/stringUtils"; +import {si, convertTemperature} from "@/utils/unitUtils"; const entitiesMap = { states: { diff --git a/modules/markers-generator.js b/modules/markers-generator.js index 2e7ad4dd..2e89510e 100644 --- a/modules/markers-generator.js +++ b/modules/markers-generator.js @@ -4,6 +4,7 @@ import {last} from "/src/utils/arrayUtils"; import {rn} from "/src/utils/numberUtils"; import {rand, P, gauss, ra, rw} from "@/utils/probabilityUtils"; import {capitalize} from "@/utils/stringUtils"; +import {convertTemperature} from "@/utils/unitUtils"; window.Markers = (function () { let config = []; diff --git a/modules/military-generator.js b/modules/military-generator.js index 69157aea..cbc67f78 100644 --- a/modules/military-generator.js +++ b/modules/military-generator.js @@ -1,6 +1,7 @@ import {TIME} from "/src/config/logging"; import {rn, minmax} from "/src/utils/numberUtils"; import {rand, gauss, ra} from "@/utils/probabilityUtils"; +import {si} from "@/utils/unitUtils"; window.Military = (function () { const generate = function () { diff --git a/modules/ui/biomes-editor.js b/modules/ui/biomes-editor.js index 9014f569..8fcbbb8a 100644 --- a/modules/ui/biomes-editor.js +++ b/modules/ui/biomes-editor.js @@ -4,6 +4,7 @@ import {tip, showMainTip, clearMainTip} from "/src/scripts/tooltips"; import {getRandomColor} from "/src/utils/colorUtils"; import {openURL} from "@/utils/linkUtils"; import {rn} from "/src/utils/numberUtils"; +import {si} from "@/utils/unitUtils"; export function editBiomes() { if (customization) return; diff --git a/modules/ui/burgs-overview.js b/modules/ui/burgs-overview.js index abd435ca..ae41d670 100644 --- a/modules/ui/burgs-overview.js +++ b/modules/ui/burgs-overview.js @@ -3,6 +3,7 @@ import {findCell} from "/src/utils/graphUtils"; import {tip, clearMainTip} from "/src/scripts/tooltips"; import {getCoordinates} from "@/utils/coordinateUtils"; import {rn} from "/src/utils/numberUtils"; +import {si, siToInteger} from "@/utils/unitUtils"; export function overviewBurgs() { if (customization) return; @@ -202,7 +203,7 @@ export function overviewBurgs() { this.value = si(this.value); const population = []; - body.querySelectorAll(":scope > div").forEach(el => population.push(+getInteger(el.dataset.population))); + body.querySelectorAll(":scope > div").forEach(el => population.push(siToInteger(el.dataset.population))); burgsFooterPopulation.innerHTML = si(d3.mean(population)); } diff --git a/modules/ui/coastline-editor.js b/modules/ui/coastline-editor.js index a092bb45..62a02c26 100644 --- a/modules/ui/coastline-editor.js +++ b/modules/ui/coastline-editor.js @@ -3,6 +3,7 @@ import {tip} from "/src/scripts/tooltips"; import {clipPoly} from "@/utils/lineUtils"; import {rn} from "/src/utils/numberUtils"; import {round} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export function editCoastline(node = d3.event.target) { if (customization) return; diff --git a/modules/ui/general.js b/modules/ui/general.js index 645c1cbd..c253a688 100644 --- a/modules/ui/general.js +++ b/modules/ui/general.js @@ -2,6 +2,7 @@ import {findCell, findGridCell} from "/src/utils/graphUtils"; import {rn} from "/src/utils/numberUtils"; import {link} from "@/utils/linkUtils"; import {getCoordinates, toDMS} from "@/utils/coordinateUtils"; +import {si} from "@/utils/unitUtils"; // fit full-screen map if window is resized window.addEventListener("resize", function (e) { diff --git a/modules/ui/lakes-editor.js b/modules/ui/lakes-editor.js index 12e61db1..af0ce844 100644 --- a/modules/ui/lakes-editor.js +++ b/modules/ui/lakes-editor.js @@ -3,6 +3,7 @@ import {tip} from "/src/scripts/tooltips"; import {rn} from "/src/utils/numberUtils"; import {rand} from "@/utils/probabilityUtils"; import {round} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export function editLake() { if (customization) return; diff --git a/modules/ui/layers.js b/modules/ui/layers.js index 80b2375a..493422dd 100644 --- a/modules/ui/layers.js +++ b/modules/ui/layers.js @@ -10,6 +10,7 @@ import {rn, minmax, normalize} from "/src/utils/numberUtils"; import {isCtrlClick} from "@/utils/keyboardUtils"; import {prompt} from "@/scripts/prompt"; import {rand, P} from "@/utils/probabilityUtils"; +import {convertTemperature} from "@/utils/unitUtils"; let presets = {}; restoreCustomPresets(); // run on-load diff --git a/modules/ui/military-overview.js b/modules/ui/military-overview.js index 3ae4c96c..452b6cff 100644 --- a/modules/ui/military-overview.js +++ b/modules/ui/military-overview.js @@ -2,6 +2,7 @@ import {tip} from "/src/scripts/tooltips"; import {wiki} from "@/utils/linkUtils"; import {rn} from "/src/utils/numberUtils"; import {capitalize} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export function overviewMilitary() { if (customization) return; diff --git a/modules/ui/provinces-editor.js b/modules/ui/provinces-editor.js index f02b4a87..6d16f7d0 100644 --- a/modules/ui/provinces-editor.js +++ b/modules/ui/provinces-editor.js @@ -6,6 +6,7 @@ import {getRandomColor} from "/src/utils/colorUtils"; import {rn} from "/src/utils/numberUtils"; import {rand, P} from "@/utils/probabilityUtils"; import {parseTransform} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export function editProvinces() { if (customization) return; diff --git a/modules/ui/regiments-overview.js b/modules/ui/regiments-overview.js index 56fa38b1..59a0ff8b 100644 --- a/modules/ui/regiments-overview.js +++ b/modules/ui/regiments-overview.js @@ -3,6 +3,7 @@ import {last} from "/src/utils/arrayUtils"; import {tip, clearMainTip} from "/src/scripts/tooltips"; import {rn} from "/src/utils/numberUtils"; import {capitalize} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export function overviewRegiments(state) { if (customization) return; diff --git a/modules/ui/temperature-graph.js b/modules/ui/temperature-graph.js index 2f9e7238..6fae24a6 100644 --- a/modules/ui/temperature-graph.js +++ b/modules/ui/temperature-graph.js @@ -1,6 +1,7 @@ import {tip} from "/src/scripts/tooltips"; import {rn} from "/src/utils/numberUtils"; import {round} from "@/utils/stringUtils"; +import {convertTemperature} from "@/utils/unitUtils"; export function showBurgTemperatureGraph(id) { const b = pack.burgs[id]; diff --git a/modules/ui/zones-editor.js b/modules/ui/zones-editor.js index 25273494..81051aba 100644 --- a/modules/ui/zones-editor.js +++ b/modules/ui/zones-editor.js @@ -4,6 +4,7 @@ import {unique} from "/src/utils/arrayUtils"; import {tip, showMainTip, clearMainTip} from "/src/scripts/tooltips"; import {rn} from "/src/utils/numberUtils"; import {getNextId} from "@/utils/nodeUtils"; +import {si} from "@/utils/unitUtils"; export function editZones() { closeDialogs(); diff --git a/src/modules/measurers.js b/src/modules/measurers.js index 6dbe2af2..8f637123 100644 --- a/src/modules/measurers.js +++ b/src/modules/measurers.js @@ -3,6 +3,7 @@ import {last} from "/src/utils/arrayUtils"; import {getSegmentId} from "@/utils/lineUtils"; import {rn} from "/src/utils/numberUtils"; import {round, parseTransform} from "@/utils/stringUtils"; +import {si} from "@/utils/unitUtils"; export class Rulers { constructor() { diff --git a/src/scripts/events.ts b/src/scripts/events.ts index 09e86afe..b353e8c0 100644 --- a/src/scripts/events.ts +++ b/src/scripts/events.ts @@ -1,6 +1,7 @@ import {dragLegendBox} from "../modules/legend"; import {findCell, findGridCell} from "../utils/graphUtils"; import {tip, showMainTip} from "./tooltips"; +import {si, convertTemperature} from "@/utils/unitUtils"; export function restoreDefaultEvents() { Zoom.setZoomBehavior(); diff --git a/src/utils/unitUtils.js b/src/utils/unitUtils.js index 12b9b84b..2938ae9f 100644 --- a/src/utils/unitUtils.js +++ b/src/utils/unitUtils.js @@ -12,13 +12,13 @@ const temperatureConversionMap = { "°Rø": temp => rn((temp * 21) / 40 + 7.5) + "°Rø" }; -function convertTemperature(temp) { +export function convertTemperature(temp) { const scale = temperatureScale.value || "°C"; return temperatureConversionMap[scale](temp); } -// corvent number to short string with SI postfix -function si(n) { +// corvert number to short string with SI postfix +export function si(n) { if (n >= 1e9) return rn(n / 1e9, 1) + "B"; if (n >= 1e8) return rn(n / 1e6) + "M"; if (n >= 1e6) return rn(n / 1e6, 1) + "M"; @@ -27,8 +27,8 @@ function si(n) { return rn(n); } -// getInteger number from user input data -function getInteger(value) { +// convert SI number to integer +export function siToInteger(value) { const metric = value.slice(-1); if (metric === "K") return parseInt(value.slice(0, -1) * 1e3); if (metric === "M") return parseInt(value.slice(0, -1) * 1e6);