2 var _typeof=
"function"==typeof Symbol&&
"symbol"==typeof Symbol.iterator?
function(t){
return typeof t}:
function(t){
return t&&
"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?
"symbol":typeof t},ColumnCalcs=
function(t){this.table=t,this.topCalcs=[],this.botCalcs=[],this.genColumn=!1,this.topElement=this.createElement(),this.botElement=this.createElement(),this.topRow=!1,this.botRow=!1,this.topInitialized=!1,this.botInitialized=!1,this.initialize()};ColumnCalcs.prototype.createElement=
function(){var t=document.createElement(
"div");
return t.classList.add(
"tabulator-calcs-holder"),t},ColumnCalcs.prototype.initialize=
function(){this.genColumn=
new Column({field:
"value"},
this)},ColumnCalcs.prototype.registerColumnField=
function(){},ColumnCalcs.prototype.initializeColumn=
function(t){var o=t.definition,e={topCalcParams:o.topCalcParams||{},botCalcParams:o.bottomCalcParams||{}};
if(o.topCalc){
switch(_typeof(o.topCalc)){
case"string":this.calculations[o.topCalc]?e.topCalc=this.calculations[o.topCalc]:console.warn(
"Column Calc Error - No such calculation found, ignoring: ",o.topCalc);
break;
case"function":e.topCalc=o.topCalc}e.topCalc&&(t.modules.columnCalcs=e,this.topCalcs.push(t),
"group"!=this.table.options.columnCalcs&&this.initializeTopRow())}
if(o.bottomCalc){
switch(_typeof(o.bottomCalc)){
case"string":this.calculations[o.bottomCalc]?e.botCalc=this.calculations[o.bottomCalc]:console.warn(
"Column Calc Error - No such calculation found, ignoring: ",o.bottomCalc);
break;
case"function":e.botCalc=o.bottomCalc}e.botCalc&&(t.modules.columnCalcs=e,this.botCalcs.push(t),
"group"!=this.table.options.columnCalcs&&this.initializeBottomRow())}},ColumnCalcs.prototype.removeCalcs=
function(){var t=!1;this.topInitialized&&(this.topInitialized=!1,this.topElement.parentNode.removeChild(this.topElement),t=!0),this.botInitialized&&(this.botInitialized=!1,this.table.footerManager.remove(
this.botElement),t=!0),t&&this.table.rowManager.adjustTableSize()},ColumnCalcs.prototype.initializeTopRow=
function(){this.topInitialized||(this.table.columnManager.getElement().insertBefore(this.topElement,this.table.columnManager.headersElement.nextSibling),this.topInitialized=!0)},ColumnCalcs.prototype.initializeBottomRow=
function(){this.botInitialized||(this.table.footerManager.prepend(this.botElement),this.botInitialized=!0)},ColumnCalcs.prototype.scrollHorizontal=
function(t){this.table.columnManager.getElement().scrollWidth,this.table.element.clientWidth;this.botInitialized&&(this.botRow.getElement().style.marginLeft=-t+
"px")},ColumnCalcs.prototype.recalc=
function(t){var o;
if(this.topInitialized||this.botInitialized){
if(this.rowsToData(t),this.topInitialized){
for(this.topRow&&this.topRow.deleteCells(),o=this.generateRow(
"top",this.rowsToData(t)),this.topRow=o;this.topElement.firstChild;)this.topElement.removeChild(
this.topElement.firstChild);this.topElement.appendChild(o.getElement()),o.initialize(!0)}
if(this.botInitialized){
for(this.botRow&&this.botRow.deleteCells(),o=this.generateRow(
"bottom",this.rowsToData(t)),this.botRow=o;this.botElement.firstChild;)this.botElement.removeChild(
this.botElement.firstChild);this.botElement.appendChild(o.getElement()),o.initialize(!0)}this.table.rowManager.adjustTableSize(),this.table.modExists(
"frozenColumns")&&this.table.modules.frozenColumns.layout()}},ColumnCalcs.prototype.recalcRowGroup=
function(t){this.recalcGroup(this.table.modules.groupRows.getRowGroup(t))},ColumnCalcs.prototype.recalcGroup=
function(t){var o,e;t&&t.calcs&&(t.calcs.bottom&&(o=this.rowsToData(t.rows),e=this.generateRowData(
"bottom",o),t.calcs.bottom.updateData(e),t.calcs.bottom.reinitialize()),t.calcs.top&&(o=
this.rowsToData(t.rows),e=this.generateRowData(
"top",o),t.calcs.top.updateData(e),t.calcs.top.reinitialize()))},ColumnCalcs.prototype.generateTopRow=
function(t){
return this.generateRow(
"top",this.rowsToData(t))},ColumnCalcs.prototype.generateBottomRow=
function(t){
return this.generateRow(
"bottom",this.rowsToData(t))},ColumnCalcs.prototype.rowsToData=
function(t){var o=[];
return t.forEach(
function(t){o.push(t.getData())}),o},ColumnCalcs.prototype.generateRow=
function(t,o){var e,i=
this,l=this.generateRowData(t,o);
return i.table.modExists(
"mutator")&&i.table.modules.mutator.disable(),e=
new Row(l,
this,
"calc"),i.table.modExists(
"mutator")&&i.table.modules.mutator.enable(),e.getElement().classList.add(
"tabulator-calcs",
"tabulator-calcs-"+t),e.generateCells=
function(){var o=[];i.table.columnManager.columnsByIndex.forEach(
function(l){i.genColumn.setField(l.getField()),i.genColumn.hozAlign=l.hozAlign,l.definition[t+
"CalcFormatter"]&&i.table.modExists(
"format")?i.genColumn.modules.format={formatter:i.table.modules.format.getFormatter(l.definition[t+
"CalcFormatter"]),params:l.definition[t+
"CalcFormatterParams"]}:i.genColumn.modules.format={formatter:i.table.modules.format.getFormatter(
"plaintext"),params:{}},i.genColumn.definition.cssClass=l.definition.cssClass;var a=
new Cell(i.genColumn,e);a.column=l,a.setWidth(),l.cells.push(a),o.push(a),l.visible||a.hide()}),this.cells=o},e},ColumnCalcs.prototype.generateRowData=
function(t,o){var e,i,l={},a=
"top"==t?this.topCalcs:this.botCalcs,n=
"top"==t?
"topCalc":
"botCalc";
return a.forEach(
function(t){var a=[];t.modules.columnCalcs&&t.modules.columnCalcs[n]&&(o.forEach(
function(o){a.push(t.getFieldValue(o))}),i=n+
"Params",e=
"function"==typeof t.modules.columnCalcs[i]?t.modules.columnCalcs[i](a,o):t.modules.columnCalcs[i],t.setFieldValue(l,t.modules.columnCalcs[n](a,o,e)))}),l},ColumnCalcs.prototype.hasTopCalcs=
function(){
return!!this.topCalcs.length},ColumnCalcs.prototype.hasBottomCalcs=
function(){
return!!this.botCalcs.length},ColumnCalcs.prototype.redraw=
function(){this.topRow&&this.topRow.normalizeHeight(!0),this.botRow&&this.botRow.normalizeHeight(!0)},ColumnCalcs.prototype.getResults=
function(){var t,o=
this,e={};
return this.table.options.groupBy&&this.table.modExists(
"groupRows")?(t=this.table.modules.groupRows.getGroups(!0),t.forEach(
function(t){e[t.getKey()]=o.getGroupResults(t)})):e={top:this.topRow?this.topRow.getData():{},bottom:this.botRow?this.botRow.getData():{}},e},ColumnCalcs.prototype.getGroupResults=
function(t){var o=
this,e=t._getSelf(),i=t.getSubGroups(),l={};
return i.forEach(
function(t){l[t.getKey()]=o.getGroupResults(t)}),{top:e.calcs.top?e.calcs.top.getData():{},bottom:e.calcs.bottom?e.calcs.bottom.getData():{},groups:l}},ColumnCalcs.prototype.calculations={avg:
function(t,o,e){var i=0,l=
void 0!==e.precision?e.precision:2;
return t.length&&(i=t.reduce(
function(t,o){
return o=Number(o),t+o}),i/=t.length,i=!1!==l?i.toFixed(l):i),parseFloat(i).toString()},max:
function(t,o,e){var i=null,l=
void 0!==e.precision&&e.precision;
return t.forEach(
function(t){((t=Number(t))>i||null===i)&&(i=t)}),null!==i?!1!==l?i.toFixed(l):i:
""},min:
function(t,o,e){var i=null,l=
void 0!==e.precision&&e.precision;
return t.forEach(
function(t){((t=Number(t))<i||null===i)&&(i=t)}),null!==i?!1!==l?i.toFixed(l):i:
""},sum:
function(t,o,e){var i=0,l=
void 0!==e.precision&&e.precision;
return t.length&&t.forEach(
function(t){t=Number(t),i+=isNaN(t)?0:Number(t)}),!1!==l?i.toFixed(l):i},concat:
function(t,o,e){var i=0;
return t.length&&(i=t.reduce(
function(t,o){
return String(t)+String(o)})),i},count:
function(t,o,e){var i=0;
return t.length&&t.forEach(
function(t){t&&i++}),i}},Tabulator.prototype.registerModule(
"columnCalcs",ColumnCalcs);