diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 00000000..fce7de98
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,10 @@
+{
+ "bracketSpacing": false,
+ "semi": true,
+ "tabWidth": 2,
+ "useTabs": false,
+ "printWidth": 220,
+ "singleQuote": true,
+ "trailingComma": "none",
+ "endOfLine": "lf"
+}
diff --git a/modules/ui/resources-editor.js b/modules/ui/resources-editor.js
index 840d15b1..dbc262bb 100644
--- a/modules/ui/resources-editor.js
+++ b/modules/ui/resources-editor.js
@@ -63,24 +63,37 @@ function editResources() {
if (bonus === 'cavalry') return ``;
}
- body.addEventListener("click", function (ev) {
+ body.addEventListener('click', function (ev) {
const el = ev.target,
cl = el.classList,
line = el.parentNode,
i = +line.dataset.id;
const resource = Resources.get(+line.dataset.id);
- if (cl.contains("resourceCategory")) return changeCategory(resource, line, el);
- if (cl.contains("resourceModel")) return changeModel(resource, line, el);
+ if (cl.contains('resourceCategory')) return changeCategory(resource, line, el);
+ if (cl.contains('resourceModel')) return changeModel(resource, line, el);
});
- body.addEventListener("change", function (ev) {
+ body.addEventListener('change', function (ev) {
const el = ev.target,
cl = el.classList,
line = el.parentNode;
const resource = Resources.get(+line.dataset.id);
- if (cl.contains("resourceName")) return changeName(resource, el.value, line);
+ if (cl.contains('resourceName')) return changeName(resource, el.value, line);
+ if (cl.contains('resourceValue')) return changeValue(resource, el.value, line);
+ if (cl.contains('resourceChance')) return changeChance(resource, el.value, line);
});
+ function getBonusIcon(bonus) {
+ if (bonus === 'fleet') return ``;
+ if (bonus === 'defence') return ``;
+ if (bonus === 'prestige') return ``;
+ if (bonus === 'artillery') return ``;
+ if (bonus === 'infantry') return ``;
+ if (bonus === 'population') return ``;
+ if (bonus === 'archers') return ``;
+ if (bonus === 'cavalry') return ``;
+ }
+
// add line for each resource
function resourcesEditorAddLines() {
const addTitle = (string, max) => (string.length < max ? '' : `title="${string}"`);
@@ -474,8 +487,8 @@ function editResources() {
}
function changeCategory(resource, line, el) {
- const categories = [...new Set(pack.resources.map(r => r.category))].sort();
- const categoryOptions = category => categories.map(c => ``).join("");
+ const categories = [...new Set(pack.resources.map((r) => r.category))].sort();
+ const categoryOptions = (category) => categories.map((c) => ``).join('');
alertMessage.innerHTML = `
@@ -489,23 +502,23 @@ function editResources() {
`;
- $("#alert").dialog({
+ $('#alert').dialog({
resizable: false,
- title: "Change category",
+ title: 'Change category',
buttons: {
Cancel: function () {
- $(this).dialog("close");
+ $(this).dialog('close');
},
Apply: function () {
applyChanges();
- $(this).dialog("close");
+ $(this).dialog('close');
}
}
});
function applyChanges() {
- const custom = document.getElementById("resouceCategoryAdd").value;
- const select = document.getElementById("resouceCategorySelect").value;
+ const custom = document.getElementById('resouceCategoryAdd').value;
+ const select = document.getElementById('resouceCategorySelect').value;
const category = custom ? capitalize(custom) : select;
resource.category = line.dataset.category = el.innerHTML = category;
}
@@ -514,8 +527,11 @@ function editResources() {
function changeModel(resource, line, el) {
const defaultModels = Resources.defaultModels;
const model = line.dataset.model;
- const modelOptions = Object.keys(defaultModels).sort().map(m => ``).join("");
- const wikiURL = "https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Resources:-spread-functions";
+ const modelOptions = Object.keys(defaultModels)
+ .sort()
+ .map((m) => ``)
+ .join('');
+ const wikiURL = 'https://github.com/Azgaar/Fantasy-Map-Generator/wiki/Resources:-spread-functions';
const onSelect = "resouceModelFunction.innerHTML = Resources.defaultModels[this.value] || ' '; resouceModelCustomName.value = ''; resouceModelCustomFunction.value = ''";
alertMessage.innerHTML = `
@@ -532,7 +548,7 @@ function editResources() {
Function:
- ${defaultModels[model] || " "}
+ ${defaultModels[model] || ' '}
@@ -553,13 +569,13 @@ function editResources() {
`;
- $("#alert").dialog({
+ $('#alert').dialog({
resizable: false,
- title: "Change spread model",
+ title: 'Change spread model',
buttons: {
Help: () => openURL(wikiURL),
Cancel: function () {
- $(this).dialog("close");
+ $(this).dialog('close');
},
Apply: function () {
applyChanges(this);
@@ -568,49 +584,61 @@ function editResources() {
});
function applyChanges(dialog) {
- const customName = document.getElementById("resouceModelCustomName").value;
- const customFn = document.getElementById("resouceModelCustomFunction").value;
+ const customName = document.getElementById('resouceModelCustomName').value;
+ const customFn = document.getElementById('resouceModelCustomFunction').value;
- const message = document.getElementById("resourceModelMessage");
- if (customName && !customFn) return (message.innerHTML = "Error. Custom model function is required");
- if (!customName && customFn) return (message.innerHTML = "Error. Custom model name is required");
- message.innerHTML = "";
+ const message = document.getElementById('resourceModelMessage');
+ if (customName && !customFn) return (message.innerHTML = 'Error. Custom model function is required');
+ if (!customName && customFn) return (message.innerHTML = 'Error. Custom model name is required');
+ message.innerHTML = '';
if (customName && customFn) {
try {
- const allMethods = "{" + Object.keys(Resources.methods).join(", ") + "}";
- const fn = new Function(allMethods, "return " + customFn);
+ const allMethods = '{' + Object.keys(Resources.methods).join(', ') + '}';
+ const fn = new Function(allMethods, 'return ' + customFn);
fn({...Resources.methods});
} catch (err) {
- message.innerHTML = "Error. " + err.message || err;
+ message.innerHTML = 'Error. ' + err.message || err;
return;
}
resource.model = line.dataset.model = el.innerHTML = customName;
resource.custom = customFn;
- $(dialog).dialog("close");
+ $(dialog).dialog('close');
return;
}
- const model = document.getElementById("resouceModelSelect").value;
- if (!model) return (message.innerHTML = "Error. Model is not set");
+ const model = document.getElementById('resouceModelSelect').value;
+ if (!model) return (message.innerHTML = 'Error. Model is not set');
resource.model = line.dataset.model = el.innerHTML = model;
- $(dialog).dialog("close");
+ $(dialog).dialog('close');
}
}
+ function changeName(resource, name, line) {
+ resource.name = line.dataset.name = name;
+ }
+
+ function changeValue(resource, value, line) {
+ resource.value = line.dataset.value = +value;
+ }
+
+ function changeChance(resource, chance, line) {
+ resource.chance = line.dataset.chance = +chance;
+ }
+
function resourceChangeColor() {
- const circle = this.querySelector("circle");
+ const circle = this.querySelector('circle');
const resource = Resources.get(+this.parentNode.dataset.id);
const callback = function (fill) {
const stroke = Resources.getStroke(fill);
- circle.setAttribute("fill", fill);
- circle.setAttribute("stroke", stroke);
+ circle.setAttribute('fill', fill);
+ circle.setAttribute('stroke', stroke);
resource.color = fill;
resource.stroke = stroke;
- goods.selectAll(`circle[data-i='${resource.i}']`).attr("fill", fill).attr("stroke", stroke);
+ goods.selectAll(`circle[data-i='${resource.i}']`).attr('fill', fill).attr('stroke', stroke);
};
openPicker(resource.color, callback, {allowHatching: false});