You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2013/06/12 21:15:05 UTC

[2/4] git commit: Tighten up the code

Tighten up the code


Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/a083f0c2
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/a083f0c2
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/a083f0c2

Branch: refs/heads/master
Commit: a083f0c2f336f6551e1526ebdabb4f216de6e43d
Parents: a9bdf41
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Tue Jun 11 08:15:43 2013 -0700
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Tue Jun 11 08:15:43 2013 -0700

----------------------------------------------------------------------
 .../META-INF/modules/t5/core/palette.coffee     | 42 +++++++-------------
 1 file changed, 14 insertions(+), 28 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/a083f0c2/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/palette.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/palette.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/palette.coffee
index f119496..5c112f3 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/palette.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/t5/core/palette.coffee
@@ -176,22 +176,29 @@ define ["./dom", "underscore", "./events"],
       # didUpdate events.
       reorderSelected: (options) ->
 
-        canceled = false
-
+        @performUpdate true, options, =>
 
-        doUpdate = =>
           @deleteOptions @selected
 
           for o in options
             @selected.element.add o, null
 
-          @selected.trigger events.palette.didChange, memo
+      # Performs the update, which includes the willChange and didChange events.
+      performUpdate: (isReorder, selectedOptions, updateCallback) ->
+
+        canceled = false
+        selectedValues = _.pluck selectedOptions, "value"
+
+        doUpdate = =>
+          updateCallback()
+
+          @selected.trigger events.palette.didChange, { selectedValues }
 
           @updateAfterChange()
 
         memo =
-          selectedValues: _.pluck options, "value"
-          reorder: true
+          selectedValues: selectedValues
+          reorder: isReorder
           cancel: -> canceled = true
           defer: ->
             canceled = true
@@ -226,9 +233,7 @@ define ["./dom", "underscore", "./events"],
 
         selectedOptions = if to is @selected then toOptions else fromOptions
 
-        canceled = false
-
-        doUpdate = =>
+        @performUpdate false, selectedOptions, =>
           for i in [(from.element.length - 1)..0] by -1
             if from.element.options[i].selected
               from.element.remove i
@@ -242,25 +247,6 @@ define ["./dom", "underscore", "./events"],
           for o in toOptions
             to.element.add o, null
 
-          @selected.trigger events.palette.didChange, memo
-
-          @updateAfterChange()
-
-        memo =
-          selectedValues: _.pluck selectedOptions, "value"
-          reorder: false
-          cancel: -> canceled = true
-          defer: ->
-            canceled = true
-            return doUpdate
-
-        @selected.trigger events.palette.willChange, memo
-
-        doUpdate() unless canceled
-
-        # Remove the movers (the selected from elements):
-
-
       insertOption: (options, option, atEnd) ->
 
         unless atEnd