@zakodium/nmrium-core-plugins-ui 0.1.30 → 0.1.32

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.
@@ -1 +1 @@
1
- {"version":3,"file":"digital_filter.d.ts","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter.tsx"],"names":[],"mappings":"AAIA,eAAO,MAAM,eAAe,uGAM1B,CAAC"}
1
+ {"version":3,"file":"digital_filter.d.ts","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter.tsx"],"names":[],"mappings":"AAKA,eAAO,MAAM,eAAe,uGAK1B,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { defineProcessingOperatorUI } from '@zakodium/nmrium-core';
2
- const formatter = new Intl.NumberFormat('en-US');
2
+ import { DigitalFilterExpanded } from "./digital_filter_expanded.js";
3
+ import { DigitalFilterPanelTool } from "./digital_filter_panel_tool.js";
3
4
  export const digitalFilter1D = defineProcessingOperatorUI({
4
5
  id: '@zakodium/nmrium-core-plugins#digitalFilter1D',
5
6
  name: 'Digital filter',
6
- Expanded(props) {
7
- return `Value: ${formatter.format(props.operation.settings)}`;
8
- },
7
+ Expanded: DigitalFilterExpanded,
8
+ PanelTool: DigitalFilterPanelTool,
9
9
  });
10
10
  //# sourceMappingURL=digital_filter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"digital_filter.js","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;AAEjD,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;IACxD,EAAE,EAAE,+CAA+C;IACnD,IAAI,EAAE,gBAAgB;IACtB,QAAQ,CAAC,KAAK;QACZ,OAAO,UAAU,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChE,CAAC;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"digital_filter.js","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,uBAAuB,CAAC;AAEnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA+B,CAAC;AACtE,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAiC,CAAC;AAEzE,MAAM,CAAC,MAAM,eAAe,GAAG,0BAA0B,CAAC;IACxD,EAAE,EAAE,+CAA+C;IACnD,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,qBAAqB;IAC/B,SAAS,EAAE,sBAAsB;CAClC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { ProcessingOperatorUISettingsFormProps } from '@zakodium/nmrium-core';
2
+ export declare function DigitalFilterExpanded(props: ProcessingOperatorUISettingsFormProps<'@zakodium/nmrium-core-plugins#digitalFilter1D'>): import("react").JSX.Element;
3
+ //# sourceMappingURL=digital_filter_expanded.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital_filter_expanded.d.ts","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter_expanded.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qCAAqC,EAAE,MAAM,uBAAuB,CAAC;AASnF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,qCAAqC,CAAC,+CAA+C,CAAC,+BAa9F"}
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Tooltip } from '@blueprintjs/core';
3
+ import { assertDefined } from '@zakodium/utils';
4
+ const formatter = new Intl.NumberFormat('en-US', {
5
+ maximumFractionDigits: 0,
6
+ roundingMode: 'floor',
7
+ // digitalFilter1D apply use `Math.floor` on the options value
8
+ });
9
+ export function DigitalFilterExpanded(props) {
10
+ const value = props.operation.options;
11
+ assertDefined(value);
12
+ return (_jsxs("p", { children: [_jsx("span", { children: "Value: " }), _jsx(Tooltip, { content: `Complete value from info: ${value}`, placement: "right", children: formatter.format(value) })] }));
13
+ }
14
+ //# sourceMappingURL=digital_filter_expanded.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital_filter_expanded.js","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter_expanded.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;IAC/C,qBAAqB,EAAE,CAAC;IACxB,YAAY,EAAE,OAAO;IACrB,8DAA8D;CAC/D,CAAC,CAAC;AAEH,MAAM,UAAU,qBAAqB,CACnC,KAA6F;IAE7F,MAAM,KAAK,GAAG,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC;IACtC,aAAa,CAAC,KAAK,CAAC,CAAC;IAErB,OAAO,CACL,wBACE,qCAAoB,EACpB,KAAC,OAAO,IAAC,OAAO,EAAE,6BAA6B,KAAK,EAAE,EAAE,SAAS,EAAC,OAAO,YACtE,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAChB,IACR,CACL,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { ProcessingOperatorUIToolProps } from '@zakodium/nmrium-core';
2
+ declare const operatorId: "@zakodium/nmrium-core-plugins#digitalFilter1D";
3
+ type OperatorId = typeof operatorId;
4
+ export declare function DigitalFilterPanelTool(props: ProcessingOperatorUIToolProps<OperatorId>): import("react").JSX.Element | null;
5
+ export {};
6
+ //# sourceMappingURL=digital_filter_panel_tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital_filter_panel_tool.d.ts","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter_panel_tool.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,6BAA6B,EAE9B,MAAM,uBAAuB,CAAC;AAK/B,QAAA,MAAM,UAAU,iDACyE,CAAC;AAC1F,KAAK,UAAU,GAAG,OAAO,UAAU,CAAC;AAapC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,6BAA6B,CAAC,UAAU,CAAC,sCAgCjD"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { generateID, isSpectrum1D } from '@zakodium/nmrium-core';
3
+ import { SvgNmrAddFilter } from 'cheminfo-font';
4
+ import { Toolbar, TooltipHelpContent } from 'react-science/ui';
5
+ const operatorId = '@zakodium/nmrium-core-plugins#digitalFilter1D';
6
+ function getDefaultOperation() {
7
+ return {
8
+ operatorId,
9
+ uid: generateID(),
10
+ settings: null,
11
+ options: undefined,
12
+ enabled: true,
13
+ error: undefined,
14
+ };
15
+ }
16
+ export function DigitalFilterPanelTool(props) {
17
+ const { spectrum, activeOperatorId, onTriggerOperation } = props;
18
+ if (!isSpectrum1D(spectrum))
19
+ return null;
20
+ const isActive = activeOperatorId === operatorId;
21
+ const digitalFilter = spectrum.info.digitalFilter;
22
+ const isDisabled = typeof digitalFilter !== 'number' || digitalFilter <= 0;
23
+ function triggerOperation() {
24
+ if (isDisabled)
25
+ return;
26
+ onTriggerOperation(getDefaultOperation());
27
+ }
28
+ return (_jsx(Toolbar.Item, { id: operatorId, icon: _jsx(SvgNmrAddFilter, {}), tooltip: _jsx(TooltipHelpContent, { title: "Digital filter", description: "Apply digital filter from spectrum info." }), active: isActive, disabled: isDisabled, onClick: triggerOperation }));
29
+ }
30
+ //# sourceMappingURL=digital_filter_panel_tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"digital_filter_panel_tool.js","sourceRoot":"","sources":["../../../../src/plugins/spectrum_1d_processings_ui/operators/digital_filter_panel_tool.tsx"],"names":[],"mappings":";AAKA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE/D,MAAM,UAAU,GACd,+CAAuF,CAAC;AAG1F,SAAS,mBAAmB;IAC1B,OAAO;QACL,UAAU;QACV,GAAG,EAAE,UAAU,EAAE;QACjB,QAAQ,EAAE,IAAI;QACd,OAAO,EAAE,SAAS;QAClB,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,SAAS;KACjB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,KAAgD;IAEhD,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;IAEjE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;QAAE,OAAO,IAAI,CAAC;IAEzC,MAAM,QAAQ,GAAG,gBAAgB,KAAK,UAAU,CAAC;IAEjD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;IAClD,MAAM,UAAU,GAAG,OAAO,aAAa,KAAK,QAAQ,IAAI,aAAa,IAAI,CAAC,CAAC;IAE3E,SAAS,gBAAgB;QACvB,IAAI,UAAU;YAAE,OAAO;QAEvB,kBAAkB,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO,CACL,KAAC,OAAO,CAAC,IAAI,IACX,EAAE,EAAE,UAAU,EACd,IAAI,EAAE,KAAC,eAAe,KAAG,EACzB,OAAO,EACL,KAAC,kBAAkB,IACjB,KAAK,EAAC,gBAAgB,EACtB,WAAW,EAAC,0CAA0C,GACtD,EAEJ,MAAM,EAAE,QAAQ,EAChB,QAAQ,EAAE,UAAU,EACpB,OAAO,EAAE,gBAAgB,GACzB,CACH,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zakodium/nmrium-core-plugins-ui",
3
- "version": "0.1.30",
3
+ "version": "0.1.32",
4
4
  "license": "CC-BY-NC-SA-4.0",
5
5
  "description": "UI related plugins needed for cheminfo/nmrium",
6
6
  "keywords": [],
@@ -28,8 +28,8 @@
28
28
  "@blueprintjs/select": "^6.3.3",
29
29
  "@emotion/styled": "^11.14.1",
30
30
  "@tanstack/react-form": "^1.33.2",
31
- "@zakodium/nmrium-core": "^0.7.51",
32
- "@zakodium/nmrium-core-plugins": "^0.7.68",
31
+ "@zakodium/nmrium-core": "^0.7.52",
32
+ "@zakodium/nmrium-core-plugins": "^0.7.70",
33
33
  "fifo-logger": "^2.0.1",
34
34
  "react": "^18.3.1",
35
35
  "react-dom": "^18.3.1",
@@ -44,5 +44,5 @@
44
44
  "typescript": "~6.0.3",
45
45
  "vitest": "^4.1.10"
46
46
  },
47
- "gitHead": "018413b9504e9e805e601b3d08391d752342a2cf"
47
+ "gitHead": "b2fc8b61b71609465418895dbeb4670c6564fd50"
48
48
  }
@@ -1,11 +1,11 @@
1
1
  import { defineProcessingOperatorUI } from '@zakodium/nmrium-core';
2
2
 
3
- const formatter = new Intl.NumberFormat('en-US');
3
+ import { DigitalFilterExpanded } from './digital_filter_expanded.tsx';
4
+ import { DigitalFilterPanelTool } from './digital_filter_panel_tool.tsx';
4
5
 
5
6
  export const digitalFilter1D = defineProcessingOperatorUI({
6
7
  id: '@zakodium/nmrium-core-plugins#digitalFilter1D',
7
8
  name: 'Digital filter',
8
- Expanded(props) {
9
- return `Value: ${formatter.format(props.operation.settings)}`;
10
- },
9
+ Expanded: DigitalFilterExpanded,
10
+ PanelTool: DigitalFilterPanelTool,
11
11
  });
@@ -0,0 +1,25 @@
1
+ import { Tooltip } from '@blueprintjs/core';
2
+ import type { ProcessingOperatorUISettingsFormProps } from '@zakodium/nmrium-core';
3
+ import { assertDefined } from '@zakodium/utils';
4
+
5
+ const formatter = new Intl.NumberFormat('en-US', {
6
+ maximumFractionDigits: 0,
7
+ roundingMode: 'floor',
8
+ // digitalFilter1D apply use `Math.floor` on the options value
9
+ });
10
+
11
+ export function DigitalFilterExpanded(
12
+ props: ProcessingOperatorUISettingsFormProps<'@zakodium/nmrium-core-plugins#digitalFilter1D'>,
13
+ ) {
14
+ const value = props.operation.options;
15
+ assertDefined(value);
16
+
17
+ return (
18
+ <p>
19
+ <span>Value: </span>
20
+ <Tooltip content={`Complete value from info: ${value}`} placement="right">
21
+ {formatter.format(value)}
22
+ </Tooltip>
23
+ </p>
24
+ );
25
+ }
@@ -0,0 +1,58 @@
1
+ import type {
2
+ ProcessingOperatorId,
3
+ ProcessingOperatorUIToolProps,
4
+ SpectrumProcessingTypeRegistry,
5
+ } from '@zakodium/nmrium-core';
6
+ import { generateID, isSpectrum1D } from '@zakodium/nmrium-core';
7
+ import { SvgNmrAddFilter } from 'cheminfo-font';
8
+ import { Toolbar, TooltipHelpContent } from 'react-science/ui';
9
+
10
+ const operatorId =
11
+ '@zakodium/nmrium-core-plugins#digitalFilter1D' as const satisfies ProcessingOperatorId;
12
+ type OperatorId = typeof operatorId;
13
+
14
+ function getDefaultOperation(): SpectrumProcessingTypeRegistry[OperatorId] {
15
+ return {
16
+ operatorId,
17
+ uid: generateID(),
18
+ settings: null,
19
+ options: undefined,
20
+ enabled: true,
21
+ error: undefined,
22
+ };
23
+ }
24
+
25
+ export function DigitalFilterPanelTool(
26
+ props: ProcessingOperatorUIToolProps<OperatorId>,
27
+ ) {
28
+ const { spectrum, activeOperatorId, onTriggerOperation } = props;
29
+
30
+ if (!isSpectrum1D(spectrum)) return null;
31
+
32
+ const isActive = activeOperatorId === operatorId;
33
+
34
+ const digitalFilter = spectrum.info.digitalFilter;
35
+ const isDisabled = typeof digitalFilter !== 'number' || digitalFilter <= 0;
36
+
37
+ function triggerOperation() {
38
+ if (isDisabled) return;
39
+
40
+ onTriggerOperation(getDefaultOperation());
41
+ }
42
+
43
+ return (
44
+ <Toolbar.Item
45
+ id={operatorId}
46
+ icon={<SvgNmrAddFilter />}
47
+ tooltip={
48
+ <TooltipHelpContent
49
+ title="Digital filter"
50
+ description="Apply digital filter from spectrum info."
51
+ />
52
+ }
53
+ active={isActive}
54
+ disabled={isDisabled}
55
+ onClick={triggerOperation}
56
+ />
57
+ );
58
+ }