aboutsummaryrefslogtreecommitdiff
path: root/js/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'js/controllers')
-rwxr-xr-xjs/controllers/document-controller.js49
-rwxr-xr-xjs/controllers/styles-controller.js7
2 files changed, 29 insertions, 27 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index c2aa1b6b..7491ef9f 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -66,35 +66,37 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
66 66
67 67
68 68
69 handleWebRequest: {
70 value: function (request) {
71 if (request.url.indexOf('js/document/templates/montage-html') !== -1) {
72 69
73 //console.log(request);
74 70
75 //TODO: Figure out why active document is not available here
76 71
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 72
73 ////////////////////////////////////////////////////////////////////
74 //
75 handleWebRequest: {
76 value: function (request) {
77 if (this._hackRootFlag && request.url.indexOf('js/document/templates/montage-html') !== -1) {
78 //TODO: Optimize creating string
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]}; 79 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 } 80 }
84 } 81 }
85 }
86 }, 82 },
87 83 ////////////////////////////////////////////////////////////////////
88 84 //
89 handleAppLoaded: { 85 handleAppLoaded: {
90 value: function() { 86 value: function() {
91 // 87 //Adding an intercept to resources loaded to ensure user assets load from cloud simulator
92
93 chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]); 88 chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]);
94
95 } 89 }
96 }, 90 },
91 ////////////////////////////////////////////////////////////////////
97 92
93
94
95
96
97
98
99
98 handleExecuteFileOpen: { 100 handleExecuteFileOpen: {
99 value: function(event) { 101 value: function(event) {
100 var pickerSettings = event._event.settings || {}; 102 var pickerSettings = event._event.settings || {};
@@ -118,28 +120,21 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
118 //TODO: Check for appropiate structures 120 //TODO: Check for appropiate structures
119 handleExecuteSave: { 121 handleExecuteSave: {
120 value: function(event) { 122 value: function(event) {
123 if(!!this.activeDocument){
121 //Text and HTML document classes should return the same save object for fileSave 124 //Text and HTML document classes should return the same save object for fileSave
122 this.application.ninja.ioMediator.fileSave(this.activeDocument.save(), this.fileSaveResult.bind(this)); 125 this.application.ninja.ioMediator.fileSave(this.activeDocument.save(), this.fileSaveResult.bind(this));
123 } 126 }
127 }
124 }, 128 },
125 //////////////////////////////////////////////////////////////////// 129 ////////////////////////////////////////////////////////////////////
126 // 130 //
127 fileSaveResult: { 131 fileSaveResult: {
128 value: function (result) { 132 value: function (result) {
129 if(result.status === 204){ 133 if(result.status === 204){
130 this.clearDocumentDirtyFlag(); 134 this.activeDocument.needsSave = false;
131 } 135 }
132 } 136 }
133 }, 137 },
134 ////////////////////////////////////////////////////////////////////
135
136
137 clearDocumentDirtyFlag:{
138 value: function(){
139 this.activeDocument.dirtyFlag = false;
140 }
141 },
142
143 138
144 createNewFile:{ 139 createNewFile:{
145 value:function(newFileObj){ 140 value:function(newFileObj){
@@ -278,7 +273,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
278 273
279 closeDocument: { 274 closeDocument: {
280 value: function(id) { 275 value: function(id) {
281 if(this.activeDocument.dirtyFlag === true){ 276 if(this.activeDocument.needsSave === true){
282 //if file dirty then alert user to save 277 //if file dirty then alert user to save
283 } 278 }
284 279
@@ -301,6 +296,8 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
301 this._removeDocumentView(doc.container); 296 this._removeDocumentView(doc.container);
302 this.application.ninja.stage.stageView.hideRulers(); 297 this.application.ninja.stage.stageView.hideRulers();
303 document.getElementById("iframeContainer").style.display="block"; 298 document.getElementById("iframeContainer").style.display="block";
299
300 this.application.ninja.stage.hideCanvas(true);
304 } 301 }
305 } 302 }
306 }, 303 },
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js
index 44ca50e1..885d710f 100755
--- a/js/controllers/styles-controller.js
+++ b/js/controllers/styles-controller.js
@@ -571,6 +571,10 @@ var stylesController = exports.StylesController = Montage.create(Component, {
571 rules = [], 571 rules = [],
572 win = element.ownerDocument.defaultView, 572 win = element.ownerDocument.defaultView,
573 self = this; 573 self = this;
574
575 if(!win) {
576 return null;
577 }
574 578
575 if(!omitPseudos) { 579 if(!omitPseudos) {
576 pseudos.concat(['link', 'visited', 'active', 'hover', 'focus', 'first-letter', 580 pseudos.concat(['link', 'visited', 'active', 'hover', 'focus', 'first-letter',
@@ -674,8 +678,9 @@ var stylesController = exports.StylesController = Montage.create(Component, {
674 } 678 }
675 679
676 var matchingElements, i; 680 var matchingElements, i;
681
677 for(i = 0; i < specArr.length; i++) { 682 for(i = 0; i < specArr.length; i++) {
678 matchingElements = win.document.querySelectorAll(specArr[i].selector); 683 matchingElements = element.ownerDocument.querySelectorAll(specArr[i].selector);
679 if(nj.toArray(matchingElements).indexOf(element) !== -1) { 684 if(nj.toArray(matchingElements).indexOf(element) !== -1) {
680 return specArr[i]; 685 return specArr[i];
681 } 686 }