import { Checkbox } from '@blueprintjs/core'; import { Select } from '@blueprintjs/select'; import { memo } from 'react'; import { Button } from 'react-science/ui'; import type { ExtractFilterEntry } from '../../data/types/common/ExtractFilterEntry.js'; import ActionButtons from '../elements/ActionButtons.js'; import Label from '../elements/Label.js'; import { NumberInput2Controller } from '../elements/NumberInput2Controller.js'; import { useFilter } from '../hooks/useFilter.js'; import { baselineCorrectionsAlgorithms, getBaselineData, useBaselineCorrection, } from '../panels/filtersPanel/Filters/hooks/useBaselineCorrection.js'; import { headerLabelStyle } from './Header.js'; import { HeaderWrapper } from './HeaderWrapper.js'; interface BaseLineCorrectionInnerPanelProps { filter: ExtractFilterEntry<'baselineCorrection'> | null; } function BaseLineCorrectionInnerPanel( props: BaseLineCorrectionInnerPanelProps, ) { const { filter } = props; const { register, reset, onAlgorithmChange, submitHandler, handleSubmit, handleApplyFilter, handleCancelFilter, control, algorithm, defaultAlgorithmSelectProps, } = useBaselineCorrection(filter); const { onChange: onLivePreviewChange, ...otherLivePreviewRegisterOptions } = register(`livePreview`); return ( {algorithm?.value === 'airpls' && (
)} {algorithm?.value === 'polynomial' && ( )} handleSubmit((values) => handleApplyFilter(values))()} onCancel={handleCancelFilter} />
); } const MemoizedBaseLineCorrectionPanel = memo(BaseLineCorrectionInnerPanel); export function SimpleBaseLineCorrectionOptionsPanel() { const filter = useFilter('baselineCorrection'); return ; }