Skip to content

Commit afb52d1

Browse files
Update to version 1.3.1 (#218)
* feat: add shift function for CV layout (#206) * feat: display sec metadata on info panel (#214) * chore: update version info to 1.3.1
1 parent f7a0fde commit afb52d1

File tree

27 files changed

+1012
-448
lines changed

27 files changed

+1012
-448
lines changed

dist/components/cmd_bar/07_pecker.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,17 @@ const setRef = (classes, cyclicVotaSt, curveIdx, setCylicVoltaRefFactorAct) => {
3535
} = cyclicVotaSt;
3636
const spectra = spectraList[curveIdx];
3737
let refFactor = 0.0;
38+
let hasRefPeaks = false;
3839
if (spectra) {
3940
const {
40-
shift
41+
shift,
42+
hasRefPeak
4143
} = spectra;
4244
const {
4345
val
4446
} = shift;
4547
refFactor = val;
48+
hasRefPeaks = hasRefPeak;
4649
}
4750
const onFactorChanged = e => setCylicVoltaRefFactorAct({
4851
factor: e.target.value,
@@ -67,7 +70,7 @@ const setRef = (classes, cyclicVotaSt, curveIdx, setCylicVoltaRefFactorAct) => {
6770
},
6871
label: /*#__PURE__*/_react.default.createElement("span", {
6972
className: (0, _classnames.default)(classes.txtLabel, 'txtfield-sv-bar-label')
70-
}, "Ref Value (V)"),
73+
}, hasRefPeaks ? 'Ref Value (V)' : 'Shift'),
7174
variant: "outlined",
7275
onChange: onFactorChanged,
7376
onBlur: onFactorChanged,
@@ -95,6 +98,17 @@ const Pecker = _ref => {
9598
const onConfirmSetRef = () => setCylicVoltaRefAct({
9699
jcampIdx: curveIdx
97100
});
101+
const {
102+
spectraList
103+
} = cyclicVotaSt;
104+
const spectra = spectraList[curveIdx];
105+
let hasRefPeaks = false;
106+
if (spectra) {
107+
const {
108+
hasRefPeak
109+
} = spectra;
110+
hasRefPeaks = hasRefPeak;
111+
}
98112
return !_cfg.default.hidePanelCyclicVolta(layoutSt) ? /*#__PURE__*/_react.default.createElement("span", {
99113
"data-testid": "Pecker"
100114
}, /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
@@ -118,7 +132,7 @@ const Pecker = _ref => {
118132
}, "I", /*#__PURE__*/_react.default.createElement("sub", null, "\u03BB0"), "-")))), setRef(classes, cyclicVotaSt, curveIdx, setCylicVoltaRefFactorAct), /*#__PURE__*/_react.default.createElement(_Tooltip.default, {
119133
title: /*#__PURE__*/_react.default.createElement("span", {
120134
className: "txt-sv-tp"
121-
}, "Set Reference")
135+
}, hasRefPeaks ? 'Set Reference' : 'Set Shift')
122136
}, /*#__PURE__*/_react.default.createElement("span", null, /*#__PURE__*/_react.default.createElement(_common.MuButton, {
123137
className: (0, _classnames.default)((0, _common.focusStyle)(isFocusSetRefSt, classes), 'btn-sv-bar-setref'),
124138
onClick: onConfirmSetRef

dist/components/cmd_bar/r08_change_axes.js

Lines changed: 41 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -29,13 +29,29 @@ const styles = () => Object.assign({
2929
width: 100
3030
}
3131
}, _common.commonStyle);
32-
const axisX = (classes, layoutSt, axesUnitsSt, updateXAxisAct) => {
32+
const axisX = (classes, layoutSt, axesUnitsSt, updateXAxisAct, curveSt) => {
3333
const optionsAxisX = _list_axes.LIST_AXES.x;
3434
const options = optionsAxisX[layoutSt];
35-
const onChange = e => updateXAxisAct(e.target.value);
3635
const {
37-
xUnit
36+
curveIdx
37+
} = curveSt;
38+
const onChange = e => updateXAxisAct({
39+
value: e.target.value,
40+
curveIndex: curveIdx
41+
});
42+
const {
43+
axes
3844
} = axesUnitsSt;
45+
let selectedAxes = axes[curveIdx];
46+
if (!selectedAxes) {
47+
selectedAxes = {
48+
xUnit: '',
49+
yUnit: ''
50+
};
51+
}
52+
const {
53+
xUnit
54+
} = selectedAxes;
3955
return /*#__PURE__*/_react.default.createElement(_material.FormControl, {
4056
className: (0, _classnames.default)(classes.fieldLayout),
4157
variant: "outlined"
@@ -58,15 +74,30 @@ const axisX = (classes, layoutSt, axesUnitsSt, updateXAxisAct) => {
5874
className: (0, _classnames.default)(classes.txtLabelTopInput)
5975
}, "x-Axis"));
6076
};
61-
const axisY = (classes, layoutSt, axesUnitsSt, updateYAxisAct) => {
77+
const axisY = (classes, layoutSt, axesUnitsSt, updateYAxisAct, curveSt) => {
6278
const optionsAxisX = _list_axes.LIST_AXES.y;
6379
const options = optionsAxisX[layoutSt];
64-
const onChange = e => updateYAxisAct(e.target.value);
6580
const {
66-
yUnit
81+
curveIdx
82+
} = curveSt;
83+
const onChange = e => updateYAxisAct({
84+
value: e.target.value,
85+
curveIndex: curveIdx
86+
});
87+
const {
88+
axes
6789
} = axesUnitsSt;
90+
let selectedAxes = axes[curveIdx];
91+
if (!selectedAxes) {
92+
selectedAxes = {
93+
xUnit: '',
94+
yUnit: ''
95+
};
96+
}
97+
const {
98+
yUnit
99+
} = selectedAxes;
68100
return /*#__PURE__*/_react.default.createElement(_material.FormControl, {
69-
"data-testid": "ChangeAxes",
70101
className: (0, _classnames.default)(classes.fieldLayout),
71102
variant: "outlined"
72103
}, /*#__PURE__*/_react.default.createElement(_material.Select, {
@@ -88,11 +119,11 @@ const axisY = (classes, layoutSt, axesUnitsSt, updateYAxisAct) => {
88119
className: (0, _classnames.default)(classes.txtLabelTopInput)
89120
}, "y-Axis"));
90121
};
91-
const showSelect = (classes, layoutSt, curveSt, axesUnitsSt, updateXAxisAct, updateYAxisActt) => {
122+
const showSelect = (classes, layoutSt, curveSt, axesUnitsSt, updateXAxisAct, updateYAxisAct) => {
92123
if (!listLayoutToShow.includes(layoutSt)) {
93124
return /*#__PURE__*/_react.default.createElement("i", null);
94125
}
95-
return /*#__PURE__*/_react.default.createElement("span", null, axisX(classes, layoutSt, axesUnitsSt, updateXAxisAct), axisY(classes, layoutSt, axesUnitsSt, updateYAxisActt));
126+
return /*#__PURE__*/_react.default.createElement("span", null, axisX(classes, layoutSt, axesUnitsSt, updateXAxisAct, curveSt), axisY(classes, layoutSt, axesUnitsSt, updateYAxisAct, curveSt));
96127
};
97128
const ChangeAxes = _ref => {
98129
let {
@@ -122,7 +153,7 @@ const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({
122153
ChangeAxes.propTypes = {
123154
classes: _propTypes.default.object.isRequired,
124155
layoutSt: _propTypes.default.string.isRequired,
125-
curveSt: _propTypes.default.string.isRequired,
156+
curveSt: _propTypes.default.object.isRequired,
126157
axesUnitsSt: _propTypes.default.object.isRequired,
127158
updateXAxisAct: _propTypes.default.func.isRequired,
128159
updateYAxisAct: _propTypes.default.func.isRequired

dist/components/d3_line/index.js

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,10 +68,13 @@ class ViewerLine extends _react.default.Component {
6868
let xxLabel = xLabel;
6969
let yyLabel = yLabel;
7070
if (axesUnitsSt) {
71+
const {
72+
axes
73+
} = axesUnitsSt;
7174
const {
7275
xUnit,
7376
yUnit
74-
} = axesUnitsSt;
77+
} = axes[0];
7578
xxLabel = xUnit === '' ? xLabel : xUnit;
7679
yyLabel = yUnit === '' ? yLabel : yUnit;
7780
}
@@ -123,10 +126,13 @@ class ViewerLine extends _react.default.Component {
123126
let xxLabel = xLabel;
124127
let yyLabel = yLabel;
125128
if (axesUnitsSt) {
129+
const {
130+
axes
131+
} = axesUnitsSt;
126132
const {
127133
xUnit,
128134
yUnit
129-
} = axesUnitsSt;
135+
} = axes[0];
130136
xxLabel = xUnit === '' ? xLabel : xUnit;
131137
yyLabel = yUnit === '' ? yLabel : yUnit;
132138
}

dist/components/d3_multi/index.js

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,10 +69,23 @@ class ViewerMulti extends _react.default.Component {
6969
let xxLabel = xLabel;
7070
let yyLabel = yLabel;
7171
if (axesUnitsSt) {
72+
const {
73+
curveIdx
74+
} = curveSt;
75+
const {
76+
axes
77+
} = axesUnitsSt;
78+
let selectedAxes = axes[curveIdx];
79+
if (!selectedAxes) {
80+
selectedAxes = {
81+
xUnit: '',
82+
yUnit: ''
83+
};
84+
}
7285
const {
7386
xUnit,
7487
yUnit
75-
} = axesUnitsSt;
88+
} = selectedAxes;
7689
xxLabel = xUnit === '' ? xLabel : xUnit;
7790
yyLabel = yUnit === '' ? yLabel : yUnit;
7891
}
@@ -122,10 +135,23 @@ class ViewerMulti extends _react.default.Component {
122135
let xxLabel = xLabel;
123136
let yyLabel = yLabel;
124137
if (axesUnitsSt) {
138+
const {
139+
curveIdx
140+
} = curveSt;
141+
const {
142+
axes
143+
} = axesUnitsSt;
144+
let selectedAxes = axes[curveIdx];
145+
if (!selectedAxes) {
146+
selectedAxes = {
147+
xUnit: '',
148+
yUnit: ''
149+
};
150+
}
125151
const {
126152
xUnit,
127153
yUnit
128-
} = axesUnitsSt;
154+
} = selectedAxes;
129155
xxLabel = xUnit === '' ? xLabel : xUnit;
130156
yyLabel = yUnit === '' ? yLabel : yUnit;
131157
}

dist/components/d3_multi/multi_focus.js

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,29 @@ class MultiFocus {
388388
yt
389389
} = (0, _compass.TfRescale)(this);
390390
const dPks = this.mergedPeaks(editPeakSt);
391+
const {
392+
spectraList
393+
} = this.cyclicvoltaSt;
394+
const spectra = spectraList[this.jcampIdx];
395+
let indexOfCVRefPeaks = [];
396+
if (spectra) {
397+
const {
398+
shift,
399+
hasRefPeak
400+
} = spectra;
401+
const {
402+
ref
403+
} = shift;
404+
if (ref && hasRefPeak) {
405+
const {
406+
min,
407+
max
408+
} = ref;
409+
indexOfCVRefPeaks = dPks.map((p, index) => {
410+
return p === min || p === max ? -1 : index;
411+
});
412+
}
413+
}
391414
const mpp = this.tags.pPath.selectAll('path').data(dPks);
392415
mpp.exit().attr('class', 'exit').remove();
393416
const linePath = [{
@@ -404,7 +427,25 @@ class MultiFocus {
404427
y: 10
405428
}];
406429
const lineSymbol = d3.line().x(d => d.x).y(d => d.y)(linePath);
407-
mpp.enter().append('path').attr('d', lineSymbol).attr('class', 'enter-peak').attr('fill', 'red').attr('stroke', 'pink').attr('stroke-width', 3).attr('stroke-opacity', 0.0).merge(mpp).attr('id', d => `mpp${Math.round(1000 * d.x)}`).attr('transform', d => `translate(${xt(d.x)}, ${yt(d.y)})`).on('mouseover', (event, d) => {
430+
const lineRefPath = [{
431+
x: -0.5,
432+
y: 10
433+
}, {
434+
x: -4,
435+
y: -20
436+
}, {
437+
x: 4,
438+
y: -20
439+
}, {
440+
x: 0.5,
441+
y: 10
442+
}];
443+
const lineSymbolRef = d3.line().x(d => d.x).y(d => d.y)(lineRefPath);
444+
mpp.enter().append('path').attr('d', (_, index) => {
445+
return indexOfCVRefPeaks[index] === -1 ? lineSymbolRef : lineSymbol;
446+
}).attr('class', 'enter-peak').attr('fill', (_, index) => {
447+
return indexOfCVRefPeaks[index] === -1 ? 'blue' : 'red';
448+
}).attr('stroke', 'pink').attr('stroke-width', 3).attr('stroke-opacity', 0.0).merge(mpp).attr('id', d => `mpp${Math.round(1000 * d.x)}`).attr('transform', d => `translate(${xt(d.x)}, ${yt(d.y)})`).on('mouseover', (event, d) => {
408449
d3.select(`#mpp${Math.round(1000 * d.x)}`).attr('stroke-opacity', '1.0');
409450
d3.select(`#bpt${Math.round(1000 * d.x)}`).style('fill', 'blue');
410451
const tipParams = {
@@ -427,6 +468,12 @@ class MultiFocus {
427468
bpTxt.exit().attr('class', 'exit').remove();
428469
bpTxt.enter().append('text').attr('class', 'peak-text').attr('font-family', 'Helvetica').style('font-size', '12px').attr('fill', '#228B22').style('text-anchor', 'middle').merge(bpTxt).attr('id', d => `mpp${Math.round(1000 * d.x)}`).text(d => d.x.toFixed(2)).attr('transform', d => `translate(${xt(d.x)}, ${yt(d.y) - 25})`).on('click', (event, d) => this.onClickTarget(event, d));
429470
}
471+
mpp.attr('fill', (_, index) => {
472+
return indexOfCVRefPeaks[index] === -1 ? 'blue' : 'red';
473+
});
474+
mpp.attr('d', (_, index) => {
475+
return indexOfCVRefPeaks[index] === -1 ? lineSymbolRef : lineSymbol;
476+
});
430477
}
431478
drawPeckers() {
432479
const {

dist/components/panel/cyclic_voltamery_data.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,10 +188,10 @@ const CyclicVoltammetryPanel = _ref => {
188188
}, "Ref"), /*#__PURE__*/_react.default.createElement(_material.TableCell, {
189189
align: "left",
190190
className: (0, _classnames.default)(classes.tTxt, classes.square, 'txt-sv-panel-txt')
191-
}, "Ox"), /*#__PURE__*/_react.default.createElement(_material.TableCell, {
191+
}, "Anodic"), /*#__PURE__*/_react.default.createElement(_material.TableCell, {
192192
align: "left",
193193
className: (0, _classnames.default)(classes.tTxt, classes.square, 'txt-sv-panel-txt')
194-
}, "Red"), /*#__PURE__*/_react.default.createElement(_material.TableCell, {
194+
}, "Cathodic"), /*#__PURE__*/_react.default.createElement(_material.TableCell, {
195195
align: "left",
196196
className: (0, _classnames.default)(classes.tTxt, classes.square, 'txt-sv-panel-txt')
197197
}, "I ", /*#__PURE__*/_react.default.createElement("sub", null, "\u03BB0"), /*#__PURE__*/_react.default.createElement(_material.Tooltip, {

0 commit comments

Comments
 (0)