diff options
Diffstat (limited to 'js/io/ui/new-file-dialog/new-file-options-navigator.reel')
3 files changed, 61 insertions, 49 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..58bbed30 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 | |||
@@ -10,36 +10,6 @@ | |||
10 | <link rel="stylesheet" type="text/css" href="new-file-options-navigator.css"> | 10 | <link rel="stylesheet" type="text/css" href="new-file-options-navigator.css"> |
11 | <script type="text/montage-serialization"> | 11 | <script type="text/montage-serialization"> |
12 | { | 12 | { |
13 | "okButton": { | ||
14 | "module": "montage/ui/button.reel", | ||
15 | "name": "Button", | ||
16 | "properties": { | ||
17 | "element": {"#": "okButton"}, | ||
18 | "identifier": "okButton" | ||
19 | }, | ||
20 | "listeners": [ | ||
21 | { | ||
22 | "type": "action", | ||
23 | "listener": {"@": "owner"} | ||
24 | } | ||
25 | ] | ||
26 | }, | ||
27 | |||
28 | "cancelButton": { | ||
29 | "module": "montage/ui/button.reel", | ||
30 | "name": "Button", | ||
31 | "properties": { | ||
32 | "element": {"#": "cancelButton"}, | ||
33 | "identifier": "cancelButton" | ||
34 | }, | ||
35 | "listeners": [ | ||
36 | { | ||
37 | "type": "action", | ||
38 | "listener": {"@": "owner"} | ||
39 | } | ||
40 | ] | ||
41 | }, | ||
42 | |||
43 | "newFileLocation":{ | 13 | "newFileLocation":{ |
44 | "module": "js/io/ui/new-file-dialog/new-file-location.reel", | 14 | "module": "js/io/ui/new-file-dialog/new-file-location.reel", |
45 | "name": "NewFileLocation", | 15 | "name": "NewFileLocation", |
@@ -70,7 +40,7 @@ | |||
70 | <div id="newfile" class="newfile"> | 40 | <div id="newfile" class="newfile"> |
71 | <div class="title">Create New File</div> | 41 | <div class="title">Create New File</div> |
72 | <div class="container left-nav"> | 42 | <div class="container left-nav"> |
73 | <div class="projectTypeHeader"><span>File Type</span></div> | 43 | <div class="projectTypeHeader"><span>Choose Type</span></div> |
74 | <div id="projectTypeTree" class="projectTypeTree"></div> | 44 | <div id="projectTypeTree" class="projectTypeTree"></div> |
75 | </div> | 45 | </div> |
76 | <div class="container right-nav"> | 46 | <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 3a2e3e96..2f148621 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 | |||
@@ -9,7 +9,6 @@ var Montage = require("montage/core/core").Montage, | |||
9 | iconsListModule = require("js/components/ui/icon-list-basic/iconsList.reel"), | 9 | iconsListModule = require("js/components/ui/icon-list-basic/iconsList.reel"), |
10 | treeModule = require("js/components/ui/tree-basic/tree.reel"), | 10 | treeModule = require("js/components/ui/tree-basic/tree.reel"), |
11 | newFileLocationSelectionModule = require("js/io/ui/new-file-dialog/new-file-workflow-controller"); | 11 | newFileLocationSelectionModule = require("js/io/ui/new-file-dialog/new-file-workflow-controller"); |
12 | //nj= ("js/lib/NJUtils.js").NJUtils; | ||
13 | 12 | ||
14 | var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(Component, { | 13 | var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(Component, { |
15 | 14 | ||
@@ -82,6 +81,9 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
82 | this.eventManager.addEventListener("newFileDirectorySet", function(evt){that.handleNewFileDirectorySet(evt);}, false); | 81 | this.eventManager.addEventListener("newFileDirectorySet", function(evt){that.handleNewFileDirectorySet(evt);}, false); |
83 | this.eventManager.addEventListener("newFileNameSet", function(evt){that.handleNewFileNameSet(evt);}, false); | 82 | this.eventManager.addEventListener("newFileNameSet", function(evt){that.handleNewFileNameSet(evt);}, false); |
84 | 83 | ||
84 | this.okButton.addEventListener("click", function(evt){that.handleOkButtonAction(evt);}, false); | ||
85 | this.cancelButton.addEventListener("click", function(evt){that.handleCancelButtonAction(evt);}, false); | ||
86 | |||
85 | if(!!this.newFileModel.defaultProjectType){ | 87 | if(!!this.newFileModel.defaultProjectType){ |
86 | var templates = this.newFileModel.prepareContents(this.newFileModel.defaultProjectType); | 88 | var templates = this.newFileModel.prepareContents(this.newFileModel.defaultProjectType); |
87 | this.templateList = iconsListModule.IconsList.create(); | 89 | this.templateList = iconsListModule.IconsList.create(); |
@@ -92,6 +94,14 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
92 | 94 | ||
93 | this.selectedProjectType = {"uri":this.newFileModel.defaultProjectType, "element":null}; | 95 | this.selectedProjectType = {"uri":this.newFileModel.defaultProjectType, "element":null}; |
94 | } | 96 | } |
97 | |||
98 | //update file Extension | ||
99 | if(!!this.newFileModel.projectTypeData[this.newFileModel.defaultProjectType].fileExtension){ | ||
100 | var fileExtensionEl = this.element.querySelector(".fileExtension"); | ||
101 | if(!!fileExtensionEl){ | ||
102 | fileExtensionEl.innerHTML = ""+this.newFileModel.projectTypeData[this.newFileModel.defaultProjectType].fileExtension; | ||
103 | } | ||
104 | } | ||
95 | } | 105 | } |
96 | 106 | ||
97 | }, | 107 | }, |
@@ -128,7 +138,15 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
128 | 138 | ||
129 | //clear current template selection | 139 | //clear current template selection |
130 | if((!!this.selectedTemplate) && (this.selectedTemplate.element.classList.contains("selected"))){ | 140 | if((!!this.selectedTemplate) && (this.selectedTemplate.element.classList.contains("selected"))){ |
131 | this.selectedTemplate.element.classList.remove("selected"); | 141 | this.selectedTemplate.element.classList.remove("selected"); |
142 | } | ||
143 | |||
144 | //update file Extension | ||
145 | if(!!this.newFileModel.projectTypeData[evt.uri].fileExtension){ | ||
146 | var fileExtensionEl = this.element.querySelector(".fileExtension"); | ||
147 | if(!!fileExtensionEl){ | ||
148 | fileExtensionEl.innerHTML = ""+this.newFileModel.projectTypeData[evt.uri].fileExtension; | ||
149 | } | ||
132 | } | 150 | } |
133 | 151 | ||
134 | //disable ok | 152 | //disable ok |
@@ -186,6 +204,7 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
186 | projectWidth = this.newFileLocation.templateWidth, | 204 | projectWidth = this.newFileLocation.templateWidth, |
187 | projectHeight = this.newFileLocation.templateHeight, | 205 | projectHeight = this.newFileLocation.templateHeight, |
188 | 206 | ||
207 | newFilePath = "", fileExtension=this.newFileModel.projectTypeData[selectedProjectTypeID].fileExtension, | ||
189 | 208 | ||
190 | selectionlog= "selectedProjectTypeID="+selectedProjectTypeID +"\n"+ | 209 | selectionlog= "selectedProjectTypeID="+selectedProjectTypeID +"\n"+ |
191 | "templateID="+templateID+ "\n"+ | 210 | "templateID="+templateID+ "\n"+ |
@@ -194,29 +213,31 @@ var NewFileOptionsNavigator = exports.NewFileOptionsNavigator = Montage.create(C | |||
194 | "projectWidth="+projectWidth+"\n"+ | 213 | "projectWidth="+projectWidth+"\n"+ |
195 | "projectHeight="+projectHeight; | 214 | "projectHeight="+projectHeight; |
196 | 215 | ||
216 | |||
217 | if(/[^/\\]$/g.test(projectDirectory)){ | ||
218 | projectDirectory = projectDirectory + "/"; | ||
219 | } | ||
220 | if(!!fileExtension && (projectName.lastIndexOf(fileExtension) !== (projectName.length - fileExtension.length))){ | ||
221 | projectName = projectName+fileExtension; | ||
222 | } | ||
223 | newFilePath = "" + projectDirectory + projectName; | ||
224 | |||
225 | |||
197 | if(!!this.selectedProjectType && !!this.selectedTemplate | 226 | if(!!this.selectedProjectType && !!this.selectedTemplate |
198 | && this.isValidFileName(projectName) && this.isValidUri(projectDirectory) | 227 | && this.isValidFileName(projectName) && this.isValidUri(projectDirectory) |
199 | && !this.checkFileExists(projectName, projectDirectory, this.selectedProjectType) | 228 | && !this.checkFileExists(projectName, projectDirectory, this.selectedProjectType) |
200 | ){ | 229 | ){ |
201 | this.error.innerHTML=""; | 230 | this.error.innerHTML=""; |
202 | console.log("$$$ new file selections: \n" + selectionlog); | 231 | //console.log("$$$ new file selections: \n" + selectionlog); |
203 | if(!!this.newFileModel.callback && !!this.newFileModel.callbackScope){//inform document-controller if save successful | 232 | if(!!this.newFileModel.callback && !!this.newFileModel.callbackScope){//inform document-controller if save successful |
204 | this.newFileModel.callback.call(this.newFileModel.callbackScope, {"selectedProjectTypeID":selectedProjectTypeID, | 233 | this.newFileModel.callback.call(this.newFileModel.callbackScope, {"fileTemplateUri":selectedProjectTypeID, |
205 | "templateID":templateID, | 234 | "newFilePath":newFilePath, |
206 | "projectName": projectName, | 235 | "fileExtension":fileExtension});//document-controller api |
207 | "projectDirectory":projectDirectory, | ||
208 | "projectWidth":projectWidth, | ||
209 | "projectHeight":projectHeight});//document-controller api | ||
210 | }else{ | 236 | }else{ |