@pie-element/categorize 7.7.1 → 7.7.2-beta.1

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.
Files changed (59) hide show
  1. package/configure/package.json +6 -6
  2. package/controller/package.json +4 -4
  3. package/package.json +8 -7
  4. package/configure/lib/defaults.js +0 -115
  5. package/configure/lib/defaults.js.map +0 -1
  6. package/configure/lib/design/builder.js +0 -74
  7. package/configure/lib/design/builder.js.map +0 -1
  8. package/configure/lib/design/buttons.js +0 -127
  9. package/configure/lib/design/buttons.js.map +0 -1
  10. package/configure/lib/design/categories/alternateResponses.js +0 -251
  11. package/configure/lib/design/categories/alternateResponses.js.map +0 -1
  12. package/configure/lib/design/categories/category.js +0 -204
  13. package/configure/lib/design/categories/category.js.map +0 -1
  14. package/configure/lib/design/categories/choice-preview.js +0 -128
  15. package/configure/lib/design/categories/choice-preview.js.map +0 -1
  16. package/configure/lib/design/categories/droppable-placeholder.js +0 -187
  17. package/configure/lib/design/categories/droppable-placeholder.js.map +0 -1
  18. package/configure/lib/design/categories/index.js +0 -430
  19. package/configure/lib/design/categories/index.js.map +0 -1
  20. package/configure/lib/design/choices/choice.js +0 -287
  21. package/configure/lib/design/choices/choice.js.map +0 -1
  22. package/configure/lib/design/choices/config.js +0 -146
  23. package/configure/lib/design/choices/config.js.map +0 -1
  24. package/configure/lib/design/choices/index.js +0 -277
  25. package/configure/lib/design/choices/index.js.map +0 -1
  26. package/configure/lib/design/header.js +0 -104
  27. package/configure/lib/design/header.js.map +0 -1
  28. package/configure/lib/design/index.js +0 -470
  29. package/configure/lib/design/index.js.map +0 -1
  30. package/configure/lib/design/input-header.js +0 -159
  31. package/configure/lib/design/input-header.js.map +0 -1
  32. package/configure/lib/index.js +0 -139
  33. package/configure/lib/index.js.map +0 -1
  34. package/configure/lib/main.js +0 -94
  35. package/configure/lib/main.js.map +0 -1
  36. package/configure/lib/utils.js +0 -27
  37. package/configure/lib/utils.js.map +0 -1
  38. package/controller/lib/defaults.js +0 -31
  39. package/controller/lib/defaults.js.map +0 -1
  40. package/controller/lib/index.js +0 -434
  41. package/controller/lib/index.js.map +0 -1
  42. package/controller/lib/utils.js +0 -60
  43. package/controller/lib/utils.js.map +0 -1
  44. package/lib/categorize/categories.js +0 -164
  45. package/lib/categorize/categories.js.map +0 -1
  46. package/lib/categorize/category.js +0 -134
  47. package/lib/categorize/category.js.map +0 -1
  48. package/lib/categorize/choice.js +0 -226
  49. package/lib/categorize/choice.js.map +0 -1
  50. package/lib/categorize/choices.js +0 -160
  51. package/lib/categorize/choices.js.map +0 -1
  52. package/lib/categorize/droppable-placeholder.js +0 -110
  53. package/lib/categorize/droppable-placeholder.js.map +0 -1
  54. package/lib/categorize/grid-content.js +0 -103
  55. package/lib/categorize/grid-content.js.map +0 -1
  56. package/lib/categorize/index.js +0 -325
  57. package/lib/categorize/index.js.map +0 -1
  58. package/lib/index.js +0 -110
  59. package/lib/index.js.map +0 -1
@@ -1,187 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.spec = exports["default"] = exports.DroppablePlaceHolder = void 0;
9
-
10
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
11
-
12
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
13
-
14
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
15
-
16
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
17
-
18
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
19
-
20
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
21
-
22
- var _react = _interopRequireDefault(require("react"));
23
-
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- var _classnames = _interopRequireDefault(require("classnames"));
29
-
30
- var _choicePreview = _interopRequireDefault(require("./choice-preview"));
31
-
32
- var _reactDnd = require("react-dnd");
33
-
34
- var _drag = require("@pie-lib/drag");
35
-
36
- var _debug = _interopRequireDefault(require("debug"));
37
-
38
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; }
39
-
40
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
41
-
42
- var log = (0, _debug["default"])('@pie-element:categorize:configure');
43
- var Helper = (0, _styles.withStyles)(function () {
44
- return {
45
- helper: {
46
- display: 'flex',
47
- alignItems: 'center',
48
- fontSize: '12px',
49
- color: 'rgba(0,0,0,0.4)',
50
- width: '100%',
51
- height: '100%'
52
- }
53
- };
54
- })(function (_ref) {
55
- var classes = _ref.classes;
56
- return /*#__PURE__*/_react["default"].createElement("div", {
57
- className: classes.helper
58
- }, "Drag your correct answers here");
59
- });
60
-
61
- var Previews = function Previews(_ref2) {
62
- var alternateResponseIndex = _ref2.alternateResponseIndex,
63
- category = _ref2.category,
64
- choices = _ref2.choices,
65
- onDeleteChoice = _ref2.onDeleteChoice;
66
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, choices.map(function (c, index) {
67
- return c && /*#__PURE__*/_react["default"].createElement(_choicePreview["default"], {
68
- alternateResponseIndex: alternateResponseIndex,
69
- category: category,
70
- choice: c,
71
- key: index,
72
- choiceIndex: index,
73
- onDelete: function onDelete(choice) {
74
- return onDeleteChoice(choice, index);
75
- }
76
- });
77
- }));
78
- };
79
-
80
- Previews.propTypes = {
81
- alternateResponseIndex: _propTypes["default"].number,
82
- category: _propTypes["default"].object,
83
- choices: _propTypes["default"].array,
84
- onDeleteChoice: _propTypes["default"].func
85
- };
86
-
87
- var DroppablePlaceHolder = /*#__PURE__*/function (_React$Component) {
88
- (0, _inherits2["default"])(DroppablePlaceHolder, _React$Component);
89
-
90
- var _super = _createSuper(DroppablePlaceHolder);
91
-
92
- function DroppablePlaceHolder() {
93
- (0, _classCallCheck2["default"])(this, DroppablePlaceHolder);
94
- return _super.apply(this, arguments);
95
- }
96
-
97
- (0, _createClass2["default"])(DroppablePlaceHolder, [{
98
- key: "render",
99
- value: function render() {
100
- var _this$props = this.props,
101
- alternateResponseIndex = _this$props.alternateResponseIndex,
102
- isOver = _this$props.isOver,
103
- category = _this$props.category,
104
- choices = _this$props.choices,
105
- classes = _this$props.classes,
106
- className = _this$props.className,
107
- connectDropTarget = _this$props.connectDropTarget,
108
- onDeleteChoice = _this$props.onDeleteChoice;
109
- return connectDropTarget( /*#__PURE__*/_react["default"].createElement("div", {
110
- className: (0, _classnames["default"])(classes.droppablePlaceholder, className)
111
- }, /*#__PURE__*/_react["default"].createElement(_drag.PlaceHolder, {
112
- isOver: isOver,
113
- className: classes.placeHolder
114
- }, (choices || []).length === 0 ? /*#__PURE__*/_react["default"].createElement(Helper, null) : /*#__PURE__*/_react["default"].createElement(Previews, {
115
- alternateResponseIndex: alternateResponseIndex,
116
- category: category,
117
- choices: choices,
118
- onDeleteChoice: onDeleteChoice
119
- }))));
120
- }
121
- }]);
122
- return DroppablePlaceHolder;
123
- }(_react["default"].Component);
124
-
125
- exports.DroppablePlaceHolder = DroppablePlaceHolder;
126
- (0, _defineProperty2["default"])(DroppablePlaceHolder, "propTypes", {
127
- alternateResponseIndex: _propTypes["default"].number,
128
- category: _propTypes["default"].object,
129
- classes: _propTypes["default"].object.isRequired,
130
- className: _propTypes["default"].string,
131
- connectDropTarget: _propTypes["default"].func.isRequired,
132
- choices: _propTypes["default"].array,
133
- onDropChoice: _propTypes["default"].func.isRequired,
134
- onMoveChoice: _propTypes["default"].func,
135
- isOver: _propTypes["default"].bool,
136
- onDeleteChoice: _propTypes["default"].func,
137
- categoryId: _propTypes["default"].string.isRequired
138
- });
139
- (0, _defineProperty2["default"])(DroppablePlaceHolder, "defaultProps", {});
140
-
141
- var styles = function styles() {
142
- return {
143
- droppablePlaceholder: {
144
- minHeight: '100px'
145
- },
146
- placeHolder: {
147
- width: '100%',
148
- minHeight: '100px',
149
- height: 'auto'
150
- }
151
- };
152
- };
153
-
154
- var Styled = (0, _styles.withStyles)(styles)(DroppablePlaceHolder);
155
- var spec = {
156
- drop: function drop(props, monitor) {
157
- log('[drop] props: ', props);
158
- var item = monitor.getItem();
159
-
160
- if (item.from && item.alternateResponseIndex === props.alternateResponseIndex) {
161
- props.onMoveChoice(item.choiceId, item.from, props.categoryId, item.choiceIndex, item.alternateResponseIndex);
162
- } else if (!item.from) {
163
- // avoid dropping choice when user tries to move it to an alternate with other index
164
- props.onDropChoice(item, props.categoryId);
165
- }
166
- },
167
- canDrop: function canDrop(props
168
- /*, monitor*/
169
- ) {
170
- return !props.disabled;
171
- }
172
- };
173
- exports.spec = spec;
174
- var WithTarget = (0, _reactDnd.DropTarget)(function (_ref3) {
175
- var uid = _ref3.uid;
176
- return uid;
177
- }, spec, function (connect, monitor) {
178
- return {
179
- connectDropTarget: connect.dropTarget(),
180
- isOver: monitor.isOver()
181
- };
182
- })(Styled);
183
-
184
- var _default = _drag.uid.withUid(WithTarget);
185
-
186
- exports["default"] = _default;
187
- //# sourceMappingURL=droppable-placeholder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/design/categories/droppable-placeholder.jsx"],"names":["log","Helper","helper","display","alignItems","fontSize","color","width","height","classes","Previews","alternateResponseIndex","category","choices","onDeleteChoice","map","c","index","choice","propTypes","PropTypes","number","object","array","func","DroppablePlaceHolder","props","isOver","className","connectDropTarget","droppablePlaceholder","placeHolder","length","React","Component","isRequired","string","onDropChoice","onMoveChoice","bool","categoryId","styles","minHeight","Styled","spec","drop","monitor","item","getItem","from","choiceId","choiceIndex","canDrop","disabled","WithTarget","uid","connect","dropTarget","withUid"],"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 ChoicePreview from './choice-preview';\nimport { DropTarget } from 'react-dnd';\nimport { uid, PlaceHolder } from '@pie-lib/drag';\nimport debug from 'debug';\n\nconst log = debug('@pie-element:categorize:configure');\n\nconst Helper = withStyles(() => ({\n helper: {\n display: 'flex',\n alignItems: 'center',\n fontSize: '12px',\n color: 'rgba(0,0,0,0.4)',\n width: '100%',\n height: '100%',\n },\n}))(({ classes }) => <div className={classes.helper}>Drag your correct answers here</div>);\n\nconst Previews = ({ alternateResponseIndex, category, choices, onDeleteChoice }) => (\n <React.Fragment>\n {choices.map(\n (c, index) =>\n c && (\n <ChoicePreview\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choice={c}\n key={index}\n choiceIndex={index}\n onDelete={(choice) => onDeleteChoice(choice, index)}\n />\n ),\n )}\n </React.Fragment>\n);\n\nPreviews.propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object,\n choices: PropTypes.array,\n onDeleteChoice: PropTypes.func,\n};\n\nexport class DroppablePlaceHolder extends React.Component {\n static propTypes = {\n alternateResponseIndex: PropTypes.number,\n category: PropTypes.object,\n classes: PropTypes.object.isRequired,\n className: PropTypes.string,\n connectDropTarget: PropTypes.func.isRequired,\n choices: PropTypes.array,\n onDropChoice: PropTypes.func.isRequired,\n onMoveChoice: PropTypes.func,\n isOver: PropTypes.bool,\n onDeleteChoice: PropTypes.func,\n categoryId: PropTypes.string.isRequired,\n };\n\n static defaultProps = {};\n render() {\n const { alternateResponseIndex, isOver, category, choices, classes, className, connectDropTarget, onDeleteChoice } =\n this.props;\n\n return connectDropTarget(\n <div className={classNames(classes.droppablePlaceholder, className)}>\n <PlaceHolder isOver={isOver} className={classes.placeHolder}>\n {(choices || []).length === 0 ? (\n <Helper />\n ) : (\n <Previews\n alternateResponseIndex={alternateResponseIndex}\n category={category}\n choices={choices}\n onDeleteChoice={onDeleteChoice}\n />\n )}\n </PlaceHolder>\n </div>,\n );\n }\n}\nconst styles = () => ({\n droppablePlaceholder: {\n minHeight: '100px',\n },\n placeHolder: {\n width: '100%',\n minHeight: '100px',\n height: 'auto',\n },\n});\n\nconst Styled = withStyles(styles)(DroppablePlaceHolder);\n\nexport const spec = {\n drop: (props, monitor) => {\n log('[drop] props: ', props);\n const item = monitor.getItem();\n\n if (item.from && item.alternateResponseIndex === props.alternateResponseIndex) {\n props.onMoveChoice(item.choiceId, item.from, props.categoryId, item.choiceIndex, item.alternateResponseIndex);\n } else if (!item.from){\n // avoid dropping choice when user tries to move it to an alternate with other index\n props.onDropChoice(item, props.categoryId);\n }\n },\n canDrop: (props /*, monitor*/) => {\n return !props.disabled;\n },\n};\n\nconst WithTarget = DropTarget(\n ({ uid }) => uid,\n spec,\n (connect, monitor) => ({\n connectDropTarget: connect.dropTarget(),\n isOver: monitor.isOver(),\n }),\n)(Styled);\n\nexport default uid.withUid(WithTarget);\n"],"file":"droppable-placeholder.js"}
@@ -1,430 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports["default"] = exports.Categories = void 0;
9
-
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
-
12
- var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
13
-
14
- var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
15
-
16
- var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
17
-
18
- var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
19
-
20
- var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
21
-
22
- var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
23
-
24
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
25
-
26
- var _react = _interopRequireDefault(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _TextField = _interopRequireDefault(require("@material-ui/core/TextField"));
33
-
34
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
35
-
36
- var _configUi = require("@pie-lib/config-ui");
37
-
38
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
39
-
40
- var _classnames = _interopRequireDefault(require("classnames"));
41
-
42
- var _Info = _interopRequireDefault(require("@material-ui/icons/Info"));
43
-
44
- var _Tooltip = _interopRequireDefault(require("@material-ui/core/Tooltip"));
45
-
46
- var _categorize = require("@pie-lib/categorize");
47
-
48
- var _category = _interopRequireDefault(require("./category"));
49
-
50
- var _header = _interopRequireDefault(require("../header"));
51
-
52
- var _utils = require("../../utils");
53
-
54
- 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); }; }
55
-
56
- 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; } }
57
-
58
- var styles = function styles(theme) {
59
- return {
60
- categories: {
61
- marginBottom: theme.spacing.unit
62
- },
63
- categoriesHolder: {
64
- display: 'grid',
65
- gridRowGap: "".concat(theme.spacing.unit, "px"),
66
- gridColumnGap: "".concat(theme.spacing.unit, "px")
67
- },
68
- row: {
69
- display: 'grid',
70
- gridTemplateColumns: 'repeat(2, 1fr)',
71
- gridColumnGap: "".concat(theme.spacing.unit, "px"),
72
- alignItems: 'baseline',
73
- width: '100%',
74
- marginTop: theme.spacing.unit,
75
- marginBottom: 2 * theme.spacing.unit
76
- },
77
- rowLabel: {
78
- gridColumn: '1/3'
79
- },
80
- rowLabelHolder: {
81
- width: '100%'
82
- },
83
- tooltip: {
84
- fontSize: '12px',
85
- whiteSpace: 'pre',
86
- maxWidth: '500px'
87
- },
88
- errorText: {
89
- fontSize: '12px',
90
- color: 'red',
91
- padding: '5px 0'
92
- }
93
- };
94
- };
95
-
96
- var RowLabel = (0, _styles.withStyles)(styles)(function (_ref) {
97
- var categoriesPerRow = _ref.categoriesPerRow,
98
- classes = _ref.classes,
99
- markup = _ref.markup,
100
- imageSupport = _ref.imageSupport,
101
- onChange = _ref.onChange,
102
- toolbarOpts = _ref.toolbarOpts,
103
- spellCheck = _ref.spellCheck,
104
- maxImageWidth = _ref.maxImageWidth,
105
- maxImageHeight = _ref.maxImageHeight,
106
- uploadSoundSupport = _ref.uploadSoundSupport;
107
- return /*#__PURE__*/_react["default"].createElement("div", {
108
- style: {
109
- gridColumn: "1/".concat(categoriesPerRow + 1),
110
- width: '100%'
111
- }
112
- }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
113
- className: classes.text
114
- }, "Row Label"), /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
115
- className: classes.rowLabelHolder,
116
- markup: markup,
117
- onChange: onChange,
118
- imageSupport: imageSupport,
119
- nonEmpty: false,
120
- toolbarOpts: toolbarOpts,
121
- spellCheck: spellCheck,
122
- maxImageWidth: maxImageWidth,
123
- maxImageHeight: maxImageHeight,
124
- uploadSoundSupport: uploadSoundSupport,
125
- languageCharactersProps: [{
126
- language: 'spanish'
127
- }, {
128
- language: 'special'
129
- }]
130
- }));
131
- });
132
-
133
- var Categories = /*#__PURE__*/function (_React$Component) {
134
- (0, _inherits2["default"])(Categories, _React$Component);
135
-
136
- var _super = _createSuper(Categories);
137
-
138
- function Categories() {
139
- var _this;
140
-
141
- (0, _classCallCheck2["default"])(this, Categories);
142
-
143
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
144
- args[_key] = arguments[_key];
145
- }
146
-
147
- _this = _super.call.apply(_super, [this].concat(args));
148
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "state", {
149
- focusedEl: null
150
- });
151
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "add", function () {
152
- var _this$props = _this.props,
153
- model = _this$props.model,
154
- oldCategories = _this$props.categories;
155
- var categoriesPerRow = model.categoriesPerRow;
156
-
157
- var id = _configUi.choiceUtils.firstAvailableIndex(model.categories.map(function (a) {
158
- return a.id;
159
- }), 0);
160
-
161
- var data = {
162
- id: id,
163
- label: 'Category ' + id
164
- };
165
- var addRowLabel = model.categories.length % categoriesPerRow === 0;
166
- var rowLabels = (0, _toConsumableArray2["default"])(model.rowLabels);
167
-
168
- if (addRowLabel) {
169
- rowLabels.push('');
170
- }
171
-
172
- _this.setState({
173
- focusedEl: oldCategories.length
174
- }, function () {
175
- _this.props.onModelChanged({
176
- rowLabels: rowLabels,
177
- categories: model.categories.concat([data])
178
- });
179
- });
180
- });
181
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteFocusedEl", function () {
182
- _this.setState({
183
- focusedEl: null
184
- });
185
- });
186
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "delete", function (category) {
187
- var _this$props2 = _this.props,
188
- model = _this$props2.model,
189
- onModelChanged = _this$props2.onModelChanged;
190
- var index = model.categories.findIndex(function (a) {
191
- return a.id === category.id;
192
- });
193
-
194
- if (index !== -1) {
195
- model.categories.splice(index, 1);
196
- model.correctResponse = (0, _categorize.removeCategory)(category.id, model.correctResponse);
197
- onModelChanged(model);
198
- }
199
- });
200
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "change", function (c) {
201
- var categories = _this.props.categories;
202
- var index = categories.findIndex(function (a) {
203
- return a.id === c.id;
204
- });
205
-
206
- if (index !== -1) {
207
- categories.splice(index, 1, c);
208
-
209
- _this.props.onModelChanged({
210
- categories: categories
211
- });
212
- }
213
- });
214
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "addChoiceToCategory", function (addedChoice, categoryId) {
215
- var _this$props3 = _this.props,
216
- model = _this$props3.model,
217
- onModelChanged = _this$props3.onModelChanged;
218
-
219
- var _ref2 = model || {},
220
- _ref2$choices = _ref2.choices,
221
- choices = _ref2$choices === void 0 ? [] : _ref2$choices,
222
- _ref2$correctResponse = _ref2.correctResponse,
223
- correctResponse = _ref2$correctResponse === void 0 ? [] : _ref2$correctResponse;
224
-
225
- var choice = (choices || []).find(function (choice) {
226
- return choice.id === addedChoice.id;
227
- });
228
- correctResponse = (0, _categorize.moveChoiceToCategory)(addedChoice.id, undefined, categoryId, 0, model.correctResponse); // if multiplePlacements not allowed, ensure the consistency in the other categories
229
-
230
- if (choice.categoryCount !== 0) {
231
- correctResponse = (0, _categorize.verifyAllowMultiplePlacements)(addedChoice, categoryId, correctResponse);
232
- }
233
-
234
- onModelChanged({
235
- correctResponse: correctResponse
236
- });
237
- });
238
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "deleteChoiceFromCategory", function (category, choice, choiceIndex) {
239
- var _this$props4 = _this.props,
240
- model = _this$props4.model,
241
- onModelChanged = _this$props4.onModelChanged;
242
- var correctResponse = (0, _categorize.removeChoiceFromCategory)(choice.id, category.id, choiceIndex, model.correctResponse);
243
- onModelChanged({
244
- correctResponse: correctResponse
245
- });
246
- });
247
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "moveChoice", function (choiceId, from, to, choiceIndex) {
248
- var _this$props5 = _this.props,
249
- model = _this$props5.model,
250
- onModelChanged = _this$props5.onModelChanged;
251
-
252
- var _ref3 = model || {},
253
- choices = _ref3.choices,
254
- _ref3$correctResponse = _ref3.correctResponse,
255
- correctResponse = _ref3$correctResponse === void 0 ? [] : _ref3$correctResponse;
256
-
257
- var choice = (choices || []).find(function (choice) {
258
- return choice.id === choiceId;
259
- });
260
-
261
- if (to === from || !choice) {
262
- return;
263
- }
264
-
265
- if (choice.categoryCount !== 0) {
266
- correctResponse = (0, _categorize.moveChoiceToCategory)(choice.id, from, to, choiceIndex, correctResponse);
267
- correctResponse = (0, _categorize.verifyAllowMultiplePlacements)(choice, to, correctResponse);
268
- } else if (choice.categoryCount === 0) {
269
- correctResponse = (0, _categorize.moveChoiceToCategory)(choice.id, undefined, to, 0, correctResponse);
270
- }
271
-
272
- onModelChanged({
273
- correctResponse: correctResponse
274
- });
275
- });
276
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeRowLabel", function (val, index) {
277
- var model = _this.props.model;
278
- var rowLabels = model.rowLabels;
279
- var newRowLabels = (0, _toConsumableArray2["default"])(rowLabels);
280
-
281
- if (newRowLabels.length < index) {
282
- newRowLabels.push(val);
283
- } else {
284
- newRowLabels[index] = val;
285
- }
286
-
287
- _this.props.onModelChanged({
288
- rowLabels: newRowLabels
289
- });
290
- });
291
- return _this;
292
- }
293
-
294
- (0, _createClass2["default"])(Categories, [{
295
- key: "render",
296
- value: function render() {
297
- var _this2 = this;
298
-
299
- var _this$props6 = this.props,
300
- model = _this$props6.model,
301
- classes = _this$props6.classes,
302
- className = _this$props6.className,
303
- categories = _this$props6.categories,
304
- imageSupport = _this$props6.imageSupport,
305
- uploadSoundSupport = _this$props6.uploadSoundSupport,
306
- toolbarOpts = _this$props6.toolbarOpts,
307
- spellCheck = _this$props6.spellCheck,
308
- configuration = _this$props6.configuration,
309
- defaultImageMaxHeight = _this$props6.defaultImageMaxHeight,
310
- defaultImageMaxWidth = _this$props6.defaultImageMaxWidth;
311
- var categoriesPerRow = model.categoriesPerRow,
312
- rowLabels = model.rowLabels,
313
- errors = model.errors;
314
-
315
- var _ref4 = errors || {},
316
- associationError = _ref4.associationError,
317
- categoriesError = _ref4.categoriesError,
318
- categoriesErrors = _ref4.categoriesErrors;
319
-
320
- var _ref5 = configuration || {},
321
- maxCategories = _ref5.maxCategories,
322
- _ref5$maxImageWidth = _ref5.maxImageWidth,
323
- maxImageWidth = _ref5$maxImageWidth === void 0 ? {} : _ref5$maxImageWidth,
324
- _ref5$maxImageHeight = _ref5.maxImageHeight,
325
- maxImageHeight = _ref5$maxImageHeight === void 0 ? {} : _ref5$maxImageHeight;
326
-
327
- var holderStyle = {
328
- gridTemplateColumns: "repeat(".concat(categoriesPerRow, ", 1fr)")
329
- };
330
- var validationMessage = (0, _utils.generateValidationMessage)(configuration);
331
- return /*#__PURE__*/_react["default"].createElement("div", {
332
- className: (0, _classnames["default"])(classes.categories, className)
333
- }, /*#__PURE__*/_react["default"].createElement(_header["default"], {
334
- label: "Categories",
335
- buttonLabel: "ADD A CATEGORY",
336
- onAdd: this.add,
337
- info: /*#__PURE__*/_react["default"].createElement(_Tooltip["default"], {
338
- classes: {
339
- tooltip: classes.tooltip
340
- },
341
- disableFocusListener: true,
342
- disableTouchListener: true,
343
- placement: 'right',
344
- title: validationMessage
345
- }, /*#__PURE__*/_react["default"].createElement(_Info["default"], {
346
- fontSize: 'small',
347
- color: 'primary',
348
- style: {
349
- marginLeft: '5px'
350
- }
351
- })),
352
- buttonDisabled: maxCategories && categories && maxCategories === categories.length
353
- }), associationError && /*#__PURE__*/_react["default"].createElement("div", {
354
- className: classes.errorText
355
- }, associationError), categoriesError && /*#__PURE__*/_react["default"].createElement("div", {
356
- className: classes.errorText
357
- }, categoriesError), /*#__PURE__*/_react["default"].createElement("div", {
358
- className: classes.categoriesHolder,
359
- style: holderStyle
360
- }, categories.map(function (category, index) {
361
- var hasRowLabel = index % categoriesPerRow === 0;
362
- var rowIndex = index / categoriesPerRow;
363
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, {
364
- key: index
365
- }, hasRowLabel && /*#__PURE__*/_react["default"].createElement(RowLabel, {
366
- categoriesPerRow: categoriesPerRow,
367
- rowIndex: rowIndex,
368
- markup: rowLabels[rowIndex] || '',
369
- onChange: function onChange(val) {
370
- return _this2.changeRowLabel(val, rowIndex);
371
- },
372
- imageSupport: imageSupport,
373
- toolbarOpts: toolbarOpts,
374
- spellCheck: spellCheck,
375
- maxImageWidth: maxImageWidth && maxImageWidth.rowLabel || defaultImageMaxWidth,
376
- maxImageHeight: maxImageHeight && maxImageHeight.rowLabel || defaultImageMaxHeight,
377
- uploadSoundSupport: uploadSoundSupport
378
- }), /*#__PURE__*/_react["default"].createElement(_category["default"], {
379
- imageSupport: imageSupport,
380
- focusedEl: _this2.state.focusedEl,
381
- deleteFocusedEl: _this2.deleteFocusedEl,
382
- index: index,
383
- category: category,
384
- error: categoriesErrors && categoriesErrors[category.id],
385
- onChange: _this2.change,
386
- onDelete: function onDelete() {
387
- return _this2["delete"](category);
388
- },
389
- onAddChoice: _this2.addChoiceToCategory,
390
- onMoveChoice: function onMoveChoice(choiceId, from, to, choiceIndex) {
391
- return _this2.moveChoice(choiceId, from, to, choiceIndex);
392
- },
393
- toolbarOpts: toolbarOpts,
394
- spellCheck: spellCheck,
395
- onDeleteChoice: function onDeleteChoice(choice, choiceIndex) {
396
- return _this2.deleteChoiceFromCategory(category, choice, choiceIndex);
397
- },
398
- maxImageWidth: maxImageWidth && maxImageWidth.categoryLabel || defaultImageMaxWidth,
399
- maxImageHeight: maxImageHeight && maxImageHeight.categoryLabel || defaultImageMaxHeight,
400
- uploadSoundSupport: uploadSoundSupport
401
- }));
402
- })));
403
- }
404
- }]);
405
- return Categories;
406
- }(_react["default"].Component);
407
-
408
- exports.Categories = Categories;
409
- (0, _defineProperty2["default"])(Categories, "propTypes", {
410
- imageSupport: _propTypes["default"].shape({
411
- add: _propTypes["default"].func.isRequired,
412
- "delete": _propTypes["default"].func.isRequired
413
- }),
414
- uploadSoundSupport: _propTypes["default"].shape({
415
- add: _propTypes["default"].func.isRequired,
416
- "delete": _propTypes["default"].func.isRequired
417
- }),
418
- classes: _propTypes["default"].object.isRequired,
419
- className: _propTypes["default"].string,
420
- categories: _propTypes["default"].array,
421
- onModelChanged: _propTypes["default"].func,
422
- model: _propTypes["default"].object.isRequired,
423
- configuration: _propTypes["default"].object.isRequired,
424
- toolbarOpts: _propTypes["default"].object
425
- });
426
-
427
- var _default = (0, _styles.withStyles)(styles)(Categories);
428
-
429
- exports["default"] = _default;
430
- //# sourceMappingURL=index.js.map