diff --git a/scripts/dom-list.js b/scripts/dom-list.js index ab9655a..fff930b 100644 --- a/scripts/dom-list.js +++ b/scripts/dom-list.js @@ -1,5 +1,5 @@ import { deleteTooltip } from "./tooltip.js"; -import { deleteSolverMetadata } from "./solver.js"; +import { deleteSolverMetadata } from "./metadata.js"; export class DomList { list; diff --git a/scripts/files.js b/scripts/files.js index 1811b3b..3997ce0 100644 --- a/scripts/files.js +++ b/scripts/files.js @@ -9,9 +9,10 @@ import { readPlannerCellData } from "./planner.js"; import { getAtlasIndexFromMetadata, getAtlasMetadata } from "./atlas.js"; -import { getSolverMetadata, resetSolver } from "./solver.js"; +import { resetSolver } from "./solver.js"; import { registerLoadCallback } from "./main.js"; import { DevError, UserError } from "./errors.js"; +import { getSolverMetadata } from "./metadata.js"; registerLoadCallback(() => { listenTo("file:load", () => showOpenFileDialog(({ data, filename }) => loadFile(data, filename))); diff --git a/scripts/main.js b/scripts/main.js index 4fc4d54..fd90a29 100644 --- a/scripts/main.js +++ b/scripts/main.js @@ -10,6 +10,7 @@ import { awaitEvent, emitEvent, listenTo } from "./events.js"; import "./files.js" import "./js-utils.js" import "./menu-bar.js"; +import "./metadata.js"; import "./ncpf-utils.js"; import "./planner.js"; import "./planner-resize.js"; diff --git a/scripts/metadata.js b/scripts/metadata.js new file mode 100644 index 0000000..fa967fd --- /dev/null +++ b/scripts/metadata.js @@ -0,0 +1,38 @@ + +const solverMetadata = {}; +let solverMetadataCounter = 0; +function createSolverMetadata(data) { + const id = solverMetadataCounter; + solverMetadata[id] = data; + solverMetadataCounter++; + return id; +} +export function setSolverMetadata(domNode, data) { + if (domNode.dataset.solverMetadata) { + solverMetadata[Number(domNode.dataset.solverMetadata)] = data; + return; + } + domNode.dataset.solverMetadata = createSolverMetadata(data).toString(10); +} +export function getSolverMetadata(id) { + if (typeof id === "object") { + // assume DOM element + if (id.dataset && id.dataset.solverMetadata) { + return getSolverMetadata(id.dataset.solverMetadata); + } + return null; + } + if (typeof id === "string") { + return getSolverMetadata(Number(id)); + } + return solverMetadata[id]; +} +export function deleteSolverMetadata(id) { + if (typeof id === "object") { + // assume DOM object + if (id.dataset && id.dataset.solverMetadata) { + return deleteSolverMetadata(id.dataset.solverMetadata); + } + } + delete solverMetadata[id]; +} diff --git a/scripts/planner-resize.js b/scripts/planner-resize.js index aa76588..a4d28d7 100644 --- a/scripts/planner-resize.js +++ b/scripts/planner-resize.js @@ -20,7 +20,7 @@ registerLoadCallback(() => { awaitEvent("dev-mode:end").then(async () => { await awaitEvent("fileLoad:end"); - initializeResize(); + // initializeResize(); }); }); @@ -67,7 +67,7 @@ function highlight(axis, n, add) { }); } -function resize(axis, n, add, e) { +function resize(axis, n, add) { const planner = getPlannerDom(); const size = getPlannerMultiblockSize(); if (!add) { diff --git a/scripts/planner.js b/scripts/planner.js index a47c36b..ef819bf 100644 --- a/scripts/planner.js +++ b/scripts/planner.js @@ -6,9 +6,9 @@ import { initialize3dArray } from "./js-utils.js"; import { recall, save } from "./storage.js"; import { registerLoadCallback } from "./main.js"; import { getBlockPickerActiveItem, getBlockPickerRecipe } from "./block-picker.js"; -import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./solver.js"; +import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./metadata.js"; import { retainTooltipHover } from "./tooltip.js"; -import { checkEquivalence, findFullEntry, findFullEntryAnywhere, lookupFromMetadata } from "./ncpf-utils.js"; +import { checkEquivalence, lookupFromMetadata } from "./ncpf-utils.js"; const zoomOptions = [ 0.5, 1, 2, 3, 4, 5 ]; const zoomDefault = 2; diff --git a/scripts/recipe-selector.js b/scripts/recipe-selector.js index 5911320..b4f0fbc 100644 --- a/scripts/recipe-selector.js +++ b/scripts/recipe-selector.js @@ -4,15 +4,15 @@ import { configuration } from "./configuration.js"; import { getPlannerDom, getPlannerMultiblockType, getSelectedCells } from "./planner.js"; import { DomList } from "./dom-list.js"; import { getAtlasIndexFromMetadata, getAtlasMetadata, makeAtlasImage } from "./atlas.js"; -import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./solver.js"; +import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./metadata.js"; import { checkEquivalence, findFullEntry, findFullEntryAnywhere, findFullEntryFromAtlasMetadata, - lookupFromMetadata, stripEntryToMinimums + stripEntryToMinimums } from "./ncpf-utils.js"; -import { createTooltip, setTooltip, tooltipDataToPlain } from "./tooltip.js"; +import { setTooltip, tooltipDataToPlain } from "./tooltip.js"; import { Filter } from "./filter.js"; import { debounce } from "./dom-utils.js"; import { getBlockPickerActiveItem, setBlockPickerRecipe } from "./block-picker.js"; diff --git a/scripts/solver.js b/scripts/solver.js index 84a4287..93eedca 100644 --- a/scripts/solver.js +++ b/scripts/solver.js @@ -1,49 +1,7 @@ -import { configuration } from "./configuration.js"; import { emitEvent } from "./events.js"; -import { registerLoadCallback } from "./main.js"; import { getPlannerCellDom, getPlannerDom } from "./planner.js"; import { findFullEntry } from "./ncpf-utils.js"; - -registerLoadCallback(() => { -}); - -const solverMetadata = {}; -let solverMetadataCounter = 0; -function createSolverMetadata(data) { - const id = solverMetadataCounter; - solverMetadata[id] = data; - solverMetadataCounter++; - return id; -} -export function setSolverMetadata(domNode, data) { - if (domNode.dataset.solverMetadata) { - solverMetadata[Number(domNode.dataset.solverMetadata)] = data; - return; - } - domNode.dataset.solverMetadata = createSolverMetadata(data).toString(10); -} -export function getSolverMetadata(id) { - if (typeof id === "object") { - // assume DOM element - if (id.dataset && id.dataset.solverMetadata) { - return getSolverMetadata(id.dataset.solverMetadata); - } - return null; - } - if (typeof id === "string") { - return getSolverMetadata(Number(id)); - } - return solverMetadata[id]; -} -export function deleteSolverMetadata(id) { - if (typeof id === "object") { - // assume DOM object - if (id.dataset && id.dataset.solverMetadata) { - return deleteSolverMetadata(id.dataset.solverMetadata); - } - } - delete solverMetadata[id]; -} +import { setSolverMetadata } from "./metadata.js"; export function resetSolver(design = undefined, designConfiguration) { const planner = getPlannerDom();