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