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.js36
1 files changed, 34 insertions, 2 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index b1a22c1b..1f339fe7 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 },
@@ -56,12 +60,38 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
56 this.eventManager.addEventListener("executeSave", this, false); 60 this.eventManager.addEventListener("executeSave", this, false);
57 61
58 this.eventManager.addEventListener("recordStyleChanged", this, false); 62 this.eventManager.addEventListener("recordStyleChanged", this, false);
63
59 } 64 }
60 }, 65 },
66
67
68
69 handleWebRequest: {
70 value: function (request) {
71 if (request.url.indexOf('js/document/templates/montage-html') !== -1) {
72
73 console.log(request);
74
75 //TODO: Figure out why active document is not available here
76
77 if (this._hackRootFlag) {
78
79 //console.log(request.url.split('/')[request.url.split('/').length-1]);
80 //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]);
81
82 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]};
83 }
84 }
85 }
86 },
87
61 88
62 handleAppLoaded: { 89 handleAppLoaded: {
63 value: function() { 90 value: function() {
64 // 91 //
92
93 chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]);
94
65 } 95 }
66 }, 96 },
67 97
@@ -180,6 +210,9 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
180 // 210 //
181 openDocument: { 211 openDocument: {
182 value: function(doc) { 212 value: function(doc) {
213
214 //
215 this.documentHackReference = doc;
183 // 216 //
184 switch (doc.extension) { 217 switch (doc.extension) {
185 case 'html': case 'html': 218 case 'html': case 'html':
@@ -277,7 +310,6 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
277 _onOpenDocument: { 310 _onOpenDocument: {
278 value: function(doc){ 311 value: function(doc){
279 //var data = DocumentManager.activeDocument; 312 //var data = DocumentManager.activeDocument;
280
281 this._hideCurrentDocument(); 313 this._hideCurrentDocument();
282 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid); 314 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid);
283 315