@pie-lib/charting 5.2.1 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/lib/chart-setup.js +34 -9
- package/lib/chart-setup.js.map +1 -1
- package/lib/chart-type.js +1 -0
- package/lib/chart-type.js.map +1 -1
- package/package.json +3 -3
- package/src/chart-setup.jsx +35 -8
- package/src/chart-type.js +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [5.3.0](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.2.1...@pie-lib/charting@5.3.0) (2022-10-17)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **charting:** check configuration when changing chartType ([e3a0222](https://github.com/pie-framework/pie-lib/commit/e3a0222d4d2a2b2854d85f90114b1efffa2bc453))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [5.2.1](https://github.com/pie-framework/pie-lib/compare/@pie-lib/charting@5.2.0...@pie-lib/charting@5.2.1) (2022-09-29)
|
|
7
18
|
|
|
8
19
|
|
package/lib/chart-setup.js
CHANGED
|
@@ -209,20 +209,45 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
|
|
|
209
209
|
});
|
|
210
210
|
}
|
|
211
211
|
}, [open]);
|
|
212
|
+
var isValidPlot = range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
|
|
213
|
+
|
|
214
|
+
var getPlotConfiguration = function getPlotConfiguration() {
|
|
215
|
+
rangeProps.min = 3;
|
|
216
|
+
rangeProps.max = 10;
|
|
217
|
+
range.max = 10;
|
|
218
|
+
range.step = 1;
|
|
219
|
+
range.labelStep = 1;
|
|
220
|
+
onChange(_objectSpread(_objectSpread({}, model), {}, {
|
|
221
|
+
range: range
|
|
222
|
+
}));
|
|
223
|
+
};
|
|
212
224
|
|
|
213
225
|
var onChartTypeChange = function onChartTypeChange(chartType) {
|
|
214
226
|
if (chartType.includes('Plot')) {
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
227
|
+
// The selected chart type does not support the current chart configuration
|
|
228
|
+
if (!isValidPlot) {
|
|
229
|
+
setAlertDialog({
|
|
230
|
+
open: true,
|
|
231
|
+
title: 'Warning',
|
|
232
|
+
text: 'The selected chart type does not support the current chart configuration. Reset chart configuration?',
|
|
233
|
+
onConfirm: function onConfirm() {
|
|
234
|
+
getPlotConfiguration();
|
|
235
|
+
removeOutOfRangeValues();
|
|
236
|
+
handleAlertDialog(false, onChange(_objectSpread(_objectSpread({}, model), {}, {
|
|
237
|
+
range: range,
|
|
238
|
+
chartType: chartType
|
|
239
|
+
})));
|
|
240
|
+
},
|
|
241
|
+
onClose: function onClose() {
|
|
242
|
+
handleAlertDialog(false);
|
|
243
|
+
}
|
|
244
|
+
});
|
|
245
|
+
return;
|
|
220
246
|
}
|
|
221
247
|
|
|
222
|
-
|
|
223
|
-
|
|
248
|
+
rangeProps.min = 3;
|
|
249
|
+
rangeProps.max = 10;
|
|
224
250
|
onChange(_objectSpread(_objectSpread({}, model), {}, {
|
|
225
|
-
range: range,
|
|
226
251
|
chartType: chartType
|
|
227
252
|
}));
|
|
228
253
|
return;
|
|
@@ -300,7 +325,7 @@ var ConfigureChartPanel = function ConfigureChartPanel(props) {
|
|
|
300
325
|
ConfigureChartPanel.propTypes = {
|
|
301
326
|
classes: _propTypes["default"].object,
|
|
302
327
|
domain: _propTypes["default"].object,
|
|
303
|
-
onChange: _propTypes["default"]
|
|
328
|
+
onChange: _propTypes["default"].func,
|
|
304
329
|
range: _propTypes["default"].object,
|
|
305
330
|
chartDimension: _propTypes["default"].object,
|
|
306
331
|
size: _propTypes["default"].object
|
package/lib/chart-setup.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart-setup.jsx"],"names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","size","graph","showInConfigPanel","width","height","widthConstraints","min","Math","max","step","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","callback","resetValues","data","forEach","d","remainder","value","floor","removeOutOfRangeValues","rangeProps","chartType","includes","onSizeChanged","key","outOfRange","find","title","text","onConfirm","onClose","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","chartDimension","styles","theme","display","flexDirection","marginTop","alignItems","justifyContent","margin","spacing","unit","largeTextField","fontStyle","color"],"mappings":";;;;;;;;;;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAGA,IAAMA,mBAAmB,GAAG,SAAtBA,mBAAsB,CAAAC,KAAK,EAAI;AACnC,MAAQC,OAAR,GAAyFD,KAAzF,CAAQC,OAAR;AAAA,MAAiBC,KAAjB,GAAyFF,KAAzF,CAAiBE,KAAjB;AAAA,MAAwBC,QAAxB,GAAyFH,KAAzF,CAAwBG,QAAxB;AAAA,MAAkCC,eAAlC,GAAyFJ,KAAzF,CAAkCI,eAAlC;AAAA,0BAAyFJ,KAAzF,CAAmDK,UAAnD;AAAA,MAAmDA,UAAnD,kCAAgE,EAAhE;AAAA,2BAAyFL,KAAzF,CAAoEM,WAApE;AAAA,MAAoEA,WAApE,mCAAkF,EAAlF;;AACA,kBAAsC,qBAAS,KAAT,CAAtC;AAAA;AAAA,MAAOC,WAAP;AAAA,MAAoBC,cAApB;;AACA,mBAAwB,qBAAS,KAAT,CAAxB;AAAA;AAAA,MAAOC,IAAP;AAAA,MAAaC,OAAb;;AACA,mBAAgC,qBAAS,EAAT,CAAhC;AAAA;AAAA,MAAOC,QAAP;AAAA,MAAiBC,WAAjB;;AACA,mBAAoC,qBAAS,CAAT,CAApC;AAAA;AAAA,MAAOC,UAAP;AAAA,MAAmBC,aAAnB;;AAEA,MAAQC,KAAR,GAAiCb,KAAjC,CAAQa,KAAR;AAAA,MAAeC,aAAf,GAAiCd,KAAjC,CAAec,aAAf;AAEA,MAAMC,IAAI,GAAGf,KAAK,CAACgB,KAAnB;;AACA,aAA6Cd,eAAe,IAAI,EAAhE;AAAA,MAAQe,iBAAR,QAAQA,iBAAR;AAAA,MAA2BC,KAA3B,QAA2BA,KAA3B;AAAA,MAAkCC,MAAlC,QAAkCA,MAAlC;;AAEA,MAAMC,gBAAgB,GAAG;AACvBC,IAAAA,GAAG,EAAEH,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEG,GAAP,GAAaC,IAAI,CAACC,GAAL,CAAS,EAAT,EAAaL,KAAK,CAACG,GAAnB,CAAb,GAAuC,EADrB;AAEvBE,IAAAA,GAAG,EAAEL,KAAK,SAAL,IAAAA,KAAK,WAAL,IAAAA,KAAK,CAAEK,GAAP,GAAaD,IAAI,CAACD,GAAL,CAAS,GAAT,EAAcH,KAAK,CAACK,GAApB,CAAb,GAAwC,GAFtB;AAGvBC,IAAAA,IAAI,EAAE,CAAAN,KAAK,SAAL,IAAAA,KAAK,WAAL,YAAAA,KAAK,CAAEM,IAAP,KAAe,CAAf,GAAmBF,IAAI,CAACD,GAAL,CAAS,GAAT,EAAcH,KAAK,CAACM,IAApB,CAAnB,GAA+C;AAH9B,GAAzB;AAKA,MAAMC,iBAAiB,GAAG;AACxBJ,IAAAA,GAAG,EAAEF,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEE,GAAR,GAAcC,IAAI,CAACC,GAAL,CAAS,GAAT,EAAcJ,MAAM,CAACE,GAArB,CAAd,GAA0C,GADvB;AAExBE,IAAAA,GAAG,EAAEJ,MAAM,SAAN,IAAAA,MAAM,WAAN,IAAAA,MAAM,CAAEI,GAAR,GAAcD,IAAI,CAACD,GAAL,CAAS,GAAT,EAAcF,MAAM,CAACI,GAArB,CAAd,GAA0C,GAFvB;AAGxBC,IAAAA,IAAI,EAAE,CAAAL,MAAM,SAAN,IAAAA,MAAM,WAAN,YAAAA,MAAM,CAAEK,IAAR,KAAgB,CAAhB,GAAoBF,IAAI,CAACD,GAAL,CAAS,GAAT,EAAcF,MAAM,CAACK,IAArB,CAApB,GAAiD;AAH/B,GAA1B;AAMA,MAAME,WAAW,GACfvB,UAAU,IAAIA,UAAU,CAACU,KAAzB,GAAiC;AAAEc,IAAAA,YAAY,EAAExB,UAAU,CAACU;AAA3B,GAAjC,GAAsE;AAAEQ,IAAAA,GAAG,EAAE,CAAP;AAAUE,IAAAA,GAAG,EAAE;AAAf,GADxE;AAEA,MAAMK,YAAY,GAChBxB,WAAW,IAAIA,WAAW,CAACS,KAA3B,GAAmC;AAAEc,IAAAA,YAAY,EAAEvB,WAAW,CAACS;AAA5B,GAAnC,GAAyE;AAAEQ,IAAAA,GAAG,EAAE,CAAP;AAAUE,IAAAA,GAAG,EAAE;AAAf,GAD3E;;AAGA,MAAMM,UAAU,gBACd;AAAK,IAAA,SAAS,EAAE9B,OAAO,CAAC+B;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAE/B,OAAO,CAACgC,eADrB;AAEE,IAAA,KAAK,EAAC,eAFR;AAGE,IAAA,KAAK,EAAElB,KAAK,CAACW,IAHf;AAIE,IAAA,OAAO,EAAC,UAJV;AAKE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUC,cAAc,CAAC,MAAD,EAASD,CAAT,CAAxB;AAAA;AALZ,KAMMP,WANN,EADF,eASE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAE3B,OAAO,CAACgC,eADrB;AAEE,IAAA,KAAK,EAAE,gBAFT;AAGE,IAAA,KAAK,EAAElB,KAAK,CAACsB,SAHf;AAIE,IAAA,OAAO,EAAE,UAJX;AAKE,IAAA,QAAQ,EAAE,kBAACH,CAAD,EAAIC,CAAJ;AAAA,aAAUC,cAAc,CAAC,WAAD,EAAcD,CAAd,CAAxB;AAAA;AALZ,KAMML,YANN,EATF,CADF;;AAqBA,MAAMQ,iBAAiB,GAAG,SAApBA,iBAAoB,CAAC7B,IAAD,EAAO8B,QAAP,EAAoB;AAC5C/B,IAAAA,cAAc,CACZ;AACED,MAAAA,WAAW,EAAEE;AADf,KADY,EAIZ8B,QAJY,CAAd;AAMA7B,IAAAA,OAAO,CAACD,IAAD,CAAP;AACD,GARD;;AAUA,MAAM+B,WAAW,GAAG,SAAdA,WAAc,CAAAC,IAAI;AAAA,WACtBA,IAAI,CAACC,OAAL,CAAa,UAAAC,CAAC,EAAI;AAChB,UAAMC,SAAS,GAAGD,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAAN,GAAaF,IAAI,CAACsB,KAAL,CAAWH,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAA3B,CAAzC;;AAEA,UAAIiB,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACU,GAAhB,IAAuBmB,SAAS,KAAK,CAAzC,EAA4C;AAC1CD,QAAAA,CAAC,CAACE,KAAF,GAAU,CAAV;AACD;AACF,KAND,CADsB;AAAA,GAAxB;;AASA,MAAME,sBAAsB,GAAG,SAAzBA,sBAAyB,GAAM;AACnC,QAAQ/B,aAAR,GAAgCd,KAAhC,CAAQc,aAAR;AAAA,QAAuByB,IAAvB,GAAgCvC,KAAhC,CAAuBuC,IAAvB;AAEAD,IAAAA,WAAW,CAACC,IAAD,CAAX;AACAD,IAAAA,WAAW,CAACxB,aAAa,CAACyB,IAAf,CAAX;AACD,GALD;;AAOA,MAAMO,UAAU,GAAG,SAAbA,UAAa,CAAAC,SAAS,EAAI;AAC9B,WAAOA,SAAS,CAACC,QAAV,CAAmB,MAAnB,IAA6B;AAAE3B,MAAAA,GAAG,EAAE,CAAP;AAAUE,MAAAA,GAAG,EAAE;AAAf,KAA7B,GAAmD;AAAEF,MAAAA,GAAG,EAAE,IAAP;AAAaE,MAAAA,GAAG,EAAE;AAAlB,KAA1D;AACD,GAFD;;AAIA,MAAM0B,aAAa,GAAG,SAAhBA,aAAgB,CAACC,GAAD,EAAMP,KAAN,EAAgB;AACpC,QAAM3B,KAAK,mCAAQD,IAAR,4CAAemC,GAAf,EAAqBP,KAArB,EAAX;;AAEA1C,IAAAA,QAAQ,iCAAMD,KAAN;AAAagB,MAAAA,KAAK,EAALA;AAAb,OAAR;AACD,GAJD;;AAMA,MAAMkB,cAAc,GAAG,SAAjBA,cAAiB,CAACgB,GAAD,EAAMP,KAAN,EAAgB;AACrC;AACA/B,IAAAA,aAAa,CAACC,KAAK,CAACqC,GAAD,CAAN,CAAb;AACAxC,IAAAA,WAAW,CAACwC,GAAD,CAAX;AAEArC,IAAAA,KAAK,CAACqC,GAAD,CAAL,GAAaP,KAAb;;AAEA,QAAIO,GAAG,KAAK,KAAR,IAAiBA,GAAG,KAAK,MAA7B,EAAqC;AACnC;AACA,UAAMC,UAAU,GACdnD,KAAK,CAACuC,IAAN,CAAWa,IAAX,CACE,UAAAX,CAAC;AAAA,eAAIA,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACU,GAAhB,IAAuBkB,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAAN,GAAaF,IAAI,CAACsB,KAAL,CAAWH,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAA3B,CAAvB,KAA4D,CAAvF;AAAA,OADH,KAGAxB,KAAK,CAACc,aAAN,CAAoByB,IAApB,CAAyBa,IAAzB,CACE,UAAAX,CAAC;AAAA,eAAIA,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACU,GAAhB,IAAuBkB,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAAN,GAAaF,IAAI,CAACsB,KAAL,CAAWH,CAAC,CAACE,KAAF,GAAU9B,KAAK,CAACW,IAA3B,CAAvB,KAA4D,CAAvF;AAAA,OADH,CAJF;;AAQA,UAAI2B,UAAJ,EAAgB;AACd3C,QAAAA,OAAO,CAAC,IAAD,CAAP;AACD,OAFD,MAEO;AACLP,QAAAA,QAAQ,iCAAMD,KAAN;AAAaa,UAAAA,KAAK,EAALA;AAAb,WAAR;AACD;AACF,KAfD,MAeO;AACLZ,MAAAA,QAAQ,iCAAMD,KAAN;AAAaa,QAAAA,KAAK,EAALA;AAAb,SAAR;AACD;AACF,GAzBD;;AA2BA,wBAAU,YAAM;AACd,QAAIN,IAAJ,EAAU;AACRD,MAAAA,cAAc,CAAC;AACbC,QAAAA,IAAI,EAAE,IADO;AAEb8C,QAAAA,KAAK,EAAE,SAFM;AAGbC,QAAAA,IAAI,EAAE,mEAHO;AAIbC,QAAAA,SAAS,EAAE,qBAAM;AACfV,UAAAA,sBAAsB;AACtBT,UAAAA,iBAAiB,CAAC,KAAD,EAAQnC,QAAQ,iCAAMD,KAAN;AAAaa,YAAAA,KAAK,EAALA,KAAb;AAAoBC,YAAAA,aAAa,EAAbA;AAApB,aAAhB,CAAjB;AACD,SAPY;AAQb0C,QAAAA,OAAO,EAAE,mBAAM;AACb3C,UAAAA,KAAK,CAACJ,QAAD,CAAL,GAAkBE,UAAlB;AACAyB,UAAAA,iBAAiB,CAAC,KAAD,CAAjB;AACD;AAXY,OAAD,CAAd;AAaD;AACF,GAhBD,EAgBG,CAAC7B,IAAD,CAhBH;;AAkBA,MAAMkD,iBAAiB,GAAG,SAApBA,iBAAoB,CAAAV,SAAS,EAAI;AACrC,QAAIA,SAAS,CAACC,QAAV,CAAmB,MAAnB,CAAJ,EAAgC;AAC9BF,MAAAA,UAAU,CAACzB,GAAX,GAAiB,CAAjB;AACAyB,MAAAA,UAAU,CAACvB,GAAX,GAAiB,EAAjB;;AAEA,UAAIV,KAAK,CAACU,GAAN,GAAY,EAAZ,IAAkBV,KAAK,CAACU,GAAN,GAAY,CAAlC,EAAqC;AACnCV,QAAAA,KAAK,CAACU,GAAN,GAAY,EAAZ;AACD;;AAEDV,MAAAA,KAAK,CAACW,IAAN,GAAa,CAAb;AACAX,MAAAA,KAAK,CAACsB,SAAN,GAAkB,CAAlB;AAEAlC,MAAAA,QAAQ,iCAAMD,KAAN;AAAaa,QAAAA,KAAK,EAALA,KAAb;AAAoBkC,QAAAA,SAAS,EAATA;AAApB,SAAR;AAEA;AACD;;AAED9C,IAAAA,QAAQ,iCAAMD,KAAN;AAAa+C,MAAAA,SAAS,EAATA;AAAb,OAAR;AACD,GAlBD;;AAoBA,sBACE;AAAK,IAAA,SAAS,EAAEhD,OAAO,CAAC2D;AAAxB,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAE;AAArB,uBADF,eAEE;AAAK,IAAA,SAAS,EAAE3D,OAAO,CAAC4D;AAAxB,kBACE;AAAK,IAAA,SAAS,EAAE5D,OAAO,CAAC+B;AAAxB,kBACE,gCAAC,qBAAD;AAAW,IAAA,KAAK,EAAE9B,KAAK,CAAC+C,SAAxB;AAAmC,IAAA,QAAQ,EAAE,kBAAAf,CAAC;AAAA,aAAIyB,iBAAiB,CAACzB,CAAC,CAAC4B,MAAF,CAASjB,KAAV,CAArB;AAAA;AAA9C,IADF,eAEE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAE5C,OAAO,CAACgC,eADrB;AAEE,IAAA,KAAK,EAAC,WAFR;AAGE,IAAA,KAAK,EAAElB,KAAK,CAACU,GAHf;AAIE,IAAA,GAAG,EAAEuB,UAAU,CAAC9C,KAAK,CAAC+C,SAAP,CAAV,CAA4B1B,GAJnC;AAKE,IAAA,GAAG,EAAEyB,UAAU,CAAC9C,KAAK,CAAC+C,SAAP,CAAV,CAA4BxB,GALnC;AAME,IAAA,OAAO,EAAC,UANV;AAOE,IAAA,QAAQ,EAAE,kBAACS,CAAD,EAAIC,CAAJ;AAAA,aAAUC,cAAc,CAAC,KAAD,EAAQD,CAAR,CAAxB;AAAA;AAPZ,IAFF,CADF,EAaG,CAACjC,KAAK,CAAC+C,SAAN,CAAgBC,QAAhB,CAAyB,MAAzB,CAAD,IAAqCnB,UAbxC,EAcGZ,iBAAiB,iBAChB;AAAK,IAAA,SAAS,EAAElB,OAAO,CAAC8D;AAAxB,kBACE,0DACE,gCAAC,sBAAD,yBADF,CADF,eAIE;AAAK,IAAA,SAAS,EAAE9D,OAAO,CAAC+D;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAE/D,OAAO,CAACgE,SADrB;AAEE,IAAA,KAAK,EAAE,OAFT;AAGE,IAAA,KAAK,EAAEhD,IAAI,CAACG,KAHd;AAIE,IAAA,GAAG,EAAEE,gBAAgB,CAACC,GAJxB;AAKE,IAAA,GAAG,EAAED,gBAAgB,CAACG,GALxB;AAME,IAAA,IAAI,EAAEH,gBAAgB,CAACI,IANzB;AAOE,IAAA,OAAO,EAAE,UAPX;AAQE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUgB,aAAa,CAAC,OAAD,EAAUhB,CAAV,CAAvB;AAAA;AARZ,IADF,eAWE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAElC,OAAO,CAACiE;AAA/B,uBAXF,CAJF,eAiBE;AAAK,IAAA,SAAS,EAAEjE,OAAO,CAAC+D;AAAxB,kBACE,gCAAC,+BAAD;AACE,IAAA,SAAS,EAAE/D,OAAO,CAACgE,SADrB;AAEE,IAAA,KAAK,EAAE,QAFT;AAGE,IAAA,KAAK,EAAEhD,IAAI,CAACI,MAHd;AAIE,IAAA,GAAG,EAAEM,iBAAiB,CAACJ,GAJzB;AAKE,IAAA,GAAG,EAAEI,iBAAiB,CAACF,GALzB;AAME,IAAA,IAAI,EAAEE,iBAAiB,CAACD,IAN1B;AAOE,IAAA,OAAO,EAAE,UAPX;AAQE,IAAA,QAAQ,EAAE,kBAACQ,CAAD,EAAIC,CAAJ;AAAA,aAAUgB,aAAa,CAAC,QAAD,EAAWhB,CAAX,CAAvB;AAAA;AARZ,IADF,eAWE,gCAAC,sBAAD;AAAY,IAAA,SAAS,EAAElC,OAAO,CAACiE;AAA/B,wBAXF,CAjBF,CAfJ,CAFF,eAkDE,gCAAC,qBAAD;AACE,IAAA,IAAI,EAAE3D,WAAW,CAACE,IADpB;AAEE,IAAA,KAAK,EAAEF,WAAW,CAACgD,KAFrB;AAGE,IAAA,IAAI,EAAEhD,WAAW,CAACiD,IAHpB;AAIE,IAAA,OAAO,EAAEjD,WAAW,CAACmD,OAJvB;AAKE,IAAA,SAAS,EAAEnD,WAAW,CAACkD;AALzB,IAlDF,CADF;AA4DD,CAlND;;AAoNA1D,mBAAmB,CAACoE,SAApB,GAAgC;AAC9BlE,EAAAA,OAAO,EAAEmE,sBAAUC,MADW;AAE9BC,EAAAA,MAAM,EAAEF,sBAAUC,MAFY;AAG9BlE,EAAAA,QAAQ,EAAEiE,iCAHoB;AAI9BrD,EAAAA,KAAK,EAAEqD,sBAAUC,MAJa;AAK9BE,EAAAA,cAAc,EAAEH,sBAAUC,MALI;AAM9BpD,EAAAA,IAAI,EAAEmD,sBAAUC;AANc,CAAhC;;AASA,IAAMG,MAAM,GAAG,SAATA,MAAS,CAAAC,KAAK;AAAA,SAAK;AACvBb,IAAAA,OAAO,EAAE;AACPxC,MAAAA,KAAK,EAAE;AADA,KADc;AAIvByC,IAAAA,OAAO,EAAE;AACPa,MAAAA,OAAO,EAAE,MADF;AAEPC,MAAAA,aAAa,EAAE,QAFR;AAGPvD,MAAAA,KAAK,EAAE,MAHA;AAIPwD,MAAAA,SAAS,EAAE;AAJJ,KAJc;AAUvBZ,IAAAA,UAAU,EAAE;AACVU,MAAAA,OAAO,EAAE,MADC;AAEVC,MAAAA,aAAa,EAAE,QAFL;AAGVE,MAAAA,UAAU,EAAE;AAHF,KAVW;AAevB7C,IAAAA,OAAO,EAAE;AACP0C,MAAAA,OAAO,EAAE,MADF;AAEPI,MAAAA,cAAc,EAAE,cAFT;AAGPD,MAAAA,UAAU,EAAE;AAHL,KAfc;AAoBvBZ,IAAAA,SAAS,EAAE;AACT7C,MAAAA,KAAK,EAAE,OADE;AAET2D,MAAAA,MAAM,YAAKN,KAAK,CAACO,OAAN,CAAcC,IAAnB,gBAA6BR,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFG,KApBY;AAwBvBhD,IAAAA,eAAe,EAAE;AACfb,MAAAA,KAAK,EAAE,OADQ;AAEf2D,MAAAA,MAAM,YAAKN,KAAK,CAACO,OAAN,CAAcC,IAAnB,gBAA6BR,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFS,KAxBM;AA4BvBC,IAAAA,cAAc,EAAE;AACd9D,MAAAA,KAAK,EAAE,OADO;AAEd2D,MAAAA,MAAM,YAAKN,KAAK,CAACO,OAAN,CAAcC,IAAnB,gBAA6BR,KAAK,CAACO,OAAN,CAAcC,IAAd,GAAqB,CAAlD;AAFQ,KA5BO;AAgCvBzB,IAAAA,IAAI,EAAE;AACJ2B,MAAAA,SAAS,EAAE,QADP;AAEJJ,MAAAA,MAAM,YAAKN,KAAK,CAACO,OAAN,CAAcC,IAAnB;AAFF,KAhCiB;AAoCvBlB,IAAAA,UAAU,EAAE;AACVW,MAAAA,OAAO,EAAE,MADC;AAEVI,MAAAA,cAAc,EAAE,eAFN;AAGVD,MAAAA,UAAU,EAAE,QAHF;AAIVE,MAAAA,MAAM,EAAE;AAJE,KApCW;AA0CvBb,IAAAA,QAAQ,EAAE;AACRkB,MAAAA,KAAK,EAAEA,gBAAMlB,QAAN;AADC;AA1Ca,GAAL;AAAA,CAApB;;eA+Ce,wBAAWM,MAAX,EAAmBzE,mBAAnB,C","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst ConfigureChartPanel = props => {\n const { classes, model, onChange, chartDimensions, gridValues = {}, labelValues = {} } = props;\n const [alertDialog, setAlertDialog] = useState(false);\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range, correctAnswer } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20\n };\n\n const gridOptions =\n gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions =\n labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <div className={classes.rowView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v)}\n {...gridOptions}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open\n },\n callback\n );\n setOpen(open);\n };\n\n const resetValues = data =>\n data.forEach(d => {\n const remainder = d.value - range.step * Math.floor(d.value / range.step);\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n const removeOutOfRangeValues = () => {\n const { correctAnswer, data } = model;\n\n resetValues(data);\n resetValues(correctAnswer.data);\n };\n\n const rangeProps = chartType => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const onRangeChanged = (key, value) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange =\n model.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n ) ||\n model.correctAnswer.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n );\n\n if (outOfRange) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n }\n });\n }\n }, [open]);\n\n const onChartTypeChange = chartType => {\n if (chartType.includes('Plot')) {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n if (range.max > 10 || range.max < 3) {\n range.max = 10;\n }\n\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <div className={classes.wrapper}>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <div className={classes.content}>\n <div className={classes.rowView}>\n <ChartType value={model.chartType} onChange={e => onChartTypeChange(e.target.value)} />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <Typography className={classes.disabled}>Min 50, Max 700</Typography>\n </div>\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <Typography className={classes.disabled}>Min 400, Max 700</Typography>\n </div>\n </div>\n )}\n </div>\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </div>\n );\n};\n\nConfigureChartPanel.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n onChange: PropTypes.function,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: '24px'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: '24px 0px'\n },\n disabled: {\n color: color.disabled()\n }\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"file":"chart-setup.js"}
|
|
1
|
+
{"version":3,"sources":["../src/chart-setup.jsx"],"names":["ConfigureChartPanel","props","classes","model","onChange","chartDimensions","gridValues","labelValues","alertDialog","setAlertDialog","open","setOpen","rangeKey","setRangeKey","resetValue","setResetValue","range","correctAnswer","size","graph","showInConfigPanel","width","height","widthConstraints","min","Math","max","step","heightConstraints","gridOptions","customValues","labelOptions","stepConfig","rowView","mediumTextField","e","v","onRangeChanged","labelStep","handleAlertDialog","callback","resetValues","data","forEach","d","remainder","value","floor","removeOutOfRangeValues","rangeProps","chartType","includes","onSizeChanged","key","outOfRange","find","title","text","onConfirm","onClose","isValidPlot","getPlotConfiguration","onChartTypeChange","wrapper","content","target","dimensions","columnView","textField","disabled","propTypes","PropTypes","object","domain","func","chartDimension","styles","theme","display","flexDirection","marginTop","alignItems","justifyContent","margin","spacing","unit","largeTextField","fontStyle","color"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport PropTypes from 'prop-types';\nimport { color } from '@pie-lib/render-ui';\nimport { withStyles } from '@material-ui/core/styles';\nimport Typography from '@material-ui/core/Typography';\nimport ChartType from './chart-type';\nimport { NumberTextFieldCustom } from '@pie-lib/config-ui';\nimport { AlertDialog } from '@pie-lib/config-ui';\n\nconst ConfigureChartPanel = props => {\n const { classes, model, onChange, chartDimensions, gridValues = {}, labelValues = {} } = props;\n const [alertDialog, setAlertDialog] = useState(false);\n const [open, setOpen] = useState(false);\n const [rangeKey, setRangeKey] = useState('');\n const [resetValue, setResetValue] = useState(0);\n\n const { range, correctAnswer } = model;\n\n const size = model.graph;\n const { showInConfigPanel, width, height } = chartDimensions || {};\n\n const widthConstraints = {\n min: width?.min ? Math.max(50, width.min) : 50,\n max: width?.max ? Math.min(700, width.max) : 700,\n step: width?.step >= 1 ? Math.min(200, width.step) : 20\n };\n const heightConstraints = {\n min: height?.min ? Math.max(400, height.min) : 400,\n max: height?.max ? Math.min(700, height.max) : 700,\n step: height?.step >= 1 ? Math.min(200, height.step) : 20\n };\n\n const gridOptions =\n gridValues && gridValues.range ? { customValues: gridValues.range } : { min: 0, max: 10000 };\n const labelOptions =\n labelValues && labelValues.range ? { customValues: labelValues.range } : { min: 0, max: 10000 };\n\n const stepConfig = (\n <div className={classes.rowView}>\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Grid Interval\"\n value={range.step}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('step', v)}\n {...gridOptions}\n />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label={'Label Interval'}\n value={range.labelStep}\n variant={'outlined'}\n onChange={(e, v) => onRangeChanged('labelStep', v)}\n {...labelOptions}\n />\n </div>\n );\n\n const handleAlertDialog = (open, callback) => {\n setAlertDialog(\n {\n alertDialog: open\n },\n callback\n );\n setOpen(open);\n };\n\n const resetValues = data =>\n data.forEach(d => {\n const remainder = d.value - range.step * Math.floor(d.value / range.step);\n\n if (d.value > range.max || remainder !== 0) {\n d.value = 0;\n }\n });\n\n const removeOutOfRangeValues = () => {\n const { correctAnswer, data } = model;\n\n resetValues(data);\n resetValues(correctAnswer.data);\n };\n\n const rangeProps = chartType => {\n return chartType.includes('Plot') ? { min: 3, max: 10 } : { min: 0.05, max: 10000 };\n };\n\n const onSizeChanged = (key, value) => {\n const graph = { ...size, [key]: value };\n\n onChange({ ...model, graph });\n };\n\n const onRangeChanged = (key, value) => {\n // use reset values to restore range to initial values\n setResetValue(range[key]);\n setRangeKey(key);\n\n range[key] = value;\n\n if (key === 'max' || key === 'step') {\n // check if current chart values are invalid for given range step/max\n const outOfRange =\n model.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n ) ||\n model.correctAnswer.data.find(\n d => d.value > range.max || d.value - range.step * Math.floor(d.value / range.step) !== 0\n );\n\n if (outOfRange) {\n setOpen(true);\n } else {\n onChange({ ...model, range });\n }\n } else {\n onChange({ ...model, range });\n }\n };\n\n useEffect(() => {\n if (open) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text: 'This change will remove values defined for one or more categories',\n onConfirm: () => {\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, correctAnswer }));\n },\n onClose: () => {\n range[rangeKey] = resetValue;\n handleAlertDialog(false);\n }\n });\n }\n }, [open]);\n\n const isValidPlot =\n range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;\n\n const getPlotConfiguration = () => {\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n range.max = 10;\n range.step = 1;\n range.labelStep = 1;\n\n onChange({ ...model, range });\n };\n\n const onChartTypeChange = chartType => {\n if (chartType.includes('Plot')) {\n // The selected chart type does not support the current chart configuration\n if (!isValidPlot) {\n setAlertDialog({\n open: true,\n title: 'Warning',\n text:\n 'The selected chart type does not support the current chart configuration. Reset chart configuration?',\n onConfirm: () => {\n getPlotConfiguration();\n removeOutOfRangeValues();\n handleAlertDialog(false, onChange({ ...model, range, chartType }));\n },\n onClose: () => {\n handleAlertDialog(false);\n }\n });\n\n return;\n }\n\n rangeProps.min = 3;\n rangeProps.max = 10;\n\n onChange({ ...model, chartType });\n\n return;\n }\n\n onChange({ ...model, chartType });\n };\n\n return (\n <div className={classes.wrapper}>\n <Typography variant={'subtitle1'}>Configure Chart</Typography>\n <div className={classes.content}>\n <div className={classes.rowView}>\n <ChartType value={model.chartType} onChange={e => onChartTypeChange(e.target.value)} />\n <NumberTextFieldCustom\n className={classes.mediumTextField}\n label=\"Max Value\"\n value={range.max}\n min={rangeProps(model.chartType).min}\n max={rangeProps(model.chartType).max}\n variant=\"outlined\"\n onChange={(e, v) => onRangeChanged('max', v)}\n />\n </div>\n {!model.chartType.includes('Plot') && stepConfig}\n {showInConfigPanel && (\n <div className={classes.dimensions}>\n <div>\n <Typography>Dimensions(px)</Typography>\n </div>\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Width'}\n value={size.width}\n min={widthConstraints.min}\n max={widthConstraints.max}\n step={widthConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('width', v)}\n />\n <Typography className={classes.disabled}>Min 50, Max 700</Typography>\n </div>\n <div className={classes.columnView}>\n <NumberTextFieldCustom\n className={classes.textField}\n label={'Height'}\n value={size.height}\n min={heightConstraints.min}\n max={heightConstraints.max}\n step={heightConstraints.step}\n variant={'outlined'}\n onChange={(e, v) => onSizeChanged('height', v)}\n />\n <Typography className={classes.disabled}>Min 400, Max 700</Typography>\n </div>\n </div>\n )}\n </div>\n <AlertDialog\n open={alertDialog.open}\n title={alertDialog.title}\n text={alertDialog.text}\n onClose={alertDialog.onClose}\n onConfirm={alertDialog.onConfirm}\n />\n </div>\n );\n};\n\nConfigureChartPanel.propTypes = {\n classes: PropTypes.object,\n domain: PropTypes.object,\n onChange: PropTypes.func,\n range: PropTypes.object,\n chartDimension: PropTypes.object,\n size: PropTypes.object\n};\n\nconst styles = theme => ({\n wrapper: {\n width: '450px'\n },\n content: {\n display: 'flex',\n flexDirection: 'column',\n width: '100%',\n marginTop: '24px'\n },\n columnView: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center'\n },\n rowView: {\n display: 'flex',\n justifyContent: 'space-around',\n alignItems: 'center'\n },\n textField: {\n width: '130px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n mediumTextField: {\n width: '160px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n largeTextField: {\n width: '230px',\n margin: `${theme.spacing.unit}px ${theme.spacing.unit / 2}px`\n },\n text: {\n fontStyle: 'italic',\n margin: `${theme.spacing.unit}px 0`\n },\n dimensions: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: '24px 0px'\n },\n disabled: {\n color: color.disabled()\n }\n});\n\nexport default withStyles(styles)(ConfigureChartPanel);\n"],"file":"chart-setup.js"}
|
package/lib/chart-type.js
CHANGED
|
@@ -45,6 +45,7 @@ var ChartType = (0, _styles.withStyles)(function (theme) {
|
|
|
45
45
|
}, "ChartType"), /*#__PURE__*/_react["default"].createElement(_Select["default"], {
|
|
46
46
|
value: value,
|
|
47
47
|
onChange: onChange,
|
|
48
|
+
labelWidth: 0,
|
|
48
49
|
input: /*#__PURE__*/_react["default"].createElement(_OutlinedInput["default"], {
|
|
49
50
|
name: "type",
|
|
50
51
|
id: "type-helper"
|
package/lib/chart-type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart-type.js"],"names":["ChartType","theme","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACrCC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AADE,KAD0B;AAIrCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,eAAe,EAAE;AADH;AAJqB,GAAL;AAAA,CAAhB,EAOd;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAoBC,OAApB,QAAoBA,OAApB;AAAA,sBACF;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACN;AAAxB,kBACE,gCAAC,uBAAD;AAAa,IAAA,OAAO,EAAE,UAAtB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACN;AAArD,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC,aAApB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACJ;AAArD,iBADF,eAKE,gCAAC,kBAAD;AACE,IAAA,KAAK,EAAEG,KADT;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,KAAK,eAAE,gCAAC,yBAAD;AAAe,MAAA,IAAI,EAAC,MAApB;AAA2B,MAAA,EAAE,EAAC;AAA9B;
|
|
1
|
+
{"version":3,"sources":["../src/chart-type.js"],"names":["ChartType","theme","chartType","width","chartTypeLabel","backgroundColor","onChange","value","classes"],"mappings":";;;;;;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;AACA;;AAEA,IAAMA,SAAS,GAAG,wBAAW,UAAAC,KAAK;AAAA,SAAK;AACrCC,IAAAA,SAAS,EAAE;AACTC,MAAAA,KAAK,EAAE;AADE,KAD0B;AAIrCC,IAAAA,cAAc,EAAE;AACdC,MAAAA,eAAe,EAAE;AADH;AAJqB,GAAL;AAAA,CAAhB,EAOd;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAaC,KAAb,QAAaA,KAAb;AAAA,MAAoBC,OAApB,QAAoBA,OAApB;AAAA,sBACF;AAAK,IAAA,SAAS,EAAEA,OAAO,CAACN;AAAxB,kBACE,gCAAC,uBAAD;AAAa,IAAA,OAAO,EAAE,UAAtB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACN;AAArD,kBACE,gCAAC,sBAAD;AAAY,IAAA,OAAO,EAAC,aAApB;AAAkC,IAAA,SAAS,EAAEM,OAAO,CAACJ;AAArD,iBADF,eAKE,gCAAC,kBAAD;AACE,IAAA,KAAK,EAAEG,KADT;AAEE,IAAA,QAAQ,EAAED,QAFZ;AAGE,IAAA,UAAU,EAAE,CAHd;AAIE,IAAA,KAAK,eAAE,gCAAC,yBAAD;AAAe,MAAA,IAAI,EAAC,MAApB;AAA2B,MAAA,EAAE,EAAC;AAA9B;AAJT,kBAME,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,iBANF,eAOE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,WAPF,eAQE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,gBARF,eASE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,kBATF,eAUE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,gBAVF,eAWE,gCAAC,oBAAD;AAAU,IAAA,KAAK,EAAE;AAAjB,iBAXF,CALF,CADF,CADE;AAAA,CAPc,CAAlB;eA+BeN,S","sourcesContent":["import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport MenuItem from '@material-ui/core/MenuItem';\nimport FormControl from '@material-ui/core/FormControl';\nimport InputLabel from '@material-ui/core/InputLabel';\nimport Select from '@material-ui/core/Select';\nimport OutlinedInput from '@material-ui/core/OutlinedInput';\n\nconst ChartType = withStyles(theme => ({\n chartType: {\n width: '160px'\n },\n chartTypeLabel: {\n backgroundColor: 'transparent'\n }\n}))(({ onChange, value, classes }) => (\n <div className={classes.chartType}>\n <FormControl variant={'outlined'} className={classes.chartType}>\n <InputLabel htmlFor=\"type-helper\" className={classes.chartTypeLabel}>\n ChartType\n </InputLabel>\n\n <Select\n value={value}\n onChange={onChange}\n labelWidth={0}\n input={<OutlinedInput name=\"type\" id=\"type-helper\" />}\n >\n <MenuItem value={'histogram'}>Histogram</MenuItem>\n <MenuItem value={'bar'}>Bar</MenuItem>\n <MenuItem value={'lineDot'}>Line Dot</MenuItem>\n <MenuItem value={'lineCross'}>Line Cross</MenuItem>\n <MenuItem value={'dotPlot'}>Dot Plot</MenuItem>\n <MenuItem value={'linePlot'}>Line Plot</MenuItem>\n </Select>\n </FormControl>\n </div>\n));\n\nexport default ChartType;\n"],"file":"chart-type.js"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"publishConfig": {
|
|
4
4
|
"access": "public"
|
|
5
5
|
},
|
|
6
|
-
"version": "5.
|
|
6
|
+
"version": "5.3.0",
|
|
7
7
|
"description": "charting",
|
|
8
8
|
"keywords": [
|
|
9
9
|
"react",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"@mapbox/point-geometry": "^0.1.0",
|
|
21
21
|
"@material-ui/core": "^3.8.3",
|
|
22
|
-
"@pie-lib/plot": "^2.5.
|
|
22
|
+
"@pie-lib/plot": "^2.5.2",
|
|
23
23
|
"@vx/axis": "^0.0.183",
|
|
24
24
|
"@vx/event": "^0.0.182",
|
|
25
25
|
"@vx/grid": "^0.0.183",
|
|
@@ -43,5 +43,5 @@
|
|
|
43
43
|
"peerDependencies": {
|
|
44
44
|
"react": "^16.8.1"
|
|
45
45
|
},
|
|
46
|
-
"gitHead": "
|
|
46
|
+
"gitHead": "681bc15345a6093a16e00043f2778a6d413b0f37"
|
|
47
47
|
}
|
package/src/chart-setup.jsx
CHANGED
|
@@ -137,19 +137,46 @@ const ConfigureChartPanel = props => {
|
|
|
137
137
|
}
|
|
138
138
|
}, [open]);
|
|
139
139
|
|
|
140
|
+
const isValidPlot =
|
|
141
|
+
range.step === 1 && range.labelStep === 1 && 3 <= range.max && range.max <= 10;
|
|
142
|
+
|
|
143
|
+
const getPlotConfiguration = () => {
|
|
144
|
+
rangeProps.min = 3;
|
|
145
|
+
rangeProps.max = 10;
|
|
146
|
+
|
|
147
|
+
range.max = 10;
|
|
148
|
+
range.step = 1;
|
|
149
|
+
range.labelStep = 1;
|
|
150
|
+
|
|
151
|
+
onChange({ ...model, range });
|
|
152
|
+
};
|
|
153
|
+
|
|
140
154
|
const onChartTypeChange = chartType => {
|
|
141
155
|
if (chartType.includes('Plot')) {
|
|
142
|
-
|
|
143
|
-
|
|
156
|
+
// The selected chart type does not support the current chart configuration
|
|
157
|
+
if (!isValidPlot) {
|
|
158
|
+
setAlertDialog({
|
|
159
|
+
open: true,
|
|
160
|
+
title: 'Warning',
|
|
161
|
+
text:
|
|
162
|
+
'The selected chart type does not support the current chart configuration. Reset chart configuration?',
|
|
163
|
+
onConfirm: () => {
|
|
164
|
+
getPlotConfiguration();
|
|
165
|
+
removeOutOfRangeValues();
|
|
166
|
+
handleAlertDialog(false, onChange({ ...model, range, chartType }));
|
|
167
|
+
},
|
|
168
|
+
onClose: () => {
|
|
169
|
+
handleAlertDialog(false);
|
|
170
|
+
}
|
|
171
|
+
});
|
|
144
172
|
|
|
145
|
-
|
|
146
|
-
range.max = 10;
|
|
173
|
+
return;
|
|
147
174
|
}
|
|
148
175
|
|
|
149
|
-
|
|
150
|
-
|
|
176
|
+
rangeProps.min = 3;
|
|
177
|
+
rangeProps.max = 10;
|
|
151
178
|
|
|
152
|
-
onChange({ ...model,
|
|
179
|
+
onChange({ ...model, chartType });
|
|
153
180
|
|
|
154
181
|
return;
|
|
155
182
|
}
|
|
@@ -222,7 +249,7 @@ const ConfigureChartPanel = props => {
|
|
|
222
249
|
ConfigureChartPanel.propTypes = {
|
|
223
250
|
classes: PropTypes.object,
|
|
224
251
|
domain: PropTypes.object,
|
|
225
|
-
onChange: PropTypes.
|
|
252
|
+
onChange: PropTypes.func,
|
|
226
253
|
range: PropTypes.object,
|
|
227
254
|
chartDimension: PropTypes.object,
|
|
228
255
|
size: PropTypes.object
|