Skip to content

Commit 861e472

Browse files
fix canvas setting issues
1 parent 3c8bc96 commit 861e472

File tree

3 files changed

+43
-17
lines changed

3 files changed

+43
-17
lines changed

client/packages/lowcoder/src/components/ThemeSettingsSelector.tsx

Lines changed: 39 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
9898
gridBgImagePosition: defaultGridBgImagePosition,
9999
gridBgImageOrigin: defaultGridBgImageOrigin,
100100
} = props;
101-
101+
102102
const configChangeWithDebounce = _.debounce(configChange, 0);
103103
const [color, setColor] = useState(defaultColor);
104104
const [radius, setRadius] = useState(defaultRadius);
@@ -239,20 +239,20 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
239239
configChange({ themeSettingKey, gridColumns: result });
240240
};
241241

242-
const gridRowCountInputBlur = (value: number) => {
242+
const gridRowCountInputBlur = (value: string) => {
243243
let result = Infinity;
244-
if (value > 0) {
245-
result = value;
244+
if (value !== '') {
245+
result = Number(value);
246246
}
247247

248248
setGridRowCount(result);
249249
configChange({ themeSettingKey, gridRowCount: result });
250250
};
251251

252-
const gridPaddingInputBlur = (padding: number) => {
252+
const gridPaddingInputBlur = (padding: string) => {
253253
let result = 20;
254-
if (padding > 0) {
255-
result = padding;
254+
if (padding !== '') {
255+
result = Number(padding);
256256
}
257257

258258
if (themeSettingKey === 'gridPaddingX') {
@@ -346,6 +346,14 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
346346
setDataLoaders(defaultShowDataLoaders);
347347
}, [defaultShowDataLoaders]);
348348

349+
useEffect(() => {
350+
setGridPaddingX(defaultGridPaddingX);
351+
}, [defaultGridPaddingX]);
352+
353+
useEffect(() => {
354+
setGridPaddingY(defaultGridPaddingY);
355+
}, [defaultGridPaddingY]);
356+
349357
return (
350358
<ConfigItem className={props.className}>
351359
{themeSettingKey !== "showDataLoadingIndicators"
@@ -587,11 +595,16 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
587595
type="number"
588596
min={0}
589597
value={gridRowCount}
590-
onChange={(e) => setGridRowCount(Number(e.target.value))}
591-
onBlur={(e) => gridRowCountInputBlur(Number(e.target.value))}
598+
onChange={(e) => {
599+
if (e.target.value === '') {
600+
return setGridRowCount(Infinity);
601+
}
602+
setGridRowCount(Number(e.target.value))
603+
}}
604+
onBlur={(e) => gridRowCountInputBlur(e.target.value)}
592605
onKeyUp={(e) =>
593606
e.nativeEvent.key === "Enter" &&
594-
gridRowCountInputBlur(Number(e.currentTarget.value))
607+
gridRowCountInputBlur(e.currentTarget.value)
595608
}
596609
/>
597610
</div>
@@ -606,11 +619,16 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
606619
type="number"
607620
min={0}
608621
value={gridPaddingX}
609-
onChange={(e) => setGridPaddingX(Number(e.target.value))}
610-
onBlur={(e) => gridPaddingInputBlur(Number(e.target.value))}
622+
onChange={(e) => {
623+
if (e.target.value === '') {
624+
return setGridPaddingX(undefined);
625+
}
626+
setGridPaddingX(Number(e.target.value))
627+
}}
628+
onBlur={(e) => gridPaddingInputBlur(e.target.value)}
611629
onKeyUp={(e) =>
612630
e.nativeEvent.key === "Enter" &&
613-
gridPaddingInputBlur(Number(e.currentTarget.value))
631+
gridPaddingInputBlur(e.currentTarget.value)
614632
}
615633
/>
616634
</div>
@@ -625,11 +643,16 @@ export default function ThemeSettingsSelector(props: ColorConfigProps) {
625643
type="number"
626644
min={0}
627645
value={gridPaddingY}
628-
onChange={(e) => setGridPaddingY(Number(e.target.value))}
629-
onBlur={(e) => gridPaddingInputBlur(Number(e.target.value))}
646+
onChange={(e) => {
647+
if (e.target.value === '') {
648+
return setGridPaddingY(undefined);
649+
}
650+
setGridPaddingY(Number(e.target.value))
651+
}}
652+
onBlur={(e) => gridPaddingInputBlur(e.target.value)}
630653
onKeyUp={(e) =>
631654
e.nativeEvent.key === "Enter" &&
632-
gridPaddingInputBlur(Number(e.currentTarget.value))
655+
gridPaddingInputBlur(e.currentTarget.value)
633656
}
634657
/>
635658
</div>

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ import { getBackgroundStyle } from "@lowcoder-ee/util/styleUtils";
2626

2727
const UICompContainer = styled.div<{
2828
$maxWidth?: number;
29+
$rowCount?: number;
2930
readOnly?: boolean;
3031
$bgColor: string;
3132
$bgImage?: string;
@@ -35,6 +36,7 @@ const UICompContainer = styled.div<{
3536
$bgImagePosition?: string;
3637
}>`
3738
height: auto;
39+
min-height: ${props => props.$rowCount === Infinity ? '100%' : 'auto'};
3840
margin: 0 auto;
3941
max-width: ${(props) => props.$maxWidth || 1600}px;
4042
@@ -246,6 +248,7 @@ export const CanvasView = React.memo((props: ContainerBaseProps) => {
246248
return (
247249
<UICompContainer
248250
$maxWidth={maxWidth}
251+
$rowCount={defaultRowCount}
249252
readOnly={true}
250253
className={CNRootContainer}
251254
$bgColor={bgColor}
@@ -278,6 +281,7 @@ export const CanvasView = React.memo((props: ContainerBaseProps) => {
278281
<EditorContainer ref={scrollContainerRef}>
279282
<UICompContainer
280283
$maxWidth={maxWidth}
284+
$rowCount={defaultRowCount}
281285
className={CNRootContainer}
282286
$bgColor={bgColor}
283287
$bgImage={bgImage}

client/packages/lowcoder/src/pages/setting/theme/detail/index.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,6 @@ class ThemeDetailPage extends React.Component<ThemeDetailPageProps, ThemeDetailP
768768
name={layoutSettingsItem.name}
769769
showComponentLoadingIndicators={layoutSettingsItem.value as boolean}
770770
configChange={(params) => {
771-
console.log('configChange', params);
772771
this.configChange(params);
773772
}}
774773
/>

0 commit comments

Comments
 (0)