@complat/react-spectra-editor 0.10.13-alpha.5

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 (109) hide show
  1. package/LICENSE +662 -0
  2. package/README.md +37 -0
  3. package/dist/actions/edit_peak.js +25 -0
  4. package/dist/actions/forecast.js +41 -0
  5. package/dist/actions/integration.js +33 -0
  6. package/dist/actions/jcamp.js +41 -0
  7. package/dist/actions/layout.js +17 -0
  8. package/dist/actions/manager.js +49 -0
  9. package/dist/actions/meta.js +17 -0
  10. package/dist/actions/multiplicity.js +57 -0
  11. package/dist/actions/scan.js +33 -0
  12. package/dist/actions/shift.js +25 -0
  13. package/dist/actions/status.js +33 -0
  14. package/dist/actions/submit.js +41 -0
  15. package/dist/actions/threshold.js +33 -0
  16. package/dist/actions/ui.js +50 -0
  17. package/dist/app.js +125 -0
  18. package/dist/components/cmd_bar/01_viewer.js +133 -0
  19. package/dist/components/cmd_bar/02_zoom.js +119 -0
  20. package/dist/components/cmd_bar/03_peak.js +176 -0
  21. package/dist/components/cmd_bar/04_integration.js +273 -0
  22. package/dist/components/cmd_bar/05_multiplicity.js +228 -0
  23. package/dist/components/cmd_bar/06_undo_redo.js +137 -0
  24. package/dist/components/cmd_bar/common.js +104 -0
  25. package/dist/components/cmd_bar/index.js +113 -0
  26. package/dist/components/cmd_bar/r01_layout.js +351 -0
  27. package/dist/components/cmd_bar/r02_scan.js +226 -0
  28. package/dist/components/cmd_bar/r03_threshold.js +209 -0
  29. package/dist/components/cmd_bar/r04_submit.js +349 -0
  30. package/dist/components/cmd_bar/r05_submit_btn.js +147 -0
  31. package/dist/components/cmd_bar/r06_predict_btn.js +307 -0
  32. package/dist/components/cmd_bar/tri_btn.js +202 -0
  33. package/dist/components/common/chem.js +115 -0
  34. package/dist/components/common/comps.js +29 -0
  35. package/dist/components/common/draw.js +41 -0
  36. package/dist/components/d3_line/index.js +236 -0
  37. package/dist/components/d3_line/line_focus.js +765 -0
  38. package/dist/components/d3_rect/index.js +200 -0
  39. package/dist/components/d3_rect/rect_focus.js +301 -0
  40. package/dist/components/forecast/comps.js +337 -0
  41. package/dist/components/forecast/ir_comps.js +224 -0
  42. package/dist/components/forecast/ir_viewer.js +172 -0
  43. package/dist/components/forecast/nmr_comps.js +253 -0
  44. package/dist/components/forecast/nmr_viewer.js +170 -0
  45. package/dist/components/forecast/section_loading.js +95 -0
  46. package/dist/components/forecast_viewer.js +190 -0
  47. package/dist/components/panel/compare.js +370 -0
  48. package/dist/components/panel/index.js +191 -0
  49. package/dist/components/panel/info.js +335 -0
  50. package/dist/components/panel/multiplicity.js +405 -0
  51. package/dist/components/panel/multiplicity_coupling.js +195 -0
  52. package/dist/components/panel/multiplicity_select.js +114 -0
  53. package/dist/components/panel/peaks.js +296 -0
  54. package/dist/constants/action_type.js +140 -0
  55. package/dist/constants/list_layout.js +23 -0
  56. package/dist/constants/list_shift.js +480 -0
  57. package/dist/constants/list_ui.js +33 -0
  58. package/dist/fn.js +31 -0
  59. package/dist/helpers/brush.js +109 -0
  60. package/dist/helpers/calc.js +10 -0
  61. package/dist/helpers/carbonFeatures.js +47 -0
  62. package/dist/helpers/cfg.js +89 -0
  63. package/dist/helpers/chem.js +594 -0
  64. package/dist/helpers/compass.js +91 -0
  65. package/dist/helpers/converter.js +74 -0
  66. package/dist/helpers/extractParams.js +77 -0
  67. package/dist/helpers/extractPeaksEdit.js +69 -0
  68. package/dist/helpers/focus.js +15 -0
  69. package/dist/helpers/format.js +403 -0
  70. package/dist/helpers/init.js +80 -0
  71. package/dist/helpers/integration.js +30 -0
  72. package/dist/helpers/mount.js +112 -0
  73. package/dist/helpers/multiplicity.js +44 -0
  74. package/dist/helpers/multiplicity_calc.js +117 -0
  75. package/dist/helpers/multiplicity_complat.js +126 -0
  76. package/dist/helpers/multiplicity_manual.js +94 -0
  77. package/dist/helpers/multiplicity_verify_basic.js +196 -0
  78. package/dist/helpers/shift.js +48 -0
  79. package/dist/helpers/zoom.js +32 -0
  80. package/dist/index.js +705 -0
  81. package/dist/layer_content.js +125 -0
  82. package/dist/layer_init.js +231 -0
  83. package/dist/layer_prism.js +186 -0
  84. package/dist/reducers/index.js +89 -0
  85. package/dist/reducers/reducer_edit_peak.js +111 -0
  86. package/dist/reducers/reducer_forecast.js +113 -0
  87. package/dist/reducers/reducer_integration.js +136 -0
  88. package/dist/reducers/reducer_jcamp.js +74 -0
  89. package/dist/reducers/reducer_layout.js +27 -0
  90. package/dist/reducers/reducer_manager.js +20 -0
  91. package/dist/reducers/reducer_meta.js +30 -0
  92. package/dist/reducers/reducer_multiplicity.js +131 -0
  93. package/dist/reducers/reducer_scan.js +55 -0
  94. package/dist/reducers/reducer_shift.js +99 -0
  95. package/dist/reducers/reducer_simulation.js +30 -0
  96. package/dist/reducers/reducer_status.js +41 -0
  97. package/dist/reducers/reducer_submit.js +54 -0
  98. package/dist/reducers/reducer_threshold.js +34 -0
  99. package/dist/reducers/reducer_ui.js +46 -0
  100. package/dist/reducers/undo_redo_config.js +24 -0
  101. package/dist/sagas/index.js +50 -0
  102. package/dist/sagas/saga_edit_peak.js +84 -0
  103. package/dist/sagas/saga_manager.js +116 -0
  104. package/dist/sagas/saga_meta.js +46 -0
  105. package/dist/sagas/saga_multiplicity.js +387 -0
  106. package/dist/sagas/saga_ui.js +392 -0
  107. package/dist/third_party/jAnalyzer.js +596 -0
  108. package/dist/third_party/peakInterval.js +107 -0
  109. package/package.json +77 -0
@@ -0,0 +1,351 @@
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 _propTypes = require('prop-types');
12
+
13
+ var _propTypes2 = _interopRequireDefault(_propTypes);
14
+
15
+ var _classnames = require('classnames');
16
+
17
+ var _classnames2 = _interopRequireDefault(_classnames);
18
+
19
+ var _reactRedux = require('react-redux');
20
+
21
+ var _redux = require('redux');
22
+
23
+ var _Select = require('@material-ui/core/Select');
24
+
25
+ var _Select2 = _interopRequireDefault(_Select);
26
+
27
+ var _MenuItem = require('@material-ui/core/MenuItem');
28
+
29
+ var _MenuItem2 = _interopRequireDefault(_MenuItem);
30
+
31
+ var _FormControl = require('@material-ui/core/FormControl');
32
+
33
+ var _FormControl2 = _interopRequireDefault(_FormControl);
34
+
35
+ var _OutlinedInput = require('@material-ui/core/OutlinedInput');
36
+
37
+ var _OutlinedInput2 = _interopRequireDefault(_OutlinedInput);
38
+
39
+ var _InputLabel = require('@material-ui/core/InputLabel');
40
+
41
+ var _InputLabel2 = _interopRequireDefault(_InputLabel);
42
+
43
+ var _styles = require('@material-ui/core/styles');
44
+
45
+ var _r02_scan = require('./r02_scan');
46
+
47
+ var _r02_scan2 = _interopRequireDefault(_r02_scan);
48
+
49
+ var _layout = require('../../actions/layout');
50
+
51
+ var _shift = require('../../actions/shift');
52
+
53
+ var _list_layout = require('../../constants/list_layout');
54
+
55
+ var _list_shift = require('../../constants/list_shift');
56
+
57
+ var _cfg = require('../../helpers/cfg');
58
+
59
+ var _cfg2 = _interopRequireDefault(_cfg);
60
+
61
+ var _common = require('./common');
62
+
63
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
64
+
65
+ var styles = function styles() {
66
+ return Object.assign({
67
+ fieldShift: {
68
+ width: 160
69
+ },
70
+ fieldLayout: {
71
+ width: 100
72
+ }
73
+ }, _common.commonStyle);
74
+ };
75
+
76
+ var shiftSelect = function shiftSelect(classes, layoutSt, shiftRefSt, setShiftRefAct) {
77
+ if (_cfg2.default.hideSolvent(layoutSt)) return null;
78
+ var onChange = function onChange(e) {
79
+ return setShiftRefAct(e.target.value);
80
+ };
81
+
82
+ var listShift = (0, _list_shift.getListShift)(layoutSt);
83
+
84
+ var content = listShift.map(function (ref) {
85
+ return _react2.default.createElement(
86
+ _MenuItem2.default,
87
+ { value: ref, key: ref.name },
88
+ _react2.default.createElement(
89
+ 'span',
90
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-shift') },
91
+ ref.name + ': ' + ref.value + ' ppm'
92
+ )
93
+ );
94
+ });
95
+
96
+ return _react2.default.createElement(
97
+ _FormControl2.default,
98
+ {
99
+ className: (0, _classnames2.default)(classes.fieldShift),
100
+ variant: 'outlined'
101
+ },
102
+ _react2.default.createElement(
103
+ _InputLabel2.default,
104
+ { className: (0, _classnames2.default)(classes.selectLabel, 'select-sv-bar-label') },
105
+ 'Solvent'
106
+ ),
107
+ _react2.default.createElement(
108
+ _Select2.default,
109
+ {
110
+ value: shiftRefSt,
111
+ onChange: onChange,
112
+ input: _react2.default.createElement(_OutlinedInput2.default, {
113
+ className: (0, _classnames2.default)(classes.selectInput, 'input-sv-bar-shift'),
114
+ labelWidth: 60
115
+ })
116
+ },
117
+ content
118
+ )
119
+ );
120
+ };
121
+
122
+ var layoutSelect = function layoutSelect(classes, layoutSt, updateLayoutAct) {
123
+ var onChange = function onChange(e) {
124
+ return updateLayoutAct(e.target.value);
125
+ };
126
+
127
+ return _react2.default.createElement(
128
+ _FormControl2.default,
129
+ {
130
+ className: (0, _classnames2.default)(classes.fieldLayout),
131
+ variant: 'outlined'
132
+ },
133
+ _react2.default.createElement(
134
+ _InputLabel2.default,
135
+ { className: (0, _classnames2.default)(classes.selectLabel, 'select-sv-bar-label') },
136
+ 'Layout'
137
+ ),
138
+ _react2.default.createElement(
139
+ _Select2.default,
140
+ {
141
+ value: layoutSt,
142
+ onChange: onChange,
143
+ input: _react2.default.createElement(_OutlinedInput2.default, {
144
+ className: (0, _classnames2.default)(classes.selectInput, 'input-sv-bar-layout'),
145
+ labelWidth: 60
146
+ })
147
+ },
148
+ _react2.default.createElement(
149
+ _MenuItem2.default,
150
+ { value: _list_layout.LIST_LAYOUT.PLAIN },
151
+ _react2.default.createElement(
152
+ 'span',
153
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
154
+ 'plain'
155
+ )
156
+ ),
157
+ _react2.default.createElement(
158
+ _MenuItem2.default,
159
+ { value: _list_layout.LIST_LAYOUT.IR },
160
+ _react2.default.createElement(
161
+ 'span',
162
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
163
+ 'IR'
164
+ )
165
+ ),
166
+ _react2.default.createElement(
167
+ _MenuItem2.default,
168
+ { value: _list_layout.LIST_LAYOUT.RAMAN },
169
+ _react2.default.createElement(
170
+ 'span',
171
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
172
+ 'RAMAN'
173
+ )
174
+ ),
175
+ _react2.default.createElement(
176
+ _MenuItem2.default,
177
+ { value: _list_layout.LIST_LAYOUT.UVVIS },
178
+ _react2.default.createElement(
179
+ 'span',
180
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
181
+ 'UV/VIS'
182
+ )
183
+ ),
184
+ _react2.default.createElement(
185
+ _MenuItem2.default,
186
+ { value: _list_layout.LIST_LAYOUT.HPLC_UVVIS },
187
+ _react2.default.createElement(
188
+ 'span',
189
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
190
+ 'HPLC UV/VIS'
191
+ )
192
+ ),
193
+ _react2.default.createElement(
194
+ _MenuItem2.default,
195
+ { value: _list_layout.LIST_LAYOUT.TGA },
196
+ _react2.default.createElement(
197
+ 'span',
198
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
199
+ 'TGA (THERMOGRAVIMETRIC ANALYSIS)'
200
+ )
201
+ ),
202
+ _react2.default.createElement(
203
+ _MenuItem2.default,
204
+ { value: _list_layout.LIST_LAYOUT.XRD },
205
+ _react2.default.createElement(
206
+ 'span',
207
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
208
+ 'XRD (X-RAY DIFFRACTION)'
209
+ )
210
+ ),
211
+ _react2.default.createElement(
212
+ _MenuItem2.default,
213
+ { value: _list_layout.LIST_LAYOUT.H1 },
214
+ _react2.default.createElement(
215
+ 'span',
216
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
217
+ _react2.default.createElement(
218
+ 'sup',
219
+ null,
220
+ '1'
221
+ ),
222
+ 'H'
223
+ )
224
+ ),
225
+ _react2.default.createElement(
226
+ _MenuItem2.default,
227
+ { value: _list_layout.LIST_LAYOUT.C13 },
228
+ _react2.default.createElement(
229
+ 'span',
230
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
231
+ _react2.default.createElement(
232
+ 'sup',
233
+ null,
234
+ '13'
235
+ ),
236
+ 'C'
237
+ )
238
+ ),
239
+ _react2.default.createElement(
240
+ _MenuItem2.default,
241
+ { value: _list_layout.LIST_LAYOUT.F19 },
242
+ _react2.default.createElement(
243
+ 'span',
244
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
245
+ _react2.default.createElement(
246
+ 'sup',
247
+ null,
248
+ '19'
249
+ ),
250
+ 'F'
251
+ )
252
+ ),
253
+ _react2.default.createElement(
254
+ _MenuItem2.default,
255
+ { value: _list_layout.LIST_LAYOUT.P31 },
256
+ _react2.default.createElement(
257
+ 'span',
258
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
259
+ _react2.default.createElement(
260
+ 'sup',
261
+ null,
262
+ '31'
263
+ ),
264
+ 'P'
265
+ )
266
+ ),
267
+ _react2.default.createElement(
268
+ _MenuItem2.default,
269
+ { value: _list_layout.LIST_LAYOUT.N15 },
270
+ _react2.default.createElement(
271
+ 'span',
272
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
273
+ _react2.default.createElement(
274
+ 'sup',
275
+ null,
276
+ '15'
277
+ ),
278
+ 'N'
279
+ )
280
+ ),
281
+ _react2.default.createElement(
282
+ _MenuItem2.default,
283
+ { value: _list_layout.LIST_LAYOUT.Si29 },
284
+ _react2.default.createElement(
285
+ 'span',
286
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
287
+ _react2.default.createElement(
288
+ 'sup',
289
+ null,
290
+ '29'
291
+ ),
292
+ 'Si'
293
+ )
294
+ ),
295
+ _react2.default.createElement(
296
+ _MenuItem2.default,
297
+ { value: _list_layout.LIST_LAYOUT.MS },
298
+ _react2.default.createElement(
299
+ 'span',
300
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-layout') },
301
+ 'MS'
302
+ )
303
+ )
304
+ )
305
+ );
306
+ };
307
+
308
+ var Layout = function Layout(_ref) {
309
+ var classes = _ref.classes,
310
+ feature = _ref.feature,
311
+ hasEdit = _ref.hasEdit,
312
+ layoutSt = _ref.layoutSt,
313
+ shiftRefSt = _ref.shiftRefSt,
314
+ setShiftRefAct = _ref.setShiftRefAct,
315
+ updateLayoutAct = _ref.updateLayoutAct;
316
+ return _react2.default.createElement(
317
+ 'span',
318
+ { className: classes.groupRight },
319
+ layoutSelect(classes, layoutSt, updateLayoutAct),
320
+ shiftSelect(classes, layoutSt, shiftRefSt, setShiftRefAct),
321
+ _react2.default.createElement(_r02_scan2.default, { feature: feature, hasEdit: hasEdit })
322
+ );
323
+ };
324
+
325
+ var mapStateToProps = function mapStateToProps(state, props) {
326
+ return (// eslint-disable-line
327
+ {
328
+ layoutSt: state.layout,
329
+ shiftRefSt: state.shift.ref
330
+ }
331
+ );
332
+ };
333
+
334
+ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
335
+ return (0, _redux.bindActionCreators)({
336
+ setShiftRefAct: _shift.setShiftRef,
337
+ updateLayoutAct: _layout.updateLayout
338
+ }, dispatch);
339
+ };
340
+
341
+ Layout.propTypes = {
342
+ classes: _propTypes2.default.object.isRequired,
343
+ feature: _propTypes2.default.object.isRequired,
344
+ hasEdit: _propTypes2.default.bool.isRequired,
345
+ layoutSt: _propTypes2.default.string.isRequired,
346
+ shiftRefSt: _propTypes2.default.object.isRequired,
347
+ setShiftRefAct: _propTypes2.default.func.isRequired,
348
+ updateLayoutAct: _propTypes2.default.func.isRequired
349
+ };
350
+
351
+ exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _styles.withStyles)(styles)(Layout));
@@ -0,0 +1,226 @@
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 _propTypes = require('prop-types');
12
+
13
+ var _propTypes2 = _interopRequireDefault(_propTypes);
14
+
15
+ var _classnames = require('classnames');
16
+
17
+ var _classnames2 = _interopRequireDefault(_classnames);
18
+
19
+ var _reactRedux = require('react-redux');
20
+
21
+ var _redux = require('redux');
22
+
23
+ var _Select = require('@material-ui/core/Select');
24
+
25
+ var _Select2 = _interopRequireDefault(_Select);
26
+
27
+ var _MenuItem = require('@material-ui/core/MenuItem');
28
+
29
+ var _MenuItem2 = _interopRequireDefault(_MenuItem);
30
+
31
+ var _FormControl = require('@material-ui/core/FormControl');
32
+
33
+ var _FormControl2 = _interopRequireDefault(_FormControl);
34
+
35
+ var _OutlinedInput = require('@material-ui/core/OutlinedInput');
36
+
37
+ var _OutlinedInput2 = _interopRequireDefault(_OutlinedInput);
38
+
39
+ var _InputLabel = require('@material-ui/core/InputLabel');
40
+
41
+ var _InputLabel2 = _interopRequireDefault(_InputLabel);
42
+
43
+ var _styles = require('@material-ui/core/styles');
44
+
45
+ var _Tooltip = require('@material-ui/core/Tooltip');
46
+
47
+ var _Tooltip2 = _interopRequireDefault(_Tooltip);
48
+
49
+ var _CloudDoneOutlined = require('@material-ui/icons/CloudDoneOutlined');
50
+
51
+ var _CloudDoneOutlined2 = _interopRequireDefault(_CloudDoneOutlined);
52
+
53
+ var _HowToRegOutlined = require('@material-ui/icons/HowToRegOutlined');
54
+
55
+ var _HowToRegOutlined2 = _interopRequireDefault(_HowToRegOutlined);
56
+
57
+ var _RefreshOutlined = require('@material-ui/icons/RefreshOutlined');
58
+
59
+ var _RefreshOutlined2 = _interopRequireDefault(_RefreshOutlined);
60
+
61
+ var _scan = require('../../actions/scan');
62
+
63
+ var _common = require('./common');
64
+
65
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
66
+
67
+ function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
68
+
69
+ var styles = function styles() {
70
+ return Object.assign({
71
+ fieldScan: {
72
+ width: 90
73
+ }
74
+ }, _common.commonStyle);
75
+ };
76
+
77
+ var restoreIcon = function restoreIcon(classes, hasEdit, isEdit) {
78
+ return hasEdit && isEdit ? _react2.default.createElement(_HowToRegOutlined2.default, { className: classes.icon }) : _react2.default.createElement(_CloudDoneOutlined2.default, { className: classes.icon });
79
+ };
80
+
81
+ var restoreTp = function restoreTp(hasEdit, isEdit) {
82
+ return hasEdit && isEdit ? 'User Defined Scan' : 'Auto Picked Scan';
83
+ };
84
+
85
+ var btnRestore = function btnRestore(classes, hasEdit, isEdit, toggleEditAct) {
86
+ return _react2.default.createElement(
87
+ _Tooltip2.default,
88
+ { title: _react2.default.createElement(
89
+ 'span',
90
+ { className: 'txt-sv-tp' },
91
+ restoreTp(hasEdit, isEdit)
92
+ ) },
93
+ _react2.default.createElement(
94
+ _common.MuButton,
95
+ {
96
+ className: (0, _classnames2.default)('btn-sv-bar-scanrst'),
97
+ disabled: !hasEdit,
98
+ onClick: toggleEditAct
99
+ },
100
+ restoreIcon(classes, hasEdit, isEdit)
101
+ )
102
+ );
103
+ };
104
+
105
+ var btnRrfresh = function btnRrfresh(classes, disabled, refreshAct) {
106
+ return _react2.default.createElement(
107
+ _Tooltip2.default,
108
+ { title: _react2.default.createElement(
109
+ 'span',
110
+ { className: 'txt-sv-tp' },
111
+ 'Refresh Scan'
112
+ ) },
113
+ _react2.default.createElement(
114
+ _common.MuButton,
115
+ {
116
+ className: (0, _classnames2.default)('btn-sv-bar-scanrfs'),
117
+ disabled: disabled,
118
+ onClick: refreshAct
119
+ },
120
+ _react2.default.createElement(_RefreshOutlined2.default, { className: classes.icon })
121
+ )
122
+ );
123
+ };
124
+
125
+ var scanSelect = function scanSelect(classes, feature, layoutSt, scanSt, onChange) {
126
+ var target = scanSt.target,
127
+ count = scanSt.count;
128
+
129
+ if (!count) return null;
130
+ var range = [].concat(_toConsumableArray(Array(count + 1).keys())).slice(1);
131
+ var content = range.map(function (num) {
132
+ return _react2.default.createElement(
133
+ _MenuItem2.default,
134
+ { value: num, key: num },
135
+ _react2.default.createElement(
136
+ 'span',
137
+ { className: (0, _classnames2.default)(classes.txtOpt, 'option-sv-bar-scan') },
138
+ 'scan ' + num
139
+ )
140
+ );
141
+ });
142
+
143
+ var defaultValue = scanSt.isAuto || !feature.scanEditTarget ? feature.scanAutoTarget : feature.scanEditTarget;
144
+ var selValue = target || defaultValue || 1;
145
+
146
+ return _react2.default.createElement(
147
+ _FormControl2.default,
148
+ {
149
+ className: (0, _classnames2.default)(classes.fieldScan),
150
+ variant: 'outlined'
151
+ },
152
+ _react2.default.createElement(
153
+ _InputLabel2.default,
154
+ { className: (0, _classnames2.default)(classes.selectLabel, 'select-sv-bar-label') },
155
+ 'Current Scan'
156
+ ),
157
+ _react2.default.createElement(
158
+ _Select2.default,
159
+ {
160
+ value: selValue,
161
+ onChange: onChange,
162
+ input: _react2.default.createElement(_OutlinedInput2.default, {
163
+ className: (0, _classnames2.default)(classes.selectInput, 'input-sv-bar-scan'),
164
+ labelWidth: 90
165
+ })
166
+ },
167
+ content
168
+ )
169
+ );
170
+ };
171
+
172
+ var Scan = function Scan(_ref) {
173
+ var classes = _ref.classes,
174
+ feature = _ref.feature,
175
+ hasEdit = _ref.hasEdit,
176
+ layoutSt = _ref.layoutSt,
177
+ scanSt = _ref.scanSt,
178
+ setScanTargetAct = _ref.setScanTargetAct,
179
+ resetScanTargetAct = _ref.resetScanTargetAct,
180
+ toggleScanIsAutoAct = _ref.toggleScanIsAutoAct;
181
+
182
+ var isMs = ['MS'].indexOf(layoutSt) >= 0;
183
+ if (!isMs) return null;
184
+
185
+ var onChange = function onChange(e) {
186
+ return setScanTargetAct(e.target.value);
187
+ };
188
+
189
+ return _react2.default.createElement(
190
+ 'span',
191
+ null,
192
+ scanSelect(classes, feature, layoutSt, scanSt, onChange),
193
+ btnRrfresh(classes, false, resetScanTargetAct),
194
+ btnRestore(classes, hasEdit, !scanSt.isAuto, toggleScanIsAutoAct)
195
+ );
196
+ };
197
+
198
+ var mapStateToProps = function mapStateToProps(state, props) {
199
+ return (// eslint-disable-line
200
+ {
201
+ layoutSt: state.layout,
202
+ scanSt: state.scan
203
+ }
204
+ );
205
+ };
206
+
207
+ var mapDispatchToProps = function mapDispatchToProps(dispatch) {
208
+ return (0, _redux.bindActionCreators)({
209
+ setScanTargetAct: _scan.setScanTarget,
210
+ resetScanTargetAct: _scan.resetScanTarget,
211
+ toggleScanIsAutoAct: _scan.toggleScanIsAuto
212
+ }, dispatch);
213
+ };
214
+
215
+ Scan.propTypes = {
216
+ classes: _propTypes2.default.object.isRequired,
217
+ feature: _propTypes2.default.object.isRequired,
218
+ hasEdit: _propTypes2.default.bool.isRequired,
219
+ layoutSt: _propTypes2.default.string.isRequired,
220
+ scanSt: _propTypes2.default.object.isRequired,
221
+ setScanTargetAct: _propTypes2.default.func.isRequired,
222
+ resetScanTargetAct: _propTypes2.default.func.isRequired,
223
+ toggleScanIsAutoAct: _propTypes2.default.func.isRequired
224
+ };
225
+
226
+ exports.default = (0, _redux.compose)((0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps), (0, _styles.withStyles)(styles))(Scan);