aboutsummaryrefslogtreecommitdiff
path: root/js/controllers/document-controller.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers/document-controller.js')
-rwxr-xr-xjs/controllers/document-controller.js39
1 files changed, 33 insertions, 6 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 232af4c9..df3c74f8 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -14,7 +14,7 @@ var Montage = require("montage/core/core").Montage,
14 DocumentController; 14 DocumentController;
15//////////////////////////////////////////////////////////////////////// 15////////////////////////////////////////////////////////////////////////
16// 16//
17DocumentController = exports.DocumentController = Montage.create(Component, { 17var DocumentController = exports.DocumentController = Montage.create(Component, {
18 hasTemplate: { 18 hasTemplate: {
19 value: false 19 value: false
20 }, 20 },
@@ -22,6 +22,10 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
22 _documents: { 22 _documents: {
23 value: [] 23 value: []
24 }, 24 },
25
26 _hackRootFlag: {
27 value: false
28 },
25 29
26 _activeDocument: { value: null }, 30 _activeDocument: { value: null },
27 _iframeCounter: { value: 1, enumerable: false }, 31 _iframeCounter: { value: 1, enumerable: false },
@@ -50,21 +54,42 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
50 54
51 deserializedFromTemplate: { 55 deserializedFromTemplate: {
52 value: function() { 56 value: function() {
53 var self = this;
54
55 this.eventManager.addEventListener("appLoaded", this, false); 57 this.eventManager.addEventListener("appLoaded", this, false);
56 this.eventManager.addEventListener("executeFileOpen", this, false); 58 this.eventManager.addEventListener("executeFileOpen", this, false);
57 this.eventManager.addEventListener("executeNewFile", this, false); 59 this.eventManager.addEventListener("executeNewFile", this, false);
58 this.eventManager.addEventListener("executeSave", this, false); 60 this.eventManager.addEventListener("executeSave", this, false);
59 61
60 this.eventManager.addEventListener("recordStyleChanged", this, false); 62 this.eventManager.addEventListener("recordStyleChanged", this, false);
61
62 } 63 }
63 }, 64 },
65
66
67 handleWebRequest: {
68 value: function (request) {
69 if (request.url.indexOf('js/document/templates/montage-html') !== -1) {
70
71 console.log(request);
72
73 //TODO: Figure out why active document is not available here
74
75 if (this._hackRootFlag) {
76
77 //console.log(request.url.split('/')[request.url.split('/').length-1]);
78 //console.log(this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController._activeDocument.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]);
79
80 return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split('/')[request.url.split('/').length-1]};
81 }
82 }
83 }
84 },
85
64 86
65 handleAppLoaded: { 87 handleAppLoaded: {
66 value: function() { 88 value: function() {
67 // 89 //
90
91 chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]);
92
68 } 93 }
69 }, 94 },
70 95
@@ -185,6 +210,9 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
185 // 210 //
186 openDocument: { 211 openDocument: {
187 value: function(doc) { 212 value: function(doc) {
213
214 //
215 this.documentHackReference = doc;
188 // 216 //
189 switch (doc.extension) { 217 switch (doc.extension) {
190 case 'html': case 'html': 218 case 'html': case 'html':
@@ -282,7 +310,6 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
282 _onOpenDocument: { 310 _onOpenDocument: {
283 value: function(doc){ 311 value: function(doc){
284 //var data = DocumentManager.activeDocument; 312 //var data = DocumentManager.activeDocument;
285
286 this._hideCurrentDocument(); 313 this._hideCurrentDocument();
287 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid); 314 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid);
288 315