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

Commit876fe31

Browse files
committed
Merge branch 'dev' into settings_navigation_app
2 parentscb5ff45 +0060f16 commit876fe31

File tree

19 files changed

+354
-306
lines changed

19 files changed

+354
-306
lines changed

‎client/packages/lowcoder/src/comps/hooks/modalComp.tsx

Lines changed: 199 additions & 179 deletions
Large diffs are not rendered by default.

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

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import {
3232
UserIcon,
3333
}from"lowcoder-design";
3434
importReact,{useCallback,useEffect,useState,useMemo}from"react";
35-
import{fetchAllApplications,fetchHomeData}from"redux/reduxActions/applicationActions";
35+
import{fetchHomeData}from"redux/reduxActions/applicationActions";
3636
import{fetchSubscriptionsAction}from"redux/reduxActions/subscriptionActions";
3737
import{getHomeOrg,normalAppListSelector}from"redux/selectors/applicationSelector";
3838
import{DatasourceHome}from"../datasource";
@@ -125,18 +125,13 @@ export default function ApplicationHome() {
125125
},[org,orgHomeId]);
126126

127127
useEffect(()=>{
128-
if(allAppCount!==0){
129-
return;
130-
}
131-
user.currentOrgId&&dispatch(fetchAllApplications({}));
132-
},[dispatch,allAppCount,user.currentOrgId]);
133-
134-
useEffect(()=>{
135-
if(allFoldersCount!==0){
128+
// Check if we need to fetch data (either no folders or no applications)
129+
if(allFoldersCount!==0&&allAppCount!==0){
136130
return;
137131
}
132+
138133
user.currentOrgId&&dispatch(fetchFolderElements({}));
139-
},[dispatch,allFoldersCount,user.currentOrgId]);
134+
},[dispatch,allFoldersCount,allAppCount,user.currentOrgId]);
140135

141136
if(fetchingUser||!isPreloadCompleted){
142137
return<ProductLoading/>;

‎client/packages/lowcoder/src/pages/common/WorkspaceSection.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -71,16 +71,16 @@ const WorkspaceList = styled.div`
7171
}
7272
`;
7373

74-
constWorkspaceItem=styled.div<{isActive?:boolean}>`
74+
constWorkspaceItem=styled.div<{$isActive?:boolean}>`
7575
display: flex;
7676
align-items: center;
7777
padding: 10px 16px;
7878
cursor: pointer;
7979
transition: background-color 0.2s;
80-
background-color:${props=>props.isActive ?'#f0f5ff' :'transparent'};
80+
background-color:${props=>props.$isActive ?'#f0f5ff' :'transparent'};
8181
8282
&:hover {
83-
background-color:${props=>props.isActive ?'#f0f5ff' :'#f8f9fa'};
83+
background-color:${props=>props.$isActive ?'#f0f5ff' :'#f8f9fa'};
8484
}
8585
`;
8686

@@ -242,7 +242,7 @@ export default function WorkspaceSectionComponent({
242242
displayWorkspaces.map((org:Org)=>(
243243
<WorkspaceItem
244244
key={org.id}
245-
isActive={user.currentOrgId===org.id}
245+
$isActive={user.currentOrgId===org.id}
246246
onClick={()=>handleOrgSwitch(org.id)}
247247
>
248248
<WorkspaceNametitle={org.name}>{org.name}</WorkspaceName>

‎client/packages/lowcoder/src/pages/common/profileDropdown.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ export default function ProfileDropdown(props: DropDownProps) {
192192
<StyledDropdown
193193
open={dropdownVisible}
194194
onOpenChange={setDropdownVisible}
195-
dropdownRender={()=>dropdownContent}
195+
popupRender={()=>dropdownContent}
196196
trigger={["click"]}
197197
placement="bottomRight"
198198
>

‎client/packages/lowcoder/src/pages/editor/LeftContent.tsx

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,14 @@ export const LeftContent = (props: LeftContentProps) => {
446446
</span>
447447
{info?.show&&data&&(
448448
<Modal
449-
title={data.name}
449+
title={
450+
<div>
451+
<div>{data.name}</div>
452+
<divstyle={{fontSize:'12px',color:'#666',fontWeight:'normal',marginTop:'4px'}}>
453+
<strong>Type:</strong>{data.type}
454+
</div>
455+
</div>
456+
}
450457
open={info.show}
451458
onOk={()=>setShowData([])}
452459
cancelButtonProps={{style:{display:'none'}}}

‎client/packages/lowcoder/src/redux/sagas/folderSagas.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,19 @@ export function* fetchFolderElementsSaga(action: ReduxAction<FetchFolderElements
118118
type:ReduxActionTypes.FETCH_ALL_FOLDERS_SUCCESS,
119119
payload:response.data.data.filter((m)=>m.folder),
120120
});
121+
122+
// filter out applications with NORMAL status
123+
124+
constapplications=response.data.data.filter((item):item isApplicationMeta=>
125+
!item.folder&&item.applicationStatus==="NORMAL"
126+
);
127+
128+
yieldput({
129+
type:ReduxActionTypes.FETCH_ALL_APPLICATIONS_SUCCESS,
130+
payload:applications,
131+
});
121132
}
133+
122134
yieldput({
123135
type:ReduxActionTypes.FETCH_FOLDER_ELEMENTS_SUCCESS,
124136
payload:{parentFolderId:action.payload.folderId,elements:response.data.data},

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/organization/model/Organization.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
importstaticjava.util.Optional.ofNullable;
2222
importstaticorg.apache.commons.lang3.ObjectUtils.firstNonNull;
2323
importstaticorg.lowcoder.infra.util.AssetUtils.toAssetPath;
24+
importjava.time.Instant;
2425

2526

2627
@Getter

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/repository/UserRepository.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,16 @@
11
packageorg.lowcoder.domain.user.repository;
22

33
importjava.util.Collection;
4+
importjava.util.List;
45

56
importorg.lowcoder.domain.user.model.User;
7+
importorg.springframework.data.domain.Pageable;
68
importorg.springframework.data.mongodb.repository.ReactiveMongoRepository;
79
importorg.springframework.stereotype.Repository;
810

911
importreactor.core.publisher.Flux;
1012
importreactor.core.publisher.Mono;
13+
importorg.springframework.data.mongodb.repository.Query;
1114

1215
@Repository
1316
publicinterfaceUserRepositoryextendsReactiveMongoRepository<User,String> {
@@ -23,4 +26,10 @@ public interface UserRepository extends ReactiveMongoRepository<User, String> {
2326

2427
//email1 and email2 should be equal
2528
Flux<User>findByEmailOrConnections_Email(Stringemail1,Stringemail2);
29+
30+
@Query("{ '_id': { $in: ?0 }, 'state': ?1, 'isEnabled': ?2, $or: [ { 'name': { $regex: ?3, $options: 'i' } }, { '_id': { $regex: ?3, $options: 'i' } } ] }")
31+
Flux<User>findUsersByIdsAndSearchNameForPagination(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex,Pageablepageable);
32+
33+
@Query(value ="{ '_id': { $in: ?0 }, 'state': ?1, 'isEnabled': ?2, $or: [ { 'name': { $regex: ?3, $options: 'i' } }, { '_id': { $regex: ?3, $options: 'i' } } ] }",count =true)
34+
Mono<Long>countUsersByIdsAndSearchName(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex);
2635
}

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserService.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,10 @@
33
importjava.util.Collection;
44
importjava.util.Map;
55

6-
importorg.lowcoder.domain.user.model.AuthUser;
7-
importorg.lowcoder.domain.user.model.Connection;
8-
importorg.lowcoder.domain.user.model.User;
9-
importorg.lowcoder.domain.user.model.UserDetail;
6+
importorg.lowcoder.domain.user.model.*;
107
importorg.lowcoder.infra.annotation.NonEmptyMono;
118
importorg.lowcoder.infra.mongo.MongoUpsertHelper.PartialResourceWithId;
9+
importorg.springframework.data.domain.Pageable;
1210
importorg.springframework.http.codec.multipart.Part;
1311
importorg.springframework.web.server.ServerWebExchange;
1412

@@ -68,5 +66,7 @@ public interface UserService {
6866

6967
Flux<User>findBySourceAndIds(StringconnectionSource,Collection<String>connectionSourceUuids);
7068

71-
}
69+
Flux<User>findUsersByIdsAndSearchNameForPagination(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex,Pageablepageable);
7270

71+
Mono<Long>countUsersByIdsAndSearchName(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex);
72+
}

‎server/api-service/lowcoder-domain/src/main/java/org/lowcoder/domain/user/service/UserServiceImpl.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
importorg.lowcoder.sdk.util.HashUtils;
3737
importorg.lowcoder.sdk.util.LocaleUtils;
3838
importorg.springframework.dao.DuplicateKeyException;
39+
importorg.springframework.data.domain.Pageable;
3940
importorg.springframework.http.codec.multipart.Part;
4041
importorg.springframework.stereotype.Service;
4142
importorg.springframework.web.server.ServerWebExchange;
@@ -473,4 +474,13 @@ public Flux<User> findBySourceAndIds(String connectionSource, Collection<String>
473474
returnrepository.findByConnections_SourceAndConnections_RawIdIn(connectionSource,connectionSourceUuids);
474475
}
475476

477+
@Override
478+
publicFlux<User>findUsersByIdsAndSearchNameForPagination(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex,Pageablepageable) {
479+
returnrepository.findUsersByIdsAndSearchNameForPagination(ids,state,isEnabled,searchRegex,pageable);
480+
}
481+
482+
@Override
483+
publicMono<Long>countUsersByIdsAndSearchName(Collection<String>ids,Stringstate,booleanisEnabled,StringsearchRegex) {
484+
returnrepository.countUsersByIdsAndSearchName(ids,state,isEnabled,searchRegex);
485+
}
476486
}

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp