aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xjs/components/layout/bread-crumb.reel/bread-crumb.js4
-rwxr-xr-xjs/controllers/document-controller.js30
-rwxr-xr-xjs/data/menu-data.js61
-rwxr-xr-xjs/document/html-document.js222
-rwxr-xr-xjs/document/templates/montage-web/default_html.css30
-rwxr-xr-xjs/document/templates/montage-web/index.html41
-rw-r--r--js/document/templates/montage-web/main.reel/main.js48
-rwxr-xr-xjs/document/templates/montage-web/package.json8
-rwxr-xr-xjs/panels/properties.reel/properties.js1
-rwxr-xr-xjs/stage/stage.reel/stage.js2
10 files changed, 409 insertions, 38 deletions
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js
index f35972b6..45a4d217 100755
--- a/js/components/layout/bread-crumb.reel/bread-crumb.js
+++ b/js/components/layout/bread-crumb.reel/bread-crumb.js
@@ -58,7 +58,7 @@ exports.Breadcrumb = Montage.create(Component, {
58 createContainerElements: { 58 createContainerElements: {
59 value: function() { 59 value: function() {
60 var parentNode; 60 var parentNode;
61 61/*
62 this.containerElements.length = 0; 62 this.containerElements.length = 0;
63 63
64 parentNode = this.container; 64 parentNode = this.container;
@@ -70,7 +70,7 @@ exports.Breadcrumb = Montage.create(Component, {
70 70
71 // This is always the top container which is now hardcoded to body 71 // This is always the top container which is now hardcoded to body
72 this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": "Body"}); 72 this.containerElements.unshift({"node": parentNode, "nodeUuid":parentNode.uuid, "label": "Body"});
73 73*/
74 74
75 75
76 } 76 }
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index ddaeb061..e56c3e31 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -10,8 +10,7 @@ var Montage = require("montage/core/core").Montage,
10 Component = require("montage/ui/component").Component, 10 Component = require("montage/ui/component").Component,
11 Uuid = require("montage/core/uuid").Uuid, 11 Uuid = require("montage/core/uuid").Uuid,
12 HTMLDocument = require("js/document/html-document").HTMLDocument, 12 HTMLDocument = require("js/document/html-document").HTMLDocument,
13 TextDocument = require("js/document/text-document").TextDocument, 13 TextDocument = require("js/document/text-document").TextDocument;
14 DocumentController;
15//////////////////////////////////////////////////////////////////////// 14////////////////////////////////////////////////////////////////////////
16// 15//
17var DocumentController = exports.DocumentController = Montage.create(Component, { 16var DocumentController = exports.DocumentController = Montage.create(Component, {
@@ -19,6 +18,10 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
19 value: false 18 value: false
20 }, 19 },
21 20
21 webTemplate: {
22 value: false
23 },
24
22 _documents: { 25 _documents: {
23 value: [] 26 value: []
24 }, 27 },
@@ -65,6 +68,10 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
65 this.eventManager.addEventListener("styleSheetDirty", this, false); 68 this.eventManager.addEventListener("styleSheetDirty", this, false);
66 69
67 this.eventManager.addEventListener("addComponentFirstDraw", this, false); 70 this.eventManager.addEventListener("addComponentFirstDraw", this, false);
71
72 // Temporary add listeners for the new stage templates
73 this.eventManager.addEventListener("executeWebpageOpen", this, false);
74 this.eventManager.addEventListener("executeNewWebpage", this, false);
68 } 75 }
69 }, 76 },
70 77
@@ -130,6 +137,20 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
130 } 137 }
131 }, 138 },
132 139
140 handleExecuteWebpageOpen: {
141 value: function(event) {
142 this.webTemplate = true;
143 this.handleExecuteFileOpen(event);
144 }
145 },
146
147 handleExecuteNewWebpage: {
148 value: function(event) {
149 this.webTemplate = true;
150 this.handleExecuteNewFile(event);
151 }
152 },
153
133 handleExecuteNewFile: { 154 handleExecuteNewFile: {
134 value: function(event) { 155 value: function(event) {
135 var newFileSettings = event._event.settings || {}; 156 var newFileSettings = event._event.settings || {};
@@ -235,7 +256,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
235 this.creatingNewFile = true;//flag for timeline to identify new file flow 256 this.creatingNewFile = true;//flag for timeline to identify new file flow
236 257
237 this.application.ninja.ioMediator.fileOpen(response.uri, this.openFileCallback.bind(this)); 258 this.application.ninja.ioMediator.fileOpen(response.uri, this.openFileCallback.bind(this));
238 }else if(!!response && !response.success){ 259 } else if(!!response && !response.success){
239 //Todo: restrict directory path to the sandbox, in the dialog itself 260 //Todo: restrict directory path to the sandbox, in the dialog itself
240 alert("Unable to create file.\n [Error: Forbidden directory]"); 261 alert("Unable to create file.\n [Error: Forbidden directory]");
241 } 262 }
@@ -313,7 +334,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
313 switch (doc.extension) { 334 switch (doc.extension) {
314 case 'html': case 'html': 335 case 'html': case 'html':
315 //Open in designer view 336 //Open in designer view
316 Montage.create(HTMLDocument).initialize(doc, Uuid.generate(), this._createIframeElement(), this._onOpenDocument.bind(this)); 337 Montage.create(HTMLDocument).initialize(doc, Uuid.generate(), this._createIframeElement(), this._onOpenDocument.bind(this), this.webTemplate);
317 break; 338 break;
318 default: 339 default:
319 //Open in code view 340 //Open in code view
@@ -420,6 +441,7 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
420 // Event Detail: Contains the current ActiveDocument 441 // Event Detail: Contains the current ActiveDocument
421 _onOpenDocument: { 442 _onOpenDocument: {
422 value: function(doc){ 443 value: function(doc){
444 this.webTemplate = false;
423 this.application.ninja.currentDocument = doc; 445 this.application.ninja.currentDocument = doc;
424 this._hideCurrentDocument(); 446 this._hideCurrentDocument();
425 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid); 447 this.application.ninja.stage.stageView.hideOtherDocuments(doc.uuid);
diff --git a/js/data/menu-data.js b/js/data/menu-data.js
index a1fe2703..9e8bf945 100755
--- a/js/data/menu-data.js
+++ b/js/data/menu-data.js
@@ -39,8 +39,7 @@ exports.MenuData = Montage.create( Montage, {
39 "boundProperty": "activeDocument", 39 "boundProperty": "activeDocument",
40 "oneway": true, 40 "oneway": true,
41 "boundValueMutator": function(activeDocument){ 41 "boundValueMutator": function(activeDocument){
42 if(activeDocument !== null){return true;} 42 return activeDocument !== null;
43 else{return false;}
44 } 43 }
45 }, 44 },
46 "action": "executeFileClose" 45 "action": "executeFileClose"
@@ -54,8 +53,7 @@ exports.MenuData = Montage.create( Montage, {
54 "boundProperty": "activeDocument", 53 "boundProperty": "activeDocument",
55 "oneway": true, 54 "oneway": true,
56 "boundValueMutator": function(activeDocument){ 55 "boundValueMutator": function(activeDocument){
57 if(activeDocument !== null){return true;} 56 return activeDocument !== null;
58 else{return false;}
59 } 57 }
60 }, 58 },
61 "action": "executeFileCloseAll" 59 "action": "executeFileCloseAll"
@@ -73,8 +71,7 @@ exports.MenuData = Montage.create( Montage, {
73 "boundProperty": "activeDocument", 71 "boundProperty": "activeDocument",
74 "oneway": true, 72 "oneway": true,
75 "boundValueMutator": function(activeDocument){ 73 "boundValueMutator": function(activeDocument){
76 if(activeDocument !== null){return true;} 74 return activeDocument !== null;
77 else{return false;}
78 } 75 }
79 }, 76 },
80 "action": "executeSave" 77 "action": "executeSave"
@@ -87,9 +84,8 @@ exports.MenuData = Montage.create( Montage, {
87 "boundObj": "documentController", 84 "boundObj": "documentController",
88 "boundProperty": "activeDocument", 85 "boundProperty": "activeDocument",
89 "oneway": true, 86 "oneway": true,
90 "boundValueMutator": function(activeDocument){ 87 "boundValueMutator": function(activeDocument) {
91 if(activeDocument !== null){return true;} 88 return activeDocument !== null;
92 else{return false;}
93 } 89 }
94 }, 90 },
95 "action":"executeSaveAs" 91 "action":"executeSaveAs"
@@ -103,8 +99,7 @@ exports.MenuData = Montage.create( Montage, {
103 "boundProperty": "activeDocument", 99 "boundProperty": "activeDocument",
104 "oneway": true, 100 "oneway": true,
105 "boundValueMutator": function(activeDocument){ 101 "boundValueMutator": function(activeDocument){
106 if(activeDocument !== null){return true;} 102 return activeDocument !== null;
107 else{return false;}
108 } 103 }
109 }, 104 },
110 "action": "executeSaveAll" 105 "action": "executeSaveAll"
@@ -127,6 +122,26 @@ exports.MenuData = Montage.create( Montage, {
127 "displayText" : "Close Project", 122 "displayText" : "Close Project",
128 "hasSubMenu" : false, 123 "hasSubMenu" : false,
129 "enabled": false 124 "enabled": false
125 },
126 {
127 "displayText" : "",
128 "separator": true
129 },
130 {
131 "displayText" : "",
132 "separator": true
133 },
134 {
135 "displayText" : "New Webpage",
136 "hasSubMenu" : false,
137 "enabled": true,
138 "action": "executeNewWebpage"
139 },
140 {
141 "displayText" : "Open Webpage",
142