From a7cb2c0b22f03b79f19d4a9a2eb691d1ccc392f9 Mon Sep 17 00:00:00 2001
From: Valerio Virgillito
Date: Wed, 14 Mar 2012 18:04:11 -0700
Subject: 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>
---
 js/components/focus-manager.reel/focus-manager.js | 49 +++++++++++++++++++++++
 1 file changed, 49 insertions(+)
 create mode 100644 js/components/focus-manager.reel/focus-manager.js

(limited to 'js/components')

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 @@
+/* <copyright>
+ This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
+ No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
+ (c) Copyright 2011 Motorola Mobility, Inc.  All Rights Reserved.
+ </copyright> */
+
+var Montage = require("montage/core/core").Montage,
+    Component = require("montage/ui/component").Component;
+
+exports.FocusManager = Montage.create(Component, {
+
+    hasTemplate: {
+        value: false
+    },
+
+    element: {
+        serializable: true,
+        enumerable: true,
+        get: function() {
+            return this._element;
+        },
+        set: function(value) {
+            // call super set
+            Object.getPropertyDescriptor(Component, "element").set.call(this, value);
+        }
+    },
+
+    hiddenInput: {
+        value: null
+    },
+
+    prepareForDraw: {
+        value: function() {
+            this.hiddenInput = document.createElement("input");
+            this.hiddenInput.type = "text";
+
+            this.element.appendChild(this.hiddenInput);
+
+        }
+    },
+
+    setFocus: {
+        value: function() {
+            this.hiddenInput.focus();
+        }
+    }
+
+});
+
-- 
cgit v1.2.3