@pie-element/charting 2.7.3-next.1147 → 2.7.3-next.1158

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.
@@ -31,6 +31,8 @@ var _styles = require("@material-ui/core/styles");
31
31
 
32
32
  var _charting = require("@pie-lib/charting");
33
33
 
34
+ var _configUi = require("@pie-lib/config-ui");
35
+
34
36
  var _Checkbox = _interopRequireDefault(require("@material-ui/core/Checkbox"));
35
37
 
36
38
  var _Typography = _interopRequireDefault(require("@material-ui/core/Typography"));
@@ -66,26 +68,55 @@ var ChartingConfig = /*#__PURE__*/function (_React$Component) {
66
68
 
67
69
  var _super = _createSuper(ChartingConfig);
68
70
 
69
- function ChartingConfig() {
71
+ function ChartingConfig(props) {
70
72
  var _this;
71
73
 
72
74
  (0, _classCallCheck2["default"])(this, ChartingConfig);
73
-
74
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
75
- args[_key] = arguments[_key];
76
- }
77
-
78
- _this = _super.call.apply(_super, [this].concat(args));
75
+ _this = _super.call(this, props);
76
+ (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "handleAlertDialog", function (open, callback) {
77
+ return _this.setState({
78
+ dialog: {
79
+ open: open
80
+ }
81
+ }, callback);
82
+ });
79
83
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeData", function (data) {
80
84
  return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
81
85
  data: data
82
86
  }));
83
87
  });
84
88
  (0, _defineProperty2["default"])((0, _assertThisInitialized2["default"])(_this), "changeAddRemoveEnabled", function (value) {
85
- return _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
86
- addCategoryEnabled: value
87
- }));
89
+ var correctAnswer = _this.state.correctAnswer;
90
+
91
+ if (!value) {
92
+ _this.setState({
93
+ dialog: {
94
+ open: true,
95
+ title: 'Warning',
96
+ text: "This change will remove any correct answer categories that are not part of the initial item configuration.",
97
+ onConfirm: function onConfirm() {
98
+ return _this.handleAlertDialog(false, _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
99
+ addCategoryEnabled: value,
100
+ correctAnswer: correctAnswer
101
+ })));
102
+ },
103
+ onClose: function onClose() {
104
+ return _this.handleAlertDialog(false);
105
+ }
106
+ }
107
+ });
108
+ } else {
109
+ _this.props.onChange(_objectSpread(_objectSpread({}, _this.props.model), {}, {
110
+ addCategoryEnabled: value
111
+ }));
112
+ }
88
113
  });
114
+ _this.state = {
115
+ dialog: {
116
+ open: false
117
+ },
118
+ correctAnswer: props.model.correctAnswer
119
+ };
89
120
  return _this;
90
121
  }
91
122
 
@@ -98,6 +129,7 @@ var ChartingConfig = /*#__PURE__*/function (_React$Component) {
98
129
  classes = _this$props.classes,
99
130
  model = _this$props.model,
100
131
  charts = _this$props.charts;
132
+ var dialog = this.state.dialog;
101
133
  return /*#__PURE__*/React.createElement("div", null, "Define Initial Chart Attributes", /*#__PURE__*/React.createElement("div", {
102
134
  className: classes.container
103
135
  }, /*#__PURE__*/React.createElement("div", {
@@ -128,7 +160,13 @@ var ChartingConfig = /*#__PURE__*/function (_React$Component) {
128
160
  onChange: function onChange(e) {
129
161
  _this2.changeAddRemoveEnabled(e.target.checked);
130
162
  }
131
- }), "Student can add categories"))));
163
+ }), "Student can add categories"), /*#__PURE__*/React.createElement(_configUi.AlertDialog, {
164
+ open: dialog.open,
165
+ title: dialog.title,
166
+ text: dialog.text,
167
+ onClose: dialog.onClose,
168
+ onConfirm: dialog.onConfirm
169
+ }))));
132
170
  }
133
171
  }]);
134
172
  return ChartingConfig;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/charting-config.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","column","ChartingConfig","data","props","onChange","model","value","addCategoryEnabled","classes","charts","chartType","graph","domain","range","map","category","index","title","changeData","categoryDefaultLabel","e","changeAddRemoveEnabled","target","checked","React","Component","PropTypes","object","isRequired","func","array"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CADvB;AAETC,MAAAA,YAAY,EAAEL,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CAF1B;AAGTE,MAAAA,OAAO,EAAE,MAHA;AAITC,MAAAA,IAAI,EAAE;AAJG,KADY;AAOvBC,IAAAA,MAAM,EAAE;AACND,MAAAA,IAAI,EAAE;AADA;AAPe,GAAL;AAAA,CAApB;;IAYaE,c;;;;;;;;;;;;;;;mGAQE,UAAAC,IAAI;AAAA,aAAI,MAAKC,KAAL,CAAWC,QAAX,iCAAyB,MAAKD,KAAL,CAAWE,KAApC;AAA2CH,QAAAA,IAAI,EAAJA;AAA3C,SAAJ;AAAA,K;+GAEQ,UAAAI,KAAK;AAAA,aAAI,MAAKH,KAAL,CAAWC,QAAX,iCAAyB,MAAKD,KAAL,CAAWE,KAApC;AAA2CE,QAAAA,kBAAkB,EAAED;AAA/D,SAAJ;AAAA,K;;;;;;WAE9B,kBAAS;AAAA;;AACP,wBAAmC,KAAKH,KAAxC;AAAA,UAAQK,OAAR,eAAQA,OAAR;AAAA,UAAiBH,KAAjB,eAAiBA,KAAjB;AAAA,UAAwBI,MAAxB,eAAwBA,MAAxB;AAEA,0BACE,iFAGE;AAAK,QAAA,SAAS,EAAED,OAAO,CAACf;AAAxB,sBACE;AAAK,QAAA,SAAS,EAAEe,OAAO,CAACR,MAAxB;AAAgC,QAAA,GAAG,EAAC;AAApC,sBACE,oBAAC,sBAAD;AAAY,QAAA,SAAS,EAAC,KAAtB;AAA4B,QAAA,IAAI,EAAC;AAAjC,sBACE,qHADF,CADF,eAKE,oBAAC,eAAD;AACE,QAAA,WAAW,EAAE,IADf;AAEE,QAAA,SAAS,EAAEK,KAAK,CAACK,SAFnB;AAGE,QAAA,IAAI,EAAEL,KAAK,CAACM,KAHd;AAIE,QAAA,MAAM,EAAEN,KAAK,CAACO,MAJhB;AAKE,QAAA,KAAK,EAAEP,KAAK,CAACQ,KALf;AAME,QAAA,MAAM,EAAEJ,MANV,CAOE;AAPF;AAQE,QAAA,IAAI,EAAEJ,KAAK,CAACH,IAAN,CAAWY,GAAX,CAAe,UAACC,QAAD,EAAWC,KAAX;AAAA,iDAA2BD,QAA3B;AAAqCC,YAAAA,KAAK,EAAEA;AAA5C;AAAA,SAAf,CARR;AASE,QAAA,KAAK,EAAEX,KAAK,CAACY,KATf;AAUE,QAAA,YAAY,EAAE,KAAKC,UAVrB;AAWE,QAAA,kBAAkB,EAAE,IAXtB;AAYE,QAAA,oBAAoB,EAAEb,KAAK,CAACc;AAZ9B,QALF,eAmBG,8CACC,oBAAC,oBAAD;AACE,QAAA,OAAO,EAAEd,KAAK,CAACE,kBADjB;AAEE,QAAA,QAAQ,EAAE,kBAACa,CAAD,EAAO;AACf,UAAA,MAAI,CAACC,sBAAL,CAA4BD,CAAC,CAACE,MAAF,CAASC,OAArC;AACD;AAJH,QADD,+BAnBH,CADF,CAHF,CADF;AAsCD;;;EArDiCC,KAAK,CAACC,S;;;iCAA7BxB,c,eACQ;AACjBO,EAAAA,OAAO,EAAEkB,sBAAUC,MAAV,CAAiBC,UADT;AAEjBvB,EAAAA,KAAK,EAAEqB,sBAAUC,MAAV,CAAiBC,UAFP;AAGjBxB,EAAAA,QAAQ,EAAEsB,sBAAUG,IAAV,CAAeD,UAHR;AAIjBnB,EAAAA,MAAM,EAAEiB,sBAAUI;AAJD,C;;eAuDN,wBAAWvC,MAAX,EAAmBU,cAAnB,C","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 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\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 changeData = data => this.props.onChange({ ...this.props.model, data });\n\n changeAddRemoveEnabled = value => this.props.onChange({ ...this.props.model, addCategoryEnabled: value });\n\n render() {\n const { classes, model, charts } = this.props;\n\n return (\n <div>\n Define Initial Chart Attributes\n\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 chartType={model.chartType}\n size={model.graph}\n domain={model.domain}\n range={model.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) => ({ ...category, index: index }))}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={true}\n categoryDefaultLabel={model.categoryDefaultLabel}\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 </div>\n\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(ChartingConfig);\n"],"file":"charting-config.js"}
1
+ {"version":3,"sources":["../src/charting-config.jsx"],"names":["styles","theme","container","marginTop","spacing","unit","marginBottom","display","flex","column","ChartingConfig","props","open","callback","setState","dialog","data","onChange","model","value","correctAnswer","state","title","text","onConfirm","handleAlertDialog","addCategoryEnabled","onClose","classes","charts","chartType","graph","domain","range","map","category","index","changeData","categoryDefaultLabel","e","changeAddRemoveEnabled","target","checked","React","Component","PropTypes","object","isRequired","func","array"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA;;;;;;;;;;;;;;AAEA,IAAMA,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBC,IAAAA,SAAS,EAAE;AACTC,MAAAA,SAAS,EAAEF,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CADvB;AAETC,MAAAA,YAAY,EAAEL,KAAK,CAACG,OAAN,CAAcC,IAAd,GAAqB,CAF1B;AAGTE,MAAAA,OAAO,EAAE,MAHA;AAITC,MAAAA,IAAI,EAAE;AAJG,KADY;AAOvBC,IAAAA,MAAM,EAAE;AACND,MAAAA,IAAI,EAAE;AADA;AAPe,GAAL;AAAA,CAApB;;IAYaE,c;;;;;AAQX,0BAAYC,KAAZ,EAAmB;AAAA;;AAAA;AACjB,8BAAMA,KAAN;AADiB,0GAUC,UAACC,IAAD,EAAOC,QAAP;AAAA,aAClB,MAAKC,QAAL,CAAc;AACZC,QAAAA,MAAM,EAAE;AAAEH,UAAAA,IAAI,EAAJA;AAAF;AADI,OAAd,EAEGC,QAFH,CADkB;AAAA,KAVD;AAAA,mGAeN,UAAAG,IAAI;AAAA,aAAI,MAAKL,KAAL,CAAWM,QAAX,iCAAyB,MAAKN,KAAL,CAAWO,KAApC;AAA2CF,QAAAA,IAAI,EAAJA;AAA3C,SAAJ;AAAA,KAfE;AAAA,+GAiBM,UAAAG,KAAK,EAAI;AAChC,UAAQC,aAAR,GAA0B,MAAKC,KAA/B,CAAQD,aAAR;;AAEA,UAAI,CAACD,KAAL,EAAY;AACV,cAAKL,QAAL,CAAc;AACZC,UAAAA,MAAM,EAAE;AACNH,YAAAA,IAAI,EAAE,IADA;AAENU,YAAAA,KAAK,EAAE,SAFD;AAGNC,YAAAA,IAAI,8GAHE;AAINC,YAAAA,SAAS,EAAE;AAAA,qBAAM,MAAKC,iBAAL,CACf,KADe,EACR,MAAKd,KAAL,CAAWM,QAAX,iCAAyB,MAAKN,KAAL,CAAWO,KAApC;AAA2CQ,gBAAAA,kBAAkB,EAAEP,KAA/D;AAAsEC,gBAAAA,aAAa,EAAEA;AAArF,iBADQ,CAAN;AAAA,aAJL;AAMNO,YAAAA,OAAO,EAAE;AAAA,qBAAM,MAAKF,iBAAL,CAAuB,KAAvB,CAAN;AAAA;AANH;AADI,SAAd;AAUD,OAXD,MAWO;AACL,cAAKd,KAAL,CAAWM,QAAX,iCAAyB,MAAKN,KAAL,CAAWO,KAApC;AAA2CQ,UAAAA,kBAAkB,EAAEP;AAA/D;AACD;AACF,KAlCkB;AAEjB,UAAKE,KAAL,GAAa;AACXN,MAAAA,MAAM,EAAE;AACNH,QAAAA,IAAI,EAAE;AADA,OADG;AAIXQ,MAAAA,aAAa,EAAET,KAAK,CAACO,KAAN,CAAYE;AAJhB,KAAb;AAFiB;AAQlB;;;;WA4BD,kBAAS;AAAA;;AACP,wBAAmC,KAAKT,KAAxC;AAAA,UAAQiB,OAAR,eAAQA,OAAR;AAAA,UAAiBV,KAAjB,eAAiBA,KAAjB;AAAA,UAAwBW,MAAxB,eAAwBA,MAAxB;AACA,UAAQd,MAAR,GAAmB,KAAKM,KAAxB,CAAQN,MAAR;AAEA,0BACE,iFAGE;AAAK,QAAA,SAAS,EAAEa,OAAO,CAAC1B;AAAxB,sBACE;AAAK,QAAA,SAAS,EAAE0B,OAAO,CAACnB,MAAxB;AAAgC,QAAA,GAAG,EAAC;AAApC,sBACE,oBAAC,sBAAD;AAAY,QAAA,SAAS,EAAC,KAAtB;AAA4B,QAAA,IAAI,EAAC;AAAjC,sBACE,qHADF,CADF,eAKE,oBAAC,eAAD;AACE,QAAA,WAAW,EAAE,IADf;AAEE,QAAA,SAAS,EAAES,KAAK,CAACY,SAFnB;AAGE,QAAA,IAAI,EAAEZ,KAAK,CAACa,KAHd;AAIE,QAAA,MAAM,EAAEb,KAAK,CAACc,MAJhB;AAKE,QAAA,KAAK,EAAEd,KAAK,CAACe,KALf;AAME,QAAA,MAAM,EAAEJ,MANV,CAOE;AAPF;AAQE,QAAA,IAAI,EAAEX,KAAK,CAACF,IAAN,CAAWkB,GAAX,CAAe,UAACC,QAAD,EAAWC,KAAX;AAAA,iDAA2BD,QAA3B;AAAqCC,YAAAA,KAAK,EAAEA;AAA5C;AAAA,SAAf,CARR;AASE,QAAA,KAAK,EAAElB,KAAK,CAACI,KATf;AAUE,QAAA,YAAY,EAAE,KAAKe,UAVrB;AAWE,QAAA,kBAAkB,EAAE,IAXtB;AAYE,QAAA,oBAAoB,EAAEnB,KAAK,CAACoB;AAZ9B,QALF,eAmBE,8CACE,oBAAC,oBAAD;AACE,QAAA,OAAO,EAAEpB,KAAK,CAACQ,kBADjB;AAEE,QAAA,QAAQ,EAAE,kBAACa,CAAD,EAAO;AACf,UAAA,MAAI,CAACC,sBAAL,CAA4BD,CAAC,CAACE,MAAF,CAASC,OAArC;AACD;AAJH,QADF,+BAnBF,eA6BE,oBAAC,qBAAD;AACE,QAAA,IAAI,EAAE3B,MAAM,CAACH,IADf;AAEE,QAAA,KAAK,EAAEG,MAAM,CAACO,KAFhB;AAGE,QAAA,IAAI,EAAEP,MAAM,CAACQ,IAHf;AAIE,QAAA,OAAO,EAAER,MAAM,CAACY,OAJlB;AAKE,QAAA,SAAS,EAAEZ,MAAM,CAACS;AALpB,QA7BF,CADF,CAHF,CADF;AA8CD;;;EA9FiCmB,KAAK,CAACC,S;;;iCAA7BlC,c,eACQ;AACjBkB,EAAAA,OAAO,EAAEiB,sBAAUC,MAAV,CAAiBC,UADT;AAEjB7B,EAAAA,KAAK,EAAE2B,sBAAUC,MAAV,CAAiBC,UAFP;AAGjB9B,EAAAA,QAAQ,EAAE4B,sBAAUG,IAAV,CAAeD,UAHR;AAIjBlB,EAAAA,MAAM,EAAEgB,sBAAUI;AAJD,C;;eAgGN,wBAAWjD,MAAX,EAAmBU,cAAnB,C","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\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 correctAnswer: props.model.correctAnswer\n };\n }\n\n handleAlertDialog = (open, callback) =>\n this.setState({\n dialog: { open }\n }, callback);\n\n changeData = data => this.props.onChange({ ...this.props.model, data });\n\n changeAddRemoveEnabled = value => {\n const { correctAnswer } = this.state;\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: () => this.handleAlertDialog(\n false, this.props.onChange({ ...this.props.model, addCategoryEnabled: value, correctAnswer: correctAnswer })),\n onClose: () => this.handleAlertDialog(false)\n }\n });\n } else {\n this.props.onChange({ ...this.props.model, addCategoryEnabled: value });\n }\n }\n\n render() {\n const { classes, model, charts } = this.props;\n const { dialog } = this.state;\n\n return (\n <div>\n Define Initial Chart Attributes\n\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 chartType={model.chartType}\n size={model.graph}\n domain={model.domain}\n range={model.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) => ({ ...category, index: index }))}\n title={model.title}\n onDataChange={this.changeData}\n addCategoryEnabled={true}\n categoryDefaultLabel={model.categoryDefaultLabel}\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\n </div>\n </div>\n );\n }\n}\n\nexport default withStyles(styles)(ChartingConfig);\n"],"file":"charting-config.js"}
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "access": "public"
5
5
  },
6
6
  "repository": "pie-framework/pie-elements",
7
- "version": "2.7.3-next.1147+910e6c414",
7
+ "version": "2.7.3-next.1158+7b9c92abf",
8
8
  "description": "",
9
9
  "scripts": {
10
10
  "test": "echo \"Error: no test specified\" && exit 1",
@@ -25,7 +25,7 @@
25
25
  },
26
26
  "author": "",
27
27
  "license": "ISC",
28
- "gitHead": "910e6c414eac89551811449b20df707c95ba8639",
28
+ "gitHead": "7b9c92abfe80505a30f8b5904c7e9ad84568cffe",
29
29
  "main": "lib/index.js",
30
30
  "module": "src/index.js"
31
31
  }