aboutsummaryrefslogtreecommitdiff
path: root/js/panels
diff options
context:
space:
mode:
authorValerio Virgillito2012-04-04 13:27:40 -0700
committerValerio Virgillito2012-04-04 13:27:40 -0700
commit9f1806a7134ec4744a8009e6a7467f5cea04cabf (patch)
treeb4038b10cb105cc9860f869e6bb372a74b05813c /js/panels
parent56a042a8ed5d1cb2cb82781952f09ffd6a8338ea (diff)
parent8482e23cd9b8c4700b5130f2588e5eb24d376536 (diff)
downloadninja-9f1806a7134ec4744a8009e6a7467f5cea04cabf.tar.gz
Merge branch 'refs/heads/master' into components
Diffstat (limited to 'js/panels')
-rwxr-xr-xjs/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js10
-rwxr-xr-xjs/panels/Splitter.js13
-rw-r--r--js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js37
-rw-r--r--js/panels/Timeline/Tween.reel/Tween.js2
-rwxr-xr-xjs/panels/components-panel.reel/components-panel.js2
-rw-r--r--js/panels/drag-drop-composer.js4
-rw-r--r--js/panels/presets/animations-presets.reel/animations-presets.js4
-rw-r--r--js/panels/presets/default-animation-presets.js4
-rw-r--r--js/panels/presets/style-presets.reel/style-presets.js4
-rw-r--r--js/panels/presets/transitions-presets.reel/transitions-presets.js4
-rwxr-xr-xjs/panels/properties.reel/properties.js16
-rwxr-xr-xjs/panels/properties.reel/sections/three-d-view.reel/three-d-view.js2
12 files changed, 65 insertions, 37 deletions
diff --git a/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js b/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js
index 0c950ffd..2a3fc068 100755
--- a/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js
+++ b/js/panels/CSSPanel/CSSPanelBase.reel/CSSPanelBase.js
@@ -520,9 +520,7 @@ var CSSPanel = exports.CSSPanelBase = (require("montage/core/core").Montage).cre
520 this.inComputedStyleMode = false; // No computed styles mode for multiple items 520 this.inComputedStyleMode = false; // No computed styles mode for multiple items
521 521
522 ///// if multiple items are selected, then show common rules 522 ///// if multiple items are selected, then show common rules
523 var elements = items.map(function(item) { 523 var elements = Array.prototype.slice.call(this.application.ninja.selectedElements, 0);
524 return item._element;
525 });
526 524
527 ///// show toolbar, but hide computed style button 525 ///// show toolbar, but hide computed style button
528 this.sections.styles.toolbar.style.display = ''; 526 this.sections.styles.toolbar.style.display = '';
@@ -538,7 +536,7 @@ var CSSPanel = exports.CSSPanelBase = (require("montage/core/core").Montage).cre
538 this.sections.styles.statusMsg.classList.add('nj-css-panel-hide'); 536 this.sections.styles.statusMsg.classList.add('nj-css-panel-hide');
539 this.sections.styles.showComputedEl.classList.remove('nj-css-panel-hide');// .style.display = ''; 537 this.sections.styles.showComputedEl.classList.remove('nj-css-panel-hide');// .style.display = '';
540 this.sections.styles.toolbar.style.display = ''; 538 this.sections.styles.toolbar.style.display = '';
541 this.showStylesForElement(items[0]._element, null); 539 this.showStylesForElement(items[0], null);
542 } else { 540 } else {
543 this.sections.styles.statusMsg.classList.add('nj-css-panel-hide'); 541 this.sections.styles.statusMsg.classList.add('nj-css-panel-hide');
544 this._inMultiSelectMode = false; 542 this._inMultiSelectMode = false;
@@ -1691,7 +1689,7 @@ NJCSSStyle.prototype.styleChange = function() {
1691NJCSSStyle.prototype.getUnits = function(val) { 1689NJCSSStyle.prototype.getUnits = function(val) {
1692 if(val.split(/\s/).length > 1) { 1690 if(val.split(/\s/).length > 1) {
1693 return false; 1691 return false;
1694 } else if(/px|em|pt|in|cm|mm|ex|pc|%/.test(val)) { 1692 } else if(/(px|em|pt|in|cm|mm|ex|pc|%)$/.test(val)) {
1695 return val.replace(/^.*(px|em|pt|in|cm|mm|ex|pc|%).*/, '$1'); 1693 return val.replace(/^.*(px|em|pt|in|cm|mm|ex|pc|%).*/, '$1');
1696 } 1694 }
1697 return null; 1695 return null;
@@ -1771,7 +1769,7 @@ NJCSSStyle.prototype.updateValue = function(newValue, bypassUndo) {
1771 this.styleChange(); 1769 this.styleChange();
1772 return true; 1770 return true;
1773 } 1771 }
1774 1772
1775 var IMPORTANT_FLAG = ' !important', 1773 var IMPORTANT_FLAG = ' !important',
1776 dec = this.njRule.declaration, 1774 dec = this.njRule.declaration,
1777 acceptAsValid = false, 1775 acceptAsValid = false,
diff --git a/js/panels/Splitter.js b/js/panels/Splitter.js
index 6791e0d5..ac45b4ba 100755
--- a/js/panels/Splitter.js
+++ b/js/panels/Splitter.js
@@ -94,7 +94,11 @@ exports.Splitter = Montage.create(Component, {
94 handleClick : { 94 handleClick : {
95 value: function() { 95 value: function() {
96 if (!this.disabled) { 96 if (!this.disabled) {
97 this.panel.addEventListener("webkitTransitionEnd", this, false); 97 if(this.panel.element) {
98 this.panel.element.addEventListener("webkitTransitionEnd", this, false);
99 } else {
100 this.panel.addEventListener("webkitTransitionEnd", this, false);
101 }
98 this.collapsed = !this.collapsed; 102 this.collapsed = !this.collapsed;
99 this.needsDraw = true; 103 this.needsDraw = true;
100 } 104 }
@@ -103,7 +107,12 @@ exports.Splitter = Montage.create(Component, {
103 107
104 handleWebkitTransitionEnd: { 108 handleWebkitTransitionEnd: {
105 value: function() { 109 value: function() {
106 this.panel.removeEventListener("webkitTransitionEnd", this, false); 110 if(this.panel.element) {
111 this.panel.element.removeEventListener("webkitTransitionEnd", this, false);
112 } else {
113 this.panel.removeEventListener("webkitTransitionEnd", this, false);
114 }
115
107 this.application.ninja.stage.resizeCanvases = true; 116 this.application.ninja.stage.resizeCanvases = true;
108 } 117 }
109 }, 118 },
diff --git a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
index a1e320c4..033d0f79 100644
--- a/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
+++ b/js/panels/Timeline/TimelinePanel.reel/TimelinePanel.js
@@ -318,7 +318,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
318 "newLayer", 318 "newLayer",
319 "deleteLayer", 319 "deleteLayer",
320 "elementAdded", 320 "elementAdded",
321 "elementDeleted", 321 "elementsRemoved",
322 "selectionChange"], 322 "selectionChange"],
323 i, 323 i,
324 arrEventsLength = arrEvents.length; 324 arrEventsLength = arrEvents.length;
@@ -826,7 +826,7 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
826 for(var index=0;index<arrLayerLength;index++){ 826 for(var index=0;index<arrLayerLength;index++){
827 if(this.arrLayers[index].layerData.layerID===dLayer[hashVariable].layerID){ 827 if(this.arrLayers[index].layerData.layerID===dLayer[hashVariable].layerID){
828 dLayer[hashVariable].deleted = true; 828 dLayer[hashVariable].deleted = true;
829 ElementMediator.deleteElements(dLayer[hashVariable].elementsList); 829 ElementMediator.removeElements(dLayer[hashVariable].elementsList);
830 this.arrLayers.splice(index, 1); 830 this.arrLayers.splice(index, 1);
831 break; 831 break;
832 } 832 }
@@ -861,18 +861,37 @@ var TimelinePanel = exports.TimelinePanel = Montage.create(Component, {
861 } 861 }
862 }, 862 },
863 863
864 handleElementDeleted:{ 864 handleElementsRemoved:{
865 value:function (event) { 865 value:function (event) {
866 var length,lengthVal; 866 var length,lengthVal;
867 this.deleteElement = event.detail; 867 this.deleteElement = event.detail;
868 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1; 868
869 for (length = lengthVal ;length >= 0 ;length--) { 869 // Handling deletion of multiple elements.
870 if (this.currentLayerSelected.layerData.elementsList[length] === this.deleteElement) { 870 // TODO: Optimize this double array loop
871 this.currentLayerSelected.layerData.elementsList.splice(length, 1); 871 if(Array.isArray(this.deleteElement)) {
872 break; 872 this.deleteElement = Array.prototype.slice.call(this.deleteElement, 0);
873 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1;
874 this.deleteElement.forEach(function(element) {
875 for (length = lengthVal ;length >= 0 ;length--) {
876 if (this.currentLayerSelected.layerData.elementsList[length] === element) {
877 this.currentLayerSelected.layerData.elementsList.splice(length, 1);
878 break;
879 }
880 //length--;
881 }
882 }, this);
883 } else {
884 lengthVal = this.currentLayerSelected.layerData.elementsList.length - 1;
885 for (length = lengthVal ;length >= 0 ;length--) {
886 if (this.currentLayerSelected.layerData.elementsList[length] === this.deleteElement) {
887 this.currentLayerSelected.layerData.elementsList.splice(length, 1);
888 break;
889 }
890 //length--;
873 } 891 }
874 //length--;
875 } 892 }
893
894
876 } 895 }
877 }, 896 },
878 897
diff --git a/js/panels/Timeline/Tween.reel/Tween.js b/js/panels/Timeline/Tween.reel/Tween.js
index 2b308d9a..7339139f 100644
--- a/js/panels/Timeline/Tween.reel/Tween.js
+++ b/js/panels/Timeline/Tween.reel/Tween.js
@@ -162,7 +162,7 @@ var Tween = exports.Tween = Montage.create(Component, {
162 162
163 if (event.detail.source && event.detail.source !== "tween") { 163 if (event.detail.source && event.detail.source !== "tween") {
164 // check for correct element selection 164 // check for correct element selection
165 if (this.application.ninja.selectedElements[0]._element != this.parentComponent.parentComponent.animatedElement) { 165 if (this.application.ninja.selectedElements[0]!= this.parentComponent.parentComponent.animatedElement) {
166 console.log("Wrong element selected for this keyframe track"); 166 console.log("Wrong element selected for this keyframe track");
167 } else { 167 } else {
168 // update tweenedProperties and tell containing track to update CSS rule 168 // update tweenedProperties and tell containing track to update CSS rule
diff --git a/js/panels/components-panel.reel/components-panel.js b/js/panels/components-panel.reel/components-panel.js
index 6972b9b4..96713691 100755
--- a/js/panels/components-panel.reel/components-panel.js
+++ b/js/panels/components-panel.reel/components-panel.js
@@ -302,7 +302,7 @@ exports.ComponentsPanel = Montage.create(Component, {
302 302
303 that.application.ninja.currentDocument.setComponentInstance(instance, element); 303 that.application.ninja.currentDocument.setComponentInstance(instance, element);
304 304
305 NJevent("elementAdding", {"el": element, "data":styles}); 305 that.application.ninja.elementMediator.addElements(element, styles);
306 }); 306 });
307 307
308 } 308 }
diff --git a/js/panels/drag-drop-composer.js b/js/panels/drag-drop-composer.js
index b36c8334..4791bd6d 100644
--- a/js/panels/drag-drop-composer.js
+++ b/js/panels/drag-drop-composer.js
@@ -91,7 +91,9 @@ exports.DragDropComposer = Montage.create(Composer, {
91 e.stopImmediatePropagation(); 91 e.stopImmediatePropagation();
92 if (!this._dragover) {