Fix/refactor tests
This commit is contained in:
23
src/index.js
23
src/index.js
@@ -80,11 +80,20 @@ function loadScenario(data) {
|
||||
async function buildScenario(req) {
|
||||
console.log('req', req);
|
||||
|
||||
const svg = scenarioTemplate.querySelector('svg').cloneNode(true);
|
||||
document.querySelector('object').contentDocument.querySelector('svg').replaceWith(svg);
|
||||
console.log('fresh template', scenarioTemplate.querySelector('svg'));
|
||||
|
||||
const svg = scenarioTemplate.querySelector('svg').cloneNode(true);
|
||||
|
||||
// console.log('document', document.querySelector('object').contentDocument);
|
||||
|
||||
document.querySelector('object').contentDocument.querySelector('svg').remove();
|
||||
document.querySelector('object').contentDocument.append(svg);
|
||||
|
||||
gameboard.stop();
|
||||
recordSheet.stop();
|
||||
|
||||
const startLocs = svg.querySelector('.start-locations');
|
||||
const scenario = await req;
|
||||
const startLocs = scenario.querySelector('.start-locations');
|
||||
|
||||
console.log(scenario);
|
||||
|
||||
@@ -119,17 +128,15 @@ async function buildScenario(req) {
|
||||
});
|
||||
|
||||
const refsQuery = [...refs[filename]].join(', ');
|
||||
external.querySelectorAll(refsQuery).forEach(node => defs.append(node));
|
||||
external.querySelectorAll(refsQuery).forEach(node => defs.append(svg.ownerDocument.importNode(node, true)));
|
||||
});
|
||||
});
|
||||
|
||||
scenario.querySelectorAll('use.mapsheet').forEach(el => gb.prepend(el));
|
||||
grid.before(scenario.querySelector('.start-locations'));
|
||||
scenario.querySelectorAll('use.mapsheet').forEach(el => gb.prepend(svg.ownerDocument.importNode(el, true)));
|
||||
if (startLocs) grid.before(svg.ownerDocument.importNode(startLocs, true));
|
||||
|
||||
const scenarioGrid = scenario.querySelector('.grid');
|
||||
|
||||
console.log('scenarioGrid', scenarioGrid);
|
||||
|
||||
if (scenarioGrid) {
|
||||
grid.replaceWith(svg.ownerDocument.importNode(scenarioGrid, true));
|
||||
}
|
||||
|
||||
@@ -175,6 +175,7 @@ function selectOffBoard() {
|
||||
}
|
||||
|
||||
function select(data) {
|
||||
console.log('select', data);
|
||||
const counter = data && (soldier.getCounter(svg, data) || soldier.createCounter(data));
|
||||
const isSelected = counter?.classList.contains(soldier.getSelectedClass());
|
||||
|
||||
@@ -204,6 +205,8 @@ export function start(el) {
|
||||
startingLocations && getUnits(startingLocations).forEach(unit => unit.addEventListener('click', selectOffBoard));
|
||||
|
||||
getCells(svg).forEach(cell => {
|
||||
if (cell.dataset.x === '0' && cell.parentElement.dataset.y === '0') console.log('cell', cell);
|
||||
|
||||
cell.addEventListener('click', e => {
|
||||
const occupant = getCellOccupant(cell);
|
||||
let toPlace = placing.pop();
|
||||
@@ -300,6 +303,11 @@ export function start(el) {
|
||||
console.log('gameboard.js loaded');
|
||||
}
|
||||
|
||||
export function stop() {
|
||||
Observable.unsubscribe('select', select);
|
||||
Observable.unsubscribe('endmove', endMove);
|
||||
}
|
||||
|
||||
export function getUnits() {
|
||||
return soldier.getAllCounters(svg);
|
||||
}
|
||||
|
||||
@@ -195,3 +195,8 @@ export function start(startLoc, units) {
|
||||
Observable.subscribe('select', select);
|
||||
Observable.subscribe('endmove', endMove);
|
||||
}
|
||||
|
||||
export function stop() {
|
||||
Observable.unsubscribe('select', select);
|
||||
Observable.unsubscribe('endmove', endMove);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user