forked from bai/curriculum-project-hub
fix: move folder creation into project move flow
This commit is contained in:
@@ -88,7 +88,6 @@ export function buildProjectManagementCard(params: {
|
||||
readonly sdkSessionReady: boolean;
|
||||
} | null | undefined;
|
||||
readonly canManageProject?: boolean | undefined;
|
||||
readonly canCreateFolder?: boolean | undefined;
|
||||
}): Record<string, unknown> {
|
||||
const elements: unknown[] = [{
|
||||
tag: "markdown",
|
||||
@@ -149,7 +148,6 @@ export function buildProjectManagementCard(params: {
|
||||
renameProjectForm(params),
|
||||
);
|
||||
}
|
||||
if (params.canCreateFolder === true) elements.push(createFolderForm(params));
|
||||
return {
|
||||
config: { wide_screen_mode: true },
|
||||
header: {
|
||||
@@ -202,6 +200,7 @@ export function buildMoveProjectCard(params: {
|
||||
readonly parentFolderId: string | null;
|
||||
readonly breadcrumb: string;
|
||||
readonly childFolders: readonly { readonly id: string; readonly name: string }[];
|
||||
readonly canCreateFolder: boolean;
|
||||
}): Record<string, unknown> {
|
||||
const navigation: unknown[] = [];
|
||||
if (params.folderId !== null) {
|
||||
@@ -232,6 +231,13 @@ export function buildMoveProjectCard(params: {
|
||||
project_id: params.projectId,
|
||||
...(params.folderId !== null ? { folder_id: params.folderId } : {}),
|
||||
}, "primary")] });
|
||||
if (params.canCreateFolder) {
|
||||
elements.push(createFolderAndMoveForm({
|
||||
organizationId: params.organizationId,
|
||||
projectId: params.projectId,
|
||||
parentFolderId: params.folderId,
|
||||
}));
|
||||
}
|
||||
return {
|
||||
config: { wide_screen_mode: true },
|
||||
header: { title: { tag: "plain_text", content: "移动项目" }, template: "blue" },
|
||||
@@ -433,7 +439,11 @@ function renameProjectForm(params: {
|
||||
};
|
||||
}
|
||||
|
||||
function createFolderForm(params: { readonly organizationId: string; readonly projectId: string }): unknown {
|
||||
function createFolderAndMoveForm(params: {
|
||||
readonly organizationId: string;
|
||||
readonly projectId: string;
|
||||
readonly parentFolderId: string | null;
|
||||
}): unknown {
|
||||
return {
|
||||
tag: "form",
|
||||
name: "folder_create_form",
|
||||
@@ -443,12 +453,12 @@ function createFolderForm(params: { readonly organizationId: string; readonly pr
|
||||
name: "folder_name",
|
||||
required: true,
|
||||
max_length: 100,
|
||||
placeholder: { tag: "plain_text", content: "在当前目录下新建 Folder" },
|
||||
placeholder: { tag: "plain_text", content: "在当前目标目录下新建 Folder" },
|
||||
},
|
||||
{
|
||||
tag: "button",
|
||||
name: "folder_create_submit",
|
||||
text: { tag: "plain_text", content: "新建目录" },
|
||||
text: { tag: "plain_text", content: "新建并移动" },
|
||||
type: "default",
|
||||
complex_interaction: true,
|
||||
action_type: "form_submit",
|
||||
@@ -456,6 +466,7 @@ function createFolderForm(params: { readonly organizationId: string; readonly pr
|
||||
action: "create_folder",
|
||||
organization_id: params.organizationId,
|
||||
project_id: params.projectId,
|
||||
...(params.parentFolderId !== null ? { folder_id: params.parentFolderId } : {}),
|
||||
} },
|
||||
},
|
||||
],
|
||||
|
||||
Reference in New Issue
Block a user