Kaydet (Commit) 1e6f1590 authored tarafından Eda Altuntaş's avatar Eda Altuntaş

Dosya yükleme arayüzüne feedback eklendi

üst 8eb0b0a2
......@@ -65,7 +65,6 @@ export default {
"modal",
async function(e) {
await vm.getContainers();
console.log(vm.containers);
if (vm.containers.length === 0) {
vm.$message({
message: vm.$t("containers.upload_modal.no_container_message"),
......@@ -78,6 +77,29 @@ export default {
},
false
);
window.addEventListener(
"uploaded",
function(e) {
if (e.detail.success) {
vm.$message({
message: vm.$t("containers.upload_modal.successfully_uploaded", {
file: e.detail.file,
container: e.detail.container
}),
type: "success"
});
} else {
vm.$message({
message: vm.$t("containers.upload_modal.upload_failed", {
file: e.detail.file,
container: e.detail.container
}),
type: "error"
});
}
},
false
);
},
methods: {
getContainers: function() {
......@@ -98,6 +120,7 @@ export default {
send: function() {
const container = this.containers[this.form.container];
window.ipcRenderer.send("modal_upload", {
Name: container.Names[0],
Id: container.Id,
Source:
container.Labels["desktop.docker.io/binds/0/Source"] ||
......
......@@ -16,23 +16,40 @@ const handler = win => {
);
}
ipcMain.on("modal_upload", (_, data) => {
const { Id, Source, Target, Username, File } = data;
copyFileSync(File, join(Source, basename(File)));
spawn("docker", [
"exec",
Id,
"cp",
"-r",
`${posix.join(Target, basename(File))}`,
`/home/${Username}/Desktop/`
]);
spawn("docker", [
"exec",
Id,
"chown",
`${Username}:${Username}`,
`/home/${Username}/Desktop/${basename(File)}`
]);
const { Id, Name, Source, Target, Username, File } = data;
try {
copyFileSync(File, join(Source, basename(File)));
spawn("docker", [
"exec",
Id,
"cp",
"-r",
`${posix.join(Target, basename(File))}`,
`/home/${Username}/Desktop/`
]);
spawn("docker", [
"exec",
Id,
"chown",
`${Username}:${Username}`,
`/home/${Username}/Desktop/${basename(File)}`
]);
if (win && win.webContents) {
win.webContents.executeJavaScript(
`window.dispatchEvent(new CustomEvent('uploaded', { detail: {success: true, file: '${basename(
File
)}', container: '${Name}'}}));`
);
}
} catch (e) {
if (win && win.webContents) {
win.webContents.executeJavaScript(
`window.dispatchEvent(new CustomEvent('uploaded', { detail: {success: false, file: '${basename(
File
)}', container: '${Name}'}}));`
);
}
}
});
};
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment