diff --git a/index.html b/index.html
index 5df7f98f..7684c476 100644
--- a/index.html
+++ b/index.html
@@ -7867,7 +7867,7 @@
-
+
diff --git a/modules/dynamic/editors/cultures-editor.js b/modules/dynamic/editors/cultures-editor.js
index 44565449..3f8018d6 100644
--- a/modules/dynamic/editors/cultures-editor.js
+++ b/modules/dynamic/editors/cultures-editor.js
@@ -228,7 +228,7 @@ function culturesEditorAddLines() {
style="width: 5em">${si(population)}
${getShapeOptions(selectShape, c.shield)}
-
+
`;
}
@@ -251,7 +251,7 @@ function culturesEditorAddLines() {
$body.querySelectorAll("fill-box").forEach($el => $el.on("click", cultureChangeColor));
$body.querySelectorAll("div > input.cultureName").forEach($el => $el.on("input", cultureChangeName));
$body.querySelectorAll("div > span.icon-cw").forEach($el => $el.on("click", cultureRegenerateName));
- $body.querySelectorAll("div > input.cultureExpan").forEach($el => $el.on("input", cultureChangeExpansionism));
+ $body.querySelectorAll("div > input.cultureExpan").forEach($el => $el.on("change", cultureChangeExpansionism));
$body.querySelectorAll("div > select.cultureType").forEach($el => $el.on("change", cultureChangeType));
$body.querySelectorAll("div > select.cultureBase").forEach($el => $el.on("change", cultureChangeBase));
$body.querySelectorAll("div > select.cultureEmblems").forEach($el => $el.on("change", cultureChangeEmblemsShape));
@@ -666,17 +666,10 @@ async function showHierarchy() {
function recalculateCultures(must) {
if (!must && !culturesAutoChange.checked) return;
- pack.cells.culture = new Uint16Array(pack.cells.i.length);
- pack.cultures.forEach(function (c) {
- if (!c.i || c.removed) return;
- pack.cells.culture[c.center] = c.i;
- });
-
Cultures.expand();
drawCultures();
pack.burgs.forEach(b => (b.culture = pack.cells.culture[b.cell]));
refreshCulturesEditor();
- document.querySelector("input.cultureExpan").focus(); // to not trigger hotkeys
}
function enterCultureManualAssignent() {
diff --git a/modules/dynamic/editors/states-editor.js b/modules/dynamic/editors/states-editor.js
index 773d421d..87592706 100644
--- a/modules/dynamic/editors/states-editor.js
+++ b/modules/dynamic/editors/states-editor.js
@@ -163,8 +163,6 @@ function addListeners() {
const line = $element.parentNode;
const state = +line.dataset.id;
if (classList.contains("stateCapital")) stateChangeCapitalName(state, line, $element.value);
- else if (classList.contains("cultureType")) stateChangeType(state, line, $element.value);
- else if (classList.contains("statePower")) stateChangeExpansionism(state, line, $element.value);
});
$body.on("change", function (ev) {
@@ -173,6 +171,8 @@ function addListeners() {
const line = $element.parentNode;
const state = +line.dataset.id;
if (classList.contains("stateCulture")) stateChangeCulture(state, line, $element.value);
+ else if (classList.contains("cultureType")) stateChangeType(state, line, $element.value);
+ else if (classList.contains("statePower")) stateChangeExpansionism(state, line, $element.value);
});
}
diff --git a/modules/ui/editors.js b/modules/ui/editors.js
index 74ed5906..2d40c916 100644
--- a/modules/ui/editors.js
+++ b/modules/ui/editors.js
@@ -1176,13 +1176,13 @@ function refreshAllEditors() {
// dynamically loaded editors
async function editStates() {
if (customization) return;
- const Editor = await import("../dynamic/editors/states-editor.js?v=12062022");
+ const Editor = await import("../dynamic/editors/states-editor.js?v=1.89.02");
Editor.open();
}
async function editCultures() {
if (customization) return;
- const Editor = await import("../dynamic/editors/cultures-editor.js?v=1.88.06");
+ const Editor = await import("../dynamic/editors/cultures-editor.js?v=1.89.02");
Editor.open();
}
diff --git a/sw.js b/sw.js
index ce803d5b..4e214e8e 100644
--- a/sw.js
+++ b/sw.js
@@ -8,7 +8,10 @@ const {ExpirationPlugin} = workbox.expiration;
const DAY = 24 * 60 * 60;
const getPolitics = ({entries, days}) => {
- return [new CacheableResponsePlugin({statuses: [0, 200]}), new ExpirationPlugin({maxEntries: entries, maxAgeSeconds: days * DAY})];
+ return [
+ new CacheableResponsePlugin({statuses: [0, 200]}),
+ new ExpirationPlugin({maxEntries: entries, maxAgeSeconds: days * DAY})
+ ];
};
registerRoute(
@@ -21,7 +24,8 @@ registerRoute(
);
registerRoute(
- ({request, url}) => request.destination === "script" && !url.pathname.endsWith("min.js") && !url.pathname.includes("versioning.js"),
+ ({request, url}) =>
+ request.destination === "script" && !url.pathname.endsWith("min.js") && !url.pathname.includes("versioning.js"),
new CacheFirst({
cacheName: "fmg-scripts",
plugins: getPolitics({entries: 100, days: 30})
diff --git a/versioning.js b/versioning.js
index ae9969f2..b23bbd01 100644
--- a/versioning.js
+++ b/versioning.js
@@ -1,7 +1,7 @@
"use strict";
// version and caching control
-const version = "1.89.01"; // generator version, update each time
+const version = "1.89.02"; // generator version, update each time
{
document.title += " v" + version;