aboutsummaryrefslogtreecommitdiff
path: root/js/document/html-document.js
diff options
context:
space:
mode:
authorAnanya Sen2012-02-29 15:21:31 -0800
committerAnanya Sen2012-02-29 15:21:31 -0800
commit8fee7d6bdb55ba18f396c3523081b18499fa1e30 (patch)
treedbd17232983247a38bb6b2cea480242bdf3f2422 /js/document/html-document.js
parent5d4f1aad01737695238582c704e6d4f2c3a2f317 (diff)
parentb09956e4a9a35c5588cc7cd1f01efb617cbe0884 (diff)
downloadninja-8fee7d6bdb55ba18f396c3523081b18499fa1e30.tar.gz
Merge branch 'refs/heads/ninja-internal-master' into FileIO
Conflicts: js/controllers/selection-controller.js js/document/html-document.js js/panels/properties/content.reel/content.js Signed-off-by: Ananya Sen <Ananya.Sen@motorola.com>
Diffstat (limited to 'js/document/html-document.js')
-rwxr-xr-xjs/document/html-document.js44
1 files changed, 38 insertions, 6 deletions
diff --git a/js/document/html-document.js b/js/document/html-document.js
index 544c0ad5..e40656a3 100755
--- a/js/document/html-document.js
+++ b/js/document/html-document.js
@@ -430,6 +430,33 @@ exports.HTMLDocument = Montage.create(TextDocument, {
430 } 430 }
431 431
432 432
433
434
435 //Temporarily checking for disabled special case
436 var stags = this.iframe.contentWindow.document.getElementsByTagName('style'),
437 ltags = this.iframe.contentWindow.document.getElementsByTagName('link');
438 //
439 for (var m = 0; m < ltags.length; m++) {
440 if (ltags[m].getAttribute('data-ninja-template') === null) {
441 if (ltags[m].getAttribute('disabled')) {
442 ltags[m].removeAttribute('disabled');
443 ltags[m].setAttribute('data-ninja-disabled', 'true');
444 }
445 }
446 }
447 //
448 for (var n = 0; n < stags.length; n++) {
449 if (stags[n].getAttribute('data-ninja-template') === null) {
450 if (stags[n].getAttribute('disabled')) {
451 stags[n].removeAttribute('disabled');
452 stags[n].setAttribute('data-ninja-disabled', 'true');
453 }
454 }
455 }
456
457
458
459
433 //Adding a handler for the main user document reel to finish loading 460 //Adding a handler for the main user document reel to finish loading
434 this._document.body.addEventListener("userTemplateDidLoad", this.userTemplateDidLoad.bind(this), false); 461 this._document.body.addEventListener("userTemplateDidLoad", this.userTemplateDidLoad.bind(this), false);
435 462
@@ -449,7 +476,6 @@ exports.HTMLDocument = Montage.create(TextDocument, {
449 setTimeout(function () { 476 setTimeout(function () {
450 477
451 478
452
453 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 479 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
454 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 480 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
455 //////////////////////////////////////////////////////////////////////////////////////////////////////////////////// 481 ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
@@ -474,6 +500,12 @@ exports.HTMLDocument = Montage.create(TextDocument, {
474 tag.setAttribute('data-ninja-file-url', cssUrl); 500 tag.setAttribute('data-ninja-file-url', cssUrl);
475 tag.setAttribute('data-ninja-file-read-only', JSON.parse(this.application.ninja.coreIoApi.isFileWritable({uri: fileUri}).content).readOnly); 501 tag.setAttribute('data-ninja-file-read-only', JSON.parse(this.application.ninja.coreIoApi.isFileWritable({uri: fileUri}).content).readOnly);
476 tag.setAttribute('data-ninja-file-name', cssUrl.split('/')[cssUrl.split('/').length-1]); 502 tag.setAttribute('data-ninja-file-name', cssUrl.split('/')[cssUrl.split('/').length-1]);
503 //Copying attributes to maintain same properties as the <link>
504 for (var n in this._document.styleSheets[i].ownerNode.attributes) {
505 if (this._document.styleSheets[i].ownerNode.attributes[n].value && this._document.styleSheets[i].ownerNode.attributes[n].name !== 'disabled') {
506 tag.setAttribute(this._document.styleSheets[i].ownerNode.attributes[n].name, this._document.styleSheets[i].ownerNode.attributes[n].value);
507 }
508 }
477 tag.innerHTML = cssData.content; 509 tag.innerHTML = cssData.content;
478 //Looping through DOM to insert style tag at location of link element 510 //Looping through DOM to insert style tag at location of link element
479 query = this._templateDocument.html.querySelectorAll(['link']); 511 query = this._templateDocument.html.querySelectorAll(['link']);
@@ -486,6 +518,7 @@ exports.HTMLDocument = Montage.create(TextDocument, {
486 } 518 }
487 } 519 }
488 } else { 520 } else {
521 console.log('ERROR: Cross-Domain-Stylesheet detected, unable to load in Ninja');
489 /* 522 /*
490//None local stylesheet, probably on a CDN (locked) 523//None local stylesheet, probably on a CDN (locked)
491 tag = this.iframe.contentWindow.document.createElement('style'); 524 tag = this.iframe.contentWindow.document.createElement('style');
@@ -635,9 +668,10 @@ exports.HTMLDocument = Montage.create(TextDocument, {
635 enumerable: false, 668 enumerable: false,
636 value: function () { 669 value: function () {
637 //TODO: Add logic to handle save before preview 670 //TODO: Add logic to handle save before preview
638 this.saveAll(); 671 this.application.ninja.documentController.handleExecuteSaveAll(null);
639 //Launching 'blank' tab for testing movie 672 //Launching 'blank' tab for testing movie
640 chrome.tabs.create({url: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController._activeDocument.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]}); 673 window.open(this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController._activeDocument.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]);
674 //chrome.tabs.create({url: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController._activeDocument.uri.split(this.application.ninja.coreIoApi.cloudData.root)[1]});
641 } 675 }
642 }, 676 },
643 //////////////////////////////////////////////////////////////////// 677 ////////////////////////////////////////////////////////////////////
@@ -716,9 +750,7 @@ exports.HTMLDocument = Montage.create(TextDocument, {
716 value: function () { 750 value: function () {
717 this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing; 751 this.application.ninja.stage.drawUtils.gridHorizontalSpacing = this.gridHorizontalSpacing;
718 this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing; 752 this.application.ninja.stage.drawUtils.gridVerticalSpacing = this.gridVerticalSpacing;
719 753
720
721
722 if((this.savedLeftScroll !== null) && (this.savedTopScroll !== null)){ 754 if((this.savedLeftScroll !== null) && (this.savedTopScroll !== null)){
723 this.application.ninja.stage._iframeContainer.scrollLeft = this.savedLeftScroll; 755 this.application.ninja.stage._iframeContainer.scrollLeft = this.savedLeftScroll;
724 this.application.ninja.stage._iframeContainer.scrollTop = this.savedTopScroll; 756 this.application.ninja.stage._iframeContainer.scrollTop = this.savedTopScroll;