aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xcss/ninja.css8
-rwxr-xr-xjs/components/layout/bread-crumb.reel/bread-crumb.js2
-rwxr-xr-xjs/controllers/document-controller.js4
-rwxr-xr-xjs/controllers/styles-controller.js6
-rwxr-xr-xjs/document/templates/montage-html/package.json3
-rwxr-xr-xjs/helper-classes/3D/snap-manager.js4
-rwxr-xr-xjs/helper-classes/3D/view-utils.js80
-rw-r--r--js/io/system/ninjalibrary.js28
-rw-r--r--js/io/system/ninjalibrary.json2
-rwxr-xr-xjs/stage/stage-view.reel/stage-view.css29
-rwxr-xr-xjs/tools/SelectionTool.js2
-rwxr-xr-xjs/tools/TextTool.js40
-rwxr-xr-xjs/tools/TranslateObject3DTool.js9
-rwxr-xr-xjs/tools/drawing-tool-base.js5
-rw-r--r--node_modules/components-data/feed-reader.json2
-rw-r--r--node_modules/components-data/map.json2
-rw-r--r--node_modules/components-data/picasa-carousel.json2
-rw-r--r--node_modules/components-data/youtube-channel.json2
-rw-r--r--node_modules/descriptor.json580
-rw-r--r--node_modules/montage-google/feed-reader/feed-entry.reel/feed-entry.html (renamed from node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.html)2
-rw-r--r--node_modules/montage-google/feed-reader/feed-entry.reel/feed-entry.js (renamed from node_modules/montage/ui/feed-reader/feed-entry.reel/feed-entry.js)2
-rw-r--r--node_modules/montage-google/feed-reader/feed-reader.reel/feed-reader.html (renamed from node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.html)4
-rw-r--r--node_modules/montage-google/feed-reader/feed-reader.reel/feed-reader.js (renamed from node_modules/montage/ui/feed-reader/feed-reader.reel/feed-reader.js)3
-rw-r--r--node_modules/montage-google/map.reel/map.css (renamed from node_modules/montage/ui/map.reel/map.css)0
-rw-r--r--node_modules/montage-google/map.reel/map.html (renamed from node_modules/montage/ui/map.reel/map.html)2
-rw-r--r--node_modules/montage-google/map.reel/map.js (renamed from node_modules/montage/ui/map.reel/map.js)2
-rwxr-xr-xnode_modules/montage-google/package.json14
-rw-r--r--node_modules/montage-google/picasa-carousel.reel/image.reel/image.html (renamed from node_modules/montage/ui/picasa-carousel.reel/image.reel/image.html)2
-rw-r--r--node_modules/montage-google/picasa-carousel.reel/image.reel/image.js (renamed from node_modules/montage/ui/picasa-carousel.reel/image.reel/image.js)2
-rwxr-xr-xnode_modules/montage-google/picasa-carousel.reel/picasa-carousel.css (renamed from node_modules/montage/ui/picasa-carousel.reel/picasa-carousel.css)0
-rwxr-xr-xnode_modules/montage-google/picasa-carousel.reel/picasa-carousel.html (renamed from node_modules/montage/ui/picasa-carousel.reel/picasa-carousel.html)4
-rw-r--r--node_modules/montage-google/picasa-carousel.reel/picasa-carousel.js (renamed from node_modules/montage/ui/picasa-carousel.reel/picasa-carousel.js)2
-rw-r--r--node_modules/montage-google/youtube-channel.reel/youtube-channel.html (renamed from node_modules/montage/ui/youtube-channel.reel/youtube-channel.html)4
-rw-r--r--node_modules/montage-google/youtube-channel.reel/youtube-channel.js (renamed from node_modules/montage/ui/youtube-channel.reel/youtube-channel.js)4
-rw-r--r--node_modules/montage-google/youtube-player.reel/youtube-player.html (renamed from node_modules/montage/ui/youtube-player.reel/youtube-player.html)2
-rw-r--r--node_modules/montage-google/youtube-player.reel/youtube-player.js (renamed from node_modules/montage/ui/youtube-player.reel/youtube-player.js)2
-rw-r--r--scss/imports/scss/_Stage.scss27
37 files changed, 456 insertions, 432 deletions
diff --git a/css/ninja.css b/css/ninja.css
index a7aab886..309c3ccd 100755
--- a/css/ninja.css
+++ b/css/ninja.css
@@ -204,14 +204,6 @@ body { position: absolute; margin: 0px; width: 100%; height: 100%; background-co
204 204
205.layoutCanvas { position: absolute; margin: 0px; border: none; padding: 0px; top: 0px; left: 0px; z-index: 4; } 205.layoutCanvas { position: absolute; margin: 0px; border: none; padding: 0px; top: 0px; left: 0px; z-index: 4; }
206 206
207#codeViewContainer { position: absolute; top: 0px; left: 0px; margin: 0px; padding: 0px; background: black; width: 100%; height: 100%; display: none; }
208
209#mainContent #codeMirror_1 { height: 100%; }
210
211#mainContent .CodeMirror { width: 100%; height: 100%; background: white; }
212
213#mainContent .CodeMirror-scroll { height: 100%; overflow: auto; }
214
215.montage-editor-frame { position: absolute; z-index: 7; top: 0; left: 0; display: none; -webkit-user-select: initial; } 207.montage-editor-frame { position: absolute; z-index: 7; top: 0; left: 0; display: none; -webkit-user-select: initial; }
216 208
217.montage-editor { padding: 0px; word-wrap: normal; } 209.montage-editor { padding: 0px; word-wrap: normal; }
diff --git a/js/components/layout/bread-crumb.reel/bread-crumb.js b/js/components/layout/bread-crumb.reel/bread-crumb.js
index e396bdbf..c1b021a3 100755
--- a/js/components/layout/bread-crumb.reel/bread-crumb.js
+++ b/js/components/layout/bread-crumb.reel/bread-crumb.js
@@ -23,7 +23,7 @@ exports.Breadcrumb = Montage.create(Component, {
23 value: function(){ 23 value: function(){
24 if(!this.application.ninja.documentController.activeDocument) { 24 if(!this.application.ninja.documentController.activeDocument) {
25 this.disabled = true; 25 this.disabled = true;
26 this.application.ninja.currentSelectedContainer = this.application.ninja.currentDocument.documentRoot; 26 this.application.ninja.currentSelectedContainer = (this.application.ninja.currentDocument ? this.application.ninja.currentDocument.documentRoot : null);
27 } 27 }
28 } 28 }
29 }, 29 },
diff --git a/js/controllers/document-controller.js b/js/controllers/document-controller.js
index 6d11bd0e..c6bf4c6b 100755
--- a/js/controllers/document-controller.js
+++ b/js/controllers/document-controller.js
@@ -427,10 +427,6 @@ var DocumentController = exports.DocumentController = Montage.create(Component,
427 427
428 closeDocument: { 428 closeDocument: {
429 value: function(id) { 429 value: function(id) {
430 if(this.activeDocument.needsSave === true){
431 //if file dirty then alert user to save
432 }
433
434 var doc = this._findDocumentByUUID(id); 430 var doc = this._findDocumentByUUID(id);
435 431
436 var closeDocumentIndex = this._findIndexByUUID(id); 432 var closeDocumentIndex = this._findIndexByUUID(id);
diff --git a/js/controllers/styles-controller.js b/js/controllers/styles-controller.js
index ec4314f9..2ff3e235 100755
--- a/js/controllers/styles-controller.js
+++ b/js/controllers/styles-controller.js
@@ -795,7 +795,9 @@ var stylesController = exports.StylesController = Montage.create(Component, {
795 ///// method to apply/test the new value 795 ///// method to apply/test the new value
796 dec.setProperty(property, value, priority); 796 dec.setProperty(property, value, priority);
797 797
798 this.styleSheetModified(rule.parentStyleSheet); 798 if(rule.parentStyleSheet) {
799 this.styleSheetModified(rule.parentStyleSheet);
800 }
799 801
800 ///// Return browser value for value we just set 802 ///// Return browser value for value we just set
801 return dec.getPropertyValue(property); 803 return dec.getPropertyValue(property);
@@ -1102,7 +1104,7 @@ var stylesController = exports.StylesController = Montage.create(Component, {
1102 ///// The dominant rule might not have the style property defined - why? 1104 ///// The dominant rule might not have the style property defined - why?
1103 ///// If no rules have the property defined, we can use the 1105 ///// If no rules have the property defined, we can use the
1104 ///// most-specific single-target rule as the dominant rule (for setting styles) 1106 ///// most-specific single-target rule as the dominant rule (for setting styles)
1105 return element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property); 1107 return (element.ownerDocument.defaultView ? element.ownerDocument.defaultView.getComputedStyle(element).getPropertyValue(property) : null);
1106 } 1108 }
1107 1109
1108 return value; 1110 return value;
diff --git a/js/document/templates/montage-html/package.json b/js/document/templates/montage-html/package.json
index c8bc02fb..d1e839dc 100755
--- a/js/document/templates/montage-html/package.json
+++ b/js/document/templates/montage-html/package.json
@@ -3,6 +3,7 @@
3 "lib": "" 3 "lib": ""
4 }, 4 },
5 "mappings": { 5 "mappings": {
6 "montage": "../../../../node_modules/montage/" 6 "montage": "../../../../node_modules/montage/",
7 "montage-google": "../../../../node_modules/montage-google/"
7 } 8 }
8} \ No newline at end of file 9} \ No newline at end of file
diff --git a/js/helper-classes/3D/snap-manager.js b/js/helper-classes/3D/snap-manager.js
index f4bfc12b..6766ac7f 100755
--- a/js/helper-classes/3D/snap-manager.js
+++ b/js/helper-classes/3D/snap-manager.js
@@ -1957,6 +1957,8 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
1957 var localPt = hitRec.getLocalPoint(); 1957 var localPt = hitRec.getLocalPoint();
1958 var planeMat = hitRec.getPlaneMatrix(); 1958 var planeMat = hitRec.getPlaneMatrix();
1959 var stageWorldPt; 1959 var stageWorldPt;
1960
1961 /*
1960 if(inGlobalMode) 1962 if(inGlobalMode)
1961 { 1963 {
1962 stageWorldPt = MathUtils.transformPoint(localPt,planeMat); 1964 stageWorldPt = MathUtils.transformPoint(localPt,planeMat);
@@ -1965,6 +1967,8 @@ var SnapManager = exports.SnapManager = Montage.create(Component, {
1965 { 1967 {
1966 stageWorldPt = viewUtils.postViewToStageWorld( MathUtils.transformPoint(localPt,planeMat), elt ); 1968 stageWorldPt = viewUtils.postViewToStageWorld( MathUtils.transformPoint(localPt,planeMat), elt );
1967 } 1969 }
1970 */
1971 stageWorldPt = viewUtils.postViewToStageWorld( MathUtils.transformPoint(localPt,planeMat), elt );
1968 1972
1969 /* 1973 /*
1970 // get a working plane parallel to the current working plane through the stage world point 1974 // get a working plane parallel to the current working plane through the stage world point
diff --git a/js/helper-classes/3D/view-utils.js b/js/helper-classes/3D/view-utils.js
index 40a19b90..919f7c50 100755
--- a/js/helper-classes/3D/view-utils.js
+++ b/js/helper-classes/3D/view-utils.js
@@ -124,35 +124,81 @@ exports.ViewUtils = Montage.create(Component, {
124 } 124 }
125 }, 125 },
126 126
127 getNormalToUnprojectedElementPlane: { 127 /*
128 value: function( elt ) { 128 * This method will return a normal to a plane containing the Z axis and either the
129 var mat = this.getMatrixFromElement(elt); 129 * x or y axis of the element.
130 */
131 getNormalToUnprojectedElementPlane:
132 {
133 value: function( elt, axis, localMode )
134 {
135 var objMat = this.getMatrixFromElement(elt);
136 var objMatInv = glmat4.inverse( objMat, [] );
130 137
131 var xVec = [mat[0], mat[1], mat[2], mat[3]]; 138 var xVec = [1,0,0];
132 var yVec = [mat[4], mat[5], mat[6], mat[7]]; 139 var yVec = [0,1,0];
140 var zVec = [0,0,1];
133 141
134 var stage = this.application.ninja.currentDocument.documentRoot; 142 var stage = this.application.ninja.currentDocument.documentRoot;
135 var stageMat = this.getMatrixFromElement(stage); 143 var stageMat = this.getMatrixFromElement(stage);
136 var stagePlane = [stageMat[8], stageMat[9], stageMat[10], stageMat[11]];
137 144
145 var mat = glmat4.multiply( stageMat, objMat, [] );
146
147 var viewDir;
148 if (localMode)
149 {
150 var matInv = glmat4.inverse( mat, [] );