From 93c8f327d662a7693d1d6ca050a0efd15ebc18ed Mon Sep 17 00:00:00 2001 From: Jose Antonio Marquez Date: Tue, 14 Feb 2012 14:00:48 -0800 Subject: Merging TextDocument into BaseDocument Merged the text-document class with base-document, didn't make sense to have two classes for basic model of documents, the html-document class remain extending base-document to incorporate design view. These two classes might be renamed. --- js/controllers/document-controller.js | 4 +- js/document/models/base-document.js | 113 +++++++++++++++++++++++- js/document/models/text-document.js | 156 ---------------------------------- 3 files changed, 114 insertions(+), 159 deletions(-) delete mode 100755 js/document/models/text-document.js diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 9b412576..25f60cc5 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -10,7 +10,7 @@ var Montage = require("montage/core/core").Montage, Component = require("montage/ui/component").Component, Uuid = require("montage/core/uuid").Uuid, HTMLDocument = require("js/document/models/html-document").HTMLDocument, - TextDocument = require("js/document/models/text-document").TextDocument, + BaseDocument = require("js/document/models/base-document").BaseDocument, DocumentController; //////////////////////////////////////////////////////////////////////// // @@ -203,7 +203,7 @@ DocumentController = exports.DocumentController = Montage.create(Component, { break; default: //Open in code view - var code = Montage.create(TextDocument, {"source": {value: doc.content}}), docuuid = Uuid.generate(), textArea; + var code = Montage.create(BaseDocument, {"source": {value: doc.content}}), docuuid = Uuid.generate(), textArea; textArea = this.application.ninja.stage.stageView.createTextAreaElement(docuuid); code.initialize(doc, docuuid, textArea, textArea.parentNode); //code.init(doc.name, doc.uri, doc.extension, null, docuuid); diff --git a/js/document/models/base-document.js b/js/document/models/base-document.js index 918b51ad..45c340ce 100755 --- a/js/document/models/base-document.js +++ b/js/document/models/base-document.js @@ -9,6 +9,115 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot var Montage = require("montage/core/core").Montage; var BaseDocument = exports.BaseDocument = Montage.create(Montage, { + + + //TODO: Clean up, test + + + + + + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + //Taken from text-document, which shouldn't be needed + + // PRIVATE MEMBERS + _codeEditor: { + value: { + "editor": { value: null, enumerable: false }, + + } + }, + + _editor: { value: null, enumerable: false }, + _hline: { value: null, enumerable: false }, + + _textArea: {value: null, enumerable: false }, + + _userDocument: {value: null, enumerable: false }, + + _source: { value: null, enumerable: false}, + + source: { + get: function() { return this._source;}, + set: function(value) { this._source = value;} + }, + + // PUBLIC MEMBERS + + _savedLeftScroll: {value:null}, + _savedTopScroll: {value:null}, + + //****************************************// + //PUBLIC API + + + // GETTERS / SETTERS + + savedLeftScroll:{ + get: function() { return this._savedLeftScroll; }, + set: function(value) { this._savedLeftScroll = value} + }, + + savedTopScroll:{ + get: function() { return this._savedTopScroll; }, + set: function(value) { this._savedTopScroll = value} + }, + + textArea: { + get: function() { return this._textArea; }, + set: function(value) { this._textArea = value; } + }, + editor: { + get: function() { return this._editor; }, + set: function(value) { this._editor = value} + }, + + hline: { + get: function() { return this._hline; }, + set: function(value) {this._hline = value; } + }, + + + //////////////////////////////////////////////////////////////////// + // + initialize: { + value: function(file, uuid, textArea, container, callback) { + // + this._userDocument = file; + // + this.init(file.name, file.uri, file.extension, container, uuid, callback); + // + this.currentView = "code"; + this.textArea = textArea; + } + }, + //////////////////////////////////////////////////////////////////// + // + save: { + enumerable: false, + value: function () { + //TODO: Improve sequence + this.editor.save(); + return {mode: this._userDocument.extension, document: this._userDocument, content: this.textArea.value}; + } + }, + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + //////////////////////////////////////////////////////////////////// + + + + + + + + + + /** Private Members **/ _name: { value: null, enumerable: false }, _uri: { value: null, enumerable: false }, @@ -82,12 +191,14 @@ var BaseDocument = exports.BaseDocument = Montage.create(Montage, { value: function() { // Have the XHR here? } - }, + }/* +, save:{ value:function(){ //base function - to be overridden } } +*/ }); \ No newline at end of file diff --git a/js/document/models/text-document.js b/js/document/models/text-document.js deleted file mode 100755 index c0d4f256..00000000 --- a/js/document/models/text-document.js +++ /dev/null @@ -1,156 +0,0 @@ -/* -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, - BaseDocument = require("js/document/models/base-document").BaseDocument; -//////////////////////////////////////////////////////////////////////// -// -exports.TextDocument = Montage.create(BaseDocument, { - // PRIVATE MEMBERS - _codeEditor: { - value: { - "editor": { value: null, enumerable: false }, - - } - }, - - _editor: { value: null, enumerable: false }, - _hline: { value: null, enumerable: false }, - - _textArea: {value: null, enumerable: false }, - - _userDocument: {value: null, enumerable: false }, - - _source: { value: null, enumerable: false}, - - source: { - get: function() { return this._source;}, - set: function(value) { this._source = value;} - }, - - // PUBLIC MEMBERS - - _savedLeftScroll: {value:null}, - _savedTopScroll: {value:null}, - - //****************************************// - //PUBLIC API - - - // GETTERS / SETTERS - - savedLeftScroll:{ - get: function() { return this._savedLeftScroll; }, - set: function(value) { this._savedLeftScroll = value} - }, - - savedTopScroll:{ - get: function() { return this._savedTopScroll; }, - set: function(value) { this._savedTopScroll = value} - }, - - textArea: { - get: function() { return this._textArea; }, - set: function(value) { this._textArea = value; } - }, - editor: { - get: function() { return this._editor; }, - set: function(value) { this._editor = value} - }, - - hline: { - get: function() { return this._hline; }, - set: function(value) {this._hline = value; } - }, - - - //////////////////////////////////////////////////////////////////// - // - initialize: { - value: function(file, uuid, textArea, container, callback) { - // - this._userDocument = file; - // - this.init(file.name, file.uri, file.extension, container, uuid, callback); - // - this.currentView = "code"; - this.textArea = textArea; - } - }, - //////////////////////////////////////////////////////////////////// - // - save: { - enumerable: false, - value: function () { - //TODO: Improve sequence - this.editor.save(); - return {mode: this._userDocument.extension, document: this._userDocument, content: this.textArea.value}; - } - } - //////////////////////////////////////////////////////////////////// - - - - - - - - - - - - /* -// 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(''); - } - }, -*/ - //////////////////////////////////////////////////////////////////// - - - /** - * public method - */ - /* -save:{ - value:function(){ - try{ - this.editor.save(); - //persist textArea.value to filesystem - this.dirtyFlag=false; - }catch(e){ - console.log("Error while saving "+this.uri); - console.log(e.stack); - } - } - } -*/ -}); \ No newline at end of file -- cgit v1.2.3