/*! Copyright 2009-2020 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.5.3 ©2009-2020 SpryMedia Ltd - datatables.net/license */ var $jscomp=$jscomp||{};$jscomp.scope={};$jscomp.arrayIteratorImpl=function(b){var g=0;return function(){return g=r.recordsDisplay&&(v=r.recordsDisplay-1),a._focus(v,q.column,!0,f))}});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 f=c.cell(l.keyTable);f.any()&&f.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;g.getSelection&&(b(k).on("copy"+e,function(d){d=d.originalEvent;var h=g.getSelection().toString(),p=c.s.lastFocus;!h&&p&&(d.clipboardData.setData("text/plain", p.cell.render(c.c.clipboardOrthogonal)),d.preventDefault())}),b(k).on("paste"+e,function(d){d=d.originalEvent;var h=c.s.lastFocus,p=k.activeElement,l=c.c.editor,f;!h||p&&"body"!==p.nodeName.toLowerCase()||(d.preventDefault(),g.clipboardData&&g.clipboardData.getData?f=g.clipboardData.getData("Text"):d.clipboardData&&d.clipboardData.getData&&(f=d.clipboardData.getData("text/plain")),l?l.inline(h.cell.index()).set(l.displayed()[0],f).submit():(h.cell.data(f),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){var d=this,h=this.s.dt,p=this.c.editor,l=this.s.lastFocus.cell,f=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.stopPropagation();13===a&&c.preventDefault();var q=function(){p.one("open"+f,function(){p.off("cancelOpen"+f); e||b("div.DTE_Field_InputControl input, div.DTE_Field_InputControl textarea").select();h.keys.enable(e?"tab-only":"navigation-only");h.on("key-blur.editor",function(r,v,x){p.displayed()&&x.node()===l.node()&&p.submit()});e&&b(h.table().container()).addClass("dtk-focus-alt");p.on("preSubmitCancelled"+f,function(){setTimeout(function(){d._focus(l,null,!1)},50)});p.on("submitUnsuccessful"+f,function(){d._focus(l,null,!1)});p.one("close"+f,function(){h.keys.enable(!0);h.off("key-blur.editor");p.off(f); b(h.table().container()).removeClass("dtk-focus-alt")})}).one("cancelOpen"+f,function(){p.off(f)}).inline(l.index())};13===a?(e=!0,b(k).one("keyup",function(){q()})):q()}}},_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 h=this,p=this.s.dt,l=p.page.info(),f=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+l.length))this.s.focusDraw=!0,this.s.waitingForDraw=!0,p.one("draw",function(){h.s.focusDraw=!1;h.s.waitingForDraw=!1;h._focus(a,c,n,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(f){if(f.node===l.node()){this._emitEvent("key-refocus",[this.s.dt,l,d||null]);return}this._blur()}this._removeOtherFocus(); f=b(l.node());f.addClass(this.c.className);this._updateFixedColumns(c);if(e===n||!0===e)this._scroll(b(g),b(k.body),f,"offset"),e=p.table().body().parentNode,e!==p.table().header().parentNode&&(e=b(e.parentNode),this._scroll(e,e,f,"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,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 h=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.s.blurable&&!0===c&&this._blur();break;case 33:case 34:e&&!h&&(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 h=e[d](),p=e.outerHeight(),l=e.outerWidth(),f=c.scrollTop(),q=c.scrollLeft(),r=a.height();a=a.width();"position"===d&&(h.top+=parseInt(e.closest("table").css("top"),10));h.topf+r&&pq+a&&l=f.length-1?(q++,h=f[0]):h=f[d+1]:"left"===c?0===d?(q--,h=f[f.length-1]):h=f[d-1]:"up"===c?q--:"down"===c&&q++;0<=q&&q').css({position:"absolute",height:1,width:0,overflow:"hidden"}),e.children().on("focus",function(d){var h=c.cell(":eq(0)",a._columns(),{page:"current"});h.any()&&a._focus(h,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=d)&&c.fixedColumns().update()}}});t.defaults={blurable:!0,className:"focus",clipboard:!0,clipboardOrthogonal:"display",columns:"",editor:null,editOnFocus:!1,focus:null,keys:null,tabIndex:null};t.version="2.5.3";b.fn.dataTable.KeyTable=t;b.fn.DataTable.KeyTable=t;m.Api.register("cell.blur()", function(){return this.iterator("table",function(a){a.keytable&&a.keytable.blur()})});m.Api.register("cell().focus()",function(){return this.iterator("cell",function(a,c,e){a.keytable&&a.keytable.focus(c,e)})});m.Api.register("keys.disable()",function(){return this.iterator("table",function(a){a.keytable&&a.keytable.enable(!1)})});m.Api.register("keys.enable()",function(a){return this.iterator("table",function(c){c.keytable&&c.keytable.enable(a===n?!0:a)})});m.Api.register("keys.move()",function(a){return this.iterator("table", function(c){c.keytable&&c.keytable._shift(null,a,!1)})});m.ext.selector.cell.push(function(a,c,e){c=c.focused;a=a.keytable;var d=[];if(!a||c===n)return e;for(var h=0,p=e.length;h