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/new-file-dialog/new-file-location.reel | |
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/new-file-dialog/new-file-location.reel')
-rwxr-xr-x | js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html | 9 | ||||
-rwxr-xr-x | js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js | 32 |
2 files changed, 24 insertions, 17 deletions
diff --git a/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html b/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html index 7340251c..1f9d9b9f 100755 --- a/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html +++ b/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html | |||
@@ -58,13 +58,20 @@ | |||
58 | } | 58 | } |
59 | }, | 59 | }, |
60 | 60 | ||
61 | "newFileName": { | ||
62 | "prototype": "montage/ui/textfield.reel", | ||
63 | "properties": { | ||
64 | "element": {"#": "newFileName"} | ||
65 | } | ||
66 | }, | ||
67 | |||
61 | "owner":{ | 68 | "owner":{ |
62 | "module": "js/io/ui/new-file-dialog/new-file-location.reel", | 69 | "module": "js/io/ui/new-file-dialog/new-file-location.reel", |
63 | "name": "NewFileLocation", | 70 | "name": "NewFileLocation", |
64 | "properties": { | 71 | "properties": { |
65 | "element": {"#": "newfileLocation"}, | 72 | "element": {"#": "newfileLocation"}, |
66 | "fileInputField": {"@": "fileInputField"}, | 73 | "fileInputField": {"@": "fileInputField"}, |
67 | "newFileName": {"#": "newFileName"} | 74 | "newFileName": {"@": "newFileName"} |
68 | } | 75 | } |
69 | } | 76 | } |
70 | } | 77 | } |
diff --git a/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js b/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js index 3582f1a5..3ac38d02 100755 --- a/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js +++ b/js/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js | |||
@@ -22,23 +22,28 @@ var NewFileLocation = exports.NewFileLocation = Montage.create(Component, { | |||
22 | value: function() { | 22 | value: function() { |
23 | this.fileInputField.selectDirectory = true; | 23 | this.fileInputField.selectDirectory = true; |
24 | 24 | ||
25 | this.newFileName.addEventListener("keyup", this, false); | 25 | this.addEventListener("change@newFileName.value", this.newFileNameChange, false); |
26 | this.newFileName.addEventListener("paste", this, false); | 26 | this.newFileName.element.addEventListener("keyup", this, false); |
27 | this.newFileName.addEventListener("search", this, false); | 27 | this.newFileName.element.focus(); |
28 | this.newFileName.focus(); | 28 | this.newFileName.element.select(); |
29 | this.newFileName.select(); | ||
30 | } | 29 | } |
31 | }, | 30 | }, |
32 | 31 | ||
33 | handlePaste:{ | 32 | handleKeyup:{ |
34 | value:function(evt){ | 33 | value: function(evt){ |
35 | evt.preventDefault(); | 34 | if(evt.keyCode === 13){ |
36 | evt.target.value = evt.clipboardData.getData("Text"); | 35 | var enterKeyupEvent = document.createEvent("Events"); |
37 | this.handleKeyup(evt); | 36 | enterKeyupEvent.initEvent("enterKey", false, false); |
37 | this.eventManager.dispatchEvent(enterKeyupEvent); | ||
38 | }else if(evt.keyCode === 27){ | ||
39 | var escKeyupEvent = document.createEvent("Events"); | ||
40 | escKeyupEvent.initEvent("escKey", false, false); | ||
41 | this.eventManager.dispatchEvent(escKeyupEvent); | ||
42 | } | ||
38 | } | 43 | } |
39 | }, | 44 | }, |
40 | 45 | ||
41 | handleKeyup:{ | 46 | newFileNameChange:{ |
42 | value:function(evt){ | 47 | value:function(evt){ |
43 | var newFileNameSetEvent = document.createEvent("Events"); | 48 | var newFileNameSetEvent = document.createEvent("Events"); |
44 | newFileNameSetEvent.initEvent("newFileNameSet", false, false); | 49 | newFileNameSetEvent.initEvent("newFileNameSet", false, false); |
@@ -46,10 +51,5 @@ var NewFileLocation = exports.NewFileLocation = Montage.create(Component, { | |||
46 | newFileNameSetEvent.keyCode = evt.keyCode; | 51 | newFileNameSetEvent.keyCode = evt.keyCode; |
47 | this.eventManager.dispatchEvent(newFileNameSetEvent); | 52 | this.eventManager.dispatchEvent(newFileNameSetEvent); |
48 | } | 53 | } |
49 | }, | ||
50 | handleSearch:{ | ||
51 | value:function(evt){ | ||
52 | this.handleKeyup(evt); | ||
53 | } | ||
54 | } | 54 | } |
55 | }); \ No newline at end of file | 55 | }); \ No newline at end of file |