Skip to content

Commit

Permalink
CB-4429 revert changes
Browse files Browse the repository at this point in the history
  • Loading branch information
s.teleshev committed Jan 25, 2024
1 parent 62e8168 commit 4c65b06
Show file tree
Hide file tree
Showing 3 changed files with 4 additions and 101 deletions.
26 changes: 3 additions & 23 deletions webapp/packages/core-blocks/src/Split/Split.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,15 @@ import { useRef } from 'react';
import { s } from '../s';
import { useS } from '../useS';
import style from './Split.m.css';
import { useAutoMargin } from './useAutoMargin';

export type ISplitProps = SplitProps & {
disableAutoMargin?: boolean;
};
export type ISplitProps = SplitProps;

export const Split = observer<ISplitProps>(function Split({ className, minSize, maxSize, split, disableAutoMargin = false, ...rest }) {
export const Split = observer<ISplitProps>(function Split({ className, split, ...rest }) {
const styles = useS(style);
const ref = useRef<BaseSplit | null>(null);

const vertical = split === 'vertical' || split === undefined;
const horizontal = split === 'horizontal';

const { maxSize: calculatedMaxSize, minSize: calculatedMinSize } = useAutoMargin({
disableAutoMargin,
split,
maxSize,
minSize,
ref,
});

return (
<BaseSplit
ref={ref}
minSize={calculatedMinSize}
maxSize={calculatedMaxSize}
className={s(styles, { split: true, vertical, horizontal }, className)}
split={split}
{...rest}
/>
);
return <BaseSplit ref={ref} className={s(styles, { split: true, vertical, horizontal }, className)} split={split} {...rest} />;
});
25 changes: 1 addition & 24 deletions webapp/packages/core-blocks/src/Split/SplitControls.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -11,29 +11,6 @@ import { useS } from '../useS';
import SplitControlsStyles from './SplitControls.m.css';
import { useSplit } from './useSplit';

// TODO поправить либу.

// TODO хранить/получить в стейте minSize/maxSize
// ??? ничего не менять

// рыба
// 1. disableAutoMargin props в компонент сплит.
// 2. если нету disableAutoMargin, то к компоненте split определяем
// коллизию окна браузера и панели (вправо, влево, вниз, вверх)
// если есть коллизия, то ставим minize/maxsize Splitter (component)

// рыба внутри либы
// 1. учитывать minSize/maxSize при состояниях minimize/maximize
// и учитывать эти значения при определении состояние mode
// 2. сделать геттер на реф дива который рендерит Split (его контейнер) - splitRef (protected)

// setSize, getMainStyleSize
// либа должна коллапсить не до 0 а до state.minSize
// либа должна коллапсить не до 100% если maxSize > 0, то до state.maxSize
// либа должна коллапсить не до 100% если maxSize < 0, то до calc(100% - maxSize in px)

// финальная рыба
// 1. дофиксить сплит контролс так как он не учитывает minSize/maxSize
export const SplitControls: React.FC = function SplitControls() {
const split = useSplit();
const styles = useS(SplitControlsStyles);
Expand All @@ -43,7 +20,7 @@ export const SplitControls: React.FC = function SplitControls() {

let inverseMode = split.state.mode;

if (split.state.size > split.state.getContainerSize() - split.state.maxSize) {
if (split.state.size > split.state.getContainerSize()) {
inverseMode = 'maximize';
}

Expand Down
54 changes: 0 additions & 54 deletions webapp/packages/core-blocks/src/Split/useAutoMargin.ts

This file was deleted.

0 comments on commit 4c65b06

Please sign in to comment.