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 2012/11/07 20:48:10 UTC
[8/12] git commit: Wire up double-click actions Remove some failures
to move options to/from selected list Update the buttons when either select
fires a "change" event
Wire up double-click actions
Remove some failures to move options to/from selected list
Update the buttons when either select fires a "change" event
Project: http://git-wip-us.apache.org/repos/asf/tapestry-5/repo
Commit: http://git-wip-us.apache.org/repos/asf/tapestry-5/commit/c2a7e3f8
Tree: http://git-wip-us.apache.org/repos/asf/tapestry-5/tree/c2a7e3f8
Diff: http://git-wip-us.apache.org/repos/asf/tapestry-5/diff/c2a7e3f8
Branch: refs/heads/5.4-js-rewrite
Commit: c2a7e3f858ec5dc83bd55f3ccbb946d39fe38181
Parents: b48e83e
Author: Howard M. Lewis Ship <hl...@apache.org>
Authored: Wed Nov 7 10:14:42 2012 -0800
Committer: Howard M. Lewis Ship <hl...@apache.org>
Committed: Wed Nov 7 10:14:42 2012 -0800
----------------------------------------------------------------------
.../META-INF/modules/core/palette.coffee | 38 ++++++++++----
1 files changed, 27 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/tapestry-5/blob/c2a7e3f8/tapestry-core/src/main/coffeescript/META-INF/modules/core/palette.coffee
----------------------------------------------------------------------
diff --git a/tapestry-core/src/main/coffeescript/META-INF/modules/core/palette.coffee b/tapestry-core/src/main/coffeescript/META-INF/modules/core/palette.coffee
index c257eeb..9bbb85f 100644
--- a/tapestry-core/src/main/coffeescript/META-INF/modules/core/palette.coffee
+++ b/tapestry-core/src/main/coffeescript/META-INF/modules/core/palette.coffee
@@ -21,15 +21,15 @@ define ["core/dom", "_"],
constructor: (id) ->
@selected = (dom id)
- container = @selected.findContainer ".t-palette"
- @available = container.findFirst ".t-palette-available select"
- @hidden = container.findFirst "input[type=hidden]"
+ @container = @selected.findContainer ".t-palette"
+ @available = @container.findFirst ".t-palette-available select"
+ @hidden = @container.findFirst "input[type=hidden]"
- @select = container.findFirst "[data-action=select]"
- @deselect = container.findFirst "[data-action=deselect]"
+ @select = @container.findFirst "[data-action=select]"
+ @deselect = @container.findFirst "[data-action=deselect]"
- @moveUp = container.findFirst "[data-action=move-up]"
- @moveDown = container.findFirst "[data-action=move-down]"
+ @moveUp = @container.findFirst "[data-action=move-up]"
+ @moveDown = @container.findFirst "[data-action=move-down]"
# Track where reorder is allowed based on whether the buttons actually exist
@reorder = @moveUp isnt null
@@ -70,18 +70,30 @@ define ["core/dom", "_"],
@selected.element.add option
updateHidden: ->
- values = _.pluck(this.selected, "value")
- hidden.value JSON.stringify values
+ values = _.pluck(@selected.element.options, "value")
+ @hidden.value JSON.stringify values
bindEvents: ->
+ @container.on "change", "select", =>
+ @updateButtons()
+ return false
+
@select.on "click", =>
@doSelect()
return false
+ @available.on "dblclick", =>
+ @doSelect()
+ return false
+
@deselect.on "click", =>
@doDeselect()
return false
+ @selected.on "dblclick", =>
+ @doDeselect()
+ return false
+
updateButtons: ->
@select.element.disabled = @available.element.selectedIndex < 0
@@ -93,6 +105,10 @@ define ["core/dom", "_"],
@moveUp.disabled = nothingSelected or @allSelectionsAtTop()
@moveDown.disabled = nothingSelected or @allSelectionsAtBottom()
+ doSelect: -> @transferOptions @available, @selected, @reorder
+
+ doDeselect: -> @transferOptions @selected, @available, false
+
transferOptions: (from, to, atEnd) ->
if from.element.selectedIndex is -1
return
@@ -111,7 +127,7 @@ define ["core/dom", "_"],
for i in [(e.length - 1)..(e.selectedIndex)] by -1
o = options[i]
if o.selected
- select.remove i
+ e.remove i
movers.unshift o
return movers
@@ -123,7 +139,7 @@ define ["core/dom", "_"],
@updateHidden()
@updateButtons()
- moveOptions: (option, to, atEnd) ->
+ moveOption: (option, to, atEnd) ->
before = null
unless atEnd