@pie-element/charting 5.6.1-beta.0 → 5.6.1-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.
@@ -10,8 +10,8 @@
10
10
  "@material-ui/core": "^3.9.2",
11
11
  "@pie-framework/pie-configure-events": "^1.3.0",
12
12
  "@pie-lib/charting": "^5.6.12",
13
- "@pie-lib/config-ui": "12.0.0-beta.3",
14
- "@pie-lib/editable-html": "10.0.0-beta.4",
13
+ "@pie-lib/config-ui": "12.0.0-beta.4",
14
+ "@pie-lib/editable-html": "10.0.0-beta.5",
15
15
  "@pie-lib/math-rendering": "^2.5.12",
16
16
  "classnames": "^2.2.5",
17
17
  "debug": "^4.1.1",
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "5.6.1-beta.0+524659031",
7
+ "version": "5.6.1-beta.1+73223f303",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -26,7 +26,7 @@
26
26
  },
27
27
  "author": "",
28
28
  "license": "ISC",
29
- "gitHead": "524659031d4f760494f73f6e091bac2f9ef3f1e0",
29
+ "gitHead": "73223f303ea31ca510b096d77e6fb06382b0f0c6",
30
30
  "main": "lib/index.js",
31
31
  "module": "src/index.js"
32
32
  }
@@ -1,236 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
-
5
- var _typeof = require("@babel/runtime/helpers/typeof");
6
-
7
- Object.defineProperty(exports, "__esModule", {
8
- value: true
9
- });
10
- exports["default"] = exports.ChartingConfig = void 0;
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 = _interopRequireWildcard(require("react"));
27
-
28
- var _propTypes = _interopRequireDefault(require("prop-types"));
29
-
30
- var _styles = require("@material-ui/core/styles");
31
-
32
- var _charting = require("@pie-lib/charting");
33
-
34
- var _configUi = require("@pie-lib/config-ui");
35
-
36
- var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
37
-
38
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
39
-
40
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
41
-
42
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
43
-
44
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
45
-
46
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
47
-
48
- 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); }; }
49
-
50
- 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; } }
51
-
52
- var styles = function styles(theme) {
53
- return {
54
- container: {
55
- marginTop: theme.spacing.unit * 3,
56
- marginBottom: theme.spacing.unit * 3,
57
- display: 'flex',
58
- flex: 1
59
- },
60
- column: {
61
- flex: 1
62
- }
63
- };
64
- };
65
-
66
- var restoreCorrectAnswer = function restoreCorrectAnswer(correctAnswer, data) {
67
- if (!correctAnswer) {
68
- return data;
69
- }
70
-
71
- var correctResponseDefinition = [];
72
- (data || []).forEach(function (category, currentIndex) {
73
- var _correctAnswer$curren, _correctAnswer$curren2;
74
-
75
- var editable = category.editable,
76
- interactive = category.interactive;
77
- var label = editable && (_correctAnswer$curren = correctAnswer[currentIndex]) !== null && _correctAnswer$curren !== void 0 && _correctAnswer$curren.label ? correctAnswer[currentIndex].label : category.label;
78
- var value = interactive && (_correctAnswer$curren2 = correctAnswer[currentIndex]) !== null && _correctAnswer$curren2 !== void 0 && _correctAnswer$curren2.value ? correctAnswer[currentIndex].value : category.value;
79
- correctResponseDefinition[currentIndex] = {
80
- label: label,
81
- value: value,
82
- editable: category.editable,
83
- interactive: category.interactive
84
- };
85
- });
86
- return correctResponseDefinition;
87
- };
88
-
89
- var ChartingConfig = /*#__PURE__*/function (_React$Component) {
90
- (0, _inherits2["default"])(ChartingConfig, _React$Component);
91
-
92
- var _super = _createSuper(ChartingConfig);
93
-
94
- function ChartingConfig(props) {
95
- var _this;
96
-
97
- (0, _classCallCheck2["default"])(this, ChartingConfig);
98
- _this = _super.call(this, props);
99
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleAlertDialog", function (open, callback) {
100
- return _this.setState({
101
- dialog: {
102
- open: open
103
- }
104
- }, callback);
105
- });
106
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
107
- return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
108
- data: data
109
- }));
110
- });
111
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeAddRemoveEnabled", function (value) {
112
- var model = _this.props.model;
113
- var correctAnswer = restoreCorrectAnswer(model.correctAnswer.data, model.data);
114
-
115
- if (!value) {
116
- _this.setState({
117
- dialog: {
118
- open: true,
119
- title: 'Warning',
120
- text: "This change will remove any correct answer categories that are not part of the initial item configuration.",
121
- onConfirm: function onConfirm() {
122
- return _this.handleAlertDialog(false, _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
123
- addCategoryEnabled: value,
124
- correctAnswer: {
125
- data: correctAnswer
126
- }
127
- })));
128
- },
129
- onClose: function onClose() {
130
- return _this.handleAlertDialog(false);
131
- }
132
- }
133
- });
134
- } else {
135
- _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
136
- addCategoryEnabled: value
137
- }));
138
- }
139
- });
140
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeTitle", function (title) {
141
- return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
142
- title: title
143
- }));
144
- });
145
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeLabel", function (type, label) {
146
- return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, (0, _defineProperty2["default"])({}, type, _objectSpread(_objectSpread({}, _this.props.model[type]), {}, {
147
- label: label
148
- }))));
149
- });
150
- _this.state = {
151
- dialog: {
152
- open: false
153
- }
154
- };
155
- return _this;
156
- }
157
-
158
- (0, _createClass2["default"])(ChartingConfig, [{
159
- key: "render",
160
- value: function render() {
161
- var _this2 = this;
162
-
163
- var _this$props = this.props,
164
- classes = _this$props.classes,
165
- model = _this$props.model,
166
- charts = _this$props.charts,
167
- labelsPlaceholders = _this$props.labelsPlaceholders,
168
- titlePlaceholder = _this$props.titlePlaceholder,
169
- showPixelGuides = _this$props.showPixelGuides;
170
- var dialog = this.state.dialog;
171
-
172
- var _ref = model || {},
173
- _ref$domain = _ref.domain,
174
- domain = _ref$domain === void 0 ? {} : _ref$domain,
175
- _ref$range = _ref.range,
176
- range = _ref$range === void 0 ? {} : _ref$range;
177
-
178
- return /*#__PURE__*/React.createElement("div", null, "Define Initial Chart Attributes", /*#__PURE__*/React.createElement("div", {
179
- className: classes.container
180
- }, /*#__PURE__*/React.createElement("div", {
181
- className: classes.column,
182
- key: "graph"
183
- }, /*#__PURE__*/React.createElement(_Typography["default"], {
184
- component: "div",
185
- type: "body1"
186
- }, /*#__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, {
187
- defineChart: true,
188
- showPixelGuides: showPixelGuides,
189
- chartType: model.chartType,
190
- size: model.graph,
191
- domain: domain,
192
- range: range,
193
- charts: charts // 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
194
- ,
195
- data: model.data.map(function (category, index) {
196
- return _objectSpread(_objectSpread({}, category), {}, {
197
- index: index
198
- });
199
- }),
200
- title: model.title,
201
- onDataChange: this.changeData,
202
- onChangeTitle: this.changeTitle,
203
- onChangeLabels: this.changeLabel,
204
- addCategoryEnabled: true,
205
- categoryDefaultLabel: model.categoryDefaultLabel,
206
- labelsPlaceholders: labelsPlaceholders,
207
- titlePlaceholder: titlePlaceholder === null || titlePlaceholder === void 0 ? void 0 : titlePlaceholder.label
208
- }), /*#__PURE__*/React.createElement("div", null, /*#__PURE__*/React.createElement(_Checkbox["default"], {
209
- checked: model.addCategoryEnabled,
210
- onChange: function onChange(e) {
211
- _this2.changeAddRemoveEnabled(e.target.checked);
212
- }
213
- }), "Student can add categories"), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
214
- open: dialog.open,
215
- title: dialog.title,
216
- text: dialog.text,
217
- onClose: dialog.onClose,
218
- onConfirm: dialog.onConfirm
219
- }))));
220
- }
221
- }]);
222
- return ChartingConfig;
223
- }(React.Component);
224
-
225
- exports.ChartingConfig = ChartingConfig;
226
- (0, _defineProperty2["default"])(ChartingConfig, "propTypes", {
227
- classes: _propTypes["default"].object.isRequired,
228
- model: _propTypes["default"].object.isRequired,
229
- onChange: _propTypes["default"].func.isRequired,
230
- charts: _propTypes["default"].array
231
- });
232
-
233
- var _default = (0, _styles.withStyles)(styles)(ChartingConfig);
234
-
235
- exports["default"] = _default;
236
- //# sourceMappingURL=charting-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/charting-config.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","column","restoreCorrectAnswer","correctAnswer","data","correctResponseDefinition","forEach","category","currentIndex","editable","interactive","label","value","ChartingConfig","props","open","callback","setState","dialog","onChange","model","title","text","onConfirm","handleAlertDialog","addCategoryEnabled","onClose","type","state","classes","charts","labelsPlaceholders","titlePlaceholder","showPixelGuides","domain","range","chartType","graph","map","index","changeData","changeTitle","changeLabel","categoryDefaultLabel","e","changeAddRemoveEnabled","target","checked","React","Component","PropTypes","object","isRequired","func","array"],"mappings":"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","sourcesContent":["import * as React from 'react';\nimport PropTypes from 'prop-types';\nimport { withStyles } from '@material-ui/core/styles';\nimport { Chart } from '@pie-lib/charting';\nimport { AlertDialog } from '@pie-lib/config-ui';\nimport Checkbox from '@material-ui/core/Checkbox';\n\nimport Typography from '@material-ui/core/Typography';\n\nconst styles = (theme) => ({\n container: {\n marginTop: theme.spacing.unit * 3,\n marginBottom: theme.spacing.unit * 3,\n display: 'flex',\n flex: 1,\n },\n column: {\n flex: 1,\n },\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 classes: PropTypes.object.isRequired,\n model: PropTypes.object.isRequired,\n onChange: PropTypes.func.isRequired,\n charts: PropTypes.array,\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 { classes, model, charts, labelsPlaceholders, titlePlaceholder, showPixelGuides } = this.props;\n const { dialog } = this.state;\n const { domain = {}, range = {} } = model || {};\n\n return (\n <div>\n Define Initial Chart Attributes\n <div className={classes.container}>\n <div className={classes.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 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 categoryDefaultLabel={model.categoryDefaultLabel}\n labelsPlaceholders={labelsPlaceholders}\n titlePlaceholder={titlePlaceholder?.label}\n />\n <div>\n <Checkbox\n checked={model.addCategoryEnabled}\n onChange={(e) => {\n this.changeAddRemoveEnabled(e.target.checked);\n }}\n />\n Student can add categories\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 </div>\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(ChartingConfig);\n"],"file":"charting-config.js"}
@@ -1,340 +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.Configure = 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 _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized"));
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
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
23
-
24
- var _react = _interopRequireDefault(require("react"));
25
-
26
- var _styles = require("@material-ui/core/styles");
27
-
28
- var _charting = require("@pie-lib/charting");
29
-
30
- var _configUi = require("@pie-lib/config-ui");
31
-
32
- var _propTypes = _interopRequireDefault(require("prop-types"));
33
-
34
- var _debug = _interopRequireDefault(require("debug"));
35
-
36
- var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
37
-
38
- var _editableHtml = _interopRequireDefault(require("@pie-lib/editable-html"));
39
-
40
- var _chartingConfig = _interopRequireDefault(require("./charting-config"));
41
-
42
- var _correctResponse = _interopRequireDefault(require("./correct-response"));
43
-
44
- var _utils = require("./utils");
45
-
46
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
47
-
48
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
49
-
50
- 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); }; }
51
-
52
- 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; } }
53
-
54
- var log = (0, _debug["default"])('@pie-element:graphing:configure');
55
- var Panel = _configUi.settings.Panel,
56
- toggle = _configUi.settings.toggle,
57
- radio = _configUi.settings.radio;
58
-
59
- var styles = function styles(theme) {
60
- return {
61
- title: {
62
- fontSize: '1.1rem',
63
- display: 'block',
64
- marginTop: theme.spacing.unit * 2,
65
- marginBottom: theme.spacing.unit
66
- },
67
- content: {
68
- marginTop: theme.spacing.unit * 2
69
- },
70
- promptHolder: {
71
- width: '100%',
72
- paddingBottom: theme.spacing.unit * 2,
73
- marginBottom: theme.spacing.unit * 2,
74
- marginTop: theme.spacing.unit * 2
75
- },
76
- prompt: {
77
- paddingTop: theme.spacing.unit * 2,
78
- width: '100%'
79
- }
80
- };
81
- };
82
-
83
- var charts = [_charting.chartTypes.Bar(), _charting.chartTypes.Histogram(), _charting.chartTypes.LineDot(), _charting.chartTypes.LineCross(), _charting.chartTypes.DotPlot(), _charting.chartTypes.LinePlot()];
84
-
85
- var Configure = /*#__PURE__*/function (_React$Component) {
86
- (0, _inherits2["default"])(Configure, _React$Component);
87
-
88
- var _super = _createSuper(Configure);
89
-
90
- function Configure(props) {
91
- var _this;
92
-
93
- (0, _classCallCheck2["default"])(this, Configure);
94
- _this = _super.call(this, props);
95
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onRationaleChange", function (rationale) {
96
- return _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
97
- rationale: rationale
98
- }));
99
- });
100
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onPromptChange", function (prompt) {
101
- return _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
102
- prompt: prompt
103
- }));
104
- });
105
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onTeacherInstructionsChange", function (teacherInstructions) {
106
- return _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
107
- teacherInstructions: teacherInstructions
108
- }));
109
- });
110
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onChartTypeChange", function (chartType) {
111
- return _this.props.onModelChanged(_objectSpread(_objectSpread({}, _this.props.model), {}, {
112
- chartType: chartType
113
- }));
114
- });
115
- (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "onConfigChange", function (config) {
116
- var _this$props = _this.props,
117
- model = _this$props.model,
118
- onModelChanged = _this$props.onModelChanged;
119
- var _this$state = _this.state,
120
- oldGridValues = _this$state.gridValues,
121
- oldLabelValues = _this$state.labelValues;
122
-
123
- var updatedModel = _objectSpread(_objectSpread({}, model), config);
124
-
125
- var graph = updatedModel.graph,
126
- range = updatedModel.range;
127
- var gridValues = {};
128
- var labelValues = {};
129
- var rangeConstraints = (0, _utils.applyConstraints)(range, graph.height, oldGridValues.range, oldLabelValues.range);
130
- gridValues.range = rangeConstraints.gridValues;
131
- labelValues.range = rangeConstraints.labelValues;
132
-
133
- _this.setState({
134
- gridValues: gridValues,
135
- labelValues: labelValues
136
- });
137
-
138
- onModelChanged(updatedModel);
139
- });
140
-
141
- var _ref = props.model || {},
142
- _ref$range = _ref.range,
143
- _range = _ref$range === void 0 ? {} : _ref$range,
144
- _graph = _ref.graph;
145
-
146
- var _gridValues = {
147
- range: (0, _utils.getGridValues)(_range, _graph.height, true)
148
- };
149
- var _labelValues = {
150
- range: (0, _utils.getLabelValues)(_range.step || 1)
151
- };
152
- _this.state = {
153
- gridValues: _gridValues,
154
- labelValues: _labelValues
155
- };
156
- return _this;
157
- }
158
-
159
- (0, _createClass2["default"])(Configure, [{
160
- key: "render",
161
- value: function render() {
162
- var _this$props2 = this.props,
163
- classes = _this$props2.classes,
164
- configuration = _this$props2.configuration,
165
- imageSupport = _this$props2.imageSupport,
166
- model = _this$props2.model,
167
- onConfigurationChanged = _this$props2.onConfigurationChanged,
168
- onModelChanged = _this$props2.onModelChanged,
169
- uploadSoundSupport = _this$props2.uploadSoundSupport;
170
- log('[render] model', model);
171
- var graph = model.graph;
172
-
173
- var _ref2 = configuration || {},
174
- _ref2$chartDimensions = _ref2.chartDimensions,
175
- chartDimensions = _ref2$chartDimensions === void 0 ? {} : _ref2$chartDimensions,
176
- _ref2$labelsPlacehold = _ref2.labelsPlaceholders,
177
- labelsPlaceholders = _ref2$labelsPlacehold === void 0 ? {} : _ref2$labelsPlacehold,
178
- _ref2$maxImageWidth = _ref2.maxImageWidth,
179
- maxImageWidth = _ref2$maxImageWidth === void 0 ? {} : _ref2$maxImageWidth,
180
- _ref2$maxImageHeight = _ref2.maxImageHeight,
181
- maxImageHeight = _ref2$maxImageHeight === void 0 ? {} : _ref2$maxImageHeight,
182
- _ref2$prompt = _ref2.prompt,
183
- prompt = _ref2$prompt === void 0 ? {} : _ref2$prompt,
184
- _ref2$rationale = _ref2.rationale,
185
- rationale = _ref2$rationale === void 0 ? {} : _ref2$rationale,
186
- _ref2$scoringType = _ref2.scoringType,
187
- scoringType = _ref2$scoringType === void 0 ? {} : _ref2$scoringType,
188
- settingsPanelDisabled = _ref2.settingsPanelDisabled,
189
- _ref2$spellCheck = _ref2.spellCheck,
190
- spellCheck = _ref2$spellCheck === void 0 ? {} : _ref2$spellCheck,
191
- _ref2$studentInstruct = _ref2.studentInstructions,
192
- studentInstructions = _ref2$studentInstruct === void 0 ? {} : _ref2$studentInstruct,
193
- _ref2$teacherInstruct = _ref2.teacherInstructions,
194
- teacherInstructions = _ref2$teacherInstruct === void 0 ? {} : _ref2$teacherInstruct,
195
- _ref2$titlePlaceholde = _ref2.titlePlaceholder,
196
- titlePlaceholder = _ref2$titlePlaceholde === void 0 ? {} : _ref2$titlePlaceholde,
197
- _ref2$withRubric = _ref2.withRubric,
198
- withRubric = _ref2$withRubric === void 0 ? {} : _ref2$withRubric;
199
-
200
- var _ref3 = model || {},
201
- errors = _ref3.errors,
202
- promptEnabled = _ref3.promptEnabled,
203
- rationaleEnabled = _ref3.rationaleEnabled,
204
- spellCheckEnabled = _ref3.spellCheckEnabled,
205
- teacherInstructionsEnabled = _ref3.teacherInstructionsEnabled;
206
-
207
- var _ref4 = errors || {},
208
- categoryErrors = _ref4.categoryErrors,
209
- correctAnswerErrors = _ref4.correctAnswerErrors;
210
-
211
- var _this$state2 = this.state,
212
- gridValues = _this$state2.gridValues,
213
- labelValues = _this$state2.labelValues;
214
- var showPixeGuides = chartDimensions.showInConfigPanel || true;
215
- var defaultImageMaxWidth = maxImageWidth && maxImageWidth.prompt;
216
- var defaultImageMaxHeight = maxImageHeight && maxImageHeight.prompt;
217
- var panelProperties = {
218
- teacherInstructionsEnabled: teacherInstructions.settings && toggle(teacherInstructions.label),
219
- studentInstructionsEnabled: studentInstructions.settings && toggle(studentInstructions.label),
220
- rationaleEnabled: rationale.settings && toggle(rationale.label),
221
- spellCheckEnabled: spellCheck.settings && toggle(spellCheck.label),
222
- promptEnabled: prompt.settings && toggle(prompt.label),
223
- scoringType: scoringType.settings && radio(scoringType.label, ['all or nothing', 'partial scoring']),
224
- rubricEnabled: (withRubric === null || withRubric === void 0 ? void 0 : withRubric.settings) && toggle(withRubric === null || withRubric === void 0 ? void 0 : withRubric.label)
225
- };
226
- return /*#__PURE__*/_react["default"].createElement(_configUi.layout.ConfigLayout, {
227
- hideSettings: settingsPanelDisabled,
228
- settings: /*#__PURE__*/_react["default"].createElement(Panel, {
229
- model: model,
230
- configuration: configuration,
231
- onChangeModel: onModelChanged,
232
- onChangeConfiguration: onConfigurationChanged,
233
- groups: {
234
- Properties: panelProperties
235
- }
236
- })
237
- }, /*#__PURE__*/_react["default"].createElement("div", {
238
- className: classes.content
239
- }, /*#__PURE__*/_react["default"].createElement(_Typography["default"], {
240
- component: "div",
241
- type: "body1"
242
- }, /*#__PURE__*/_react["default"].createElement("span", null, "This item type provides various types of interactive charts. Depending upon how an item is configured, students can change the heights of bars (or other similar chart elements) created by the author; relabel bars created by the author; and/or add new bars, label them, and set their heights.")), teacherInstructionsEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
243
- label: teacherInstructions.label,
244
- className: classes.promptHolder
245
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
246
- className: classes.prompt,
247
- markup: model.teacherInstructions || '',
248
- onChange: this.onTeacherInstructionsChange,
249
- imageSupport: imageSupport,
250
- nonEmpty: false,
251
- spellCheck: spellCheckEnabled,
252
- maxImageWidth: maxImageWidth && maxImageWidth.teacherInstructions || defaultImageMaxWidth,
253
- maxImageHeight: maxImageHeight && maxImageHeight.teacherInstructions || defaultImageMaxHeight,
254
- uploadSoundSupport: uploadSoundSupport,
255
- languageCharactersProps: [{
256
- language: 'spanish'
257
- }, {
258
- language: 'special'
259
- }]
260
- })), promptEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
261
- label: prompt.label,
262
- className: classes.promptHolder
263
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
264
- className: classes.prompt,
265
- markup: model.prompt,
266
- onChange: this.onPromptChange,
267
- imageSupport: imageSupport,
268
- nonEmpty: false,
269
- spellCheck: spellCheckEnabled,
270
- disableUnderline: true,
271
- maxImageWidth: defaultImageMaxWidth,
272
- maxImageHeight: defaultImageMaxHeight,
273
- uploadSoundSupport: uploadSoundSupport,
274
- languageCharactersProps: [{
275
- language: 'spanish'
276
- }, {
277
- language: 'special'
278
- }]
279
- })), rationaleEnabled && /*#__PURE__*/_react["default"].createElement(_configUi.InputContainer, {
280
- label: rationale.label || 'Rationale',
281
- className: classes.promptHolder
282
- }, /*#__PURE__*/_react["default"].createElement(_editableHtml["default"], {
283
- className: classes.prompt,
284
- markup: model.rationale || '',
285
- onChange: this.onRationaleChange,
286
- imageSupport: imageSupport,
287
- spellCheck: spellCheckEnabled,
288
- maxImageWidth: maxImageWidth && maxImageWidth.rationale || defaultImageMaxWidth,
289
- maxImageHeight: maxImageHeight && maxImageHeight.rationale || defaultImageMaxHeight,
290
- uploadSoundSupport: uploadSoundSupport,
291
- languageCharactersProps: [{
292
- language: 'spanish'
293
- }, {
294
- language: 'special'
295
- }]
296
- })), /*#__PURE__*/_react["default"].createElement(_charting.ConfigureChartPanel, {
297
- model: model,
298
- onChange: this.onConfigChange,
299
- gridValues: gridValues,
300
- labelValues: labelValues,
301
- chartDimensions: chartDimensions,
302
- charts: charts
303
- }), /*#__PURE__*/_react["default"].createElement(_chartingConfig["default"], {
304
- model: model,
305
- onChange: onModelChanged,
306
- charts: charts,
307
- labelsPlaceholders: labelsPlaceholders,
308
- titlePlaceholder: titlePlaceholder,
309
- showPixelGuides: showPixeGuides
310
- }), /*#__PURE__*/_react["default"].createElement(_correctResponse["default"], {
311
- config: graph,
312
- model: model,
313
- onChange: onModelChanged,
314
- charts: charts,
315
- error: categoryErrors,
316
- correctAnswerErrors: correctAnswerErrors
317
- })));
318
- }
319
- }]);
320
- return Configure;
321
- }(_react["default"].Component);
322
-
323
- exports.Configure = Configure;
324
- (0, _defineProperty2["default"])(Configure, "propTypes", {
325
- onModelChanged: _propTypes["default"].func,
326
- onConfigurationChanged: _propTypes["default"].func,
327
- classes: _propTypes["default"].object,
328
- imageSupport: _propTypes["default"].object,
329
- uploadSoundSupport: _propTypes["default"].object,
330
- model: _propTypes["default"].object.isRequired,
331
- configuration: _propTypes["default"].object.isRequired
332
- });
333
- (0, _defineProperty2["default"])(Configure, "defaultProps", {
334
- classes: {}
335
- });
336
-
337
- var _default = (0, _styles.withStyles)(styles)(Configure);
338
-
339
- exports["default"] = _default;
340
- //# sourceMappingURL=configure.js.map