Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commitf27dbc4

Browse files
authored
Merge pull request#1031 from lowcoder-org/dev
Dev -> Main for Release 2.4.3
2 parentsaa8ec31 +0df085d commitf27dbc4

File tree

21 files changed

+124
-43
lines changed

21 files changed

+124
-43
lines changed

‎client/VERSION‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.4.2
1+
2.4.3

‎client/packages/lowcoder-comps/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"lowcoder-comps",
3-
"version":"2.4.7",
3+
"version":"2.4.8",
44
"type":"module",
55
"license":"MIT",
66
"dependencies": {

‎client/packages/lowcoder-sdk/package.json‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name":"lowcoder-sdk",
3-
"version":"2.4.5",
3+
"version":"2.4.6",
44
"type":"module",
55
"files": [
66
"src",

‎client/packages/lowcoder/src/app.tsx‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,11 @@ class AppIndex extends React.Component<AppIndexProps, any> {
130130
// make sure all users in this app have checked login info
131131
if(!this.props.isFetchUserFinished||(this.props.currentUserId&&!this.props.fetchHomeDataFinished)){
132132
consthideLoadingHeader=isTemplate||isAuthUnRequired(pathname);
133+
// if the user just logged in, we send the event to posthog
134+
if(sessionStorage.getItem('_just_logged_in_')){
135+
posthog.identify(this.props.currentUserId);
136+
sessionStorage.removeItem('_just_logged_in_');
137+
}
133138
return<ProductLoadinghideHeader={hideLoadingHeader}/>;
134139
}
135140

‎client/packages/lowcoder/src/comps/comps/dividerComp.tsx‎

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,18 @@ import { AutoHeightControl } from "comps/controls/autoHeightControl";
1717

1818
import{useContext}from"react";
1919
import{EditorContext}from"comps/editorState";
20+
import{useMergeCompStyles}from"@lowcoder-ee/index.sdk";
2021

2122
typeIProps=DividerProps&{
2223
$style:DividerStyleType;
23-
dashed:boolean;
2424
$animationStyle:AnimationStyleType;
25+
type?:'vertical'|'horizontal';
2526
};
2627

27-
// TODO: enable type "vertical" https://ant.design/components/divider
28-
2928
constStyledDivider=styled(Divider)<IProps>`
29+
3030
margin-top: 3.5px;
31-
rotate:${(props)=>props.$style.rotation};
32-
31+
rotate:${(props)=>props.type==='vertical' ?'0deg' :props.$style.rotation};
3332
.ant-divider-inner-text {
3433
height: 32px;
3534
display: flex;
@@ -56,7 +55,6 @@ const StyledDivider = styled(Divider)<IProps>`
5655
.ant-divider-inner-text::before,
5756
.ant-divider-inner-text::after {
5857
border-block-start:${(props)=>props.$style.borderWidth&&props.$style.borderWidth!=="0px" ?props.$style.borderWidth :"1px"}
59-
${(props)=>props.dashed ?"dashed" :"solid"}
6058
${(props)=>props.$style.border} !important;
6159
border-block-start-color: inherit;
6260
border-block-end: 0;
@@ -77,15 +75,22 @@ const StyledDivider = styled(Divider)<IProps>`
7775
${(props)=>props.$style.borderStyle}
7876
${(props)=>props.$style.border};
7977
}
78+
&.ant-divider-vertical {
79+
height:${(props)=>props.type==='vertical'&&'200px'};
80+
border-left:${(props)=>props.$style.borderWidth&&props.$style.borderWidth!=="0px" ?props.$style.borderWidth :"1px"}
81+
${(props)=>props.$style.borderStyle}
82+
${(props)=>props.$style.border};
83+
border-top: none;
84+
}
8085
`;
8186

8287
constchildrenMap={
8388
title:StringControl,
84-
dashed:BoolControl,
8589
align:alignControl(),
86-
autoHeight:withDefault(AutoHeightControl,"fixed"),
87-
style:styleControl(DividerStyle),
88-
animationStyle:styleControl(AnimationStyle),
90+
type:BoolControl,
91+
autoHeight:withDefault(AutoHeightControl,"auto"),
92+
style:styleControl(DividerStyle,'style'),
93+
animationStyle:styleControl(AnimationStyle,'animationStyle'),
8994
};
9095

9196
functionfixOldStyleData(oldData:any){
@@ -105,25 +110,29 @@ function fixOldStyleData(oldData: any) {
105110

106111
// Compatible with historical style data 2022-8-26
107112
constDividerTempComp=migrateOldData(
108-
newUICompBuilder(childrenMap,(props)=>{
113+
newUICompBuilder(childrenMap,(props,dispatch)=>{
114+
useMergeCompStyles(propsasRecord<string,any>,dispatch);
115+
constdividerType=props.type ?'vertical' :'horizontal';
116+
109117
return(
110118
<StyledDivider
111119
orientation={props.align}
112-
dashed={props.dashed}
120+
type={dividerType}
113121
$style={props.style}
114122
$animationStyle={props.animationStyle}
115123
>
116-
{props.title}
124+
{dividerType==='horizontal'&&props.title}
117125
</StyledDivider>
118126
);
119127
})
120128
.setPropertyViewFn((children)=>{
121129
return(
122130
<>
123-
<Sectionname={sectionNames.basic}>
124-
{children.title.propertyView({label:trans("divider.title")})}
125-
</Section>
126-
131+
{!children?.type?.getView()&&
132+
<Sectionname={sectionNames.basic}>
133+
{children.title.propertyView({label:trans("divider.title")})}
134+
</Section>}
135+
127136
{["logic","both"].includes(useContext(EditorContext).editorModeStatus)&&(
128137
<Sectionname={sectionNames.interaction}>
129138
{hiddenPropertyView(children)}
@@ -141,7 +150,7 @@ const DividerTempComp = migrateOldData(
141150
{children.autoHeight.getPropertyView()}
142151
</Section>
143152
<Sectionname={sectionNames.style}>
144-
{children.dashed.propertyView({label:trans("divider.dashed")})}
153+
{children.type.propertyView({label:trans("divider.type")})}
145154
{children.style.getPropertyView()}
146155
</Section>
147156
<Sectionname={sectionNames.animationStyle}hasTooltip={true}>
@@ -153,7 +162,6 @@ const DividerTempComp = migrateOldData(
153162
);
154163
})
155164
.setExposeStateConfigs([
156-
newNameConfig("dashed",trans("divider.dashedDesc")),
157165
newNameConfig("title",trans("divider.titleDesc")),
158166
newNameConfig("align",trans("divider.alignDesc")),
159167
NameConfigHidden,
@@ -166,4 +174,4 @@ export const DividerComp = class extends DividerTempComp {
166174
overrideautoHeight():boolean{
167175
returnthis.children.autoHeight.getView();
168176
}
169-
};
177+
};

‎client/packages/lowcoder/src/comps/comps/layout/mobileTabLayout.tsx‎

Lines changed: 25 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,8 @@ import { AlignRight } from "lowcoder-design";
3333
import{LayoutActionComp}from"./layoutActionComp";
3434
import{defaultTheme}from"@lowcoder-ee/constants/themeConstants";
3535
import{clickEvent,eventHandlerControl}from"@lowcoder-ee/comps/controls/eventHandlerControl";
36+
import{useMergeCompStyles}from"@lowcoder-ee/util/hooks";
37+
import{childrenToProps}from"@lowcoder-ee/comps/generators/multi";
3638

3739
constTabBar=React.lazy(()=>import("antd-mobile/es/components/tab-bar"));
3840
constTabBarItem=React.lazy(()=>
@@ -228,9 +230,10 @@ function TabBarView(props: TabBarProps & {
228230
>
229231
<StyledTabBar
230232
onChange={(key:string)=>{
233+
console.log(key)
231234
if(key){
232-
props.onEvent('click')
233235
props.onChange(key);
236+
props.onEvent('click')
234237
}
235238
}}
236239
activeKey={props.selectedKey}
@@ -289,7 +292,7 @@ let MobileTabLayoutTmp = (function () {
289292
constchildrenMap={
290293
onEvent:eventHandlerControl(EventOptions),
291294
dataOptionType:dropdownControl(DataOptionType,DataOption.Manual),
292-
jsonItems:jsonControl<JsonItemNode[]>(convertTreeData,mobileNavJsonMenuItems),
295+
jsonItems:jsonControl<JsonItemNode[]>(convertTreeData,mobileNavJsonMenuItems),
293296
tabs:manualOptionsControl(TabOptionComp,{
294297
initOptions:[
295298
{
@@ -315,12 +318,12 @@ let MobileTabLayoutTmp = (function () {
315318
maxWidth:withDefault(NumberControl,450),
316319
verticalAlignment:dropdownControl(VerticalAlignmentOptions,"stretch"),
317320
showSeparator:withDefault(BoolCodeControl,true),
318-
navStyle:withDefault(styleControl(NavLayoutStyle),defaultStyle),
319-
navItemStyle:withDefault(styleControl(NavLayoutItemStyle),defaultStyle),
320-
navItemHoverStyle:withDefault(styleControl(NavLayoutItemHoverStyle),{}),
321-
navItemActiveStyle:withDefault(styleControl(NavLayoutItemActiveStyle),{}),
321+
navStyle:styleControl(NavLayoutStyle,'navStyle'),
322+
navItemStyle:styleControl(NavLayoutItemStyle,'navItemStyle'),
323+
navItemHoverStyle:styleControl(NavLayoutItemHoverStyle,'navItemHoverStyle'),
324+
navItemActiveStyle:styleControl(NavLayoutItemActiveStyle,'navItemActiveStyle'),
322325
};
323-
returnnewMultiCompBuilder(childrenMap,(props)=>{
326+
returnnewMultiCompBuilder(childrenMap,(props,dispatch)=>{
324327
returnnull;
325328
})
326329
.setPropertyViewFn((children)=>{
@@ -402,6 +405,8 @@ MobileTabLayoutTmp = withViewFn(MobileTabLayoutTmp, (comp) => {
402405
constbgColor=(useContext(ThemeContext)?.theme||defaultTheme).canvas;
403406
constonEvent=comp.children.onEvent.getView();
404407

408+
useMergeCompStyles(childrenToProps(comp.children),comp.dispatch);
409+
405410
useEffect(()=>{
406411
comp.children.jsonTabs.dispatchChangeValueAction({
407412
manual:jsonItemsasunknownasArray<ConstructorToDataType<typeofTabOptionComp>>
@@ -427,9 +432,20 @@ MobileTabLayoutTmp = withViewFn(MobileTabLayoutTmp, (comp) => {
427432
constappView=useMemo(()=>{
428433
constcurrentTab=tabViews[tabIndex];
429434

435+
if(dataOptionType===DataOption.Json){
436+
return(currentTab&&
437+
currentTab.children.app.getAppId()&&
438+
currentTab.children.app.getView())||(
439+
<EmptyContent
440+
text={readOnly ?"" :trans("aggregation.emptyTabTooltip")}
441+
style={{height:"100%",backgroundColor:"white"}}
442+
/>
443+
);
444+
}
445+
430446
return(currentTab&&
431-
currentTab.children.app.getAppId()&&
432-
currentTab.children.app.getView())||(
447+
//currentTab.children.app.getAppId() &&
448+
currentTab.children.action.getView())||(
433449
<EmptyContent
434450
text={readOnly ?"" :trans("aggregation.emptyTabTooltip")}
435451
style={{height:"100%",backgroundColor:"white"}}

‎client/packages/lowcoder/src/comps/comps/layout/navLayout.tsx‎

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import { trans } from "i18n";
1616
import{EditorContainer,EmptyContent}from"pages/common/styledComponent";
1717
import{useCallback,useEffect,useMemo,useState}from"react";
1818
importstyledfrom"styled-components";
19-
import{isUserViewMode,useAppPathParam}from"util/hooks";
19+
import{isUserViewMode,useAppPathParam,useMergeCompStyles}from"util/hooks";
2020
import{BoolCodeControl,StringControl,jsonControl}from"comps/controls/codeControl";
2121
import{styleControl}from"comps/controls/styleControl";
2222
import{
@@ -41,6 +41,7 @@ import {
4141
menuItemStyleOptions
4242
}from"./navLayoutConstants";
4343
import{clickEvent,eventHandlerControl}from"@lowcoder-ee/comps/controls/eventHandlerControl";
44+
import{childrenToProps}from"@lowcoder-ee/comps/generators/multi";
4445

4546
const{ Header}=Layout;
4647

@@ -198,10 +199,10 @@ let NavTmpLayout = (function () {
198199
backgroundImage:withDefault(StringControl,""),
199200
mode:dropdownControl(ModeOptions,"inline"),
200201
collapse:BoolCodeControl,
201-
navStyle:withDefault(styleControl(NavLayoutStyle),{...defaultStyle,padding:'1px'}),
202-
navItemStyle:withDefault(styleControl(NavLayoutItemStyle),defaultStyle),
203-
navItemHoverStyle:withDefault(styleControl(NavLayoutItemHoverStyle),{}),
204-
navItemActiveStyle:withDefault(styleControl(NavLayoutItemActiveStyle),{}),
202+
navStyle:styleControl(NavLayoutStyle,'navStyle'),
203+
navItemStyle:styleControl(NavLayoutItemStyle,'navItemStyle'),
204+
navItemHoverStyle:styleControl(NavLayoutItemHoverStyle,'navItemHoverStyle'),
205+
navItemActiveStyle:styleControl(NavLayoutItemActiveStyle,'navItemActiveStyle'),
205206
};
206207
returnnewMultiCompBuilder(childrenMap,(props)=>{
207208
returnnull;
@@ -290,6 +291,8 @@ NavTmpLayout = withViewFn(NavTmpLayout, (comp) => {
290291
constdataOptionType=comp.children.dataOptionType.getView();
291292
constonEvent=comp.children.onEvent.getView();
292293

294+
useMergeCompStyles(childrenToProps(comp.children),comp.dispatch);
295+
293296
// filter out hidden. unauthorised items filtered by server
294297
constfilterItem=useCallback((item:LayoutMenuItemComp):boolean=>{
295298
return!item.children.hidden.getView();

‎client/packages/lowcoder/src/comps/controls/styleControl.tsx‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -876,7 +876,7 @@ export function styleControl<T extends readonly SingleColorConfig[]>(
876876
...(theme?.theme?.components?.[compType]?.[styleKey]||{})asunknownasRecord<string,string>
877877
}
878878
:undefined;
879-
conststyleProps=preventStyleOverwriting||preventAppStylesOverwriting||appliedThemeId===themeId
879+
conststyleProps=(!comp&&!compType)||preventStyleOverwriting||preventAppStylesOverwriting||appliedThemeId===themeId
880880
?propsasColorMap
881881
:{}asColorMap;
882882

‎client/packages/lowcoder/src/constants/themeConstants.ts‎

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,11 @@ const qrCode = {
9595
}
9696
};
9797

98+
constdivider={
99+
style:{
100+
radius:"0px"
101+
}
102+
};
98103

99104
exportconstdefaultTheme:ThemeDetail={
100105
primary:"#3377FF",
@@ -130,6 +135,7 @@ export const defaultTheme: ThemeDetail = {
130135
qrCode,
131136
treeSelect,
132137
pageLayout,
138+
divider,
133139
password:input,
134140
numberInput:input,
135141
textArea:input,

‎client/packages/lowcoder/src/i18n/locales/en.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2006,6 +2006,7 @@ export const en = {
20062006
"title":"Title",
20072007
"align":"Alignment",
20082008
"dashed":"Dashed",
2009+
"type":"Vertical type",
20092010
"dashedDesc":"Whether to Use Dashed Line",
20102011
"titleDesc":"Divider Title",
20112012
"alignDesc":"Divider Title Alignment"

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp