Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
2ebf1b7
initial commit
giancarloromeo Apr 16, 2025
347e323
fix keys generation
giancarloromeo Apr 16, 2025
792de64
update signature
giancarloromeo Apr 16, 2025
bf3e5b7
continue
giancarloromeo Apr 16, 2025
c390a3e
return task name
giancarloromeo Apr 16, 2025
0c10248
fix methods
giancarloromeo Apr 16, 2025
9bfad29
add task_name
giancarloromeo Apr 16, 2025
17a896d
fix test
giancarloromeo Apr 16, 2025
d02fe75
update name
giancarloromeo Apr 16, 2025
2416227
fix tests
giancarloromeo Apr 16, 2025
7ce6297
Merge branch 'master' into is7528/add-name-when-listing-tasks
giancarloromeo Apr 16, 2025
5bbcefc
typecheck
giancarloromeo Apr 16, 2025
eda9e7f
Merge branch 'is7528/add-name-when-listing-tasks' of github.com:gianc…
giancarloromeo Apr 16, 2025
bf6af2d
move forget
giancarloromeo Apr 16, 2025
5e70c09
legacy
giancarloromeo Apr 16, 2025
e612858
Merge branch 'master' into is7528/add-name-when-listing-tasks
giancarloromeo Apr 16, 2025
96cdf2a
fix test
giancarloromeo Apr 16, 2025
c1ec12b
Merge branch 'is7528/add-name-when-listing-tasks' of github.com:gianc…
giancarloromeo Apr 16, 2025
726f4ce
fix test
giancarloromeo Apr 16, 2025
417876f
fix async routine
giancarloromeo Apr 16, 2025
0cbec0d
rename
giancarloromeo Apr 16, 2025
53187d3
add legacy name
giancarloromeo Apr 16, 2025
2e96147
add check
giancarloromeo Apr 16, 2025
f941163
add exception handling
giancarloromeo Apr 16, 2025
939279d
update logger level
giancarloromeo Apr 16, 2025
2243c57
add validators
giancarloromeo Apr 17, 2025
584395c
Merge branch 'master' into is7528/add-name-when-listing-tasks
giancarloromeo Apr 17, 2025
0cccc5b
Merge branch 'master' into is7528/add-name-when-listing-tasks
giancarloromeo Apr 17, 2025
0dfceab
fix start
odeimaiz Apr 17, 2025
7cfd1a2
Merge branch 'is7528/add-name-when-listing-tasks' of github.com:gianc…
odeimaiz Apr 21, 2025
928fec3
taskName property
odeimaiz Apr 21, 2025
9ad0969
__attachTasks
odeimaiz Apr 21, 2025
feb24cd
refactor
odeimaiz Apr 21, 2025
e03b40e
getExportDataTasks
odeimaiz Apr 21, 2025
d16886c
refactor
odeimaiz Apr 21, 2025
ee1dea5
minor
odeimaiz Apr 21, 2025
88e679a
Merge branch 'master' into tasks-persist
giancarloromeo Apr 22, 2025
e492635
bad merge
odeimaiz Apr 22, 2025
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
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,9 @@ qx.Class.define("osparc.data.PollTask", {
if (taskData && "task_id" in taskData) {
this.set({
taskId: taskData["task_id"],
taskName: taskData["task_name"] || "",
statusHref: taskData["status_href"],
resultHref: taskData["result_href"]
resultHref: taskData["result_href"],
});

if ("abort_href" in taskData) {
Expand Down Expand Up @@ -64,6 +65,11 @@ qx.Class.define("osparc.data.PollTask", {
nullable: false
},

taskName: {
check: "String",
nullable: true
},

statusHref: {
check: "String",
nullable: false
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,7 @@ qx.Class.define("osparc.desktop.MainPage", {
flex: 1
});

this.__attachTasks();
this.__listenToWalletSocket();
this.__attachHandlers();
});
Expand All @@ -90,6 +91,14 @@ qx.Class.define("osparc.desktop.MainPage", {
__loadingPage: null,
__studyEditor: null,

__attachTasks: function() {
const pollTasks = osparc.store.PollTasks.getInstance();
const exportDataTasks = pollTasks.getExportDataTasks();
exportDataTasks.forEach(task => {
osparc.task.ExportData.exportDataTaskReceived(task, false);
});
},

__listenToWalletSocket: function() {
const socket = osparc.wrapper.WebSocket.getInstance();
if (!socket.slotExists("walletOsparcCreditsUpdated")) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,7 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
const fetchPromise = dataStore.exportData(paths);
const pollTasks = osparc.store.PollTasks.getInstance();
pollTasks.createPollingTask(fetchPromise)
.then(task => this.__exportDataTaskReceived(task))
.then(task => osparc.task.ExportData.exportDataTaskReceived(task))
.catch(err => osparc.FlashMessenger.logError(err, this.tr("Unsuccessful files download")));
},

Expand Down Expand Up @@ -245,71 +245,6 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
}
},

__exportDataTaskReceived: function(task) {
const exportDataTaskUI = new osparc.task.ExportData();
exportDataTaskUI.setTask(task);
osparc.task.TasksContainer.getInstance().addTaskUI(exportDataTaskUI);

const progressWindow = new osparc.ui.window.Progress(
this.tr("Downloading files"),
"@FontAwesome5Solid/download/14",
this.tr("Downloading files..."),
);
if (task.getAbortHref()) {
const cancelButton = progressWindow.addCancelButton();
cancelButton.setLabel(this.tr("Ignore"));
const abortButton = new qx.ui.form.Button().set({
label: this.tr("Cancel"),
center: true,
minWidth: 100,
});
abortButton.addListener("execute", () => task.abortRequested());
progressWindow.addButton(abortButton);
abortButton.set({
appearance: "danger-button",
});
}
progressWindow.open();

task.addListener("updateReceived", e => {
const data = e.getData();
if (data["task_progress"]) {
if ("message" in data["task_progress"] && data["task_progress"]["message"]) {
progressWindow.setMessage(data["task_progress"]["message"]);
}
progressWindow.setProgress(osparc.data.PollTask.extractProgress(data) * 100);
}
}, this);
task.addListener("resultReceived", e => {
const taskData = e.getData();
if (taskData["result"]) {
const params = {
url: {
locationId: 0,
fileUuid: encodeURIComponent(taskData["result"]),
}
};
osparc.data.Resources.fetch("storageLink", "getOne", params)
.then(data => {
if (data && data.link) {
const fileName = taskData["result"].split("/").pop();
osparc.utils.Utils.downloadLink(data.link, "GET", fileName);
}
})
}
progressWindow.close();
});
task.addListener("taskAborted", () => {
osparc.FlashMessenger.logAs(this.tr("Download aborted"), "WARNING");
progressWindow.close();
});
task.addListener("pollingError", e => {
const err = e.getData();
osparc.FlashMessenger.logError(err);
progressWindow.close();
});
},

__deleteTaskReceived: function(task, paths) {
const taskUI = new osparc.task.TaskUI();
taskUI.setIcon("@FontAwesome5Solid/trash/14");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,10 @@ qx.Class.define("osparc.store.PollTasks", {
return this.getTasks().filter(task => task.getTaskId().includes("from_study") && task.getTaskId().includes("as_template"));
},

getExportDataTasks: function() {
return this.getTasks().filter(task => task.getTaskName() && task.getTaskName() === "export_data");
},

removeTasks: function() {
const tasks = this.getTasks();
tasks.forEach(task => task.dispose());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,77 @@ qx.Class.define("osparc.task.ExportData", {
},

statics: {
ICON: "@FontAwesome5Solid/download"
ICON: "@FontAwesome5Solid/download",

exportDataTaskReceived: function(task, popUpProgressWindow = true) {
const exportDataTaskUI = new osparc.task.ExportData();
exportDataTaskUI.setTask(task);
osparc.task.TasksContainer.getInstance().addTaskUI(exportDataTaskUI);

if (popUpProgressWindow) {
const progressWindow = new osparc.ui.window.Progress(
qx.locale.Manager.tr("Downloading files"),
osparc.task.ExportData+"/14",
qx.locale.Manager.tr("Compressing files..."),
);

if (task.getAbortHref()) {
const cancelButton = progressWindow.addCancelButton();
cancelButton.setLabel(qx.locale.Manager.tr("Ignore"));
const abortButton = new qx.ui.form.Button().set({
label: qx.locale.Manager.tr("Cancel"),
center: true,
minWidth: 100,
});
abortButton.addListener("execute", () => task.abortRequested());
progressWindow.addButton(abortButton);
abortButton.set({
appearance: "danger-button",
});
}

task.addListener("updateReceived", e => {
const data = e.getData();
if (data["task_progress"]) {
if ("message" in data["task_progress"] && data["task_progress"]["message"]) {
progressWindow.setMessage(data["task_progress"]["message"]);
}
progressWindow.setProgress(osparc.data.PollTask.extractProgress(data) * 100);
}
});

task.addListener("resultReceived", () => progressWindow.close());
task.addListener("taskAborted", () => progressWindow.close());
task.addListener("pollingError", () => progressWindow.close());

progressWindow.open();
}

task.addListener("resultReceived", e => {
const taskData = e.getData();
if (taskData["result"]) {
const params = {
url: {
locationId: 0,
fileUuid: encodeURIComponent(taskData["result"]),
}
};
osparc.data.Resources.fetch("storageLink", "getOne", params)
.then(data => {
if (data && data.link) {
const fileName = taskData["result"].split("/").pop();
osparc.utils.Utils.downloadLink(data.link, "GET", fileName);
}
})
}
});
task.addListener("taskAborted", () => {
osparc.FlashMessenger.logAs(qx.locale.Manager.tr("Download aborted"), "WARNING");
});
task.addListener("pollingError", e => {
const err = e.getData();
osparc.FlashMessenger.logError(err);
});
}
},
});
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,9 @@ qx.Class.define("osparc.ui.window.Progress", {
control.getChildControl("progress").set({
backgroundColor: "strong-main"
});
control.getContentElement().setStyles({
"border-radius": "4px"
});
this.addAt(control, 1);
break;
}
Expand Down
Loading