aboutsummaryrefslogtreecommitdiff
path: root/js/document/views
diff options
context:
space:
mode:
authorJose Antonio Marquez2012-05-01 15:26:37 -0700
committerJose Antonio Marquez2012-05-01 15:26:37 -0700
commit4ba680a7e9168d0f505a81e42a287dfbc54b4d7d (patch)
tree861610e3676bdcfd5d1e54ce268fdceb66016238 /js/document/views
parent7812925f6864a6f3a01e4a76924dc5c71706ff37 (diff)
downloadninja-4ba680a7e9168d0f505a81e42a287dfbc54b4d7d.tar.gz
Preliminary IO to new DOM view
Diffstat (limited to 'js/document/views')
-rwxr-xr-xjs/document/views/base.js15
-rwxr-xr-xjs/document/views/design.js72
2 files changed, 62 insertions, 25 deletions
diff --git a/js/document/views/base.js b/js/document/views/base.js
index fc380027..d1c65b5e 100755
--- a/js/document/views/base.js
+++ b/js/document/views/base.js
@@ -15,35 +15,27 @@ exports.BaseDocumentView = Montage.create(Component, {
15 //////////////////////////////////////////////////////////////////// 15 ////////////////////////////////////////////////////////////////////
16 // 16 //
17 hasTemplate: { 17 hasTemplate: {
18 enumerable: false,
19 value: false 18 value: false
20 }, 19 },
21 //////////////////////////////////////////////////////////////////// 20 ////////////////////////////////////////////////////////////////////
22 // 21 //
23 parser: { 22 urlParser: {
24 enumerable: false,
25 value: UrlParser 23 value: UrlParser
26 }, 24 },
27 //////////////////////////////////////////////////////////////////// 25 ////////////////////////////////////////////////////////////////////
28 // 26 //
29 _iframe: { 27 _iframe: {
30 enumerable: false,
31 value: null 28 value: null
32 }, 29 },
33 //////////////////////////////////////////////////////////////////// 30 ////////////////////////////////////////////////////////////////////
34 // 31 //
35 iframe: { 32 iframe: {
36 get: function() { 33 get: function() {return this._iframe;},
37 return this._iframe; 34 set: function(value) {this._iframe= value;}
38 },
39 set: function(value) {
40 this._iframe= value;
41 }
42 }, 35 },
43 //////////////////////////////////////////////////////////////////// 36 ////////////////////////////////////////////////////////////////////
44 // 37 //
45 show: { 38 show: {
46 enumerable: false,
47 value: function (callback) { 39 value: function (callback) {
48 if (this.iframe) { 40 if (this.iframe) {
49 this.iframe.style.display = 'block'; 41 this.iframe.style.display = 'block';
@@ -57,7 +49,6 @@ exports.BaseDocumentView = Montage.create(Component, {
57 //////////////////////////////////////////////////////////////////// 49 ////////////////////////////////////////////////////////////////////
58 // 50 //
59 hide: { 51 hide: {
60 enumerable: false,
61 value: function (callback) { 52 value: function (callback) {
62 if (this.iframe) { 53 if (this.iframe) {
63 this.iframe.style.display = 'none'; 54 this.iframe.style.display = 'none';
diff --git a/js/document/views/design.js b/js/document/views/design.js
index ecd2956c..10963cab 100755
--- a/js/document/views/design.js
+++ b/js/document/views/design.js
@@ -7,44 +7,85 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot
7//////////////////////////////////////////////////////////////////////// 7////////////////////////////////////////////////////////////////////////
8// 8//
9var Montage = require("montage/core/core").Montage, 9var Montage = require("montage/core/core").Montage,
10 CodeDocumentView = require("js/document/views/code").CodeDocumentView; 10 BaseDocumentView = require("js/document/views/base").BaseDocumentView;
11//////////////////////////////////////////////////////////////////////// 11////////////////////////////////////////////////////////////////////////
12// 12//
13exports.DesignDocumentView = Montage.create(CodeDocumentView, { 13exports.DesignDocumentView = Montage.create(BaseDocumentView, {
14 //////////////////////////////////////////////////////////////////// 14 ////////////////////////////////////////////////////////////////////
15 // 15 //
16 hasTemplate: { 16 hasTemplate: {
17 enumerable: false,
18 value: false 17 value: false
19 }, 18 },
20 //////////////////////////////////////////////////////////////////// 19 ////////////////////////////////////////////////////////////////////
21 // 20 //
21 _callback: {
22 value: null
23 },
24 ////////////////////////////////////////////////////////////////////
25 //
26 _document: {
27 value: null
28 },
29 ////////////////////////////////////////////////////////////////////
30 //
31 content: {
32 value: null
33 },
34 ////////////////////////////////////////////////////////////////////
35 //
36 document: {
37 get: function() {return this._document;},
38 set: function(value) {this._document = value;}
39 },
40 ////////////////////////////////////////////////////////////////////
41 //
22 initiliaze: { 42 initiliaze: {
23 enumerable: false, 43 value: function (parent) {
24 value: function () { 44 //
45 this.iframe = document.createElement("iframe");
25 // 46 //
47 this.iframe.style.border = "none";
48 this.iframe.style.background = "#FFF";
49 this.iframe.style.height = "100%";
50 this.iframe.style.width = "100%";
51 //
52 return parent.appendChild(this.iframe);
26 } 53 }
27 }, 54 },
28 //////////////////////////////////////////////////////////////////// 55 ////////////////////////////////////////////////////////////////////
29 // 56 //
30 render: { 57 render: {
31 enumerable: false, 58 value: function (callback) {
32 value: function () {
33 // 59 //
60 this._callback = callback;
61 this.iframe.addEventListener("load", this.onTemplateLoad.bind(this), true);
62 this.iframe.src = "js/document/templates/montage-web/index.html";
34 } 63 }
35 }, 64 },
36 //////////////////////////////////////////////////////////////////// 65 ////////////////////////////////////////////////////////////////////
37 // 66 //
38 onTemplateLoad: { 67 onTemplateLoad: {
39 enumerable: false, 68 value: function (e) {
40 value: function () { 69 //
70 this.document = this.iframe.contentWindow.document;
71 //
72
73
74
75
76 //this.document.head.innerHTML += this.content.head;
77 this.document.body.innerHTML = this.content.head + this.content.body;
78
79
80
81
41 // 82 //
83 if (this._callback) this._callback();
42 } 84 }
43 }, 85 },
44 //////////////////////////////////////////////////////////////////// 86 ////////////////////////////////////////////////////////////////////
45 // 87 //
46 initCss: { 88 initCss: {
47 enumerable: false,
48 value: function () { 89 value: function () {
49 // 90 //
50 } 91 }
@@ -52,7 +93,6 @@ exports.DesignDocumentView = Montage.create(CodeDocumentView, {
52 //////////////////////////////////////////////////////////////////// 93 ////////////////////////////////////////////////////////////////////
53 // 94 //
54 initWebGl: { 95 initWebGl: {
55 enumerable: false,
56 value: function () { 96 value: function () {
57 // 97 //
58 } 98 }
@@ -60,11 +100,17 @@ exports.DesignDocumentView = Montage.create(CodeDocumentView, {
60 //////////////////////////////////////////////////////////////////// 100 ////////////////////////////////////////////////////////////////////
61 // 101 //
62 initMontage: { 102 initMontage: {
63 enumerable: false,
64 value: function () { 103 value: function () {
65 // 104 //
66 } 105 }
67 } 106 },
107 ////////////////////////////////////////////////////////////////////
108 //
109 getElementFromPoint: {
110 value: function(x, y) {
111 return this.iframe.contentWindow.getElement(x,y);
112 }
113 },
68 //////////////////////////////////////////////////////////////////// 114 ////////////////////////////////////////////////////////////////////
69 //////////////////////////////////////////////////////////////////// 115 ////////////////////////////////////////////////////////////////////
70}); 116});