@ -1,6 +1,7 @@
package org.gcube.portlets.user.reportgenerator.client ;
import java.util.Arrays ;
import java.util.List ;
import org.gcube.portlets.d4sreporting.common.shared.Metadata ;
@ -12,10 +13,10 @@ import org.gcube.portlets.user.reportgenerator.client.dialog.PagePropertiesDialo
import org.gcube.portlets.user.reportgenerator.client.model.ExportManifestationType ;
import org.gcube.portlets.user.reportgenerator.client.model.TemplateModel ;
import org.gcube.portlets.user.reportgenerator.shared.VMETypeIdentifier ;
import org.gcube.portlets.widgets. lighttree.client.ItemType ;
import org.gcube.portlets.widgets. lighttree.client.event.PopupEvent ;
import org.gcube.portlets.widgets. lighttree.client.event.PopupHandler ;
import org.gcube.portlets.widgets. lighttree.client.load.WorkspaceLightTreeLoadPopup ;
import org.gcube.portlets.widgets. wsexplorer.shared.* ;
import org.gcube.portlets.widgets. wsexplorer.client.notification.WorkspaceExplorerSelectNotification.WorskpaceExplorerSelectNotificationListener ;
import org.gcube.portlets.widgets. wsexplorer.client.select.WorkspaceExplorerSelectDialog ;
import org.gcube.portlets.widgets. wsexplorer.shared.FilterCriteria ;
import com.extjs.gxt.ui.client.widget.MessageBox ;
import com.google.gwt.core.client.GWT ;
@ -53,7 +54,7 @@ public class Headerbar extends Composite{
private static final String EXPORT_FIMES = "Export to FiMES XML" ;
private static final String EXPORT_XML = "Export to XML" ;
private static final String IMPORT_VME = "Edit VME" ;
// private static final String EXPORT_ENCRYPTED_REPORT = "Save an Encrypted Version to Desktop";
// private static final String EXPORT_ENCRYPTED_REPORT = "Save an Encrypted Version to Desktop";
private static final String VIEW_USER_COMMENTS = "View user comments" ;
@ -75,33 +76,33 @@ public class Headerbar extends Composite{
//private MenuItem optionPDF;
private MenuItem importModel ;
private MenuItem addBiblioEntry ;
private MenuItem viewBiblio ;
private MenuItem manageBiblio ;
private MenuItem optionHTML ;
private MenuItem optionDOCX ;
private MenuItem optionPDF ;
private MenuItem optionFimes ;
private MenuItem optionXML ;
private MenuItem optionEncryptedModel ;
private MenuItem viewMetadata ;
private MenuItem viewComments ;
private MenuItem discardSection ;
private MenuItem importVME ;
private MenuItem importVMERef ;
@ -145,8 +146,8 @@ public class Headerbar extends Composite{
exportMenu = getExportsMenu ( ) ;
menuBar . addItem ( exportMenu ) ;
mainLayout . setSize ( "100%" , "24px" ) ;
mainLayout . setStyleName ( "menubar" ) ;
@ -171,7 +172,7 @@ public class Headerbar extends Composite{
initWidget ( mainLayout ) ;
}
public void setMenuForVME ( ) {
menuBar . removeItem ( viewMenu ) ;
menuBar . removeItem ( sectionsMenu ) ;
@ -180,25 +181,25 @@ public class Headerbar extends Composite{
menuBar . removeSeparator ( separator2 ) ;
menuBar . removeSeparator ( separator3 ) ;
menuBar . removeItem ( exportMenu ) ;
vmeMenu = getVMEMenuEdit ( ) ;
menuBar . addItem ( vmeMenu ) ;
menuBar . addSeparator ( ) ;
MenuItem vmeMenuCreate = getVMEMenuCreate ( ) ;
menuBar . addItem ( vmeMenuCreate ) ;
separator4 = menuBar . addSeparator ( ) ;
MenuItem vmeMenuDelete = getVMEMenuDelete ( ) ;
menuBar . addItem ( vmeMenuDelete ) ;
menuBar . addSeparator ( ) ;
exportMenu = getExportsMenu ( ) ;
menuBar . addItem ( exportMenu ) ;
}
public void setMenuForWorkflowDocument ( boolean canUpdate ) {
presenter . setMenuForWorkflowDocument ( true ) ;
menuBar . removeItem ( fileMenu ) ;
@ -224,7 +225,7 @@ public class Headerbar extends Composite{
presenter . updateWorkflowDocument ( false ) ;
}
} ;
if ( canUpdate )
workflowMenu . addItem ( "Update this document" , updateWfDocument ) ;
//workflowMenu.addItem("Show previous changes", showChanges);
@ -244,8 +245,8 @@ public class Headerbar extends Composite{
separator4 = menuBar . addSeparator ( ) ;
exportMenu = getExportsMenu ( ) ;
menuBar . addItem ( exportMenu ) ;
ReportGenerator . get ( ) . getToolbarPanel ( ) . clear ( ) ;
ReportGenerator . get ( ) . getToolbarPanel ( ) . add ( new HTML ( " " , true ) ) ;
enableExports ( ) ;
@ -277,15 +278,15 @@ public class Headerbar extends Composite{
} ;
return openNothing ;
}
public Command getDisabledExportMenuItemCmd ( ) {
Command disabledExportMenuItemCmd = new Command ( ) {
public void execute ( ) {
MessageBox . alert ( "Alert" ,
"Export is disabled for templates, please save this template as a Report and retry." +
" If you just saved this Template as a Report please save it and reopen the Report" , null ) ;
" If you just saved this Template as a Report please save it and reopen the Report" , null ) ;
}
} ;
return disabledExportMenuItemCmd ;
@ -302,14 +303,14 @@ public class Headerbar extends Composite{
} ;
return openNothing ;
}
Command addCitationCmd = new Command ( ) {
public void execute ( ) {
presenter . openAddCitationDialog ( ) ;
}
} ;
Command viewBiblioCmd = new Command ( ) {
public void execute ( ) {
if ( presenter . hasBibliography ( ) ) {
@ -320,7 +321,7 @@ public class Headerbar extends Composite{
}
}
} ;
Command manageBiblioCmd = new Command ( ) {
public void execute ( ) {
if ( presenter . hasBibliography ( ) ) {
@ -331,7 +332,7 @@ public class Headerbar extends Composite{
}
}
} ;
private MenuItem getVMEMenuDelete ( ) {
MenuBar createMenu = new MenuBar ( true ) ;
@ -346,7 +347,7 @@ public class Headerbar extends Composite{
} ) ;
createMenu . addItem ( item ) ;
createMenu . addSeparator ( ) ;
item = new MenuItem ( "Delete VME General Measure" , true , new Command ( ) {
public void execute ( ) {
presenter . showVMEDeleteDialog ( VMETypeIdentifier . GeneralMeasure ) ;
@ -373,7 +374,7 @@ public class Headerbar extends Composite{
createMenu . addItem ( item ) ;
return toReturn ;
}
private MenuItem getVMEMenuEdit ( ) {
MenuBar importMenu = new MenuBar ( true ) ;
@ -391,51 +392,51 @@ public class Headerbar extends Composite{
importMenu . addItem ( importVME ) ;
importMenu . addSeparator ( ) ;
MenuItem item = new MenuItem ( "Edit VME General Measures" , true , new Command ( ) {
public void execute ( ) {
presenter . showVMEReportRefImportDialog ( VMETypeIdentifier . GeneralMeasure ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Edit Information Sources" , true , new Command ( ) {
public void execute ( ) {
presenter . showVMEReportRefImportDialog ( VMETypeIdentifier . InformationSource ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Edit Bottom fishing areas" , true , new Command ( ) {
public void execute ( ) {
presenter . showVMEReportRefImportDialog ( VMETypeIdentifier . FisheryAreasHistory ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Edit Regional overview of VMEs" , true , new Command ( ) {
public void execute ( ) {
presenter . showVMEReportRefImportDialog ( VMETypeIdentifier . VMEsHistory ) ;
}
} ) ;
importMenu . addItem ( item ) ;
// item = new MenuItem("Edit Rfmo", true, new Command() {
// public void execute() {
// presenter.showVMEReportRefImportDialog(VMETypeIdentifier.Rfmo);
// }
// });
// importMenu.addItem(item);
//
// importMenu.addSeparator();
// MenuItem exportVME = new MenuItem("Export Current to VME-DB", true, importVMEReport);
// importMenu.addItem(exportVME);
// item = new MenuItem("Edit Rfmo", true, new Command() {
// public void execute() {
// presenter.showVMEReportRefImportDialog(VMETypeIdentifier.Rfmo);
// }
// });
// importMenu.addItem(item);
//
// importMenu.addSeparator();
// MenuItem exportVME = new MenuItem("Export Current to VME-DB", true, importVMEReport);
// importMenu.addItem(exportVME);
return toReturn ;
}
private MenuItem getVMEMenuCreate ( ) {
MenuBar importMenu = new MenuBar ( true ) ;
@ -450,28 +451,28 @@ public class Headerbar extends Composite{
} ) ;
importMenu . addItem ( item ) ;
importMenu . addSeparator ( ) ;
item = new MenuItem ( "Create new General Measure" , true , new Command ( ) {
public void execute ( ) {
presenter . importVMETemplate ( VMETypeIdentifier . GeneralMeasure ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Create new Information Source" , true , new Command ( ) {
public void execute ( ) {
presenter . importVMETemplate ( VMETypeIdentifier . InformationSource ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Create new Bottom fishing areas" , true , new Command ( ) {
public void execute ( ) {
presenter . importVMETemplate ( VMETypeIdentifier . FisheryAreasHistory ) ;
}
} ) ;
importMenu . addItem ( item ) ;
item = new MenuItem ( "Create new Regional overview of VMEs" , true , new Command ( ) {
public void execute ( ) {
presenter . importVMETemplate ( VMETypeIdentifier . VMEsHistory ) ;
@ -519,7 +520,7 @@ public class Headerbar extends Composite{
insertsMenu . addItem ( viewComments ) ;
return toReturn ;
}
private MenuItem getExportsMenu ( ) {
MenuBar exportsMenu = new MenuBar ( true ) ;
@ -531,18 +532,18 @@ public class Headerbar extends Composite{
optionHTML = new MenuItem ( "<font color=\"gray\">" + EXPORT_HTML + "</font>" , true , getDisabledExportMenuItemCmd ( ) ) ;
optionFimes = new MenuItem ( "<font color=\"gray\">" + EXPORT_FIMES + "</font>" , true , getDisabledExportMenuItemCmd ( ) ) ;
optionXML = new MenuItem ( "<font color=\"gray\">" + EXPORT_XML + "</font>" , true , getDisabledExportMenuItemCmd ( ) ) ;
// optionEncryptedModel = new MenuItem("<font color=\"gray\">"+ EXPORT_ENCRYPTED_REPORT +"</font>", true, getDisabledExportMenuItemCmd());
// optionEncryptedModel = new MenuItem("<font color=\"gray\">"+ EXPORT_ENCRYPTED_REPORT +"</font>", true, getDisabledExportMenuItemCmd());
exportsMenu . addItem ( optionDOCX ) ;
exportsMenu . addItem ( optionHTML ) ;
exportsMenu . addItem ( optionPDF ) ;
exportsMenu . addItem ( optionXML ) ;
exportsMenu . addSeparator ( ) ;
// exportsMenu.addItem(optionEncryptedModel);
// exportsMenu.addItem(optionEncryptedModel);
//optionsMenu.addItem(optionPDF);
//exportsMenu.addItem(optionFimes);
return toReturn ;
}
@ -563,19 +564,19 @@ public class Headerbar extends Composite{
presenter . toggleReportStructure ( ) ;
}
} ;
// Create the Options menu
MenuBar optionsMenu = new MenuBar ( true ) ;
optionsMenu . setAnimationEnabled ( true ) ;
MenuItem toReturn = new MenuItem ( "View" , optionsMenu ) ;
optionsMenu . addItem ( "View Properties" , openPageProperties ) ;
optionsMenu . addItem ( "View/Hide Structure" , showReportStructure ) ;
optionsMenu . addSeparator ( ) ;
return toReturn ;
}
@ -592,28 +593,28 @@ public class Headerbar extends Composite{
optionHTML . setHTML ( EXPORT_HTML ) ;
optionHTML . setScheduledCommand ( generateHTML ) ;
optionFimes . setHTML ( EXPORT_FIMES ) ;
optionFimes . setScheduledCommand ( generateFimes ) ;
optionXML . setHTML ( EXPORT_XML ) ;
optionXML . setScheduledCommand ( generatedXML ) ;
// optionEncryptedModel.setHTML(EXPORT_ENCRYPTED_REPORT);
// optionEncryptedModel.setHTML(EXPORT_ENCRYPTED_REPORT);
//
// importModel.setHTML("Import from Template or Report");
// importModel.setScheduledCommand(importModelOrReport);
//
// viewMetadata.setHTML("View Metadata");
// viewMetadata.setScheduledCommand(openMetadata);
// importModel.setHTML("Import from Template or Report");
// importModel.setScheduledCommand(importModelOrReport);
//
// viewMetadata.setHTML("View Metadata");
// viewMetadata.setScheduledCommand(openMetadata);
// discardSection.setHTML("Discard current");
// discardSection.setScheduledCommand(discardSectionCom);
// discardSection.setHTML("Discard current");
// discardSection.setScheduledCommand(discardSectionCom);
}
/ * *
* rewrite with setHTML to remove the gray color
* @param d4sArea
@ -631,8 +632,8 @@ public class Headerbar extends Composite{
private MenuItem getFileMenu ( ) {
CommonCommands cmd = new CommonCommands ( presenter ) ;
Command openHelp = new Command ( ) {
public void execute ( ) {
@ -655,7 +656,7 @@ public class Headerbar extends Composite{
} ;
Command saveReportAs = new Command ( ) {
public void execute ( ) {
@ -677,8 +678,8 @@ public class Headerbar extends Composite{
}
} ;
// Create the file menu
MenuBar fileMenu = new MenuBar ( true ) ;
@ -691,10 +692,10 @@ public class Headerbar extends Composite{
fileMenu . addItem ( "Save" , saveReport ) ;
fileMenu . addItem ( "Save As .." , saveReportAs ) ;
fileMenu . addSeparator ( ) ;
// fileMenu.addItem("Import from FiMES XML", importFimes);
// fileMenu.addItem("Import from FiMES XML", importFimes);
fileMenu . addItem ( "Close Report" , cmd . newTemplate ) ;
fileMenu . addSeparator ( ) ;
// fileMenu.addItem("? Open User's Guide", openHelp);
// fileMenu.addItem("? Open User's Guide", openHelp);
return toReturn ;
}
@ -707,13 +708,13 @@ public class Headerbar extends Composite{
}
//************** COMMANDS ********************************////
ScheduledCommand generateFimes = new ScheduledCommand ( ) {
public void execute ( ) {
presenter . generateFiMES ( templateModel ) ;
}
} ;
ScheduledCommand generateDOCX = new ScheduledCommand ( ) {
public void execute ( ) {
presenter . generateManifestation ( templateModel , ExportManifestationType . DOCX ) ;
@ -722,7 +723,7 @@ public class Headerbar extends Composite{
ScheduledCommand generatePDF = new ScheduledCommand ( ) {
public void execute ( ) {
// Window.alert("PDF Exporting may not be fully working, you can also generate a PDF using your Word Processor application starting from the docx exported file");
// Window.alert("PDF Exporting may not be fully working, you can also generate a PDF using your Word Processor application starting from the docx exported file");
presenter . generateManifestation ( templateModel , ExportManifestationType . PDF ) ;
}
} ;
@ -732,35 +733,42 @@ public class Headerbar extends Composite{
presenter . generateManifestation ( templateModel , ExportManifestationType . HTML ) ;
}
} ;
ScheduledCommand generatedXML = new ScheduledCommand ( ) {
public void execute ( ) {
presenter . generateManifestation ( templateModel , ExportManifestationType . XML ) ;
}
} ;
ScheduledCommand generateEncryptedModel = new ScheduledCommand ( ) {
@Override
public void execute ( ) {
GWT . runAsync ( Workspace LightTreeLoadPopup . class , new RunAsyncCallback ( ) {
GWT . runAsync ( Workspace ExplorerSelectDialog . class , new RunAsyncCallback ( ) {
public void onSuccess ( ) {
WorkspaceLightTreeLoadPopup wpTreepopup = new WorkspaceLightTreeLoadPopup ( "Select the Report (or Template) to encrypt " , true , true ) ;
wpTreepopup . setShowableTypes ( ItemType . REPORT_TEMPLATE , ItemType . REPORT ) ;
wpTreepopup . setSelectableTypes ( ItemType . REPORT_TEMPLATE , ItemType . REPORT ) ;
wpTreepopup . addPopupHandler ( new PopupHandler ( ) {
public void onPopup ( PopupEvent event ) {
if ( ! event . isCanceled ( ) ) {
if ( event . getSelectedItem ( ) ! = null ) {
final String itemId = event . getSelectedItem ( ) . getId ( ) ;
final String url = GWT . getModuleBaseURL ( ) + "downloadEncryptedReport?itemId=" + itemId ;
Window . open ( url , "_blank" , "" ) ;
}
}
ItemType [ ] types = { ItemType . REPORT_TEMPLATE , ItemType . REPORT } ;
final WorkspaceExplorerSelectDialog wpTreepopup = new WorkspaceExplorerSelectDialog ( "Select the Report (or Template) to encrypt" , Arrays . asList ( types ) , Arrays . asList ( types ) ) ;
WorskpaceExplorerSelectNotificationListener listener = new WorskpaceExplorerSelectNotificationListener ( ) {
@Override
public void onSelectedItem ( Item item ) {
final String itemId = item . getId ( ) ;
final String url = GWT . getModuleBaseURL ( ) + "downloadEncryptedReport?itemId=" + itemId ;
Window . open ( url , "_blank" , "" ) ;
}
} ) ;
wpTreepopup . center ( ) ;
@Override
public void onFailed ( Throwable throwable ) {
Window . alert ( "There are networks problem, please check your connection." ) ;
}
@Override
public void onAborted ( ) { }
@Override
public void onNotValidSelection ( ) {
}
} ;
wpTreepopup . addWorkspaceExplorerSelectNotificationListener ( listener ) ;
wpTreepopup . show ( ) ;
}
@ -770,24 +778,24 @@ public class Headerbar extends Composite{
} ) ;
}
} ;
//************** COMMANDS ********************************////
Command addBiblioEntryCommand = new Command ( ) {
public void execute ( ) {
GWT . runAsync ( new RunAsyncCallback ( ) {
@Override
public void onSuccess ( ) {
presenter . openAddCitationDialog ( ) ;
}
@Override
public void onFailure ( Throwable reason ) {
}
} ) ;
}
} ;
@ -797,7 +805,7 @@ public class Headerbar extends Composite{
Command openMetadata = new Command ( ) {
public void execute ( ) {
GWT . runAsync ( new RunAsyncCallback ( ) {
@Override
public void onSuccess ( ) {
int left = mainLayout . getAbsoluteLeft ( ) + 50 ;
@ -820,12 +828,12 @@ public class Headerbar extends Composite{
dlg . setAnimationEnabled ( true ) ;
dlg . show ( ) ;
}
@Override
public void onFailure ( Throwable reason ) { }
} ) ;
}
} ;
@ -843,45 +851,52 @@ public class Headerbar extends Composite{
GWT . runAsync ( new RunAsyncCallback ( ) {
@Override
public void onSuccess ( ) {
int left = mainLayout . getAbsoluteLeft ( ) + 50 ;
int top = mainLayout . getAbsoluteTop ( ) + 25 ;
WorkspaceLightTreeLoadPopup wpTreepopup = new WorkspaceLightTreeLoadPopup ( "Pick the item you want to import from" , true , true ) ;
wpTreepopup . setShowableTypes ( ItemType . REPORT_TEMPLATE , ItemType . REPORT ) ;
wpTreepopup . addPopupHandler ( new PopupHandler ( ) {
public void onPopup ( PopupEvent event ) {
if ( ! event . isCanceled ( ) ) {
if ( event . getSelectedItem ( ) ! = null ) {
int left = mainLayout . getAbsoluteLeft ( ) + 50 ;
int top = mainLayout . getAbsoluteTop ( ) + 25 ;
ImporterDialog dlg = new ImporterDialog ( event . getSelectedItem ( ) , presenter ) ;
dlg . setPopupPosition ( left , top ) ;
dlg . setAnimationEnabled ( true ) ;
dlg . show ( ) ;
}
presenter . getHeader ( ) . enableExports ( ) ;
}
ItemType [ ] types = { ItemType . REPORT_TEMPLATE , ItemType . REPORT } ;
final WorkspaceExplorerSelectDialog wpTreepopup = new WorkspaceExplorerSelectDialog ( "Pick the item you want to import from" , Arrays . asList ( types ) , Arrays . asList ( types ) ) ;
WorskpaceExplorerSelectNotificationListener listener = new WorskpaceExplorerSelectNotificationListener ( ) {
@Override
public void onSelectedItem ( Item item ) {
int left = mainLayout . getAbsoluteLeft ( ) + 50 ;
int top = mainLayout . getAbsoluteTop ( ) + 25 ;
ImporterDialog dlg = new ImporterDialog ( item , presenter ) ;
dlg . setPopupPosition ( left , top ) ;
dlg . setAnimationEnabled ( true ) ;
dlg . show ( ) ;
presenter . getHeader ( ) . enableExports ( ) ;
}
} ) ;
wpTreepopup . setPopupPosition ( left , top ) ;
wpTreepopup . show ( ) ;
}
@Override
public void onFailed ( Throwable throwable ) {
Window . alert ( "There are networks problem, please check your connection." ) ;
}
@Override
public void onAborted ( ) { }
@Override
public void onNotValidSelection ( ) {
}
} ;
wpTreepopup . addWorkspaceExplorerSelectNotificationListener ( listener ) ;
wpTreepopup . show ( ) ;
@Override
public void onFailure ( Throwable reason ) {
}
} ) ;
}
}
} ;
/ * *
*
* @return .
* /
public CellPanel getMainLayout ( ) {
return mainLayout ;
}
}
@Override
public void onFailure ( Throwable reason ) {
}
} ) ;
}
}
} ;
/ * *
*
* @return .
* /
public CellPanel getMainLayout ( ) {
return mainLayout ;
}
}