161 lines
5.2 KiB
Java
161 lines
5.2 KiB
Java
//package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.resources;
|
|
//
|
|
//import java.util.ArrayList;
|
|
//import java.util.List;
|
|
//
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherService;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.CKanPublisherServiceAsync;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.AddResourceEvent;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.AddResourceEventHandler;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteResourceEvent;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.client.events.DeleteResourceEventHandler;
|
|
//import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
|
|
//
|
|
//import com.github.gwtbootstrap.client.ui.Accordion;
|
|
//import com.github.gwtbootstrap.client.ui.AccordionGroup;
|
|
//import com.github.gwtbootstrap.client.ui.Button;
|
|
//import com.github.gwtbootstrap.client.ui.Paragraph;
|
|
//import com.google.gwt.core.client.GWT;
|
|
//import com.google.gwt.event.dom.client.ClickEvent;
|
|
//import com.google.gwt.event.dom.client.ClickHandler;
|
|
//import com.google.gwt.event.shared.HandlerManager;
|
|
//import com.google.gwt.uibinder.client.UiBinder;
|
|
//import com.google.gwt.uibinder.client.UiField;
|
|
//import com.google.gwt.user.client.rpc.AsyncCallback;
|
|
//import com.google.gwt.user.client.ui.Composite;
|
|
//import com.google.gwt.user.client.ui.VerticalPanel;
|
|
//import com.google.gwt.user.client.ui.Widget;
|
|
//
|
|
///**
|
|
// * A summary of the resources added by the user.
|
|
// * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it)
|
|
// */
|
|
//public class AddedResourcesSummary extends Composite{
|
|
//
|
|
// private static AddedResourcesSummaryUiBinder uiBinder = GWT
|
|
// .create(AddedResourcesSummaryUiBinder.class);
|
|
//
|
|
// interface AddedResourcesSummaryUiBinder extends
|
|
// UiBinder<Widget, AddedResourcesSummary> {
|
|
// }
|
|
//
|
|
// //Create a remote service proxy to talk to the server-side ckan service.
|
|
// private final CKanPublisherServiceAsync ckanServices = GWT.create(CKanPublisherService.class);
|
|
//
|
|
// // Event bus
|
|
// private HandlerManager eventBus;
|
|
//
|
|
// // list of added resources (beans)
|
|
// List<ResourceElementBean> addedResources;
|
|
//
|
|
// @UiField VerticalPanel addResourcesPanel;
|
|
//
|
|
// public AddedResourcesSummary(HandlerManager eventBus) {
|
|
// initWidget(uiBinder.createAndBindUi(this));
|
|
//
|
|
// // save bus
|
|
// this.eventBus = eventBus;
|
|
//
|
|
// // bind on add resource event
|
|
// bind();
|
|
//
|
|
// // init list
|
|
// addedResources = new ArrayList<ResourceElementBean>();
|
|
// }
|
|
//
|
|
// /**
|
|
// * Bind on add/delete resource event
|
|
// */
|
|
// private void bind() {
|
|
//
|
|
// // when a new resource is added
|
|
// eventBus.addHandler(AddResourceEvent.TYPE, new AddResourceEventHandler() {
|
|
//
|
|
// @Override
|
|
// public void onAddedResource(AddResourceEvent addResourceEvent) {
|
|
//
|
|
// // get the resource
|
|
// final ResourceElementBean justAddedResource = addResourceEvent.getResource();
|
|
//
|
|
// // Build an accordion to show resource info
|
|
// Accordion accordion = new Accordion();
|
|
// AccordionGroup accordionGroup = new AccordionGroup();
|
|
// accordionGroup.setHeading("- " + justAddedResource.getName());
|
|
// accordion.add(accordionGroup);
|
|
//
|
|
// // add sub-info such as url and description
|
|
// Paragraph pUrl = new Paragraph();
|
|
// pUrl.setText("Url : " + justAddedResource.getUrl());
|
|
// Paragraph pDescription = new Paragraph();
|
|
// pDescription.setText("Description : " + justAddedResource.getDescription());
|
|
//
|
|
// // button to delete the resource
|
|
// Button deleteButton = new Button();
|
|
// deleteButton.setText("Delete");
|
|
// deleteButton.addClickHandler(new ClickHandler() {
|
|
//
|
|
// @Override
|
|
// public void onClick(ClickEvent event) {
|
|
//
|
|
// eventBus.fireEvent(new DeleteResourceEvent(justAddedResource));
|
|
//
|
|
// }
|
|
// });
|
|
//
|
|
// // fill accordion
|
|
// accordionGroup.add(pUrl);
|
|
// accordionGroup.add(pDescription);
|
|
// accordionGroup.add(deleteButton);
|
|
//
|
|
// // add to the list
|
|
// addedResources.add(justAddedResource);
|
|
//
|
|
// // add to the panel
|
|
// addResourcesPanel.add(accordion);
|
|
// }
|
|
// });
|
|
//
|
|
// // when the user wants to delete a resource
|
|
// eventBus.addHandler(DeleteResourceEvent.TYPE, new DeleteResourceEventHandler() {
|
|
//
|
|
// @Override
|
|
// public void onDeletedResource(DeleteResourceEvent deleteResourceEvent) {
|
|
//
|
|
// // to delete
|
|
// ResourceElementBean toDelete = deleteResourceEvent.getResource();
|
|
//
|
|
// // find it
|
|
// for(int i = 0; i < addedResources.size(); i++){
|
|
//
|
|
// if(addedResources.get(i).getOriginalIdInWorkspace().equals(toDelete.getOriginalIdInWorkspace())){
|
|
//
|
|
// // get the associated widget and remove it
|
|
// final Widget widget = addResourcesPanel.getWidget(i);
|
|
//
|
|
// // remote call to remove it from the dataset
|
|
// ckanServices.deleteResourceFromDataset(toDelete, new AsyncCallback<Boolean>() {
|
|
//
|
|
// @Override
|
|
// public void onSuccess(Boolean result) {
|
|
//
|
|
// if(result)
|
|
// widget.removeFromParent();
|
|
// }
|
|
//
|
|
// @Override
|
|
// public void onFailure(Throwable caught) {
|
|
//
|
|
// }
|
|
// });
|
|
//
|
|
// break;
|
|
// }
|
|
// }
|
|
//
|
|
// // remove from the list
|
|
// addedResources.remove(toDelete);
|
|
// }
|
|
// });
|
|
// }
|
|
//}
|