@pie-element/match-list 5.3.4-next.0 → 6.0.0-beta.0
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/controller/lib/defaults.js +2 -3
- package/controller/lib/defaults.js.map +1 -1
- package/controller/lib/index.js +103 -181
- package/controller/lib/index.js.map +1 -1
- package/controller/package.json +5 -5
- package/lib/answer-area.js +128 -196
- package/lib/answer-area.js.map +1 -1
- package/lib/answer.js +228 -275
- package/lib/answer.js.map +1 -1
- package/lib/arrow.js +44 -88
- package/lib/arrow.js.map +1 -1
- package/lib/choices-list.js +54 -112
- package/lib/choices-list.js.map +1 -1
- package/lib/index.js +54 -100
- package/lib/index.js.map +1 -1
- package/lib/main.js +119 -164
- package/lib/main.js.map +1 -1
- package/package.json +13 -12
package/lib/arrow.js
CHANGED
|
@@ -1,101 +1,57 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
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
|
-
|
|
7
|
+
exports.default = exports.Arrow = void 0;
|
|
20
8
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
21
|
-
|
|
22
9
|
var _react = _interopRequireDefault(require("react"));
|
|
23
|
-
|
|
24
10
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
25
|
-
|
|
26
|
-
var
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
11
|
+
var _ArrowDropDown = _interopRequireDefault(require("@mui/icons-material/ArrowDropDown"));
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
13
|
+
const ArrowContainer = (0, _styles.styled)('div')({
|
|
14
|
+
display: 'inline-block',
|
|
15
|
+
position: 'relative',
|
|
16
|
+
width: '100%'
|
|
17
|
+
});
|
|
18
|
+
const Line = (0, _styles.styled)('span')(({
|
|
19
|
+
theme,
|
|
20
|
+
isRight
|
|
21
|
+
}) => ({
|
|
22
|
+
backgroundColor: theme.palette.grey[500],
|
|
23
|
+
bottom: isRight ? 20 : 19,
|
|
24
|
+
content: '""',
|
|
25
|
+
display: 'block',
|
|
26
|
+
height: 1,
|
|
27
|
+
left: 20,
|
|
28
|
+
position: 'absolute',
|
|
29
|
+
width: '100%'
|
|
30
|
+
}));
|
|
31
|
+
class Arrow extends _react.default.Component {
|
|
32
|
+
render() {
|
|
33
|
+
const {
|
|
34
|
+
direction
|
|
35
|
+
} = this.props;
|
|
36
|
+
const extraStyle = direction === 'left' ? {} : {
|
|
37
|
+
transform: 'rotate(180deg)'
|
|
38
|
+
};
|
|
39
|
+
return /*#__PURE__*/_react.default.createElement(ArrowContainer, {
|
|
40
|
+
style: extraStyle
|
|
41
|
+
}, /*#__PURE__*/_react.default.createElement(_ArrowDropDown.default, {
|
|
42
|
+
style: {
|
|
43
|
+
transform: 'rotate(90deg)',
|
|
44
|
+
color: '#979797',
|
|
45
|
+
fontSize: 40
|
|
46
|
+
}
|
|
47
|
+
}), /*#__PURE__*/_react.default.createElement(Line, {
|
|
48
|
+
isRight: direction !== 'left'
|
|
49
|
+
}));
|
|
44
50
|
}
|
|
45
|
-
|
|
46
|
-
(0, _createClass2["default"])(Arrow, [{
|
|
47
|
-
key: "render",
|
|
48
|
-
value: function render() {
|
|
49
|
-
var _this$props = this.props,
|
|
50
|
-
direction = _this$props.direction,
|
|
51
|
-
classes = _this$props.classes;
|
|
52
|
-
var extraStyle = direction === 'left' ? {} : {
|
|
53
|
-
transform: 'rotate(180deg)'
|
|
54
|
-
};
|
|
55
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
56
|
-
className: classes.arrow,
|
|
57
|
-
style: extraStyle
|
|
58
|
-
}, /*#__PURE__*/_react["default"].createElement(_ArrowDropDown["default"], {
|
|
59
|
-
style: {
|
|
60
|
-
transform: 'rotate(90deg)',
|
|
61
|
-
color: '#979797',
|
|
62
|
-
fontSize: 40
|
|
63
|
-
}
|
|
64
|
-
}), /*#__PURE__*/_react["default"].createElement("span", {
|
|
65
|
-
className: (0, _classnames2["default"])(classes.line, (0, _defineProperty2["default"])({}, classes.right, direction !== 'left'))
|
|
66
|
-
}));
|
|
67
|
-
}
|
|
68
|
-
}]);
|
|
69
|
-
return Arrow;
|
|
70
|
-
}(_react["default"].Component);
|
|
71
|
-
|
|
51
|
+
}
|
|
72
52
|
exports.Arrow = Arrow;
|
|
73
|
-
(0, _defineProperty2
|
|
74
|
-
direction: _propTypes
|
|
75
|
-
classes: _propTypes["default"].object.isRequired
|
|
53
|
+
(0, _defineProperty2.default)(Arrow, "propTypes", {
|
|
54
|
+
direction: _propTypes.default.string
|
|
76
55
|
});
|
|
77
|
-
var
|
|
78
|
-
return {
|
|
79
|
-
arrow: {
|
|
80
|
-
display: 'inline-block',
|
|
81
|
-
position: 'relative',
|
|
82
|
-
width: '100%'
|
|
83
|
-
},
|
|
84
|
-
line: {
|
|
85
|
-
backgroundColor: theme.palette.grey[500],
|
|
86
|
-
bottom: 19,
|
|
87
|
-
content: '""',
|
|
88
|
-
display: 'block',
|
|
89
|
-
height: 1,
|
|
90
|
-
left: 20,
|
|
91
|
-
position: 'absolute',
|
|
92
|
-
width: '100%'
|
|
93
|
-
},
|
|
94
|
-
right: {
|
|
95
|
-
bottom: 20
|
|
96
|
-
}
|
|
97
|
-
};
|
|
98
|
-
})(Arrow);
|
|
99
|
-
var _default = styledArrow;
|
|
100
|
-
exports["default"] = _default;
|
|
56
|
+
var _default = exports.default = Arrow;
|
|
101
57
|
//# sourceMappingURL=arrow.js.map
|
package/lib/arrow.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"arrow.js","names":["_react","_interopRequireDefault","require","_propTypes","_ArrowDropDown","_styles","ArrowContainer","styled","display","position","width","Line","theme","isRight","backgroundColor","palette","grey","bottom","content","height","left","Arrow","React","Component","render","direction","props","extraStyle","transform","default","createElement","style","color","fontSize","exports","_defineProperty2","PropTypes","string","_default"],"sources":["../src/arrow.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport ArrowHead from '@mui/icons-material/ArrowDropDown';\nimport { styled } from '@mui/material/styles';\n\nconst ArrowContainer = styled('div')({\n display: 'inline-block',\n position: 'relative',\n width: '100%',\n});\n\nconst Line = styled('span')(({ theme, isRight }) => ({\n backgroundColor: theme.palette.grey[500],\n bottom: isRight ? 20 : 19,\n content: '\"\"',\n display: 'block',\n height: 1,\n left: 20,\n position: 'absolute',\n width: '100%',\n}));\n\nexport class Arrow extends React.Component {\n static propTypes = {\n direction: PropTypes.string,\n };\n\n render() {\n const { direction } = this.props;\n\n const extraStyle =\n direction === 'left'\n ? {}\n : {\n transform: 'rotate(180deg)',\n };\n\n return (\n <ArrowContainer style={extraStyle}>\n <ArrowHead\n style={{\n transform: 'rotate(90deg)',\n color: '#979797',\n fontSize: 40,\n }}\n />\n <Line isRight={direction !== 'left'} />\n </ArrowContainer>\n );\n }\n}\n\nexport default Arrow;\n"],"mappings":";;;;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AAEA,MAAMI,cAAc,GAAG,IAAAC,cAAM,EAAC,KAAK,CAAC,CAAC;EACnCC,OAAO,EAAE,cAAc;EACvBC,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC,CAAC;AAEF,MAAMC,IAAI,GAAG,IAAAJ,cAAM,EAAC,MAAM,CAAC,CAAC,CAAC;EAAEK,KAAK;EAAEC;AAAQ,CAAC,MAAM;EACnDC,eAAe,EAAEF,KAAK,CAACG,OAAO,CAACC,IAAI,CAAC,GAAG,CAAC;EACxCC,MAAM,EAAEJ,OAAO,GAAG,EAAE,GAAG,EAAE;EACzBK,OAAO,EAAE,IAAI;EACbV,OAAO,EAAE,OAAO;EAChBW,MAAM,EAAE,CAAC;EACTC,IAAI,EAAE,EAAE;EACRX,QAAQ,EAAE,UAAU;EACpBC,KAAK,EAAE;AACT,CAAC,CAAC,CAAC;AAEI,MAAMW,KAAK,SAASC,cAAK,CAACC,SAAS,CAAC;EAKzCC,MAAMA,CAAA,EAAG;IACP,MAAM;MAAEC;IAAU,CAAC,GAAG,IAAI,CAACC,KAAK;IAEhC,MAAMC,UAAU,GACdF,SAAS,KAAK,MAAM,GAChB,CAAC,CAAC,GACF;MACEG,SAAS,EAAE;IACb,CAAC;IAEP,oBACE5B,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACxB,cAAc;MAACyB,KAAK,EAAEJ;IAAW,gBAChC3B,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC1B,cAAA,CAAAyB,OAAS;MACRE,KAAK,EAAE;QACLH,SAAS,EAAE,eAAe;QAC1BI,KAAK,EAAE,SAAS;QAChBC,QAAQ,EAAE;MACZ;IAAE,CACH,CAAC,eACFjC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACnB,IAAI;MAACE,OAAO,EAAEY,SAAS,KAAK;IAAO,CAAE,CACxB,CAAC;EAErB;AACF;AAACS,OAAA,CAAAb,KAAA,GAAAA,KAAA;AAAA,IAAAc,gBAAA,CAAAN,OAAA,EA5BYR,KAAK,eACG;EACjBI,SAAS,EAAEW,kBAAS,CAACC;AACvB,CAAC;AAAA,IAAAC,QAAA,GAAAJ,OAAA,CAAAL,OAAA,GA2BYR,KAAK","ignoreList":[]}
|
package/lib/choices-list.js
CHANGED
|
@@ -1,130 +1,72 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
|
-
exports
|
|
9
|
-
|
|
7
|
+
exports.default = exports.ChoicesList = void 0;
|
|
10
8
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
15
|
-
|
|
16
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
17
|
-
|
|
18
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
19
|
-
|
|
20
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
21
|
-
|
|
22
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
23
|
-
|
|
24
10
|
var _react = _interopRequireDefault(require("react"));
|
|
25
|
-
|
|
26
11
|
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
27
|
-
|
|
28
|
-
var _styles = require("@material-ui/core/styles");
|
|
29
|
-
|
|
12
|
+
var _styles = require("@mui/material/styles");
|
|
30
13
|
var _isEmpty = _interopRequireDefault(require("lodash/isEmpty"));
|
|
31
|
-
|
|
32
14
|
var _isUndefined = _interopRequireDefault(require("lodash/isUndefined"));
|
|
33
|
-
|
|
34
15
|
var _find = _interopRequireDefault(require("lodash/find"));
|
|
35
|
-
|
|
36
|
-
var _answer = require("./answer");
|
|
37
|
-
|
|
16
|
+
var _answer = _interopRequireDefault(require("./answer"));
|
|
38
17
|
var _drag = require("@pie-lib/drag");
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
18
|
+
const ChoicesContainer = (0, _styles.styled)('div')(({
|
|
19
|
+
theme
|
|
20
|
+
}) => ({
|
|
21
|
+
marginBottom: theme.spacing(2)
|
|
22
|
+
}));
|
|
23
|
+
const AnswersContainer = (0, _styles.styled)('div')(({
|
|
24
|
+
theme
|
|
25
|
+
}) => ({
|
|
26
|
+
alignItems: 'center',
|
|
27
|
+
display: 'flex',
|
|
28
|
+
flexDirection: 'row',
|
|
29
|
+
flexWrap: 'wrap',
|
|
30
|
+
justifyContent: 'space-between',
|
|
31
|
+
marginTop: theme.spacing(1),
|
|
32
|
+
marginBottom: theme.spacing(1)
|
|
33
|
+
}));
|
|
34
|
+
class ChoicesList extends _react.default.Component {
|
|
35
|
+
render() {
|
|
36
|
+
const {
|
|
37
|
+
model,
|
|
38
|
+
disabled,
|
|
39
|
+
session,
|
|
40
|
+
instanceId,
|
|
41
|
+
onRemoveAnswer
|
|
42
|
+
} = this.props;
|
|
43
|
+
const {
|
|
44
|
+
config
|
|
45
|
+
} = model;
|
|
46
|
+
const {
|
|
47
|
+
duplicates
|
|
48
|
+
} = config;
|
|
49
|
+
const filteredAnswers = config.answers.filter(answer => duplicates || (0, _isEmpty.default)(session) || !session.value || (0, _isUndefined.default)((0, _find.default)(session.value, val => val === answer.id))).map(answer => /*#__PURE__*/_react.default.createElement(_answer.default, (0, _extends2.default)({
|
|
50
|
+
key: answer.id,
|
|
51
|
+
instanceId: instanceId,
|
|
52
|
+
draggable: true,
|
|
53
|
+
disabled: disabled,
|
|
54
|
+
session: session,
|
|
55
|
+
type: "choice"
|
|
56
|
+
}, answer)));
|
|
57
|
+
return /*#__PURE__*/_react.default.createElement(ChoicesContainer, null, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react.default.createElement(_drag.MatchDroppablePlaceholder, {
|
|
58
|
+
disabled: disabled,
|
|
59
|
+
onRemoveAnswer: onRemoveAnswer
|
|
60
|
+
}, filteredAnswers) : /*#__PURE__*/_react.default.createElement(AnswersContainer, null, filteredAnswers));
|
|
52
61
|
}
|
|
53
|
-
|
|
54
|
-
(0, _createClass2["default"])(ChoicesList, [{
|
|
55
|
-
key: "render",
|
|
56
|
-
value: function render() {
|
|
57
|
-
var _this$props = this.props,
|
|
58
|
-
model = _this$props.model,
|
|
59
|
-
classes = _this$props.classes,
|
|
60
|
-
disabled = _this$props.disabled,
|
|
61
|
-
session = _this$props.session,
|
|
62
|
-
instanceId = _this$props.instanceId,
|
|
63
|
-
onRemoveAnswer = _this$props.onRemoveAnswer;
|
|
64
|
-
var config = model.config;
|
|
65
|
-
var duplicates = config.duplicates;
|
|
66
|
-
var filteredAnswers = config.answers.filter(function (answer) {
|
|
67
|
-
return duplicates || (0, _isEmpty["default"])(session) || !session.value || (0, _isUndefined["default"])((0, _find["default"])(session.value, function (val) {
|
|
68
|
-
return val === answer.id;
|
|
69
|
-
}));
|
|
70
|
-
}).map(function (answer) {
|
|
71
|
-
return /*#__PURE__*/_react["default"].createElement(_answer.DragAnswer, (0, _extends2["default"])({
|
|
72
|
-
key: answer.id,
|
|
73
|
-
instanceId: instanceId,
|
|
74
|
-
className: classes.choice,
|
|
75
|
-
draggable: true,
|
|
76
|
-
disabled: disabled,
|
|
77
|
-
session: session,
|
|
78
|
-
type: "choice"
|
|
79
|
-
}, answer));
|
|
80
|
-
});
|
|
81
|
-
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
82
|
-
className: classes.choicesContainer
|
|
83
|
-
}, _drag.MatchDroppablePlaceholder ? /*#__PURE__*/_react["default"].createElement(_drag.MatchDroppablePlaceholder, {
|
|
84
|
-
disabled: disabled,
|
|
85
|
-
onRemoveAnswer: onRemoveAnswer
|
|
86
|
-
}, filteredAnswers) : /*#__PURE__*/_react["default"].createElement("div", {
|
|
87
|
-
className: classes.answersContainer
|
|
88
|
-
}, filteredAnswers));
|
|
89
|
-
}
|
|
90
|
-
}]);
|
|
91
|
-
return ChoicesList;
|
|
92
|
-
}(_react["default"].Component);
|
|
93
|
-
|
|
62
|
+
}
|
|
94
63
|
exports.ChoicesList = ChoicesList;
|
|
95
|
-
(0, _defineProperty2
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
onRemoveAnswer: _propTypes["default"].func
|
|
64
|
+
(0, _defineProperty2.default)(ChoicesList, "propTypes", {
|
|
65
|
+
session: _propTypes.default.object.isRequired,
|
|
66
|
+
instanceId: _propTypes.default.string.isRequired,
|
|
67
|
+
model: _propTypes.default.object.isRequired,
|
|
68
|
+
disabled: _propTypes.default.bool.isRequired,
|
|
69
|
+
onRemoveAnswer: _propTypes.default.func
|
|
102
70
|
});
|
|
103
|
-
|
|
104
|
-
var styles = function styles(theme) {
|
|
105
|
-
return {
|
|
106
|
-
choicesContainer: {
|
|
107
|
-
marginBottom: theme.spacing.unit * 2
|
|
108
|
-
},
|
|
109
|
-
answersContainer: {
|
|
110
|
-
alignItems: 'center',
|
|
111
|
-
display: 'flex',
|
|
112
|
-
flexDirection: 'row',
|
|
113
|
-
flexWrap: 'wrap',
|
|
114
|
-
justifyContent: 'space-between',
|
|
115
|
-
marginTop: theme.spacing.unit,
|
|
116
|
-
marginBottom: theme.spacing.unit
|
|
117
|
-
},
|
|
118
|
-
choice: {
|
|
119
|
-
minHeight: '40px',
|
|
120
|
-
minWidth: '200px',
|
|
121
|
-
height: 'initial',
|
|
122
|
-
margin: theme.spacing.unit / 2
|
|
123
|
-
}
|
|
124
|
-
};
|
|
125
|
-
};
|
|
126
|
-
|
|
127
|
-
var _default = (0, _styles.withStyles)(styles)(ChoicesList);
|
|
128
|
-
|
|
129
|
-
exports["default"] = _default;
|
|
71
|
+
var _default = exports.default = ChoicesList;
|
|
130
72
|
//# sourceMappingURL=choices-list.js.map
|
package/lib/choices-list.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"choices-list.js","names":["_react","_interopRequireDefault","require","_propTypes","_styles","_isEmpty","_isUndefined","_find","_answer","_drag","ChoicesContainer","styled","theme","marginBottom","spacing","AnswersContainer","alignItems","display","flexDirection","flexWrap","justifyContent","marginTop","ChoicesList","React","Component","render","model","disabled","session","instanceId","onRemoveAnswer","props","config","duplicates","filteredAnswers","answers","filter","answer","isEmpty","value","isUndefined","find","val","id","map","default","createElement","_extends2","key","draggable","type","MatchDroppablePlaceholder","exports","_defineProperty2","PropTypes","object","isRequired","string","bool","func","_default"],"sources":["../src/choices-list.jsx"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport isEmpty from 'lodash/isEmpty';\nimport isUndefined from 'lodash/isUndefined';\nimport find from 'lodash/find';\nimport DragAndDropAnswer from './answer';\nimport { MatchDroppablePlaceholder } from '@pie-lib/drag';\n\nconst ChoicesContainer = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2),\n}));\n\nconst AnswersContainer = styled('div')(({ theme }) => ({\n alignItems: 'center',\n display: 'flex',\n flexDirection: 'row',\n flexWrap: 'wrap',\n justifyContent: 'space-between',\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n}));\n\nexport class ChoicesList extends React.Component {\n static propTypes = {\n session: PropTypes.object.isRequired,\n instanceId: PropTypes.string.isRequired,\n model: PropTypes.object.isRequired,\n disabled: PropTypes.bool.isRequired,\n onRemoveAnswer: PropTypes.func,\n };\n\n render() {\n const { model, disabled, session, instanceId, onRemoveAnswer } = this.props;\n const { config } = model;\n const { duplicates } = config;\n\n const filteredAnswers = config.answers\n .filter(\n (answer) =>\n duplicates ||\n isEmpty(session) ||\n !session.value ||\n isUndefined(find(session.value, (val) => val === answer.id)),\n )\n .map((answer) => (\n <DragAndDropAnswer\n key={answer.id}\n instanceId={instanceId}\n draggable={true}\n disabled={disabled}\n session={session}\n type=\"choice\"\n {...answer}\n />\n ));\n\n return (\n <ChoicesContainer>\n {MatchDroppablePlaceholder ? (\n <MatchDroppablePlaceholder disabled={disabled} onRemoveAnswer={onRemoveAnswer}>\n {filteredAnswers}\n </MatchDroppablePlaceholder>\n ) : (\n <AnswersContainer>{filteredAnswers}</AnswersContainer>\n )}\n </ChoicesContainer>\n );\n }\n}\n\nexport default ChoicesList;\n"],"mappings":"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","ignoreList":[]}
|
package/lib/index.js
CHANGED
|
@@ -1,132 +1,86 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
4
|
Object.defineProperty(exports, "__esModule", {
|
|
6
5
|
value: true
|
|
7
6
|
});
|
|
8
7
|
Object.defineProperty(exports, "Component", {
|
|
9
8
|
enumerable: true,
|
|
10
|
-
get: function
|
|
11
|
-
return _main
|
|
9
|
+
get: function () {
|
|
10
|
+
return _main.default;
|
|
12
11
|
}
|
|
13
12
|
});
|
|
14
|
-
exports.isComplete = exports
|
|
15
|
-
|
|
16
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
17
|
-
|
|
18
|
-
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
19
|
-
|
|
20
|
-
var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits"));
|
|
21
|
-
|
|
22
|
-
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn"));
|
|
23
|
-
|
|
24
|
-
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf"));
|
|
25
|
-
|
|
26
|
-
var _wrapNativeSuper2 = _interopRequireDefault(require("@babel/runtime/helpers/wrapNativeSuper"));
|
|
27
|
-
|
|
13
|
+
exports.isComplete = exports.default = void 0;
|
|
28
14
|
var _react = _interopRequireDefault(require("react"));
|
|
29
|
-
|
|
30
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
31
|
-
|
|
15
|
+
var _client = require("react-dom/client");
|
|
32
16
|
var _debug = _interopRequireDefault(require("debug"));
|
|
33
|
-
|
|
34
17
|
var _main = _interopRequireDefault(require("./main"));
|
|
35
|
-
|
|
36
18
|
var _piePlayerEvents = require("@pie-framework/pie-player-events");
|
|
37
|
-
|
|
38
19
|
var _mathRendering = require("@pie-lib/math-rendering");
|
|
39
|
-
|
|
40
|
-
|
|
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 { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
43
|
-
|
|
44
|
-
var log = (0, _debug["default"])('pie-ui:graph-lines');
|
|
45
|
-
|
|
46
|
-
var isComplete = function isComplete(session, model) {
|
|
20
|
+
const log = (0, _debug.default)('pie-ui:graph-lines');
|
|
21
|
+
const isComplete = (session, model) => {
|
|
47
22
|
if (!session) {
|
|
48
23
|
return false;
|
|
49
24
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
var complete = true;
|
|
53
|
-
|
|
25
|
+
const value = session.value;
|
|
26
|
+
let complete = true;
|
|
54
27
|
if (value) {
|
|
55
|
-
(model.config.prompts || []).forEach(
|
|
28
|
+
(model.config.prompts || []).forEach(prompt => {
|
|
56
29
|
if (!Number.isFinite(value[prompt.id])) {
|
|
57
30
|
complete = false;
|
|
58
31
|
}
|
|
59
32
|
});
|
|
60
33
|
}
|
|
61
|
-
|
|
62
34
|
return complete;
|
|
63
35
|
};
|
|
64
|
-
|
|
65
36
|
exports.isComplete = isComplete;
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
var _super = _createSuper(MatchList);
|
|
71
|
-
|
|
72
|
-
function MatchList() {
|
|
73
|
-
(0, _classCallCheck2["default"])(this, MatchList);
|
|
74
|
-
return _super.call(this);
|
|
37
|
+
class MatchList extends HTMLElement {
|
|
38
|
+
constructor() {
|
|
39
|
+
super();
|
|
40
|
+
this._root = null;
|
|
75
41
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
log('session: ', this._session);
|
|
100
|
-
|
|
101
|
-
this._render();
|
|
42
|
+
set model(m) {
|
|
43
|
+
this._model = m;
|
|
44
|
+
this._render();
|
|
45
|
+
}
|
|
46
|
+
set session(s) {
|
|
47
|
+
this._session = s;
|
|
48
|
+
this._render();
|
|
49
|
+
}
|
|
50
|
+
get session() {
|
|
51
|
+
return this._session;
|
|
52
|
+
}
|
|
53
|
+
sessionChanged(s) {
|
|
54
|
+
this._session.value = s.value;
|
|
55
|
+
this.dispatchEvent(new _piePlayerEvents.SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));
|
|
56
|
+
log('session: ', this._session);
|
|
57
|
+
this._render();
|
|
58
|
+
}
|
|
59
|
+
connectedCallback() {
|
|
60
|
+
this._render();
|
|
61
|
+
}
|
|
62
|
+
_render() {
|
|
63
|
+
if (!this._model || !this._session) {
|
|
64
|
+
return;
|
|
102
65
|
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
this.
|
|
66
|
+
const el = /*#__PURE__*/_react.default.createElement(_main.default, {
|
|
67
|
+
model: this._model,
|
|
68
|
+
session: this._session,
|
|
69
|
+
onSessionChange: this.sessionChanged.bind(this)
|
|
70
|
+
});
|
|
71
|
+
if (!this._root) {
|
|
72
|
+
this._root = (0, _client.createRoot)(this);
|
|
107
73
|
}
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
var el = /*#__PURE__*/_react["default"].createElement(_main["default"], {
|
|
118
|
-
model: this._model,
|
|
119
|
-
session: this._session,
|
|
120
|
-
onSessionChange: this.sessionChanged.bind(this)
|
|
121
|
-
});
|
|
122
|
-
|
|
123
|
-
_reactDom["default"].render(el, this, function () {
|
|
124
|
-
(0, _mathRendering.renderMath)(_this);
|
|
125
|
-
});
|
|
74
|
+
this._root.render(el);
|
|
75
|
+
queueMicrotask(() => {
|
|
76
|
+
(0, _mathRendering.renderMath)(this);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
disconnectedCallback() {
|
|
80
|
+
if (this._root) {
|
|
81
|
+
this._root.unmount();
|
|
126
82
|
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
exports["default"] = MatchList;
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.default = MatchList;
|
|
132
86
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"
|
|
1
|
+
{"version":3,"file":"index.js","names":["_react","_interopRequireDefault","require","_client","_debug","_main","_piePlayerEvents","_mathRendering","log","debug","isComplete","session","model","value","complete","config","prompts","forEach","prompt","Number","isFinite","id","exports","MatchList","HTMLElement","constructor","_root","m","_model","_render","s","_session","sessionChanged","dispatchEvent","SessionChangedEvent","tagName","toLowerCase","connectedCallback","el","React","createElement","Main","onSessionChange","bind","createRoot","render","queueMicrotask","renderMath","disconnectedCallback","unmount","default"],"sources":["../src/index.js"],"sourcesContent":["import React from 'react';\nimport { createRoot } from 'react-dom/client';\nimport debug from 'debug';\nimport Main from './main';\n\nimport { SessionChangedEvent } from '@pie-framework/pie-player-events';\nimport { renderMath } from '@pie-lib/math-rendering';\n\nconst log = debug('pie-ui:graph-lines');\n\nexport { Main as Component };\n\nexport const isComplete = (session, model) => {\n if (!session) {\n return false;\n }\n\n const value = session.value;\n let complete = true;\n\n if (value) {\n (model.config.prompts || []).forEach((prompt) => {\n if (!Number.isFinite(value[prompt.id])) {\n complete = false;\n }\n });\n }\n\n return complete;\n};\n\nexport default class MatchList extends HTMLElement {\n constructor() {\n super();\n this._root = null;\n }\n\n set model(m) {\n this._model = m;\n this._render();\n }\n\n set session(s) {\n this._session = s;\n this._render();\n }\n\n get session() {\n return this._session;\n }\n\n sessionChanged(s) {\n this._session.value = s.value;\n\n this.dispatchEvent(new SessionChangedEvent(this.tagName.toLowerCase(), isComplete(this._session, this._model)));\n\n log('session: ', this._session);\n this._render();\n }\n\n connectedCallback() {\n this._render();\n }\n\n _render() {\n if (!this._model || !this._session) {\n return;\n }\n\n const el = React.createElement(Main, {\n model: this._model,\n session: this._session,\n onSessionChange: this.sessionChanged.bind(this),\n });\n\n if (!this._root) {\n this._root = createRoot(this);\n }\n this._root.render(el);\n queueMicrotask(() => {\n renderMath(this);\n });\n }\n\n disconnectedCallback() {\n if (this._root) {\n this._root.unmount();\n }\n }\n}\n"],"mappings":"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","ignoreList":[]}
|