@pie-element/charting 5.6.1-beta.3 → 5.6.1-beta.4

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