@pie-element/matrix 0.30.1-next.1 → 0.30.1-next.2
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/lib/HeaderCommon.js +31 -0
- package/configure/lib/HeaderCommon.js.map +1 -0
- package/configure/lib/Main.js +242 -0
- package/configure/lib/Main.js.map +1 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js +76 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixLabelEditableButton.js +219 -0
- package/configure/lib/MatrixLabelEditableButton.js.map +1 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js +117 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js +76 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixValues.js +245 -0
- package/configure/lib/MatrixValues.js.map +1 -0
- package/configure/lib/NumberInput.js +98 -0
- package/configure/lib/NumberInput.js.map +1 -0
- package/configure/lib/columnLabelsGenerator.js +58 -0
- package/configure/lib/columnLabelsGenerator.js.map +1 -0
- package/configure/lib/defaults.js +74 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +162 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/isNumeric.js +13 -0
- package/configure/lib/isNumeric.js.map +1 -0
- package/configure/lib/matrixEntities.js +17 -0
- package/configure/lib/matrixEntities.js.map +1 -0
- package/configure/package.json +1 -1
- package/controller/lib/defaults.js +15 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +143 -0
- package/controller/lib/index.js.map +1 -0
- package/lib/ChoiceInput.js +71 -0
- package/lib/ChoiceInput.js.map +1 -0
- package/lib/Main.js +73 -0
- package/lib/Main.js.map +1 -0
- package/lib/Matrix.js +113 -0
- package/lib/Matrix.js.map +1 -0
- package/lib/index.js +124 -0
- package/lib/index.js.map +1 -0
- package/lib/session-updater.js +11 -0
- package/lib/session-updater.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = exports.AGREEMENT_3 = void 0;
|
|
9
|
+
|
|
10
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
+
|
|
12
|
+
var AGREEMENT_3 = ['Disagree', 'Unsure', 'Agree'];
|
|
13
|
+
exports.AGREEMENT_3 = AGREEMENT_3;
|
|
14
|
+
var AGREEMENT_5 = ['Strongly Disagree'].concat(AGREEMENT_3, ['Strongly Agree']);
|
|
15
|
+
var AGREEMENT_7 = ['Extremely Disagree'].concat((0, _toConsumableArray2["default"])(AGREEMENT_5), ['Extremely Agree']);
|
|
16
|
+
var FREQUENCY_3 = ['Infrequently', 'Unsure', 'Frequently'];
|
|
17
|
+
var FREQUENCY_5 = ['Very Infrequently'].concat(FREQUENCY_3, ['Very Frequently']);
|
|
18
|
+
var FREQUENCY_7 = ['Never'].concat((0, _toConsumableArray2["default"])(FREQUENCY_5), ['Always']);
|
|
19
|
+
var YES_NO_3 = ['No', 'Unsure', 'Yes'];
|
|
20
|
+
var YES_NO_5 = ['No', 'Not really', 'Unsure', 'Sometimes', 'Yes'];
|
|
21
|
+
var YES_NO_7 = ['No', 'Rarely', 'Not really', 'Unsure', 'Sometimes', 'Very Often', 'Always'];
|
|
22
|
+
var LIKELIHOOD_3 = ['Not Likely', 'Unsure', 'Likely'];
|
|
23
|
+
var LIKELIHOOD_5 = ['Very Unlikely'].concat(LIKELIHOOD_3, ['Very Likely']);
|
|
24
|
+
var LIKELIHOOD_7 = ['Extremely Unlikely'].concat((0, _toConsumableArray2["default"])(LIKELIHOOD_5), ['Extremely Likely']);
|
|
25
|
+
var IMPORTANCE_3 = ['Not Important', 'Unsure', 'Important'];
|
|
26
|
+
var IMPORTANCE_5 = ['Very Not Important'].concat(IMPORTANCE_3, ['Very Important']);
|
|
27
|
+
var IMPORTANCE_7 = ['Extremely Not Important'].concat((0, _toConsumableArray2["default"])(IMPORTANCE_5), ['Extremely Important']);
|
|
28
|
+
var LIKE_3 = ['Dislike', 'Unsure', 'Like'];
|
|
29
|
+
var LIKE_5 = ['Really Dislike'].concat(LIKE_3, ['Really Like']);
|
|
30
|
+
var LIKE_7 = ['Extremely Dislike'].concat((0, _toConsumableArray2["default"])(LIKE_5), ['Extremely Like']);
|
|
31
|
+
var config = {
|
|
32
|
+
agreement_3: AGREEMENT_3,
|
|
33
|
+
agreement_5: AGREEMENT_5,
|
|
34
|
+
agreement_7: AGREEMENT_7,
|
|
35
|
+
frequency_3: FREQUENCY_3,
|
|
36
|
+
frequency_5: FREQUENCY_5,
|
|
37
|
+
frequency_7: FREQUENCY_7,
|
|
38
|
+
yesNo_3: YES_NO_3,
|
|
39
|
+
yesNo_5: YES_NO_5,
|
|
40
|
+
yesNo_7: YES_NO_7,
|
|
41
|
+
likelihood_3: LIKELIHOOD_3,
|
|
42
|
+
likelihood_5: LIKELIHOOD_5,
|
|
43
|
+
likelihood_7: LIKELIHOOD_7,
|
|
44
|
+
importance_3: IMPORTANCE_3,
|
|
45
|
+
importance_5: IMPORTANCE_5,
|
|
46
|
+
importance_7: IMPORTANCE_7,
|
|
47
|
+
like_3: LIKE_3,
|
|
48
|
+
like_5: LIKE_5,
|
|
49
|
+
like_7: LIKE_7
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
var generateColumnLabels = function generateColumnLabels(labelType, size) {
|
|
53
|
+
return config["".concat(labelType, "_").concat(size)];
|
|
54
|
+
};
|
|
55
|
+
|
|
56
|
+
var _default = generateColumnLabels;
|
|
57
|
+
exports["default"] = _default;
|
|
58
|
+
//# sourceMappingURL=columnLabelsGenerator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/columnLabelsGenerator.js"],"names":["AGREEMENT_3","AGREEMENT_5","AGREEMENT_7","FREQUENCY_3","FREQUENCY_5","FREQUENCY_7","YES_NO_3","YES_NO_5","YES_NO_7","LIKELIHOOD_3","LIKELIHOOD_5","LIKELIHOOD_7","IMPORTANCE_3","IMPORTANCE_5","IMPORTANCE_7","LIKE_3","LIKE_5","LIKE_7","config","agreement_3","agreement_5","agreement_7","frequency_3","frequency_5","frequency_7","yesNo_3","yesNo_5","yesNo_7","likelihood_3","likelihood_5","likelihood_7","importance_3","importance_5","importance_7","like_3","like_5","like_7","generateColumnLabels","labelType","size"],"mappings":";;;;;;;;;;;AAAO,IAAMA,WAAW,GAAG,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAApB;;AACP,IAAMC,WAAW,IAAI,mBAAJ,SAA4BD,WAA5B,GAAyC,gBAAzC,EAAjB;AACA,IAAME,WAAW,IAAI,oBAAJ,6CAA6BD,WAA7B,IAA0C,iBAA1C,EAAjB;AACA,IAAME,WAAW,GAAG,CAAC,cAAD,EAAiB,QAAjB,EAA2B,YAA3B,CAApB;AACA,IAAMC,WAAW,IAAI,mBAAJ,SAA4BD,WAA5B,GAAyC,iBAAzC,EAAjB;AACA,IAAME,WAAW,IAAI,OAAJ,6CAAgBD,WAAhB,IAA6B,QAA7B,EAAjB;AACA,IAAME,QAAQ,GAAG,CAAC,IAAD,EAAO,QAAP,EAAiB,KAAjB,CAAjB;AACA,IAAMC,QAAQ,GAAG,CAAC,IAAD,EAAO,YAAP,EAAqB,QAArB,EAA+B,WAA/B,EAA4C,KAA5C,CAAjB;AACA,IAAMC,QAAQ,GAAG,CAAC,IAAD,EAAO,QAAP,EAAiB,YAAjB,EAA+B,QAA/B,EAAyC,WAAzC,EAAsD,YAAtD,EAAoE,QAApE,CAAjB;AACA,IAAMC,YAAY,GAAG,CAAC,YAAD,EAAe,QAAf,EAAyB,QAAzB,CAArB;AACA,IAAMC,YAAY,IAAI,eAAJ,SAAwBD,YAAxB,GAAsC,aAAtC,EAAlB;AACA,IAAME,YAAY,IAAI,oBAAJ,6CAA6BD,YAA7B,IAA2C,kBAA3C,EAAlB;AACA,IAAME,YAAY,GAAG,CAAC,eAAD,EAAkB,QAAlB,EAA4B,WAA5B,CAArB;AACA,IAAMC,YAAY,IAAI,oBAAJ,SAA6BD,YAA7B,GAA2C,gBAA3C,EAAlB;AACA,IAAME,YAAY,IAAI,yBAAJ,6CAAkCD,YAAlC,IAAgD,qBAAhD,EAAlB;AACA,IAAME,MAAM,GAAG,CAAC,SAAD,EAAY,QAAZ,EAAsB,MAAtB,CAAf;AACA,IAAMC,MAAM,IAAI,gBAAJ,SAAyBD,MAAzB,GAAiC,aAAjC,EAAZ;AACA,IAAME,MAAM,IAAI,mBAAJ,6CAA4BD,MAA5B,IAAoC,gBAApC,EAAZ;AAEA,IAAME,MAAM,GAAG;AACbC,EAAAA,WAAW,EAAEnB,WADA;AAEboB,EAAAA,WAAW,EAAEnB,WAFA;AAGboB,EAAAA,WAAW,EAAEnB,WAHA;AAIboB,EAAAA,WAAW,EAAEnB,WAJA;AAKboB,EAAAA,WAAW,EAAEnB,WALA;AAMboB,EAAAA,WAAW,EAAEnB,WANA;AAOboB,EAAAA,OAAO,EAAEnB,QAPI;AAQboB,EAAAA,OAAO,EAAEnB,QARI;AASboB,EAAAA,OAAO,EAAEnB,QATI;AAUboB,EAAAA,YAAY,EAAEnB,YAVD;AAWboB,EAAAA,YAAY,EAAEnB,YAXD;AAYboB,EAAAA,YAAY,EAAEnB,YAZD;AAaboB,EAAAA,YAAY,EAAEnB,YAbD;AAcboB,EAAAA,YAAY,EAAEnB,YAdD;AAeboB,EAAAA,YAAY,EAAEnB,YAfD;AAgBboB,EAAAA,MAAM,EAAEnB,MAhBK;AAiBboB,EAAAA,MAAM,EAAEnB,MAjBK;AAkBboB,EAAAA,MAAM,EAAEnB;AAlBK,CAAf;;AAqBA,IAAMoB,oBAAoB,GAAG,SAAvBA,oBAAuB,CAACC,SAAD,EAAYC,IAAZ,EAAqB;AAChD,SAAOrB,MAAM,WAAIoB,SAAJ,cAAiBC,IAAjB,EAAb;AACD,CAFD;;eAIeF,oB","sourcesContent":["export const AGREEMENT_3 = ['Disagree', 'Unsure', 'Agree'];\nconst AGREEMENT_5 = ['Strongly Disagree', ...AGREEMENT_3, 'Strongly Agree'];\nconst AGREEMENT_7 = ['Extremely Disagree', ...AGREEMENT_5, 'Extremely Agree'];\nconst FREQUENCY_3 = ['Infrequently', 'Unsure', 'Frequently'];\nconst FREQUENCY_5 = ['Very Infrequently', ...FREQUENCY_3, 'Very Frequently'];\nconst FREQUENCY_7 = ['Never', ...FREQUENCY_5, 'Always'];\nconst YES_NO_3 = ['No', 'Unsure', 'Yes'];\nconst YES_NO_5 = ['No', 'Not really', 'Unsure', 'Sometimes', 'Yes'];\nconst YES_NO_7 = ['No', 'Rarely', 'Not really', 'Unsure', 'Sometimes', 'Very Often', 'Always'];\nconst LIKELIHOOD_3 = ['Not Likely', 'Unsure', 'Likely'];\nconst LIKELIHOOD_5 = ['Very Unlikely', ...LIKELIHOOD_3, 'Very Likely'];\nconst LIKELIHOOD_7 = ['Extremely Unlikely', ...LIKELIHOOD_5, 'Extremely Likely'];\nconst IMPORTANCE_3 = ['Not Important', 'Unsure', 'Important'];\nconst IMPORTANCE_5 = ['Very Not Important', ...IMPORTANCE_3, 'Very Important'];\nconst IMPORTANCE_7 = ['Extremely Not Important', ...IMPORTANCE_5, 'Extremely Important'];\nconst LIKE_3 = ['Dislike', 'Unsure', 'Like'];\nconst LIKE_5 = ['Really Dislike', ...LIKE_3, 'Really Like'];\nconst LIKE_7 = ['Extremely Dislike', ...LIKE_5, 'Extremely Like'];\n\nconst config = {\n agreement_3: AGREEMENT_3,\n agreement_5: AGREEMENT_5,\n agreement_7: AGREEMENT_7,\n frequency_3: FREQUENCY_3,\n frequency_5: FREQUENCY_5,\n frequency_7: FREQUENCY_7,\n yesNo_3: YES_NO_3,\n yesNo_5: YES_NO_5,\n yesNo_7: YES_NO_7,\n likelihood_3: LIKELIHOOD_3,\n likelihood_5: LIKELIHOOD_5,\n likelihood_7: LIKELIHOOD_7,\n importance_3: IMPORTANCE_3,\n importance_5: IMPORTANCE_5,\n importance_7: IMPORTANCE_7,\n like_3: LIKE_3,\n like_5: LIKE_5,\n like_7: LIKE_7,\n};\n\nconst generateColumnLabels = (labelType, size) => {\n return config[`${labelType}_${size}`];\n};\n\nexport default generateColumnLabels;\n"],"file":"columnLabelsGenerator.js"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType
|
|
9
|
+
* functionalities are not defined yet - the value for those can belong to
|
|
10
|
+
* model or to configure
|
|
11
|
+
*/
|
|
12
|
+
var _default = {
|
|
13
|
+
model: {
|
|
14
|
+
teacherInstructionsEnabled: true,
|
|
15
|
+
labelType: 'agreement',
|
|
16
|
+
rowLabels: ["I'm interested in politics.", "I'm interested in economics."],
|
|
17
|
+
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
18
|
+
matrixValues: {},
|
|
19
|
+
prompt: 'How interested are you in the following domains?'
|
|
20
|
+
},
|
|
21
|
+
configuration: {
|
|
22
|
+
baseInputConfiguration: {
|
|
23
|
+
audio: {
|
|
24
|
+
disabled: false
|
|
25
|
+
},
|
|
26
|
+
video: {
|
|
27
|
+
disabled: false
|
|
28
|
+
},
|
|
29
|
+
image: {
|
|
30
|
+
disabled: false
|
|
31
|
+
}
|
|
32
|
+
},
|
|
33
|
+
prompt: {
|
|
34
|
+
settings: true,
|
|
35
|
+
label: 'Prompt',
|
|
36
|
+
inputConfiguration: {
|
|
37
|
+
audio: {
|
|
38
|
+
disabled: false
|
|
39
|
+
},
|
|
40
|
+
video: {
|
|
41
|
+
disabled: false
|
|
42
|
+
},
|
|
43
|
+
image: {
|
|
44
|
+
disabled: false
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
required: false
|
|
48
|
+
},
|
|
49
|
+
settingsPanelDisabled: false,
|
|
50
|
+
spellCheck: {
|
|
51
|
+
label: 'Spellcheck',
|
|
52
|
+
settings: false,
|
|
53
|
+
enabled: true
|
|
54
|
+
},
|
|
55
|
+
teacherInstructions: {
|
|
56
|
+
settings: true,
|
|
57
|
+
label: 'Teacher Instructions',
|
|
58
|
+
inputConfiguration: {
|
|
59
|
+
audio: {
|
|
60
|
+
disabled: false
|
|
61
|
+
},
|
|
62
|
+
video: {
|
|
63
|
+
disabled: false
|
|
64
|
+
},
|
|
65
|
+
image: {
|
|
66
|
+
disabled: false
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
required: false
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
};
|
|
73
|
+
exports["default"] = _default;
|
|
74
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["model","teacherInstructionsEnabled","labelType","rowLabels","columnLabels","matrixValues","prompt","configuration","baseInputConfiguration","audio","disabled","video","image","settings","label","inputConfiguration","required","settingsPanelDisabled","spellCheck","enabled","teacherInstructions"],"mappings":";;;;;;;AAAA;AACA;AACA;AACA;eACe;AACbA,EAAAA,KAAK,EAAE;AACLC,IAAAA,0BAA0B,EAAE,IADvB;AAELC,IAAAA,SAAS,EAAE,WAFN;AAGLC,IAAAA,SAAS,EAAE,CAAC,6BAAD,EAAgC,8BAAhC,CAHN;AAILC,IAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAJT;AAKLC,IAAAA,YAAY,EAAE,EALT;AAMLC,IAAAA,MAAM,EAAE;AANH,GADM;AASbC,EAAAA,aAAa,EAAE;AACbC,IAAAA,sBAAsB,EAAE;AACtBC,MAAAA,KAAK,EAAE;AAAEC,QAAAA,QAAQ,EAAE;AAAZ,OADe;AAEtBC,MAAAA,KAAK,EAAE;AAAED,QAAAA,QAAQ,EAAE;AAAZ,OAFe;AAGtBE,MAAAA,KAAK,EAAE;AAAEF,QAAAA,QAAQ,EAAE;AAAZ;AAHe,KADX;AAMbJ,IAAAA,MAAM,EAAE;AACNO,MAAAA,QAAQ,EAAE,IADJ;AAENC,MAAAA,KAAK,EAAE,QAFD;AAGNC,MAAAA,kBAAkB,EAAE;AAClBN,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHd;AAQNM,MAAAA,QAAQ,EAAE;AARJ,KANK;AAgBbC,IAAAA,qBAAqB,EAAE,KAhBV;AAiBbC,IAAAA,UAAU,EAAE;AACVJ,MAAAA,KAAK,EAAE,YADG;AAEVD,MAAAA,QAAQ,EAAE,KAFA;AAGVM,MAAAA,OAAO,EAAE;AAHC,KAjBC;AAsBbC,IAAAA,mBAAmB,EAAE;AACnBP,MAAAA,QAAQ,EAAE,IADS;AAEnBC,MAAAA,KAAK,EAAE,sBAFY;AAGnBC,MAAAA,kBAAkB,EAAE;AAClBN,QAAAA,KAAK,EAAE;AAAEC,UAAAA,QAAQ,EAAE;AAAZ,SADW;AAElBC,QAAAA,KAAK,EAAE;AAAED,UAAAA,QAAQ,EAAE;AAAZ,SAFW;AAGlBE,QAAAA,KAAK,EAAE;AAAEF,UAAAA,QAAQ,EAAE;AAAZ;AAHW,OAHD;AAQnBM,MAAAA,QAAQ,EAAE;AARS;AAtBR;AATF,C","sourcesContent":["/** NOTE: teacherInstructions, studentInstructions, rationale & scoringType\n * functionalities are not defined yet - the value for those can belong to\n * model or to configure\n */\nexport default {\n model: {\n teacherInstructionsEnabled: true,\n labelType: 'agreement',\n rowLabels: [\"I'm interested in politics.\", \"I'm interested in economics.\"],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?',\n },\n configuration: {\n baseInputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n prompt: {\n settings: true,\n label: 'Prompt',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n settingsPanelDisabled: false,\n spellCheck: {\n label: 'Spellcheck',\n settings: false,\n enabled: true,\n },\n teacherInstructions: {\n settings: true,\n label: 'Teacher Instructions',\n inputConfiguration: {\n audio: { disabled: false },\n video: { disabled: false },\n image: { disabled: false },\n },\n required: false,\n },\n },\n};\n"],"file":"defaults.js"}
|
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
|
+
|
|
12
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
13
|
+
|
|
14
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
15
|
+
|
|
16
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
+
|
|
18
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
+
|
|
20
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
+
|
|
22
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
23
|
+
|
|
24
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
25
|
+
|
|
26
|
+
var _react = _interopRequireDefault(require("react"));
|
|
27
|
+
|
|
28
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
29
|
+
|
|
30
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
31
|
+
|
|
32
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
33
|
+
|
|
34
|
+
var _Main = _interopRequireDefault(require("./Main"));
|
|
35
|
+
|
|
36
|
+
var _defaults = _interopRequireDefault(require("lodash/defaults"));
|
|
37
|
+
|
|
38
|
+
var _defaults2 = _interopRequireDefault(require("./defaults"));
|
|
39
|
+
|
|
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
|
+
|
|
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
|
+
|
|
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
|
+
|
|
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
|
+
|
|
48
|
+
var log = (0, _debug["default"])('matrix:configure');
|
|
49
|
+
|
|
50
|
+
var prepareCustomizationObject = function prepareCustomizationObject(config, model) {
|
|
51
|
+
var configuration = (0, _defaults["default"])(config, _defaults2["default"].configuration);
|
|
52
|
+
return {
|
|
53
|
+
configuration: configuration,
|
|
54
|
+
model: model
|
|
55
|
+
};
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
var Matrix = /*#__PURE__*/function (_HTMLElement) {
|
|
59
|
+
(0, _inherits2["default"])(Matrix, _HTMLElement);
|
|
60
|
+
|
|
61
|
+
var _super = _createSuper(Matrix);
|
|
62
|
+
|
|
63
|
+
function Matrix() {
|
|
64
|
+
var _this;
|
|
65
|
+
|
|
66
|
+
(0, _classCallCheck2["default"])(this, Matrix);
|
|
67
|
+
_this = _super.call(this);
|
|
68
|
+
_this._model = Matrix.createDefaultModel();
|
|
69
|
+
_this._configuration = _defaults2["default"].configuration;
|
|
70
|
+
_this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
71
|
+
_this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
72
|
+
return _this;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
(0, _createClass2["default"])(Matrix, [{
|
|
76
|
+
key: "model",
|
|
77
|
+
set: function set(s) {
|
|
78
|
+
this._model = Matrix.createDefaultModel(s);
|
|
79
|
+
|
|
80
|
+
this._render();
|
|
81
|
+
}
|
|
82
|
+
}, {
|
|
83
|
+
key: "configuration",
|
|
84
|
+
set: function set(c) {
|
|
85
|
+
var info = prepareCustomizationObject(c, this._model);
|
|
86
|
+
this.onModelChanged(info.model);
|
|
87
|
+
this._configuration = info.configuration;
|
|
88
|
+
|
|
89
|
+
this._render();
|
|
90
|
+
}
|
|
91
|
+
}, {
|
|
92
|
+
key: "disableSidePanel",
|
|
93
|
+
set: function set(s) {
|
|
94
|
+
this._disableSidePanel = s;
|
|
95
|
+
|
|
96
|
+
this._render();
|
|
97
|
+
}
|
|
98
|
+
}, {
|
|
99
|
+
key: "dispatchModelUpdated",
|
|
100
|
+
value: function dispatchModelUpdated(reset) {
|
|
101
|
+
var resetValue = !!reset;
|
|
102
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
|
|
103
|
+
}
|
|
104
|
+
}, {
|
|
105
|
+
key: "onModelChanged",
|
|
106
|
+
value: function onModelChanged(m, reset) {
|
|
107
|
+
this._model = m;
|
|
108
|
+
|
|
109
|
+
this._render();
|
|
110
|
+
|
|
111
|
+
this.dispatchModelUpdated(reset);
|
|
112
|
+
}
|
|
113
|
+
}, {
|
|
114
|
+
key: "onConfigurationChanged",
|
|
115
|
+
value: function onConfigurationChanged(c) {
|
|
116
|
+
this._configuration = prepareCustomizationObject(c, this._model).configuration;
|
|
117
|
+
|
|
118
|
+
if (this._model) {
|
|
119
|
+
this.onModelChanged(this._model);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
this._render();
|
|
123
|
+
}
|
|
124
|
+
}, {
|
|
125
|
+
key: "insertSound",
|
|
126
|
+
value: function insertSound(handler) {
|
|
127
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
128
|
+
}
|
|
129
|
+
}, {
|
|
130
|
+
key: "onDeleteSound",
|
|
131
|
+
value: function onDeleteSound(src, done) {
|
|
132
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
133
|
+
}
|
|
134
|
+
}, {
|
|
135
|
+
key: "_render",
|
|
136
|
+
value: function _render() {
|
|
137
|
+
log('_render');
|
|
138
|
+
|
|
139
|
+
var element = /*#__PURE__*/_react["default"].createElement(_Main["default"], {
|
|
140
|
+
model: this._model,
|
|
141
|
+
configuration: this._configuration,
|
|
142
|
+
onModelChanged: this.onModelChanged,
|
|
143
|
+
onConfigurationChanged: this.onConfigurationChanged,
|
|
144
|
+
disableSidePanel: this._disableSidePanel,
|
|
145
|
+
uploadSoundSupport: {
|
|
146
|
+
add: this.insertSound.bind(this),
|
|
147
|
+
"delete": this.onDeleteSound.bind(this)
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
|
|
151
|
+
_reactDom["default"].render(element, this);
|
|
152
|
+
}
|
|
153
|
+
}]);
|
|
154
|
+
return Matrix;
|
|
155
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
156
|
+
|
|
157
|
+
exports["default"] = Matrix;
|
|
158
|
+
(0, _defineProperty2["default"])(Matrix, "createDefaultModel", function () {
|
|
159
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
160
|
+
return _objectSpread(_objectSpread({}, _defaults2["default"].model), model);
|
|
161
|
+
});
|
|
162
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","prepareCustomizationObject","config","model","configuration","sensibleDefaults","Matrix","_model","createDefaultModel","_configuration","onModelChanged","bind","onConfigurationChanged","s","_render","c","info","_disableSidePanel","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","dispatchModelUpdated","handler","InsertSoundEvent","src","done","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","uploadSoundSupport","add","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":"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","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport debug from 'debug';\nimport { ModelUpdatedEvent, InsertSoundEvent, DeleteSoundEvent } from '@pie-framework/pie-configure-events';\n\nimport Main from './Main';\nimport defaults from 'lodash/defaults';\n\nimport sensibleDefaults from './defaults';\n\nconst log = debug('matrix:configure');\n\nconst prepareCustomizationObject = (config, model) => {\n const configuration = defaults(config, sensibleDefaults.configuration);\n\n return {\n configuration,\n model,\n };\n};\n\nexport default class Matrix extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...sensibleDefaults.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = Matrix.createDefaultModel();\n this._configuration = sensibleDefaults.configuration;\n this.onModelChanged = this.onModelChanged.bind(this);\n this.onConfigurationChanged = this.onConfigurationChanged.bind(this);\n }\n\n set model(s) {\n this._model = Matrix.createDefaultModel(s);\n this._render();\n }\n\n set configuration(c) {\n const info = prepareCustomizationObject(c, this._model);\n\n this.onModelChanged(info.model);\n this._configuration = info.configuration;\n this._render();\n }\n\n set disableSidePanel(s) {\n this._disableSidePanel = s;\n this._render();\n }\n\n dispatchModelUpdated(reset) {\n const resetValue = !!reset;\n\n this.dispatchEvent(new ModelUpdatedEvent(this._model, resetValue));\n }\n\n onModelChanged(m, reset) {\n this._model = m;\n this._render();\n this.dispatchModelUpdated(reset);\n }\n\n onConfigurationChanged(c) {\n this._configuration = prepareCustomizationObject(c, this._model).configuration;\n\n if (this._model) {\n this.onModelChanged(this._model);\n }\n\n this._render();\n }\n\n insertSound(handler) {\n this.dispatchEvent(new InsertSoundEvent(handler));\n }\n\n onDeleteSound(src, done) {\n this.dispatchEvent(new DeleteSoundEvent(src, done));\n }\n\n _render() {\n log('_render');\n let element = React.createElement(Main, {\n model: this._model,\n configuration: this._configuration,\n onModelChanged: this.onModelChanged,\n onConfigurationChanged: this.onConfigurationChanged,\n disableSidePanel: this._disableSidePanel,\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(element, this);\n }\n}\n"],"file":"index.js"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
|
|
8
|
+
var _default = function _default(value) {
|
|
9
|
+
return /^-?\d+$/.test(value);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports["default"] = _default;
|
|
13
|
+
//# sourceMappingURL=isNumeric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/isNumeric.js"],"names":["value","test"],"mappings":";;;;;;;eAAe,kBAACA,KAAD,EAAW;AACxB,SAAO,UAAUC,IAAV,CAAeD,KAAf,CAAP;AACD,C","sourcesContent":["export default (value) => {\n return /^-?\\d+$/.test(value);\n};\n"],"file":"isNumeric.js"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.MATRIX_LABEL_TYPE = void 0;
|
|
7
|
+
var MATRIX_LABEL_TYPE = {
|
|
8
|
+
agreement: 'agreement',
|
|
9
|
+
frequency: 'frequency',
|
|
10
|
+
yesNo: 'yesNo',
|
|
11
|
+
importance: 'importance',
|
|
12
|
+
likelihood: 'likelihood',
|
|
13
|
+
like: 'like',
|
|
14
|
+
custom: 'custom'
|
|
15
|
+
};
|
|
16
|
+
exports.MATRIX_LABEL_TYPE = MATRIX_LABEL_TYPE;
|
|
17
|
+
//# sourceMappingURL=matrixEntities.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/matrixEntities.js"],"names":["MATRIX_LABEL_TYPE","agreement","frequency","yesNo","importance","likelihood","like","custom"],"mappings":";;;;;;AAAO,IAAMA,iBAAiB,GAAG;AAC/BC,EAAAA,SAAS,EAAE,WADoB;AAE/BC,EAAAA,SAAS,EAAE,WAFoB;AAG/BC,EAAAA,KAAK,EAAE,OAHwB;AAI/BC,EAAAA,UAAU,EAAE,YAJmB;AAK/BC,EAAAA,UAAU,EAAE,YALmB;AAM/BC,EAAAA,IAAI,EAAE,MANyB;AAO/BC,EAAAA,MAAM,EAAE;AAPuB,CAA1B","sourcesContent":["export const MATRIX_LABEL_TYPE = {\n agreement: 'agreement',\n frequency: 'frequency',\n yesNo: 'yesNo',\n importance: 'importance',\n likelihood: 'likelihood',\n like: 'like',\n custom: 'custom',\n};\n"],"file":"matrixEntities.js"}
|
package/configure/package.json
CHANGED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _default = {
|
|
8
|
+
labelType: 'agreement',
|
|
9
|
+
rowLabels: ['I\'m interested in politics.', 'I\'m interested in economics.'],
|
|
10
|
+
columnLabels: ['Disagree', 'Unsure', 'Agree'],
|
|
11
|
+
matrixValues: {},
|
|
12
|
+
prompt: 'How interested are you in the following domains?'
|
|
13
|
+
};
|
|
14
|
+
exports["default"] = _default;
|
|
15
|
+
//# sourceMappingURL=defaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/defaults.js"],"names":["labelType","rowLabels","columnLabels","matrixValues","prompt"],"mappings":";;;;;;eAAe;AACbA,EAAAA,SAAS,EAAE,WADE;AAEbC,EAAAA,SAAS,EAAE,CAAC,8BAAD,EAAiC,+BAAjC,CAFE;AAGbC,EAAAA,YAAY,EAAE,CAAC,UAAD,EAAa,QAAb,EAAuB,OAAvB,CAHD;AAIbC,EAAAA,YAAY,EAAE,EAJD;AAKbC,EAAAA,MAAM,EAAE;AALK,C","sourcesContent":["export default {\n labelType: 'agreement',\n rowLabels: ['I\\'m interested in politics.', 'I\\'m interested in economics.'],\n columnLabels: ['Disagree', 'Unsure', 'Agree'],\n matrixValues: {},\n prompt: 'How interested are you in the following domains?',\n};\n"],"file":"defaults.js"}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.createDefaultModel = exports.createCorrectResponseSession = void 0;
|
|
9
|
+
exports.model = model;
|
|
10
|
+
exports.outcome = outcome;
|
|
11
|
+
exports.validate = void 0;
|
|
12
|
+
|
|
13
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
14
|
+
|
|
15
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
16
|
+
|
|
17
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
18
|
+
|
|
19
|
+
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
20
|
+
|
|
21
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
22
|
+
|
|
23
|
+
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; }
|
|
24
|
+
|
|
25
|
+
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; }
|
|
26
|
+
|
|
27
|
+
var createDefaultModel = function createDefaultModel() {
|
|
28
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
29
|
+
return new Promise(function (resolve) {
|
|
30
|
+
return resolve(_objectSpread(_objectSpread({}, _defaults["default"]), model));
|
|
31
|
+
});
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
*
|
|
35
|
+
* @param {*} question
|
|
36
|
+
* @param {*} session
|
|
37
|
+
* @param {*} env
|
|
38
|
+
*/
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
exports.createDefaultModel = createDefaultModel;
|
|
42
|
+
|
|
43
|
+
function model(_x, _x2, _x3) {
|
|
44
|
+
return _model.apply(this, arguments);
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function _model() {
|
|
48
|
+
_model = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(question, session, env) {
|
|
49
|
+
var normalizedQuestion, out, _ref2, role, mode;
|
|
50
|
+
|
|
51
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
52
|
+
while (1) {
|
|
53
|
+
switch (_context.prev = _context.next) {
|
|
54
|
+
case 0:
|
|
55
|
+
normalizedQuestion = _objectSpread(_objectSpread({}, _defaults["default"]), question);
|
|
56
|
+
out = _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
|
|
57
|
+
disabled: env.mode !== 'gather',
|
|
58
|
+
mode: env.mode
|
|
59
|
+
});
|
|
60
|
+
_ref2 = env || {}, role = _ref2.role, mode = _ref2.mode;
|
|
61
|
+
|
|
62
|
+
if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
|
|
63
|
+
out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
64
|
+
} else {
|
|
65
|
+
out.teacherInstructions = null;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
return _context.abrupt("return", out);
|
|
69
|
+
|
|
70
|
+
case 5:
|
|
71
|
+
case "end":
|
|
72
|
+
return _context.stop();
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, _callee);
|
|
76
|
+
}));
|
|
77
|
+
return _model.apply(this, arguments);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
function outcome(model, session) {
|
|
81
|
+
return new Promise(function (resolve) {
|
|
82
|
+
if (!session || (0, _isEmpty["default"])(session)) {
|
|
83
|
+
return resolve({
|
|
84
|
+
score: 0,
|
|
85
|
+
empty: true
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
var score = Object.keys(session.value).reduce(function (acc, key) {
|
|
90
|
+
var matrixValue = model.matrixValues[key];
|
|
91
|
+
return acc + (matrixValue || 0);
|
|
92
|
+
}, 0);
|
|
93
|
+
resolve({
|
|
94
|
+
score: score,
|
|
95
|
+
empty: false
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
|
|
101
|
+
return new Promise(function (resolve) {
|
|
102
|
+
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
103
|
+
var _ref = question || [],
|
|
104
|
+
matrixValues = _ref.matrixValues;
|
|
105
|
+
|
|
106
|
+
resolve({
|
|
107
|
+
id: '1',
|
|
108
|
+
value: matrixValues
|
|
109
|
+
});
|
|
110
|
+
} else {
|
|
111
|
+
resolve(null);
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
}; // remove all html tags
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
118
|
+
|
|
119
|
+
var getInnerText = function getInnerText(html) {
|
|
120
|
+
return (html || '').replaceAll(/<[^>]*>/g, '');
|
|
121
|
+
}; // remove all html tags except img and iframe
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
var getContent = function getContent(html) {
|
|
125
|
+
return (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
var validate = function validate() {
|
|
129
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
130
|
+
var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
131
|
+
var errors = {};
|
|
132
|
+
['teacherInstructions', 'prompt'].forEach(function (field) {
|
|
133
|
+
var _config$field;
|
|
134
|
+
|
|
135
|
+
if ((_config$field = config[field]) !== null && _config$field !== void 0 && _config$field.required && !getContent(model[field])) {
|
|
136
|
+
errors[field] = 'This field is required.';
|
|
137
|
+
}
|
|
138
|
+
});
|
|
139
|
+
return errors;
|
|
140
|
+
};
|
|
141
|
+
|
|
142
|
+
exports.validate = validate;
|
|
143
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["createDefaultModel","model","Promise","resolve","defaults","question","session","env","normalizedQuestion","out","disabled","mode","role","teacherInstructions","teacherInstructionsEnabled","outcome","score","empty","Object","keys","value","reduce","acc","key","matrixValue","matrixValues","createCorrectResponseSession","id","getInnerText","html","replaceAll","getContent","replace","validate","config","errors","forEach","field","required"],"mappings":"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","sourcesContent":["import defaults from './defaults';\nimport isEmpty from 'lodash/isEmpty';\n\nexport const createDefaultModel = (model = {}) => new Promise((resolve) => resolve({ ...defaults, ...model }));\n\n/**\n *\n * @param {*} question\n * @param {*} session\n * @param {*} env\n */\nexport async function model(question, session, env) {\n const normalizedQuestion = { ...defaults, ...question };\n\n const out = {\n ...normalizedQuestion,\n disabled: env.mode !== 'gather',\n mode: env.mode,\n };\n\n const { role, mode } = env || {};\n\n if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {\n out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled\n ? normalizedQuestion.teacherInstructions\n : null;\n } else {\n out.teacherInstructions = null;\n }\n\n return out;\n}\n\nexport function outcome(model, session) {\n return new Promise((resolve) => {\n if (!session || isEmpty(session)) {\n return resolve({ score: 0, empty: true });\n }\n\n const score = Object.keys(session.value).reduce((acc, key) => {\n const matrixValue = model.matrixValues[key];\n return acc + (matrixValue || 0);\n }, 0);\n\n resolve({ score, empty: false });\n });\n}\n\nexport const createCorrectResponseSession = (question, env) => {\n return new Promise((resolve) => {\n if (env.mode !== 'evaluate' && env.role === 'instructor') {\n const { matrixValues } = question || [];\n\n resolve({\n id: '1',\n value: matrixValues,\n });\n } else {\n resolve(null);\n }\n });\n};\n\n// remove all html tags\nconst getInnerText = (html) => (html || '').replaceAll(/<[^>]*>/g, '');\n\n// remove all html tags except img and iframe\nconst getContent = (html) => (html || '').replace(/(<(?!img|iframe)([^>]+)>)/gi, '');\n\nexport const validate = (model = {}, config = {}) => {\n const errors = {};\n\n ['teacherInstructions', 'prompt'].forEach((field) => {\n if (config[field]?.required && !getContent(model[field])) {\n errors[field] = 'This field is required.';\n }\n });\n\n return errors;\n};\n"],"file":"index.js"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports["default"] = void 0;
|
|
9
|
+
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
|
|
12
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
13
|
+
|
|
14
|
+
var _styles = require("@material-ui/core/styles");
|
|
15
|
+
|
|
16
|
+
var _renderUi = require("@pie-lib/pie-toolbox/render-ui");
|
|
17
|
+
|
|
18
|
+
var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
|
|
19
|
+
|
|
20
|
+
var radioStyles = {
|
|
21
|
+
root: {
|
|
22
|
+
color: "var(--choice-input-color, ".concat(_renderUi.color.text(), ")")
|
|
23
|
+
},
|
|
24
|
+
checked: {
|
|
25
|
+
color: "var(--choice-input-selected-color, ".concat(_renderUi.color.text(), ")")
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
var ChoiceInput = (0, _styles.withStyles)(radioStyles)(function (props) {
|
|
29
|
+
var disabled = props.disabled,
|
|
30
|
+
checked = props.checked,
|
|
31
|
+
matrixKey = props.matrixKey,
|
|
32
|
+
matrixValue = props.matrixValue,
|
|
33
|
+
classes = props.classes,
|
|
34
|
+
onChange = props.onChange;
|
|
35
|
+
|
|
36
|
+
var onChangeWrapper = function onChangeWrapper() {
|
|
37
|
+
if (disabled) {
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
onChange({
|
|
42
|
+
matrixValue: matrixValue,
|
|
43
|
+
matrixKey: matrixKey
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
48
|
+
checked: checked,
|
|
49
|
+
onChange: onChangeWrapper,
|
|
50
|
+
disabled: disabled,
|
|
51
|
+
classes: {
|
|
52
|
+
root: classes.root,
|
|
53
|
+
checked: classes.checked
|
|
54
|
+
}
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
ChoiceInput.propTypes = {
|
|
58
|
+
checked: _propTypes["default"].bool.isRequired,
|
|
59
|
+
disabled: _propTypes["default"].bool.isRequired,
|
|
60
|
+
matrixValue: _propTypes["default"].number.isRequired,
|
|
61
|
+
matrixKey: _propTypes["default"].string.isRequired,
|
|
62
|
+
classes: _propTypes["default"].object,
|
|
63
|
+
onChange: _propTypes["default"].func.isRequired
|
|
64
|
+
};
|
|
65
|
+
ChoiceInput.defaultProps = {
|
|
66
|
+
checked: false,
|
|
67
|
+
disabled: false
|
|
68
|
+
};
|
|
69
|
+
var _default = ChoiceInput;
|
|
70
|
+
exports["default"] = _default;
|
|
71
|
+
//# sourceMappingURL=ChoiceInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/ChoiceInput.jsx"],"names":["radioStyles","root","color","text","checked","ChoiceInput","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AAEA;;AACA;;AAEA,IAAMA,WAAW,GAAG;AAClBC,EAAAA,IAAI,EAAE;AACJC,IAAAA,KAAK,sCAA+BA,gBAAMC,IAAN,EAA/B;AADD,GADY;AAIlBC,EAAAA,OAAO,EAAE;AACPF,IAAAA,KAAK,+CAAwCA,gBAAMC,IAAN,EAAxC;AADE;AAJS,CAApB;AASA,IAAME,WAAW,GAAG,wBAAWL,WAAX,EAAwB,UAACM,KAAD,EAAW;AACrD,MAAQC,QAAR,GAAyED,KAAzE,CAAQC,QAAR;AAAA,MAAkBH,OAAlB,GAAyEE,KAAzE,CAAkBF,OAAlB;AAAA,MAA2BI,SAA3B,GAAyEF,KAAzE,CAA2BE,SAA3B;AAAA,MAAsCC,WAAtC,GAAyEH,KAAzE,CAAsCG,WAAtC;AAAA,MAAmDC,OAAnD,GAAyEJ,KAAzE,CAAmDI,OAAnD;AAAA,MAA4DC,QAA5D,GAAyEL,KAAzE,CAA4DK,QAA5D;;AAEA,MAAMC,eAAe,GAAG,SAAlBA,eAAkB,GAAM;AAC5B,QAAIL,QAAJ,EAAc;AACZ;AACD;;AACDI,IAAAA,QAAQ,CAAC;AACPF,MAAAA,WAAW,EAAXA,WADO;AAEPD,MAAAA,SAAS,EAATA;AAFO,KAAD,CAAR;AAID,GARD;;AAUA,sBACE,gCAAC,iBAAD;AACE,IAAA,OAAO,EAAEJ,OADX;AAEE,IAAA,QAAQ,EAAEQ,eAFZ;AAGE,IAAA,QAAQ,EAAEL,QAHZ;AAIE,IAAA,OAAO,EAAE;AACPN,MAAAA,IAAI,EAAES,OAAO,CAACT,IADP;AAEPG,MAAAA,OAAO,EAAEM,OAAO,CAACN;AAFV;AAJX,IADF;AAWD,CAxBmB,CAApB;AA0BAC,WAAW,CAACQ,SAAZ,GAAwB;AACtBT,EAAAA,OAAO,EAAEU,sBAAUC,IAAV,CAAeC,UADF;AAEtBT,EAAAA,QAAQ,EAAEO,sBAAUC,IAAV,CAAeC,UAFH;AAGtBP,EAAAA,WAAW,EAAEK,sBAAUG,MAAV,CAAiBD,UAHR;AAItBR,EAAAA,SAAS,EAAEM,sBAAUI,MAAV,CAAiBF,UAJN;AAKtBN,EAAAA,OAAO,EAAEI,sBAAUK,MALG;AAMtBR,EAAAA,QAAQ,EAAEG,sBAAUM,IAAV,CAAeJ;AANH,CAAxB;AASAX,WAAW,CAACgB,YAAZ,GAA2B;AACzBjB,EAAAA,OAAO,EAAE,KADgB;AAEzBG,EAAAA,QAAQ,EAAE;AAFe,CAA3B;eAKeF,W","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/pie-toolbox/render-ui';\nimport Radio from '@material-ui/core/Radio';\n\nconst radioStyles = {\n root: {\n color: `var(--choice-input-color, ${color.text()})`,\n },\n checked: {\n color: `var(--choice-input-selected-color, ${color.text()})`,\n },\n};\n\nconst ChoiceInput = withStyles(radioStyles)((props) => {\n const { disabled, checked, matrixKey, matrixValue, classes, onChange } = props;\n\n const onChangeWrapper = () => {\n if (disabled) {\n return;\n }\n onChange({\n matrixValue,\n matrixKey,\n });\n };\n\n return (\n <Radio\n checked={checked}\n onChange={onChangeWrapper}\n disabled={disabled}\n classes={{\n root: classes.root,\n checked: classes.checked,\n }}\n />\n );\n});\n\nChoiceInput.propTypes = {\n checked: PropTypes.bool.isRequired,\n disabled: PropTypes.bool.isRequired,\n matrixValue: PropTypes.number.isRequired,\n matrixKey: PropTypes.string.isRequired,\n classes: PropTypes.object,\n onChange: PropTypes.func.isRequired,\n};\n\nChoiceInput.defaultProps = {\n checked: false,\n disabled: false,\n};\n\nexport default ChoiceInput;\n"],"file":"ChoiceInput.js"}
|