2019-12-16 17:51:37 +01:00
|
|
|
package org.gcube.portlets.widgets.ckan2zenodopublisher.client.view;
|
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.BasicTabPanel;
|
2019-12-17 11:37:56 +01:00
|
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.client.ui.basicinformation.BasicInformationView;
|
2019-12-16 17:51:37 +01:00
|
|
|
import org.gcube.portlets.widgets.ckan2zenodopublisher.shared.wrapped.ZenodoItem;
|
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
import com.github.gwtbootstrap.client.ui.Button;
|
|
|
|
import com.github.gwtbootstrap.client.ui.Modal;
|
|
|
|
import com.github.gwtbootstrap.client.ui.ModalFooter;
|
|
|
|
import com.google.gwt.event.dom.client.ClickEvent;
|
|
|
|
import com.google.gwt.event.dom.client.ClickHandler;
|
|
|
|
import com.google.gwt.event.shared.HandlerManager;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* The Class Ckan2ZenodoViewManager.
|
|
|
|
*
|
|
|
|
* @author Francesco Mangiacrapa at ISTI-CNR (francesco.mangiacrapa@isti.cnr.it)
|
|
|
|
*
|
|
|
|
* Dec 19, 2019
|
|
|
|
*/
|
2019-12-16 17:51:37 +01:00
|
|
|
public class Ckan2ZenodoViewManager {
|
|
|
|
|
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
private BasicTabPanel basicTabPanel;
|
|
|
|
private Button buttonPublish = new Button("Publish on Zenodo");
|
2019-12-16 17:51:37 +01:00
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
public final static HandlerManager eventBus = new HandlerManager(null);
|
2019-12-16 17:51:37 +01:00
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
/**
|
|
|
|
* Instantiates a new ckan 2 zenodo view manager.
|
|
|
|
*/
|
2019-12-16 17:51:37 +01:00
|
|
|
public Ckan2ZenodoViewManager() {
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
/**
|
|
|
|
* View for publishing.
|
|
|
|
*
|
|
|
|
* @param zenodoItem the zenodo item
|
|
|
|
*/
|
|
|
|
public void viewForPublishing(final ZenodoItem zenodoItem){
|
|
|
|
|
|
|
|
Modal modal = new Modal(true);
|
|
|
|
|
2019-12-20 12:11:14 +01:00
|
|
|
basicTabPanel = new BasicTabPanel();
|
2019-12-16 17:51:37 +01:00
|
|
|
|
2019-12-18 18:08:05 +01:00
|
|
|
boolean isUpdate = false;
|
|
|
|
if(zenodoItem.getMetadata()!=null) {
|
|
|
|
isUpdate = zenodoItem.getMetadata().getDoi()!=null?true:false;
|
|
|
|
}
|
2019-12-18 11:58:49 +01:00
|
|
|
//Basic Information
|
2019-12-19 17:41:50 +01:00
|
|
|
int tabIndex = 0;
|
|
|
|
BasicInformationView basicForm = new BasicInformationView(zenodoItem, isUpdate, tabIndex) {
|
2019-12-16 17:51:37 +01:00
|
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void submitHandler() {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void setError(boolean visible, String error) {
|
|
|
|
}
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void setConfirm(boolean visible, String msg) {
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
basicTabPanel.getAcc_basic_info().add(basicForm);
|
|
|
|
basicTabPanel.getTabPanel().getSelectedTab();
|
2019-12-16 17:51:37 +01:00
|
|
|
|
2019-12-18 11:58:49 +01:00
|
|
|
//Files
|
2019-12-19 17:41:50 +01:00
|
|
|
tabIndex = 1;
|
|
|
|
PublishFileViewManager vm = new PublishFileViewManager(zenodoItem.getFiles(), tabIndex);
|
|
|
|
basicTabPanel.getAcc_files().add(vm.getView());
|
|
|
|
|
|
|
|
//return basePanel;
|
|
|
|
|
|
|
|
modal.setTitle("Publishing on Zenodo...");
|
|
|
|
modal.addStyleName("ckan2zenodo-modal-style");
|
|
|
|
modal.setCloseVisible(true);
|
|
|
|
modal.add(basicTabPanel);
|
|
|
|
|
|
|
|
|
2019-12-20 12:11:14 +01:00
|
|
|
//buttonPublish.setEnabled(false);
|
2019-12-19 17:41:50 +01:00
|
|
|
|
|
|
|
buttonPublish.addClickHandler(new ClickHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onClick(ClickEvent event) {
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
ModalFooter modalFooter = new ModalFooter(buttonPublish);
|
|
|
|
modal.add(modalFooter);
|
2019-12-16 17:51:37 +01:00
|
|
|
|
2019-12-19 17:41:50 +01:00
|
|
|
modal.show();
|
2019-12-16 17:51:37 +01:00
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|