@pie-element/categorize 13.1.11 → 13.2.0-next.9
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.
- package/configure.js +2 -0
- package/controller.js +1 -0
- package/dist/author/defaults.d.ts +222 -0
- package/dist/author/defaults.js +168 -0
- package/dist/author/design/builder.d.ts +10 -0
- package/dist/author/design/builder.js +24 -0
- package/dist/author/design/buttons.d.ts +28 -0
- package/dist/author/design/buttons.js +36 -0
- package/dist/author/design/categories/RowLabel.d.ts +23 -0
- package/dist/author/design/categories/RowLabel.js +47 -0
- package/dist/author/design/categories/alternateResponses.d.ts +31 -0
- package/dist/author/design/categories/alternateResponses.js +62 -0
- package/dist/author/design/categories/category.d.ts +44 -0
- package/dist/author/design/categories/category.js +98 -0
- package/dist/author/design/categories/choice-preview.d.ts +25 -0
- package/dist/author/design/categories/choice-preview.js +60 -0
- package/dist/author/design/categories/droppable-placeholder.d.ts +11 -0
- package/dist/author/design/categories/droppable-placeholder.js +71 -0
- package/dist/author/design/categories/index.d.ts +41 -0
- package/dist/author/design/categories/index.js +146 -0
- package/dist/author/design/choices/choice.d.ts +11 -0
- package/dist/author/design/choices/choice.js +129 -0
- package/dist/author/design/choices/config.d.ts +21 -0
- package/dist/author/design/choices/config.js +33 -0
- package/dist/author/design/choices/index.d.ts +41 -0
- package/dist/author/design/choices/index.js +110 -0
- package/dist/author/design/header.d.ts +24 -0
- package/dist/author/design/header.js +49 -0
- package/dist/author/design/index.d.ts +52 -0
- package/dist/author/design/index.js +427 -0
- package/dist/author/design/input-header.d.ts +39 -0
- package/dist/author/design/input-header.js +69 -0
- package/dist/author/design/utils.d.ts +9 -0
- package/dist/author/design/utils.js +7 -0
- package/dist/author/index.d.ts +50 -0
- package/dist/author/index.js +87 -0
- package/dist/author/main.d.ts +23 -0
- package/dist/author/main.js +30 -0
- package/dist/author/utils.d.ts +16 -0
- package/dist/author/utils.js +17 -0
- package/dist/browser/alert-dialog-BL9K_lnF.js +11511 -0
- package/dist/browser/alert-dialog-BL9K_lnF.js.map +1 -0
- package/dist/browser/author/index.js +43156 -0
- package/dist/browser/author/index.js.map +1 -0
- package/dist/browser/categorize.css +2 -0
- package/dist/browser/controller/index.js +372 -0
- package/dist/browser/controller/index.js.map +1 -0
- package/dist/browser/delivery/index.js +1205 -0
- package/dist/browser/delivery/index.js.map +1 -0
- package/dist/browser/dist-C11U2GIc.js +1871 -0
- package/dist/browser/dist-C11U2GIc.js.map +1 -0
- package/dist/browser/rolldown-runtime-CWhphoD1.js +32 -0
- package/dist/controller/defaults.d.ts +33 -0
- package/dist/controller/defaults.js +27 -0
- package/dist/controller/index.d.ts +62 -0
- package/dist/controller/index.js +168 -0
- package/dist/controller/utils.d.ts +20 -0
- package/dist/controller/utils.js +35 -0
- package/dist/delivery/categorize/__tests__/categories.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/category.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/choice.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/choices.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/droppable-placeholder.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/grid-content.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/index.test.d.ts +1 -0
- package/dist/delivery/categorize/__tests__/keyboard-coordinates.test.d.ts +1 -0
- package/dist/delivery/categorize/categories.d.ts +37 -0
- package/dist/delivery/categorize/categories.js +72 -0
- package/dist/delivery/categorize/category.d.ts +31 -0
- package/dist/delivery/categorize/category.js +55 -0
- package/dist/delivery/categorize/choice.d.ts +28 -0
- package/dist/delivery/categorize/choice.js +114 -0
- package/dist/delivery/categorize/choices.d.ts +42 -0
- package/dist/delivery/categorize/choices.js +58 -0
- package/dist/delivery/categorize/droppable-placeholder.d.ts +36 -0
- package/dist/delivery/categorize/droppable-placeholder.js +77 -0
- package/dist/delivery/categorize/grid-content.d.ts +25 -0
- package/dist/delivery/categorize/grid-content.js +39 -0
- package/dist/delivery/categorize/index.d.ts +70 -0
- package/dist/delivery/categorize/index.js +317 -0
- package/dist/delivery/categorize/keyboard-coordinates.d.ts +22 -0
- package/dist/delivery/categorize/keyboard-coordinates.js +49 -0
- package/dist/delivery/index.d.ts +27 -0
- package/dist/delivery/index.js +152 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.iife.d.ts +8 -0
- package/dist/index.iife.js +152 -0
- package/dist/index.js +2 -0
- package/dist/runtime-support.d.ts +12 -0
- package/dist/runtime-support.js +12 -0
- package/package.json +97 -22
- package/CHANGELOG.json +0 -1637
- package/CHANGELOG.md +0 -2598
- package/LICENSE.md +0 -5
- package/README.md +0 -5
- package/configure/CHANGELOG.json +0 -1202
- package/configure/CHANGELOG.md +0 -2177
- package/configure/lib/defaults.js +0 -220
- package/configure/lib/defaults.js.map +0 -1
- package/configure/lib/design/builder.js +0 -55
- package/configure/lib/design/builder.js.map +0 -1
- package/configure/lib/design/buttons.js +0 -59
- package/configure/lib/design/buttons.js.map +0 -1
- package/configure/lib/design/categories/RowLabel.js +0 -66
- package/configure/lib/design/categories/RowLabel.js.map +0 -1
- package/configure/lib/design/categories/alternateResponses.js +0 -116
- package/configure/lib/design/categories/alternateResponses.js.map +0 -1
- package/configure/lib/design/categories/category.js +0 -153
- package/configure/lib/design/categories/category.js.map +0 -1
- package/configure/lib/design/categories/choice-preview.js +0 -79
- package/configure/lib/design/categories/choice-preview.js.map +0 -1
- package/configure/lib/design/categories/droppable-placeholder.js +0 -93
- package/configure/lib/design/categories/droppable-placeholder.js.map +0 -1
- package/configure/lib/design/categories/index.js +0 -256
- package/configure/lib/design/categories/index.js.map +0 -1
- package/configure/lib/design/choices/choice.js +0 -187
- package/configure/lib/design/choices/choice.js.map +0 -1
- package/configure/lib/design/choices/config.js +0 -58
- package/configure/lib/design/choices/config.js.map +0 -1
- package/configure/lib/design/choices/index.js +0 -197
- package/configure/lib/design/choices/index.js.map +0 -1
- package/configure/lib/design/header.js +0 -71
- package/configure/lib/design/header.js.map +0 -1
- package/configure/lib/design/index.js +0 -741
- package/configure/lib/design/index.js.map +0 -1
- package/configure/lib/design/input-header.js +0 -105
- package/configure/lib/design/input-header.js.map +0 -1
- package/configure/lib/design/utils.js +0 -12
- package/configure/lib/design/utils.js.map +0 -1
- package/configure/lib/index.js +0 -148
- package/configure/lib/index.js.map +0 -1
- package/configure/lib/main.js +0 -44
- package/configure/lib/main.js.map +0 -1
- package/configure/lib/utils.js +0 -43
- package/configure/lib/utils.js.map +0 -1
- package/configure/package.json +0 -32
- package/controller/CHANGELOG.json +0 -452
- package/controller/CHANGELOG.md +0 -1411
- package/controller/lib/defaults.js +0 -31
- package/controller/lib/defaults.js.map +0 -1
- package/controller/lib/index.js +0 -506
- package/controller/lib/index.js.map +0 -1
- package/controller/lib/utils.js +0 -69
- package/controller/lib/utils.js.map +0 -1
- package/controller/package.json +0 -18
- package/docs/config-schema.json +0 -2897
- package/docs/config-schema.json.md +0 -2138
- package/docs/demo/config.js +0 -8
- package/docs/demo/generate.js +0 -357
- package/docs/demo/index.html +0 -1
- package/docs/demo/session.js +0 -12
- package/docs/pie-schema.json +0 -1784
- package/docs/pie-schema.json.md +0 -1046
- package/lib/categorize/categories.js +0 -135
- package/lib/categorize/categories.js.map +0 -1
- package/lib/categorize/category.js +0 -67
- package/lib/categorize/category.js.map +0 -1
- package/lib/categorize/choice.js +0 -140
- package/lib/categorize/choice.js.map +0 -1
- package/lib/categorize/choices.js +0 -99
- package/lib/categorize/choices.js.map +0 -1
- package/lib/categorize/droppable-placeholder.js +0 -84
- package/lib/categorize/droppable-placeholder.js.map +0 -1
- package/lib/categorize/grid-content.js +0 -55
- package/lib/categorize/grid-content.js.map +0 -1
- package/lib/categorize/index.js +0 -450
- package/lib/categorize/index.js.map +0 -1
- package/lib/index.js +0 -316
- package/lib/index.js.map +0 -1
package/controller/lib/utils.js
DELETED
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.multiplePlacements = exports.isCorrectResponseDuplicated = exports.isAlternateDuplicated = exports.getCompleteResponseDetails = void 0;
|
|
7
|
-
// used in configure too, for consistency modify it there too
|
|
8
|
-
const multiplePlacements = exports.multiplePlacements = {
|
|
9
|
-
enabled: 'Yes',
|
|
10
|
-
disabled: 'No',
|
|
11
|
-
perChoice: 'Set Per Choice'
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
// used to validate the config
|
|
15
|
-
const isCorrectResponseDuplicated = (choices, alternate) => {
|
|
16
|
-
if (choices.length < 1 || alternate.length < 1) {
|
|
17
|
-
return -1;
|
|
18
|
-
}
|
|
19
|
-
const stringChoices = JSON.stringify(choices.sort());
|
|
20
|
-
const stringAlternate = alternate.reduce((total, current) => current.length > 0 ? [...total, JSON.stringify(current.sort())] : total, []);
|
|
21
|
-
const foundIndexDuplicate = stringAlternate.findIndex(alternate => alternate.length && alternate === stringChoices);
|
|
22
|
-
return foundIndexDuplicate;
|
|
23
|
-
};
|
|
24
|
-
exports.isCorrectResponseDuplicated = isCorrectResponseDuplicated;
|
|
25
|
-
const isAlternateDuplicated = alternate => {
|
|
26
|
-
if (alternate.length <= 1) {
|
|
27
|
-
return -1;
|
|
28
|
-
}
|
|
29
|
-
const elementSet = new Set();
|
|
30
|
-
const stringAlternate = alternate.reduce((total, current) => current.length > 0 ? [...total, JSON.stringify(current.sort())] : total, []);
|
|
31
|
-
for (let i = 0; i < stringAlternate.length; i++) {
|
|
32
|
-
if (elementSet.has(stringAlternate[i]) && stringAlternate[i]) {
|
|
33
|
-
return i;
|
|
34
|
-
}
|
|
35
|
-
elementSet.add(stringAlternate[i]);
|
|
36
|
-
}
|
|
37
|
-
return -1;
|
|
38
|
-
};
|
|
39
|
-
|
|
40
|
-
// calculate the minimum number of populated response areas (categories) in the correct answer or alternates
|
|
41
|
-
// and create an array with the possible responses ids
|
|
42
|
-
exports.isAlternateDuplicated = isAlternateDuplicated;
|
|
43
|
-
const getCompleteResponseDetails = (correctResponse, alternates, allChoices) => {
|
|
44
|
-
const choicesPerCategory = correctResponse.map(category => category.choices);
|
|
45
|
-
const possibleResponses = [choicesPerCategory.flat()];
|
|
46
|
-
let responseAreasToBeFilled = choicesPerCategory.filter(choices => choices.length).length;
|
|
47
|
-
if (alternates.length) {
|
|
48
|
-
const alternatesPerChoice = alternates[0]?.length || 0; // number of alternates
|
|
49
|
-
|
|
50
|
-
[...Array(alternatesPerChoice).keys()].forEach(index => {
|
|
51
|
-
const alternatesPerResponse = alternates.map(alternate => alternate[index]);
|
|
52
|
-
const filledCategories = alternatesPerResponse.filter(category => category?.length).length;
|
|
53
|
-
possibleResponses.push(alternatesPerResponse.flat());
|
|
54
|
-
if (filledCategories < responseAreasToBeFilled) {
|
|
55
|
-
responseAreasToBeFilled = filledCategories;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
// check if any correct answer have any unplaced answer choices
|
|
61
|
-
const hasUnplacedChoices = possibleResponses.some(response => !allChoices.every(val => response.includes(val?.id)));
|
|
62
|
-
return {
|
|
63
|
-
responseAreasToBeFilled,
|
|
64
|
-
possibleResponses,
|
|
65
|
-
hasUnplacedChoices
|
|
66
|
-
};
|
|
67
|
-
};
|
|
68
|
-
exports.getCompleteResponseDetails = getCompleteResponseDetails;
|
|
69
|
-
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["multiplePlacements","exports","enabled","disabled","perChoice","isCorrectResponseDuplicated","choices","alternate","length","stringChoices","JSON","stringify","sort","stringAlternate","reduce","total","current","foundIndexDuplicate","findIndex","isAlternateDuplicated","elementSet","Set","i","has","add","getCompleteResponseDetails","correctResponse","alternates","allChoices","choicesPerCategory","map","category","possibleResponses","flat","responseAreasToBeFilled","filter","alternatesPerChoice","Array","keys","forEach","index","alternatesPerResponse","filledCategories","push","hasUnplacedChoices","some","response","every","val","includes","id"],"sources":["../src/utils.js"],"sourcesContent":["// used in configure too, for consistency modify it there too\nexport const multiplePlacements = { enabled: 'Yes', disabled: 'No', perChoice: 'Set Per Choice' };\n\n// used to validate the config\nexport const isCorrectResponseDuplicated = (choices, alternate) => {\n if (choices.length < 1 || alternate.length < 1) {\n return -1;\n }\n\n const stringChoices = JSON.stringify(choices.sort());\n const stringAlternate = alternate.reduce(\n (total, current) => (current.length > 0 ? [...total, JSON.stringify(current.sort())] : total),\n [],\n );\n const foundIndexDuplicate = stringAlternate.findIndex((alternate) => alternate.length && alternate === stringChoices);\n\n return foundIndexDuplicate;\n};\n\nexport const isAlternateDuplicated = (alternate) => {\n if (alternate.length <= 1) {\n return -1;\n }\n\n const elementSet = new Set();\n const stringAlternate = alternate.reduce(\n (total, current) => (current.length > 0 ? [...total, JSON.stringify(current.sort())] : total),\n [],\n );\n\n for (let i = 0; i < stringAlternate.length; i++) {\n if (elementSet.has(stringAlternate[i]) && stringAlternate[i]) {\n return i;\n }\n\n elementSet.add(stringAlternate[i]);\n }\n\n return -1;\n};\n\n// calculate the minimum number of populated response areas (categories) in the correct answer or alternates\n// and create an array with the possible responses ids\nexport const getCompleteResponseDetails = (correctResponse, alternates, allChoices) => {\n const choicesPerCategory = correctResponse.map((category) => category.choices);\n const possibleResponses = [choicesPerCategory.flat()];\n let responseAreasToBeFilled = choicesPerCategory.filter((choices) => choices.length).length;\n\n if (alternates.length) {\n const alternatesPerChoice = alternates[0]?.length || 0; // number of alternates\n\n [...Array(alternatesPerChoice).keys()].forEach((index) => {\n const alternatesPerResponse = alternates.map((alternate) => alternate[index]);\n const filledCategories = alternatesPerResponse.filter((category) => category?.length).length;\n possibleResponses.push(alternatesPerResponse.flat());\n\n if (filledCategories < responseAreasToBeFilled) {\n responseAreasToBeFilled = filledCategories;\n }\n });\n }\n\n // check if any correct answer have any unplaced answer choices\n const hasUnplacedChoices = possibleResponses.some(\n (response) => !allChoices.every((val) => response.includes(val?.id)),\n );\n\n return { responseAreasToBeFilled, possibleResponses, hasUnplacedChoices };\n};\n"],"mappings":"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","ignoreList":[]}
|
package/controller/package.json
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@pie-element/categorize-controller",
|
|
3
|
-
"private": true,
|
|
4
|
-
"dependencies": {
|
|
5
|
-
"@pie-lib/categorize": "2.0.2",
|
|
6
|
-
"@pie-lib/controller-utils": "2.0.3",
|
|
7
|
-
"@pie-lib/feedback": "2.0.2",
|
|
8
|
-
"@pie-lib/translator": "4.0.2",
|
|
9
|
-
"lodash-es": "^4.17.23"
|
|
10
|
-
},
|
|
11
|
-
"version": "10.1.7",
|
|
12
|
-
"description": "",
|
|
13
|
-
"scripts": {},
|
|
14
|
-
"main": "lib/index.js",
|
|
15
|
-
"module": "src/index.js",
|
|
16
|
-
"author": "pie framework developers",
|
|
17
|
-
"license": "ISC"
|
|
18
|
-
}
|