aboutsummaryrefslogtreecommitdiff
path: root/js/components/menu
diff options
context:
space:
mode:
authorValerio Virgillito2012-06-04 10:20:57 -0700
committerValerio Virgillito2012-06-04 10:20:57 -0700
commitc1ec69879028220b0c3f11ad6e24035bf527802c (patch)
tree043bfe4ec9e08f4f598a4845ae5fbcddacc7c8fb /js/components/menu
parent3abba04025dbc0daadb08184833a2558c442b8e1 (diff)
parent266460e52831c5b3a3473be420756fd88bb8aced (diff)
downloadninja-c1ec69879028220b0c3f11ad6e24035bf527802c.tar.gz
Merge pull request #264 from mencio/document-bindings-fix
Document bindings fix - Changing the documents architecture to use bindings instead of events
Diffstat (limited to 'js/components/menu')
-rwxr-xr-xjs/components/menu/menu-entry.reel/menu-entry.html13
-rwxr-xr-xjs/components/menu/menu-item.reel/menu-item.html13
-rwxr-xr-xjs/components/menu/menu-item.reel/menu-item.js18
-rwxr-xr-xjs/components/menu/menu.reel/menu.html25
-rwxr-xr-xjs/components/menu/menu.reel/menu.js17
5 files changed, 31 insertions, 55 deletions
diff --git a/js/components/menu/menu-entry.reel/menu-entry.html b/js/components/menu/menu-entry.reel/menu-entry.html
index cd013a4e..f64de3cb 100755
--- a/js/components/menu/menu-entry.reel/menu-entry.html
+++ b/js/components/menu/menu-entry.reel/menu-entry.html
@@ -17,11 +17,7 @@
17 "automaticallyOrganizeObjects": false 17 "automaticallyOrganizeObjects": false
18 }, 18 },
19 "bindings": { 19 "bindings": {
20 "content": { 20 "content": {"<-": "@owner.data.entries"}
21 "boundObject": {"@": "owner"},
22 "boundObjectPropertyPath": "data.entries",
23 "oneway": true
24 }
25 } 21 }
26 }, 22 },
27 23
@@ -39,11 +35,8 @@
39 "element": { "#": "menuEntryItem" } 35 "element": { "#": "menuEntryItem" }
40 }, 36 },
41 "bindings": { 37 "bindings": {
42 "data": { 38 "data": {"<-": "@repetition.objectAtCurrentIteration"},
43 "boundObject": {"@": "repetition"}, 39 "enabled": {"<-": "@repetition.objectAtCurrentIteration.enabled"}
44 "boundObjectPropertyPath": "objectAtCurrentIteration",
45 "oneway": true
46 }
47 } 40 }
48 }, 41 },
49 42
diff --git a/js/components/menu/menu-item.reel/menu-item.html b/js/components/menu/menu-item.reel/menu-item.html
index 5ff8c0fc..1902833a 100755
--- a/js/components/menu/menu-item.reel/menu-item.html
+++ b/js/components/menu/menu-item.reel/menu-item.html
@@ -17,11 +17,7 @@
17 "automaticallyOrganizeObjects": false 17 "automaticallyOrganizeObjects": false
18 }, 18 },
19 "bindings": { 19 "bindings": {
20 "content": { 20 "content": {"<-": "@owner.subentries"}
21 "boundObject": {"@": "owner"},
22 "boundObjectPropertyPath": "subentries",
23 "oneway": true
24 }
25 } 21 }
26 }, 22 },
27 23
@@ -39,11 +35,8 @@
39 "element": {"#": "menuEntryItem" } 35 "element": {"#": "menuEntryItem" }
40 }, 36 },
41 "bindings": { 37 "bindings": {
42 "data": { 38 "data": {"<-": "@repetition.objectAtCurrentIteration"},
43 "boundObject": {"@": "repetition"}, 39 "enabled": {"<-": "@repetition.objectAtCurrentIteration.enabled"}
44 "boundObjectPropertyPath": "objectAtCurrentIteration",
45 "oneway": true
46 }
47 } 40 }
48 }, 41 },
49 42
diff --git a/js/components/menu/menu-item.reel/menu-item.js b/js/components/menu/menu-item.reel/menu-item.js
index fc3913b8..c00c4412 100755
--- a/js/components/menu/menu-item.reel/menu-item.js
+++ b/js/components/menu/menu-item.reel/menu-item.js
@@ -14,7 +14,7 @@ exports.MenuItem = Montage.create(Component, {
14 }, 14 },
15 15
16 _enabled: { 16 _enabled: {
17 value: null 17 value: false
18 }, 18 },
19 19
20 enabled: { 20 enabled: {
@@ -61,7 +61,6 @@ exports.MenuItem = Montage.create(Component, {
61 61
62 prepareForDraw: { 62 prepareForDraw: {
63 value: function() { 63 value: function() {
64 var boundObject = this.application.ninja, strArr = null, i=0;
65 64
66 if(!this.data) return; 65 if(!this.data) return;
67 66
@@ -83,21 +82,6 @@ exports.MenuItem = Montage.create(Component, {
83 82
84 } 83 }
85 84
86 if(this.data.enabled.boundProperty) {
87
88 boundObject = this.application.ninja[this.data.enabled.boundObj];
89
90 Object.defineBinding(this, "enabled", {
91 boundObject: boundObject,
92 boundObjectPropertyPath: this.data.enabled.boundProperty,
93 boundValueMutator: this.data.enabled.boundValueMutator,
94 oneway : this.data.enabled.oneway
95 });
96
97 } else {
98 this.enabled = this.data.enabled;
99 }
100
101 if(this.data.submenu) { 85 if(this.data.submenu) {
102 this.submenu = true; 86 this.submenu = true;
103 87
diff --git a/js/components/menu/menu.reel/menu.html b/js/components/menu/menu.reel/menu.html
index 49956f8a..f15cf119 100755
--- a/js/components/menu/menu.reel/menu.html
+++ b/js/components/menu/menu.reel/menu.html
@@ -12,7 +12,10 @@
12 <script type="text/montage-serialization"> 12 <script type="text/montage-serialization">
13 { 13 {
14 "menudata": { 14 "menudata": {
15 "prototype": "js/data/menu-data" 15 "prototype": "js/data/menu-data",
16 "bindings": {
17 "currentDocument": {"<-": "@owner.currentDocument"}
18 }
16 }, 19 },
17 20
18 "menuController": { 21 "menuController": {
@@ -21,11 +24,7 @@
21 "automaticallyOrganizeObjects": false 24 "automaticallyOrganizeObjects": false
22 }, 25 },
23 "bindings": { 26 "bindings": {
24 "content": { 27 "content": {"<-": "@menudata.topLevelMenu"}
25 "boundObject": {"@": "menudata"},
26 "boundObjectPropertyPath": "topLevelMenu",
27 "oneway": true
28 }
29 } 28 }
30 }, 29 },
31 30
@@ -44,18 +43,8 @@
44 "element": { "#": "menuItem" } 43 "element": { "#": "menuItem" }
45 }, 44 },
46 "bindings": { 45 "bindings": {
47 "data": { 46 "data": {"<-": "@repetition.objectAtCurrentIteration"},
48 "boundObject": {"@": "repetition"}, 47 "_menu": {"<-": "@repetition.menuComponent"}
49 "boundObjectPropertyPath": "objectAtCurrentIteration",
50 "oneway": true
51 },
52 "_menu": {
53 "boundObject": {"@": "repetition"},
54 "boundObjectPropertyPath": "menuComponent",
55 "oneway": true
56 }
57
58
59 } 48 }
60 }, 49 },
61 50
diff --git a/js/components/menu/menu.reel/menu.js b/js/components/menu/menu.reel/menu.js
index fb221640..50d3f0bc 100755
--- a/js/components/menu/menu.reel/menu.js
+++ b/js/components/menu/menu.reel/menu.js
@@ -9,6 +9,23 @@ var Montage = require("montage/core/core").Montage,
9 9
10exports.Menu = Montage.create(Component, { 10exports.Menu = Montage.create(Component, {
11 11
12 _currentDocument: {
13 value : null
14 },
15
16 currentDocument : {
17 get : function() {
18 return this._currentDocument;
19 },
20 set : function(value) {
21 if (value === this._currentDocument) {
22 return;
23 }
24
25 this._currentDocument = value;
26 }
27 },
28
12 _active: { 29 _active: {
13 value: false 30 value: false
14 }, 31 },