Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/diaspora/diaspora.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSteffen van Bergerem <svbergerem@omgsrsly.net>2016-09-29 17:29:07 +0300
committerDennis Schubert <mail@dennis-schubert.de>2016-09-30 02:44:24 +0300
commit35aa0badc529ecb738030d1f62224c74010c9f34 (patch)
tree7da814e3c28513994deb0872acfbcc4ec399db38 /app/assets
parent0a264c1fe0bc960e5aea091b5f66e48e4ef06b00 (diff)
Refactor stream shortcuts
closes #7127
Diffstat (limited to 'app/assets')
-rw-r--r--app/assets/javascripts/app/helpers/shortcuts.js31
-rw-r--r--app/assets/javascripts/app/views/stream/shortcuts.js18
2 files changed, 34 insertions, 15 deletions
diff --git a/app/assets/javascripts/app/helpers/shortcuts.js b/app/assets/javascripts/app/helpers/shortcuts.js
new file mode 100644
index 000000000..c8d79f3fa
--- /dev/null
+++ b/app/assets/javascripts/app/helpers/shortcuts.js
@@ -0,0 +1,31 @@
+// @license magnet:?xt=urn:btih:0b31508aeb0634b347b8270c7bee4d411b5d4109&dn=agpl-3.0.txt AGPL-v3-or-Later
+(function() {
+ app.helpers.Shortcuts = function(evtname, fn) {
+ var textAcceptingInputTypes = [
+ "color",
+ "date",
+ "datetime",
+ "datetime-local",
+ "email",
+ "month",
+ "number",
+ "password",
+ "range",
+ "search",
+ "select",
+ "text",
+ "textarea",
+ "time",
+ "url",
+ "week"
+ ];
+
+ $("body").on(evtname, function(event) {
+ // make sure that the user is not typing in an input field
+ if (textAcceptingInputTypes.indexOf(event.target.type) === -1) {
+ fn(event);
+ }
+ });
+ };
+})();
+// @license-end
diff --git a/app/assets/javascripts/app/views/stream/shortcuts.js b/app/assets/javascripts/app/views/stream/shortcuts.js
index 56d9df05d..a19a1fa06 100644
--- a/app/assets/javascripts/app/views/stream/shortcuts.js
+++ b/app/assets/javascripts/app/views/stream/shortcuts.js
@@ -3,18 +3,12 @@
app.views.StreamShortcuts = Backbone.View.extend({
_headerSize: 60,
- events: {
- "keydown": "_onHotkeyDown",
- "keyup": "_onHotkeyUp"
+ initialize: function() {
+ app.helpers.Shortcuts("keydown", this._onHotkeyDown.bind(this));
+ app.helpers.Shortcuts("keyup", this._onHotkeyUp.bind(this));
},
_onHotkeyDown: function(event) {
- //make sure that the user is not typing in an input field
- var textAcceptingInputTypes = ["textarea", "select", "text", "password", "number", "email", "url", "range", "date", "month", "week", "time", "datetime", "datetime-local", "search", "color"];
- if(jQuery.inArray(event.target.type, textAcceptingInputTypes) > -1){
- return;
- }
-
// trigger the events based on what key was pressed
switch (String.fromCharCode( event.which ).toLowerCase()) {
case "j":
@@ -28,12 +22,6 @@ app.views.StreamShortcuts = Backbone.View.extend({
},
_onHotkeyUp: function(event) {
- //make sure that the user is not typing in an input field
- var textAcceptingInputTypes = ["textarea", "select", "text", "password", "number", "email", "url", "range", "date", "month", "week", "time", "datetime", "datetime-local", "search", "color"];
- if(jQuery.inArray(event.target.type, textAcceptingInputTypes) > -1){
- return;
- }
-
// trigger the events based on what key was pressed
switch (String.fromCharCode( event.which ).toLowerCase()) {
case "c":