aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorValerio Virgillito2012-02-16 11:22:32 -0800
committerValerio Virgillito2012-02-16 11:22:32 -0800
commit71619045b692015b0889a4f5c381c1dee9c056cd (patch)
tree9b844d18df96c028360404f718fadfdd7c681aad /js
parent9aed3035ed7b0807ec198327ddd8305596331491 (diff)
parent729e32ee70b0dd30a3b498ed7d1636b1b5b56a43 (diff)
downloadninja-71619045b692015b0889a4f5c381c1dee9c056cd.tar.gz
Merge pull request #45 from joseeight/FileIO
File IO
Diffstat (limited to 'js')
-rw-r--r--js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css3
-rw-r--r--js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js32
-rw-r--r--js/components/ui/icon-list-basic/icon.reel/icon.css16
-rwxr-xr-xjs/controllers/document-controller.js71
-rwxr-xr-xjs/document/controllers/base-controller.js32
-rwxr-xr-xjs/document/html-document.js (renamed from js/io/document/html-document.js)44
-rwxr-xr-xjs/document/mediators/base-mediator.js32
-rwxr-xr-xjs/document/models/base-model.js32
-rwxr-xr-xjs/document/text-document.js195
-rwxr-xr-xjs/document/views/base-view.js32
-rwxr-xr-xjs/io/document/base-document.js93
-rwxr-xr-xjs/io/document/text-document.js156
-rwxr-xr-xjs/io/system/coreioapi.js18
-rw-r--r--js/io/system/ninjalibrary.js25
-rw-r--r--js/io/system/ninjalibrary.json5
-rw-r--r--js/io/ui/save-as-dialog.reel/save-as-dialog.css57
-rw-r--r--js/io/ui/save-as-dialog.reel/save-as-dialog.html4
-rw-r--r--js/mediators/io-mediator.js47
-rwxr-xr-xjs/ninja.reel/ninja.css2
-rwxr-xr-xjs/stage/stage-view.reel/stage-view.js5
20 files changed, 516 insertions, 385 deletions
diff --git a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css
index 9c85c6b5..796c283f 100644
--- a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css
+++ b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.css
@@ -6,7 +6,7 @@
6 6
7.picker{ 7.picker{
8 font-size:12px; 8 font-size:12px;
9 width:510px; 9 width:523px;
10 height:500px; 10 height:500px;
11 padding-top:15px; 11 padding-top:15px;
12 padding-left:15px; 12 padding-left:15px;
@@ -53,6 +53,7 @@
53 height:75%; 53 height:75%;
54 width:auto; 54 width:auto;
55 border-right: none; 55 border-right: none;
56 margin: 8px 0px 0px 8px;
56} 57}
57 58
58.picker .right-bottom{ 59.picker .right-bottom{
diff --git a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js
index 6b0d92f7..411386f9 100644
--- a/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js
+++ b/js/components/ui/FilePicker/pickerNavigator.reel/pickerNavigator.js
@@ -203,6 +203,13 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, {
203 this.pickerModel.storeHistory(this.pickerModel.currentRoot);//populate history 203 this.pickerModel.storeHistory(this.pickerModel.currentRoot);//populate history
204 204
205 this.updateMetadata(this.currentURI); 205 this.updateMetadata(this.currentURI);
206
207 //for directory selection, selected url is the folder entered
208 if(!this.pickerModel.inFileMode ){
209 this.okButton.removeAttribute("disabled");
210 //put into selectedItems..currently single selection is supported
211 this.selectedItems = [this.pickerModel.currentRoot];
212 }
206 } 213 }
207 214
208 this.element.addEventListener("openFolder", function(evt){that.handlePickerNavOpenFolder(evt);}, false);//add icon double click event listener to reload iconList with new set of data 215 this.element.addEventListener("openFolder", function(evt){that.handlePickerNavOpenFolder(evt);}, false);//add icon double click event listener to reload iconList with new set of data
@@ -211,6 +218,7 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, {
211 this.element.addEventListener("updateMetadata", function(evt){that.handlePickerNavUpdateMetadata(evt);}, false);//show metadata on click of icon 218 this.element.addEventListener("updateMetadata", function(evt){that.handlePickerNavUpdateMetadata(evt);}, false);//show metadata on click of icon
212 //this.addressGo.addEventListener("click", this, false); 219 //this.addressGo.addEventListener("click", this, false);
213 this.addressBarUri.addEventListener("keydown", this, false); 220 this.addressBarUri.addEventListener("keydown", this, false);
221 this.addressBarUri.addEventListener("keyup", this, false);
214 this.refreshButton.addEventListener("click", this, false);//refresh - gets from file system directly 222 this.refreshButton.addEventListener("click", this, false);//refresh - gets from file system directly
215 this.backArrow.addEventListener("click", this, false); 223 this.backArrow.addEventListener("click", this, false);
216 this.forwardArrow.addEventListener("click", this, false); 224 this.forwardArrow.addEventListener("click", this, false);
@@ -608,6 +616,13 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, {
608 this.backArrow.classList.remove("disable"); 616 this.backArrow.classList.remove("disable");
609 } 617 }
610 618
619 //for directory selection, selected url is the folder entered
620 if(!this.pickerModel.inFileMode ){
621 this.okButton.removeAttribute("disabled");
622 //put into selectedItems..currently single selection is supported
623 this.selectedItems = [evt.folderUri];
624 }
625
611 } 626 }
612 }, 627 },
613 628
@@ -720,6 +735,21 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, {
720 } 735 }
721 }, 736 },
722 737
738 handleAddressBarUriKeyup:{
739 value: function(evt){
740 //disable ok if user enters an invalid uri
741 if(!this.application.ninja.coreIoApi.isValidUri(this.addressBarUri.value)){
742 //disable OK
743 if(!this.okButton.hasAttribute("disabled")){
744 this.okButton.setAttribute("disabled", "true");
745 }
746 }else{
747 this.okButton.removeAttribute("disabled");
748 this.selectedItems = [this.addressBarUri.value];
749 }
750 }
751 },
752
723 handleRefreshButtonClick:{ 753 handleRefreshButtonClick:{
724 value:function(evt){ 754 value:function(evt){
725 var uri = this.addressBarUri.value; 755 var uri = this.addressBarUri.value;
@@ -794,7 +824,7 @@ var PickerNavigator = exports.PickerNavigator = Montage.create(Component, {
794 824
795 handleOkButtonAction : { 825 handleOkButtonAction : {
796 value: function(evt){ 826 value: function(evt){
797 console.log("$$$ File Picker : selected "+ this.selectedItems.toString()); 827 //console.log("$$$ File Picker : selected "+ this.selectedItems.toString());
798 var success = true; 828 var success = true;
799 if(!!this.pickerModel.callback && (this.selectedItems.length > 0)){//call the callback if it is available 829 if(!!this.pickerModel.callback && (this.selectedItems.length > 0)){//call the callback if it is available
800 try{ 830 try{
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 4d71f6b8..9fb180d2 100644
--- a/js/components/ui/icon-list-basic/icon.reel/icon.css
+++ b/js/components/ui/icon-list-basic/icon.reel/icon.css
@@ -5,14 +5,14 @@
5 </copyright> */ 5 </copyright> */
6 6
7.icon{ 7.icon{
8 width:90px; 8 width:88px;
9 height:80px; 9 height:78px;
10 display: inline; 10 display: inline;
11 float: left; 11 float: left;
12 -moz-border-radius: 8px; 12 -moz-border-radius: 8px;
13 border-radius: 8px; 13 border-radius: 8px;
14 margin-bottom: 5px; 14 margin-bottom: 8px;
15 margin-right: 5px; 15 margin-right: 8px;
16 background-color: #5f5f5f; 16 background-color: #5f5f5f;
17} 17}
18 18
@@ -29,17 +29,17 @@
29.icon .iconImg{ 29.icon .iconImg{
30 width:35px; 30 width:35px;
31 height:35px; 31 height:35px;
32 margin-left: 20px; 32 margin-left: 26px;
33 margin-top: 10px; 33 margin-top: 10px;
34} 34}
35 35
36.icon .iconLabel{ 36.icon .iconLabel{
37 margin-top:8px; 37 margin-top:8px;
38 white-space: nowrap; 38 white-space: nowrap;
39 text-overflow:ellipsis; 39 text-overflow: ellipsis;
40 line-height:15px; 40 line-height:15px;
41 overflow: hidden; 41 overflow: hidden;
42 max-width:80%; 42 width: 72px;
43 padding: 0px 8px;
43 text-align: center; 44 text-align: center;
44 padding-left: 2px;
45} \ No newline at end of file 45} \ No newline at end of file
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 84b994ce..b1a22c1b 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -9,8 +9,8 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
9var Montage = require("montage/core/core").Montage, 9var Montage = require("montage/core/core").Montage,
10 Component = require("montage/ui/component").Component, 10 Component = require("montage/ui/component").Component,
11 Uuid = require("montage/core/uuid").Uuid, 11 Uuid = require("montage/core/uuid").Uuid,
12 HTMLDocument = require("js/io/document/html-document").HTMLDocument, 12 HTMLDocument = require("js/document/html-document").HTMLDocument,
13 TextDocument = require("js/io/document/text-document").TextDocument, 13 TextDocument = require("js/document/text-document").TextDocument,
14 DocumentController; 14 DocumentController;
15//////////////////////////////////////////////////////////////////////// 15////////////////////////////////////////////////////////////////////////
16// 16//
@@ -28,29 +28,23 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
28 _iframeHolder: { value: null, enumerable