aboutsummaryrefslogtreecommitdiff
path: root/js/io/ui/file-picker
diff options
context:
space:
mode:
Diffstat (limited to 'js/io/ui/file-picker')
-rwxr-xr-xjs/io/ui/file-picker/file-input-field.reel/file-input-field.html10
-rwxr-xr-xjs/io/ui/file-picker/file-input-field.reel/file-input-field.js48
2 files changed, 34 insertions, 24 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 46e8b386..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,13 +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 } 21 }
25 }, 22 },
26 23
@@ -64,26 +61,31 @@ var FileInputField = exports.FileInputField = Montage.create(Component, {
64 } 61 }
65 }, 62 },
66 63
67 handlePaste:{ 64 handleNewFileDirectoryChange:{
68 value:function(evt){
69 evt.preventDefault();
70 evt.target.value = evt.clipboardData.getData("Text");
71 this.handleNewFileDirectoryOnkeyup(evt);
72 }
73 },
74
75 handleNewFileDirectoryOnkeyup:{
76 value:function(evt){ 65 value:function(evt){
77 if(this.newFileDirectory.value !== ""){ 66 var newFileDirectorySetEvent = document.createEvent("Events");
78 var newFileDirectorySetEvent = document.createEvent("Events"); 67 newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false);
79 newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); 68 newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value;
80 newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value; 69 newFileDirectorySetEvent.keyCode = evt.keyCode;
81 newFileDirectorySetEvent.keyCode = evt.keyCode; 70 this.eventManager.dispatchEvent(newFileDirectorySetEvent);
82 this.eventManager.dispatchEvent(newFileDirectorySetEvent);
83 }
84 } 71 }
85 }, 72 },
86 73
74
75 handleKeyup:{
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 }
86 }
87 },
88
87 handleFileInputPickerSelectionsDone:{ 89 handleFileInputPickerSelectionsDone:{
88 value: function(evt){ 90 value: function(evt){
89 var selectedUri = ""; 91 var selectedUri = "";
@@ -105,7 +107,7 @@ var FileInputField = exports.FileInputField = Montage.create(Component, {
105 if(!!obj && obj.uri && obj.uri.length > 0){ 107 if(!!obj && obj.uri && obj.uri.length > 0){
106 selectedUri = obj.uri[0]; 108 selectedUri = obj.uri[0];
107 this.newFileDirectory.value = selectedUri; 109 this.newFileDirectory.value = selectedUri;
108 110 this.newFileDirectory.element.focus();
109 var newFileDirectorySetEvent = document.createEvent("Events"); 111 var newFileDirectorySetEvent = document.createEvent("Events");
110 newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false); 112 newFileDirectorySetEvent.initEvent("newFileDirectorySet", false, false);
111 newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value; 113 newFileDirectorySetEvent.newFileDirectory = this.newFileDirectory.value;