aboutsummaryrefslogtreecommitdiff
path: root/js
diff options
context:
space:
mode:
authorValerio Virgillito2012-02-17 15:24:49 -0800
committerValerio Virgillito2012-02-17 15:24:49 -0800
commit7789a48fab2b1541ef7ac1b94e14b3f8dccbb4ff (patch)
tree328e6fe964cfcbe6ff47ad6eecf81275da31364f /js
parent824927fde259c891a67f18311a8abc470cd48442 (diff)
parent041abe1f27378f095d3a6d5584559463959e0787 (diff)
downloadninja-7789a48fab2b1541ef7ac1b94e14b3f8dccbb4ff.tar.gz
Merge pull request #53 from joseeight/FileIO
File IO local files webRequest redirect
Diffstat (limited to 'js')
-rwxr-xr-xjs/controllers/document-controller.js37
-rwxr-xr-xjs/document/html-document.js14
-rwxr-xr-xjs/document/templates/montage-html/default_html.css75
-rwxr-xr-xjs/document/templates/montage-html/index.html50
-rw-r--r--js/document/templates/montage-html/main.reel/main.js54
-rwxr-xr-xjs/document/templates/montage-html/package.json8
-rwxr-xr-xjs/document/templates/montage-html/styles.css5
-rwxr-xr-xjs/document/text-document.js5
-rw-r--r--js/io/system/ninjalibrary.js2
-rw-r--r--js/io/system/ninjalibrary.json3
-rwxr-xr-xjs/io/ui/cloudpopup.reel/cloudpopup.html2
-rw-r--r--js/mediators/io-mediator.js21
12 files changed, 256 insertions, 20 deletions
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index b1a22c1b..5e2a6461 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,39 @@ 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
64
65
59 } 66 }
60 }, 67 },
68
69
70 handleWebRequest: {
71 value: function (request) {
72 if (request.url.indexOf('js/document/templates/montage-html') !== -1) {
73
74 console.log(request);
75
76 //TODO: Figure out why active document is not available here
77
78 if (this._hackRootFlag) {
79
80 //console.log(request.url.split('/')[request.url.split('/').length-1]);
81 //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]);
82
83 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]};
84 }
85 }
86 }
87 },
88
61 89
62 handleAppLoaded: { 90 handleAppLoaded: {
63 value: function() { 91 value: function() {
64 // 92 //
93
94 chrome.webRequest.onBeforeRequest.addListener(this.handleWebRequest.bind(this), {urls: ["<all_urls>"]}, ["blocking"]);
95
65 } 96 }
66 }, 97 },
67 98
@@ -180,6 +211,9 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
180 // 211 //
181 openDocument: { 212 openDocument: {
182 value: function(doc) { 213 value: function(doc) {
214
215 //
216 this.documentHackReference = doc;
183 // 217 //
184 switch (doc.extension) { 218 switch (doc.extension) {
185 case 'html': case 'html': 219 case 'html': case 'html':
@@ -277,7 +311,6 @@ DocumentController = exports.DocumentController = Montage.create(Component, {
277 _onOpenDocument: { 311 _onOpenDocument: {
278 value: function(doc){ 312 value: function(doc){
279 //var data = DocumentManager.activeDocument; 313 //var data = DocumentManager.activeDocument;
280
281 this._hideCurrentDocument(); 314 this._hideCurrentDocument();
282 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid); 315 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid);
283 316
diff --git a/js/document/html-document.js b/js/document/html-document.js
index 0c8695fb..ae2b4600 100755
--- a/js/document/html-document.js
+++ b/js/document/html-document.js
@@ -14,7 +14,7 @@ var Montage = require("montage/core/core").Montage,
14exports.HTMLDocument = Montage.create(TextDocument, { 14exports.HTMLDocument = Montage.create(TextDocument, {
15 15
16 _selectionExclude: { value: null, enumerable: false }, 16 _selectionExclude: { value: null, enumerable: false },
17 _htmlTemplateUrl: { value: "user-document-templates/montage-application-cloud/index.html", enumerable: false}, 17 _htmlTemplateUrl: { value: "js/document/templates/montage-html/index.html", enumerable: false},
18 _iframe: { value: null, enumerable: false }, 18 _iframe: { value: null, enumerable: false },
19 _server: { value: null, enumerable: false }, 19 _server: { value: null, enumerable: false },
20 _templateDocument: { value: null, enumerable: false }, 20 _templateDocument: { value: null, enumerable: false },
@@ -235,6 +235,7 @@ exports.HTMLDocument = Montage.create(TextDocument, {
235 // 235 //
236 initialize: { 236 initialize: {
237 value: function(file, uuid, iframe, callback) { 237 value: function(file, uuid, iframe, callback) {
238 this.application.ninja.documentController._hackRootFlag = false;
238 // 239 //
239 this._userDocument = file; 240 this._userDocument = file;
240 // 241 //
@@ -354,11 +355,16 @@ exports.HTMLDocument = Montage.create(TextDocument, {
354 }, 355 },
355 356
356 357
358
359
360
357 361
358 //////////////////////////////////////////////////////////////////// 362 ////////////////////////////////////////////////////////////////////
359 // 363 //
360 handleEvent: { 364 handleEvent: {
361 value: function(event){ 365 value: function(event){
366 this.application.ninja.documentController._hackRootFlag = true;
367 //console.log(this._userDocument.root, this);
362 //TODO: Clean up, using for prototyping save 368 //TODO: Clean up, using for prototyping save
363 this._templateDocument = {}; 369 this._templateDocument = {};
364 this._templateDocument.head = this.iframe.contentWindow.document.getElementById("userHead");; 370 this._templateDocument.head = this.iframe.contentWindow.document.getElementById("userHead");;
@@ -389,6 +395,8 @@ exports.HTMLDocument = Montage.create(TextDocument, {
389 this._stylesheets = this._document.styleSheets; // Entire stlyesheets array 395 this._stylesheets = this._document.styleSheets; // Entire stlyesheets array
390 396
391 this.callback(this); 397 this.callback(this);
398
399 //console.log('file content end');
392 } 400 }
393 }.bind(this), 50); 401 }.bind(this), 50);
394 402
@@ -440,7 +448,9 @@ exports.HTMLDocument = Montage.create(TextDocument, {
440 } 448 }
441 449
442 // Remving this callback and using the callback from the css load 450 // Remving this callback and using the callback from the css load
443 // this.callback(this); 451 //this.callback(this);
452
453
444 454
445 } 455 }
446 }, 456 },
diff --git a/js/document/templates/montage-html/default_html.css b/js/document/templates/montage-html/default_html.css
new file mode 100755
index 00000000..68300edf
--- /dev/null
+++ b/js/document/templates/montage-html/default_html.css
@@ -0,0 +1,75 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No 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* {
8 -webkit-transition-duration: 0s !important;
9 -webkit-animation-duration: 0s !important;
10 -webkit-animation-name: none !important;
11}
12
13html{
14 overflow:hidden;
15}
16
17body
18{
19 background: #808080;
20}
21
22#Viewport
23{
24 margin: 0px;
25 padding: 0px;
26 top: 200px;
27 left: 700px;
28 /*position: absolute;*/
29 /*height: 600px;*/
30 /*width: 800px;*/
31 opacity: 0.99;
32 z-index:2;
33}
34
35#stageBG
36{
37 background: #ffffff;
38 top: 200px;
39 left: 700px;
40 z-index:1;
41}
42