@complat/react-spectra-editor 1.3.1 → 1.3.2

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.
@@ -718,6 +718,8 @@ $$ === CHEMSPECTRA INTEGRALS AND MULTIPLETS ===
718
718
  $$ === CHEMSPECTRA SIMULATION ===
719
719
  ##$CSSIMULATIONPEAKS=
720
720
  $$ === CHEMSPECTRA CYCLIC VOLTAMMETRY ===
721
+ ##$CSSCANRATE=0.09
722
+ ##$CSSPECTRUMDIRECTION=NEGATIVE
721
723
  ##$CSCYCLICVOLTAMMETRYDATA=
722
724
  (0.10003, 2.85434e-06, -1.5404, -3.07144e-06, 1.441336382491224, 1.64043, 0.380242, 1.64361e-06, 1)
723
725
  (0.10002, 2.83434e-06, -1.5504, -3.17144e-06, 1.541336382491224, 1.54043, 0.480242, 1.74361e-06, 0)
@@ -0,0 +1,425 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ const dscJcamp = `
8
+ ##TITLE=DSC1.1_bagit
9
+ ##JCAMP-DX=5.0
10
+ ##DATA TYPE=LINK
11
+ ##BLOCKS=1
12
+
13
+
14
+ $$ === CHEMSPECTRA SPECTRUM ORIG ===
15
+ ##TITLE=DSC1.1_bagit
16
+ ##JCAMP-DX=5.00
17
+ ##DATA TYPE=DIFFERENTIAL SCANNING CALORIMETRY
18
+ ##DATA CLASS=XYDATA
19
+ ##$CSCATEGORY=SPECTRUM
20
+ ##ORIGIN=
21
+ ##OWNER=
22
+ ##XUNITS=DEGREES CELSIUS
23
+ ##YUNITS=W/g
24
+ ##XFACTOR=1.0
25
+ ##YFACTOR=1.0
26
+ ##FIRSTX=-63.0
27
+ ##LASTX=77.0
28
+ ##MAXX=77.0
29
+ ##MAXY=0.25175
30
+ ##MINX=-63.0
31
+ ##MINY=0.11677
32
+ ##MELTINGPOINT=1.5
33
+ ##TG=6
34
+ ##NPOINTS=141
35
+ ##XYDATA= (XY..XY)
36
+ -63.0, 0.11677
37
+ -62.0, 0.11735
38
+ -61.0, 0.11846
39
+ -60.0, 0.11883
40
+ -59.0, 0.12039
41
+ -58.0, 0.12119
42
+ -57.0, 0.12283
43
+ -56.0, 0.12307
44
+ -55.0, 0.12475
45
+ -54.0, 0.12572
46
+ -53.0, 0.12679
47
+ -52.0, 0.12734
48
+ -51.0, 0.12816
49
+ -50.0, 0.12912
50
+ -49.0, 0.13037
51
+ -48.0, 0.13143
52
+ -47.0, 0.13223
53
+ -46.0, 0.133
54
+ -45.0, 0.13489
55
+ -44.0, 0.13631
56
+ -43.0, 0.13762
57
+ -42.0, 0.13922
58
+ -41.0, 0.14115
59
+ -40.0, 0.14282
60
+ -39.0, 0.14512
61
+ -38.0, 0.14791
62
+ -37.0, 0.15185
63
+ -36.0, 0.15621
64
+ -35.0, 0.16347
65
+ -34.0, 0.17107
66
+ -33.0, 0.181
67
+ -32.0, 0.1906
68
+ -31.0, 0.19701
69
+ -30.0, 0.19835
70
+ -29.0, 0.19769
71
+ -28.0, 0.19625
72
+ -27.0, 0.19572
73
+ -26.0, 0.19538
74
+ -25.0, 0.19507
75
+ -24.0, 0.19475
76
+ -23.0, 0.1959
77
+ -22.0, 0.19594
78
+ -21.0, 0.19629
79
+ -20.0, 0.19673
80
+ -19.0, 0.19782
81
+ -18.0, 0.19831
82
+ -17.0, 0.19894
83
+ -16.0, 0.19921
84
+ -15.0, 0.20047
85
+ -14.0, 0.20127
86
+ -13.0, 0.20227
87
+ -12.0, 0.20231
88
+ -11.0, 0.20364
89
+ -10.0, 0.20473
90
+ -9.0, 0.20614
91
+ -8.0, 0.20717
92
+ -7.0, 0.20811
93
+ -6.0, 0.20812
94
+ -5.0, 0.20888
95
+ -4.0, 0.2094
96
+ -3.0, 0.20991
97
+ -2.0, 0.2107
98
+ -1.0, 0.21024
99
+ 0.0, 0.21301
100
+ 1.0, 0.21343
101
+ 2.0, 0.21476
102
+ 3.0, 0.21539
103
+ 4.0, 0.21575
104
+ 5.0, 0.21741
105
+ 6.0, 0.21804
106
+ 7.0, 0.21857
107
+ 8.0, 0.21968
108
+ 9.0, 0.22042
109
+ 10.0, 0.22132
110
+ 11.0, 0.2219
111
+ 12.0, 0.22323
112
+ 13.0, 0.22292
113
+ 14.0, 0.2238
114
+ 15.0, 0.22403
115
+ 16.0, 0.22516
116
+ 17.0, 0.22501
117
+ 18.0, 0.22537
118
+ 19.0, 0.22724
119
+ 20.0, 0.22789
120
+ 21.0, 0.22903
121
+ 22.0, 0.22874
122
+ 23.0, 0.22968
123
+ 24.0, 0.23052
124
+ 25.0, 0.23125
125
+ 26.0, 0.23222
126
+ 27.0, 0.23264
127
+ 28.0, 0.23352
128
+ 29.0, 0.2329
129
+ 30.0, 0.23468
130
+ 31.0, 0.23594
131
+ 32.0, 0.23694
132
+ 33.0, 0.23795
133
+ 34.0, 0.23884
134
+ 35.0, 0.23874
135
+ 36.0, 0.2388
136
+ 37.0, 0.23787
137
+ 38.0, 0.23632
138
+ 39.0, 0.23466
139
+ 40.0, 0.2341
140
+ 41.0, 0.23385
141
+ 42.0, 0.23285
142
+ 43.0, 0.23268
143
+ 44.0, 0.23306
144
+ 45.0, 0.23314
145
+ 46.0, 0.23343
146
+ 47.0, 0.23341
147
+ 48.0, 0.23417
148
+ 49.0, 0.23427
149
+ 50.0, 0.2345
150
+ 51.0, 0.23501
151
+ 52.0, 0.23577
152
+ 53.0, 0.23657
153
+ 54.0, 0.23737
154
+ 55.0, 0.23798
155
+ 56.0, 0.23837
156
+ 57.0, 0.23914
157
+ 58.0, 0.23969
158
+ 59.0, 0.24067
159
+ 60.0, 0.24087
160
+ 61.0, 0.24185
161
+ 62.0, 0.24243
162
+ 63.0, 0.24258
163
+ 64.0, 0.24378
164
+ 65.0, 0.24441
165
+ 66.0, 0.24479
166
+ 67.0, 0.24473
167
+ 68.0, 0.24596
168
+ 69.0, 0.24651
169
+ 70.0, 0.24716
170
+ 71.0, 0.2482
171
+ 72.0, 0.24848
172
+ 73.0, 0.24912
173
+ 74.0, 0.25051
174
+ 75.0, 0.25049
175
+ 76.0, 0.2509
176
+ 77.0, 0.25175
177
+ $$ === CHEMSPECTRA INTEGRALS AND MULTIPLETS ===
178
+ ##$OBSERVEDINTEGRALS= (X Y Z)
179
+
180
+ ##$OBSERVEDMULTIPLETS=
181
+ ##$OBSERVEDMULTIPLETSPEAKS=
182
+ $$ === CHEMSPECTRA SIMULATION ===
183
+ ##$CSSIMULATIONPEAKS=
184
+ ##END=
185
+
186
+
187
+ $$ === CHEMSPECTRA PEAK TABLE EDIT ===
188
+ ##TITLE=DSC1.1_bagit
189
+ ##JCAMP-DX=5.00
190
+ ##DATA TYPE=DIFFERENTIAL SCANNING CALORIMETRYPEAKTABLE
191
+ ##DATA CLASS=PEAKTABLE
192
+ ##$CSCATEGORY=EDIT_PEAK
193
+ ##$CSTHRESHOLD=1.05
194
+ ##MAXX=77.0
195
+ ##MAXY=0.25175
196
+ ##MINX=-63.0
197
+ ##MINY=0.11677
198
+ ##$CSSOLVENTNAME=- - -
199
+ ##$CSSOLVENTVALUE=0
200
+ ##$CSSOLVENTX=0
201
+ ##NPOINTS=0
202
+ ##PEAKTABLE= (XY..XY)
203
+ ##END=
204
+
205
+
206
+ $$ === CHEMSPECTRA PEAK TABLE AUTO ===
207
+ ##TITLE=DSC1.1_bagit
208
+ ##JCAMP-DX=5.00
209
+ ##DATA TYPE=DIFFERENTIAL SCANNING CALORIMETRYPEAKTABLE
210
+ ##DATA CLASS=PEAKTABLE
211
+ ##$CSCATEGORY=AUTO_PEAK
212
+ ##$CSTHRESHOLD=1.05
213
+ ##MAXX=77.0
214
+ ##MAXY=0.25175
215
+ ##MINX=-63.0
216
+ ##MINY=0.11677
217
+ ##NPOINTS=0
218
+ ##PEAKTABLE= (XY..XY)
219
+ ##END=
220
+
221
+
222
+ $$ === CHEMSPECTRA ORIGINAL METADATA ===
223
+ ###TITLE= DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit
224
+ ###JCAMPDX= 5.0, 5.00, 5.00, 5.00
225
+ ###BLOCKS= 1
226
+ ###$CSCATEGORY= SPECTRUM, EDIT_PEAK, AUTO_PEAK
227
+ ###XUNITS= DEGREES CELSIUS
228
+ ###YUNITS= W/g
229
+ ###LASTX= 77.0
230
+ ###MAXX= 77.0, 77.0, 77.0
231
+ ###MAXY= 0.25175, 0.25175, 0.25175
232
+ ###MINX= -63.0, -63.0, -63.0
233
+ ###MINY= 0.11677, 0.11677, 0.11677
234
+ ###MELTINGPOINT= 1.5
235
+ ###TG= 6
236
+ ###NPOINTS= 141, 0, 0
237
+ ###$OBSERVEDINTEGRALS= (X Y Z)
238
+ ###$CSTHRESHOLD= 1.05, 1.05
239
+ ###$CSSOLVENTNAME= - - -
240
+ ###$CSSOLVENTVALUE= 0
241
+ ###$CSSOLVENTX= 0
242
+ ###TITLE= DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, DSC1.1_bagit, Spectrum
243
+ ###JCAMPDX= 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.0, 5.00, 5.00, 5.00, 5.00
244
+ ###BLOCKS= 1, 1, 1, 1, 1, 1, 1, 1, 1
245
+ ###$CSCATEGORY= SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK, SPECTRUM, EDIT_PEAK, AUTO_PEAK
246
+ ###XUNITS= DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS, DEGREES CELSIUS
247
+ ###YUNITS= W/g, W/g, W/g, W/g, W/g, W/g, W/g, W/g, W/g, W/g, W/g
248
+ ###LASTX= 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.00000
249
+ ###MAXX= 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0, 77.0
250
+ ###MAXY= 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175, 0.25175
251
+ ###MINX= -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0, -63.0
252
+ ###MINY= 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677, 0.11677
253
+ ###NPOINTS= 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141, 0, 0, 141
254
+ ###$OBSERVEDINTEGRALS= (X Y Z), (X Y Z), (X Y Z), (X Y Z), (X Y Z), (X Y Z), (X Y Z), (X Y Z), (X Y Z)
255
+ ###$CSTHRESHOLD= 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05, 1.05
256
+ ###$CSSOLVENTNAME= - - -, - - -, - - -, - - -, - - -, - - -, - - -
257
+ ###$CSSOLVENTVALUE= 0, 0, 0, 0, 0, 0, 0, 0, 0
258
+ ###$CSSOLVENTX= 0, 0, 0, 0, 0, 0, 0, 0, 0
259
+ ###SAMPLE= SB
260
+ ###AMOUNT= 6,4
261
+ ###DATE= 31.03.2022
262
+ ###TIME= 12:47:59 (UTC+2)
263
+ ###REFERENCE= -----
264
+ ###REFERENCEMASS= 0.0
265
+ ###TEMPCAL= 14-03-2022
266
+ ###SENSFILE= 14-03-2022
267
+ ###SEGMENTS= 4/4
268
+ ###BRAND= NETZSCH
269
+ ###INSTRUMENT= DSC 214
270
+ ###CRUCIBLE= Concavus Al, pierced lid
271
+ ###ATMOSPHERE= NITROGEN,250,0 ml/min
272
+ ###RANGE= 5.0
273
+ ###TEMPERATURE= -80C/10,0(K/min)/200C
274
+ ###OPERATOR= SB
275
+ ###XYPOINTS= (XY..XY)
276
+ -63.00000, 0.11677
277
+ -62.00000, 0.11735
278
+ -61.00000, 0.11846
279
+ -60.00000, 0.11883
280
+ -59.00000, 0.12039
281
+ -58.00000, 0.12119
282
+ -57.00000, 0.12283
283
+ -56.00000, 0.12307
284
+ -55.00000, 0.12475
285
+ -54.00000, 0.12572
286
+ -53.00000, 0.12679
287
+ -52.00000, 0.12734
288
+ -51.00000, 0.12816
289
+ -50.00000, 0.12912
290
+ -49.00000, 0.13037
291
+ -48.00000, 0.13143
292
+ -47.00000, 0.13223
293
+ -46.00000, 0.13300
294
+ -45.00000, 0.13489
295
+ -44.00000, 0.13631
296
+ -43.00000, 0.13762
297
+ -42.00000, 0.13922
298
+ -41.00000, 0.14115
299
+ -40.00000, 0.14282
300
+ -39.00000, 0.14512
301
+ -38.00000, 0.14791
302
+ -37.00000, 0.15185
303
+ -36.00000, 0.15621
304
+ -35.00000, 0.16347
305
+ -34.00000, 0.17107
306
+ -33.00000, 0.18100
307
+ -32.00000, 0.19060
308
+ -31.00000, 0.19701
309
+ -30.00000, 0.19835
310
+ -29.00000, 0.19769
311
+ -28.00000, 0.19625
312
+ -27.00000, 0.19572
313
+ -26.00000, 0.19538
314
+ -25.00000, 0.19507
315
+ -24.00000, 0.19475
316
+ -23.00000, 0.19590
317
+ -22.00000, 0.19594
318
+ -21.00000, 0.19629
319
+ -20.00000, 0.19673
320
+ -19.00000, 0.19782
321
+ -18.00000, 0.19831
322
+ -17.00000, 0.19894
323
+ -16.00000, 0.19921
324
+ -15.00000, 0.20047
325
+ -14.00000, 0.20127
326
+ -13.00000, 0.20227
327
+ -12.00000, 0.20231
328
+ -11.00000, 0.20364
329
+ -10.00000, 0.20473
330
+ -9.00000, 0.20614
331
+ -8.00000, 0.20717
332
+ -7.00000, 0.20811
333
+ -6.00000, 0.20812
334
+ -5.00000, 0.20888
335
+ -4.00000, 0.20940
336
+ -3.00000, 0.20991
337
+ -2.00000, 0.21070
338
+ -1.00000, 0.21024
339
+ 0.00000, 0.21301
340
+ 1.00000, 0.21343
341
+ 2.00000, 0.21476
342
+ 3.00000, 0.21539
343
+ 4.00000, 0.21575
344
+ 5.00000, 0.21741
345
+ 6.00000, 0.21804
346
+ 7.00000, 0.21857
347
+ 8.00000, 0.21968
348
+ 9.00000, 0.22042
349
+ 10.00000, 0.22132
350
+ 11.00000, 0.22190
351
+ 12.00000, 0.22323
352
+ 13.00000, 0.22292
353
+ 14.00000, 0.22380
354
+ 15.00000, 0.22403
355
+ 16.00000, 0.22516
356
+ 17.00000, 0.22501
357
+ 18.00000, 0.22537
358
+ 19.00000, 0.22724
359
+ 20.00000, 0.22789
360
+ 21.00000, 0.22903
361
+ 22.00000, 0.22874
362
+ 23.00000, 0.22968
363
+ 24.00000, 0.23052
364
+ 25.00000, 0.23125
365
+ 26.00000, 0.23222
366
+ 27.00000, 0.23264
367
+ 28.00000, 0.23352
368
+ 29.00000, 0.23290
369
+ 30.00000, 0.23468
370
+ 31.00000, 0.23594
371
+ 32.00000, 0.23694
372
+ 33.00000, 0.23795
373
+ 34.00000, 0.23884
374
+ 35.00000, 0.23874
375
+ 36.00000, 0.23880
376
+ 37.00000, 0.23787
377
+ 38.00000, 0.23632
378
+ 39.00000, 0.23466
379
+ 40.00000, 0.23410
380
+ 41.00000, 0.23385
381
+ 42.00000, 0.23285
382
+ 43.00000, 0.23268
383
+ 44.00000, 0.23306
384
+ 45.00000, 0.23314
385
+ 46.00000, 0.23343
386
+ 47.00000, 0.23341
387
+ 48.00000, 0.23417
388
+ 49.00000, 0.23427
389
+ 50.00000, 0.23450
390
+ 51.00000, 0.23501
391
+ 52.00000, 0.23577
392
+ 53.00000, 0.23657
393
+ 54.00000, 0.23737
394
+ 55.00000, 0.23798
395
+ 56.00000, 0.23837
396
+ 57.00000, 0.23914
397
+ 58.00000, 0.23969
398
+ 59.00000, 0.24067
399
+ 60.00000, 0.24087
400
+ 61.00000, 0.24185
401
+ 62.00000, 0.24243
402
+ 63.00000, 0.24258
403
+ 64.00000, 0.24378
404
+ 65.00000, 0.24441
405
+ 66.00000, 0.24479
406
+ 67.00000, 0.24473
407
+ 68.00000, 0.24596
408
+ 69.00000, 0.24651
409
+ 70.00000, 0.24716
410
+ 71.00000, 0.24820
411
+ 72.00000, 0.24848
412
+ 73.00000, 0.24912
413
+ 74.00000, 0.25051
414
+ 75.00000, 0.25049
415
+ 76.00000, 0.25090
416
+ 77.00000, 0.25175
417
+
418
+
419
+ ##END=
420
+
421
+
422
+
423
+
424
+ `;
425
+ var _default = exports.default = dscJcamp;
@@ -31,7 +31,8 @@ const store = mockStore({
31
31
  label: 'RI'
32
32
  }
33
33
  }]
34
- }
34
+ },
35
+ meta: {}
35
36
  });
36
37
  const failedStore = mockStore({});
37
38
  const dispatchMock = () => Promise.resolve({});
@@ -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')
@@ -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.EMISSIONS, _list_layout.LIST_LAYOUT.DLS_INTENSITY].indexOf(layoutSt) < 0;
600
600
  }
601
601
  create(_ref) {
602
602
  let {
@@ -785,7 +785,7 @@ class MultiFocus {
785
785
  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
786
  }
787
787
  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;
788
+ 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.AIF].indexOf(layoutSt) < 0;
789
789
  }
790
790
  create(_ref) {
791
791
  let {
@@ -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 InfoPanel = _ref2 => {
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
- } = _ref2;
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), !_format.default.isCyclicVoltaLayout(layoutSt) ? /*#__PURE__*/_react.default.createElement(_reactQuill.default, {
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)({}, dispatch);
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',
@@ -25,5 +25,6 @@ const LIST_LAYOUT = exports.LIST_LAYOUT = {
25
25
  AIF: 'AIF',
26
26
  EMISSIONS: 'Emissions',
27
27
  DLS_ACF: 'DLS ACF',
28
- DLS_INTENSITY: 'DLS intensity'
28
+ DLS_INTENSITY: 'DLS intensity',
29
+ DSC: 'DIFFERENTIAL SCANNING CALORIMETRY'
29
30
  };
@@ -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);
10
10
  const hideCmdAnaViewer = () => false;
11
11
  const btnCmdAddPeak = layoutSt => _format.default.isMsLayout(layoutSt);
12
12
  const btnCmdRmPeak = layoutSt => _format.default.isMsLayout(layoutSt);
@@ -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
  }
@@ -514,7 +517,8 @@ const buildPeakFeature = function (jcamp, layout, peakUp, s, thresRef) {
514
517
  solventName: info['.SOLVENTNAME'],
515
518
  upperThres,
516
519
  lowerThres,
517
- volammetryData: extractVoltammetryData(jcamp)
520
+ volammetryData: extractVoltammetryData(jcamp),
521
+ scanRate: +info.$CSSCANRATE || 0.1
518
522
  }, s);
519
523
  };
520
524
  const maxArray = arr => {
@@ -683,6 +687,7 @@ const extrFeaturesNi = (jcamp, layout, peakUp, spectra) => {
683
687
  nfs.simulation = buildSimFeature(jcamp);
684
688
  return nfs;
685
689
  }
690
+
686
691
  // workaround for legacy design
687
692
  const features = jcamp.spectra.map(s => {
688
693
  const thresRef = calcThresRef(s, peakUp);
@@ -768,7 +773,6 @@ const extrFeaturesCylicVolta = (jcamp, layout, peakUp) => {
768
773
  mw: MW
769
774
  };
770
775
  }
771
- // const detector = Format.isSECLayout(layout) && jcamp.info.$DETECTOR ? jcamp.info.$DETECTOR : '';
772
776
  return Object.assign({}, base, cpo, bnd, {
773
777
  detector,
774
778
  secData
@@ -818,7 +822,7 @@ const extractTemperature = jcamp => {
818
822
  const ExtractJcamp = source => {
819
823
  const jcamp = _jcampconverter.default.convert(source, {
820
824
  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
825
+ 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
826
  });
823
827
  const layout = readLayout(jcamp);
824
828
  const peakUp = !_format.default.isIrLayout(layout);
@@ -839,6 +843,22 @@ const ExtractJcamp = source => {
839
843
  features = extrFeaturesCylicVolta(jcamp, layout, peakUp);
840
844
  } else {
841
845
  features = extrFeaturesNi(jcamp, layout, peakUp, spectra);
846
+ if (_format.default.isDSCLayout(layout)) {
847
+ const {
848
+ info
849
+ } = jcamp;
850
+ const {
851
+ MELTINGPOINT,
852
+ TG
853
+ } = info;
854
+ const dscMetaData = {
855
+ meltingPoint: MELTINGPOINT,
856
+ tg: TG
857
+ };
858
+ features = Object.assign({}, features, {
859
+ dscMetaData
860
+ });
861
+ }
842
862
  }
843
863
  // const features = Format.isMsLayout(layout)
844
864
  // ? extrFeaturesMs(jcamp, layout, peakUp)
@@ -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));
@@ -20,6 +20,7 @@ const spectraDigit = layout => {
20
20
  case _list_layout.LIST_LAYOUT.UVVIS:
21
21
  case _list_layout.LIST_LAYOUT.HPLC_UVVIS:
22
22
  case _list_layout.LIST_LAYOUT.TGA:
23
+ case _list_layout.LIST_LAYOUT.DSC:
23
24
  case _list_layout.LIST_LAYOUT.XRD:
24
25
  case _list_layout.LIST_LAYOUT.CDS:
25
26
  case _list_layout.LIST_LAYOUT.SEC:
@@ -110,6 +111,10 @@ const spectraOps = {
110
111
  head: 'THERMOGRAVIMETRIC ANALYSIS',
111
112
  tail: ' SECONDS'
112
113
  },
114
+ [_list_layout.LIST_LAYOUT.DSC]: {
115
+ head: 'DIFFERENTIAL SCANNING CALORIMETRY',
116
+ tail: ' SECONDS'
117
+ },
113
118
  [_list_layout.LIST_LAYOUT.MS]: {
114
119
  head: 'MASS',
115
120
  tail: ' m/z'
@@ -119,7 +124,7 @@ const spectraOps = {
119
124
  tail: '.'
120
125
  },
121
126
  [_list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY]: {
122
- head: 'CYCLIC VOLTAMMETRY',
127
+ head: 'CV',
123
128
  tail: '.'
124
129
  },
125
130
  [_list_layout.LIST_LAYOUT.CDS]: {
@@ -411,7 +416,7 @@ const peaksBody = _ref => {
411
416
  if (layout === _list_layout.LIST_LAYOUT.DLS_INTENSITY) {
412
417
  return formatedDLSIntensity(ordered, maxY, decimal, isAscend, isIntensity, boundary, false);
413
418
  }
414
- if (layout === _list_layout.LIST_LAYOUT.RAMAN || layout === _list_layout.LIST_LAYOUT.TGA || layout === _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY || layout === _list_layout.LIST_LAYOUT.CDS || layout === _list_layout.LIST_LAYOUT.SEC) {
419
+ if (layout === _list_layout.LIST_LAYOUT.RAMAN || layout === _list_layout.LIST_LAYOUT.TGA || layout === _list_layout.LIST_LAYOUT.DSC || layout === _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY || layout === _list_layout.LIST_LAYOUT.CDS || layout === _list_layout.LIST_LAYOUT.SEC) {
415
420
  return formatedEm(ordered, maxY, decimal, isAscend, isIntensity, boundary, false);
416
421
  }
417
422
  if (layout === _list_layout.LIST_LAYOUT.XRD) {
@@ -454,6 +459,7 @@ const isRamanLayout = layoutSt => _list_layout.LIST_LAYOUT.RAMAN === layoutSt;
454
459
  const isUvVisLayout = layoutSt => _list_layout.LIST_LAYOUT.UVVIS === layoutSt;
455
460
  const isHplcUvVisLayout = layoutSt => _list_layout.LIST_LAYOUT.HPLC_UVVIS === layoutSt;
456
461
  const isTGALayout = layoutSt => _list_layout.LIST_LAYOUT.TGA === layoutSt;
462
+ const isDSCLayout = layoutSt => _list_layout.LIST_LAYOUT.DSC === layoutSt;
457
463
  const isXRDLayout = layoutSt => _list_layout.LIST_LAYOUT.XRD === layoutSt;
458
464
  const isCyclicVoltaLayout = layoutSt => _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY === layoutSt;
459
465
  const isCDSLayout = layoutSt => _list_layout.LIST_LAYOUT.CDS === layoutSt;
@@ -538,6 +544,92 @@ const strNumberFixedLength = function (number) {
538
544
 
539
545
  return number.toFixed(lengthToFix);
540
546
  };
547
+ const inlineNotation = function (layout, data) {
548
+ let sampleName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';
549
+ let formattedString = '';
550
+ let quillData = [];
551
+ const {
552
+ scanRate,
553
+ voltaData
554
+ } = data;
555
+ switch (layout) {
556
+ case _list_layout.LIST_LAYOUT.CYCLIC_VOLTAMMETRY:
557
+ {
558
+ if (!voltaData) {
559
+ break;
560
+ }
561
+ let refString = '';
562
+ let nonRefString = '';
563
+ let refOps = [];
564
+ const nonRefOps = [];
565
+ const {
566
+ listPeaks,
567
+ xyData
568
+ } = voltaData;
569
+ const {
570
+ x
571
+ } = xyData;
572
+ listPeaks.forEach(item => {
573
+ const {
574
+ isRef,
575
+ e12,
576
+ max,
577
+ min
578
+ } = item;
579
+ const e12Str = e12 ? strNumberFixedLength(e12, 3) : '0';
580
+ const scanRateStr = scanRate ? strNumberFixedLength(scanRate, 3) : '0';
581
+ if (isRef) {
582
+ const posNegString = x[0] > x[1] ? 'neg.' : 'pos.';
583
+ refString = `CV (<conc. of sample> mM in <solvent> vs. Ref (Fc+/Fc) = ${e12Str} V, v = ${scanRateStr} V/s, to ${posNegString}):`;
584
+ refOps = [{
585
+ insert: 'CV (<conc. of sample> mM in <solvent> vs. Ref '
586
+ }, {
587
+ insert: '(Fc'
588
+ }, {
589
+ insert: '+',
590
+ attributes: {
591
+ script: 'super'
592
+ }
593
+ }, {
594
+ insert: '/Fc) '
595
+ }, {
596
+ insert: `= ${e12Str} V, v = ${scanRateStr} V/s, to ${posNegString}):`
597
+ }];
598
+ } else {
599
+ const delta = max && min ? strNumberFixedLength(Math.abs(max.x - min.x) * 1000, 3) : '0';
600
+ nonRefString += `\nE1/2 = ([${sampleName}] , ΔEp) = ${e12Str} V (${delta} mV)`;
601
+ const currentNoneOps = [{
602
+ insert: '\nE'
603
+ }, {
604
+ insert: '1/2',
605
+ attributes: {
606
+ script: 'sub'
607
+ }
608
+ }, {
609
+ insert: ` = ([${sampleName}] , ΔE`
610
+ }, {
611
+ insert: 'p',
612
+ attributes: {
613
+ script: 'sub'
614
+ }
615
+ }, {
616
+ insert: `) = ${e12Str} V (${delta} mV)`
617
+ }];
618
+ nonRefOps.push(...currentNoneOps);
619
+ }
620
+ });
621
+ formattedString = refString + nonRefString;
622
+ quillData = [...refOps, ...nonRefOps];
623
+ break;
624
+ }
625
+ default:
626
+ break;
627
+ }
628
+ return {
629
+ quillData,
630
+ formattedString
631
+ };
632
+ };
541
633
  const Format = {
542
634
  toPeakStr,
543
635
  buildData,
@@ -560,6 +652,7 @@ const Format = {
560
652
  isUvVisLayout,
561
653
  isHplcUvVisLayout,
562
654
  isTGALayout,
655
+ isDSCLayout,
563
656
  isXRDLayout,
564
657
  isCyclicVoltaLayout,
565
658
  isCDSLayout,
@@ -579,6 +672,7 @@ const Format = {
579
672
  isDLSACFLayout,
580
673
  strNumberFixedDecimal,
581
674
  formatedXRD,
582
- strNumberFixedLength
675
+ strNumberFixedLength,
676
+ inlineNotation
583
677
  };
584
678
  var _default = exports.default = Format;
package/dist/index.js CHANGED
@@ -27,6 +27,7 @@ var _uv_vis_jcamp = _interopRequireDefault(require("./__tests__/fixtures/uv_vis_
27
27
  var _hplc_uvvis_jcamp = _interopRequireDefault(require("./__tests__/fixtures/hplc_uvvis_jcamp"));
28
28
  var _hplc_uvvis_jcamp_ = _interopRequireDefault(require("./__tests__/fixtures/hplc_uvvis_jcamp_2"));
29
29
  var _tga_jcamp = _interopRequireDefault(require("./__tests__/fixtures/tga_jcamp"));
30
+ var _dsc_jcamp = _interopRequireDefault(require("./__tests__/fixtures/dsc_jcamp"));
30
31
  var _xrd_jcamp_ = _interopRequireDefault(require("./__tests__/fixtures/xrd_jcamp_1"));
31
32
  var _xrd_jcamp_2 = _interopRequireDefault(require("./__tests__/fixtures/xrd_jcamp_2"));
32
33
  var _cyclic_voltammetry_ = _interopRequireDefault(require("./__tests__/fixtures/cyclic_voltammetry_1"));
@@ -64,6 +65,7 @@ const compUvVisEntity = _app.FN.ExtractJcamp(_compare_uv_vis_jcamp.default);
64
65
  const hplcUVVisEntity = _app.FN.ExtractJcamp(_hplc_uvvis_jcamp.default);
65
66
  const hplcUVVisEntity2 = _app.FN.ExtractJcamp(_hplc_uvvis_jcamp_.default);
66
67
  const tgaEntity = _app.FN.ExtractJcamp(_tga_jcamp.default);
68
+ const dscEntity = _app.FN.ExtractJcamp(_dsc_jcamp.default);
67
69
  const xrdEntity1 = _app.FN.ExtractJcamp(_xrd_jcamp_.default);
68
70
  const xrdEntity2 = _app.FN.ExtractJcamp(_xrd_jcamp_2.default);
69
71
  const cyclicVoltaEntity1 = _app.FN.ExtractJcamp(_cyclic_voltammetry_.default);
@@ -156,6 +158,8 @@ class DemoWriteIr extends _react.default.Component {
156
158
  return hplcUVVisEntity;
157
159
  case 'tga':
158
160
  return tgaEntity;
161
+ case 'dsc':
162
+ return dscEntity;
159
163
  case 'xrd':
160
164
  return xrdEntity1;
161
165
  case 'cyclic volta':
@@ -221,6 +225,7 @@ class DemoWriteIr extends _react.default.Component {
221
225
  case 'uv/vis':
222
226
  case 'hplc uv/vis':
223
227
  case 'tga':
228
+ case 'dsc':
224
229
  case 'xrd':
225
230
  case 'ms':
226
231
  case 'cyclic volta':
@@ -259,7 +264,9 @@ class DemoWriteIr extends _react.default.Component {
259
264
  decimal,
260
265
  isIntensity,
261
266
  integration,
262
- waveLength
267
+ waveLength,
268
+ cyclicvoltaSt,
269
+ curveSt
263
270
  } = _ref;
264
271
  const entity = this.loadEntity();
265
272
  const {
@@ -289,7 +296,36 @@ class DemoWriteIr extends _react.default.Component {
289
296
  temperature
290
297
  });
291
298
  const wrapper = _app.FN.peaksWrapper(layout, shift);
292
- const desc = this.rmDollarSign(wrapper.head) + body + wrapper.tail;
299
+ let desc = this.rmDollarSign(wrapper.head) + body + wrapper.tail;
300
+ if (_app.FN.isCyclicVoltaLayout(layout)) {
301
+ const {
302
+ spectraList
303
+ } = cyclicvoltaSt;
304
+ const {
305
+ curveIdx,
306
+ listCurves
307
+ } = curveSt;
308
+ const selectedVolta = spectraList[curveIdx];
309
+ const selectedCurve = listCurves[curveIdx];
310
+ const {
311
+ feature
312
+ } = selectedCurve;
313
+ const {
314
+ scanRate
315
+ } = feature;
316
+ const data = {
317
+ scanRate,
318
+ voltaData: {
319
+ listPeaks: selectedVolta.list,
320
+ xyData: feature.data[0]
321
+ }
322
+ };
323
+ const inlineData = _app.FN.inlineNotation(layout, data);
324
+ const {
325
+ formattedString
326
+ } = inlineData;
327
+ desc = formattedString;
328
+ }
293
329
  return desc;
294
330
  }
295
331
  formatMpy(_ref2) {
@@ -393,7 +429,9 @@ class DemoWriteIr extends _react.default.Component {
393
429
  decimal,
394
430
  isIntensity,
395
431
  integration,
396
- waveLength
432
+ waveLength,
433
+ cyclicvoltaSt,
434
+ curveSt
397
435
  } = _ref4;
398
436
  const desc = this.formatPks({
399
437
  peaks,
@@ -403,7 +441,10 @@ class DemoWriteIr extends _react.default.Component {
403
441
  decimal,
404
442
  isIntensity,
405
443
  integration,
406
- waveLength
444
+ waveLength,
445
+ // eslint-disable-line
446
+ cyclicvoltaSt,
447
+ curveSt // eslint-disable-line
407
448
  });
408
449
  this.setState({
409
450
  desc
@@ -625,6 +666,13 @@ class DemoWriteIr extends _react.default.Component {
625
666
  },
626
667
  onClick: this.onClick('tga')
627
668
  }, "TGA"), /*#__PURE__*/_react.default.createElement(_material.Button, {
669
+ id: "btn-dsc",
670
+ variant: "contained",
671
+ style: {
672
+ margin: '0 10px 0 10px'
673
+ },
674
+ onClick: this.onClick('dsc')
675
+ }, "DSC"), /*#__PURE__*/_react.default.createElement(_material.Button, {
628
676
  id: "btn-xrd",
629
677
  variant: "contained",
630
678
  style: {
@@ -61,7 +61,8 @@ class LayerInit extends _react.default.Component {
61
61
  resetInitMsAct,
62
62
  resetInitNmrAct,
63
63
  resetInitCommonWithIntergationAct,
64
- resetDetectorAct
64
+ resetDetectorAct,
65
+ updateDSCMetaDataAct
65
66
  } = this.props;
66
67
  resetInitCommonAct();
67
68
  resetDetectorAct();
@@ -96,6 +97,11 @@ class LayerInit extends _react.default.Component {
96
97
  resetInitCommonWithIntergationAct({
97
98
  integration
98
99
  });
100
+ } else if (_format.default.isDSCLayout(layout)) {
101
+ const {
102
+ dscMetaData
103
+ } = features;
104
+ updateDSCMetaDataAct(dscMetaData);
99
105
  }
100
106
  }
101
107
  initReducer() {
@@ -191,7 +197,8 @@ const mapDispatchToProps = dispatch => (0, _redux.bindActionCreators)({
191
197
  updateOperationAct: _submit.updateOperation,
192
198
  updateMetaPeaksAct: _meta.updateMetaPeaks,
193
199
  addOthersAct: _jcamp.addOthers,
194
- setAllCurvesAct: _curve.setAllCurves
200
+ setAllCurvesAct: _curve.setAllCurves,
201
+ updateDSCMetaDataAct: _meta.updateDSCMetaData
195
202
  }, dispatch);
196
203
  LayerInit.propTypes = {
197
204
  entity: _propTypes.default.object.isRequired,
@@ -222,7 +229,8 @@ LayerInit.propTypes = {
222
229
  setAllCurvesAct: _propTypes.default.func.isRequired,
223
230
  userManualLink: _propTypes.default.object,
224
231
  // eslint-disable-line
225
- resetDetectorAct: _propTypes.default.func.isRequired
232
+ resetDetectorAct: _propTypes.default.func.isRequired,
233
+ updateDSCMetaDataAct: _propTypes.default.func.isRequired
226
234
  };
227
235
  var _default = exports.default = (0, _reactRedux.connect)(
228
236
  // eslint-disable-line
@@ -13,14 +13,28 @@ const initialState = {
13
13
  intervalR: null,
14
14
  observeFrequency: null,
15
15
  deltaX: null
16
+ },
17
+ dscMetaData: {
18
+ meltingPoint: null,
19
+ tg: null
16
20
  }
17
21
  };
22
+ const updateMetaData = (state, action) => {
23
+ const {
24
+ dscMetaData
25
+ } = action.payload;
26
+ return Object.assign({}, state, {
27
+ dscMetaData
28
+ });
29
+ };
18
30
  const metaReducer = function () {
19
31
  let state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
20
32
  let action = arguments.length > 1 ? arguments[1] : undefined;
21
33
  switch (action.type) {
22
34
  case _action_type.META.UPDATE_PEAKS_RDC:
23
35
  return Object.assign({}, state, action.payload);
36
+ case _action_type.META.UPDATE_META_DATA_RDC:
37
+ return updateMetaData(state, action);
24
38
  default:
25
39
  return state;
26
40
  }
@@ -32,5 +32,13 @@ function* updateMetaPeaks(action) {
32
32
  }
33
33
  });
34
34
  }
35
- const metaSagas = [(0, _effects.takeEvery)(_action_type.META.UPDATE_PEAKS, updateMetaPeaks)];
35
+ function* updateMetaData(action) {
36
+ yield (0, _effects.put)({
37
+ type: _action_type.META.UPDATE_META_DATA_RDC,
38
+ payload: {
39
+ dscMetaData: action.payload
40
+ }
41
+ });
42
+ }
43
+ const metaSagas = [(0, _effects.takeEvery)(_action_type.META.UPDATE_PEAKS, updateMetaPeaks), (0, _effects.takeEvery)(_action_type.META.UPDATE_META_DATA, updateMetaData)];
36
44
  var _default = exports.default = metaSagas;
@@ -139,6 +139,7 @@ function* scrollUiWheel(action) {
139
139
  case _list_layout.LIST_LAYOUT.UVVIS:
140
140
  case _list_layout.LIST_LAYOUT.HPLC_UVVIS:
141
141
  case _list_layout.LIST_LAYOUT.TGA:
142
+ case _list_layout.LIST_LAYOUT.DSC:
142
143
  case _list_layout.LIST_LAYOUT.XRD:
143
144
  default:
144
145
  [nyeL, nyeU] = [yeL, yeL + (yeU - yeL) * scale];
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@complat/react-spectra-editor",
3
- "version": "1.3.1",
4
- "description": "An editor to View and Edit Chemical Spectra data (NMR, IR and MS, CV, UIVIS, XRD).",
3
+ "version": "1.3.2",
4
+ "description": "An editor to View and Edit Chemical Spectra data (NMR, IR, MS, CV, UIVIS, XRD, and DSC).",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "https://github.com/ComPlat/react-spectra-editor"