@pie-element/matrix 0.7.1-beta.3 → 0.7.1-beta.4
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 +19 -0
- package/configure/lib/HeaderCommon.js.map +1 -0
- package/configure/lib/Main.js +186 -0
- package/configure/lib/Main.js.map +1 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js +56 -0
- package/configure/lib/MatrixColumnsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixLabelEditableButton.js +173 -0
- package/configure/lib/MatrixLabelEditableButton.js.map +1 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js +94 -0
- package/configure/lib/MatrixLabelTypeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js +56 -0
- package/configure/lib/MatrixRowsSizeHeaderInput.js.map +1 -0
- package/configure/lib/MatrixValues.js +184 -0
- package/configure/lib/MatrixValues.js.map +1 -0
- package/configure/lib/NumberInput.js +83 -0
- package/configure/lib/NumberInput.js.map +1 -0
- package/configure/lib/columnLabelsGenerator.js +53 -0
- package/configure/lib/columnLabelsGenerator.js.map +1 -0
- package/configure/lib/defaults.js +38 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +125 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/isNumeric.js +11 -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/controller/lib/defaults.js +15 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +93 -0
- package/controller/lib/index.js.map +1 -0
- package/lib/ChoiceInput.js +61 -0
- package/lib/ChoiceInput.js.map +1 -0
- package/lib/Main.js +54 -0
- package/lib/Main.js.map +1 -0
- package/lib/Matrix.js +92 -0
- package/lib/Matrix.js.map +1 -0
- package/lib/index.js +94 -0
- package/lib/index.js.map +1 -0
- package/lib/session-updater.js +10 -0
- package/lib/session-updater.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
9
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
10
|
+
var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
15
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
16
|
+
var _react = _interopRequireDefault(require("react"));
|
|
17
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
18
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
19
|
+
var _pieConfigureEvents = require("@pie-framework/pie-configure-events");
|
|
20
|
+
var _Main = _interopRequireDefault(require("./Main"));
|
|
21
|
+
var _defaults = _interopRequireDefault(require("lodash/defaults"));
|
|
22
|
+
var _defaults2 = _interopRequireDefault(require("./defaults"));
|
|
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
|
+
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; }
|
|
25
|
+
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); }; }
|
|
26
|
+
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; } }
|
|
27
|
+
var log = (0, _debug["default"])('matrix:configure');
|
|
28
|
+
var prepareCustomizationObject = function prepareCustomizationObject(config, model) {
|
|
29
|
+
var configuration = (0, _defaults["default"])(config, _defaults2["default"].configuration);
|
|
30
|
+
return {
|
|
31
|
+
configuration: configuration,
|
|
32
|
+
model: model
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
var Matrix = /*#__PURE__*/function (_HTMLElement) {
|
|
36
|
+
(0, _inherits2["default"])(Matrix, _HTMLElement);
|
|
37
|
+
var _super = _createSuper(Matrix);
|
|
38
|
+
function Matrix() {
|
|
39
|
+
var _this;
|
|
40
|
+
(0, _classCallCheck2["default"])(this, Matrix);
|
|
41
|
+
_this = _super.call(this);
|
|
42
|
+
_this._model = Matrix.createDefaultModel();
|
|
43
|
+
_this._configuration = _defaults2["default"].configuration;
|
|
44
|
+
_this.onModelChanged = _this.onModelChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
45
|
+
_this.onConfigurationChanged = _this.onConfigurationChanged.bind((0, _assertThisInitialized2["default"])(_this));
|
|
46
|
+
return _this;
|
|
47
|
+
}
|
|
48
|
+
(0, _createClass2["default"])(Matrix, [{
|
|
49
|
+
key: "model",
|
|
50
|
+
set: function set(s) {
|
|
51
|
+
this._model = Matrix.createDefaultModel(s);
|
|
52
|
+
this._render();
|
|
53
|
+
}
|
|
54
|
+
}, {
|
|
55
|
+
key: "configuration",
|
|
56
|
+
set: function set(c) {
|
|
57
|
+
var info = prepareCustomizationObject(c, this._model);
|
|
58
|
+
this.onModelChanged(info.model);
|
|
59
|
+
this._configuration = info.configuration;
|
|
60
|
+
this._render();
|
|
61
|
+
}
|
|
62
|
+
}, {
|
|
63
|
+
key: "disableSidePanel",
|
|
64
|
+
set: function set(s) {
|
|
65
|
+
this._disableSidePanel = s;
|
|
66
|
+
this._render();
|
|
67
|
+
}
|
|
68
|
+
}, {
|
|
69
|
+
key: "dispatchModelUpdated",
|
|
70
|
+
value: function dispatchModelUpdated(reset) {
|
|
71
|
+
var resetValue = !!reset;
|
|
72
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model, resetValue));
|
|
73
|
+
}
|
|
74
|
+
}, {
|
|
75
|
+
key: "onModelChanged",
|
|
76
|
+
value: function onModelChanged(m, reset) {
|
|
77
|
+
this._model = m;
|
|
78
|
+
this._render();
|
|
79
|
+
this.dispatchModelUpdated(reset);
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
key: "onConfigurationChanged",
|
|
83
|
+
value: function onConfigurationChanged(c) {
|
|
84
|
+
this._configuration = prepareCustomizationObject(c, this._model).configuration;
|
|
85
|
+
if (this._model) {
|
|
86
|
+
this.onModelChanged(this._model);
|
|
87
|
+
}
|
|
88
|
+
this._render();
|
|
89
|
+
}
|
|
90
|
+
}, {
|
|
91
|
+
key: "insertSound",
|
|
92
|
+
value: function insertSound(handler) {
|
|
93
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
94
|
+
}
|
|
95
|
+
}, {
|
|
96
|
+
key: "onDeleteSound",
|
|
97
|
+
value: function onDeleteSound(src, done) {
|
|
98
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
99
|
+
}
|
|
100
|
+
}, {
|
|
101
|
+
key: "_render",
|
|
102
|
+
value: function _render() {
|
|
103
|
+
log('_render');
|
|
104
|
+
var element = /*#__PURE__*/_react["default"].createElement(_Main["default"], {
|
|
105
|
+
model: this._model,
|
|
106
|
+
configuration: this._configuration,
|
|
107
|
+
onModelChanged: this.onModelChanged,
|
|
108
|
+
onConfigurationChanged: this.onConfigurationChanged,
|
|
109
|
+
disableSidePanel: this._disableSidePanel,
|
|
110
|
+
uploadSoundSupport: {
|
|
111
|
+
add: this.insertSound.bind(this),
|
|
112
|
+
"delete": this.onDeleteSound.bind(this)
|
|
113
|
+
}
|
|
114
|
+
});
|
|
115
|
+
_reactDom["default"].render(element, this);
|
|
116
|
+
}
|
|
117
|
+
}]);
|
|
118
|
+
return Matrix;
|
|
119
|
+
}( /*#__PURE__*/(0, _wrapNativeSuper2["default"])(HTMLElement));
|
|
120
|
+
exports["default"] = Matrix;
|
|
121
|
+
(0, _defineProperty2["default"])(Matrix, "createDefaultModel", function () {
|
|
122
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
123
|
+
return _objectSpread(_objectSpread({}, _defaults2["default"].model), model);
|
|
124
|
+
});
|
|
125
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_reactDom","_debug","_pieConfigureEvents","_Main","_defaults","_defaults2","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","log","debug","prepareCustomizationObject","config","model","configuration","defaults","sensibleDefaults","Matrix","_HTMLElement","_inherits2","_super","_this","_classCallCheck2","_model","createDefaultModel","_configuration","onModelChanged","bind","_assertThisInitialized2","onConfigurationChanged","_createClass2","set","s","_render","c","info","_disableSidePanel","value","dispatchModelUpdated","reset","resetValue","dispatchEvent","ModelUpdatedEvent","m","insertSound","handler","InsertSoundEvent","onDeleteSound","src","done","DeleteSoundEvent","element","React","createElement","Main","disableSidePanel","uploadSoundSupport","add","ReactDOM","render","_wrapNativeSuper2","HTMLElement","exports","undefined"],"sources":["../src/index.js"],"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"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports["default"] = void 0;
|
|
7
|
+
var _default = function _default(value) {
|
|
8
|
+
return /^-?\d+$/.test(value);
|
|
9
|
+
};
|
|
10
|
+
exports["default"] = _default;
|
|
11
|
+
//# sourceMappingURL=isNumeric.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"isNumeric.js","names":["_default","value","test","exports"],"sources":["../src/isNumeric.js"],"sourcesContent":["export default (value) => {\n return /^-?\\d+$/.test(value);\n};\n"],"mappings":";;;;;;eAAe,SAAAA,SAACC,KAAK,EAAK;EACxB,OAAO,SAAS,CAACC,IAAI,CAACD,KAAK,CAAC;AAC9B,CAAC;AAAAE,OAAA,cAAAH,QAAA"}
|
|
@@ -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,"file":"matrixEntities.js","names":["MATRIX_LABEL_TYPE","agreement","frequency","yesNo","importance","likelihood","like","custom","exports"],"sources":["../src/matrixEntities.js"],"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"],"mappings":";;;;;;AAAO,IAAMA,iBAAiB,GAAG;EAC/BC,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,WAAW;EACtBC,KAAK,EAAE,OAAO;EACdC,UAAU,EAAE,YAAY;EACxBC,UAAU,EAAE,YAAY;EACxBC,IAAI,EAAE,MAAM;EACZC,MAAM,EAAE;AACV,CAAC;AAACC,OAAA,CAAAR,iBAAA,GAAAA,iBAAA"}
|
|
@@ -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,"file":"defaults.js","names":["labelType","rowLabels","columnLabels","matrixValues","prompt","exports","_default"],"sources":["../src/defaults.js"],"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"],"mappings":";;;;;;eAAe;EACbA,SAAS,EAAE,WAAW;EACtBC,SAAS,EAAE,CAAC,6BAA6B,EAAE,8BAA8B,CAAC;EAC1EC,YAAY,EAAE,CAAC,UAAU,EAAE,QAAQ,EAAE,OAAO,CAAC;EAC7CC,YAAY,EAAE,CAAC,CAAC;EAChBC,MAAM,EAAE;AACV,CAAC;AAAAC,OAAA,cAAAC,QAAA"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.createDefaultModel = exports.createCorrectResponseSession = void 0;
|
|
8
|
+
exports.model = model;
|
|
9
|
+
exports.outcome = outcome;
|
|
10
|
+
var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
|
|
11
|
+
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
|
|
12
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
13
|
+
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
14
|
+
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
15
|
+
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; }
|
|
16
|
+
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; }
|
|
17
|
+
var createDefaultModel = function createDefaultModel() {
|
|
18
|
+
var model = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
19
|
+
return new Promise(function (resolve) {
|
|
20
|
+
return resolve(_objectSpread(_objectSpread({}, _defaults["default"]), model));
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
*
|
|
26
|
+
* @param {*} question
|
|
27
|
+
* @param {*} session
|
|
28
|
+
* @param {*} env
|
|
29
|
+
*/
|
|
30
|
+
exports.createDefaultModel = createDefaultModel;
|
|
31
|
+
function model(_x, _x2, _x3) {
|
|
32
|
+
return _model.apply(this, arguments);
|
|
33
|
+
}
|
|
34
|
+
function _model() {
|
|
35
|
+
_model = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(question, session, env) {
|
|
36
|
+
var normalizedQuestion, out, _ref2, role, mode;
|
|
37
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
38
|
+
while (1) switch (_context.prev = _context.next) {
|
|
39
|
+
case 0:
|
|
40
|
+
normalizedQuestion = _objectSpread(_objectSpread({}, _defaults["default"]), question);
|
|
41
|
+
out = _objectSpread(_objectSpread({}, normalizedQuestion), {}, {
|
|
42
|
+
disabled: env.mode !== 'gather',
|
|
43
|
+
mode: env.mode
|
|
44
|
+
});
|
|
45
|
+
_ref2 = env || {}, role = _ref2.role, mode = _ref2.mode;
|
|
46
|
+
if (role === 'instructor' && (mode === 'view' || mode === 'evaluate')) {
|
|
47
|
+
out.teacherInstructions = normalizedQuestion.teacherInstructionsEnabled ? normalizedQuestion.teacherInstructions : null;
|
|
48
|
+
} else {
|
|
49
|
+
out.teacherInstructions = null;
|
|
50
|
+
}
|
|
51
|
+
return _context.abrupt("return", out);
|
|
52
|
+
case 5:
|
|
53
|
+
case "end":
|
|
54
|
+
return _context.stop();
|
|
55
|
+
}
|
|
56
|
+
}, _callee);
|
|
57
|
+
}));
|
|
58
|
+
return _model.apply(this, arguments);
|
|
59
|
+
}
|
|
60
|
+
function outcome(model, session) {
|
|
61
|
+
return new Promise(function (resolve) {
|
|
62
|
+
if (!session || (0, _isEmpty["default"])(session)) {
|
|
63
|
+
return resolve({
|
|
64
|
+
score: 0,
|
|
65
|
+
empty: true
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
var score = Object.keys(session.value).reduce(function (acc, key) {
|
|
69
|
+
var matrixValue = model.matrixValues[key];
|
|
70
|
+
return acc + (matrixValue || 0);
|
|
71
|
+
}, 0);
|
|
72
|
+
resolve({
|
|
73
|
+
score: score,
|
|
74
|
+
empty: false
|
|
75
|
+
});
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
var createCorrectResponseSession = function createCorrectResponseSession(question, env) {
|
|
79
|
+
return new Promise(function (resolve) {
|
|
80
|
+
if (env.mode !== 'evaluate' && env.role === 'instructor') {
|
|
81
|
+
var _ref = question || [],
|
|
82
|
+
matrixValues = _ref.matrixValues;
|
|
83
|
+
resolve({
|
|
84
|
+
id: '1',
|
|
85
|
+
value: matrixValues
|
|
86
|
+
});
|
|
87
|
+
} else {
|
|
88
|
+
resolve(null);
|
|
89
|
+
}
|
|
90
|
+
});
|
|
91
|
+
};
|
|
92
|
+
exports.createCorrectResponseSession = createCorrectResponseSession;
|
|
93
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["_defaults","_interopRequireDefault","require","_isEmpty","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty2","getOwnPropertyDescriptors","defineProperties","defineProperty","createDefaultModel","model","undefined","Promise","resolve","defaults","exports","_x","_x2","_x3","_model","_asyncToGenerator2","_regenerator","mark","_callee","question","session","env","normalizedQuestion","out","_ref2","role","mode","wrap","_callee$","_context","prev","next","disabled","teacherInstructions","teacherInstructionsEnabled","abrupt","stop","outcome","isEmpty","score","empty","value","reduce","acc","matrixValue","matrixValues","createCorrectResponseSession","_ref","id"],"sources":["../src/index.js"],"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"],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
10
|
+
var _styles = require("@material-ui/core/styles");
|
|
11
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
12
|
+
var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
|
|
13
|
+
var radioStyles = {
|
|
14
|
+
root: {
|
|
15
|
+
color: "var(--choice-input-color, ".concat(_renderUi.color.text(), ")")
|
|
16
|
+
},
|
|
17
|
+
checked: {
|
|
18
|
+
color: "var(--choice-input-selected-color, ".concat(_renderUi.color.text(), ")")
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
var ChoiceInput = (0, _styles.withStyles)(radioStyles)(function (props) {
|
|
22
|
+
var disabled = props.disabled,
|
|
23
|
+
checked = props.checked,
|
|
24
|
+
matrixKey = props.matrixKey,
|
|
25
|
+
matrixValue = props.matrixValue,
|
|
26
|
+
classes = props.classes,
|
|
27
|
+
onChange = props.onChange;
|
|
28
|
+
var onChangeWrapper = function onChangeWrapper() {
|
|
29
|
+
if (disabled) {
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
onChange({
|
|
33
|
+
matrixValue: matrixValue,
|
|
34
|
+
matrixKey: matrixKey
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
return /*#__PURE__*/_react["default"].createElement(_Radio["default"], {
|
|
38
|
+
checked: checked,
|
|
39
|
+
onChange: onChangeWrapper,
|
|
40
|
+
disabled: disabled,
|
|
41
|
+
classes: {
|
|
42
|
+
root: classes.root,
|
|
43
|
+
checked: classes.checked
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
ChoiceInput.propTypes = {
|
|
48
|
+
checked: _propTypes["default"].bool.isRequired,
|
|
49
|
+
disabled: _propTypes["default"].bool.isRequired,
|
|
50
|
+
matrixValue: _propTypes["default"].number.isRequired,
|
|
51
|
+
matrixKey: _propTypes["default"].string.isRequired,
|
|
52
|
+
classes: _propTypes["default"].object,
|
|
53
|
+
onChange: _propTypes["default"].func.isRequired
|
|
54
|
+
};
|
|
55
|
+
ChoiceInput.defaultProps = {
|
|
56
|
+
checked: false,
|
|
57
|
+
disabled: false
|
|
58
|
+
};
|
|
59
|
+
var _default = ChoiceInput;
|
|
60
|
+
exports["default"] = _default;
|
|
61
|
+
//# sourceMappingURL=ChoiceInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceInput.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_renderUi","_Radio","radioStyles","root","color","concat","text","checked","ChoiceInput","withStyles","props","disabled","matrixKey","matrixValue","classes","onChange","onChangeWrapper","createElement","propTypes","PropTypes","bool","isRequired","number","string","object","func","defaultProps","_default","exports"],"sources":["../src/ChoiceInput.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\n\nimport { color } from '@pie-lib/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"],"mappings":";;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AAEA,IAAAG,SAAA,GAAAH,OAAA;AACA,IAAAI,MAAA,GAAAL,sBAAA,CAAAC,OAAA;AAEA,IAAMK,WAAW,GAAG;EAClBC,IAAI,EAAE;IACJC,KAAK,+BAAAC,MAAA,CAA+BD,eAAK,CAACE,IAAI,CAAC,CAAC;EAClD,CAAC;EACDC,OAAO,EAAE;IACPH,KAAK,wCAAAC,MAAA,CAAwCD,eAAK,CAACE,IAAI,CAAC,CAAC;EAC3D;AACF,CAAC;AAED,IAAME,WAAW,GAAG,IAAAC,kBAAU,EAACP,WAAW,CAAC,CAAC,UAACQ,KAAK,EAAK;EACrD,IAAQC,QAAQ,GAAyDD,KAAK,CAAtEC,QAAQ;IAAEJ,OAAO,GAAgDG,KAAK,CAA5DH,OAAO;IAAEK,SAAS,GAAqCF,KAAK,CAAnDE,SAAS;IAAEC,WAAW,GAAwBH,KAAK,CAAxCG,WAAW;IAAEC,OAAO,GAAeJ,KAAK,CAA3BI,OAAO;IAAEC,QAAQ,GAAKL,KAAK,CAAlBK,QAAQ;EAEpE,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAA,EAAS;IAC5B,IAAIL,QAAQ,EAAE;MACZ;IACF;IACAI,QAAQ,CAAC;MACPF,WAAW,EAAXA,WAAW;MACXD,SAAS,EAATA;IACF,CAAC,CAAC;EACJ,CAAC;EAED,oBACEjB,MAAA,YAAAsB,aAAA,CAAChB,MAAA,WAAK;IACJM,OAAO,EAAEA,OAAQ;IACjBQ,QAAQ,EAAEC,eAAgB;IAC1BL,QAAQ,EAAEA,QAAS;IACnBG,OAAO,EAAE;MACPX,IAAI,EAAEW,OAAO,CAACX,IAAI;MAClBI,OAAO,EAAEO,OAAO,CAACP;IACnB;EAAE,CACH,CAAC;AAEN,CAAC,CAAC;AAEFC,WAAW,CAACU,SAAS,GAAG;EACtBX,OAAO,EAAEY,qBAAS,CAACC,IAAI,CAACC,UAAU;EAClCV,QAAQ,EAAEQ,qBAAS,CAACC,IAAI,CAACC,UAAU;EACnCR,WAAW,EAAEM,qBAAS,CAACG,MAAM,CAACD,UAAU;EACxCT,SAAS,EAAEO,qBAAS,CAACI,MAAM,CAACF,UAAU;EACtCP,OAAO,EAAEK,qBAAS,CAACK,MAAM;EACzBT,QAAQ,EAAEI,qBAAS,CAACM,IAAI,CAACJ;AAC3B,CAAC;AAEDb,WAAW,CAACkB,YAAY,GAAG;EACzBnB,OAAO,EAAE,KAAK;EACdI,QAAQ,EAAE;AACZ,CAAC;AAAC,IAAAgB,QAAA,GAEanB,WAAW;AAAAoB,OAAA,cAAAD,QAAA"}
|
package/lib/Main.js
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
9
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
10
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
11
|
+
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
12
|
+
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
13
|
+
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
14
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
15
|
+
var _react = _interopRequireDefault(require("react"));
|
|
16
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
17
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
18
|
+
var _Matrix = _interopRequireDefault(require("./Matrix"));
|
|
19
|
+
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); }; }
|
|
20
|
+
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; } }
|
|
21
|
+
var Main = /*#__PURE__*/function (_React$Component) {
|
|
22
|
+
(0, _inherits2["default"])(Main, _React$Component);
|
|
23
|
+
var _super = _createSuper(Main);
|
|
24
|
+
function Main() {
|
|
25
|
+
(0, _classCallCheck2["default"])(this, Main);
|
|
26
|
+
return _super.apply(this, arguments);
|
|
27
|
+
}
|
|
28
|
+
(0, _createClass2["default"])(Main, [{
|
|
29
|
+
key: "render",
|
|
30
|
+
value: function render() {
|
|
31
|
+
var _this$props = this.props,
|
|
32
|
+
model = _this$props.model,
|
|
33
|
+
onSessionChange = _this$props.onSessionChange,
|
|
34
|
+
session = _this$props.session;
|
|
35
|
+
return /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewLayout, null, /*#__PURE__*/_react["default"].createElement(_Matrix["default"], (0, _extends2["default"])({}, model, {
|
|
36
|
+
session: session,
|
|
37
|
+
onSessionChange: onSessionChange
|
|
38
|
+
})));
|
|
39
|
+
}
|
|
40
|
+
}]);
|
|
41
|
+
return Main;
|
|
42
|
+
}(_react["default"].Component);
|
|
43
|
+
(0, _defineProperty2["default"])(Main, "propTypes", {
|
|
44
|
+
model: _propTypes["default"].object,
|
|
45
|
+
session: _propTypes["default"].object,
|
|
46
|
+
onSessionChange: _propTypes["default"].func
|
|
47
|
+
});
|
|
48
|
+
(0, _defineProperty2["default"])(Main, "defaultProps", {
|
|
49
|
+
model: {},
|
|
50
|
+
session: {}
|
|
51
|
+
});
|
|
52
|
+
var _default = Main;
|
|
53
|
+
exports["default"] = _default;
|
|
54
|
+
//# sourceMappingURL=Main.js.map
|
package/lib/Main.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Main.js","names":["_react","_interopRequireDefault","require","_propTypes","_renderUi","_Matrix","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","Reflect","construct","arguments","apply","_possibleConstructorReturn2","sham","Proxy","Boolean","prototype","valueOf","call","e","Main","_React$Component","_inherits2","_super","_classCallCheck2","_createClass2","key","value","render","_this$props","props","model","onSessionChange","session","createElement","PreviewLayout","_extends2","React","Component","_defineProperty2","PropTypes","object","func","_default","exports"],"sources":["../src/Main.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { PreviewLayout } from '@pie-lib/render-ui';\nimport Matrix from './Matrix';\n\nclass Main extends React.Component {\n static propTypes = {\n model: PropTypes.object,\n session: PropTypes.object,\n onSessionChange: PropTypes.func,\n };\n\n static defaultProps = {\n model: {},\n session: {},\n };\n\n render() {\n const { model, onSessionChange, session } = this.props;\n return (\n <PreviewLayout>\n <Matrix {...model} session={session} onSessionChange={onSessionChange} />\n </PreviewLayout>\n );\n }\n}\n\nexport default Main;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAJ,sBAAA,CAAAC,OAAA;AAA8B,SAAAI,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,aAAAL,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,mBAAAG,WAAA,EAAAF,MAAA,GAAAG,OAAA,CAAAC,SAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAJ,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,mBAAAP,MAAA;AAAA,SAAAJ,0BAAA,eAAAO,OAAA,qBAAAA,OAAA,CAAAC,SAAA,oBAAAD,OAAA,CAAAC,SAAA,CAAAI,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,OAAA,CAAAC,SAAA,CAAAM,OAAA,8CAAAI,CAAA;AAAA,IAExBC,IAAI,0BAAAC,gBAAA;EAAA,IAAAC,UAAA,aAAAF,IAAA,EAAAC,gBAAA;EAAA,IAAAE,MAAA,GAAAzB,YAAA,CAAAsB,IAAA;EAAA,SAAAA,KAAA;IAAA,IAAAI,gBAAA,mBAAAJ,IAAA;IAAA,OAAAG,MAAA,CAAAZ,KAAA,OAAAD,SAAA;EAAA;EAAA,IAAAe,aAAA,aAAAL,IAAA;IAAAM,GAAA;IAAAC,KAAA,EAYR,SAAAC,OAAA,EAAS;MACP,IAAAC,WAAA,GAA4C,IAAI,CAACC,KAAK;QAA9CC,KAAK,GAAAF,WAAA,CAALE,KAAK;QAAEC,eAAe,GAAAH,WAAA,CAAfG,eAAe;QAAEC,OAAO,GAAAJ,WAAA,CAAPI,OAAO;MACvC,oBACEzC,MAAA,YAAA0C,aAAA,CAACtC,SAAA,CAAAuC,aAAa,qBACZ3C,MAAA,YAAA0C,aAAA,CAACrC,OAAA,WAAM,MAAAuC,SAAA,iBAAKL,KAAK;QAAEE,OAAO,EAAEA,OAAQ;QAACD,eAAe,EAAEA;MAAgB,EAAE,CAC3D,CAAC;IAEpB;EAAC;EAAA,OAAAZ,IAAA;AAAA,EAnBgBiB,iBAAK,CAACC,SAAS;AAAA,IAAAC,gBAAA,aAA5BnB,IAAI,eACW;EACjBW,KAAK,EAAES,qBAAS,CAACC,MAAM;EACvBR,OAAO,EAAEO,qBAAS,CAACC,MAAM;EACzBT,eAAe,EAAEQ,qBAAS,CAACE;AAC7B,CAAC;AAAA,IAAAH,gBAAA,aALGnB,IAAI,kBAOc;EACpBW,KAAK,EAAE,CAAC,CAAC;EACTE,OAAO,EAAE,CAAC;AACZ,CAAC;AAAA,IAAAU,QAAA,GAYYvB,IAAI;AAAAwB,OAAA,cAAAD,QAAA"}
|
package/lib/Matrix.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports["default"] = void 0;
|
|
8
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
9
|
+
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
10
|
+
var _react = _interopRequireDefault(require("react"));
|
|
11
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
12
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
13
|
+
var _ChoiceInput = _interopRequireDefault(require("./ChoiceInput"));
|
|
14
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
15
|
+
var _templateObject, _templateObject2, _templateObject3;
|
|
16
|
+
var MatrixWrapper = _styledComponents["default"].div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2["default"])(["\n font-family: Roboto, Arial, Helvetica, sans-serif;\n"])));
|
|
17
|
+
var MatrixGridWrapper = _styledComponents["default"].div(_templateObject2 || (_templateObject2 = (0, _taggedTemplateLiteral2["default"])(["\n display: grid;\n grid-template-columns: ", ";\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 40px;\n"])), function (props) {
|
|
18
|
+
return props.gridTemplateColumns;
|
|
19
|
+
});
|
|
20
|
+
var MatrixGridItem = _styledComponents["default"].div(_templateObject3 || (_templateObject3 = (0, _taggedTemplateLiteral2["default"])(["\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n"])));
|
|
21
|
+
var Matrix = function Matrix(props) {
|
|
22
|
+
var disabled = props.disabled,
|
|
23
|
+
prompt = props.prompt,
|
|
24
|
+
onSessionChange = props.onSessionChange,
|
|
25
|
+
columnLabels = props.columnLabels,
|
|
26
|
+
matrixValues = props.matrixValues,
|
|
27
|
+
rowLabels = props.rowLabels,
|
|
28
|
+
session = props.session,
|
|
29
|
+
teacherInstructions = props.teacherInstructions;
|
|
30
|
+
var gridMatrixItems = [];
|
|
31
|
+
for (var rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {
|
|
32
|
+
for (var columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {
|
|
33
|
+
var gridMatrixItem = void 0;
|
|
34
|
+
if (rowIndex === 0 && columnIndex === 0) {
|
|
35
|
+
gridMatrixItem = null;
|
|
36
|
+
} else if (rowIndex === 0) {
|
|
37
|
+
gridMatrixItem = columnLabels[columnIndex - 1];
|
|
38
|
+
} else if (columnIndex === 0) {
|
|
39
|
+
gridMatrixItem = rowLabels[rowIndex - 1];
|
|
40
|
+
} else {
|
|
41
|
+
var matrixKey = "".concat(rowIndex - 1, "-").concat(columnIndex - 1);
|
|
42
|
+
var matrixValue = matrixValues[matrixKey];
|
|
43
|
+
gridMatrixItem = /*#__PURE__*/_react["default"].createElement(_ChoiceInput["default"], {
|
|
44
|
+
matrixKey: matrixKey,
|
|
45
|
+
matrixValue: matrixValue || 0,
|
|
46
|
+
disabled: disabled,
|
|
47
|
+
onChange: onSessionChange,
|
|
48
|
+
checked: session.value && session.value.hasOwnProperty(matrixKey)
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
gridMatrixItems.push(gridMatrixItem);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
var gridTemplateColumns = [].concat((0, _toConsumableArray2["default"])(columnLabels), [{}]).map(function () {
|
|
55
|
+
return 'min-content';
|
|
56
|
+
}).join(' ');
|
|
57
|
+
return /*#__PURE__*/_react["default"].createElement(MatrixWrapper, null, teacherInstructions && /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_renderUi.Collapsible, {
|
|
58
|
+
labels: {
|
|
59
|
+
hidden: 'Show Teacher Instructions',
|
|
60
|
+
visible: 'Hide Teacher Instructions'
|
|
61
|
+
}
|
|
62
|
+
}, /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
63
|
+
prompt: teacherInstructions
|
|
64
|
+
})), /*#__PURE__*/_react["default"].createElement("br", null)), /*#__PURE__*/_react["default"].createElement(_renderUi.PreviewPrompt, {
|
|
65
|
+
className: "prompt",
|
|
66
|
+
prompt: prompt
|
|
67
|
+
}), /*#__PURE__*/_react["default"].createElement(MatrixGridWrapper, {
|
|
68
|
+
gridTemplateColumns: gridTemplateColumns
|
|
69
|
+
}, gridMatrixItems.map(function (gridMatrixItem, gridMatrixIndex) {
|
|
70
|
+
return /*#__PURE__*/_react["default"].createElement(MatrixGridItem, {
|
|
71
|
+
key: "".concat(gridMatrixIndex)
|
|
72
|
+
}, gridMatrixItem);
|
|
73
|
+
})));
|
|
74
|
+
};
|
|
75
|
+
Matrix.propTypes = {
|
|
76
|
+
prompt: _propTypes["default"].string,
|
|
77
|
+
teacherInstructions: _propTypes["default"].string,
|
|
78
|
+
session: _propTypes["default"].object,
|
|
79
|
+
matrixValues: _propTypes["default"].object,
|
|
80
|
+
rowLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
81
|
+
columnLabels: _propTypes["default"].arrayOf(_propTypes["default"].string),
|
|
82
|
+
disabled: _propTypes["default"].bool.isRequired,
|
|
83
|
+
onSessionChange: _propTypes["default"].func.isRequired
|
|
84
|
+
};
|
|
85
|
+
Matrix.defaultProps = {
|
|
86
|
+
session: {
|
|
87
|
+
value: {}
|
|
88
|
+
}
|
|
89
|
+
};
|
|
90
|
+
var _default = Matrix;
|
|
91
|
+
exports["default"] = _default;
|
|
92
|
+
//# sourceMappingURL=Matrix.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Matrix.js","names":["_react","_interopRequireDefault","require","_propTypes","_styledComponents","_ChoiceInput","_renderUi","_templateObject","_templateObject2","_templateObject3","MatrixWrapper","styled","div","_taggedTemplateLiteral2","MatrixGridWrapper","props","gridTemplateColumns","MatrixGridItem","Matrix","disabled","prompt","onSessionChange","columnLabels","matrixValues","rowLabels","session","teacherInstructions","gridMatrixItems","rowIndex","length","columnIndex","gridMatrixItem","matrixKey","concat","matrixValue","createElement","onChange","checked","value","hasOwnProperty","push","_toConsumableArray2","map","join","Fragment","Collapsible","labels","hidden","visible","PreviewPrompt","className","gridMatrixIndex","key","propTypes","PropTypes","string","object","arrayOf","bool","isRequired","func","defaultProps","_default","exports"],"sources":["../src/Matrix.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport styled from 'styled-components';\n\nimport ChoiceInput from './ChoiceInput';\nimport { Collapsible, PreviewPrompt } from '@pie-lib/render-ui';\n\nconst MatrixWrapper = styled.div`\n font-family: Roboto, Arial, Helvetica, sans-serif;\n`;\n\nconst MatrixGridWrapper = styled.div`\n display: grid;\n grid-template-columns: ${(props) => props.gridTemplateColumns};\n grid-column-gap: 30px;\n grid-row-gap: 20px;\n margin-top: 40px;\n`;\n\nconst MatrixGridItem = styled.div`\n align-self: center;\n justify-self: center;\n white-space: nowrap;\n`;\n\nconst Matrix = (props) => {\n const { disabled, prompt, onSessionChange, columnLabels, matrixValues, rowLabels, session, teacherInstructions } =\n props;\n\n const gridMatrixItems = [];\n\n for (let rowIndex = 0; rowIndex < rowLabels.length + 1; rowIndex++) {\n for (let columnIndex = 0; columnIndex < columnLabels.length + 1; columnIndex++) {\n let gridMatrixItem;\n if (rowIndex === 0 && columnIndex === 0) {\n gridMatrixItem = null;\n } else if (rowIndex === 0) {\n gridMatrixItem = columnLabels[columnIndex - 1];\n } else if (columnIndex === 0) {\n gridMatrixItem = rowLabels[rowIndex - 1];\n } else {\n const matrixKey = `${rowIndex - 1}-${columnIndex - 1}`;\n const matrixValue = matrixValues[matrixKey];\n gridMatrixItem = (\n <ChoiceInput\n matrixKey={matrixKey}\n matrixValue={matrixValue || 0}\n disabled={disabled}\n onChange={onSessionChange}\n checked={session.value && session.value.hasOwnProperty(matrixKey)}\n />\n );\n }\n gridMatrixItems.push(gridMatrixItem);\n }\n }\n const gridTemplateColumns = [...columnLabels, {}].map(() => 'min-content').join(' ');\n\n return (\n <MatrixWrapper>\n {teacherInstructions && (\n <React.Fragment>\n <Collapsible\n labels={{\n hidden: 'Show Teacher Instructions',\n visible: 'Hide Teacher Instructions',\n }}\n >\n <PreviewPrompt prompt={teacherInstructions} />\n </Collapsible>\n <br />\n </React.Fragment>\n )}\n <PreviewPrompt className=\"prompt\" prompt={prompt} />\n <MatrixGridWrapper gridTemplateColumns={gridTemplateColumns}>\n {gridMatrixItems.map((gridMatrixItem, gridMatrixIndex) => {\n return <MatrixGridItem key={`${gridMatrixIndex}`}>{gridMatrixItem}</MatrixGridItem>;\n })}\n </MatrixGridWrapper>\n </MatrixWrapper>\n );\n};\n\nMatrix.propTypes = {\n prompt: PropTypes.string,\n teacherInstructions: PropTypes.string,\n session: PropTypes.object,\n matrixValues: PropTypes.object,\n rowLabels: PropTypes.arrayOf(PropTypes.string),\n columnLabels: PropTypes.arrayOf(PropTypes.string),\n disabled: PropTypes.bool.isRequired,\n onSessionChange: PropTypes.func.isRequired,\n};\n\nMatrix.defaultProps = {\n session: {\n value: {},\n },\n};\n\nexport default Matrix;\n"],"mappings":"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"}
|