package com.venky.swf.views.controls.page.text;
import com.venky.core.util.ObjectUtil;
import com.venky.swf.db.annotations.column.ui.mimes.MimeType;
import com.venky.swf.views.controls.page.Image;
import com.venky.swf.views.controls.page.InputGroup;
import com.venky.swf.views.controls.page.Link;
import com.venky.swf.views.controls.page.layout.Span;
public class FileTextBox extends Input{
/**
*
*/
private static final long serialVersionUID = -3299839129375841151L;
public FileTextBox() {
super();
removeClass("form-control");
}
@Override
protected String getInputType() {
return "file";
}
@Override
public void setVisible(boolean visible){
super.setVisible(visible);
if (link != null){
link.setVisible(visible);
}
}
public void setContentType(String contentType){
setProperty("accept",contentType);
}
public void setContentType(MimeType contentType){
setContentType(contentType.toString());
}
public String getContentType(){
return getProperty("accept");
}
private Link link = null;
public void setStreamUrl(String url,String text){
link = new Link(url);
link.setVisible(isVisible());
if (getContentType() != null && getContentType().startsWith("image")){
Image image = new Image(url);
link.addControl(image);
}else {
if (ObjectUtil.isVoid(text)){
link.setText("here...");
}else {
link.setText(text);
}
}
link.addClass("stream");
}
public Link getStreamLink(){
return link;
}
public InputGroup getStylishVersion(){
if (this.getParent() != null){
throw new RuntimeException("Must call before adding to another control");
}
InputGroup ig = new InputGroup();
Span fakeButtonGroup = new Span();
fakeButtonGroup.addClass("input-group-btn");
ig.addControl(fakeButtonGroup);
Span fakeButton = new Span();
fakeButton.addClass("btn btn-default btn-file");
fakeButton.setText("Browse...");
fakeButtonGroup.addControl(fakeButton);
fakeButton.addControl(this);
fakeButton.setEnabled(this.isEnabled());
TextBox faketextBox = new TextBox();
faketextBox.setReadOnly(true);
faketextBox.setEnabled(this.isEnabled());
ig.addControl(faketextBox);
return ig;
}
}