Jacques,
I was wondering too if we should keep the screenlet
navigation-form-name attribute.
Pagination should be available to the user always in the same way in
order to have a consistent UI.
-Bruno

2008/12/25  <[email protected]>:
> Author: jleroux
> Date: Thu Dec 25 00:30:30 2008
> New Revision: 729402
>
> URL: http://svn.apache.org/viewvc?rev=729402&view=rev
> Log:
> Fix an issue introduced in  r725053. This commit managed  "multi-pagination 
> in a page" see https://issues.apache.org/jira/browse/OFBIZ-1935
> This is a quick fix. I wonder if we should keep the screenlet 
> navigation-form-name attribute (at least as is). This for 2 reasons:
> . Less informations/features than with default (pages numbers, ability to 
> jump to any page)
> . The last button does not always work (try with 
> widget.form.defaultViewSize=2 when listing invoices)
>
> On the other hand it's cool to have all informations in the screenlet. But 
> then we should extend it to work for the 2 points above
>
> Modified:
>    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
>    
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
>
> Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java?rev=729402&r1=729401&r2=729402&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java 
> (original)
> +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidget.java Thu 
> Dec 25 00:30:30 2008
> @@ -23,6 +23,7 @@
>  import org.w3c.dom.Element;
>  import org.ofbiz.base.util.UtilGenerics;
>  import org.ofbiz.base.util.UtilProperties;
> +import org.ofbiz.base.util.UtilValidate;
>
>  /**
>  * Widget Library - Widget model class. ModelWidget is a base class that is
> @@ -130,8 +131,13 @@
>     public void incrementPaginatorNumber(Map<String, Object> context) {
>         Map<String, Object> globalCtx = 
> UtilGenerics.checkMap(context.get("globalContext"));
>         if (globalCtx != null) {
> -            Integer paginateNumberInt = 
> Integer.valueOf(getPaginatorNumber(context) + 1);
> -            globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt);
> +            Boolean NO_PAGINATOR = (Boolean) globalCtx.get("NO_PAGINATOR");
> +            if (UtilValidate.isNotEmpty(NO_PAGINATOR)) {
> +                globalCtx.remove("NO_PAGINATOR");
> +            } else {
> +                Integer paginateNumberInt = 
> Integer.valueOf(getPaginatorNumber(context) + 1);
> +                globalCtx.put("PAGINATOR_NUMBER", paginateNumberInt);
> +            }
>         }
>     }
>
>
> Modified: 
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
> URL: 
> http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java?rev=729402&r1=729401&r2=729402&view=diff
> ==============================================================================
> --- 
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
>  (original)
> +++ 
> ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java
>  Thu Dec 25 00:30:30 2008
> @@ -246,7 +246,7 @@
>         }
>
>         // get the parametrized pagination index and size fields
> -        int paginatoNumber = modelForm.getPaginatorNumber(context);
> +        int paginatorNumber = modelForm.getPaginatorNumber(context);
>         String viewIndexParam = modelForm.getPaginateIndexField(context);
>         String viewSizeParam = modelForm.getPaginateSizeField(context);
>
> @@ -272,8 +272,8 @@
>         }
>
>         // for legacy support, the viewSizeParam is VIEW_SIZE and 
> viewIndexParam is VIEW_INDEX when the fields are "viewSize" and "viewIndex"
> -        if (viewIndexParam.equals("viewIndex" + "_" + paginatoNumber)) 
> viewIndexParam = "VIEW_INDEX" + "_" + paginatoNumber;
> -        if (viewSizeParam.equals("viewSize" + "_" + paginatoNumber)) 
> viewSizeParam = "VIEW_SIZE" + "_" + paginatoNumber;
> +        if (viewIndexParam.equals("viewIndex" + "_" + paginatorNumber)) 
> viewIndexParam = "VIEW_INDEX" + "_" + paginatorNumber;
> +        if (viewSizeParam.equals("viewSize" + "_" + paginatorNumber)) 
> viewSizeParam = "VIEW_SIZE" + "_" + paginatorNumber;
>
>         ServletContext ctx = (ServletContext) 
> request.getAttribute("servletContext");
>         RequestHandler rh = (RequestHandler) 
> ctx.getAttribute("_REQUEST_HANDLER_");
> @@ -285,7 +285,7 @@
>         }
>         String queryString = UtilHttp.urlEncodeArgs(inputFields);
>         // strip legacy viewIndex/viewSize params from the query string
> -        queryString = UtilHttp.stripViewParamsFromQueryString(queryString, 
> "" + paginatoNumber);
> +        queryString = UtilHttp.stripViewParamsFromQueryString(queryString, 
> "" + paginatorNumber);
>         // strip parametrized index/size params from the query string
>         HashSet<String> paramNames = new HashSet<String>();
>         paramNames.add(viewIndexParam);
> @@ -382,6 +382,8 @@
>             HttpServletRequest request = (HttpServletRequest) 
> context.get("request");
>             HttpServletResponse response = (HttpServletResponse) 
> context.get("response");
>             if (request != null && response != null) {
> +                Map<String, Object> globalCtx = 
> UtilGenerics.checkMap(context.get("globalContext"));
> +                globalCtx.put("NO_PAGINATOR", true);
>                 FormStringRenderer savedRenderer = (FormStringRenderer) 
> context.get("formStringRenderer");
>                 HtmlFormRenderer renderer = new HtmlFormRenderer(request, 
> response);
>                 renderer.setRenderPagination(false);
>
>
>

Reply via email to