diff options
author | Ananya Sen | 2012-02-22 12:18:25 -0800 |
---|---|---|
committer | Ananya Sen | 2012-02-22 12:18:25 -0800 |
commit | dbf0ca5637a3bca87c21c65ada47f8a4d794f78c (patch) | |
tree | ace2a2415ef14662c27cdb2528914bef0a7f9208 /js/io/ui/file-picker | |
parent | 9aa442da1ac9fd3212b37fa63a36090af47b6808 (diff) | |
parent | 27589634d3e8ea52abe8623f8f2cc48ce0aa04c9 (diff) | |
download | ninja-dbf0ca5637a3bca87c21c65ada47f8a4d794f78c.tar.gz |
Merge branch 'refs/heads/FileIO-jose' into FileIO
Conflicts:
js/controllers/document-controller.js
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.js | 21 | ||||
-rwxr-xr-x | js/io/ui/file-picker/file-picker-controller.js | 36 |
2 files changed, 14 insertions, 43 deletions
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 235be8ad..651fd7fa 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 | |||
@@ -9,24 +9,13 @@ var Montage = require("montage/core/core").Montage, | |||
9 | 9 | ||
10 | var FileInputField = exports.FileInputField = Montage.create(Component, { | 10 | var FileInputField = exports.FileInputField = Montage.create(Component, { |
11 | 11 | ||
12 | hasReel: { | ||
13 | value: true | ||
14 | }, | ||
15 | |||
16 | willDraw: { | ||
17 | enumerable: false, | ||
18 | value: function() {} | ||
19 | }, | ||
20 | draw: { | ||
21 | enumerable: false, | ||
22 | value: function() {} | ||
23 | }, | ||
24 | didDraw: { | 12 | didDraw: { |
25 | enumerable: false, | 13 | enumerable: false, |
26 | value: function() { | 14 | value: function() { |
27 | var that = this; | 15 | var that = this; |
28 | this.findDirectory.identifier = "findDirectory"; | 16 | this.findDirectory.identifier = "findDirectory"; |
29 | this.findDirectory.addEventListener("click", function(evt){that.handleFindDirectoryClick(evt);}, false); | 17 | |
18 | this.findDirectory.addEventListener("click", this, false); | ||
30 | 19 | ||
31 | this.eventManager.addEventListener("pickerSelectionsDone", function(evt){that.handleFileInputPickerSelectionsDone(evt);}, false); | 20 | this.eventManager.addEventListener("pickerSelectionsDone", function(evt){that.handleFileInputPickerSelectionsDone(evt);}, false); |
32 | 21 | ||
@@ -60,8 +49,6 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
60 | 49 | ||
61 | handleFindDirectoryClick: { | 50 | handleFindDirectoryClick: { |
62 | value: function(evt){ | 51 | value: function(evt){ |
63 | var openFilePicker = document.createEvent("Events"); | ||
64 | openFilePicker.initEvent("openFilePicker", false, false); | ||
65 | var settings = {}; | 52 | var settings = {}; |
66 | if(this.selectDirectory === true){ | 53 | if(this.selectDirectory === true){ |
67 | settings.inFileMode = false; | 54 | settings.inFileMode = false; |
@@ -71,8 +58,8 @@ var FileInputField = exports.FileInputField = Montage.create(Component, { | |||
71 | settings.pickerName = this.pickerName || "fileSelector"; | 58 | settings.pickerName = this.pickerName || "fileSelector"; |
72 | } | 59 | } |
73 | settings.callback = this.filePickerCallback.bind(this); | 60 | settings.callback = this.filePickerCallback.bind(this); |
74 | openFilePicker.settings = settings; | 61 | |
75 | this.eventManager.dispatchEvent(openFilePicker); | 62 | NJevent("openFilePicker", settings); |
76 | } | 63 | } |
77 | }, | 64 | }, |
78 | 65 | ||
diff --git a/js/io/ui/file-picker/file-picker-controller.js b/js/io/ui/file-picker/file-picker-controller.js index 129bebad..3b19de83 100755 --- a/js/io/ui/file-picker/file-picker-controller.js +++ b/js/io/ui/file-picker/file-picker-controller.js | |||
@@ -19,25 +19,21 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
19 | writable:false, | 19 | writable:false, |
20 | enumerable:true, | 20 | enumerable:true, |
21 | value:function(){ | 21 | value:function(){ |
22 | var that = this; | 22 | this.eventManager.addEventListener("openFilePicker", this, false); |
23 | |||
24 | this.eventManager.addEventListener("openFilePicker", function(evt){ | ||
25 | var settings; | ||
26 | if(typeof evt._event.settings !== "undefined"){ | ||
27 | settings = evt._event.settings; | ||
28 | } | ||
29 | that.showFilePicker(settings); | ||
30 | }, false); | ||
31 | |||
32 | } | 23 | } |
33 | }, | 24 | }, |
34 | 25 | ||
35 | filePickerPopupType:{ | 26 | filePickerPopupType:{ |
36 | writable: true, | ||
37 | enumerable: false, | 27 | enumerable: false, |
38 | value: "filePicker" | 28 | value: "filePicker" |
39 | }, | 29 | }, |
40 | 30 | ||
31 | handleOpenFilePicker: { | ||
32 | value: function(evt) { | ||
33 | this.showFilePicker(evt.detail); | ||
34 | } | ||
35 | }, | ||
36 | |||
41 | /** | 37 | /** |
42 | *this function is used to create an instance of a file picker | 38 | *this function is used to create an instance of a file picker |
43 | * | 39 | * |
@@ -129,7 +125,9 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
129 | } | 125 | } |
130 | 126 | ||
131 | if(!!storedUri){ | 127 | if(!!storedUri){ |
132 | aModel.currentRoot = unescape(storedUri); | 128 | // This is depracated -- use decodeURI instead |
129 | //aModel.currentRoot = unescape(storedUri); | ||
130 | aModel.currentRoot = decodeURI(storedUri); | ||
133 | } | 131 | } |
134 | 132 | ||
135 | if(!!allFileFilters){aModel.fileFilters = allFileFilters;} | 133 | if(!!allFileFilters){aModel.fileFilters = allFileFilters;} |
@@ -138,7 +136,6 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
138 | if(typeof pickerMode !== "undefined"){aModel.pickerMode = pickerMode;} | 136 | if(typeof pickerMode !== "undefined"){aModel.pickerMode = pickerMode;} |
139 | 137 | ||
140 | 138 | ||
141 | |||
142 | //logic: get file content data onDemand from the REST api for the default or last opened root. Cache the data in page [in local cache ? dirty fs? ]. Filter on client side to reduce network calls. | 139 | //logic: get file content data onDemand from the REST api for the default or last opened root. Cache the data in page [in local cache ? dirty fs? ]. Filter on client side to reduce network calls. |
143 | this.openFilePickerAsModal(callback, aModel); | 140 | this.openFilePickerAsModal(callback, aModel); |
144 | 141 | ||
@@ -152,15 +149,6 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
152 | writable:false, | 149 | writable:false, |
153 | enumerable:true, | 150 | enumerable:true, |
154 | value:function(callback, aModel){ | 151 | value:function(callback, aModel){ |
155 | //render modal dialog | ||
156 | var pickerNavContent = document.createElement("div"); | ||
157 | pickerNavContent.id = "filePicker"; | ||
158 | |||
159 | pickerNavContent.style.color = "#fff"; | ||
160 | |||
161 | //hack (elements needs to be on DOM to be drawn) | ||
162 | document.getElementById('modalContainer').appendChild(pickerNavContent); | ||
163 | |||
164 | var pickerNavChoices = Montage.create(pickerNavigatorReel); | 152 | var pickerNavChoices = Montage.create(pickerNavigatorReel); |
165 | var initUri = aModel.currentRoot; | 153 | var initUri = aModel.currentRoot; |
166 | 154 | ||
@@ -171,10 +159,6 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
171 | 159 | ||
172 | pickerNavChoices.mainContentData = this.prepareContentList(initUri, aModel); | 160 | pickerNavChoices.mainContentData = this.prepareContentList(initUri, aModel); |
173 | pickerNavChoices.pickerModel = aModel; | 161 | pickerNavChoices.pickerModel = aModel; |
174 | pickerNavChoices.element = pickerNavContent; | ||
175 | |||
176 | //hack - remove after rendering and add in modal dialog | ||
177 | document.getElementById('modalContainer').removeChild(pickerNavContent); | ||
178 | 162 | ||
179 | var popup = Popup.create(); | 163 | var popup = Popup.create(); |
180 | popup.content = pickerNavChoices; | 164 | popup.content = pickerNavChoices; |