import CheckBoxCellComponent from"./checkbox.svelte";class CheckBoxPlugin{constructor(e){this.hooks=e,this.namespace="tablesome",this.init()}init(){this.hooks.addFilter("getColumnFormats",this.namespace,this.getColumnFormats),this.hooks.addFilter("getCellComponent",this.namespace,this.getCellComponent),this.hooks.addFilter("getSearchRecords",this.namespace,this.getSearchRecords),this.hooks.addFilter("getSortRecords",this.namespace,this.getSortRecords),this.hooks.addFilter("getFilterRecords",this.namespace,this.getFilterRecords)}getColumnFormats(e){return e.push({format:"checkbox",class:"tablesome__option--basic tablesome__option--basic-checkbox",icon:"yes",text:"CheckBox"}),e}getCellComponent(e){return"checkbox"==e.cellType&&(e.component=CheckBoxCellComponent),e}getSearchRecords(e){return"checkbox"==e.cellType&&e.isContentMatch,e}getSortRecords(e){return"checkbox"==e.cellType&&(e.valueA=!(!("value"in e.rowA)||!e.rowA.value)&&Boolean(e.rowA.value),e.valueB=!(!("value"in e.rowB)||!e.rowB.value)&&Boolean(e.rowB.value),e.sortType="number"),e}getFilterRecords(e){if("number"==e.filter.format){let t=e.filter.value?parseFloat(e.filter.value):"",o="value"in e.cell&&e.cell.value?parseFloat(e.cell.value):"";e.isContentMatch=filterNumber(e.filter.operator.value,o,t)}return e}}export default CheckBoxPlugin;const filterNumber=(e,t,o)=>"="==e?t==o:"!="==e?t!=o:">"==e?t>o:"<"==e?t<o:">="==e?t>=o:"<="==e?t<=o:void 0;