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

App versioning - In Progress#1689

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Open
kamalqureshi wants to merge5 commits intolowcoder-org:dev
base:dev
Choose a base branch
Loading
fromkamalqureshi:app_versioning
Open
Show file tree
Hide file tree
Changes fromall commits
Commits
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
40 changes: 33 additions & 7 deletionsclient/packages/lowcoder-design/src/components/Switch.tsx
View file
Open in desktop
Original file line numberDiff line numberDiff line change
Expand Up@@ -52,6 +52,24 @@ const SwitchStyle: any = styled.input`
border-radius: 20px;
background-color: #ffffff;
}

&:disabled {
background-color: #e0e0e0;
opacity: 0.6;
cursor: not-allowed;
}

&:disabled::before {
background-color: #cccccc;
}

&:disabled:checked {
background-color: #a0a0a0;
}

&:disabled:hover {
cursor: not-allowed;
}
`;

const SwitchDiv = styled.div<{
Expand DownExpand Up@@ -101,25 +119,31 @@ const JsIconGray = styled(jsIconGray)<Ishow>`
${IconCss}
`;

interface SwitchProps extends Omit<React.HTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
interface SwitchProps
extends Omit<React.HTMLAttributes<HTMLInputElement>, "value" | "onChange"> {
value: boolean;
onChange: (value: boolean) => void;
disabled?: boolean;
}

export const Switch = (props: SwitchProps) => {
const { value, onChange, ...inputChanges } = props;
const { value, onChange,disabled,...inputChanges } = props;
return (
<SwitchStyle
type="checkbox"
checked={props.value}
onClick={() =>props.onChange(!props.value)}
checked={value}
onClick={() => onChange(!value)}
onChange={() => {}}
disabled={disabled}
{...inputChanges}
/>
);
};

export const SwitchJsIcon = (props: { checked: boolean; onChange: (value: boolean) => void }) => {
export const SwitchJsIcon = (props: {
checked: boolean;
onChange: (value: boolean) => void;
}) => {
const toggleShow = () => {
props.onChange(!props.checked);
};
Expand DownExpand Up@@ -154,15 +178,17 @@ export const SwitchWrapper = (props: {
export function TacoSwitch(props: {
label: string;
checked: boolean;
onChange: (checked: boolean) => void;
disabled?: boolean;
onChange?: (checked: boolean) => void;
}) {
return (
<SwitchWrapper label={props.label}>
<Switch
onChange={(value) => {
props.onChange(value);
props.onChange ? props.onChange(value) : null;
}}
value={props.checked}
disabled={props.disabled}
/>
</SwitchWrapper>
);
Expand Down
111 changes: 84 additions & 27 deletionsclient/packages/lowcoder/src/api/applicationApi.ts
View file
Open in desktop
Original file line numberDiff line numberDiff 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,7 +24,10 @@ import {
} from "constants/applicationConstants";
import { CommonSettingResponseData } from "./commonSettingApi";
import { ResourceType } from "@lowcoder-ee/constants/queryConstants";
import {fetchAppRequestType, GenericApiPaginationResponse} from "@lowcoder-ee/util/pagination/type";
import {
fetchAppRequestType,
GenericApiPaginationResponse,
} from "@lowcoder-ee/util/pagination/type";

export interface HomeOrgMeta {
id: string;
Expand DownExpand Up@@ -70,6 +73,11 @@ export interface ApplicationResp extends ApiResponse {
data: ApplicationDetail;
}

export interface ApplicationPublishRequest {
commitMessage?: string;
tag: string;
}

interface GrantAppPermissionReq {
applicationId: string;
role: ApplicationRoleType;
Expand All@@ -82,18 +90,24 @@ class ApplicationApi extends Api {
static fetchHomeDataURL = "/applications/home";
static createApplicationURL = "/applications";
static fetchAllMarketplaceAppsURL = "/applications/marketplace-apps";
static deleteApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
static getAppPublishInfoURL = (applicationId: string) => `/applications/${applicationId}/view`;
static getAppEditingInfoURL = (applicationId: string) => `/applications/${applicationId}`;
static updateApplicationURL = (applicationId: string) => `/applications/${applicationId}`;
static deleteApplicationURL = (applicationId: string) =>
`/applications/${applicationId}`;
static getAppPublishInfoURL = (applicationId: string) =>
`/applications/${applicationId}/view`;
static getAppEditingInfoURL = (applicationId: string) =>
`/applications/${applicationId}`;
static updateApplicationURL = (applicationId: string) =>
`/applications/${applicationId}`;
static getApplicationPermissionURL = (applicationId: string) =>
`/applications/${applicationId}/permissions`;
static grantAppPermissionURL = (applicationId: string) =>
`/applications/${applicationId}/permissions`;
static publishApplicationURL = (applicationId: string) =>
`/applications/${applicationId}/publish`;
static updateAppPermissionURL = (applicationId: string, permissionId: string) =>
`/applications/${applicationId}/permissions/${permissionId}`;
static updateAppPermissionURL = (
applicationId: string,
permissionId: string
) => `/applications/${applicationId}/permissions/${permissionId}`;
static createFromTemplateURL = `/applications/createFromTemplate`;
static publicToAllURL = (applicationId: string) => `/applications/${applicationId}/public-to-all`;
static publicToMarketplaceURL = (applicationId: string) => `/applications/${applicationId}/public-to-marketplace`;
Expand All@@ -102,19 +116,34 @@ class ApplicationApi extends Api {
static getAvailableGroupsMembersURL = (applicationId: string) => `/applications/${applicationId}/groups-members/available`;
static serverSettingsURL = () => `/serverSettings`;

static fetchHomeData(request: HomeDataPayload): AxiosPromise<HomeDataResponse> {
static fetchHomeData(
request: HomeDataPayload
): AxiosPromise<HomeDataResponse> {
return Api.get(ApplicationApi.fetchHomeDataURL, request);
}

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

static fetchAllModules(request: HomeDataPayload): AxiosPromise<ApplicationMeta[]> {
static fetchAllModules(
request: HomeDataPayload
): AxiosPromise<ApplicationMeta[]> {
return Api.get(ApplicationApi.newURLPrefix + "/list", {
applicationType: AppTypeEnum.Module,
applicationStatus: "NORMAL",
Expand All@@ -123,11 +152,15 @@ class ApplicationApi extends Api {
});
}

static fetchRecycleList(): AxiosPromise<GenericApiResponse<ApplicationMeta[]>> {
static fetchRecycleList(): AxiosPromise<
GenericApiResponse<ApplicationMeta[]>
> {
return Api.get(ApplicationApi.newURLPrefix + "/recycle/list");
}

static createApplication(request: CreateApplicationPayload): AxiosPromise<ApplicationResp> {
static createApplication(
request: CreateApplicationPayload
): AxiosPromise<ApplicationResp> {
return Api.post(ApplicationApi.createApplicationURL, {
orgId: request.orgId,
name: request.applicationName,
Expand All@@ -146,19 +179,25 @@ class ApplicationApi extends Api {
static recycleApplication(
request: RecycleApplicationPayload
): AxiosPromise<GenericApiResponse<Boolean>> {
return Api.put(ApplicationApi.newURLPrefix + `/recycle/${request.applicationId}`);
return Api.put(
ApplicationApi.newURLPrefix + `/recycle/${request.applicationId}`
);
}

static restoreApplication(
request: RestoreApplicationPayload
): AxiosPromise<GenericApiResponse<Boolean>> {
return Api.put(ApplicationApi.newURLPrefix + `/restore/${request.applicationId}`);
return Api.put(
ApplicationApi.newURLPrefix + `/restore/${request.applicationId}`
);
}

static deleteApplication(
request: DeleteApplicationPayload
): AxiosPromise<GenericApiResponse<Boolean>> {
return Api.delete(ApplicationApi.deleteApplicationURL(request.applicationId));
return Api.delete(
ApplicationApi.deleteApplicationURL(request.applicationId)
);
}

static updateApplication(request: {
Expand All@@ -171,11 +210,18 @@ class ApplicationApi extends Api {
return Api.put(ApplicationApi.updateApplicationURL(applicationId), rest);
}

static publishApplication(request: PublishApplicationPayload): AxiosPromise<ApiResponse> {
return Api.post(ApplicationApi.publishApplicationURL(request.applicationId));
static publishApplication(
request: PublishApplicationPayload
): AxiosPromise<ApiResponse> {
return Api.post(
ApplicationApi.publishApplicationURL(request.applicationId),
request?.request
);
}

static getApplicationDetail(request: FetchAppInfoPayload): AxiosPromise<ApplicationResp> {
static getApplicationDetail(
request: FetchAppInfoPayload
): AxiosPromise<ApplicationResp> {
const { type, applicationId } = request;
const url =
type === "published"
Expand All@@ -186,13 +232,20 @@ class ApplicationApi extends Api {
return Api.get(url);
}

static getApplicationPermissions(applicationId: string): AxiosPromise<AppPermissionResponse> {
static getApplicationPermissions(
applicationId: string
): AxiosPromise<AppPermissionResponse> {
return Api.get(ApplicationApi.getApplicationPermissionURL(applicationId));
}

static grantAppPermission(request: GrantAppPermissionReq): AxiosPromise<AppPermissionResponse> {
static grantAppPermission(
request: GrantAppPermissionReq
): AxiosPromise<AppPermissionResponse> {
const { applicationId, ...requestParam } = request;
return Api.put(ApplicationApi.grantAppPermissionURL(applicationId), requestParam);
return Api.put(
ApplicationApi.grantAppPermissionURL(applicationId),
requestParam
);
}

static updateAppPermission(
Expand All@@ -209,7 +262,9 @@ class ApplicationApi extends Api {
request: DeleteAppPermissionPayload
): AxiosPromise<AppPermissionResponse> {
const { applicationId, permissionId } = request;
return Api.delete(ApplicationApi.updateAppPermissionURL(applicationId, permissionId));
return Api.delete(
ApplicationApi.updateAppPermissionURL(applicationId, permissionId)
);
}

static createFromTemplate(templateId: string): AxiosPromise<ApplicationResp> {
Expand DownExpand Up@@ -245,7 +300,9 @@ class ApplicationApi extends Api {
return Api.get(ApplicationApi.getMarketplaceAppURL(appId));
}

static setAppEditingState(request: SetAppEditingStatePayload): AxiosPromise<ApplicationResp> {
static setAppEditingState(
request: SetAppEditingStatePayload
): AxiosPromise<ApplicationResp> {
const { applicationId, editingFinished } = request;
return Api.put(ApplicationApi.setAppEditingStateURL(applicationId), {
editingFinished,
Expand Down
Loading
Loading

[8]ページ先頭

©2009-2025 Movatter.jp