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

Commit6aced74

Browse files
authored
Merge pull request#1351 from lowcoder-org/feature-pagination
Implemented pagination in some APIs.
2 parents8af5754 +0364857 commit6aced74

File tree

41 files changed

+1409
-322
lines changed

Some content is hidden

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

41 files changed

+1409
-322
lines changed

‎client/packages/lowcoder-design/src/components/Search.tsx

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -62,24 +62,35 @@ interface ISearch {
6262
placeholder:string;
6363
value:string;
6464
onChange:(value:React.ChangeEvent<HTMLInputElement>)=>void;
65+
onEnterPress?:(value:string)=>void;// Added for capturing Enter key press
6566
disabled?:boolean;
6667
}
6768

6869
exportconstSearch=(props:ISearch&InputProps)=>{
69-
const{ value, onChange, style, disabled, placeholder, ...others}=props;
70+
const{ value, onChange, style, disabled, placeholder, onEnterPress, ...others}=props;
71+
7072
consthandleChange=(e:React.ChangeEvent<HTMLInputElement>)=>{
7173
onChange&&onChange(e);
7274
};
75+
76+
// Handling Enter key press
77+
consthandleKeyDown=(e:React.KeyboardEvent<HTMLInputElement>)=>{
78+
if(e.key==='Enter'&&onEnterPress){
79+
onEnterPress(value);
80+
}
81+
};
82+
7383
return(
74-
<SearchDivstyle={style}>
75-
<SearchInput
76-
disabled={disabled}
77-
placeholder={placeholder}
78-
onChange={handleChange}
79-
value={value}
80-
prefix={<SearchIcon/>}
81-
{...others}
82-
/>
83-
</SearchDiv>
84+
<SearchDivstyle={style}>
85+
<SearchInput
86+
disabled={disabled}
87+
placeholder={placeholder}
88+
onChange={handleChange}
89+
onKeyDown={handleKeyDown}// Listening for key down events
90+
value={value}
91+
prefix={<SearchIcon/>}
92+
{...others}
93+
/>
94+
</SearchDiv>
8495
);
85-
};
96+
};

‎client/packages/lowcoder/src/api/applicationApi.ts

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import {
1212
SetAppEditingStatePayload,
1313
UpdateAppPermissionPayload,
1414
}from"redux/reduxActions/applicationActions";
15-
import{ApiResponse,GenericApiResponse}from"./apiResponses";
15+
import{ApiResponse,GenericApiResponse}from"./apiResponses";
1616
import{JSONObject,JSONValue}from"util/jsonTypes";
1717
import{
1818
ApplicationDetail,
@@ -24,6 +24,7 @@ import {
2424
}from"constants/applicationConstants";
2525
import{CommonSettingResponseData}from"./commonSettingApi";
2626
import{ResourceType}from"@lowcoder-ee/constants/queryConstants";
27+
import{fetchAppRequestType,GenericApiPaginationResponse}from"@lowcoder-ee/util/pagination/type";
2728

2829
exportinterfaceHomeOrgMeta{
2930
id:string;
@@ -108,6 +109,10 @@ class ApplicationApi extends Api {
108109
returnApi.get(ApplicationApi.newURLPrefix+"/list",{ ...request,withContainerSize:false});
109110
}
110111

112+
staticfetchAllApplicationsPagination(request:fetchAppRequestType):AxiosPromise<GenericApiPaginationResponse<ApplicationMeta[]>>{
113+
returnApi.get(ApplicationApi.newURLPrefix+"/list",{ ...request,withContainerSize:false,applicationStatus:"RECYCLED"});
114+
}
115+
111116
staticfetchAllModules(request:HomeDataPayload):AxiosPromise<ApplicationMeta[]>{
112117
returnApi.get(ApplicationApi.newURLPrefix+"/list",{
113118
applicationType:AppTypeEnum.Module,

‎client/packages/lowcoder/src/api/datasourceApi.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,11 @@ import { JSONArray } from "util/jsonTypes";
88
import{AuthType,HttpOAuthGrantType}from"pages/datasource/form/httpDatasourceForm";
99
import{Datasource}from"@lowcoder-ee/constants/datasourceConstants";
1010
import{DataSourcePluginMeta}from"lowcoder-sdk/dataSource";
11+
import{
12+
fetchDataSourcePaginationRequestType,
13+
fetchDBRequestType,
14+
GenericApiPaginationResponse
15+
}from"@lowcoder-ee/util/pagination/type";
1116

1217
exportinterfacePreparedStatementConfig{
1318
enableTurnOffPreparedStatement:boolean;
@@ -164,6 +169,11 @@ export class DatasourceApi extends Api {
164169
returnApi.get(DatasourceApi.url+`/jsDatasourcePlugins?appId=${appId}`);
165170
}
166171

172+
staticfetchJsDatasourcePaginationByApp(request:fetchDataSourcePaginationRequestType):AxiosPromise<GenericApiPaginationResponse<NodePluginDatasourceInfo[]>>{
173+
const{appId, ...res}=request
174+
returnApi.get(DatasourceApi.url+`/jsDatasourcePlugins?appId=${appId}`,{...res});
175+
}
176+
167177
staticfetchDatasourceByApp(appId:string):AxiosPromise<GenericApiResponse<DatasourceInfo[]>>{
168178
returnApi.get(DatasourceApi.url+`/listByApp?appId=${appId}`);
169179
}
@@ -172,6 +182,11 @@ export class DatasourceApi extends Api {
172182
returnApi.get(DatasourceApi.url+`/listByOrg?orgId=${orgId}`);
173183
}
174184

185+
staticfetchDatasourcePaginationByOrg(request:fetchDBRequestType):AxiosPromise<GenericApiPaginationResponse<DatasourceInfo[]>>{
186+
const{orgId, ...res}=request;
187+
returnApi.get(DatasourceApi.url+`/listByOrg?orgId=${orgId}`,{...res});
188+
}
189+
175190
staticcreateDatasource(
176191
datasourceConfig:Partial<Datasource>
177192
):AxiosPromise<GenericApiResponse<Datasource>>{

‎client/packages/lowcoder/src/api/folderApi.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,10 @@ import {
99
UpdateFolderPayload,
1010
}from"../redux/reduxActions/folderActions";
1111
import{ApplicationMeta,FolderMeta}from"../constants/applicationConstants";
12+
import{
13+
fetchFolderRequestType,
14+
GenericApiPaginationResponse
15+
}from"@lowcoder-ee/util/pagination/type";
1216

1317
exportclassFolderApiextendsApi{
1418
staticurl="/folders";
@@ -40,4 +44,11 @@ export class FolderApi extends Api {
4044
):AxiosPromise<GenericApiResponse<(ApplicationMeta|FolderMeta)[]>>{
4145
returnApi.get(FolderApi.url+`/elements`,{id:request.folderId});
4246
}
47+
48+
staticfetchFolderElementsPagination(
49+
request:fetchFolderRequestType
50+
):AxiosPromise<GenericApiPaginationResponse<(ApplicationMeta|FolderMeta)[]>>{
51+
const{id, ...res}=request
52+
returnrequest.id ?Api.get(FolderApi.url+`/elements`,{id:id, ...res}) :Api.get(FolderApi.url+`/elements`,{ ...request});
53+
}
4354
}

‎client/packages/lowcoder/src/api/orgApi.ts

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ import {
1010
UpdateUserOrgRolePayload,
1111
}from"redux/reduxActions/orgActions";
1212
import{ApiResponse,GenericApiResponse}from"./apiResponses";
13+
import{
14+
ApiPaginationResponse,
15+
fetchGroupUserRequestType,
16+
fetchOrgsByEmailRequestType,
17+
fetchOrgUserRequestType,
18+
GenericApiPaginationResponse,
19+
GroupUsersPaginationResponse,
20+
orgGroupRequestType,OrgUsersPaginationResponse
21+
}from"@lowcoder-ee/util/pagination/type";
1322

1423
exportinterfaceGroupUsersResponseextendsApiResponse{
1524
data:{
@@ -66,6 +75,10 @@ export class OrgApi extends Api {
6675
returnApi.get(OrgApi.fetchGroupURL);
6776
}
6877

78+
staticfetchGroupPagination(request:orgGroupRequestType):AxiosPromise<GenericApiPaginationResponse<OrgGroup[]>>{
79+
returnApi.get(OrgApi.fetchGroupURL,{...request});
80+
}
81+
6982
staticdeleteGroup(groupId:string):AxiosPromise<ApiResponse>{
7083
returnApi.delete(OrgApi.deleteGroupURL(groupId));
7184
}
@@ -88,10 +101,20 @@ export class OrgApi extends Api {
88101
returnApi.get(OrgApi.fetchOrgUsersURL(orgId));
89102
}
90103

104+
staticfetchOrgUsersPagination(request:fetchOrgUserRequestType):AxiosPromise<OrgUsersPaginationResponse>{
105+
const{orgId, ...res}=request;
106+
returnApi.get(OrgApi.fetchOrgUsersURL(orgId),{...res});
107+
}
108+
91109
staticfetchGroupUsers(groupId:string):AxiosPromise<GroupUsersResponse>{
92110
returnApi.get(OrgApi.fetchGroupUsersURL(groupId));
93111
}
94112

113+
staticfetchGroupUsersPagination(request:fetchGroupUserRequestType):AxiosPromise<GroupUsersPaginationResponse>{
114+
const{groupId, ...res}=request;
115+
returnApi.get(OrgApi.fetchGroupUsersURL(groupId),{...res});
116+
}
117+
95118
staticdeleteGroupUser(request:RemoveGroupUserPayload):AxiosPromise<ApiResponse>{
96119
returnApi.delete(OrgApi.deleteGroupUserURL(request.groupId),{
97120
userId:request.userId,
@@ -145,6 +168,11 @@ export class OrgApi extends Api {
145168
staticfetchOrgsByEmail(email:string):AxiosPromise<ApiResponse>{
146169
returnApi.get(OrgApi.fetchOrgsByEmailURL(email));
147170
}
171+
172+
staticfetchOrgsPaginationByEmail(request:fetchOrgsByEmailRequestType):AxiosPromise<ApiPaginationResponse>{
173+
const{ email, ...rest}=request;
174+
returnApi.get(OrgApi.fetchOrgsByEmailURL(email),{...rest});
175+
}
148176
}
149177

150178
exportdefaultOrgApi;

‎client/packages/lowcoder/src/api/queryLibraryApi.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import Api from "./api";
22
import{AxiosPromise}from"axios";
33
import{GenericApiResponse}from"./apiResponses";
44
import{DatasourceType}from"@lowcoder-ee/constants/queryConstants";
5+
import{fetchQueryLibraryPaginationRequestType,GenericApiPaginationResponse}from"@lowcoder-ee/util/pagination/type";
56

67
exportinterfaceLibraryQuery{
78
id:string;
@@ -49,6 +50,10 @@ export class QueryLibraryApi extends Api {
4950
returnApi.get(QueryLibraryApi.url+`/listByOrg`);
5051
}
5152

53+
staticfetchQueryLibraryPaginationByOrg(request:fetchQueryLibraryPaginationRequestType):AxiosPromise<GenericApiPaginationResponse<Array<LibraryQuery>>>{
54+
returnApi.get(QueryLibraryApi.url+`/listByOrg`,{...request});
55+
}
56+
5257
staticfetchQueryLibraryDropdown():AxiosPromise<
5358
GenericApiResponse<Array<LibraryQueryDropdownInfo>>
5459
>{

‎client/packages/lowcoder/src/components/TypographyText.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -40,9 +40,9 @@ const StyledTypographyText = styled(AntdTypographyText)`
4040
`;
4141

4242
exportconstTypographyText=(props:{
43-
value:string;
44-
editing:boolean;
45-
onChange:(value:string)=>void;
43+
value?:string;
44+
editing?:boolean;
45+
onChange?:(value:string)=>void;
4646
})=>(
4747
<StyledTypographyText
4848
title={props.value}

‎client/packages/lowcoder/src/comps/comps/queryLibrary/queryLibraryComp.tsx

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,9 @@ const children = {
4747
constQueryLibraryCompBase=simpleMultiComp(children);
4848

4949
exportconstQueryLibraryComp=classextendsQueryLibraryCompBase{
50-
propertyView(params:{onPublish:()=>void;onHistoryShow:()=>void}){
50+
propertyView(params:{onPublish:()=>void;onHistoryShow:()=>void;setModify:any;modify:boolean}){
5151
return(
52-
<PropertyViewcomp={this}onPublish={params.onPublish}onHistoryShow={params.onHistoryShow}/>
52+
<PropertyViewcomp={this}onPublish={params.onPublish}onHistoryShow={params.onHistoryShow}setModify={params.setModify}modify={params.modify}/>
5353
);
5454
}
5555

@@ -99,11 +99,13 @@ function getMetaData(
9999
}
100100

101101
constPropertyView=(props:{
102-
comp:QueryLibraryCompType;
103-
onPublish:()=>void;
104-
onHistoryShow:()=>void;
102+
comp:QueryLibraryCompType,
103+
onPublish:()=>void,
104+
onHistoryShow:()=>void,
105+
setModify?:any
106+
modify?:boolean
105107
})=>{
106-
const{ comp, onPublish, onHistoryShow}=props;
108+
const{ comp, onPublish, onHistoryShow, setModify, modify}=props;
107109

108110
constreduxDispatch=useDispatch();
109111

@@ -157,12 +159,16 @@ const PropertyView = (props: {
157159
CustomModal.confirm({
158160
title:trans("queryLibrary.deleteQueryLabel"),
159161
content:trans("queryLibrary.deleteQueryContent"),
160-
onConfirm:()=>
162+
onConfirm:()=>{
161163
reduxDispatch(
162164
deleteQueryLibrary({
163165
queryLibraryId:comp.children.query.children.id.getView(),
164166
})
165-
),
167+
)
168+
setTimeout(()=>{
169+
setModify(!modify);
170+
},500);
171+
},
166172
confirmBtnType:"delete",
167173
okText:trans("delete"),
168174
})
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
exportconstBackButton=()=>{
2+
return
3+
<div>123</div>
4+
}

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -185,14 +185,14 @@ function NavLayoutPickModal(props: {
185185
);
186186
}
187187

188-
exportconstCreateDropdown=(props:{defaultVisible?:boolean;mode:HomeLayoutMode})=>{
189-
const{ defaultVisible, mode}=props;
188+
exportconstCreateDropdown=(props:{defaultVisible?:boolean;mode:HomeLayoutMode;setModify:any;modify:boolean})=>{
189+
const{ defaultVisible, mode, setModify, modify}=props;
190190
const[createDropdownVisible,setCreateDropdownVisible]=useState(false);
191191
const[layoutPickerVisible,setLayoutPickerVisible]=useState(false);
192192

193193
constuser=useSelector(getUser);
194194

195-
const[handleCreate,isCreating]=useCreateHomeRes();
195+
const[handleCreate,isCreating]=useCreateHomeRes(setModify,modify);
196196

197197
constgetCreateMenuItem=(type:HomeResTypeEnum,mode?:HomeLayoutMode):ItemType=>{
198198
if(

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp