@pie-element/charting 12.1.2-next.2 → 12.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +487 -0
- package/CHANGELOG.md +2001 -0
- package/LICENSE.md +5 -0
- package/README.md +1 -0
- package/configure/CHANGELOG.json +292 -0
- package/configure/CHANGELOG.md +1768 -0
- package/configure/lib/charting-config.js +192 -0
- package/configure/lib/charting-config.js.map +1 -0
- package/configure/lib/configure.js +312 -0
- package/configure/lib/configure.js.map +1 -0
- package/configure/lib/correct-response.js +244 -0
- package/configure/lib/correct-response.js.map +1 -0
- package/configure/lib/defaults.js +233 -0
- package/configure/lib/defaults.js.map +1 -0
- package/configure/lib/index.js +120 -0
- package/configure/lib/index.js.map +1 -0
- package/configure/lib/utils.js +80 -0
- package/configure/lib/utils.js.map +1 -0
- package/configure/package.json +29 -0
- package/controller/CHANGELOG.json +262 -0
- package/controller/CHANGELOG.md +1212 -0
- package/controller/lib/defaults.js +42 -0
- package/controller/lib/defaults.js.map +1 -0
- package/controller/lib/index.js +434 -0
- package/controller/lib/index.js.map +1 -0
- package/controller/package.json +24 -0
- package/docs/config-schema.json +2440 -0
- package/docs/config-schema.json.md +1802 -0
- package/docs/demo/config.js +8 -0
- package/docs/demo/generate.js +63 -0
- package/docs/demo/index.html +1 -0
- package/docs/demo/session.js +26 -0
- package/docs/pie-schema.json +1731 -0
- package/docs/pie-schema.json.md +945 -0
- package/lib/index.js +78 -0
- package/lib/index.js.map +1 -0
- package/lib/main.js +167 -0
- package/lib/main.js.map +1 -0
- package/package.json +21 -85
- package/configure.js +0 -2
- package/controller.js +0 -1
- package/dist/author/charting-config.d.ts +0 -30
- package/dist/author/charting-config.js +0 -126
- package/dist/author/configure.d.ts +0 -29
- package/dist/author/configure.js +0 -205
- package/dist/author/correct-response.d.ts +0 -27
- package/dist/author/correct-response.js +0 -115
- package/dist/author/defaults.d.ts +0 -229
- package/dist/author/defaults.js +0 -186
- package/dist/author/index.d.ts +0 -51
- package/dist/author/index.js +0 -74
- package/dist/author/utils.d.ts +0 -42
- package/dist/author/utils.js +0 -244
- package/dist/browser/author/index.js +0 -1242
- package/dist/browser/author/index.js.map +0 -1
- package/dist/browser/chart-C1GUG3cz.js +0 -58920
- package/dist/browser/chart-C1GUG3cz.js.map +0 -1
- package/dist/browser/charting.css +0 -2
- package/dist/browser/controller/index.js +0 -194
- package/dist/browser/controller/index.js.map +0 -1
- package/dist/browser/delivery/index.js +0 -517
- package/dist/browser/delivery/index.js.map +0 -1
- package/dist/browser/dist-CA-Ok7CW.js +0 -330
- package/dist/browser/dist-CA-Ok7CW.js.map +0 -1
- package/dist/charting.css +0 -2
- package/dist/controller/defaults.d.ts +0 -44
- package/dist/controller/defaults.js +0 -33
- package/dist/controller/index.d.ts +0 -28
- package/dist/controller/index.js +0 -153
- package/dist/delivery/index.d.ts +0 -21
- package/dist/delivery/index.js +0 -46
- package/dist/delivery/main.d.ts +0 -23
- package/dist/delivery/main.js +0 -128
- package/dist/index.d.ts +0 -1
- package/dist/index.iife.d.ts +0 -8
- package/dist/index.iife.js +0 -395
- package/dist/index.js +0 -2
- package/dist/runtime-support.d.ts +0 -12
- package/dist/runtime-support.js +0 -12
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.ChartingConfig = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var React = _interopRequireWildcard(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _styles = require("@mui/material/styles");
|
|
12
|
+
var _charting = require("@pie-lib/charting");
|
|
13
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
14
|
+
var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
|
|
15
|
+
var _renderUi = require("@pie-lib/render-ui");
|
|
16
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
17
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
18
|
+
const Container = (0, _styles.styled)('div')(({
|
|
19
|
+
theme
|
|
20
|
+
}) => ({
|
|
21
|
+
marginBottom: theme.spacing(2.5),
|
|
22
|
+
display: 'flex',
|
|
23
|
+
flex: 1
|
|
24
|
+
}));
|
|
25
|
+
const Title = (0, _styles.styled)('div')(({
|
|
26
|
+
theme
|
|
27
|
+
}) => ({
|
|
28
|
+
marginBottom: theme.spacing(1)
|
|
29
|
+
}));
|
|
30
|
+
const Column = (0, _styles.styled)('div')({
|
|
31
|
+
flex: 1
|
|
32
|
+
});
|
|
33
|
+
const CustomColorCheckbox = (0, _styles.styled)(_Checkbox.default)({
|
|
34
|
+
color: `${_renderUi.color.tertiary()} !important`
|
|
35
|
+
});
|
|
36
|
+
const restoreCorrectAnswer = (correctAnswer, data) => {
|
|
37
|
+
if (!correctAnswer) {
|
|
38
|
+
return data;
|
|
39
|
+
}
|
|
40
|
+
let correctResponseDefinition = [];
|
|
41
|
+
(data || []).forEach((category, currentIndex) => {
|
|
42
|
+
const {
|
|
43
|
+
editable,
|
|
44
|
+
interactive
|
|
45
|
+
} = category;
|
|
46
|
+
const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;
|
|
47
|
+
const value = interactive && correctAnswer[currentIndex]?.value ? correctAnswer[currentIndex].value : category.value;
|
|
48
|
+
correctResponseDefinition[currentIndex] = {
|
|
49
|
+
label: label,
|
|
50
|
+
value: value,
|
|
51
|
+
editable: category.editable,
|
|
52
|
+
interactive: category.interactive
|
|
53
|
+
};
|
|
54
|
+
});
|
|
55
|
+
return correctResponseDefinition;
|
|
56
|
+
};
|
|
57
|
+
class ChartingConfig extends React.Component {
|
|
58
|
+
constructor(props) {
|
|
59
|
+
super(props);
|
|
60
|
+
(0, _defineProperty2.default)(this, "handleAlertDialog", (open, callback) => this.setState({
|
|
61
|
+
dialog: {
|
|
62
|
+
open
|
|
63
|
+
}
|
|
64
|
+
}, callback));
|
|
65
|
+
(0, _defineProperty2.default)(this, "changeData", data => this.props.onChange({
|
|
66
|
+
...this.props.model,
|
|
67
|
+
data
|
|
68
|
+
}));
|
|
69
|
+
(0, _defineProperty2.default)(this, "changeAddRemoveEnabled", value => {
|
|
70
|
+
const {
|
|
71
|
+
model
|
|
72
|
+
} = this.props;
|
|
73
|
+
const correctAnswer = restoreCorrectAnswer(model.correctAnswer.data, model.data);
|
|
74
|
+
if (!value) {
|
|
75
|
+
this.setState({
|
|
76
|
+
dialog: {
|
|
77
|
+
open: true,
|
|
78
|
+
title: 'Warning',
|
|
79
|
+
text: 'This change will remove any correct answer categories that are not part of the initial item configuration.',
|
|
80
|
+
onConfirm: () => this.handleAlertDialog(false, this.props.onChange({
|
|
81
|
+
...this.props.model,
|
|
82
|
+
addCategoryEnabled: value,
|
|
83
|
+
correctAnswer: {
|
|
84
|
+
data: correctAnswer
|
|
85
|
+
}
|
|
86
|
+
})),
|
|
87
|
+
onClose: () => this.handleAlertDialog(false)
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
} else {
|
|
91
|
+
this.props.onChange({
|
|
92
|
+
...this.props.model,
|
|
93
|
+
addCategoryEnabled: value
|
|
94
|
+
});
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
(0, _defineProperty2.default)(this, "changeTitle", title => this.props.onChange({
|
|
98
|
+
...this.props.model,
|
|
99
|
+
title
|
|
100
|
+
}));
|
|
101
|
+
(0, _defineProperty2.default)(this, "changeLabel", (type, label) => this.props.onChange({
|
|
102
|
+
...this.props.model,
|
|
103
|
+
[type]: {
|
|
104
|
+
...this.props.model[type],
|
|
105
|
+
label
|
|
106
|
+
}
|
|
107
|
+
}));
|
|
108
|
+
this.state = {
|
|
109
|
+
dialog: {
|
|
110
|
+
open: false
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
render() {
|
|
115
|
+
const {
|
|
116
|
+
model,
|
|
117
|
+
charts,
|
|
118
|
+
labelsPlaceholders,
|
|
119
|
+
titlePlaceholder,
|
|
120
|
+
showPixelGuides,
|
|
121
|
+
authorNewCategoryDefaults,
|
|
122
|
+
chartingOptions,
|
|
123
|
+
mathMlOptions = {},
|
|
124
|
+
labelsCharactersLimit
|
|
125
|
+
} = this.props;
|
|
126
|
+
const {
|
|
127
|
+
dialog
|
|
128
|
+
} = this.state;
|
|
129
|
+
const {
|
|
130
|
+
domain = {},
|
|
131
|
+
range = {}
|
|
132
|
+
} = model || {};
|
|
133
|
+
return /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(Title, null, "Define Initial Chart Attributes"), /*#__PURE__*/React.createElement(Container, null, /*#__PURE__*/React.createElement(Column, {
|
|
134
|
+
key: "graph"
|
|
135
|
+
}, /*#__PURE__*/React.createElement(_Typography.default, {
|
|
136
|
+
component: "div",
|
|
137
|
+
type: "body1"
|
|
138
|
+
}, /*#__PURE__*/React.createElement("span", null, "Use the tools below to set up the chart as it will initially appear to students.")), /*#__PURE__*/React.createElement(_charting.Chart, {
|
|
139
|
+
defineChart: true,
|
|
140
|
+
chartingOptions: chartingOptions,
|
|
141
|
+
showPixelGuides: showPixelGuides,
|
|
142
|
+
chartType: model.chartType,
|
|
143
|
+
size: model.graph,
|
|
144
|
+
domain: domain,
|
|
145
|
+
range: range,
|
|
146
|
+
charts: charts
|
|
147
|
+
// index is a property used for setting the correct answer data; it's needed in order to remove categories from other data sets from the same index it was removed from the initial data
|
|
148
|
+
,
|
|
149
|
+
data: model.data.map((category, index) => ({
|
|
150
|
+
...category,
|
|
151
|
+
index: index
|
|
152
|
+
})),
|
|
153
|
+
title: model.title,
|
|
154
|
+
onDataChange: this.changeData,
|
|
155
|
+
onChangeTitle: this.changeTitle,
|
|
156
|
+
onChangeLabels: this.changeLabel,
|
|
157
|
+
addCategoryEnabled: true,
|
|
158
|
+
changeInteractiveEnabled: model.changeInteractiveEnabled,
|
|
159
|
+
changeEditableEnabled: model.changeEditableEnabled,
|
|
160
|
+
categoryDefaultLabel: authorNewCategoryDefaults?.label,
|
|
161
|
+
categoryDefaults: authorNewCategoryDefaults,
|
|
162
|
+
labelsPlaceholders: labelsPlaceholders,
|
|
163
|
+
titlePlaceholder: titlePlaceholder?.label,
|
|
164
|
+
mathMlOptions: mathMlOptions,
|
|
165
|
+
labelsCharactersLimit: labelsCharactersLimit
|
|
166
|
+
}), model.changeAddCategoryEnabled && /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(CustomColorCheckbox, {
|
|
167
|
+
checked: model.addCategoryEnabled,
|
|
168
|
+
onChange: e => {
|
|
169
|
+
this.changeAddRemoveEnabled(e.target.checked);
|
|
170
|
+
}
|
|
171
|
+
}), chartingOptions?.addCategory?.authoringLabel), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
|
|
172
|
+
open: dialog.open,
|
|
173
|
+
title: dialog.title,
|
|
174
|
+
text: dialog.text,
|
|
175
|
+
onClose: dialog.onClose,
|
|
176
|
+
onConfirm: dialog.onConfirm
|
|
177
|
+
}))));
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
exports.ChartingConfig = ChartingConfig;
|
|
181
|
+
(0, _defineProperty2.default)(ChartingConfig, "propTypes", {
|
|
182
|
+
model: _propTypes.default.object.isRequired,
|
|
183
|
+
onChange: _propTypes.default.func.isRequired,
|
|
184
|
+
charts: _propTypes.default.array,
|
|
185
|
+
labelsPlaceholders: _propTypes.default.object,
|
|
186
|
+
titlePlaceholder: _propTypes.default.object,
|
|
187
|
+
showPixelGuides: _propTypes.default.bool,
|
|
188
|
+
authorNewCategoryDefaults: _propTypes.default.object,
|
|
189
|
+
chartingOptions: _propTypes.default.object
|
|
190
|
+
});
|
|
191
|
+
var _default = exports.default = ChartingConfig;
|
|
192
|
+
//# sourceMappingURL=charting-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"charting-config.js","names":["React","_interopRequireWildcard","require","_propTypes","_interopRequireDefault","_styles","_charting","_configUi","_Checkbox","_renderUi","_Typography","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Container","styled","theme","marginBottom","spacing","display","flex","Title","Column","CustomColorCheckbox","Checkbox","color","tertiary","restoreCorrectAnswer","correctAnswer","data","correctResponseDefinition","forEach","category","currentIndex","editable","interactive","label","value","ChartingConfig","Component","constructor","props","_defineProperty2","open","callback","setState","dialog","onChange","model","title","text","onConfirm","handleAlertDialog","addCategoryEnabled","onClose","type","state","render","charts","labelsPlaceholders","titlePlaceholder","showPixelGuides","authorNewCategoryDefaults","chartingOptions","mathMlOptions","labelsCharactersLimit","domain","range","createElement","key","component","Chart","defineChart","chartType","size","graph","map","index","onDataChange","changeData","onChangeTitle","changeTitle","onChangeLabels","changeLabel","changeInteractiveEnabled","changeEditableEnabled","categoryDefaultLabel","categoryDefaults","changeAddCategoryEnabled","checked","changeAddRemoveEnabled","target","addCategory","authoringLabel","AlertDialog","exports","PropTypes","object","isRequired","func","array","bool","_default"],"sources":["../src/charting-config.jsx"],"sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { styled } from '@mui/material/styles';\nimport { Chart } from '@pie-lib/charting';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Checkbox from '@mui/material/Checkbox';\nimport { color } from '@pie-lib/render-ui';\n\nimport Typography from '@mui/material/Typography';\n\nconst Container = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n display: 'flex',\n flex: 1,\n}));\n\nconst Title = styled('div')(({ theme }) => ({\n marginBottom: theme.spacing(1),\n}));\n\nconst Column = styled('div')({\n flex: 1,\n});\n\nconst CustomColorCheckbox = styled(Checkbox)({\n color: `${color.tertiary()} !important`,\n});\n\nconst restoreCorrectAnswer = (correctAnswer, data) => {\n if (!correctAnswer) {\n return data;\n }\n\n let correctResponseDefinition = [];\n\n (data || []).forEach((category, currentIndex) => {\n const { editable, interactive } = category;\n\n const label = editable && correctAnswer[currentIndex]?.label ? correctAnswer[currentIndex].label : category.label;\n\n const value =\n interactive && correctAnswer[currentIndex]?.value ? correctAnswer[currentIndex].value : category.value;\n\n correctResponseDefinition[currentIndex] = {\n label: label,\n value: value,\n editable: category.editable,\n interactive: category.interactive,\n };\n });\n\n return correctResponseDefinition;\n};\n\nexport class ChartingConfig extends React.Component {\n static propTypes = {\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\n labelsPlaceholders: PropTypes.object,\n titlePlaceholder: PropTypes.object,\n showPixelGuides: PropTypes.bool,\n authorNewCategoryDefaults: PropTypes.object,\n chartingOptions: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n this.state = {\n dialog: {\n open: false,\n },\n };\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState(\n {\n dialog: { open },\n },\n callback,\n );\n\n changeData = (data) => this.props.onChange({ ...this.props.model, data });\n\n changeAddRemoveEnabled = (value) => {\n const { model } = this.props;\n const correctAnswer = restoreCorrectAnswer(model.correctAnswer.data, model.data);\n\n if (!value) {\n this.setState({\n dialog: {\n open: true,\n title: 'Warning',\n text: 'This change will remove any correct answer categories that are not part of the initial item configuration.',\n onConfirm: () =>\n this.handleAlertDialog(\n false,\n this.props.onChange({\n ...this.props.model,\n addCategoryEnabled: value,\n correctAnswer: { data: correctAnswer },\n }),\n ),\n onClose: () => this.handleAlertDialog(false),\n },\n });\n } else {\n this.props.onChange({ ...this.props.model, addCategoryEnabled: value });\n }\n };\n\n changeTitle = (title) => this.props.onChange({ ...this.props.model, title });\n\n changeLabel = (type, label) =>\n this.props.onChange({\n ...this.props.model,\n [type]: {\n ...this.props.model[type],\n label,\n },\n });\n\n render() {\n const {\n model,\n charts,\n labelsPlaceholders,\n titlePlaceholder,\n showPixelGuides,\n authorNewCategoryDefaults,\n chartingOptions,\n mathMlOptions = {},\n labelsCharactersLimit,\n } = this.props;\n const { dialog } = this.state;\n const { domain = {}, range = {} } = model || {};\n\n return (\n <div>\n <Title>Define Initial Chart Attributes</Title>\n <Container>\n <Column key=\"graph\">\n <Typography component=\"div\" type=\"body1\">\n <span>Use the tools below to set up the chart as it will initially appear to students.</span>\n </Typography>\n\n <Chart\n defineChart={true}\n chartingOptions={chartingOptions}\n showPixelGuides={showPixelGuides}\n chartType={model.chartType}\n size={model.graph}\n domain={domain}\n range={range}\n charts={charts}\n // index is a property used for setting the correct answer data; it's needed in order to remove categories from other data sets from the same index it was removed from the initial data\n data={model.data.map((category, index) => ({\n ...category,\n index: index,\n }))}\n title={model.title}\n onDataChange={this.changeData}\n onChangeTitle={this.changeTitle}\n onChangeLabels={this.changeLabel}\n addCategoryEnabled={true}\n changeInteractiveEnabled={model.changeInteractiveEnabled}\n changeEditableEnabled={model.changeEditableEnabled}\n categoryDefaultLabel={authorNewCategoryDefaults?.label}\n categoryDefaults={authorNewCategoryDefaults}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder?.label}\n mathMlOptions={mathMlOptions}\n labelsCharactersLimit={labelsCharactersLimit}\n />\n {model.changeAddCategoryEnabled && (\n <div>\n <CustomColorCheckbox\n checked={model.addCategoryEnabled}\n onChange={(e) => {\n this.changeAddRemoveEnabled(e.target.checked);\n }}\n />\n {chartingOptions?.addCategory?.authoringLabel}\n </div>\n )}\n <AlertDialog\n open={dialog.open}\n title={dialog.title}\n text={dialog.text}\n onClose={dialog.onClose}\n onConfirm={dialog.onConfirm}\n />\n </Column>\n </Container>\n </div>\n );\n }\n}\n\nexport default ChartingConfig;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,312 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = exports.Configure = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _styles = require("@mui/material/styles");
|
|
11
|
+
var _charting = require("@pie-lib/charting");
|
|
12
|
+
var _configUi = require("@pie-lib/config-ui");
|
|
13
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
14
|
+
var _debug = _interopRequireDefault(require("debug"));
|
|
15
|
+
var _Typography = _interopRequireDefault(require("@mui/material/Typography"));
|
|
16
|
+
var _editableHtmlTipTap = _interopRequireDefault(require("@pie-lib/editable-html-tip-tap"));
|
|
17
|
+
var _chartingConfig = _interopRequireDefault(require("./charting-config"));
|
|
18
|
+
var _correctResponse = _interopRequireDefault(require("./correct-response"));
|
|
19
|
+
var _utils = require("./utils");
|
|
20
|
+
const log = (0, _debug.default)('@pie-element:graphing:configure');
|
|
21
|
+
const {
|
|
22
|
+
Panel,
|
|
23
|
+
toggle,
|
|
24
|
+
radio,
|
|
25
|
+
dropdown,
|
|
26
|
+
textField
|
|
27
|
+
} = _configUi.settings;
|
|
28
|
+
const PromptHolder = (0, _styles.styled)(_configUi.InputContainer)(({
|
|
29
|
+
theme
|
|
30
|
+
}) => ({
|
|
31
|
+
width: '100%',
|
|
32
|
+
paddingTop: theme.spacing(2),
|
|
33
|
+
marginBottom: theme.spacing(2)
|
|
34
|
+
}));
|
|
35
|
+
const Description = (0, _styles.styled)(_Typography.default)(({
|
|
36
|
+
theme
|
|
37
|
+
}) => ({
|
|
38
|
+
marginBottom: theme.spacing(2.5)
|
|
39
|
+
}));
|
|
40
|
+
const ErrorText = (0, _styles.styled)('div')(({
|
|
41
|
+
theme
|
|
42
|
+
}) => ({
|
|
43
|
+
fontSize: theme.typography.fontSize - 2,
|
|
44
|
+
color: theme.palette.error.main,
|
|
45
|
+
paddingTop: theme.spacing(1)
|
|
46
|
+
}));
|
|
47
|
+
const charts = [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()];
|
|
48
|
+
class Configure extends _react.default.Component {
|
|
49
|
+
constructor(props) {
|
|
50
|
+
super(props);
|
|
51
|
+
(0, _defineProperty2.default)(this, "onRationaleChange", rationale => this.props.onModelChanged({
|
|
52
|
+
...this.props.model,
|
|
53
|
+
rationale
|
|
54
|
+
}));
|
|
55
|
+
(0, _defineProperty2.default)(this, "onPromptChange", prompt => this.props.onModelChanged({
|
|
56
|
+
...this.props.model,
|
|
57
|
+
prompt
|
|
58
|
+
}));
|
|
59
|
+
(0, _defineProperty2.default)(this, "onTeacherInstructionsChange", teacherInstructions => this.props.onModelChanged({
|
|
60
|
+
...this.props.model,
|
|
61
|
+
teacherInstructions
|
|
62
|
+
}));
|
|
63
|
+
(0, _defineProperty2.default)(this, "onChartTypeChange", chartType => this.props.onModelChanged({
|
|
64
|
+
...this.props.model,
|
|
65
|
+
chartType
|
|
66
|
+
}));
|
|
67
|
+
(0, _defineProperty2.default)(this, "onConfigChange", config => {
|
|
68
|
+
const {
|
|
69
|
+
model,
|
|
70
|
+
onModelChanged
|
|
71
|
+
} = this.props;
|
|
72
|
+
const {
|
|
73
|
+
gridValues: oldGridValues,
|
|
74
|
+
labelValues: oldLabelValues
|
|
75
|
+
} = this.state;
|
|
76
|
+
const updatedModel = {
|
|
77
|
+
...model,
|
|
78
|
+
...config
|
|
79
|
+
};
|
|
80
|
+
const {
|
|
81
|
+
graph,
|
|
82
|
+
range
|
|
83
|
+
} = updatedModel;
|
|
84
|
+
const gridValues = {};
|
|
85
|
+
const labelValues = {};
|
|
86
|
+
const rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
|
|
87
|
+
gridValues.range = rangeConstraints.gridValues;
|
|
88
|
+
labelValues.range = rangeConstraints.labelValues;
|
|
89
|
+
this.setState({
|
|
90
|
+
gridValues,
|
|
91
|
+
labelValues
|
|
92
|
+
});
|
|
93
|
+
onModelChanged(updatedModel);
|
|
94
|
+
});
|
|
95
|
+
const {
|
|
96
|
+
range: _range = {},
|
|
97
|
+
graph: _graph
|
|
98
|
+
} = props.model || {};
|
|
99
|
+
const _gridValues = {
|
|
100
|
+
range: (0, _utils.getGridValues)(_range, _graph.height, true)
|
|
101
|
+
};
|
|
102
|
+
const _labelValues = {
|
|
103
|
+
range: (0, _utils.getLabelValues)(_range.step || 1)
|
|
104
|
+
};
|
|
105
|
+
this.state = {
|
|
106
|
+
gridValues: _gridValues,
|
|
107
|
+
labelValues: _labelValues
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
render() {
|
|
111
|
+
const {
|
|
112
|
+
configuration,
|
|
113
|
+
imageSupport,
|
|
114
|
+
model,
|
|
115
|
+
onConfigurationChanged,
|
|
116
|
+
onModelChanged,
|
|
117
|
+
uploadSoundSupport
|
|
118
|
+
} = this.props;
|
|
119
|
+
log('[render] model', model);
|
|
120
|
+
const {
|
|
121
|
+
graph
|
|
122
|
+
} = model;
|
|
123
|
+
const {
|
|
124
|
+
baseInputConfiguration = {},
|
|
125
|
+
contentDimensions = {},
|
|
126
|
+
chartDimensions = {},
|
|
127
|
+
authorNewCategoryDefaults = {},
|
|
128
|
+
labelsPlaceholders = {},
|
|
129
|
+
instruction = {},
|
|
130
|
+
maxImageWidth = {},
|
|
131
|
+
maxImageHeight = {},
|
|
132
|
+
prompt = {},
|
|
133
|
+
rationale = {},
|
|
134
|
+
scoringType = {},
|
|
135
|
+
settingsPanelDisabled,
|
|
136
|
+
spellCheck = {},
|
|
137
|
+
studentInstructions = {},
|
|
138
|
+
teacherInstructions = {},
|
|
139
|
+
titlePlaceholder = {},
|
|
140
|
+
withRubric = {},
|
|
141
|
+
chartingOptions = {},
|
|
142
|
+
availableChartTypes = {},
|
|
143
|
+
mathMlOptions = {},
|
|
144
|
+
chartTypeLabel,
|
|
145
|
+
language = {},
|
|
146
|
+
languageChoices = {},
|
|
147
|
+
labelsCharactersLimit
|
|
148
|
+
} = configuration || {};
|
|
149
|
+
const {
|
|
150
|
+
errors,
|
|
151
|
+
extraCSSRules,
|
|
152
|
+
promptEnabled,
|
|
153
|
+
rationaleEnabled,
|
|
154
|
+
spellCheckEnabled,
|
|
155
|
+
teacherInstructionsEnabled,
|
|
156
|
+
studentNewCategoryDefaultLabel
|
|
157
|
+
} = model || {};
|
|
158
|
+
const {
|
|
159
|
+
categoryErrors,
|
|
160
|
+
correctAnswerErrors,
|
|
161
|
+
prompt: promptError,
|
|
162
|
+
rationale: rationaleError,
|
|
163
|
+
teacherInstructions: teacherInstructionsError
|
|
164
|
+
} = errors || {};
|
|
165
|
+
const {
|
|
166
|
+
gridValues,
|
|
167
|
+
labelValues
|
|
168
|
+
} = this.state;
|
|
169
|
+
const showPixeGuides = chartDimensions.showInConfigPanel || true;
|
|
170
|
+
const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
|
|
171
|
+
const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
|
|
172
|
+
const panelItemType = {
|
|
173
|
+
changeInteractiveEnabled: chartingOptions.changeInteractive?.settings && toggle(chartingOptions.changeInteractive.settingsLabel),
|
|
174
|
+
changeEditableEnabled: chartingOptions.changeEditable?.settings && toggle(chartingOptions.changeEditable.settingsLabel),
|
|
175
|
+
changeAddCategoryEnabled: chartingOptions.addCategory?.settings && toggle(chartingOptions.addCategory.settingsLabel)
|
|
176
|
+
};
|
|
177
|
+
const panelProperties = {
|
|
178
|
+
teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
|
|
179
|
+
studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
|
|
180
|
+
rationaleEnabled: rationale.settings && toggle(rationale.label),
|
|
181
|
+
spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
|
|
182
|
+
promptEnabled: prompt.settings && toggle(prompt.label),
|
|
183
|
+
scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),
|
|
184
|
+
rubricEnabled: withRubric?.settings && toggle(withRubric?.label),
|
|
185
|
+
'language.enabled': language.settings && toggle(language.label, true),
|
|
186
|
+
language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),
|
|
187
|
+
instruction: instruction.settings && textField(instruction.label)
|
|
188
|
+
};
|
|
189
|
+
const getPluginProps = (props = {}) => ({
|
|
190
|
+
...baseInputConfiguration,
|
|
191
|
+
...props
|
|
192
|
+
});
|
|
193
|
+
return /*#__PURE__*/_react.default.createElement(_configUi.layout.ConfigLayout, {
|
|
194
|
+
extraCSSRules: extraCSSRules,
|
|
195
|
+
dimensions: contentDimensions,
|
|
196
|
+
hideSettings: settingsPanelDisabled,
|
|
197
|
+
settings: /*#__PURE__*/_react.default.createElement(Panel, {
|
|
198
|
+
model: model,
|
|
199
|
+
configuration: configuration,
|
|
200
|
+
onChangeModel: onModelChanged,
|
|
201
|
+
onChangeConfiguration: onConfigurationChanged,
|
|
202
|
+
groups: {
|
|
203
|
+
Settings: panelItemType,
|
|
204
|
+
Properties: panelProperties
|
|
205
|
+
}
|
|
206
|
+
})
|
|
207
|
+
}, /*#__PURE__*/_react.default.createElement(Description, {
|
|
208
|
+
component: "div",
|
|
209
|
+
type: "body1"
|
|
210
|
+
}, instruction?.label || ''), teacherInstructionsEnabled && /*#__PURE__*/_react.default.createElement(PromptHolder, {
|
|
211
|
+
label: teacherInstructions.label
|
|
212
|
+
}, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
|
|
213
|
+
markup: model.teacherInstructions || '',
|
|
214
|
+
onChange: this.onTeacherInstructionsChange,
|
|
215
|
+
imageSupport: imageSupport,
|
|
216
|
+
nonEmpty: false,
|
|
217
|
+
error: teacherInstructionsError,
|
|
218
|
+
spellCheck: spellCheckEnabled,
|
|
219
|
+
pluginProps: getPluginProps(teacherInstructions?.inputConfiguration),
|
|
220
|
+
maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
|
|
221
|
+
maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
|
|
222
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
223
|
+
languageCharactersProps: [{
|
|
224
|
+
language: 'spanish'
|
|
225
|
+
}, {
|
|
226
|
+
language: 'special'
|
|
227
|
+
}],
|
|
228
|
+
mathMlOptions: mathMlOptions
|
|
229
|
+
}), teacherInstructionsError && /*#__PURE__*/_react.default.createElement(ErrorText, null, teacherInstructionsError)), promptEnabled && /*#__PURE__*/_react.default.createElement(PromptHolder, {
|
|
230
|
+
label: prompt.label
|
|
231
|
+
}, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
|
|
232
|
+
markup: model.prompt,
|
|
233
|
+
onChange: this.onPromptChange,
|
|
234
|
+
imageSupport: imageSupport,
|
|
235
|
+
nonEmpty: false,
|
|
236
|
+
error: promptError,
|
|
237
|
+
spellCheck: spellCheckEnabled,
|
|
238
|
+
disableUnderline: true,
|
|
239
|
+
pluginProps: getPluginProps(prompt?.inputConfiguration),
|
|
240
|
+
maxImageWidth: defaultImageMaxWidth,
|
|
241
|
+
maxImageHeight: defaultImageMaxHeight,
|
|
242
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
243
|
+
languageCharactersProps: [{
|
|
244
|
+
language: 'spanish'
|
|
245
|
+
}, {
|
|
246
|
+
language: 'special'
|
|
247
|
+
}],
|
|
248
|
+
mathMlOptions: mathMlOptions
|
|
249
|
+
}), promptError && /*#__PURE__*/_react.default.createElement(ErrorText, null, promptError)), /*#__PURE__*/_react.default.createElement(_charting.ConfigureChartPanel, {
|
|
250
|
+
model: model,
|
|
251
|
+
onChange: this.onConfigChange,
|
|
252
|
+
gridValues: gridValues,
|
|
253
|
+
labelValues: labelValues,
|
|
254
|
+
chartDimensions: chartDimensions,
|
|
255
|
+
charts: charts,
|
|
256
|
+
studentNewCategoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
257
|
+
availableChartTypes: availableChartTypes,
|
|
258
|
+
chartTypeLabel: chartTypeLabel
|
|
259
|
+
}), /*#__PURE__*/_react.default.createElement(_chartingConfig.default, {
|
|
260
|
+
model: model,
|
|
261
|
+
onChange: onModelChanged,
|
|
262
|
+
charts: charts,
|
|
263
|
+
labelsPlaceholders: labelsPlaceholders,
|
|
264
|
+
titlePlaceholder: titlePlaceholder,
|
|
265
|
+
showPixelGuides: showPixeGuides,
|
|
266
|
+
authorNewCategoryDefaults: authorNewCategoryDefaults,
|
|
267
|
+
chartingOptions: chartingOptions,
|
|
268
|
+
mathMlOptions: mathMlOptions,
|
|
269
|
+
labelsCharactersLimit: labelsCharactersLimit
|
|
270
|
+
}), /*#__PURE__*/_react.default.createElement(_correctResponse.default, {
|
|
271
|
+
config: graph,
|
|
272
|
+
model: model,
|
|
273
|
+
onChange: onModelChanged,
|
|
274
|
+
charts: charts,
|
|
275
|
+
error: categoryErrors,
|
|
276
|
+
correctAnswerErrors: correctAnswerErrors,
|
|
277
|
+
studentNewCategoryDefaultLabel: studentNewCategoryDefaultLabel,
|
|
278
|
+
mathMlOptions: mathMlOptions,
|
|
279
|
+
labelsPlaceholders: labelsPlaceholders
|
|
280
|
+
}), rationaleEnabled && /*#__PURE__*/_react.default.createElement(PromptHolder, {
|
|
281
|
+
label: rationale.label || 'Rationale'
|
|
282
|
+
}, /*#__PURE__*/_react.default.createElement(_editableHtmlTipTap.default, {
|
|
283
|
+
markup: model.rationale || '',
|
|
284
|
+
onChange: this.onRationaleChange,
|
|
285
|
+
imageSupport: imageSupport,
|
|
286
|
+
error: rationaleError,
|
|
287
|
+
spellCheck: spellCheckEnabled,
|
|
288
|
+
pluginProps: getPluginProps(rationale?.inputConfiguration),
|
|
289
|
+
maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
|
|
290
|
+
maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
|
|
291
|
+
uploadSoundSupport: uploadSoundSupport,
|
|
292
|
+
languageCharactersProps: [{
|
|
293
|
+
language: 'spanish'
|
|
294
|
+
}, {
|
|
295
|
+
language: 'special'
|
|
296
|
+
}],
|
|
297
|
+
mathMlOptions: mathMlOptions
|
|
298
|
+
}), rationaleError && /*#__PURE__*/_react.default.createElement(ErrorText, null, rationaleError)));
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
exports.Configure = Configure;
|
|
302
|
+
(0, _defineProperty2.default)(Configure, "propTypes", {
|
|
303
|
+
onModelChanged: _propTypes.default.func,
|
|
304
|
+
onConfigurationChanged: _propTypes.default.func,
|
|
305
|
+
imageSupport: _propTypes.default.object,
|
|
306
|
+
uploadSoundSupport: _propTypes.default.object,
|
|
307
|
+
model: _propTypes.default.object.isRequired,
|
|
308
|
+
configuration: _propTypes.default.object.isRequired,
|
|
309
|
+
chartingOptions: _propTypes.default.object
|
|
310
|
+
});
|
|
311
|
+
var _default = exports.default = Configure;
|
|
312
|
+
//# sourceMappingURL=configure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configure.js","names":["_react","_interopRequireDefault","require","_styles","_charting","_configUi","_propTypes","_debug","_Typography","_editableHtmlTipTap","_chartingConfig","_correctResponse","_utils","log","debug","Panel","toggle","radio","dropdown","textField","settings","PromptHolder","styled","InputContainer","theme","width","paddingTop","spacing","marginBottom","Description","Typography","ErrorText","fontSize","typography","color","palette","error","main","charts","chartTypes","Bar","Histogram","LineDot","LineCross","DotPlot","LinePlot","Configure","React","Component","constructor","props","_defineProperty2","default","rationale","onModelChanged","model","prompt","teacherInstructions","chartType","config","gridValues","oldGridValues","labelValues","oldLabelValues","state","updatedModel","graph","range","rangeConstraints","applyConstraints","height","setState","getGridValues","getLabelValues","step","render","configuration","imageSupport","onConfigurationChanged","uploadSoundSupport","baseInputConfiguration","contentDimensions","chartDimensions","authorNewCategoryDefaults","labelsPlaceholders","instruction","maxImageWidth","maxImageHeight","scoringType","settingsPanelDisabled","spellCheck","studentInstructions","titlePlaceholder","withRubric","chartingOptions","availableChartTypes","mathMlOptions","chartTypeLabel","language","languageChoices","labelsCharactersLimit","errors","extraCSSRules","promptEnabled","rationaleEnabled","spellCheckEnabled","teacherInstructionsEnabled","studentNewCategoryDefaultLabel","categoryErrors","correctAnswerErrors","promptError","rationaleError","teacherInstructionsError","showPixeGuides","showInConfigPanel","defaultImageMaxWidth","defaultImageMaxHeight","panelItemType","changeInteractiveEnabled","changeInteractive","settingsLabel","changeEditableEnabled","changeEditable","changeAddCategoryEnabled","addCategory","panelProperties","label","studentInstructionsEnabled","rubricEnabled","enabled","options","getPluginProps","createElement","layout","ConfigLayout","dimensions","hideSettings","onChangeModel","onChangeConfiguration","groups","Settings","Properties","component","type","markup","onChange","onTeacherInstructionsChange","nonEmpty","pluginProps","inputConfiguration","languageCharactersProps","onPromptChange","disableUnderline","ConfigureChartPanel","onConfigChange","showPixelGuides","onRationaleChange","exports","PropTypes","func","object","isRequired","_default"],"sources":["../src/configure.jsx"],"sourcesContent":["import React from 'react';\nimport { styled } from '@mui/material/styles';\nimport { chartTypes, ConfigureChartPanel } from '@pie-lib/charting';\nimport { settings, layout, InputContainer } from '@pie-lib/config-ui';\nimport PropTypes from 'prop-types';\nimport debug from 'debug';\nimport Typography from '@mui/material/Typography';\nimport EditableHtml from '@pie-lib/editable-html-tip-tap';\n\nimport ChartingConfig from './charting-config';\nimport CorrectResponse from './correct-response';\nimport { applyConstraints, getGridValues, getLabelValues } from './utils';\n\nconst log = debug('@pie-element:graphing:configure');\nconst { Panel, toggle, radio, dropdown, textField } = settings;\n\nconst PromptHolder = styled(InputContainer)(({ theme }) => ({\n width: '100%',\n paddingTop: theme.spacing(2),\n marginBottom: theme.spacing(2),\n}));\n\nconst Description = styled(Typography)(({ theme }) => ({\n marginBottom: theme.spacing(2.5),\n}));\n\nconst ErrorText = styled('div')(({ theme }) => ({\n fontSize: theme.typography.fontSize - 2,\n color: theme.palette.error.main,\n paddingTop: theme.spacing(1),\n}));\n\nconst charts = [\n chartTypes.Bar(),\n chartTypes.Histogram(),\n chartTypes.LineDot(),\n chartTypes.LineCross(),\n chartTypes.DotPlot(),\n chartTypes.LinePlot(),\n];\n\nexport class Configure extends React.Component {\n static propTypes = {\n onModelChanged: PropTypes.func,\n onConfigurationChanged: PropTypes.func,\n imageSupport: PropTypes.object,\n uploadSoundSupport: PropTypes.object,\n model: PropTypes.object.isRequired,\n configuration: PropTypes.object.isRequired,\n chartingOptions: PropTypes.object,\n };\n\n constructor(props) {\n super(props);\n const { range = {}, graph } = props.model || {};\n const gridValues = { range: getGridValues(range, graph.height, true) };\n const labelValues = { range: getLabelValues(range.step || 1) };\n\n this.state = { gridValues, labelValues };\n }\n\n onRationaleChange = (rationale) => this.props.onModelChanged({ ...this.props.model, rationale });\n\n onPromptChange = (prompt) => this.props.onModelChanged({ ...this.props.model, prompt });\n\n onTeacherInstructionsChange = (teacherInstructions) =>\n this.props.onModelChanged({ ...this.props.model, teacherInstructions });\n\n onChartTypeChange = (chartType) => this.props.onModelChanged({ ...this.props.model, chartType });\n\n onConfigChange = (config) => {\n const { model, onModelChanged } = this.props;\n const { gridValues: oldGridValues, labelValues: oldLabelValues } = this.state;\n const updatedModel = { ...model, ...config };\n const { graph, range } = updatedModel;\n const gridValues = {};\n const labelValues = {};\n\n const rangeConstraints = applyConstraints(range, graph.height, oldGridValues.range, oldLabelValues.range);\n\n gridValues.range = rangeConstraints.gridValues;\n labelValues.range = rangeConstraints.labelValues;\n\n this.setState({ gridValues, labelValues });\n onModelChanged(updatedModel);\n };\n\n render() {\n const { configuration, imageSupport, model, onConfigurationChanged, onModelChanged, uploadSoundSupport } =\n this.props;\n\n log('[render] model', model);\n\n const { graph } = model;\n const {\n baseInputConfiguration = {},\n contentDimensions = {},\n chartDimensions = {},\n authorNewCategoryDefaults = {},\n labelsPlaceholders = {},\n instruction = {},\n maxImageWidth = {},\n maxImageHeight = {},\n prompt = {},\n rationale = {},\n scoringType = {},\n settingsPanelDisabled,\n spellCheck = {},\n studentInstructions = {},\n teacherInstructions = {},\n titlePlaceholder = {},\n withRubric = {},\n chartingOptions = {},\n availableChartTypes = {},\n mathMlOptions = {},\n chartTypeLabel,\n language = {},\n languageChoices = {},\n labelsCharactersLimit,\n } = configuration || {};\n const {\n errors,\n extraCSSRules,\n promptEnabled,\n rationaleEnabled,\n spellCheckEnabled,\n teacherInstructionsEnabled,\n studentNewCategoryDefaultLabel,\n } = model || {};\n const {\n categoryErrors,\n correctAnswerErrors,\n prompt: promptError,\n rationale: rationaleError,\n teacherInstructions: teacherInstructionsError,\n } = errors || {};\n const { gridValues, labelValues } = this.state;\n const showPixeGuides = chartDimensions.showInConfigPanel || true;\n\n const defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;\n const defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;\n\n const panelItemType = {\n changeInteractiveEnabled:\n chartingOptions.changeInteractive?.settings && toggle(chartingOptions.changeInteractive.settingsLabel),\n changeEditableEnabled:\n chartingOptions.changeEditable?.settings && toggle(chartingOptions.changeEditable.settingsLabel),\n changeAddCategoryEnabled:\n chartingOptions.addCategory?.settings && toggle(chartingOptions.addCategory.settingsLabel),\n };\n\n const panelProperties = {\n teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),\n studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),\n rationaleEnabled: rationale.settings && toggle(rationale.label),\n spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),\n promptEnabled: prompt.settings && toggle(prompt.label),\n scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),\n rubricEnabled: withRubric?.settings && toggle(withRubric?.label),\n 'language.enabled': language.settings && toggle(language.label, true),\n language: language.settings && language.enabled && dropdown(languageChoices.label, languageChoices.options),\n instruction: instruction.settings && textField(instruction.label),\n };\n\n const getPluginProps = (props = {}) => ({\n ...baseInputConfiguration,\n ...props,\n });\n\n return (\n <layout.ConfigLayout\n extraCSSRules={extraCSSRules}\n dimensions={contentDimensions}\n hideSettings={settingsPanelDisabled}\n settings={\n <Panel\n model={model}\n configuration={configuration}\n onChangeModel={onModelChanged}\n onChangeConfiguration={onConfigurationChanged}\n groups={{\n Settings: panelItemType,\n Properties: panelProperties,\n }}\n />\n }\n >\n <Description component=\"div\" type=\"body1\">\n {instruction?.label || ''}\n </Description>\n\n {teacherInstructionsEnabled && (\n <PromptHolder label={teacherInstructions.label}>\n <EditableHtml\n markup={model.teacherInstructions || ''}\n onChange={this.onTeacherInstructionsChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={teacherInstructionsError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(teacherInstructions?.inputConfiguration)}\n maxImageWidth={(maxImageWidth && maxImageWidth.teacherInstructions) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.teacherInstructions) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {teacherInstructionsError && <ErrorText>{teacherInstructionsError}</ErrorText>}\n </PromptHolder>\n )}\n\n {promptEnabled && (\n <PromptHolder label={prompt.label}>\n <EditableHtml\n markup={model.prompt}\n onChange={this.onPromptChange}\n imageSupport={imageSupport}\n nonEmpty={false}\n error={promptError}\n spellCheck={spellCheckEnabled}\n disableUnderline\n pluginProps={getPluginProps(prompt?.inputConfiguration)}\n maxImageWidth={defaultImageMaxWidth}\n maxImageHeight={defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {promptError && <ErrorText>{promptError}</ErrorText>}\n </PromptHolder>\n )}\n\n <ConfigureChartPanel\n model={model}\n onChange={this.onConfigChange}\n gridValues={gridValues}\n labelValues={labelValues}\n chartDimensions={chartDimensions}\n charts={charts}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n availableChartTypes={availableChartTypes}\n chartTypeLabel={chartTypeLabel}\n />\n\n <ChartingConfig\n model={model}\n onChange={onModelChanged}\n charts={charts}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder}\n showPixelGuides={showPixeGuides}\n authorNewCategoryDefaults={authorNewCategoryDefaults}\n chartingOptions={chartingOptions}\n mathMlOptions={mathMlOptions}\n labelsCharactersLimit={labelsCharactersLimit}\n />\n\n <CorrectResponse\n config={graph}\n model={model}\n onChange={onModelChanged}\n charts={charts}\n error={categoryErrors}\n correctAnswerErrors={correctAnswerErrors}\n studentNewCategoryDefaultLabel={studentNewCategoryDefaultLabel}\n mathMlOptions={mathMlOptions}\n labelsPlaceholders={labelsPlaceholders}\n />\n\n {rationaleEnabled && (\n <PromptHolder label={rationale.label || 'Rationale'}>\n <EditableHtml\n markup={model.rationale || ''}\n onChange={this.onRationaleChange}\n imageSupport={imageSupport}\n error={rationaleError}\n spellCheck={spellCheckEnabled}\n pluginProps={getPluginProps(rationale?.inputConfiguration)}\n maxImageWidth={(maxImageWidth && maxImageWidth.rationale) || defaultImageMaxWidth}\n maxImageHeight={(maxImageHeight && maxImageHeight.rationale) || defaultImageMaxHeight}\n uploadSoundSupport={uploadSoundSupport}\n languageCharactersProps={[{ language: 'spanish' }, { language: 'special' }]}\n mathMlOptions={mathMlOptions}\n />\n {rationaleError && <ErrorText>{rationaleError}</ErrorText>}\n </PromptHolder>\n )}\n </layout.ConfigLayout>\n );\n }\n}\n\nexport default Configure;\n"],"mappings":"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","ignoreList":[]}
|