diff options
author | Ananya Sen | 2012-04-05 22:54:53 -0700 |
---|---|---|
committer | Ananya Sen | 2012-04-05 22:54:53 -0700 |
commit | 8acdde3e87f8cabd179a068c54fe5b78fa38e40d (patch) | |
tree | 55f1d31c970d66c407f6ddf4032a0cdcffb556af /js/io/ui/file-picker | |
parent | 5de25f936c9dce08f1d24824ae1946a07e7b708d (diff) | |
download | ninja-8acdde3e87f8cabd179a068c54fe5b78fa38e40d.tar.gz |
- using Montage TextField component to handle any edits like keyup, paste, cut.
- optimized Enter and Esc key handling
Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js/io/ui/file-picker')
-rwxr-xr-x | js/io/ui/file-picker/file-input-field.reel/file-input-field.html | 10 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-input-field.reel/file-input-field.js | 37 |
2 files changed, 26 insertions, 21 deletions
diff --git a/js/io/ui/file-picker/file-input-field.reel/file-input-field.html b/js/io/ui/file-picker/file-input-field.reel/file-input-field.html index 2fcaa075..00df1c11 100755 --- a/js/io/ui/file-picker/file-input-field.reel/file-input-field.html +++ b/js/io/ui/file-picker/file-input-field.reel/file-input-field.html | |||
@@ -10,13 +10,21 @@ | |||
10 | <link rel="stylesheet" type="text/css" href="file-input-field.css"> | 10 | <link rel="stylesheet" type="text/css" href="file-input-field.css"> |
11 | <script type="text/montage-serialization"> | 11 | <script type="text/montage-serialization"> |
12 | { | 12 | { |
13 | |||
14 | "newFileDirectory": { | ||
15 | "prototype": "montage/ui/textfield.reel", | ||
16 | "properties": { | ||
17 | "element": {"#": "newFileDirectory"} | ||
18 | } | ||
19 | }, | ||
20 | |||
13 | "owner":{ | 21 | "owner":{ |
14 | "module": "js/io/ui/file-picker/file-input-field.reel", | 22 | "module": "js/io/ui/file-picker/file-input-field.reel", |
15 | "name": "FileInputField", | 23 | "name": "FileInputField", |
16 | "properties": { | 24 | "properties": { |
17 | "element": {"#": "fileInputField"}, | 25 | "element": {"#": "fileInputField"}, |
18 | "findDirectory": {"#": "findDirectory"}, | 26 | "findDirectory": {"#": "findDirectory"}, |
19 | "newFileDirectory": {"#": "newFileDirectory"} | 27 | "newFileDirectory": {"@": "newFileDirectory"} |
20 | } | 28 | } |
21 | } | 29 | } |
22 | } | 30 | } |
diff --git a/js/io/ui/file-picker/file-input-field.reel/file-input-field.js b/js/io/ui/file-picker/file-input-field.reel/file-input-field.js index 0f66468a..9e77759f 100755 --- a/js/io/ui/file-picker/file-input-field.reel/file-input-field.js +++ b/js/io/ui/file-picker/file-input-field.reel/file-input-field.js | |||
@@ -14,14 +14,10 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
14 | value: function() { | 14 | value: function() { |
15 | var that = this; | 15 | var that = this; |
16 | this.findDirectory.identifier = "findDirectory"; | 16 | this.findDirectory.identifier = "findDirectory"; |
17 | |||
18 | this.findDirectory.addEventListener("click", this, false); | 17 | this.findDirectory.addEventListener("click", this, false); |
19 | 18 | this.eventManager.addEventListener("pickerSelectionsDone", this.handleFileInputPickerSelectionsDone, false); | |
20 | this.eventManager.addEventListener("pickerSelectionsDone", function(evt){that.handleFileInputPickerSelectionsDone(evt);}, false); | 19 | this.addEventListener("change@newFileDirectory.value", this.handleNewFileDirectoryChange, false); |
21 | 20 | this.newFileDirectory.element.addEventListener("keyup", this, false); | |
22 | this.newFileDirectory.addEventListener("keyup", function(evt){that.handleNewFileDirectoryOnkeyup(evt);}, false); | ||
23 | this.newFileDirectory.addEventListener("paste", this, false); | ||
24 | this.newFileDirectory.addEventListener("search", this, false); | ||
25 | } | 21 | } |
26 | }, | 22 | }, |
27 | 23 | ||
@@ -65,15 +61,7 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
65 | } | 61 | } |
66 | }, | 62 | }, |
67 | 63 | ||
68 | handlePaste:{ | 64 | handleNewFileDirectoryChange:{ |
69 | value:function(evt){ | ||
70 | evt.preventDefault(); | ||
71 | evt.target.value = evt.clipboardData.getData("Text"); | ||
72 | this.handleNewFileDirectoryOnkeyup(evt); | ||
73 | } | ||
74 | }, | ||
75 | |||
76 | handleNewFileDirectoryOnkeyup:{ | ||
77 | value:function(evt){ | 65 | value:function(evt){ |
78 | var newFileDirectorySetEvent = document.createEvent("Events"); | 66 | var newFileDirectorySetEvent = document.createEvent("Events"); |
79 | newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); | 67 | newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); |
@@ -83,9 +71,18 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
83 | } | 71 | } |
84 | }, | 72 | }, |
85 | 73 | ||
86 | handleSearch:{ | 74 | |
87 | value:function(evt){ | 75 | handleKeyup:{ |
88 | this.handleNewFileDirectoryOnkeyup(evt); | 76 | value: function(evt){ |
77 | if(evt.keyCode === 13){ | ||
78 | var enterKeyupEvent = document.createEvent("Events"); | ||
79 | enterKeyupEvent.initEvent("enterKey", false, false); | ||
80 | this.eventManager.dispatchEvent(enterKeyupEvent); | ||
81 | }else if(evt.keyCode === 27){ | ||
82 | var escKeyupEvent = document.createEvent("Events"); | ||
83 | escKeyupEvent.initEvent("escKey", false, false); | ||
84 | this.eventManager.dispatchEvent(escKeyupEvent); | ||
85 | } | ||
89 | } | 86 | } |
90 | }, | 87 | }, |
91 | 88 | ||
@@ -110,7 +107,7 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
110 | if(!!obj && obj.uri && obj.uri.length > 0){ | 107 | if(!!obj && obj.uri && obj.uri.length > 0){ |
111 | selectedUri = obj.uri[0]; | 108 | selectedUri = obj.uri[0]; |
112 | this.newFileDirectory.value = selectedUri; | 109 | this.newFileDirectory.value = selectedUri; |
113 | this.newFileDirectory.focus(); | 110 | this.newFileDirectory.element.focus(); |
114 | var newFileDirectorySetEvent = document.createEvent("Events"); | 111 | var newFileDirectorySetEvent = document.createEvent("Events"); |
115 | newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); | 112 | newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); |
116 | newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value; | 113 | newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value; |