Skip to content

Commit 5bce8d2

Browse files
added switch to make as public to marketplace
1 parent f808455 commit 5bce8d2

File tree

2 files changed

+25
-2
lines changed

2 files changed

+25
-2
lines changed

client/packages/lowcoder/src/components/PermissionDialog/AppPermissionDialog.tsx

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,12 +197,33 @@ function AppShareView(props: {
197197
}) {
198198
const { applicationId, permissionInfo, isModule } = props;
199199
const [isPublic, setPublic] = useState(permissionInfo.publicToAll);
200+
const [isPublicToMarketplace, setPublicToMarketplace] = useState(permissionInfo.publicToMarketplace);
200201
const dispatch = useDispatch();
201202
useEffect(() => {
202203
setPublic(permissionInfo.publicToAll);
203204
}, [permissionInfo.publicToAll]);
205+
useEffect(() => {
206+
setPublicToMarketplace(permissionInfo.publicToMarketplace);
207+
}, [permissionInfo.publicToMarketplace]);
204208
return (
205209
<div style={{ marginBottom: "22px" }}>
210+
<PermissionSwitchWrapper>
211+
<TacoSwitch
212+
checked={isPublicToMarketplace}
213+
onChange={(checked) => {
214+
setPublicToMarketplace(checked);
215+
ApplicationApi.publicToMarketplace(applicationId, checked)
216+
.then((resp) => {
217+
validateResponse(resp);
218+
dispatch(updateAppPermissionInfo({ publicToMarketplace: checked }));
219+
})
220+
.catch((e) => {
221+
messageInstance.error(e.message);
222+
});
223+
}}
224+
label={isModule ? 'Public module to marketplace' : 'Public app to marketplace'}
225+
/>
226+
</PermissionSwitchWrapper>
206227
<PermissionSwitchWrapper>
207228
<TacoSwitch
208229
checked={isPublic}

client/packages/lowcoder/src/constants/applicationConstants.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export const AppUILayoutType: Record<AppTypeEnum, UiLayoutType> = {
2020
[AppTypeEnum.MobileTabLayout]: "mobileTabLayout",
2121
};
2222

23-
export type ApplicationDSLType = "editing" | "published";
23+
export type ApplicationDSLType = "editing" | "published" | "view_marketplace";
2424
export type ApplicationRoleType = "viewer" | "editor" | "owner";
2525
export type ApplicationPermissionType = "USER" | "GROUP" | "ORG_ADMIN";
2626

@@ -36,6 +36,7 @@ export interface ApplicationMeta {
3636
containerSize?: { height: number; width: number };
3737
createBy: string;
3838
createAt: number;
39+
creatorEmail?: string;
3940
orgId: string;
4041
role: ApplicationRoleType;
4142
extra: ApplicationExtra;
@@ -80,9 +81,10 @@ export interface AppPermissionInfo {
8081
permissions: PermissionItem[];
8182
invitationCodes: AppInviteInfo[];
8283
publicToAll: boolean;
84+
publicToMarketplace: boolean;
8385
}
8486

85-
export type AppViewMode = "edit" | "preview" | "view";
87+
export type AppViewMode = "edit" | "preview" | "view" | "view_marketplace";
8688

8789
export type AppPathParams = {
8890
viewMode: AppViewMode;

0 commit comments

Comments
 (0)