diff options
Diffstat (limited to 'js/io/document/text-document.js')
-rw-r--r-- | js/io/document/text-document.js | 91 |
1 files changed, 91 insertions, 0 deletions
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 @@ | |||
1 | /* <copyright> | ||
2 | This file contains proprietary software owned by Motorola Mobility, Inc.<br/> | ||
3 | No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/> | ||
4 | (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. | ||
5 | </copyright> */ | ||
6 | |||
7 | var Montage = require("montage/core/core").Montage; | ||
8 | var baseDocumentModule = require("js/io/document/base-document"); | ||
9 | |||
10 | |||
11 | var TextDocument = exports.TextDocument = Montage.create(baseDocumentModule.BaseDocument, { | ||
12 | // PRIVATE MEMBERS | ||
13 | _codeEditor: { | ||
14 | value: { | ||
15 | "editor": { value: null, enumerable: false }, | ||
16 | "hline": { value: null, enumerable: false } | ||
17 | } | ||
18 | }, | ||
19 | |||
20 | _textArea: { value: null, enumerable: false }, | ||
21 | |||
22 | // Temporary Save the source | ||
23 | _source: { value: null, enumerable: false}, | ||
24 | |||
25 | textArea: { | ||
26 | get: function() { return this._textArea;}, | ||
27 | set: function(value) { this._textArea = value; } | ||
28 | }, | ||
29 | |||
30 | source: { | ||
31 | get: function() { return this._source;}, | ||
32 | set: function(value) { this._source = value;} | ||
33 | }, | ||
34 | |||
35 | // PUBLIC MEMBERS | ||
36 | |||
37 | //****************************************// | ||
38 | //PUBLIC API | ||
39 | |||
40 | |||
41 | // GETTERS / SETTERS | ||
42 | editor: { | ||
43 | get: function() { return this._codeEditor.editor; }, | ||
44 | set: function(value) { this._codeEditor.editor = value} | ||
45 | }, | ||
46 | |||
47 | hline: { | ||
48 | get: function() { return this._codeEditor.hline; }, | ||
49 | set: function(value) {this._codeEditor.hline = value; } | ||
50 | }, | ||
51 | |||
52 | |||
53 | // PUBLIC METHODS | ||
54 | initialize: { | ||
55 | value: function(doc, uuid, textArea, callback) { | ||
56 | this.init(doc.name, doc.uri, doc.type, textArea, uuid, callback); | ||
57 | this.textArea = textArea.firstChild; | ||
58 | this.currentView = "code"; | ||
59 | this._loadContent(); | ||
60 | } | ||
61 | }, | ||
62 | |||
63 | // PRIVATE METHODS | ||
64 | _loadContent: { | ||
65 | value: function() { | ||
66 | // Start and AJAX call to load the HTML Document as a String | ||
67 | var xhr = new XMLHttpRequest(); | ||
68 | var ref = this; | ||
69 | |||
70 | xhr.onreadystatechange = function() { | ||
71 | if (xhr.readyState == 4) { | ||
72 | ref.source = xhr.responseText; | ||
73 | ref.textArea.innerHTML = xhr.responseText; | ||
74 | //ref.callback(xhr.responseText); | ||
75 | ref.callback(ref); | ||
76 | } | ||
77 | }; | ||
78 | |||
79 | if(this.documentType === "js") { | ||
80 | xhr.open('GET', 'user-document-templates/montage-application-cloud/appdelegate.js'); | ||
81 | } else if(this.documentType === "css") { | ||
82 | xhr.open('GET', 'user-document-templates/montage-application-cloud/default_html.css'); | ||
83 | } else { | ||
84 | xhr.open('GET', 'user-document-templates/montage-application-cloud/index.html'); | ||
85 | } | ||
86 | |||
87 | xhr.send(''); | ||
88 | } | ||
89 | } | ||
90 | |||
91 | }); \ No newline at end of file | ||