Uploaded image for project: 'Tapestry 5'
  1. Tapestry 5
  2. TAP5-835

Palette keeps resetting order of selected values on page reload


    • Type: Bug
    • Status: Closed
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 5.3, 5.2.0, 5.2.1, 5.2.2, 5.2.3, 5.2.4, 5.2.5,,,, 5.0.18
    • Fix Version/s: 5.3
    • Component/s: tapestry-core
    • Labels:
    • Environment:
      affects Tapestry versions 5.0.x.x, 5.2.x and the current 5.3 version regardless of OS/browser


      I'm experiencing a problem with tapestry's palette component. I'm using it with the reorder parameter set to true. Reordering the
      selected values works fine and the values are sent to the server in the expected order. However, if the page reloads and I submit the
      containing form again without changing the palette's values, the original order is restored and sent to the server resetting the
      previously arranged order.
      AFAICT, this relates to the hidden form field used by the palette and the updateHidden Javascript method. This method is called whenever the
      order of the selected options is changed. It is not called however when the Palette object is instantiated, so the hidden field keeps the
      sorting that comes from the server.
      I believe, this could be fixed by calling the updateHidden method at the end of the Tapestry.Palette.initialize method. The following patch
      does this:

      Index: palette.js
      — palette.js (Revision 755168)
      +++ palette.js (Arbeitskopie)
      @@ -45,6 +45,7 @@

      + this.updateHidden();

      bindEvents : function()




            • Assignee:
              hlship Howard M. Lewis Ship
              jkemnade Jochen Kemnade
            • Votes:
              3 Vote for this issue
              1 Start watching this issue


              • Created: