ws-task-executor-widget/src/main/java/org/gcube/portlets/widgets/wstaskexecutor/client/view/binder/ShowTaskConfigurationsView....

134 lines
4.8 KiB
Java

/**
*
*/
package org.gcube.portlets.widgets.wstaskexecutor.client.view.binder;
import java.util.List;
import org.gcube.common.workspacetaskexecutor.shared.dataminer.TaskConfiguration;
import org.gcube.portlets.widgets.wstaskexecutor.client.WsTaskExecutorWidget;
import org.gcube.portlets.widgets.wstaskexecutor.client.event.ShowCreateTaskConfigurationEvent;
import org.gcube.portlets.widgets.wstaskexecutor.shared.WSItem;
import com.github.gwtbootstrap.client.ui.Button;
import com.github.gwtbootstrap.client.ui.constants.IconType;
import com.google.gwt.core.client.GWT;
import com.google.gwt.dom.client.Style.Unit;
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.uibinder.client.UiHandler;
import com.google.gwt.user.client.ui.Composite;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Widget;
/**
*
* @author Francesco Mangiacrapa francesco.mangiacrapa@isti.cnr.it
* May 9, 2018
*/
public class ShowTaskConfigurationsView extends Composite {
private static ShowTaskConfigurationViewUiBinder uiBinder =
GWT.create(ShowTaskConfigurationViewUiBinder.class);
interface ShowTaskConfigurationViewUiBinder
extends UiBinder<Widget, ShowTaskConfigurationsView> {
}
@UiField
Button butt_CreateNewConfiguration;
@UiField
FlexTable flex_table_configurations;
private WSItem folder;
/**
* Because this class has a default constructor, it can
* be used as a binder template. In other words, it can be used in other
* *.ui.xml files as follows:
* <ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder"
* xmlns:g="urn:import:**user's package**">
* <g:**UserClassName**>Hello!</g:**UserClassName>
* </ui:UiBinder>
* Note that depending on the widget that is used, it may be necessary to
* implement HasHTML instead of HasText.
*/
public ShowTaskConfigurationsView(WSItem folder, List<TaskConfiguration> listTaskConfigurations) {
this.folder = folder;
initWidget(uiBinder.createAndBindUi(this));
flex_table_configurations.setCellSpacing(4);
flex_table_configurations.getElement().getStyle().setMarginTop(10, Unit.PX);
flex_table_configurations.addStyleName("table-fixed");
//flex_table_configurations.setWidget(0, 0, new HTML("<b>Config Id<b>"));
flex_table_configurations.setWidget(0, 0, new HTML("<b>Algorithm Id<b>"));
flex_table_configurations.setWidget(0, 1, new HTML("<b>VRE<b>"));
flex_table_configurations.setWidget(0, 2, new HTML("<b>Owner<b>"));
flex_table_configurations.setWidget(0, 3, new HTML("<b>Oper.<b>"));
flex_table_configurations.setWidget(0, 4, new HTML("<b>Oper.<b>"));
//flex_table_configurations.getColumnFormatter().setWidth(0, "10%");
flex_table_configurations.getColumnFormatter().setWidth(0, "35%");
flex_table_configurations.getColumnFormatter().setWidth(1, "30%");
flex_table_configurations.getColumnFormatter().setWidth(2, "20%");
flex_table_configurations.getColumnFormatter().setWidth(3, "7%");
flex_table_configurations.getColumnFormatter().setWidth(4, "7%");
//flex_table_configurations.getColumnFormatter().setWidth(5, "7%");
// flt.setWidget(0, 1, new HTML("<b>Description<b>"));
for (int i = 0; i<listTaskConfigurations.size(); i++) {
final TaskConfiguration taskConfiguration = listTaskConfigurations.get(i);
//flex_table_configurations.setWidget(i+1, 0, new HTML(taskConfiguration.getConfigurationKey()));
flex_table_configurations.setWidget(i+1, 0, new HTML(taskConfiguration.getTaskId()));
flex_table_configurations.setWidget(i+1, 1, new HTML(taskConfiguration.getScope().substring(taskConfiguration.getScope().lastIndexOf("/")+1, taskConfiguration.getScope().length())));
flex_table_configurations.setWidget(i+1, 2, new HTML(taskConfiguration.getOwner()));
Button buttEdit = new Button();
buttEdit.setIcon(IconType.EDIT_SIGN);
//buttEdit.setType(ButtonType.LINK);
buttEdit.setTitle("Edit/Show the Configuration");
buttEdit.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
}
});
flex_table_configurations.setWidget(i+1, 3, buttEdit);
Button buttRemove = new Button();
buttRemove.setIcon(IconType.REMOVE_SIGN);
//buttRemove.setType(ButtonType.LINK);
buttRemove.setTitle("Delete the Configuration");
buttRemove.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
}
});
flex_table_configurations.setWidget(i+1, 4, buttRemove);
}
}
/**
* Adds the custom field event.
*
* @param e the e
*/
@UiHandler("butt_CreateNewConfiguration")
void addCustomFieldEvent(ClickEvent e){
WsTaskExecutorWidget.eventBus.fireEvent(new ShowCreateTaskConfigurationEvent(folder));
}
}