@complat/react-spectra-editor 1.0.0-rc2 → 1.0.0-rc20.patch-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +16 -0
  2. package/dist/__tests__/fixtures/aif_jcamp_1.js +136 -0
  3. package/dist/__tests__/fixtures/aif_jcamp_2.js +122 -0
  4. package/dist/__tests__/fixtures/backup/nmr1h_a.js +3518 -0
  5. package/dist/__tests__/fixtures/backup/xrd_jcamp_1.js +10705 -0
  6. package/dist/__tests__/fixtures/cds_jcamp.js +861 -0
  7. package/dist/__tests__/fixtures/compare_ir_1_jcamp.js +585 -0
  8. package/dist/__tests__/fixtures/compare_ir_2_jcamp.js +515 -0
  9. package/dist/__tests__/fixtures/compare_uv_vis_jcamp.js +640 -0
  10. package/dist/__tests__/fixtures/cyclic_voltammetry_1.js +778 -0
  11. package/dist/__tests__/fixtures/cyclic_voltammetry_2.js +758 -0
  12. package/dist/__tests__/fixtures/cyclic_voltammetry_3.js +759 -0
  13. package/dist/__tests__/fixtures/dls_acf_jcamp.js +148 -0
  14. package/dist/__tests__/fixtures/dls_intensity_jcamp.js +151 -0
  15. package/dist/__tests__/fixtures/emissions_jcamp.js +883 -0
  16. package/dist/__tests__/fixtures/hplc_uvvis_jcamp.js +638 -0
  17. package/dist/__tests__/fixtures/hplc_uvvis_jcamp_2.js +221 -0
  18. package/dist/__tests__/fixtures/ir_jcamp.js +148 -0
  19. package/dist/__tests__/fixtures/ir_result.js +46 -0
  20. package/dist/__tests__/fixtures/ir_svg.js +8 -0
  21. package/dist/__tests__/fixtures/ms_jcamp.js +64 -0
  22. package/dist/__tests__/fixtures/nmr13c_dept_jcamp.js +3543 -0
  23. package/dist/__tests__/fixtures/nmr13c_jcamp.js +1229 -0
  24. package/dist/__tests__/fixtures/nmr15n_jcamp.js +7177 -0
  25. package/dist/__tests__/fixtures/nmr19f_jcamp.js +6560 -0
  26. package/dist/__tests__/fixtures/nmr1h_2_jcamp.js +2005 -0
  27. package/dist/__tests__/fixtures/nmr1h_jcamp.js +4516 -0
  28. package/dist/__tests__/fixtures/nmr29si_jcamp.js +3029 -0
  29. package/dist/__tests__/fixtures/nmr31p_jcamp.js +3418 -0
  30. package/dist/__tests__/fixtures/nmr_result.js +68 -0
  31. package/dist/__tests__/fixtures/nmr_svg.js +8 -0
  32. package/dist/__tests__/fixtures/phenylalanin.js +142 -0
  33. package/dist/__tests__/fixtures/qDescValue.js +65 -0
  34. package/dist/__tests__/fixtures/raman_jcamp.js +410 -0
  35. package/dist/__tests__/fixtures/sec_1_jcamp.js +425 -0
  36. package/dist/__tests__/fixtures/sec_2_jcamp.js +407 -0
  37. package/dist/__tests__/fixtures/sec_3_jcamp.js +408 -0
  38. package/dist/__tests__/fixtures/sec_4_jcamp.js +407 -0
  39. package/dist/__tests__/fixtures/tga_jcamp.js +4157 -0
  40. package/dist/__tests__/fixtures/uv_vis_jcamp.js +249 -0
  41. package/dist/__tests__/fixtures/xrd_jcamp_1.js +436 -0
  42. package/dist/__tests__/fixtures/xrd_jcamp_2.js +955 -0
  43. package/dist/__tests__/fixtures/xrd_jcamp_3.js +1871 -0
  44. package/dist/__tests__/units/components/panel/graph_selection.test.js +72 -0
  45. package/dist/__tests__/units/components/panel/peaks.test.js +87 -0
  46. package/dist/actions/curve.js +15 -14
  47. package/dist/actions/cyclic_voltammetry.js +40 -60
  48. package/dist/actions/edit_peak.js +8 -12
  49. package/dist/actions/forecast.js +16 -24
  50. package/dist/actions/integration.js +12 -18
  51. package/dist/actions/jcamp.js +16 -24
  52. package/dist/actions/layout.js +4 -6
  53. package/dist/actions/manager.js +20 -30
  54. package/dist/actions/meta.js +4 -6
  55. package/dist/actions/multiplicity.js +24 -36
  56. package/dist/actions/scan.js +12 -18
  57. package/dist/actions/shift.js +8 -12
  58. package/dist/actions/status.js +12 -18
  59. package/dist/actions/submit.js +16 -24
  60. package/dist/actions/threshold.js +20 -30
  61. package/dist/actions/ui.js +25 -31
  62. package/dist/actions/wavelength.js +4 -6
  63. package/dist/app.js +25 -23
  64. package/dist/components/cmd_bar/01_viewer.js +24 -34
  65. package/dist/components/cmd_bar/02_zoom.js +18 -28
  66. package/dist/components/cmd_bar/03_peak.js +50 -66
  67. package/dist/components/cmd_bar/04_integration.js +70 -84
  68. package/dist/components/cmd_bar/05_multiplicity.js +42 -56
  69. package/dist/components/cmd_bar/06_undo_redo.js +22 -36
  70. package/dist/components/cmd_bar/07_pecker.js +24 -34
  71. package/dist/components/cmd_bar/common.js +11 -7
  72. package/dist/components/cmd_bar/index.js +17 -23
  73. package/dist/components/cmd_bar/r01_layout.js +79 -56
  74. package/dist/components/cmd_bar/r02_scan.js +70 -87
  75. package/dist/components/cmd_bar/r03_threshold.js +54 -68
  76. package/dist/components/cmd_bar/r04_submit.js +71 -83
  77. package/dist/components/cmd_bar/r05_submit_btn.js +64 -72
  78. package/dist/components/cmd_bar/r06_predict_btn.js +142 -152
  79. package/dist/components/cmd_bar/r07_wavelength_btn.js +28 -36
  80. package/dist/components/cmd_bar/tri_btn.js +91 -113
  81. package/dist/components/common/chem.js +2 -3
  82. package/dist/components/common/comps.js +2 -2
  83. package/dist/components/common/draw.js +30 -11
  84. package/dist/components/d3_line/index.js +154 -176
  85. package/dist/components/d3_line/line_focus.js +595 -739
  86. package/dist/components/d3_multi/index.js +153 -174
  87. package/dist/components/d3_multi/multi_focus.js +725 -850
  88. package/dist/components/d3_rect/index.js +112 -134
  89. package/dist/components/d3_rect/rect_focus.js +163 -208
  90. package/dist/components/forecast/comps.js +60 -68
  91. package/dist/components/forecast/ir_comps.js +49 -56
  92. package/dist/components/forecast/ir_viewer.js +61 -68
  93. package/dist/components/forecast/nmr_comps.js +62 -72
  94. package/dist/components/forecast/nmr_viewer.js +59 -68
  95. package/dist/components/forecast/section_loading.js +39 -63
  96. package/dist/components/forecast_viewer.js +109 -119
  97. package/dist/components/multi_jcamps_viewer.js +97 -113
  98. package/dist/components/panel/compare.js +183 -192
  99. package/dist/components/panel/cyclic_voltamery_data.js +149 -165
  100. package/dist/components/panel/graph_selection.js +143 -132
  101. package/dist/components/panel/index.js +112 -144
  102. package/dist/components/panel/info.js +125 -132
  103. package/dist/components/panel/multiplicity.js +215 -223
  104. package/dist/components/panel/multiplicity_coupling.js +108 -136
  105. package/dist/components/panel/multiplicity_select.js +43 -51
  106. package/dist/components/panel/peaks.js +130 -132
  107. package/dist/constants/action_type.js +23 -39
  108. package/dist/constants/list_layout.js +7 -4
  109. package/dist/constants/list_shift.js +117 -103
  110. package/dist/constants/list_ui.js +3 -6
  111. package/dist/constants/list_wavelength.js +7 -8
  112. package/dist/fn.js +2 -3
  113. package/dist/helpers/brush.js +49 -65
  114. package/dist/helpers/calc.js +2 -4
  115. package/dist/helpers/carbonFeatures.js +22 -20
  116. package/dist/helpers/cfg.js +49 -67
  117. package/dist/helpers/chem.js +450 -393
  118. package/dist/helpers/compass.js +92 -83
  119. package/dist/helpers/converter.js +52 -65
  120. package/dist/helpers/extractParams.js +60 -52
  121. package/dist/helpers/extractPeaksEdit.js +29 -25
  122. package/dist/helpers/focus.js +2 -6
  123. package/dist/helpers/format.js +416 -361
  124. package/dist/helpers/init.js +41 -37
  125. package/dist/helpers/integration.js +18 -21
  126. package/dist/helpers/mount.js +57 -61
  127. package/dist/helpers/multiplicity.js +19 -24
  128. package/dist/helpers/multiplicity_calc.js +39 -50
  129. package/dist/helpers/multiplicity_complat.js +21 -47
  130. package/dist/helpers/multiplicity_manual.js +49 -55
  131. package/dist/helpers/multiplicity_verify_basic.js +108 -111
  132. package/dist/helpers/shift.js +15 -23
  133. package/dist/helpers/zoom.js +7 -11
  134. package/dist/index.js +680 -630
  135. package/dist/layer_content.js +40 -43
  136. package/dist/layer_init.js +162 -184
  137. package/dist/layer_prism.js +38 -41
  138. package/dist/reducers/index.js +2 -3
  139. package/dist/reducers/reducer_curve.js +35 -26
  140. package/dist/reducers/reducer_edit_peak.js +122 -98
  141. package/dist/reducers/reducer_forecast.js +57 -44
  142. package/dist/reducers/reducer_integration.js +135 -103
  143. package/dist/reducers/reducer_jcamp.js +49 -44
  144. package/dist/reducers/reducer_layout.js +5 -6
  145. package/dist/reducers/reducer_manager.js +5 -6
  146. package/dist/reducers/reducer_meta.js +5 -6
  147. package/dist/reducers/reducer_multiplicity.js +100 -77
  148. package/dist/reducers/reducer_scan.js +17 -20
  149. package/dist/reducers/reducer_shift.js +115 -70
  150. package/dist/reducers/reducer_simulation.js +7 -8
  151. package/dist/reducers/reducer_status.js +5 -6
  152. package/dist/reducers/reducer_submit.js +12 -15
  153. package/dist/reducers/reducer_threshold.js +5 -6
  154. package/dist/reducers/reducer_ui.js +5 -6
  155. package/dist/reducers/reducer_voltammetry.js +156 -96
  156. package/dist/reducers/reducer_wavelength.js +5 -6
  157. package/dist/reducers/undo_redo_config.js +3 -5
  158. package/dist/sagas/index.js +2 -15
  159. package/dist/sagas/saga_edit_peak.js +54 -68
  160. package/dist/sagas/saga_manager.js +86 -130
  161. package/dist/sagas/saga_meta.js +25 -31
  162. package/dist/sagas/saga_multi_entities.js +40 -103
  163. package/dist/sagas/saga_multiplicity.js +336 -406
  164. package/dist/sagas/saga_ui.js +296 -475
  165. package/dist/setupTests.js +8 -0
  166. package/dist/third_party/jAnalyzer.js +66 -67
  167. package/dist/third_party/peakInterval.js +34 -34
  168. package/package.json +14 -14
  169. package/dist/components/cmd_bar/03_peak_bk.js +0 -139
  170. package/dist/components/cmd_bar/04_integration_bk.js +0 -180
  171. package/dist/components/cmd_bar/05_multiplicity_bk.js +0 -131
  172. package/dist/components/cmd_bar/r01_layout_bk.js +0 -186
  173. package/dist/components/cmd_bar/r06_predict_btn_bk.js +0 -220
  174. package/dist/components/d3_line/line_focus_bk.js +0 -825
  175. package/dist/components/d3_multi/index_bk.js +0 -210
  176. package/dist/components/d3_multi/multi_focus_bk.js +0 -533
  177. package/dist/components/panel/compare_bk.js +0 -256
  178. package/dist/components/panel/cyclic_voltamery_data_bk.js +0 -292
  179. package/dist/components/panel/index_bk.js +0 -178
  180. package/dist/components/panel/info_bk.js +0 -235
  181. package/dist/components/panel/multiplicity_bk.js +0 -280
  182. package/dist/helpers/carbonFeatures_bk.js +0 -45
  183. package/dist/helpers/cfg_bk.js +0 -80
  184. package/dist/helpers/chem_bk.js +0 -787
  185. package/dist/helpers/compass_bk.js +0 -149
  186. package/dist/helpers/converter_bk.js +0 -96
  187. package/dist/helpers/extractPeaksEdit_bk.js +0 -53
  188. package/dist/helpers/format_bk.js +0 -497
  189. package/dist/index_bk.js +0 -640
  190. package/dist/layer_content_bk.js +0 -105
  191. package/dist/layer_init_bk.js +0 -235
  192. package/dist/layer_prism_bk.js +0 -133
  193. package/dist/reducers/reducer_edit_peak_bk.js +0 -108
  194. package/dist/reducers/reducer_integration_bk.js +0 -134
  195. package/dist/reducers/reducer_jcamp_bk.js +0 -71
  196. package/dist/reducers/reducer_multiplicity_bk.js +0 -126
  197. package/dist/reducers/reducer_shift_bk.js +0 -88
  198. package/dist/reducers/reducer_voltammetry_bk.js +0 -287
  199. package/dist/sagas/saga_edit_peak_bk.js +0 -73
  200. package/dist/sagas/saga_multi_entities_bk.js +0 -106
  201. package/dist/sagas/saga_multiplicity_bk.js +0 -351
  202. package/dist/sagas/saga_ui_bk.js +0 -453
@@ -1,207 +1,172 @@
1
1
  "use strict";
2
2
 
3
- var _regeneratorRuntime2 = require("@babel/runtime/regenerator");
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
5
3
  Object.defineProperty(exports, "__esModule", {
6
4
  value: true
7
5
  });
8
6
  exports.default = void 0;
9
- var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
- var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
11
7
  var _effects = require("redux-saga/effects");
12
8
  var _action_type = require("../constants/action_type");
13
9
  var _multiplicity_calc = require("../helpers/multiplicity_calc");
14
10
  var _multiplicity_manual = require("../helpers/multiplicity_manual");
15
- var _marked = /*#__PURE__*/_regeneratorRuntime2.mark(selectMpy),
16
- _marked2 = /*#__PURE__*/_regeneratorRuntime2.mark(addUiPeakToStack),
17
- _marked3 = /*#__PURE__*/_regeneratorRuntime2.mark(rmPanelPeakFromStack),
18
- _marked4 = /*#__PURE__*/_regeneratorRuntime2.mark(rmUiPeakFromStack),
19
- _marked5 = /*#__PURE__*/_regeneratorRuntime2.mark(resetInitNmr),
20
- _marked6 = /*#__PURE__*/_regeneratorRuntime2.mark(resetOne),
21
- _marked7 = /*#__PURE__*/_regeneratorRuntime2.mark(selectMpyType);
22
- var getMetaSt = function getMetaSt(state) {
23
- return state.meta;
24
- };
25
- var getCurveSt = function getCurveSt(state) {
26
- return state.curve;
27
- };
28
- var getMultiplicitySt = function getMultiplicitySt(state) {
29
- return state.multiplicity.present;
30
- };
31
- function selectMpy(action) {
32
- var metaSt, mpySt, _action$payload, newData, curveIdx, multiplicities, selectedMulti, xExtent, yExtent, dataPks, _selectedMulti, shift, stack, xL, xU, yL, yU, peaks, newXExtemt, coupling, m, newStack, newSelectedMulti, payload;
33
- return _regenerator.default.wrap(function selectMpy$(_context) {
34
- while (1) switch (_context.prev = _context.next) {
35
- case 0:
36
- _context.next = 2;
37
- return (0, _effects.select)(getMetaSt);
38
- case 2:
39
- metaSt = _context.sent;
40
- _context.next = 5;
41
- return (0, _effects.select)(getMultiplicitySt);
42
- case 5:
43
- mpySt = _context.sent;
44
- _action$payload = action.payload, newData = _action$payload.newData, curveIdx = _action$payload.curveIdx;
45
- multiplicities = mpySt.multiplicities;
46
- selectedMulti = multiplicities[curveIdx];
47
- if (selectedMulti === false || selectedMulti === undefined) {
48
- selectedMulti = {
49
- stack: [],
50
- shift: 0,
51
- smExtext: false,
52
- edited: false
53
- };
54
- }
55
- xExtent = newData.xExtent, yExtent = newData.yExtent, dataPks = newData.dataPks;
56
- _selectedMulti = selectedMulti, shift = _selectedMulti.shift, stack = _selectedMulti.stack;
57
- xL = xExtent.xL, xU = xExtent.xU;
58
- yL = yExtent.yL, yU = yExtent.yU;
59
- peaks = dataPks.filter(function (p) {
60
- return xL <= p.x && p.x <= xU && yL <= p.y && p.y <= yU;
61
- });
62
- peaks = peaks.map(function (pk) {
63
- return {
64
- x: pk.x + shift,
65
- y: pk.y
66
- };
67
- });
68
- newXExtemt = {
69
- xL: xL + shift,
70
- xU: xU + shift
71
- };
72
- coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
73
- m = {
74
- peaks: peaks,
75
- xExtent: newXExtemt,
76
- yExtent: yExtent,
77
- mpyType: coupling.type,
78
- js: coupling.js
79
- };
80
- newStack = [].concat((0, _toConsumableArray2.default)(stack), [m]);
81
- newSelectedMulti = Object.assign(
82
- // eslint-disable-line
83
- {}, selectedMulti, {
84
- stack: newStack,
85
- smExtext: newXExtemt
86
- });
87
- multiplicities[curveIdx] = newSelectedMulti;
88
- payload = Object.assign(
89
- // eslint-disable-line
90
- {}, mpySt, {
91
- multiplicities: multiplicities,
92
- selectedIdx: curveIdx
93
- });
94
- _context.next = 25;
95
- return (0, _effects.put)({
96
- type: _action_type.UI.SWEEP.SELECT_MULTIPLICITY_RDC,
97
- payload: payload
98
- });
99
- case 25:
100
- case "end":
101
- return _context.stop();
102
- }
103
- }, _marked);
11
+ const getMetaSt = state => state.meta;
12
+ const getCurveSt = state => state.curve;
13
+ const getMultiplicitySt = state => state.multiplicity.present;
14
+ function* selectMpy(action) {
15
+ const metaSt = yield (0, _effects.select)(getMetaSt);
16
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
17
+ const {
18
+ newData,
19
+ curveIdx
20
+ } = action.payload;
21
+ const {
22
+ multiplicities
23
+ } = mpySt;
24
+ let selectedMulti = multiplicities[curveIdx];
25
+ if (selectedMulti === false || selectedMulti === undefined) {
26
+ selectedMulti = {
27
+ stack: [],
28
+ shift: 0,
29
+ smExtext: false,
30
+ edited: false
31
+ };
32
+ }
33
+ const {
34
+ xExtent,
35
+ yExtent,
36
+ dataPks
37
+ } = newData;
38
+ const {
39
+ shift,
40
+ stack
41
+ } = selectedMulti;
42
+ const {
43
+ xL,
44
+ xU
45
+ } = xExtent;
46
+ const {
47
+ yL,
48
+ yU
49
+ } = yExtent;
50
+ let peaks = dataPks.filter(p => xL <= p.x && p.x <= xU && yL <= p.y && p.y <= yU);
51
+ peaks = peaks.map(pk => ({
52
+ x: pk.x + shift,
53
+ y: pk.y
54
+ }));
55
+ const newXExtemt = {
56
+ xL: xL + shift,
57
+ xU: xU + shift
58
+ };
59
+ const coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
60
+ const m = {
61
+ peaks,
62
+ xExtent: newXExtemt,
63
+ yExtent,
64
+ mpyType: coupling.type,
65
+ js: coupling.js
66
+ };
67
+ const newStack = [...stack, m];
68
+ const newSelectedMulti = Object.assign(
69
+ // eslint-disable-line
70
+ {}, selectedMulti, {
71
+ stack: newStack,
72
+ smExtext: newXExtemt
73
+ });
74
+ const newMultiplicities = [...multiplicities];
75
+ newMultiplicities[curveIdx] = newSelectedMulti;
76
+ const payload = Object.assign(
77
+ // eslint-disable-line
78
+ {}, mpySt, {
79
+ multiplicities: newMultiplicities,
80
+ selectedIdx: curveIdx
81
+ });
82
+ yield (0, _effects.put)({
83
+ type: _action_type.UI.SWEEP.SELECT_MULTIPLICITY_RDC,
84
+ payload
85
+ });
104
86
  }
105
- function addUiPeakToStack(action) {
106
- var metaSt, mpySt, curveSt, curveIdx, multiplicities, selectedMulti, shift, stack, smExtext, _action$payload2, x, y, newPeak, xL, xU, isDuplicate, newStack, newSelectedMulti, payload;
107
- return _regenerator.default.wrap(function addUiPeakToStack$(_context2) {
108
- while (1) switch (_context2.prev = _context2.next) {
109
- case 0:
110
- _context2.next = 2;
111
- return (0, _effects.select)(getMetaSt);
112
- case 2:
113
- metaSt = _context2.sent;
114
- _context2.next = 5;
115
- return (0, _effects.select)(getMultiplicitySt);
116
- case 5:
117
- mpySt = _context2.sent;
118
- _context2.next = 8;
119
- return (0, _effects.select)(getCurveSt);
120
- case 8:
121
- curveSt = _context2.sent;
122
- curveIdx = curveSt.curveIdx;
123
- multiplicities = mpySt.multiplicities;
124
- selectedMulti = multiplicities[curveIdx];
125
- shift = selectedMulti.shift, stack = selectedMulti.stack, smExtext = selectedMulti.smExtext;
126
- _action$payload2 = action.payload, x = _action$payload2.x, y = _action$payload2.y; // eslint-disable-line
127
- if (!(!x || !y)) {
128
- _context2.next = 16;
129
- break;
130
- }
131
- return _context2.abrupt("return");
132
- case 16:
133
- x += shift;
134
- newPeak = {
135
- x: x,
136
- y: y
137
- };
138
- xL = smExtext.xL, xU = smExtext.xU;
139
- if (!(x < xL || xU < x)) {
140
- _context2.next = 21;
141
- break;
142
- }
143
- return _context2.abrupt("return");
144
- case 21:
145
- isDuplicate = false;
146
- newStack = stack.map(function (k) {
147
- if (k.xExtent.xL === xL && k.xExtent.xU === xU) {
148
- var existXs = k.peaks.map(function (pk) {
149
- return pk.x;
150
- });
151
- if (existXs.indexOf(newPeak.x) >= 0) {
152
- isDuplicate = true;
153
- return k;
154
- }
155
- var newPks = [].concat((0, _toConsumableArray2.default)(k.peaks), [newPeak]);
156
- var coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
157
- return Object.assign(
158
- // eslint-disable-line
159
- {}, k, {
160
- peaks: newPks,
161
- mpyType: coupling.type,
162
- js: coupling.js
163
- });
164
- }
165
- return k;
166
- });
167
- if (!isDuplicate) {
168
- _context2.next = 25;
169
- break;
170
- }
171
- return _context2.abrupt("return");
172
- case 25:
173
- newSelectedMulti = Object.assign({}, selectedMulti, {
174
- stack: newStack
175
- }); // eslint-disable-line
176
- multiplicities[curveIdx] = newSelectedMulti;
177
- payload = Object.assign({}, mpySt, {
178
- multiplicities: multiplicities
179
- }); // eslint-disable-line
180
- _context2.next = 30;
181
- return (0, _effects.put)({
182
- type: _action_type.MULTIPLICITY.PEAK_ADD_BY_UI_RDC,
183
- payload: payload
184
- });
185
- case 30:
186
- case "end":
187
- return _context2.stop();
87
+ function* addUiPeakToStack(action) {
88
+ const metaSt = yield (0, _effects.select)(getMetaSt);
89
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
90
+ const curveSt = yield (0, _effects.select)(getCurveSt);
91
+ const {
92
+ curveIdx
93
+ } = curveSt;
94
+ const {
95
+ multiplicities
96
+ } = mpySt;
97
+ const selectedMulti = multiplicities[curveIdx];
98
+ const {
99
+ shift,
100
+ stack,
101
+ smExtext
102
+ } = selectedMulti;
103
+ let {
104
+ x,
105
+ y
106
+ } = action.payload; // eslint-disable-line
107
+ if (!x || !y) return;
108
+ x += shift;
109
+ const newPeak = {
110
+ x,
111
+ y
112
+ };
113
+ const {
114
+ xL,
115
+ xU
116
+ } = smExtext;
117
+ if (x < xL || xU < x) return;
118
+ let isDuplicate = false;
119
+ const newStack = stack.map(k => {
120
+ if (k.xExtent.xL === xL && k.xExtent.xU === xU) {
121
+ const existXs = k.peaks.map(pk => pk.x);
122
+ if (existXs.indexOf(newPeak.x) >= 0) {
123
+ isDuplicate = true;
124
+ return k;
125
+ }
126
+ const newPks = [...k.peaks, newPeak];
127
+ const coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
128
+ return Object.assign(
129
+ // eslint-disable-line
130
+ {}, k, {
131
+ peaks: newPks,
132
+ mpyType: coupling.type,
133
+ js: coupling.js
134
+ });
188
135
  }
189
- }, _marked2);
136
+ return k;
137
+ });
138
+ if (isDuplicate) return;
139
+ const newSelectedMulti = Object.assign({}, selectedMulti, {
140
+ stack: newStack
141
+ }); // eslint-disable-line
142
+ const newMultiplicities = [...multiplicities];
143
+ newMultiplicities[curveIdx] = newSelectedMulti;
144
+ const payload = Object.assign({}, mpySt, {
145
+ multiplicities: newMultiplicities
146
+ }); // eslint-disable-line
147
+
148
+ yield (0, _effects.put)({
149
+ type: _action_type.MULTIPLICITY.PEAK_ADD_BY_UI_RDC,
150
+ payload
151
+ });
190
152
  }
191
- var rmPeakFromStack = function rmPeakFromStack(action, metaSt, mpySt) {
192
- var curveIdx = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
193
- var _action$payload3 = action.payload,
194
- peak = _action$payload3.peak,
195
- xExtent = _action$payload3.xExtent;
196
- var multiplicities = mpySt.multiplicities;
197
- var selectedMulti = multiplicities[curveIdx];
198
- var stack = selectedMulti.stack;
199
- var newStack = stack.map(function (k) {
153
+ const rmPeakFromStack = function (action, metaSt, mpySt) {
154
+ let curveIdx = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;
155
+ const {
156
+ peak,
157
+ xExtent
158
+ } = action.payload;
159
+ const {
160
+ multiplicities
161
+ } = mpySt;
162
+ const selectedMulti = multiplicities[curveIdx];
163
+ const {
164
+ stack
165
+ } = selectedMulti;
166
+ let newStack = stack.map(k => {
200
167
  if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
201
- var newPks = k.peaks.filter(function (pk) {
202
- return pk.x !== peak.x;
203
- });
204
- var coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
168
+ const newPks = k.peaks.filter(pk => pk.x !== peak.x);
169
+ const coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
205
170
  return Object.assign(
206
171
  // eslint-disable-line
207
172
  {}, k, {
@@ -212,241 +177,206 @@ var rmPeakFromStack = function rmPeakFromStack(action, metaSt, mpySt) {
212
177
  }
213
178
  return k;
214
179
  });
215
- newStack = newStack.filter(function (k) {
216
- return k.peaks.length !== 0;
217
- });
180
+ newStack = newStack.filter(k => k.peaks.length !== 0);
218
181
  if (newStack.length === 0) {
219
- var _newSelectedMulti = Object.assign({}, selectedMulti, {
182
+ const newSelectedMulti = Object.assign({}, selectedMulti, {
220
183
  stack: newStack,
221
184
  smExtext: false
222
185
  }); // eslint-disable-line
223
- multiplicities[curveIdx] = _newSelectedMulti;
186
+ multiplicities[curveIdx] = newSelectedMulti;
224
187
  return Object.assign({}, mpySt, {
225
- multiplicities: multiplicities
188
+ multiplicities
226
189
  }); // eslint-disable-line
227
190
  }
228
191
 
229
- var noSmExtext = newStack.map(function (k) {
230
- return k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU ? 1 : 0;
231
- }).reduce(function (a, s) {
232
- return a + s;
233
- }) === 0;
234
- var newSmExtext = noSmExtext ? newStack[0].xExtent : xExtent;
235
- var newSelectedMulti = Object.assign({}, selectedMulti, {
192
+ const noSmExtext = newStack.map(k => k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU ? 1 : 0).reduce((a, s) => a + s) === 0;
193
+ const newSmExtext = noSmExtext ? newStack[0].xExtent : xExtent;
194
+ const newSelectedMulti = Object.assign({}, selectedMulti, {
236
195
  stack: newStack,
237
196
  smExtext: newSmExtext
238
197
  }); // eslint-disable-line
239
- multiplicities[curveIdx] = newSelectedMulti;
198
+ const newMultiplicities = [...multiplicities];
199
+ newMultiplicities[curveIdx] = newSelectedMulti;
240
200
  return Object.assign({}, mpySt, {
241
- multiplicities: multiplicities
201
+ multiplicities: newMultiplicities
242
202
  }); // eslint-disable-line
243
203
  };
244
204
 
245
- function rmPanelPeakFromStack(action) {
246
- var metaSt, mpySt, curveSt, curveIdx, payload;
247
- return _regenerator.default.wrap(function rmPanelPeakFromStack$(_context3) {
248
- while (1) switch (_context3.prev = _context3.next) {
249
- case 0:
250
- _context3.next = 2;
251
- return (0, _effects.select)(getMetaSt);
252
- case 2:
253
- metaSt = _context3.sent;
254
- _context3.next = 5;
255
- return (0, _effects.select)(getMultiplicitySt);
256
- case 5:
257
- mpySt = _context3.sent;
258
- _context3.next = 8;
259
- return (0, _effects.select)(getCurveSt);
260
- case 8:
261
- curveSt = _context3.sent;
262
- curveIdx = curveSt.curveIdx;
263
- payload = rmPeakFromStack(action, metaSt, mpySt, curveIdx);
264
- _context3.next = 13;
265
- return (0, _effects.put)({
266
- type: _action_type.MULTIPLICITY.PEAK_RM_BY_PANEL_RDC,
267
- payload: payload
268
- });
269
- case 13:
270
- case "end":
271
- return _context3.stop();
272
- }
273
- }, _marked3);
205
+ function* rmPanelPeakFromStack(action) {
206
+ const metaSt = yield (0, _effects.select)(getMetaSt);
207
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
208
+ const curveSt = yield (0, _effects.select)(getCurveSt);
209
+ const {
210
+ curveIdx
211
+ } = curveSt;
212
+ const payload = rmPeakFromStack(action, metaSt, mpySt, curveIdx);
213
+ yield (0, _effects.put)({
214
+ type: _action_type.MULTIPLICITY.PEAK_RM_BY_PANEL_RDC,
215
+ payload
216
+ });
274
217
  }
275
- function rmUiPeakFromStack(action) {
276
- var metaSt, mpySt, curveSt, curveIdx, multiplicities, selectedMulti, peak, xExtent, newAction, payload;
277
- return _regenerator.default.wrap(function rmUiPeakFromStack$(_context4) {
278
- while (1) switch (_context4.prev = _context4.next) {
279
- case 0:
280
- _context4.next = 2;
281
- return (0, _effects.select)(getMetaSt);
282
- case 2:
283
- metaSt = _context4.sent;
284
- _context4.next = 5;
285
- return (0, _effects.select)(getMultiplicitySt);
286
- case 5:
287
- mpySt = _context4.sent;
288
- _context4.next = 8;
289
- return (0, _effects.select)(getCurveSt);
290
- case 8:
291
- curveSt = _context4.sent;
292
- curveIdx = curveSt.curveIdx;
293
- multiplicities = mpySt.multiplicities;
294
- selectedMulti = multiplicities[curveIdx];
295
- peak = action.payload;
296
- xExtent = selectedMulti.smExtext;
297
- newAction = Object.assign({}, action, {
298
- payload: {
299
- peak: peak,
300
- xExtent: xExtent
301
- }
302
- }); // eslint-disable-line
303
- payload = rmPeakFromStack(newAction, metaSt, mpySt, curveIdx);
304
- _context4.next = 18;
305
- return (0, _effects.put)({
306
- type: _action_type.MULTIPLICITY.PEAK_RM_BY_UI_RDC,
307
- payload: payload
308
- });
309
- case 18:
310
- case "end":
311
- return _context4.stop();
218
+ function* rmUiPeakFromStack(action) {
219
+ const metaSt = yield (0, _effects.select)(getMetaSt);
220
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
221
+ const curveSt = yield (0, _effects.select)(getCurveSt);
222
+ const {
223
+ curveIdx
224
+ } = curveSt;
225
+ const {
226
+ multiplicities
227
+ } = mpySt;
228
+ const selectedMulti = multiplicities[curveIdx];
229
+ const peak = action.payload;
230
+ const xExtent = selectedMulti.smExtext;
231
+ const newAction = Object.assign({}, action, {
232
+ payload: {
233
+ peak,
234
+ xExtent
312
235
  }
313
- }, _marked4);
236
+ }); // eslint-disable-line
237
+
238
+ const payload = rmPeakFromStack(newAction, metaSt, mpySt, curveIdx);
239
+ yield (0, _effects.put)({
240
+ type: _action_type.MULTIPLICITY.PEAK_RM_BY_UI_RDC,
241
+ payload
242
+ });
314
243
  }
315
- function resetInitNmr(action) {
316
- var multiplicity, curveSt, mpySt, curveIdx, multiplicities, payload;
317
- return _regenerator.default.wrap(function resetInitNmr$(_context5) {
318
- while (1) switch (_context5.prev = _context5.next) {
319
- case 0:
320
- multiplicity = action.payload.multiplicity;
321
- _context5.next = 3;
322
- return (0, _effects.select)(getCurveSt);
323
- case 3:
324
- curveSt = _context5.sent;
325
- _context5.next = 6;
326
- return (0, _effects.select)(getMultiplicitySt);
327
- case 6:
328
- mpySt = _context5.sent;
329
- curveIdx = curveSt.curveIdx;
330
- multiplicities = mpySt.multiplicities;
331
- multiplicities[curveIdx] = multiplicity;
332
- payload = Object.assign({}, mpySt, {
333
- multiplicities: multiplicities,
334
- selectedIdx: curveIdx
335
- }); // eslint-disable-line
336
- if (!multiplicity) {
337
- _context5.next = 14;
338
- break;
339
- }
340
- _context5.next = 14;
341
- return (0, _effects.put)({
342
- type: _action_type.MULTIPLICITY.RESET_ALL_RDC,
343
- payload: payload
344
- });
345
- case 14:
346
- case "end":
347
- return _context5.stop();
348
- }
349
- }, _marked5);
244
+ function* resetInitNmr(action) {
245
+ const {
246
+ multiplicity
247
+ } = action.payload;
248
+ const curveSt = yield (0, _effects.select)(getCurveSt);
249
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
250
+ const {
251
+ curveIdx
252
+ } = curveSt;
253
+ const {
254
+ multiplicities
255
+ } = mpySt;
256
+ const newMultiplicities = [...multiplicities];
257
+ newMultiplicities[curveIdx] = multiplicity;
258
+ const payload = Object.assign({}, mpySt, {
259
+ multiplicities: newMultiplicities,
260
+ selectedIdx: curveIdx
261
+ }); // eslint-disable-line
262
+
263
+ if (multiplicity) {
264
+ yield (0, _effects.put)({
265
+ type: _action_type.MULTIPLICITY.RESET_ALL_RDC,
266
+ payload
267
+ });
268
+ }
269
+ // const metaSt = yield select(getMetaSt);
270
+ // const mpySt = yield select(getMultiplicitySt);
271
+
272
+ // if (!multiplicity) {
273
+ // yield put({
274
+ // type: MULTIPLICITY.RESET_ALL_RDC,
275
+ // payload: mpySt,
276
+ // });
277
+ // }
278
+
279
+ // const { stack } = multiplicity;
280
+ // const newStack = stack.map((k) => {
281
+ // const { peaks } = k;
282
+ // const coupling = calcMpyCoup(peaks, metaSt);
283
+ // return Object.assign(
284
+ // {},
285
+ // k,
286
+ // {
287
+ // peaks,
288
+ // mpyType: coupling.type,
289
+ // js: coupling.js,
290
+ // },
291
+ // );
292
+ // });
293
+ // const payload = Object.assign({}, mpySt, { stack: newStack });
294
+ // yield put({
295
+ // type: MULTIPLICITY.RESET_ALL_RDC,
296
+ // payload,
297
+ // });
350
298
  }
351
- function resetOne(action) {
352
- var xExtent, metaSt, mpySt, curveSt, curveIdx, multiplicities, selectedMulti, stack, newStack, newSelectedMulti, payload;
353
- return _regenerator.default.wrap(function resetOne$(_context6) {
354
- while (1) switch (_context6.prev = _context6.next) {
355
- case 0:
356
- xExtent = action.payload;
357
- _context6.next = 3;
358
- return (0, _effects.select)(getMetaSt);
359
- case 3:
360
- metaSt = _context6.sent;
361
- _context6.next = 6;
362
- return (0, _effects.select)(getMultiplicitySt);
363
- case 6:
364
- mpySt = _context6.sent;
365
- _context6.next = 9;
366
- return (0, _effects.select)(getCurveSt);
367
- case 9:
368
- curveSt = _context6.sent;
369
- curveIdx = curveSt.curveIdx;
370
- multiplicities = mpySt.multiplicities;
371
- selectedMulti = multiplicities[curveIdx];
372
- stack = selectedMulti.stack;
373
- newStack = stack.map(function (k) {
374
- if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
375
- var peaks = k.peaks;
376
- var coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
377
- return Object.assign(
378
- // eslint-disable-line
379
- {}, k, {
380
- peaks: peaks,
381
- mpyType: coupling.type,
382
- js: coupling.js
383
- });
384
- }
385
- return k;
386
- });
387
- newSelectedMulti = Object.assign({}, selectedMulti, {
388
- stack: newStack
389
- }); // eslint-disable-line
390
- multiplicities[curveIdx] = newSelectedMulti;
391
- payload = Object.assign({}, mpySt, {
392
- multiplicities: multiplicities
393
- }); // eslint-disable-line
394
- _context6.next = 20;
395
- return (0, _effects.put)({
396
- type: _action_type.MULTIPLICITY.RESET_ONE_RDC,
397
- payload: payload
398
- });
399
- case 20:
400
- case "end":
401
- return _context6.stop();
299
+
300
+ function* resetOne(action) {
301
+ const xExtent = action.payload;
302
+ const metaSt = yield (0, _effects.select)(getMetaSt);
303
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
304
+ const curveSt = yield (0, _effects.select)(getCurveSt);
305
+ const {
306
+ curveIdx
307
+ } = curveSt;
308
+ const {
309
+ multiplicities
310
+ } = mpySt;
311
+ const selectedMulti = multiplicities[curveIdx];
312
+ const {
313
+ stack
314
+ } = selectedMulti;
315
+ const newStack = stack.map(k => {
316
+ if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
317
+ const {
318
+ peaks
319
+ } = k;
320
+ const coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
321
+ return Object.assign(
322
+ // eslint-disable-line
323
+ {}, k, {
324
+ peaks,
325
+ mpyType: coupling.type,
326
+ js: coupling.js
327
+ });
402
328
  }
403
- }, _marked6);
329
+ return k;
330
+ });
331
+ const newSelectedMulti = Object.assign({}, selectedMulti, {
332
+ stack: newStack
333
+ }); // eslint-disable-line
334
+ const newMultiplicities = [...multiplicities];
335
+ newMultiplicities[curveIdx] = newSelectedMulti;
336
+ const payload = Object.assign({}, mpySt, {
337
+ multiplicities: newMultiplicities
338
+ }); // eslint-disable-line
339
+ yield (0, _effects.put)({
340
+ type: _action_type.MULTIPLICITY.RESET_ONE_RDC,
341
+ payload
342
+ });
404
343
  }
405
- function selectMpyType(action) {
406
- var mpySt, metaSt, curveSt, curveIdx, multiplicities, selectedMulti, _action$payload4, mpyType, xExtent, stack, newStack, newSelectedMulti, payload;
407
- return _regenerator.default.wrap(function selectMpyType$(_context7) {
408
- while (1) switch (_context7.prev = _context7.next) {
409
- case 0:
410
- _context7.next = 2;
411
- return (0, _effects.select)(getMultiplicitySt);
412
- case 2:
413
- mpySt = _context7.sent;
414
- _context7.next = 5;
415
- return (0, _effects.select)(getMetaSt);
416
- case 5:
417
- metaSt = _context7.sent;
418
- _context7.next = 8;
419
- return (0, _effects.select)(getCurveSt);
420
- case 8:
421
- curveSt = _context7.sent;
422
- curveIdx = curveSt.curveIdx;
423
- multiplicities = mpySt.multiplicities;
424
- selectedMulti = multiplicities[curveIdx];
425
- _action$payload4 = action.payload, mpyType = _action$payload4.mpyType, xExtent = _action$payload4.xExtent;
426
- stack = selectedMulti.stack;
427
- newStack = stack.map(function (k) {
428
- var isTargetStack = k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU;
429
- if (isTargetStack) return (0, _multiplicity_manual.calcMpyManual)(k, mpyType, metaSt);
430
- return k;
431
- });
432
- newSelectedMulti = Object.assign({}, selectedMulti, {
433
- stack: newStack
434
- }); // eslint-disable-line
435
- multiplicities[curveIdx] = newSelectedMulti;
436
- payload = Object.assign({}, mpySt, {
437
- multiplicities: multiplicities
438
- }); // eslint-disable-line
439
- _context7.next = 20;
440
- return (0, _effects.put)({
441
- type: _action_type.MULTIPLICITY.TYPE_SELECT_RDC,
442
- payload: payload
443
- });
444
- case 20:
445
- case "end":
446
- return _context7.stop();
447
- }
448
- }, _marked7);
344
+ function* selectMpyType(action) {
345
+ const mpySt = yield (0, _effects.select)(getMultiplicitySt);
346
+ const metaSt = yield (0, _effects.select)(getMetaSt);
347
+ const curveSt = yield (0, _effects.select)(getCurveSt);
348
+ const {
349
+ curveIdx
350
+ } = curveSt;
351
+ const {
352
+ multiplicities
353
+ } = mpySt;
354
+ const selectedMulti = multiplicities[curveIdx];
355
+ const {
356
+ mpyType,
357
+ xExtent
358
+ } = action.payload;
359
+ const {
360
+ stack
361
+ } = selectedMulti;
362
+ const newStack = stack.map(k => {
363
+ const isTargetStack = k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU;
364
+ if (isTargetStack) return (0, _multiplicity_manual.calcMpyManual)(k, mpyType, metaSt);
365
+ return k;
366
+ });
367
+ const newSelectedMulti = Object.assign({}, selectedMulti, {
368
+ stack: newStack
369
+ }); // eslint-disable-line
370
+ const newMultiplicities = [...multiplicities];
371
+ newMultiplicities[curveIdx] = newSelectedMulti;
372
+ const payload = Object.assign({}, mpySt, {
373
+ multiplicities: newMultiplicities
374
+ }); // eslint-disable-line
375
+
376
+ yield (0, _effects.put)({
377
+ type: _action_type.MULTIPLICITY.TYPE_SELECT_RDC,
378
+ payload
379
+ });
449
380
  }
450
- var multiplicitySagas = [(0, _effects.takeEvery)(_action_type.UI.SWEEP.SELECT_MULTIPLICITY, selectMpy), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_ADD_BY_UI_SAG, addUiPeakToStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_RM_BY_PANEL, rmPanelPeakFromStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_RM_BY_UI, rmUiPeakFromStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.TYPE_SELECT, selectMpyType), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.RESET_ONE, resetOne), (0, _effects.takeEvery)(_action_type.MANAGER.RESET_INIT_NMR, resetInitNmr)];
451
- var _default = multiplicitySagas;
452
- exports.default = _default;
381
+ const multiplicitySagas = [(0, _effects.takeEvery)(_action_type.UI.SWEEP.SELECT_MULTIPLICITY, selectMpy), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_ADD_BY_UI_SAG, addUiPeakToStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_RM_BY_PANEL, rmPanelPeakFromStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.PEAK_RM_BY_UI, rmUiPeakFromStack), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.TYPE_SELECT, selectMpyType), (0, _effects.takeEvery)(_action_type.MULTIPLICITY.RESET_ONE, resetOne), (0, _effects.takeEvery)(_action_type.MANAGER.RESET_INIT_NMR, resetInitNmr)];
382
+ var _default = exports.default = multiplicitySagas;