diff options
Diffstat (limited to 'js/controllers')
-rwxr-xr-x | js/controllers/document-controller.js | 36 |
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 | // |
17 | DocumentController = exports.DocumentController = Montage.create(Component, { | 17 | var 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 | ||