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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (109) hide show
  1. package/LICENSE +662 -0
  2. package/README.md +37 -0
  3. package/dist/actions/edit_peak.js +25 -0
  4. package/dist/actions/forecast.js +41 -0
  5. package/dist/actions/integration.js +33 -0
  6. package/dist/actions/jcamp.js +41 -0
  7. package/dist/actions/layout.js +17 -0
  8. package/dist/actions/manager.js +49 -0
  9. package/dist/actions/meta.js +17 -0
  10. package/dist/actions/multiplicity.js +57 -0
  11. package/dist/actions/scan.js +33 -0
  12. package/dist/actions/shift.js +25 -0
  13. package/dist/actions/status.js +33 -0
  14. package/dist/actions/submit.js +41 -0
  15. package/dist/actions/threshold.js +33 -0
  16. package/dist/actions/ui.js +50 -0
  17. package/dist/app.js +125 -0
  18. package/dist/components/cmd_bar/01_viewer.js +133 -0
  19. package/dist/components/cmd_bar/02_zoom.js +119 -0
  20. package/dist/components/cmd_bar/03_peak.js +176 -0
  21. package/dist/components/cmd_bar/04_integration.js +273 -0
  22. package/dist/components/cmd_bar/05_multiplicity.js +228 -0
  23. package/dist/components/cmd_bar/06_undo_redo.js +137 -0
  24. package/dist/components/cmd_bar/common.js +104 -0
  25. package/dist/components/cmd_bar/index.js +113 -0
  26. package/dist/components/cmd_bar/r01_layout.js +351 -0
  27. package/dist/components/cmd_bar/r02_scan.js +226 -0
  28. package/dist/components/cmd_bar/r03_threshold.js +209 -0
  29. package/dist/components/cmd_bar/r04_submit.js +349 -0
  30. package/dist/components/cmd_bar/r05_submit_btn.js +147 -0
  31. package/dist/components/cmd_bar/r06_predict_btn.js +307 -0
  32. package/dist/components/cmd_bar/tri_btn.js +202 -0
  33. package/dist/components/common/chem.js +115 -0
  34. package/dist/components/common/comps.js +29 -0
  35. package/dist/components/common/draw.js +41 -0
  36. package/dist/components/d3_line/index.js +236 -0
  37. package/dist/components/d3_line/line_focus.js +765 -0
  38. package/dist/components/d3_rect/index.js +200 -0
  39. package/dist/components/d3_rect/rect_focus.js +301 -0
  40. package/dist/components/forecast/comps.js +337 -0
  41. package/dist/components/forecast/ir_comps.js +224 -0
  42. package/dist/components/forecast/ir_viewer.js +172 -0
  43. package/dist/components/forecast/nmr_comps.js +253 -0
  44. package/dist/components/forecast/nmr_viewer.js +170 -0
  45. package/dist/components/forecast/section_loading.js +95 -0
  46. package/dist/components/forecast_viewer.js +190 -0
  47. package/dist/components/panel/compare.js +370 -0
  48. package/dist/components/panel/index.js +191 -0
  49. package/dist/components/panel/info.js +335 -0
  50. package/dist/components/panel/multiplicity.js +405 -0
  51. package/dist/components/panel/multiplicity_coupling.js +195 -0
  52. package/dist/components/panel/multiplicity_select.js +114 -0
  53. package/dist/components/panel/peaks.js +296 -0
  54. package/dist/constants/action_type.js +140 -0
  55. package/dist/constants/list_layout.js +23 -0
  56. package/dist/constants/list_shift.js +480 -0
  57. package/dist/constants/list_ui.js +33 -0
  58. package/dist/fn.js +31 -0
  59. package/dist/helpers/brush.js +109 -0
  60. package/dist/helpers/calc.js +10 -0
  61. package/dist/helpers/carbonFeatures.js +47 -0
  62. package/dist/helpers/cfg.js +89 -0
  63. package/dist/helpers/chem.js +594 -0
  64. package/dist/helpers/compass.js +91 -0
  65. package/dist/helpers/converter.js +74 -0
  66. package/dist/helpers/extractParams.js +77 -0
  67. package/dist/helpers/extractPeaksEdit.js +69 -0
  68. package/dist/helpers/focus.js +15 -0
  69. package/dist/helpers/format.js +403 -0
  70. package/dist/helpers/init.js +80 -0
  71. package/dist/helpers/integration.js +30 -0
  72. package/dist/helpers/mount.js +112 -0
  73. package/dist/helpers/multiplicity.js +44 -0
  74. package/dist/helpers/multiplicity_calc.js +117 -0
  75. package/dist/helpers/multiplicity_complat.js +126 -0
  76. package/dist/helpers/multiplicity_manual.js +94 -0
  77. package/dist/helpers/multiplicity_verify_basic.js +196 -0
  78. package/dist/helpers/shift.js +48 -0
  79. package/dist/helpers/zoom.js +32 -0
  80. package/dist/index.js +705 -0
  81. package/dist/layer_content.js +125 -0
  82. package/dist/layer_init.js +231 -0
  83. package/dist/layer_prism.js +186 -0
  84. package/dist/reducers/index.js +89 -0
  85. package/dist/reducers/reducer_edit_peak.js +111 -0
  86. package/dist/reducers/reducer_forecast.js +113 -0
  87. package/dist/reducers/reducer_integration.js +136 -0
  88. package/dist/reducers/reducer_jcamp.js +74 -0
  89. package/dist/reducers/reducer_layout.js +27 -0
  90. package/dist/reducers/reducer_manager.js +20 -0
  91. package/dist/reducers/reducer_meta.js +30 -0
  92. package/dist/reducers/reducer_multiplicity.js +131 -0
  93. package/dist/reducers/reducer_scan.js +55 -0
  94. package/dist/reducers/reducer_shift.js +99 -0
  95. package/dist/reducers/reducer_simulation.js +30 -0
  96. package/dist/reducers/reducer_status.js +41 -0
  97. package/dist/reducers/reducer_submit.js +54 -0
  98. package/dist/reducers/reducer_threshold.js +34 -0
  99. package/dist/reducers/reducer_ui.js +46 -0
  100. package/dist/reducers/undo_redo_config.js +24 -0
  101. package/dist/sagas/index.js +50 -0
  102. package/dist/sagas/saga_edit_peak.js +84 -0
  103. package/dist/sagas/saga_manager.js +116 -0
  104. package/dist/sagas/saga_meta.js +46 -0
  105. package/dist/sagas/saga_multiplicity.js +387 -0
  106. package/dist/sagas/saga_ui.js +392 -0
  107. package/dist/third_party/jAnalyzer.js +596 -0
  108. package/dist/third_party/peakInterval.js +107 -0
  109. package/package.json +77 -0
@@ -0,0 +1,117 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcMpyCoup = exports.calcMpyJStr = exports.calcMpyCenter = undefined;
7
+
8
+ var _jAnalyzer = require('../third_party/jAnalyzer');
9
+
10
+ var _jAnalyzer2 = _interopRequireDefault(_jAnalyzer);
11
+
12
+ var _multiplicity = require('./multiplicity');
13
+
14
+ var _multiplicity_verify_basic = require('./multiplicity_verify_basic');
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ var centerX = function centerX(ps, shift) {
19
+ var pxs = ps.map(function (p) {
20
+ return p.x;
21
+ }).sort(function (a, b) {
22
+ return a - b;
23
+ });
24
+ var centIdx = (ps.length - 1) / 2;
25
+ if (centIdx < 0) return 0;
26
+ return pxs[centIdx] - shift;
27
+ };
28
+
29
+ var calcMpyCenter = function calcMpyCenter(ps, shift, typ) {
30
+ var count = ps.length;
31
+ var avgX = ps.reduce(function (sum, nxt) {
32
+ return sum + nxt.x;
33
+ }, 0) / ps.length - shift;
34
+ if (typ === 'm') return avgX;
35
+ if (count % 2 === 0) return avgX;
36
+ return centerX(ps, shift);
37
+ };
38
+
39
+ var calcMpyJStr = function calcMpyJStr(js) {
40
+ if (!Array.isArray(js) || js.length === 0) return ' - ';
41
+ var cJ = js.map(function (j) {
42
+ return j.toFixed(3);
43
+ }).join(', ');
44
+ return '' + cJ;
45
+ };
46
+
47
+ var calcMpyPeakWidth = function calcMpyPeakWidth(x, metaSt) {
48
+ var _metaSt$peaks = metaSt.peaks,
49
+ intervalL = _metaSt$peaks.intervalL,
50
+ intervalR = _metaSt$peaks.intervalR,
51
+ deltaX = _metaSt$peaks.deltaX;
52
+
53
+ var idxL = null;
54
+ intervalL.every(function (l, idx) {
55
+ if (l.x < x) {
56
+ idxL = idx - 1;
57
+ return false;
58
+ }
59
+ return true;
60
+ });
61
+ var idxR = null;
62
+ intervalR.every(function (l, idx) {
63
+ if (l.x < x) {
64
+ idxR = idx;
65
+ return false;
66
+ }
67
+ return true;
68
+ });
69
+ if (!idxL || !idxR) return 10 * deltaX;
70
+ return Math.abs(intervalL[idxL].x - intervalR[idxR].x);
71
+ };
72
+
73
+ var calcMpyCoup = function calcMpyCoup(pks, metaSt) {
74
+ if (pks.length === 0) return { type: '', js: '' };
75
+ var orderPks = pks.sort(function (a, b) {
76
+ return b.x - a.x;
77
+ });
78
+ var observeFrequency = metaSt.peaks.observeFrequency;
79
+
80
+ var peaks = orderPks.map(function (p) {
81
+ return {
82
+ x: p.x,
83
+ intensity: p.y,
84
+ width: calcMpyPeakWidth(p.x, metaSt)
85
+ };
86
+ });
87
+
88
+ var signal = {
89
+ nbPeaks: peaks.length,
90
+ observe: observeFrequency,
91
+ nucleus: '1H',
92
+ peaks: peaks
93
+ };
94
+ _jAnalyzer2.default.compilePattern(signal);
95
+ var type = signal.multiplicity;
96
+ var js = signal.nmrJs ? signal.nmrJs.map(function (j) {
97
+ return j.coupling;
98
+ }).sort() : [];
99
+
100
+ var isTPCMatch = (0, _multiplicity_verify_basic.verifyTypePeakCount)(type, peaks);
101
+ if (!isTPCMatch) return { type: 'm', js: [] };
102
+
103
+ if (['s', 'm'].indexOf(type) >= 0) return { type: type, js: js };
104
+
105
+ var oivs = (0, _multiplicity.getInterval)(orderPks);
106
+ if (type === 't') return (0, _multiplicity_verify_basic.verifyTypeT)(type, js, oivs, metaSt);
107
+ if (type === 'q') return (0, _multiplicity_verify_basic.verifyTypeQ)(type, js, oivs, metaSt);
108
+ if (type === 'quint') return (0, _multiplicity_verify_basic.verifyTypeQuint)(type, js, oivs, metaSt);
109
+ if (type === 'h') return (0, _multiplicity_verify_basic.verifyTypeH)(type, js, oivs, metaSt);
110
+ if (type === 'sept') return (0, _multiplicity_verify_basic.verifyTypeSept)(type, js, oivs, metaSt);
111
+ if (type === 'o') return (0, _multiplicity_verify_basic.verifyTypeO)(type, js, oivs, metaSt);
112
+ return { type: type, js: js };
113
+ };
114
+
115
+ exports.calcMpyCenter = calcMpyCenter;
116
+ exports.calcMpyJStr = calcMpyJStr;
117
+ exports.calcMpyCoup = calcMpyCoup;
@@ -0,0 +1,126 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcMpyComplat = undefined;
7
+
8
+ var _multiplicity = require('./multiplicity');
9
+
10
+ var calcMpyComplat = function calcMpyComplat(origPeaks) {
11
+ var peaks = origPeaks.sort(function (a, b) {
12
+ return a.x - b.x;
13
+ });
14
+ var count = peaks.length;
15
+ var itvs = (0, _multiplicity.getInterval)(peaks);
16
+ var gitvs = (0, _multiplicity.groupInterval)(itvs);
17
+ var type = 'm';
18
+ var js = [];
19
+ switch (count) {
20
+ case 1:
21
+ type = 's';
22
+ js = [];
23
+ break;
24
+ case 2:
25
+ if (gitvs.length === 1) {
26
+ type = 'd';
27
+ js = gitvs.map(function (g) {
28
+ return g.c;
29
+ });
30
+ break;
31
+ }
32
+ break;
33
+ case 3:
34
+ if (gitvs.length === 1) {
35
+ type = 't';
36
+ js = gitvs.map(function (g) {
37
+ return g.c;
38
+ });
39
+ break;
40
+ }
41
+ break;
42
+ case 4:
43
+ if (gitvs.length === 1) {
44
+ type = 'q';
45
+ js = gitvs.map(function (g) {
46
+ return g.c;
47
+ });
48
+ break;
49
+ } else if (gitvs.length === 2) {
50
+ type = 'dd';
51
+ js = gitvs.map(function (g) {
52
+ return g.c;
53
+ });
54
+ break;
55
+ }
56
+ break;
57
+ case 5:
58
+ if (gitvs.length === 1) {
59
+ type = 'quint';
60
+ js = gitvs.map(function (g) {
61
+ return g.c;
62
+ });
63
+ break;
64
+ }
65
+ break;
66
+ case 6:
67
+ if (gitvs.length === 1) {
68
+ type = 'h';
69
+ js = gitvs.map(function (g) {
70
+ return g.c;
71
+ });
72
+ break;
73
+ } else if (gitvs.length === 2) {
74
+ type = 'dt';
75
+ js = gitvs.map(function (g) {
76
+ return g.c;
77
+ });
78
+ break;
79
+ }
80
+ // td
81
+ break;
82
+ case 7:
83
+ if (gitvs.length === 1) {
84
+ type = 'sept';
85
+ js = gitvs.map(function (g) {
86
+ return g.c;
87
+ });
88
+ break;
89
+ } else if (gitvs.length === 3) {
90
+ type = 'ddd';
91
+ js = gitvs.map(function (g) {
92
+ return g.c;
93
+ });
94
+ break;
95
+ }
96
+ // td
97
+ break;
98
+ case 8:
99
+ if (gitvs.length === 1) {
100
+ type = 'o';
101
+ js = gitvs.map(function (g) {
102
+ return g.c;
103
+ });
104
+ break;
105
+ } else if (gitvs.length === 2) {
106
+ type = 'dq';
107
+ js = gitvs.map(function (g) {
108
+ return g.c;
109
+ });
110
+ break;
111
+ } else if (gitvs.length === 3) {
112
+ type = 'ddd';
113
+ js = gitvs.map(function (g) {
114
+ return g.c;
115
+ });
116
+ break;
117
+ }
118
+ // td
119
+ break;
120
+ default:
121
+ break;
122
+ }
123
+ return { type: type, js: js };
124
+ };
125
+
126
+ exports.calcMpyComplat = calcMpyComplat;
@@ -0,0 +1,94 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.calcMpyManual = undefined;
7
+
8
+ var _multiplicity = require('./multiplicity');
9
+
10
+ var isTypeM = function isTypeM(mpyType) {
11
+ return mpyType === 'm';
12
+ };
13
+ var isTypeBasic = function isTypeBasic(mpyType) {
14
+ return _multiplicity.mpyBasicPatterns.slice(1).indexOf(mpyType) >= 0;
15
+ };
16
+
17
+ var outputTypeM = function outputTypeM(k) {
18
+ return Object.assign({}, k, { mpyType: 'm', js: [] });
19
+ };
20
+
21
+ var outputTypeBasic = function outputTypeBasic(k, mpyType, ivs, freq) {
22
+ var numIvs = ivs.length || 1;
23
+ var js = [freq * ivs.reduce(function (sum, x) {
24
+ return sum + x;
25
+ }) / numIvs];
26
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
27
+ };
28
+
29
+ var outputTypeDD = function outputTypeDD(k, mpyType, ivs, freq) {
30
+ if (ivs.length >= 2) {
31
+ var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
32
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
33
+ }
34
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
35
+ };
36
+
37
+ var outputTypeDT = function outputTypeDT(k, mpyType, ivs, freq) {
38
+ if (ivs.length >= 4) {
39
+ var js = [freq * ivs[0], freq * (ivs[1] + ivs[2] + ivs[3])];
40
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
41
+ }
42
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
43
+ };
44
+
45
+ var outputTypeTD = function outputTypeTD(k, mpyType, ivs, freq) {
46
+ if (ivs.length >= 2) {
47
+ var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
48
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
49
+ }
50
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
51
+ };
52
+
53
+ var outputTypeDQ = function outputTypeDQ(k, mpyType, ivs, freq) {
54
+ if (ivs.length >= 2) {
55
+ var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
56
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
57
+ } // only consider J = ([1,2], [1,3]), not J = ([1,2], [1,5])
58
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
59
+ };
60
+
61
+ var outputTypeQD = function outputTypeQD(k, mpyType, ivs, freq) {
62
+ if (ivs.length >= 2) {
63
+ var js = [freq * ivs[0], freq * (ivs[0] + ivs[1])];
64
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
65
+ }
66
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
67
+ };
68
+
69
+ var outputTypeDDD = function outputTypeDDD(k, mpyType, ivs, freq) {
70
+ if (ivs.length >= 3) {
71
+ var js = [freq * ivs[0], freq * (ivs[0] + ivs[1]), freq * (ivs[0] + ivs[1] + ivs[2] + ivs[3])];
72
+ return Object.assign({}, k, { mpyType: mpyType, js: js });
73
+ }
74
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
75
+ };
76
+
77
+ var calcMpyManual = function calcMpyManual(k, mpyType, metaSt) {
78
+ var observeFrequency = metaSt.peaks.observeFrequency;
79
+
80
+ var freq = observeFrequency || 1.0;
81
+ var ivs = (0, _multiplicity.getInterval)(k.peaks);
82
+ if (ivs.length === 0) return Object.assign({}, k, { mpyType: mpyType, js: [] });
83
+ if (isTypeM(mpyType)) return outputTypeM(k);
84
+ if (isTypeBasic(mpyType)) return outputTypeBasic(k, mpyType, ivs, freq);
85
+ if (mpyType === 'dd') return outputTypeDD(k, mpyType, ivs, freq);
86
+ if (mpyType === 'dt') return outputTypeDT(k, mpyType, ivs, freq);
87
+ if (mpyType === 'td') return outputTypeTD(k, mpyType, ivs, freq);
88
+ if (mpyType === 'dq') return outputTypeDQ(k, mpyType, ivs, freq);
89
+ if (mpyType === 'qd') return outputTypeQD(k, mpyType, ivs, freq);
90
+ if (mpyType === 'ddd') return outputTypeDDD(k, mpyType, ivs, freq);
91
+ return Object.assign({}, k, { mpyType: mpyType, js: [] });
92
+ };
93
+
94
+ exports.calcMpyManual = calcMpyManual;
@@ -0,0 +1,196 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ 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); } }
8
+
9
+ // ---------------------------------------------------------------
10
+ // verifyTypePeakCount
11
+ // ---------------------------------------------------------------
12
+
13
+ var verifyTypePeakCount = function verifyTypePeakCount(type, peaks) {
14
+ var isBasicWrong = type === 's' && peaks.length > 1 || type === 'd' && peaks.length > 2 || type === 't' && peaks.length > 3 || type === 'q' && peaks.length > 4 || type === 'quint' && peaks.length > 5 || type === 'h' && peaks.length > 6 || type === 'sept' && peaks.length > 7 || type === 'o' && peaks.length > 8 || type === 'n' && peaks.length > 9;
15
+ var limit = 1;
16
+ var mStr = type;
17
+ limit *= Math.pow(5, (mStr.match(/quint/g) || []).length);
18
+ mStr = mStr.replace(/quint/g, '');
19
+ limit *= Math.pow(7, (mStr.match(/sept/g) || []).length);
20
+ mStr = mStr.replace(/sept/g, '');
21
+ limit *= Math.pow(2, (mStr.match(/d/g) || []).length);
22
+ mStr = mStr.replace(/d/g, '');
23
+ limit *= Math.pow(3, (mStr.match(/t/g) || []).length);
24
+ mStr = mStr.replace(/t/g, '');
25
+ limit *= Math.pow(4, (mStr.match(/q/g) || []).length);
26
+ mStr = mStr.replace(/q/g, '');
27
+ limit *= Math.pow(6, (mStr.match(/h/g) || []).length);
28
+ mStr = mStr.replace(/h/g, '');
29
+ limit *= Math.pow(8, (mStr.match(/o/g) || []).length);
30
+ mStr = mStr.replace(/o/g, '');
31
+ limit *= Math.pow(9, (mStr.match(/n/g) || []).length);
32
+ mStr = mStr.replace(/n/g, '');
33
+ var isAdvanWrong = peaks.length > limit;
34
+ return !(isBasicWrong || isAdvanWrong);
35
+ };
36
+
37
+ // ---------------------------------------------------------------
38
+ // Basic Multiplicity verification
39
+ // ---------------------------------------------------------------
40
+
41
+ var allowedTolerance = 0.15;
42
+
43
+ var faktor = 1.1;
44
+
45
+ var passRuleIntervalCounts = function passRuleIntervalCounts(oivs, limit) {
46
+ return oivs.length === limit;
47
+ };
48
+
49
+ var getRuleParams = function getRuleParams(oivs, metaSt) {
50
+ var _metaSt$peaks = metaSt.peaks,
51
+ deltaX = _metaSt$peaks.deltaX,
52
+ observeFrequency = _metaSt$peaks.observeFrequency;
53
+
54
+ var sivs = [].concat(_toConsumableArray(oivs)).sort(function (a, b) {
55
+ return b - a;
56
+ });
57
+ var ref = sivs[0];
58
+ var rDeltaX = Math.abs(2 * deltaX / ref);
59
+ var tTolerance = rDeltaX > allowedTolerance ? rDeltaX : allowedTolerance;
60
+ var tolerance = Math.abs(tTolerance * faktor);
61
+ var roivs = oivs.map(function (oiv) {
62
+ return oiv / ref;
63
+ });
64
+ var rsivs = sivs.map(function (siv) {
65
+ return siv / ref;
66
+ });
67
+ return {
68
+ roivs: roivs, rsivs: rsivs, tolerance: tolerance, observeFrequency: observeFrequency
69
+ };
70
+ };
71
+
72
+ var verifyTypeT = function verifyTypeT(type, js, oivs, metaSt) {
73
+ if (!passRuleIntervalCounts(oivs, 2)) return { type: 'm', js: [] };
74
+
75
+ var _getRuleParams = getRuleParams(oivs, metaSt),
76
+ rsivs = _getRuleParams.rsivs,
77
+ tolerance = _getRuleParams.tolerance;
78
+
79
+ var isT = Math.abs(rsivs[0] - rsivs[1]) < tolerance;
80
+ if (isT) return { type: type, js: js };
81
+ return { type: 'm', js: [] };
82
+ };
83
+
84
+ var verifyTypeQ = function verifyTypeQ(type, js, oivs, metaSt) {
85
+ if (!passRuleIntervalCounts(oivs, 3)) return { type: 'm', js: [] };
86
+
87
+ var _getRuleParams2 = getRuleParams(oivs, metaSt),
88
+ roivs = _getRuleParams2.roivs,
89
+ rsivs = _getRuleParams2.rsivs,
90
+ tolerance = _getRuleParams2.tolerance,
91
+ observeFrequency = _getRuleParams2.observeFrequency;
92
+
93
+ var isQ = Math.abs(rsivs[0] - rsivs[2]) < tolerance;
94
+ if (isQ) return { type: type, js: js };
95
+
96
+ var isDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
97
+ var ddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
98
+ if (isDD) return { type: 'dd', js: ddJs };
99
+ return { type: 'm', js: [] };
100
+ };
101
+
102
+ var verifyTypeQuint = function verifyTypeQuint(type, js, oivs, metaSt) {
103
+ if (!passRuleIntervalCounts(oivs, 4)) return { type: 'm', js: [] };
104
+
105
+ var _getRuleParams3 = getRuleParams(oivs, metaSt),
106
+ rsivs = _getRuleParams3.rsivs,
107
+ tolerance = _getRuleParams3.tolerance;
108
+
109
+ var isQuint = Math.abs(rsivs[0] - rsivs[3]) < tolerance;
110
+ if (isQuint) return { type: type, js: js };
111
+ return { type: 'm', js: [] };
112
+ };
113
+
114
+ var verifyTypeH = function verifyTypeH(type, js, oivs, metaSt) {
115
+ if (!passRuleIntervalCounts(oivs, 5)) return { type: 'm', js: [] };
116
+
117
+ var _getRuleParams4 = getRuleParams(oivs, metaSt),
118
+ roivs = _getRuleParams4.roivs,
119
+ rsivs = _getRuleParams4.rsivs,
120
+ tolerance = _getRuleParams4.tolerance,
121
+ observeFrequency = _getRuleParams4.observeFrequency;
122
+
123
+ var isH = Math.abs(rsivs[0] - rsivs[4]) < tolerance;
124
+ if (isH) return { type: type, js: js };
125
+ var isTD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
126
+ var tdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
127
+ if (isTD) return { type: 'td', js: tdJs };
128
+ var isDT1 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
129
+ var dt1Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
130
+ if (isDT1) return { type: 'dt', js: dt1Js };
131
+ var isDT2 = Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[2]) >= tolerance;
132
+ var dt2Js = [oivs[0] * observeFrequency, (oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
133
+ if (isDT2) return { type: 'dt', js: dt2Js };
134
+ return { type: 'm', js: [] };
135
+ };
136
+
137
+ var verifyTypeSept = function verifyTypeSept(type, js, oivs, metaSt) {
138
+ if (!passRuleIntervalCounts(oivs, 6)) return { type: 'm', js: [] };
139
+
140
+ var _getRuleParams5 = getRuleParams(oivs, metaSt),
141
+ roivs = _getRuleParams5.roivs,
142
+ rsivs = _getRuleParams5.rsivs,
143
+ tolerance = _getRuleParams5.tolerance,
144
+ observeFrequency = _getRuleParams5.observeFrequency;
145
+
146
+ var isSept = Math.abs(rsivs[0] - rsivs[5]) < tolerance;
147
+ if (isSept) return { type: type, js: js };
148
+
149
+ var isDDD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[1] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
150
+ var dddJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
151
+ if (isDDD) return { type: 'ddd', js: dddJs };
152
+ return { type: 'm', js: [] };
153
+ };
154
+
155
+ var verifyTypeO = function verifyTypeO(type, js, oivs, metaSt) {
156
+ if (!passRuleIntervalCounts(oivs, 7)) return { type: 'm', js: [] };
157
+
158
+ var _getRuleParams6 = getRuleParams(oivs, metaSt),
159
+ roivs = _getRuleParams6.roivs,
160
+ rsivs = _getRuleParams6.rsivs,
161
+ tolerance = _getRuleParams6.tolerance,
162
+ observeFrequency = _getRuleParams6.observeFrequency;
163
+
164
+ var isO = Math.abs(rsivs[0] - rsivs[6]) < tolerance;
165
+ if (isO) return { type: type, js: js };
166
+
167
+ var isQD = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[3]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
168
+ var qdJs = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
169
+ if (isQD) return { type: 'qd', js: qdJs };
170
+
171
+ var isDQ1 = Math.abs(roivs[0] - roivs[1] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[4] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
172
+ var dq1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency];
173
+ if (isDQ1) return { type: 'dq', js: dq1Js };
174
+
175
+ var isDQ2 = Math.abs(roivs[0] - roivs[1]) < tolerance && Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[0] - roivs[3]) >= tolerance;
176
+ var dq2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
177
+ if (isDQ2) return { type: 'dq', js: dq2Js };
178
+
179
+ var isDDD1 = Math.abs(roivs[0] - roivs[2]) < tolerance && Math.abs(roivs[0] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance;
180
+ var ddd1Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2] + oivs[3]) * observeFrequency];
181
+ if (isDDD1) return { type: 'ddd', js: ddd1Js };
182
+
183
+ var isDDD2 = Math.abs(roivs[0] - roivs[2] - roivs[3]) < tolerance && Math.abs(roivs[0] - roivs[3] - roivs[4]) < tolerance && Math.abs(roivs[0] - roivs[6]) < tolerance && Math.abs(roivs[1] - roivs[5]) < tolerance && Math.abs(roivs[0] - roivs[1]) >= tolerance;
184
+ var ddd2Js = [oivs[0] * observeFrequency, (oivs[0] + oivs[1]) * observeFrequency, (oivs[0] + oivs[1] + oivs[2]) * observeFrequency];
185
+ if (isDDD2) return { type: 'ddd', js: ddd2Js };
186
+
187
+ return { type: 'm', js: [] };
188
+ };
189
+
190
+ exports.verifyTypeT = verifyTypeT;
191
+ exports.verifyTypeQ = verifyTypeQ;
192
+ exports.verifyTypeQuint = verifyTypeQuint;
193
+ exports.verifyTypeH = verifyTypeH;
194
+ exports.verifyTypeSept = verifyTypeSept;
195
+ exports.verifyTypeO = verifyTypeO;
196
+ exports.verifyTypePeakCount = verifyTypePeakCount;
@@ -0,0 +1,48 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RealPts = exports.VirtalPts = exports.CalcResidualX = exports.FromManualToOffset = undefined;
7
+
8
+ var _list_shift = require('../constants/list_shift');
9
+
10
+ var shiftNone = _list_shift.LIST_SHIFT_13C[0];
11
+
12
+ var FromManualToOffset = function FromManualToOffset(ref, peak) {
13
+ if (!peak || ref.name === shiftNone.name) return 0;
14
+ var offset = peak.x - ref.value;
15
+ return offset || 0;
16
+ };
17
+
18
+ var CalcResidualX = function CalcResidualX(origRef, origApex, nextApex) {
19
+ if (!nextApex) return 0.0; // nextApex = false
20
+ if (origRef.name === shiftNone.name) return 0.0;
21
+ var origApexX = origApex ? origApex.x : 0.0;
22
+ var origShift = origApexX === 0.0 ? 0.0 : origRef.value; // orig shift
23
+ var resX = origShift - origApexX;
24
+ return resX;
25
+ };
26
+
27
+ var VirtalPts = function VirtalPts(pts, resX) {
28
+ return pts.map(function (pt) {
29
+ return Object.assign({
30
+ x: pt.x + resX,
31
+ y: pt.y
32
+ });
33
+ });
34
+ };
35
+
36
+ var RealPts = function RealPts(pts, resX) {
37
+ return pts.map(function (pt) {
38
+ return Object.assign({
39
+ x: pt.x - resX,
40
+ y: pt.y
41
+ });
42
+ });
43
+ };
44
+
45
+ exports.FromManualToOffset = FromManualToOffset;
46
+ exports.CalcResidualX = CalcResidualX;
47
+ exports.VirtalPts = VirtalPts;
48
+ exports.RealPts = RealPts;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+
7
+ var _d = require('d3');
8
+
9
+ var d3 = _interopRequireWildcard(_d);
10
+
11
+ function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
12
+
13
+ var resetZoom = function resetZoom(main) {
14
+ main.svg.call(main.zoom.transform, d3.zoomIdentity);
15
+ main.svg.selectAll('.brush').call(main.brush.move, null);
16
+ };
17
+
18
+ var MountZoom = function MountZoom(main, zoomed) {
19
+ var zoomedCb = function zoomedCb() {
20
+ return zoomed(main);
21
+ };
22
+ var resetZoomCb = function resetZoomCb() {
23
+ d3.event.stopPropagation();
24
+ d3.event.preventDefault();
25
+ resetZoom(main);
26
+ };
27
+
28
+ main.zoom.on('zoom', zoomedCb);
29
+ main.svg.call(main.zoom).on('contextmenu.zoom', resetZoomCb);
30
+ };
31
+
32
+ exports.default = MountZoom;