diff options
Diffstat (limited to 'js/io/ui/new-file-dialog/new-file-options-navigator.reel')
3 files changed, 38 insertions, 16 deletions
diff --git a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.css b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.css index 7ef6d2ce..95ce01f9 100755 --- a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.css +++ b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.css | |||
@@ -153,4 +153,8 @@ | |||
153 | border:2px solid #a1a1a1; | 153 | border:2px solid #a1a1a1; |
154 | background-image:none; | 154 | background-image:none; |
155 | cursor:auto; | 155 | cursor:auto; |
156 | } | ||
157 | |||
158 | .newfile .atree ul{ | ||
159 | -webkit-padding-start: 10px; | ||
156 | } \ No newline at end of file | 160 | } \ No newline at end of file |
diff --git a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html index eb4a8045..c9178d65 100755 --- a/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html +++ b/js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html | |||
@@ -70,7 +70,7 @@ | |||
70 | <div id="newfile" class="newfile"> | 70 | <div id="newfile" class="newfile"> |
71 | <div class="title">Create New File</div> | 71 | <div class="title">Create New File</div> |
72 | <div class="container left-nav"> | 72 | <div class="container left-nav"> |
73 | <div class="projectTypeHeader"><span>File Type</span></div> | 73 | <div class="projectTypeHeader"><span>Choose Type</span></div> |
74 | <div id="projectTypeTree" class="projectTypeTree"></div> | 74 | <div id="projectTypeTree" class="projectTypeTree"></div> |
75 | </div> | 75 | </div> |
76 | <div class="container right-nav"> | 76 | <div class="container right-nav"> |
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 a747b8de..467c5452 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 | |||
@@ -92,6 +92,14 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
92 | 92 | ||
93 | this.selectedProjectType = {"uri":this.newFileModel.defaultProjectType, "element":null}; | 93 | this.selectedProjectType = {"uri":this.newFileModel.defaultProjectType, "element":null}; |
94 | } | 94 | } |
95 | |||
96 | //update file Extension | ||
97 | if(!!this.newFileModel.projectTypeData[this.newFileModel.defaultProjectType].fileExtension){ | ||
98 | var fileExtensionEl = this.element.querySelector(".fileExtension"); | ||
99 | if(!!fileExtensionEl){ | ||
100 | fileExtensionEl.innerHTML = ""+this.newFileModel.projectTypeData[this.newFileModel.defaultProjectType].fileExtension; | ||
101 | } | ||
102 | } | ||
95 | } | 103 | } |
96 | 104 | ||
97 | }, | 105 | }, |
@@ -128,7 +136,15 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
128 | 136 | ||
129 | //clear current template selection | 137 | //clear current template selection |
130 | if((!!this.selectedTemplate) && (this.selectedTemplate.element.classList.contains("selected"))){ | 138 | if((!!this.selectedTemplate) && (this.selectedTemplate.element.classList.contains("selected"))){ |
131 | this.selectedTemplate.element.classList.remove("selected"); | 139 | this.selectedTemplate.element.classList.remove("selected"); |
140 | } | ||
141 | |||
142 | //update file Extension | ||
143 | if(!!this.newFileModel.projectTypeData[evt.uri].fileExtension){ | ||
144 | var fileExtensionEl = this.element.querySelector(".fileExtension"); | ||
145 | if(!!fileExtensionEl){ | ||
146 | fileExtensionEl.innerHTML = ""+this.newFileModel.projectTypeData[evt.uri].fileExtension; | ||
147 | } | ||
132 | } | 148 | } |
133 | 149 | ||
134 | //disable ok | 150 | //disable ok |
@@ -186,6 +202,7 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
186 | projectWidth = this.newFileLocation.templateWidth, | 202 | projectWidth = this.newFileLocation.templateWidth, |
187 | projectHeight = this.newFileLocation.templateHeight, | 203 | projectHeight = this.newFileLocation.templateHeight, |
188 | 204 | ||
205 | newFilePath = "", fileExtension=this.newFileModel.projectTypeData[selectedProjectTypeID].fileExtension, | ||
189 | 206 | ||
190 | selectionlog= "selectedProjectTypeID="+selectedProjectTypeID +"\n"+ | 207 | selectionlog= "selectedProjectTypeID="+selectedProjectTypeID +"\n"+ |
191 | "templateID="+templateID+ "\n"+ | 208 | "templateID="+templateID+ "\n"+ |
@@ -194,29 +211,30 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
194 | "projectWidth="+projectWidth+"\n"+ | 211 | "projectWidth="+projectWidth+"\n"+ |
195 | "projectHeight="+projectHeight; | 212 | "projectHeight="+projectHeight; |
196 | 213 | ||
214 | |||
215 | if(/[^/\\]$/g.test(projectDirectory)){ | ||
216 | projectDirectory = projectDirectory + "/"; | ||
217 | } | ||
218 | if(!!fileExtension && (projectName.lastIndexOf(fileExtension) !== (projectName.length - fileExtension.length))){ | ||
219 | projectName = projectName+fileExtension; | ||
220 | } | ||
221 | newFilePath = "" + projectDirectory + projectName; | ||
222 | |||
223 | |||
197 | if(!!this.selectedProjectType && !!this.selectedTemplate | 224 | if(!!this.selectedProjectType && !!this.selectedTemplate |
198 | && this.isValidFileName(projectName) && this.isValidUri(projectDirectory) | 225 | && this.isValidFileName(projectName) && this.isValidUri(projectDirectory) |
199 | && !this.checkFileExists(projectName, projectDirectory, this.selectedProjectType) | 226 | && !this.checkFileExists(projectName, projectDirectory, this.selectedProjectType) |
200 | ){ | 227 | ){ |
201 | this.error.innerHTML=""; | 228 | this.error.innerHTML=""; |
202 | console.log("$$$ new file selections: \n" + selectionlog); | 229 | //console.log("$$$ new file selections: \n" + selectionlog); |
203 | if(!!this.newFileModel.callback && !!this.newFileModel.callbackScope){//inform document-controller if save successful | 230 | if(!!this.newFileModel.callback && !!this.newFileModel.callbackScope){//inform document-controller if save successful |
204 | this.newFileModel.callback.call(this.newFileModel.callbackScope, {"selectedProjectTypeID":selectedProjectTypeID, | 231 | this.newFileModel.callback.call(this.newFileModel.callbackScope, {"fileTemplateUri":selectedProjectTypeID, |
205 | "templateID":templateID, | 232 | "newFilePath":newFilePath});//document-controller api |
206 | "projectName": projectName, | ||
207 | "projectDirectory":projectDirectory, | ||
208 | "projectWidth":projectWidth, | ||
209 | "projectHeight":projectHeight});//document-controller api | ||
210 | }else{ | 233 | }else{ |
211 | //send selection event | 234 | //send selection event |
212 | var newFileSelectionEvent = document.createEvent("Events"); | 235 | var newFileSelectionEvent = document.createEvent("Events"); |
213 | newFileSelectionEvent.initEvent("createNewFile", false, false); | 236 | newFileSelectionEvent.initEvent("createNewFile", false, false); |
214 | newFileSelectionEvent.newFileOptions = {"selectedProjectTypeID":selectedProjectTypeID, | 237 | newFileSelectionEvent.newFileOptions = {"fileTemplateUri":selectedProjectTypeID, "newFilePath":newFilePath}; |
215 | "templateID":templateID, | ||
216 | "projectName": projectName, | ||
217 | "projectDirectory":projectDirectory, | ||
218 | "projectWidth":projectWidth, | ||
219 | "projectHeight":projectHeight}; | ||
220 | this.eventManager.dispatchEvent(newFileSelectionEvent); | 238 | this.eventManager.dispatchEvent(newFileSelectionEvent); |
221 | } | 239 | } |
222 | //store last selected project type | 240 | //store last selected project type |
@@ -306,7 +324,7 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
306 | 324 | ||
307 | if(!!this.selectedProjectType && !!this.selectedTemplate | 325 | if(!!this.selectedProjectType && !!this.selectedTemplate |
308 | && this.isValidFileName(this.newFileName) && this.isValidUri(this.newFileDirectory) | 326 | && this.isValidFileName(this.newFileName) && this.isValidUri(this.newFileDirectory) |
309 | && !this.checkFileExists(this.newFileName, this.newFileDirectory, this.selectedProjectType) | 327 | && !this.checkFileExists(this.newFileName, this.newFileDirectory, this.newFileModel.projectTypeData[this.selectedProjectType.uri].fileExtension) |
310 | ){ | 328 | ){ |
311 | status = true; | 329 | status = true; |
312 | this.okButton.removeAttribute("disabled"); | 330 | this.okButton.removeAttribute("disabled"); |