From d52aca45e0357b5597e13d9b74998abb75fabea5 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 16 Feb 2012 10:54:48 -0800 Subject: integrating the latest montage fixes for v0.6 into master Signed-off-by: Valerio Virgillito --- .../montage/ui/range-input.reel/range-input.js | 48 ++++++++++++++++++---- 1 file changed, 40 insertions(+), 8 deletions(-) (limited to 'node_modules/montage/ui/range-input.reel/range-input.js') diff --git a/node_modules/montage/ui/range-input.reel/range-input.js b/node_modules/montage/ui/range-input.reel/range-input.js index 0c247603..e97c2de9 100644 --- a/node_modules/montage/ui/range-input.reel/range-input.js +++ b/node_modules/montage/ui/range-input.reel/range-input.js @@ -3,22 +3,54 @@ No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. */ +/*global require,exports */ var Montage = require("montage").Montage, Component = require("ui/component").Component, - TextInput = require("ui/text-input").TextInput; + TextInput = require("ui/text-input").TextInput, + PressComposer = require("ui/composer/press-composer").PressComposer; + /** * The input type="range" field */ var RangeInput = exports.RangeInput = Montage.create(TextInput, { + prepareForActivationEvents: { + value: function() { + var pressComposer = PressComposer.create(); + pressComposer.delegate = this; + this.addComposer(pressComposer); + pressComposer.addEventListener("pressstart", this, false); + pressComposer.addEventListener("press", this, false); + pressComposer.addEventListener("presscancel", this, false); + } + }, + + handlePressstart: { + value: function(e) { + var interactionStartEvent = document.createEvent("CustomEvent"); + interactionStartEvent.initCustomEvent("montage_range_interaction_start", true, true, null); + this.dispatchEvent(interactionStartEvent); + } + }, + + handlePress: { + value: function(e) { + var interactionEndEvent = document.createEvent("CustomEvent"); + interactionEndEvent.initCustomEvent("montage_range_interaction_end", true, true, null); + this.dispatchEvent(interactionEndEvent); + } + }, + surrenderPointer: { + value: function(pointer, composer) { + // If the user is sliding us then we do not want anyone using + // the pointer + return false; + } + } }); RangeInput.addAttributes({ - disabled: {dataType: 'boolean'}, - max: null, - min: null, - name: null, - readonly: {dataType: 'boolean'}, - required: {dataType: 'boolean'}, - step: null + max: {dataType: 'number'}, + min: {dataType: 'number'}, + step: null // number or 'any' }); -- cgit v1.2.3