@complat/react-spectra-editor 0.11.3 → 0.11.4-beta.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.
@@ -0,0 +1,760 @@
1
+ 'use strict';
2
+
3
+ var _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"]) _i["return"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError("Invalid attempt to destructure non-iterable instance"); } }; }();
4
+
5
+ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();
6
+
7
+ var _react = require('react');
8
+
9
+ var _react2 = _interopRequireDefault(_react);
10
+
11
+ var _reactDom = require('react-dom');
12
+
13
+ var _reactDom2 = _interopRequireDefault(_reactDom);
14
+
15
+ var _InputBase = require('@material-ui/core/InputBase');
16
+
17
+ var _InputBase2 = _interopRequireDefault(_InputBase);
18
+
19
+ var _Grid = require('@material-ui/core/Grid');
20
+
21
+ var _Grid2 = _interopRequireDefault(_Grid);
22
+
23
+ var _Button = require('@material-ui/core/Button');
24
+
25
+ var _Button2 = _interopRequireDefault(_Button);
26
+
27
+ var _reactQuill = require('react-quill');
28
+
29
+ var _reactQuill2 = _interopRequireDefault(_reactQuill);
30
+
31
+ var _app = require('./app');
32
+
33
+ var _nmr1h_jcamp = require('./__tests__/fixtures/nmr1h_jcamp');
34
+
35
+ var _nmr1h_jcamp2 = _interopRequireDefault(_nmr1h_jcamp);
36
+
37
+ var _nmr13c_dept_jcamp = require('./__tests__/fixtures/nmr13c_dept_jcamp');
38
+
39
+ var _nmr13c_dept_jcamp2 = _interopRequireDefault(_nmr13c_dept_jcamp);
40
+
41
+ var _nmr13c_jcamp = require('./__tests__/fixtures/nmr13c_jcamp');
42
+
43
+ var _nmr13c_jcamp2 = _interopRequireDefault(_nmr13c_jcamp);
44
+
45
+ var _nmr19f_jcamp = require('./__tests__/fixtures/nmr19f_jcamp');
46
+
47
+ var _nmr19f_jcamp2 = _interopRequireDefault(_nmr19f_jcamp);
48
+
49
+ var _nmr31p_jcamp = require('./__tests__/fixtures/nmr31p_jcamp');
50
+
51
+ var _nmr31p_jcamp2 = _interopRequireDefault(_nmr31p_jcamp);
52
+
53
+ var _nmr15n_jcamp = require('./__tests__/fixtures/nmr15n_jcamp');
54
+
55
+ var _nmr15n_jcamp2 = _interopRequireDefault(_nmr15n_jcamp);
56
+
57
+ var _nmr29si_jcamp = require('./__tests__/fixtures/nmr29si_jcamp');
58
+
59
+ var _nmr29si_jcamp2 = _interopRequireDefault(_nmr29si_jcamp);
60
+
61
+ var _ir_jcamp = require('./__tests__/fixtures/ir_jcamp');
62
+
63
+ var _ir_jcamp2 = _interopRequireDefault(_ir_jcamp);
64
+
65
+ var _compare_ir_1_jcamp = require('./__tests__/fixtures/compare_ir_1_jcamp');
66
+
67
+ var _compare_ir_1_jcamp2 = _interopRequireDefault(_compare_ir_1_jcamp);
68
+
69
+ var _compare_ir_2_jcamp = require('./__tests__/fixtures/compare_ir_2_jcamp');
70
+
71
+ var _compare_ir_2_jcamp2 = _interopRequireDefault(_compare_ir_2_jcamp);
72
+
73
+ var _raman_jcamp = require('./__tests__/fixtures/raman_jcamp');
74
+
75
+ var _raman_jcamp2 = _interopRequireDefault(_raman_jcamp);
76
+
77
+ var _ms_jcamp = require('./__tests__/fixtures/ms_jcamp');
78
+
79
+ var _ms_jcamp2 = _interopRequireDefault(_ms_jcamp);
80
+
81
+ var _nmr_result = require('./__tests__/fixtures/nmr_result');
82
+
83
+ var _nmr_result2 = _interopRequireDefault(_nmr_result);
84
+
85
+ var _ir_result = require('./__tests__/fixtures/ir_result');
86
+
87
+ var _ir_result2 = _interopRequireDefault(_ir_result);
88
+
89
+ var _phenylalanin = require('./__tests__/fixtures/phenylalanin');
90
+
91
+ var _phenylalanin2 = _interopRequireDefault(_phenylalanin);
92
+
93
+ var _compare_uv_vis_jcamp = require('./__tests__/fixtures/compare_uv_vis_jcamp');
94
+
95
+ var _compare_uv_vis_jcamp2 = _interopRequireDefault(_compare_uv_vis_jcamp);
96
+
97
+ var _uv_vis_jcamp = require('./__tests__/fixtures/uv_vis_jcamp');
98
+
99
+ var _uv_vis_jcamp2 = _interopRequireDefault(_uv_vis_jcamp);
100
+
101
+ var _hplc_uvvis_jcamp = require('./__tests__/fixtures/hplc_uvvis_jcamp');
102
+
103
+ var _hplc_uvvis_jcamp2 = _interopRequireDefault(_hplc_uvvis_jcamp);
104
+
105
+ var _tga_jcamp = require('./__tests__/fixtures/tga_jcamp');
106
+
107
+ var _tga_jcamp2 = _interopRequireDefault(_tga_jcamp);
108
+
109
+ var _xrd_jcamp_ = require('./__tests__/fixtures/xrd_jcamp_1');
110
+
111
+ var _xrd_jcamp_2 = _interopRequireDefault(_xrd_jcamp_);
112
+
113
+ var _xrd_jcamp_3 = require('./__tests__/fixtures/xrd_jcamp_2');
114
+
115
+ var _xrd_jcamp_4 = _interopRequireDefault(_xrd_jcamp_3);
116
+
117
+ var _cyclic_voltammetry_ = require('./__tests__/fixtures/cyclic_voltammetry_1');
118
+
119
+ var _cyclic_voltammetry_2 = _interopRequireDefault(_cyclic_voltammetry_);
120
+
121
+ var _cyclic_voltammetry_3 = require('./__tests__/fixtures/cyclic_voltammetry_2');
122
+
123
+ var _cyclic_voltammetry_4 = _interopRequireDefault(_cyclic_voltammetry_3);
124
+
125
+ var _cyclic_voltammetry_5 = require('./__tests__/fixtures/cyclic_voltammetry_3');
126
+
127
+ var _cyclic_voltammetry_6 = _interopRequireDefault(_cyclic_voltammetry_5);
128
+
129
+ var _qDescValue = require('./__tests__/fixtures/qDescValue');
130
+
131
+ require('./__tests__/style/svg.css');
132
+
133
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
134
+
135
+ 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); } }
136
+
137
+ function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
138
+
139
+ function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; }
140
+
141
+ function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }
142
+
143
+ var nmr1HEntity = _app.FN.ExtractJcamp(_nmr1h_jcamp2.default);
144
+ var nmr13CEntity = _app.FN.ExtractJcamp(_nmr13c_jcamp2.default);
145
+ var nmr13CDeptEntity = _app.FN.ExtractJcamp(_nmr13c_dept_jcamp2.default);
146
+ var nmr19FEntity = _app.FN.ExtractJcamp(_nmr19f_jcamp2.default);
147
+ var nmr31PEntity = _app.FN.ExtractJcamp(_nmr31p_jcamp2.default);
148
+ var nmr15NEntity = _app.FN.ExtractJcamp(_nmr15n_jcamp2.default);
149
+ var nmr29SiEntity = _app.FN.ExtractJcamp(_nmr29si_jcamp2.default);
150
+ var irEntity = _app.FN.ExtractJcamp(_ir_jcamp2.default);
151
+ var compIr1Entity = _app.FN.ExtractJcamp(_compare_ir_1_jcamp2.default);
152
+ var compIr2Entity = _app.FN.ExtractJcamp(_compare_ir_2_jcamp2.default);
153
+ var ramanEntity = _app.FN.ExtractJcamp(_raman_jcamp2.default);
154
+ var msEntity = _app.FN.ExtractJcamp(_ms_jcamp2.default);
155
+ var uvVisEntity = _app.FN.ExtractJcamp(_uv_vis_jcamp2.default);
156
+ var compUvVisEntity = _app.FN.ExtractJcamp(_compare_uv_vis_jcamp2.default);
157
+ var hplcUVVisEntity = _app.FN.ExtractJcamp(_hplc_uvvis_jcamp2.default);
158
+ var tgaEntity = _app.FN.ExtractJcamp(_tga_jcamp2.default);
159
+ var xrdEntity1 = _app.FN.ExtractJcamp(_xrd_jcamp_2.default);
160
+ var xrdEntity2 = _app.FN.ExtractJcamp(_xrd_jcamp_4.default);
161
+ var cyclicVoltaEntity1 = _app.FN.ExtractJcamp(_cyclic_voltammetry_2.default);
162
+ var cyclicVoltaEntity2 = _app.FN.ExtractJcamp(_cyclic_voltammetry_4.default);
163
+ var cyclicVoltaEntity3 = _app.FN.ExtractJcamp(_cyclic_voltammetry_6.default);
164
+
165
+ var DemoWriteIr = function (_React$Component) {
166
+ _inherits(DemoWriteIr, _React$Component);
167
+
168
+ function DemoWriteIr(props) {
169
+ _classCallCheck(this, DemoWriteIr);
170
+
171
+ var _this = _possibleConstructorReturn(this, (DemoWriteIr.__proto__ || Object.getPrototypeOf(DemoWriteIr)).call(this, props));
172
+
173
+ _this.state = {
174
+ typ: 'nmr 1h',
175
+ desc: '',
176
+ predictions: false,
177
+ molecule: '',
178
+ showOthers: false,
179
+ descChanged: ''
180
+ };
181
+
182
+ _this.onClick = _this.onClick.bind(_this);
183
+ _this.writeMpy = _this.writeMpy.bind(_this);
184
+ _this.writePeak = _this.writePeak.bind(_this);
185
+ _this.formatPks = _this.formatPks.bind(_this);
186
+ _this.formatMpy = _this.formatMpy.bind(_this);
187
+ _this.savePeaks = _this.savePeaks.bind(_this);
188
+ _this.predictOp = _this.predictOp.bind(_this);
189
+ _this.updatInput = _this.updatInput.bind(_this);
190
+ _this.loadEntity = _this.loadEntity.bind(_this);
191
+ _this.loadQuill = _this.loadQuill.bind(_this);
192
+ _this.onShowOthers = _this.onShowOthers.bind(_this);
193
+ _this.loadOthers = _this.loadOthers.bind(_this);
194
+ _this.onDescriptionChanged = _this.onDescriptionChanged.bind(_this);
195
+ _this.loadMultiEntities = _this.loadMultiEntities.bind(_this);
196
+ return _this;
197
+ }
198
+
199
+ _createClass(DemoWriteIr, [{
200
+ key: 'onClick',
201
+ value: function onClick(typ) {
202
+ var _this2 = this;
203
+
204
+ return function () {
205
+ _this2.setState({
206
+ typ: typ,
207
+ desc: '',
208
+ predictions: false,
209
+ molecule: ''
210
+ });
211
+ };
212
+ }
213
+ }, {
214
+ key: 'rmDollarSign',
215
+ value: function rmDollarSign(target) {
216
+ return target.replace(/\$/g, '');
217
+ }
218
+ }, {
219
+ key: 'formatPks',
220
+ value: function formatPks(_ref) {
221
+ var peaks = _ref.peaks,
222
+ layout = _ref.layout,
223
+ shift = _ref.shift,
224
+ isAscend = _ref.isAscend,
225
+ decimal = _ref.decimal,
226
+ isIntensity = _ref.isIntensity,
227
+ integration = _ref.integration;
228
+
229
+ var entity = this.loadEntity();
230
+ var features = entity.features;
231
+
232
+ var _ref2 = Array.isArray(features) ? {} : features.editPeak || features.autoPeak,
233
+ maxY = _ref2.maxY,
234
+ minY = _ref2.minY;
235
+
236
+ var boundary = { maxY: maxY, minY: minY };
237
+ var body = _app.FN.peaksBody({
238
+ peaks: peaks, layout: layout, decimal: decimal, shift: shift, isAscend: isAscend, isIntensity: isIntensity, boundary: boundary, integration: integration
239
+ });
240
+ var wrapper = _app.FN.peaksWrapper(layout, shift);
241
+ var desc = this.rmDollarSign(wrapper.head) + body + wrapper.tail;
242
+ return desc;
243
+ }
244
+ }, {
245
+ key: 'formatMpy',
246
+ value: function formatMpy(_ref3) {
247
+ var multiplicity = _ref3.multiplicity,
248
+ integration = _ref3.integration,
249
+ shift = _ref3.shift,
250
+ isAscend = _ref3.isAscend,
251
+ decimal = _ref3.decimal,
252
+ layout = _ref3.layout;
253
+
254
+ // obsv freq
255
+ var entity = this.loadEntity();
256
+ var features = entity.features;
257
+
258
+ var _ref4 = Array.isArray(features) ? features[0] : features.editPeak || features.autoPeak,
259
+ observeFrequency = _ref4.observeFrequency;
260
+
261
+ var freq = observeFrequency[0];
262
+ var freqStr = freq ? parseInt(freq, 10) + ' MHz, ' : '';
263
+ // multiplicity
264
+ var refArea = integration.refArea,
265
+ refFactor = integration.refFactor;
266
+
267
+ var shiftVal = multiplicity.shift;
268
+ var ms = multiplicity.stack;
269
+ var is = integration.stack;
270
+
271
+ var macs = ms.map(function (m) {
272
+ var peaks = m.peaks,
273
+ mpyType = m.mpyType,
274
+ xExtent = m.xExtent;
275
+ var xL = xExtent.xL,
276
+ xU = xExtent.xU;
277
+
278
+ var it = is.filter(function (i) {
279
+ return i.xL === xL && i.xU === xU;
280
+ })[0] || { area: 0 };
281
+ var area = it.area * refFactor / refArea;
282
+ var center = _app.FN.calcMpyCenter(peaks, shiftVal, mpyType);
283
+ var xs = m.peaks.map(function (p) {
284
+ return p.x;
285
+ }).sort(function (a, b) {
286
+ return a - b;
287
+ });
288
+
289
+ var _ref5 = isAscend ? [0, xs.length - 1] : [xs.length - 1, 0],
290
+ _ref6 = _slicedToArray(_ref5, 2),
291
+ aIdx = _ref6[0],
292
+ bIdx = _ref6[1];
293
+
294
+ var mxA = mpyType === 'm' ? (xs[aIdx] - shiftVal).toFixed(decimal) : 0;
295
+ var mxB = mpyType === 'm' ? (xs[bIdx] - shiftVal).toFixed(decimal) : 0;
296
+ return Object.assign({}, m, {
297
+ area: area, center: center, mxA: mxA, mxB: mxB
298
+ });
299
+ }).sort(function (a, b) {
300
+ return isAscend ? a.center - b.center : b.center - a.center;
301
+ });
302
+ var str = macs.map(function (m) {
303
+ var c = m.center;
304
+ var type = m.mpyType;
305
+ var it = Math.round(m.area);
306
+ var js = m.js.map(function (j) {
307
+ return 'J = ' + j.toFixed(1) + ' Hz';
308
+ }).join(', ');
309
+ var atomCount = layout === '1H' ? ', ' + it + 'H' : '';
310
+ var location = type === 'm' ? m.mxA + '\u2013' + m.mxB : '' + c.toFixed(decimal);
311
+ return m.js.length === 0 ? location + ' (' + type + atomCount + ')' : location + ' (' + type + ', ' + js + atomCount + ')';
312
+ }).join(', ');
313
+ var _shift$ref = shift.ref,
314
+ label = _shift$ref.label,
315
+ value = _shift$ref.value,
316
+ name = _shift$ref.name;
317
+
318
+ var solvent = label ? name.split('(')[0].trim() + ' [' + value.toFixed(decimal) + ' ppm], ' : '';
319
+ return layout + ' NMR (' + freqStr + solvent + 'ppm) \u03B4 = ' + str + '.';
320
+ }
321
+ }, {
322
+ key: 'writeMpy',
323
+ value: function writeMpy(_ref7) {
324
+ var layout = _ref7.layout,
325
+ shift = _ref7.shift,
326
+ isAscend = _ref7.isAscend,
327
+ decimal = _ref7.decimal,
328
+ multiplicity = _ref7.multiplicity,
329
+ integration = _ref7.integration;
330
+
331
+ if (['1H', '13C', '19F'].indexOf(layout) < 0) return;
332
+ var desc = this.formatMpy({
333
+ multiplicity: multiplicity, integration: integration, shift: shift, isAscend: isAscend, decimal: decimal, layout: layout
334
+ });
335
+ this.setState({ desc: desc });
336
+ }
337
+ }, {
338
+ key: 'writePeak',
339
+ value: function writePeak(_ref8) {
340
+ var peaks = _ref8.peaks,
341
+ layout = _ref8.layout,
342
+ shift = _ref8.shift,
343
+ isAscend = _ref8.isAscend,
344
+ decimal = _ref8.decimal,
345
+ isIntensity = _ref8.isIntensity,
346
+ integration = _ref8.integration,
347
+ waveLength = _ref8.waveLength;
348
+
349
+ var desc = this.formatPks({
350
+ peaks: peaks, layout: layout, shift: shift, isAscend: isAscend, decimal: decimal, isIntensity: isIntensity, integration: integration
351
+ });
352
+ this.setState({ desc: desc });
353
+ }
354
+ }, {
355
+ key: 'savePeaks',
356
+ value: function savePeaks(_ref9) {
357
+ var peaks = _ref9.peaks,
358
+ layout = _ref9.layout,
359
+ shift = _ref9.shift,
360
+ isAscend = _ref9.isAscend,
361
+ decimal = _ref9.decimal,
362
+ analysis = _ref9.analysis,
363
+ isIntensity = _ref9.isIntensity,
364
+ integration = _ref9.integration,
365
+ multiplicity = _ref9.multiplicity;
366
+
367
+ var entity = this.loadEntity();
368
+ var features = entity.features;
369
+
370
+ var _ref10 = Array.isArray(features) ? features[0] : features.editPeak || features.autoPeak,
371
+ maxY = _ref10.maxY,
372
+ minY = _ref10.minY;
373
+
374
+ var boundary = { maxY: maxY, minY: minY };
375
+ var body = _app.FN.peaksBody({
376
+ peaks: peaks, layout: layout, decimal: decimal, shift: shift, isAscend: isAscend, isIntensity: isIntensity, boundary: boundary
377
+ });
378
+ /*eslint-disable */
379
+ console.log(analysis);
380
+ console.log(integration);
381
+ console.log(multiplicity);
382
+ if (shift.ref.label) {
383
+ var label = this.rmDollarSign(shift.ref.label);
384
+ alert('Peaks: ' + body + '\n' + '- - - - - - - - - - -' + '\n' + ('Shift solvent = ' + label + ', ' + shift.ref.value + 'ppm') + '\n');
385
+ } else {
386
+ alert('Peaks: ' + body + '\n');
387
+ }
388
+ /*eslint-disable */
389
+ }
390
+ }, {
391
+ key: 'predictOp',
392
+ value: function predictOp(_ref11) {
393
+ var _this3 = this;
394
+
395
+ var multiplicity = _ref11.multiplicity;
396
+ var stack = multiplicity.stack,
397
+ shift = multiplicity.shift;
398
+
399
+ var targets = stack.map(function (stk) {
400
+ var mpyType = stk.mpyType,
401
+ peaks = stk.peaks;
402
+
403
+ return _app.FN.CalcMpyCenter(peaks, shift, mpyType);
404
+ });
405
+ // console.log(targets)
406
+ var _state = this.state,
407
+ molecule = _state.molecule,
408
+ typ = _state.typ;
409
+
410
+ var predictions = { running: true };
411
+
412
+ this.setState({ predictions: predictions });
413
+ // simulate fetching...
414
+ var result = typ === 'ir' ? _ir_result2.default : _nmr_result2.default;
415
+ setTimeout(function () {
416
+ _this3.setState({ predictions: result });
417
+ }, 2000);
418
+ }
419
+ }, {
420
+ key: 'updatInput',
421
+ value: function updatInput(e) {
422
+ var molecule = e.target.value;
423
+ this.setState({ molecule: molecule });
424
+ }
425
+ }, {
426
+ key: 'loadEntity',
427
+ value: function loadEntity() {
428
+ var typ = this.state.typ;
429
+
430
+ switch (typ) {
431
+ case 'nmr 1h':
432
+ return nmr1HEntity;
433
+ case 'nmr 13c':
434
+ return nmr13CEntity;
435
+ case 'nmr 13c dept':
436
+ return nmr13CDeptEntity;
437
+ case 'nmr 19f':
438
+ return nmr19FEntity;
439
+ case 'nmr 31p':
440
+ return nmr31PEntity;
441
+ case 'nmr 15n':
442
+ return nmr15NEntity;
443
+ case 'nmr 29si':
444
+ return nmr29SiEntity;
445
+ case 'ir':
446
+ return irEntity;
447
+ case 'raman':
448
+ return ramanEntity;
449
+ case 'uv/vis':
450
+ return uvVisEntity;
451
+ case 'hplc uv/vis':
452
+ return hplcUVVisEntity;
453
+ case 'tga':
454
+ return tgaEntity;
455
+ case 'xrd':
456
+ return xrdEntity1;
457
+ case 'cyclic volta':
458
+ return cyclicVoltaEntity2;
459
+ case 'ms':
460
+ default:
461
+ return msEntity;
462
+ }
463
+ }
464
+ }, {
465
+ key: 'loadMultiEntities',
466
+ value: function loadMultiEntities() {
467
+ var typ = this.state.typ;
468
+
469
+ switch (typ) {
470
+ case 'cyclic volta':
471
+ return [cyclicVoltaEntity1, cyclicVoltaEntity2, cyclicVoltaEntity3];
472
+ default:
473
+ return false;
474
+ }
475
+ }
476
+ }, {
477
+ key: 'loadQuill',
478
+ value: function loadQuill() {
479
+ var typ = this.state.typ;
480
+
481
+ switch (typ) {
482
+ case 'nmr 1h':
483
+ return _qDescValue.q1H;
484
+ case 'nmr 13c':
485
+ return _qDescValue.q13C;
486
+ case 'nmr 13c dept':
487
+ return _qDescValue.q13C;
488
+ case 'ir':
489
+ return _qDescValue.qIR;
490
+ case 'nmr 19f':
491
+ case 'nmr 31p':
492
+ case 'nmr 15n':
493
+ case 'nmr 29si':
494
+ case 'raman':
495
+ case 'uv/vis':
496
+ case 'hplc uv/vis':
497
+ case 'tga':
498
+ case 'xrd':
499
+ case 'ms':
500
+ case 'cyclic volta':
501
+ default:
502
+ return false;
503
+ }
504
+ }
505
+ }, {
506
+ key: 'onShowOthers',
507
+ value: function onShowOthers(jcamp) {
508
+ this.setState({ showOthers: true });
509
+ }
510
+ }, {
511
+ key: 'loadOthers',
512
+ value: function loadOthers() {
513
+ var _state2 = this.state,
514
+ showOthers = _state2.showOthers,
515
+ typ = _state2.typ;
516
+
517
+ var isIr = typ === 'ir';
518
+ var isXRD = typ === 'xrd';
519
+ var others = showOthers ? isIr ? [compIr1Entity, compIr2Entity] : isXRD ? [xrdEntity2] : [compUvVisEntity] : [];
520
+
521
+ return {
522
+ others: others,
523
+ addOthersCb: this.onShowOthers
524
+ };
525
+ }
526
+ }, {
527
+ key: 'onDescriptionChanged',
528
+ value: function onDescriptionChanged(content) {
529
+ // console.log(content)
530
+ this.setState({ descChanged: content });
531
+ }
532
+ }, {
533
+ key: 'render',
534
+ value: function render() {
535
+ var _state3 = this.state,
536
+ desc = _state3.desc,
537
+ predictions = _state3.predictions,
538
+ molecule = _state3.molecule,
539
+ typ = _state3.typ;
540
+
541
+ var entity = this.loadEntity();
542
+ var qDescVal = this.loadQuill();
543
+
544
+ var multiEntities = this.loadMultiEntities();
545
+
546
+ var operations = [{ name: 'write peaks', value: this.writePeak }, { name: 'save', value: this.savePeaks }].filter(function (r) {
547
+ return r.value;
548
+ });
549
+ if (['1H', '13C', '19F', '31P', '15N', '29Si'].indexOf(entity.layout) >= 0) {
550
+ operations = [{ name: 'write multiplicity', value: this.writeMpy }].concat(_toConsumableArray(operations));
551
+ }
552
+
553
+ var refreshCb = function refreshCb() {
554
+ return alert('Refresch simulation!');
555
+ };
556
+
557
+ var forecast = {
558
+ btnCb: this.predictOp,
559
+ refreshCb: refreshCb,
560
+ inputCb: this.updatInput,
561
+ molecule: molecule,
562
+ predictions: predictions
563
+ };
564
+
565
+ var molSvg = ['nmr 1h', 'ir'].indexOf(typ) >= 0 ? _phenylalanin2.default.path : '';
566
+ var others = this.loadOthers();
567
+
568
+ return _react2.default.createElement(
569
+ 'div',
570
+ { style: { width: Math.round(window.innerWidth * 0.96) } },
571
+ _react2.default.createElement(
572
+ 'div',
573
+ { style: { margin: '0 0 15px 55px' } },
574
+ _react2.default.createElement(
575
+ _Button2.default,
576
+ {
577
+ variant: 'contained',
578
+ style: { margin: '0 10px 0 10px' },
579
+ onClick: this.onClick('nmr 1h')
580
+ },
581
+ 'NMR 1H'
582
+ ),
583
+ _react2.default.createElement(
584
+ _Button2.default,
585
+ {
586
+ variant: 'contained',
587
+ style: { margin: '0 10px 0 10px' },
588
+ onClick: this.onClick('nmr 13c')
589
+ },
590
+ 'NMR 13C'
591
+ ),
592
+ _react2.default.createElement(
593
+ _Button2.default,
594
+ {
595
+ variant: 'contained',
596
+ style: { margin: '0 10px 0 10px' },
597
+ onClick: this.onClick('nmr 13c dept')
598
+ },
599
+ 'NMR 13C DEPT'
600
+ ),
601
+ _react2.default.createElement(
602
+ _Button2.default,
603
+ {
604
+ variant: 'contained',
605
+ style: { margin: '0 10px 0 10px' },
606
+ onClick: this.onClick('nmr 19f')
607
+ },
608
+ 'NMR 19F'
609
+ ),
610
+ _react2.default.createElement(
611
+ _Button2.default,
612
+ {
613
+ variant: 'contained',
614
+ style: { margin: '0 10px 0 10px' },
615
+ onClick: this.onClick('nmr 31p')
616
+ },
617
+ 'NMR 31P'
618
+ ),
619
+ _react2.default.createElement(
620
+ _Button2.default,
621
+ {
622
+ variant: 'contained',
623
+ style: { margin: '0 10px 0 10px' },
624
+ onClick: this.onClick('nmr 15n')
625
+ },
626
+ 'NMR 15N'
627
+ ),
628
+ _react2.default.createElement(
629
+ _Button2.default,
630
+ {
631
+ variant: 'contained',
632
+ style: { margin: '0 10px 0 10px' },
633
+ onClick: this.onClick('nmr 29si')
634
+ },
635
+ 'NMR 29Si'
636
+ ),
637
+ _react2.default.createElement(
638
+ _Button2.default,
639
+ {
640
+ variant: 'contained',
641
+ style: { margin: '0 10px 0 10px' },
642
+ onClick: this.onClick('ir')
643
+ },
644
+ 'IR'
645
+ ),
646
+ _react2.default.createElement(
647
+ _Button2.default,
648
+ {
649
+ variant: 'contained',
650
+ style: { margin: '0 10px 0 10px' },
651
+ onClick: this.onClick('raman')
652
+ },
653
+ 'RAMAN'
654
+ ),
655
+ _react2.default.createElement(
656
+ _Button2.default,
657
+ {
658
+ variant: 'contained',
659
+ style: { margin: '0 10px 0 10px' },
660
+ onClick: this.onClick('uv/vis')
661
+ },
662
+ 'UV/VIS'
663
+ ),
664
+ _react2.default.createElement(
665
+ _Button2.default,
666
+ {
667
+ variant: 'contained',
668
+ style: { margin: '0 10px 0 10px' },
669
+ onClick: this.onClick('hplc uv/vis')
670
+ },
671
+ 'HPLC UV/VIS'
672
+ ),
673
+ _react2.default.createElement(
674
+ _Button2.default,
675
+ {
676
+ variant: 'contained',
677
+ style: { margin: '0 10px 0 10px' },
678
+ onClick: this.onClick('tga')
679
+ },
680
+ 'TGA'
681
+ ),
682
+ _react2.default.createElement(
683
+ _Button2.default,
684
+ {
685
+ variant: 'contained',
686
+ style: { margin: '0 10px 0 10px' },
687
+ onClick: this.onClick('xrd')
688
+ },
689
+ 'XRD'
690
+ ),
691
+ _react2.default.createElement(
692
+ _Button2.default,
693
+ {
694
+ variant: 'contained',
695
+ style: { margin: '0 10px 0 10px' },
696
+ onClick: this.onClick('cyclic volta')
697
+ },
698
+ 'CV'
699
+ ),
700
+ _react2.default.createElement(
701
+ _Button2.default,
702
+ {
703
+ variant: 'contained',
704
+ style: { margin: '0 10px 0 10px' },
705
+ onClick: this.onClick('ms')
706
+ },
707
+ 'MS'
708
+ )
709
+ ),
710
+ _react2.default.createElement(_app.SpectraEditor, {
711
+ entity: entity,
712
+ multiEntities: multiEntities,
713
+ others: others,
714
+ editorOnly: false,
715
+ canChangeDescription: true,
716
+ onDescriptionChanged: this.onDescriptionChanged
717
+ }),
718
+ _react2.default.createElement(
719
+ 'div',
720
+ null,
721
+ _react2.default.createElement(
722
+ 'span',
723
+ null,
724
+ 'Description Changed'
725
+ ),
726
+ _react2.default.createElement(_reactQuill2.default, {
727
+ className: 'card-sv-quill',
728
+ value: this.state.descChanged,
729
+ modules: { toolbar: false },
730
+ readOnly: true
731
+ })
732
+ ),
733
+ _react2.default.createElement(
734
+ _Grid2.default,
735
+ { container: true },
736
+ _react2.default.createElement(
737
+ _Grid2.default,
738
+ { item: true, xs: 10 },
739
+ _react2.default.createElement(_InputBase2.default, {
740
+ style: { margin: '0 0 0 63px' },
741
+ placeholder: 'Description',
742
+ multiline: true,
743
+ fullWidth: true,
744
+ rows: '2',
745
+ margin: 'dense',
746
+ value: desc
747
+ })
748
+ )
749
+ )
750
+ );
751
+ }
752
+ }]);
753
+
754
+ return DemoWriteIr;
755
+ }(_react2.default.Component);
756
+
757
+ // - - - DOM - - -
758
+
759
+
760
+ _reactDom2.default.render(_react2.default.createElement(DemoWriteIr, null), document.getElementById('root'));