Revision fbff60ff web_client/src/gr/grnet/pithos/web/client/foldertree/FolderTreeViewModel.java
b/web_client/src/gr/grnet/pithos/web/client/foldertree/FolderTreeViewModel.java | ||
---|---|---|
21 | 21 |
|
22 | 22 |
public class FolderTreeViewModel implements TreeViewModel { |
23 | 23 |
|
24 |
private SingleSelectionModel<Folder> selectionModel = new SingleSelectionModel<Folder>(); |
|
25 |
|
|
26 | 24 |
private ListDataProvider<Folder> rootDataProvider = new ListDataProvider<Folder>(); |
27 | 25 |
|
28 |
public FolderTreeViewModel() { |
|
29 |
Handler selectionHandler = new SelectionChangeEvent.Handler() { |
|
30 |
@Override |
|
31 |
public void onSelectionChange(SelectionChangeEvent event) { |
|
32 |
NodeInfo<Folder> nodeInfo = (NodeInfo<Folder>) getNodeInfo(selectionModel.getSelectedObject()); |
|
33 |
if(nodeInfo == null || nodeInfo.getValueUpdater() == null) { |
|
34 |
// GSS.get().showFileList(selectionModel.getSelectedObject()); |
|
35 |
} |
|
36 |
else |
|
37 |
nodeInfo.getValueUpdater().update(selectionModel.getSelectedObject()); |
|
38 |
GSS.get().setCurrentSelection(selectionModel.getSelectedObject()); |
|
39 |
} |
|
40 |
}; |
|
41 |
selectionModel.addSelectionChangeHandler(selectionHandler); |
|
26 |
private SingleSelectionModel<Folder> selectionModel; |
|
27 |
|
|
28 |
public FolderTreeViewModel(SingleSelectionModel<Folder> selectionModel) { |
|
29 |
this.selectionModel = selectionModel; |
|
42 | 30 |
} |
43 | 31 |
|
44 | 32 |
@Override |
... | ... | |
73 | 61 |
GSS.get().displayError("System error fetching folder: " + t.getMessage()); |
74 | 62 |
} |
75 | 63 |
}; |
64 |
getFolder.setHeader("X-Auth-Token", app.getToken()); |
|
76 | 65 |
Scheduler.get().scheduleDeferred(getFolder); |
77 | 66 |
} |
78 | 67 |
}); |
... | ... | |
110 | 99 |
GSS.get().displayError("System error fetching folder: " + t.getMessage()); |
111 | 100 |
} |
112 | 101 |
}; |
102 |
getFolder.setHeader("X-Auth-Token", app.getToken()); |
|
113 | 103 |
Scheduler.get().scheduleDeferred(getFolder); |
114 | 104 |
} |
115 | 105 |
else { |
116 | 106 |
dataProvider.getList().clear(); |
117 | 107 |
dataProvider.getList().addAll(folders); |
108 |
if (dataProvider.equals(rootDataProvider)) |
|
109 |
selectionModel.setSelected(dataProvider.getList().get(0), true); |
|
118 | 110 |
} |
119 | 111 |
} |
120 | 112 |
|
... | ... | |
122 | 114 |
Iterator<Folder> iter = account.getContainers().iterator(); |
123 | 115 |
fetchFolder(iter, rootDataProvider, account.getContainers()); |
124 | 116 |
} |
117 |
|
|
118 |
public Folder getSelection() { |
|
119 |
return selectionModel.getSelectedObject(); |
|
120 |
} |
|
125 | 121 |
} |
Also available in: Unified diff