@pie-element/match 4.6.0 → 4.6.1-beta.587
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 +508 -0
- package/configure/CHANGELOG.md +465 -0
- package/configure/lib/add-row.js +1 -1
- package/configure/lib/add-row.js.map +1 -1
- package/configure/lib/answer-config-block.js +151 -51
- package/configure/lib/answer-config-block.js.map +1 -1
- package/configure/lib/common.js +46 -0
- package/configure/lib/common.js.map +1 -0
- package/configure/lib/configure.js +98 -36
- package/configure/lib/configure.js.map +1 -1
- package/configure/lib/defaults.js +31 -2
- package/configure/lib/defaults.js.map +1 -1
- package/configure/lib/general-config-block.js +86 -33
- package/configure/lib/general-config-block.js.map +1 -1
- package/configure/lib/index.js +18 -4
- package/configure/lib/index.js.map +1 -1
- package/configure/lib/row.js +122 -34
- package/configure/lib/row.js.map +1 -1
- package/configure/package.json +7 -7
- package/configure/utils.js +12 -0
- package/controller/CHANGELOG.md +103 -0
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +159 -16
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +3 -3
- package/docs/config-schema.json +153 -0
- package/docs/config-schema.json.md +117 -1
- package/docs/demo/config.js +2 -2
- package/docs/demo/generate.js +11 -9
- package/docs/pie-schema.json +48 -0
- package/docs/pie-schema.json.md +39 -0
- package/lib/answer-grid.js +12 -12
- package/lib/answer-grid.js.map +1 -1
- package/lib/index.js +7 -2
- package/lib/index.js.map +1 -1
- package/lib/main.js +16 -20
- package/lib/main.js.map +1 -1
- package/package.json +6 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/general-config-block.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","display","input","flex","inputContainer","width","GeneralConfigBlock","name","event","props","model","
|
|
1
|
+
{"version":3,"sources":["../src/general-config-block.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","display","input","flex","numberTextField","flexDirection","inputContainer","width","flexContainer","alignItems","titleText","fontFamily","fontSize","typography","lineHeight","color","marginRight","tooltip","whiteSpace","maxWidth","GeneralConfigBlock","name","event","props","model","onResponseTypeChange","newModel","target","value","onLayoutChange","classes","configuration","layout","choiceMode","validationMessage","settings","label","e","v","onChangeColumns","onChangeResponseType","React","Component","PropTypes","object","isRequired","func"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport { InputContainer, NumberTextField } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport Select from '@material-ui/core/Select';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport Info from '@material-ui/icons/Info';\nimport Tooltip from '@material-ui/core/Tooltip';\n\nimport { generateValidationMessage } from '../utils';\n\nconst styles = (theme) => ({\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n },\n input: {\n flex: 1,\n },\n numberTextField: {\n flexDirection: 'unset',\n },\n inputContainer: {\n width: '65%',\n },\n flexContainer: {\n display: 'flex',\n alignItems: 'center',\n marginTop: theme.spacing.unit,\n },\n titleText: {\n fontFamily: 'Cerebri Sans',\n fontSize: theme.typography.fontSize + 2,\n lineHeight: '19px',\n color: '#495B8F',\n marginRight: theme.spacing.unit,\n },\n tooltip: {\n fontSize: theme.typography.fontSize - 2,\n whiteSpace: 'pre',\n maxWidth: '500px',\n },\n});\n\nclass GeneralConfigBlock extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n onResponseTypeChange: PropTypes.func.isRequired,\n onLayoutChange: PropTypes.func.isRequired,\n };\n\n onChangeResponseType = (name) => (event) => {\n const { model, onResponseTypeChange } = this.props;\n const newModel = { ...model };\n\n newModel[name] = event.target.value;\n\n onResponseTypeChange(newModel[name]);\n };\n\n onChangeColumns = (name, value) => {\n const { model, onLayoutChange } = this.props;\n const newModel = { ...model };\n\n newModel[name] = value;\n\n onLayoutChange(newModel[name]);\n };\n\n render() {\n const { classes, model, configuration } = this.props;\n const { layout = {}, choiceMode = {} } = configuration || {};\n\n const validationMessage = generateValidationMessage(model);\n\n return (\n <>\n <div className={classes.flexContainer}>\n <Typography className={classes.titleText}>Define questions</Typography>\n <Tooltip\n classes={{ tooltip: classes.tooltip }}\n disableFocusListener\n disableTouchListener\n placement={'right'}\n title={validationMessage}\n >\n <Info fontSize={'small'} color={'primary'} />\n </Tooltip>\n </div>\n\n <div className={classes.container}>\n <div className={classes.input}>\n {layout.settings && (\n <InputContainer label={layout.label} className={classes.inputContainer}>\n <NumberTextField\n type=\"number\"\n min={3}\n max={10}\n value={model.layout}\n onChange={(e, v) => this.onChangeColumns('layout', v)}\n suffix={'Columns'}\n className={classes.numberTextField}\n />\n </InputContainer>\n )}\n </div>\n\n <div className={classes.input}>\n {choiceMode.settings && (\n <InputContainer label={choiceMode.label} className={classes.inputContainer}>\n <Select onChange={this.onChangeResponseType('choiceMode')} value={model.choiceMode}>\n <MenuItem value=\"radio\">Radio - One Answer</MenuItem>\n <MenuItem value=\"checkbox\">Checkbox - Multiple Answers</MenuItem>\n </Select>\n </InputContainer>\n )}\n </div>\n </div>\n </>\n );\n }\n}\n\nexport default withStyles(styles)(GeneralConfigBlock);\n"],"file":"general-config-block.js"}
|
package/configure/lib/index.js
CHANGED
|
@@ -33,13 +33,13 @@ var _debug = _interopRequireDefault(require("debug"));
|
|
|
33
33
|
|
|
34
34
|
var _defaults = _interopRequireDefault(require("./defaults"));
|
|
35
35
|
|
|
36
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object);
|
|
36
|
+
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; }
|
|
37
37
|
|
|
38
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]
|
|
38
|
+
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; }
|
|
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:configure');
|
|
45
45
|
|
|
@@ -80,7 +80,7 @@ var MatchConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
|
80
80
|
|
|
81
81
|
this._render();
|
|
82
82
|
|
|
83
|
-
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model
|
|
83
|
+
this.dispatchEvent(new _pieConfigureEvents.ModelUpdatedEvent(this._model));
|
|
84
84
|
}
|
|
85
85
|
}, {
|
|
86
86
|
key: "onConfigurationChanged",
|
|
@@ -104,6 +104,16 @@ var MatchConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
|
104
104
|
value: function onDeleteImage(src, done) {
|
|
105
105
|
this.dispatchEvent(new _pieConfigureEvents.DeleteImageEvent(src, done));
|
|
106
106
|
}
|
|
107
|
+
}, {
|
|
108
|
+
key: "insertSound",
|
|
109
|
+
value: function insertSound(handler) {
|
|
110
|
+
this.dispatchEvent(new _pieConfigureEvents.InsertSoundEvent(handler));
|
|
111
|
+
}
|
|
112
|
+
}, {
|
|
113
|
+
key: "onDeleteSound",
|
|
114
|
+
value: function onDeleteSound(src, done) {
|
|
115
|
+
this.dispatchEvent(new _pieConfigureEvents.DeleteSoundEvent(src, done));
|
|
116
|
+
}
|
|
107
117
|
}, {
|
|
108
118
|
key: "_render",
|
|
109
119
|
value: function _render() {
|
|
@@ -116,6 +126,10 @@ var MatchConfigure = /*#__PURE__*/function (_HTMLElement) {
|
|
|
116
126
|
imageSupport: {
|
|
117
127
|
add: this.insertImage.bind(this),
|
|
118
128
|
"delete": this.onDeleteImage.bind(this)
|
|
129
|
+
},
|
|
130
|
+
uploadSoundSupport: {
|
|
131
|
+
add: this.insertSound.bind(this),
|
|
132
|
+
"delete": this.onDeleteSound.bind(this)
|
|
119
133
|
}
|
|
120
134
|
});
|
|
121
135
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.js"],"names":["log","MatchConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","_render","c","model","dispatchEvent","ModelUpdatedEvent","config","handler","InsertImageEvent","src","done","DeleteImageEvent","el","React","createElement","Configure","onModelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;
|
|
1
|
+
{"version":3,"sources":["../src/index.js"],"names":["log","MatchConfigure","_model","createDefaultModel","_configuration","defaultValues","configuration","m","_render","c","model","dispatchEvent","ModelUpdatedEvent","config","handler","InsertImageEvent","src","done","DeleteImageEvent","InsertSoundEvent","DeleteSoundEvent","el","React","createElement","Configure","onModelChanged","bind","onConfigurationChanged","imageSupport","add","insertImage","onDeleteImage","uploadSoundSupport","insertSound","onDeleteSound","ReactDOM","render","HTMLElement"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AAOA;;AACA;;;;;;;;;;AAEA,IAAMA,GAAG,GAAG,uBAAM,8BAAN,CAAZ;;IAEqBC,c;;;;;AAMnB,4BAAc;AAAA;;AAAA;AACZ;AACA,UAAKC,MAAL,GAAcD,cAAc,CAACE,kBAAf,EAAd;AACA,UAAKC,cAAL,GAAsBC,qBAAcC,aAApC;AAHY;AAIb;;;;SAED,aAAUC,CAAV,EAAa;AACX,WAAKL,MAAL,GAAcD,cAAc,CAACE,kBAAf,CAAkCI,CAAlC,CAAd;;AACA,WAAKC,OAAL;AACD;;;SAED,aAAkBC,CAAlB,EAAqB;AACnB,WAAKL,cAAL,GAAsBK,CAAtB;;AACA,WAAKD,OAAL;AACD;;;WAED,wBAAeE,KAAf,EAAsB;AACpB,WAAKR,MAAL,GAAcQ,KAAd;AACAV,MAAAA,GAAG,CAAC,oBAAD,EAAuB,KAAKE,MAA5B,CAAH;;AACA,WAAKM,OAAL;;AACA,WAAKG,aAAL,CAAmB,IAAIC,qCAAJ,CAAsB,KAAKV,MAA3B,CAAnB;AACD;;;WAED,gCAAuBW,MAAvB,EAA+B;AAC7B,WAAKT,cAAL,GAAsBS,MAAtB;;AACA,WAAKL,OAAL;AACD;AAED;AACF;AACA;AACA;;;;WACE,qBAAYM,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAII,oCAAJ,CAAqBD,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIO,oCAAJ,CAAqBF,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,qBAAYH,OAAZ,EAAqB;AACnB,WAAKH,aAAL,CAAmB,IAAIQ,oCAAJ,CAAqBL,OAArB,CAAnB;AACD;;;WAED,uBAAcE,GAAd,EAAmBC,IAAnB,EAAyB;AACvB,WAAKN,aAAL,CAAmB,IAAIS,oCAAJ,CAAqBJ,GAArB,EAA0BC,IAA1B,CAAnB;AACD;;;WAED,mBAAU;AACR,UAAI,KAAKf,MAAT,EAAiB;AACf,YAAMmB,EAAE,gBAAGC,kBAAMC,aAAN,CAAoBC,qBAApB,EAA+B;AACxCC,UAAAA,cAAc,EAAE,KAAKA,cAAL,CAAoBC,IAApB,CAAyB,IAAzB,CADwB;AAExCC,UAAAA,sBAAsB,EAAE,KAAKA,sBAAL,CAA4BD,IAA5B,CAAiC,IAAjC,CAFgB;AAGxChB,UAAAA,KAAK,EAAE,KAAKR,MAH4B;AAIxCI,UAAAA,aAAa,EAAE,KAAKF,cAJoB;AAKxCwB,UAAAA,YAAY,EAAE;AACZC,YAAAA,GAAG,EAAE,KAAKC,WAAL,CAAiBJ,IAAjB,CAAsB,IAAtB,CADO;AAEZ,sBAAQ,KAAKK,aAAL,CAAmBL,IAAnB,CAAwB,IAAxB;AAFI,WAL0B;AASxCM,UAAAA,kBAAkB,EAAE;AAClBH,YAAAA,GAAG,EAAE,KAAKI,WAAL,CAAiBP,IAAjB,CAAsB,IAAtB,CADa;AAElB,sBAAQ,KAAKQ,aAAL,CAAmBR,IAAnB,CAAwB,IAAxB;AAFU;AAToB,SAA/B,CAAX;;AAcAS,6BAASC,MAAT,CAAgBf,EAAhB,EAAoB,IAApB;AACD;AACF;;;kDAxEyCgB,W;;;iCAAvBpC,c,wBACS;AAAA,MAACS,KAAD,uEAAS,EAAT;AAAA,yCACvBL,qBAAcK,KADS,GAEvBA,KAFuB;AAAA,C","sourcesContent":["import React from 'react';\nimport ReactDOM from 'react-dom';\nimport Configure from './configure';\nimport {\n ModelUpdatedEvent,\n DeleteImageEvent,\n InsertImageEvent,\n InsertSoundEvent,\n DeleteSoundEvent,\n} from '@pie-framework/pie-configure-events';\nimport debug from 'debug';\nimport defaultValues from './defaults';\n\nconst log = debug('pie-elements:match:configure');\n\nexport default class MatchConfigure extends HTMLElement {\n static createDefaultModel = (model = {}) => ({\n ...defaultValues.model,\n ...model,\n });\n\n constructor() {\n super();\n this._model = MatchConfigure.createDefaultModel();\n this._configuration = defaultValues.configuration;\n }\n\n set model(m) {\n this._model = MatchConfigure.createDefaultModel(m);\n this._render();\n }\n\n set configuration(c) {\n this._configuration = c;\n this._render();\n }\n\n onModelChanged(model) {\n this._model = model;\n log('[onModelChanged]: ', this._model);\n this._render();\n this.dispatchEvent(new ModelUpdatedEvent(this._model));\n }\n\n onConfigurationChanged(config) {\n this._configuration = config;\n this._render();\n }\n\n /**\n *\n * @param {done, progress, file} handler\n */\n insertImage(handler) {\n this.dispatchEvent(new InsertImageEvent(handler));\n }\n\n onDeleteImage(src, done) {\n this.dispatchEvent(new DeleteImageEvent(src, done));\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 if (this._model) {\n const el = React.createElement(Configure, {\n onModelChanged: this.onModelChanged.bind(this),\n onConfigurationChanged: this.onConfigurationChanged.bind(this),\n model: this._model,\n configuration: this._configuration,\n imageSupport: {\n add: this.insertImage.bind(this),\n delete: this.onDeleteImage.bind(this),\n },\n uploadSoundSupport: {\n add: this.insertSound.bind(this),\n delete: this.onDeleteSound.bind(this),\n },\n });\n ReactDOM.render(el, this);\n }\n }\n}\n"],"file":"index.js"}
|
package/configure/lib/row.js
CHANGED
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
+
|
|
5
7
|
Object.defineProperty(exports, "__esModule", {
|
|
6
8
|
value: true
|
|
7
9
|
});
|
|
8
|
-
exports["default"] = exports.choiceTarget = exports.choiceSource = exports.
|
|
10
|
+
exports["default"] = exports.choiceTarget = exports.choiceSource = exports.canDrag = exports.Row = void 0;
|
|
9
11
|
|
|
10
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
11
13
|
|
|
@@ -35,7 +37,7 @@ var _DragHandle = _interopRequireDefault(require("@material-ui/icons/DragHandle"
|
|
|
35
37
|
|
|
36
38
|
var _Radio = _interopRequireDefault(require("@material-ui/core/Radio"));
|
|
37
39
|
|
|
38
|
-
var
|
|
40
|
+
var _IconButton = _interopRequireDefault(require("@material-ui/core/IconButton"));
|
|
39
41
|
|
|
40
42
|
var _Delete = _interopRequireDefault(require("@material-ui/icons/Delete"));
|
|
41
43
|
|
|
@@ -43,15 +45,19 @@ var _reactDnd = require("react-dnd");
|
|
|
43
45
|
|
|
44
46
|
var _debug = _interopRequireDefault(require("debug"));
|
|
45
47
|
|
|
46
|
-
var _editableHtml =
|
|
48
|
+
var _editableHtml = _interopRequireWildcard(require("@pie-lib/editable-html"));
|
|
49
|
+
|
|
50
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
47
51
|
|
|
48
|
-
function
|
|
52
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
49
53
|
|
|
50
|
-
function
|
|
54
|
+
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; }
|
|
55
|
+
|
|
56
|
+
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; }
|
|
51
57
|
|
|
52
58
|
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); }; }
|
|
53
59
|
|
|
54
|
-
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try {
|
|
60
|
+
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; } }
|
|
55
61
|
|
|
56
62
|
var log = (0, _debug["default"])('@pie-element:categorize:configure:choice');
|
|
57
63
|
var _canDrag = false;
|
|
@@ -72,6 +78,12 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
72
78
|
}
|
|
73
79
|
|
|
74
80
|
_this = _super.call.apply(_super, [this].concat(args));
|
|
81
|
+
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
|
|
82
|
+
dialog: {
|
|
83
|
+
open: false,
|
|
84
|
+
text: ''
|
|
85
|
+
}
|
|
86
|
+
});
|
|
75
87
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRowTitleChange", function (rowIndex) {
|
|
76
88
|
return function (value) {
|
|
77
89
|
var _this$props = _this.props,
|
|
@@ -104,7 +116,20 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
104
116
|
});
|
|
105
117
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onDeleteRow", function (idx) {
|
|
106
118
|
return function () {
|
|
107
|
-
_this.props
|
|
119
|
+
var _this$props3 = _this.props,
|
|
120
|
+
model = _this$props3.model,
|
|
121
|
+
onDeleteRow = _this$props3.onDeleteRow;
|
|
122
|
+
|
|
123
|
+
if (model.rows && model.rows.length === 1) {
|
|
124
|
+
_this.setState({
|
|
125
|
+
dialog: {
|
|
126
|
+
open: true,
|
|
127
|
+
text: 'There has to be at least one question row.'
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
} else {
|
|
131
|
+
onDeleteRow(idx);
|
|
132
|
+
}
|
|
108
133
|
};
|
|
109
134
|
});
|
|
110
135
|
(0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onMouseDownOnHandle", function () {
|
|
@@ -126,21 +151,43 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
126
151
|
value: function render() {
|
|
127
152
|
var _this2 = this;
|
|
128
153
|
|
|
129
|
-
var _this$
|
|
130
|
-
classes = _this$
|
|
131
|
-
imageSupport = _this$
|
|
132
|
-
connectDragSource = _this$
|
|
133
|
-
connectDropTarget = _this$
|
|
134
|
-
isDragging = _this$
|
|
135
|
-
model = _this$
|
|
136
|
-
row = _this$
|
|
137
|
-
idx = _this$
|
|
138
|
-
enableImages = _this$
|
|
154
|
+
var _this$props4 = this.props,
|
|
155
|
+
classes = _this$props4.classes,
|
|
156
|
+
imageSupport = _this$props4.imageSupport,
|
|
157
|
+
connectDragSource = _this$props4.connectDragSource,
|
|
158
|
+
connectDropTarget = _this$props4.connectDropTarget,
|
|
159
|
+
isDragging = _this$props4.isDragging,
|
|
160
|
+
model = _this$props4.model,
|
|
161
|
+
row = _this$props4.row,
|
|
162
|
+
idx = _this$props4.idx,
|
|
163
|
+
enableImages = _this$props4.enableImages,
|
|
164
|
+
toolbarOpts = _this$props4.toolbarOpts,
|
|
165
|
+
spellCheck = _this$props4.spellCheck,
|
|
166
|
+
error = _this$props4.error,
|
|
167
|
+
maxImageWidth = _this$props4.maxImageWidth,
|
|
168
|
+
maxImageHeight = _this$props4.maxImageHeight,
|
|
169
|
+
uploadSoundSupport = _this$props4.uploadSoundSupport;
|
|
170
|
+
var dialog = this.state.dialog;
|
|
139
171
|
var opacity = isDragging ? 0 : 1;
|
|
172
|
+
var rowPlugins = {
|
|
173
|
+
image: {
|
|
174
|
+
disabled: !enableImages
|
|
175
|
+
},
|
|
176
|
+
audio: {
|
|
177
|
+
disabled: true
|
|
178
|
+
},
|
|
179
|
+
video: {
|
|
180
|
+
disabled: true
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
var filteredDefaultPlugins = (_editableHtml.DEFAULT_PLUGINS || []).filter(function (p) {
|
|
184
|
+
return p !== 'bulleted-list' && p !== 'numbered-list';
|
|
185
|
+
});
|
|
140
186
|
|
|
141
187
|
var content = /*#__PURE__*/_react["default"].createElement("div", {
|
|
142
188
|
style: {
|
|
143
|
-
opacity: opacity
|
|
189
|
+
opacity: opacity,
|
|
190
|
+
width: 'fit-content'
|
|
144
191
|
}
|
|
145
192
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
146
193
|
itemID: 'handle',
|
|
@@ -160,11 +207,19 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
160
207
|
markup: row.title,
|
|
161
208
|
onChange: this.onRowTitleChange(idx),
|
|
162
209
|
className: classes.editor,
|
|
163
|
-
pluginProps:
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
210
|
+
pluginProps: rowPlugins,
|
|
211
|
+
toolbarOpts: toolbarOpts,
|
|
212
|
+
activePlugins: filteredDefaultPlugins,
|
|
213
|
+
spellCheck: spellCheck,
|
|
214
|
+
maxImageWidth: maxImageWidth,
|
|
215
|
+
maxImageHeight: maxImageHeight,
|
|
216
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
217
|
+
languageCharactersProps: [{
|
|
218
|
+
language: 'spanish'
|
|
219
|
+
}, {
|
|
220
|
+
language: 'special'
|
|
221
|
+
}],
|
|
222
|
+
error: error && error !== 'No correct response defined.'
|
|
168
223
|
})), row.values.map(function (rowValue, rowIdx) {
|
|
169
224
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
170
225
|
key: rowIdx,
|
|
@@ -179,12 +234,24 @@ var Row = /*#__PURE__*/function (_React$Component) {
|
|
|
179
234
|
}));
|
|
180
235
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
181
236
|
className: classes.deleteIcon
|
|
182
|
-
}, /*#__PURE__*/_react["default"].createElement(
|
|
183
|
-
onClick: this.onDeleteRow(idx)
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
237
|
+
}, /*#__PURE__*/_react["default"].createElement(_IconButton["default"], {
|
|
238
|
+
onClick: this.onDeleteRow(idx),
|
|
239
|
+
"aria-label": "Delete"
|
|
240
|
+
}, /*#__PURE__*/_react["default"].createElement(_Delete["default"], null)))), error && /*#__PURE__*/_react["default"].createElement("div", {
|
|
241
|
+
className: classes.errorText
|
|
242
|
+
}, error), /*#__PURE__*/_react["default"].createElement("hr", {
|
|
187
243
|
className: classes.separator
|
|
244
|
+
}), /*#__PURE__*/_react["default"].createElement(_configUi.AlertDialog, {
|
|
245
|
+
open: dialog.open,
|
|
246
|
+
title: "Warning",
|
|
247
|
+
text: dialog.text,
|
|
248
|
+
onConfirm: function onConfirm() {
|
|
249
|
+
return _this2.setState({
|
|
250
|
+
dialog: {
|
|
251
|
+
open: false
|
|
252
|
+
}
|
|
253
|
+
});
|
|
254
|
+
}
|
|
188
255
|
}));
|
|
189
256
|
|
|
190
257
|
return connectDragSource(connectDropTarget(content));
|
|
@@ -209,7 +276,13 @@ exports.Row = Row;
|
|
|
209
276
|
add: _propTypes["default"].func.isRequired,
|
|
210
277
|
"delete": _propTypes["default"].func.isRequired
|
|
211
278
|
}),
|
|
212
|
-
|
|
279
|
+
uploadSoundSupport: _propTypes["default"].shape({
|
|
280
|
+
add: _propTypes["default"].func.isRequired,
|
|
281
|
+
"delete": _propTypes["default"].func.isRequired
|
|
282
|
+
}),
|
|
283
|
+
enableImages: _propTypes["default"].bool,
|
|
284
|
+
toolbarOpts: _propTypes["default"].object,
|
|
285
|
+
error: _propTypes["default"].string
|
|
213
286
|
});
|
|
214
287
|
(0, _defineProperty2["default"])(Row, "defaultProps", {});
|
|
215
288
|
|
|
@@ -244,24 +317,39 @@ var styles = function styles(theme) {
|
|
|
244
317
|
flex: 1,
|
|
245
318
|
display: 'flex',
|
|
246
319
|
justifyContent: 'center',
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
}
|
|
320
|
+
minWidth: '150px',
|
|
321
|
+
padding: "0 ".concat(theme.spacing.unit, "px")
|
|
250
322
|
},
|
|
251
323
|
deleteIcon: {
|
|
252
324
|
flex: 0.5,
|
|
253
|
-
|
|
325
|
+
display: 'flex',
|
|
326
|
+
justifyContent: 'center',
|
|
327
|
+
minWidth: '48px',
|
|
328
|
+
padding: "0 ".concat(theme.spacing.unit, "px")
|
|
254
329
|
},
|
|
255
330
|
questionText: {
|
|
256
331
|
flex: 2,
|
|
257
332
|
display: 'flex',
|
|
258
|
-
justifyContent: 'flex-start'
|
|
333
|
+
justifyContent: 'flex-start',
|
|
334
|
+
padding: 0,
|
|
335
|
+
maxWidth: 'unset',
|
|
336
|
+
textAlign: 'left',
|
|
337
|
+
minWidth: '350px',
|
|
338
|
+
marginRight: theme.spacing.unit,
|
|
339
|
+
'&> div': {
|
|
340
|
+
width: '100%'
|
|
341
|
+
}
|
|
259
342
|
},
|
|
260
343
|
separator: {
|
|
261
344
|
marginTop: theme.spacing.unit * 2,
|
|
262
345
|
border: 0,
|
|
263
346
|
borderTop: '2px solid lightgray',
|
|
264
347
|
width: '100%'
|
|
348
|
+
},
|
|
349
|
+
errorText: {
|
|
350
|
+
fontSize: theme.typography.fontSize - 2,
|
|
351
|
+
color: 'red',
|
|
352
|
+
paddingTop: theme.spacing.unit
|
|
265
353
|
}
|
|
266
354
|
};
|
|
267
355
|
};
|
package/configure/lib/row.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","enableImages","opacity","content","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","image","disabled","map","rowValue","rowIdx","onRowValueChange","deleteIcon","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","width","minWidth","border","borderTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { Checkbox } from '@pie-lib/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport Button from '@material-ui/core/Button';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport EditableHtml from '@pie-lib/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired\n }),\n enableImages: PropTypes.bool\n };\n\n static defaultProps = {};\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = rowIndex => value => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => event => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n this.props.onDeleteRow(idx)\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n enableImages\n } = this.props;\n const opacity = isDragging ? 0 : 1;\n\n const content = (\n <div style={{\n opacity: opacity\n }}>\n <span\n itemID={'handle'}\n className={classes.dragHandle}\n onMouseDown={this.onMouseDownOnHandle}\n >\n <DragHandle color={'primary'} />\n </span>\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={{\n image: {\n disabled: !enableImages\n }\n }}\n />\n </div>\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n />\n ) : (\n <Checkbox\n onChange={this.onRowValueChange(idx, rowIdx)}\n checked={rowValue === true}\n label={''}\n />\n )}\n </div>\n ))}\n <div className={classes.deleteIcon}>\n <Button onClick={this.onDeleteRow(idx)}>\n <Delete className={classes.deleteIcon} />\n </Button>\n </div>\n </div>\n <hr className={classes.separator} />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\nconst styles = theme => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between'\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible'\n },\n dragHandle: {\n cursor: 'move'\n },\n dragDisabled: {\n cursor: 'inherit'\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column'\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n '&> div': {\n width: '100%'\n }\n },\n deleteIcon: {\n flex: 0.5,\n minWidth: '88px',\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start'\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: '2px solid lightgray',\n width: '100%'\n }\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx\n };\n }\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging()\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n props.onMoveRow(item.index, props.idx);\n }\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, connect => ({\n connectDropTarget: connect.dropTarget()\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
|
|
1
|
+
{"version":3,"sources":["../src/row.jsx"],"names":["log","canDrag","Row","dialog","open","text","rowIndex","value","props","model","onChange","newModel","rows","title","rowValueIndex","event","choiceMode","i","values","length","target","checked","idx","onDeleteRow","setState","document","addEventListener","onMouseUpOnHandle","classes","imageSupport","connectDragSource","connectDropTarget","isDragging","row","enableImages","toolbarOpts","spellCheck","error","maxImageWidth","maxImageHeight","uploadSoundSupport","state","opacity","rowPlugins","image","disabled","audio","video","filteredDefaultPlugins","DEFAULT_PLUGINS","filter","p","content","width","dragHandle","onMouseDownOnHandle","rowContainer","rowItem","questionText","onRowTitleChange","editor","language","map","rowValue","rowIdx","onRowValueChange","deleteIcon","errorText","separator","React","Component","PropTypes","object","isRequired","number","bool","func","onMoveRow","shape","add","string","styles","theme","actions","padding","justifyContent","choice","spacing","unit","overflow","cursor","dragDisabled","container","marginTop","display","flexDirection","alignItems","flex","minWidth","maxWidth","textAlign","marginRight","border","borderTop","fontSize","typography","color","paddingTop","StyledRow","NAME","choiceSource","beginDrag","id","index","StyledSource","connect","monitor","dragSource","choiceTarget","hover","drop","item","getItem","didDrop","StyledSourceAndTarget","dropTarget"],"mappings":"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","sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport classNames from 'classnames';\nimport { AlertDialog, Checkbox } from '@pie-lib/config-ui';\nimport DragHandle from '@material-ui/icons/DragHandle';\nimport Radio from '@material-ui/core/Radio';\nimport IconButton from '@material-ui/core/IconButton';\nimport Delete from '@material-ui/icons/Delete';\nimport { DragSource, DropTarget } from 'react-dnd';\nimport debug from 'debug';\nimport EditableHtml, { DEFAULT_PLUGINS } from '@pie-lib/editable-html';\n\nconst log = debug('@pie-element:categorize:configure:choice');\n\nexport let canDrag = false;\n\nexport class Row extends React.Component {\n static propTypes = {\n classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n row: PropTypes.object.isRequired,\n idx: PropTypes.number.isRequired,\n isDragging: PropTypes.bool.isRequired,\n onDeleteRow: PropTypes.func.isRequired,\n onChange: PropTypes.func.isRequired,\n connectDragSource: PropTypes.func.isRequired,\n connectDropTarget: PropTypes.func.isRequired,\n onMoveRow: PropTypes.func.isRequired,\n imageSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n uploadSoundSupport: PropTypes.shape({\n add: PropTypes.func.isRequired,\n delete: PropTypes.func.isRequired,\n }),\n enableImages: PropTypes.bool,\n toolbarOpts: PropTypes.object,\n error: PropTypes.string,\n };\n\n static defaultProps = {};\n\n state = {\n dialog: {\n open: false,\n text: '',\n },\n };\n\n componentDidMount() {\n document.addEventListener('mouseup', this.onMouseUpOnHandle);\n }\n\n onRowTitleChange = (rowIndex) => (value) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n newModel.rows[rowIndex].title = value;\n onChange(newModel);\n };\n\n onRowValueChange = (rowIndex, rowValueIndex) => (event) => {\n const { model, onChange } = this.props;\n const newModel = { ...model };\n\n if (model.choiceMode === 'radio') {\n for (let i = 0; i < newModel.rows[rowIndex].values.length; i++) {\n newModel.rows[rowIndex].values[i] = false;\n }\n }\n\n newModel.rows[rowIndex].values[rowValueIndex] = event.target.checked;\n\n onChange(newModel);\n };\n\n onDeleteRow = (idx) => () => {\n const { model, onDeleteRow } = this.props;\n\n if (model.rows && model.rows.length === 1) {\n this.setState({\n dialog: {\n open: true,\n text: 'There has to be at least one question row.',\n },\n });\n } else {\n onDeleteRow(idx);\n }\n };\n\n onMouseDownOnHandle = () => {\n canDrag = true;\n };\n\n onMouseUpOnHandle = () => {\n canDrag = false;\n };\n\n render() {\n const {\n classes,\n imageSupport,\n connectDragSource,\n connectDropTarget,\n isDragging,\n model,\n row,\n idx,\n enableImages,\n toolbarOpts,\n spellCheck,\n error,\n maxImageWidth,\n maxImageHeight,\n uploadSoundSupport,\n } = this.props;\n const { dialog } = this.state;\n const opacity = isDragging ? 0 : 1;\n\n const rowPlugins = {\n image: {\n disabled: !enableImages,\n },\n audio: { disabled: true },\n video: { disabled: true },\n };\n const filteredDefaultPlugins = (DEFAULT_PLUGINS || []).filter(\n (p) => p !== 'bulleted-list' && p !== 'numbered-list',\n );\n\n const content = (\n <div style={{ opacity: opacity, width: 'fit-content' }}>\n <span itemID={'handle'} className={classes.dragHandle} onMouseDown={this.onMouseDownOnHandle}>\n <DragHandle color={'primary'} />\n </span>\n\n <div className={classes.rowContainer}>\n <div className={classNames(classes.rowItem, classes.questionText)}>\n <EditableHtml\n imageSupport={imageSupport}\n autoWidthToolbar\n disableUnderline\n label={'label'}\n markup={row.title}\n onChange={this.onRowTitleChange(idx)}\n className={classes.editor}\n pluginProps={rowPlugins}\n toolbarOpts={toolbarOpts}\n activePlugins={filteredDefaultPlugins}\n spellCheck={spellCheck}\n maxImageWidth={maxImageWidth}\n maxImageHeight={maxImageHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n error={error && error !== 'No correct response defined.'}\n />\n </div>\n\n {row.values.map((rowValue, rowIdx) => (\n <div key={rowIdx} className={classes.rowItem}>\n {model.choiceMode === 'radio' ? (\n <Radio onChange={this.onRowValueChange(idx, rowIdx)} checked={rowValue === true} />\n ) : (\n <Checkbox onChange={this.onRowValueChange(idx, rowIdx)} checked={rowValue === true} label={''} />\n )}\n </div>\n ))}\n\n <div className={classes.deleteIcon}>\n <IconButton onClick={this.onDeleteRow(idx)} aria-label=\"Delete\">\n <Delete />\n </IconButton>\n </div>\n </div>\n\n {error && <div className={classes.errorText}>{error}</div>}\n <hr className={classes.separator} />\n\n <AlertDialog\n open={dialog.open}\n title=\"Warning\"\n text={dialog.text}\n onConfirm={() => this.setState({ dialog: { open: false } })}\n />\n </div>\n );\n\n return connectDragSource(connectDropTarget(content));\n }\n}\n\nconst styles = (theme) => ({\n actions: {\n padding: 0,\n justifyContent: 'space-between',\n },\n choice: {\n padding: theme.spacing.unit,\n overflow: 'visible',\n },\n dragHandle: {\n cursor: 'move',\n },\n dragDisabled: {\n cursor: 'inherit',\n },\n\n container: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n flexDirection: 'column',\n },\n rowContainer: {\n marginTop: theme.spacing.unit * 2,\n display: 'flex',\n alignItems: 'center',\n flex: 1,\n },\n rowItem: {\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '150px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n deleteIcon: {\n flex: 0.5,\n display: 'flex',\n justifyContent: 'center',\n minWidth: '48px',\n padding: `0 ${theme.spacing.unit}px`,\n },\n questionText: {\n flex: 2,\n display: 'flex',\n justifyContent: 'flex-start',\n padding: 0,\n maxWidth: 'unset',\n textAlign: 'left',\n minWidth: '350px',\n marginRight: theme.spacing.unit,\n '&> div': {\n width: '100%',\n },\n },\n separator: {\n marginTop: theme.spacing.unit * 2,\n border: 0,\n borderTop: '2px solid lightgray',\n width: '100%',\n },\n errorText: {\n fontSize: theme.typography.fontSize - 2,\n color: 'red',\n paddingTop: theme.spacing.unit,\n },\n});\n\nconst StyledRow = withStyles(styles)(Row);\n\nconst NAME = 'row-config';\n\nexport const choiceSource = {\n canDrag() {\n return canDrag;\n },\n beginDrag(props) {\n return {\n id: props.row.id,\n index: props.idx,\n };\n },\n};\n\nconst StyledSource = DragSource(NAME, choiceSource, (connect, monitor) => ({\n connectDragSource: connect.dragSource(),\n isDragging: monitor.isDragging(),\n}))(StyledRow);\n\nexport const choiceTarget = {\n hover() {\n log('[hover]');\n },\n drop(props, monitor) {\n const item = monitor.getItem();\n\n log('[drop] item: ', item, 'didDrop?', monitor.didDrop());\n\n props.onMoveRow(item.index, props.idx);\n },\n};\n\nconst StyledSourceAndTarget = DropTarget(NAME, choiceTarget, (connect) => ({\n connectDropTarget: connect.dropTarget(),\n}))(StyledSource);\n\nexport default StyledSourceAndTarget;\n"],"file":"row.js"}
|
package/configure/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pie-element/match-configure",
|
|
3
3
|
"private": true,
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "5.5.0",
|
|
5
5
|
"description": "",
|
|
6
6
|
"main": "lib/index.js",
|
|
7
7
|
"module": "src/index.js",
|
|
@@ -9,16 +9,16 @@
|
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"@material-ui/core": "^3.9.2",
|
|
11
11
|
"@material-ui/icons": "^3.0.1",
|
|
12
|
-
"@pie-framework/pie-configure-events": "^1.
|
|
13
|
-
"@pie-lib/config-ui": "
|
|
14
|
-
"@pie-lib/drag": "^
|
|
15
|
-
"@pie-lib/editable-html": "
|
|
16
|
-
"@pie-lib/scoring-config": "
|
|
12
|
+
"@pie-framework/pie-configure-events": "^1.3.0",
|
|
13
|
+
"@pie-lib/config-ui": "12.0.0-beta.3",
|
|
14
|
+
"@pie-lib/drag": "^2.1.12",
|
|
15
|
+
"@pie-lib/editable-html": "10.0.0-beta.4",
|
|
16
|
+
"@pie-lib/scoring-config": "4.0.0-beta.2",
|
|
17
17
|
"classnames": "^2.2.5",
|
|
18
18
|
"debug": "^3.1.0",
|
|
19
19
|
"prop-types": "^15.6.2",
|
|
20
20
|
"react": "^16.8.1",
|
|
21
|
-
"react-dnd": "^
|
|
21
|
+
"react-dnd": "^14.0.5",
|
|
22
22
|
"react-dom": "^16.8.1",
|
|
23
23
|
"react-swipeable-views": "^0.12.17"
|
|
24
24
|
},
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const generateValidationMessage = (model) => {
|
|
2
|
+
const { choiceMode } = model;
|
|
3
|
+
|
|
4
|
+
const baselineValidationMessage =
|
|
5
|
+
'\nThere should be at least 1 question row.' + '\nRow and column headings should be non-blank and unique.';
|
|
6
|
+
const correctResponseMessage =
|
|
7
|
+
choiceMode === 'radio'
|
|
8
|
+
? '\nThere should be a correct response defined for every row.'
|
|
9
|
+
: '\nThere should be at least one correct response defined for every row.';
|
|
10
|
+
|
|
11
|
+
return 'Validation requirements:' + baselineValidationMessage + correctResponseMessage;
|
|
12
|
+
};
|
package/controller/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,109 @@
|
|
|
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
|
+
## [4.6.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.6.0...@pie-element/match-controller@4.6.1) (2023-01-17)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Bug Fixes
|
|
10
|
+
|
|
11
|
+
* **match:** remove domparser from controller PD-2496 ([290d63b](https://github.com/pie-framework/pie-elements/commit/290d63b81a5eb1be9c512b8a443dc9663a7356ff))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
# [4.6.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.5.1...@pie-element/match-controller@4.6.0) (2023-01-05)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Features
|
|
21
|
+
|
|
22
|
+
* **match:** add validation PD-2417 ([157c19b](https://github.com/pie-framework/pie-elements/commit/157c19b4ceee5decfd47c50e23a7004d27136ca0))
|
|
23
|
+
* **match:** added some configurable validation PD-2417. Started to update validation method ([dc459a1](https://github.com/pie-framework/pie-elements/commit/dc459a140a54772e6d9ec5dfaa1c620215cdf4c2))
|
|
24
|
+
* **match:** clean up ([40809d9](https://github.com/pie-framework/pie-elements/commit/40809d9a29baeba7f50f4f5510a0e18537224930))
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## [4.5.1](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.5.0...@pie-element/match-controller@4.5.1) (2022-12-07)
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
### Bug Fixes
|
|
34
|
+
|
|
35
|
+
* update libs ([441f403](https://github.com/pie-framework/pie-elements/commit/441f403870b7bec0d61fab58b8d93dbe0ead4c32))
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
# [4.5.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.4.8...@pie-element/match-controller@4.5.0) (2022-08-03)
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
### Bug Fixes
|
|
45
|
+
|
|
46
|
+
* **match:** Scoring is broken for checkbox-based Match items where student has checked all the correct answers and also incorrect answers PD-1930 ([d471d0b](https://github.com/pie-framework/pie-elements/commit/d471d0b0d2ad1ff87a5509395478a431f0d69ce5))
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
### Features
|
|
50
|
+
|
|
51
|
+
* **match:** added validation PD-1710 ([9a7ff92](https://github.com/pie-framework/pie-elements/commit/9a7ff928926219d82b33d6a97df271bdbafff17d))
|
|
52
|
+
* **match:** implement validation ui/ux PD-1711 ([85cdff1](https://github.com/pie-framework/pie-elements/commit/85cdff133bb3373c33733b0e627241bf6880a738))
|
|
53
|
+
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## [4.4.8](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.4.7...@pie-element/match-controller@4.4.8) (2022-05-16)
|
|
59
|
+
|
|
60
|
+
**Note:** Version bump only for package @pie-element/match-controller
|
|
61
|
+
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
|
|
66
|
+
## [4.4.4](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.4.2...@pie-element/match-controller@4.4.4) (2021-11-11)
|
|
67
|
+
|
|
68
|
+
**Note:** Version bump only for package @pie-element/match-controller
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
## [4.4.3](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.4.2...@pie-element/match-controller@4.4.3) (2021-11-11)
|
|
75
|
+
|
|
76
|
+
**Note:** Version bump only for package @pie-element/match-controller
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
## [4.4.2](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.4.0...@pie-element/match-controller@4.4.2) (2021-08-05)
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
### Bug Fixes
|
|
86
|
+
|
|
87
|
+
* force bump ([5ea7295](https://github.com/pie-framework/pie-elements/commit/5ea7295e4755fbc492a76e7ec69e5fc35b196919))
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
# [4.4.0](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.3.13...@pie-element/match-controller@4.4.0) (2021-06-29)
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
### Bug Fixes
|
|
97
|
+
|
|
98
|
+
* **match:** remove rationale and teacher instructions from the item model returned by the API PD-1158 ([#591](https://github.com/pie-framework/pie-elements/issues/591)) ([e33786a](https://github.com/pie-framework/pie-elements/commit/e33786ad0bc788872c3624805790c82b3819c879))
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
### Features
|
|
102
|
+
|
|
103
|
+
* **match:** change partial scoring method for match items that use checkboxes PD-741 ([#588](https://github.com/pie-framework/pie-elements/issues/588)) ([65cd5dd](https://github.com/pie-framework/pie-elements/commit/65cd5dd6adb2307f89f53248b0d4489b0dd71e39))
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
|
|
6
109
|
## [4.3.13](https://github.com/pie-framework/pie-elements/compare/@pie-element/match-controller@4.3.10...@pie-element/match-controller@4.3.13) (2021-03-03)
|
|
7
110
|
|
|
8
111
|
**Note:** Version bump only for package @pie-element/match-controller
|