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

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":"AAMA,eAAO,MAAM,eAAe,uGAO1B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { defineProcessingOperatorUI } from '@zakodium/nmrium-core';
2
+ import { DigitalFilterPanelTool } from "./digital_filter_panel_tool.js";
2
3
  const formatter = new Intl.NumberFormat('en-US');
3
4
  export const digitalFilter1D = defineProcessingOperatorUI({
4
5
  id: '@zakodium/nmrium-core-plugins#digitalFilter1D',
@@ -6,5 +7,6 @@ export const digitalFilter1D = defineProcessingOperatorUI({
6
7
  Expanded(props) {
7
8
  return `Value: ${formatter.format(props.operation.settings)}`;
8
9
  },
10
+ PanelTool: DigitalFilterPanelTool,
9
11
  });
10
12
  //# 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,sBAAsB,EAAE,MAAM,gCAAiC,CAAC;AAEzE,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;IACD,SAAS,EAAE,sBAAsB;CAClC,CAAC,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;AAM/B,QAAA,MAAM,UAAU,iDACyE,CAAC;AAC1F,KAAK,UAAU,GAAG,OAAO,UAAU,CAAC;AAepC,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,6BAA6B,CAAC,UAAU,CAAC,sCAiCjD"}
@@ -0,0 +1,32 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { generateID, isSpectrum1D } from '@zakodium/nmrium-core';
3
+ import { assertDefined } from '@zakodium/utils';
4
+ import { SvgNmrAddFilter } from 'cheminfo-font';
5
+ import { Toolbar, TooltipHelpContent } from 'react-science/ui';
6
+ const operatorId = '@zakodium/nmrium-core-plugins#digitalFilter1D';
7
+ function getDefaultOperation(settings) {
8
+ return {
9
+ operatorId,
10
+ uid: generateID(),
11
+ settings,
12
+ options: undefined,
13
+ enabled: true,
14
+ error: undefined,
15
+ };
16
+ }
17
+ export function DigitalFilterPanelTool(props) {
18
+ const { spectrum, activeOperatorId, onTriggerOperation } = props;
19
+ if (!isSpectrum1D(spectrum))
20
+ return null;
21
+ const isActive = activeOperatorId === operatorId;
22
+ const digitalFilter = spectrum.info.digitalFilter;
23
+ const isDisabled = typeof digitalFilter !== 'number' || digitalFilter < 0;
24
+ function triggerOperation() {
25
+ if (isDisabled)
26
+ return;
27
+ assertDefined(digitalFilter);
28
+ onTriggerOperation(getDefaultOperation(digitalFilter));
29
+ }
30
+ 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 }));
31
+ }
32
+ //# 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,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,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,CAC1B,QAAgB;IAEhB,OAAO;QACL,UAAU;QACV,GAAG,EAAE,UAAU,EAAE;QACjB,QAAQ;QACR,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,GAAG,CAAC,CAAC;IAE1E,SAAS,gBAAgB;QACvB,IAAI,UAAU;YAAE,OAAO;QACvB,aAAa,CAAC,aAAa,CAAC,CAAC;QAE7B,kBAAkB,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC;IACzD,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.31",
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.69",
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": "7aa49a1f5040e34708490477c062ec11886ebcbc"
48
48
  }
@@ -1,5 +1,7 @@
1
1
  import { defineProcessingOperatorUI } from '@zakodium/nmrium-core';
2
2
 
3
+ import { DigitalFilterPanelTool } from './digital_filter_panel_tool.tsx';
4
+
3
5
  const formatter = new Intl.NumberFormat('en-US');
4
6
 
5
7
  export const digitalFilter1D = defineProcessingOperatorUI({
@@ -8,4 +10,5 @@ export const digitalFilter1D = defineProcessingOperatorUI({
8
10
  Expanded(props) {
9
11
  return `Value: ${formatter.format(props.operation.settings)}`;
10
12
  },
13
+ PanelTool: DigitalFilterPanelTool,
11
14
  });
@@ -0,0 +1,62 @@
1
+ import type {
2
+ ProcessingOperatorId,
3
+ ProcessingOperatorUIToolProps,
4
+ SpectrumProcessingTypeRegistry,
5
+ } from '@zakodium/nmrium-core';
6
+ import { generateID, isSpectrum1D } from '@zakodium/nmrium-core';
7
+ import { assertDefined } from '@zakodium/utils';
8
+ import { SvgNmrAddFilter } from 'cheminfo-font';
9
+ import { Toolbar, TooltipHelpContent } from 'react-science/ui';
10
+
11
+ const operatorId =
12
+ '@zakodium/nmrium-core-plugins#digitalFilter1D' as const satisfies ProcessingOperatorId;
13
+ type OperatorId = typeof operatorId;
14
+
15
+ function getDefaultOperation(
16
+ settings: number,
17
+ ): SpectrumProcessingTypeRegistry[OperatorId] {
18
+ return {
19
+ operatorId,
20
+ uid: generateID(),
21
+ settings,
22
+ options: undefined,
23
+ enabled: true,
24
+ error: undefined,
25
+ };
26
+ }
27
+
28
+ export function DigitalFilterPanelTool(
29
+ props: ProcessingOperatorUIToolProps<OperatorId>,
30
+ ) {
31
+ const { spectrum, activeOperatorId, onTriggerOperation } = props;
32
+
33
+ if (!isSpectrum1D(spectrum)) return null;
34
+
35
+ const isActive = activeOperatorId === operatorId;
36
+
37
+ const digitalFilter = spectrum.info.digitalFilter;
38
+ const isDisabled = typeof digitalFilter !== 'number' || digitalFilter < 0;
39
+
40
+ function triggerOperation() {
41
+ if (isDisabled) return;
42
+ assertDefined(digitalFilter);
43
+
44
+ onTriggerOperation(getDefaultOperation(digitalFilter));
45
+ }
46
+
47
+ return (
48
+ <Toolbar.Item
49
+ id={operatorId}
50
+ icon={<SvgNmrAddFilter />}
51
+ tooltip={
52
+ <TooltipHelpContent
53
+ title="Digital filter"
54
+ description="Apply digital filter from spectrum info."
55
+ />
56
+ }
57
+ active={isActive}
58
+ disabled={isDisabled}
59
+ onClick={triggerOperation}
60
+ />
61
+ );
62
+ }