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},MoveRows=
function(e){this.table=e,this.placeholderElement=this.createPlaceholderElement(),this.hoverElement=!1,this.checkTimeout=!1,this.checkPeriod=150,this.moving=!1,this.toRow=!1,this.toRowAfter=!1,this.hasHandle=!1,this.startY=0,this.startX=0,this.moveHover=this.moveHover.bind(
this),this.endMove=this.endMove.bind(
this),this.tableRowDropEvent=!1,this.touchMove=!1,this.connection=!1,this.connections=[],this.connectedTable=!1,this.connectedRow=!1};MoveRows.prototype.createPlaceholderElement=
function(){var e=document.createElement(
"div");
return e.classList.add(
"tabulator-row"),e.classList.add(
"tabulator-row-placeholder"),e},MoveRows.prototype.initialize=
function(e){this.connection=this.table.options.movableRowsConnectedTables},MoveRows.prototype.setHandle=
function(e){this.hasHandle=e},MoveRows.prototype.initializeGroupHeader=
function(e){var t=
this,o={};o.mouseup=
function(e){t.tableRowDrop(e,row)}.bind(t),o.mousemove=
function(o){
if(o.pageY-Tabulator.prototype.helpers.elOffset(e.element).top+t.table.rowManager.element.scrollTop>e.getHeight()/2){
if(t.toRow!==e||!t.toRowAfter){var n=e.getElement();n.parentNode.insertBefore(t.placeholderElement,n.nextSibling),t.moveRow(e,!0)}}
else if(t.toRow!==e||t.toRowAfter){var n=e.getElement();n.previousSibling&&(n.parentNode.insertBefore(t.placeholderElement,n),t.moveRow(e,!1))}}.bind(t),e.modules.moveRow=o},MoveRows.prototype.initializeRow=
function(e){var t,o=
this,n={};n.mouseup=
function(t){o.tableRowDrop(t,e)}.bind(o),n.mousemove=
function(t){
if(t.pageY-Tabulator.prototype.helpers.elOffset(e.element).top+o.table.rowManager.element.scrollTop>e.getHeight()/2){
if(o.toRow!==e||!o.toRowAfter){var n=e.getElement();n.parentNode.insertBefore(o.placeholderElement,n.nextSibling),o.moveRow(e,!0)}}
else if(o.toRow!==e||o.toRowAfter){var n=e.getElement();n.parentNode.insertBefore(o.placeholderElement,n),o.moveRow(e,!1)}}.bind(o),this.hasHandle||(t=e.getElement(),t.addEventListener(
"mousedown",
function(t){1===t.which&&(o.checkTimeout=setTimeout(
function(){o.startMove(t,e)},o.checkPeriod))}),t.addEventListener(
"mouseup",
function(e){1===e.which&&o.checkTimeout&&clearTimeout(o.checkTimeout)}),this.bindTouchEvents(e,e.getElement())),e.modules.moveRow=n},MoveRows.prototype.initializeCell=
function(e){var t=
this,o=e.getElement();o.addEventListener(
"mousedown",
function(o){1===o.which&&(t.checkTimeout=setTimeout(
function(){t.startMove(o,e.row)},t.checkPeriod))}),o.addEventListener(
"mouseup",
function(e){1===e.which&&t.checkTimeout&&clearTimeout(t.checkTimeout)}),this.bindTouchEvents(e.row,e.getElement())},MoveRows.prototype.bindTouchEvents=
function(e,t){var o,n,i,s,l,r,a,c=
this,h=!1;t.addEventListener(
"touchstart",
function(t){c.checkTimeout=setTimeout(
function(){c.touchMove=!0,o=e,n=e.nextRow(),s=n?n.getHeight()/2:0,i=e.prevRow(),l=i?i.getHeight()/2:0,r=0,a=0,h=!1,c.startMove(t,e)},c.checkPeriod)},{passive:!0}),this.moving,this.toRow,this.toRowAfter,t.addEventListener(
"touchmove",
function(t){var m,v;c.moving&&(t.preventDefault(),c.moveHover(t),h||(h=t.touches[0].pageY),m=t.touches[0].pageY-h,m>0?n&&m-r>s&&(v=n)!==e&&(h=t.touches[0].pageY,v.getElement().parentNode.insertBefore(c.placeholderElement,v.getElement().nextSibling),c.moveRow(v,!0)):i&&-m-a>l&&(v=i)!==e&&(h=t.touches[0].pageY,v.getElement().parentNode.insertBefore(c.placeholderElement,v.getElement()),c.moveRow(v,!1)),v&&(o=v,n=v.nextRow(),r=s,s=n?n.getHeight()/2:0,i=v.prevRow(),a=l,l=i?i.getHeight()/2:0))}),t.addEventListener(
"touchend",
function(e){c.checkTimeout&&clearTimeout(c.checkTimeout),c.moving&&(c.endMove(e),c.touchMove=!1)})},MoveRows.prototype._bindMouseMove=
function(){this.table.rowManager.getDisplayRows().forEach(
function(e){
"row"!==e.type&&
"group"!==e.type||!e.modules.moveRow.mousemove||e.getElement().addEventListener(
"mousemove",e.modules.moveRow.mousemove)})},MoveRows.prototype._unbindMouseMove=
function(){this.table.rowManager.getDisplayRows().forEach(
function(e){
"row"!==e.type&&
"group"!==e.type||!e.modules.moveRow.mousemove||e.getElement().removeEventListener(
"mousemove",e.modules.moveRow.mousemove)})},MoveRows.prototype.startMove=
function(e,t){var o=t.getElement();this.setStartPosition(e,t),this.moving=t,this.table.element.classList.add(
"tabulator-block-select"),this.placeholderElement.style.width=t.getWidth()+
"px",this.placeholderElement.style.height=t.getHeight()+
"px",this.connection?(this.table.element.classList.add(
"tabulator-movingrow-sending"),this.connectToTables(t)):(o.parentNode.insertBefore(
this.placeholderElement,o),o.parentNode.removeChild(o)),this.hoverElement=o.cloneNode(!0),this.hoverElement.classList.add(
"tabulator-moving"),this.connection?(document.body.appendChild(this.hoverElement),this.hoverElement.style.left=
"0",this.hoverElement.style.top=
"0",this.hoverElement.style.width=this.table.element.clientWidth+
"px",this.hoverElement.style.whiteSpace=
"nowrap",this.hoverElement.style.overflow=
"hidden",this.hoverElement.style.pointerEvents=
"none"):(this.table.rowManager.getTableElement().appendChild(this.hoverElement),this.hoverElement.style.left=
"0",this.hoverElement.style.top=
"0",this._bindMouseMove()),document.body.addEventListener(
"mousemove",
this.moveHover),document.body.addEventListener(
"mouseup",this.endMove),this.moveHover(e)},MoveRows.prototype.setStartPosition=
function(e,t){var o,n,i=this.touchMove?e.touches[0].pageX:e.pageX,s=this.touchMove?e.touches[0].pageY:e.pageY;o=t.getElement(),this.connection?(n=o.getBoundingClientRect(),this.startX=n.left-i+window.pageXOffset,this.startY=n.top-s+window.pageYOffset):this.startY=s-o.getBoundingClientRect().top},MoveRows.prototype.endMove=
function(e){e&&1!==e.which&&!this.touchMove||(this._unbindMouseMove(),this.connection||(this.placeholderElement.parentNode.insertBefore(this.moving.getElement(),this.placeholderElement.nextSibling),this.placeholderElement.parentNode.removeChild(
this.placeholderElement)),this.hoverElement.parentNode.removeChild(
this.hoverElement),this.table.element.classList.remove(
"tabulator-block-select"),this.toRow&&this.table.rowManager.moveRow(this.moving,this.toRow,this.toRowAfter),this.moving=!1,this.toRow=!1,this.toRowAfter=!1,document.body.removeEventListener(
"mousemove",this.moveHover),document.body.removeEventListener(
"mouseup",this.endMove),this.connection&&(this.table.element.classList.remove(
"tabulator-movingrow-sending"),this.disconnectFromTables()))},MoveRows.prototype.moveRow=
function(e,t){this.toRow=e,this.toRowAfter=t},MoveRows.prototype.moveHover=
function(e){this.connection?this.moveHoverConnections.call(
this,e):this.moveHoverTable.call(
this,e)},MoveRows.prototype.moveHoverTable=
function(e){var t=this.table.rowManager.getElement(),o=t.scrollTop,n=(this.touchMove?e.touches[0].pageY:e.pageY)-t.getBoundingClientRect().top+o;this.hoverElement.style.top=n-this.startY+
"px"},MoveRows.prototype.moveHoverConnections=
function(e){this.hoverElement.style.left=this.startX+(this.touchMove?e.touches[0].pageX:e.pageX)+
"px",this.hoverElement.style.top=
this.startY+(
this.touchMove?e.touches[0].pageY:e.pageY)+
"px"},MoveRows.prototype.connectToTables=
function(e){var t=this.table.modules.comms.getConnections(this.connection);this.table.options.movableRowsSendingStart.call(this.table,t),this.table.modules.comms.send(this.connection,
"moveRow",
"connect",{row:e})},MoveRows.prototype.disconnectFromTables=
function(){var e=this.table.modules.comms.getConnections(this.connection);this.table.options.movableRowsSendingStop.call(this.table,e),this.table.modules.comms.send(this.connection,
"moveRow",
"disconnect")},MoveRows.prototype.connect=
function(e,t){var o=
this;
return this.connectedTable?(console.warn(
"Move Row Error - Table cannot accept connection, already connected to table:",this.connectedTable),!1):(this.connectedTable=e,this.connectedRow=t,this.table.element.classList.add(
"tabulator-movingrow-receiving"),o.table.rowManager.getDisplayRows().forEach(
function(e){
"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().addEventListener(
"mouseup",e.modules.moveRow.mouseup)}),o.tableRowDropEvent=o.tableRowDrop.bind(o),o.table.element.addEventListener(
"mouseup",o.tableRowDropEvent),this.table.options.movableRowsReceivingStart.call(this.table,t,e),!0)},MoveRows.prototype.disconnect=
function(e){var t=
this;e===this.connectedTable?(this.connectedTable=!1,this.connectedRow=!1,this.table.element.classList.remove(
"tabulator-movingrow-receiving"),t.table.rowManager.getDisplayRows().forEach(
function(e){
"row"===e.type&&e.modules.moveRow&&e.modules.moveRow.mouseup&&e.getElement().removeEventListener(
"mouseup",e.modules.moveRow.mouseup)}),t.table.element.removeEventListener(
"mouseup",t.tableRowDropEvent),this.table.options.movableRowsReceivingStop.call(this.table,e)):console.warn(
"Move Row Error - trying to disconnect from non connected table")},MoveRows.prototype.dropComplete=
function(e,t,o){var n=!1;
if(o){
switch(_typeof(this.table.options.movableRowsSender)){
case"string":n=this.senders[this.table.options.movableRowsSender];
break;
case"function":n=this.table.options.movableRowsSender}n?n.call(
this,this.moving.getComponent(),t?t.getComponent():
void 0,e):this.table.options.movableRowsSender&&console.warn(
"Mover Row Error - no matching sender found:",
this.table.options.movableRowsSender),this.table.options.movableRowsSent.call(this.table,this.moving.getComponent(),t?t.getComponent():
void 0,e)}
else this.table.options.movableRowsSentFailed.call(
this.table,
this.moving.getComponent(),t?t.getComponent():
void 0,e);this.endMove()},MoveRows.prototype.tableRowDrop=
function(e,t){var o=!1,n=!1;
switch(e.stopImmediatePropagation(),_typeof(this.table.options.movableRowsReceiver)){
case"string":o=this.receivers[this.table.options.movableRowsReceiver];
break;
case"function":o=this.table.options.movableRowsReceiver}o?n=o.call(
this,this.connectedRow.getComponent(),t?t.getComponent():
void 0,this.connectedTable):console.warn(
"Mover Row Error - no matching receiver found:",
this.table.options.movableRowsReceiver),n?this.table.options.movableRowsReceived.call(this.table,this.connectedRow.getComponent(),t?t.getComponent():
void 0,this.connectedTable):this.table.options.movableRowsReceivedFailed.call(
this.table,
this.connectedRow.getComponent(),t?t.getComponent():
void 0,this.connectedTable),this.table.modules.comms.send(
this.connectedTable,
"moveRow",
"dropcomplete",{row:t,success:n})},MoveRows.prototype.receivers={insert:
function(e,t,o){
return this.table.addRow(e.getData(),
void 0,t),!0},add:
function(e,t,o){
return this.table.addRow(e.getData()),!0},update:
function(e,t,o){
return!!t&&(t.update(e.getData()),!0)},replace:
function(e,t,o){
return!!t&&(this.table.addRow(e.getData(),
void 0,t),t.delete(),!0)}},MoveRows.prototype.senders={
delete:
function(e,t,o){e.delete()}},MoveRows.prototype.commsReceived=
function(e,t,o){
switch(t){
case"connect":
return this.connect(e,o.row);
case"disconnect":
return this.disconnect(e);
case"dropcomplete":
return this.dropComplete(e,o.row,o.success)}},Tabulator.prototype.registerModule(
"moveRow",MoveRows);