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

Commit200fdb6

Browse files
authored
Merge branch 'dev' into fix/jwt
2 parents48658b6 +a8e8b9a commit200fdb6

File tree

48 files changed

+451
-418
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

48 files changed

+451
-418
lines changed

‎.gitignore‎

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ client/packages/lowcoder-plugin-demo/.yarn/install-state.gz
1010
client/packages/lowcoder-plugin-demo/yarn.lock
1111
client/packages/lowcoder-plugin-demo/.yarn/cache/@types-node-npm-16.18.68-56f72825c0-094ae9ed80.zip
1212
application-dev.yml
13-
server/api-service/lowcoder-server/src/main/resources/application-lowcoder.yml
14-
server/api-service/lowcoder-server/src/main/resources/application-debug.yaml
13+
application-lowcoder.yml
14+
application-debug.yaml
15+
application-dev-localhost.yaml
1516
.vscode/settings.json
16-
.vscode/launch.json
17-
server/api-service/lowcoder-server/src/main/resources/application-dev-localhost.yaml
17+
.vscode/launch.json

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

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,6 @@ const StyledDivider = styled(Divider) <IProps>`
5353
padding:${(props)=>props.$style.padding};
5454
border-radius:${props=>props.$style.radius};
5555
border-top:${(props)=>(props.$style.borderWidth&&props.$style.borderWidth!="0px" ?props.$style.borderWidth :"1px")}${(props)=>props.$style.borderStyle}${(props)=>props.$style.border};
56-
""
5756
.ant-divider-inner-text::before, .ant-divider-inner-text::after {
5857
border-block-start:${(props)=>(props.$style.borderWidth&&props.$style.borderWidth!="0px" ?props.$style.borderWidth :"1px")}${(props)=>(props.dashed ?"dashed" :"solid")}${(props)=>props.$style.border} !important;
5958
border-block-start-color: inherit;
@@ -65,6 +64,12 @@ const StyledDivider = styled(Divider) <IProps>`
6564
border-top-color:${(props)=>props.$style.color};
6665
color:${(props)=>props.$style.text};
6766
}
67+
&.ant-divider-horizontal.ant-divider-with-text::before,
68+
&.ant-divider-horizontal.ant-divider-with-text::after {
69+
border-top-color:${(props)=>props.$style.color};
70+
border-radius:${props=>props.$style.radius};
71+
border-top:${(props)=>(props.$style.borderWidth&&props.$style.borderWidth!="0px" ?props.$style.borderWidth :"1px")}${(props)=>props.$style.borderStyle}${(props)=>props.$style.border};
72+
}
6873
`;
6974

7075
constchildrenMap={

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

Lines changed: 48 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import { EditorContainer, EmptyContent } from "pages/common/styledComponent";
1717
import{useCallback,useEffect,useMemo,useState}from"react";
1818
importstyledfrom"styled-components";
1919
import{isUserViewMode,useAppPathParam}from"util/hooks";
20-
import{StringControl,jsonControl}from"comps/controls/codeControl";
20+
import{BoolCodeControl,StringControl,jsonControl}from"comps/controls/codeControl";
2121
import{styleControl}from"comps/controls/styleControl";
2222
import{
2323
NavLayoutStyle,
@@ -41,6 +41,8 @@ import {
4141
menuItemStyleOptions
4242
}from"./navLayoutConstants";
4343

44+
const{ Header}=Layout;
45+
4446
constDEFAULT_WIDTH=240;
4547
typeMenuItemStyleOptionValue="normal"|"hover"|"active";
4648

@@ -99,10 +101,12 @@ const StyledMenu = styled(AntdMenu)<{
99101
.ant-menu-submenu {
100102
margin:${(props)=>props.$navItemStyle?.margin};
101103
width:${(props)=>props.$navItemStyle?.width};
104+
padding: 0;
102105
103106
.ant-menu-submenu-title {
104107
width: 100%;
105108
height: auto !important;
109+
max-height: 100%;
106110
background-color:${(props)=>props.$navItemStyle?.background};
107111
color:${(props)=>props.$navItemStyle?.text};
108112
border-radius:${(props)=>props.$navItemStyle?.radius} !important;
@@ -190,7 +194,8 @@ let NavTmpLayout = (function () {
190194
width:withDefault(StringControl,DEFAULT_WIDTH),
191195
backgroundImage:withDefault(StringControl,""),
192196
mode:dropdownControl(ModeOptions,"inline"),
193-
navStyle:withDefault(styleControl(NavLayoutStyle),defaultStyle),
197+
collapse:BoolCodeControl,
198+
navStyle:withDefault(styleControl(NavLayoutStyle),{...defaultStyle,padding:'1px'}),
194199
navItemStyle:withDefault(styleControl(NavLayoutItemStyle),defaultStyle),
195200
navItemHoverStyle:withDefault(styleControl(NavLayoutItemHoverStyle),{}),
196201
navItemActiveStyle:withDefault(styleControl(NavLayoutItemActiveStyle),{}),
@@ -226,6 +231,9 @@ let NavTmpLayout = (function () {
226231
label:trans("labelProp.position"),
227232
radioButton:true
228233
})}
234+
{children.collapse.propertyView({
235+
label:trans("labelProp.collapse"),
236+
})}
229237
{children.backgroundImage.propertyView({
230238
label:`Background Image`,
231239
placeholder:'https://temp.im/350x400',
@@ -266,6 +274,7 @@ NavTmpLayout = withViewFn(NavTmpLayout, (comp) => {
266274
constitems=comp.children.items.getView();
267275
constnavWidth=comp.children.width.getView();
268276
constnavMode=comp.children.mode.getView();
277+
constnavCollapse=comp.children.collapse.getView();
269278
constnavStyle=comp.children.navStyle.getView();
270279
constnavItemStyle=comp.children.navItemStyle.getView();
271280
constnavItemHoverStyle=comp.children.navItemHoverStyle.getView();
@@ -547,32 +556,45 @@ NavTmpLayout = withViewFn(NavTmpLayout, (comp) => {
547556
backgroundStyle=`center / cover url('${backgroundImage}') no-repeat,${backgroundStyle}`;
548557
}
549558

559+
letnavMenu=(
560+
<StyledMenu
561+
items={menuItems}
562+
mode={navMode}
563+
style={{
564+
height:`calc(100% -${getVerticalMargin(navStyle.margin.split(' '))})`,
565+
width:`calc(100% -${getHorizontalMargin(navStyle.margin.split(' '))})`,
566+
borderRight:navMode!=='horizontal' ?`1px solid${navStyle.border}` :'none',
567+
borderBottom:navMode==='horizontal' ?`1px solid${navStyle.border}` :'none',
568+
borderRadius:navStyle.radius,
569+
color:navStyle.text,
570+
margin:navStyle.margin,
571+
padding:navStyle.padding,
572+
background:backgroundStyle,
573+
flex:1,
574+
minWidth:0,
575+
}}
576+
defaultOpenKeys={defaultOpenKeys}
577+
selectedKeys={[selectedKey]}
578+
$navItemStyle={{
579+
width:navMode==='horizontal' ?'auto' :`calc(100% -${getHorizontalMargin(navItemStyle.margin.split(' '))})`,
580+
...navItemStyle,
581+
}}
582+
$navItemHoverStyle={navItemHoverStyle}
583+
$navItemActiveStyle={navItemActiveStyle}
584+
/>
585+
);
586+
550587
letcontent=(
551588
<Layout>
552-
<StyledSidetheme="light"width={navWidth}>
553-
<StyledMenu
554-
items={menuItems}
555-
mode={navMode}
556-
style={{
557-
height:`calc(100% -${getVerticalMargin(navStyle.margin.split(' '))})`,
558-
width:`calc(100% -${getHorizontalMargin(navStyle.margin.split(' '))})`,
559-
borderRight:`1px solid${navStyle.border}`,
560-
borderRadius:navStyle.radius,
561-
color:navStyle.text,
562-
margin:navStyle.margin,
563-
padding:navStyle.padding,
564-
background:backgroundStyle,
565-
}}
566-
defaultOpenKeys={defaultOpenKeys}
567-
selectedKeys={[selectedKey]}
568-
$navItemStyle={{
569-
width:`calc(100% -${getHorizontalMargin(navItemStyle.margin.split(' '))})`,
570-
...navItemStyle,
571-
}}
572-
$navItemHoverStyle={navItemHoverStyle}
573-
$navItemActiveStyle={navItemActiveStyle}
574-
/>
575-
</StyledSide>
589+
{navMode==='horizontal' ?(
590+
<Headerstyle={{display:'flex',alignItems:'center',padding:0}}>
591+
{navMenu}
592+
</Header>
593+
) :(
594+
<StyledSidetheme="light"width={navWidth}collapsed={navCollapse}>
595+
{navMenu}
596+
</StyledSide>
597+
)}
576598
<MainContent>{pageView}</MainContent>
577599
</Layout>
578600
);

‎client/packages/lowcoder/src/comps/comps/layout/navLayoutConstants.ts‎

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { trans } from "i18n";
33
exportconstModeOptions=[
44
{label:trans("navLayout.modeInline"),value:"inline"},
55
{label:trans("navLayout.modeVertical"),value:"vertical"},
6+
{label:trans("navLayout.modeHorizontal"),value:"horizontal"},
67
]asconst;
78

89
exportconstDataOption={

‎client/packages/lowcoder/src/comps/generators/withSelectedMultiContext.tsx‎

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -96,8 +96,10 @@ export function withSelectedMultiContext<TCtor extends MultiCompConstructor>(
9696
comp=comp.reduce(wrapChildAction(COMP_KEY,newAction));
9797
}elseif(
9898
!action.editDSL
99-
&&isCustomAction<ModuleReadyAction>(action,"moduleReady")
100-
&&action.path[0]===MAP_KEY
99+
&&(
100+
isCustomAction<ModuleReadyAction>(action,"moduleReady")
101+
||isCustomAction<LazyCompReadyAction>(action,"LazyCompReady")
102+
)&&action.path[0]===MAP_KEY
101103
){
102104
comp=super.reduce(action);
103105
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -229,6 +229,7 @@ export const en = {
229229
"text":"Label",
230230
"tooltip":"Tooltip",
231231
"position":"Position",
232+
"collapse":"Collapse",
232233
"left":"Left",
233234
"right":"Right",
234235
"top":"Top",
@@ -3470,6 +3471,7 @@ export const en = {
34703471
"mode":"Mode",
34713472
"modeInline":"Inline",
34723473
"modeVertical":"Vertical",
3474+
"modeHorizontal":"Horizontal",
34733475
"width":"Width",
34743476
"widthTooltip":"Pixel or Percentage, e.g. 520, 60%",
34753477
"navStyle":"Menu Style",

‎client/packages/lowcoder/src/pages/ApplicationV2/HomeLayout.tsx‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -359,8 +359,8 @@ export function HomeLayout(props: HomeLayoutProps) {
359359
constresList:HomeRes[]=displayElements
360360
.filter((e)=>
361361
searchValue
362-
?e.name.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase())||
363-
e.createBy.toLocaleLowerCase().includes(searchValue.toLocaleLowerCase())
362+
?e.name?.toLocaleLowerCase().includes(searchValue?.toLocaleLowerCase())||
363+
e.createBy?.toLocaleLowerCase().includes(searchValue?.toLocaleLowerCase())
364364
:true
365365
)
366366
.filter((e)=>{

‎server/api-service/lowcoder-domain/pom.xml‎

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -262,6 +262,11 @@
262262
<artifactId>jaxb-runtime</artifactId>
263263
</dependency>
264264
<!-- oss-->
265+
<dependency>
266+
<groupId>com.github.f4b6a3</groupId>
267+
<artifactId>uuid-creator</artifactId>
268+
<version>5.2.0</version>
269+
</dependency>
265270
</dependencies>
266271

267272
<build>

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/model/Application.java‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,12 +6,11 @@
66
importstaticorg.lowcoder.domain.application.ApplicationUtil.getContainerSizeFromDSL;
77
importstaticorg.lowcoder.domain.application.ApplicationUtil.getDependentModulesFromDsl;
88

9-
importjava.util.Collections;
10-
importjava.util.Map;
11-
importjava.util.Optional;
12-
importjava.util.Set;
9+
importjava.util.*;
1310
importjava.util.function.Supplier;
1411

12+
importcom.github.f4b6a3.uuid.UuidCreator;
13+
importlombok.Getter;
1514
importlombok.NoArgsConstructor;
1615
importlombok.Setter;
1716
importlombok.experimental.SuperBuilder;
@@ -37,7 +36,8 @@
3736
@SuperBuilder
3837
@NoArgsConstructor
3938
publicclassApplicationextendsHasIdAndAuditing {
40-
39+
@Getter
40+
privateStringgid;
4141
privateStringorganizationId;
4242
privateStringname;
4343
privateIntegerapplicationType;
@@ -64,6 +64,7 @@ public Application(
6464
@JsonProperty("publicToMarketplace")BooleanpublicToMarketplace,
6565
@JsonProperty("agencyProfile")BooleanagencyProfile
6666
) {
67+
this.gid =UuidCreator.getTimeOrderedEpoch().toString();
6768
this.organizationId =organizationId;
6869
this.name =name;
6970
this.applicationType =applicationType;

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/application/repository/ApplicationRepository.java‎

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,29 +25,37 @@ public interface ApplicationRepository extends ReactiveMongoRepository<Applicati
2525
@Query(fields ="{ publishedApplicationDSL : 0 , editingApplicationDSL : 0 }")
2626
Mono<Application>findById(@NonnullStringid);
2727

28+
@Query(fields ="{ publishedApplicationDSL : 0 , editingApplicationDSL : 0 }")
29+
Flux<Application>findByGid(@NonnullStringgid);
30+
2831
Mono<Long>countByOrganizationIdAndApplicationStatus(StringorganizationId,ApplicationStatusapplicationStatus);
2932

3033
@Query("{$or : [{'publishedApplicationDSL.queries.datasourceId':?0},{'editingApplicationDSL.queries.datasourceId':?0}]}")
3134
Flux<Application>findByDatasourceId(StringdatasourceId);
3235

3336
Flux<Application>findByIdIn(Collection<String>ids);
37+
Flux<Application>findByGidIn(Collection<String>ids);
3438

3539
Flux<Application>findByCreatedByAndIdIn(StringuserId,Collection<String>ids);
40+
Flux<Application>findByCreatedByAndGidIn(StringuserId,Collection<String>gids);
3641

3742
/**
3843
* Filter public applications from list of supplied IDs
3944
*/
4045
Flux<Application>findByPublicToAllIsTrueAndIdIn(Collection<String>ids);
46+
Flux<Application>findByPublicToAllIsTrueAndGidIn(Collection<String>gids);
4147

4248
/**
4349
* Filter marketplace applications from list of supplied IDs
4450
*/
4551
Flux<Application>findByPublicToAllIsTrueAndPublicToMarketplaceIsTrueAndIdIn(Collection<String>ids);
52+
Flux<Application>findByPublicToAllIsTrueAndPublicToMarketplaceIsTrueAndGidIn(Collection<String>ids);
4653

4754
/**
4855
* Filter agency applications from list of supplied IDs
4956
*/
5057
Flux<Application>findByPublicToAllIsTrueAndAgencyProfileIsTrueAndIdIn(Collection<String>ids);
58+
Flux<Application>findByPublicToAllIsTrueAndAgencyProfileIsTrueAndGidIn(Collection<String>ids);
5159

5260
/**
5361
* Find all marketplace applications

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp