mirror of
https://github.com/transatoshi-mw/grin-web-wallet.git
synced 2025-10-07 00:02:47 +00:00
contents of zip
This commit is contained in:
187
scripts/scroll.js
Executable file
187
scripts/scroll.js
Executable file
@@ -0,0 +1,187 @@
|
||||
// Use strict
|
||||
"use strict";
|
||||
|
||||
|
||||
// Classes
|
||||
|
||||
// Scroll class
|
||||
class Scroll {
|
||||
|
||||
// Public
|
||||
|
||||
// Constructor
|
||||
constructor() {
|
||||
|
||||
// Set prevent scrolling keys to false
|
||||
this.preventScrollingKeys = false;
|
||||
|
||||
// Set self
|
||||
var self = this;
|
||||
|
||||
// Document key down event
|
||||
$(document).on("keydown", function(event) {
|
||||
|
||||
// Check if preventing scrolling keys and a scroll key was pressed
|
||||
if(self.preventScrollingKeys === true && Scroll.isScrollKey(event["which"]) === true) {
|
||||
|
||||
// Prevent default
|
||||
event.preventDefault();
|
||||
}
|
||||
|
||||
// Input blur or mouse out event
|
||||
}).on("blur mouseout", "input", function() {
|
||||
|
||||
// Get input
|
||||
var input = $(this);
|
||||
|
||||
// Check if input doesn't have focus
|
||||
if(input.is(":focus") === false) {
|
||||
|
||||
// Scroll input back to start
|
||||
input.scrollLeft(0);
|
||||
}
|
||||
});
|
||||
|
||||
// Check if browser isn't Firefox
|
||||
if(typeof navigator !== "object" || navigator === null || "userAgent" in navigator === false || navigator["userAgent"].toLowerCase().indexOf("firefox") === Common.INDEX_NOT_FOUND) {
|
||||
|
||||
// Scroll event
|
||||
document.addEventListener("scroll", function(event) {
|
||||
|
||||
// Get element
|
||||
var element = $(event["target"]);
|
||||
|
||||
// Check if element is an input and it doesn't have focus
|
||||
if(element.is("input") === true && element.is(":focus") === false) {
|
||||
|
||||
// Prevent scrolling
|
||||
element.scrollLeft(0);
|
||||
}
|
||||
}, true);
|
||||
}
|
||||
}
|
||||
|
||||
// Prevent keys
|
||||
preventKeys() {
|
||||
|
||||
// Set prevent scrolling keys
|
||||
this.preventScrollingKeys = true;
|
||||
}
|
||||
|
||||
// Allow keys
|
||||
allowKeys() {
|
||||
|
||||
// Clear prevent scrolling keys
|
||||
this.preventScrollingKeys = false;
|
||||
}
|
||||
|
||||
// Tolerance
|
||||
static get TOLERANCE() {
|
||||
|
||||
// Return tolerance
|
||||
return 2;
|
||||
}
|
||||
|
||||
// Private
|
||||
|
||||
// Is scroll key
|
||||
static isScrollKey(key) {
|
||||
|
||||
// Return is key is a scroll key
|
||||
return Scroll.SCROLL_KEYS.indexOf(key) !== Common.INDEX_NOT_FOUND;
|
||||
}
|
||||
|
||||
// Scroll keys
|
||||
static get SCROLL_KEYS() {
|
||||
|
||||
// Return scroll keys
|
||||
return [
|
||||
|
||||
// Page up
|
||||
Scroll.PAGE_UP_KEY_CODE,
|
||||
|
||||
// Page down
|
||||
Scroll.PAGE_DOWN_KEY_CODE,
|
||||
|
||||
// End
|
||||
Scroll.END_KEY_CODE,
|
||||
|
||||
// Home
|
||||
Scroll.HOME_KEY_CODE,
|
||||
|
||||
// Left arrow
|
||||
Scroll.LEFT_ARROW_KEY_CODE,
|
||||
|
||||
// Up arrow
|
||||
Scroll.UP_ARROW_KEY_CODE,
|
||||
|
||||
// Right arrow
|
||||
Scroll.RIGHT_ARROW_KEY_CODE,
|
||||
|
||||
// Down arrow
|
||||
Scroll.DOWN_ARROW_KEY_CODE
|
||||
];
|
||||
}
|
||||
|
||||
// Page up key code
|
||||
static get PAGE_UP_KEY_CODE() {
|
||||
|
||||
// Return page up key code
|
||||
return 33;
|
||||
}
|
||||
|
||||
// Page down key code
|
||||
static get PAGE_DOWN_KEY_CODE() {
|
||||
|
||||
// Return page down key code
|
||||
return 34;
|
||||
}
|
||||
|
||||
// End key code
|
||||
static get END_KEY_CODE() {
|
||||
|
||||
// Return end key code
|
||||
return 35;
|
||||
}
|
||||
|
||||
// Home key code
|
||||
static get HOME_KEY_CODE() {
|
||||
|
||||
// Return home key code
|
||||
return 36;
|
||||
}
|
||||
|
||||
// Left arrow key code
|
||||
static get LEFT_ARROW_KEY_CODE() {
|
||||
|
||||
// Return left arrow key code
|
||||
return 37;
|
||||
}
|
||||
|
||||
// Up arrow key code
|
||||
static get UP_ARROW_KEY_CODE() {
|
||||
|
||||
// Return up arrow key code
|
||||
return 38;
|
||||
}
|
||||
|
||||
// Right arrow key code
|
||||
static get RIGHT_ARROW_KEY_CODE() {
|
||||
|
||||
// Return right arrow key code
|
||||
return 39;
|
||||
}
|
||||
|
||||
// Down arrow key code
|
||||
static get DOWN_ARROW_KEY_CODE() {
|
||||
|
||||
// Return down arrow key code
|
||||
return 40;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Main function
|
||||
|
||||
// Set global object's scroll
|
||||
globalThis["Scroll"] = Scroll;
|
Reference in New Issue
Block a user