Skip to content

Commit 5f2b900

Browse files
committed
[skip ci] pass multiSelectionChanged
1 parent ce6dfd8 commit 5f2b900

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

services/static-webserver/client/source/class/osparc/file/FileLabelWithActions.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,10 @@ qx.Class.define("osparc.file.FileLabelWithActions", {
128128
}
129129
},
130130

131+
setMultiItemSelected: function(multiSelectionData) {
132+
console.log("multiSelectionData", multiSelectionData);
133+
},
134+
131135
resetItemSelected: function() {
132136
this.__selection = null;
133137
this.getChildControl("download-button").setEnabled(false);

services/static-webserver/client/source/class/osparc/file/FolderContent.js

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -255,7 +255,19 @@ qx.Class.define("osparc.file.FolderContent", {
255255

256256
__attachListenersToGridItem: function(btn, entry) {
257257
btn.addListener("tap", () => {
258-
this.__itemTapped(entry, btn.getValue());
258+
if (this.isMultiSelect()) {
259+
// pass all buttons that are selected
260+
const selectedFiles = [];
261+
const iconsLayout = this.getChildControl("icons-layout");
262+
iconsLayout.getChildren().forEach(gridItem => {
263+
if (osparc.file.FilesTree.isFile(gridItem) && gridItem.getValue()) {
264+
selectedFiles.push(gridItem);
265+
}
266+
});
267+
this.__itemTapped(selectedFiles, btn.getValue());
268+
} else {
269+
this.__itemTapped(entry, btn.getValue());
270+
}
259271
// folders can't be selected
260272
if (osparc.file.FilesTree.isDir(entry)) {
261273
btn.setValue(false);

services/static-webserver/client/source/class/osparc/file/FolderViewer.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,11 @@ qx.Class.define("osparc.file.FolderViewer", {
6969
folderContent.addListener("requestDatasetFiles", e => this.fireDataEvent("requestDatasetFiles", e.getData()));
7070
folderContent.addListener("selectionChanged", e => {
7171
const selectionData = e.getData();
72-
selectionData ? selectedFileLayout.setItemSelected(selectionData) : selectedFileLayout.resetItemSelected();
72+
selectedFileLayout.setItemSelected(selectionData);
73+
}, this);
74+
folderContent.addListener("multiSelectionChanged", e => {
75+
const multiSelectionData = e.getData();
76+
selectedFileLayout.setMultiItemSelected(multiSelectionData);
7377
}, this);
7478
folderContent.addListener("openItemSelected", e => {
7579
const entry = e.getData();

0 commit comments

Comments
 (0)