Skip to content

Commit 11abdfa

Browse files
Macraheeliftikhar5
Mac
authored andcommitted
cascader
1 parent 22ae427 commit 11abdfa

File tree

2 files changed

+26
-5
lines changed

2 files changed

+26
-5
lines changed

client/packages/lowcoder/src/comps/comps/selectInputComp/cascaderComp.tsx

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,10 @@ import { UICompBuilder, withDefault } from "../../generators";
77
import { CommonNameConfig, NameConfig, withExposingConfigs } from "../../generators/withExposing";
88
import { CascaderChildren, CascaderPropertyView, defaultDataSource } from "./cascaderContants";
99
import { refMethods } from "comps/generators/withMethodExposing";
10+
import { useContext, useEffect } from "react";
11+
import { CompTypeContext } from "@lowcoder-ee/comps/utils/compTypeContext";
12+
import { setInitialCompStyles } from "@lowcoder-ee/comps/utils/themeUtil";
13+
import { ThemeContext } from "@lowcoder-ee/comps/utils/themeContext";
1014

1115
const CascaderStyle = styled(Cascader)<{ $style: CascaderStyleType,$childrenInputFieldStyle:ChildrenMultiSelectStyleType }>`
1216
width: 100%;
@@ -37,7 +41,24 @@ const DropdownRenderStyle = styled.div<{ $childrenInputFieldStyle: ChildrenMulti
3741
let CascaderBasicComp = (function () {
3842
const childrenMap = CascaderChildren;
3943

40-
return new UICompBuilder(childrenMap, (props) => {
44+
return new UICompBuilder(childrenMap, (props , dispatch) => {
45+
46+
const theme = useContext(ThemeContext);
47+
const compType = useContext(CompTypeContext);
48+
const compTheme = theme?.theme?.components?.[compType];
49+
const styleProps: Record<string, any> = {};
50+
['style','inputFieldStyle','labelStyle', 'animationStyle'].forEach((key: string) => {
51+
styleProps[key] = (props as any)[key];
52+
});
53+
54+
useEffect(() => {
55+
setInitialCompStyles({
56+
dispatch,
57+
compTheme,
58+
styleProps,
59+
});
60+
}, []);
61+
4162
return props.label({
4263
style: props.style,
4364
labelStyle: props.labelStyle,

client/packages/lowcoder/src/comps/comps/selectInputComp/cascaderContants.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,15 @@ export const CascaderChildren = {
3434
onEvent: SelectEventHandlerControl,
3535
allowClear: BoolControl,
3636
options: JSONObjectArrayControl,
37-
style: styleControl(InputFieldStyle),
38-
labelStyle: styleControl(LabelStyle.filter((style) => ['accent', 'validate'].includes(style.name) === false)),
37+
style: styleControl(InputFieldStyle , 'style'),
38+
labelStyle: styleControl(LabelStyle.filter((style) => ['accent', 'validate'].includes(style.name) === false), 'labelStyle'),
3939
showSearch: BoolControl.DEFAULT_TRUE,
4040
viewRef: RefControl<CascaderRef>,
4141
margin: MarginControl,
4242
padding: PaddingControl,
43-
inputFieldStyle:styleControl(CascaderStyle),
43+
inputFieldStyle:styleControl(CascaderStyle , 'inputFieldStyle'),
4444
childrenInputFieldStyle:styleControl(ChildrenMultiSelectStyle),
45-
animationStyle:styleControl(AnimationStyle)
45+
animationStyle:styleControl(AnimationStyle ,'animationStyle')
4646
};
4747

4848
export const CascaderPropertyView = (

0 commit comments

Comments
 (0)