@serenity-is/sleekgrid
Version:
A modern Data Grid / Spreadsheet component
5 lines (4 loc) • 5.16 kB
JavaScript
var Slick=Slick||{};Slick._=(()=>{var C=Object.defineProperty;var F=Object.getOwnPropertyDescriptor;var v=Object.getOwnPropertyNames;var y=Object.prototype.hasOwnProperty;var G=(p,t)=>{for(var e in t)C(p,e,{get:t[e],enumerable:!0})},T=(p,t,e,s)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of v(t))!y.call(p,o)&&o!==e&&C(p,o,{get:()=>t[o],enumerable:!(s=F(t,o))||s.enumerable});return p};var k=p=>T(C({},"__esModule",{value:!0}),p);var D={};G(D,{GroupItemMetadataProvider:()=>h});var{convertCompatFormatter:c,Group:f}=Slick;var u=class u{constructor(t){this.pluginName="GroupItemMetadataProvider";this.handleGridClick=(t,e)=>{var r,l,n,i,g,m,d;let s=(r=e==null?void 0:e.grid)!=null?r:this.grid;if(s){var o=s.getDataItem(e.row);if(!(!o||!(o instanceof f)||!this.options.toggleCssClass||!t.target.classList.contains(this.options.toggleCssClass))){t.stopImmediatePropagation(),t.preventDefault();var a=s.getRenderedRange();(n=(l=s.getData()).setRefreshHints)==null||n.call(l,{ignoreDiffsBefore:a.top,ignoreDiffsAfter:a.bottom+1}),o.collapsed?(g=(i=s.getData()).expandGroup)==null||g.call(i,o.groupingKey):(d=(m=s.getData()).collapseGroup)==null||d.call(m,o.groupingKey)}}};this.handleGridKeyDown=(t,e)=>{var l,n,i,g,m,d,b;if(!this.options.enableExpandCollapse||t.key!==" "&&t.key!=="-"&&t.key!=="+")return;let s=(l=e==null?void 0:e.grid)!=null?l:this.grid;if(s){var o=s.getActiveCell();if(o){var a=s.getDataItem(o.row);if(!(!a||!(a instanceof f))&&(t.stopImmediatePropagation(),t.preventDefault(),!(t.key=="+"&&!a.collapsed||t.key=="-"&&a.collapsed))){var r=s.getRenderedRange();(i=(n=s.getData()).setRefreshHints)==null||i.call(n,{ignoreDiffsBefore:r.top,ignoreDiffsAfter:r.bottom+1}),a.collapsed?(m=(g=s.getData()).expandGroup)==null||m.call(g,a.groupingKey):(b=(d=s.getData()).collapseGroup)==null||b.call(d,a.groupingKey)}}}};this.groupCellPosition=()=>{var r,l,n,i;let t={cell:0,colspan:"*"};if(!this.options.groupRowTotals||!this.grid)return t;for(var e=this.grid.getColumns(),s,o=0;o<e.length;o++)if(s=e[o],!((l=(r=this.options).hasSummaryType)!=null&&l.call(r,e[o]))){t.cell=o;break}t.colspan=0;for(var o=t.cell+1;o<e.length;o++){var a=e[o];if(!((i=(n=this.options).hasSummaryType)!=null&&i.call(n,a))&&!!(s!=null&&s.frozen)==!!(a!=null&&a.frozen))t.colspan++;else break}return t.colspan=Math.max(1,t.colspan),t};this.getGroupRowMetadata=t=>{let e=this.options,s=this.groupCellPosition(),o={selectable:!1,focusable:e.groupFocusable,cssClasses:e.groupCssClass+" "+e.groupLevelPrefix+(t==null?void 0:t.level),columns:{[s.cell]:{colspan:s.colspan,cssClasses:e.groupCellCssClass,format:e.groupFormat,editor:null}}};return e.groupRowTotals&&(o.format=e.totalsFormat),o};this.getTotalsRowMetadata=t=>{var s;let e=this.options;return{selectable:!1,focusable:e.totalsFocusable,cssClasses:e.totalsCssClass+" "+e.groupLevelPrefix+((s=t==null?void 0:t.group)==null?void 0:s.level),format:e.totalsFormat,editor:null}};var e,s,o,a;this.options=Object.assign({},u.defaults,t),(s=(e=this.options).groupFormat)!=null||(e.groupFormat=t!=null&&t.groupFormatter?c(t.groupFormatter):r=>u.defaultGroupFormat(r,this.options)),(a=(o=this.options).totalsFormat)!=null||(o.totalsFormat=t!=null&&t.totalsFormatter?c(t.totalsFormatter):r=>u.defaultTotalsFormat(r,this.grid))}static defaultGroupFormat(t,e){e!=null||(e=u.defaults);let s=t.item;if(!e.enableExpandCollapse)return s==null?void 0:s.title;let o=s.level*e.groupIndentation;return`<span class="${t.escape(e.toggleCssClass+" "+(s.collapsed?e.toggleCollapsedCssClass:e.toggleExpandedCssClass))}" style="margin-left: ${o}px">
<span class="${t.escape(e.groupTitleCssClass)}" level="${t.escape(s.level)}">${s.title}</span>`}static defaultTotalsFormat(t,e){var o,a,r,l,n,i;var s=t.item;return!s.__groupTotals&&s.totals&&(s=s.totals),(i=(n=(a=(o=t.column)==null?void 0:o.groupTotalsFormatter)==null?void 0:a.call(o,s,t.column))!=null?n:(l=(r=e!=null?e:t.grid)==null?void 0:r.groupTotalsFormatter)==null?void 0:l.call(r,s,t.column))!=null?i:""}init(t){this.grid=t,t.onClick.subscribe(this.handleGridClick),t.onKeyDown.subscribe(this.handleGridKeyDown)}destroy(){var t,e;this.grid&&((t=this.grid.onClick)==null||t.unsubscribe(this.handleGridClick),(e=this.grid.onKeyDown)==null||e.unsubscribe(this.handleGridKeyDown))}getOptions(){return this.options}setOptions(t){Object.assign(this.options,t)}};u.defaults={enableExpandCollapse:!0,groupCellCssClass:"slick-group-cell",groupCssClass:"slick-group",groupFocusable:!0,groupIndentation:15,groupLevelPrefix:"slick-group-level-",groupTitleCssClass:"slick-group-title",hasSummaryType:t=>t.summaryType&&t.summaryType!=-1,totalsCssClass:"slick-group-totals",toggleCssClass:"slick-group-toggle",toggleCollapsedCssClass:"collapsed",toggleExpandedCssClass:"expanded",totalsFocusable:!1};var h=u;return k(D);})();
["Data", "Editors", "Formatters", "Plugins"].forEach(ns => Slick._[ns] && (Slick[ns] = Object.assign(Slick[ns] || {}, Slick._[ns])) && delete Slick._[ns]); Object.assign(Slick, Slick._); delete Slick._; Slick.Data = Slick.Data || {}; Slick.Data.GroupItemMetadataProvider = Slick.GroupItemMetadataProvider;
//# sourceMappingURL=slick.groupitemmetadataprovider.min.js.map