aboutsummaryrefslogtreecommitdiff
path: root/js/mediators/element-mediator.js
diff options
context:
space:
mode:
Diffstat (limited to 'js/mediators/element-mediator.js')
-rw-r--r--js/mediators/element-mediator.js38
1 files changed, 28 insertions, 10 deletions
diff --git a/js/mediators/element-mediator.js b/js/mediators/element-mediator.js
index 91b09475..c44e1cb5 100644
--- a/js/mediators/element-mediator.js
+++ b/js/mediators/element-mediator.js
@@ -44,12 +44,16 @@ exports.ElementMediator = Montage.create(NJComponent, {
44 this.deleteDelegate.handleDelete(); 44 this.deleteDelegate.handleDelete();
45 } else { 45 } else {
46 // Add the Undo/Redo 46 // Add the Undo/Redo
47 var els = []; 47 var els = [],
48 len = this.application.ninja.selectedElements.length;
48 49
49 if(this.application.ninja.selectedElements.length > 0) { 50 if(len) {
50 for(var i=0, item; item = this.application.ninja.selectedElements[i]; i++) { 51 for(var i = 0; i<len; i++) {
51 ElementController.removeElement(item._element); 52 els.push(this.application.ninja.selectedElements[i]);
52 els.push(item._element); 53 }
54
55 for(i=0; i<len; i++) {
56 this._removeElement(els[i]._element);
53 } 57 }
54 58
55 NJevent( "deleteSelection", els ); 59 NJevent( "deleteSelection", els );
@@ -92,6 +96,11 @@ exports.ElementMediator = Montage.create(NJComponent, {
92 _addElement: { 96 _addElement: {
93 value: function(el, rules, noEvent) { 97 value: function(el, rules, noEvent) {
94 ElementController.addElement(el, rules); 98 ElementController.addElement(el, rules);
99 var p3d = this.get3DProperties(el);
100 if(p3d)
101 {
102 el.elementModel.controller["set3DProperties"](el, [p3d], 0, true);
103 }
95 if(!noEvent) NJevent("elementAdded", el); 104 if(!noEvent) NJevent("elementAdded", el);
96 } 105 }
97 }, 106 },
@@ -420,7 +429,7 @@ exports.ElementMediator = Montage.create(NJComponent, {
420 el.elementModel.controller["set3DProperties"](el, props, i, update3DModel); 429 el.elementModel.controller["set3DProperties"](el, props, i, update3DModel);
421 } 430 }
422 431
423 NJevent("element" + eventType, {type : "set3DProperties", source: source, data: {"els": els, "prop": props, "value": props}, redraw: null}); 432 NJevent("element" + eventType, {type : "set3DProperties", source: source, data: {"els": els, "prop": "matrix", "value": props}, redraw: null});
424 } 433 }
425 }, 434 },
426 435
@@ -431,7 +440,7 @@ exports.ElementMediator = Montage.create(NJComponent, {
431 getColor: { 440 getColor: {
432 value: function(el, isFill) { 441 value: function(el, isFill) {
433 if(!el.elementModel) { 442 if(!el.elementModel) {
434 NJUtils.makeElementModel(el, "Div", "block"); 443 NJUtils.makeElementModel2(el);
435 } 444 }
436 return el.elementModel.controller["getColor"](el, isFill); 445 return el.elementModel.controller["getColor"](el, isFill);
437 } 446 }
@@ -457,7 +466,7 @@ exports.ElementMediator = Montage.create(NJComponent, {
457 if(!currentValue) { 466 if(!currentValue) {
458 var that = this; 467 var that = this;
459 currentValue = els.map(function(item) { 468 currentValue = els.map(function(item) {
460 return that.getColor(item._element); 469 return that.getColor(item._element, isFill);
461 }); 470 });
462 } 471 }
463 472
@@ -589,6 +598,15 @@ exports.ElementMediator = Montage.create(NJComponent, {
589 } 598 }
590 }, 599 },
591 600
601 getColor2: {
602 value: function(el, prop, mutator) {
603 if(!el.elementModel) {
604 NJUtils.makeElementModel2(el);
605 }
606
607 return this.getColor(el, (prop === "background"));
608 }
609 },
592 610
593 //-------------------------------------------------------------------------------------------------------- 611 //--------------------------------------------------------------------------------------------------------
594 // Routines to get/set 3D properties 612 // Routines to get/set 3D properties
@@ -646,11 +664,11 @@ exports.ElementMediator = Montage.create(NJComponent, {
646 664
647 if(isChanging) 665 if(isChanging)
648 { 666 {
649 NJevent("elementChanging", {type : "setMatrix", source: null, data: {"el": el, "prop": "matrix", "value": mat}, redraw: null}); 667 NJevent("elementChanging", {type : "setMatrix", source: null, data: {"els": [el], "prop": "matrix", "value": mat}, redraw: null});
650 } 668 }
651 else 669 else
652 { 670 {
653 NJevent("elementChange", {type : "setMatrix", source: null, data: {"el": el, "prop": "matrix", "value": mat}, redraw: null}); 671 NJevent("elementChange", {type : "setMatrix", source: null, data: {"els": [el], "prop": "matrix", "value": mat}, redraw: null});
654 } 672 }
655 } 673 }
656 }, 674 },