ckan-metadata-publisher-widget/src/main/java/org/gcube/portlets/widgets/ckandatapublisherwidget/client/ui/workspace/SelectResourceWidget.java

79 lines
1.9 KiB
Java

package org.gcube.portlets.widgets.ckandatapublisherwidget.client.ui.workspace;
import org.gcube.portlets.widgets.ckandatapublisherwidget.shared.ResourceElementBean;
import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.constants.ButtonType;
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.uibinder.client.UiBinder;
import com.google.gwt.uibinder.client.UiField;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.Widget;
public class SelectResourceWidget extends Composite {
private static SelectResourceWidgetUiBinder uiBinder = GWT.create(SelectResourceWidgetUiBinder.class);
interface SelectResourceWidgetUiBinder extends UiBinder<Widget, SelectResourceWidget> {
}
public SelectResourceWidget() {
initWidget(uiBinder.createAndBindUi(this));
}
@UiField
Button buttonDelete;
@UiField
Button buttonEdit;
@UiField
Label fieldName;
private ResourceElementBean resourceBean;
public SelectResourceWidget(ResourceElementBean rb) {
initWidget(uiBinder.createAndBindUi(this));
this.resourceBean = rb;
this.fieldName.setText(rb.getEditableName());
buttonEdit.setType(ButtonType.LINK);
buttonDelete.setType(ButtonType.LINK);
addHandlers();
}
private void addHandlers() {
buttonEdit.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
SelectResourceByWEMainPanel.eventBus.fireEvent(new EditPublishingResourceEvent(resourceBean));
}
});
buttonDelete.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
SelectResourceByWEMainPanel.eventBus.fireEvent(new RemovePublishingResourceEvent(resourceBean));
}
});
}
public ResourceElementBean getResourceBean() {
return resourceBean;
}
}