@serenity-is/sleekgrid
Version:
A modern Data Grid / Spreadsheet component
4 lines (3 loc) • 1.96 kB
JavaScript
var Slick=Slick||{};Slick._=(()=>{var n=Object.defineProperty;var h=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var d=Object.prototype.hasOwnProperty;var c=(s,e)=>{for(var o in e)n(s,o,{get:e[o],enumerable:!0})},g=(s,e,o,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let t of p(e))!d.call(s,t)&&t!==o&&n(s,t,{get:()=>e[t],enumerable:!(i=h(e,t))||i.enumerable});return s};var b=s=>g(n({},"__esModule",{value:!0}),s);var m={};c(m,{AutoTooltips:()=>r});var l=class l{constructor(e){this.handleMouseEnter=e=>{var a,u;var o=this.grid.getCellFromEvent(e);if(o){var i=this.grid.getCellNode(o.row,o.cell);if(i){var t;(!i.title||this.options.replaceExisting)&&(i.clientWidth<i.scrollWidth?(t=(u=(a=i.textContent)==null?void 0:a.trim())!=null?u:"",this.options.maxToolTipLength&&t.length>this.options.maxToolTipLength&&(t=t.substring(0,this.options.maxToolTipLength-3)+"...")):t="",i.title=t),i=null}}};this.handleHeaderMouseEnter=(e,o)=>{var i=o.column;if(i&&!i.toolTip){var t=e.target.closest(".slick-header-column");t&&(t.title=t.clientWidth<t.scrollWidth?i.name:"")}};this.pluginName="AutoTooltips";this.options=Object.assign({},l.defaults,e)}init(e){this.grid=e,this.options.enableForCells&&this.grid.onMouseEnter.subscribe(this.handleMouseEnter),this.options.enableForHeaderCells&&this.grid.onHeaderMouseEnter.subscribe(this.handleHeaderMouseEnter)}destroy(){this.options.enableForCells&&this.grid.onMouseEnter.unsubscribe(this.handleMouseEnter),this.options.enableForHeaderCells&&this.grid.onHeaderMouseEnter.unsubscribe(this.handleHeaderMouseEnter)}};l.defaults={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:null,replaceExisting:!0};var r=l;return b(m);})();
["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._;
//# sourceMappingURL=slick.autotooltips.min.js.map