diff options
author | François Frisch | 2012-03-16 17:57:18 -0700 |
---|---|---|
committer | François Frisch | 2012-03-17 10:59:11 -0700 |
commit | 9b8a24a7360416d5750828c9580e33dd336ff882 (patch) | |
tree | 15fd53cc9e2c65309997ac8a888270f34e89f2a1 /js/document/templates | |
parent | 954f5a13e371febcb1c0fb8015c577ee51c23130 (diff) | |
download | ninja-9b8a24a7360416d5750828c9580e33dd336ff882.tar.gz |
Getting ownerComponent bindings
Diffstat (limited to 'js/document/templates')
-rw-r--r-- | js/document/templates/montage-html/main.reel/main.js | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/js/document/templates/montage-html/main.reel/main.js b/js/document/templates/montage-html/main.reel/main.js index 567f481c..ee23e844 100644 --- a/js/document/templates/montage-html/main.reel/main.js +++ b/js/document/templates/montage-html/main.reel/main.js | |||
@@ -17,7 +17,25 @@ exports.Main = Montage.create(Component, { | |||
17 | */ | 17 | */ |
18 | templateDidLoad: { | 18 | templateDidLoad: { |
19 | value: function(){ | 19 | value: function(){ |
20 | window.addComponent = this.addComponentToUserDocument; | 20 | var self = this; |
21 | window.addComponent = function(element, data, callback) { | ||
22 | var component; | ||
23 | |||
24 | component = require.async(data.path) | ||
25 | .then(function(component) { | ||
26 | var componentRequire = component[data.name]; | ||
27 | var componentInstance = componentRequire.create(); | ||
28 | |||
29 | componentInstance.element = element; | ||
30 | //componentInstance.deserializedFromTemplate(); | ||
31 | componentInstance.needsDraw = true; | ||
32 | componentInstance.ownerComponent = self; | ||
33 | |||
34 | callback(componentInstance, element); | ||
35 | }) | ||
36 | .end(); | ||
37 | |||
38 | }; | ||
21 | // window.addBinding = this.addBindingToUserDocument; | 39 | // window.addBinding = this.addBindingToUserDocument; |
22 | 40 | ||
23 | // Dispatch event when this template has loaded. | 41 | // Dispatch event when this template has loaded. |
@@ -29,26 +47,9 @@ exports.Main = Montage.create(Component, { | |||
29 | } | 47 | } |
30 | }, | 48 | }, |
31 | 49 | ||
32 | // Adding components to the user document by using a async require. | 50 | location: { |
33 | addComponentToUserDocument:{ | 51 | value:null, |
34 | value:function(element, data, callback){ | 52 | enumerable:false |
35 | |||
36 | var component; | ||
37 | |||
38 | component = require.async(data.path) | ||
39 | .then(function(component) { | ||
40 | var componentRequire = component[data.name]; | ||
41 | var componentInstance = componentRequire.create(); | ||
42 | |||
43 | componentInstance.element = element; | ||
44 | //componentInstance.deserializedFromTemplate(); | ||
45 | componentInstance.needsDraw = true; | ||
46 | |||
47 | callback(componentInstance, element); | ||
48 | }) | ||
49 | .end(); | ||
50 | |||
51 | } | ||
52 | } | 53 | } |
53 | 54 | ||
54 | }); \ No newline at end of file | 55 | }); \ No newline at end of file |