@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,131 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _reduxUndo = require('redux-undo');
8
+
9
+ var _reduxUndo2 = _interopRequireDefault(_reduxUndo);
10
+
11
+ var _action_type = require('../constants/action_type');
12
+
13
+ var _undo_redo_config = require('./undo_redo_config');
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ var initialState = {
18
+ stack: [],
19
+ shift: 0,
20
+ smExtext: false,
21
+ edited: false
22
+ };
23
+
24
+ var setShift = function setShift(state, action) {
25
+ var shift = action.payload.prevOffset;
26
+ return Object.assign({}, state, { shift: shift });
27
+ };
28
+
29
+ var rmFromStack = function rmFromStack(state, action) {
30
+ var stack = state.stack;
31
+ var _action$payload = action.payload,
32
+ xL = _action$payload.xL,
33
+ xU = _action$payload.xU,
34
+ xExtent = _action$payload.xExtent;
35
+ var txL = 0,
36
+ txU = 0;
37
+
38
+ if (xL && xU) {
39
+ txL = xL; // rm click integration
40
+
41
+ txU = xU;
42
+ } else if (xExtent) {
43
+ var _ref = [xExtent.xL, xExtent.xU]; // rm click multiplicity
44
+
45
+ txL = _ref[0];
46
+ txU = _ref[1];
47
+ } else {
48
+ return state;
49
+ }
50
+ var newStack = stack.filter(function (k) {
51
+ var _ref2 = [k.xExtent.xL, k.xExtent.xU],
52
+ kxL = _ref2[0],
53
+ kxU = _ref2[1];
54
+
55
+ return kxL !== txL && kxU !== txU;
56
+ });
57
+ var newSmExtext = newStack[0] ? newStack[0].xExtent : false;
58
+ return Object.assign({}, state, { stack: newStack, smExtext: newSmExtext });
59
+ };
60
+
61
+ var updateMpyJ = function updateMpyJ(state, action) {
62
+ var payload = action.payload;
63
+ var xExtent = payload.xExtent,
64
+ value = payload.value;
65
+
66
+ if (!value && value !== '') return state;
67
+ var stack = state.stack;
68
+
69
+ var regx = /[^0-9.,-]/g;
70
+ var js = value.replace(regx, '').split(',').map(function (j) {
71
+ return parseFloat(j);
72
+ }).filter(function (j) {
73
+ return j;
74
+ });
75
+
76
+ var newStack = stack.map(function (k) {
77
+ if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
78
+ if (k.mpyType === 'm') return Object.assign({}, k, { js: [] });
79
+ return Object.assign({}, k, { js: js });
80
+ }
81
+ return k;
82
+ });
83
+ return Object.assign({}, state, { stack: newStack });
84
+ };
85
+
86
+ var clickMpyOne = function clickMpyOne(state, action) {
87
+ var payload = action.payload;
88
+
89
+ return Object.assign({}, state, { smExtext: payload });
90
+ };
91
+
92
+ var clearAll = function clearAll() {
93
+ return Object.assign({}, initialState, { edited: true });
94
+ };
95
+
96
+ var multiplicityReducer = function multiplicityReducer() {
97
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
98
+ var action = arguments[1];
99
+
100
+ switch (action.type) {
101
+ case _action_type.EDITPEAK.SHIFT:
102
+ return setShift(state, action);
103
+ case _action_type.INTEGRATION.RM_ONE:
104
+ return rmFromStack(state, action);
105
+ case _action_type.UI.SWEEP.SELECT_MULTIPLICITY_RDC:
106
+ case _action_type.MULTIPLICITY.PEAK_RM_BY_PANEL_RDC:
107
+ case _action_type.MULTIPLICITY.PEAK_RM_BY_UI_RDC:
108
+ case _action_type.MULTIPLICITY.PEAK_ADD_BY_UI_RDC:
109
+ case _action_type.MULTIPLICITY.RESET_ONE_RDC:
110
+ return action.payload;
111
+ case _action_type.MULTIPLICITY.UPDATE_J:
112
+ return updateMpyJ(state, action);
113
+ case _action_type.MULTIPLICITY.TYPE_SELECT_RDC:
114
+ return action.payload;
115
+ case _action_type.MULTIPLICITY.ONE_CLICK:
116
+ case _action_type.MULTIPLICITY.ONE_CLICK_BY_UI:
117
+ return clickMpyOne(state, action);
118
+ case _action_type.MULTIPLICITY.RESET_ALL_RDC:
119
+ return action.payload;
120
+ case _action_type.MULTIPLICITY.CLEAR_ALL:
121
+ return clearAll();
122
+ case _action_type.MANAGER.RESETALL:
123
+ return state;
124
+ default:
125
+ return _undo_redo_config.undoRedoActions.indexOf(action.type) >= 0 ? Object.assign({}, state) : state;
126
+ }
127
+ };
128
+
129
+ var undoableMultiplicityReducer = (0, _reduxUndo2.default)(multiplicityReducer, _undo_redo_config.undoRedoConfig);
130
+
131
+ exports.default = undoableMultiplicityReducer;
@@ -0,0 +1,99 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _action_type = require('../constants/action_type');
8
+
9
+ var _list_shift = require('../constants/list_shift');
10
+
11
+ var _shift = require('../helpers/shift');
12
+
13
+ var shiftNone = _list_shift.LIST_SHIFT_1H[0];
14
+
15
+ var initialState = {
16
+ ref: shiftNone,
17
+ peak: false,
18
+ enable: true
19
+ };
20
+
21
+ var resetRef = function resetRef(payload) {
22
+ var shift = payload.shift,
23
+ layout = payload.layout;
24
+
25
+ if (!shift || !shift.solventName || !shift.solventValue) return shiftNone;
26
+
27
+ var name = shift.solventName;
28
+ var target = false;
29
+ var listShift = (0, _list_shift.getListShift)(layout);
30
+ listShift.forEach(function (l) {
31
+ if (l.name === name) {
32
+ target = l;
33
+ }
34
+ });
35
+ return target || shiftNone[0];
36
+ };
37
+
38
+ var resetEnable = function resetEnable(payload) {
39
+ var typ = payload.operation.typ;
40
+
41
+ switch (typ) {
42
+ case 'NMR':
43
+ return true;
44
+ default:
45
+ return false;
46
+ }
47
+ };
48
+
49
+ var shiftReducer = function shiftReducer() {
50
+ var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : initialState;
51
+ var action = arguments[1];
52
+
53
+ switch (action.type) {
54
+ case _action_type.SHIFT.SET_REF:
55
+ return Object.assign({}, state, {
56
+ ref: action.payload,
57
+ enable: true
58
+ });
59
+ case _action_type.SHIFT.SET_PEAK:
60
+ {
61
+ var resX = (0, _shift.CalcResidualX)(state.ref, state.peak, action.payload);
62
+ var trueApex = (0, _shift.RealPts)([action.payload], resX)[0];
63
+ var isSamePt = state.peak.x === trueApex.x;
64
+ var truePeak = trueApex && trueApex.x && !isSamePt ? trueApex : false;
65
+ return Object.assign({}, state, {
66
+ peak: truePeak,
67
+ enable: true
68
+ });
69
+ }
70
+ case _action_type.SHIFT.RM_PEAK:
71
+ return Object.assign({}, state, {
72
+ peak: false,
73
+ enable: true
74
+ });
75
+ case _action_type.EDITPEAK.ADD_NEGATIVE:
76
+ {
77
+ var rmApex = state.peak.x === action.payload.x;
78
+ return !rmApex ? state : Object.assign({}, state, {
79
+ peak: false,
80
+ enable: true
81
+ });
82
+ }
83
+ case _action_type.LAYOUT.UPDATE:
84
+ return Object.assign({}, initialState, {
85
+ peak: false,
86
+ enable: state.enable
87
+ });
88
+ case _action_type.MANAGER.RESETSHIFT:
89
+ // case MANAGER.RESETALL:
90
+ return Object.assign({}, initialState, {
91
+ ref: resetRef(action.payload),
92
+ enable: resetEnable(action.payload)
93
+ });
94
+ default:
95
+ return state;
96
+ }
97
+ };
98
+
99
+ exports.default = shiftReducer;
@@ -0,0 +1,84 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _effects = require('redux-saga/effects');
8
+
9
+ var _action_type = require('../constants/action_type');
10
+
11
+ var _shift = require('../helpers/shift');
12
+
13
+ var _marked = /*#__PURE__*/regeneratorRuntime.mark(addVirtualFactor);
14
+
15
+ var getShiftRef = function getShiftRef(state) {
16
+ return state.shift.ref;
17
+ };
18
+ var getShiftPeak = function getShiftPeak(state) {
19
+ return state.shift.peak;
20
+ };
21
+ var getEditPeak = function getEditPeak(state) {
22
+ return state.editPeak.present;
23
+ };
24
+
25
+ function addVirtualFactor(action) {
26
+ var origRef, origApex, origEPeak, payload, prevOffset, pos, neg, absOffset, relOffset, nextPos, nextNeg;
27
+ return regeneratorRuntime.wrap(function addVirtualFactor$(_context) {
28
+ while (1) {
29
+ switch (_context.prev = _context.next) {
30
+ case 0:
31
+ _context.next = 2;
32
+ return (0, _effects.select)(getShiftRef);
33
+
34
+ case 2:
35
+ origRef = _context.sent;
36
+ _context.next = 5;
37
+ return (0, _effects.select)(getShiftPeak);
38
+
39
+ case 5:
40
+ origApex = _context.sent;
41
+ _context.next = 8;
42
+ return (0, _effects.select)(getEditPeak);
43
+
44
+ case 8:
45
+ origEPeak = _context.sent;
46
+ payload = action.payload;
47
+ prevOffset = origEPeak.prevOffset, pos = origEPeak.pos, neg = origEPeak.neg;
48
+ absOffset = (0, _shift.FromManualToOffset)(origRef, origApex);
49
+ relOffset = prevOffset - absOffset;
50
+ nextPos = (0, _shift.VirtalPts)(pos, relOffset);
51
+ nextNeg = (0, _shift.VirtalPts)(neg, relOffset);
52
+ _context.next = 17;
53
+ return (0, _effects.put)({
54
+ type: _action_type.EDITPEAK.SHIFT,
55
+ payload: Object.assign({}, payload, {
56
+ prevOffset: absOffset,
57
+ pos: nextPos,
58
+ neg: nextNeg
59
+ })
60
+ });
61
+
62
+ case 17:
63
+ case 'end':
64
+ return _context.stop();
65
+ }
66
+ }
67
+ }, _marked);
68
+ }
69
+
70
+ var editPeakSagas = [(0, _effects.takeEvery)(_action_type.SHIFT.SET_REF, addVirtualFactor), (0, _effects.takeEvery)(_action_type.SHIFT.SET_PEAK, addVirtualFactor)];
71
+
72
+ exports.default = editPeakSagas;
73
+
74
+ /* LOGIC
75
+ -no po - tg
76
+ | picked | another | absoffset | prevOffset | relative | newOffset
77
+ -------------------------------------------------------------------
78
+ 0 | 40 20 - - - 0
79
+ 1 | 180 160 -140 0 140 140
80
+ 2 | 80 60 -40 -140 -100 100
81
+ 3 | 20 0 +20 -100 -120
82
+ -------------------------------------------------------------------
83
+
84
+ */
@@ -0,0 +1,387 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _effects = require('redux-saga/effects');
8
+
9
+ var _action_type = require('../constants/action_type');
10
+
11
+ var _multiplicity_calc = require('../helpers/multiplicity_calc');
12
+
13
+ var _multiplicity_manual = require('../helpers/multiplicity_manual');
14
+
15
+ var _marked = /*#__PURE__*/regeneratorRuntime.mark(selectMpy),
16
+ _marked2 = /*#__PURE__*/regeneratorRuntime.mark(addUiPeakToStack),
17
+ _marked3 = /*#__PURE__*/regeneratorRuntime.mark(rmPanelPeakFromStack),
18
+ _marked4 = /*#__PURE__*/regeneratorRuntime.mark(rmUiPeakFromStack),
19
+ _marked5 = /*#__PURE__*/regeneratorRuntime.mark(resetInitNmr),
20
+ _marked6 = /*#__PURE__*/regeneratorRuntime.mark(resetOne),
21
+ _marked7 = /*#__PURE__*/regeneratorRuntime.mark(selectMpyType);
22
+
23
+ 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); } }
24
+
25
+ var getMetaSt = function getMetaSt(state) {
26
+ return state.meta;
27
+ };
28
+
29
+ var getMultiplicitySt = function getMultiplicitySt(state) {
30
+ return state.multiplicity.present;
31
+ };
32
+
33
+ function selectMpy(action) {
34
+ var metaSt, mpySt, _action$payload, xExtent, yExtent, dataPks, shift, stack, xL, xU, yL, yU, peaks, newXExtemt, coupling, m, newStack, payload;
35
+
36
+ return regeneratorRuntime.wrap(function selectMpy$(_context) {
37
+ while (1) {
38
+ switch (_context.prev = _context.next) {
39
+ case 0:
40
+ _context.next = 2;
41
+ return (0, _effects.select)(getMetaSt);
42
+
43
+ case 2:
44
+ metaSt = _context.sent;
45
+ _context.next = 5;
46
+ return (0, _effects.select)(getMultiplicitySt);
47
+
48
+ case 5:
49
+ mpySt = _context.sent;
50
+ _action$payload = action.payload, xExtent = _action$payload.xExtent, yExtent = _action$payload.yExtent, dataPks = _action$payload.dataPks;
51
+ shift = mpySt.shift, stack = mpySt.stack;
52
+ xL = xExtent.xL, xU = xExtent.xU;
53
+ yL = yExtent.yL, yU = yExtent.yU;
54
+ peaks = dataPks.filter(function (p) {
55
+ return xL <= p.x && p.x <= xU && yL <= p.y && p.y <= yU;
56
+ });
57
+
58
+ peaks = peaks.map(function (pk) {
59
+ return { x: pk.x + shift, y: pk.y };
60
+ });
61
+ newXExtemt = { xL: xL + shift, xU: xU + shift };
62
+ coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
63
+ m = {
64
+ peaks: peaks,
65
+ xExtent: newXExtemt,
66
+ yExtent: yExtent,
67
+ mpyType: coupling.type,
68
+ js: coupling.js
69
+ };
70
+ newStack = [].concat(_toConsumableArray(stack), [m]);
71
+ payload = Object.assign({}, mpySt, { stack: newStack, smExtext: newXExtemt });
72
+ _context.next = 19;
73
+ return (0, _effects.put)({
74
+ type: _action_type.UI.SWEEP.SELECT_MULTIPLICITY_RDC,
75
+ payload: payload
76
+ });
77
+
78
+ case 19:
79
+ case 'end':
80
+ return _context.stop();
81
+ }
82
+ }
83
+ }, _marked);
84
+ }
85
+
86
+ function addUiPeakToStack(action) {
87
+ var metaSt, mpySt, shift, stack, smExtext, _action$payload2, x, y, newPeak, xL, xU, isDuplicate, newStack, payload;
88
+
89
+ return regeneratorRuntime.wrap(function addUiPeakToStack$(_context2) {
90
+ while (1) {
91
+ switch (_context2.prev = _context2.next) {
92
+ case 0:
93
+ _context2.next = 2;
94
+ return (0, _effects.select)(getMetaSt);
95
+
96
+ case 2:
97
+ metaSt = _context2.sent;
98
+ _context2.next = 5;
99
+ return (0, _effects.select)(getMultiplicitySt);
100
+
101
+ case 5:
102
+ mpySt = _context2.sent;
103
+ shift = mpySt.shift, stack = mpySt.stack, smExtext = mpySt.smExtext;
104
+ _action$payload2 = action.payload, x = _action$payload2.x, y = _action$payload2.y; // eslint-disable-line
105
+
106
+ if (!(!x || !y)) {
107
+ _context2.next = 10;
108
+ break;
109
+ }
110
+
111
+ return _context2.abrupt('return');
112
+
113
+ case 10:
114
+
115
+ x += shift;
116
+ newPeak = { x: x, y: y };
117
+ xL = smExtext.xL, xU = smExtext.xU;
118
+
119
+ if (!(x < xL || xU < x)) {
120
+ _context2.next = 15;
121
+ break;
122
+ }
123
+
124
+ return _context2.abrupt('return');
125
+
126
+ case 15:
127
+ isDuplicate = false;
128
+ newStack = stack.map(function (k) {
129
+ if (k.xExtent.xL === xL && k.xExtent.xU === xU) {
130
+ var existXs = k.peaks.map(function (pk) {
131
+ return pk.x;
132
+ });
133
+ if (existXs.indexOf(newPeak.x) >= 0) {
134
+ isDuplicate = true;
135
+ return k;
136
+ }
137
+ var newPks = [].concat(_toConsumableArray(k.peaks), [newPeak]);
138
+ var coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
139
+ return Object.assign({}, k, {
140
+ peaks: newPks,
141
+ mpyType: coupling.type,
142
+ js: coupling.js
143
+ });
144
+ }
145
+ return k;
146
+ });
147
+
148
+ if (!isDuplicate) {
149
+ _context2.next = 19;
150
+ break;
151
+ }
152
+
153
+ return _context2.abrupt('return');
154
+
155
+ case 19:
156
+ payload = Object.assign({}, mpySt, { stack: newStack });
157
+ _context2.next = 22;
158
+ return (0, _effects.put)({
159
+ type: _action_type.MULTIPLICITY.PEAK_ADD_BY_UI_RDC,
160
+ payload: payload
161
+ });
162
+
163
+ case 22:
164
+ case 'end':
165
+ return _context2.stop();
166
+ }
167
+ }
168
+ }, _marked2);
169
+ }
170
+
171
+ var rmPeakFromStack = function rmPeakFromStack(action, metaSt, mpySt) {
172
+ var _action$payload3 = action.payload,
173
+ peak = _action$payload3.peak,
174
+ xExtent = _action$payload3.xExtent;
175
+ var stack = mpySt.stack;
176
+
177
+ var newStack = stack.map(function (k) {
178
+ if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
179
+ var newPks = k.peaks.filter(function (pk) {
180
+ return pk.x !== peak.x;
181
+ });
182
+ var coupling = (0, _multiplicity_calc.calcMpyCoup)(newPks, metaSt);
183
+ return Object.assign({}, k, {
184
+ peaks: newPks,
185
+ mpyType: coupling.type,
186
+ js: coupling.js
187
+ });
188
+ }
189
+ return k;
190
+ });
191
+ newStack = newStack.filter(function (k) {
192
+ return k.peaks.length !== 0;
193
+ });
194
+ if (newStack.length === 0) return Object.assign({}, mpySt, { stack: newStack, smExtext: false });
195
+ var noSmExtext = newStack.map(function (k) {
196
+ return k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU ? 1 : 0;
197
+ }).reduce(function (a, s) {
198
+ return a + s;
199
+ }) === 0;
200
+ var newSmExtext = noSmExtext ? newStack[0].xExtent : xExtent;
201
+ return Object.assign({}, mpySt, { stack: newStack, smExtext: newSmExtext });
202
+ };
203
+
204
+ function rmPanelPeakFromStack(action) {
205
+ var metaSt, mpySt, payload;
206
+ return regeneratorRuntime.wrap(function rmPanelPeakFromStack$(_context3) {
207
+ while (1) {
208
+ switch (_context3.prev = _context3.next) {
209
+ case 0:
210
+ _context3.next = 2;
211
+ return (0, _effects.select)(getMetaSt);
212
+
213
+ case 2:
214
+ metaSt = _context3.sent;
215
+ _context3.next = 5;
216
+ return (0, _effects.select)(getMultiplicitySt);
217
+
218
+ case 5:
219
+ mpySt = _context3.sent;
220
+ payload = rmPeakFromStack(action, metaSt, mpySt);
221
+ _context3.next = 9;
222
+ return (0, _effects.put)({
223
+ type: _action_type.MULTIPLICITY.PEAK_RM_BY_PANEL_RDC,
224
+ payload: payload
225
+ });
226
+
227
+ case 9:
228
+ case 'end':
229
+ return _context3.stop();
230
+ }
231
+ }
232
+ }, _marked3);
233
+ }
234
+
235
+ function rmUiPeakFromStack(action) {
236
+ var metaSt, mpySt, peak, xExtent, newAction, payload;
237
+ return regeneratorRuntime.wrap(function rmUiPeakFromStack$(_context4) {
238
+ while (1) {
239
+ switch (_context4.prev = _context4.next) {
240
+ case 0:
241
+ _context4.next = 2;
242
+ return (0, _effects.select)(getMetaSt);
243
+
244
+ case 2:
245
+ metaSt = _context4.sent;
246
+ _context4.next = 5;
247
+ return (0, _effects.select)(getMultiplicitySt);
248
+
249
+ case 5:
250
+ mpySt = _context4.sent;
251
+ peak = action.payload;
252
+ xExtent = mpySt.smExtext;
253
+ newAction = Object.assign({}, action, { payload: { peak: peak, xExtent: xExtent } });
254
+ payload = rmPeakFromStack(newAction, metaSt, mpySt);
255
+ _context4.next = 12;
256
+ return (0, _effects.put)({
257
+ type: _action_type.MULTIPLICITY.PEAK_RM_BY_UI_RDC,
258
+ payload: payload
259
+ });
260
+
261
+ case 12:
262
+ case 'end':
263
+ return _context4.stop();
264
+ }
265
+ }
266
+ }, _marked4);
267
+ }
268
+
269
+ function resetInitNmr(action) {
270
+ var multiplicity, mpySt;
271
+ return regeneratorRuntime.wrap(function resetInitNmr$(_context5) {
272
+ while (1) {
273
+ switch (_context5.prev = _context5.next) {
274
+ case 0:
275
+ multiplicity = action.payload.multiplicity;
276
+ _context5.next = 3;
277
+ return (0, _effects.select)(getMultiplicitySt);
278
+
279
+ case 3:
280
+ mpySt = _context5.sent;
281
+
282
+ if (!multiplicity) {
283
+ _context5.next = 7;
284
+ break;
285
+ }
286
+
287
+ _context5.next = 7;
288
+ return (0, _effects.put)({
289
+ type: _action_type.MULTIPLICITY.RESET_ALL_RDC,
290
+ payload: Object.assign({}, mpySt, multiplicity)
291
+ });
292
+
293
+ case 7:
294
+ case 'end':
295
+ return _context5.stop();
296
+ }
297
+ }
298
+ }, _marked5);
299
+ }
300
+
301
+ function resetOne(action) {
302
+ var xExtent, metaSt, mpySt, stack, newStack, payload;
303
+ return regeneratorRuntime.wrap(function resetOne$(_context6) {
304
+ while (1) {
305
+ switch (_context6.prev = _context6.next) {
306
+ case 0:
307
+ xExtent = action.payload;
308
+ _context6.next = 3;
309
+ return (0, _effects.select)(getMetaSt);
310
+
311
+ case 3:
312
+ metaSt = _context6.sent;
313
+ _context6.next = 6;
314
+ return (0, _effects.select)(getMultiplicitySt);
315
+
316
+ case 6:
317
+ mpySt = _context6.sent;
318
+ stack = mpySt.stack;
319
+ newStack = stack.map(function (k) {
320
+ if (k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU) {
321
+ var peaks = k.peaks;
322
+
323
+ var coupling = (0, _multiplicity_calc.calcMpyCoup)(peaks, metaSt);
324
+ return Object.assign({}, k, {
325
+ peaks: peaks,
326
+ mpyType: coupling.type,
327
+ js: coupling.js
328
+ });
329
+ }
330
+ return k;
331
+ });
332
+ payload = Object.assign({}, mpySt, { stack: newStack });
333
+ _context6.next = 12;
334
+ return (0, _effects.put)({
335
+ type: _action_type.MULTIPLICITY.RESET_ONE_RDC,
336
+ payload: payload
337
+ });
338
+
339
+ case 12:
340
+ case 'end':
341
+ return _context6.stop();
342
+ }
343
+ }
344
+ }, _marked6);
345
+ }
346
+
347
+ function selectMpyType(action) {
348
+ var mpySt, metaSt, _action$payload4, mpyType, xExtent, stack, newStack;
349
+
350
+ return regeneratorRuntime.wrap(function selectMpyType$(_context7) {
351
+ while (1) {
352
+ switch (_context7.prev = _context7.next) {
353
+ case 0:
354
+ _context7.next = 2;
355
+ return (0, _effects.select)(getMultiplicitySt);
356
+
357
+ case 2:
358
+ mpySt = _context7.sent;
359
+ _context7.next = 5;
360
+ return (0, _effects.select)(getMetaSt);
361
+
362
+ case 5:
363
+ metaSt = _context7.sent;
364
+ _action$payload4 = action.payload, mpyType = _action$payload4.mpyType, xExtent = _action$payload4.xExtent;
365
+ stack = mpySt.stack;
366
+ newStack = stack.map(function (k) {
367
+ var isTargetStack = k.xExtent.xL === xExtent.xL && k.xExtent.xU === xExtent.xU;
368
+ if (isTargetStack) return (0, _multiplicity_manual.calcMpyManual)(k, mpyType, metaSt);
369
+ return k;
370
+ });
371
+ _context7.next = 11;
372
+ return (0, _effects.put)({
373
+ type: _action_type.MULTIPLICITY.TYPE_SELECT_RDC,
374
+ payload: Object.assign({}, mpySt, { stack: newStack })
375
+ });
376
+
377
+ case 11:
378
+ case 'end':
379
+ return _context7.stop();
380
+ }
381
+ }
382
+ }, _marked7);
383
+ }
384
+
385
+ 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)];
386
+
387
+ exports.default = multiplicitySagas;