move metadata to it's own file
This commit is contained in:
parent
c958112590
commit
521ff4e757
|
|
@ -1,5 +1,5 @@
|
||||||
import { deleteTooltip } from "./tooltip.js";
|
import { deleteTooltip } from "./tooltip.js";
|
||||||
import { deleteSolverMetadata } from "./solver.js";
|
import { deleteSolverMetadata } from "./metadata.js";
|
||||||
|
|
||||||
export class DomList {
|
export class DomList {
|
||||||
list;
|
list;
|
||||||
|
|
|
||||||
|
|
@ -9,9 +9,10 @@ import {
|
||||||
readPlannerCellData
|
readPlannerCellData
|
||||||
} from "./planner.js";
|
} from "./planner.js";
|
||||||
import { getAtlasIndexFromMetadata, getAtlasMetadata } from "./atlas.js";
|
import { getAtlasIndexFromMetadata, getAtlasMetadata } from "./atlas.js";
|
||||||
import { getSolverMetadata, resetSolver } from "./solver.js";
|
import { resetSolver } from "./solver.js";
|
||||||
import { registerLoadCallback } from "./main.js";
|
import { registerLoadCallback } from "./main.js";
|
||||||
import { DevError, UserError } from "./errors.js";
|
import { DevError, UserError } from "./errors.js";
|
||||||
|
import { getSolverMetadata } from "./metadata.js";
|
||||||
|
|
||||||
registerLoadCallback(() => {
|
registerLoadCallback(() => {
|
||||||
listenTo("file:load", () => showOpenFileDialog(({ data, filename }) => loadFile(data, filename)));
|
listenTo("file:load", () => showOpenFileDialog(({ data, filename }) => loadFile(data, filename)));
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import { awaitEvent, emitEvent, listenTo } from "./events.js";
|
||||||
import "./files.js"
|
import "./files.js"
|
||||||
import "./js-utils.js"
|
import "./js-utils.js"
|
||||||
import "./menu-bar.js";
|
import "./menu-bar.js";
|
||||||
|
import "./metadata.js";
|
||||||
import "./ncpf-utils.js";
|
import "./ncpf-utils.js";
|
||||||
import "./planner.js";
|
import "./planner.js";
|
||||||
import "./planner-resize.js";
|
import "./planner-resize.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];
|
||||||
|
}
|
||||||
|
|
@ -20,7 +20,7 @@ registerLoadCallback(() => {
|
||||||
|
|
||||||
awaitEvent("dev-mode:end").then(async () => {
|
awaitEvent("dev-mode:end").then(async () => {
|
||||||
await awaitEvent("fileLoad:end");
|
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 planner = getPlannerDom();
|
||||||
const size = getPlannerMultiblockSize();
|
const size = getPlannerMultiblockSize();
|
||||||
if (!add) {
|
if (!add) {
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,9 @@ import { initialize3dArray } from "./js-utils.js";
|
||||||
import { recall, save } from "./storage.js";
|
import { recall, save } from "./storage.js";
|
||||||
import { registerLoadCallback } from "./main.js";
|
import { registerLoadCallback } from "./main.js";
|
||||||
import { getBlockPickerActiveItem, getBlockPickerRecipe } from "./block-picker.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 { 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 zoomOptions = [ 0.5, 1, 2, 3, 4, 5 ];
|
||||||
const zoomDefault = 2;
|
const zoomDefault = 2;
|
||||||
|
|
|
||||||
|
|
@ -4,15 +4,15 @@ import { configuration } from "./configuration.js";
|
||||||
import { getPlannerDom, getPlannerMultiblockType, getSelectedCells } from "./planner.js";
|
import { getPlannerDom, getPlannerMultiblockType, getSelectedCells } from "./planner.js";
|
||||||
import { DomList } from "./dom-list.js";
|
import { DomList } from "./dom-list.js";
|
||||||
import { getAtlasIndexFromMetadata, getAtlasMetadata, makeAtlasImage } from "./atlas.js";
|
import { getAtlasIndexFromMetadata, getAtlasMetadata, makeAtlasImage } from "./atlas.js";
|
||||||
import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./solver.js";
|
import { deleteSolverMetadata, getSolverMetadata, setSolverMetadata } from "./metadata.js";
|
||||||
import {
|
import {
|
||||||
checkEquivalence,
|
checkEquivalence,
|
||||||
findFullEntry,
|
findFullEntry,
|
||||||
findFullEntryAnywhere,
|
findFullEntryAnywhere,
|
||||||
findFullEntryFromAtlasMetadata,
|
findFullEntryFromAtlasMetadata,
|
||||||
lookupFromMetadata, stripEntryToMinimums
|
stripEntryToMinimums
|
||||||
} from "./ncpf-utils.js";
|
} from "./ncpf-utils.js";
|
||||||
import { createTooltip, setTooltip, tooltipDataToPlain } from "./tooltip.js";
|
import { setTooltip, tooltipDataToPlain } from "./tooltip.js";
|
||||||
import { Filter } from "./filter.js";
|
import { Filter } from "./filter.js";
|
||||||
import { debounce } from "./dom-utils.js";
|
import { debounce } from "./dom-utils.js";
|
||||||
import { getBlockPickerActiveItem, setBlockPickerRecipe } from "./block-picker.js";
|
import { getBlockPickerActiveItem, setBlockPickerRecipe } from "./block-picker.js";
|
||||||
|
|
|
||||||
|
|
@ -1,49 +1,7 @@
|
||||||
import { configuration } from "./configuration.js";
|
|
||||||
import { emitEvent } from "./events.js";
|
import { emitEvent } from "./events.js";
|
||||||
import { registerLoadCallback } from "./main.js";
|
|
||||||
import { getPlannerCellDom, getPlannerDom } from "./planner.js";
|
import { getPlannerCellDom, getPlannerDom } from "./planner.js";
|
||||||
import { findFullEntry } from "./ncpf-utils.js";
|
import { findFullEntry } from "./ncpf-utils.js";
|
||||||
|
import { setSolverMetadata } from "./metadata.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];
|
|
||||||
}
|
|
||||||
|
|
||||||
export function resetSolver(design = undefined, designConfiguration) {
|
export function resetSolver(design = undefined, designConfiguration) {
|
||||||
const planner = getPlannerDom();
|
const planner = getPlannerDom();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue