diff options
-rwxr-xr-x | js/components/ui/FilePicker/file-picker-controller.js | 10 | ||||
-rw-r--r--[-rwxr-xr-x] | js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css | 1 | ||||
-rw-r--r--[-rwxr-xr-x] | js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js | 11 | ||||
-rw-r--r--[-rwxr-xr-x] | js/components/ui/icon-list-basic/icon.reel/icon.css | 9 | ||||
-rwxr-xr-x | js/io/document/document-controller.js | 10 | ||||
-rwxr-xr-x | js/io/system/coreioapi.js | 48 | ||||
-rw-r--r-- | js/io/utils/file-utils.js | 75 | ||||
-rw-r--r--[-rwxr-xr-x] | js/io/workflow/newFileDialog/new-file-options-navigator.reel/new-file-options-navigator.js | 41 | ||||
-rw-r--r--[-rwxr-xr-x] | js/io/workflow/save-as-dialog.reel/save-as-dialog.css | 6 | ||||
-rw-r--r--[-rwxr-xr-x] | js/io/workflow/save-as-dialog.reel/save-as-dialog.html | 4 | ||||
-rw-r--r--[-rwxr-xr-x] | js/io/workflow/save-as-dialog.reel/save-as-dialog.js | 138 |
11 files changed, 225 insertions, 128 deletions
diff --git a/js/components/ui/FilePicker/file-picker-controller.js b/js/components/ui/FilePicker/file-picker-controller.js index f14857ac..635da3a2 100755 --- a/js/components/ui/FilePicker/file-picker-controller.js +++ b/js/components/ui/FilePicker/file-picker-controller.js | |||
@@ -8,7 +8,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
8 | var Montage = require("montage/core/core").Montage, | 8 | var Montage = require("montage/core/core").Montage, |
9 | pickerNavigatorReel = require("js/components/ui/FilePicker/pickerNavigator.reel").PickerNavigator, | 9 | pickerNavigatorReel = require("js/components/ui/FilePicker/pickerNavigator.reel").PickerNavigator, |
10 | filePickerModelModule = require("js/components/ui/FilePicker/file-picker-model"), | 10 | filePickerModelModule = require("js/components/ui/FilePicker/file-picker-model"), |
11 | fileSystem = require("js/io/system/filesystem").FileSystem, | 11 | fileSystem = require("js/io/system/coreioapi").CoreIoApi, |
12 | Popup = require("montage/ui/popup/popup.reel").Popup; | 12 | Popup = require("montage/ui/popup/popup.reel").Popup; |
13 | 13 | ||
14 | //singleton with functions to create a new file picker instance and utilities to format or filter the model data | 14 | //singleton with functions to create a new file picker instance and utilities to format or filter the model data |
@@ -101,7 +101,7 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
101 | var aModel = filePickerModelModule.FilePickerModel.create(); | 101 | var aModel = filePickerModelModule.FilePickerModel.create(); |
102 | 102 | ||
103 | var topLevelDirectories = null; | 103 | var topLevelDirectories = null; |
104 | var driveData = fileSystem.shellApiHandler.getDirectoryContents({uri:"", recursive:false, returnType:"all"}); | 104 | var driveData = fileSystem.getDirectoryContents({uri:"", recursive:false, returnType:"all"}); |
105 | if(driveData.success){ | 105 | if(driveData.success){ |
106 | topLevelDirectories = (JSON.parse(driveData.content)).children; | 106 | topLevelDirectories = (JSON.parse(driveData.content)).children; |
107 | }else{ | 107 | }else{ |
@@ -244,7 +244,7 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
244 | || !this._directoryContentCache[folderUri].children){ | 244 | || !this._directoryContentCache[folderUri].children){ |
245 | //get data using IO api | 245 | //get data using IO api |
246 | try{ | 246 | try{ |
247 | var iodata = fileSystem.shellApiHandler.getDirectoryContents({uri:folderUri, recursive:false, returnType:"all"}); | 247 | var iodata = fileSystem.getDirectoryContents({uri:folderUri, recursive:false, returnType:"all"}); |
248 | //console.log("IO:getDirectoryContents:Response:\n"+"uri="+folderUri+"\n status="+iodata.status+"\n content= "+iodata.content); | 248 | //console.log("IO:getDirectoryContents:Response:\n"+"uri="+folderUri+"\n status="+iodata.status+"\n content= "+iodata.content); |
249 | if(iodata.success && (iodata.status === 200) && (iodata.content !== null)){ | 249 | if(iodata.success && (iodata.status === 200) && (iodata.content !== null)){ |
250 | folderContent = JSON.parse(iodata.content); | 250 | folderContent = JSON.parse(iodata.content); |
@@ -456,7 +456,7 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
456 | //check for directory staleness.... if stale query filesystem | 456 | //check for directory staleness.... if stale query filesystem |
457 | if((new Date()).getTime() > (this._directoryContentCache[folderUri].queriedTimeStamp + this.cacheStaleTime)){ | 457 | if((new Date()).getTime() > (this._directoryContentCache[folderUri].queriedTimeStamp + this.cacheStaleTime)){ |
458 | try{ | 458 | try{ |
459 | var ifModifiedResponse = fileSystem.shellApiHandler.isDirectoryModified({uri:folderUri, recursive:false, returnType:"all"}, this._directoryContentCache[folderUri].queriedTimeStamp); | 459 | var ifModifiedResponse = fileSystem.isDirectoryModified({uri:folderUri, recursive:false, returnType:"all"}, this._directoryContentCache[folderUri].queriedTimeStamp); |
460 | //console.log("ifModifiedResponse"); | 460 | //console.log("ifModifiedResponse"); |
461 | //console.log(ifModifiedResponse); | 461 | //console.log(ifModifiedResponse); |
462 | }catch(e){ | 462 | }catch(e){ |
@@ -468,7 +468,7 @@ var FilePickerController = exports.FilePickerController = Montage.create(require | |||
468 | wasStale = true; | 468 | wasStale = true; |
469 | //uri has changed. so update cache | 469 | //uri has changed. so update cache |
470 | try{ | 470 | try{ |
471 | var iodata = fileSystem.shellApiHandler.getDirectoryContents({uri:folderUri, recursive:false, returnType:"all"}); | 471 | var iodata = fileSystem.getDirectoryContents({uri:folderUri, recursive:false, returnType:"all"}); |
472 | //console.log("IO:getDirectoryContents:Response:\n"+"uri="+folderUri+"\n status="+iodata.status+"\n content= "+iodata.content); | 472 | //console.log("IO:getDirectoryContents:Response:\n"+"uri="+folderUri+"\n status="+iodata.status+"\n content= "+iodata.content); |
473 | if(iodata.success && (iodata.status === 200) && (iodata.content !== null)){ | 473 | if(iodata.success && (iodata.status === 200) && (iodata.content !== null)){ |
474 | folderContent = JSON.parse(iodata.content); | 474 | folderContent = JSON.parse(iodata.content); |
diff --git a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css index 61328ce0..93578ec1 100755..100644 --- a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css +++ b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css | |||
@@ -63,6 +63,7 @@ | |||
63 | 63 | ||
64 | .picker .driversList:hover{ | 64 | .picker .driversList:hover{ |
65 | cursor:pointer; | 65 | cursor:pointer; |
66 | background-color: #444444; | ||
66 | } | 67 | } |
67 | 68 | ||
68 | .picker .highlighted{ | 69 | .picker .highlighted{ |
diff --git a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js index eec7c8e8..268ec41a 100755..100644 --- a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js +++ b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js | |||
@@ -621,6 +621,16 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, { | |||
621 | this.currentSelectedNode = evt.target; | 621 | this.currentSelectedNode = evt.target; |
622 | 622 | ||
623 | }else{ | 623 | }else{ |
624 | |||
625 | |||
626 | //test: highlight non-selectable icons too | ||
627 | if(!evt.target.classList.contains("selected")){ | ||
628 | evt.target.classList.add("selected"); | ||
629 | } | ||
630 | this.currentSelectedNode = evt.target; | ||
631 | //end- test | ||
632 | |||
633 | |||
624 | //disable OK | 634 | //disable OK |
625 | if(!this.okButton.hasAttribute("disabled")){ | 635 | if(!this.okButton.hasAttribute("disabled")){ |
626 | this.okButton.setAttribute("disabled", "true"); | 636 | this.okButton.setAttribute("disabled", "true"); |
@@ -776,6 +786,7 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, { | |||
776 | this.pickerModel.callback.call(this.pickerModel.callbackScope, {"uri":this.selectedItems}); | 786 | this.pickerModel.callback.call(this.pickerModel.callbackScope, {"uri":this.selectedItems}); |
777 | }catch(e){ | 787 | }catch(e){ |
778 | success = false; | 788 | success = false; |
789 | console.log("[Error] Failed to open "+ this.selectedItems.toString()); | ||
779 | console.log(e.stack); | 790 | console.log(e.stack); |
780 | } | 791 | } |
781 | }else{//else send an event with the selected files | 792 | }else{//else send an event with the selected files |
diff --git a/js/components/ui/icon-list-basic/icon.reel/icon.css b/js/components/ui/icon-list-basic/icon.reel/icon.css index ca591aff..4d71f6b8 100755..100644 --- a/js/components/ui/icon-list-basic/icon.reel/icon.css +++ b/js/components/ui/icon-list-basic/icon.reel/icon.css | |||
@@ -17,15 +17,18 @@ | |||
17 | } | 17 | } |
18 | 18 | ||
19 | .icon .selected{ | 19 | .icon .selected{ |
20 | /*background-color: #d1d1d1;*/ | ||
21 | background-color: #919191; | 20 | background-color: #919191; |
22 | } | 21 | } |
23 | 22 | ||
23 | /*highlight on hover*/ | ||
24 | .icon:hover{ | ||
25 | background-color: #919191; | ||
26 | } | ||
27 | /*end- test*/ | ||
28 | |||
24 | .icon .iconImg{ | 29 | .icon .iconImg{ |
25 | width:35px; | 30 | width:35px; |
26 | height:35px; | 31 | height:35px; |
27 | /*border: 1px solid #000000; | ||
28 | box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.8);*/ | ||
29 | margin-left: 20px; | 32 | margin-left: 20px; |
30 | margin-top: 10px; | 33 | margin-top: 10px; |
31 | } | 34 | } |
diff --git a/js/io/document/document-controller.js b/js/io/document/document-controller.js index 6f363bc7..7cf7f409 100755 --- a/js/io/document/document-controller.js +++ b/js/io/document/document-controller.js | |||
@@ -15,7 +15,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
15 | var Montage = require("montage/core/core").Montage, | 15 | var Montage = require("montage/core/core").Montage, |
16 | Component = require("montage/ui/component").Component, | 16 | Component = require("montage/ui/component").Component, |
17 | Uuid = require("montage/core/uuid").Uuid, | 17 | Uuid = require("montage/core/uuid").Uuid, |
18 | fileSystem = require("js/io/system/filesystem").FileSystem; | 18 | fileSystem = require("js/io/system/coreioapi").CoreIoApi; |
19 | 19 | ||
20 | var HTMLDocument = require("js/io/document/html-document").HTMLDocument; | 20 | var HTMLDocument = require("js/io/document/html-document").HTMLDocument; |
21 | var TextDocument = require("js/io/document/text-document").TextDocument; | 21 | var TextDocument = require("js/io/document/text-document").TextDocument; |
@@ -104,7 +104,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component, | |||
104 | 104 | ||
105 | // Get file from Jose Code with a callback to here | 105 | // Get file from Jose Code with a callback to here |
106 | if(!!uri){ | 106 | if(!!uri){ |
107 | response = fileSystem.shellApiHandler.openFile({"uri":uri}); | 107 | response = fileSystem.openFile({"uri":uri}); |
108 | if((response.success === true) && ((response.status === 200) || (response.status === 304))){ | 108 | if((response.success === true) && ((response.status === 200) || (response.status === 304))){ |
109 | fileContent = response.content; | 109 | fileContent = response.content; |
110 | } | 110 | } |
@@ -417,10 +417,10 @@ _createTextAreaElement: { | |||
417 | 417 | ||
418 | codeMirrorDiv.appendChild(textArea); | 418 | codeMirrorDiv.appendChild(textArea); |
419 | 419 | ||
420 | if(!this._textHolder) this._textHolder = document.getElementById("codeViewContainer"); | 420 | // if(!this._textHolder) this._textHolder = document.getElementById("codeViewContainer"); |
421 | this._textHolder.appendChild(codeMirrorDiv); | 421 | // this._textHolder.appendChild(codeMirrorDiv); |
422 | 422 | ||
423 | return codeMirrorDiv; | 423 | return textArea; |
424 | } | 424 | } |
425 | } | 425 | } |
426 | }); \ No newline at end of file | 426 | }); \ No newline at end of file |
diff --git a/js/io/system/coreioapi.js b/js/io/system/coreioapi.js index 33c7bc28..5deeae73 100755 --- a/js/io/system/coreioapi.js +++ b/js/io/system/coreioapi.js | |||
@@ -134,6 +134,9 @@ exports.CoreIoApi = Montage.create(Component, { | |||
134 | directoryServiceURL: { | 134 | directoryServiceURL: { |
135 | enumerable: false, | 135 | enumerable: false, |
136 | get: function() { | 136 | get: function() { |
137 | if(!this.rootUrl){ | ||
138 | this.rootUrl = 'http://localhost:16380'; | ||
139 | } | ||