Skip to content

Commit 4864add

Browse files
committed
__handleButtonClick
1 parent 4da69c1 commit 4864add

File tree

3 files changed

+50
-11
lines changed

3 files changed

+50
-11
lines changed

services/static-webserver/client/source/class/osparc/jobs/JobsTable.js

Lines changed: 43 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,21 +36,23 @@ qx.Class.define("osparc.jobs.JobsTable", {
3636

3737
Object.values(this.self().COLS).forEach(col => columnModel.setColumnWidth(col.column, col.width));
3838

39-
const fontButtonRendererInfo = new osparc.ui.table.cellrenderer.ImageButtonRenderer();
40-
fontButtonRendererInfo.setIconPath("osparc/circle-info-solid_text.svg");
39+
const iconPathInfo = "osparc/circle-info-solid_text.svg";
40+
const fontButtonRendererInfo = new osparc.ui.table.cellrenderer.ImageButtonRenderer("info", iconPathInfo);
4141
columnModel.setDataCellRenderer(this.self().COLS.INFO.column, fontButtonRendererInfo);
4242

43-
const fontButtonRendererStop = new osparc.ui.table.cellrenderer.ImageButtonRenderer();
44-
fontButtonRendererStop.setIconPath("osparc/circle-info-solid_text.svg");
43+
const iconPathStop = "osparc/circle-info-solid_text.svg";
44+
const fontButtonRendererStop = new osparc.ui.table.cellrenderer.ImageButtonRenderer("stop", iconPathStop);
4545
columnModel.setDataCellRenderer(this.self().COLS.ACTION_STOP.column, fontButtonRendererStop);
4646

47-
const fontButtonRendererDelete = new osparc.ui.table.cellrenderer.ImageButtonRenderer();
48-
fontButtonRendererDelete.setIconPath("osparc/circle-info-solid_text.svg");
47+
const iconPathDelete = "osparc/circle-info-solid_text.svg";
48+
const fontButtonRendererDelete = new osparc.ui.table.cellrenderer.ImageButtonRenderer("delete", iconPathDelete);
4949
columnModel.setDataCellRenderer(this.self().COLS.ACTION_DELETE.column, fontButtonRendererDelete);
5050

51-
const fontButtonRendererLogs = new osparc.ui.table.cellrenderer.ImageButtonRenderer();
52-
fontButtonRendererLogs.setIconPath("osparc/circle-info-solid_text.svg");
51+
const iconPathLogs = "osparc/circle-info-solid_text.svg";
52+
const fontButtonRendererLogs = new osparc.ui.table.cellrenderer.ImageButtonRenderer("logs", iconPathLogs);
5353
columnModel.setDataCellRenderer(this.self().COLS.ACTION_LOGS.column, fontButtonRendererLogs);
54+
55+
this.__attachHandlers();
5456
},
5557

5658
statics: {
@@ -122,5 +124,38 @@ qx.Class.define("osparc.jobs.JobsTable", {
122124
width: 40
123125
},
124126
}
127+
},
128+
129+
members: {
130+
__attachHandlers: function() {
131+
this.addListener("cellTap", e => {
132+
const row = e.getRow();
133+
const target = e.getOriginalTarget();
134+
if (target.closest(".qx-material-button") && (target.tagName === "IMG" || target.tagName === "DIV")) {
135+
const action = target.closest(".qx-material-button").getAttribute("data-action");
136+
if (action) {
137+
this.__handleButtonClick(action, row);
138+
}
139+
}
140+
});
141+
},
142+
143+
__handleButtonClick: function(action, row) {
144+
const rowData = this.getTableModel().getRowData(row);
145+
switch (action) {
146+
case "info":
147+
console.log(`Info row ${row}`);
148+
break;
149+
case "stop":
150+
case "delete":
151+
case "logs": {
152+
const msg = `I wish I could ${action} the job ${rowData["jobId"]}`;
153+
osparc.FlashMessenger.logAs(msg, "WARNING");
154+
break;
155+
}
156+
default:
157+
console.warn(`Unknown action: ${action}`);
158+
}
159+
},
125160
}
126161
});

services/static-webserver/client/source/class/osparc/ui/table/cellrenderer/ButtonRenderer.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
qx.Class.define("osparc.ui.table.cellrenderer.ButtonRenderer", {
1919
extend: osparc.ui.table.cellrenderer.Html,
2020

21-
construct: function(clickAction, icon) {
21+
construct: function(clickAction) {
2222
this.base(arguments);
23+
24+
this.setClickAction(clickAction);
2325
},
2426

2527
properties: {

services/static-webserver/client/source/class/osparc/ui/table/cellrenderer/ImageButtonRenderer.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,10 @@
1818
qx.Class.define("osparc.ui.table.cellrenderer.ImageButtonRenderer", {
1919
extend: osparc.ui.table.cellrenderer.ButtonRenderer,
2020

21-
construct: function(clickAction, icon) {
22-
this.base(arguments);
21+
construct: function(clickAction, iconPath) {
22+
this.base(arguments, clickAction);
23+
24+
this.setIconPath(iconPath);
2325
},
2426

2527
properties: {

0 commit comments

Comments
 (0)