X-Git-Url: http://git.shiar.net/sheet.git/blobdiff_plain/77f6393c7675e2db18438c9f7c4075552ba278b6..800cd11bec46c84a8187b9180f0a7684e7be7d1c:/word/memory.js diff --git a/word/memory.js b/word/memory.js index ac1e829..b539b2d 100644 --- a/word/memory.js +++ b/word/memory.js @@ -41,32 +41,35 @@ class WordMemory extends WordQuiz { .forEach(card => put(card, '!.turn!.bad')); } - load(dataurl) { - if (dataurl) { - super.load(dataurl); - } - else { + load() { + this.configure(); + if (this.preset.pairs) { this.dataurl = '/data/wordpairs.json'; fetch(this.dataurl).then(res => res.json()).then(pairs => { this.pairs = pairs; this.setup(); }); } + else { + super.load(); + } } setup() { + super.setup(); this.turned = []; - this.form = document.getElementById('quiz'); + this.form.innerHTML = ''; + this.form.className = ''; let cards; if (this.words) { const aspect = this.form.clientWidth / window.innerHeight; //TODO image ratio - let count = 35; + let count = parseInt(this.preset.n) || 35; let cols = Math.round(Math.sqrt(count) * aspect**.5); count = cols * Math.ceil(count / cols); this.form.style['grid-template-columns'] = `repeat(${cols}, 1fr)`; - cards = this.words.splice(0, count>>1).map(row => row[2]); + cards = this.words.splice(0, count>>1).map(row => row.imgid); cards.push(...cards.map(val => -val)); } else {