Revision 89dddc7d src/gr/grnet/pithos/web/client/FileUploadDialog.java
b/src/gr/grnet/pithos/web/client/FileUploadDialog.java | ||
---|---|---|
36 | 36 |
|
37 | 37 |
import gr.grnet.pithos.web.client.foldertree.Folder; |
38 | 38 |
|
39 |
import com.google.gwt.core.client.Scheduler; |
|
39 | 40 |
import com.google.gwt.dom.client.NativeEvent; |
40 | 41 |
import com.google.gwt.event.dom.client.ClickEvent; |
41 | 42 |
import com.google.gwt.event.dom.client.ClickHandler; |
... | ... | |
100 | 101 |
// Set the dialog's caption. |
101 | 102 |
setText("File upload"); |
102 | 103 |
setAnimationEnabled(true); |
103 |
setGlassEnabled(true); |
|
104 |
// setGlassEnabled(true);
|
|
104 | 105 |
setStyleName("pithos-DialogBox"); |
105 | 106 |
setVisible(false); |
106 | 107 |
|
... | ... | |
148 | 149 |
panel.setCellHorizontalAlignment(inner, HasHorizontalAlignment.ALIGN_CENTER); |
149 | 150 |
|
150 | 151 |
setWidget(form); |
152 |
|
|
153 |
Scheduler.get().scheduleDeferred(new Scheduler.ScheduledCommand() { |
|
154 |
|
|
155 |
@Override |
|
156 |
public void execute() { |
|
157 |
center(); |
|
158 |
close(); |
|
159 |
} |
|
160 |
}); |
|
151 | 161 |
} |
152 | 162 |
|
153 | 163 |
private void refreshFolder() { |
... | ... | |
163 | 173 |
app.updateOtherSharedFolder(folder, true); |
164 | 174 |
} |
165 | 175 |
|
166 |
native void setupUpload(FileUploadDialog dlg, String path, String token) /*-{
|
|
176 |
native void setupUpload(FileUploadDialog dlg, Pithos app, String token) /*-{
|
|
167 | 177 |
var uploader = $wnd.$('#uploader').pluploadQueue(); |
168 | 178 |
var createUploader = function() { |
169 | 179 |
$wnd.$("#uploader").pluploadQueue({ |
... | ... | |
190 | 200 |
|
191 | 201 |
init: { |
192 | 202 |
FilesAdded: function(up, files) { |
203 |
var api = app.@gr.grnet.pithos.web.client.Pithos::getApiPath()(); |
|
204 |
var folder = app.@gr.grnet.pithos.web.client.Pithos::getUploadFolder()(); |
|
205 |
var owner = folder.@gr.grnet.pithos.web.client.foldertree.Folder::getOwner()(); |
|
206 |
var uri = folder.@gr.grnet.pithos.web.client.foldertree.Folder::getUri()(); |
|
207 |
var path = api + owner + uri; |
|
193 | 208 |
for (var j=0; j<files.length; j++) |
194 |
files[j].url = up.path + "/" + files[j].name + "?X-Auth-Token=" + encodeURIComponent(token);
|
|
209 |
files[j].url = path + "/" + files[j].name + "?X-Auth-Token=" + encodeURIComponent(token); |
|
195 | 210 |
dlg.@gr.grnet.pithos.web.client.FileUploadDialog::setInProgress(Z)(true); |
211 |
up.start(); |
|
212 |
app.@gr.grnet.pithos.web.client.Pithos::showUploadIndicator()(); |
|
196 | 213 |
}, |
197 | 214 |
|
198 | 215 |
FilesRemoved: function(up, files) { |
... | ... | |
213 | 230 |
$wnd.console.log('File ' + file.name + ' uploaded'); |
214 | 231 |
$wnd.console.log('Response: ' + response); |
215 | 232 |
} |
233 |
var folder = app.@gr.grnet.pithos.web.client.Pithos::getUploadFolder()(); |
|
234 |
if (folder == file.folder) |
|
235 |
app.@gr.grnet.pithos.web.client.Pithos::updateUploadFolder()(); |
|
216 | 236 |
}, |
217 | 237 |
|
218 | 238 |
UploadComplete: function(up, files) { |
... | ... | |
220 | 240 |
$wnd.console.log('All files finished'); |
221 | 241 |
dlg.@gr.grnet.pithos.web.client.FileUploadDialog::setInProgress(Z)(false); |
222 | 242 |
dlg.@gr.grnet.pithos.web.client.FileUploadDialog::hideUploadIndicator()(); |
223 |
dlg.@gr.grnet.pithos.web.client.FileUploadDialog::refreshFolder()(); |
|
224 | 243 |
}, |
225 | 244 |
|
226 | 245 |
Error: function(up, error) { |
... | ... | |
238 | 257 |
uploader = createUploader(); |
239 | 258 |
} |
240 | 259 |
else { |
260 |
var dropElm = $wnd.document.getElementById('rightPanel'); |
|
261 |
$wnd.plupload.removeAllEvents(dropElm, uploader.id); |
|
241 | 262 |
var removeAll = true; |
242 | 263 |
var files = uploader.files; |
243 | 264 |
if ($wnd.console && $wnd.console.log) |
... | ... | |
262 | 283 |
dlg.@gr.grnet.pithos.web.client.FileUploadDialog::setInProgress(Z)(true); |
263 | 284 |
} |
264 | 285 |
} |
265 |
uploader.path = path; |
|
266 | 286 |
}-*/; |
267 | 287 |
|
268 | 288 |
native boolean isUploading()/*-{ |
... | ... | |
303 | 323 |
setVisible(true); |
304 | 324 |
setModal(true); |
305 | 325 |
super.center(); |
306 |
String path = app.getApiPath() + folder.getOwner() + folder.getUri(); |
|
307 |
setupUpload(this, path, app.getToken()); |
|
326 |
setupUpload(this, app, app.getToken()); |
|
308 | 327 |
super.center(); |
309 | 328 |
} |
310 | 329 |
|
... | ... | |
317 | 336 |
setModal(false); |
318 | 337 |
if (isUploading()) |
319 | 338 |
app.showUploadIndicator(); |
339 |
setGlobalDropArea(); |
|
320 | 340 |
} |
321 | 341 |
|
342 |
native void setGlobalDropArea() /*-{ |
|
343 |
var uploader = $wnd.$("#uploader").pluploadQueue(); |
|
344 |
if (uploader.runtime == 'html5') { |
|
345 |
uploader.settings.drop_element = 'rightPanel'; |
|
346 |
var dropElm = $wnd.document.getElementById(uploader.settings.drop_element); |
|
347 |
uploader.trigger('PostInit'); |
|
348 |
} |
|
349 |
}-*/; |
|
350 |
|
|
322 | 351 |
private void setInProgress(boolean _inProgress) { |
323 | 352 |
inProgress = _inProgress; |
324 | 353 |
if (inProgress) |
Also available in: Unified diff