Skip to content

Commit b64a6ce

Browse files
fix broken gridview UI
1 parent 8f9f9dc commit b64a6ce

File tree

5 files changed

+47
-15
lines changed

5 files changed

+47
-15
lines changed

client/packages/lowcoder/src/comps/comps/gridLayoutComp/canvasView.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,6 @@ export function CanvasView(props: ContainerBaseProps) {
105105
cols: parseInt(defaultGrid),
106106
};
107107
//////////////////////
108-
109108
if (readOnly) {
110109
return (
111110
<UICompContainer

client/packages/lowcoder/src/comps/comps/listViewComp/listView.tsx

Lines changed: 43 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,6 @@ const FooterWrapper = styled.div`
3535
`;
3636

3737
const BodyWrapper = styled.div<{ $autoHeight: boolean }>`
38-
overflow: auto;
39-
overflow: overlay;
4038
height: ${(props) => (props.$autoHeight ? "100%" : "calc(100% - 32px)")};
4139
`;
4240

@@ -55,12 +53,23 @@ const ListOrientationWrapper = styled.div<{ $isHorizontal: boolean, $autoHeight
5553
height: 100%;
5654
`;
5755

58-
const MinHorizontalWidthContext = createContext(0);
56+
const MinHorizontalWidthContext = createContext({
57+
horizontalWidth: '100%',
58+
minHorizontalWidth: '100px',
59+
});
5960

6061
const ContainerInListView = (props: ContainerBaseProps ) => {
61-
const minHorizontalWidth = useContext(MinHorizontalWidthContext);
62+
const {
63+
horizontalWidth,
64+
minHorizontalWidth
65+
} = useContext(MinHorizontalWidthContext);
6266
return (
63-
<div style={{ width: minHorizontalWidth > 0 ? `${minHorizontalWidth}px` : "100%"}}>
67+
<div
68+
style={{
69+
width: horizontalWidth,
70+
minWidth: minHorizontalWidth,
71+
}}
72+
>
6473
<InnerGrid
6574
{...props}
6675
emptyRows={15}
@@ -79,11 +88,23 @@ type ListItemProps = {
7988
scrollContainerRef?: RefObject<HTMLDivElement>;
8089
minHeight?: string;
8190
unMountFn?: () => void;
82-
minHorizontalWidth: number;
91+
minHorizontalWidth: string;
92+
horizontalWidth: string;
8393
};
8494

85-
function ListItem({ minHorizontalWidth, ...props }: ListItemProps) {
86-
const { itemIdx, offset, containerProps, autoHeight, scrollContainerRef, minHeight } = props;
95+
function ListItem({
96+
minHorizontalWidth,
97+
horizontalWidth,
98+
...props
99+
}: ListItemProps) {
100+
const {
101+
itemIdx,
102+
offset,
103+
containerProps,
104+
autoHeight,
105+
scrollContainerRef,
106+
minHeight
107+
} = props;
87108

88109
// disable the unmount function to save user's state with pagination
89110
// useEffect(() => {
@@ -94,14 +115,23 @@ function ListItem({ minHorizontalWidth, ...props }: ListItemProps) {
94115
// }, []);
95116

96117
return (
97-
<MinHorizontalWidthContext.Provider value={minHorizontalWidth}>
118+
<MinHorizontalWidthContext.Provider
119+
value={{
120+
horizontalWidth,
121+
minHorizontalWidth
122+
}}
123+
>
98124
<ContainerInListView
99125
layout={containerProps.layout}
100126
items={gridItemCompToGridItems(containerProps.items)}
101127
positionParams={containerProps.positionParams}
102128
// all layout changes should only reflect on the commonContainer
103129
dispatch={itemIdx === offset ? containerProps.dispatch : _.noop}
104-
style={{ height: "100%", backgroundColor: "transparent", flex: "auto"}}
130+
style={{
131+
height: "100%",
132+
backgroundColor: "transparent",
133+
flex: "auto",
134+
}}
105135
autoHeight={autoHeight}
106136
isDroppable={itemIdx === offset}
107137
isDraggable={itemIdx === offset}
@@ -181,8 +211,7 @@ export function ListView(props: Props) {
181211
key={rowIdx}
182212
style={{
183213
height: rowHeight,
184-
width: 100 / noOfColumns + "%",
185-
minWidth: minHorizontalWidth,
214+
width: '100%',
186215
}}
187216
>
188217
<FlexWrapper>
@@ -217,7 +246,8 @@ export function ListView(props: Props) {
217246
scrollContainerRef={ref}
218247
minHeight={minHeight}
219248
unMountFn={unMountFn}
220-
minHorizontalWidth={horizontal ? minHorizontalWidth : 0}
249+
horizontalWidth={`${100 / noOfColumns}%`}
250+
minHorizontalWidth={horizontal ? minHorizontalWidth : '0px'}
221251
/>
222252
);
223253
})}

client/packages/lowcoder/src/comps/comps/listViewComp/listViewComp.tsx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { BoolControl } from "comps/controls/boolControl";
33
import {
44
NumberControl,
55
NumberOrJSONObjectArrayControl,
6+
RadiusControl,
67
StringControl,
78
} from "comps/controls/codeControl";
89
import { styleControl } from "comps/controls/styleControl";
@@ -53,7 +54,7 @@ const childrenMap = {
5354
pagination: withDefault(PaginationControl, { pageSize: "6" }),
5455
style: styleControl(ListViewStyle),
5556
horizontal: withDefault(BoolControl, false),
56-
minHorizontalWidth: withDefault(NumberControl, 100),
57+
minHorizontalWidth: withDefault(RadiusControl, '100px'),
5758
};
5859

5960
const ListViewTmpComp = new UICompBuilder(childrenMap, () => <></>)

client/packages/lowcoder/src/comps/comps/listViewComp/listViewPropertyView.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ export function listPropertyView(compType: ListCompType) {
7373
{children.horizontal.getView() && (
7474
children.minHorizontalWidth.propertyView({
7575
label: trans("prop.minHorizontalWidth"),
76+
placeholder: '100px',
7677
})
7778
)}
7879
</Section>

client/packages/lowcoder/src/comps/comps/moduleContainerComp/moduleContainerComp.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {
1717
const StyledInnerGrid = styled(InnerGrid)<ContainerBaseProps & { $bordered: boolean }>`
1818
border: ${(props) => (!props.$bordered ? "0px" : `1px solid ${BorderColor}`)};
1919
height: 100%;
20+
overflow: auto;
2021
`;
2122

2223
function ModuleContainerView(props: ContainerBaseProps) {

0 commit comments

Comments
 (0)