2 var _typeof=
"function"==typeof Symbol&&
"symbol"==typeof Symbol.iterator?
function(e){
return typeof e}:
function(e){
return e&&
"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?
"symbol":typeof e},SelectRow=
function(e){this.table=e,this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],this.headerCheckboxElement=null};SelectRow.prototype.clearSelectionData=
function(e){this.selecting=!1,this.lastClickedRow=!1,this.selectPrev=[],this.selectedRows=[],e||this._rowSelectionChanged()},SelectRow.prototype.initializeRow=
function(e){var t=
this,o=e.getElement(),l=
function e(){setTimeout(
function(){t.selecting=!1},50),document.body.removeEventListener(
"mouseup",e)};e.modules.select={selected:!1},t.table.options.selectableCheck.call(this.table,e.getComponent())?(o.classList.add(
"tabulator-selectable"),o.classList.remove(
"tabulator-unselectable"),t.table.options.selectable&&
"highlight"!=t.table.options.selectable&&(
"click"===t.table.options.selectableRangeMode?o.addEventListener(
"click",
function(o){
if(o.shiftKey){t.table._clearSelection(),t.lastClickedRow=t.lastClickedRow||e;var l=t.table.rowManager.getDisplayRowIndex(t.lastClickedRow),s=t.table.rowManager.getDisplayRowIndex(e),c=l<=s?l:s,n=l>=s?l:s,i=t.table.rowManager.getDisplayRows().slice(0),a=i.splice(c,n-c+1);o.ctrlKey||o.metaKey?(a.forEach(
function(o){o!==t.lastClickedRow&&(!0===t.table.options.selectable||t.isRowSelected(e)?t.toggleRow(o):t.selectedRows.length<t.table.options.selectable&&t.toggleRow(o))}),t.lastClickedRow=e):(t.deselectRows(),!0!==t.table.options.selectable&&a.length>t.table.options.selectable&&(a=a.slice(0,t.table.options.selectable)),t.selectRows(a)),t.table._clearSelection()}
else o.ctrlKey||o.metaKey?(t.toggleRow(e),t.lastClickedRow=e):(t.deselectRows(),t.selectRows(e),t.lastClickedRow=e)}):(o.addEventListener(
"click",
function(o){t.table.modExists(
"edit")&&t.table.modules.edit.getCurrentCell()||t.table._clearSelection(),t.selecting||t.toggleRow(e)}),o.addEventListener(
"mousedown",
function(o){
if(o.shiftKey)
return t.table._clearSelection(),t.selecting=!0,t.selectPrev=[],document.body.addEventListener(
"mouseup",l),document.body.addEventListener(
"keyup",l),t.toggleRow(e),!1}),o.addEventListener(
"mouseenter",
function(o){t.selecting&&(t.table._clearSelection(),t.toggleRow(e),t.selectPrev[1]==e&&t.toggleRow(t.selectPrev[0]))}),o.addEventListener(
"mouseout",
function(o){t.selecting&&(t.table._clearSelection(),t.selectPrev.unshift(e))})))):(o.classList.add(
"tabulator-unselectable"),o.classList.remove(
"tabulator-selectable"))},SelectRow.prototype.toggleRow=
function(e){this.table.options.selectableCheck.call(this.table,e.getComponent())&&(e.modules.select&&e.modules.select.selected?
this._deselectRow(e):this._selectRow(e))},SelectRow.prototype.selectRows=
function(e){var t,o=
this;
switch(
void 0===e?
"undefined":_typeof(e)){
case"undefined":this.table.rowManager.rows.forEach(
function(e){o._selectRow(e,!0,!0)}),this._rowSelectionChanged();
break;
case"string":t=this.table.rowManager.findRow(e),t?this._selectRow(t,!0,!0):this.table.rowManager.getRows(e).forEach(function(e){o._selectRow(e,!0,!0)}),this._rowSelectionChanged();
break;
default:Array.isArray(e)?(e.forEach(
function(e){o._selectRow(e,!0,!0)}),this._rowSelectionChanged()):this._selectRow(e,!1,!0)}},SelectRow.prototype._selectRow=
function(e,t,o){
if(!isNaN(this.table.options.selectable)&&!0!==this.table.options.selectable&&!o&&this.selectedRows.length>=this.table.options.selectable){
if(!this.table.options.selectableRollingSelection)
return!1;this._deselectRow(this.selectedRows[0])}var l=this.table.rowManager.findRow(e);l?-1==this.selectedRows.indexOf(l)&&(l.modules.select||(l.modules.select={}),l.modules.select.selected=!0,l.modules.select.checkboxEl&&(l.modules.select.checkboxEl.checked=!0),l.getElement().classList.add(
"tabulator-selected"),this.selectedRows.push(l),t||(this.table.options.rowSelected.call(this.table,l.getComponent()),this._rowSelectionChanged())):t||console.warn(
"Selection Error - No such row found, ignoring selection:"+e)},SelectRow.prototype.isRowSelected=
function(e){
return-1!==this.selectedRows.indexOf(e)},SelectRow.prototype.deselectRows=
function(e){var t,o=
this;
if(
void 0===e){t=o.selectedRows.length;
for(var l=0;l<t;l++)o._deselectRow(o.selectedRows[0],!0);o._rowSelectionChanged()}
else Array.isArray(e)?(e.forEach(
function(e){o._deselectRow(e,!0)}),o._rowSelectionChanged()):o._deselectRow(e)},SelectRow.prototype._deselectRow=
function(e,t){var o,l=
this,s=l.table.rowManager.findRow(e);s?(o=l.selectedRows.findIndex(
function(e){
return e==s}))>-1&&(s.modules.select||(s.modules.select={}),s.modules.select.selected=!1,s.modules.select.checkboxEl&&(s.modules.select.checkboxEl.checked=!1),s.getElement().classList.remove(
"tabulator-selected"),l.selectedRows.splice(o,1),t||(l.table.options.rowDeselected.call(this.table,s.getComponent()),l._rowSelectionChanged())):t||console.warn(
"Deselection Error - No such row found, ignoring selection:"+e)},SelectRow.prototype.getSelectedData=
function(){var e=[];
return this.selectedRows.forEach(
function(t){e.push(t.getData())}),e},SelectRow.prototype.getSelectedRows=
function(){var e=[];
return this.selectedRows.forEach(
function(t){e.push(t.getComponent())}),e},SelectRow.prototype._rowSelectionChanged=
function(){this.headerCheckboxElement&&(0===this.selectedRows.length?(this.headerCheckboxElement.checked=!1,this.headerCheckboxElement.indeterminate=!1):this.table.rowManager.rows.length===
this.selectedRows.length?(
this.headerCheckboxElement.checked=!0,
this.headerCheckboxElement.indeterminate=!1):(this.headerCheckboxElement.indeterminate=!0,this.headerCheckboxElement.checked=!1)),this.table.options.rowSelectionChanged.call(this.table,this.getSelectedData(),this.getSelectedRows())},SelectRow.prototype.registerRowSelectCheckbox=
function(e,t){e._row.modules.select||(e._row.modules.select={}),e._row.modules.select.checkboxEl=t},SelectRow.prototype.registerHeaderSelectCheckbox=
function(e){this.headerCheckboxElement=e},Tabulator.prototype.registerModule(
"selectRow",SelectRow);