protected void encodeScript(FacesContext context, FileUpload fileUpload) throws IOException { String clientId = fileUpload.getClientId(context); String update = fileUpload.getUpdate(); String process = fileUpload.getProcess(); WidgetBuilder wb = getWidgetBuilder(context); if (fileUpload.getMode().equals("advanced")) { wb.initWithDomReady("FileUpload", fileUpload.resolveWidgetVar(), clientId); wb.attr("auto", fileUpload.isAuto(), false) .attr("dnd", fileUpload.isDragDropSupport(), true) .attr( "update", SearchExpressionFacade.resolveClientIds( context, fileUpload, update, SearchExpressionFacade.Options.VISIT_UNRENDERED), null) .attr( "process", SearchExpressionFacade.resolveClientIds( context, fileUpload, process, SearchExpressionFacade.Options.VISIT_UNRENDERED), null) .attr("maxFileSize", fileUpload.getSizeLimit(), Long.MAX_VALUE) .attr("fileLimit", fileUpload.getFileLimit(), Integer.MAX_VALUE) .attr("invalidFileMessage", fileUpload.getInvalidFileMessage(), null) .attr("invalidSizeMessage", fileUpload.getInvalidSizeMessage(), null) .attr("fileLimitMessage", fileUpload.getFileLimitMessage(), null) .attr("messageTemplate", fileUpload.getMessageTemplate(), null) .attr("previewWidth", fileUpload.getPreviewWidth(), 80) .attr("disabled", fileUpload.isDisabled(), false) .attr("sequentialUploads", fileUpload.isSequential(), false) .callback("onstart", "function()", fileUpload.getOnstart()) .callback("onerror", "function()", fileUpload.getOnerror()) .callback("oncomplete", "function(args)", fileUpload.getOncomplete()); if (fileUpload.getAllowTypes() != null) { wb.append(",allowTypes:").append(fileUpload.getAllowTypes()); } } else { wb.init("SimpleFileUpload", fileUpload.resolveWidgetVar(), clientId) .attr("skinSimple", fileUpload.isSkinSimple(), false); } wb.finish(); }