exports working

git-svn-id: http://svn.research-infrastructures.eu/public/d4science/gcube/trunk/portlets/user/reports@71453 82a268e6-3cf1-43bd-a215-b396298e98cf
This commit is contained in:
Massimiliano Assante 2013-03-15 18:52:49 +00:00
parent 07f21282c4
commit c368ac1449
4 changed files with 83 additions and 17 deletions

View File

@ -11,6 +11,7 @@ import org.gcube.portlets.user.workspace.client.event.FileUploadEvent;
import org.gcube.portlets.user.workspace.client.event.FileUploadEvent.UploadType;
import org.gcube.portlets.user.workspace.client.view.tree.AsyncTreePanel;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.SimplePanel;
@ -42,6 +43,7 @@ public class ToolboxPanel extends SimplePanel {
}
public void showExportedVersion(String id, String fileName) {
GWT.log("showExportedVersion");
AppControllerExplorer.getEventBus().fireEvent(new FileDownloadEvent(id, fileName, DownloadType.SHOW));
}
/**

View File

@ -4,6 +4,10 @@ import org.gcube.portlets.user.exporter.shared.TypeExporter;
import org.gcube.portlets.user.reportgenerator.client.ReportServiceAsync;
import org.gcube.portlets.user.reportgenerator.client.ToolboxPanel;
import org.gcube.portlets.user.reportgenerator.client.Presenter.Presenter;
import org.gcube.portlets.user.workspace.lighttree.client.ItemType;
import org.gcube.portlets.user.workspace.lighttree.client.event.PopupEvent;
import org.gcube.portlets.user.workspace.lighttree.client.event.PopupHandler;
import org.gcube.portlets.user.workspace.lighttree.client.save.WorkspaceLightTreeSavePopup;
import com.google.gwt.core.client.GWT;
import com.google.gwt.event.dom.client.ClickEvent;
@ -54,12 +58,12 @@ public class ExportOptions extends Composite {
GWT.log("SaveOPen");
doCallBack(ExportMode.SAVE_OPEN);
}
@UiHandler("save")
void onSaveClick(ClickEvent e) {
doCallBack(ExportMode.SAVE);
}
@UiHandler("saveAs")
void onSaveAs(ClickEvent e) {
doCallBack(ExportMode.SAVE_AS);
@ -67,18 +71,62 @@ public class ExportOptions extends Composite {
private void doCallBack(ExportMode mode) {
rpc.save(filePath, workspaceFolderId, itemName, type, true, new AsyncCallback<String>() {
@Override
public void onSuccess(String createdItemId) {
p.clearExportPanel();
tbp.showExportedVersion(createdItemId, itemName);
Window.alert("Success ");
}
@Override
public void onFailure(Throwable caught) {
Window.alert("Error: " + caught.getMessage());
}
});
switch(mode) {
case SAVE:
rpc.save(filePath, workspaceFolderId, itemName, type, true, new AsyncCallback<String>() {
@Override
public void onSuccess(String createdItemId) {
p.clearExportPanel();
tbp.refreshRoot();
}
@Override
public void onFailure(Throwable caught) {
Window.alert("Error: " + caught.getMessage());
}
});
break;
case SAVE_AS:
WorkspaceLightTreeSavePopup wpTree = new WorkspaceLightTreeSavePopup("Save Report, select the folder:", true);
wpTree.setSelectableTypes(ItemType.FOLDER, ItemType.ROOT);
wpTree.setShowEmptyFolders(true);
wpTree.addPopupHandler(new PopupHandler(){
@Override
public void onPopup(PopupEvent event) {
rpc.save(filePath, event.getSelectedItem().getId(), event.getName(), type, true, new AsyncCallback<String>() {
@Override
public void onSuccess(String createdItemId) {
p.clearExportPanel();
tbp.refreshRoot();
}
@Override
public void onFailure(Throwable caught) {
Window.alert("Error: " + caught.getMessage());
}
});
}});
wpTree.show();
wpTree.center();
break;
case
SAVE_OPEN:
rpc.save(filePath, workspaceFolderId, itemName, type, true, new AsyncCallback<String>() {
@Override
public void onSuccess(String createdItemId) {
p.clearExportPanel();
tbp.refreshRoot();
tbp.showExportedVersion(createdItemId, itemName);
}
@Override
public void onFailure(Throwable caught) {
Window.alert("Error: " + caught.getMessage());
}
});
break;
}
}
}

View File

@ -20,6 +20,12 @@
<g:HTML ui:field="saveAs" styleName="exportOption optionSaveAs">Save As</g:HTML>
</td>
</tr>
<tr>
<td colspan="3">
<div class="tinyMessage">
Note: existing copies will be overwritten.</div>
</td>
</tr>
</table>
</g:HTMLPanel>
</ui:UiBinder>

View File

@ -10,17 +10,27 @@
border-radius: 5px;
width: 775px;
}
.exportResult {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 18px;
color: #444;
margin-bottom: 20px;
}
.tinyMessage {
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 10px;
color: #444;
margin-top: 20px;
text-align: left;
}
.exportOption {
display: block;
height: 148px;
width: 250px;
opacity: 0.8;
opacity: 0.8;
text-align: center;
font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
font-size: 18px;