/* 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(''); } } });