UNPKG

tabulator-tables

Version:

Interactive table generation JavaScript library

91 lines (67 loc) 1.83 kB
export default { keyBlock:function(e){ e.stopPropagation(); e.preventDefault(); }, scrollPageUp:function(e){ var rowManager = this.table.rowManager, newPos = rowManager.scrollTop - rowManager.element.clientHeight; e.preventDefault(); if(rowManager.displayRowsCount){ if(newPos >= 0){ rowManager.element.scrollTop = newPos; }else{ rowManager.scrollToRow(rowManager.getDisplayRows()[0]); } } this.table.element.focus(); }, scrollPageDown:function(e){ var rowManager = this.table.rowManager, newPos = rowManager.scrollTop + rowManager.element.clientHeight, scrollMax = rowManager.element.scrollHeight; e.preventDefault(); if(rowManager.displayRowsCount){ if(newPos <= scrollMax){ rowManager.element.scrollTop = newPos; }else{ rowManager.scrollToRow(rowManager.getDisplayRows()[rowManager.displayRowsCount - 1]); } } this.table.element.focus(); }, scrollToStart:function(e){ var rowManager = this.table.rowManager; e.preventDefault(); if(rowManager.displayRowsCount){ rowManager.scrollToRow(rowManager.getDisplayRows()[0]); } this.table.element.focus(); }, scrollToEnd:function(e){ var rowManager = this.table.rowManager; e.preventDefault(); if(rowManager.displayRowsCount){ rowManager.scrollToRow(rowManager.getDisplayRows()[rowManager.displayRowsCount - 1]); } this.table.element.focus(); }, navPrev:function(e){ this.dispatch("keybinding-nav-prev", e); }, navNext:function(e){ this.dispatch("keybinding-nav-next", e); }, navLeft:function(e){ this.dispatch("keybinding-nav-left", e); }, navRight:function(e){ this.dispatch("keybinding-nav-right", e); }, navUp:function(e){ this.dispatch("keybinding-nav-up", e); }, navDown:function(e){ this.dispatch("keybinding-nav-down", e); }, };