@complat/react-spectra-editor 1.3.1 → 1.3.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.
- package/dist/__tests__/fixtures/cyclic_voltammetry_1.js +2 -0
- package/dist/__tests__/fixtures/dsc_jcamp.js +425 -0
- package/dist/__tests__/fixtures/gc_1_jcamp.js +18061 -0
- package/dist/__tests__/fixtures/gc_2_jcamp.js +18060 -0
- package/dist/__tests__/fixtures/gc_3_jcamp.js +780 -0
- package/dist/__tests__/fixtures/hplc_uvvis_jcamp.js +18063 -574
- package/dist/__tests__/fixtures/hplc_uvvis_jcamp_2.js +12077 -163
- package/dist/__tests__/units/components/panel/info.test.js +2 -1
- package/dist/actions/meta.js +7 -2
- package/dist/components/cmd_bar/r01_layout.js +8 -0
- package/dist/components/cmd_bar/r05_submit_btn.js +13 -6
- package/dist/components/d3_line/line_focus.js +1 -1
- package/dist/components/d3_multi/multi_focus.js +5 -4
- package/dist/components/multi_jcamps_viewer.js +14 -4
- package/dist/components/panel/graph_selection.js +11 -2
- package/dist/components/panel/info.js +77 -7
- package/dist/constants/action_type.js +3 -1
- package/dist/constants/list_layout.js +3 -1
- package/dist/helpers/cfg.js +1 -1
- package/dist/helpers/chem.js +27 -4
- package/dist/helpers/compass.js +1 -1
- package/dist/helpers/extractPeaksEdit.js +9 -2
- package/dist/helpers/format.js +106 -5
- package/dist/helpers/integration.js +4 -1
- package/dist/index.js +70 -4
- package/dist/layer_init.js +11 -3
- package/dist/reducers/reducer_meta.js +14 -0
- package/dist/sagas/saga_meta.js +9 -1
- package/dist/sagas/saga_multi_entities.js +45 -1
- package/dist/sagas/saga_ui.js +1 -0
- package/package.json +3 -2
package/dist/actions/meta.js
CHANGED
|
@@ -3,10 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.updateMetaPeaks = void 0;
|
|
6
|
+
exports.updateMetaPeaks = exports.updateDSCMetaData = void 0;
|
|
7
7
|
var _action_type = require("../constants/action_type");
|
|
8
8
|
const updateMetaPeaks = payload => ({
|
|
9
9
|
type: _action_type.META.UPDATE_PEAKS,
|
|
10
10
|
payload
|
|
11
11
|
});
|
|
12
|
-
exports.updateMetaPeaks = updateMetaPeaks;
|
|
12
|
+
exports.updateMetaPeaks = updateMetaPeaks;
|
|
13
|
+
const updateDSCMetaData = payload => ({
|
|
14
|
+
type: _action_type.META.UPDATE_META_DATA,
|
|
15
|
+
payload
|
|
16
|
+
});
|
|
17
|
+
exports.updateDSCMetaData = updateDSCMetaData;
|
|
@@ -108,6 +108,10 @@ const layoutSelect = (classes, layoutSt, updateLayoutAct) => {
|
|
|
108
108
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
109
109
|
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
110
110
|
}, "TGA (THERMOGRAVIMETRIC ANALYSIS)")), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
111
|
+
value: _list_layout.LIST_LAYOUT.DSC
|
|
112
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
113
|
+
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
114
|
+
}, "DSC (DIFFERENTIAL SCANNING CALORIMETRY)")), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
111
115
|
value: _list_layout.LIST_LAYOUT.XRD
|
|
112
116
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
113
117
|
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
@@ -152,6 +156,10 @@ const layoutSelect = (classes, layoutSt, updateLayoutAct) => {
|
|
|
152
156
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
153
157
|
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
154
158
|
}, "SEC")), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
159
|
+
value: _list_layout.LIST_LAYOUT.GC
|
|
160
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
161
|
+
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
162
|
+
}, "GC (GAS CHROMATOGRAPHY)")), /*#__PURE__*/_react.default.createElement(_material.MenuItem, {
|
|
155
163
|
value: _list_layout.LIST_LAYOUT.AIF
|
|
156
164
|
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
157
165
|
className: (0, _classnames.default)(classes.txtOpt, 'option-sv-bar-layout')
|
|
@@ -21,7 +21,7 @@ react/function-component-definition, function-call-argument-newline,
|
|
|
21
21
|
react/require-default-props */
|
|
22
22
|
|
|
23
23
|
const styles = () => Object.assign({}, _common.commonStyle);
|
|
24
|
-
const onClickCb = (operation, peaksEdit, isAscend, isIntensity, scan, thres, layoutSt, shiftSt, analysis, decimalSt, integrationSt, multiplicitySt, allIntegrationSt, aucValues, waveLengthSt, cyclicvoltaSt, curveSt, axesUnitsSt, detectorSt) => () => {
|
|
24
|
+
const onClickCb = (operation, peaksEdit, isAscend, isIntensity, scan, thres, layoutSt, shiftSt, analysis, decimalSt, integrationSt, multiplicitySt, allIntegrationSt, aucValues, waveLengthSt, cyclicvoltaSt, curveSt, axesUnitsSt, detectorSt, dscMetaData) => () => {
|
|
25
25
|
operation({
|
|
26
26
|
peaks: peaksEdit,
|
|
27
27
|
layout: layoutSt,
|
|
@@ -40,7 +40,8 @@ const onClickCb = (operation, peaksEdit, isAscend, isIntensity, scan, thres, lay
|
|
|
40
40
|
cyclicvoltaSt,
|
|
41
41
|
curveSt,
|
|
42
42
|
axesUnitsSt,
|
|
43
|
-
detectorSt
|
|
43
|
+
detectorSt,
|
|
44
|
+
dscMetaData
|
|
44
45
|
});
|
|
45
46
|
};
|
|
46
47
|
const BtnSubmit = _ref => {
|
|
@@ -64,13 +65,17 @@ const BtnSubmit = _ref => {
|
|
|
64
65
|
cyclicvoltaSt,
|
|
65
66
|
curveSt,
|
|
66
67
|
axesUnitsSt,
|
|
67
|
-
detectorSt
|
|
68
|
+
detectorSt,
|
|
69
|
+
metaSt
|
|
68
70
|
} = _ref;
|
|
69
71
|
const peaksEdit = (0, _extractPeaksEdit.extractPeaksEdit)(feature, editPeakSt, thresSt, shiftSt, layoutSt);
|
|
70
72
|
// const disBtn = peaksEdit.length === 0 || statusSt.btnSubmit || disabled;
|
|
71
73
|
const scan = (0, _chem.Convert2Scan)(feature, scanSt);
|
|
72
74
|
const thres = (0, _chem.Convert2Thres)(feature, thresSt);
|
|
73
75
|
const aucValues = (0, _extractPeaksEdit.extractAreaUnderCurve)(allIntegrationSt, integrationSt, layoutSt);
|
|
76
|
+
const {
|
|
77
|
+
dscMetaData
|
|
78
|
+
} = metaSt;
|
|
74
79
|
if (!operation) return null;
|
|
75
80
|
return /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
|
|
76
81
|
title: /*#__PURE__*/_react.default.createElement("span", {
|
|
@@ -79,7 +84,7 @@ const BtnSubmit = _ref => {
|
|
|
79
84
|
}, /*#__PURE__*/_react.default.createElement(_common.MuButton, {
|
|
80
85
|
className: (0, _classnames.default)('btn-sv-bar-submit'),
|
|
81
86
|
color: "primary",
|
|
82
|
-
onClick: onClickCb(operation.value, peaksEdit, isAscend, isIntensity, scan, thres, layoutSt, shiftSt, forecastSt.predictions, decimalSt, integrationSt, multiplicitySt, allIntegrationSt, aucValues, waveLengthSt, cyclicvoltaSt, curveSt, axesUnitsSt, detectorSt)
|
|
87
|
+
onClick: onClickCb(operation.value, peaksEdit, isAscend, isIntensity, scan, thres, layoutSt, shiftSt, forecastSt.predictions, decimalSt, integrationSt, multiplicitySt, allIntegrationSt, aucValues, waveLengthSt, cyclicvoltaSt, curveSt, axesUnitsSt, detectorSt, dscMetaData)
|
|
83
88
|
}, /*#__PURE__*/_react.default.createElement(_PlayCircleOutline.default, {
|
|
84
89
|
className: classes.icon
|
|
85
90
|
})));
|
|
@@ -101,7 +106,8 @@ const mapStateToProps = (state, props) => (
|
|
|
101
106
|
cyclicvoltaSt: state.cyclicvolta,
|
|
102
107
|
curveSt: state.curve,
|
|
103
108
|
axesUnitsSt: state.axesUnits,
|
|
104
|
-
detectorSt: state.detector
|
|
109
|
+
detectorSt: state.detector,
|
|
110
|
+
metaSt: state.meta
|
|
105
111
|
});
|
|
106
112
|
const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({}, dispatch);
|
|
107
113
|
BtnSubmit.propTypes = {
|
|
@@ -124,6 +130,7 @@ BtnSubmit.propTypes = {
|
|
|
124
130
|
cyclicvoltaSt: _propTypes.default.object.isRequired,
|
|
125
131
|
curveSt: _propTypes.default.object,
|
|
126
132
|
axesUnitsSt: _propTypes.default.object.isRequired,
|
|
127
|
-
detectorSt: _propTypes.default.object.isRequired
|
|
133
|
+
detectorSt: _propTypes.default.object.isRequired,
|
|
134
|
+
metaSt: _propTypes.default.object.isRequired
|
|
128
135
|
};
|
|
129
136
|
var _default = exports.default = (0, _redux.compose)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps), (0, _styles.withStyles)(styles))(BtnSubmit);
|
|
@@ -596,7 +596,7 @@ class LineFocus {
|
|
|
596
596
|
return null;
|
|
597
597
|
}
|
|
598
598
|
reverseXAxis(layoutSt) {
|
|
599
|
-
return [_list_layout.LIST_LAYOUT.UVVIS, _list_layout.LIST_LAYOUT.HPLC_UVVIS, _list_layout.LIST_LAYOUT.TGA, _list_layout.LIST_LAYOUT.XRD, _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY, _list_layout.LIST_LAYOUT.CDS, _list_layout.LIST_LAYOUT.DLS_ACF, _list_layout.LIST_LAYOUT.SEC, _list_layout.LIST_LAYOUT.EMISSIONS, _list_layout.LIST_LAYOUT.DLS_INTENSITY].indexOf(layoutSt) < 0;
|
|
599
|
+
return [_list_layout.LIST_LAYOUT.UVVIS, _list_layout.LIST_LAYOUT.HPLC_UVVIS, _list_layout.LIST_LAYOUT.TGA, _list_layout.LIST_LAYOUT.DSC, _list_layout.LIST_LAYOUT.XRD, _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY, _list_layout.LIST_LAYOUT.CDS, _list_layout.LIST_LAYOUT.DLS_ACF, _list_layout.LIST_LAYOUT.SEC, _list_layout.LIST_LAYOUT.GC, _list_layout.LIST_LAYOUT.EMISSIONS, _list_layout.LIST_LAYOUT.DLS_INTENSITY].indexOf(layoutSt) < 0;
|
|
600
600
|
}
|
|
601
601
|
create(_ref) {
|
|
602
602
|
let {
|
|
@@ -171,16 +171,17 @@ class MultiFocus {
|
|
|
171
171
|
if (idx === jcampIdx) {
|
|
172
172
|
this.data = [...currData];
|
|
173
173
|
this.pathColor = color;
|
|
174
|
-
filterSubLayoutValue = feature.xUnit;
|
|
174
|
+
filterSubLayoutValue = _format.default.isSECLayout(layout) ? feature.xUnit : feature.yUnit;
|
|
175
175
|
} else {
|
|
176
|
+
const filterValue = _format.default.isSECLayout(layout) ? feature.xUnit : feature.yUnit;
|
|
176
177
|
this.otherLineData.push({
|
|
177
178
|
data: currData,
|
|
178
179
|
color,
|
|
179
|
-
filterSublayout:
|
|
180
|
+
filterSublayout: filterValue
|
|
180
181
|
});
|
|
181
182
|
}
|
|
182
183
|
});
|
|
183
|
-
if (_format.default.isSECLayout(layout)) {
|
|
184
|
+
if (_format.default.isSECLayout(layout) || _format.default.isGCLayout(layout)) {
|
|
184
185
|
this.otherLineData = this.otherLineData.filter(data => {
|
|
185
186
|
return data.filterSublayout === filterSubLayoutValue;
|
|
186
187
|
});
|
|
@@ -785,7 +786,7 @@ class MultiFocus {
|
|
|
785
786
|
ccp.enter().append('path').attr('d', lineSymbol).attr('class', 'enter-ref').attr('fill', 'green').attr('fill-opacity', 0.8).merge(ccp).attr('transform', d => `translate(${xt(d.x)}, ${yt(d.y)})`);
|
|
786
787
|
}
|
|
787
788
|
reverseXAxis(layoutSt) {
|
|
788
|
-
return [_list_layout.LIST_LAYOUT.UVVIS, _list_layout.LIST_LAYOUT.HPLC_UVVIS, _list_layout.LIST_LAYOUT.TGA, _list_layout.LIST_LAYOUT.XRD, _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY, _list_layout.LIST_LAYOUT.CDS, _list_layout.LIST_LAYOUT.SEC, _list_layout.LIST_LAYOUT.AIF].indexOf(layoutSt) < 0;
|
|
789
|
+
return [_list_layout.LIST_LAYOUT.UVVIS, _list_layout.LIST_LAYOUT.HPLC_UVVIS, _list_layout.LIST_LAYOUT.TGA, _list_layout.LIST_LAYOUT.DSC, _list_layout.LIST_LAYOUT.XRD, _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY, _list_layout.LIST_LAYOUT.CDS, _list_layout.LIST_LAYOUT.SEC, _list_layout.LIST_LAYOUT.GC, _list_layout.LIST_LAYOUT.AIF].indexOf(layoutSt) < 0;
|
|
789
790
|
}
|
|
790
791
|
create(_ref) {
|
|
791
792
|
let {
|
|
@@ -17,6 +17,7 @@ var _index3 = _interopRequireDefault(require("./d3_multi/index"));
|
|
|
17
17
|
var _curve = require("../actions/curve");
|
|
18
18
|
var _cyclic_voltammetry = require("../actions/cyclic_voltammetry");
|
|
19
19
|
var _list_layout = require("../constants/list_layout");
|
|
20
|
+
var _format = _interopRequireDefault(require("../helpers/format"));
|
|
20
21
|
/* eslint-disable react/default-props-match-prop-types,
|
|
21
22
|
react/require-default-props, react/no-unused-prop-types, react/jsx-boolean-value,
|
|
22
23
|
prefer-object-spread */
|
|
@@ -63,10 +64,12 @@ class MultiJcampsViewer extends _react.default.Component {
|
|
|
63
64
|
userManualLink,
|
|
64
65
|
molSvg,
|
|
65
66
|
theoryMass,
|
|
66
|
-
layoutSt
|
|
67
|
+
layoutSt,
|
|
68
|
+
integrationSt
|
|
67
69
|
} = this.props;
|
|
68
70
|
if (!entities || entities.length === 0) return /*#__PURE__*/_react.default.createElement("div", null);
|
|
69
|
-
const
|
|
71
|
+
const separateCondition = _format.default.isGCLayout(layoutSt) ? 'yUnit' : 'xUnit';
|
|
72
|
+
const seperatedSubLayouts = seperatingSubLayout(entities, separateCondition, layoutSt);
|
|
70
73
|
const {
|
|
71
74
|
curveIdx
|
|
72
75
|
} = curveSt;
|
|
@@ -75,6 +78,10 @@ class MultiJcampsViewer extends _react.default.Component {
|
|
|
75
78
|
feature,
|
|
76
79
|
topic
|
|
77
80
|
} = entity;
|
|
81
|
+
const {
|
|
82
|
+
integrations
|
|
83
|
+
} = integrationSt;
|
|
84
|
+
const currentIntegration = integrations[curveIdx];
|
|
78
85
|
return /*#__PURE__*/_react.default.createElement("div", {
|
|
79
86
|
className: classes.root
|
|
80
87
|
}, /*#__PURE__*/_react.default.createElement(_index2.default, {
|
|
@@ -107,6 +114,7 @@ class MultiJcampsViewer extends _react.default.Component {
|
|
|
107
114
|
molSvg: molSvg,
|
|
108
115
|
theoryMass: theoryMass,
|
|
109
116
|
subLayoutsInfo: seperatedSubLayouts,
|
|
117
|
+
integration: currentIntegration,
|
|
110
118
|
descriptions: "",
|
|
111
119
|
canChangeDescription: () => {},
|
|
112
120
|
onDescriptionChanged: () => {}
|
|
@@ -119,7 +127,8 @@ const mapStateToProps = (state, _) => (
|
|
|
119
127
|
curveSt: state.curve,
|
|
120
128
|
cyclicVoltaSt: state.cyclicvolta,
|
|
121
129
|
entities: state.curve.listCurves,
|
|
122
|
-
layoutSt: state.layout
|
|
130
|
+
layoutSt: state.layout,
|
|
131
|
+
integrationSt: state.integration.present
|
|
123
132
|
});
|
|
124
133
|
const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({
|
|
125
134
|
setAllCurvesAct: _curve.setAllCurves,
|
|
@@ -143,7 +152,8 @@ MultiJcampsViewer.propTypes = {
|
|
|
143
152
|
userManualLink: _propTypes.default.object,
|
|
144
153
|
entities: _propTypes.default.array,
|
|
145
154
|
layoutSt: _propTypes.default.string.isRequired,
|
|
146
|
-
theoryMass: _propTypes.default.string
|
|
155
|
+
theoryMass: _propTypes.default.string,
|
|
156
|
+
integrationSt: _propTypes.default.object.isRequired
|
|
147
157
|
};
|
|
148
158
|
MultiJcampsViewer.defaultProps = {
|
|
149
159
|
multiEntities: [],
|
|
@@ -61,10 +61,13 @@ const GraphSelectionPanel = _ref => {
|
|
|
61
61
|
toggleShowAllCurveAct
|
|
62
62
|
} = _ref;
|
|
63
63
|
let subLayoutValues = [];
|
|
64
|
-
if (subLayoutsInfo
|
|
64
|
+
if (subLayoutsInfo) {
|
|
65
65
|
subLayoutValues = Object.keys(subLayoutsInfo);
|
|
66
66
|
}
|
|
67
67
|
const [selectedSubLayout, setSelectedSublayout] = (0, _react.useState)(subLayoutValues[0]);
|
|
68
|
+
(0, _react.useEffect)(() => {
|
|
69
|
+
setSelectedSublayout(subLayoutValues[0]);
|
|
70
|
+
}, subLayoutValues);
|
|
68
71
|
if (!curveSt) {
|
|
69
72
|
return /*#__PURE__*/_react.default.createElement("span", null);
|
|
70
73
|
}
|
|
@@ -144,13 +147,19 @@ const GraphSelectionPanel = _ref => {
|
|
|
144
147
|
onChange: onChangeTabSubLayout
|
|
145
148
|
}, subLayoutValues.map((subLayout, i) => {
|
|
146
149
|
let subLayoutName = '';
|
|
147
|
-
switch (subLayout) {
|
|
150
|
+
switch (subLayout.toUpperCase()) {
|
|
148
151
|
case 'G/MOL':
|
|
149
152
|
subLayoutName = 'MWD';
|
|
150
153
|
break;
|
|
151
154
|
case 'MILLILITERS':
|
|
152
155
|
subLayoutName = 'ELU';
|
|
153
156
|
break;
|
|
157
|
+
case 'INTENSITY':
|
|
158
|
+
subLayoutName = 'Chromatogram';
|
|
159
|
+
break;
|
|
160
|
+
case 'DEGREES CELSIUS':
|
|
161
|
+
subLayoutName = 'Temperature';
|
|
162
|
+
break;
|
|
154
163
|
default:
|
|
155
164
|
break;
|
|
156
165
|
}
|
|
@@ -16,6 +16,7 @@ var _material = require("@mui/material");
|
|
|
16
16
|
var _ExpandMore = _interopRequireDefault(require("@mui/icons-material/ExpandMore"));
|
|
17
17
|
var _styles = require("@mui/styles");
|
|
18
18
|
var _format = _interopRequireDefault(require("../../helpers/format"));
|
|
19
|
+
var _meta = require("../../actions/meta");
|
|
19
20
|
/* eslint-disable no-mixed-operators, react/function-component-definition,
|
|
20
21
|
react/require-default-props, max-len */
|
|
21
22
|
|
|
@@ -163,7 +164,61 @@ SECData.propTypes = {
|
|
|
163
164
|
detector: _propTypes.default.object.isRequired,
|
|
164
165
|
secData: _propTypes.default.object.isRequired
|
|
165
166
|
};
|
|
166
|
-
const
|
|
167
|
+
const DSCData = _ref2 => {
|
|
168
|
+
let {
|
|
169
|
+
classes,
|
|
170
|
+
layout,
|
|
171
|
+
dscMetaData,
|
|
172
|
+
updateAction
|
|
173
|
+
} = _ref2;
|
|
174
|
+
if (_format.default.isDSCLayout(layout) && dscMetaData !== undefined) {
|
|
175
|
+
const {
|
|
176
|
+
meltingPoint,
|
|
177
|
+
tg
|
|
178
|
+
} = dscMetaData;
|
|
179
|
+
const onChange = e => {
|
|
180
|
+
const {
|
|
181
|
+
name,
|
|
182
|
+
value
|
|
183
|
+
} = e.target;
|
|
184
|
+
const dataToUpdate = {
|
|
185
|
+
meltingPoint,
|
|
186
|
+
tg
|
|
187
|
+
};
|
|
188
|
+
dataToUpdate[name] = value;
|
|
189
|
+
updateAction(dataToUpdate);
|
|
190
|
+
};
|
|
191
|
+
return /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
|
|
192
|
+
className: (0, _classnames.default)(classes.rowRoot, classes.rowOdd)
|
|
193
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
194
|
+
className: (0, _classnames.default)(classes.tTxt, classes.tHead, 'txt-sv-panel-txt')
|
|
195
|
+
}, "Melting Point: "), /*#__PURE__*/_react.default.createElement("input", {
|
|
196
|
+
type: "text",
|
|
197
|
+
name: "meltingPoint",
|
|
198
|
+
className: (0, _classnames.default)(classes.tTxt, 'txt-sv-panel-txt'),
|
|
199
|
+
value: meltingPoint,
|
|
200
|
+
onChange: onChange
|
|
201
|
+
})), /*#__PURE__*/_react.default.createElement("div", {
|
|
202
|
+
className: (0, _classnames.default)(classes.rowRoot, classes.rowEven)
|
|
203
|
+
}, /*#__PURE__*/_react.default.createElement("span", {
|
|
204
|
+
className: (0, _classnames.default)(classes.tTxt, classes.tHead, 'txt-sv-panel-txt')
|
|
205
|
+
}, "TG: "), /*#__PURE__*/_react.default.createElement("input", {
|
|
206
|
+
type: "text",
|
|
207
|
+
name: "tg",
|
|
208
|
+
className: (0, _classnames.default)(classes.tTxt, 'txt-sv-panel-txt'),
|
|
209
|
+
value: tg,
|
|
210
|
+
onChange: onChange
|
|
211
|
+
})));
|
|
212
|
+
}
|
|
213
|
+
return null;
|
|
214
|
+
};
|
|
215
|
+
DSCData.propTypes = {
|
|
216
|
+
classes: _propTypes.default.object.isRequired,
|
|
217
|
+
layout: _propTypes.default.string.isRequired,
|
|
218
|
+
dscMetaData: _propTypes.default.object.isRequired,
|
|
219
|
+
updateAction: _propTypes.default.func.isRequired
|
|
220
|
+
};
|
|
221
|
+
const InfoPanel = _ref3 => {
|
|
167
222
|
let {
|
|
168
223
|
classes,
|
|
169
224
|
expand,
|
|
@@ -180,8 +235,10 @@ const InfoPanel = _ref2 => {
|
|
|
180
235
|
onExapnd,
|
|
181
236
|
canChangeDescription,
|
|
182
237
|
onDescriptionChanged,
|
|
183
|
-
detectorSt
|
|
184
|
-
|
|
238
|
+
detectorSt,
|
|
239
|
+
metaSt,
|
|
240
|
+
updateDSCMetaDataAct
|
|
241
|
+
} = _ref3;
|
|
185
242
|
if (!feature) return null;
|
|
186
243
|
const {
|
|
187
244
|
title,
|
|
@@ -189,6 +246,9 @@ const InfoPanel = _ref2 => {
|
|
|
189
246
|
solventName,
|
|
190
247
|
secData
|
|
191
248
|
} = feature;
|
|
249
|
+
const {
|
|
250
|
+
dscMetaData
|
|
251
|
+
} = metaSt;
|
|
192
252
|
const {
|
|
193
253
|
curveIdx
|
|
194
254
|
} = curveSt;
|
|
@@ -274,7 +334,12 @@ const InfoPanel = _ref2 => {
|
|
|
274
334
|
className: (0, _classnames.default)(classes.tTxt, classes.tHead, 'txt-sv-panel-txt')
|
|
275
335
|
}, "Area under curve (AUC):"), /*#__PURE__*/_react.default.createElement("br", null), /*#__PURE__*/_react.default.createElement("span", {
|
|
276
336
|
className: (0, _classnames.default)(classes.tTxt, classes.tTxtSim, 'txt-sv-panel-txt')
|
|
277
|
-
}, aucValue(integration))) : null
|
|
337
|
+
}, aucValue(integration))) : null, /*#__PURE__*/_react.default.createElement(DSCData, {
|
|
338
|
+
classes: classes,
|
|
339
|
+
layout: layoutSt,
|
|
340
|
+
dscMetaData: dscMetaData,
|
|
341
|
+
updateAction: updateDSCMetaDataAct
|
|
342
|
+
})), !_format.default.isCyclicVoltaLayout(layoutSt) ? /*#__PURE__*/_react.default.createElement(_reactQuill.default, {
|
|
278
343
|
className: (0, _classnames.default)(classes.quill, 'card-sv-quill'),
|
|
279
344
|
value: descriptions,
|
|
280
345
|
modules: {
|
|
@@ -297,9 +362,12 @@ const mapStateToProps = (state, props) => (
|
|
|
297
362
|
simulationSt: state.simulation,
|
|
298
363
|
shiftSt: state.shift,
|
|
299
364
|
curveSt: state.curve,
|
|
300
|
-
detectorSt: state.detector
|
|
365
|
+
detectorSt: state.detector,
|
|
366
|
+
metaSt: state.meta
|
|
301
367
|
});
|
|
302
|
-
const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({
|
|
368
|
+
const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({
|
|
369
|
+
updateDSCMetaDataAct: _meta.updateDSCMetaData
|
|
370
|
+
}, dispatch);
|
|
303
371
|
InfoPanel.propTypes = {
|
|
304
372
|
classes: _propTypes.default.object.isRequired,
|
|
305
373
|
expand: _propTypes.default.bool.isRequired,
|
|
@@ -316,7 +384,9 @@ InfoPanel.propTypes = {
|
|
|
316
384
|
canChangeDescription: _propTypes.default.bool.isRequired,
|
|
317
385
|
onDescriptionChanged: _propTypes.default.func,
|
|
318
386
|
theoryMass: _propTypes.default.string,
|
|
319
|
-
detectorSt: _propTypes.default.object.isRequired
|
|
387
|
+
detectorSt: _propTypes.default.object.isRequired,
|
|
388
|
+
metaSt: _propTypes.default.object.isRequired,
|
|
389
|
+
updateDSCMetaDataAct: _propTypes.default.func.isRequired
|
|
320
390
|
};
|
|
321
391
|
var _default = exports.default = (0, _reactRedux.connect)(
|
|
322
392
|
// eslint-disable-line
|
|
@@ -106,7 +106,9 @@ const MULTIPLICITY = exports.MULTIPLICITY = {
|
|
|
106
106
|
};
|
|
107
107
|
const META = exports.META = {
|
|
108
108
|
UPDATE_PEAKS: 'META_UPDATE_PEAKS',
|
|
109
|
-
UPDATE_PEAKS_RDC: 'META_UPDATE_PEAKS_RDC'
|
|
109
|
+
UPDATE_PEAKS_RDC: 'META_UPDATE_PEAKS_RDC',
|
|
110
|
+
UPDATE_META_DATA: 'UPDATE_META_DATA',
|
|
111
|
+
UPDATE_META_DATA_RDC: 'UPDATE_META_DATA_RDC'
|
|
110
112
|
};
|
|
111
113
|
const JCAMP = exports.JCAMP = {
|
|
112
114
|
ADD_OTHERS: 'JCAMP_ADD_OTHERS',
|
package/dist/helpers/cfg.js
CHANGED
|
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
});
|
|
7
7
|
exports.default = void 0;
|
|
8
8
|
var _format = _interopRequireDefault(require("./format"));
|
|
9
|
-
const btnCmdAnaViewer = layoutSt => _format.default.isMsLayout(layoutSt) || _format.default.isRamanLayout(layoutSt) || _format.default.is19FLayout(layoutSt) || _format.default.isUvVisLayout(layoutSt) || _format.default.isHplcUvVisLayout(layoutSt) || _format.default.isTGALayout(layoutSt) || _format.default.isXRDLayout(layoutSt) || _format.default.is31PLayout(layoutSt) || _format.default.is15NLayout(layoutSt) || _format.default.is29SiLayout(layoutSt) || _format.default.isCyclicVoltaLayout(layoutSt) || _format.default.isCDSLayout(layoutSt) || _format.default.isSECLayout(layoutSt);
|
|
9
|
+
const btnCmdAnaViewer = layoutSt => _format.default.isMsLayout(layoutSt) || _format.default.isRamanLayout(layoutSt) || _format.default.is19FLayout(layoutSt) || _format.default.isUvVisLayout(layoutSt) || _format.default.isHplcUvVisLayout(layoutSt) || _format.default.isTGALayout(layoutSt) || _format.default.isDSCLayout(layoutSt) || _format.default.isXRDLayout(layoutSt) || _format.default.is31PLayout(layoutSt) || _format.default.is15NLayout(layoutSt) || _format.default.is29SiLayout(layoutSt) || _format.default.isCyclicVoltaLayout(layoutSt) || _format.default.isCDSLayout(layoutSt) || _format.default.isSECLayout(layoutSt) || _format.default.isGCLayout(layoutSt);
|
|
10
10
|
const hideCmdAnaViewer = () => false;
|
|
11
11
|
const btnCmdAddPeak = layoutSt => _format.default.isMsLayout(layoutSt);
|
|
12
12
|
const btnCmdRmPeak = layoutSt => _format.default.isMsLayout(layoutSt);
|
package/dist/helpers/chem.js
CHANGED
|
@@ -350,6 +350,9 @@ const readLayout = jcamp => {
|
|
|
350
350
|
if (dataType.includes('THERMOGRAVIMETRIC ANALYSIS')) {
|
|
351
351
|
return _list_layout.LIST_LAYOUT.TGA;
|
|
352
352
|
}
|
|
353
|
+
if (dataType.includes('DIFFERENTIAL SCANNING CALORIMETRY')) {
|
|
354
|
+
return _list_layout.LIST_LAYOUT.DSC;
|
|
355
|
+
}
|
|
353
356
|
if (dataType.includes('X-RAY DIFFRACTION')) {
|
|
354
357
|
return _list_layout.LIST_LAYOUT.XRD;
|
|
355
358
|
}
|
|
@@ -365,6 +368,9 @@ const readLayout = jcamp => {
|
|
|
365
368
|
if (dataType.includes('SIZE EXCLUSION CHROMATOGRAPHY')) {
|
|
366
369
|
return _list_layout.LIST_LAYOUT.SEC;
|
|
367
370
|
}
|
|
371
|
+
if (dataType.includes('GAS CHROMATOGRAPHY')) {
|
|
372
|
+
return _list_layout.LIST_LAYOUT.GC;
|
|
373
|
+
}
|
|
368
374
|
if (dataType.includes('SORPTION-DESORPTION MEASUREMENT')) {
|
|
369
375
|
return _list_layout.LIST_LAYOUT.AIF;
|
|
370
376
|
}
|
|
@@ -514,7 +520,8 @@ const buildPeakFeature = function (jcamp, layout, peakUp, s, thresRef) {
|
|
|
514
520
|
solventName: info['.SOLVENTNAME'],
|
|
515
521
|
upperThres,
|
|
516
522
|
lowerThres,
|
|
517
|
-
volammetryData: extractVoltammetryData(jcamp)
|
|
523
|
+
volammetryData: extractVoltammetryData(jcamp),
|
|
524
|
+
scanRate: +info.$CSSCANRATE || 0.1
|
|
518
525
|
}, s);
|
|
519
526
|
};
|
|
520
527
|
const maxArray = arr => {
|
|
@@ -683,6 +690,7 @@ const extrFeaturesNi = (jcamp, layout, peakUp, spectra) => {
|
|
|
683
690
|
nfs.simulation = buildSimFeature(jcamp);
|
|
684
691
|
return nfs;
|
|
685
692
|
}
|
|
693
|
+
|
|
686
694
|
// workaround for legacy design
|
|
687
695
|
const features = jcamp.spectra.map(s => {
|
|
688
696
|
const thresRef = calcThresRef(s, peakUp);
|
|
@@ -768,7 +776,6 @@ const extrFeaturesCylicVolta = (jcamp, layout, peakUp) => {
|
|
|
768
776
|
mw: MW
|
|
769
777
|
};
|
|
770
778
|
}
|
|
771
|
-
// const detector = Format.isSECLayout(layout) && jcamp.info.$DETECTOR ? jcamp.info.$DETECTOR : '';
|
|
772
779
|
return Object.assign({}, base, cpo, bnd, {
|
|
773
780
|
detector,
|
|
774
781
|
secData
|
|
@@ -818,7 +825,7 @@ const extractTemperature = jcamp => {
|
|
|
818
825
|
const ExtractJcamp = source => {
|
|
819
826
|
const jcamp = _jcampconverter.default.convert(source, {
|
|
820
827
|
xy: true,
|
|
821
|
-
keepRecordsRegExp: /(\$CSTHRESHOLD|\$CSSCANAUTOTARGET|\$CSSCANEDITTARGET|\$CSSCANCOUNT|\$CSSOLVENTNAME|\$CSSOLVENTVALUE|\$CSSOLVENTX|\$CSCATEGORY|\$CSITAREA|\$CSITFACTOR|\$OBSERVEDINTEGRALS|\$OBSERVEDMULTIPLETS|\$OBSERVEDMULTIPLETSPEAKS|\.SOLVENTNAME|\.OBSERVEFREQUENCY|\$CSSIMULATIONPEAKS|\$CSUPPERTHRESHOLD|\$CSLOWERTHRESHOLD|\$CSCYCLICVOLTAMMETRYDATA|UNITS|SYMBOL|CSAUTOMETADATA|\$DETECTOR|MN|MW|D|MP)/ // eslint-disable-line
|
|
828
|
+
keepRecordsRegExp: /(\$CSTHRESHOLD|\$CSSCANAUTOTARGET|\$CSSCANEDITTARGET|\$CSSCANCOUNT|\$CSSOLVENTNAME|\$CSSOLVENTVALUE|\$CSSOLVENTX|\$CSCATEGORY|\$CSITAREA|\$CSITFACTOR|\$OBSERVEDINTEGRALS|\$OBSERVEDMULTIPLETS|\$OBSERVEDMULTIPLETSPEAKS|\.SOLVENTNAME|\.OBSERVEFREQUENCY|\$CSSIMULATIONPEAKS|\$CSUPPERTHRESHOLD|\$CSLOWERTHRESHOLD|\$CSCYCLICVOLTAMMETRYDATA|UNITS|SYMBOL|CSAUTOMETADATA|\$DETECTOR|MN|MW|D|MP|MELTINGPOINT|TG|\$CSSCANRATE|\$CSSPECTRUMDIRECTION)/ // eslint-disable-line
|
|
822
829
|
});
|
|
823
830
|
const layout = readLayout(jcamp);
|
|
824
831
|
const peakUp = !_format.default.isIrLayout(layout);
|
|
@@ -835,10 +842,26 @@ const ExtractJcamp = source => {
|
|
|
835
842
|
layout,
|
|
836
843
|
temperature
|
|
837
844
|
};
|
|
838
|
-
} else if (_format.default.isCyclicVoltaLayout(layout) || _format.default.isSECLayout(layout) || _format.default.isAIFLayout(layout) || _format.default.isCDSLayout(layout)) {
|
|
845
|
+
} else if (_format.default.isCyclicVoltaLayout(layout) || _format.default.isSECLayout(layout) || _format.default.isAIFLayout(layout) || _format.default.isCDSLayout(layout) || _format.default.isGCLayout(layout)) {
|
|
839
846
|
features = extrFeaturesCylicVolta(jcamp, layout, peakUp);
|
|
840
847
|
} else {
|
|
841
848
|
features = extrFeaturesNi(jcamp, layout, peakUp, spectra);
|
|
849
|
+
if (_format.default.isDSCLayout(layout)) {
|
|
850
|
+
const {
|
|
851
|
+
info
|
|
852
|
+
} = jcamp;
|
|
853
|
+
const {
|
|
854
|
+
MELTINGPOINT,
|
|
855
|
+
TG
|
|
856
|
+
} = info;
|
|
857
|
+
const dscMetaData = {
|
|
858
|
+
meltingPoint: MELTINGPOINT,
|
|
859
|
+
tg: TG
|
|
860
|
+
};
|
|
861
|
+
features = Object.assign({}, features, {
|
|
862
|
+
dscMetaData
|
|
863
|
+
});
|
|
864
|
+
}
|
|
842
865
|
}
|
|
843
866
|
// const features = Format.isMsLayout(layout)
|
|
844
867
|
// ? extrFeaturesMs(jcamp, layout, peakUp)
|
package/dist/helpers/compass.js
CHANGED
|
@@ -97,7 +97,7 @@ const MouseMove = (event, focus) => {
|
|
|
97
97
|
dValue = (0, _chem.Convert2DValue)(pt.x).toExponential(2);
|
|
98
98
|
}
|
|
99
99
|
focus.root.select('.cursor-txt-hz').attr('transform', `translate(${tx},${ty - 30})`).text(`2Theta: ${pt.x.toExponential(2)}, d-value: ${dValue}`);
|
|
100
|
-
} else if (_format.default.isTGALayout(layout)) {
|
|
100
|
+
} else if (_format.default.isTGALayout(layout) || _format.default.isDSCLayout(layout)) {
|
|
101
101
|
focus.root.select('.cursor-txt').attr('transform', `translate(${tx},${10})`).text(`X: ${pt.x.toFixed(3)}, Y: ${pt.y.toFixed(3)}`);
|
|
102
102
|
} else {
|
|
103
103
|
focus.root.select('.cursor-txt').attr('transform', `translate(${tx},${10})`).text(pt.x.toFixed(3));
|
|
@@ -59,8 +59,15 @@ const extractAreaUnderCurve = (allIntegrationSt, presentIntegrationSt, layoutSt)
|
|
|
59
59
|
if (_format.default.isHplcUvVisLayout(layoutSt) && Array.isArray(allIntegrationSt) && presentIntegrationSt) {
|
|
60
60
|
const results = [];
|
|
61
61
|
allIntegrationSt.forEach(inte => {
|
|
62
|
-
const
|
|
63
|
-
|
|
62
|
+
const {
|
|
63
|
+
integrations
|
|
64
|
+
} = inte;
|
|
65
|
+
const subResults = [];
|
|
66
|
+
integrations.forEach(subInte => {
|
|
67
|
+
const aucVal = getAUCValue(subInte, layoutSt);
|
|
68
|
+
subResults.push(aucVal);
|
|
69
|
+
});
|
|
70
|
+
results.push(subResults);
|
|
64
71
|
});
|
|
65
72
|
return results;
|
|
66
73
|
}
|