aboutsummaryrefslogtreecommitdiff
path: root/node_modules/montage/ui/composer
diff options
context:
space:
mode:
authorArmen Kesablyan2012-06-20 15:04:25 -0700
committerArmen Kesablyan2012-06-20 15:04:25 -0700
commitfc818d31de267d2b77fda3b3029ad38d48698be8 (patch)
tree122ebf54d3378578c1ded4d786ba3940d4a911d2 /node_modules/montage/ui/composer
parent120e31dcf1e11eed11ee430d77c438e7b073e9f8 (diff)
parentc9852665eadc1acb9c1c881d207c4bd9ef88805f (diff)
downloadninja-fc818d31de267d2b77fda3b3029ad38d48698be8.tar.gz
Merge branch 'master' of github.com:Motorola-Mobility/ninja-internal
Diffstat (limited to 'node_modules/montage/ui/composer')
-rw-r--r--node_modules/montage/ui/composer/key-composer.js16
-rw-r--r--node_modules/montage/ui/composer/press-composer.js52
-rw-r--r--node_modules/montage/ui/composer/translate-composer.js2
3 files changed, 44 insertions, 26 deletions
diff --git a/node_modules/montage/ui/composer/key-composer.js b/node_modules/montage/ui/composer/key-composer.js
index 9d2c0f14..015ab115 100644
--- a/node_modules/montage/ui/composer/key-composer.js
+++ b/node_modules/montage/ui/composer/key-composer.js
@@ -103,9 +103,9 @@ var KeyComposer = exports.KeyComposer = Montage.create(Composer, /** @lends modu
103 @default null 103 @default null
104 */ 104 */
105 identifier: { 105 identifier: {
106 get: function() { 106 get: function() {
107 return this._identifier; 107 return this._identifier;
108 }, 108 },
109 set: function(identifier) { 109 set: function(identifier) {
110 this._identifier = identifier; 110 this._identifier = identifier;
111 } 111 }
@@ -234,7 +234,7 @@ var KeyComposer = exports.KeyComposer = Montage.create(Composer, /** @lends modu
234 this._keyRegistered = true; 234 this._keyRegistered = true;
235 } 235 }
236 } else if (component && typeof component.addComposer !== "function") { 236 } else if (component && typeof component.addComposer !== "function") {
237 // this keyComposer is associated with an element, let's make it a global key 237 // this keyComposer is not associated with an element, let's make it a global key
238 if (!this.element) { 238 if (!this.element) {
239 this.element = window; 239 this.element = window;
240 } 240 }
@@ -264,11 +264,15 @@ var KeyComposer = exports.KeyComposer = Montage.create(Composer, /** @lends modu
264 value: function() { 264 value: function() {
265 var component = this.component; 265 var component = this.component;
266 266
267 if (this.identifier === null) {
268 this.identifier = Montage.getInfoForObject(this).label;
269 }
270
267 if (component) { 271 if (component) {
268 if (typeof component.addComposer == "function") { 272 if (typeof component.addComposer == "function") {
269 component.addComposer(this); 273 component.addComposer(this);
270 } else if (!this._isLoaded) { 274 } else if (!this._isLoaded) {
271 // this keyComposer is associated with an element, let's make it a global key 275 // this keyComposer is not associated with an element, let's make it a global key
272 if (!this.element) { 276 if (!this.element) {
273 this.element = window; 277 this.element = window;
274 } 278 }
@@ -284,7 +288,7 @@ var KeyComposer = exports.KeyComposer = Montage.create(Composer, /** @lends modu
284/** 288/**
285 @class KeyManagerProxy 289 @class KeyManagerProxy
286 @classdesc Provide a proxy for lazy load of module:montage/core/event/key-manager.KeyManager. 290 @classdesc Provide a proxy for lazy load of module:montage/core/event/key-manager.KeyManager.
287 @extends module:montage 291 @extends module:montage/core/core.Montage
288 @private 292 @private
289 */ 293 */
290var _keyManagerProxy= null; 294var _keyManagerProxy= null;
diff --git a/node_modules/montage/ui/composer/press-composer.js b/node_modules/montage/ui/composer/press-composer.js
index d71d2ec6..55903b5f 100644
--- a/node_modules/montage/ui/composer/press-composer.js
+++ b/node_modules/montage/ui/composer/press-composer.js
@@ -58,9 +58,9 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
58 load: { 58 load: {
59 value: function() { 59 value: function() {
60 if (window.Touch) { 60 if (window.Touch) {
61 this._element.addEventListener("touchstart", this); 61 this._element.addEventListener("touchstart", this, true);
62 } else { 62 } else {
63 this._element.addEventListener("mousedown", this); 63 this._element.addEventListener("mousedown", this, true);
64 } 64 }
65 } 65 }
66 }, 66 },
@@ -76,6 +76,19 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
76 }, 76 },
77 77
78 /** 78 /**
79 Delegate that implements <code>surrenderPointer</code>. See Component for
80 explanation of what this method should do.
81
82 @type {Object}
83 @default null
84 */
85 delegate: {
86 serializable: true,
87 value: null
88 },
89
90
91 /**
79 Cancel the current press. 92 Cancel the current press.
80 93
81 Can be used in a "longPress" event handler to prevent the "press" event 94 Can be used in a "longPress" event handler to prevent the "press" event
@@ -191,16 +204,16 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
191 return false; 204 return false;
192 } 205 }
193 206
194 document.addEventListener("touchend", this); 207 document.addEventListener("touchend", this, false);
195 document.addEventListener("touchcancel", this); 208 document.addEventListener("touchcancel", this, false);
196 } else if (event.type === "mousedown") { 209 } else if (event.type === "mousedown") {
197 this._observedPointer = "mouse"; 210 this._observedPointer = "mouse";
198 // Needed to cancel action event dispatch is mouseup'd when 211 // Needed to cancel action event dispatch is mouseup'd when
199 // not on the component 212 // not on the component
200 document.addEventListener("mouseup", this); 213 document.addEventListener("mouseup", this, false);
201 // Needed to preventDefault if another component has claimed 214 // Needed to preventDefault if another component has claimed
202 // the pointer 215 // the pointer
203 document.addEventListener("click", this); 216 document.addEventListener("click", this, false);
204 } 217 }
205 218
206 this.component.eventManager.claimPointer(this._observedPointer, this); 219 this.component.eventManager.claimPointer(this._observedPointer, this);
@@ -239,18 +252,19 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
239 // in surrenderPointer, just end the interaction. 252 // in surrenderPointer, just end the interaction.
240 this._endInteraction(event); 253 this._endInteraction(event);
241 return; 254 return;
242 } 255 } else if (event.type === "mouseup") {
243
244 if (!isSurrendered && isTarget && event.type === "mouseup") {
245 this._dispatchPress(event);
246 this._endInteraction(event);
247 return;
248 }
249 256
250 if (!isSurrendered && !isTarget && event.type === "mouseup") { 257 if (!isSurrendered && isTarget) {
251 this._dispatchPressCancel(event); 258 this._dispatchPress(event);
252 this._endInteraction(event); 259 this._endInteraction(event);
253 return; 260 return;
261 } else if (!isSurrendered && !isTarget) {
262 this._dispatchPressCancel(event);
263 this._endInteraction(event);
264 return;
265 } else if (isSurrendered && !isTarget) {
266 this._endInteraction(event);
267 }
254 } 268 }
255 } 269 }
256 }, 270 },
@@ -319,7 +333,7 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
319 333
320 // Handlers 334 // Handlers
321 335
322 handleTouchstart: { 336 captureTouchstart: {
323 value: function(event) { 337 value: function(event) {
324 this._startInteraction(event); 338 this._startInteraction(event);
325 } 339 }
@@ -352,7 +366,7 @@ var PressComposer = exports.PressComposer = Montage.create(Composer,/** @lends m
352 } 366 }
353 }, 367 },
354 368
355 handleMousedown: { 369 captureMousedown: {
356 value: function(event) { 370 value: function(event) {
357 this._startInteraction(event); 371 this._startInteraction(event);
358 } 372 }
diff --git a/node_modules/montage/ui/composer/translate-composer.js b/node_modules/montage/ui/composer/translate-composer.js
index 78459b9d..f82ca393 100644
--- a/node_modules/montage/ui/composer/translate-composer.js
+++ b/node_modules/montage/ui/composer/translate-composer.js
@@ -622,7 +622,7 @@ var TranslateComposer = exports.TranslateComposer = Montage.create(Composer,/**
622 captureTouchend: { 622 captureTouchend: {
623 value: function(event) { 623 value: function(event) {
624 var i = 0, len = event.changedTouches.length; 624 var i = 0, len = event.changedTouches.length;
625 while (i < len && !this.eventManager.isPointerClaimedByComponent(event.changedTouches[i].identifier, this)) { 625 while (i < len && event.changedTouches[i].identifier !== this._observedPointer) {
626 i++; 626 i++;
627 } 627 }
628 if (i < len) { 628 if (i < len) {