slick-table 1.1.83 → 1.1.84

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -324,8 +324,8 @@ return o.version="2.30.1",r(Mt),o.fn=ye,o.min=rC,o.max=sC,o.now=iC,o.utc=b,o.uni
324
324
  padding: 0 4px;
325
325
  font-weight: normal;
326
326
  }
327
- .main-table > thead {
328
- border-bottom: 1px solid gray;
327
+ .main-table > thead .empty-row {
328
+ border-top: 1px solid gray;
329
329
  }
330
330
  .client-name {
331
331
  font-size: 16px;
@@ -400,7 +400,7 @@ return o.version="2.30.1",r(Mt),o.fn=ye,o.min=rC,o.max=sC,o.now=iC,o.utc=b,o.uni
400
400
  </table>
401
401
  </body>
402
402
  </html>
403
- `}columnNames(t){const n=document.createElement("thead"),o=document.createElement("tr");o.classList.add("empty-row");const r=document.createElement("tr");return r.classList.add("row-column-names"),(t.grid?.getColumns()||[]).filter(d=>d.forPrint).forEach(({name:d})=>{const u=document.createElement("th");u.classList.add("text-left"),typeof d=="string"?u.innerText=d:u.innerText=" ",r.append(u)}),n.append(o),n.append(r),n}tableNameAndTime(t){const n=document.createElement("tr"),o=document.createElement("th");o.classList.add("text-left"),o.innerText=t.name||t.id,n.append(o);const r=document.createElement("th");return r.classList.add("text-right"),r.innerText=xe().format("MM/DD/YYYY h:mm A"),n.append(r),n}createTableElement(t){const n=document.createElement("table");return n.classList.add("slick-table"),n.style.width="100%",n.append(this.columnNames(t)),n.append(this.createTbody(t)),n}createTbody(t){const n=document.createElement("tbody"),o=t.grid;if(!o)return n;const i=o.getColumns().filter(d=>d.forPrint),a=o.getData();return Hc(a).forEach((d,u)=>{const f=this.createTr(i,u,o);n.append(f)}),n.append(...this.totals(t)),n}filters(t){const n=[];if(t.filter){const o=t.filter.print(t);if(o.length){const r=document.createElement("tr"),i=document.createElement("th");i.setAttribute("colspan","100%"),i.classList.add("text-left"),i.innerText="Applied filters",r.append(i),n.push(r)}o.forEach(r=>{n.push(r)})}return n}totals(t){return[]}createHeader(t){const n=document.createElement("thead");return n.append(this.getClientName()),n.append(this.tableNameAndTime(t)),n.append(...this.filters(t)),n}createTr(t,n,o){const r=document.createElement("tr"),i=o.getData(),a=i.getItem(n),l=a.__group,d=a.__groupTotals;if(l){const u=document.createElement("td");u.setAttribute("colspan","100%"),u.innerText=jy(a.title),r.append(u)}else t.forEach(u=>{const f=document.createElement("td");u.cssClass&&f.classList.add(u.cssClass);const p=u.field,w=i.getItemMetadata(n)?.columns?.[p]?.formatter,b=u.printer||w||u.formatter;let m=a[p];if(d){const v=u.groupTotalsFormatter;m=v?v(a,u,o):""}else b&&(m=b(0,0,m,u,a,o));f.innerText=m||"",r.append(f)});return r}print(t,n,o){const r=window.open();r&&(this.clientId=n,this.clientName=o,aB(r.document,this.getHtmlTemplate({title:t.name||t.id,styles:this.cssStyles,header:this.createHeader(t).outerHTML,body:this.createTableElement(t).outerHTML,footer:this.createFooter().outerHTML})),r.print())}createFooter(){return document.createElement("tfoot")}}function lB(e){const t=document.querySelector(e);if(!t)return!0;const{scrollHeight:n,scrollWidth:o}=document.documentElement,{bottom:r,left:i,right:a,top:l}=t.getBoundingClientRect();return r<=0||i>=o||a<=0||l>=n}class cB{constructor(t){this.columnPicker=null,this.copiedRows=[],this.downloadManager=new jD,this.filter=new XN,this.hotKeysBehavior=new Wy,this.summaryColumnIds=[],this._grid=null,this._grouping={},this._isActive=!1,this._isEdited=!1,this._lastActiveCell={row:0,cell:0},this._observers=[],this._printer=new Ab;const{columnPicker:n,downloadManager:o,filter:r,hotKeys:i,id:a,name:l,printer:d,summaryColumnIds:u,totalCalculator:f}=t;this.id=a,this.name=l||"",n&&(this.columnPicker=n),o&&(this.downloadManager=o),r&&(this.filter=r,this.filter.tableId=a,this.filter.args={columnFilters:mo.columnFilters.get(this.id)}),i&&(this.hotKeysBehavior=i),d&&(this.printer=d),u&&(this.summaryColumnIds=u),f&&(this.totalCalculator=f)}createGrid(t,n,o){this.reset();const r=new $W(`#${this.id}`,t,n,o);return this.grid=r,r.onKeyDown.subscribe(pm(r)),this.filter.register(r,this.id),this.grid}handleKeyboardEvent(t){lB(`#${this.id}`)||this.hotKeysBehavior.handleKeyboardEvent(t,this)}get grid(){return this._grid}get grouping(){return this._grouping}get isEdited(){return this._isEdited}set grid(t){this._grid=t}set grouping(t){if(this._grouping={...this._grouping,...t},!this.grid)return;const n=this.grid.getData();this.grouping.isGrouped?n.setGrouping(this.grouping.groups||[]):n.setGrouping([])}set isEdited(t){this._isEdited=t,this.notifyObservers()}set printer(t){this._printer=t}get printer(){return this._printer}get isActive(){return this._isActive}set isActive(t){this._isActive=t}get lastActiveSell(){return this._lastActiveCell}set lastActiveSell(t){this._lastActiveCell=t}resizeCanvas(){console.log(""),this.grid?.resizeCanvas()}registerObservers(t){~this._observers.indexOf(t)||this._observers.push(t)}notifyObservers(){for(const t of this._observers)t(this)}deleteObserver(t){const n=this._observers.indexOf(t);this._observers.splice(n,1)}reset(){this.grid?.onKeyDown.unsubscribe(pm(this.grid)),this.grid?.getSelectionModel()&&this.grid.setSelectedRows([]),this.hotKeysBehavior.resetQueue(),this.isEdited=!1,this.isActive=!1,this.grid=null}}class dB extends Ta{constructor(){super(...arguments),this.clientId=0,this.clientName="",this.x=0,this.y=0}}const on=new dB;class uB extends Ta{constructor(){super(...arguments),this.x=0,this.y=0}}const fo=new uB;class hB extends Ta{constructor(){super(...arguments),this._open=!1,this.x=0,this.y=0}get open(){return this._open}set open(t){this._open=t,this.notify()}get table(){return this._table}set table(t){this._table=t}}const jn=new hB,fB=e=>{const t=e.getLength()-1;return e.getItem(t)},Bc=e=>{const t=e.getData(),n=t.getIdPropertyName(),o=t.getItems();let r=0;return o.forEach(i=>{i[n]>r&&(r=i[n])}),r+1},Hh=()=>{Db.commitCurrentEdit()};function zh(e){return e.ctrlKey||e.metaKey}function Yh(e){return zh(e)&&e.keyCode===Jr.KeyB}function Fb(e){return e.shiftKey&&e.keyCode===Jr.KeyDel}function pB(e){return e.altKey&&e.keyCode===Jr.KeyS}function Uh(e){return zh(e)&&e.keyCode===Jr.KeyY}function qh(e){return zh(e)&&e.keyCode===Jr.KeyZ}function mB(e){const t=e.getActiveCell();return!e.getSelectedRows().length&&!t}function Lb(e){const t=gB(e),o=e.getData().getItems(),r=o.findIndex(a=>a.id===t)+1,i=o.length;return r||i}const Hc=e=>{const t=[];for(let n=0;n<e.getLength();n++)t.push(e.getItem(n));return t},$b=e=>{const t=e.getSelectedRows(),n=e.getData(),o=Hc(n),r=n.getItems(),i=[],a=n.getIdPropertyName();let l=Bc(e);t.length?t.forEach(d=>{i.push({...o[d],[a]:l++,isEdited:!0,isNew:!0})}):i.push({[a]:l,isEdited:!0,isNew:!0}),r.splice(Lb(e),0,...i),n.setItems(r),e.setSelectedRows([]),e.invalidate()},gB=e=>{const t=e.getData(),n=Hc(t),o=e.getActiveCell()?.row;return o!==void 0?(n[o]||n[n.length-1])?.id:0};function yB(e){return function(t){t.preventDefault(),Hh(),on.table=e,on.x=t.pageX||0,on.y=t.pageY||0,on.notify()}}function vB(e){return function(t){t.preventDefault(),Hh(),fo.table=e,fo.x=t.pageX||0,fo.y=t.pageY||0,fo.notify()}}class bB extends Ta{constructor(){super(...arguments),this._activeTable=null}get activeTable(){return this._activeTable}set activeTable(t){this._activeTable=t}}const ki=new bB,wB=e=>{function t(){if(e.id!==ki.activeTable?.id){e.isActive=!1;const o=e.grid;o?.resetActiveCell(),o?.setSelectedRows([])}}function n(){e.isActive=!0,ki.activeTable=e,ki.notify()}Fe.useEffect(()=>{ki.subscribe(t),document.addEventListener("keydown",e.handleKeyboardEvent.bind(e));const o=document.getElementById(e.id);if(o)return o.addEventListener("click",n,!0),()=>{ki.unsubscribe(t),document.removeEventListener("keydown",e.handleKeyboardEvent.bind(e)),o.removeEventListener("click",n,!0)}},[])},CB=e=>{const[t,n]=Fe.useState(SB(e));return Fe.useEffect(()=>{const o=r=>{n(i=>({...i,[r.id]:r.isEdited}))};return e.forEach(r=>{r.registerObservers(o)}),()=>{e.forEach(r=>{r.deleteObserver(o)})}},[]),Object.values(t).some(o=>o)};function SB(e){const t={};for(const n of e)t[n.id]=n.isEdited;return t}function _B(e){Fe.useEffect(()=>{function t(){e.grid?.resizeCanvas()}const n=Lv(t);return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[])}const xB=e=>{Fe.useEffect(()=>{function t(n){const o=n.grid;o&&n.totalCalculator?.calculate(o)}return e.registerObservers(t),()=>{e.deleteObserver(t)}},[])},RB=e=>{if(!e)return 0;if(typeof e=="number")return e;const t=e.replace(/\$|,|\s/g,""),n=t.replace(/\(|\)/g,"");return isNaN(Number(n))?0:t.startsWith("(")&&t.endsWith(")")?0-Number(n):Number(t)},Br=function(){const e=function(x,S,C,O){for(C=C||{},O=x.length;O--;C[x[O]]=S);return C},t=[1,3],n=[1,4],o=[1,5],r=[1,6],i=[1,7],a=[1,9],l=[1,10],d=[1,11],u=[1,12],f=[1,13],p=[1,14],y=[1,15],w=[5,6,7,8,9,10,11,12,14],b=[5,6,7,14],m=[5,6,7,8,9,14],v={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"+":6,"-":7,"*":8,"/":9,"^":10,"!":11,"%":12,"(":13,")":14,NUMBER:15,E:16,PI:17,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"+",7:"-",8:"*",9:"/",10:"^",11:"!",12:"%",13:"(",14:")",15:"NUMBER",16:"E",17:"PI"},productions_:[0,[3,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,2],[4,2],[4,2],[4,3],[4,1],[4,1],[4,1]],performAction:function(S,C,O,A,F,W,R){const $=W.length-1;switch(F){case 1:return W[$-1];case 2:this.$=W[$-2]+W[$];break;case 3:this.$=W[$-2]-W[$];break;case 4:this.$=W[$-2]*W[$];break;case 5:this.$=W[$-2]/W[$];break;case 6:this.$=Math.pow(W[$-2],W[$]);break;case 7:this.$=function K(G){return G==0?1:K(G-1)*G}(W[$-1]);break;case 8:this.$=W[$-1]/100;break;case 9:this.$=-W[$];break;case 10:this.$=W[$-1];break;case 11:this.$=Number(S);break;case 12:this.$=Math.E;break;case 13:this.$=Math.PI;break}},table:[{3:1,4:2,7:t,13:n,15:o,16:r,17:i},{1:[3]},{5:[1,8],6:a,7:l,8:d,9:u,10:f,11:p,12:y},{4:16,7:t,13:n,15:o,16:r,17:i},{4:17,7:t,13:n,15:o,16:r,17:i},e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),{1:[2,1]},{4:18,7:t,13:n,15:o,16:r,17:i},{4:19,7:t,13:n,15:o,16:r,17:i},{4:20,7:t,13:n,15:o,16:r,17:i},{4:21,7:t,13:n,15:o,16:r,17:i},{4:22,7:t,13:n,15:o,16:r,17:i},e(w,[2,7]),e(w,[2,8]),e(w,[2,9]),{6:a,7:l,8:d,9:u,10:f,11:p,12:y,14:[1,23]},e(b,[2,2],{8:d,9:u,10:f,11:p,12:y}),e(b,[2,3],{8:d,9:u,10:f,11:p,12:y}),e(m,[2,4],{10:f,11:p,12:y}),e(m,[2,5],{10:f,11:p,12:y}),e([5,6,7,8,9,10,14],[2,6],{11:p,12:y}),e(w,[2,10])],defaultActions:{8:[2,1]},parseError:function(S,C){if(C.recoverable)this.trace(S);else{const O=new Error(S);throw O.hash=C,O}},parse:function(S){const C=this;let O=[0],A=[null],F=[];const W=this.table;let R="",$=0,K=0;const G=2,q=1,Y=F.slice.call(arguments,1),z=Object.create(this.lexer),ae={yy:{}};for(let le in this.yy)Object.prototype.hasOwnProperty.call(this.yy,le)&&(ae.yy[le]=this.yy[le]);z.setInput(S,ae.yy),ae.yy.lexer=z,ae.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});let N=z.yylloc;F.push(N);const M=z.options&&z.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;var L=function(){let le;return le=z.lex()||q,typeof le!="number"&&(le=C.symbols_[le]||le),le};let B,ne,oe,se;const j={};let ee,J,te,ce;for(;;){if(ne=O[O.length-1],this.defaultActions[ne]?oe=this.defaultActions[ne]:((B===null||typeof B>"u")&&(B=L()),oe=W[ne]&&W[ne][B]),typeof oe>"u"||!oe.length||!oe[0]){let le="";ce=[];for(ee in W[ne])this.terminals_[ee]&&ee>G&&ce.push("'"+this.terminals_[ee]+"'");z.showPosition?le="Parse error on line "+($+1)+`:
403
+ `}columnNames(t){const n=document.createElement("thead"),o=document.createElement("tr");return o.classList.add("row-column-names"),(t.grid?.getColumns()||[]).filter(l=>l.forPrint).forEach(({name:l})=>{const d=document.createElement("th");d.classList.add("text-left"),typeof l=="string"?d.innerText=l:d.innerText=" ",o.append(d)}),n.append(o),n}tableNameAndTime(t){const n=document.createElement("tr"),o=document.createElement("th");o.classList.add("text-left"),o.innerText=t.name||t.id,n.append(o);const r=document.createElement("th");return r.classList.add("text-right"),r.innerText=xe().format("MM/DD/YYYY h:mm A"),n.append(r),n}createTableElement(t){const n=document.createElement("table");return n.classList.add("slick-table"),n.style.width="100%",n.append(this.columnNames(t)),n.append(this.createTbody(t)),n}createTbody(t){const n=document.createElement("tbody"),o=t.grid;if(!o)return n;const i=o.getColumns().filter(d=>d.forPrint),a=o.getData();return Hc(a).forEach((d,u)=>{const f=this.createTr(i,u,o);n.append(f)}),n.append(...this.totals(t)),n}filters(t){const n=[];if(t.filter){const o=t.filter.print(t);if(o.length){const r=document.createElement("tr"),i=document.createElement("th");i.setAttribute("colspan","100%"),i.classList.add("text-left"),i.innerText="Applied filters",r.append(i),n.push(r)}o.forEach(r=>{n.push(r)})}return n}totals(t){return[]}createHeader(t){const n=document.createElement("thead"),o=document.createElement("tr");return o.classList.add("empty-row"),n.append(this.getClientName()),n.append(this.tableNameAndTime(t)),n.append(...this.filters(t)),n.append(o),n}createTr(t,n,o){const r=document.createElement("tr"),i=o.getData(),a=i.getItem(n),l=a.__group,d=a.__groupTotals;if(l){const u=document.createElement("td");u.setAttribute("colspan","100%"),u.innerText=jy(a.title),r.append(u)}else t.forEach(u=>{const f=document.createElement("td");u.cssClass&&f.classList.add(u.cssClass);const p=u.field,w=i.getItemMetadata(n)?.columns?.[p]?.formatter,b=u.printer||w||u.formatter;let m=a[p];if(d){const v=u.groupTotalsFormatter;m=v?v(a,u,o):""}else b&&(m=b(0,0,m,u,a,o));f.innerText=m||"",r.append(f)});return r}print(t,n,o){const r=window.open();r&&(this.clientId=n,this.clientName=o,aB(r.document,this.getHtmlTemplate({title:t.name||t.id,styles:this.cssStyles,header:this.createHeader(t).outerHTML,body:this.createTableElement(t).outerHTML,footer:this.createFooter().outerHTML})),r.print())}createFooter(){return document.createElement("tfoot")}}function lB(e){const t=document.querySelector(e);if(!t)return!0;const{scrollHeight:n,scrollWidth:o}=document.documentElement,{bottom:r,left:i,right:a,top:l}=t.getBoundingClientRect();return r<=0||i>=o||a<=0||l>=n}class cB{constructor(t){this.columnPicker=null,this.copiedRows=[],this.downloadManager=new jD,this.filter=new XN,this.hotKeysBehavior=new Wy,this.summaryColumnIds=[],this._grid=null,this._grouping={},this._isActive=!1,this._isEdited=!1,this._lastActiveCell={row:0,cell:0},this._observers=[],this._printer=new Ab;const{columnPicker:n,downloadManager:o,filter:r,hotKeys:i,id:a,name:l,printer:d,summaryColumnIds:u,totalCalculator:f}=t;this.id=a,this.name=l||"",n&&(this.columnPicker=n),o&&(this.downloadManager=o),r&&(this.filter=r,this.filter.tableId=a,this.filter.args={columnFilters:mo.columnFilters.get(this.id)}),i&&(this.hotKeysBehavior=i),d&&(this.printer=d),u&&(this.summaryColumnIds=u),f&&(this.totalCalculator=f)}createGrid(t,n,o){this.reset();const r=new $W(`#${this.id}`,t,n,o);return this.grid=r,r.onKeyDown.subscribe(pm(r)),this.filter.register(r,this.id),this.grid}handleKeyboardEvent(t){lB(`#${this.id}`)||this.hotKeysBehavior.handleKeyboardEvent(t,this)}get grid(){return this._grid}get grouping(){return this._grouping}get isEdited(){return this._isEdited}set grid(t){this._grid=t}set grouping(t){if(this._grouping={...this._grouping,...t},!this.grid)return;const n=this.grid.getData();this.grouping.isGrouped?n.setGrouping(this.grouping.groups||[]):n.setGrouping([])}set isEdited(t){this._isEdited=t,this.notifyObservers()}set printer(t){this._printer=t}get printer(){return this._printer}get isActive(){return this._isActive}set isActive(t){this._isActive=t}get lastActiveSell(){return this._lastActiveCell}set lastActiveSell(t){this._lastActiveCell=t}resizeCanvas(){console.log(""),this.grid?.resizeCanvas()}registerObservers(t){~this._observers.indexOf(t)||this._observers.push(t)}notifyObservers(){for(const t of this._observers)t(this)}deleteObserver(t){const n=this._observers.indexOf(t);this._observers.splice(n,1)}reset(){this.grid?.onKeyDown.unsubscribe(pm(this.grid)),this.grid?.getSelectionModel()&&this.grid.setSelectedRows([]),this.hotKeysBehavior.resetQueue(),this.isEdited=!1,this.isActive=!1,this.grid=null}}class dB extends Ta{constructor(){super(...arguments),this.clientId=0,this.clientName="",this.x=0,this.y=0}}const on=new dB;class uB extends Ta{constructor(){super(...arguments),this.x=0,this.y=0}}const fo=new uB;class hB extends Ta{constructor(){super(...arguments),this._open=!1,this.x=0,this.y=0}get open(){return this._open}set open(t){this._open=t,this.notify()}get table(){return this._table}set table(t){this._table=t}}const jn=new hB,fB=e=>{const t=e.getLength()-1;return e.getItem(t)},Bc=e=>{const t=e.getData(),n=t.getIdPropertyName(),o=t.getItems();let r=0;return o.forEach(i=>{i[n]>r&&(r=i[n])}),r+1},Hh=()=>{Db.commitCurrentEdit()};function zh(e){return e.ctrlKey||e.metaKey}function Yh(e){return zh(e)&&e.keyCode===Jr.KeyB}function Fb(e){return e.shiftKey&&e.keyCode===Jr.KeyDel}function pB(e){return e.altKey&&e.keyCode===Jr.KeyS}function Uh(e){return zh(e)&&e.keyCode===Jr.KeyY}function qh(e){return zh(e)&&e.keyCode===Jr.KeyZ}function mB(e){const t=e.getActiveCell();return!e.getSelectedRows().length&&!t}function Lb(e){const t=gB(e),o=e.getData().getItems(),r=o.findIndex(a=>a.id===t)+1,i=o.length;return r||i}const Hc=e=>{const t=[];for(let n=0;n<e.getLength();n++)t.push(e.getItem(n));return t},$b=e=>{const t=e.getSelectedRows(),n=e.getData(),o=Hc(n),r=n.getItems(),i=[],a=n.getIdPropertyName();let l=Bc(e);t.length?t.forEach(d=>{i.push({...o[d],[a]:l++,isEdited:!0,isNew:!0})}):i.push({[a]:l,isEdited:!0,isNew:!0}),r.splice(Lb(e),0,...i),n.setItems(r),e.setSelectedRows([]),e.invalidate()},gB=e=>{const t=e.getData(),n=Hc(t),o=e.getActiveCell()?.row;return o!==void 0?(n[o]||n[n.length-1])?.id:0};function yB(e){return function(t){t.preventDefault(),Hh(),on.table=e,on.x=t.pageX||0,on.y=t.pageY||0,on.notify()}}function vB(e){return function(t){t.preventDefault(),Hh(),fo.table=e,fo.x=t.pageX||0,fo.y=t.pageY||0,fo.notify()}}class bB extends Ta{constructor(){super(...arguments),this._activeTable=null}get activeTable(){return this._activeTable}set activeTable(t){this._activeTable=t}}const ki=new bB,wB=e=>{function t(){if(e.id!==ki.activeTable?.id){e.isActive=!1;const o=e.grid;o?.resetActiveCell(),o?.setSelectedRows([])}}function n(){e.isActive=!0,ki.activeTable=e,ki.notify()}Fe.useEffect(()=>{ki.subscribe(t),document.addEventListener("keydown",e.handleKeyboardEvent.bind(e));const o=document.getElementById(e.id);if(o)return o.addEventListener("click",n,!0),()=>{ki.unsubscribe(t),document.removeEventListener("keydown",e.handleKeyboardEvent.bind(e)),o.removeEventListener("click",n,!0)}},[])},CB=e=>{const[t,n]=Fe.useState(SB(e));return Fe.useEffect(()=>{const o=r=>{n(i=>({...i,[r.id]:r.isEdited}))};return e.forEach(r=>{r.registerObservers(o)}),()=>{e.forEach(r=>{r.deleteObserver(o)})}},[]),Object.values(t).some(o=>o)};function SB(e){const t={};for(const n of e)t[n.id]=n.isEdited;return t}function _B(e){Fe.useEffect(()=>{function t(){e.grid?.resizeCanvas()}const n=Lv(t);return window.addEventListener("resize",n),()=>{window.removeEventListener("resize",n)}},[])}const xB=e=>{Fe.useEffect(()=>{function t(n){const o=n.grid;o&&n.totalCalculator?.calculate(o)}return e.registerObservers(t),()=>{e.deleteObserver(t)}},[])},RB=e=>{if(!e)return 0;if(typeof e=="number")return e;const t=e.replace(/\$|,|\s/g,""),n=t.replace(/\(|\)/g,"");return isNaN(Number(n))?0:t.startsWith("(")&&t.endsWith(")")?0-Number(n):Number(t)},Br=function(){const e=function(x,S,C,O){for(C=C||{},O=x.length;O--;C[x[O]]=S);return C},t=[1,3],n=[1,4],o=[1,5],r=[1,6],i=[1,7],a=[1,9],l=[1,10],d=[1,11],u=[1,12],f=[1,13],p=[1,14],y=[1,15],w=[5,6,7,8,9,10,11,12,14],b=[5,6,7,14],m=[5,6,7,8,9,14],v={trace:function(){},yy:{},symbols_:{error:2,expressions:3,e:4,EOF:5,"+":6,"-":7,"*":8,"/":9,"^":10,"!":11,"%":12,"(":13,")":14,NUMBER:15,E:16,PI:17,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",6:"+",7:"-",8:"*",9:"/",10:"^",11:"!",12:"%",13:"(",14:")",15:"NUMBER",16:"E",17:"PI"},productions_:[0,[3,2],[4,3],[4,3],[4,3],[4,3],[4,3],[4,2],[4,2],[4,2],[4,3],[4,1],[4,1],[4,1]],performAction:function(S,C,O,A,F,W,R){const $=W.length-1;switch(F){case 1:return W[$-1];case 2:this.$=W[$-2]+W[$];break;case 3:this.$=W[$-2]-W[$];break;case 4:this.$=W[$-2]*W[$];break;case 5:this.$=W[$-2]/W[$];break;case 6:this.$=Math.pow(W[$-2],W[$]);break;case 7:this.$=function K(G){return G==0?1:K(G-1)*G}(W[$-1]);break;case 8:this.$=W[$-1]/100;break;case 9:this.$=-W[$];break;case 10:this.$=W[$-1];break;case 11:this.$=Number(S);break;case 12:this.$=Math.E;break;case 13:this.$=Math.PI;break}},table:[{3:1,4:2,7:t,13:n,15:o,16:r,17:i},{1:[3]},{5:[1,8],6:a,7:l,8:d,9:u,10:f,11:p,12:y},{4:16,7:t,13:n,15:o,16:r,17:i},{4:17,7:t,13:n,15:o,16:r,17:i},e(w,[2,11]),e(w,[2,12]),e(w,[2,13]),{1:[2,1]},{4:18,7:t,13:n,15:o,16:r,17:i},{4:19,7:t,13:n,15:o,16:r,17:i},{4:20,7:t,13:n,15:o,16:r,17:i},{4:21,7:t,13:n,15:o,16:r,17:i},{4:22,7:t,13:n,15:o,16:r,17:i},e(w,[2,7]),e(w,[2,8]),e(w,[2,9]),{6:a,7:l,8:d,9:u,10:f,11:p,12:y,14:[1,23]},e(b,[2,2],{8:d,9:u,10:f,11:p,12:y}),e(b,[2,3],{8:d,9:u,10:f,11:p,12:y}),e(m,[2,4],{10:f,11:p,12:y}),e(m,[2,5],{10:f,11:p,12:y}),e([5,6,7,8,9,10,14],[2,6],{11:p,12:y}),e(w,[2,10])],defaultActions:{8:[2,1]},parseError:function(S,C){if(C.recoverable)this.trace(S);else{const O=new Error(S);throw O.hash=C,O}},parse:function(S){const C=this;let O=[0],A=[null],F=[];const W=this.table;let R="",$=0,K=0;const G=2,q=1,Y=F.slice.call(arguments,1),z=Object.create(this.lexer),ae={yy:{}};for(let le in this.yy)Object.prototype.hasOwnProperty.call(this.yy,le)&&(ae.yy[le]=this.yy[le]);z.setInput(S,ae.yy),ae.yy.lexer=z,ae.yy.parser=this,typeof z.yylloc>"u"&&(z.yylloc={});let N=z.yylloc;F.push(N);const M=z.options&&z.options.ranges;typeof ae.yy.parseError=="function"?this.parseError=ae.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;var L=function(){let le;return le=z.lex()||q,typeof le!="number"&&(le=C.symbols_[le]||le),le};let B,ne,oe,se;const j={};let ee,J,te,ce;for(;;){if(ne=O[O.length-1],this.defaultActions[ne]?oe=this.defaultActions[ne]:((B===null||typeof B>"u")&&(B=L()),oe=W[ne]&&W[ne][B]),typeof oe>"u"||!oe.length||!oe[0]){let le="";ce=[];for(ee in W[ne])this.terminals_[ee]&&ee>G&&ce.push("'"+this.terminals_[ee]+"'");z.showPosition?le="Parse error on line "+($+1)+`:
404
404
  `+z.showPosition()+`
405
405
  Expecting `+ce.join(", ")+", got '"+(this.terminals_[B]||B)+"'":le="Parse error on line "+($+1)+": Unexpected "+(B==q?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(le,{text:z.match,token:this.terminals_[B]||B,line:z.yylineno,loc:N,expected:ce})}if(oe[0]instanceof Array&&oe.length>1)throw new Error("Parse Error: multiple actions possible at state: "+ne+", token: "+B);switch(oe[0]){case 1:O.push(B),A.push(z.yytext),F.push(z.yylloc),O.push(oe[1]),B=null,K=z.yyleng,R=z.yytext,$=z.yylineno,N=z.yylloc;break;case 2:if(J=this.productions_[oe[1]][1],j.$=A[A.length-J],j._$={first_line:F[F.length-(J||1)].first_line,last_line:F[F.length-1].last_line,first_column:F[F.length-(J||1)].first_column,last_column:F[F.length-1].last_column},M&&(j._$.range=[F[F.length-(J||1)].range[0],F[F.length-1].range[1]]),se=this.performAction.apply(j,[R,K,$,ae.yy,oe[1],A,F].concat(Y)),typeof se<"u")return se;J&&(O=O.slice(0,-1*J*2),A=A.slice(0,-1*J),F=F.slice(0,-1*J)),O.push(this.productions_[oe[1]][0]),A.push(j.$),F.push(j._$),te=W[O[O.length-2]][O[O.length-1]],O.push(te);break;case 3:return!0}}return!0}},P=function(){return{EOF:1,parseError:function(C,O){if(this.yy.parser)this.yy.parser.parseError(C,O);else throw new Error(C)},setInput:function(S,C){return this.yy=C||this.yy||{},this._input=S,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){const S=this._input[0];return this.yytext+=S,this.yyleng++,this.offset++,this.match+=S,this.matched+=S,S.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),S},unput:function(S){const C=S.length,O=S.split(/(?:\r\n?|\n)/g);this._input=S+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-C),this.offset-=C;const A=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),O.length-1&&(this.yylineno-=O.length-1);const F=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:O?(O.length===A.length?this.yylloc.first_column:0)+A[A.length-O.length].length-O[0].length:this.yylloc.first_column-C},this.options.ranges&&(this.yylloc.range=[F[0],F[0]+this.yyleng-C]),this.yyleng=this.yytext.length,this},more:function(){return this._more=!0,this},reject:function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
406
406
  `+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},less:function(S){this.unput(this.match.slice(S))},pastInput:function(){const S=this.matched.substr(0,this.matched.length-this.match.length);return(S.length>20?"...":"")+S.substr(-20).replace(/\n/g,"")},upcomingInput:function(){let S=this.match;return S.length<20&&(S+=this._input.substr(0,20-S.length)),(S.substr(0,20)+(S.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){const S=this.pastInput(),C=new Array(S.length+1).join("-");return S+this.upcomingInput()+`
package/dist/index.es.js CHANGED
@@ -43841,8 +43841,8 @@ const GW = `
43841
43841
  padding: 0 4px;
43842
43842
  font-weight: normal;
43843
43843
  }
43844
- .main-table > thead {
43845
- border-bottom: 1px solid gray;
43844
+ .main-table > thead .empty-row {
43845
+ border-top: 1px solid gray;
43846
43846
  }
43847
43847
  .client-name {
43848
43848
  font-size: 16px;
@@ -43938,12 +43938,10 @@ class KW {
43938
43938
  }
43939
43939
  columnNames(t) {
43940
43940
  const n = document.createElement("thead"), o = document.createElement("tr");
43941
- o.classList.add("empty-row");
43942
- const r = document.createElement("tr");
43943
- return r.classList.add("row-column-names"), (t.grid?.getColumns() || []).filter((d) => d.forPrint).forEach(({ name: d }) => {
43944
- const u = document.createElement("th");
43945
- u.classList.add("text-left"), typeof d == "string" ? u.innerText = d : u.innerText = " ", r.append(u);
43946
- }), n.append(o), n.append(r), n;
43941
+ return o.classList.add("row-column-names"), (t.grid?.getColumns() || []).filter((l) => l.forPrint).forEach(({ name: l }) => {
43942
+ const d = document.createElement("th");
43943
+ d.classList.add("text-left"), typeof l == "string" ? d.innerText = l : d.innerText = " ", o.append(d);
43944
+ }), n.append(o), n;
43947
43945
  }
43948
43946
  tableNameAndTime(t) {
43949
43947
  const n = document.createElement("tr"), o = document.createElement("th");
@@ -43983,8 +43981,8 @@ class KW {
43983
43981
  return [];
43984
43982
  }
43985
43983
  createHeader(t) {
43986
- const n = document.createElement("thead");
43987
- return n.append(this.getClientName()), n.append(this.tableNameAndTime(t)), n.append(...this.filters(t)), n;
43984
+ const n = document.createElement("thead"), o = document.createElement("tr");
43985
+ return o.classList.add("empty-row"), n.append(this.getClientName()), n.append(this.tableNameAndTime(t)), n.append(...this.filters(t)), n.append(o), n;
43988
43986
  }
43989
43987
  createTr(t, n, o) {
43990
43988
  const r = document.createElement("tr"), i = o.getData(), a = i.getItem(n), l = a.__group, d = a.__groupTotals;
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultPrinter.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/printer/DefaultPrinter.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,qBAAa,cAAe,YAAW,QAAQ;IAC9C,QAAQ,SAAK;IACb,UAAU,SAAM;IAChB,SAAS,SAAe;IAExB,aAAa,IAAI,mBAAmB;IAWpC,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM;IAsC/C,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAyBxD,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB;IAezD,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAQxD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAmBxD,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAmBlD,yCAAyC;IACzC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAGlD,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAOzD,QAAQ,CACP,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,GACb,mBAAmB;IAkCtB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAiBrE,YAAY,IAAI,uBAAuB;CAIvC"}
1
+ {"version":3,"file":"DefaultPrinter.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/printer/DefaultPrinter.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,SAAS,EAAE,MAAM,WAAW,CAAC;AAGrD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAa,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC/E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAMtD,qBAAa,cAAe,YAAW,QAAQ;IAC9C,QAAQ,SAAK;IACb,UAAU,SAAM;IAChB,SAAS,SAAe;IAExB,aAAa,IAAI,mBAAmB;IAWpC,eAAe,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM;IAsC/C,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAsBxD,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB;IAezD,kBAAkB,CAAC,KAAK,EAAE,WAAW,GAAG,gBAAgB;IAQxD,WAAW,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAmBxD,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAmBlD,yCAAyC;IACzC,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,mBAAmB,EAAE;IAGlD,YAAY,CAAC,KAAK,EAAE,WAAW,GAAG,uBAAuB;IAUzD,QAAQ,CACP,OAAO,EAAE,OAAO,EAAE,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,SAAS,GACb,mBAAmB;IAkCtB,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,IAAI;IAiBrE,YAAY,IAAI,uBAAuB;CAIvC"}
@@ -1,2 +1,2 @@
1
- export declare const printStyles = "\n\t\thtml body {\n\t\t\tfont-family: Carlito, Calibri, Arial, Helvetica, sans-serif;\n\t\t\tfont-size: 12px;\n\t\t}\n\t\tbody table {\n\t\t\tmargin: 0 auto;\n\t\t\tborder-collapse: collapse;\n\t\t\tfont-size: 12px;\n\t\t}\n\t\ttable th,\n\t\ttable td {\n\t\t\tpadding: 0 4px;\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t.main-table > thead {\n\t\t\tborder-bottom: 1px solid gray;\n\t\t}\n\t\t.client-name {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 6px 4px;\n\t\t\ttext-align: left;\n\t\t}\n\t\t.empty-row {\n\t\t\theight: 15px\n\t\t}\n\t\t.font-bold {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t.row-column-names {\n\t\t\tborder-bottom: 1px solid gray;\n\t\t\tborder-top: 1px solid gray;\n\t\t\tline-height: 2.5;\n\t\t}\n\t\t.slick-table {\n\t\t\tborder-bottom: double gray;\n\t\t}\n\t\t.text-center {\n\t\t\ttext-align: center;\n\t\t}\n\t\t.text-left {\n\t\t\ttext-align: left;\n\t\t}\n\t\t.text-right {\n\t\t\ttext-align: right;\n\t\t}\n\t\t.w-full {\n\t\t\twidth: 100%;\n\t\t}\n\t\t@page {\n\t\t\t@bottom-right {\n\t\t\t\tcontent: counter(page)\"/\"counter(pages);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t}\n\t\t\t@bottom-left {\n\t\t\t\tcontent: \"Powered by MyWork\";\n\t\t\t\tfont-family: Carlito, Calibri, Arial, Helvetica, sans-serif;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: gray;\n\t\t\t}\n\t\t}\n\t";
1
+ export declare const printStyles = "\n\t\thtml body {\n\t\t\tfont-family: Carlito, Calibri, Arial, Helvetica, sans-serif;\n\t\t\tfont-size: 12px;\n\t\t}\n\t\tbody table {\n\t\t\tmargin: 0 auto;\n\t\t\tborder-collapse: collapse;\n\t\t\tfont-size: 12px;\n\t\t}\n\t\ttable th,\n\t\ttable td {\n\t\t\tpadding: 0 4px;\n\t\t\tfont-weight: normal;\n\t\t}\n\t\t.main-table > thead .empty-row {\n\t\t\tborder-top: 1px solid gray;\n\t\t}\n\t\t.client-name {\n\t\t\tfont-size: 16px;\n\t\t\tfont-weight: bold;\n\t\t\tpadding: 6px 4px;\n\t\t\ttext-align: left;\n\t\t}\n\t\t.empty-row {\n\t\t\theight: 15px\n\t\t}\n\t\t.font-bold {\n\t\t\tfont-weight: bold;\n\t\t}\n\t\t.row-column-names {\n\t\t\tborder-bottom: 1px solid gray;\n\t\t\tborder-top: 1px solid gray;\n\t\t\tline-height: 2.5;\n\t\t}\n\t\t.slick-table {\n\t\t\tborder-bottom: double gray;\n\t\t}\n\t\t.text-center {\n\t\t\ttext-align: center;\n\t\t}\n\t\t.text-left {\n\t\t\ttext-align: left;\n\t\t}\n\t\t.text-right {\n\t\t\ttext-align: right;\n\t\t}\n\t\t.w-full {\n\t\t\twidth: 100%;\n\t\t}\n\t\t@page {\n\t\t\t@bottom-right {\n\t\t\t\tcontent: counter(page)\"/\"counter(pages);\n\t\t\t\tfont-size: 14px;\n\t\t\t\tmargin-bottom: 8px;\n\t\t\t}\n\t\t\t@bottom-left {\n\t\t\t\tcontent: \"Powered by MyWork\";\n\t\t\t\tfont-family: Carlito, Calibri, Arial, Helvetica, sans-serif;\n\t\t\t\tfont-size: 14px;\n\t\t\t\tcolor: gray;\n\t\t\t}\n\t\t}\n\t";
2
2
  //# sourceMappingURL=printStyles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"printStyles.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/printer/model/consts/printStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,00CA+DtB,CAAC"}
1
+ {"version":3,"file":"printStyles.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/shared/lib/slickgrid/model/SlickTable/printer/model/consts/printStyles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,WAAW,k1CA+DtB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slick-table",
3
- "version": "1.1.83",
3
+ "version": "1.1.84",
4
4
  "description": "Enhanced version of SlickGrid library",
5
5
  "private": false,
6
6
  "type": "module",
@@ -65,10 +65,8 @@ export class DefaultPrinter implements IPrinter {
65
65
  }
66
66
  columnNames(table: ISlickTable): HTMLTableSectionElement {
67
67
  const result = document.createElement("thead");
68
- const tr1 = document.createElement("tr");
69
- tr1.classList.add("empty-row");
70
- const tr2 = document.createElement("tr");
71
- tr2.classList.add("row-column-names");
68
+ const tr = document.createElement("tr");
69
+ tr.classList.add("row-column-names");
72
70
 
73
71
  const grid = table.grid;
74
72
  const columns: IColumn[] = grid?.getColumns() || [];
@@ -81,11 +79,10 @@ export class DefaultPrinter implements IPrinter {
81
79
  } else {
82
80
  th.innerText = " ";
83
81
  }
84
- tr2.append(th);
82
+ tr.append(th);
85
83
  });
86
84
 
87
- result.append(tr1);
88
- result.append(tr2);
85
+ result.append(tr);
89
86
  return result;
90
87
  }
91
88
  tableNameAndTime(table: ISlickTable): HTMLTableRowElement {
@@ -155,9 +152,12 @@ export class DefaultPrinter implements IPrinter {
155
152
  }
156
153
  createHeader(table: ISlickTable): HTMLTableSectionElement {
157
154
  const result = document.createElement("thead");
155
+ const tr = document.createElement("tr");
156
+ tr.classList.add("empty-row");
158
157
  result.append(this.getClientName());
159
158
  result.append(this.tableNameAndTime(table));
160
159
  result.append(...this.filters(table));
160
+ result.append(tr);
161
161
  return result;
162
162
  }
163
163
  createTr(
@@ -13,8 +13,8 @@ export const printStyles = `
13
13
  padding: 0 4px;
14
14
  font-weight: normal;
15
15
  }
16
- .main-table > thead {
17
- border-bottom: 1px solid gray;
16
+ .main-table > thead .empty-row {
17
+ border-top: 1px solid gray;
18
18
  }
19
19
  .client-name {
20
20
  font-size: 16px;