aboutsummaryrefslogtreecommitdiff
path: root/js/io/ui/new-file-dialog
diff options
context:
space:
mode:
authorValerio Virgillito2012-04-09 10:32:31 -0700
committerValerio Virgillito2012-04-09 10:32:31 -0700
commit86b98ea086b133f4efb247c39fc6200dcf383a65 (patch)
tree7c6a22bec2b556cbb2f7732fc8595d9f713ad064 /js/io/ui/new-file-dialog
parent7656b6eac7aec59697c6cddbe2a507fe9e4aa187 (diff)
parentefe18b4c8e52667683727139e9f9e28f66381164 (diff)
downloadninja-86b98ea086b133f4efb247c39fc6200dcf383a65.tar.gz
Merge pull request #160 from ananyasen/integration-candidate
- using Montage TextField component to handle all edits
Diffstat (limited to 'js/io/ui/new-file-dialog')
-rwxr-xr-xjs/io/ui/new-file-dialog/new-file-location.reel/new-file-location.html9
-rwxr-xr-xjs/io/ui/new-file-dialog/new-file-location.reel/new-file-location.js32
-rw-r--r--js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js46
3 files changed, 51 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..1a26c99c 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 },
@@ -486,6 +493,7 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C
486 var status = false; 493 var status = false;
487 if((fileName !== null) && (fileName !== "")){ 494 if((fileName !== null) && (fileName !== "")){
488 fileName = fileName.replace(/^\s+|\s+$/g,""); 495 fileName = fileName.replace(/^\s+|\s+$/g,"");
496 if(fileName === ""){return false;}
489 status = !(/[/\\]/g.test(fileName)); 497 status = !(/[/\\]/g.test(fileName));
490 if(status && navigator.userAgent.indexOf("Macintosh") != -1){//for Mac files beginning with . are hidden 498 if(status && navigator.userAgent.indexOf("Macintosh") != -1){//for Mac files beginning with . are hidden
491 status = !(/^\./g.test(fileName)); 499 status = !(/^\./g.test(fileName));