From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- js/io/document/text-document.js | 91 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 js/io/document/text-document.js (limited to 'js/io/document/text-document.js') diff --git a/js/io/document/text-document.js b/js/io/document/text-document.js new file mode 100644 index 00000000..3506891a --- /dev/null +++ b/js/io/document/text-document.js @@ -0,0 +1,91 @@ +/* +This file contains proprietary software owned by Motorola Mobility, Inc.
+No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ + +var Montage = require("montage/core/core").Montage; +var baseDocumentModule = require("js/io/document/base-document"); + + +var TextDocument = exports.TextDocument = Montage.create(baseDocumentModule.BaseDocument, { + // PRIVATE MEMBERS + _codeEditor: { + value: { + "editor": { value: null, enumerable: false }, + "hline": { value: null, enumerable: false } + } + }, + + _textArea: { value: null, enumerable: false }, + + // Temporary Save the source + _source: { value: null, enumerable: false}, + + textArea: { + get: function() { return this._textArea;}, + set: function(value) { this._textArea = value; } + }, + + source: { + get: function() { return this._source;}, + set: function(value) { this._source = value;} + }, + + // PUBLIC MEMBERS + + //****************************************// + //PUBLIC API + + + // GETTERS / SETTERS + editor: { + get: function() { return this._codeEditor.editor; }, + set: function(value) { this._codeEditor.editor = value} + }, + + hline: { + get: function() { return this._codeEditor.hline; }, + set: function(value) {this._codeEditor.hline = value; } + }, + + + // PUBLIC METHODS + initialize: { + value: function(doc, uuid, textArea, callback) { + this.init(doc.name, doc.uri, doc.type, textArea, uuid, callback); + this.textArea = textArea.firstChild; + this.currentView = "code"; + this._loadContent(); + } + }, + + // PRIVATE METHODS + _loadContent: { + value: function() { + // Start and AJAX call to load the HTML Document as a String + var xhr = new XMLHttpRequest(); + var ref = this; + + xhr.onreadystatechange = function() { + if (xhr.readyState == 4) { + ref.source = xhr.responseText; + ref.textArea.innerHTML = xhr.responseText; + //ref.callback(xhr.responseText); + ref.callback(ref); + } + }; + + if(this.documentType === "js") { + xhr.open('GET', 'user-document-templates/montage-application-cloud/appdelegate.js'); + } else if(this.documentType === "css") { + xhr.open('GET', 'user-document-templates/montage-application-cloud/default_html.css'); + } else { + xhr.open('GET', 'user-document-templates/montage-application-cloud/index.html'); + } + + xhr.send(''); + } + } + +}); \ No newline at end of file -- cgit v1.2.3