Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
52c81cf
Increase Heap Size
dragonpoo Nov 20, 2024
3a443bb
Merge pull request #1323 from lowcoder-org/fix/heapsize
FalkWolsky Nov 20, 2024
24ba4bd
convert snapshot migration to use aggregation pipeline
dragonpoo Nov 20, 2024
0c5c344
delete after copying records
dragonpoo Nov 20, 2024
1eca3af
different migration based on mongo version.
dragonpoo Nov 20, 2024
dc98eb3
Merge pull request #1324 from lowcoder-org/fix/migration
FalkWolsky Nov 20, 2024
b605907
modify to use aggregate
dragonpoo Nov 21, 2024
f7a6179
modify snapshot task logic to move from normal collection to timeseri…
dragonpoo Nov 21, 2024
138ebd8
swap ts and normal collection in api endpoint
dragonpoo Nov 22, 2024
a28b90f
application snapshot history count logic fix
dragonpoo Nov 22, 2024
311bae7
page number start from 1
dragonpoo Nov 22, 2024
570e35c
#1284 Fixed duplicate key error for currentUser endpoint when logging…
dragonpoo Nov 22, 2024
d6d7a88
fix test compile issue
dragonpoo Nov 22, 2024
a740d0f
Added tree structure basically.
Imiss-U1025 Nov 19, 2024
69c7415
Added Movefolder in redux.
Imiss-U1025 Nov 21, 2024
b6e07d5
Made be possible Drag and Drop in extension.
Imiss-U1025 Nov 21, 2024
63534ca
Added removing module.
Imiss-U1025 Nov 21, 2024
c8daa8d
Added removing folder.
Imiss-U1025 Nov 22, 2024
39dbd40
Added Renaming folders.
Imiss-U1025 Nov 22, 2024
521370f
Added removing modules
Imiss-U1025 Nov 22, 2024
fdc0145
Fixed UI.
Imiss-U1025 Nov 22, 2024
ff55d93
Fxied ability to module drag and drop in right panel.
Imiss-U1025 Nov 22, 2024
4e4e906
Fixed an issue where subApplications are hidden when rename a folder.
Imiss-U1025 Nov 22, 2024
ab549e4
Merge pull request #1334 from lowcoder-org/feature-extension
FalkWolsky Nov 22, 2024
4871649
Fixed an issue miss loading-indicator.
Imiss-U1025 Nov 23, 2024
9e5a05f
Excluding local definition for EE
Nov 23, 2024
297ae81
Fixed folder or content title overflow in module panel and applied it…
Imiss-U1025 Nov 23, 2024
8cc5a1d
Merge pull request #1336 from lowcoder-org/feature-loading-indicator
FalkWolsky Nov 23, 2024
133e048
Merge branch 'dev' into feature-extension
FalkWolsky Nov 23, 2024
5aa2969
Merge pull request #1339 from lowcoder-org/feature-extension
FalkWolsky Nov 23, 2024
895e184
Fixed enterprise login issue for newcomers
dragonpoo Nov 26, 2024
837fa89
change default page num to 1
dragonpoo Nov 26, 2024
91215b2
fix default value
dragonpoo Nov 26, 2024
50f6f3f
Added pagination ui
Imiss-U1025 Nov 14, 2024
8e28799
Removed Your Folder Component
Imiss-U1025 Nov 26, 2024
56e0946
Added utilities for pagination.
Imiss-U1025 Nov 26, 2024
5094210
Implemented pagination in Your App.
Imiss-U1025 Nov 26, 2024
9274820
Implemented pagination in trash.
Imiss-U1025 Nov 27, 2024
2805754
Imported types from util/pagination
Imiss-U1025 Nov 27, 2024
fa66f2c
Added utilities for pagination.
Imiss-U1025 Nov 27, 2024
3305212
Implemented pagination in User Group List.
Imiss-U1025 Nov 27, 2024
7bd89d3
Implemented pagination in Data Sources.
Imiss-U1025 Nov 27, 2024
0ec1143
Implemented pagination in groupUsersPermission.
Imiss-U1025 Nov 27, 2024
580bc9f
Implemented pagination in organizations's member.
Imiss-U1025 Nov 27, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,4 @@ application-dev-localhost.yaml
server/api-service/lowcoder-server/src/main/resources/application-local-dev.yaml
translations/locales/node_modules/
.vscode/settings.json
server/api-service/lowcoder-server/src/main/resources/application-local-dev-ee.yaml
35 changes: 23 additions & 12 deletions client/packages/lowcoder-design/src/components/Search.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -62,24 +62,35 @@ interface ISearch {
placeholder: string;
value: string;
onChange: (value: React.ChangeEvent<HTMLInputElement>) => void;
onEnterPress?: (value: string) => void; // Added for capturing Enter key press
disabled?: boolean;
}

export const Search = (props: ISearch & InputProps) => {
const { value, onChange, style, disabled, placeholder, ...others } = props;
const { value, onChange, style, disabled, placeholder, onEnterPress, ...others } = props;

const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
onChange && onChange(e);
};

// Handling Enter key press
const handleKeyDown = (e: React.KeyboardEvent<HTMLInputElement>) => {
if (e.key === 'Enter' && onEnterPress) {
onEnterPress(value);
}
};

return (
<SearchDiv style={style}>
<SearchInput
disabled={disabled}
placeholder={placeholder}
onChange={handleChange}
value={value}
prefix={<SearchIcon />}
{...others}
/>
</SearchDiv>
<SearchDiv style={style}>
<SearchInput
disabled={disabled}
placeholder={placeholder}
onChange={handleChange}
onKeyDown={handleKeyDown} // Listening for key down events
value={value}
prefix={<SearchIcon />}
{...others}
/>
</SearchDiv>
);
};
};
2 changes: 2 additions & 0 deletions client/packages/lowcoder/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
display: flex;
pointer-events: none;
flex-direction: column;
top: 0;
z-index: 10000;
}
#loading svg {
animation: breath 1s linear infinite;
Expand Down
7 changes: 6 additions & 1 deletion client/packages/lowcoder/src/api/applicationApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ import {
SetAppEditingStatePayload,
UpdateAppPermissionPayload,
} from "redux/reduxActions/applicationActions";
import { ApiResponse, GenericApiResponse } from "./apiResponses";
import {ApiResponse, GenericApiResponse} from "./apiResponses";
import { JSONObject, JSONValue } from "util/jsonTypes";
import {
ApplicationDetail,
Expand All @@ -24,6 +24,7 @@ import {
} from "constants/applicationConstants";
import { CommonSettingResponseData } from "./commonSettingApi";
import { ResourceType } from "@lowcoder-ee/constants/queryConstants";
import {fetchAppRequestType, GenericApiPaginationResponse} from "@lowcoder-ee/util/pagination/type";

export interface HomeOrgMeta {
id: string;
Expand Down Expand Up @@ -108,6 +109,10 @@ class ApplicationApi extends Api {
return Api.get(ApplicationApi.newURLPrefix + "/list", { ...request, withContainerSize: false });
}

static fetchAllApplicationsPagination(request: fetchAppRequestType): AxiosPromise<GenericApiPaginationResponse<ApplicationMeta[]>> {
return Api.get(ApplicationApi.newURLPrefix + "/list", { ...request, withContainerSize: false, applicationStatus: "RECYCLED" });
}

static fetchAllModules(request: HomeDataPayload): AxiosPromise<ApplicationMeta[]> {
return Api.get(ApplicationApi.newURLPrefix + "/list", {
applicationType: AppTypeEnum.Module,
Expand Down
6 changes: 6 additions & 0 deletions client/packages/lowcoder/src/api/datasourceApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ import { JSONArray } from "util/jsonTypes";
import { AuthType, HttpOAuthGrantType } from "pages/datasource/form/httpDatasourceForm";
import { Datasource } from "@lowcoder-ee/constants/datasourceConstants";
import { DataSourcePluginMeta } from "lowcoder-sdk/dataSource";
import {fetchDBRequestType, GenericApiPaginationResponse} from "@lowcoder-ee/util/pagination/type";

export interface PreparedStatementConfig {
enableTurnOffPreparedStatement: boolean;
Expand Down Expand Up @@ -172,6 +173,11 @@ export class DatasourceApi extends Api {
return Api.get(DatasourceApi.url + `/listByOrg?orgId=${orgId}`);
}

static fetchDatasourcePaginationByOrg(request: fetchDBRequestType): AxiosPromise<GenericApiPaginationResponse<DatasourceInfo[]>> {
const {orgId, ...res} = request;
return Api.get(DatasourceApi.url + `/listByOrg?orgId=${orgId}`, {...res});
}

static createDatasource(
datasourceConfig: Partial<Datasource>
): AxiosPromise<GenericApiResponse<Datasource>> {
Expand Down
10 changes: 10 additions & 0 deletions client/packages/lowcoder/src/api/folderApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ import {
UpdateFolderPayload,
} from "../redux/reduxActions/folderActions";
import { ApplicationMeta, FolderMeta } from "../constants/applicationConstants";
import {
fetchFolderRequestType,
GenericApiPaginationResponse
} from "@lowcoder-ee/util/pagination/type";

export class FolderApi extends Api {
static url = "/folders";
Expand Down Expand Up @@ -40,4 +44,10 @@ export class FolderApi extends Api {
): AxiosPromise<GenericApiResponse<(ApplicationMeta | FolderMeta)[]>> {
return Api.get(FolderApi.url + `/elements`, { id: request.folderId });
}

static fetchFolderElementsPagination(
request: fetchFolderRequestType
): AxiosPromise<GenericApiPaginationResponse<(ApplicationMeta | FolderMeta)[]>> {
return Api.get(FolderApi.url + `/elements`, { ...request });
}
}
21 changes: 21 additions & 0 deletions client/packages/lowcoder/src/api/orgApi.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,13 @@ import {
UpdateUserOrgRolePayload,
} from "redux/reduxActions/orgActions";
import { ApiResponse, GenericApiResponse } from "./apiResponses";
import {
fetchGroupUserRequestType,
fetchOrgUserRequestType,
GenericApiPaginationResponse,
GroupUsersPaginationResponse,
orgGroupRequestType, OrgUsersPaginationResponse
} from "@lowcoder-ee/util/pagination/type";

export interface GroupUsersResponse extends ApiResponse {
data: {
Expand Down Expand Up @@ -66,6 +73,10 @@ export class OrgApi extends Api {
return Api.get(OrgApi.fetchGroupURL);
}

static fetchGroupPagination(request: orgGroupRequestType): AxiosPromise<GenericApiPaginationResponse<OrgGroup[]>> {
return Api.get(OrgApi.fetchGroupURL, {...request});
}

static deleteGroup(groupId: string): AxiosPromise<ApiResponse> {
return Api.delete(OrgApi.deleteGroupURL(groupId));
}
Expand All @@ -88,10 +99,20 @@ export class OrgApi extends Api {
return Api.get(OrgApi.fetchOrgUsersURL(orgId));
}

static fetchOrgUsersPagination(request:fetchOrgUserRequestType): AxiosPromise<OrgUsersPaginationResponse> {
const {orgId, ...res} = request;
return Api.get(OrgApi.fetchOrgUsersURL(orgId), {...res});
}

static fetchGroupUsers(groupId: string): AxiosPromise<GroupUsersResponse> {
return Api.get(OrgApi.fetchGroupUsersURL(groupId));
}

static fetchGroupUsersPagination(request: fetchGroupUserRequestType): AxiosPromise<GroupUsersPaginationResponse> {
const {groupId, ...res} = request;
return Api.get(OrgApi.fetchGroupUsersURL(groupId), {...res});
}

static deleteGroupUser(request: RemoveGroupUserPayload): AxiosPromise<ApiResponse> {
return Api.delete(OrgApi.deleteGroupUserURL(request.groupId), {
userId: request.userId,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ const Wrapper = styled.div<{
$itemHeight?: number;
}>`
position: relative;
width: 100%;
width: auto;
height: ${(props) => props.$itemHeight ?? 30}px;
/* border: 1px solid #d7d9e0; */
border-radius: 4px;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import { DraggableTreeContext } from "./DraggableTreeContext";
import DroppablePlaceholder from "./DroppablePlaceHolder";
import { DraggableTreeNode, DraggableTreeNodeItemRenderProps, IDragData, IDropData } from "./types";
import { checkDroppableFlag } from "./util";
import { Flex } from "antd";

const DraggableMenuItemWrapper = styled.div`
position: relative;
Expand Down Expand Up @@ -88,29 +89,34 @@ export default function DraggableMenuItem(props: IDraggableMenuItemProps) {
disabled={isDragging || disabled}
/>
)}
<DraggableItem
path={path}
id={id}
dropInAsSub={dropInAsSub && canDropIn !== false}
isOver={isOver}
ref={(node) => {
setDragNodeRef(node);
setDropNodeRef(node);
}}
{...dragListeners}
>
{renderContent?.({
node: item,
isOver,
path,
isOverlay,
hasChildren: items.length > 0,
dragging: !!(isDragging || parentDragging),
isFolded: isFold,
onDelete: () => onDelete?.(path),
onToggleFold: () => context.toggleFold(id),
}) || null}
</DraggableItem>
<Flex style={{paddingLeft: '15px'}} align="center">
<DraggableItem
path={path}
id={id}
dropInAsSub={dropInAsSub && canDropIn !== false}
isOver={isOver}
ref={(node) => {
setDragNodeRef(node);
setDropNodeRef(node);
}}
{...dragListeners}
>
<span style={{cursor: "default"}}>⣿</span>
</DraggableItem>
<div style={{ flex: 1 , maxWidth: "calc(100% - 12px)" }}>
{renderContent?.({
node: item,
isOver,
path,
isOverlay,
hasChildren: items.length > 0,
dragging: !!(isDragging || parentDragging),
isFolded: isFold,
onDelete: () => onDelete?.(path),
onToggleFold: () => context.toggleFold(id),
}) || null}
</div>
</Flex>
</DraggableMenuItemWrapper>
{items.length > 0 && !isFold && (
<div className="sub-menu-list">
Expand Down
3 changes: 2 additions & 1 deletion client/packages/lowcoder/src/comps/comps/rootComp.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import { ExternalEditorContext } from "util/context/ExternalEditorContext";
import { useUserViewMode } from "util/hooks";
import React from "react";
import { isEqual } from "lodash";

import {LoadingBarHideTrigger} from "@lowcoder-ee/util/hideLoading";
const EditorView = lazy(
() => import("pages/editor/editorView"),
);
Expand Down Expand Up @@ -138,6 +138,7 @@ const RootView = React.memo((props: RootViewProps) => {
<div key={key}>{comp.children.queries.children[key].getView()}</div>
))}
<Suspense fallback={!readOnly || isUserViewMode ? SuspenseFallback : null}>
<LoadingBarHideTrigger />
<EditorView uiComp={comp.children.ui} preloadComp={comp.children.preload} />
</Suspense>
</EditorContext.Provider>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ export const ReduxActionTypes = {
FETCH_RAW_CURRENT_USER_SUCCESS: "FETCH_RAW_CURRENT_USER_SUCCESS",
FETCH_API_KEYS: "FETCH_API_KEYS",
FETCH_API_KEYS_SUCCESS: "FETCH_API_KEYS_SUCCESS",

MOVE_TO_FOLDER2_SUCCESS: "MOVE_TO_FOLDER2_SUCCESS",

/* plugin RELATED */
FETCH_DATA_SOURCE_TYPES: "FETCH_DATA_SOURCE_TYPES",
Expand Down
1 change: 1 addition & 0 deletions client/packages/lowcoder/src/i18n/locales/en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2785,6 +2785,7 @@ export const en = {
"switch": "Switch Component: "
},
"module": {
"folderNotEmpty": "Folder is not empty",
"emptyText": "No Data",
"docLink": "Read More About Modules...",
"documentationText" : "Modules are complete Applications, that can get included and repeated in other Applications and it functions just like a single component. As modules can get embedded, they need to be able to interact with your outside apps or websites. This four settings help to support communication with a Module.",
Expand Down
4 changes: 2 additions & 2 deletions client/packages/lowcoder/src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ if (!window.ResizeObserver) {
window.ResizeObserver = ResizeObserver;
}

function hideLoading() {
export function hideLoading() {
// hide loading
const node = document.getElementById("loading");
if (node) {
Expand All @@ -42,7 +42,7 @@ debug(`REACT_APP_LOG_LEVEL:, ${REACT_APP_LOG_LEVEL}`);

try {
bootstrap();
hideLoading();
// hideLoading();
} catch (e) {
log.error(e);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export const BackButton = () =>{
return
<div>123</div>
}
Loading