slickgrid
Version:
A lightning fast JavaScript grid/spreadsheet
9 lines • 3.1 kB
JavaScript
/**
* SlickGrid v3.0.4
* (c) 2009-present Michael Leibman
* homepage: http://github.com/mleibman/slickgrid
* license: MIT
* date: 2023-02-15
* file: ./slick.groupitemmetadataprovider.js
*/
!function(a){a.extend(!0,window,{Slick:{Data:{GroupItemMetadataProvider:function(e){var o,r=a.extend(!0,{},{checkboxSelect:!1,checkboxSelectCssClass:"slick-group-select-checkbox",checkboxSelectPlugin:null,groupCssClass:"slick-group",groupTitleCssClass:"slick-group-title",totalsCssClass:"slick-group-totals",groupFocusable:!0,totalsFocusable:!1,toggleCssClass:"slick-group-toggle",toggleExpandedCssClass:"expanded",toggleCollapsedCssClass:"collapsed",enableExpandCollapse:!0,groupFormatter:function(e,s,t,l,o,a){var c;return r.enableExpandCollapse?(c=15*o.level+"px",(r.checkboxSelect?'<span class="'+r.checkboxSelectCssClass+" "+(o.selectChecked?"checked":"unchecked")+'"></span>':"")+"<span class='"+r.toggleCssClass+" "+(o.collapsed?r.toggleCollapsedCssClass:r.toggleExpandedCssClass)+"' style='margin-left:"+c+"'></span><span class='"+r.groupTitleCssClass+"' level='"+o.level+"'>"+o.title+"</span>"):o.title},totalsFormatter:function(e,s,t,l,o,a){return l.groupTotalsFormatter&&l.groupTotalsFormatter(o,l,a)||""},includeHeaderTotals:!1},e);function s(e,s){var t,l=a(e.target),s=this.getDataItem(s.row);s&&s instanceof Slick.Group&&l.hasClass(r.toggleCssClass)&&(t=o.getRenderedRange(),this.getData().setRefreshHints({ignoreDiffsBefore:t.top,ignoreDiffsAfter:t.bottom+1}),s.collapsed?this.getData().expandGroup(s.groupingKey):this.getData().collapseGroup(s.groupingKey),e.stopImmediatePropagation(),e.preventDefault()),s&&s instanceof Slick.Group&&l.hasClass(r.checkboxSelectCssClass)&&(s.selectChecked=!s.selectChecked,l.removeClass(s.selectChecked?"unchecked":"checked"),l.addClass(s.selectChecked?"checked":"unchecked"),t=o.getData().mapItemsToRows(s.rows),(s.selectChecked?r.checkboxSelectPlugin.selectRows:r.checkboxSelectPlugin.deSelectRows)(t))}function t(e,s){var t,l;r.enableExpandCollapse&&e.which==Slick.keyCode.SPACE&&(t=this.getActiveCell())&&(t=this.getDataItem(t.row))&&t instanceof Slick.Group&&(l=o.getRenderedRange(),this.getData().setRefreshHints({ignoreDiffsBefore:l.top,ignoreDiffsAfter:l.bottom+1}),t.collapsed?this.getData().expandGroup(t.groupingKey):this.getData().collapseGroup(t.groupingKey),e.stopImmediatePropagation(),e.preventDefault())}return{init:function(e){(o=e).onClick.subscribe(s),o.onKeyDown.subscribe(t)},destroy:function(){o&&(o.onClick.unsubscribe(s),o.onKeyDown.unsubscribe(t))},getGroupRowMetadata:function(e){return e=e&&e.level,{selectable:!1,focusable:r.groupFocusable,cssClasses:r.groupCssClass+" slick-group-level-"+e,formatter:r.includeHeaderTotals&&r.totalsFormatter,columns:{0:{colspan:r.includeHeaderTotals?"1":"*",formatter:r.groupFormatter,editor:null}}}},getTotalsRowMetadata:function(e){return e=e&&e.group&&e.group.level,{selectable:!1,focusable:r.totalsFocusable,cssClasses:r.totalsCssClass+" slick-group-level-"+e,formatter:r.totalsFormatter,editor:null}},getOptions:function(){return r},setOptions:function(e){a.extend(!0,r,e)}}}}}})}(jQuery);