106 lines
3.3 KiB
Java
106 lines
3.3 KiB
Java
package org.gcube.portlets.user.geoportaldataentry.client.ui;
|
|
|
|
import org.gcube.application.geoportalcommon.shared.products.ConcessioneDV;
|
|
import org.gcube.portlets.user.geoportaldataentry.client.events.PublishUnPublishProjectEvent;
|
|
import org.gcube.portlets.user.geoportaldataentry.shared.PUBLISHING_UNPUBLISHING_OPERATION;
|
|
|
|
import com.github.gwtbootstrap.client.ui.AlertBlock;
|
|
import com.github.gwtbootstrap.client.ui.Button;
|
|
import com.github.gwtbootstrap.client.ui.ListBox;
|
|
import com.github.gwtbootstrap.client.ui.TextBox;
|
|
import com.google.gwt.core.client.GWT;
|
|
import com.google.gwt.event.dom.client.ChangeEvent;
|
|
import com.google.gwt.event.dom.client.ChangeHandler;
|
|
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.ui.Composite;
|
|
import com.google.gwt.user.client.ui.Widget;
|
|
|
|
/**
|
|
* The Class PublishUnPublishOperationPanel.
|
|
*
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
*
|
|
* Jun 1, 2022
|
|
*/
|
|
public class PublishUnPublishOperationPanel extends Composite {
|
|
|
|
@UiField
|
|
TextBox projectNameTextBox;
|
|
|
|
@UiField
|
|
AlertBlock infoBlock;
|
|
|
|
@UiField
|
|
AlertBlock infoProjectName;
|
|
|
|
@UiField
|
|
Button submitButton;
|
|
|
|
@UiField
|
|
ListBox listBoxPublisUnPublish;
|
|
|
|
private HandlerManager appManagerBus;
|
|
|
|
private ConcessioneDV selectedProject;
|
|
|
|
private static PublishUnPublishOperationPanelUiBinder uiBinder = GWT
|
|
.create(PublishUnPublishOperationPanelUiBinder.class);
|
|
|
|
/**
|
|
* The Interface PublishUnPublishOperationPanelUiBinder.
|
|
*
|
|
* @author Francesco Mangiacrapa at ISTI-CNR francesco.mangiacrapa@isti.cnr.it
|
|
*
|
|
* Jun 1, 2022
|
|
*/
|
|
interface PublishUnPublishOperationPanelUiBinder extends UiBinder<Widget, PublishUnPublishOperationPanel> {
|
|
}
|
|
|
|
/**
|
|
* Instantiates a new publish un publish operation panel.
|
|
*
|
|
* @param eventBus the event bus
|
|
* @param concessione the concessione
|
|
*/
|
|
public PublishUnPublishOperationPanel(HandlerManager eventBus, ConcessioneDV concessione) {
|
|
initWidget(uiBinder.createAndBindUi(this));
|
|
this.appManagerBus = eventBus;
|
|
this.selectedProject = concessione;
|
|
infoProjectName.setText(selectedProject.getNome());
|
|
projectNameTextBox.setText(selectedProject.getNome());
|
|
projectNameTextBox.setEnabled(false);
|
|
|
|
listBoxPublisUnPublish.addItem(PUBLISHING_UNPUBLISHING_OPERATION.PUBLISH.name(),
|
|
PUBLISHING_UNPUBLISHING_OPERATION.PUBLISH.getTitle());
|
|
listBoxPublisUnPublish.addItem(PUBLISHING_UNPUBLISHING_OPERATION.UNPUBLISH.name(),
|
|
PUBLISHING_UNPUBLISHING_OPERATION.UNPUBLISH.getTitle());
|
|
|
|
submitButton.setText("Confirm " + listBoxPublisUnPublish.getSelectedValue());
|
|
|
|
listBoxPublisUnPublish.addChangeHandler(new ChangeHandler() {
|
|
|
|
@Override
|
|
public void onChange(ChangeEvent event) {
|
|
submitButton.setText("Confirm " + listBoxPublisUnPublish.getSelectedValue());
|
|
|
|
}
|
|
});
|
|
|
|
submitButton.addClickHandler(new ClickHandler() {
|
|
|
|
@Override
|
|
public void onClick(ClickEvent event) {
|
|
appManagerBus.fireEvent(new PublishUnPublishProjectEvent(selectedProject,
|
|
PUBLISHING_UNPUBLISHING_OPERATION.valueOf(listBoxPublisUnPublish.getSelectedValue().toUpperCase())));
|
|
submitButton.setEnabled(false);
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|