ckan2zenodo-publisher-widget/src/main/java/org/gcube/portlets/widgets/ckan2zenodopublisher/client/view/Ckan2ZenodoViewManager.java

102 lines
2.5 KiB
Java
Raw Normal View History

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
}
}