From 4c3aac5eabd93052b1554a03d78235215bb49db4 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Tue, 29 May 2012 00:34:40 -0700 Subject: document bindings phase 1 - using array controller to bind the current document to all ninja components - removed open document event - removed references to the document controller Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 182 +++++++--------------------------- 1 file changed, 36 insertions(+), 146 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 2c34eedf..948e4550 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -8,38 +8,18 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot // var Montage = require("montage/core/core").Montage, Component = require("montage/ui/component").Component, - Uuid = require("montage/core/uuid").Uuid, HTMLDocument = require("js/document/document-html").HtmlDocument, TextDocument = require("js/document/document-text").TextDocument; //////////////////////////////////////////////////////////////////////// // exports.DocumentController = Montage.create(Component, { // - hasTemplate: {value: false}, - _documents: {value: []}, - //TODO: what is this?!?! - _hackInitialStyles: {value: true}, - _activeDocument: { value: null }, - //TODO: Are any of these needed? - _iframeCounter: { value: 1, enumerable: false }, - _iframeHolder: { value: null, enumerable: false }, - _textHolder: { value: null, enumerable: false }, - _codeMirrorCounter: {value: 1, enumerable: false}, - - activeDocument: { - get: function() { - return this._activeDocument; - }, - set: function(doc) { - //if(!!this._activeDocument){ this._activeDocument.isActive = false;} - - this._activeDocument = doc; - - if(!!this._activeDocument){ - if(this._documents.indexOf(doc) === -1) this._documents.push(doc); - this._activeDocument.isActive = true; - } - } + hasTemplate: { + value: false + }, + + documents: { + value: [] }, deserializedFromTemplate: { @@ -52,8 +32,6 @@ exports.DocumentController = Montage.create(Component, { this.eventManager.addEventListener("executeSaveAll", this, false); this.eventManager.addEventListener("executeFileClose", this, false); this.eventManager.addEventListener("executeFileCloseAll", this, false); - - this.eventManager.addEventListener("styleSheetDirty", this, false); } }, @@ -70,11 +48,11 @@ exports.DocumentController = Montage.create(Component, { if (this.redirectRequests && request.parentFrameId !== -1) { //Checking for proper URL redirect (from different directories) if (request.url.indexOf('js/document/templates/banner') !== -1) { - return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/banner/'))[1]}; + return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/banner/'))[1]}; } else if (request.url.indexOf('js/document/templates/html') !== -1) { - return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/html/'))[1]}; + return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/html/'))[1]}; } else if (request.url.indexOf('js/document/templates/app') !== -1) { - return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.application.ninja.documentController.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/app/'))[1]}; + return {redirectUrl: this.application.ninja.coreIoApi.rootUrl+this.documentHackReference.root.split(this.application.ninja.coreIoApi.cloudData.root)[1]+request.url.split(chrome.extension.getURL('js/document/templates/app/'))[1]}; } else { //Error, not a valid folder } @@ -98,13 +76,7 @@ exports.DocumentController = Montage.create(Component, { }, //////////////////////////////////////////////////////////////////// - - - - - - - + handleExecuteFileOpen: { value: function(event) { var pickerSettings = event._event.settings || {}; @@ -325,44 +297,6 @@ exports.DocumentController = Montage.create(Component, { } }, - //todo: remove this funciton as it is not used - textDocumentOpened: { - value: function(doc) { - - - - this.application.ninja.stage.stageView.createTextView(doc); - - /* - DocumentManager._hideCurrentDocument(); - stageManagerModule.stageManager._scrollFlag = false; // TODO HACK to prevent type error on Hide/Show Iframe - DocumentManager.activeDocument = doc; - - var type; - - switch(doc.documentType) { - case "css" : - type = "css"; - break; - case "js" : - type = "javascript"; - break; - } - - DocumentManager._codeEditor.editor = CodeMirror.fromTextArea(doc.textArea, { - lineNumbers: true, - mode: type, - onCursorActivity: function() { - DocumentManager._codeEditor.editor.setLineClass(DocumentManager._codeEditor.hline, null); - DocumentManager._codeEditor.hline = DocumentManager._codeEditor.editor.setLineClass(DocumentManager._codeEditor.editor.getCursor().line, "activeline"); - } - }); - DocumentManager._codeEditor.hline = DocumentManager._codeEditor.editor.setLineClass(0, "activeline"); - */ - - } - }, - closeFile: { value: function(document) { document.closeDocument(this, this.onCloseFile); @@ -373,7 +307,8 @@ exports.DocumentController = Montage.create(Component, { value: function(doc) { var previousFocusedDocument; - this._documents.splice(this._documents.indexOf(doc), 1); +// this._documents.splice(this._documents.indexOf(doc), 1); + this.application.ninja.docController.removeObjects(this._documents.indexOf(doc)); if(this._documents.length > 0) { previousFocusedDocument = this._documents[this._documents.length - 1]; @@ -433,48 +368,44 @@ exports.DocumentController = Montage.create(Component, { // Open document callback _onOpenDocument: { value: function(doc){ - var currentDocument; - if(this.activeDocument) { + + + // Bypass all and call main. + // TODO: Call ninja directly once this is all cleaned up. + + this.application.ninja.handleOnOpenDocument(doc); + + +// var currentDocument; +// if(this.activeDocument) { // There is a document currently opened - currentDocument = this.activeDocument; - } else { +// currentDocument = this.activeDocument; +// } else { // There is no document opened - // Show the rulers - // TODO: Move this indo design view - this.application.ninja.stage.showRulers(); - - // Show the canvas - this.application.ninja.stage.hideCanvas(false); - } +// } // Set the active document - this.activeDocument = doc; +// this.activeDocument = doc; + + +// this.switchDocuments(currentDocument, doc, true); - // Initialize the documentRoot styles - this.initializeRootStyles(doc.model.documentRoot); - // Flag to stop stylesheet dirty event - this._hackInitialStyles = false; - this.switchDocuments(currentDocument, doc, true); } }, _onOpenTextDocument: { value: function(doc) { - var currentDocument = null; - if(this.activeDocument) { - // There is a document currently opened - currentDocument = this.activeDocument; - } - this.application.ninja.currentDocument = this.activeDocument = doc; + this.application.ninja.handleOnOpenDocument(doc); - document.getElementById("iframeContainer").style.display = "none"; - this.application.ninja.codeEditorController.applySettings(); + // Main DIFFERENCE -- + // TODO: Implement Code View here + //document.getElementById("iframeContainer").style.display = "none"; + //this.application.ninja.codeEditorController.applySettings(); - this.switchDocuments(currentDocument, doc, true); } }, @@ -512,10 +443,10 @@ exports.DocumentController = Montage.create(Component, { this.application.ninja.stage.hideRulers(); } - this.application.ninja.stage.clearAllCanvas(); +// this.application.ninja.stage.clearAllCanvas(); if(didCreate) { - newDocument.model.currentView.show(); +// newDocument.model.currentView.show(); if(newDocument.currentView === "design") { NJevent("onOpenDocument", newDocument); @@ -566,46 +497,5 @@ exports.DocumentController = Montage.create(Component, { return false; } - }, - - handleStyleSheetDirty:{ - value:function(){ - if(!this._hackInitialStyles) { - this.activeDocument.model.needsSave = true; - } - } - }, - - // TODO: Move this into the design views - initializeRootStyles: { - value: function(documentRoot) { - var sc = this.application.ninja.stylesController, - styles = {}, - needsRule = false, - rule; - - if(sc.getElementStyle(documentRoot, "width", false, false) == null) { - styles['width'] = '100%'; - needsRule = true; - } - if(sc.getElementStyle(documentRoot, "height", false, false) == null) { - styles['height'] = '100%'; - needsRule = true; - } - if(sc.getElementStyle(documentRoot, "-webkit-transform", false, false) == null) { - styles['-webkit-transform'] = 'perspective(1400) matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1)'; - needsRule = true; - } - if(sc.getElementStyle(documentRoot, "-webkit-transform-style", false, false) == null) { - styles['-webkit-transform-style'] = 'preserve-3d'; - needsRule = true; - } - - if(needsRule) { - rule = sc.addRule('.ninja-body{}'); - sc.setStyles(rule, styles); - sc.addClass(documentRoot, "ninja-body"); - } - } } }); -- cgit v1.2.3 From 5d7dff15e1e603e3b37057b9843e4b1eef1b2dca Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Tue, 29 May 2012 15:32:47 -0700 Subject: cleanup and handling the document views in the document controller for now. Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 60 +++++++++++++++-------------------- 1 file changed, 26 insertions(+), 34 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 948e4550..eba950b9 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -22,6 +22,30 @@ exports.DocumentController = Montage.create(Component, { value: [] }, + _currentDocument: { + value : null + }, + + currentDocument : { + get : function() { + return this._currentDocument; + }, + set : function(value) { + if (value === this._currentDocument || value.getProperty("currentView") !== "design") { + return; + } + + if(this._currentDocument) { + this._currentDocument.model.currentView.hide(); + } + + this._currentDocument = value; + + this._currentDocument.model.currentView.show(); + + } + }, + deserializedFromTemplate: { value: function() { //TODO: Add event naming consistency (save, fileOpen and newFile should be consistent, all file events should be executeFile[operation name]) this.eventManager.addEventListener("appLoaded", this, false); @@ -280,11 +304,11 @@ exports.DocumentController = Montage.create(Component, { //Open in designer view this.redirectRequests = false; - Montage.create(HTMLDocument).init(file, this, this._onOpenDocument, 'design', template); + Montage.create(HTMLDocument).init(file, this.application.ninja, this.application.ninja.openDocument, 'design', template); break; default: //Open in code view - Montage.create(TextDocument).init(file, this, this._onOpenTextDocument, 'code'); + Montage.create(TextDocument).init(file, this.application.ninja, this.application.ninja.openDocument, 'code'); break; } } @@ -365,42 +389,10 @@ exports.DocumentController = Montage.create(Component, { } }, - // Open document callback - _onOpenDocument: { - value: function(doc){ - - - // Bypass all and call main. - // TODO: Call ninja directly once this is all cleaned up. - - this.application.ninja.handleOnOpenDocument(doc); - - -// var currentDocument; -// if(this.activeDocument) { - // There is a document currently opened -// currentDocument = this.activeDocument; -// } else { - // There is no document opened - -// } - - // Set the active document -// this.activeDocument = doc; - - -// this.switchDocuments(currentDocument, doc, true); - - - } - }, - _onOpenTextDocument: { value: function(doc) { - this.application.ninja.handleOnOpenDocument(doc); - // Main DIFFERENCE -- // TODO: Implement Code View here //document.getElementById("iframeContainer").style.display = "none"; -- cgit v1.2.3 From 31b094ee21102f99a4021d505bc3a28527c9e23d Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 30 May 2012 01:33:20 -0700 Subject: Fixing the close document. Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 72 +++++------------------------------ 1 file changed, 9 insertions(+), 63 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index eba950b9..4f122b3b 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -31,7 +31,7 @@ exports.DocumentController = Montage.create(Component, { return this._currentDocument; }, set : function(value) { - if (value === this._currentDocument || value.getProperty("currentView") !== "design") { + if (value === this._currentDocument) { return; } @@ -41,7 +41,13 @@ exports.DocumentController = Montage.create(Component, { this._currentDocument = value; - this._currentDocument.model.currentView.show(); + if(!value) { + + } else { + this._currentDocument.model.currentView.show(); + } + + } }, @@ -323,7 +329,7 @@ exports.DocumentController = Montage.create(Component, { closeFile: { value: function(document) { - document.closeDocument(this, this.onCloseFile); + document.closeDocument(this.application.ninja, this.application.ninja.closeFile); } }, @@ -357,39 +363,6 @@ exports.DocumentController = Montage.create(Component, { } }, - closeDocument: { - value: function(id) { - var doc = this._findDocumentByUUID(id); - - var closeDocumentIndex = this._findIndexByUUID(id); - this._documents.splice(this._findIndexByUUID(id), 1); - - if(this.activeDocument.uuid === id && this._documents.length > 0) {//closing the active document tab - var nextDocumentIndex = -1 ; - if((this._documents.length > 0) && (closeDocumentIndex === 0)){ - nextDocumentIndex = 0; - }else if((this._documents.length > 0) && (closeDocumentIndex > 0)){ - nextDocumentIndex = closeDocumentIndex - 1; - } - this.application.ninja.stage.stageView.switchDocument(this._documents[nextDocumentIndex]); - if(typeof doc.stopVideos !== "undefined"){doc.stopVideos();} - doc.container.parentNode.removeChild(doc.container); - }else if(this._documents.length === 0){ - // See above - }else{//closing inactive document tab - just clear DOM - if(typeof doc.pauseAndStopVideos !== "undefined"){ - doc.pauseAndStopVideos(); - } - doc.container.parentNode.removeChild(doc.container); - } - - NJevent("closeDocument", doc.uri); - - doc=null; - } - }, - - _onOpenTextDocument: { value: function(doc) { @@ -462,32 +435,5 @@ exports.DocumentController = Montage.create(Component, { } } } - }, - - /** - * VIEW Related Methods - */ - - // PRIVATE - _findDocumentByUUID: { - value: function(uuid) { - var len = this._documents.length; - for(var i = 0; i < len; i++) { - if(this._documents[i].uuid === uuid) return this._documents[i]; - } - - return false; - } - }, - - _findIndexByUUID: { - value: function(uuid) { - var len = this._documents.length; - for(var i = 0; i < len; i++) { - if(this._documents[i].uuid === uuid) return i; - } - - return false; - } } }); -- cgit v1.2.3 From 0a769756547acb93346d8e1b4126931a78845255 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 30 May 2012 17:45:38 -0700 Subject: opening code view documents Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 67 +++++++++++------------------------ 1 file changed, 21 insertions(+), 46 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 4f122b3b..e059e7e1 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -18,6 +18,14 @@ exports.DocumentController = Montage.create(Component, { value: false }, + iframeContainer: { + value: null + }, + + codeContainer: { + value: null + }, + documents: { value: [] }, @@ -42,13 +50,15 @@ exports.DocumentController = Montage.create(Component, { this._currentDocument = value; if(!value) { - - } else { + document.getElementById("iframeContainer").style.display = "block"; + document.getElementById("codeViewContainer").style.display = "block"; + } else if(this._currentDocument.currentView === "design") { + this._currentDocument.model.currentView.show(); + } else { + document.getElementById("iframeContainer").style.display = "none"; this._currentDocument.model.currentView.show(); } - - } }, @@ -64,7 +74,13 @@ exports.DocumentController = Montage.create(Component, { this.eventManager.addEventListener("executeFileCloseAll", this, false); } }, - + + didCreate: { + value: function() { + this.iframeContainer = document.getElementById("iframeContainer"); + this.codeContainer = document.getElementById("codeViewContainer"); + } + }, //TODO: Ensure these APIs are not needed redirectRequests: { @@ -333,47 +349,6 @@ exports.DocumentController = Montage.create(Component, { } }, - onCloseFile: { - value: function(doc) { - var previousFocusedDocument; - -// this._documents.splice(this._documents.indexOf(doc), 1); - this.application.ninja.docController.removeObjects(this._documents.indexOf(doc)); - - if(this._documents.length > 0) { - previousFocusedDocument = this._documents[this._documents.length - 1]; - this.activeDocument = previousFocusedDocument; - this.switchDocuments(this.activeDocument, previousFocusedDocument, false); - } else { - this.activeDocument = null; - this.application.ninja.stage.hideRulers(); - - this.application.ninja.stage.hideCanvas(true); - } - - //TODO: Use references for those instead of calling getElementById - if(this._documents.length === 0){ - document.getElementById("iframeContainer").style.display="block"; - document.getElementById("codeViewContainer").style.display="block"; - } - - NJevent("closeDocument", doc.model.file.uri); - - //TODO: Delete object here - } - }, - - _onOpenTextDocument: { - value: function(doc) { - - // Main DIFFERENCE -- - // TODO: Implement Code View here - //document.getElementById("iframeContainer").style.display = "none"; - //this.application.ninja.codeEditorController.applySettings(); - - } - }, - switchDocuments: { value: function(currentDocument, newDocument, didCreate) { -- cgit v1.2.3 From 66632a6e0de0998ff6d36abdaa8c3a546eada0f5 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Wed, 30 May 2012 23:02:46 -0700 Subject: fixing the closing of documents Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index e059e7e1..13ab33cc 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -53,10 +53,9 @@ exports.DocumentController = Montage.create(Component, { document.getElementById("iframeContainer").style.display = "block"; document.getElementById("codeViewContainer").style.display = "block"; } else if(this._currentDocument.currentView === "design") { - this._currentDocument.model.currentView.show(); + } else { document.getElementById("iframeContainer").style.display = "none"; - this._currentDocument.model.currentView.show(); } } -- cgit v1.2.3 From e1fe603a7c002073f8ac13623f8cc8dc43efb59d Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 31 May 2012 10:27:46 -0700 Subject: fixing selection when switching documents Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 13ab33cc..c9557a57 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -53,9 +53,11 @@ exports.DocumentController = Montage.create(Component, { document.getElementById("iframeContainer").style.display = "block"; document.getElementById("codeViewContainer").style.display = "block"; } else if(this._currentDocument.currentView === "design") { - + this._currentDocument.model.currentView.show(); + this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*'); } else { document.getElementById("iframeContainer").style.display = "none"; + this._currentDocument.model.currentView.show(); } } @@ -354,14 +356,8 @@ exports.DocumentController = Montage.create(Component, { if(currentDocument) { if(currentDocument.currentView === "design") { currentDocument.serializeDocument(); - this.application.ninja._currentSelectedContainer = this.application.ninja.selectionController._selectionContainer = null; - currentDocument.model.views.design.propertiesPanel.clear(); } - currentDocument.model.isActive = false; - - currentDocument.model.currentView.hide(); - if(currentDocument.model.parentContainer !== newDocument.model.parentContainer) { currentDocument.model.parentContainer.style["display"] = "none"; newDocument.model.parentContainer.style["display"] = "block"; @@ -382,13 +378,9 @@ exports.DocumentController = Montage.create(Component, { this.application.ninja.stage.hideRulers(); } -// this.application.ninja.stage.clearAllCanvas(); - if(didCreate) { -// newDocument.model.currentView.show(); - if(newDocument.currentView === "design") { - NJevent("onOpenDocument", newDocument); + } else { newDocument.model.parentContainer.style["display"] = "block"; } -- cgit v1.2.3 From d04aa0b195826b3b3c70f68aa8aba1be9e30a648 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 31 May 2012 10:34:59 -0700 Subject: fixing the close and save Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index c9557a57..f85e2f97 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -150,10 +150,10 @@ exports.DocumentController = Montage.create(Component, { handleExecuteSave: { value: function(event) { // - if((typeof this.activeDocument !== "undefined") && this.application.ninja.coreIoApi.cloudAvailable()){ + if((typeof this.currentDocument !== "undefined") && this.application.ninja.coreIoApi.cloudAvailable()){ //Currently we don't need a callback handler //this.activeDocument.model.save(this.saveExecuted.bind(this)); - this.activeDocument.model.save(); + this.currentDocument.model.save(); } else { //Error: cloud not available and/or no active document } @@ -194,16 +194,13 @@ exports.DocumentController = Montage.create(Component, { //////////////////////////////////////////////////////////////////// handleExecuteFileClose:{ value: function(event) { - if (this.activeDocument) { - this.closeFile(this.activeDocument); - } + this.closeFile(this.currentDocument); } }, //////////////////////////////////////////////////////////////////// //TODO: Is this used, should be cleaned up handleExecuteFileCloseAll:{ value: function(event) { - var i=0;//TODO: who is using this?? if(this.activeDocument && this.application.ninja.coreIoApi.cloudAvailable()){ while(this._documents.length > 0){ this.closeDocument(this._documents[this._documents.length -1].uuid); -- cgit v1.2.3 From 6307b0930f1a8452de954ae16e293da2f575db04 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 31 May 2012 14:49:41 -0700 Subject: removing the last closeDocument handler Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index f85e2f97..72a669b3 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -45,6 +45,11 @@ exports.DocumentController = Montage.create(Component, { if(this._currentDocument) { this._currentDocument.model.currentView.hide(); + + if(this._currentDocument.model.parentContainer !== value.model.parentContainer) { + this._currentDocument.model.parentContainer.style["display"] = "none"; + value.model.parentContainer.style["display"] = "block"; + } } this._currentDocument = value; @@ -355,10 +360,7 @@ exports.DocumentController = Montage.create(Component, { currentDocument.serializeDocument(); } - if(currentDocument.model.parentContainer !== newDocument.model.parentContainer) { - currentDocument.model.parentContainer.style["display"] = "none"; - newDocument.model.parentContainer.style["display"] = "block"; - } + if(currentDocument.currentView === "code" && newDocument.currentView === "design") { this.application.ninja.stage.showCodeViewBar(false); -- cgit v1.2.3 From ffe6c157279e115f4658d8c66622085f05cfbf43 Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Thu, 31 May 2012 15:27:03 -0700 Subject: fixing the switching between various types of documents Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 41 +++++------------------------------ 1 file changed, 5 insertions(+), 36 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 72a669b3..0fe1636a 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -45,11 +45,6 @@ exports.DocumentController = Montage.create(Component, { if(this._currentDocument) { this._currentDocument.model.currentView.hide(); - - if(this._currentDocument.model.parentContainer !== value.model.parentContainer) { - this._currentDocument.model.parentContainer.style["display"] = "none"; - value.model.parentContainer.style["display"] = "block"; - } } this._currentDocument = value; @@ -58,10 +53,13 @@ exports.DocumentController = Montage.create(Component, { document.getElementById("iframeContainer").style.display = "block"; document.getElementById("codeViewContainer").style.display = "block"; } else if(this._currentDocument.currentView === "design") { + document.getElementById("codeViewContainer").style.display = "none"; + document.getElementById("iframeContainer").style.display = "block"; this._currentDocument.model.currentView.show(); this._currentDocument.model.views.design._liveNodeList = this._currentDocument.model.documentRoot.getElementsByTagName('*'); } else { document.getElementById("iframeContainer").style.display = "none"; + this._currentDocument.model.parentContainer.style["display"] = "block"; this._currentDocument.model.currentView.show(); } @@ -355,26 +353,8 @@ exports.DocumentController = Montage.create(Component, { switchDocuments: { value: function(currentDocument, newDocument, didCreate) { - if(currentDocument) { - if(currentDocument.currentView === "design") { - currentDocument.serializeDocument(); - } - - - - if(currentDocument.currentView === "code" && newDocument.currentView === "design") { - this.application.ninja.stage.showCodeViewBar(false); - this.application.ninja.stage.restoreAllPanels(); - this.application.ninja.stage.hideCanvas(false); - this.application.ninja.stage.showRulers(); - } - } - - if(newDocument.currentView === "code") { - this.application.ninja.stage.showCodeViewBar(true); - this.application.ninja.stage.collapseAllPanels(); - this.application.ninja.stage.hideCanvas(true); - this.application.ninja.stage.hideRulers(); + if(currentDocument.currentView === "design") { + currentDocument.serializeDocument(); } if(didCreate) { @@ -384,19 +364,8 @@ exports.DocumentController = Montage.create(Component, { newDocument.model.parentContainer.style["display"] = "block"; } } else { - this.activeDocument = newDocument; - - newDocument.model.currentView.show(); - if(newDocument.currentView === "design") { newDocument.deserializeDocument(); - NJevent("onSwitchDocument"); - } else { - this.application.ninja.currentDocument = newDocument; - newDocument.model.views.code.editor.focus(); - - newDocument.model.isActive = true; - this.application.ninja.codeEditorController.applySettings();//should be called after activeDocument is updated } } } -- cgit v1.2.3 From 7fcb10270f9e19415f8452c261c2d0c86916a29a Mon Sep 17 00:00:00 2001 From: Valerio Virgillito Date: Fri, 1 Jun 2012 00:54:02 -0700 Subject: fixed the 3d grid when switching documents and some cleanup Signed-off-by: Valerio Virgillito --- js/controllers/document-controller.js | 21 --------------------- 1 file changed, 21 deletions(-) (limited to 'js/controllers/document-controller.js') diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js index 0fe1636a..a90375af 100755 --- a/js/controllers/document-controller.js +++ b/js/controllers/document-controller.js @@ -348,26 +348,5 @@ exports.DocumentController = Montage.create(Component, { value: function(document) { document.closeDocument(this.application.ninja, this.application.ninja.closeFile); } - }, - - switchDocuments: { - value: function(currentDocument, newDocument, didCreate) { - - if(currentDocument.currentView === "design") { - currentDocument.serializeDocument(); - } - - if(didCreate) { - if(newDocument.currentView === "design") { - - } else { - newDocument.model.parentContainer.style["display"] = "block"; - } - } else { - if(newDocument.currentView === "design") { - newDocument.deserializeDocument(); - } - } - } } }); -- cgit v1.2.3