Skip to content

Commit e2c1efc

Browse files
committed
Implemented realtime processing of create new folder in HomeView.
1 parent cce98cd commit e2c1efc

File tree

5 files changed

+22
-11
lines changed

5 files changed

+22
-11
lines changed

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-
export const CreateDropdown = (props: { defaultVisible?: boolean; mode: HomeLayoutMode }) => {
189-
const { defaultVisible, mode } = props;
188+
export const CreateDropdown = (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
const user = useSelector(getUser);
194194

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

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

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

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -316,6 +316,8 @@ export interface HomeLayoutProps {
316316
searchValues?: number;
317317
setSearchValues?: any;
318318
setTypeFilterPagination?: any;
319+
setModify?: any;
320+
modify?: boolean;
319321
}
320322

321323
export function HomeLayout(props: HomeLayoutProps) {
@@ -332,6 +334,8 @@ export function HomeLayout(props: HomeLayoutProps) {
332334
setSearchValues,
333335
total,
334336
setTypeFilterPagination,
337+
setModify,
338+
modify
335339

336340
} = props;
337341
const handlePageChange = (page: number) => {
@@ -568,7 +572,7 @@ export function HomeLayout(props: HomeLayoutProps) {
568572
style={{ width: "192px", height: "32px", margin: "0" }}
569573
/>
570574
{mode !== "trash" && mode !== "marketplace" && user.orgDev && (
571-
<CreateDropdown defaultVisible={showNewUserGuide(user)} mode={mode} />
575+
<CreateDropdown defaultVisible={showNewUserGuide(user)} mode={mode} setModify={setModify} modify={modify!} />
572576
)}
573577
</OperationRightWrapper>
574578
</OperationWrapper>
@@ -655,7 +659,7 @@ export function HomeLayout(props: HomeLayoutProps) {
655659
? trans("home.projectEmptyCanAdd")
656660
: trans("home.projectEmpty")}
657661
</div>
658-
{mode !== "trash" && mode !== "marketplace" && user.orgDev && <CreateDropdown mode={mode} />}
662+
{mode !== "trash" && mode !== "marketplace" && user.orgDev && <CreateDropdown mode={mode} setModify={setModify} modify={modify!}/>}
659663
</EmptyView>
660664
)}
661665
</>

client/packages/lowcoder/src/pages/ApplicationV2/HomeView.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export function HomeView() {
1919
const [pageSize, setPageSize] = useState(10);
2020
const [searchValues, setSearchValues] = useState("");
2121
const [typeFilter, setTypeFilter] = useState<number>(0);
22+
const [modify, setModify] = useState(true);
2223
useEffect( () => {
2324
try{
2425
fetchFolderElements({
@@ -38,7 +39,7 @@ export function HomeView() {
3839
} catch (error) {
3940
console.error('Failed to fetch data:', error);
4041
}
41-
}, [currentPage, pageSize, searchValues, typeFilter]
42+
}, [currentPage, pageSize, searchValues, typeFilter, modify]
4243
);
4344

4445
const user = useSelector(getUser);
@@ -60,6 +61,8 @@ export function HomeView() {
6061
total={elements.total}
6162
setSearchValues={setSearchValues}
6263
setTypeFilterPagination={setTypeFilter}
64+
setModify={setModify}
65+
modify={modify}
6366
/>
6467
</>
6568
);

client/packages/lowcoder/src/pages/ApplicationV2/useCreateFolder.tsx

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ const CreateFolderLabel = styled.div`
1717
margin-bottom: 8px;
1818
`;
1919

20-
export function useCreateFolder() {
20+
export function useCreateFolder(setModify: any, modify: boolean) {
2121
const dispatch = useDispatch();
2222
const user = useSelector(getUser);
2323
const allFolders = useSelector(foldersSelector);
@@ -73,7 +73,7 @@ export function useCreateFolder() {
7373
</FormSection>
7474
</DatasourceForm>
7575
),
76-
onConfirm: () =>
76+
onConfirm: () =>{
7777
form.validateFields().then(
7878
() =>
7979
new Promise((resolve, reject) => {
@@ -82,7 +82,11 @@ export function useCreateFolder() {
8282
() => reject(false)
8383
);
8484
})
85-
),
85+
)
86+
setTimeout(() => {
87+
setModify(!modify);
88+
}, 200);
89+
},
8690
okText: trans("create"),
8791
});
8892
}, [user, allFolders, form, dispatch]);

client/packages/lowcoder/src/pages/ApplicationV2/useCreateHomeRes.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,15 +31,15 @@ export const newAppPrefix = (userName: string, appType: AppTypeEnum = AppTypeEnu
3131
return trans("home.newApp", { userName: userName, name: toLower(HomeResInfo[appType].name) });
3232
};
3333

34-
export function useCreateHomeRes() {
34+
export function useCreateHomeRes(setModify:any, modify: boolean) {
3535
const dispatch = useDispatch();
3636
const user = useSelector(getUser);
3737
const allApplications = useSelector(normalAppListSelector);
3838
const isCreating = useSelector(isApplicationCreating);
3939

4040
const { folderId } = useParams<{ folderId: string }>();
4141

42-
const handleFolderCreate = useCreateFolder();
42+
const handleFolderCreate = useCreateFolder(setModify, modify);
4343

4444
const handleCreate = useCallback(
4545
(type: HomeResTypeEnum) => {

0 commit comments

Comments
 (0)