diff options
Diffstat (limited to 'js/mediators')
-rwxr-xr-x | js/mediators/element-mediator.js | 15 | ||||
-rwxr-xr-x | js/mediators/keyboard-mediator.js | 16 |
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 | ||