fox for set showable type and set selectable types
git-svn-id: https://svn.d4science.research-infrastructures.eu/gcube/trunk/portlets/widgets/workspace-explorer@169550 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
parent
a8722fb26a
commit
9151a28cff
|
@ -4,6 +4,7 @@
|
|||
package org.gcube.portlets.widgets.wsexplorer.client.select;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
import org.gcube.portlets.widgets.wsexplorer.client.Util;
|
||||
|
@ -131,6 +132,10 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
if(showOnlyFolders){
|
||||
ItemType[] itemsType = new ItemType[1];
|
||||
itemsType[0] = ItemType.FOLDER;
|
||||
itemsType[1] = ItemType.PRIVATE_FOLDER;
|
||||
itemsType[2] = ItemType.SHARED_FOLDER;
|
||||
itemsType[3] = ItemType.VRE_FOLDER;
|
||||
|
||||
setSelectableTypes(itemsType);
|
||||
setShowableTypes(itemsType);
|
||||
}
|
||||
|
@ -440,9 +445,57 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
* @param selectableTypes the selectableTypes to set
|
||||
*/
|
||||
private void setSelectableTypes(ItemType ... selectableTypes) {
|
||||
controller.setSelectableTypes(selectableTypes);
|
||||
ArrayList<ItemType> list = new ArrayList<>();
|
||||
for (int i = 0; i < selectableTypes.length; i++) {
|
||||
list.add(selectableTypes[i]);
|
||||
}
|
||||
GWT.log("setSelectableTypes for type " + list.toString());
|
||||
controller.setSelectableTypes(getPatchedTypes(selectableTypes));
|
||||
}
|
||||
|
||||
private ItemType[] getPatchedTypes(ItemType[] selectableTypes) {
|
||||
boolean ANY_FOLDER = false;
|
||||
boolean ANY_FILE = false;
|
||||
|
||||
ArrayList<ItemType> list = new ArrayList<>();
|
||||
for (int i = 0; i < selectableTypes.length; i++) {
|
||||
list.add(selectableTypes[i]);
|
||||
}
|
||||
|
||||
for (int i = 0; i < selectableTypes.length; i++) {
|
||||
if (selectableTypes[i] == ItemType.FOLDER)
|
||||
ANY_FOLDER = true;
|
||||
if (selectableTypes[i] == ItemType.EXTERNAL_FILE) {
|
||||
ANY_FILE = true;
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < selectableTypes.length; i++) {
|
||||
list.add(selectableTypes[i]);
|
||||
}
|
||||
if (ANY_FOLDER) {
|
||||
list.add(ItemType.PRIVATE_FOLDER);
|
||||
list.add(ItemType.VRE_FOLDER);
|
||||
list.add(ItemType.SHARED_FOLDER);
|
||||
}
|
||||
if (ANY_FILE) {
|
||||
ArrayList<ItemType> temp = new ArrayList<>();
|
||||
ItemType[] allValues = ItemType.values();
|
||||
for (int i = 0; i < allValues.length; i++) {
|
||||
temp.add(allValues[i]);
|
||||
}
|
||||
temp.remove(ItemType.PRIVATE_FOLDER);
|
||||
temp.remove(ItemType.VRE_FOLDER);
|
||||
temp.remove(ItemType.SHARED_FOLDER);
|
||||
temp.remove(ItemType.FOLDER);
|
||||
for (ItemType itemType : temp) {
|
||||
list.add(itemType);
|
||||
}
|
||||
}
|
||||
GWT.log("getPatchedTypes returns " + list.toString());
|
||||
return list.toArray(new ItemType[list.size()]);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Gets the selectable types.
|
||||
|
@ -466,6 +519,11 @@ public class WorkspaceExplorerSelectPanel extends ScrollPanel implements HasWors
|
|||
* @param showableTypes the showableTypes to set
|
||||
*/
|
||||
private void setShowableTypes(ItemType ... showableTypes) {
|
||||
controller.setShowableTypes(showableTypes);
|
||||
ArrayList<ItemType> list = new ArrayList<>();
|
||||
for (int i = 0; i < showableTypes.length; i++) {
|
||||
list.add(showableTypes[i]);
|
||||
}
|
||||
GWT.log("setShowableTypes for type " + list.toString());
|
||||
controller.setShowableTypes(getPatchedTypes(showableTypes));
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue