aboutsummaryrefslogtreecommitdiff
path: root/js/components/focus-manager.reel
diff options
context:
space:
mode:
authorValerio Virgillito2012-03-14 18:04:11 -0700
committerValerio Virgillito2012-03-14 18:04:11 -0700
commita7cb2c0b22f03b79f19d4a9a2eb691d1ccc392f9 (patch)
tree8daf6d201890c1fb7f8dbffe492500d492ae96d7 /js/components/focus-manager.reel
parente07ec7dd1a4b8df747f6af0d54fe95e3a237f0c8 (diff)
downloadninja-a7cb2c0b22f03b79f19d4a9a2eb691d1ccc392f9.tar.gz
adding a focus manager to handle panel bugs where blur was not getting called when clicking on the canvas.
Signed-off-by: Valerio Virgillito <valerio@motorola.com>
Diffstat (limited to 'js/components/focus-manager.reel')
-rw-r--r--js/components/focus-manager.reel/focus-manager.js49
1 files changed, 49 insertions, 0 deletions
diff --git a/js/components/focus-manager.reel/focus-manager.js b/js/components/focus-manager.reel/focus-manager.js
new file mode 100644
index 00000000..65a84bc1
--- /dev/null
+++ b/js/components/focus-manager.reel/focus-manager.js
@@ -0,0 +1,49 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5 </copyright> */
6
7var Montage = require("montage/core/core").Montage,
8 Component = require("montage/ui/component").Component;
9
10exports.FocusManager = Montage.create(Component, {
11
12 hasTemplate: {
13 value: false
14 },
15
16 element: {
17 serializable: true,
18 enumerable: true,
19 get: function() {
20 return this._element;
21 },
22 set: function(value) {
23 // call super set
24 Object.getPropertyDescriptor(Component, "element").set.call(this, value);
25 }
26 },
27
28 hiddenInput: {
29 value: null
30 },
31
32 prepareForDraw: {
33 value: function() {
34 this.hiddenInput = document.createElement("input");
35 this.hiddenInput.type = "text";
36
37 this.element.appendChild(this.hiddenInput);
38
39 }
40 },
41
42 setFocus: {
43 value: function() {
44 this.hiddenInput.focus();
45 }
46 }
47
48});
49