package hudson.gwtmarketplace.client.pages.product;
import hudson.gwtmarketplace.client.model.Product;
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.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.FileUpload;
import com.google.gwt.user.client.ui.FormPanel;
import com.google.gwt.user.client.ui.FormPanel.SubmitCompleteHandler;
import com.google.gwt.user.client.ui.Hidden;
public class ProductImageUploadPanel extends Composite implements ChangeHandler {
interface MyUiBinder extends UiBinder<FormPanel, ProductImageUploadPanel> {
}
private static MyUiBinder uiBinder = GWT.create(MyUiBinder.class);
FormPanel formPanel;
@UiField
Hidden imageUploadKey;
@UiField
FileUpload fileUpload;
public ProductImageUploadPanel(Product product, SubmitCompleteHandler handler) {
formPanel = uiBinder.createAndBindUi(this);
initWidget(formPanel);
imageUploadKey.setValue(product.getId().toString());
formPanel.addSubmitCompleteHandler(handler);
fileUpload.addChangeHandler(this);
}
@Override
public void onChange(ChangeEvent event) {
if (null != fileUpload.getFilename() && fileUpload.getFilename().length() > 0) {
setVisible(false);
formPanel.submit();
}
}
}