@pie-element/explicit-constructed-response 9.3.4-next.3 → 10.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +0 -11
  2. package/configure/CHANGELOG.md +0 -11
  3. package/configure/lib/alternateResponses.js +139 -184
  4. package/configure/lib/alternateResponses.js.map +1 -1
  5. package/configure/lib/alternateSection.js +279 -370
  6. package/configure/lib/alternateSection.js.map +1 -1
  7. package/configure/lib/defaults.js +2 -3
  8. package/configure/lib/defaults.js.map +1 -1
  9. package/configure/lib/ecr-toolbar.js +127 -191
  10. package/configure/lib/ecr-toolbar.js.map +1 -1
  11. package/configure/lib/index.js +126 -203
  12. package/configure/lib/index.js.map +1 -1
  13. package/configure/lib/main.js +436 -552
  14. package/configure/lib/main.js.map +1 -1
  15. package/configure/lib/markupUtils.js +26 -49
  16. package/configure/lib/markupUtils.js.map +1 -1
  17. package/configure/lib/utils.js +5 -5
  18. package/configure/lib/utils.js.map +1 -1
  19. package/configure/package.json +9 -7
  20. package/controller/CHANGELOG.md +0 -11
  21. package/controller/lib/defaults.js +2 -3
  22. package/controller/lib/defaults.js.map +1 -1
  23. package/controller/lib/index.js +172 -260
  24. package/controller/lib/index.js.map +1 -1
  25. package/controller/package.json +3 -3
  26. package/lib/index.js +71 -115
  27. package/lib/index.js.map +1 -1
  28. package/lib/main.js +174 -248
  29. package/lib/main.js.map +1 -1
  30. package/lib/print.js +39 -83
  31. package/lib/print.js.map +1 -1
  32. package/package.json +14 -19
  33. package/esm/configure.js +0 -33096
  34. package/esm/configure.js.map +0 -1
  35. package/esm/controller.js +0 -5144
  36. package/esm/controller.js.map +0 -1
  37. package/esm/element.js +0 -11518
  38. package/esm/element.js.map +0 -1
  39. package/esm/package.json +0 -3
  40. package/esm/print.js +0 -12202
  41. package/esm/print.js.map +0 -1
  42. package/module/configure.js +0 -1
  43. package/module/controller.js +0 -7460
  44. package/module/demo.js +0 -45
  45. package/module/element.js +0 -1
  46. package/module/index.html +0 -21
  47. package/module/manifest.json +0 -22
  48. package/module/print-demo.js +0 -83
  49. package/module/print.html +0 -18
  50. package/module/print.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["translator","Translator","log","prepareChoice","mode","defaultFeedback","choice","out","label","value","correct","feedbackType","feedback","type","getFeedback","getAdjustedLength","length","decodeHtmlEntities","str","replace","normalize","question","defaults","model","session","env","Promise","resolve","choices","Object","keys","forEach","key","map","item","index","normalizedQuestion","assign","incorrect","prepareChoiceFn","obj","area","respArea","chosenValue","val","c","prepareVal","showNote","values","some","note","t","lng","language","maxLengthPerChoice","maxLengthPerChoiceEnabled","undefinedLengths","labelLengthsArr","Math","max","disabled","displayType","role","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","responseCorrect","getScore","undefined","teacherInstructions","responseAreaInputConfiguration","extraCSSRules","rationaleEnabled","teacherInstructionsEnabled","html","decodeHTML","getInnerText","trim","config","responseAreas","match","maxScore","correctCount","total","toFixed","parseFloat","outcome","partialScoringEnabled","partialScoring","enabled","score","empty","createCorrectResponseSession","i","id","replaceAll","getContent","validate","maxResponseAreas","allChoicesErrors","errors","field","required","entries","reversedChoices","reverse","choicesErrors","identicalAnswer","slice","nbOfResponseAreas"],"mappings":"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","sourcesContent":["import debug from 'debug';\nimport map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport find from 'lodash/find';\nimport isEmpty from 'lodash/isEmpty';\nimport { decode } from 'he';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport Translator from '@pie-lib/translator';\nimport defaults from './defaults';\n\nconst { translator } = Translator;\n\nconst log = debug('explicit-constructed-response:controller');\n\nexport const prepareChoice = (mode, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (mode === 'evaluate') {\n out.correct = true;\n\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback['correct'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n\n return out;\n};\n\nconst getFeedback = (value) => {\n if (value) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\n// also used in configure/src/markupUtils.js\nconst getAdjustedLength = (length) => {\n if (length <= 2) {\n return length + 2;\n }\n\n if (length <= 4) {\n return length + 3;\n }\n\n if (length <= 6) {\n return length + 4;\n }\n\n return length + 5;\n};\n\n// we can't use the dom parser here because it is not available in the node environment\nconst decodeHtmlEntities = (str) => {\n if (!str) return '';\n return str\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;|&#39;/g, '\\'')\n .replace(/&amp;/g, '&');\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport function model(question, session, env) {\n return new Promise(async (resolve) => {\n // this was added to treat an exception, when the model has choices without\n // the \"value\" property like: { label: 'test' }\n if (question.choices) {\n Object.keys(question.choices).forEach((key) => {\n question.choices[key] = (question.choices[key] || []).map((item, index) => {\n if (!item.value) {\n log('Choice does not contain \"value\" property, which is required.', item);\n return { value: `${index}`, ...item };\n }\n\n return item;\n });\n });\n }\n\n const normalizedQuestion = normalize(question);\n const defaultFeedback = Object.assign(\n { correct: 'Correct', incorrect: 'Incorrect' },\n normalizedQuestion.defaultFeedback,\n );\n const prepareChoiceFn = prepareChoice(env.mode, defaultFeedback);\n const choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, prepareChoiceFn);\n\n return obj;\n },\n {},\n );\n\n const { value = {} } = session || {};\n const feedback =\n env.mode === 'evaluate'\n ? reduce(\n normalizedQuestion.choices,\n (obj, respArea, key) => {\n const chosenValue = value && value[key];\n const val =\n !isEmpty(chosenValue) && find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue));\n\n obj[key] = getFeedback(val);\n\n return obj;\n },\n {},\n )\n : {};\n\n // check if at least one choice has an alternate\n const showNote = Object.values(choices).some((choice) => choice?.length > 1);\n const note =\n normalizedQuestion.note ||\n translator.t('common:commonCorrectAnswerWithAlternates', { lng: normalizedQuestion.language });\n\n const { maxLengthPerChoice = [], maxLengthPerChoiceEnabled } = normalizedQuestion;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map((choice) => decodeHtmlEntities(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n const out = {\n choices,\n disabled: env.mode !== 'gather',\n displayType: normalizedQuestion.displayType,\n mode: env.mode,\n role: env.role,\n feedback,\n language: normalizedQuestion.language,\n markup: normalizedQuestion.markup,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : defaults.prompt,\n rationale: defaults.rationale,\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n showNote,\n teacherInstructions: defaults.teacherInstructions,\n responseAreaInputConfiguration: normalizedQuestion.responseAreaInputConfiguration,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : defaults.rationale;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : defaults.teacherInstructions;\n }\n\n resolve(out);\n });\n}\n\nexport const prepareVal = (html) => {\n return decodeHTML(getInnerText(html).trim());\n};\n\nexport const getScore = (config, session) => {\n const { value } = session || {};\n\n if (!session || isEmpty(session) || !value) {\n return 0;\n }\n\n const responseAreas = config.markup && config.markup.match(/\\{\\{(.+?)\\}\\}/g);\n const maxScore = responseAreas ? responseAreas.length : 0;\n const correctCount = reduce(\n config.choices,\n (total, respArea, key) => {\n const chosenValue = value && value[key];\n\n if (isEmpty(chosenValue) || !find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue))) {\n return total;\n }\n\n return total + 1;\n },\n 0,\n );\n\n const str = maxScore ? (correctCount / maxScore).toFixed(2) : 0;\n\n return parseFloat(str);\n};\n\n/**\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({ score: partialScoringEnabled ? score : score === 1 ? 1 : 0, empty: isEmpty(session) });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n Object.keys(choices).forEach((key, i) => {\n value[i] = choices[key][0].label;\n });\n\n resolve({ id: '1', value });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\n// const getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\nconst getInnerText = (html) => {\n if (typeof html !== 'string') {\n return '';\n }\n if (typeof html.replaceAll === 'function') {\n return html.replaceAll(/<[^>]*>/g, '');\n } else {\n // Polyfill for replaceAll using replace and a global regex\n return html.replace(/<[^>]*>/g, '');\n }\n};\n\nconst decodeHTML = (html) => decode(html);\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { choices, markup } = model;\n const { maxResponseAreas } = config;\n const allChoicesErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(choices || {}).forEach(([key, values]) => {\n const reversedChoices = [...(values || [])].reverse();\n const choicesErrors = {};\n\n reversedChoices.forEach((choice, index) => {\n const { value, label } = choice;\n\n if (label === '' || label === '<div></div>') {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n });\n\n if (!isEmpty(choicesErrors)) {\n allChoicesErrors[key] = choicesErrors;\n }\n });\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreas = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreas = 'There should be at least 1 response area defined.';\n }\n\n if (!isEmpty(allChoicesErrors)) {\n errors.choices = allChoicesErrors;\n }\n\n return errors;\n};\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_debug","_interopRequireDefault","require","_map","_reduce","_find","_isEmpty","_he","_controllerUtils","_translator","_defaults","translator","Translator","log","debug","prepareChoice","mode","defaultFeedback","choice","out","label","value","correct","feedbackType","feedback","type","exports","getFeedback","getAdjustedLength","length","Math","abs","Infinity","decodeHtmlEntities","str","replace","normalize","question","defaults","model","session","env","choices","Object","keys","forEach","key","map","item","index","normalizedQuestion","assign","incorrect","prepareChoiceFn","reduce","obj","area","respArea","chosenValue","val","isEmpty","find","c","prepareVal","showNote","values","some","note","t","lng","language","maxLengthPerChoice","maxLengthPerChoiceEnabled","undefinedLengths","labelLengthsArr","max","disabled","displayType","role","markup","playerSpellCheckEnabled","prompt","promptEnabled","rationale","responseCorrect","getScore","undefined","teacherInstructions","responseAreaInputConfiguration","extraCSSRules","rationaleEnabled","teacherInstructionsEnabled","html","decodeHTML","getInnerText","trim","config","responseAreas","match","maxScore","correctCount","total","toFixed","parseFloat","outcome","Promise","resolve","partialScoringEnabled","partialScoring","enabled","score","empty","createCorrectResponseSession","i","id","replaceAll","decode","getContent","validate","maxResponseAreas","allChoicesErrors","errors","field","required","entries","reversedChoices","reverse","choicesErrors","identicalAnswer","slice","nbOfResponseAreas"],"sources":["../src/index.js"],"sourcesContent":["import debug from 'debug';\nimport map from 'lodash/map';\nimport reduce from 'lodash/reduce';\nimport find from 'lodash/find';\nimport isEmpty from 'lodash/isEmpty';\nimport { decode } from 'he';\nimport { partialScoring } from '@pie-lib/controller-utils';\nimport Translator from '@pie-lib/translator';\nimport defaults from './defaults';\n\nconst { translator } = Translator;\n\nconst log = debug('explicit-constructed-response:controller');\n\nexport const prepareChoice = (mode, defaultFeedback) => (choice) => {\n const out = {\n label: choice.label,\n value: choice.value,\n };\n\n if (mode === 'evaluate') {\n out.correct = true;\n\n const feedbackType = (choice.feedback && choice.feedback.type) || 'none';\n\n if (feedbackType === 'default') {\n out.feedback = defaultFeedback['correct'];\n } else if (feedbackType === 'custom') {\n out.feedback = choice.feedback.value;\n }\n }\n\n return out;\n};\n\nconst getFeedback = (value) => {\n if (value) {\n return 'correct';\n }\n\n return 'incorrect';\n};\n\n// also used in configure/src/markupUtils.js\nconst getAdjustedLength = (length) => {\n if (Math.abs(length) === Infinity) {\n return 2;\n }\n\n if (length <= 2) {\n return length + 2;\n }\n\n if (length <= 4) {\n return length + 3;\n }\n\n if (length <= 6) {\n return length + 4;\n }\n\n return length + 5;\n};\n\n// we can't use the dom parser here because it is not available in the node environment\nconst decodeHtmlEntities = (str) => {\n if (!str) return '';\n return str\n .replace(/&lt;/g, '<')\n .replace(/&gt;/g, '>')\n .replace(/&quot;/g, '\"')\n .replace(/&#x27;|&#39;/g, '\\'')\n .replace(/&amp;/g, '&');\n};\n\nexport const normalize = (question) => ({ ...defaults, ...question });\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n // this was added to treat an exception, when the model has choices without\n // the \"value\" property like: { label: 'test' }\n if (question.choices) {\n Object.keys(question.choices).forEach((key) => {\n question.choices[key] = (question.choices[key] || []).map((item, index) => {\n if (!item.value) {\n log('Choice does not contain \"value\" property, which is required.', item);\n return { value: `${index}`, ...item };\n }\n\n return item;\n });\n });\n }\n\n const normalizedQuestion = normalize(question);\n const defaultFeedback = Object.assign(\n { correct: 'Correct', incorrect: 'Incorrect' },\n normalizedQuestion.defaultFeedback,\n );\n const prepareChoiceFn = prepareChoice(env.mode, defaultFeedback);\n const choices = reduce(\n normalizedQuestion.choices,\n (obj, area, key) => {\n obj[key] = map(area, prepareChoiceFn);\n\n return obj;\n },\n {},\n );\n\n const { value = {} } = session || {};\n const feedback =\n env.mode === 'evaluate'\n ? reduce(\n normalizedQuestion.choices,\n (obj, respArea, key) => {\n const chosenValue = value && value[key];\n const val =\n !isEmpty(chosenValue) && find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue));\n\n obj[key] = getFeedback(val);\n\n return obj;\n },\n {},\n )\n : {};\n\n // check if at least one choice has an alternate\n const showNote = Object.values(choices).some((choice) => choice?.length > 1);\n const note =\n normalizedQuestion.note ||\n translator.t('common:commonCorrectAnswerWithAlternates', { lng: normalizedQuestion.language });\n\n const { maxLengthPerChoice = [], maxLengthPerChoiceEnabled } = normalizedQuestion;\n const undefinedLengths = !maxLengthPerChoice.length;\n\n // calculate maxLengthPerChoice array if it is not defined or defined incorrectly\n Object.values(choices).forEach((choice, index) => {\n const labelLengthsArr = (choice || []).map((choice) => decodeHtmlEntities(choice.label || '').length);\n const length = Math.max(...labelLengthsArr);\n\n if (\n undefinedLengths ||\n !maxLengthPerChoice[index] ||\n maxLengthPerChoice[index] < length ||\n maxLengthPerChoice[index] > length + 10\n ) {\n maxLengthPerChoice[index] = getAdjustedLength(length);\n }\n });\n\n const out = {\n choices,\n disabled: env.mode !== 'gather',\n displayType: normalizedQuestion.displayType,\n mode: env.mode,\n role: env.role,\n feedback,\n language: normalizedQuestion.language,\n markup: normalizedQuestion.markup,\n maxLengthPerChoice,\n maxLengthPerChoiceEnabled,\n note,\n playerSpellCheckEnabled: normalizedQuestion.playerSpellCheckEnabled,\n prompt: normalizedQuestion.promptEnabled ? normalizedQuestion.prompt : defaults.prompt,\n rationale: defaults.rationale,\n responseCorrect: env.mode === 'evaluate' ? getScore(normalizedQuestion, session) === 1 : undefined,\n showNote,\n teacherInstructions: defaults.teacherInstructions,\n responseAreaInputConfiguration: normalizedQuestion.responseAreaInputConfiguration,\n extraCSSRules: normalizedQuestion.extraCSSRules,\n };\n\n if (env.role === 'instructor' && (env.mode === 'view' || env.mode === 'evaluate')) {\n out.rationale = normalizedQuestion.rationaleEnabled ? normalizedQuestion.rationale : defaults.rationale;\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : defaults.teacherInstructions;\n }\n\n return out;\n}\n\nexport const prepareVal = (html) => {\n return decodeHTML(getInnerText(html).trim());\n};\n\nexport const getScore = (config, session) => {\n const { value } = session || {};\n\n if (!session || isEmpty(session) || !value) {\n return 0;\n }\n\n const responseAreas = config.markup && config.markup.match(/\\{\\{(.+?)\\}\\}/g);\n const maxScore = responseAreas ? responseAreas.length : 0;\n const correctCount = reduce(\n config.choices,\n (total, respArea, key) => {\n const chosenValue = value && value[key];\n\n if (isEmpty(chosenValue) || !find(respArea, (c) => prepareVal(c.label) === prepareVal(chosenValue))) {\n return total;\n }\n\n return total + 1;\n },\n 0,\n );\n\n const str = maxScore ? (correctCount / maxScore).toFixed(2) : 0;\n\n return parseFloat(str);\n};\n\n/**\n * The score is partial by default for checkbox mode, allOrNothing for radio mode.\n * To disable partial scoring for checkbox mode you either set model.partialScoring = false or env.partialScoring =\n * false. the value in `env` will override the value in `model`.\n * @param {Object} model - the main model\n * @param {boolean} model.partialScoring - is partial scoring enabled (if undefined set to to true)\n * @param {*} session\n * @param {Object} env\n * @param {boolean} env.partialScoring - is partial scoring enabled (if undefined default to true) This overrides\n * `model.partialScoring`.\n */\nexport function outcome(model, session, env = {}) {\n return new Promise((resolve) => {\n const partialScoringEnabled = partialScoring.enabled(model, env);\n const score = getScore(model, session);\n\n resolve({ score: partialScoringEnabled ? score : score === 1 ? 1 : 0, empty: isEmpty(session) });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { choices } = question;\n const value = {};\n\n Object.keys(choices).forEach((key, i) => {\n value[i] = choices[key][0].label;\n });\n\n resolve({ id: '1', value });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\n// const getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\nconst getInnerText = (html) => {\n if (typeof html !== 'string') {\n return '';\n }\n if (typeof html.replaceAll === 'function') {\n return html.replaceAll(/<[^>]*>/g, '');\n } else {\n // Polyfill for replaceAll using replace and a global regex\n return html.replace(/<[^>]*>/g, '');\n }\n};\n\nconst decodeHTML = (html) => decode(html);\n\n// remove all html tags except img, iframe and source tag for audio\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe|source)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const { choices, markup } = model;\n const { maxResponseAreas } = config;\n const allChoicesErrors = {};\n const errors = {};\n\n ['teacherInstructions', 'prompt', 'rationale'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n Object.entries(choices || {}).forEach(([key, values]) => {\n const reversedChoices = [...(values || [])].reverse();\n const choicesErrors = {};\n\n reversedChoices.forEach((choice, index) => {\n const { value, label } = choice;\n\n if (label === '' || label === '<div></div>') {\n choicesErrors[value] = 'Content should not be empty.';\n } else {\n const identicalAnswer = reversedChoices.slice(index + 1).some((c) => c.label === label);\n\n if (identicalAnswer) {\n choicesErrors[value] = 'Content should be unique.';\n }\n }\n });\n\n if (!isEmpty(choicesErrors)) {\n allChoicesErrors[key] = choicesErrors;\n }\n });\n\n const nbOfResponseAreas = (markup.match(/\\{\\{(\\d+)\\}\\}/g) || []).length;\n\n if (nbOfResponseAreas > maxResponseAreas) {\n errors.responseAreas = `No more than ${maxResponseAreas} response areas should be defined.`;\n } else if (nbOfResponseAreas < 1) {\n errors.responseAreas = 'There should be at least 1 response area defined.';\n }\n\n if (!isEmpty(allChoicesErrors)) {\n errors.choices = allChoicesErrors;\n }\n\n return errors;\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,15 +1,15 @@
1
1
  {
2
2
  "name": "@pie-element/explicit-constructed-response-controller",
3
3
  "private": true,
4
- "version": "6.3.3",
4
+ "version": "7.0.0-beta.1",
5
5
  "description": "",
6
6
  "main": "lib/index.js",
7
7
  "module": "src/index.js",
8
8
  "author": "",
9
9
  "license": "ISC",
10
10
  "dependencies": {
11
- "@pie-lib/controller-utils": "0.22.2",
12
- "@pie-lib/translator": "2.23.1",
11
+ "@pie-lib/controller-utils": "1.1.0-next.4",
12
+ "@pie-lib/translator": "3.1.0-next.4",
13
13
  "debug": "^3.1.0",
14
14
  "he": "^1.2.0",
15
15
  "lodash": "^4.17.15",
package/lib/index.js CHANGED
@@ -1,135 +1,91 @@
1
1
  "use strict";
2
2
 
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
4
  Object.defineProperty(exports, "__esModule", {
6
5
  value: true
7
6
  });
8
- exports["default"] = void 0;
9
-
10
- var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
25
-
7
+ exports.default = void 0;
26
8
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
27
-
28
9
  var _react = _interopRequireDefault(require("react"));
29
-
30
- var _reactDom = _interopRequireDefault(require("react-dom"));
31
-
10
+ var _client = require("react-dom/client");
32
11
  var _piePlayerEvents = require("@pie-framework/pie-player-events");
33
-
34
12
  var _mathRendering = require("@pie-lib/math-rendering");
35
-
36
13
  var _main = _interopRequireDefault(require("./main"));
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- var InlineDropdown = /*#__PURE__*/function (_HTMLElement) {
43
- (0, _inherits2["default"])(InlineDropdown, _HTMLElement);
44
-
45
- var _super = _createSuper(InlineDropdown);
46
-
47
- function InlineDropdown() {
48
- var _this;
49
-
50
- (0, _classCallCheck2["default"])(this, InlineDropdown);
51
- _this = _super.call(this);
52
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "_render", function () {
53
- if (_this._model && _this._session) {
54
- var elem = /*#__PURE__*/_react["default"].createElement(_main["default"], {
55
- choices: _this._model.choices,
56
- disabled: _this._model.disabled,
57
- displayType: _this._model.displayType,
58
- feedback: _this._model.feedback,
59
- language: _this._model.language,
60
- markup: _this._model.markup,
61
- maxLengthPerChoice: _this._model.maxLengthPerChoice,
62
- maxLengthPerChoiceEnabled: _this._model.maxLengthPerChoiceEnabled,
63
- mode: _this._model.mode,
64
- note: _this._model.note,
65
- onChange: _this.changeSession,
66
- playerSpellCheckEnabled: _this._model.playerSpellCheckEnabled,
67
- prompt: _this._model.prompt,
68
- rationale: _this._model.rationale,
69
- role: _this._model.role,
70
- showNote: _this._model.showNote,
71
- teacherInstructions: _this._model.teacherInstructions,
72
- value: _this._session.value,
73
- responseAreaInputConfiguration: _this._model.responseAreaInputConfiguration
14
+ class InlineDropdown extends HTMLElement {
15
+ constructor() {
16
+ super();
17
+ (0, _defineProperty2.default)(this, "_render", () => {
18
+ if (this._model && this._session) {
19
+ let elem = /*#__PURE__*/_react.default.createElement(_main.default, {
20
+ choices: this._model.choices,
21
+ disabled: this._model.disabled,
22
+ displayType: this._model.displayType,
23
+ feedback: this._model.feedback,
24
+ language: this._model.language,
25
+ markup: this._model.markup,
26
+ maxLengthPerChoice: this._model.maxLengthPerChoice,
27
+ maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,
28
+ mode: this._model.mode,
29
+ note: this._model.note,
30
+ onChange: this.changeSession,
31
+ playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,
32
+ prompt: this._model.prompt,
33
+ rationale: this._model.rationale,
34
+ role: this._model.role,
35
+ showNote: this._model.showNote,
36
+ teacherInstructions: this._model.teacherInstructions,
37
+ value: this._session.value,
38
+ responseAreaInputConfiguration: this._model.responseAreaInputConfiguration
74
39
  });
75
-
76
- _reactDom["default"].render(elem, (0, _assertThisInitialized2["default"])(_this), function () {
77
- (0, _mathRendering.renderMath)((0, _assertThisInitialized2["default"])(_this));
40
+ if (!this._root) {
41
+ this._root = (0, _client.createRoot)(this);
42
+ }
43
+ this._root.render(elem);
44
+ queueMicrotask(() => {
45
+ (0, _mathRendering.renderMath)(this);
78
46
  });
79
47
  }
80
48
  });
81
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "dispatchChangedEvent", function () {
82
- _this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(_this.tagName.toLowerCase(), _this.session && !!_this.session.value));
49
+ (0, _defineProperty2.default)(this, "dispatchChangedEvent", () => {
50
+ this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));
83
51
  });
84
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeSession", function (value) {
85
- _this.session.value = value;
86
-
87
- _this.dispatchChangedEvent();
88
-
89
- _this._render();
52
+ (0, _defineProperty2.default)(this, "changeSession", value => {
53
+ this.session.value = value;
54
+ this.dispatchChangedEvent();
55
+ this._render();
90
56
  });
91
- _this._model = null;
92
- _this._session = null;
93
- return _this;
57
+ this._model = null;
58
+ this._session = null;
59
+ this._root = null;
94
60
  }
95
-
96
- (0, _createClass2["default"])(InlineDropdown, [{
97
- key: "setLangAttribute",
98
- value: function setLangAttribute() {
99
- var language = this._model && (0, _typeof2["default"])(this._model.language) ? this._model.language : '';
100
- var lang = language ? language.slice(0, 2) : 'en';
101
- this.setAttribute('lang', lang);
102
- }
103
- }, {
104
- key: "model",
105
- set: function set(m) {
106
- this._model = m;
107
- this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model));
108
- this.setLangAttribute();
109
-
110
- this._render();
111
- }
112
- }, {
113
- key: "session",
114
- get: function get() {
115
- return this._session;
116
- },
117
- set: function set(s) {
118
- this._session = s;
119
-
120
- this._render();
121
- }
122
- }, {
123
- key: "connectedCallback",
124
- value: function connectedCallback() {
125
- this.setAttribute('aria-label', 'Fill in the Blank Question');
126
- this.setAttribute('role', 'region');
127
-
128
- this._render();
61
+ setLangAttribute() {
62
+ const language = this._model && typeof this._model.language ? this._model.language : '';
63
+ const lang = language ? language.slice(0, 2) : 'en';
64
+ this.setAttribute('lang', lang);
65
+ }
66
+ set model(m) {
67
+ this._model = m;
68
+ this.dispatchEvent(new _piePlayerEvents.ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model));
69
+ this.setLangAttribute();
70
+ this._render();
71
+ }
72
+ set session(s) {
73
+ this._session = s;
74
+ this._render();
75
+ }
76
+ get session() {
77
+ return this._session;
78
+ }
79
+ connectedCallback() {
80
+ this.setAttribute('aria-label', 'Fill in the Blank Question');
81
+ this.setAttribute('role', 'region');
82
+ this._render();
83
+ }
84
+ disconnectedCallback() {
85
+ if (this._root) {
86
+ this._root.unmount();
129
87
  }
130
- }]);
131
- return InlineDropdown;
132
- }( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
133
-
134
- exports["default"] = InlineDropdown;
88
+ }
89
+ }
90
+ exports.default = InlineDropdown;
135
91
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.js"],"names":["InlineDropdown","_model","_session","elem","React","createElement","Main","choices","disabled","displayType","feedback","language","markup","maxLengthPerChoice","maxLengthPerChoiceEnabled","mode","note","onChange","changeSession","playerSpellCheckEnabled","prompt","rationale","role","showNote","teacherInstructions","value","responseAreaInputConfiguration","ReactDOM","render","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","dispatchChangedEvent","_render","lang","slice","setAttribute","m","ModelSetEvent","setLangAttribute","s","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport Main from './main';\n\nexport default class InlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n _render = () => {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n choices: this._model.choices,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n feedback: this._model.feedback,\n language: this._model.language,\n markup: this._model.markup,\n maxLengthPerChoice: this._model.maxLengthPerChoice,\n maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,\n mode: this._model.mode,\n note: this._model.note,\n onChange: this.changeSession,\n playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n role: this._model.role,\n showNote: this._model.showNote,\n teacherInstructions: this._model.teacherInstructions,\n value: this._session.value,\n responseAreaInputConfiguration: this._model.responseAreaInputConfiguration,\n });\n\n ReactDOM.render(elem, this, () => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Fill in the Blank Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n}\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_piePlayerEvents","_mathRendering","_main","InlineDropdown","HTMLElement","constructor","_defineProperty2","default","_model","_session","elem","React","createElement","Main","choices","disabled","displayType","feedback","language","markup","maxLengthPerChoice","maxLengthPerChoiceEnabled","mode","note","onChange","changeSession","playerSpellCheckEnabled","prompt","rationale","role","showNote","teacherInstructions","value","responseAreaInputConfiguration","_root","createRoot","render","queueMicrotask","renderMath","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","session","dispatchChangedEvent","_render","setLangAttribute","lang","slice","setAttribute","model","m","ModelSetEvent","s","connectedCallback","disconnectedCallback","unmount","exports"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport { ModelSetEvent, SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nimport Main from './main';\n\nexport default class InlineDropdown extends HTMLElement {\n constructor() {\n super();\n this._model = null;\n this._session = null;\n this._root = null;\n }\n\n setLangAttribute() {\n const language = this._model && typeof this._model.language ? this._model.language : '';\n const lang = language ? language.slice(0, 2) : 'en';\n this.setAttribute('lang', lang);\n }\n\n set model(m) {\n this._model = m;\n this.dispatchEvent(\n new ModelSetEvent(this.tagName.toLowerCase(), this.session && !!this.session.value, !!this._model),\n );\n this.setLangAttribute();\n\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n _render = () => {\n if (this._model && this._session) {\n let elem = React.createElement(Main, {\n choices: this._model.choices,\n disabled: this._model.disabled,\n displayType: this._model.displayType,\n feedback: this._model.feedback,\n language: this._model.language,\n markup: this._model.markup,\n maxLengthPerChoice: this._model.maxLengthPerChoice,\n maxLengthPerChoiceEnabled: this._model.maxLengthPerChoiceEnabled,\n mode: this._model.mode,\n note: this._model.note,\n onChange: this.changeSession,\n playerSpellCheckEnabled: this._model.playerSpellCheckEnabled,\n prompt: this._model.prompt,\n rationale: this._model.rationale,\n role: this._model.role,\n showNote: this._model.showNote,\n teacherInstructions: this._model.teacherInstructions,\n value: this._session.value,\n responseAreaInputConfiguration: this._model.responseAreaInputConfiguration,\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(elem);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n };\n\n dispatchChangedEvent = () => {\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), this.session && !!this.session.value));\n };\n\n changeSession = (value) => {\n this.session.value = value;\n this.dispatchChangedEvent();\n this._render();\n };\n\n connectedCallback() {\n this.setAttribute('aria-label', 'Fill in the Blank Question');\n this.setAttribute('role', 'region');\n\n this._render();\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}