aboutsummaryrefslogtreecommitdiff
path: root/js/stage/objects-tray.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/stage/objects-tray.reel')
-rw-r--r--js/stage/objects-tray.reel/objects-tray.html12
-rw-r--r--js/stage/objects-tray.reel/objects-tray.js50
2 files changed, 56 insertions, 6 deletions
diff --git a/js/stage/objects-tray.reel/objects-tray.html b/js/stage/objects-tray.reel/objects-tray.html
index 0fece3fe..901f3e58 100644
--- a/js/stage/objects-tray.reel/objects-tray.html
+++ b/js/stage/objects-tray.reel/objects-tray.html
@@ -14,7 +14,9 @@
14 "owner": { 14 "owner": {
15 "prototype": "js/stage/objects-tray.reel", 15 "prototype": "js/stage/objects-tray.reel",
16 "properties": { 16 "properties": {
17 "element": {"#": "objects-tray"} 17 "element": {"#": "objects-tray"},
18 "iconsRepetition": {"@": "repetition" },
19 "offStageObjectsController": {"@": "arrayController"}
18 } 20 }
19 }, 21 },
20 "repetition" : { 22 "repetition" : {
@@ -38,7 +40,13 @@
38 "bindings": { 40 "bindings": {
39 "sourceObject" : {"<-": "@repetition.objectAtCurrentIteration"}, 41 "sourceObject" : {"<-": "@repetition.objectAtCurrentIteration"},
40 "identifier" : {"<-": "@repetition.objectAtCurrentIteration.identifier"} 42 "identifier" : {"<-": "@repetition.objectAtCurrentIteration.identifier"}
41 } 43 },
44 "listeners": [
45 {
46 "type": "click",
47 "listener": {"@": "owner"}
48 }
49 ]
42 } 50 }
43 51
44 } 52 }
diff --git a/js/stage/objects-tray.reel/objects-tray.js b/js/stage/objects-tray.reel/objects-tray.js
index 190abf57..75ece4c3 100644
--- a/js/stage/objects-tray.reel/objects-tray.js
+++ b/js/stage/objects-tray.reel/objects-tray.js
@@ -15,6 +15,26 @@ exports.ObjectsTray = Montage.create(Component, {
15 hideClass : { value: 'hide-objects-tray'}, 15 hideClass : { value: 'hide-objects-tray'},
16 _empty : { value: null }, 16 _empty : { value: null },
17 _workspaceMode : { value: null }, 17 _workspaceMode : { value: null },
18
19 iconsRepetition : {
20 value: null
21 },
22 offStageObjectsController : {
23 value: null
24 },
25
26 _showAllObjects : { value: null },
27 showAllObjects : {
28 get : function() { return this._showAllObjects; },
29 set : function(value) {
30 if(value === this._showAllObjects) { return; }
31
32 this._showAllObjects = value;
33
34 this.needsDraw = true;
35 }
36 },
37
18 workspaceMode : { 38 workspaceMode : {
19 get : function() { return this._workspaceMode; }, 39 get : function() { return this._workspaceMode; },
20 set : function(value) { 40 set : function(value) {
@@ -43,6 +63,16 @@ exports.ObjectsTray = Montage.create(Component, {
43 } 63 }
44 }, 64 },
45 65
66 offStageObjectFilter : {
67 value: function(obj) {
68 if(this.showAllObjects) {
69 return true;
70 }
71
72 return this.application.ninja.objectsController.isOffStageObject(obj);
73 }
74 },
75
46 _hide : { value: null }, 76 _hide : { value: null },
47 hide : { 77 hide : {
48 get : function() { return this._hide; }, 78 get : function() { return this._hide; },
@@ -55,10 +85,19 @@ exports.ObjectsTray = Montage.create(Component, {
55 } 85 }
56 }, 86 },
57 87
88 displayHUDForObject : {
89 value: function(object) {
90 this.parentComponent.boundComponents.push(object);
91 }
92 },
93
94 /* ---------------------
95 Draw Cycle
96 --------------------- */
58 97
59 templateDidLoad: { 98 templateDidLoad: {
60 value: function() { 99 value: function() {
61 console.log('objects panel loaded'); 100 this.offStageObjectsController.filterFunction = this.offStageObjectFilter.bind(this);
62 } 101 }
63 }, 102 },
64 103
@@ -77,12 +116,15 @@ exports.ObjectsTray = Montage.create(Component, {
77 "oneway": true 116 "oneway": true
78 }); 117 });
79 118
119 }
120 },
121 willDraw : {
122 value: function() {
80 if(this.objects) { 123 if(this.objects) {
81 this.empty = !this.objects.length; 124 this._empty = !this.offStageObjectsController.organizedObjects.length;
82 } else { 125 } else {
83 this.empty = true; 126 this._empty = true;
84 } 127 }
85
86 } 128 }
87 }, 129 },
88 draw : { 130 draw : {