aboutsummaryrefslogtreecommitdiff
path: root/js/mediators
diff options
context:
space:
mode:
Diffstat (limited to 'js/mediators')
-rwxr-xr-xjs/mediators/element-mediator.js15
-rwxr-xr-xjs/mediators/keyboard-mediator.js16
2 files changed, 10 insertions, 21 deletions
diff --git a/js/mediators/element-mediator.js b/js/mediators/element-mediator.js
index 9c9518a0..f5b574fc 100755
--- a/js/mediators/element-mediator.js
+++ b/js/mediators/element-mediator.js
@@ -49,7 +49,7 @@ exports.ElementMediator = Montage.create(Component, {
49 }, 49 },
50 50
51 addElements:{ 51 addElements:{
52 value:function (elements, rules, notify) { 52 value:function (elements, rules, notify, callAddDelegate) {
53 if (Array.isArray(elements)) { 53 if (Array.isArray(elements)) {
54 elements.forEach(function (element) { 54 elements.forEach(function (element) {
55 ElementController.addElement(element, rules); 55 ElementController.addElement(element, rules);
@@ -61,13 +61,15 @@ exports.ElementMediator = Montage.create(Component, {
61 61
62 } 62 }
63 63
64 if (this.addDelegate && typeof (this.addDelegate['onAddElements']) === "function") { 64 if ((callAddDelegate || (typeof callAddDelegate === "undefined"))
65 && this.addDelegate && typeof (this.addDelegate['onAddElements']) === "function") {
66
65 this.addDelegate['onAddElements'].call(this.addDelegate, elements); 67 this.addDelegate['onAddElements'].call(this.addDelegate, elements);
66 } 68 }
67 69
68 var undoLabel = "add element"; 70 var undoLabel = "add element";
69 71
70 document.application.undoManager.add(undoLabel, this.removeElements, this, elements, notify); 72 document.application.undoManager.add(undoLabel, this.removeElements, this, elements, notify, false);
71 73
72 this.application.ninja.currentDocument.model.needsSave = true; 74 this.application.ninja.currentDocument.model.needsSave = true;
73 75
@@ -78,9 +80,10 @@ exports.ElementMediator = Montage.create(Component, {
78 }, 80 },
79 81
80 removeElements:{ 82 removeElements:{
81 value:function (elements, notify /* Used for the add undo */) { 83 value:function (elements, notify, callDeleteDelegate) {
82 84
83 if (this.deleteDelegate && (typeof this.deleteDelegate.handleDelete === 'function')) { 85 if ((callDeleteDelegate || (typeof callDeleteDelegate === "undefined"))
86 && this.deleteDelegate && (typeof this.deleteDelegate.handleDelete === 'function')) {
84 return this.deleteDelegate.handleDelete(); 87 return this.deleteDelegate.handleDelete();
85 // this.handleDelete.call(deleteDelegate); 88 // this.handleDelete.call(deleteDelegate);
86 } 89 }
@@ -96,7 +99,7 @@ exports.ElementMediator = Montage.create(Component, {
96 99
97 var undoLabel = "add element"; 100 var undoLabel = "add element";
98 101
99 document.application.undoManager.add(undoLabel, this.addElements, this, elements, null, notify); 102 document.application.undoManager.add(undoLabel, this.addElements, this, elements, null, notify, false);
100 103
101 this.application.ninja.currentDocument.model.needsSave = true; 104 this.application.ninja.currentDocument.model.needsSave = true;
102 105
diff --git a/js/mediators/keyboard-mediator.js b/js/mediators/keyboard-mediator.js
index 36bc86fd..a323b9c3 100755
--- a/js/mediators/keyboard-mediator.js
+++ b/js/mediators/keyboard-mediator.js
@@ -98,20 +98,6 @@ exports.KeyboardMediator = Montage.create(Component, {
98 value: function() { 98 value: function() {
99 document.addEventListener("keydown", this, false); 99 document.addEventListener("keydown", this, false);
100 document.addEventListener("keyup", this, false); 100 document.addEventListener("keyup", this, false);
101
102 this.addPropertyChangeListener("appModel.livePreview", this.handleLivePreview, false);
103 }
104 },
105
106 handleLivePreview: {
107 value: function() {
108 if(this.appModel.livePreview) {
109 document.removeEventListener("keydown", this, false);
110 document.removeEventListener("keyup", this, false);
111 } else {
112 document.addEventListener("keydown", this, false);
113 document.addEventListener("keyup", this, false);
114 }
115 } 101 }
116 }, 102 },
117 103
@@ -264,7 +250,7 @@ exports.KeyboardMediator = Montage.create(Component, {
264 250
265 251
266 if((evt.keyCode == Keyboard.ENTER) && (evt.ctrlKey || evt.metaKey)) { 252 if((evt.keyCode == Keyboard.ENTER) && (evt.ctrlKey || evt.metaKey)) {
267 this.application.ninja.executeChromePreview(); 253 this.application.ninja.handleExecutePreview();
268 return; 254 return;
269 } 255 }
270 256