datatables.net-keytable
Advanced tools
Comparing version 2.7.0 to 2.8.0
@@ -1,24 +0,5 @@ | ||
/*! KeyTable 2.6.4 | ||
* ©2009-2021 SpryMedia Ltd - datatables.net/license | ||
/*! KeyTable 2.8.0 | ||
* ©2009-2022 SpryMedia Ltd - datatables.net/license | ||
*/ | ||
/** | ||
* @summary KeyTable | ||
* @description Spreadsheet like keyboard navigation for DataTables | ||
* @version 2.6.4 | ||
* @file dataTables.keyTable.js | ||
* @author SpryMedia Ltd (www.sprymedia.co.uk) | ||
* @contact www.sprymedia.co.uk/contact | ||
* @copyright Copyright 2009-2021 SpryMedia Ltd. | ||
* | ||
* This source file is free software, available under the following license: | ||
* MIT license - http://datatables.net/license/mit | ||
* | ||
* This source file is distributed in the hope that it will be useful, but | ||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. | ||
* | ||
* For details please refer to: http://www.datatables.net | ||
*/ | ||
(function( factory ){ | ||
@@ -35,9 +16,18 @@ if ( typeof define === 'function' && define.amd ) { | ||
if ( ! root ) { | ||
// CommonJS environments without a window global must pass a | ||
// root. This will give an error otherwise | ||
root = window; | ||
} | ||
if ( ! $ || ! $.fn.dataTable ) { | ||
$ = require('datatables.net')(root, $).$; | ||
if ( ! $ ) { | ||
$ = typeof window !== 'undefined' ? // jQuery's factory checks for a global window | ||
require('jquery') : | ||
require('jquery')( root ); | ||
} | ||
if ( ! $.fn.dataTable ) { | ||
require('datatables.net')(root, $); | ||
} | ||
return factory( $, root, root.document ); | ||
@@ -53,2 +43,24 @@ }; | ||
var DataTable = $.fn.dataTable; | ||
/** | ||
* @summary KeyTable | ||
* @description Spreadsheet like keyboard navigation for DataTables | ||
* @version 2.8.0 | ||
* @file dataTables.keyTable.js | ||
* @author SpryMedia Ltd | ||
* @contact datatables.net | ||
* @copyright Copyright 2009-2022 SpryMedia Ltd. | ||
* | ||
* This source file is free software, available under the following license: | ||
* MIT license - http://datatables.net/license/mit | ||
* | ||
* This source file is distributed in the hope that it will be useful, but | ||
* WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
* or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. | ||
* | ||
* For details please refer to: http://www.datatables.net | ||
*/ | ||
var namespaceCounter = 0; | ||
@@ -324,2 +336,15 @@ var editorNamespaceCounter = 0; | ||
dt.on( 'column-reorder'+namespace, function (e, s, d) { | ||
// Need to update the last focus cell's index | ||
var lastFocus = that.s.lastFocus; | ||
if (lastFocus && lastFocus.cell) { | ||
var curr = lastFocus.relative.column; | ||
// Manipulate the API instance to correct the column index | ||
lastFocus.cell[0][0].column = d.mapping.indexOf(curr); | ||
lastFocus.relative.column = d.mapping.indexOf(curr); | ||
} | ||
} ); | ||
// Redraw - retain focus on the current cell | ||
@@ -587,2 +612,7 @@ dt.on( 'draw'+namespace, function (e) { | ||
dt.on( 'key-blur.editor', function (e, dt, cell) { | ||
// When Editor has its own blur enabled - do nothing here | ||
if (editor.s.editOpts.onBlur === 'submit') { | ||
return; | ||
} | ||
if ( editor.displayed() && cell.node() === editCell.node() ) { | ||
@@ -808,3 +838,2 @@ editor.submit(); | ||
/** | ||
@@ -863,3 +892,7 @@ * Handle key press | ||
// `enable` can be tab-only | ||
this._shift( e, e.shiftKey ? 'left' : 'right', true ); | ||
e.preventDefault(); | ||
this._keyAction( function () { | ||
that._shift( e, e.shiftKey ? 'left' : 'right', true ); | ||
} ); | ||
break; | ||
@@ -878,5 +911,7 @@ | ||
dt | ||
.page( e.keyCode === 33 ? 'previous' : 'next' ) | ||
.draw( false ); | ||
this._keyAction( function () { | ||
dt | ||
.page( e.keyCode === 33 ? 'previous' : 'next' ) | ||
.draw( false ); | ||
} ); | ||
} | ||
@@ -889,8 +924,11 @@ break; | ||
e.preventDefault(); | ||
var indexes = dt.cells( {page: 'current'} ).indexes(); | ||
var colIndexes = this._columns(); | ||
this._focus( dt.cell( | ||
indexes[ e.keyCode === 35 ? indexes.length-1 : colIndexes[0] ] | ||
), null, true, e ); | ||
this._keyAction( function () { | ||
var indexes = dt.cells( {page: 'current'} ).indexes(); | ||
var colIndexes = that._columns(); | ||
that._focus( dt.cell( | ||
indexes[ e.keyCode === 35 ? indexes.length-1 : colIndexes[0] ] | ||
), null, true, e ); | ||
} ); | ||
} | ||
@@ -901,3 +939,5 @@ break; | ||
if ( navEnable ) { | ||
this._shift( e, 'left' ); | ||
this._keyAction( function () { | ||
that._shift( e, 'left' ); | ||
} ); | ||
} | ||
@@ -908,3 +948,5 @@ break; | ||
if ( navEnable ) { | ||
this._shift( e, 'up' ); | ||
this._keyAction( function () { | ||
that._shift( e, 'up' ); | ||
} ); | ||
} | ||
@@ -915,3 +957,5 @@ break; | ||
if ( navEnable ) { | ||
this._shift( e, 'right' ); | ||
this._keyAction( function () { | ||
that._shift( e, 'right' ); | ||
} ); | ||
} | ||
@@ -922,3 +966,5 @@ break; | ||
if ( navEnable ) { | ||
this._shift( e, 'down' ); | ||
this._keyAction( function () { | ||
that._shift( e, 'down' ); | ||
} ); | ||
} | ||
@@ -944,2 +990,17 @@ break; | ||
/** | ||
* Whether we perform a key shift action immediately or not depends | ||
* upon if Editor is being used. If it is, then we wait until it | ||
* completes its action | ||
* @param {*} action Function to trigger when ready | ||
*/ | ||
_keyAction: function (action) { | ||
if (this.c.editor) { | ||
this.c.editor.submit(action); | ||
} | ||
else { | ||
action(); | ||
} | ||
}, | ||
/** | ||
* Remove focus from all tables other than this one | ||
@@ -1031,3 +1092,3 @@ */ | ||
var currentCell = last.cell; | ||
var currentCell = last.cell; | ||
if ( ! currentCell ) { | ||
@@ -1261,3 +1322,3 @@ return; | ||
KeyTable.version = "2.6.4"; | ||
KeyTable.version = "2.8.0"; | ||
@@ -1363,3 +1424,3 @@ | ||
return KeyTable; | ||
return DataTable; | ||
})); |
@@ -1,47 +0,4 @@ | ||
/*! | ||
Copyright 2009-2021 SpryMedia Ltd. | ||
This source file is free software, available under the following license: | ||
MIT license - http://datatables.net/license/mit | ||
This source file is distributed in the hope that it will be useful, but | ||
WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | ||
or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. | ||
For details please refer to: http://www.datatables.net | ||
KeyTable 2.6.4 | ||
©2009-2021 SpryMedia Ltd - datatables.net/license | ||
*/ | ||
var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(b){var h=0;return function(){return h<b.length?{done:!1,value:b[h++]}:{done:!0}}};$jscomp.arrayIterator=function(b){return{next:$jscomp.arrayIteratorImpl(b)}};$jscomp.ASSUME_ES5=!1;$jscomp.ASSUME_NO_NATIVE_MAP=!1;$jscomp.ASSUME_NO_NATIVE_SET=!1;$jscomp.SIMPLE_FROUND_POLYFILL=!1;$jscomp.ISOLATE_POLYFILLS=!1; | ||
$jscomp.defineProperty=$jscomp.ASSUME_ES5||"function"==typeof Object.defineProperties?Object.defineProperty:function(b,h,k){if(b==Array.prototype||b==Object.prototype)return b;b[h]=k.value;return b};$jscomp.getGlobal=function(b){b=["object"==typeof globalThis&&globalThis,b,"object"==typeof window&&window,"object"==typeof self&&self,"object"==typeof global&&global];for(var h=0;h<b.length;++h){var k=b[h];if(k&&k.Math==Math)return k}throw Error("Cannot find global object");};$jscomp.global=$jscomp.getGlobal(this); | ||
$jscomp.IS_SYMBOL_NATIVE="function"===typeof Symbol&&"symbol"===typeof Symbol("x");$jscomp.TRUST_ES6_POLYFILLS=!$jscomp.ISOLATE_POLYFILLS||$jscomp.IS_SYMBOL_NATIVE;$jscomp.polyfills={};$jscomp.propertyToPolyfillSymbol={};$jscomp.POLYFILL_PREFIX="$jscp$";var $jscomp$lookupPolyfilledValue=function(b,h){var k=$jscomp.propertyToPolyfillSymbol[h];if(null==k)return b[h];k=b[k];return void 0!==k?k:b[h]}; | ||
$jscomp.polyfill=function(b,h,k,m){h&&($jscomp.ISOLATE_POLYFILLS?$jscomp.polyfillIsolated(b,h,k,m):$jscomp.polyfillUnisolated(b,h,k,m))};$jscomp.polyfillUnisolated=function(b,h,k,m){k=$jscomp.global;b=b.split(".");for(m=0;m<b.length-1;m++){var n=b[m];if(!(n in k))return;k=k[n]}b=b[b.length-1];m=k[b];h=h(m);h!=m&&null!=h&&$jscomp.defineProperty(k,b,{configurable:!0,writable:!0,value:h})}; | ||
$jscomp.polyfillIsolated=function(b,h,k,m){var n=b.split(".");b=1===n.length;m=n[0];m=!b&&m in $jscomp.polyfills?$jscomp.polyfills:$jscomp.global;for(var u=0;u<n.length-1;u++){var w=n[u];if(!(w in m))return;m=m[w]}n=n[n.length-1];k=$jscomp.IS_SYMBOL_NATIVE&&"es6"===k?m[n]:null;h=h(k);null!=h&&(b?$jscomp.defineProperty($jscomp.polyfills,n,{configurable:!0,writable:!0,value:h}):h!==k&&($jscomp.propertyToPolyfillSymbol[n]=$jscomp.IS_SYMBOL_NATIVE?$jscomp.global.Symbol(n):$jscomp.POLYFILL_PREFIX+n,n= | ||
$jscomp.propertyToPolyfillSymbol[n],$jscomp.defineProperty(m,n,{configurable:!0,writable:!0,value:h})))};$jscomp.initSymbol=function(){}; | ||
$jscomp.polyfill("Symbol",function(b){if(b)return b;var h=function(n,u){this.$jscomp$symbol$id_=n;$jscomp.defineProperty(this,"description",{configurable:!0,writable:!0,value:u})};h.prototype.toString=function(){return this.$jscomp$symbol$id_};var k=0,m=function(n){if(this instanceof m)throw new TypeError("Symbol is not a constructor");return new h("jscomp_symbol_"+(n||"")+"_"+k++,n)};return m},"es6","es3");$jscomp.initSymbolIterator=function(){}; | ||
$jscomp.polyfill("Symbol.iterator",function(b){if(b)return b;b=Symbol("Symbol.iterator");for(var h="Array Int8Array Uint8Array Uint8ClampedArray Int16Array Uint16Array Int32Array Uint32Array Float32Array Float64Array".split(" "),k=0;k<h.length;k++){var m=$jscomp.global[h[k]];"function"===typeof m&&"function"!=typeof m.prototype[b]&&$jscomp.defineProperty(m.prototype,b,{configurable:!0,writable:!0,value:function(){return $jscomp.iteratorPrototype($jscomp.arrayIteratorImpl(this))}})}return b},"es6", | ||
"es3");$jscomp.initSymbolAsyncIterator=function(){};$jscomp.iteratorPrototype=function(b){b={next:b};b[Symbol.iterator]=function(){return this};return b};$jscomp.iteratorFromArray=function(b,h){b instanceof String&&(b+="");var k=0,m={next:function(){if(k<b.length){var n=k++;return{value:h(n,b[n]),done:!1}}m.next=function(){return{done:!0,value:void 0}};return m.next()}};m[Symbol.iterator]=function(){return m};return m}; | ||
$jscomp.polyfill("Array.prototype.keys",function(b){return b?b:function(){return $jscomp.iteratorFromArray(this,function(h){return h})}},"es6","es3"); | ||
(function(b){"function"===typeof define&&define.amd?define(["jquery","datatables.net"],function(h){return b(h,window,document)}):"object"===typeof exports?module.exports=function(h,k){h||(h=window);k&&k.fn.dataTable||(k=require("datatables.net")(h,k).$);return b(k,h,h.document)}:b(jQuery,window,document)})(function(b,h,k,m){var n=b.fn.dataTable,u=0,w=0,t=function(a,c){if(!n.versionCheck||!n.versionCheck("1.10.8"))throw"KeyTable requires DataTables 1.10.8 or newer";this.c=b.extend(!0,{},n.defaults.keyTable, | ||
t.defaults,c);this.s={dt:new n.Api(a),enable:!0,focusDraw:!1,waitingForDraw:!1,lastFocus:null,namespace:".keyTable-"+u++,tabInput:null};this.dom={};a=this.s.dt.settings()[0];if(c=a.keytable)return c;a.keytable=this;this._constructor()};b.extend(t.prototype,{blur:function(){this._blur()},enable:function(a){this.s.enable=a},enabled:function(){return this.s.enable},focus:function(a,c){this._focus(this.s.dt.cell(a,c))},focused:function(a){if(!this.s.lastFocus)return!1;var c=this.s.lastFocus.cell.index(); | ||
return a.row===c.row&&a.column===c.column},_constructor:function(){this._tabInput();var a=this,c=this.s.dt,e=b(c.table().node()),d=this.s.namespace,f=!1;"static"===e.css("position")&&e.css("position","relative");b(c.table().body()).on("click"+d,"th, td",function(g){if(!1!==a.s.enable){var q=c.cell(this);q.any()&&a._focus(q,null,!1,g)}});b(k).on("keydown"+d,function(g){f||a._key(g)});if(this.c.blurable)b(k).on("mousedown"+d,function(g){b(g.target).parents(".dataTables_filter").length&&a._blur();b(g.target).parents().filter(c.table().container()).length|| | ||
b(g.target).parents("div.DTE").length||b(g.target).parents("div.editor-datetime").length||b(g.target).parents("div.dt-datetime").length||b(g.target).parents().filter(".DTFC_Cloned").length||a._blur()});if(this.c.editor){var p=this.c.editor;p.on("open.keyTableMain",function(g,q,r){"inline"!==q&&a.s.enable&&(a.enable(!1),p.one("close"+d,function(){a.enable(!0)}))});if(this.c.editOnFocus)c.on("key-focus"+d+" key-refocus"+d,function(g,q,r,v){a._editor(null,v,!0)});c.on("key"+d,function(g,q,r,v,x){a._editor(r, | ||
x,!1)});b(c.table().body()).on("dblclick"+d,"th, td",function(g){!1!==a.s.enable&&c.cell(this).any()&&(a.s.lastFocus&&this!==a.s.lastFocus.cell.node()||a._editor(null,g,!0))});p.on("preSubmit",function(){f=!0}).on("preSubmitCancelled",function(){f=!1}).on("submitComplete",function(){f=!1})}c.on("stateSaveParams"+d,function(g,q,r){r.keyTable=a.s.lastFocus?a.s.lastFocus.cell.index():null});c.on("column-visibility"+d,function(g){a._tabInput()});c.on("draw"+d,function(g){a._tabInput();if(!a.s.focusDraw&& | ||
a.s.lastFocus){var q=a.s.lastFocus.relative,r=c.page.info(),v=q.row+r.start;0!==r.recordsDisplay&&(v>=r.recordsDisplay&&(v=r.recordsDisplay-1),a._focus(v,q.column,!0,g))}});this.c.clipboard&&this._clipboard();c.on("destroy"+d,function(){a._blur(!0);c.off(d);b(c.table().body()).off("click"+d,"th, td").off("dblclick"+d,"th, td");b(k).off("mousedown"+d).off("keydown"+d).off("copy"+d).off("paste"+d)});var l=c.state.loaded();if(l&&l.keyTable)c.one("init",function(){var g=c.cell(l.keyTable);g.any()&&g.focus()}); | ||
else this.c.focus&&c.cell(this.c.focus).focus()},_blur:function(a){if(this.s.enable&&this.s.lastFocus){var c=this.s.lastFocus.cell;b(c.node()).removeClass(this.c.className);this.s.lastFocus=null;a||(this._updateFixedColumns(c.index().column),this._emitEvent("key-blur",[this.s.dt,c]))}},_clipboard:function(){var a=this.s.dt,c=this,e=this.s.namespace;h.getSelection&&(b(k).on("copy"+e,function(d){d=d.originalEvent;var f=h.getSelection().toString(),p=c.s.lastFocus;!f&&p&&(d.clipboardData.setData("text/plain", | ||
p.cell.render(c.c.clipboardOrthogonal)),d.preventDefault())}),b(k).on("paste"+e,function(d){var f=d.originalEvent,p=c.s.lastFocus,l=k.activeElement;d=c.c.editor;var g;!p||l&&"body"!==l.nodeName.toLowerCase()||(f.preventDefault(),h.clipboardData&&h.clipboardData.getData?g=h.clipboardData.getData("Text"):f.clipboardData&&f.clipboardData.getData&&(g=f.clipboardData.getData("text/plain")),d?(f=c._inlineOptions(p.cell.index()),d.inline(f.cell,f.field,f.options).set(d.displayed()[0],g).submit()):(p.cell.data(g), | ||
a.draw(!1)))}))},_columns:function(){var a=this.s.dt,c=a.columns(this.c.columns).indexes(),e=[];a.columns(":visible").every(function(d){-1!==c.indexOf(d)&&e.push(d)});return e},_editor:function(a,c,e){if(this.s.lastFocus&&(!c||"draw"!==c.type)){var d=this,f=this.s.dt,p=this.c.editor,l=this.s.lastFocus.cell,g=this.s.namespace+"e"+w++;if(!(b("div.DTE",l.node()).length||null!==a&&(0<=a&&9>=a||11===a||12===a||14<=a&&31>=a||112<=a&&123>=a||127<=a&&159>=a))){c&&(c.stopPropagation(),13===a&&c.preventDefault()); | ||
var q=function(){var r=d._inlineOptions(l.index());p.one("open"+g,function(){p.off("cancelOpen"+g);e||b("div.DTE_Field_InputControl input, div.DTE_Field_InputControl textarea").select();f.keys.enable(e?"tab-only":"navigation-only");f.on("key-blur.editor",function(v,x,y){p.displayed()&&y.node()===l.node()&&p.submit()});e&&b(f.table().container()).addClass("dtk-focus-alt");p.on("preSubmitCancelled"+g,function(){setTimeout(function(){d._focus(l,null,!1)},50)});p.on("submitUnsuccessful"+g,function(){d._focus(l, | ||
null,!1)});p.one("close"+g,function(){f.keys.enable(!0);f.off("key-blur.editor");p.off(g);b(f.table().container()).removeClass("dtk-focus-alt");d.s.returnSubmit&&(d.s.returnSubmit=!1,d._emitEvent("key-return-submit",[f,l]))})}).one("cancelOpen"+g,function(){p.off(g)}).inline(r.cell,r.field,r.options)};13===a?(e=!0,b(k).one("keyup",function(){q()})):q()}}},_inlineOptions:function(a){return this.c.editorOptions?this.c.editorOptions(a):{cell:a,field:m,options:m}},_emitEvent:function(a,c){this.s.dt.iterator("table", | ||
function(e,d){b(e.nTable).triggerHandler(a,c)})},_focus:function(a,c,e,d){var f=this,p=this.s.dt,l=p.page.info(),g=this.s.lastFocus;d||(d=null);if(this.s.enable){if("number"!==typeof a){if(!a.any())return;var q=a.index();c=q.column;a=p.rows({filter:"applied",order:"applied"}).indexes().indexOf(q.row);if(0>a)return;l.serverSide&&(a+=l.start)}if(-1!==l.length&&(a<l.start||a>=l.start+l.length))this.s.focusDraw=!0,this.s.waitingForDraw=!0,p.one("draw",function(){f.s.focusDraw=!1;f.s.waitingForDraw=!1; | ||
f._focus(a,c,m,d)}).page(Math.floor(a/l.length)).draw(!1);else if(-1!==b.inArray(c,this._columns())){l.serverSide&&(a-=l.start);l=p.cells(null,c,{search:"applied",order:"applied"}).flatten();l=p.cell(l[a]);if(g){if(g.node===l.node()){this._emitEvent("key-refocus",[this.s.dt,l,d||null]);return}this._blur()}this._removeOtherFocus();g=b(l.node());g.addClass(this.c.className);this._updateFixedColumns(c);if(e===m||!0===e)this._scroll(b(h),b(k.body),g,"offset"),e=p.table().body().parentNode,e!==p.table().header().parentNode&& | ||
(e=b(e.parentNode),this._scroll(e,e,g,"position"));this.s.lastFocus={cell:l,node:l.node(),relative:{row:p.rows({page:"current"}).indexes().indexOf(l.index().row),column:l.index().column}};this._emitEvent("key-focus",[this.s.dt,l,d||null]);p.state.save()}}},_key:function(a){if(this.s.waitingForDraw)a.preventDefault();else{var c=this.s.enable;this.s.returnSubmit="navigation-only"!==c&&"tab-only"!==c||13!==a.keyCode?!1:!0;var e=!0===c||"navigation-only"===c;if(c&&(!(0===a.keyCode||a.ctrlKey||a.metaKey|| | ||
a.altKey)||a.ctrlKey&&a.altKey)){var d=this.s.lastFocus;if(d)if(this.s.dt.cell(d.node).any()){d=this.s.dt;var f=this.s.dt.settings()[0].oScroll.sY?!0:!1;if(!this.c.keys||-1!==b.inArray(a.keyCode,this.c.keys))switch(a.keyCode){case 9:this._shift(a,a.shiftKey?"left":"right",!0);break;case 27:this.c.blurable&&!0===c&&this._blur();break;case 33:case 34:e&&!f&&(a.preventDefault(),d.page(33===a.keyCode?"previous":"next").draw(!1));break;case 35:case 36:e&&(a.preventDefault(),c=d.cells({page:"current"}).indexes(), | ||
e=this._columns(),this._focus(d.cell(c[35===a.keyCode?c.length-1:e[0]]),null,!0,a));break;case 37:e&&this._shift(a,"left");break;case 38:e&&this._shift(a,"up");break;case 39:e&&this._shift(a,"right");break;case 40:e&&this._shift(a,"down");break;case 113:if(this.c.editor){this._editor(null,a,!0);break}default:!0===c&&this._emitEvent("key",[d,a.keyCode,this.s.lastFocus.cell,a])}}else this.s.lastFocus=null}}},_removeOtherFocus:function(){var a=this.s.dt.table().node();b.fn.dataTable.tables({api:!0}).iterator("table", | ||
function(c){this.table().node()!==a&&this.cell.blur()})},_scroll:function(a,c,e,d){var f=e[d](),p=e.outerHeight(),l=e.outerWidth(),g=c.scrollTop(),q=c.scrollLeft(),r=a.height();a=a.width();"position"===d&&(f.top+=parseInt(e.closest("table").css("top"),10));f.top<g&&c.scrollTop(f.top);f.left<q&&c.scrollLeft(f.left);f.top+p>g+r&&p<r&&c.scrollTop(f.top+p-r);f.left+l>q+a&&l<a&&c.scrollLeft(f.left+l-a)},_shift:function(a,c,e){var d=this.s.dt,f=d.page.info(),p=f.recordsDisplay,l=this._columns(),g=this.s.lastFocus; | ||
if(g){var q=g.cell;q&&(g=d.rows({filter:"applied",order:"applied"}).indexes().indexOf(q.index().row),f.serverSide&&(g+=f.start),f=d.columns(l).indexes().indexOf(q.index().column),q=l[f],"rtl"===b(d.table().node()).css("direction")&&("right"===c?c="left":"left"===c&&(c="right")),"right"===c?f>=l.length-1?(g++,q=l[0]):q=l[f+1]:"left"===c?0===f?(g--,q=l[l.length-1]):q=l[f-1]:"up"===c?g--:"down"===c&&g++,0<=g&&g<p&&-1!==b.inArray(q,l)?(a&&a.preventDefault(),this._focus(g,q,!0,a)):e&&this.c.blurable?this._blur(): | ||
a&&a.preventDefault())}},_tabInput:function(){var a=this,c=this.s.dt,e=null!==this.c.tabIndex?this.c.tabIndex:c.settings()[0].iTabIndex;-1!=e&&(this.s.tabInput||(e=b('<div><input type="text" tabindex="'+e+'"/></div>').css({position:"absolute",height:1,width:0,overflow:"hidden"}),e.children().on("focus",function(d){var f=c.cell(":eq(0)",a._columns(),{page:"current"});f.any()&&a._focus(f,null,!0,d)}),this.s.tabInput=e),(e=this.s.dt.cell(":eq(0)","0:visible",{page:"current",order:"current"}).node())&& | ||
b(e).prepend(this.s.tabInput))},_updateFixedColumns:function(a){var c=this.s.dt,e=c.settings()[0];if(e._oFixedColumns){var d=e.aoColumns.length-e._oFixedColumns.s.iRightColumns;(a<e._oFixedColumns.s.iLeftColumns||a>=d)&&c.fixedColumns().update()}}});t.defaults={blurable:!0,className:"focus",clipboard:!0,clipboardOrthogonal:"display",columns:"",editor:null,editOnFocus:!1,editorOptions:null,focus:null,keys:null,tabIndex:null};t.version="2.6.4";b.fn.dataTable.KeyTable=t;b.fn.DataTable.KeyTable=t;n.Api.register("cell.blur()", | ||
function(){return this.iterator("table",function(a){a.keytable&&a.keytable.blur()})});n.Api.register("cell().focus()",function(){return this.iterator("cell",function(a,c,e){a.keytable&&a.keytable.focus(c,e)})});n.Api.register("keys.disable()",function(){return this.iterator("table",function(a){a.keytable&&a.keytable.enable(!1)})});n.Api.register("keys.enable()",function(a){return this.iterator("table",function(c){c.keytable&&c.keytable.enable(a===m?!0:a)})});n.Api.register("keys.enabled()",function(a){a= | ||
this.context;return a.length?a[0].keytable?a[0].keytable.enabled():!1:!1});n.Api.register("keys.move()",function(a){return this.iterator("table",function(c){c.keytable&&c.keytable._shift(null,a,!1)})});n.ext.selector.cell.push(function(a,c,e){c=c.focused;a=a.keytable;var d=[];if(!a||c===m)return e;for(var f=0,p=e.length;f<p;f++)(!0===c&&a.focused(e[f])||!1===c&&!a.focused(e[f]))&&d.push(e[f]);return d});b(k).on("preInit.dt.dtk",function(a,c,e){"dt"===a.namespace&&(a=c.oInit.keys,e=n.defaults.keys, | ||
a||e)&&(e=b.extend({},e,a),!1!==a&&new t(c,e))});return t}); | ||
/*! KeyTable 2.8.0 | ||
* ©2009-2022 SpryMedia Ltd - datatables.net/license | ||
*/ | ||
!function(n){"function"==typeof define&&define.amd?define(["jquery","datatables.net"],function(e){return n(e,window,document)}):"object"==typeof exports?module.exports=function(e,t){return e=e||window,(t=t||("undefined"!=typeof window?require("jquery"):require("jquery")(e))).fn.dataTable||require("datatables.net")(e,t),n(t,e,e.document)}:n(jQuery,window,document)}(function(c,u,d,f){"use strict";function s(e,t){if(!o.versionCheck||!o.versionCheck("1.10.8"))throw"KeyTable requires DataTables 1.10.8 or newer";if(this.c=c.extend(!0,{},o.defaults.keyTable,s.defaults,t),this.s={dt:new o.Api(e),enable:!0,focusDraw:!1,waitingForDraw:!1,lastFocus:null,namespace:".keyTable-"+n++,tabInput:null},this.dom={},t=this.s.dt.settings()[0],e=t.keytable)return e;(t.keytable=this)._constructor()}var o=c.fn.dataTable,n=0,h=0;return c.extend(s.prototype,{blur:function(){this._blur()},enable:function(e){this.s.enable=e},enabled:function(){return this.s.enable},focus:function(e,t){this._focus(this.s.dt.cell(e,t))},focused:function(e){var t;return!!this.s.lastFocus&&(t=this.s.lastFocus.cell.index(),e.row===t.row&&e.column===t.column)},_constructor:function(){this._tabInput();var i,o=this,s=this.s.dt,e=c(s.table().node()),l=this.s.namespace,t=!1,n=("static"===e.css("position")&&e.css("position","relative"),c(s.table().body()).on("click"+l,"th, td",function(e){var t;!1!==o.s.enable&&(t=s.cell(this)).any()&&o._focus(t,null,!1,e)}),c(d).on("keydown"+l,function(e){t||o._key(e)}),this.c.blurable&&c(d).on("mousedown"+l,function(e){c(e.target).parents(".dataTables_filter").length&&o._blur(),c(e.target).parents().filter(s.table().container()).length||c(e.target).parents("div.DTE").length||c(e.target).parents("div.editor-datetime").length||c(e.target).parents("div.dt-datetime").length||c(e.target).parents().filter(".DTFC_Cloned").length||o._blur()}),this.c.editor&&((i=this.c.editor).on("open.keyTableMain",function(e,t,n){"inline"!==t&&o.s.enable&&(o.enable(!1),i.one("close"+l,function(){o.enable(!0)}))}),this.c.editOnFocus&&s.on("key-focus"+l+" key-refocus"+l,function(e,t,n,i){o._editor(null,i,!0)}),s.on("key"+l,function(e,t,n,i,s){o._editor(n,s,!1)}),c(s.table().body()).on("dblclick"+l,"th, td",function(e){!1===o.s.enable||!s.cell(this).any()||o.s.lastFocus&&this!==o.s.lastFocus.cell.node()||o._editor(null,e,!0)}),i.on("preSubmit",function(){t=!0}).on("preSubmitCancelled",function(){t=!1}).on("submitComplete",function(){t=!1})),s.on("stateSaveParams"+l,function(e,t,n){n.keyTable=o.s.lastFocus?o.s.lastFocus.cell.index():null}),s.on("column-visibility"+l,function(e){o._tabInput()}),s.on("column-reorder"+l,function(e,t,n){var i,s=o.s.lastFocus;s&&s.cell&&(i=s.relative.column,s.cell[0][0].column=n.mapping.indexOf(i),s.relative.column=n.mapping.indexOf(i))}),s.on("draw"+l,function(e){var t,n,i;o._tabInput(),o.s.focusDraw||o.s.lastFocus&&(t=o.s.lastFocus.relative,n=s.page.info(),i=t.row+n.start,0!==n.recordsDisplay&&(i>=n.recordsDisplay&&(i=n.recordsDisplay-1),o._focus(i,t.column,!0,e)))}),this.c.clipboard&&this._clipboard(),s.on("destroy"+l,function(){o._blur(!0),s.off(l),c(s.table().body()).off("click"+l,"th, td").off("dblclick"+l,"th, td"),c(d).off("mousedown"+l).off("keydown"+l).off("copy"+l).off("paste"+l)}),s.state.loaded());n&&n.keyTable?s.one("init",function(){var e=s.cell(n.keyTable);e.any()&&e.focus()}):this.c.focus&&s.cell(this.c.focus).focus()},_blur:function(e){var t;this.s.enable&&this.s.lastFocus&&(t=this.s.lastFocus.cell,c(t.node()).removeClass(this.c.className),this.s.lastFocus=null,e||(this._updateFixedColumns(t.index().column),this._emitEvent("key-blur",[this.s.dt,t])))},_clipboard:function(){var o=this.s.dt,l=this,e=this.s.namespace;u.getSelection&&(c(d).on("copy"+e,function(e){var e=e.originalEvent,t=u.getSelection().toString(),n=l.s.lastFocus;!t&&n&&(e.clipboardData.setData("text/plain",n.cell.render(l.c.clipboardOrthogonal)),e.preventDefault())}),c(d).on("paste"+e,function(e){var t,e=e.originalEvent,n=l.s.lastFocus,i=d.activeElement,s=l.c.editor;!n||i&&"body"!==i.nodeName.toLowerCase()||(e.preventDefault(),u.clipboardData&&u.clipboardData.getData?t=u.clipboardData.getData("Text"):e.clipboardData&&e.clipboardData.getData&&(t=e.clipboardData.getData("text/plain")),s?(i=l._inlineOptions(n.cell.index()),s.inline(i.cell,i.field,i.options).set(s.displayed()[0],t).submit()):(n.cell.data(t),o.draw(!1)))}))},_columns:function(){var e=this.s.dt,t=e.columns(this.c.columns).indexes(),n=[];return e.columns(":visible").every(function(e){-1!==t.indexOf(e)&&n.push(e)}),n},_editor:function(e,t,n){var i,s,o,l,a,r;!this.s.lastFocus||t&&"draw"===t.type||(s=(i=this).s.dt,o=this.c.editor,l=this.s.lastFocus.cell,a=this.s.namespace+"e"+h++,c("div.DTE",l.node()).length||null!==e&&(0<=e&&e<=9||11===e||12===e||14<=e&&e<=31||112<=e&&e<=123||127<=e&&e<=159)||(t&&(t.stopPropagation(),13===e&&t.preventDefault()),r=function(){var e=i._inlineOptions(l.index());o.one("open"+a,function(){o.off("cancelOpen"+a),n||c("div.DTE_Field_InputControl input, div.DTE_Field_InputControl textarea").select(),s.keys.enable(n?"tab-only":"navigation-only"),s.on("key-blur.editor",function(e,t,n){"submit"!==o.s.editOpts.onBlur&&o.displayed()&&n.node()===l.node()&&o.submit()}),n&&c(s.table().container()).addClass("dtk-focus-alt"),o.on("preSubmitCancelled"+a,function(){setTimeout(function(){i._focus(l,null,!1)},50)}),o.on("submitUnsuccessful"+a,function(){i._focus(l,null,!1)}),o.one("close"+a,function(){s.keys.enable(!0),s.off("key-blur.editor"),o.off(a),c(s.table().container()).removeClass("dtk-focus-alt"),i.s.returnSubmit&&(i.s.returnSubmit=!1,i._emitEvent("key-return-submit",[s,l]))})}).one("cancelOpen"+a,function(){o.off(a)}).inline(e.cell,e.field,e.options)},13===e?(n=!0,c(d).one("keyup",function(){r()})):r()))},_inlineOptions:function(e){return this.c.editorOptions?this.c.editorOptions(e):{cell:e,field:f,options:f}},_emitEvent:function(n,i){this.s.dt.iterator("table",function(e,t){c(e.nTable).triggerHandler(n,i)})},_focus:function(e,t,n,i){var s=this,o=this.s.dt,l=o.page.info(),a=this.s.lastFocus;if(i=i||null,this.s.enable){if("number"!=typeof e){if(!e.any())return;var r=e.index();if(t=r.column,(e=o.rows({filter:"applied",order:"applied"}).indexes().indexOf(r.row))<0)return;l.serverSide&&(e+=l.start)}if(-1!==l.length&&(e<l.start||e>=l.start+l.length))this.s.focusDraw=!0,this.s.waitingForDraw=!0,o.one("draw",function(){s.s.focusDraw=!1,s.s.waitingForDraw=!1,s._focus(e,t,f,i)}).page(Math.floor(e/l.length)).draw(!1);else if(-1!==c.inArray(t,this._columns())){l.serverSide&&(e-=l.start);r=o.cells(null,t,{search:"applied",order:"applied"}).flatten(),l=o.cell(r[e]);if(a){if(a.node===l.node())return void this._emitEvent("key-refocus",[this.s.dt,l,i||null]);this._blur()}this._removeOtherFocus();r=c(l.node());r.addClass(this.c.className),this._updateFixedColumns(t),n!==f&&!0!==n||(this._scroll(c(u),c(d.body),r,"offset"),(a=o.table().body().parentNode)!==o.table().header().parentNode&&(n=c(a.parentNode),this._scroll(n,n,r,"position"))),this.s.lastFocus={cell:l,node:l.node(),relative:{row:o.rows({page:"current"}).indexes().indexOf(l.index().row),column:l.index().column}},this._emitEvent("key-focus",[this.s.dt,l,i||null]),o.state.save()}}},_key:function(n){if(this.s.waitingForDraw)n.preventDefault();else{var e=this.s.enable,t=(this.s.returnSubmit=("navigation-only"===e||"tab-only"===e)&&13===n.keyCode,!0===e||"navigation-only"===e);if(e&&(!(0===n.keyCode||n.ctrlKey||n.metaKey||n.altKey)||n.ctrlKey&&n.altKey)){var i=this.s.lastFocus;if(i)if(this.s.dt.cell(i.node).any()){var s=this,o=this.s.dt,l=!!this.s.dt.settings()[0].oScroll.sY;if(!this.c.keys||-1!==c.inArray(n.keyCode,this.c.keys))switch(n.keyCode){case 9:n.preventDefault(),this._keyAction(function(){s._shift(n,n.shiftKey?"left":"right",!0)});break;case 27:this.c.blurable&&!0===e&&this._blur();break;case 33:case 34:t&&!l&&(n.preventDefault(),this._keyAction(function(){o.page(33===n.keyCode?"previous":"next").draw(!1)}));break;case 35:case 36:t&&(n.preventDefault(),this._keyAction(function(){var e=o.cells({page:"current"}).indexes(),t=s._columns();s._focus(o.cell(e[35===n.keyCode?e.length-1:t[0]]),null,!0,n)}));break;case 37:t&&this._keyAction(function(){s._shift(n,"left")});break;case 38:t&&this._keyAction(function(){s._shift(n,"up")});break;case 39:t&&this._keyAction(function(){s._shift(n,"right")});break;case 40:t&&this._keyAction(function(){s._shift(n,"down")});break;case 113:if(this.c.editor){this._editor(null,n,!0);break}default:!0===e&&this._emitEvent("key",[o,n.keyCode,this.s.lastFocus.cell,n])}}else this.s.lastFocus=null}}},_keyAction:function(e){this.c.editor?this.c.editor.submit(e):e()},_removeOtherFocus:function(){var t=this.s.dt.table().node();c.fn.dataTable.tables({api:!0}).iterator("table",function(e){this.table().node()!==t&&this.cell.blur()})},_scroll:function(e,t,n,i){var s=n[i](),o=n.outerHeight(),l=n.outerWidth(),a=t.scrollTop(),r=t.scrollLeft(),c=e.height(),e=e.width();"position"===i&&(s.top+=parseInt(n.closest("table").css("top"),10)),s.top<a&&t.scrollTop(s.top),s.left<r&&t.scrollLeft(s.left),s.top+o>a+c&&o<c&&t.scrollTop(s.top+o-c),s.left+l>r+e&&l<e&&t.scrollLeft(s.left+l-e)},_shift:function(e,t,n){var i,s=this.s.dt,o=s.page.info(),l=o.recordsDisplay,a=this._columns(),r=this.s.lastFocus;!r||(r=r.cell)&&(i=s.rows({filter:"applied",order:"applied"}).indexes().indexOf(r.index().row),o.serverSide&&(i+=o.start),o=i,r=a[i=s.columns(a).indexes().indexOf(r.index().column)],"rtl"===c(s.table().node()).css("direction")&&("right"===t?t="left":"left"===t&&(t="right")),"right"===t?r=i>=a.length-1?(o++,a[0]):a[i+1]:"left"===t?r=0===i?(o--,a[a.length-1]):a[i-1]:"up"===t?o--:"down"===t&&o++,0<=o&&o<l&&-1!==c.inArray(r,a)?(e&&e.preventDefault(),this._focus(o,r,!0,e)):n&&this.c.blurable?this._blur():e&&e.preventDefault())},_tabInput:function(){var n=this,i=this.s.dt,e=null!==this.c.tabIndex?this.c.tabIndex:i.settings()[0].iTabIndex;-1!=e&&(this.s.tabInput||((e=c('<div><input type="text" tabindex="'+e+'"/></div>').css({position:"absolute",height:1,width:0,overflow:"hidden"})).children().on("focus",function(e){var t=i.cell(":eq(0)",n._columns(),{page:"current"});t.any()&&n._focus(t,null,!0,e)}),this.s.tabInput=e),(e=this.s.dt.cell(":eq(0)","0:visible",{page:"current",order:"current"}).node())&&c(e).prepend(this.s.tabInput))},_updateFixedColumns:function(e){var t,n=this.s.dt,i=n.settings()[0];i._oFixedColumns&&(t=i._oFixedColumns.s.iLeftColumns,i=i.aoColumns.length-i._oFixedColumns.s.iRightColumns,(e<t||i<=e)&&n.fixedColumns().update())}}),s.defaults={blurable:!0,className:"focus",clipboard:!0,clipboardOrthogonal:"display",columns:"",editor:null,editOnFocus:!1,editorOptions:null,focus:null,keys:null,tabIndex:null},s.version="2.8.0",c.fn.dataTable.KeyTable=s,c.fn.DataTable.KeyTable=s,o.Api.register("cell.blur()",function(){return this.iterator("table",function(e){e.keytable&&e.keytable.blur()})}),o.Api.register("cell().focus()",function(){return this.iterator("cell",function(e,t,n){e.keytable&&e.keytable.focus(t,n)})}),o.Api.register("keys.disable()",function(){return this.iterator("table",function(e){e.keytable&&e.keytable.enable(!1)})}),o.Api.register("keys.enable()",function(t){return this.iterator("table",function(e){e.keytable&&e.keytable.enable(t===f||t)})}),o.Api.register("keys.enabled()",function(e){var t=this.context;return!!t.length&&(!!t[0].keytable&&t[0].keytable.enabled())}),o.Api.register("keys.move()",function(t){return this.iterator("table",function(e){e.keytable&&e.keytable._shift(null,t,!1)})}),o.ext.selector.cell.push(function(e,t,n){var i=t.focused,s=e.keytable,o=[];if(!s||i===f)return n;for(var l=0,a=n.length;l<a;l++)(!0===i&&s.focused(n[l])||!1===i&&!s.focused(n[l]))&&o.push(n[l]);return o}),c(d).on("preInit.dt.dtk",function(e,t,n){var i;"dt"===e.namespace&&(e=t.oInit.keys,i=o.defaults.keys,(e||i)&&(i=c.extend({},i,e),!1!==e&&new s(t,i)))}),o}); |
@@ -5,6 +5,8 @@ { | ||
"main": "js/dataTables.keyTable.js", | ||
"module": "js/dataTables.keyTable.mjs", | ||
"types": "./types/types.d.ts", | ||
"version": "2.7.0", | ||
"version": "2.8.0", | ||
"files": [ | ||
"js/**/*.js", | ||
"js/**/*.mjs", | ||
"types/**/*.d.ts" | ||
@@ -24,3 +26,3 @@ ], | ||
"dependencies": { | ||
"datatables.net": ">=1.11.3", | ||
"datatables.net": ">=1.12.1", | ||
"jquery": ">=1.7" | ||
@@ -27,0 +29,0 @@ }, |
@@ -1,128 +0,188 @@ | ||
// Type definitions for datatables.net-keytable 2.5 | ||
// Project: https://datatables.net | ||
// Definitions by: Konstantin Kuznetsov <https://github.com/Arik-neKrol> | ||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped | ||
// TypeScript Version: 2.4 | ||
// Type definitions for DataTables KeyTable | ||
// | ||
// Project: https://datatables.net/extensions/keytable/, https://datatables.net | ||
// Definitions by: | ||
// SpryMedia | ||
// Konstantin Kuznetsov <https://github.com/Arik-neKrol> | ||
/// <reference types="jquery" /> | ||
/// <reference types="datatables.net"/> | ||
declare namespace DataTables { | ||
interface Settings { | ||
/* | ||
* KeyTable extension options | ||
*/ | ||
keys?: boolean | KeyTableSettings; | ||
} | ||
import DataTables, {Api} from 'datatables.net'; | ||
interface KeyTableSettings { | ||
/* | ||
* Allow KeyTable's focus to be blurred (removed) from a table | ||
* | ||
* When set to true this option allows the table to lose focus (i.e. to be blurred), | ||
* while false will not allow the table to lose focus. | ||
*/ | ||
blurable?: boolean; | ||
export default DataTables; | ||
/* | ||
* Set the class name used for the focused cell | ||
* | ||
* The class name to be added and removed from cells as they gain and loose focus. | ||
*/ | ||
className?: string; | ||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||
* DataTables' types integration | ||
*/ | ||
declare module 'datatables.net' { | ||
interface Config { | ||
/** | ||
* KeyTable extension options | ||
*/ | ||
keys?: boolean | ConfigKeyTable; | ||
} | ||
/* | ||
* Enable / disable clipboard interaction with KeyTable | ||
* | ||
* A boolean flag that can optionally be used to disable KeyTables' clipboard interaction. | ||
*/ | ||
clipboard?: boolean; | ||
interface Api<T> { | ||
/** | ||
* KeyTable methods container | ||
* | ||
* @returns Api for chaining with the additional KeyTable methods | ||
*/ | ||
keys: ApiKeyTableMethods<T>; | ||
} | ||
/* | ||
* Set the orthogonal data point for the data to copy to clipboard. | ||
*/ | ||
clipboardOrthogonal?: string; | ||
interface ApiCell<T> { | ||
/** | ||
* Blur focus from the currently focused cell | ||
*/ | ||
blur(): Api<T>; | ||
} | ||
/* | ||
* Select the columns that can gain focus | ||
* | ||
* The columns that can gain focus. This accepts all of the options of column-selector | ||
* such as class name selector, jQuery pseudo selects and column index selectors. | ||
*/ | ||
columns?: any; | ||
interface ApiCellMethods<T> { | ||
/** | ||
* Focus on a cell | ||
*/ | ||
focus(): Api<T>; | ||
} | ||
/* | ||
* Control if editing should be activated immediately upon focus | ||
* | ||
* true to enable editing on focus, false to disable. | ||
*/ | ||
editOnFocus?: boolean; | ||
interface ApiStatic { | ||
/** | ||
* KeyTable class | ||
*/ | ||
KeyTable: { | ||
/** | ||
* Create a new KeyTable instance for the target DataTable | ||
*/ | ||
new (dt: Api<any>, settings: boolean | ConfigKeyTable); | ||
/* | ||
* Attach an Editor instance for Excel like editing | ||
* | ||
* The Editor instance to use for editing of the table | ||
*/ | ||
editor?: any; | ||
/** | ||
* KeyTable version | ||
*/ | ||
version: string; | ||
/* | ||
* Cell to receive initial focus in the table | ||
* | ||
* The cell that will receive focus when the table is initialised. This accepts all of | ||
* the options of cell-selector such as class name selector, jQuery pseudo selects and | ||
* cell index selectors. | ||
*/ | ||
focus?: any; | ||
/** | ||
* Default configuration values | ||
*/ | ||
defaults: ConfigKeyTable; | ||
} | ||
} | ||
} | ||
/* | ||
* Limit the keys that KeyTable will listen for and take action on | ||
* | ||
* As null KeyTable will listen for all key presses, regardless of what key is pressed. | ||
* an array you can limit the keys that KeyTable will take action on to just the key | ||
* codes given in the array. | ||
*/ | ||
keys?: number[] | null; | ||
/* | ||
* Set the table's tab index for when it will receive focus | ||
* | ||
* The tab index for the table. Like all other tab indexes, this can be -1 to disallow | ||
* tabbing into the table. | ||
*/ | ||
tabIndex?: number; | ||
} | ||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||
* Options | ||
*/ | ||
interface Api { | ||
keys: { | ||
/** | ||
* Disable KeyTable's interactions (mouse and keyboard) | ||
* | ||
* @returns DataTables API instance | ||
*/ | ||
disable(): Api; | ||
interface ConfigKeyTable { | ||
/** | ||
* Allow KeyTable's focus to be blurred (removed) from a table | ||
* | ||
* When set to true this option allows the table to lose focus (i.e. to be blurred), | ||
* while false will not allow the table to lose focus. | ||
*/ | ||
blurable?: boolean; | ||
/** | ||
* Enable or disable KeyTable's interactions (mouse and keyboard) | ||
* | ||
* @param options This option can be given as the following values: true - Fully enable KeyTable; false - Fully disable KeyTable (keys.disable()); "navigation-only" - Respond to navigation inputs only; | ||
* @returns DataTables API instance | ||
*/ | ||
enable(options?: string | boolean): Api; | ||
/** | ||
* Set the class name used for the focused cell | ||
* | ||
* The class name to be added and removed from cells as they gain and loose focus. | ||
*/ | ||
className?: string; | ||
/** | ||
* Move the focus from the current cell to one adjacent to it. | ||
* | ||
* @param direction String representing the direction that the focus should move in | ||
* @returns DataTables API instance. | ||
*/ | ||
move(direction: string): Api; | ||
}; | ||
} | ||
/** | ||
* Enable / disable clipboard interaction with KeyTable | ||
* | ||
* A boolean flag that can optionally be used to disable KeyTables' clipboard interaction. | ||
*/ | ||
clipboard?: boolean; | ||
interface CellMethods { | ||
/* | ||
* Focus on a cell | ||
*/ | ||
focus(): Api; | ||
} | ||
/** | ||
* Set the orthogonal data point for the data to copy to clipboard. | ||
*/ | ||
clipboardOrthogonal?: string; | ||
/** | ||
* Select the columns that can gain focus | ||
* | ||
* The columns that can gain focus. This accepts all of the options of column-selector | ||
* such as class name selector, jQuery pseudo selects and column index selectors. | ||
*/ | ||
columns?: any; | ||
/** | ||
* Control if editing should be activated immediately upon focus | ||
* | ||
* true to enable editing on focus, false to disable. | ||
*/ | ||
editOnFocus?: boolean; | ||
/** | ||
* Attach an Editor instance for Excel like editing | ||
* | ||
* The Editor instance to use for editing of the table | ||
*/ | ||
editor?: any; | ||
/** | ||
* Cell to receive initial focus in the table | ||
* | ||
* The cell that will receive focus when the table is initialised. This accepts all of | ||
* the options of cell-selector such as class name selector, jQuery pseudo selects and | ||
* cell index selectors. | ||
*/ | ||
focus?: any; | ||
/** | ||
* Limit the keys that KeyTable will listen for and take action on | ||
* | ||
* As null KeyTable will listen for all key presses, regardless of what key is pressed. | ||
* an array you can limit the keys that KeyTable will take action on to just the key | ||
* codes given in the array. | ||
*/ | ||
keys?: number[] | null; | ||
/** | ||
* Set the table's tab index for when it will receive focus | ||
* | ||
* The tab index for the table. Like all other tab indexes, this can be -1 to disallow | ||
* tabbing into the table. | ||
*/ | ||
tabIndex?: number; | ||
} | ||
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * | ||
* API | ||
*/ | ||
interface ApiKeyTableMethods<T> extends Api<T> { | ||
/** | ||
* Disable KeyTable's interactions (mouse and keyboard) | ||
* | ||
* @returns DataTables API instance | ||
*/ | ||
disable(): Api<T>; | ||
/** | ||
* Enable or disable KeyTable's interactions (mouse and keyboard) | ||
* | ||
* @param options This option can be given as the following values: true - Fully enable KeyTable; false - Fully disable KeyTable (keys.disable()); "navigation-only" - Respond to navigation inputs only; | ||
* @returns DataTables API instance | ||
*/ | ||
enable(options?: string | boolean): Api<T>; | ||
/** | ||
* Determine if KeyTable is enabled on this table | ||
* | ||
* @returns Current state | ||
*/ | ||
enabled(): boolean | 'navigation-only'; | ||
/** | ||
* Move the focus from the current cell to one adjacent to it. | ||
* | ||
* @param direction String representing the direction that the focus should move in | ||
* @returns DataTables API instance. | ||
*/ | ||
move(direction: string): Api<T>; | ||
} |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
Unidentified License
License(Experimental) Something that seems like a license was found, but its contents could not be matched with a known license.
Found 1 instance in 1 package
98512
8
2472
Updateddatatables.net@>=1.12.1