2016-05-03 18:03:00 +02:00
|
|
|
package org.gcube.portlets.user.dataminermanager.client.parametersfield;
|
|
|
|
|
|
|
|
import org.gcube.portlets.user.dataminermanager.client.DataMinerManager;
|
2018-05-03 16:24:26 +02:00
|
|
|
import org.gcube.data.analysis.dataminermanagercl.shared.parameters.ObjectParameter;
|
2016-05-03 18:03:00 +02:00
|
|
|
|
|
|
|
import com.sencha.gxt.core.client.util.Margins;
|
|
|
|
import com.sencha.gxt.widget.core.client.button.TextButton;
|
|
|
|
import com.sencha.gxt.widget.core.client.container.HBoxLayoutContainer;
|
|
|
|
import com.sencha.gxt.widget.core.client.event.SelectEvent;
|
|
|
|
import com.sencha.gxt.widget.core.client.form.TextField;
|
|
|
|
|
|
|
|
/**
|
|
|
|
*
|
|
|
|
* @author Giancarlo Panichi
|
2017-05-12 11:58:15 +02:00
|
|
|
*
|
2016-05-03 18:03:00 +02:00
|
|
|
*
|
|
|
|
*/
|
|
|
|
public class StringItem extends HBoxLayoutContainer {
|
|
|
|
private ListStringFld parent;
|
|
|
|
private TextField field;
|
|
|
|
private TextButton addBtn;
|
|
|
|
private TextButton removeBtn;
|
|
|
|
|
|
|
|
/**
|
2017-05-12 11:58:15 +02:00
|
|
|
*
|
|
|
|
* @param parent parend
|
|
|
|
* @param objectParameter object parameter
|
|
|
|
* @param first true if is first
|
2016-05-03 18:03:00 +02:00
|
|
|
*/
|
|
|
|
public StringItem(ListStringFld parent, ObjectParameter objectParameter, boolean first) {
|
|
|
|
super();
|
|
|
|
this.parent=parent;
|
|
|
|
create(objectParameter,first);
|
|
|
|
}
|
|
|
|
|
|
|
|
private void create( ObjectParameter objectParameter, boolean first){
|
|
|
|
field = new TextField();
|
|
|
|
field.setAllowBlank(false);
|
|
|
|
|
2022-11-16 17:48:47 +01:00
|
|
|
if(objectParameter!=null && objectParameter.getDefaultValue()!=null &&
|
|
|
|
!objectParameter.getDefaultValue().isEmpty()) {
|
|
|
|
field.setValue(objectParameter.getDefaultValue());
|
|
|
|
}
|
|
|
|
|
2016-05-03 18:03:00 +02:00
|
|
|
addBtn = new TextButton("");
|
|
|
|
|
|
|
|
addBtn.setIcon(DataMinerManager.resources.add());
|
|
|
|
|
|
|
|
addBtn.addSelectHandler(new SelectEvent.SelectHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSelect(SelectEvent event) {
|
|
|
|
parent.addField(StringItem.this);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
removeBtn = new TextButton("");
|
|
|
|
|
|
|
|
removeBtn.setIcon(DataMinerManager.resources.cancel());
|
|
|
|
|
|
|
|
removeBtn.addSelectHandler(new SelectEvent.SelectHandler() {
|
|
|
|
|
|
|
|
@Override
|
|
|
|
public void onSelect(SelectEvent event) {
|
|
|
|
parent.removeField(StringItem.this);
|
|
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
removeBtn.setVisible(!first);
|
|
|
|
|
|
|
|
setPack(BoxLayoutPack.START);
|
|
|
|
setEnableOverflow(false);
|
|
|
|
add(field, new BoxLayoutData(new Margins()));
|
|
|
|
add(addBtn, new BoxLayoutData(new Margins()));
|
|
|
|
add(removeBtn, new BoxLayoutData(new Margins()));
|
|
|
|
|
|
|
|
forceLayout();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void showCancelButton() {
|
|
|
|
removeBtn.setVisible(true);
|
|
|
|
}
|
|
|
|
|
|
|
|
public void hideCancelButton() {
|
|
|
|
removeBtn.setVisible(false);
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getValue() {
|
|
|
|
return field.getCurrentValue();
|
|
|
|
}
|
|
|
|
|
|
|
|
public boolean isValid() {
|
|
|
|
return field.isValid();
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|