super(id);
setMultiPart(true);
final FeedbackPanel feedbackPanel = new FeedbackPanel("feedback");
feedbackPanel.setOutputMarkupId(true);
add(feedbackPanel);
final FileUploadField fileUploadField = new FileUploadField("fileUploadField");
fileUploadField.setRequired(true);
add(fileUploadField);
final IModel<Integer> resultSizeModel = new Model<Integer>(settings.getResultImageWidth());
final TextField<Integer> resultSize = new TextField<Integer>("resultSize", resultSizeModel, Integer.class) {
private static final long serialVersionUID = 1L;
@Override
public boolean isEnabled() {
return !settings.isResultImageSizeNoChange() && settings.isResultImageSizeEditable();
};
};
resultSize.setOutputMarkupId(true);
add(resultSize.setRequired(true));
add(new AjaxCheckBox("resultImageSizeNoChange", new Model<Boolean>(settings.isResultImageSizeNoChange())) {
private static final long serialVersionUID = 1L;
@Override
protected void onUpdate(AjaxRequestTarget target) {
settings.setResultImageSizeNoChange(!settings.isResultImageSizeNoChange());
target.addComponent(resultSize);
}
@Override
public boolean isEnabled() {
return settings.isResultImageSizeEditable();
};
});
add(new AjaxSubmitLink("submit") {
private static final long serialVersionUID = 1L;
@Override
protected void onSubmit(AjaxRequestTarget target, Form<?> form) {
try {
settings.setResultImageWidth(resultSizeModel.getObject());
settings.setResultImageHeight(resultSizeModel.getObject());
FileUpload fileUpload = fileUploadField.getFileUpload();
fileName = fileUpload.getClientFileName();
mimeType = fileUpload.getContentType();
InputStream inputStream = createThumbnail(fileUpload.getInputStream(), prevImgWidth,
prevImgHeight, false);
File file = File.createTempFile(UUID.randomUUID().toString(), null);