From 4ba680a7e9168d0f505a81e42a287dfbc54b4d7d Mon Sep 17 00:00:00 2001 From: Jose Antonio Marquez Date: Tue, 1 May 2012 15:26:37 -0700 Subject: Preliminary IO to new DOM view --- js/document/views/base.js | 15 ++-------- js/document/views/design.js | 72 +++++++++++++++++++++++++++++++++++++-------- 2 files changed, 62 insertions(+), 25 deletions(-) (limited to 'js/document/views') 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, { //////////////////////////////////////////////////////////////////// // hasTemplate: { - enumerable: false, value: false }, //////////////////////////////////////////////////////////////////// // - parser: { - enumerable: false, + urlParser: { value: UrlParser }, //////////////////////////////////////////////////////////////////// // _iframe: { - enumerable: false, value: null }, //////////////////////////////////////////////////////////////////// // iframe: { - get: function() { - return this._iframe; - }, - set: function(value) { - this._iframe= value; - } + get: function() {return this._iframe;}, + set: function(value) {this._iframe= value;} }, //////////////////////////////////////////////////////////////////// // show: { - enumerable: false, value: function (callback) { if (this.iframe) { this.iframe.style.display = 'block'; @@ -57,7 +49,6 @@ exports.BaseDocumentView = Montage.create(Component, { //////////////////////////////////////////////////////////////////// // hide: { - enumerable: false, value: function (callback) { if (this.iframe) { 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 //////////////////////////////////////////////////////////////////////// // var Montage = require("montage/core/core").Montage, - CodeDocumentView = require("js/document/views/code").CodeDocumentView; + BaseDocumentView = require("js/document/views/base").BaseDocumentView; //////////////////////////////////////////////////////////////////////// // -exports.DesignDocumentView = Montage.create(CodeDocumentView, { +exports.DesignDocumentView = Montage.create(BaseDocumentView, { //////////////////////////////////////////////////////////////////// // hasTemplate: { - enumerable: false, value: false }, + //////////////////////////////////////////////////////////////////// + // + _callback: { + value: null + }, + //////////////////////////////////////////////////////////////////// + // + _document: { + value: null + }, + //////////////////////////////////////////////////////////////////// + // + content: { + value: null + }, + //////////////////////////////////////////////////////////////////// + // + document: { + get: function() {return this._document;}, + set: function(value) {this._document = value;} + }, //////////////////////////////////////////////////////////////////// // initiliaze: { - enumerable: false, - value: function () { + value: function (parent) { + // + this.iframe = document.createElement("iframe"); // + this.iframe.style.border = "none"; + this.iframe.style.background = "#FFF"; + this.iframe.style.height = "100%"; + this.iframe.style.width = "100%"; + // + return parent.appendChild(this.iframe); } }, //////////////////////////////////////////////////////////////////// // render: { - enumerable: false, - value: function () { + value: function (callback) { // + this._callback = callback; + this.iframe.addEventListener("load", this.onTemplateLoad.bind(this), true); + this.iframe.src = "js/document/templates/montage-web/index.html"; } }, //////////////////////////////////////////////////////////////////// // onTemplateLoad: { - enumerable: false, - value: function () { + value: function (e) { + // + this.document = this.iframe.contentWindow.document; + // + + + + + //this.document.head.innerHTML += this.content.head; + this.document.body.innerHTML = this.content.head + this.content.body; + + + + // + if (this._callback) this._callback(); } }, //////////////////////////////////////////////////////////////////// // initCss: { - enumerable: false, value: function () { // } @@ -52,7 +93,6 @@ exports.DesignDocumentView = Montage.create(CodeDocumentView, { //////////////////////////////////////////////////////////////////// // initWebGl: { - enumerable: false, value: function () { // } @@ -60,11 +100,17 @@ exports.DesignDocumentView = Montage.create(CodeDocumentView, { //////////////////////////////////////////////////////////////////// // initMontage: { - enumerable: false, value: function () { // } - } + }, + //////////////////////////////////////////////////////////////////// + // + getElementFromPoint: { + value: function(x, y) { + return this.iframe.contentWindow.getElement(x,y); + } + }, //////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////// }); -- cgit v1.2.3