@pie-element/match-list 1.12.4-next.137 → 1.12.4-next.1370
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/CHANGELOG.md +119 -0
- package/controller/CHANGELOG.md +35 -0
- package/controller/lib/index.js +4 -3
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +1 -1
- package/lib/answer-area.js +3 -3
- package/lib/answer-area.js.map +1 -1
- package/lib/answer.js +2 -2
- package/lib/answer.js.map +1 -1
- package/lib/arrow.js +1 -1
- package/lib/arrow.js.map +1 -1
- package/lib/choices-list.js +1 -1
- package/lib/choices-list.js.map +1 -1
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/main.js +5 -10
- package/lib/main.js.map +1 -1
- package/package.json +5 -5
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,125 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.12.23](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.22...@pie-element/match-list@1.12.23) (2022-06-13)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.12.22](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.21...@pie-element/match-list@1.12.22) (2022-05-30)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [1.12.21](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.20...@pie-element/match-list@1.12.21) (2022-05-03)
|
|
23
|
+
|
|
24
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [1.12.20](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.19...@pie-element/match-list@1.12.20) (2022-04-12)
|
|
31
|
+
|
|
32
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [1.12.19](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.18...@pie-element/match-list@1.12.19) (2022-03-22)
|
|
39
|
+
|
|
40
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
## [1.12.18](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.17...@pie-element/match-list@1.12.18) (2021-12-23)
|
|
47
|
+
|
|
48
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
## [1.12.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.15...@pie-element/match-list@1.12.16) (2021-12-13)
|
|
55
|
+
|
|
56
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
## [1.12.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.12...@pie-element/match-list@1.12.13) (2021-11-29)
|
|
63
|
+
|
|
64
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
## [1.12.12](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.5...@pie-element/match-list@1.12.12) (2021-11-11)
|
|
71
|
+
|
|
72
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
73
|
+
|
|
74
|
+
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
## [1.12.11](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.3...@pie-element/match-list@1.12.11) (2021-11-11)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
### Bug Fixes
|
|
82
|
+
|
|
83
|
+
* Updated pie-lib versions ([1c23830](https://github.com/pie-framework/pie-elements/commit/1c23830fc75d1de5f7bb3bb16de3c665ae5fa350))
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
## [1.12.5](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.4...@pie-element/match-list@1.12.5) (2021-09-01)
|
|
91
|
+
|
|
92
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
## [1.12.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.3...@pie-element/match-list@1.12.4) (2021-08-05)
|
|
99
|
+
|
|
100
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
## [1.12.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.1...@pie-element/match-list@1.12.3) (2021-08-05)
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
### Bug Fixes
|
|
110
|
+
|
|
111
|
+
* force bump ([5ea7295](https://github.com/pie-framework/pie-elements/commit/5ea7295e4755fbc492a76e7ec69e5fc35b196919))
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
## [1.12.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.12.0...@pie-element/match-list@1.12.1) (2021-06-29)
|
|
118
|
+
|
|
119
|
+
**Note:** Version bump only for package @pie-element/match-list
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
6
125
|
# [1.12.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list@1.11.15...@pie-element/match-list@1.12.0) (2021-04-07)
|
|
7
126
|
|
|
8
127
|
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,41 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.5.18](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@1.5.16...@pie-element/match-list-controller@1.5.18) (2021-11-11)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @pie-element/match-list-controller
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [1.5.17](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@1.5.16...@pie-element/match-list-controller@1.5.17) (2021-11-11)
|
|
15
|
+
|
|
16
|
+
**Note:** Version bump only for package @pie-element/match-list-controller
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
## [1.5.16](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@1.5.14...@pie-element/match-list-controller@1.5.16) (2021-08-05)
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* force bump ([5ea7295](https://github.com/pie-framework/pie-elements/commit/5ea7295e4755fbc492a76e7ec69e5fc35b196919))
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
## [1.5.14](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@1.5.13...@pie-element/match-list-controller@1.5.14) (2021-06-29)
|
|
34
|
+
|
|
35
|
+
**Note:** Version bump only for package @pie-element/match-list-controller
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
6
41
|
## [1.5.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-list-controller@1.5.10...@pie-element/match-list-controller@1.5.13) (2021-03-03)
|
|
7
42
|
|
|
8
43
|
**Note:** Version bump only for package @pie-element/match-list-controller
|
package/controller/lib/index.js
CHANGED
|
@@ -5,9 +5,10 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
+
exports.createCorrectResponseSession = void 0;
|
|
8
9
|
exports.createDefaultModel = createDefaultModel;
|
|
9
10
|
exports.model = model;
|
|
10
|
-
exports.
|
|
11
|
+
exports.outcome = void 0;
|
|
11
12
|
|
|
12
13
|
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
13
14
|
|
|
@@ -25,9 +26,9 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
25
26
|
|
|
26
27
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
27
28
|
|
|
28
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
29
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
29
30
|
|
|
30
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
31
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
31
32
|
|
|
32
33
|
var log = (0, _debug["default"])('@pie-element:match-list:controller');
|
|
33
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","prompts","Object","keys","length","totalCorrectAnswers","getTotalCorrect","correctAnswers","getCorrectSelected","getCorrectness","question","mode","forEach","p","relatedAnswer","id","getPartialScore","count","totalCorrect","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","score","undefined","completed","empty","out","value","createDefaultModel","defaults","updateSession","correctResponse","correctInfo","shuffledValues","us","part","element","update","lockChoiceOrder","e","console","error","prompt","fb","feedback","then","base","config","role","rationale","assign","createCorrectResponseSession","filter","a"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport {\n lockChoices,\n getShuffledChoices,\n partialScoring,\n} from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match-list:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const prompts = model.prompts;\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = getTotalCorrect(model);\n const correctAnswers = getCorrectSelected(prompts, answers);\n\n if (totalCorrectAnswers === correctAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCorrectSelected = (prompts = [], answers) => {\n let correctAnswers = 0;\n\n prompts.forEach((p) => {\n if (p.relatedAnswer === answers[p.id]) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n return question && question.prompts ? question.prompts.length : 0;\n};\n\nconst getPartialScore = (question, answers) => {\n const count = getCorrectSelected(question && question.prompts, answers);\n const totalCorrect = getTotalCorrect(question);\n\n return parseFloat((count / totalCorrect).toFixed(2));\n};\n\nconst getOutComeScore = (question, env, answers) => {\n const correctness = getCorrectness(question, env, answers);\n\n return correctness === 'correct'\n ? 1\n : correctness === 'partial' && true\n ? getPartialScore(question, answers)\n : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n } else {\n const out = {\n score: getOutComeScore(question, env, session.value),\n };\n\n resolve(out);\n }\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const correctness = getCorrectness(question, env, session && session.value);\n const correctResponse = {};\n const score = `${\n getOutComeScore(question, env, session && session.value) * 100\n }%`;\n const correctInfo = {\n score,\n correctness,\n };\n\n const shuffledValues = {};\n let prompts = question.prompts;\n let answers = question.answers;\n\n const us = (part) => (id, element, update) => {\n return new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n };\n\n const lockChoiceOrder = lockChoices(question, session, env);\n\n if (!lockChoiceOrder) {\n prompts = await getShuffledChoices(\n prompts,\n { shuffledValues: ((session && session.shuffledValues) || {}).prompts },\n us('prompts'),\n 'id'\n );\n answers = await getShuffledChoices(\n answers,\n { shuffledValues: ((session && session.shuffledValues) || {}).answers },\n us('answers'),\n 'id'\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n console.error('update session failed', e);\n });\n }\n }\n\n if (question && prompts) {\n prompts.forEach((prompt) => {\n correctResponse[prompt.id] = prompt.relatedAnswer;\n });\n }\n\n const fb =\n env.mode === 'evaluate'\n ? getFeedbackForCorrectness(correctInfo.correctness, question.feedback)\n : Promise.resolve(undefined);\n\n fb.then((feedback) => {\n const base = {\n config: {\n ...question,\n prompts,\n answers,\n },\n correctness: correctInfo,\n feedback,\n mode: env.mode,\n };\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n base.rationale = question.rationale;\n } else {\n base.rationale = null;\n }\n\n const out = Object.assign(base, {\n correctResponse,\n });\n\n log('out: ', out);\n resolve(out);\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { prompts, answers } = question;\n const value = {};\n\n prompts.forEach((p) => {\n if (answers.filter((a) => a.id === p.relatedAnswer).length) {\n value[p.id] = p.relatedAnswer;\n }\n });\n\n resolve({\n value,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","getResponseCorrectness","model","answers","env","isPartialScoring","partialScoring","enabled","prompts","Object","keys","length","totalCorrectAnswers","getTotalCorrect","correctAnswers","getCorrectSelected","getCorrectness","question","mode","forEach","p","relatedAnswer","id","getPartialScore","count","totalCorrect","parseFloat","toFixed","getOutComeScore","correctness","outcome","session","Promise","resolve","score","undefined","completed","empty","out","value","createDefaultModel","defaults","updateSession","correctResponse","correctInfo","shuffledValues","us","part","element","update","lockChoiceOrder","e","console","error","prompt","fb","feedback","then","base","config","role","rationale","assign","createCorrectResponseSession","filter","a"],"mappings":"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","sourcesContent":["import isEmpty from 'lodash/isEmpty';\nimport { getFeedbackForCorrectness } from '@pie-lib/feedback';\nimport {\n lockChoices,\n getShuffledChoices,\n partialScoring,\n} from '@pie-lib/controller-utils';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:match-list:controller');\n\nimport defaults from './defaults';\n\nconst getResponseCorrectness = (model, answers, env) => {\n const isPartialScoring = partialScoring.enabled(model, env);\n const prompts = model.prompts;\n\n if (!answers || Object.keys(answers).length === 0) {\n return 'unanswered';\n }\n\n const totalCorrectAnswers = getTotalCorrect(model);\n const correctAnswers = getCorrectSelected(prompts, answers);\n\n if (totalCorrectAnswers === correctAnswers) {\n return 'correct';\n } else if (correctAnswers === 0) {\n return 'incorrect';\n } else if (isPartialScoring) {\n return 'partial';\n }\n\n return 'incorrect';\n};\n\nconst getCorrectness = (question, env, answers) => {\n if (env.mode === 'evaluate') {\n return getResponseCorrectness(question, answers, env);\n }\n};\n\nconst getCorrectSelected = (prompts = [], answers) => {\n let correctAnswers = 0;\n\n prompts.forEach((p) => {\n if (p.relatedAnswer === answers[p.id]) {\n correctAnswers += 1;\n }\n });\n\n return correctAnswers;\n};\n\nconst getTotalCorrect = (question) => {\n return question && question.prompts ? question.prompts.length : 0;\n};\n\nconst getPartialScore = (question, answers) => {\n const count = getCorrectSelected(question && question.prompts, answers);\n const totalCorrect = getTotalCorrect(question);\n\n return parseFloat((count / totalCorrect).toFixed(2));\n};\n\nconst getOutComeScore = (question, env, answers) => {\n const correctness = getCorrectness(question, env, answers);\n\n return correctness === 'correct'\n ? 1\n : correctness === 'partial' && true\n ? getPartialScore(question, answers)\n : 0;\n};\n\nexport const outcome = (question, session, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate') {\n resolve({ score: undefined, completed: undefined });\n } else {\n if (!session || isEmpty(session)) {\n resolve({ score: 0, empty: true });\n } else {\n const out = {\n score: getOutComeScore(question, env, session.value),\n };\n\n resolve(out);\n }\n }\n });\n};\n\nexport function createDefaultModel(model = {}) {\n return new Promise((resolve) => {\n resolve({\n ...defaults,\n ...model,\n });\n });\n}\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n * @param {*} updateSession - optional - a function that will set the properties passed into it on the session.\n */\nexport function model(question, session, env, updateSession) {\n return new Promise(async (resolve) => {\n const correctness = getCorrectness(question, env, session && session.value);\n const correctResponse = {};\n const score = `${\n getOutComeScore(question, env, session && session.value) * 100\n }%`;\n const correctInfo = {\n score,\n correctness,\n };\n\n const shuffledValues = {};\n let prompts = question.prompts;\n let answers = question.answers;\n\n const us = (part) => (id, element, update) => {\n return new Promise((resolve) => {\n shuffledValues[part] = update.shuffledValues;\n resolve();\n });\n };\n\n const lockChoiceOrder = lockChoices(question, session, env);\n\n if (!lockChoiceOrder) {\n prompts = await getShuffledChoices(\n prompts,\n { shuffledValues: ((session && session.shuffledValues) || {}).prompts },\n us('prompts'),\n 'id'\n );\n answers = await getShuffledChoices(\n answers,\n { shuffledValues: ((session && session.shuffledValues) || {}).answers },\n us('answers'),\n 'id'\n );\n }\n\n if (!isEmpty(shuffledValues)) {\n if (updateSession && typeof updateSession === 'function') {\n updateSession(session.id, session.element, {\n shuffledValues,\n }).catch((e) => {\n console.error('update session failed', e);\n });\n }\n }\n\n if (question && prompts) {\n prompts.forEach((prompt) => {\n correctResponse[prompt.id] = prompt.relatedAnswer;\n });\n }\n\n const fb =\n env.mode === 'evaluate'\n ? getFeedbackForCorrectness(correctInfo.correctness, question.feedback)\n : Promise.resolve(undefined);\n\n fb.then((feedback) => {\n const base = {\n config: {\n ...question,\n prompts,\n answers,\n },\n correctness: correctInfo,\n feedback,\n mode: env.mode,\n };\n\n if (\n env.role === 'instructor' &&\n (env.mode === 'view' || env.mode === 'evaluate')\n ) {\n base.rationale = question.rationale;\n } else {\n base.rationale = null;\n }\n\n const out = Object.assign(base, {\n correctResponse,\n });\n\n log('out: ', out);\n resolve(out);\n });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { prompts, answers } = question;\n const value = {};\n\n prompts.forEach((p) => {\n if (answers.filter((a) => a.id === p.relatedAnswer).length) {\n value[p.id] = p.relatedAnswer;\n }\n });\n\n resolve({\n value,\n id: '1',\n });\n } else {\n resolve(null);\n }\n });\n};\n"],"file":"index.js"}
|
package/controller/package.json
CHANGED
package/lib/answer-area.js
CHANGED
|
@@ -37,13 +37,13 @@ var _arrow = _interopRequireDefault(require("./arrow"));
|
|
|
37
37
|
|
|
38
38
|
var _answer = _interopRequireDefault(require("./answer"));
|
|
39
39
|
|
|
40
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
40
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
41
41
|
|
|
42
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
42
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
43
43
|
|
|
44
44
|
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); }; }
|
|
45
45
|
|
|
46
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
46
|
+
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; } }
|
|
47
47
|
|
|
48
48
|
var AnswerArea = /*#__PURE__*/function (_React$Component) {
|
|
49
49
|
(0, _inherits2["default"])(AnswerArea, _React$Component);
|
package/lib/answer-area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","display","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","flex","alignItems","height","margin","flexDirection","justifyContent","border","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string\n };\n\n getAnswerFromSession = promptId => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find(p => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find(answer => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value || config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(sessionValue, (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n }, {});\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = (config.prompts || []);\n\n return prompts.map(prompt => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer\n };\n });\n };\n\n render() {\n const {\n classes,\n disabled,\n onPlaceAnswer,\n instanceId,\n onRemoveAnswer\n } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n\n return (\n <div\n className={classes.row}\n style={{\n display: 'flex'\n }}\n key={index}\n >\n <div\n className={classes.promptEntry}\n dangerouslySetInnerHTML={{ __html: title }}\n />\n <div\n className={classes.arrowEntry}\n >\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = () => ({\n answer: {\n flex: 1\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px'\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between'\n },\n promptEntry: {\n border: '1px solid #c2c2c2',\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word'\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%'\n }\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer-area.jsx"],"names":["AnswerArea","promptId","props","model","session","showCorrect","config","answerId","prompts","find","p","id","relatedAnswer","value","answer","answers","sessionValue","reduce","obj","prompt","undefined","mode","correctPromptMap","val","key","map","sessionAnswer","getAnswerFromSession","classes","disabled","onPlaceAnswer","instanceId","onRemoveAnswer","rows","buildRows","correctnessMap","getCorrectOrIncorrectMap","itemList","index","title","row","display","promptEntry","__html","arrowEntry","place","React","Component","PropTypes","object","isRequired","bool","onSessionChange","func","string","styles","flex","alignItems","height","margin","flexDirection","justifyContent","border","boxSizing","minHeight","overflow","padding","textAlign","width","wordBreak"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport reduce from 'lodash/reduce';\n\nimport Arrow from './arrow';\nimport DragAndDropAnswer from './answer';\n\nexport class AnswerArea extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n showCorrect: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func,\n onRemoveAnswer: PropTypes.func,\n onPlaceAnswer: PropTypes.func.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string\n };\n\n getAnswerFromSession = promptId => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const answerId = showCorrect\n ? config.prompts.find(p => p.id === promptId).relatedAnswer\n : session.value && session.value[promptId];\n const answer = config.answers.find(answer => answer.id === answerId);\n\n return answer || {};\n };\n\n getCorrectOrIncorrectMap = () => {\n const { model, session, showCorrect } = this.props;\n const { config } = model;\n const sessionValue =\n session.value || config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = undefined;\n return obj;\n }, {});\n\n if (model.mode !== 'evaluate') {\n return {};\n }\n\n if (showCorrect) {\n return config.prompts.reduce((obj, prompt) => {\n obj[prompt.id] = true;\n\n return obj;\n }, {});\n }\n\n const correctPromptMap = config.prompts.reduce((obj, prompt) => {\n if (!isUndefined(prompt.relatedAnswer)) {\n obj[prompt.id] = prompt.relatedAnswer;\n }\n\n return obj;\n }, {});\n\n return reduce(sessionValue, (obj, val, key) => {\n obj[key] = correctPromptMap[key] === sessionValue[key];\n\n return obj;\n }, {});\n };\n\n buildRows = () => {\n const { model } = this.props;\n const { config } = model;\n const prompts = (config.prompts || []);\n\n return prompts.map(prompt => {\n const sessionAnswer = this.getAnswerFromSession(prompt.id);\n\n return {\n ...prompt,\n sessionAnswer\n };\n });\n };\n\n render() {\n const {\n classes,\n disabled,\n onPlaceAnswer,\n instanceId,\n onRemoveAnswer\n } = this.props;\n const rows = this.buildRows();\n const correctnessMap = this.getCorrectOrIncorrectMap();\n\n return (\n <div className={classes.itemList}>\n {rows.map(({ sessionAnswer, title, id }, index) => {\n\n return (\n <div\n className={classes.row}\n style={{\n display: 'flex'\n }}\n key={index}\n >\n <div\n className={classes.promptEntry}\n dangerouslySetInnerHTML={{ __html: title }}\n />\n <div\n className={classes.arrowEntry}\n >\n <Arrow direction=\"left\" />\n <Arrow />\n </div>\n <DragAndDropAnswer\n key={index}\n className={classes.answer}\n index={index}\n promptId={id}\n correct={correctnessMap[id]}\n draggable={!isEmpty(sessionAnswer)}\n disabled={disabled}\n instanceId={instanceId}\n id={sessionAnswer.id}\n onPlaceAnswer={(place, id) => onPlaceAnswer(place, id)}\n title={sessionAnswer.title}\n type={'target'}\n onRemoveChoice={() => onRemoveAnswer(id)}\n />\n </div>\n );\n })}\n </div>\n );\n }\n}\n\nconst styles = () => ({\n answer: {\n flex: 1\n },\n arrowEntry: {\n alignItems: 'normal',\n display: 'flex',\n height: 40,\n margin: '10px 20px'\n },\n itemList: {\n alignItems: 'flex-start',\n display: 'flex',\n flex: 1,\n flexDirection: 'column',\n justifyContent: 'space-between'\n },\n promptEntry: {\n border: '1px solid #c2c2c2',\n boxSizing: 'border-box',\n flex: 1,\n margin: '10px 0',\n minHeight: 40,\n overflow: 'hidden',\n padding: 10,\n textAlign: 'center',\n width: '100%',\n wordBreak: 'break-word'\n },\n row: {\n alignItems: 'center',\n display: 'flex',\n justifyContent: 'space-between',\n width: '100%'\n }\n});\n\nexport default withStyles(styles)(AnswerArea);\n"],"file":"answer-area.js"}
|
package/lib/answer.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.
|
|
8
|
+
exports["default"] = exports.DropAnswer = exports.DragAnswer = exports.Answer = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -39,7 +39,7 @@ var _renderUi = require("@pie-lib/render-ui");
|
|
|
39
39
|
|
|
40
40
|
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); }; }
|
|
41
41
|
|
|
42
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
42
|
+
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; } }
|
|
43
43
|
|
|
44
44
|
var log = (0, _debug["default"])('pie-elements:match-title:answer');
|
|
45
45
|
var Holder = (0, _styles.withStyles)(function () {
|
package/lib/answer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/answer.js"],"names":["log","Holder","number","width","fontSize","textAlign","color","placeholder","display","padding","alignItems","justifyContent","height","classes","index","isOver","disabled","undefined","propTypes","PropTypes","bool","AnswerContent","over","opacity","answerContent","text","backgroundColor","background","border","cursor","boxSizing","overflow","transition","wordBreak","dragging","incorrect","correct","props","isDragging","title","empty","outcome","guideIndex","type","names","__html","Answer","id","className","connectDragSource","connectDropTarget","name","answer","content","droppable","React","Component","string","func","isRequired","any","object","StyledAnswer","minHeight","minWidth","margin","answerTarget","drop","monitor","draggedItem","getItem","instanceId","onPlaceAnswer","promptId","canDrop","DropAnswer","connect","dropTarget","answerSource","canDrag","draggable","beginDrag","endDrag","didDrop","onRemoveChoice","DragAnswer","dragSource","DragAndDropAnswer"],"mappings":"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","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport { PlaceHolder } from '@pie-lib/drag';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:match-title:answer');\n\nconst Holder = withStyles(() => ({\n number: {\n width: '100%',\n fontSize: '18px',\n textAlign: 'center',\n color: 'rgba(0,0,0,0.6)'\n },\n placeholder: {\n display: 'flex',\n padding: '0',\n alignItems: 'center',\n justifyContent: 'center',\n height: '40px'\n }\n}))(({ classes, index, isOver, disabled }) => (\n <PlaceHolder\n className={classes.placeholder}\n disabled={disabled}\n isOver={isOver}\n >\n {index !== undefined && <div className={classes.number}>{index}</div>}\n </PlaceHolder>\n));\n\nHolder.propTypes = {\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool\n};\n\nconst AnswerContent = withStyles({\n over: {\n opacity: 0.2\n },\n answerContent: {\n color: color.text(),\n backgroundColor: color.background(),\n border: '1px solid #c2c2c2', // TODO hardcoded color\n cursor: 'pointer',\n width: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n transition: 'opacity 200ms linear',\n wordBreak: 'break-word'\n },\n dragging: {\n opacity: 0.5\n },\n disabled: {\n backgroundColor: color.background(),\n opacity: 0.6,\n cursor: 'not-allowed'\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`\n },\n correct: {\n border: `1px solid ${color.correct()}`\n }\n})(props => {\n const {\n classes,\n isDragging,\n isOver,\n title,\n disabled,\n empty,\n outcome,\n guideIndex,\n type\n } = props;\n\n if (empty) {\n return (\n <Holder\n index={guideIndex}\n isOver={isOver}\n disabled={disabled}\n type={type}\n />\n );\n } else {\n const names = classNames(\n classes.answerContent,\n isDragging && !disabled && classes.dragging,\n isOver && !disabled && classes.over,\n disabled && classes.disabled,\n outcome && classes[outcome]\n );\n\n return (\n <div className={names} dangerouslySetInnerHTML={{ __html: title }} />\n );\n }\n});\n\nexport class Answer extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n connectDragSource: PropTypes.func,\n connectDropTarget: PropTypes.func,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n title: PropTypes.string,\n isOver: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n empty: PropTypes.bool,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool\n };\n\n render() {\n const {\n id,\n title,\n isDragging,\n className,\n connectDragSource,\n connectDropTarget,\n disabled,\n classes,\n isOver,\n type,\n correct\n } = this.props;\n\n log('[render], props: ', this.props);\n\n const name = classNames(className, classes.answer, {\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false\n });\n\n const content = (\n <div className={name}>\n <AnswerContent\n title={title}\n id={id}\n isOver={isOver}\n empty={isEmpty(title)}\n isDragging={isDragging}\n disabled={disabled}\n type={type}\n />\n </div>\n );\n const droppable = connectDropTarget ? connectDropTarget(content) : content;\n\n return connectDragSource ? connectDragSource(droppable) : droppable;\n }\n}\n\nconst StyledAnswer = withStyles({\n answer: {\n boxSizing: 'border-box',\n minHeight: 40,\n minWidth: '100px',\n overflow: 'hidden',\n margin: '10px 0',\n padding: '0px',\n textAlign: 'center'\n },\n incorrect: {\n border: `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})`\n },\n correct: {\n border: `1px solid var(--feedback-correct-bg-color, ${color.correct()})`\n }\n})(Answer);\n\nconst answerTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.instanceId === props.instanceId) {\n props.onPlaceAnswer(props.promptId, draggedItem.id);\n }\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n }\n};\n\nexport const DropAnswer = DropTarget('Answer', answerTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver()\n}))(StyledAnswer);\n\nconst answerSource = {\n canDrag(props) {\n return props.draggable && !props.disabled;\n },\n beginDrag(props) {\n return {\n id: props.id,\n type: props.type,\n instanceId: props.instanceId\n };\n },\n endDrag(props, monitor) {\n if (!monitor.didDrop()) {\n if (props.type === 'target') {\n props.onRemoveChoice(monitor.getItem());\n }\n }\n }\n};\n\nexport const DragAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging()\n}))(StyledAnswer);\n\nconst DragAndDropAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging()\n}))(DropAnswer);\n\nexport default DragAndDropAnswer;\n"],"file":"answer.js"}
|
|
1
|
+
{"version":3,"sources":["../src/answer.js"],"names":["log","Holder","number","width","fontSize","textAlign","color","placeholder","display","padding","alignItems","justifyContent","height","classes","index","isOver","disabled","undefined","propTypes","PropTypes","bool","AnswerContent","over","opacity","answerContent","text","backgroundColor","background","border","cursor","boxSizing","overflow","transition","wordBreak","dragging","incorrect","correct","props","isDragging","title","empty","outcome","guideIndex","type","names","__html","Answer","id","className","connectDragSource","connectDropTarget","name","answer","content","droppable","React","Component","string","func","isRequired","any","object","StyledAnswer","minHeight","minWidth","margin","answerTarget","drop","monitor","draggedItem","getItem","instanceId","onPlaceAnswer","promptId","canDrop","DropAnswer","connect","dropTarget","answerSource","canDrag","draggable","beginDrag","endDrag","didDrop","onRemoveChoice","DragAnswer","dragSource","DragAndDropAnswer"],"mappings":"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","sourcesContent":["import { DragSource, DropTarget } from 'react-dnd';\n\nimport PropTypes from 'prop-types';\nimport React from 'react';\nimport classNames from 'classnames';\nimport debug from 'debug';\nimport { withStyles } from '@material-ui/core/styles';\nimport { PlaceHolder } from '@pie-lib/drag';\nimport isEmpty from 'lodash/isEmpty';\nimport { color } from '@pie-lib/render-ui';\n\nconst log = debug('pie-elements:match-title:answer');\n\nconst Holder = withStyles(() => ({\n number: {\n width: '100%',\n fontSize: '18px',\n textAlign: 'center',\n color: 'rgba(0,0,0,0.6)'\n },\n placeholder: {\n display: 'flex',\n padding: '0',\n alignItems: 'center',\n justifyContent: 'center',\n height: '40px'\n }\n}))(({ classes, index, isOver, disabled }) => (\n <PlaceHolder\n className={classes.placeholder}\n disabled={disabled}\n isOver={isOver}\n >\n {index !== undefined && <div className={classes.number}>{index}</div>}\n </PlaceHolder>\n));\n\nHolder.propTypes = {\n index: PropTypes.number,\n isOver: PropTypes.bool,\n disabled: PropTypes.bool\n};\n\nconst AnswerContent = withStyles({\n over: {\n opacity: 0.2\n },\n answerContent: {\n color: color.text(),\n backgroundColor: color.background(),\n border: '1px solid #c2c2c2', // TODO hardcoded color\n cursor: 'pointer',\n width: '100%',\n padding: '10px',\n boxSizing: 'border-box',\n overflow: 'hidden',\n transition: 'opacity 200ms linear',\n wordBreak: 'break-word'\n },\n dragging: {\n opacity: 0.5\n },\n disabled: {\n backgroundColor: color.background(),\n opacity: 0.6,\n cursor: 'not-allowed'\n },\n incorrect: {\n border: `1px solid ${color.incorrect()}`\n },\n correct: {\n border: `1px solid ${color.correct()}`\n }\n})(props => {\n const {\n classes,\n isDragging,\n isOver,\n title,\n disabled,\n empty,\n outcome,\n guideIndex,\n type\n } = props;\n\n if (empty) {\n return (\n <Holder\n index={guideIndex}\n isOver={isOver}\n disabled={disabled}\n type={type}\n />\n );\n } else {\n const names = classNames(\n classes.answerContent,\n isDragging && !disabled && classes.dragging,\n isOver && !disabled && classes.over,\n disabled && classes.disabled,\n outcome && classes[outcome]\n );\n\n return (\n <div className={names} dangerouslySetInnerHTML={{ __html: title }} />\n );\n }\n});\n\nexport class Answer extends React.Component {\n static propTypes = {\n className: PropTypes.string,\n connectDragSource: PropTypes.func,\n connectDropTarget: PropTypes.func,\n isDragging: PropTypes.bool.isRequired,\n id: PropTypes.any,\n title: PropTypes.string,\n isOver: PropTypes.bool,\n classes: PropTypes.object.isRequired,\n empty: PropTypes.bool,\n type: PropTypes.string,\n disabled: PropTypes.bool,\n correct: PropTypes.bool\n };\n\n render() {\n const {\n id,\n title,\n isDragging,\n className,\n connectDragSource,\n connectDropTarget,\n disabled,\n classes,\n isOver,\n type,\n correct\n } = this.props;\n\n log('[render], props: ', this.props);\n\n const name = classNames(className, classes.answer, {\n [classes.correct]: correct === true,\n [classes.incorrect]: correct === false\n });\n\n const content = (\n <div className={name}>\n <AnswerContent\n title={title}\n id={id}\n isOver={isOver}\n empty={isEmpty(title)}\n isDragging={isDragging}\n disabled={disabled}\n type={type}\n />\n </div>\n );\n const droppable = connectDropTarget ? connectDropTarget(content) : content;\n\n return connectDragSource ? connectDragSource(droppable) : droppable;\n }\n}\n\nconst StyledAnswer = withStyles({\n answer: {\n boxSizing: 'border-box',\n minHeight: 40,\n minWidth: '100px',\n overflow: 'hidden',\n margin: '10px 0',\n padding: '0px',\n textAlign: 'center'\n },\n incorrect: {\n border: `1px solid var(--feedback-incorrect-bg-color, ${color.incorrect()})`\n },\n correct: {\n border: `1px solid var(--feedback-correct-bg-color, ${color.correct()})`\n }\n})(Answer);\n\nconst answerTarget = {\n drop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n if (draggedItem.instanceId === props.instanceId) {\n props.onPlaceAnswer(props.promptId, draggedItem.id);\n }\n },\n canDrop(props, monitor) {\n const draggedItem = monitor.getItem();\n\n return draggedItem.instanceId === props.instanceId;\n }\n};\n\nexport const DropAnswer = DropTarget('Answer', answerTarget, (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver()\n}))(StyledAnswer);\n\nconst answerSource = {\n canDrag(props) {\n return props.draggable && !props.disabled;\n },\n beginDrag(props) {\n return {\n id: props.id,\n type: props.type,\n instanceId: props.instanceId\n };\n },\n endDrag(props, monitor) {\n if (!monitor.didDrop()) {\n if (props.type === 'target') {\n props.onRemoveChoice(monitor.getItem());\n }\n }\n }\n};\n\nexport const DragAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging()\n}))(StyledAnswer);\n\nconst DragAndDropAnswer = DragSource('Answer', answerSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging()\n}))(DropAnswer);\n\nexport default DragAndDropAnswer;\n"],"file":"answer.js"}
|
package/lib/arrow.js
CHANGED
|
@@ -31,7 +31,7 @@ var _styles = require("@material-ui/core/styles");
|
|
|
31
31
|
|
|
32
32
|
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); }; }
|
|
33
33
|
|
|
34
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
34
|
+
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; } }
|
|
35
35
|
|
|
36
36
|
var Arrow = /*#__PURE__*/function (_React$Component) {
|
|
37
37
|
(0, _inherits2["default"])(Arrow, _React$Component);
|
package/lib/arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/arrow.js"],"names":["Arrow","props","direction","classes","extraStyle","transform","arrow","color","fontSize","line","right","React","Component","PropTypes","string","object","isRequired","styledArrow","display","position","width","backgroundColor","bottom","content","height","left"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,K;;;;;;;;;;;;WAMX,kBAAS;
|
|
1
|
+
{"version":3,"sources":["../src/arrow.js"],"names":["Arrow","props","direction","classes","extraStyle","transform","arrow","color","fontSize","line","right","React","Component","PropTypes","string","object","isRequired","styledArrow","display","position","width","backgroundColor","bottom","content","height","left"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,K;;;;;;;;;;;;WAMX,kBAAS;AACP,wBAA+B,KAAKC,KAApC;AAAA,UAAQC,SAAR,eAAQA,SAAR;AAAA,UAAmBC,OAAnB,eAAmBA,OAAnB;AAEA,UAAMC,UAAU,GAAGF,SAAS,KAAK,MAAd,GACf,EADe,GAEf;AACAG,QAAAA,SAAS,EAAE;AADX,OAFJ;AAMA,0BACE;AACE,QAAA,SAAS,EAAEF,OAAO,CAACG,KADrB;AAEE,QAAA,KAAK,EAAEF;AAFT,sBAIE,gCAAC,yBAAD;AACE,QAAA,KAAK,EAAE;AACLC,UAAAA,SAAS,EAAE,eADN;AAELE,UAAAA,KAAK,EAAE,SAFF;AAGLC,UAAAA,QAAQ,EAAE;AAHL;AADT,QAJF,eAWE;AAAM,QAAA,SAAS,EAAE,6BAAWL,OAAO,CAACM,IAAnB,uCACdN,OAAO,CAACO,KADM,EACER,SAAS,KAAK,MADhB;AAAjB,QAXF,CADF;AAiBD;;;EAhCwBS,kBAAMC,S;;;iCAApBZ,K,eACQ;AACjBE,EAAAA,SAAS,EAAEW,sBAAUC,MADJ;AAEjBX,EAAAA,OAAO,EAAEU,sBAAUE,MAAV,CAAiBC;AAFT,C;AAkCrB,IAAMC,WAAW,GAAG,wBAAW;AAC7BX,EAAAA,KAAK,EAAE;AACLY,IAAAA,OAAO,EAAE,cADJ;AAELC,IAAAA,QAAQ,EAAE,UAFL;AAGLC,IAAAA,KAAK,EAAE;AAHF,GADsB;AAM7BX,EAAAA,IAAI,EAAE;AACJY,IAAAA,eAAe,EAAE,SADb;AAEJC,IAAAA,MAAM,EAAE,EAFJ;AAGJC,IAAAA,OAAO,EAAE,IAHL;AAIJL,IAAAA,OAAO,EAAE,OAJL;AAKJM,IAAAA,MAAM,EAAE,CALJ;AAMJC,IAAAA,IAAI,EAAE,EANF;AAOJN,IAAAA,QAAQ,EAAE,UAPN;AAQJC,IAAAA,KAAK,EAAE;AARH,GANuB;AAgB7BV,EAAAA,KAAK,EAAE;AACLY,IAAAA,MAAM,EAAE;AADH;AAhBsB,CAAX,EAmBjBtB,KAnBiB,CAApB;eAqBeiB,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport classnames from 'classnames';\nimport ArrowHead from '@material-ui/icons/ArrowDropDown';\nimport { withStyles } from '@material-ui/core/styles';\n\nexport class Arrow extends React.Component {\n static propTypes = {\n direction: PropTypes.string,\n classes: PropTypes.object.isRequired\n };\n\n render() {\n const { direction, classes } = this.props;\n\n const extraStyle = direction === 'left'\n ? {}\n : {\n transform: 'rotate(180deg)'\n };\n\n return (\n <div\n className={classes.arrow}\n style={extraStyle}\n >\n <ArrowHead\n style={{\n transform: 'rotate(90deg)',\n color: '#979797',\n fontSize: 40\n }}\n />\n <span className={classnames(classes.line, {\n [classes.right]: direction !== 'left'\n })} />\n </div>\n );\n }\n}\n\nconst styledArrow = withStyles({\n arrow: {\n display: 'inline-block',\n position: 'relative',\n width: '100%'\n },\n line: {\n backgroundColor: '#979797',\n bottom: 19,\n content: '\"\"',\n display: 'block',\n height: 1,\n left: 20,\n position: 'absolute',\n width: '100%'\n },\n right: {\n bottom: 20\n }\n})(Arrow);\n\nexport default styledArrow;\n"],"file":"arrow.js"}
|
package/lib/choices-list.js
CHANGED
|
@@ -37,7 +37,7 @@ var _answer = require("./answer");
|
|
|
37
37
|
|
|
38
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
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 {
|
|
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
41
|
|
|
42
42
|
var ChoicesList = /*#__PURE__*/function (_React$Component) {
|
|
43
43
|
(0, _inherits2["default"])(ChoicesList, _React$Component);
|
package/lib/choices-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","config","duplicates","answersContainer","answers","filter","answer","value","val","id","map","choice","React","Component","PropTypes","object","isRequired","string","bool","styles","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","minHeight","minWidth","height"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,W;;;;;;;;;;;;WASX,kBAAS;
|
|
1
|
+
{"version":3,"sources":["../src/choices-list.jsx"],"names":["ChoicesList","props","model","classes","disabled","session","instanceId","config","duplicates","answersContainer","answers","filter","answer","value","val","id","map","choice","React","Component","PropTypes","object","isRequired","string","bool","styles","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","minHeight","minWidth","height"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;IAEaA,W;;;;;;;;;;;;WASX,kBAAS;AACP,wBAMI,KAAKC,KANT;AAAA,UACEC,KADF,eACEA,KADF;AAAA,UAEEC,OAFF,eAEEA,OAFF;AAAA,UAGEC,QAHF,eAGEA,QAHF;AAAA,UAIEC,OAJF,eAIEA,OAJF;AAAA,UAKEC,UALF,eAKEA,UALF;AAOA,UAAQC,MAAR,GAAmBL,KAAnB,CAAQK,MAAR;AACA,UAAQC,UAAR,GAAuBD,MAAvB,CAAQC,UAAR;AAEA,0BACE;AAAK,QAAA,SAAS,EAAEL,OAAO,CAACM;AAAxB,SAEIF,MAAM,CAACG,OAAP,CACGC,MADH,CACU,UAAAC,MAAM;AAAA,eAAKJ,UAAU,IAAI,yBAAQH,OAAR,CAAd,IAAkC,CAACA,OAAO,CAACQ,KAA3C,IAAoD,6BAAY,sBAAKR,OAAO,CAACQ,KAAb,EAAoB,UAAAC,GAAG;AAAA,iBAAIA,GAAG,KAAKF,MAAM,CAACG,EAAnB;AAAA,SAAvB,CAAZ,CAAzD;AAAA,OADhB,EAEGC,GAFH,CAEO,UAACJ,MAAD;AAAA,4BACH,gCAAC,kBAAD;AACE,UAAA,GAAG,EAAEA,MAAM,CAACG,EADd;AAEE,UAAA,UAAU,EAAET,UAFd;AAGE,UAAA,SAAS,EAAEH,OAAO,CAACc,MAHrB;AAIE,UAAA,SAAS,EAAE,IAJb;AAKE,UAAA,QAAQ,EAAEb,QALZ;AAME,UAAA,OAAO,EAAEC,OANX;AAOE,UAAA,IAAI,EAAE;AAPR,WAQMO,MARN,EADG;AAAA,OAFP,CAFJ,CADF;AAoBD;;;EAxC8BM,kBAAMC,S;;;iCAA1BnB,W,eACQ;AACjBG,EAAAA,OAAO,EAAEiB,sBAAUC,MADF;AAEjBhB,EAAAA,OAAO,EAAEe,sBAAUC,MAAV,CAAiBC,UAFT;AAGjBhB,EAAAA,UAAU,EAAEc,sBAAUG,MAAV,CAAiBD,UAHZ;AAIjBpB,EAAAA,KAAK,EAAEkB,sBAAUC,MAAV,CAAiBC,UAJP;AAKjBlB,EAAAA,QAAQ,EAAEgB,sBAAUI,IAAV,CAAeF;AALR,C;;AA0CrB,IAAMG,MAAM,GAAG,SAATA,MAAS;AAAA,SAAO;AACpBhB,IAAAA,gBAAgB,EAAE;AAChBiB,MAAAA,UAAU,EAAE,QADI;AAEhBC,MAAAA,OAAO,EAAE,MAFO;AAGhBC,MAAAA,aAAa,EAAE,KAHC;AAIhBC,MAAAA,QAAQ,EAAE,MAJM;AAKhBC,MAAAA,cAAc,EAAE,eALA;AAMhBC,MAAAA,SAAS,EAAE;AANK,KADE;AASpBd,IAAAA,MAAM,EAAE;AACNe,MAAAA,SAAS,EAAE,MADL;AAENC,MAAAA,QAAQ,EAAE,OAFJ;AAGNC,MAAAA,MAAM,EAAE;AAHF;AATY,GAAP;AAAA,CAAf;;eAgBe,wBAAWT,MAAX,EAAmBzB,WAAnB,C","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport find from 'lodash/find';\nimport { DragAnswer } from './answer';\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired\n };\n\n render() {\n const {\n model,\n classes,\n disabled,\n session,\n instanceId\n } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n return (\n <div className={classes.answersContainer}>\n {\n config.answers\n .filter(answer => (duplicates || isEmpty(session) || !session.value || isUndefined(find(session.value, val => val === answer.id))))\n .map((answer) => (\n <DragAnswer\n key={answer.id}\n instanceId={instanceId}\n className={classes.choice}\n draggable={true}\n disabled={disabled}\n session={session}\n type={'choice'}\n {...answer}\n />\n ))\n }\n </div>\n );\n }\n}\n\nconst styles = () => ({\n answersContainer: {\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: 50\n },\n choice: {\n minHeight: '40px',\n minWidth: '200px',\n height: 'initial'\n }\n});\n\nexport default withStyles(styles)(ChoicesList);"],"file":"choices-list.js"}
|
package/lib/index.js
CHANGED
|
@@ -11,7 +11,7 @@ Object.defineProperty(exports, "Component", {
|
|
|
11
11
|
return _main["default"];
|
|
12
12
|
}
|
|
13
13
|
});
|
|
14
|
-
exports["default"] =
|
|
14
|
+
exports.isComplete = exports["default"] = void 0;
|
|
15
15
|
|
|
16
16
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
17
|
|
|
@@ -39,7 +39,7 @@ var _mathRendering = require("@pie-lib/math-rendering");
|
|
|
39
39
|
|
|
40
40
|
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); }; }
|
|
41
41
|
|
|
42
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
42
|
+
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; } }
|
|
43
43
|
|
|
44
44
|
var log = (0, _debug["default"])('pie-ui:graph-lines');
|
|
45
45
|
|
|
@@ -83,6 +83,9 @@ var MatchList = /*#__PURE__*/function (_HTMLElement) {
|
|
|
83
83
|
}
|
|
84
84
|
}, {
|
|
85
85
|
key: "session",
|
|
86
|
+
get: function get() {
|
|
87
|
+
return this._session;
|
|
88
|
+
},
|
|
86
89
|
set: function set(s) {
|
|
87
90
|
this._session = s;
|
|
88
91
|
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","complete","config","prompts","forEach","prompt","Number","isFinite","id","MatchList","m","_model","_render","
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","isComplete","session","model","value","complete","config","prompts","forEach","prompt","Number","isFinite","id","MatchList","m","_model","_render","_session","s","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","el","React","createElement","Main","onSessionChange","sessionChanged","bind","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAEA;;AACA;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,oBAAN,CAAZ;;AAIO,IAAMC,UAAU,GAAG,SAAbA,UAAa,CAACC,OAAD,EAAUC,KAAV,EAAoB;AAC5C,MAAI,CAACD,OAAL,EAAc;AACZ,WAAO,KAAP;AACD;;AAED,MAAME,KAAK,GAAGF,OAAO,CAACE,KAAtB;AACA,MAAIC,QAAQ,GAAG,IAAf;;AAEA,MAAID,KAAJ,EAAW;AACT,KAACD,KAAK,CAACG,MAAN,CAAaC,OAAb,IAAwB,EAAzB,EAA6BC,OAA7B,CAAqC,UAAAC,MAAM,EAAI;AAC7C,UAAI,CAACC,MAAM,CAACC,QAAP,CAAgBP,KAAK,CAACK,MAAM,CAACG,EAAR,CAArB,CAAL,EAAwC;AACtCP,QAAAA,QAAQ,GAAG,KAAX;AACD;AACF,KAJD;AAKD;;AAED,SAAOA,QAAP;AACD,CAjBM;;;;IAmBcQ,S;;;;;AACnB,uBAAc;AAAA;AAAA;AAEb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKC,MAAL,GAAcD,CAAd;;AACA,WAAKE,OAAL;AACD;;;SAOD,eAAc;AACZ,aAAO,KAAKC,QAAZ;AACD,K;SAPD,aAAYC,CAAZ,EAAe;AACb,WAAKD,QAAL,GAAgBC,CAAhB;;AACA,WAAKF,OAAL;AACD;;;WAMD,wBAAeE,CAAf,EAAkB;AAChB,WAAKD,QAAL,CAAcb,KAAd,GAAsBc,CAAC,CAACd,KAAxB;AAEA,WAAKe,aAAL,CACE,IAAIC,oCAAJ,CACE,KAAKC,OAAL,CAAaC,WAAb,EADF,EAEErB,UAAU,CAAC,KAAKgB,QAAN,EAAgB,KAAKF,MAArB,CAFZ,CADF;AAOAf,MAAAA,GAAG,CAAC,WAAD,EAAc,KAAKiB,QAAnB,CAAH;;AACA,WAAKD,OAAL;AACD;;;WAED,6BAAoB;AAClB,WAAKA,OAAL;AACD;;;WAED,mBAAU;AAAA;;AACR,UAAI,CAAC,KAAKD,MAAN,IAAgB,CAAC,KAAKE,QAA1B,EAAoC;AAClC;AACD;;AAED,UAAMM,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,gBAApB,EAA0B;AACnCvB,QAAAA,KAAK,EAAE,KAAKY,MADuB;AAEnCb,QAAAA,OAAO,EAAE,KAAKe,QAFqB;AAGnCU,QAAAA,eAAe,EAAE,KAAKC,cAAL,CAAoBC,IAApB,CAAyB,IAAzB;AAHkB,OAA1B,CAAX;;AAMAC,2BAASC,MAAT,CAAgBR,EAAhB,EAAoB,IAApB,EAA0B,YAAM;AAC9B,uCAAW,KAAX;AACD,OAFD;AAGD;;;kDAnDoCS,W","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport Main from './main';\n\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-ui:graph-lines');\n\nexport { Main as Component };\n\nexport const isComplete = (session, model) => {\n if (!session) {\n return false;\n }\n\n const value = session.value;\n let complete = true;\n\n if (value) {\n (model.config.prompts || []).forEach(prompt => {\n if (!Number.isFinite(value[prompt.id])) {\n complete = false;\n }\n })\n }\n\n return complete;\n};\n\nexport default class MatchList extends HTMLElement {\n constructor() {\n super();\n }\n\n set model(m) {\n this._model = m;\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 sessionChanged(s) {\n this._session.value = s.value;\n\n this.dispatchEvent(\n new SessionChangedEvent(\n this.tagName.toLowerCase(),\n isComplete(this._session, this._model)\n )\n );\n\n log('session: ', this._session);\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this)\n });\n\n ReactDOM.render(el, this, () => {\n renderMath(this);\n });\n }\n}\n"],"file":"index.js"}
|
package/lib/main.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports["default"] = exports.
|
|
8
|
+
exports.styledMain = exports["default"] = exports.Main = void 0;
|
|
9
9
|
|
|
10
10
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
11
|
|
|
@@ -45,7 +45,7 @@ var _choicesList = _interopRequireDefault(require("./choices-list"));
|
|
|
45
45
|
|
|
46
46
|
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); }; }
|
|
47
47
|
|
|
48
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
48
|
+
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; } }
|
|
49
49
|
|
|
50
50
|
var Main = /*#__PURE__*/function (_React$Component) {
|
|
51
51
|
(0, _inherits2["default"])(Main, _React$Component);
|
|
@@ -122,11 +122,9 @@ var Main = /*#__PURE__*/function (_React$Component) {
|
|
|
122
122
|
show: mode === 'evaluate',
|
|
123
123
|
toggled: showCorrectAnswer,
|
|
124
124
|
onToggle: this.toggleShowCorrect
|
|
125
|
-
}), /*#__PURE__*/_react["default"].createElement(
|
|
126
|
-
className:
|
|
127
|
-
|
|
128
|
-
__html: prompt
|
|
129
|
-
}
|
|
125
|
+
}), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
126
|
+
className: "prompt",
|
|
127
|
+
prompt: prompt
|
|
130
128
|
}), /*#__PURE__*/_react["default"].createElement(_answerArea["default"], {
|
|
131
129
|
instanceId: this.instanceId,
|
|
132
130
|
model: model,
|
|
@@ -180,9 +178,6 @@ var styles = function styles(theme) {
|
|
|
180
178
|
},
|
|
181
179
|
toggle: {
|
|
182
180
|
paddingBottom: theme.spacing.unit * 3
|
|
183
|
-
},
|
|
184
|
-
prompt: {
|
|
185
|
-
verticalAlign: 'middle'
|
|
186
181
|
}
|
|
187
182
|
};
|
|
188
183
|
};
|
package/lib/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","setState","showCorrectAnswer","state","instanceId","id","session","onSessionChange","value","undefined","place","model","duplicates","config","choiceKey","val","classes","mode","prompt","mainContainer","toggleShowCorrect","
|
|
1
|
+
{"version":3,"sources":["../src/main.jsx"],"names":["Main","props","setState","showCorrectAnswer","state","instanceId","id","session","onSessionChange","value","undefined","place","model","duplicates","config","choiceKey","val","classes","mode","prompt","mainContainer","toggleShowCorrect","onPlaceAnswer","onRemoveAnswer","correctness","feedback","React","Component","PropTypes","object","isRequired","func","string","styles","theme","display","flexDirection","justifyContent","color","text","backgroundColor","background","padding","spacing","unit","promptList","alignItems","main","width","toggle","paddingBottom","styledMain"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withDragContext, swap } from '@pie-lib/drag';\nimport CorrectAnswerToggle from '@pie-lib/correct-answer-toggle';\nimport {color, Feedback, PreviewPrompt} from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport uniqueId from 'lodash/uniqueId';\nimport isUndefined from 'lodash/isUndefined';\nimport findKey from 'lodash/findKey';\nimport AnswerArea from './answer-area';\nimport ChoicesList from './choices-list';\n\nexport class Main extends React.Component {\n static propTypes = {\n classes: PropTypes.object,\n session: PropTypes.object.isRequired,\n onSessionChange: PropTypes.func,\n model: PropTypes.object.isRequired,\n prompt: PropTypes.string\n };\n\n constructor(props) {\n super(props);\n\n this.instanceId = uniqueId();\n this.state = {\n showCorrectAnswer: false\n };\n }\n\n onRemoveAnswer(id) {\n const { session, onSessionChange } = this.props;\n\n session.value[id] = undefined;\n\n onSessionChange(session);\n }\n\n onPlaceAnswer(place, id) {\n const { session, onSessionChange, model } = this.props;\n const { config: { duplicates } } = model;\n\n if (isUndefined(session.value)) {\n session.value = {};\n }\n\n const choiceKey = findKey(session.value, val => val === id);\n\n if (choiceKey && !duplicates) {\n session.value = swap(session.value, choiceKey, place);\n } else {\n session.value[place] = id;\n }\n\n onSessionChange(session);\n }\n\n toggleShowCorrect = () => {\n this.setState({ showCorrectAnswer: !this.state.showCorrectAnswer });\n };\n\n render() {\n const { showCorrectAnswer } = this.state;\n const { classes, model, session } = this.props;\n const { config, mode } = model;\n const { prompt } = config;\n\n return (\n <div className={classes.mainContainer}>\n <CorrectAnswerToggle\n show={mode === 'evaluate'}\n toggled={showCorrectAnswer}\n onToggle={this.toggleShowCorrect}\n />\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n <AnswerArea\n instanceId={this.instanceId}\n model={model}\n session={session}\n onPlaceAnswer={(place, id) => this.onPlaceAnswer(place, id)}\n onRemoveAnswer={id => this.onRemoveAnswer(id)}\n disabled={mode !== 'gather'}\n showCorrect={showCorrectAnswer}\n />\n <ChoicesList\n instanceId={this.instanceId}\n model={model}\n session={session}\n disabled={mode !== 'gather'}\n />\n {\n model.correctness &&\n model.feedback &&\n !showCorrectAnswer &&(\n <Feedback\n correctness={model.correctness.correctness}\n feedback={model.feedback}\n />\n )\n }\n </div>\n );\n }\n}\n\nconst styles = theme => ({\n mainContainer: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n color: color.text(),\n backgroundColor: color.background(),\n padding: theme.spacing.unit * 3/2\n },\n promptList: {\n alignItems: 'flex-start'\n },\n main: {\n width: '100%'\n },\n toggle: {\n paddingBottom: theme.spacing.unit * 3\n }\n});\n\nexport const styledMain = withStyles(styles)(Main);\n\nexport default withDragContext(styledMain);\n"],"file":"main.js"}
|
package/package.json
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
6
|
"repository": "pie-framework/pie-elements",
|
|
7
|
-
"version": "1.12.4-next.
|
|
7
|
+
"version": "1.12.4-next.1370+0162bc57f",
|
|
8
8
|
"description": "",
|
|
9
9
|
"scripts": {
|
|
10
10
|
"test": "echo \"Error: no test specified\" && exit 1",
|
|
@@ -14,10 +14,10 @@
|
|
|
14
14
|
"@material-ui/core": "^3.9.2",
|
|
15
15
|
"@material-ui/icons": "^3.0.2",
|
|
16
16
|
"@pie-framework/pie-player-events": "^0.1.0",
|
|
17
|
-
"@pie-lib/correct-answer-toggle": "^2.3.
|
|
17
|
+
"@pie-lib/correct-answer-toggle": "^2.3.46",
|
|
18
18
|
"@pie-lib/drag": "^1.1.52",
|
|
19
|
-
"@pie-lib/math-rendering": "^2.
|
|
20
|
-
"@pie-lib/render-ui": "^4.
|
|
19
|
+
"@pie-lib/math-rendering": "^2.5.0",
|
|
20
|
+
"@pie-lib/render-ui": "^4.13.6",
|
|
21
21
|
"classnames": "^2.2.5",
|
|
22
22
|
"debug": "^4.1.1",
|
|
23
23
|
"lodash": "^4.17.10",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
},
|
|
29
29
|
"author": "",
|
|
30
30
|
"license": "ISC",
|
|
31
|
-
"gitHead": "
|
|
31
|
+
"gitHead": "0162bc57f92a6d09e409c993a5b7005e4fdf56b4",
|
|
32
32
|
"main": "lib/index.js",
|
|
33
33
|
"module": "src/index.js"
|
|
34
34
|
}
|