feat: add alert for deleteing dev container
This commit is contained in:
@@ -537,7 +537,7 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
cell1.textContent = repoFullName;
|
cell1.textContent = repoFullName;
|
||||||
cell2.textContent = repoURL;
|
cell2.textContent = repoURL;
|
||||||
cell3.innerHTML = `<button onclick="openProject('${repoID}')">Open Project</button>
|
cell3.innerHTML = `<button onclick="openProject('${repoID}')">Open Project</button>
|
||||||
<button onclick="deleteDevContainer('${repoID}')">Delete</button>
|
<button onclick="deleteDevContainer('${repoID}')">Delete Project</button>
|
||||||
`;
|
`;
|
||||||
|
|
||||||
});
|
});
|
||||||
@@ -618,22 +618,27 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
// ===================================== Projects ===========================
|
// ===================================== Projects ===========================
|
||||||
|
|
||||||
async function openProject(repoId) {
|
async function openProject(repoId) {
|
||||||
// TODO: check if container exist
|
var newCreated = false;
|
||||||
|
// check if container exist
|
||||||
await hasDevContainer(repoId)
|
await hasDevContainer(repoId)
|
||||||
.then(async hasDevContainer => {
|
.then(async hasDevContainer => {
|
||||||
if (!hasDevContainer) {
|
if (!hasDevContainer) {
|
||||||
showAlert("正在创建开发容器...", 1500)
|
showAlert("正在创建开发容器...", 1500)
|
||||||
await createDevContainer(repoId)
|
await createDevContainer(repoId)
|
||||||
.then(res => {
|
.then(res => {
|
||||||
|
newCreated = true;
|
||||||
|
showAlert("创建容器成功!", 1500)
|
||||||
console.log(`Succeed to create dev container for repo ${repoId}`)
|
console.log(`Succeed to create dev container for repo ${repoId}`)
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
showAlert("创建容器失败!", 1500)
|
showAlert("创建容器失败!", 1500)
|
||||||
console.log(`Fail to create dev container for repo ${repoId}: `, error)
|
console.log(`Fail to create dev container for repo ${repoId}: `, error)
|
||||||
|
return;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
}).catch(error => {
|
}).catch(error => {
|
||||||
console.log("There has a problem when check if the repo has devContainer:", error)
|
console.log("There has a problem when check if the repo has devContainer:", error)
|
||||||
|
return;
|
||||||
})
|
})
|
||||||
|
|
||||||
console.log("opening project")
|
console.log("opening project")
|
||||||
@@ -676,10 +681,10 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
// default: open with key
|
// default: open with key
|
||||||
communicateVSCodeByWebview('firstOpenRemoteFolder', {host: `${devContainerHost}`, username: `${devContainerUsername}`, port: `${devContainerPort}`, path: `${devContainerWorkDir}`})
|
communicateVSCodeByWebview('firstOpenRemoteFolder', {host: `${devContainerHost}`, username: `${devContainerUsername}`, port: `${devContainerPort}`, path: `${devContainerWorkDir}`})
|
||||||
} else {
|
} else {
|
||||||
// TODO: show Error to User
|
// show Error to User
|
||||||
showAlert("打开容器失败!", 1500)
|
showAlert("打开容器失败!", 1500)
|
||||||
const responseErrorMsg = data.data.ErrorMsg
|
const responseErrorMsg = data.data.ErrorMsg
|
||||||
console.log("Error happen when starting dev container", responseErrorMsg)
|
console.error("Error happen when starting dev container", responseErrorMsg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
@@ -723,7 +728,6 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: create container
|
|
||||||
async function createDevContainer(repoId) {
|
async function createDevContainer(repoId) {
|
||||||
return new Promise(async (resolve, reject) => {
|
return new Promise(async (resolve, reject) => {
|
||||||
// request creating container
|
// request creating container
|
||||||
@@ -777,7 +781,6 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: delete container
|
|
||||||
function deleteDevContainer(repoId) {
|
function deleteDevContainer(repoId) {
|
||||||
var url = DEVSTAR_HOME + "/api/devcontainer"
|
var url = DEVSTAR_HOME + "/api/devcontainer"
|
||||||
var token = USERTOKEN
|
var token = USERTOKEN
|
||||||
@@ -804,12 +807,14 @@ header("Allow: GET, POST, OPTIONS, PUT, DELETE");
|
|||||||
const respCode = data.code;
|
const respCode = data.code;
|
||||||
if (0 == respCode) {
|
if (0 == respCode) {
|
||||||
console.log('Successfully delete dev container belong to repoId:', repoId, data)
|
console.log('Successfully delete dev container belong to repoId:', repoId, data)
|
||||||
|
showAlert("删除容器成功!", 1500)
|
||||||
} else {
|
} else {
|
||||||
const errorMsg = data.data.ErrorMsg
|
const errorMsg = data.data.ErrorMsg
|
||||||
throw new Error(errorMsg)
|
throw new Error(errorMsg)
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
showAlert(`删除容器失败\n${error}`, 3000)
|
||||||
console.error(`Failed to delete dev container belong to repoId: ${repoId}\n`, error)
|
console.error(`Failed to delete dev container belong to repoId: ${repoId}\n`, error)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user