word: reference root categories
[sheet.git] / word / quiz.js
index a7194bbac88418f0b5cfd89aa6e5dd8c1369c9d4..fb36be12f94bc5f7b026c85ed42014f1c5ba6df5 100644 (file)
@@ -23,6 +23,11 @@ class WordQuiz {
                let ids = new Set(Object.keys(json));
                const selection = {...json}; // clone
 
+               for (let cat of selection[''][3]) {
+                       if (selection[cat])
+                       selection[cat][1] = 0; // keep root categories
+               }
+
                if (this.preset.cat !== undefined) {
                        ids.clear();
                        let children = [this.preset.cat];
@@ -50,7 +55,7 @@ class WordQuiz {
                        selection[id][3] = function subresolve(subs) {
                                //console.log(subs);
                                return (subs || []).flatMap(sub =>
-                                       sub in selection ? [sub] : subresolve(json[sub][3])
+                                       sub in selection ? [sub] : json[sub] ? subresolve(json[sub][3]) : []
                                );
                        }(selection[id][3]);
                }