react-science 0.25.0 → 0.26.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.
Files changed (166) hide show
  1. package/lib/app/explorer/MeasurementExplorer.js +29 -7
  2. package/lib/app/explorer/MeasurementExplorerWithState.js +2 -2
  3. package/lib/app/helpers/MeasurementPlot.js +28 -19
  4. package/lib/app/helpers/react-plot.js +1 -1
  5. package/lib/app/kinds/mass/MassPlotView.js +2 -2
  6. package/lib/app/kinds/mass/MeasurementMassPlot.js +49 -33
  7. package/lib/app/panels/measurement-info/MeasurementInfoPanel.js +13 -58
  8. package/lib/app-data/state/data/data.helpers.js +32 -8
  9. package/lib/components/forms/Checkbox.js +4 -5
  10. package/lib/components/forms/Input.js +3 -87
  11. package/lib/components/forms/TextArea.js +25 -0
  12. package/lib/components/forms/index.js +2 -0
  13. package/lib/components/forms/radio-group/ButtonRadioItem.js +76 -0
  14. package/lib/components/forms/radio-group/ClassicRadioItem.js +92 -0
  15. package/lib/components/forms/radio-group/RadioGroup.js +69 -0
  16. package/lib/components/forms/radio-group/index.js +17 -0
  17. package/lib/components/forms/styles.js +80 -0
  18. package/lib/components/forms/utils/SubText.js +20 -0
  19. package/lib/components/forms/utils/index.js +17 -0
  20. package/lib/components/header/PanelHeader.js +51 -0
  21. package/lib/components/header/index.js +1 -0
  22. package/lib/components/index.js +1 -0
  23. package/lib/components/info-panel/InfoPanel.js +94 -0
  24. package/lib/components/info-panel/index.js +17 -0
  25. package/lib/components/modal/ConfirmModal.js +3 -2
  26. package/lib/components/modal/Modal.js +3 -1
  27. package/lib/components/table/Table.js +2 -2
  28. package/lib/components/toolbar/PanelPreferencesToolbar.js +26 -0
  29. package/lib/components/toolbar/index.js +1 -0
  30. package/lib-esm/app/explorer/MeasurementExplorer.d.ts.map +1 -1
  31. package/lib-esm/app/explorer/MeasurementExplorer.js +30 -8
  32. package/lib-esm/app/explorer/MeasurementExplorer.js.map +1 -1
  33. package/lib-esm/app/explorer/MeasurementExplorerWithState.d.ts.map +1 -1
  34. package/lib-esm/app/explorer/MeasurementExplorerWithState.js +2 -2
  35. package/lib-esm/app/explorer/MeasurementExplorerWithState.js.map +1 -1
  36. package/lib-esm/app/helpers/MeasurementPlot.d.ts +3 -3
  37. package/lib-esm/app/helpers/MeasurementPlot.d.ts.map +1 -1
  38. package/lib-esm/app/helpers/MeasurementPlot.js +28 -19
  39. package/lib-esm/app/helpers/MeasurementPlot.js.map +1 -1
  40. package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
  41. package/lib-esm/app/helpers/react-plot.js +1 -1
  42. package/lib-esm/app/helpers/react-plot.js.map +1 -1
  43. package/lib-esm/app/kinds/mass/MassPlotView.d.ts.map +1 -1
  44. package/lib-esm/app/kinds/mass/MassPlotView.js +2 -2
  45. package/lib-esm/app/kinds/mass/MassPlotView.js.map +1 -1
  46. package/lib-esm/app/kinds/mass/MeasurementMassPlot.d.ts.map +1 -1
  47. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js +49 -33
  48. package/lib-esm/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
  49. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.d.ts.map +1 -1
  50. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js +15 -60
  51. package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js.map +1 -1
  52. package/lib-esm/app-data/state/data/data.helpers.d.ts +20 -12
  53. package/lib-esm/app-data/state/data/data.helpers.d.ts.map +1 -1
  54. package/lib-esm/app-data/state/data/data.helpers.js +30 -7
  55. package/lib-esm/app-data/state/data/data.helpers.js.map +1 -1
  56. package/lib-esm/components/forms/Checkbox.d.ts.map +1 -1
  57. package/lib-esm/components/forms/Checkbox.js +1 -2
  58. package/lib-esm/components/forms/Checkbox.js.map +1 -1
  59. package/lib-esm/components/forms/Input.d.ts +4 -2
  60. package/lib-esm/components/forms/Input.d.ts.map +1 -1
  61. package/lib-esm/components/forms/Input.js +3 -87
  62. package/lib-esm/components/forms/Input.js.map +1 -1
  63. package/lib-esm/components/forms/TextArea.d.ts +8 -0
  64. package/lib-esm/components/forms/TextArea.d.ts.map +1 -0
  65. package/lib-esm/components/forms/TextArea.js +19 -0
  66. package/lib-esm/components/forms/TextArea.js.map +1 -0
  67. package/lib-esm/components/forms/index.d.ts +2 -0
  68. package/lib-esm/components/forms/index.d.ts.map +1 -1
  69. package/lib-esm/components/forms/index.js +2 -0
  70. package/lib-esm/components/forms/index.js.map +1 -1
  71. package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts +3 -0
  72. package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts.map +1 -0
  73. package/lib-esm/components/forms/radio-group/ButtonRadioItem.js +50 -0
  74. package/lib-esm/components/forms/radio-group/ButtonRadioItem.js.map +1 -0
  75. package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts +3 -0
  76. package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts.map +1 -0
  77. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js +66 -0
  78. package/lib-esm/components/forms/radio-group/ClassicRadioItem.js.map +1 -0
  79. package/lib-esm/components/forms/radio-group/RadioGroup.d.ts +18 -0
  80. package/lib-esm/components/forms/radio-group/RadioGroup.d.ts.map +1 -0
  81. package/lib-esm/components/forms/radio-group/RadioGroup.js +43 -0
  82. package/lib-esm/components/forms/radio-group/RadioGroup.js.map +1 -0
  83. package/lib-esm/components/forms/radio-group/index.d.ts +2 -0
  84. package/lib-esm/components/forms/radio-group/index.d.ts.map +1 -0
  85. package/lib-esm/components/forms/radio-group/index.js +2 -0
  86. package/lib-esm/components/forms/radio-group/index.js.map +1 -0
  87. package/lib-esm/components/forms/styles.d.ts +26 -0
  88. package/lib-esm/components/forms/styles.d.ts.map +1 -0
  89. package/lib-esm/components/forms/styles.js +75 -0
  90. package/lib-esm/components/forms/styles.js.map +1 -0
  91. package/lib-esm/components/forms/utils/SubText.d.ts +7 -0
  92. package/lib-esm/components/forms/utils/SubText.d.ts.map +1 -0
  93. package/lib-esm/components/forms/utils/SubText.js +17 -0
  94. package/lib-esm/components/forms/utils/SubText.js.map +1 -0
  95. package/lib-esm/components/forms/utils/index.d.ts +2 -0
  96. package/lib-esm/components/forms/utils/index.d.ts.map +1 -0
  97. package/lib-esm/components/forms/utils/index.js +2 -0
  98. package/lib-esm/components/forms/utils/index.js.map +1 -0
  99. package/lib-esm/components/header/PanelHeader.d.ts +10 -0
  100. package/lib-esm/components/header/PanelHeader.d.ts.map +1 -0
  101. package/lib-esm/components/header/PanelHeader.js +48 -0
  102. package/lib-esm/components/header/PanelHeader.js.map +1 -0
  103. package/lib-esm/components/header/index.d.ts +1 -0
  104. package/lib-esm/components/header/index.d.ts.map +1 -1
  105. package/lib-esm/components/header/index.js +1 -0
  106. package/lib-esm/components/header/index.js.map +1 -1
  107. package/lib-esm/components/index.d.ts +1 -0
  108. package/lib-esm/components/index.d.ts.map +1 -1
  109. package/lib-esm/components/index.js +1 -0
  110. package/lib-esm/components/index.js.map +1 -1
  111. package/lib-esm/components/info-panel/InfoPanel.d.ts +15 -0
  112. package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -0
  113. package/lib-esm/components/info-panel/InfoPanel.js +91 -0
  114. package/lib-esm/components/info-panel/InfoPanel.js.map +1 -0
  115. package/lib-esm/components/info-panel/index.d.ts +2 -0
  116. package/lib-esm/components/info-panel/index.d.ts.map +1 -0
  117. package/lib-esm/components/info-panel/index.js +2 -0
  118. package/lib-esm/components/info-panel/index.js.map +1 -0
  119. package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
  120. package/lib-esm/components/modal/ConfirmModal.js +3 -2
  121. package/lib-esm/components/modal/ConfirmModal.js.map +1 -1
  122. package/lib-esm/components/modal/Modal.d.ts.map +1 -1
  123. package/lib-esm/components/modal/Modal.js +3 -1
  124. package/lib-esm/components/modal/Modal.js.map +1 -1
  125. package/lib-esm/components/table/Table.d.ts +2 -3
  126. package/lib-esm/components/table/Table.d.ts.map +1 -1
  127. package/lib-esm/components/table/Table.js +2 -2
  128. package/lib-esm/components/table/Table.js.map +1 -1
  129. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts +7 -0
  130. package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -0
  131. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +23 -0
  132. package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -0
  133. package/lib-esm/components/toolbar/index.d.ts +1 -0
  134. package/lib-esm/components/toolbar/index.d.ts.map +1 -1
  135. package/lib-esm/components/toolbar/index.js +1 -0
  136. package/lib-esm/components/toolbar/index.js.map +1 -1
  137. package/package.json +16 -14
  138. package/src/app/explorer/MeasurementExplorer.tsx +34 -12
  139. package/src/app/explorer/MeasurementExplorerWithState.tsx +2 -2
  140. package/src/app/helpers/MeasurementPlot.tsx +44 -33
  141. package/src/app/helpers/react-plot.tsx +6 -4
  142. package/src/app/kinds/mass/MassPlotView.tsx +2 -2
  143. package/src/app/kinds/mass/MeasurementMassPlot.tsx +57 -37
  144. package/src/app/panels/measurement-info/MeasurementInfoPanel.tsx +14 -84
  145. package/src/app-data/state/data/data.helpers.ts +49 -16
  146. package/src/components/forms/Checkbox.tsx +2 -3
  147. package/src/components/forms/Input.tsx +14 -125
  148. package/src/components/forms/TextArea.tsx +45 -0
  149. package/src/components/forms/index.ts +2 -0
  150. package/src/components/forms/radio-group/ButtonRadioItem.tsx +77 -0
  151. package/src/components/forms/radio-group/ClassicRadioItem.tsx +95 -0
  152. package/src/components/forms/radio-group/RadioGroup.tsx +83 -0
  153. package/src/components/forms/radio-group/index.ts +1 -0
  154. package/src/components/forms/styles.ts +96 -0
  155. package/src/components/forms/utils/SubText.tsx +31 -0
  156. package/src/components/forms/utils/index.ts +1 -0
  157. package/src/components/header/PanelHeader.tsx +75 -0
  158. package/src/components/header/index.ts +1 -0
  159. package/src/components/index.ts +1 -0
  160. package/src/components/info-panel/InfoPanel.tsx +150 -0
  161. package/src/components/info-panel/index.ts +1 -0
  162. package/src/components/modal/ConfirmModal.tsx +3 -2
  163. package/src/components/modal/Modal.tsx +3 -1
  164. package/src/components/table/Table.tsx +3 -5
  165. package/src/components/toolbar/PanelPreferencesToolbar.tsx +46 -0
  166. package/src/components/toolbar/index.ts +1 -0
@@ -1,6 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import styled from '@emotion/styled';
3
- import { useState } from 'react';
3
+ import { useMemo, useState } from 'react';
4
4
  import { FaExchangeAlt, FaArrowsAltH } from 'react-icons/fa';
5
5
  import { MeasurementPlot } from '../helpers/index';
6
6
  const MeasurementExplorerRoot = styled.div `
@@ -23,13 +23,35 @@ const MeasurementExplorerAction = styled.div `
23
23
  display: flex;
24
24
  `;
25
25
  export function MeasurementExplorer(props) {
26
- const { measurement: { data }, width = '100%', height = '100%', } = props;
26
+ const { measurement, width = '100%', height = '100%' } = props;
27
+ const measurementsArray = useMemo(() => (Array.isArray(measurement) ? measurement : [measurement]), [measurement]);
28
+ const varNames = useMemo(() => {
29
+ const varNames = [];
30
+ for (const [i, { data }] of measurementsArray.entries()) {
31
+ for (const { variables } of data) {
32
+ const names = [];
33
+ for (const varName in variables) {
34
+ if (i === 0) {
35
+ names.push(varName);
36
+ }
37
+ else if (!varNames.flat().includes(varName)) {
38
+ throw new Error(`Measurements selected does not have the same variables `);
39
+ }
40
+ }
41
+ varNames.push(names);
42
+ }
43
+ }
44
+ return varNames;
45
+ }, [measurementsArray]);
27
46
  function defaultInfo(dataIndex) {
28
- const varNames = Object.keys(data[dataIndex].variables);
29
47
  return {
30
48
  dataIndex,
31
- xVariableName: varNames.includes('x') ? 'x' : varNames[0],
32
- yVariableName: varNames.includes('y') ? 'y' : varNames[1],
49
+ xVariableName: varNames[dataIndex].includes('x')
50
+ ? 'x'
51
+ : varNames[dataIndex][0],
52
+ yVariableName: varNames[dataIndex].includes('y')
53
+ ? 'y'
54
+ : varNames[dataIndex][1],
33
55
  };
34
56
  }
35
57
  const [info, setInfo] = useState({
@@ -46,9 +68,9 @@ export function MeasurementExplorer(props) {
46
68
  const formatVarKey = `${varKey} - `;
47
69
  return formatVarKey + label + formatUnit;
48
70
  }
49
- const { variables } = data[info.dataIndex];
71
+ const { variables } = measurementsArray[0].data[info.dataIndex];
50
72
  const oppositeAxis = axis === 'x' ? 'yVariableName' : 'xVariableName';
51
- return Object.keys(variables).map((d) => {
73
+ return varNames[info.dataIndex].map((d) => {
52
74
  if (d !== info[oppositeAxis]) {
53
75
  return (_jsx("option", { value: d, children: formatVar(d) }, d));
54
76
  }
@@ -63,7 +85,7 @@ export function MeasurementExplorer(props) {
63
85
  ...defaultInfo(value),
64
86
  }));
65
87
  }
66
- }, children: data.map((d, i) => (
88
+ }, children: measurementsArray[0].data.map((d, i) => (
67
89
  // eslint-disable-next-line react/no-array-index-key
68
90
  _jsx("option", { value: i, children: i }, i))) })] }), _jsxs("div", { children: [_jsx("label", { children: "xVariable: " }), _jsx(MeasurementExplorerSelect, { onChange: ({ target }) => {
69
91
  const value = target.value;
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementExplorer.js","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorer.tsx"],"names":[],"mappings":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE7D,OAAO,EAAE,eAAe,EAAwB,MAAM,kBAAkB,CAAC;AAWzE,MAAM,uBAAuB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAGzC,CAAC;AAEF,MAAM,0BAA0B,GAAG,MAAM,CAAC,GAAG,CAAA;;;;CAI5C,CAAC;AAEF,MAAM,yBAAyB,GAAG,MAAM,CAAC,MAAM,CAAA;;;;;CAK9C,CAAC;AAEF,MAAM,yBAAyB,GAAG,MAAM,CAAC,GAAG,CAAA;;;CAG3C,CAAC;AAEF,MAAM,UAAU,mBAAmB,CAAC,KAA+B;IACjE,MAAM,EACJ,WAAW,EAAE,EAAE,IAAI,EAAE,EACrB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,MAAM,GAChB,GAAG,KAAK,CAAC;IAEV,SAAS,WAAW,CAAC,SAAiB;QACpC,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC;QACxD,OAAO;YACL,SAAS;YACT,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YACzD,aAAa,EAAE,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;SAC1D,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAe;QAC7C,kBAAkB,EAAE,KAAK;QACzB,GAAG,WAAW,CAAC,CAAC,CAAC;KAClB,CAAC,CAAC;IAEH;;MAEE;IACF,SAAS,iBAAiB,CAAC,IAAe;QACxC,SAAS,SAAS,CAAC,MAAc;YAC/B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3C,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAC9C,MAAM,YAAY,GAAG,GAAG,MAAM,KAAK,CAAC;YACpC,OAAO,YAAY,GAAG,KAAK,GAAG,UAAU,CAAC;QAC3C,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAM,YAAY,GAAG,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC;QACtE,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACtC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,EAAE;gBAC5B,OAAO,CACL,iBAAgB,KAAK,EAAE,CAAC,YACrB,SAAS,CAAC,CAAC,CAAC,IADF,CAAC,CAEL,CACV,CAAC;aACH;YACD,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,CACL,MAAC,uBAAuB,IAAC,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,aAC/C,MAAC,0BAA0B,eACzB,0BACE,0CAA0B,EAC1B,KAAC,yBAAyB,IACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oCACvB,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;oCACnC,IAAI,KAAK,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;wCAC/C,OAAO,CAAC,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;4CACnC,kBAAkB;4CAClB,GAAG,WAAW,CAAC,KAAK,CAAC;yCACtB,CAAC,CAAC,CAAC;qCACL;gCACH,CAAC,YAEA,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;gCAClB,oDAAoD;gCACpD,iBAAgB,KAAK,EAAE,CAAC,YACrB,CAAC,IADS,CAAC,CAEL,CACV,CAAC,GACwB,IACxB,EACN,0BACE,0CAA0B,EAC1B,KAAC,yBAAyB,IACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oCACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oCAC3B,IAAI,KAAK,EAAE;wCACT,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;qCACxD;gCACH,CAAC,EACD,KAAK,EAAE,IAAI,CAAC,aAAa,YAExB,iBAAiB,CAAC,GAAG,CAAC,GACG,IACxB,EACN,wBACE,KAAC,aAAa,IACZ,KAAK,EAAE,EAAE,SAAS,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAC1C,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gCACtD,GAAG,IAAI;gCACP,aAAa,EAAE,aAAa;gCAC5B,aAAa,EAAE,aAAa;6BAC7B,CAAC,CAAC,GAEL,GACE,EACN,0BACE,0CAA0B,EAC1B,KAAC,yBAAyB,IACxB,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;oCACvB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;oCAC3B,IAAI,KAAK,EAAE;wCACT,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;qCACxD;gCACH,CAAC,EACD,KAAK,EAAE,IAAI,CAAC,aAAa,YAExB,iBAAiB,CAAC,GAAG,CAAC,GACG,IACxB,EACN,MAAC,yBAAyB,wCAExB,KAAC,YAAY,IACX,KAAK,EAAE;oCACL,MAAM,EAAE,SAAS;oCACjB,MAAM,EAAE,iBAAiB;oCACzB,OAAO,EAAE,CAAC;oCACV,UAAU,EAAE,CAAC;iCACd,EACD,IAAI,EAAC,IAAI,EACT,OAAO,EAAE,GAAG,EAAE,CACZ,OAAO,CAAC,CAAC,EAAE,kBAAkB,EAAE,GAAG,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;oCAC7C,kBAAkB,EAAE,CAAC,kBAAkB;oCACvC,GAAG,KAAK;iCACT,CAAC,CAAC,GAEL,IACwB,IACD,EAC7B,KAAC,eAAe,OAAK,KAAK,KAAM,IAAI,GAAI,IAChB,CAC3B,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MeasurementExplorer.js","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorer.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementExplorerWithState.d.ts","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorerWithState.tsx"],"names":[],"mappings":"AAKA,MAAM,CAAC,OAAO,UAAU,4BAA4B,4CAUnD"}
1
+ {"version":3,"file":"MeasurementExplorerWithState.d.ts","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorerWithState.tsx"],"names":[],"mappings":"AAIA,MAAM,CAAC,OAAO,UAAU,4BAA4B,4CAWnD"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getCurrentMeasurementData, useAppState } from '../../app-data/index';
3
- import { assertNotNull } from '../../components/index';
4
3
  import { MeasurementExplorer } from './MeasurementExplorer';
5
4
  export default function MeasurementExplorerWithState() {
6
5
  const appState = useAppState();
7
6
  const data = getCurrentMeasurementData(appState);
8
- assertNotNull(data);
7
+ if (!data)
8
+ return _jsx("div", { children: "No selected measurement" });
9
9
  return (_jsx(MeasurementExplorer, { measurement: data.data, measurementDisplay: data.display }));
10
10
  }
11
11
  //# sourceMappingURL=MeasurementExplorerWithState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementExplorerWithState.js","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorerWithState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,4BAA4B;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CACL,KAAC,mBAAmB,IAClB,WAAW,EAAE,IAAI,CAAC,IAAI,EACtB,kBAAkB,EAAE,IAAI,CAAC,OAAO,GAChC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MeasurementExplorerWithState.js","sourceRoot":"","sources":["../../../src/app/explorer/MeasurementExplorerWithState.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,yBAAyB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,CAAC,OAAO,UAAU,4BAA4B;IAClD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC,IAAI;QAAE,OAAO,oDAAkC,CAAC;IACrD,OAAO,CACL,KAAC,mBAAmB,IAClB,WAAW,EAAE,IAAI,CAAC,IAAI,EACtB,kBAAkB,EAAE,IAAI,CAAC,OAAO,GAChC,CACH,CAAC;AACJ,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import type { MeasurementBase, MeasurementAppView } from '../../app-data/index';
2
- type Measurement = Pick<MeasurementBase, 'meta' | 'info' | 'data'>;
2
+ type Measurement = Pick<MeasurementBase, 'meta' | 'info' | 'data' | 'id'>;
3
3
  export interface MeasurementPlotProps {
4
- measurement: Measurement;
5
- measurementDisplay: MeasurementAppView;
4
+ measurement: Measurement[] | Measurement;
5
+ measurementDisplay: MeasurementAppView[] | MeasurementAppView;
6
6
  dataIndex?: number;
7
7
  xVariableName?: string;
8
8
  yVariableName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementPlot.d.ts","sourceRoot":"","sources":["../../../src/app/helpers/MeasurementPlot.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIhF,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC,CAAC;AACnE,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,CAAC;IACzB,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,EAAE,CAAC;IACtD,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAM1D"}
1
+ {"version":3,"file":"MeasurementPlot.d.ts","sourceRoot":"","sources":["../../../src/app/helpers/MeasurementPlot.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAIhF,KAAK,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC,CAAC;AAC1E,MAAM,WAAW,oBAAoB;IACnC,WAAW,EAAE,WAAW,EAAE,GAAG,WAAW,CAAC;IACzC,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC;IAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;IAC9B,MAAM,CAAC,EAAE,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;IAC/B,IAAI,CAAC,EAAE,YAAY,GAAG,UAAU,GAAG,aAAa,GAAG,EAAE,CAAC;IACtD,SAAS,CAAC,EAAE,UAAU,GAAG,YAAY,GAAG,EAAE,CAAC;IAC3C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AACD,wBAAgB,eAAe,CAAC,KAAK,EAAE,oBAAoB,2CAM1D"}
@@ -7,24 +7,33 @@ export function MeasurementPlot(props) {
7
7
  return (_jsx(PlotController, { children: _jsx(MeasurementComponent, { ...props }) }));
8
8
  }
9
9
  function MeasurementComponent(props) {
10
- const { measurementDisplay, measurement: { data }, dataIndex = 0, xVariableName = 'x', yVariableName = 'y', } = props;
11
- const { x, y } = useMemo(() => {
12
- const { variables } = data[dataIndex];
13
- const { [xVariableName]: x, [yVariableName]: y } = variables;
14
- if (x === undefined || y === undefined) {
15
- throw new Error(`Variable "${x === undefined ? xVariableName : yVariableName}" is not available in data. Only ${Object.keys(data[dataIndex].variables).join(', ')} are available`);
16
- }
17
- return { x, y };
18
- }, [data, dataIndex, xVariableName, yVariableName]);
19
- const { color } = measurementDisplay;
20
- if (color.kind !== 'fixed') {
21
- throw new Error(`unimplemented stroke for kind ${color.kind}`);
22
- }
23
- return (_jsx(BasicComponent, { ...props, children: _jsx(LineSeries, { lineStyle: {
24
- stroke: color.color,
25
- }, data: xyToXYObject({
26
- x: x.data,
27
- y: y.data,
28
- }) }) }));
10
+ const { measurementDisplay, measurement, dataIndex = 0, xVariableName = 'x', yVariableName = 'y', } = props;
11
+ const dataXY = useMemo(() => {
12
+ const measurementsArray = Array.isArray(measurement)
13
+ ? measurement
14
+ : [measurement];
15
+ return measurementsArray.map(({ data, id }) => {
16
+ const { variables } = data[dataIndex];
17
+ const { [xVariableName]: x, [yVariableName]: y } = variables;
18
+ if (x === undefined || y === undefined) {
19
+ throw new Error(`Variable "${x === undefined ? xVariableName : yVariableName}" is not available in data. Only ${Object.keys(data[dataIndex].variables).join(', ')} are available`);
20
+ }
21
+ return { x, y, id };
22
+ });
23
+ }, [dataIndex, measurement, xVariableName, yVariableName]);
24
+ return (_jsx(BasicComponent, { ...props, children: dataXY.map(({ x, y, id }, i) => {
25
+ const { color } = Array.isArray(measurementDisplay)
26
+ ? measurementDisplay[i]
27
+ : measurementDisplay;
28
+ if (color.kind !== 'fixed') {
29
+ throw new Error(`unimplemented stroke for kind ${color.kind}`);
30
+ }
31
+ return (_jsx(LineSeries, { lineStyle: {
32
+ stroke: color.color,
33
+ }, data: xyToXYObject({
34
+ x: x.data,
35
+ y: y.data,
36
+ }) }, id));
37
+ }) }));
29
38
  }
30
39
  //# sourceMappingURL=MeasurementPlot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementPlot.js","sourceRoot":"","sources":["../../../src/app/helpers/MeasurementPlot.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoBzC,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,OAAO,CACL,KAAC,cAAc,cACb,KAAC,oBAAoB,OAAK,KAAK,GAAI,GACpB,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA2B;IACvD,MAAM,EACJ,kBAAkB,EAClB,WAAW,EAAE,EAAE,IAAI,EAAE,EACrB,SAAS,GAAG,CAAC,EACb,aAAa,GAAG,GAAG,EACnB,aAAa,GAAG,GAAG,GACpB,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;QACtC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;QAC7D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,aACE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aACpC,oCAAoC,MAAM,CAAC,IAAI,CAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC7B,CAAC;SACH;QAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAEpD,MAAM,EAAE,KAAK,EAAE,GAAG,kBAAkB,CAAC;IACrC,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;KAChE;IAED,OAAO,CACL,KAAC,cAAc,OAAK,KAAK,YACvB,KAAC,UAAU,IACT,SAAS,EAAE;gBACT,MAAM,EAAE,KAAK,CAAC,KAAK;aACpB,EACD,IAAI,EAAE,YAAY,CAAC;gBACjB,CAAC,EAAE,CAAC,CAAC,IAAI;gBACT,CAAC,EAAE,CAAC,CAAC,IAAI;aACV,CAAC,GACF,GACa,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MeasurementPlot.js","sourceRoot":"","sources":["../../../src/app/helpers/MeasurementPlot.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAIxD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoBzC,MAAM,UAAU,eAAe,CAAC,KAA2B;IACzD,OAAO,CACL,KAAC,cAAc,cACb,KAAC,oBAAoB,OAAK,KAAK,GAAI,GACpB,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA2B;IACvD,MAAM,EACJ,kBAAkB,EAClB,WAAW,EACX,SAAS,GAAG,CAAC,EACb,aAAa,GAAG,GAAG,EACnB,aAAa,GAAG,GAAG,GACpB,GAAG,KAAK,CAAC;IAEV,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,EAAE;QAC1B,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC;YAClD,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QAClB,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE;YAC5C,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;YAC7D,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE;gBACtC,MAAM,IAAI,KAAK,CACb,aACE,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aACpC,oCAAoC,MAAM,CAAC,IAAI,CAC7C,IAAI,CAAC,SAAS,CAAC,CAAC,SAAS,CAC1B,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC7B,CAAC;aACH;YACD,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,CAAC;IAE3D,OAAO,CACL,KAAC,cAAc,OAAK,KAAK,YACtB,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE;YAC9B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,kBAAkB,CAAC;gBACjD,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC;gBACvB,CAAC,CAAC,kBAAkB,CAAC;YACvB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE;gBAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;aAChE;YAED,OAAO,CACL,KAAC,UAAU,IAET,SAAS,EAAE;oBACT,MAAM,EAAE,KAAK,CAAC,KAAK;iBACpB,EACD,IAAI,EAAE,YAAY,CAAC;oBACjB,CAAC,EAAE,CAAC,CAAC,IAAI;oBACT,CAAC,EAAE,CAAC,CAAC,IAAI;iBACV,CAAC,IAPG,EAAE,CAQP,CACH,CAAC;QACJ,CAAC,CAAC,GACa,CAClB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"react-plot.d.ts","sourceRoot":"","sources":["../../../src/app/helpers/react-plot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAchD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,UAAU,mBAAoB,SAAQ,oBAAoB;IACxD,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;CACnC;AAWD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CA+FxD"}
1
+ {"version":3,"file":"react-plot.d.ts","sourceRoot":"","sources":["../../../src/app/helpers/react-plot.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAW,MAAM,OAAO,CAAC;AAchD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAE9D,UAAU,mBAAoB,SAAQ,oBAAoB;IACxD,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,CAAC;CACnC;AAWD,wBAAgB,cAAc,CAAC,KAAK,EAAE,mBAAmB,2CAiGxD"}
@@ -13,7 +13,7 @@ const BasicComponentRoot = styled.div `
13
13
  `;
14
14
  export function BasicComponent(props) {
15
15
  const { children, measurement, dataIndex = 0, xVariableName = 'x', yVariableName = 'y', width = '100%', height = '100%', zoom = 'horizontal', wheelZoom = 'vertical', crossHair = true, showHorizontalAxis = true, showVerticalAxis = true, showHorizontalGrid = true, showVerticalGrid = true, flipHorizontalAxis = false, } = props;
16
- const { info: { title }, data, } = measurement;
16
+ const [{ info: { title }, data, },] = Array.isArray(measurement) ? measurement : [measurement];
17
17
  const { x, y } = useMemo(() => {
18
18
  const { variables } = data[dataIndex];
19
19
  const { [xVariableName]: x, [yVariableName]: y } = variables;
@@ -1 +1 @@
1
- {"version":3,"file":"react-plot.js","sourceRoot":"","sources":["../../../src/app/helpers/react-plot.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"react-plot.js","sourceRoot":"","sources":["../../../src/app/helpers/react-plot.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MassPlotView.d.ts","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MassPlotView.tsx"],"names":[],"mappings":"AAQA,wBAAgB,YAAY,4CAU3B"}
1
+ {"version":3,"file":"MassPlotView.d.ts","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MassPlotView.tsx"],"names":[],"mappings":"AAOA,wBAAgB,YAAY,4CAW3B"}
@@ -1,11 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { getCurrentMeasurementData, useAppState, } from '../../../app-data/index';
3
- import { assertNotNull } from '../../../components/index';
4
3
  import { MeasurementMassPlot } from './MeasurementMassPlot';
5
4
  export function MassPlotView() {
6
5
  const appState = useAppState();
7
6
  const data = getCurrentMeasurementData(appState);
8
- assertNotNull(data);
7
+ if (!data)
8
+ return _jsx("div", { children: "No selected measurement" });
9
9
  return (_jsx(MeasurementMassPlot, { measurement: data.data, measurementDisplay: data.display }));
10
10
  }
11
11
  //# sourceMappingURL=MassPlotView.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MassPlotView.js","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MassPlotView.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,yBAAyB,EACzB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACjD,aAAa,CAAC,IAAI,CAAC,CAAC;IACpB,OAAO,CACL,KAAC,mBAAmB,IAClB,WAAW,EAAE,IAAI,CAAC,IAAI,EACtB,kBAAkB,EAAE,IAAI,CAAC,OAAO,GAChC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MassPlotView.js","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MassPlotView.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,yBAAyB,EACzB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,MAAM,UAAU,YAAY;IAC1B,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,IAAI,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAEjD,IAAI,CAAC,IAAI;QAAE,OAAO,oDAAkC,CAAC;IACrD,OAAO,CACL,KAAC,mBAAmB,IAClB,WAAW,EAAE,IAAI,CAAC,IAAI,EACtB,kBAAkB,EAAE,IAAI,CAAC,OAAO,GAChC,CACH,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementMassPlot.d.ts","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MeasurementMassPlot.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,2CAyB9D"}
1
+ {"version":3,"file":"MeasurementMassPlot.d.ts","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MeasurementMassPlot.tsx"],"names":[],"mappings":"AAaA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAS3E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,oBAAoB,2CA8B9D"}
@@ -6,48 +6,64 @@ import { useMemo } from 'react';
6
6
  import { Annotation, Annotations, BarSeries, LineSeries, PlotController, usePlotControllerAxes, } from 'react-plot';
7
7
  import { BasicComponent } from '../../helpers/index';
8
8
  export function MeasurementMassPlot(props) {
9
- const { measurement } = props;
10
- if (!measurement.data) {
11
- throw new Error('This is weird, the data property is not available on measurement');
12
- }
13
- if (measurement.data.length === 0) {
14
- throw new Error('Data property is empty');
15
- }
16
- if (measurement.data.length > 1) {
17
- throw new Error('Length of data property is larger than 1');
18
- }
19
- if (!measurement.data[0].variables.x) {
20
- throw new Error('x variable in undefined');
21
- }
22
- if (!measurement.data[0].variables.y) {
23
- throw new Error('y variable in undefined');
9
+ const { measurement: measurements } = props;
10
+ const measurementsArray = Array.isArray(measurements)
11
+ ? measurements
12
+ : [measurements];
13
+ for (const measurement of measurementsArray) {
14
+ if (!measurement.data) {
15
+ throw new Error('This is weird, the data property is not available on measurement');
16
+ }
17
+ if (measurement.data.length === 0) {
18
+ throw new Error('Data property is empty');
19
+ }
20
+ if (measurement.data.length > 1) {
21
+ throw new Error('Length of data property is larger than 1');
22
+ }
23
+ if (!measurement.data[0].variables.x) {
24
+ throw new Error('x variable in undefined');
25
+ }
26
+ if (!measurement.data[0].variables.y) {
27
+ throw new Error('y variable in undefined');
28
+ }
24
29
  }
25
30
  return (_jsx(PlotController, { children: _jsx(MassComponent, { ...props }) }));
26
31
  }
27
32
  function MassComponent(props) {
28
- const { measurement } = props;
29
- const { data } = measurement;
30
- const { variables } = data[0];
31
- const { x, y } = useMemo(() => {
32
- return { x: variables.x, y: variables.y };
33
- }, [variables]);
34
- const { x: xDomain } = usePlotControllerAxes();
35
- const { profile, peaks } = useMemo(() => {
36
- const spectrum = new Spectrum({
37
- x: x.data,
38
- y: y.data,
33
+ const { measurement: measurements } = props;
34
+ const dataXY = useMemo(() => {
35
+ const measurementsArray = Array.isArray(measurements)
36
+ ? measurements
37
+ : [measurements];
38
+ return measurementsArray.map(({ data, id }) => {
39
+ const { variables } = data[0];
40
+ const { x, y } = variables;
41
+ return { x, y, id };
39
42
  });
40
- const isContinuous = spectrum.isContinuous();
41
- const profile = isContinuous &&
42
- xyToXYObject({
43
+ }, [measurements]);
44
+ const { x: xDomain } = usePlotControllerAxes();
45
+ const { profiles, peaks } = useMemo(() => {
46
+ const profiles = [];
47
+ const peaks = [];
48
+ for (const { x, y, id } of dataXY) {
49
+ const spectrum = new Spectrum({
43
50
  x: x.data,
44
51
  y: y.data,
45
52
  });
53
+ const isContinuous = spectrum.isContinuous();
54
+ const data = isContinuous &&
55
+ xyToXYObject({
56
+ x: x.data,
57
+ y: y.data,
58
+ });
59
+ profiles.push({ data, id });
60
+ peaks.push(...spectrum.getPeaks(data));
61
+ }
46
62
  return {
47
- profile,
48
- peaks: spectrum.getPeaks(profile),
63
+ profiles,
64
+ peaks,
49
65
  };
50
- }, [x.data, y.data]);
66
+ }, [dataXY]);
51
67
  const bestPeaks = useMemo(() => getBestPeaks(peaks, {
52
68
  from: xDomain?.min,
53
69
  to: xDomain?.max,
@@ -55,6 +71,6 @@ function MassComponent(props) {
55
71
  numberSlots: 10,
56
72
  threshold: 0.01,
57
73
  }), [peaks, xDomain?.max, xDomain?.min]);
58
- return (_jsxs(BasicComponent, { ...props, children: [profile && _jsx(LineSeries, { data: profile, lineStyle: { stroke: 'green' } }), _jsx(BarSeries, { data: peaks, lineStyle: { stroke: 'red' } }), _jsx(Annotations, { children: bestPeaks.map(({ x, y, shortLabel }) => (_jsxs(Annotation.Group, { x: x, y: y, children: [_jsx(Annotation.Line, { x1: "0", x2: "0", y1: "0", y2: "-5", style: { strokeWidth: 2, stroke: 'blue' } }), _jsx(Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "0", children: shortLabel }), _jsx(Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "-14", children: x.toFixed(4) })] }, x))) })] }));
74
+ return (_jsxs(BasicComponent, { ...props, children: [profiles.map(({ data, id }) => data && (_jsx(LineSeries, { data: data, lineStyle: { stroke: 'green' } }, id))), _jsx(BarSeries, { data: peaks, lineStyle: { stroke: 'red' } }), _jsx(Annotations, { children: bestPeaks.map(({ x, y, shortLabel }) => (_jsxs(Annotation.Group, { x: x, y: y, children: [_jsx(Annotation.Line, { x1: "0", x2: "0", y1: "0", y2: "-5", style: { strokeWidth: 2, stroke: 'blue' } }), _jsx(Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "0", children: shortLabel }), _jsx(Annotation.Text, { style: { fontSize: '13px', fontWeight: '600' }, x: "2", y: "-14", children: x.toFixed(4) })] }, x))) })] }));
59
75
  }
60
76
  //# sourceMappingURL=MeasurementMassPlot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementMassPlot.js","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MeasurementMassPlot.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EACL,UAAU,EACV,WAAW,EACX,SAAS,EACT,UAAU,EACV,cAAc,EACd,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,cAAc,EAAwB,MAAM,qBAAqB,CAAC;AAS3E,MAAM,UAAU,mBAAmB,CAAC,KAA2B;IAC7D,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAC9B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE;QACrB,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAC;KACH;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;KAC3C;IACD,IAAI,WAAW,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;QAC/B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;KAC7D;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IACD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE;QACpC,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC5C;IAED,OAAO,CACL,KAAC,cAAc,cACb,KAAC,aAAa,OAAK,KAAK,GAAI,GACb,CAClB,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAA2B;IAChD,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;IAE9B,MAAM,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC;IAC7B,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE9B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QAC5B,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC;IAC5C,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,GAAG,qBAAqB,EAAE,CAAC;IAC/C,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE;QACtC,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC;YAC5B,CAAC,EAAE,CAAC,CAAC,IAAI;YACT,CAAC,EAAE,CAAC,CAAC,IAAI;SACV,CAAC,CAAC;QACH,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC7C,MAAM,OAAO,GACX,YAAY;YACZ,YAAY,CAAC;gBACX,CAAC,EAAE,CAAC,CAAC,IAAI;gBACT,CAAC,EAAE,CAAC,CAAC,IAAI;aACV,CAAC,CAAC;QACL,OAAO;YACL,OAAO;YACP,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;SAClC,CAAC;IACJ,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACrB,MAAM,SAAS,GAAG,OAAO,CACvB,GAAG,EAAE,CACH,YAAY,CAAC,KAAK,EAAE;QAClB,IAAI,EAAE,OAAO,EAAE,GAAG;QAClB,EAAE,EAAE,OAAO,EAAE,GAAG;QAChB,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,SAAS,EAAE,IAAI;KAChB,CAAC,EACJ,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,CAAC,CACpC,CAAC;IACF,OAAO,CACL,MAAC,cAAc,OAAK,KAAK,aACtB,OAAO,IAAI,KAAC,UAAU,IAAC,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAI,EACzE,KAAC,SAAS,IAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAI,EACxD,KAAC,WAAW,cACT,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,UAAU,EAAQ,EAAE,EAAE,CAAC,CAC7C,MAAC,UAAU,CAAC,KAAK,IAAS,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,aAClC,KAAC,UAAU,CAAC,IAAI,IACd,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,GAAG,EACN,EAAE,EAAC,IAAI,EACP,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,GACzC,EACF,KAAC,UAAU,CAAC,IAAI,IACd,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAC9C,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,GAAG,YAEJ,UAAU,GACK,EAClB,KAAC,UAAU,CAAC,IAAI,IACd,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAC9C,CAAC,EAAC,GAAG,EACL,CAAC,EAAC,KAAK,YAEN,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GACG,KArBG,CAAC,CAsBL,CACpB,CAAC,GACU,IACC,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"MeasurementMassPlot.js","sourceRoot":"","sources":["../../../../src/app/kinds/mass/MeasurementMassPlot.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/measurement-info/MeasurementInfoPanel.tsx"],"names":[],"mappings":"AAQA,wBAAgB,oBAAoB,mDAkDnC"}
1
+ {"version":3,"file":"MeasurementInfoPanel.d.ts","sourceRoot":"","sources":["../../../../src/app/panels/measurement-info/MeasurementInfoPanel.tsx"],"names":[],"mappings":"AAMA,wBAAgB,oBAAoB,mDAoBnC"}
@@ -1,68 +1,23 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState } from 'react';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
3
2
  import { getCurrentMeasurementData, useAppState, } from '../../../app-data/index';
4
- import { ValueRenderers, Table } from '../../../components/index';
3
+ import { InfoPanel } from '../../../components/index';
5
4
  export function MeasurementInfoPanel() {
6
5
  const appState = useAppState();
7
6
  const measurement = getCurrentMeasurementData(appState);
8
- const [search, setSearch] = useState('');
9
7
  if (!measurement)
10
8
  return null;
11
- const { meta, info } = measurement.data;
12
- function viewData(data) {
13
- return Object.keys(data).map((key) => {
14
- const value = data[key];
15
- if (!key.toLowerCase().includes(search.toLowerCase()) &&
16
- !valueSearch(value, search)) {
17
- return null;
18
- }
19
- return (_jsxs(Table.Row, { children: [_jsx(ValueRenderers.Text, { value: key }), valueCell(value)] }, key));
20
- });
21
- }
22
- return (_jsxs("div", { children: [_jsx("input", { style: {
23
- border: 'solid 1px black',
24
- width: '300px',
25
- marginBottom: '10px',
26
- padding: '3px',
27
- }, value: search, placeholder: "search for a parameter ...", onChange: ({ target }) => {
28
- if (target.value !== undefined)
29
- setSearch(target.value);
30
- } }), _jsxs(Table, { children: [_jsxs(Table.Header, { children: [_jsx(ValueRenderers.Title, { value: "Parameter" }), _jsx(ValueRenderers.Title, { value: "Value" })] }), viewData(info), viewData(meta)] })] }));
31
- }
32
- /**
33
- * Get the value cell depending on the type of the value
34
- * @param value - ValueRenderers value.
35
- * @returns - ValueRenderers component.
36
- */
37
- function valueCell(value) {
38
- switch (typeof value) {
39
- case 'number':
40
- return _jsx(ValueRenderers.Number, { value: value });
41
- case 'object':
42
- return _jsx(ValueRenderers.Object, { value: value });
43
- case 'string':
44
- return _jsx(ValueRenderers.Text, { value: value });
45
- default:
46
- _jsx(ValueRenderers.Text, { value: value });
47
- }
48
- }
49
- /**
50
- * Search a string in different type of values
51
- *
52
- * @param value - Value to search in.
53
- * @param search - Value to search for.
54
- * @returns - If search exist in value
55
- */
56
- function valueSearch(value, search) {
57
- switch (typeof value) {
58
- case 'number':
59
- return String(value).includes(search.toLowerCase());
60
- case 'object':
61
- return JSON.stringify(value).toLowerCase().includes(search.toLowerCase());
62
- case 'string':
63
- return value.toLowerCase().includes(search.toLowerCase());
64
- default:
65
- return false;
66
- }
9
+ // TODO: solution for multiple measurements
10
+ const { meta, info } = measurement.data[0];
11
+ const data = [
12
+ {
13
+ description: 'Information',
14
+ data: info,
15
+ },
16
+ {
17
+ description: 'Metadata',
18
+ data: meta,
19
+ },
20
+ ];
21
+ return _jsx(InfoPanel, { data: data, title: "" });
67
22
  }
68
23
  //# sourceMappingURL=MeasurementInfoPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MeasurementInfoPanel.js","sourceRoot":"","sources":["../../../../src/app/panels/measurement-info/MeasurementInfoPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MeasurementInfoPanel.js","sourceRoot":"","sources":["../../../../src/app/panels/measurement-info/MeasurementInfoPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,yBAAyB,EACzB,WAAW,GACZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAiB,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAErE,MAAM,UAAU,oBAAoB;IAClC,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,WAAW,GAAG,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IACxD,IAAI,CAAC,WAAW;QAAE,OAAO,IAAI,CAAC;IAE9B,2CAA2C;IAC3C,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3C,MAAM,IAAI,GAAoB;QAC5B;YACE,WAAW,EAAE,aAAa;YAC1B,IAAI,EAAE,IAAI;SACX;QACD;YACE,WAAW,EAAE,UAAU;YACvB,IAAI,EAAE,IAAI;SACX;KACF,CAAC;IAEF,OAAO,KAAC,SAAS,IAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAC,EAAE,GAAG,CAAC;AAC5C,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { AppState, AppView } from '../index';
2
- import type { AppData, MeasurementKind, Measurements } from './AppData';
3
- export declare function getMeasurement(measurements: Measurements, kind: MeasurementKind, selected: string): import("./AppData").MeasurementBase | null;
4
- export declare function getMeasurementOrFail(measurements: Measurements, kind: MeasurementKind, selected: string): import("./AppData").MeasurementBase;
2
+ import type { AppData, MeasurementBase, MeasurementKind, Measurements } from './AppData';
3
+ export declare function getMeasurement(measurements: Measurements, kind: MeasurementKind, selected: string): MeasurementBase | null;
4
+ export declare function getMeasurementOrFail(measurements: Measurements, kind: MeasurementKind, selected: string): MeasurementBase;
5
5
  export declare function getFirstMeasurement<Kind extends MeasurementKind>(measurements: Measurements, kind: Kind): {
6
6
  kind: Kind;
7
7
  measurement: Measurements[Kind]['entries'][0];
@@ -10,32 +10,40 @@ export declare function getFirstMeasurementOrFail<Kind extends MeasurementKind>(
10
10
  kind: Kind;
11
11
  measurement: Measurements[Kind]["entries"][0];
12
12
  };
13
- export declare function getCurrentMeasurement(state: AppState): import("./AppData").MeasurementBase | null;
13
+ export declare function getCurrentMeasurement(state: AppState): MeasurementBase[] | null;
14
14
  export declare function getCurrentMeasurementData(state: AppState): {
15
- data: import("./AppData").MeasurementBase;
16
- display: import("../index").MeasurementAppView;
17
- kindAndId: {
15
+ data: MeasurementBase[];
16
+ display: import("../index").MeasurementAppView[];
17
+ kindAndIds: {
18
18
  kind: keyof Measurements;
19
- id: string;
19
+ ids: MeasurementBase[];
20
20
  };
21
21
  } | null;
22
22
  export declare function getFirstSelectedMeasurementData(state: AppState): {
23
- data: import("./AppData").MeasurementBase | null;
23
+ data: MeasurementBase | null;
24
24
  display: import("../index").MeasurementAppView;
25
25
  } | null;
26
26
  export interface MeasurementKindAndId {
27
27
  kind: MeasurementKind;
28
28
  id: string;
29
29
  }
30
+ export interface MeasurementKindAndIds {
31
+ kind: MeasurementKind;
32
+ ids: string[];
33
+ }
30
34
  export declare function getMeasurementKindAndId(data: AppData, measurementId: string): {
31
35
  kind: keyof Measurements;
32
36
  id: string;
33
37
  };
34
- export declare function getSelectedMeasurement(view: AppView): MeasurementKindAndId | null;
35
- export declare function getSelectedMeasurementOrFail(view: AppView): MeasurementKindAndId;
38
+ export declare function getMeasurementKindAndIds(data: AppData, measurementId: MeasurementBase[]): {
39
+ kind: keyof Measurements;
40
+ ids: MeasurementBase[];
41
+ };
42
+ export declare function getSelectedMeasurement(view: AppView): MeasurementKindAndIds | null;
43
+ export declare function getSelectedMeasurementOrFail(view: AppView): MeasurementKindAndIds;
36
44
  export declare function iterateMeasurementEntries(measurements: Partial<Measurements>): Generator<{
37
45
  kind: keyof Measurements;
38
- measurement: import("./AppData").MeasurementBase | import("../..").IrMeasurement | import("../..").IvMeasurement;
46
+ measurement: MeasurementBase | import("../..").IrMeasurement | import("../..").IvMeasurement;
39
47
  }, void, unknown>;
40
48
  export interface MeasurementAndView<Kind extends MeasurementKind> {
41
49
  measurement: Measurements[Kind]['entries'][number];
@@ -1 +1 @@
1
- {"version":3,"file":"data.helpers.d.ts","sourceRoot":"","sources":["../../../../src/app-data/state/data/data.helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAGxE,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,8CAMjB;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,uCAKjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,SAAS,eAAe,EAC9D,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACT;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CAKtE;AACD,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,eAAe,EACpE,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI;;;EAKX;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,8CASpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ;;;;;;;SAMxD;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ;;;SAuB9D;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;;;EAM3E;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,GACZ,oBAAoB,GAAG,IAAI,CAQ7B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,wBAIzD;AAED,wBAAiB,yBAAyB,CACxC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;;;kBASpC;AAED,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,eAAe;IAC9D,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,wBAAiB,8BAA8B,CAAC,IAAI,SAAS,eAAe,EAC1E,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAM5C;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAClC,eAAe,EAAE,CAQnB"}
1
+ {"version":3,"file":"data.helpers.d.ts","sourceRoot":"","sources":["../../../../src/app-data/state/data/data.helpers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,eAAe,EACf,YAAY,EACb,MAAM,WAAW,CAAC;AAGnB,wBAAgB,cAAc,CAC5B,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,0BAMjB;AAED,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,MAAM,mBAKjB;AAED,wBAAgB,mBAAmB,CAAC,IAAI,SAAS,eAAe,EAC9D,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI,GACT;IAAE,IAAI,EAAE,IAAI,CAAC;IAAC,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,GAAG,IAAI,CAKtE;AACD,wBAAgB,yBAAyB,CAAC,IAAI,SAAS,eAAe,EACpE,YAAY,EAAE,YAAY,EAC1B,IAAI,EAAE,IAAI;;;EAKX;AAED,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,QAAQ,4BAcpD;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,QAAQ;;;;;;;SAQxD;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,QAAQ;;;SAuB9D;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,eAAe,CAAC;IACtB,EAAE,EAAE,MAAM,CAAC;CACZ;AACD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,eAAe,CAAC;IACtB,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AACD,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM;;;EAM3E;AACD,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,eAAe,EAAE;;;EAgBjC;AACD,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,OAAO,GACZ,qBAAqB,GAAG,IAAI,CAQ9B;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,OAAO,yBAIzD;AAED,wBAAiB,yBAAyB,CACxC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC;;;kBASpC;AAED,MAAM,WAAW,kBAAkB,CAAC,IAAI,SAAS,eAAe;IAC9D,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC;CACvC;AAED,wBAAiB,8BAA8B,CAAC,IAAI,SAAS,eAAe,EAC1E,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,IAAI,GACT,gBAAgB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAM5C;AAED,wBAAgB,2BAA2B,CACzC,YAAY,EAAE,OAAO,CAAC,YAAY,CAAC,GAClC,eAAe,EAAE,CAQnB"}