diff options
author | Ananya Sen | 2012-05-18 16:57:27 -0700 |
---|---|---|
committer | Ananya Sen | 2012-05-18 16:57:27 -0700 |
commit | bddbcd15c165ac0731de204b023a1e60d71b5d79 (patch) | |
tree | 727997cc71d5e9c951c1089dfbdeb90cd3b68e6f /js/document/templates/app/main.js | |
parent | 7a22f7b368ef549a5b30c58a0f3900685b764bdb (diff) | |
parent | e7c288fe8f5d3a9e5c9f0eb0a045c6c195a0e7b8 (diff) | |
download | ninja-bddbcd15c165ac0731de204b023a1e60d71b5d79.tar.gz |
Merge branch 'refs/heads/master-dom-architecture' into dom-architecture
Diffstat (limited to 'js/document/templates/app/main.js')
-rw-r--r-- | js/document/templates/app/main.js | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/js/document/templates/app/main.js b/js/document/templates/app/main.js new file mode 100644 index 00000000..a406abdb --- /dev/null +++ b/js/document/templates/app/main.js | |||
@@ -0,0 +1,61 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | var Montage = require("montage/core/core").Montage, | ||
7 | Component = require("montage/ui/component").Component, | ||
8 | Template = require("montage/ui/template").Template, | ||
9 | TemplateCreator = require("tools/template/template-creator").TemplateCreator; | ||
10 | |||
11 | exports.Main = Montage.create(Component, { | ||
12 | |||
13 | hasTemplate: { | ||
14 | value: false | ||
15 | }, | ||
16 | |||
17 | /** | ||
18 | * Adding window hooks to callback into this object from Ninja. | ||
19 | */ | ||
20 | templateDidLoad: { | ||
21 | value: function(){ | ||
22 | var self = this; | ||
23 | // | ||
24 | window.addComponent = function(element, data, callback) { | ||
25 | var component; | ||
26 | |||
27 | component = require.async(data.path) | ||
28 | .then(function(component) { | ||
29 | var componentRequire = component[data.name]; | ||
30 | var componentInstance = componentRequire.create(); | ||
31 | |||
32 | componentInstance.element = element; | ||
33 | |||
34 | componentInstance.needsDraw = true; | ||
35 | componentInstance.ownerComponent = self; | ||
36 | |||
37 | callback(componentInstance, element); | ||
38 | }) | ||
39 | .end(); | ||
40 | |||
41 | }; | ||
42 | // | ||
43 | window.mjsTemplateCreator = TemplateCreator; | ||
44 | // | ||
45 | window.mjsTemplate = Template; | ||
46 | // | ||
47 | var templateEvent = document.createEvent("CustomEvent"); | ||
48 | templateEvent.initCustomEvent("mjsTemplateReady", false, true); | ||
49 | document.body.dispatchEvent(templateEvent); | ||
50 | |||
51 | |||
52 | // Dispatch event when this template has loaded. | ||
53 | /* | ||
54 | var newEvent = document.createEvent( "CustomEvent" ); | ||
55 | newEvent.initCustomEvent( "userTemplateDidLoad", false, true ); | ||
56 | document.body.dispatchEvent( newEvent ); | ||
57 | */ | ||
58 | |||
59 | } | ||
60 | } | ||
61 | }); \ No newline at end of file | ||