Skip to content

Commit 0c18594

Browse files
committed
Extract functions in keyhandler.js file
Signed-off-by: Maurício Meneghini Fauth <mauricio@fauth.dev>
1 parent 6648115 commit 0c18594

1 file changed

Lines changed: 37 additions & 21 deletions

File tree

js/src/keyhandler.js

Lines changed: 37 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11

2-
// global var that holds: 0- if ctrl key is not pressed 1- if ctrl key is pressed
3-
var ctrlKeyHistory = 0;
2+
// var that holds: 0- if ctrl key is not pressed 1- if ctrl key is pressed
3+
let ctrlKeyHistory = 0;
44

55
/**
66
* Allows moving around inputs/select by Ctrl+arrows
77
*
88
* @param {object} event data
99
*/
10-
function onKeyDownArrowsHandler (event) {
10+
const onKeyDownArrowsHandler = function (event) {
1111
var e = event || window.event;
1212

1313
var o = (e.srcElement || e.target);
@@ -76,13 +76,13 @@ function onKeyDownArrowsHandler (event) {
7676
var id = 'field_' + y + '_' + x;
7777

7878
var nO = document.getElementById(id);
79-
if (! nO) {
79+
if (!nO) {
8080
id = 'field_' + y + '_' + x + '_0';
8181
nO = document.getElementById(id);
8282
}
8383

8484
// skip non existent fields
85-
if (! nO) {
85+
if (!nO) {
8686
return;
8787
}
8888

@@ -95,7 +95,7 @@ function onKeyDownArrowsHandler (event) {
9595
if (isFirefox) {
9696
var ffcheck = 0;
9797
var ffversion;
98-
for (ffversion = 3 ; ffversion < 25 ; ffversion++) {
98+
for (ffversion = 3; ffversion < 25; ffversion++) {
9999
var isFirefoxV24 = navigator.userAgent.toLowerCase().indexOf('firefox/' + ffversion) > -1;
100100
if (isFirefoxV24) {
101101
ffcheck = 1;
@@ -123,18 +123,34 @@ function onKeyDownArrowsHandler (event) {
123123
nO.select();
124124
}
125125
e.returnValue = false;
126-
}
127-
128-
window.AJAX.registerTeardown('keyhandler.js', function () {
129-
$(document).off('keydown keyup', '#table_columns');
130-
$(document).off('keydown keyup', 'table.insertRowTable');
131-
});
132-
133-
window.AJAX.registerOnload('keyhandler.js', function () {
134-
$(document).on('keydown keyup', '#table_columns', function (event) {
135-
onKeyDownArrowsHandler(event.originalEvent);
136-
});
137-
$(document).on('keydown keyup', 'table.insertRowTable', function (event) {
138-
onKeyDownArrowsHandler(event.originalEvent);
139-
});
140-
});
126+
};
127+
128+
const KeyHandlerEvents = {
129+
/**
130+
* @return {function}
131+
*/
132+
off: function () {
133+
return function () {
134+
$(document).off('keydown keyup', '#table_columns');
135+
$(document).off('keydown keyup', 'table.insertRowTable');
136+
};
137+
},
138+
/**
139+
* @return {function}
140+
*/
141+
on: function () {
142+
return function () {
143+
$(document).on('keydown keyup', '#table_columns', function (event) {
144+
onKeyDownArrowsHandler(event.originalEvent);
145+
});
146+
$(document).on('keydown keyup', 'table.insertRowTable', function (event) {
147+
onKeyDownArrowsHandler(event.originalEvent);
148+
});
149+
};
150+
}
151+
};
152+
153+
window.KeyHandlerEvents = KeyHandlerEvents;
154+
155+
window.AJAX.registerTeardown('keyhandler.js', window.KeyHandlerEvents.off());
156+
window.AJAX.registerOnload('keyhandler.js', window.KeyHandlerEvents.on());

0 commit comments

Comments
 (0)