Skip to content
This repository has been archived by the owner on Jan 22, 2022. It is now read-only.

Commit

Permalink
Merge branch 'master' (early part) into 5.0.x
Browse files Browse the repository at this point in the history
  • Loading branch information
brunolmfg committed May 26, 2014
2 parents cd51263 + 4da837a commit 7a11af0
Show file tree
Hide file tree
Showing 7 changed files with 36 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ protected String buildOnclick(FacesContext context, Button button) {
onclick.append(userOnclick).append(";");
}

String onclickBehaviors = getEventBehaviors(context, button, "click");
String onclickBehaviors = getEventBehaviors(context, button, "click", null);
if(onclickBehaviors != null) {
onclick.append(onclickBehaviors).append(";");
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,17 +16,22 @@
package org.primefaces.component.commandlink;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.FacesException;
import javax.faces.component.UIComponent;
import javax.faces.component.behavior.ClientBehaviorContext;
import javax.faces.context.FacesContext;
import javax.faces.context.ResponseWriter;
import javax.faces.event.ActionEvent;
import org.primefaces.component.api.ClientBehaviorRenderingMode;
import org.primefaces.context.RequestContext;

import org.primefaces.renderkit.CoreRenderer;
import org.primefaces.util.CSVBuilder;
import org.primefaces.util.ComponentUtils;
import org.primefaces.util.Constants;
import org.primefaces.util.HTML;
import org.primefaces.util.SharedStringBuilder;

Expand Down Expand Up @@ -70,7 +75,8 @@ public void encodeEnd(FacesContext context, UIComponent component) throws IOExce
onclick.append(link.getOnclick()).append(";");
}

String onclickBehaviors = getEventBehaviors(context, link, "click");

String onclickBehaviors = getEventBehaviors(context, link, "click", null);
if(onclickBehaviors != null) {
onclick.append(onclickBehaviors);
}
Expand Down Expand Up @@ -111,7 +117,9 @@ public void encodeEnd(FacesContext context, UIComponent component) throws IOExce
writer.writeAttribute("onclick", onclick.toString(), "onclick");
}

String dialogReturnBehavior = getEventBehaviors(context, link, "dialogReturn");
List<ClientBehaviorContext.Parameter> behaviorParams = new ArrayList<ClientBehaviorContext.Parameter>();
behaviorParams.add(new ClientBehaviorContext.Parameter(Constants.CLIENT_BEHAVIOR_RENDERING_MODE, ClientBehaviorRenderingMode.UNOBSTRUSIVE));
String dialogReturnBehavior = getEventBehaviors(context, link, "dialogReturn", behaviorParams);
if(dialogReturnBehavior != null) {
writer.writeAttribute("data-dialogreturn", dialogReturnBehavior, null);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -80,18 +80,18 @@ public void encodeDynamicBody(FacesContext context, PanelGrid grid, int columns)
writer.writeAttribute("class", PanelGrid.ROW_CLASS, null);
writer.writeAttribute("role", "row", null);
}


String columnClass = (colMod < columnClasses.length) ? PanelGrid.CELL_CLASS + " " + columnClasses[colMod].trim() : PanelGrid.CELL_CLASS;
writer.startElement("td", null);
writer.writeAttribute("role", "gridcell", null);
writer.writeAttribute("class", columnClass, null);
if(child.isRendered()) {
String columnClass = (colMod < columnClasses.length) ? PanelGrid.CELL_CLASS + " " + columnClasses[colMod].trim() : PanelGrid.CELL_CLASS;
writer.startElement("td", null);
writer.writeAttribute("role", "gridcell", null);
writer.writeAttribute("class", columnClass, null);
child.encodeAll(context);
writer.endElement("td");

i++;
colMod = i % columns;
}
writer.endElement("td");

i++;
colMod = i % columns;

if(colMod == 0) {
writer.endElement("tr");
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ protected String buildOnclick(FacesContext context, SplitButton button) throws I
onclick.append(buildNonAjaxRequest(context, button, form, null, false));
}

String onclickBehaviors = getEventBehaviors(context, button, "click");
String onclickBehaviors = getEventBehaviors(context, button, "click", null);
if(onclickBehaviors != null) {
onclick.append(onclickBehaviors).append(";");
}
Expand Down
9 changes: 7 additions & 2 deletions src/main/java/org/primefaces/renderkit/CoreRenderer.java
Original file line number Diff line number Diff line change
Expand Up @@ -562,14 +562,19 @@ protected String escapeText(String text) {
return sb.toString();
}

protected String getEventBehaviors(FacesContext context, ClientBehaviorHolder cbh, String event) {
protected String getEventBehaviors(FacesContext context, ClientBehaviorHolder cbh, String event, List<ClientBehaviorContext.Parameter> parameters) {
List<ClientBehavior> behaviors = cbh.getClientBehaviors().get(event);
StringBuilder sb = SharedStringBuilder.get(context, SB_GET_EVENT_BEHAVIORS);

if(behaviors != null && !behaviors.isEmpty()) {
UIComponent component = (UIComponent) cbh;
String clientId = component.getClientId(context);
List<ClientBehaviorContext.Parameter> params = Collections.emptyList();
List<ClientBehaviorContext.Parameter> params;
if(parameters != null && !parameters.isEmpty()) {
params = parameters;
} else {
params = Collections.emptyList();
}

for (int i = 0; i < behaviors.size(); i++) {
ClientBehavior behavior = behaviors.get(i);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,9 @@
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.fileupload.disk.DiskFileItemFactory;
import org.apache.commons.fileupload.servlet.FileCleanerCleanup;
import org.apache.commons.fileupload.servlet.ServletFileUpload;
import org.apache.commons.io.FileCleaningTracker;
import org.primefaces.util.Constants;
import org.primefaces.webapp.MultipartRequest;

Expand Down Expand Up @@ -85,6 +87,11 @@ public void doFilter(ServletRequest request, ServletResponse response, FilterCha
if(uploadDir != null) {
diskFileItemFactory.setRepository(new File(uploadDir));
}

FileCleaningTracker fileCleaningTracker = FileCleanerCleanup.getFileCleaningTracker(request.getServletContext());
if(fileCleaningTracker != null) {
diskFileItemFactory.setFileCleaningTracker(fileCleaningTracker);
}

ServletFileUpload servletFileUpload = new ServletFileUpload(diskFileItemFactory);
MultipartRequest multipartRequest = new MultipartRequest(httpServletRequest, servletFileUpload);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ PrimeFaces.dialog.DialogHandler = {
else if(sourceComponentId) {
var dialogReturnBehaviorStr = $(document.getElementById(sourceComponentId)).data('dialogreturn');
if(dialogReturnBehaviorStr) {
dialogReturnBehavior = eval('(function(){' + dialogReturnBehaviorStr + '})');
dialogReturnBehavior = eval('(function(ext){' + dialogReturnBehaviorStr + '})');
}

}
Expand Down

0 comments on commit 7a11af0

Please sign in to comment.