@complat/react-spectra-editor 0.11.4 → 0.11.5-beta.1

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.
Files changed (41) hide show
  1. package/dist/components/cmd_bar/03_peak.js +3 -0
  2. package/dist/components/cmd_bar/04_integration_bk.js +280 -0
  3. package/dist/components/cmd_bar/05_multiplicity_bk.js +228 -0
  4. package/dist/components/cmd_bar/r01_layout.js +9 -0
  5. package/dist/components/cmd_bar/r06_predict_btn_bk.js +310 -0
  6. package/dist/components/d3_line/line_focus.js +1 -1
  7. package/dist/components/d3_line/line_focus_bk.js +860 -0
  8. package/dist/components/d3_multi/index_bk.js +240 -0
  9. package/dist/components/d3_multi/multi_focus_bk.js +550 -0
  10. package/dist/components/panel/compare_bk.js +370 -0
  11. package/dist/components/panel/cyclic_voltamery_data.js +4 -4
  12. package/dist/components/panel/index_bk.js +212 -0
  13. package/dist/components/panel/info_bk.js +341 -0
  14. package/dist/components/panel/multiplicity_bk.js +405 -0
  15. package/dist/constants/action_type.js +2 -1
  16. package/dist/constants/list_layout.js +2 -1
  17. package/dist/constants/list_ui.js +3 -2
  18. package/dist/helpers/carbonFeatures_bk.js +47 -0
  19. package/dist/helpers/chem.js +4 -1
  20. package/dist/helpers/chem_bk.js +821 -0
  21. package/dist/helpers/compass_bk.js +171 -0
  22. package/dist/helpers/converter_bk.js +106 -0
  23. package/dist/helpers/format.js +9 -1
  24. package/dist/helpers/format_bk.js +462 -0
  25. package/dist/index.js +17 -0
  26. package/dist/index_bk.js +762 -0
  27. package/dist/layer_content_bk.js +128 -0
  28. package/dist/layer_init_bk.js +278 -0
  29. package/dist/layer_prism_bk.js +186 -0
  30. package/dist/reducers/reducer_edit_peak_bk.js +111 -0
  31. package/dist/reducers/reducer_integration_bk.js +137 -0
  32. package/dist/reducers/reducer_jcamp_bk.js +74 -0
  33. package/dist/reducers/reducer_multiplicity_bk.js +131 -0
  34. package/dist/reducers/reducer_shift_bk.js +99 -0
  35. package/dist/reducers/reducer_voltammetry.js +28 -0
  36. package/dist/sagas/saga_edit_peak_bk.js +84 -0
  37. package/dist/sagas/saga_multi_entities_bk.js +114 -0
  38. package/dist/sagas/saga_multiplicity_bk.js +387 -0
  39. package/dist/sagas/saga_ui.js +31 -15
  40. package/dist/sagas/saga_ui_bk.js +488 -0
  41. package/package.json +1 -1
@@ -91,6 +91,9 @@ var Peak = function Peak(_ref) {
91
91
  return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.CYCLIC_VOLTA_RM_MIN_PEAK, curveIdx);
92
92
  };
93
93
  }
94
+ onSweepAnchorShift = function onSweepAnchorShift() {
95
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.CYCLIC_VOLTA_SET_REF, curveIdx);
96
+ };
94
97
  }
95
98
  }
96
99
 
@@ -0,0 +1,280 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _react = require('react');
8
+
9
+ var _react2 = _interopRequireDefault(_react);
10
+
11
+ var _reactRedux = require('react-redux');
12
+
13
+ var _redux = require('redux');
14
+
15
+ var _classnames = require('classnames');
16
+
17
+ var _classnames2 = _interopRequireDefault(_classnames);
18
+
19
+ var _propTypes = require('prop-types');
20
+
21
+ var _propTypes2 = _interopRequireDefault(_propTypes);
22
+
23
+ var _styles = require('@material-ui/core/styles');
24
+
25
+ var _Tooltip = require('@material-ui/core/Tooltip');
26
+
27
+ var _Tooltip2 = _interopRequireDefault(_Tooltip);
28
+
29
+ var _TextField = require('@material-ui/core/TextField');
30
+
31
+ var _TextField2 = _interopRequireDefault(_TextField);
32
+
33
+ var _react3 = require('@mdi/react');
34
+
35
+ var _react4 = _interopRequireDefault(_react3);
36
+
37
+ var _js = require('@mdi/js');
38
+
39
+ var _integration = require('../../actions/integration');
40
+
41
+ var _ui = require('../../actions/ui');
42
+
43
+ var _list_ui = require('../../constants/list_ui');
44
+
45
+ var _cfg = require('../../helpers/cfg');
46
+
47
+ var _cfg2 = _interopRequireDefault(_cfg);
48
+
49
+ var _tri_btn = require('./tri_btn');
50
+
51
+ var _tri_btn2 = _interopRequireDefault(_tri_btn);
52
+
53
+ var _common = require('./common');
54
+
55
+ var _format = require('../../helpers/format');
56
+
57
+ var _format2 = _interopRequireDefault(_format);
58
+
59
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
60
+
61
+ var styles = function styles() {
62
+ return Object.assign({
63
+ field: {
64
+ width: 80
65
+ },
66
+ txtIcon: {}
67
+ }, _common.commonStyle);
68
+ };
69
+
70
+ var iconSize = '16px';
71
+
72
+ var setFactor = function setFactor(classes, isDisable, refFactor, setIntegrationFkrAct) {
73
+ var onBlur = function onBlur(e) {
74
+ return setIntegrationFkrAct(e.target.value);
75
+ };
76
+ var onChange = function onChange(e) {
77
+ return setIntegrationFkrAct(e.target.value);
78
+ };
79
+ var onEnterPress = function onEnterPress(e) {
80
+ if (e.key === 'Enter') {
81
+ setIntegrationFkrAct(e.target.value);
82
+ }
83
+ };
84
+
85
+ return _react2.default.createElement(_TextField2.default, {
86
+ className: classes.field,
87
+ disabled: isDisable,
88
+ id: 'intg-factor-name',
89
+ type: 'number',
90
+ value: refFactor || 1.00,
91
+ margin: 'none',
92
+ InputProps: {
93
+ className: (0, _classnames2.default)(classes.txtInput, 'txtfield-sv-bar-input')
94
+ },
95
+ label: _react2.default.createElement(
96
+ 'span',
97
+ { className: (0, _classnames2.default)(classes.txtLabel, 'txtfield-sv-bar-label') },
98
+ 'Ref Area'
99
+ ),
100
+ onChange: onChange,
101
+ onBlur: onBlur,
102
+ onKeyPress: onEnterPress,
103
+ variant: 'outlined'
104
+ });
105
+ };
106
+
107
+ var iconColor = function iconColor(criteria) {
108
+ return criteria ? '#fff' : '#000';
109
+ };
110
+
111
+ var Integration = function Integration(_ref) {
112
+ var classes = _ref.classes,
113
+ refFactorSt = _ref.refFactorSt,
114
+ ignoreRef = _ref.ignoreRef,
115
+ isDisableSt = _ref.isDisableSt,
116
+ isFocusAddIntgSt = _ref.isFocusAddIntgSt,
117
+ isFocusRmIntgSt = _ref.isFocusRmIntgSt,
118
+ isFocusSetRefSt = _ref.isFocusSetRefSt,
119
+ setUiSweepTypeAct = _ref.setUiSweepTypeAct,
120
+ setIntegrationFkrAct = _ref.setIntegrationFkrAct,
121
+ clearIntegrationAllAct = _ref.clearIntegrationAllAct;
122
+
123
+ var onSweepIntegtAdd = function onSweepIntegtAdd() {
124
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_ADD);
125
+ };
126
+ var onSweepIntegtRm = function onSweepIntegtRm() {
127
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_RM);
128
+ };
129
+ var onSweepIntegtSR = function onSweepIntegtSR() {
130
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_SET_REF);
131
+ };
132
+
133
+ return _react2.default.createElement(
134
+ 'span',
135
+ { className: classes.group },
136
+ _react2.default.createElement(
137
+ _Tooltip2.default,
138
+ { title: _react2.default.createElement(
139
+ 'span',
140
+ { className: 'txt-sv-tp' },
141
+ 'Add Integration'
142
+ ) },
143
+ _react2.default.createElement(
144
+ 'span',
145
+ null,
146
+ _react2.default.createElement(
147
+ _common.MuButton,
148
+ {
149
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusAddIntgSt, classes)),
150
+ disabled: isDisableSt,
151
+ onClick: onSweepIntegtAdd
152
+ },
153
+ _react2.default.createElement(_react4.default, {
154
+ path: _js.mdiMathIntegral,
155
+ size: iconSize,
156
+ color: iconColor(isFocusAddIntgSt || isDisableSt),
157
+ className: (0, _classnames2.default)(classes.iconMdi, 'icon-sv-bar-addint')
158
+ }),
159
+ _react2.default.createElement(
160
+ 'span',
161
+ { className: (0, _classnames2.default)(classes.txt, classes.txtIcon, 'txt-sv-bar-addint') },
162
+ '+'
163
+ )
164
+ )
165
+ )
166
+ ),
167
+ _react2.default.createElement(
168
+ _Tooltip2.default,
169
+ { title: _react2.default.createElement(
170
+ 'span',
171
+ { className: 'txt-sv-tp' },
172
+ 'Remove Integration'
173
+ ) },
174
+ _react2.default.createElement(
175
+ 'span',
176
+ null,
177
+ _react2.default.createElement(
178
+ _common.MuButton,
179
+ {
180
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusRmIntgSt, classes)),
181
+ disabled: isDisableSt,
182
+ onClick: onSweepIntegtRm
183
+ },
184
+ _react2.default.createElement(_react4.default, {
185
+ path: _js.mdiMathIntegral,
186
+ size: iconSize,
187
+ color: iconColor(isFocusRmIntgSt || isDisableSt),
188
+ className: (0, _classnames2.default)(classes.iconMdi, 'icon-sv-bar-rmint')
189
+ }),
190
+ _react2.default.createElement(
191
+ 'span',
192
+ { className: (0, _classnames2.default)(classes.txt, classes.txtIcon, 'txt-sv-bar-rmint') },
193
+ '-'
194
+ )
195
+ )
196
+ )
197
+ ),
198
+ _react2.default.createElement(
199
+ _Tooltip2.default,
200
+ { title: _react2.default.createElement(
201
+ 'span',
202
+ { className: 'txt-sv-tp' },
203
+ 'Set Integration Reference'
204
+ ) },
205
+ _react2.default.createElement(
206
+ 'span',
207
+ null,
208
+ _react2.default.createElement(
209
+ _common.MuButton,
210
+ {
211
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusSetRefSt, classes)),
212
+ disabled: isDisableSt,
213
+ onClick: onSweepIntegtSR
214
+ },
215
+ _react2.default.createElement(_react4.default, {
216
+ path: _js.mdiReflectVertical,
217
+ size: iconSize,
218
+ color: iconColor(isFocusSetRefSt || isDisableSt),
219
+ className: (0, _classnames2.default)(classes.iconMdi, 'icon-sv-bar-refint')
220
+ })
221
+ )
222
+ )
223
+ ),
224
+ !ignoreRef ? setFactor(classes, isDisableSt, refFactorSt, setIntegrationFkrAct) : null,
225
+ _react2.default.createElement(
226
+ _tri_btn2.default,
227
+ {
228
+ content: { tp: 'Clear All Integration' },
229
+ cb: clearIntegrationAllAct
230
+ },
231
+ _react2.default.createElement(_react4.default, {
232
+ path: _js.mdiMathIntegral,
233
+ size: iconSize,
234
+ color: iconColor(isDisableSt),
235
+ className: (0, _classnames2.default)(classes.iconMdi, 'icon-sv-bar-rmallint')
236
+ }),
237
+ _react2.default.createElement(
238
+ 'span',
239
+ { className: (0, _classnames2.default)(classes.txt, classes.txtIcon, 'txt-sv-bar-rmallint') },
240
+ 'x'
241
+ )
242
+ )
243
+ );
244
+ };
245
+
246
+ var mapStateToProps = function mapStateToProps(state, props) {
247
+ return (// eslint-disable-line
248
+ {
249
+ isDisableSt: _cfg2.default.btnCmdIntg(state.layout),
250
+ isFocusAddIntgSt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_ADD,
251
+ isFocusRmIntgSt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_RM,
252
+ isFocusSetRefSt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.INTEGRATION_SET_REF,
253
+ refFactorSt: state.integration.present.refFactor,
254
+ ignoreRef: _format2.default.isHplcUvVisLayout(state.layout)
255
+ }
256
+ );
257
+ };
258
+
259
+ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
260
+ return (0, _redux.bindActionCreators)({
261
+ setUiSweepTypeAct: _ui.setUiSweepType,
262
+ setIntegrationFkrAct: _integration.setIntegrationFkr,
263
+ clearIntegrationAllAct: _integration.clearIntegrationAll
264
+ }, dispatch);
265
+ };
266
+
267
+ Integration.propTypes = {
268
+ classes: _propTypes2.default.object.isRequired,
269
+ isDisableSt: _propTypes2.default.bool.isRequired,
270
+ isFocusAddIntgSt: _propTypes2.default.bool.isRequired,
271
+ isFocusRmIntgSt: _propTypes2.default.bool.isRequired,
272
+ isFocusSetRefSt: _propTypes2.default.bool.isRequired,
273
+ refFactorSt: _propTypes2.default.number.isRequired,
274
+ ignoreRef: _propTypes2.default.bool.isRequired,
275
+ setUiSweepTypeAct: _propTypes2.default.func.isRequired,
276
+ setIntegrationFkrAct: _propTypes2.default.func.isRequired,
277
+ clearIntegrationAllAct: _propTypes2.default.func.isRequired
278
+ };
279
+
280
+ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _styles.withStyles)(styles)(Integration));
@@ -0,0 +1,228 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _react = require('react');
8
+
9
+ var _react2 = _interopRequireDefault(_react);
10
+
11
+ var _reactRedux = require('react-redux');
12
+
13
+ var _redux = require('redux');
14
+
15
+ var _classnames = require('classnames');
16
+
17
+ var _classnames2 = _interopRequireDefault(_classnames);
18
+
19
+ var _propTypes = require('prop-types');
20
+
21
+ var _propTypes2 = _interopRequireDefault(_propTypes);
22
+
23
+ var _styles = require('@material-ui/core/styles');
24
+
25
+ var _Tooltip = require('@material-ui/core/Tooltip');
26
+
27
+ var _Tooltip2 = _interopRequireDefault(_Tooltip);
28
+
29
+ var _ui = require('../../actions/ui');
30
+
31
+ var _multiplicity = require('../../actions/multiplicity');
32
+
33
+ var _list_ui = require('../../constants/list_ui');
34
+
35
+ var _cfg = require('../../helpers/cfg');
36
+
37
+ var _cfg2 = _interopRequireDefault(_cfg);
38
+
39
+ var _tri_btn = require('./tri_btn');
40
+
41
+ var _tri_btn2 = _interopRequireDefault(_tri_btn);
42
+
43
+ var _common = require('./common');
44
+
45
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
46
+
47
+ var styles = function styles() {
48
+ return Object.assign({}, _common.commonStyle);
49
+ };
50
+
51
+ var Multiplicity = function Multiplicity(_ref) {
52
+ var classes = _ref.classes,
53
+ isFocusAddMpySt = _ref.isFocusAddMpySt,
54
+ disableAddMpySt = _ref.disableAddMpySt,
55
+ isFocusRmMpySt = _ref.isFocusRmMpySt,
56
+ disableRmMpySt = _ref.disableRmMpySt,
57
+ isFocusAddPeakSt = _ref.isFocusAddPeakSt,
58
+ isFocusRmPeakSt = _ref.isFocusRmPeakSt,
59
+ disableMpyPeakSt = _ref.disableMpyPeakSt,
60
+ setUiSweepTypeAct = _ref.setUiSweepTypeAct,
61
+ clearMpyAllAct = _ref.clearMpyAllAct;
62
+
63
+ var onSweepMutAdd = function onSweepMutAdd() {
64
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_SWEEP_ADD);
65
+ };
66
+ var onOneMutAdd = function onOneMutAdd() {
67
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_ONE_RM);
68
+ };
69
+ var onPeakMutAdd = function onPeakMutAdd() {
70
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_PEAK_ADD);
71
+ };
72
+ var onPeakMutRm = function onPeakMutRm() {
73
+ return setUiSweepTypeAct(_list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_PEAK_RM);
74
+ };
75
+
76
+ return _react2.default.createElement(
77
+ 'span',
78
+ { className: classes.group },
79
+ _react2.default.createElement(
80
+ _Tooltip2.default,
81
+ { title: _react2.default.createElement(
82
+ 'span',
83
+ { className: 'txt-sv-tp' },
84
+ 'Add Multiplicity'
85
+ ) },
86
+ _react2.default.createElement(
87
+ 'span',
88
+ null,
89
+ _react2.default.createElement(
90
+ _common.MuButton,
91
+ {
92
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusAddMpySt, classes), 'btn-sv-bar-addmpy'),
93
+ disabled: disableAddMpySt,
94
+ onClick: onSweepMutAdd
95
+ },
96
+ _react2.default.createElement(
97
+ 'span',
98
+ { className: (0, _classnames2.default)(classes.txt, 'txt-sv-bar-addmpy') },
99
+ 'J+'
100
+ )
101
+ )
102
+ )
103
+ ),
104
+ _react2.default.createElement(
105
+ _Tooltip2.default,
106
+ { title: _react2.default.createElement(
107
+ 'span',
108
+ { className: 'txt-sv-tp' },
109
+ 'Remove Multiplicity'
110
+ ) },
111
+ _react2.default.createElement(
112
+ 'span',
113
+ null,
114
+ _react2.default.createElement(
115
+ _common.MuButton,
116
+ {
117
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusRmMpySt, classes), 'btn-sv-bar-rmmpy'),
118
+ disabled: disableRmMpySt,
119
+ onClick: onOneMutAdd
120
+ },
121
+ _react2.default.createElement(
122
+ 'span',
123
+ { className: (0, _classnames2.default)(classes.txt, 'txt-sv-bar-rmmpy') },
124
+ 'J-'
125
+ )
126
+ )
127
+ )
128
+ ),
129
+ _react2.default.createElement(
130
+ _Tooltip2.default,
131
+ { title: _react2.default.createElement(
132
+ 'span',
133
+ { className: 'txt-sv-tp' },
134
+ 'Add Peak for Multiplicity'
135
+ ) },
136
+ _react2.default.createElement(
137
+ 'span',
138
+ null,
139
+ _react2.default.createElement(
140
+ _common.MuButton,
141
+ {
142
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusAddPeakSt, classes), 'btn-sv-bar-addpeakmpy'),
143
+ disabled: disableMpyPeakSt,
144
+ onClick: onPeakMutAdd
145
+ },
146
+ _react2.default.createElement(
147
+ 'span',
148
+ { className: (0, _classnames2.default)(classes.txt, 'txt-sv-bar-addpeakmpy') },
149
+ 'JP+'
150
+ )
151
+ )
152
+ )
153
+ ),
154
+ _react2.default.createElement(
155
+ _Tooltip2.default,
156
+ { title: _react2.default.createElement(
157
+ 'span',
158
+ { className: 'txt-sv-tp' },
159
+ 'Remove Peak for Multiplicity'
160
+ ) },
161
+ _react2.default.createElement(
162
+ 'span',
163
+ null,
164
+ _react2.default.createElement(
165
+ _common.MuButton,
166
+ {
167
+ className: (0, _classnames2.default)((0, _common.focusStyle)(isFocusRmPeakSt, classes), 'btn-sv-bar-rmpeakmpy'),
168
+ disabled: disableMpyPeakSt,
169
+ onClick: onPeakMutRm
170
+ },
171
+ _react2.default.createElement(
172
+ 'span',
173
+ { className: (0, _classnames2.default)(classes.txt, 'txt-sv-bar-rmpeakmpy') },
174
+ 'JP-'
175
+ )
176
+ )
177
+ )
178
+ ),
179
+ disableAddMpySt ? null : _react2.default.createElement(
180
+ _tri_btn2.default,
181
+ {
182
+ content: { tp: 'Clear All Multiplicity' },
183
+ cb: clearMpyAllAct
184
+ },
185
+ _react2.default.createElement(
186
+ 'span',
187
+ { className: (0, _classnames2.default)(classes.txt, 'txt-sv-bar-rmallmpy') },
188
+ 'Jx'
189
+ )
190
+ )
191
+ );
192
+ };
193
+
194
+ var mapStateToProps = function mapStateToProps(state, props) {
195
+ return (// eslint-disable-line
196
+ {
197
+ isFocusAddMpySt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_SWEEP_ADD,
198
+ disableAddMpySt: _cfg2.default.btnCmdMpy(state.layout),
199
+ isFocusRmMpySt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_ONE_RM,
200
+ disableRmMpySt: _cfg2.default.btnCmdMpy(state.layout),
201
+ isFocusAddPeakSt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_PEAK_ADD,
202
+ isFocusRmPeakSt: state.ui.sweepType === _list_ui.LIST_UI_SWEEP_TYPE.MULTIPLICITY_PEAK_RM,
203
+ disableMpyPeakSt: _cfg2.default.btnCmdMpyPeak(state.layout, state.multiplicity.present)
204
+ }
205
+ );
206
+ };
207
+
208
+ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
209
+ return (0, _redux.bindActionCreators)({
210
+ setUiSweepTypeAct: _ui.setUiSweepType,
211
+ clearMpyAllAct: _multiplicity.clearMpyAll
212
+ }, dispatch);
213
+ };
214
+
215
+ Multiplicity.propTypes = {
216
+ classes: _propTypes2.default.object.isRequired,
217
+ isFocusAddMpySt: _propTypes2.default.bool.isRequired,
218
+ disableAddMpySt: _propTypes2.default.bool.isRequired,
219
+ isFocusRmMpySt: _propTypes2.default.bool.isRequired,
220
+ disableRmMpySt: _propTypes2.default.bool.isRequired,
221
+ isFocusAddPeakSt: _propTypes2.default.bool.isRequired,
222
+ isFocusRmPeakSt: _propTypes2.default.bool.isRequired,
223
+ disableMpyPeakSt: _propTypes2.default.bool.isRequired,
224
+ setUiSweepTypeAct: _propTypes2.default.func.isRequired,
225
+ clearMpyAllAct: _propTypes2.default.func.isRequired
226
+ };
227
+
228
+ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _styles.withStyles)(styles)(Multiplicity));
@@ -309,6 +309,15 @@ var layoutSelect = function layoutSelect(classes, layoutSt, updateLayoutAct) {
309
309
  { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
310
310
  'CV (CYCLIC VOLTAMMETRY)'
311
311
  )
312
+ ),
313
+ _react2.default.createElement(
314
+ _MenuItem2.default,
315
+ { value: _list_layout.LIST_LAYOUT.CDS },
316
+ _react2.default.createElement(
317
+ 'span',
318
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
319
+ 'CDS (CIRCULAR DICHROISM SPECTROSCOPY)'
320
+ )
312
321
  )
313
322
  )
314
323
  );