diff options
Diffstat (limited to 'js')
25 files changed, 524 insertions, 390 deletions
diff --git a/js/components/controllers/tree-controller.js b/js/components/controllers/tree-controller.js index 03ef7b9e..1e9222fd 100644 --- a/js/components/controllers/tree-controller.js +++ b/js/components/controllers/tree-controller.js | |||
@@ -28,7 +28,7 @@ var TreeController = exports.TreeController = Montage.create(ObjectController, / | |||
28 | }, | 28 | }, |
29 | 29 | ||
30 | branchKey : { | 30 | branchKey : { |
31 | value: 'children' | 31 | value: null |
32 | }, | 32 | }, |
33 | 33 | ||
34 | _root : { | 34 | _root : { |
@@ -98,7 +98,8 @@ var TreeController = exports.TreeController = Montage.create(ObjectController, / | |||
98 | }, | 98 | }, |
99 | 99 | ||
100 | branchControllers: { | 100 | branchControllers: { |
101 | value: [] | 101 | value: [], |
102 | distinct: true | ||
102 | }, | 103 | }, |
103 | 104 | ||
104 | addBranchController : { | 105 | addBranchController : { |
diff --git a/js/components/treeview/ninja-branch.reel/ninja-branch.css b/js/components/treeview/ninja-branch.reel/ninja-branch.css index d8c212e8..a3a9350e 100644 --- a/js/components/treeview/ninja-branch.reel/ninja-branch.css +++ b/js/components/treeview/ninja-branch.reel/ninja-branch.css | |||
@@ -26,7 +26,7 @@ | |||
26 | cursor: pointer; | 26 | cursor: pointer; |
27 | font-weight: bold; | 27 | font-weight: bold; |
28 | padding: 3px 0 4px; | 28 | padding: 3px 0 4px; |
29 | text-shadow: 1px 1px 0 #000; | 29 | text-shadow: 1px 1px 1px #000; |
30 | } | 30 | } |
31 | 31 | ||
32 | /* First Level */ | 32 | /* First Level */ |
diff --git a/js/components/treeview/ninja-leaf.reel/ninja-leaf.css b/js/components/treeview/ninja-leaf.reel/ninja-leaf.css index 085b11e0..fedc1d9d 100644 --- a/js/components/treeview/ninja-leaf.reel/ninja-leaf.css +++ b/js/components/treeview/ninja-leaf.reel/ninja-leaf.css | |||
@@ -19,7 +19,6 @@ | |||
19 | /* Second level */ | 19 | /* Second level */ |
20 | .branch .branch .leaf-label { | 20 | .branch .branch .leaf-label { |
21 | background-position: 25px center; | 21 | background-position: 25px center; |
22 | box-shadow: 0 3px 4px -4px rgba(0,0,0,0.2); | ||
23 | color: #FFF; | 22 | color: #FFF; |
24 | padding-left: 45px; | 23 | padding-left: 45px; |
25 | } | 24 | } |
diff --git a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js index c6416693..1bfe66a4 100644 --- a/js/components/treeview/ninja-leaf.reel/ninja-leaf.js +++ b/js/components/treeview/ninja-leaf.reel/ninja-leaf.js | |||
@@ -63,7 +63,8 @@ exports.Leaf = Montage.create(TreeNode, { | |||
63 | 'dblclick' : 'handleDblclick', | 63 | 'dblclick' : 'handleDblclick', |
64 | 'dragstart' : 'handleDragStart', | 64 | 'dragstart' : 'handleDragStart', |
65 | 'dragend' : 'handleDragEnd' | 65 | 'dragend' : 'handleDragEnd' |
66 | } | 66 | }, |
67 | distinct: true | ||
67 | } | 68 | } |
68 | 69 | ||
69 | 70 | ||
diff --git a/js/components/treeview/tree-node.js b/js/components/treeview/tree-node.js index 689fc233..d7b864b5 100644 --- a/js/components/treeview/tree-node.js +++ b/js/components/treeview/tree-node.js | |||
@@ -44,7 +44,9 @@ exports.TreeNode = Montage.create(Component, { | |||
44 | if(!object) { | 44 | if(!object) { |
45 | return; | 45 | return; |
46 | } | 46 | } |
47 | |||
47 | if(object[this.branchKey]) { | 48 | if(object[this.branchKey]) { |
49 | this.childNodes.length = 0; | ||
48 | object[this.branchKey].forEach(function(node) { | 50 | object[this.branchKey].forEach(function(node) { |
49 | this.childNodes.push(node); | 51 | this.childNodes.push(node); |
50 | }, this); | 52 | }, this); |
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 |