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.
- package/lib/app/explorer/MeasurementExplorer.js +29 -7
- package/lib/app/explorer/MeasurementExplorerWithState.js +2 -2
- package/lib/app/helpers/MeasurementPlot.js +28 -19
- package/lib/app/helpers/react-plot.js +1 -1
- package/lib/app/kinds/mass/MassPlotView.js +2 -2
- package/lib/app/kinds/mass/MeasurementMassPlot.js +49 -33
- package/lib/app/panels/measurement-info/MeasurementInfoPanel.js +13 -58
- package/lib/app-data/state/data/data.helpers.js +32 -8
- package/lib/components/forms/Checkbox.js +4 -5
- package/lib/components/forms/Input.js +3 -87
- package/lib/components/forms/TextArea.js +25 -0
- package/lib/components/forms/index.js +2 -0
- package/lib/components/forms/radio-group/ButtonRadioItem.js +76 -0
- package/lib/components/forms/radio-group/ClassicRadioItem.js +92 -0
- package/lib/components/forms/radio-group/RadioGroup.js +69 -0
- package/lib/components/forms/radio-group/index.js +17 -0
- package/lib/components/forms/styles.js +80 -0
- package/lib/components/forms/utils/SubText.js +20 -0
- package/lib/components/forms/utils/index.js +17 -0
- package/lib/components/header/PanelHeader.js +51 -0
- package/lib/components/header/index.js +1 -0
- package/lib/components/index.js +1 -0
- package/lib/components/info-panel/InfoPanel.js +94 -0
- package/lib/components/info-panel/index.js +17 -0
- package/lib/components/modal/ConfirmModal.js +3 -2
- package/lib/components/modal/Modal.js +3 -1
- package/lib/components/table/Table.js +2 -2
- package/lib/components/toolbar/PanelPreferencesToolbar.js +26 -0
- package/lib/components/toolbar/index.js +1 -0
- package/lib-esm/app/explorer/MeasurementExplorer.d.ts.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorer.js +30 -8
- package/lib-esm/app/explorer/MeasurementExplorer.js.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorerWithState.d.ts.map +1 -1
- package/lib-esm/app/explorer/MeasurementExplorerWithState.js +2 -2
- package/lib-esm/app/explorer/MeasurementExplorerWithState.js.map +1 -1
- package/lib-esm/app/helpers/MeasurementPlot.d.ts +3 -3
- package/lib-esm/app/helpers/MeasurementPlot.d.ts.map +1 -1
- package/lib-esm/app/helpers/MeasurementPlot.js +28 -19
- package/lib-esm/app/helpers/MeasurementPlot.js.map +1 -1
- package/lib-esm/app/helpers/react-plot.d.ts.map +1 -1
- package/lib-esm/app/helpers/react-plot.js +1 -1
- package/lib-esm/app/helpers/react-plot.js.map +1 -1
- package/lib-esm/app/kinds/mass/MassPlotView.d.ts.map +1 -1
- package/lib-esm/app/kinds/mass/MassPlotView.js +2 -2
- package/lib-esm/app/kinds/mass/MassPlotView.js.map +1 -1
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.d.ts.map +1 -1
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.js +49 -33
- package/lib-esm/app/kinds/mass/MeasurementMassPlot.js.map +1 -1
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.d.ts.map +1 -1
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js +15 -60
- package/lib-esm/app/panels/measurement-info/MeasurementInfoPanel.js.map +1 -1
- package/lib-esm/app-data/state/data/data.helpers.d.ts +20 -12
- package/lib-esm/app-data/state/data/data.helpers.d.ts.map +1 -1
- package/lib-esm/app-data/state/data/data.helpers.js +30 -7
- package/lib-esm/app-data/state/data/data.helpers.js.map +1 -1
- package/lib-esm/components/forms/Checkbox.d.ts.map +1 -1
- package/lib-esm/components/forms/Checkbox.js +1 -2
- package/lib-esm/components/forms/Checkbox.js.map +1 -1
- package/lib-esm/components/forms/Input.d.ts +4 -2
- package/lib-esm/components/forms/Input.d.ts.map +1 -1
- package/lib-esm/components/forms/Input.js +3 -87
- package/lib-esm/components/forms/Input.js.map +1 -1
- package/lib-esm/components/forms/TextArea.d.ts +8 -0
- package/lib-esm/components/forms/TextArea.d.ts.map +1 -0
- package/lib-esm/components/forms/TextArea.js +19 -0
- package/lib-esm/components/forms/TextArea.js.map +1 -0
- package/lib-esm/components/forms/index.d.ts +2 -0
- package/lib-esm/components/forms/index.d.ts.map +1 -1
- package/lib-esm/components/forms/index.js +2 -0
- package/lib-esm/components/forms/index.js.map +1 -1
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts +3 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.js +50 -0
- package/lib-esm/components/forms/radio-group/ButtonRadioItem.js.map +1 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts +3 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.js +66 -0
- package/lib-esm/components/forms/radio-group/ClassicRadioItem.js.map +1 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts +18 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.js +43 -0
- package/lib-esm/components/forms/radio-group/RadioGroup.js.map +1 -0
- package/lib-esm/components/forms/radio-group/index.d.ts +2 -0
- package/lib-esm/components/forms/radio-group/index.d.ts.map +1 -0
- package/lib-esm/components/forms/radio-group/index.js +2 -0
- package/lib-esm/components/forms/radio-group/index.js.map +1 -0
- package/lib-esm/components/forms/styles.d.ts +26 -0
- package/lib-esm/components/forms/styles.d.ts.map +1 -0
- package/lib-esm/components/forms/styles.js +75 -0
- package/lib-esm/components/forms/styles.js.map +1 -0
- package/lib-esm/components/forms/utils/SubText.d.ts +7 -0
- package/lib-esm/components/forms/utils/SubText.d.ts.map +1 -0
- package/lib-esm/components/forms/utils/SubText.js +17 -0
- package/lib-esm/components/forms/utils/SubText.js.map +1 -0
- package/lib-esm/components/forms/utils/index.d.ts +2 -0
- package/lib-esm/components/forms/utils/index.d.ts.map +1 -0
- package/lib-esm/components/forms/utils/index.js +2 -0
- package/lib-esm/components/forms/utils/index.js.map +1 -0
- package/lib-esm/components/header/PanelHeader.d.ts +10 -0
- package/lib-esm/components/header/PanelHeader.d.ts.map +1 -0
- package/lib-esm/components/header/PanelHeader.js +48 -0
- package/lib-esm/components/header/PanelHeader.js.map +1 -0
- package/lib-esm/components/header/index.d.ts +1 -0
- package/lib-esm/components/header/index.d.ts.map +1 -1
- package/lib-esm/components/header/index.js +1 -0
- package/lib-esm/components/header/index.js.map +1 -1
- package/lib-esm/components/index.d.ts +1 -0
- package/lib-esm/components/index.d.ts.map +1 -1
- package/lib-esm/components/index.js +1 -0
- package/lib-esm/components/index.js.map +1 -1
- package/lib-esm/components/info-panel/InfoPanel.d.ts +15 -0
- package/lib-esm/components/info-panel/InfoPanel.d.ts.map +1 -0
- package/lib-esm/components/info-panel/InfoPanel.js +91 -0
- package/lib-esm/components/info-panel/InfoPanel.js.map +1 -0
- package/lib-esm/components/info-panel/index.d.ts +2 -0
- package/lib-esm/components/info-panel/index.d.ts.map +1 -0
- package/lib-esm/components/info-panel/index.js +2 -0
- package/lib-esm/components/info-panel/index.js.map +1 -0
- package/lib-esm/components/modal/ConfirmModal.d.ts.map +1 -1
- package/lib-esm/components/modal/ConfirmModal.js +3 -2
- package/lib-esm/components/modal/ConfirmModal.js.map +1 -1
- package/lib-esm/components/modal/Modal.d.ts.map +1 -1
- package/lib-esm/components/modal/Modal.js +3 -1
- package/lib-esm/components/modal/Modal.js.map +1 -1
- package/lib-esm/components/table/Table.d.ts +2 -3
- package/lib-esm/components/table/Table.d.ts.map +1 -1
- package/lib-esm/components/table/Table.js +2 -2
- package/lib-esm/components/table/Table.js.map +1 -1
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts +7 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.d.ts.map +1 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js +23 -0
- package/lib-esm/components/toolbar/PanelPreferencesToolbar.js.map +1 -0
- package/lib-esm/components/toolbar/index.d.ts +1 -0
- package/lib-esm/components/toolbar/index.d.ts.map +1 -1
- package/lib-esm/components/toolbar/index.js +1 -0
- package/lib-esm/components/toolbar/index.js.map +1 -1
- package/package.json +16 -14
- package/src/app/explorer/MeasurementExplorer.tsx +34 -12
- package/src/app/explorer/MeasurementExplorerWithState.tsx +2 -2
- package/src/app/helpers/MeasurementPlot.tsx +44 -33
- package/src/app/helpers/react-plot.tsx +6 -4
- package/src/app/kinds/mass/MassPlotView.tsx +2 -2
- package/src/app/kinds/mass/MeasurementMassPlot.tsx +57 -37
- package/src/app/panels/measurement-info/MeasurementInfoPanel.tsx +14 -84
- package/src/app-data/state/data/data.helpers.ts +49 -16
- package/src/components/forms/Checkbox.tsx +2 -3
- package/src/components/forms/Input.tsx +14 -125
- package/src/components/forms/TextArea.tsx +45 -0
- package/src/components/forms/index.ts +2 -0
- package/src/components/forms/radio-group/ButtonRadioItem.tsx +77 -0
- package/src/components/forms/radio-group/ClassicRadioItem.tsx +95 -0
- package/src/components/forms/radio-group/RadioGroup.tsx +83 -0
- package/src/components/forms/radio-group/index.ts +1 -0
- package/src/components/forms/styles.ts +96 -0
- package/src/components/forms/utils/SubText.tsx +31 -0
- package/src/components/forms/utils/index.ts +1 -0
- package/src/components/header/PanelHeader.tsx +75 -0
- package/src/components/header/index.ts +1 -0
- package/src/components/index.ts +1 -0
- package/src/components/info-panel/InfoPanel.tsx +150 -0
- package/src/components/info-panel/index.ts +1 -0
- package/src/components/modal/ConfirmModal.tsx +3 -2
- package/src/components/modal/Modal.tsx +3 -1
- package/src/components/table/Table.tsx +3 -5
- package/src/components/toolbar/PanelPreferencesToolbar.tsx +46 -0
- 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
|
|
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')
|
|
32
|
-
|
|
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
|
|
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;
|
|
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":"
|
|
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
|
-
|
|
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;
|
|
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;
|
|
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
|
|
11
|
-
const
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
|
|
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,
|
|
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,
|
|
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":";AAAA,OAAO,MAAM,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAkB,OAAO,EAAE,MAAM,OAAO,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,gBAAgB,EAChB,YAAY,EACZ,MAAM,EACN,IAAI,EACJ,OAAO,EACP,WAAW,EACX,IAAI,GACL,MAAM,YAAY,CAAC;AAQpB,MAAM,kBAAkB,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;;CAOpC,CAAC;AAEF,MAAM,UAAU,cAAc,CAAC,KAA0B;IACvD,MAAM,EACJ,QAAQ,EACR,WAAW,EACX,SAAS,GAAG,CAAC,EACb,aAAa,GAAG,GAAG,EACnB,aAAa,GAAG,GAAG,EACnB,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,MAAM,EACf,IAAI,GAAG,YAAY,EACnB,SAAS,GAAG,UAAU,EACtB,SAAS,GAAG,IAAI,EAChB,kBAAkB,GAAG,IAAI,EACzB,gBAAgB,GAAG,IAAI,EACvB,kBAAkB,GAAG,IAAI,EACzB,gBAAgB,GAAG,IAAI,EACvB,kBAAkB,GAAG,KAAK,GAC3B,GAAG,KAAK,CAAC;IAEV,MAAM,
|
|
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":"
|
|
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
|
-
|
|
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;
|
|
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,
|
|
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
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
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
|
-
|
|
48
|
-
peaks
|
|
63
|
+
profiles,
|
|
64
|
+
peaks,
|
|
49
65
|
};
|
|
50
|
-
}, [
|
|
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: [
|
|
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;
|
|
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":"
|
|
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
|
|
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 {
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
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":";AAAA,OAAO,
|
|
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):
|
|
4
|
-
export declare function getMeasurementOrFail(measurements: Measurements, kind: MeasurementKind, selected: string):
|
|
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):
|
|
13
|
+
export declare function getCurrentMeasurement(state: AppState): MeasurementBase[] | null;
|
|
14
14
|
export declare function getCurrentMeasurementData(state: AppState): {
|
|
15
|
-
data:
|
|
16
|
-
display: import("../index").MeasurementAppView;
|
|
17
|
-
|
|
15
|
+
data: MeasurementBase[];
|
|
16
|
+
display: import("../index").MeasurementAppView[];
|
|
17
|
+
kindAndIds: {
|
|
18
18
|
kind: keyof Measurements;
|
|
19
|
-
|
|
19
|
+
ids: MeasurementBase[];
|
|
20
20
|
};
|
|
21
21
|
} | null;
|
|
22
22
|
export declare function getFirstSelectedMeasurementData(state: AppState): {
|
|
23
|
-
data:
|
|
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
|
|
35
|
-
|
|
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:
|
|
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,
|
|
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"}
|