import { assertGroup } from '@h5web/shared';
import DimensionMapper from '../../../dimension-mapper/DimensionMapper';
import { useDimMappingState } from '../../../dimension-mapper/hooks';
import VisBoundary from '../../VisBoundary';
import MappedComplexLineVis from '../../core/complex/MappedComplexLineVis';
import { useComplexLineConfig } from '../../core/complex/lineConfig';
import { useLineConfig } from '../../core/line/config';
import { getSliceSelection } from '../../core/utils';
import type { VisContainerProps } from '../../models';
import NxValuesFetcher from '../NxValuesFetcher';
import { assertComplexNxData } from '../guards';
import { useNxData } from '../hooks';
function NxComplexSpectrumContainer(props: VisContainerProps) {
const { entity, toolbarContainer } = props;
assertGroup(entity);
const nxData = useNxData(entity);
assertComplexNxData(nxData);
const { signalDef, axisDefs, silxStyle } = nxData;
const signalDims = signalDef.dataset.shape;
const [dimMapping, setDimMapping] = useDimMappingState(signalDims, 1);
const xDimIndex = dimMapping.indexOf('x');
const config = useComplexLineConfig();
const lineConfig = useLineConfig({
xScaleType: silxStyle.axisScaleTypes?.[xDimIndex],
yScaleType: silxStyle.signalScaleType,
});
const { autoScale } = lineConfig;
return (
<>
{
const { signal, axisValues, title } = nxValues;
return (
def?.label)}
axisValues={axisValues}
title={title}
toolbarContainer={toolbarContainer}
config={config}
lineConfig={lineConfig}
/>
);
}}
/>
>
);
}
export default NxComplexSpectrumContainer;