Handsontable example

HTML

<script src="https://cdn.jsdelivr.net/npm/handsontable@13.1.0/dist/handsontable.full.js"></script>
<link type="text/css" rel="stylesheet" href="https://cdn.jsdelivr.net/npm/handsontable@13.1.0/dist/handsontable.full.css" />

<div>
  <div id="example1" class="hot handsontable htRowHeaders htColumnHeaders"></div>
</div>

JavaScript

document.addEventListener("DOMContentLoaded", function() {

  var dataObj = [
    ['Lorem', 'ipsum', 'dolor', 'sit', '12/1/2015', 23],
    ['adipiscing', 'elit', 'Ut', 'imperdiet', '5/12/2015', 6],
    ['Pellentesque', 'vulputate', 'leo', 'semper', '10/23/2015', 26],
    ['diam', 'et', 'malesuada', 'libero', '12/1/2014', 98],
    ['orci', 'et', 'dignissim', 'hendrerit', '12/1/2016', 8.5]
  ];
  
  let filteringArr = [];
  
  var example1 = document.getElementById('example1');
  var btn = document.getElementById('btn');
  
  var hot = new Handsontable(example1, {
    data: dataObj,
    columns: [
      {type: 'text'},
      {type: 'text'},
      {type: 'text'},
      {type: 'text'},
      {type: 'date', dateFormat: 'M/D/YYYY'},
      {type: 'numeric'}
    ],
    colHeaders: true,
    rowHeaders: true,
    dropdownMenu: true,
    filters: true,
    afterFilter: function(filterStack){
    	console.log(filterStack[0].column)
      filteringArr.push(filterStack[0].column)
    },
    afterDropdownMenuShow(instance) {
    	let filters = instance.hot.getPlugin('filters');
      let col = instance.hot.getSelectedLast()[1];
      
			console.log(col)
      if (!filteringArr.includes(col)) {
    		filters.components.get('filter_by_value').elements[0].onClearAllClick({preventDefault: function() {}});
      } 
  		
    }
  });
  
	var filters = hot.getPlugin('filters');
  
	window.hot = hot;
	window.filters = filters;
	
	hot.render();
});