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 | |
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')
3 files changed, 50 insertions, 36 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 |
diff --git a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js index 35c3b28e..552e8f6f 100644 --- a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js +++ b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js | |||
@@ -145,6 +145,9 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
145 | } | 145 | } |
146 | }, true); | 146 | }, true); |
147 | 147 | ||
148 | this.eventManager.addEventListener("enterKey", this, false); | ||
149 | this.eventManager.addEventListener("escKey", this, false); | ||
150 | |||
148 | } | 151 | } |
149 | 152 | ||
150 | }, | 153 | }, |
@@ -326,32 +329,36 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
326 | 329 | ||
327 | handleNewFileDirectorySet:{ | 330 | handleNewFileDirectorySet:{ |
328 | value:function(evt){ | 331 | value:function(evt){ |
329 | if(evt.keyCode === 13){ | 332 | this.newFileDirectory = evt._event.newFileDirectory; |
330 | if(!this.okButton.hasAttribute("disabled")) this.handleOkButtonAction(evt); | 333 | if(this.isValidUri(this.newFileDirectory)){ |
331 | }else if(evt.keyCode === 27){ | 334 | this.enableOk(); |
332 | this.handleCancelButtonAction(evt); | ||
333 | } | ||
334 | else{ | ||
335 | this.newFileDirectory = evt._event.newFileDirectory; | ||
336 | if(this.isValidUri(this.newFileDirectory)){ | ||
337 | this.enableOk(); | ||
338 | } | ||
339 | } | 335 | } |
340 | } | 336 | } |
341 | }, | 337 | }, |
342 | 338 | ||
343 | handleNewFileNameSet:{ | 339 | handleNewFileNameSet:{ |
344 | value:function(evt){ | 340 | value:function(evt){ |
345 | if((evt.keyCode === 13) && !this.okButton.hasAttribute("disabled")){ | 341 | this.newFileName = evt._event.newFileName; |
346 | this.handleOkButtonAction(evt); | 342 | if(this.isValidFileName(this.newFileName)){ |
347 | }else if(evt.keyCode === 27){ | 343 | this.enableOk(); |
348 | this.handleCancelButtonAction(evt); | ||
349 | } | 344 | } |
350 | else{ | 345 | } |
351 | this.newFileName = evt._event.newFileName; | 346 | }, |
352 | if(this.isValidFileName(this.newFileName)){ | 347 | |
353 | this.enableOk(); | 348 | handleEnterKey:{ |
354 | } | 349 | value: function(evt){ |
350 | if((this.application.ninja.newFileController.newFileOptionsNav !== null) | ||
351 | && !this.okButton.hasAttribute("disabled")){ | ||
352 | |||
353 | this.handleOkButtonAction(evt); | ||
354 | } | ||
355 | } | ||
356 | }, | ||
357 | |||
358 | handleEscKey:{ | ||
359 | value: function(evt){ | ||
360 | if(this.application.ninja.newFileController.newFileOptionsNav !== null){ | ||
361 | this.handleCancelButtonAction(evt); | ||
355 | } | 362 | } |
356 | } | 363 | } |
357 | }, | 364 | }, |