X-Git-Url: https://git.mdrn.pl/fnpeditor.git/blobdiff_plain/5c99e408dd09e416fbec9c3535803e7d17bdaf44..7775c06d48eb6f310a8ba03d476fd9fcd36b3bc8:/src/editor/modules/documentCanvas/canvas/keyEvent.js?ds=inline diff --git a/src/editor/modules/documentCanvas/canvas/keyEvent.js b/src/editor/modules/documentCanvas/canvas/keyEvent.js new file mode 100644 index 0000000..a5ce48b --- /dev/null +++ b/src/editor/modules/documentCanvas/canvas/keyEvent.js @@ -0,0 +1,40 @@ +define(function(require) { + +'use strict'; + +var _ = require('libs/underscore'), + keyboard = require('modules/documentCanvas/canvas/keyboard'); + +var KEYS = keyboard.KEYS; + +var KeyEvent = function(params) { + this.key = params.key; + this.ctrlKey = params.ctrlKey; + this._nativeEvent = params._nativeEvent; +}; + +_.extend(KeyEvent.prototype, KEYS, { + forKey: function(k) { + return k === this.key; + }, + preventDefault: function() { + if(this._nativeEvent) { + this._nativeEvent.preventDefault(); + } + } +}); + +return { + fromParams: function(params) { + return new KeyEvent(params); + }, + fromNativeEvent: function(e) { + return this.fromParams({ + key: e.which, + ctrlKey: e.ctrlKey, + _nativeEvent: e + }); + } +}; + +}); \ No newline at end of file