diff --git a/public/js/learning-progressions.js b/public/js/learning-progressions.js index b0da5eb..6afdf6f 100644 --- a/public/js/learning-progressions.js +++ b/public/js/learning-progressions.js @@ -81,6 +81,11 @@ function languageWordsForYear(words,yearGroup,level){ if(!introduced.length&&hasExplicitYears)return[]; const available=introduced.length?introduced:words; const caps=[0,5,7,9,12,15,18,22,99],cap=caps[year]+(learningLevel(level)-2)*2; + if(year===1){ + const anchors=available.filter(item=>Array.isArray(item)&&Number(item[2])===1); + const custom=available.filter(item=>!Array.isArray(item)||item[2]==null).filter(item=>languageWordComplexity(Array.isArray(item)?item[0]:item)<=cap); + return anchors.concat(custom) + } const filtered=available.filter(item=>languageWordComplexity(Array.isArray(item)?item[0]:item)<=cap); if(filtered.length>=Math.min(4,available.length))return filtered; return [...available].sort((a,b)=>languageWordComplexity(a[0])-languageWordComplexity(b[0])).slice(0,Math.min(4,available.length)) diff --git a/test/learning-progressions.test.js b/test/learning-progressions.test.js index cbc361c..80aaf68 100644 --- a/test/learning-progressions.test.js +++ b/test/learning-progressions.test.js @@ -69,6 +69,8 @@ test('taalprofiel selecteert eenvoudiger woorden in de onderbouw en bouwt taakst assert.equal(c.__languageTaskRules(3,2).literacyMode,'words'); const letters=JSON.parse(JSON.stringify(c.__languageWidgetWords(words,1,2,'flits'))); assert.ok(letters.every(([letter,,,anchor])=>letter.length===1&&anchor.startsWith(letter))); + const anchors=JSON.parse(JSON.stringify(c.__languageWordsForYear([['brandweerauto','x',1],['eigenmoeilijkwoord','x',null]],1,2))); + assert.deepEqual(anchors,[['brandweerauto','x',1]]); }); test('rekenprofiel vergroot getalgebied, tafels en breuken per leerjaar',async()=>{