aboutsummaryrefslogtreecommitdiff
path: root/js/io/ui/new-file-dialog/new-file-options-navigator.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/io/ui/new-file-dialog/new-file-options-navigator.reel')
-rwxr-xr-xjs/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.css4
-rwxr-xr-xjs/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.html2
-rw-r--r--js/io/ui/new-file-dialog/new-file-options-navigator.reel/new-file-options-navigator.js48
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");