From 38311f757c26c171a3f0933fe4175f9705c268b7 Mon Sep 17 00:00:00 2001 From: MeenamAfzal Date: Sun, 26 May 2024 00:33:25 +0500 Subject: [PATCH 01/19] container padding updated --- .../autoCompleteComp/autoCompleteComp.tsx | 1 - .../src/comps/generators/uiCompBuilder.tsx | 35 ++++++++++++------- 2 files changed, 22 insertions(+), 14 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/autoCompleteComp/autoCompleteComp.tsx b/client/packages/lowcoder/src/comps/comps/autoCompleteComp/autoCompleteComp.tsx index d639d2fc7..5b7d697eb 100644 --- a/client/packages/lowcoder/src/comps/comps/autoCompleteComp/autoCompleteComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/autoCompleteComp/autoCompleteComp.tsx @@ -63,7 +63,6 @@ const InputStyle = styled(Input)<{ $style: InputLikeStyleType }>` ${getStyle(props.$style)} input { padding: ${props.style?.padding}; - rotate: ${props?.$style?.rotation}; } .ant-select-single { width: 100% !important; diff --git a/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx b/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx index 20196d4b2..c664ed682 100644 --- a/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx +++ b/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx @@ -221,14 +221,14 @@ function UIView(props: { const comp = props.comp; const childrenProps = childrenToProps(comp.children); const parentDisabled = useContext(DisabledContext); - const disabled = childrenProps["disabled"]; - if (disabled !== undefined && typeof disabled === "boolean") { - childrenProps["disabled"] = disabled || parentDisabled; + const disabled = childrenProps['disabled']; + if (disabled !== undefined && typeof disabled === 'boolean') { + childrenProps['disabled'] = disabled || parentDisabled; } //ADDED BY FRED if (childrenProps.events) { - const events = childrenProps.events as { value?: any[] }; + const events = childrenProps.events as {value?: any[]}; if (!events.value || events.value.length === 0) { events.value = []; } @@ -246,22 +246,31 @@ function UIView(props: { ); } + let defaultChildren = comp.children; + const isNotContainer = defaultChildren.hasOwnProperty('style'); + let rotationVal = null + if (isNotContainer) { + rotationVal = defaultChildren.style.children.rotation.valueAndMsg.value; + } return (
+ width: '100%', + height: '100%', + margin: '0px', + padding: + rotationVal === null + ? '0px' + : rotationVal === '' || rotationVal === '0deg' + ? '0px' + : '50% 0px', + }} + >
); From 3cedcedd996b9a0974de332dca38904be9cd3c7f Mon Sep 17 00:00:00 2001 From: MeenamAfzal Date: Tue, 28 May 2024 17:21:32 +0500 Subject: [PATCH 02/19] rotation improved --- .../comps/comps/containerComp/cardComp.tsx | 1 + .../comps/containerComp/textContainerComp.tsx | 4 ++-- .../responsiveLayout/responsiveLayout.tsx | 12 ++++++------ .../lowcoder/src/comps/comps/textComp.tsx | 9 ++++----- .../triFloatTextContainer.tsx | 9 ++++----- .../comps/controls/styleControlConstants.tsx | 19 +++++++++++++++++++ .../src/comps/generators/uiCompBuilder.tsx | 17 ++++++++++++----- 7 files changed, 48 insertions(+), 23 deletions(-) diff --git a/client/packages/lowcoder/src/comps/comps/containerComp/cardComp.tsx b/client/packages/lowcoder/src/comps/comps/containerComp/cardComp.tsx index 2f927cfda..ac746e4c5 100644 --- a/client/packages/lowcoder/src/comps/comps/containerComp/cardComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/containerComp/cardComp.tsx @@ -78,6 +78,7 @@ const Wrapper = styled.div<{ border-style: ${props => props.$style?.borderStyle}; border-radius: ${props => props.$style?.radius}; border-width: ${props => props.$style?.borderWidth}; + box-shadow: ${props=>`${props.$style?.boxShadow} ${props.$style?.boxShadowColor}`}; ${props=>props.$animationStyle} } .ant-card-body { diff --git a/client/packages/lowcoder/src/comps/comps/containerComp/textContainerComp.tsx b/client/packages/lowcoder/src/comps/comps/containerComp/textContainerComp.tsx index 1edf9c97b..22260ba00 100644 --- a/client/packages/lowcoder/src/comps/comps/containerComp/textContainerComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/containerComp/textContainerComp.tsx @@ -20,7 +20,7 @@ import { TriContainer } from "../triContainerComp/triFloatTextContainer"; import { dropdownControl } from "comps/controls/dropdownControl"; import { withDefault } from "comps/generators/simpleGenerators"; import { styleControl } from "comps/controls/styleControl"; -import { AnimationStyle, TextStyle } from "comps/controls/styleControlConstants"; +import { AnimationStyle, TextContainerStyle } from "comps/controls/styleControlConstants"; import { useContext } from "react"; import { EditorContext } from "comps/editorState"; import { alignWithJustifyControl } from "comps/controls/alignControl"; @@ -62,7 +62,7 @@ export const ContainerBaseComp = (function () { float: dropdownControl(floatOptions, "left"), horizontalAlignment: alignWithJustifyControl(), width: withDefault(StringControl, "40"), - style: styleControl(TextStyle), + style: styleControl(TextContainerStyle), animationStyle: styleControl(AnimationStyle), }; return new ContainerCompBuilder(childrenMap, (props, dispatch) => { diff --git a/client/packages/lowcoder/src/comps/comps/responsiveLayout/responsiveLayout.tsx b/client/packages/lowcoder/src/comps/comps/responsiveLayout/responsiveLayout.tsx index f49772863..e7000ae10 100644 --- a/client/packages/lowcoder/src/comps/comps/responsiveLayout/responsiveLayout.tsx +++ b/client/packages/lowcoder/src/comps/comps/responsiveLayout/responsiveLayout.tsx @@ -91,7 +91,7 @@ const childrenMap = { autoHeight: AutoHeightControl, rowBreak: withDefault(BoolControl, false), matchColumnsHeight: withDefault(BoolControl, true), - rowStyle: withDefault(styleControl(ResponsiveLayoutRowStyle), {}), + style: withDefault(styleControl(ResponsiveLayoutRowStyle), {}), columnStyle: withDefault(styleControl(ResponsiveLayoutColStyle), {}), animationStyle:styleControl(AnimationStyle), columnPerRowLG: withDefault(NumberControl, 4), @@ -127,7 +127,7 @@ const ResponsiveLayout = (props: ResponsiveLayoutProps) => { dispatch, rowBreak, matchColumnsHeight, - rowStyle, + style, columnStyle, columnPerRowLG, columnPerRowMD, @@ -138,11 +138,11 @@ const ResponsiveLayout = (props: ResponsiveLayoutProps) => { } = props; return ( - + -
+
- {children.rowStyle.getPropertyView()} + {children.style.getPropertyView()}
{children.columnStyle.getPropertyView()} diff --git a/client/packages/lowcoder/src/comps/comps/textComp.tsx b/client/packages/lowcoder/src/comps/comps/textComp.tsx index 18cf05727..0d101373d 100644 --- a/client/packages/lowcoder/src/comps/comps/textComp.tsx +++ b/client/packages/lowcoder/src/comps/comps/textComp.tsx @@ -10,7 +10,7 @@ import { UICompBuilder } from "../generators"; import { NameConfig, NameConfigHidden, withExposingConfigs } from "../generators/withExposing"; import { markdownCompCss, TacoMarkDown } from "lowcoder-design"; import { styleControl } from "comps/controls/styleControl"; -import { AnimationStyle, AnimationStyleType, TextStyle, TextStyleType, heightCalculator, widthCalculator } from "comps/controls/styleControlConstants"; +import { AnimationStyle, AnimationStyleType, TextContainerStyle, TextContainerStyleType, heightCalculator, widthCalculator } from "comps/controls/styleControlConstants"; import { hiddenPropertyView } from "comps/utils/propertyUtils"; import { trans } from "i18n"; import { alignWithJustifyControl } from "comps/controls/alignControl"; @@ -21,7 +21,7 @@ import { PaddingControl } from "../controls/paddingControl"; import React, { useContext } from "react"; import { EditorContext } from "comps/editorState"; -const getStyle = (style: TextStyleType) => { +const getStyle = (style: TextContainerStyleType) => { return css` border-radius: ${(style.radius ? style.radius : "4px")}; border: ${(style.borderWidth ? style.borderWidth : "0px")} solid ${style.border}; @@ -74,7 +74,7 @@ const getStyle = (style: TextStyleType) => { const TextContainer = styled.div<{ $type: string; - $styleConfig: TextStyleType; + $styleConfig: TextContainerStyleType; $animationStyle:AnimationStyleType; }>` height: 100%; @@ -130,7 +130,7 @@ let TextTmpComp = (function () { type: dropdownControl(typeOptions, "markdown"), horizontalAlignment: alignWithJustifyControl(), verticalAlignment: dropdownControl(VerticalAlignmentOptions, "center"), - style: styleControl(TextStyle), + style: styleControl(TextContainerStyle), animationStyle: styleControl(AnimationStyle), margin: MarginControl, padding: PaddingControl, @@ -146,7 +146,6 @@ let TextTmpComp = (function () { justifyContent: props.horizontalAlignment, alignItems: props.autoHeight ? "center" : props.verticalAlignment, textAlign: props.horizontalAlignment, - rotate: props.style.rotation }} > {props.type === "markdown" ? {value} : value} diff --git a/client/packages/lowcoder/src/comps/comps/triContainerComp/triFloatTextContainer.tsx b/client/packages/lowcoder/src/comps/comps/triContainerComp/triFloatTextContainer.tsx index 6179ae132..d87d9cf64 100644 --- a/client/packages/lowcoder/src/comps/comps/triContainerComp/triFloatTextContainer.tsx +++ b/client/packages/lowcoder/src/comps/comps/triContainerComp/triFloatTextContainer.tsx @@ -1,5 +1,5 @@ import { - TextStyleType, + TextContainerStyleType, ContainerStyleType, heightCalculator, widthCalculator, @@ -17,12 +17,11 @@ import { } from "../containerComp/containerView"; import { TriContainerViewProps } from "../triContainerComp/triContainerCompBuilder"; -const getStyle = (style: TextStyleType) => { +const getStyle = (style: TextContainerStyleType) => { return css` border-radius: ${(style.radius ? style.radius : "4px")}; border: ${(style.borderWidth ? style.borderWidth : "0px")} solid ${style.border}; color: ${style.text}; - rotate: ${style.rotation&&style.rotation}; font-size: ${style.textSize} !important; font-weight: ${style.textWeight} !important; font-family: ${style.fontFamily} !important; @@ -89,7 +88,7 @@ ${props=>props.$animationStyle&&props.$animationStyle} ${(props) => props.$style.backgroundImageOrigin && `background-origin: ${props.$style.backgroundImageOrigin};`} `; -const FloatTextWrapper = styled.div<{ $style: TextStyleType, $horizontalAlignment : any }>` +const FloatTextWrapper = styled.div<{ $style: TextContainerStyleType, $horizontalAlignment : any }>` ${(props) => props.$style && getStyle(props.$style)} text-align: ${(props) => props.$horizontalAlignment}; padding: ${(props) => props.$style.padding}; @@ -146,7 +145,7 @@ export type TriContainerProps = TriContainerViewProps & { type: string; float: string; width: string; - style: TextStyleType; + style: TextContainerStyleType; horizontalAlignment: string; animationStyle?: AnimationStyleType; }; diff --git a/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx b/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx index 80f910112..83d106ede 100644 --- a/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx +++ b/client/packages/lowcoder/src/comps/controls/styleControlConstants.tsx @@ -812,6 +812,24 @@ export const TextStyle = [ }, ] as const; +export const TextContainerStyle = [ + { + name: "background", + label: trans("style.background"), + depTheme: "canvas", + depType: DEP_TYPE.SELF, + transformer: toSelf, + }, + ...STYLING_FIELDS_SEQUENCE.filter(style=>style.name!=='rotation'), + { + name: "links", + label: trans("style.links"), + depTheme: "primary", + depType: DEP_TYPE.SELF, + transformer: toSelf, + }, +] as const; + export const MarginStyle = [ { name: "margin", @@ -1946,6 +1964,7 @@ export type ColorPickerStyleType = StyleConfigType; export type ButtonStyleType = StyleConfigType; export type ToggleButtonStyleType = StyleConfigType; export type TextStyleType = StyleConfigType; +export type TextContainerStyleType = StyleConfigType; export type ContainerStyleType = StyleConfigType; export type ContainerHeaderStyleType = StyleConfigType< typeof ContainerHeaderStyle diff --git a/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx b/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx index c664ed682..8c80a7bc4 100644 --- a/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx +++ b/client/packages/lowcoder/src/comps/generators/uiCompBuilder.tsx @@ -249,8 +249,10 @@ function UIView(props: { let defaultChildren = comp.children; const isNotContainer = defaultChildren.hasOwnProperty('style'); let rotationVal = null + let boxShadowVal = null; if (isNotContainer) { - rotationVal = defaultChildren.style.children.rotation.valueAndMsg.value; + rotationVal = defaultChildren.style.children?.rotation?.valueAndMsg.value; + boxShadowVal = defaultChildren.style?.children?.boxShadow?.valueAndMsg?.value; } return (