diff --git a/CHANGELOG.md b/CHANGELOG.md index 8abe66b4..03e1d47e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,28 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [4.0.1](https://github.com/6pac/SlickGrid/compare/4.0.0...4.0.1) (2023-06-30) + +### Bug Fixes + +* `getComputedStyle` could throw when DOM element is invalid ([#800](https://github.com/6pac/SlickGrid/issues/800)) ([2cecba1](https://github.com/6pac/SlickGrid/commit/2cecba1f25ca32a4c4e1384ed94c5234bb73140c)) +* `onBeforeAppendCell` should only be used when it's a string ([#802](https://github.com/6pac/SlickGrid/issues/802)) ([b367209](https://github.com/6pac/SlickGrid/commit/b36720937d7276ed344979edb83b0e281a75d9df)) +* allow for multiple css class names, fixes [#795](https://github.com/6pac/SlickGrid/issues/795) ([#797](https://github.com/6pac/SlickGrid/issues/797)) ([ab644b4](https://github.com/6pac/SlickGrid/commit/ab644b40516fb2f41f861f7010378c6f4d41adb9)) +* **demo:** calling cancel or close button should close modal ([#790](https://github.com/6pac/SlickGrid/issues/790)) ([6edfdd7](https://github.com/6pac/SlickGrid/commit/6edfdd724b7982ea49767179998413b98f7254cd)) +* **demo:** example with 3 plugins not sorting correctly ([#788](https://github.com/6pac/SlickGrid/issues/788)) ([e749aa9](https://github.com/6pac/SlickGrid/commit/e749aa968e9e2365d56ef81fa02e972b0777c722)) +* Grid Menu is shown twice after changing frozen options ([#793](https://github.com/6pac/SlickGrid/issues/793)) ([b458c23](https://github.com/6pac/SlickGrid/commit/b458c235cfa1b3b7b2b2782469eeed5aa37099d8)) +* make sure DOM element is valid before calling method on it ([#801](https://github.com/6pac/SlickGrid/issues/801)) ([b31a797](https://github.com/6pac/SlickGrid/commit/b31a797b8e1f25bd53a30b501ce20b2380e6d9f9)) +* remove invalid TS type and invalid this object ([#786](https://github.com/6pac/SlickGrid/issues/786)) ([ca2393c](https://github.com/6pac/SlickGrid/commit/ca2393c553c3250a891a1d37e1145e74c326a114)) +* replace some DOM Element functions not supported in Salesforce ([#796](https://github.com/6pac/SlickGrid/issues/796)) ([e427bd2](https://github.com/6pac/SlickGrid/commit/e427bd2e68edc14addfe04c1dc13ce1530334ea9)) + +### Features + +* exclude checkbox selection from col picker/grid menu ([#787](https://github.com/6pac/SlickGrid/issues/787)) ([0b339e3](https://github.com/6pac/SlickGrid/commit/0b339e385d6341dd549a4c319b1963d702a127c7)) + +### Reverts + +* Revert "feat: provide another styling theme (#779)" (#784) ([dafe1d1](https://github.com/6pac/SlickGrid/commit/dafe1d17debde0ea02635374f1eb6f2aa69c88e1)), closes [#779](https://github.com/6pac/SlickGrid/issues/779) [#784](https://github.com/6pac/SlickGrid/issues/784) + # [4.0.0](https://github.com/6pac/SlickGrid/compare/3.0.4...4.0.0) (2023-05-28) ### Please read the [Migration Guide v4.0](https://github.com/6pac/SlickGrid/wiki/Major-version-4.0---Removal-of-jQuery-requirement) @@ -595,4 +617,4 @@ See [Conventional Commits](https://conventionalcommits.org) for commit guideline ## [1.4.1](https://github.com/6pac/SlickGrid/compare/1.3.2...1.4.1) (2010-08-23) -## 1.3.2 (2010-05-18) +## 1.3.2 (2010-05-18) \ No newline at end of file diff --git a/dist/controls/slick.columnmenu.min.js b/dist/controls/slick.columnmenu.min.js index 38db8b9a..9459a852 100644 --- a/dist/controls/slick.columnmenu.min.js +++ b/dist/controls/slick.columnmenu.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./controls/slick.columnmenu.js */ !function(x){"use strict";Slick.Utils.extend(!0,x,{Slick:{Controls:{ColumnPicker:function(a,e,n){var i,m,p,h,k=e,C=n,f=e&&e.getUID?e.getUID():"",c=new Slick.Event,l=new Slick.BindingEventService,g={fadeSpeed:250,hideForceFitButton:!1,hideSyncResizeButton:!1,forceFitTitle:"Force fit columns",syncResizeTitle:"Synchronous resize",headerColumnValueExtractor:function(e){return e.name}};function t(e){e.onHeaderContextMenu.subscribe(d),e.onColumnsReordered.subscribe(y),C=Slick.Utils.extend({},g,n),(p=document.createElement("div")).className="slick-columnpicker "+f,p.style.display="none",document.body.appendChild(p);var e=document.createElement("button"),t=(e.type="button",e.className="close",e.dataset.dismiss="slick-columnpicker",e.ariaLabel="Close",document.createElement("span"));t.className="close",t.ariaHidden="true",t.innerHTML="×",e.appendChild(t),p.appendChild(e),(C.columnPickerTitle||C.columnPicker&&C.columnPicker.columnTitle)&&(t=C.columnPickerTitle||C.columnPicker.columnTitle,(i=document.createElement("div")).className="slick-gridmenu-custom",i.textContent=t,p.appendChild(i)),l.bind(p,"click",u),(m=document.createElement("span")).className="slick-columnpicker-list",l.bind(document.body,"mousedown",r),l.bind(document.body,"beforeunload",o)}function o(){k.onHeaderContextMenu.unsubscribe(d),k.onColumnsReordered.unsubscribe(y),l.unbindAll(),m&&m.remove(),p&&p.remove()}function r(e){(p===e.target||p&&p.contains(e.target))&&"close"!==e.target.className||(p.setAttribute("aria-expanded","false"),p.style.display="none")}function d(e){e.preventDefault(),Slick.Utils.emptyElement(m),y(),h=[];let t,n,i;for(var l,c,o,r=0;r{void 0!==a[t].hidden&&(a[t].hidden=!e.checked),e.checked&&n.push(a[t])}),n.length?(k.setColumns(n),c.notify({columnId:i,showing:t,allColumns:a,columns:n,grid:k})):e.target.checked=!0}}function s(t){for(let e=0;e{void 0!==a[t].hidden&&(a[t].hidden=!e.checked),e.checked&&n.push(a[t])}),n.length?(k.setColumns(n),c.notify({columnId:i,showing:t,allColumns:a,columns:n,grid:k})):e.target.checked=!0}}function s(t){for(let e=0;e{e.checked&&(p[n].hidden&&(p[n].hidden=!1),t.push(p[n]))}),t.length?(i={columnId:i,showing:n,grid:b,allColumns:p,columns:t},b.setColumns(t),S.onColumnsChanged.notify(i,e,S)):e.target.checked=!0}}function L(){return b.getColumns()}function O(e,n){return"function"!=typeof e||e.call(this,n)}e.onSetOptions.subscribe(function(e,n){var t;n&&n.optionsBefore&&n.optionsAfter&&(t=0<=n.optionsBefore.frozenColumn&&-1===n.optionsAfter.frozenColumn,n=-1===n.optionsBefore.frozenColumn&&0<=n.optionsAfter.frozenColumn,t||n)&&c()}),t(b),Slick.Utils.extend(this,{init:t,getAllColumns:function(){return p},getVisibleColumns:L,destroy:u,deleteMenu:i,recreateGridMenu:c,showGridMenu:a,setOptions:function(e){o=Slick.Utils.extend({},o,e)},updateAllTitles:function(e){n&&n.innerHTML&&(n.innerHTML=e.customTitle),l&&l.innerHTML&&(l.innerHTML=e.columnTitle)},hideMenu:x,onAfterMenuShow:new Slick.Event,onBeforeMenuShow:new Slick.Event,onMenuClose:new Slick.Event,onCommand:new Slick.Event,onColumnsChanged:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/controls/slick.pager.min.js b/dist/controls/slick.pager.min.js index b92cc9a5..a1ea3882 100644 --- a/dist/controls/slick.pager.min.js +++ b/dist/controls/slick.pager.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./controls/slick.pager.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{Controls:{Pager:function(c,r,d,p){const e=C(d);let u,g,m={showAllText:"Showing all {rowCount} rows",showPageText:"Showing page {pageNum} of {pageCount}",showCountText:"From {countBegin} to {countEnd} of {rowCount} rows",showCount:!1,pagingOptions:[{data:0,name:"All",ariaLabel:"Show All Pages"},{data:-1,name:"Auto",ariaLabel:"Auto Page Size"},{data:25,name:"25",ariaLabel:"Show 25 rows per page"},{data:50,name:"50",ariaLabel:"Show 50 rows per page"},{data:100,name:"100",ariaLabel:"Show 100 rows per page"}],showPageSizes:!1};var k=new Slick.BindingEventService;function a(){g=Slick.Utils.extend(!0,{},m,p),c.onPagingInfoChanged.subscribe(function(e,a){v(a)});var e=C(d);if(e&&(!e.jquery||e[0])){const s=document.createElement("span");s.className="slick-pager-nav";var a=document.createElement("span");a.className="slick-pager-settings",(u=document.createElement("span")).className="slick-pager-status";const l=document.createElement("span");l.className="slick-pager-settings-expanded",l.textContent="Show: ";for(let e=0;e{var e=l.style.display;l.style.display="none"===e?"inline":"none"}),a.appendChild(i);[{key:"first",ariaLabel:"First Page",callback:h},{key:"prev",ariaLabel:"Previous Page",callback:S},{key:"next",ariaLabel:"Next Page",callback:w},{key:"end",ariaLabel:"Last Page",callback:f}].forEach(e=>{var a=document.createElement("span"),t=(a.className="ui-state-default ui-corner-all ui-icon-container",document.createElement("span"));t.role="button",t.ariaLabel=e.ariaLabel,t.className=`ui-icon ui-icon-seek-${e.key} slick-icon-seek-`+e.key,k.bind(t,"click",e.callback),a.appendChild(t),s.appendChild(a)});o=document.createElement("div");o.className="slick-pager",o.appendChild(s),o.appendChild(a),o.appendChild(u),e.appendChild(o)}v(c.getPagingInfo())}function n(){var e=!Slick.GlobalEditorLock.commitCurrentEdit(),a=c.getPagingInfo(),t=a.totalPages-1;return{canGotoFirst:!e&&0!==a.pageSize&&0e.classList.remove("ui-state-disabled","slick-icon-state-disabled")),t.canGotoFirst||(e.querySelector(".ui-icon-seek-first").classList.add("ui-state-disabled"),e.querySelector(".slick-icon-seek-first").classList.add("slick-icon-state-disabled")),t.canGotoLast||(e.querySelector(".ui-icon-seek-end").classList.add("ui-state-disabled"),e.querySelector(".slick-icon-seek-end").classList.add("slick-icon-state-disabled")),t.canGotoNext||(e.querySelector(".ui-icon-seek-next").classList.add("ui-state-disabled"),e.querySelector(".slick-icon-seek-next").classList.add("slick-icon-state-disabled")),t.canGotoPrev||(e.querySelector(".ui-icon-seek-prev").classList.add("ui-state-disabled"),e.querySelector(".slick-icon-seek-prev").classList.add("slick-icon-state-disabled")),0===a.pageSize?u.textContent=g.showAllText.replace("{rowCount}",a.totalRows+"").replace("{pageCount}",a.totalPages+""):u.textContent=g.showPageText.replace("{pageNum}",a.pageNum+1+"").replace("{pageCount}",a.totalPages+""),g.showCount&&0!==a.pageSize){t=a.pageNum*a.pageSize;let e=u.textContent;e&&(e+=" - "),u.textContent=e+g.showCountText.replace("{rowCount}",a.totalRows+"").replace("{countBegin}",1+t).replace("{countEnd}",Math.min(t+a.pageSize,a.totalRows))}}}a(),Slick.Utils.extend(this,{init:a,destroy:function(){b(0),k.unbindAll(),e.innerHTML=""}})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.autotooltips.min.js b/dist/plugins/slick.autotooltips.min.js index 272e3d73..ffa92251 100644 --- a/dist/plugins/slick.autotooltips.min.js +++ b/dist/plugins/slick.autotooltips.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.autotooltips.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{AutoTooltips:function(n){var i,t={enableForCells:!0,enableForHeaderCells:!1,maxToolTipLength:null,replaceExisting:!0};function l(){var l=i.getCellFromEvent(event);if(l){let e=i.getCellNode(l.row,l.cell),t;n&&e&&(!e.title||n&&n.replaceExisting)&&(e.clientWidthn.maxToolTipLength&&(t=t.substring(0,n.maxToolTipLength-3)+"...")):t="",e.title=t),e=null}}function o(e,t){t=t.column;let l;e=e.target;!e||!(l=e.closest(".slick-header-column"))||t&&t.toolTip||(l.title=e.clientWidthr.getDataLength(),v.newRowCreator&&n&&(n=c+a-r.getDataLength(),v.newRowCreator(n)),n={isClipboardCommand:!0,clippedRange:i,oldValues:[],cellExternalCopyManager:y,_options:v,setDataItemValueForColumn:R,markCopySelection:V,oneCellToMultiple:u,activeRow:c,activeCell:d,destH:a,destW:e,maxDestY:r.getDataLength(),maxDestX:r.getColumns().length,h:0,w:0,execute:function(){for(var e=this.h=0;e{g.getEditorLock().isActive()||g.focus()})},destroy:function(){g.onKeyDown.unsubscribe(t)},pluginName:"CellExternalCopyManager",clearCopySelection:I,handleKeyDown:t,onCopyCells:new Slick.Event,onCopyCancelled:new Slick.Event,onPasteCells:new Slick.Event,setIncludeHeaderWhenCopying:function(e){v.includeHeaderWhenCopying=e}})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.cellmenu.min.js b/dist/plugins/slick.cellmenu.min.js index 98e80485..bee28dba 100644 --- a/dist/plugins/slick.cellmenu.min.js +++ b/dist/plugins/slick.cellmenu.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.cellmenu.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{Plugins:{CellMenu:function(t){let r,u=-1,m=-1,p,f,d="",l=new Slick.EventHandler,c=this,a,g,h,v=new Slick.BindingEventService,i={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:0,autoAlignSideOffset:0,hideMenuOnScroll:!0,maxHeight:"none",width:"auto"};function e(e){var t=p.getCellFromEvent(e),t=(u=t&&t.cell,m=t&&t.row,p.getColumns()[u]),l=p.getDataItem(m),i=r.commandItems||[],n=r.optionItems||[];if(t&&t.cellMenu&&(i.length||n.length)&&(b(),0!=c.onBeforeMenuShow.notify({cell:u,row:m,grid:p},e,c).getReturnValue())){var s=isNaN(r.maxHeight)?r.maxHeight:r.maxHeight+"px",o=isNaN(r.width)?r.width:r.width+"px",o=((h=document.createElement("div")).className="slick-cell-menu "+d,h.role="menu",h.style.width=o,h.style.maxHeight=s,h.style.top=e.pageY+5+"px",h.style.left=e.pageX+"px",h.style.display="none",document.createElement("button")),s=(o.type="button",o.className="close",o.dataset.dismiss="slick-cell-menu",o.ariaLabel="Close",document.createElement("span"));if(s.className="close",s.ariaHidden="true",s.innerHTML="×",o.appendChild(s),!r.hideOptionSection&&0=o.width?"left":"right")?(h.classList.remove("dropright"),h.classList.add("dropleft"),e=e-(l-i)-a):(h.classList.remove("dropleft"),h.classList.add("dropright"),e+=a)),h.style.top=t+"px",h.style.left=e+"px"}h.setAttribute("aria-expanded","true"),h.style.display="block"}v.bind(document.body,"mousedown",function(e){h==e.target||h&&h.contains(e.target)||e.defaultPrevented||k(e,{cell:u,row:m})}.bind(this))}}function k(e,t){h&&0!=c.onBeforeMenuClose.notify({cell:t&&t.cell,row:t&&t.row,grid:p,menu:h},e,c).getReturnValue()&&h&&h.remove&&(h.remove(),h=null)}function w(e,t){var l,i,n,s,o;!e||e.disabled||e.divider||"divider"===e||(o=e.command||"",l=m,i=u,n=p.getColumns()[i],s=p.getDataItem(l),null!==o&&""!==o&&(o={cell:i,row:l,grid:p,command:o,item:e,column:n,dataContext:s},c.onCommand.notify(o,t,c),"function"==typeof e.action&&e.action.call(this,t,o),t.defaultPrevented||k(t,{cell:i,row:l})))}function S(e,t){var l,i,n,s,o;!e||e.disabled||e.divider||"divider"===e||p.getEditorLock().commitCurrentEdit()&&(o=void 0!==e.option?e.option:"",l=m,i=u,n=p.getColumns()[i],s=p.getDataItem(l),void 0!==o)&&(o={cell:i,row:l,grid:p,option:o,item:e,column:n,dataContext:s},c.onOptionSelected.notify(o,t,c),"function"==typeof e.action&&e.action.call(this,t,o),t.defaultPrevented||k(t,{cell:i,row:l}))}function y(e,t){return"function"!=typeof e||e.call(this,t)}Slick.Utils.extend(this,{init:function(e){p=e,f=e.getOptions(),r=Slick.Utils.extend({},i,t),d=e&&e.getUID?e.getUID():"",l.subscribe(p.onClick,n),r.hideMenuOnScroll&&l.subscribe(p.onScroll,b)},closeMenu:b,destroy:function(){c.onAfterMenuShow.unsubscribe(),c.onBeforeMenuShow.unsubscribe(),c.onBeforeMenuClose.unsubscribe(),c.onCommand.unsubscribe(),c.onOptionSelected.unsubscribe(),l.unsubscribeAll(),v.unbindAll(),h&&h.remove&&h.remove(),a=null,g=null,h=null},pluginName:"CellMenu",setOptions:function(e){r=Slick.Utils.extend({},r,e)},onAfterMenuShow:new Slick.Event,onBeforeMenuShow:new Slick.Event,onBeforeMenuClose:new Slick.Event,onCommand:new Slick.Event,onOptionSelected:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.cellrangedecorator.min.js b/dist/plugins/slick.cellrangedecorator.min.js index 34af2bf3..569aeff1 100644 --- a/dist/plugins/slick.cellrangedecorator.min.js +++ b/dist/plugins/slick.cellrangedecorator.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.cellrangedecorator.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{CellRangeDecorator:function(o,l){var s;function e(){s&&(s.remove(),s=null)}l=Slick.Utils.extend(!0,{},{selectionCssClass:"slick-range-decorator",selectionCss:{zIndex:"9999",border:"2px dashed red"},offset:{top:-1,left:-1,height:-2,width:-2}},l),Slick.Utils.extend(this,{pluginName:"CellRangeDecorator",show:function(e){!s&&((s=document.createElement("div")).className=l.selectionCssClass,Object.keys(l.selectionCss).forEach(e=>{s.style[e]=l.selectionCss[e]}),s.style.position="absolute",t=o.getActiveCanvasNode())&&t.appendChild(s);var t=o.getCellNodeBox(e.fromRow,e.fromCell),e=o.getCellNodeBox(e.toRow,e.toCell);return t&&e&&l&&l.offset&&(s.style.top=t.top+l.offset.top+"px",s.style.left=t.left+l.offset.left+"px",s.style.height=e.bottom-t.top+l.offset.height+"px",s.style.width=e.right-t.left+l.offset.width+"px"),s},hide:e,destroy:function(){e()}})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.cellrangeselector.min.js b/dist/plugins/slick.cellrangeselector.min.js index 548e8f74..58a8851a 100644 --- a/dist/plugins/slick.cellrangeselector.min.js +++ b/dist/plugins/slick.cellrangeselector.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.cellrangeselector.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{CellRangeSelector:function(s){var r,a,i,c,n,f,g,u,d,w,p,v,S,m,h,C,o,b,x,y=this,t=new Slick.EventHandler,l={autoScroll:!0,minIntervalToShowNextCell:30,maxIntervalToShowNextCell:600,accelerateInterval:5,selectionCss:{border:"2px dashed blue"}},I=!1,R=0,k=0;function N(e,t){R=t.scrollTop,k=t.scrollLeft}function D(e){n=r.getActiveCanvasNode(e),v=r.getActiveViewportNode(e);var t=r.getDisplayedScrollbarDimensions();S=v.offsetWidth-t.width,m=v.offsetHeight-t.height,C={x:r.getAbsoluteColumnMinWidth()/2,y:r.getOptions().rowHeight/2},I=!(!r.getPluginByName("RowMoveManager")&&!r.getPluginByName("CrossGridRowMoveManager")),d=u=0,p=n.classList.contains("grid-canvas-bottom"),-1s&&(e.offset.x=o.pageX-s);o.pageYf&&(e.offset.y=f-o.pageY);return e.isOutsideViewport=!!e.offset.x||!!e.offset.y,e}(e,t)).isOutsideViewport)return b=s.maxIntervalToShowNextCell-Math.abs(h.offset.x)*s.accelerateInterval,x=s.maxIntervalToShowNextCell-Math.abs(h.offset.y)*s.accelerateInterval,void(o||(c=i=0,o=setInterval(function(){var e,t,o,l,n,r=!1,a=!1;h.offset.x?(i+=s.minIntervalToShowNextCell,r=b<=i):i=0,h.offset.y?(c+=s.minIntervalToShowNextCell,a=x<=c):c=0,(r||a)&&(r&&(i=0),a&&(c=0),r=r,a=a,e=h.e.pageX,t=h.e.pageY,o=h.offset.x,l=h.offset.y,n=h.viewport.offset,r&&o&&(e=0c.frozenColumn||w&&e.cell<=c.frozenColumn||0<=c.frozenRow&&!p&&e.row>=c.frozenRow||p&&e.rowl.right||o.topl.bottom)&&r.scrollCellIntoView(e.row,e.cell)}r.canCellBeSelected(e.row,e.cell)&&t&&t.range&&(t.range.end=e,o=new Slick.Range(t.range.start.row,t.range.start.cell,e.row,e.cell),g.show(o),y.onCellRangeSelecting.notify({range:o}))}}function P(e,t){f&&(f=!1,e.stopImmediatePropagation(),B(),g.hide(),y.onCellRangeSelected.notify({range:new Slick.Range(t.range.start.row,t.range.start.cell,t.range.end.row,t.range.end.cell)}))}Slick.Utils.extend(this,{init:function(e){if(void 0===Slick.Draggable)throw new Error('Slick.Draggable is undefined, make sure to import "slick.interactions.js"');s=Slick.Utils.extend(!0,{},l,s),g=s.cellDecorator||new Slick.CellRangeDecorator(e,s),i=(r=e).getCanvasNode(),c=r.getOptions(),t.subscribe(r.onScroll,N).subscribe(r.onDragInit,D).subscribe(r.onDragStart,z).subscribe(r.onDrag,T).subscribe(r.onDragEnd,P)},destroy:function(){t.unsubscribeAll(),i=v=n=null,g&&g.destroy&&g.destroy()},pluginName:"CellRangeSelector",getCellDecorator:function(){return g},getCurrentRange:function(){return a},onBeforeCellRangeSelected:new Slick.Event,onCellRangeSelected:new Slick.Event,onCellRangeSelecting:new Slick.Event})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.cellselectionmodel.min.js b/dist/plugins/slick.cellselectionmodel.min.js index 7d5ae83b..2228ec2c 100644 --- a/dist/plugins/slick.cellselectionmodel.min.js +++ b/dist/plugins/slick.cellselectionmodel.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.cellselectionmodel.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{CellSelectionModel:function(l){var s,n,o,a=[],t=this;n=void 0===l||void 0===l.cellRangeSelector?new Slick.CellRangeSelector({selectionCss:{border:"2px solid black"}}):l.cellRangeSelector;var c={selectActiveCell:!0};function u(e){for(var l=[],n=0;n=s.getDataLength(),h&&k.applySelectOnAllPages||(k.hideInColumnTitleRow||k.hideSelectAllCheckbox||v(b),k.hideInFilterHeaderRow)||(r=m&&m.querySelector("#header-filter-selector"+g))&&(r.checked=b),0=o.length,k.hideInColumnTitleRow||k.hideSelectAllCheckbox||v(b),k.hideInFilterHeaderRow||(e=m&&m.querySelector("#header-filter-selector"+g))&&(e.checked=b)}function r(e,t){32==e.which&&s.getColumns()[t.cell].id===k.columnId&&(s.getEditorLock().isActive()&&!s.getEditorLock().commitCurrentEdit()||u(t.row),e.preventDefault(),e.stopImmediatePropagation())}function a(e,t){s.getColumns()[t.cell].id===k.columnId&&"checkbox"===e.target.type&&(s.getEditorLock().isActive()&&!s.getEditorLock().commitCurrentEdit()?e.preventDefault():(u(t.row),e.stopPropagation()),e.stopImmediatePropagation())}function u(t){var e=s.getDataItem(t);I(t,e,s)&&(p[t]?(e=s.getSelectedRows().filter(e=>e!==t),s.setSelectedRows(e,"click.toggle")):s.setSelectedRows(s.getSelectedRows().concat(t),"click.toggle"),s.setActiveCell(t,function(){if(null===S){S=0;var t=s.getColumns();for(let e=0;e":"":null}function I(e,t,l){return"function"!=typeof f||f(e,t,l)}function v(e){e?s.updateColumnHeader(k.columnId,"",k.toolTip):s.updateColumnHeader(k.columnId,"",k.toolTip)}function y(e){f=e}Slick.Utils.extend(this,{init:function(e){s=e,(h=!Array.isArray(e.getData()))&&(d=e.getData()),t.subscribe(s.onSelectedRowsChanged,c).subscribe(s.onClick,a).subscribe(s.onKeyDown,r),h&&d&&k.applySelectOnAllPages&&t.subscribe(d.onSelectedRowIdsChanged,i).subscribe(d.onPagingInfoChanged,i),k.hideInFilterHeaderRow||(e=e,t.subscribe(e.onHeaderRowCellRendered,function(e,t){var l,o,c;"sel"===t.column.field&&(Slick.Utils.emptyElement(t.node),(l=document.createElement("span")).id="filter-checkbox-selectall-container",(o=document.createElement("input")).type="checkbox",o.id="header-filter-selector"+g,(c=document.createElement("label")).htmlFor="header-filter-selector"+g,l.appendChild(o),l.appendChild(c),t.node.appendChild(l),m=t.node,n.bind(l,"click",e=>C(e,t)))})),k.hideInColumnTitleRow||t.subscribe(s.onHeaderClick,C)},destroy:function(){t.unsubscribeAll(),n.unbindAll()},pluginName:"CheckboxSelectColumn",deSelectRows:function(e){let t,l=e.length,o=[];for(t=0;to.indexOf(e)<0),"SlickCheckboxSelectColumn.deSelectRows")},selectRows:function(e){let t,l=e.length,o=[];for(t=0;t",toolTip:k.hideSelectAllCheckbox||k.hideInColumnTitleRow?"":k.toolTip,field:"sel",width:k.width,resizable:!1,sortable:!1,cssClass:k.cssClass,hideSelectAllCheckbox:k.hideSelectAllCheckbox,formatter:x,excludeFromColumnPicker:void 0===k.excludeFromColumnPicker||k.excludeFromColumnPicker,excludeFromGridMenu:void 0===k.excludeFromGridMenu||k.excludeFromGridMenu,excludeFromHeaderMenu:void 0===k.excludeFromHeaderMenu||k.excludeFromHeaderMenu}},getOptions:function(){return k},selectableOverride:y,setOptions:function(e){(k=Slick.Utils.extend(!0,{},k,e)).hideSelectAllCheckbox?(l(),o()):(k.hideInColumnTitleRow?l():(v(b),t.subscribe(s.onHeaderClick,C)),k.hideInFilterHeaderRow?o():(e=m.querySelector("#filter-checkbox-selectall-container"))&&(e.style.display="flex",e=e.querySelector('input[type="checkbox"]'))&&(e.checked=b))}})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.contextmenu.min.js b/dist/plugins/slick.contextmenu.min.js index ca047840..a28a0ba4 100644 --- a/dist/plugins/slick.contextmenu.min.js +++ b/dist/plugins/slick.contextmenu.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.contextmenu.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{Plugins:{ContextMenu:function(t){let r,m=-1,u=-1,p,a,h="",n=new Slick.EventHandler,f=this,v,C,g,b=new Slick.BindingEventService,i={autoAdjustDrop:!0,autoAlignSide:!0,autoAdjustDropOffset:-4,autoAlignSideOffset:0,hideMenuOnScroll:!1,maxHeight:"none",width:"auto",optionShownOverColumnIds:[],commandShownOverColumnIds:[]};function e(e){var t=(e=e instanceof Slick.EventData?e.getNativeEvent():e).touches?e.touches[0]:e,n=p.getCellFromEvent(e),n=(m=n&&n.cell,u=n&&n.row,p.getColumns()[m]),i=p.getDataItem(u),l=x(r.optionShownOverColumnIds,n.id),o=x(r.commandShownOverColumnIds,n.id),s=r.commandItems||[],d=r.optionItems||[];if(n&&(o||l)&&(s.length||d.length)&&(S(e),0!=f.onBeforeMenuShow.notify({cell:m,row:u,grid:p},e,f).getReturnValue())){var c=isNaN(r.maxHeight)?r.maxHeight:r.maxHeight+"px",a=isNaN(r.width)?r.width:r.width+"px",a=((g=document.createElement("div")).className="slick-context-menu "+h,g.role="menu",g.style.width=a,g.style.maxHeight=c,g.style.top=t.pageY+"px",g.style.left=t.pageX+"px",g.style.display="none",document.createElement("button")),c=(a.type="button",a.className="close",a.dataset.dismiss="slick-context-menu",a.ariaLabel="Close",document.createElement("span"));if(c.className="close",c.ariaHidden="true",c.innerHTML="×",a.appendChild(c),!r.hideOptionSection&&l&&0=o.width?"left":"right")?(g.classList.remove("dropright"),g.classList.add("dropleft"),e=e-d-c):(g.classList.remove("dropleft"),g.classList.add("dropright"),e+=c));g.style.top=t+"px",g.style.left=e+"px"}g.style.display="block"}b.bind(document.body,"click",e=>{e.defaultPrevented||S(e,{cell:m,row:u})})}}function k(t,n){if(t&&!t.disabled&&!t.divider){var i=t.command||"",l=u,o=m,s=p.getColumns()[o],d=p.getDataItem(l);let e;Object.prototype.hasOwnProperty.call(d,s&&s.field)&&(e=d[s.field]),null!=i&&""!==i&&(o={cell:o,row:l,grid:p,command:i,item:t,column:s,dataContext:d,value:e},f.onCommand.notify(o,n,f),"function"==typeof t.action)&&t.action.call(this,n,o)}}function y(e,t){var n,i,l,o,s;e.disabled||e.divider||p.getEditorLock().commitCurrentEdit()&&(n=void 0!==e.option?e.option:"",i=u,s=m,l=p.getColumns()[s],o=p.getDataItem(i),void 0!==n)&&(s={cell:s,row:i,grid:p,option:n,item:e,column:l,dataContext:o},f.onOptionSelected.notify(s,t,f),"function"==typeof e.action)&&e.action.call(this,t,s)}function O(e,t){return"function"!=typeof e||e.call(this,t)}Slick.Utils.extend(this,{init:function(e){p=e,a=e.getOptions(),r=Slick.Utils.extend({},i,t),h=e&&e.getUID?e.getUID():"",n.subscribe(p.onContextMenu,l),r.hideMenuOnScroll&&n.subscribe(p.onScroll,S)},closeMenu:S,destroy:function(){f.onAfterMenuShow.unsubscribe(),f.onBeforeMenuShow.unsubscribe(),f.onBeforeMenuClose.unsubscribe(),f.onCommand.unsubscribe(),f.onOptionSelected.unsubscribe(),n.unsubscribeAll(),b.unbindAll(),g&&g.remove&&g.remove(),C=null,v=null,g=null},pluginName:"ContextMenu",setOptions:function(e){r=Slick.Utils.extend({},r,e),e.commandShownOverColumnIds&&(r.commandShownOverColumnIds=e.commandShownOverColumnIds),e.optionShownOverColumnIds&&(r.optionShownOverColumnIds=e.optionShownOverColumnIds)},onAfterMenuShow:new Slick.Event,onBeforeMenuShow:new Slick.Event,onBeforeMenuClose:new Slick.Event,onCommand:new Slick.Event,onOptionSelected:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.crossgridrowmovemanager.min.js b/dist/plugins/slick.crossgridrowmovemanager.min.js index 3bcb6b84..47ddcd9d 100644 --- a/dist/plugins/slick.crossgridrowmovemanager.min.js +++ b/dist/plugins/slick.crossgridrowmovemanager.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.crossgridrowmovemanager.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{CrossGridRowMoveManager:function(n){var l,s,r,c,d,i=this,a=null,o=new Slick.EventHandler,t={columnId:"_move",cssClass:null,cancelEditOnDrag:!1,disableRowSelection:!1,hideRowMoveShadow:!0,rowMoveShadowMarginTop:0,rowMoveShadowMarginLeft:0,rowMoveShadowOpacity:.95,rowMoveShadowScale:.75,singleRowMove:!1,width:40};n&&"function"==typeof n.usabilityOverride&&y(n.usabilityOverride);function w(e){e.stopImmediatePropagation()}function u(e,o){var t=l.getCellFromEvent(e),i=t&&t.row;if(p(i,l.getDataItem(i),l)){if(n.cancelEditOnDrag&&l.getEditorLock().isActive()&&l.getEditorLock().cancelCurrentEdit(),l.getEditorLock().isActive()||!f(t.cell))return!1;d=!0,e.stopImmediatePropagation(),n.hideRowMoveShadow||(e=(i=l.getCellNode(t.row,t.cell))&&i.closest(".slick-row"))&&(o.clonedSlickRow=e.cloneNode(!0),o.clonedSlickRow.classList.add("slick-reorder-shadow-row"),o.clonedSlickRow.style.display="none",o.clonedSlickRow.style.marginLeft=Number(n.rowMoveShadowMarginLeft||0)+"px",o.clonedSlickRow.style.marginTop=Number(n.rowMoveShadowMarginTop||0)+"px",o.clonedSlickRow.style.opacity=""+(n.rowMoveShadowOpacity||.95),o.clonedSlickRow.style.transform=`scale(${n.rowMoveShadowScale||.75})`,s.appendChild(o.clonedSlickRow));i=n.singleRowMove?[t.row]:l.getSelectedRows(),e=(0!==i.length&&i.some(e=>e===t.row)||(i=[t.row],n.disableRowSelection)||l.setSelectedRows(i),i.sort(function(e,o){return e-o}),l.getOptions().rowHeight);o.fromGrid=l,o.toGrid=r,o.selectedRows=i,o.selectionProxy=document.createElement("div"),o.selectionProxy.className="slick-reorder-proxy",o.selectionProxy.style.display="none",o.selectionProxy.style.position="absolute",o.selectionProxy.style.zIndex="99999",o.selectionProxy.style.width=c.clientWidth+"px",o.selectionProxy.style.height=e*i.length+"px",c.appendChild(o.selectionProxy),o.guide=document.createElement("div"),o.guide.className="slick-reorder-guide",o.guide.style.position="absolute",o.guide.style.zIndex="99999",o.guide.style.width=c.clientWidth+"px",o.guide.style.top="-1000px",c.appendChild(o.guide),o.insertBefore=-1}}function g(e,o){var t;d&&(e.stopImmediatePropagation(),e=((e=e.getNativeEvent()).touches?e.touches[0]:e).pageY-(Slick.Utils.offset(c).top||0),o.selectionProxy.style.top=e-5+"px",o.selectionProxy.style.display="block",o.clonedSlickRow&&(o.clonedSlickRow.style.top=e-6+"px",o.clonedSlickRow.style.display="block"),(e=Math.max(0,Math.min(Math.round(e/r.getOptions().rowHeight),r.getDataLength())))!==o.insertBefore)&&(!(t={fromGrid:l,toGrid:r,rows:o.selectedRows,insertBefore:e})===i.onBeforeMoveRows.notify(t).getReturnValue()?o.canMove=!1:o.canMove=!0,a&&o.canMove&&(t=r.getDataItem(e),o.canMove=p(e,t,r)),o.canMove?o.guide.style.top=e*(r.getOptions().rowHeight||0)+"px":o.guide.style.top="-1000px",o.insertBefore=e)}function v(e,o){d&&(d=!1,e.stopImmediatePropagation(),o.guide.remove(),o.selectionProxy.remove(),o.clonedSlickRow&&(o.clonedSlickRow.remove(),o.clonedSlickRow=null),o.canMove)&&(e={fromGrid:l,toGrid:r,rows:o.selectedRows,insertBefore:o.insertBefore},i.onMoveRows.notify(e))}function e(e,o,t,i,n,l){return p(e,n,l)?{addClasses:"cell-reorder dnd",text:""}:null}function p(e,o,t){return"function"!=typeof a||a(e,o,t)}function y(e){a=e}function f(e){return/move|selectAndMove/.test(l.getColumns()[e].behavior)}Slick.Utils.extend(this,{onBeforeMoveRows:new Slick.Event,onMoveRows:new Slick.Event,init:function(e){n=Slick.Utils.extend(!0,{},t,n),s=(l=e).getCanvasNode(),r=n.toGrid,c=r.getCanvasNode(),o.subscribe(l.onDragInit,w).subscribe(l.onDragStart,u).subscribe(l.onDrag,g).subscribe(l.onDragEnd,v)},destroy:function(){o.unsubscribeAll()},getColumnDefinition:function(){return{id:n.columnId||"_move",name:"",field:"move",width:n.width||40,behavior:"selectAndMove",selectable:!1,resizable:!1,cssClass:n.cssClass,formatter:e}},setOptions:function(e){n=Slick.Utils.extend({},n,e)},usabilityOverride:y,isHandlerColumn:f,pluginName:"CrossGridRowMoveManager"})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.customtooltip.min.js b/dist/plugins/slick.customtooltip.min.js index b9e38176..f7696601 100644 --- a/dist/plugins/slick.customtooltip.min.js +++ b/dist/plugins/slick.customtooltip.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.customtooltip.js */ !function(C){Slick.Utils.extend(!0,C,{Slick:{Plugins:{CustomTooltip:function(o){var i,f,l,d,m,p,c,g={className:"slick-custom-tooltip",offsetLeft:0,offsetRight:0,offsetTopBottom:4,hideArrow:!1,tooltipTextMaxLength:700,regularTooltipWhiteSpace:"pre-line",whiteSpace:"normal"},r=new Slick.EventHandler,h={};function n(t,e){s(t,e,"slick-header-column")}function a(t,e){s(t,e,"slick-headerrow-column")}function s(t,e,o){b();var i={row:-1,cell:d.getColumns().findIndex(function(t){return e&&e.column&&e.column.id===t.id})},l=e.column,r={},n="slick-headerrow-column"===o;(e=e||{}).cell=i.cell,e.row=i.row,e.columnDef=l,e.dataContext=r,e.grid=d,e.type=n?"header-row":"header",h=Slick.Utils.extend(!0,{},c,l.customTooltip),l&&l.disableTooltip||!k(h.usabilityOverride,e)||l&&t.target&&(t=t.target,o=o,f="function"!=typeof t.closest?t.classList.contains(o)?t:t.parentElement.classList.contains(o)?t.parentElement:null:t.closest("."+o),t=n?h.headerRowFormatter:h.headerFormatter,h.useRegularTooltip||!t?y(n?h.useRegularTooltip?null:t:l.name,i,null,l,r):f&&"function"==typeof t&&S(t,i,null,l,r))}function u(t,e){if(b(),d&&t){var r=d.getCellFromEvent(t);if(r){var n=l?l.getItem(r.row):d.getDataItem(r.row),a=d.getColumns()[r.cell];if(f=d.getCellNode(r.row,r.cell),h=Slick.Utils.extend(!0,{},c,a.customTooltip),n&&a&&((e=e||{}).cell=r.cell,e.row=r.row,e.columnDef=a,e.dataContext=n,e.grid=d,e.type="cell",!(a&&a.disableTooltip||!k(h.usabilityOverride,e)))){var s=n.hasOwnProperty(a.field)?n[a.field]:null;if(h.useRegularTooltip||!h.formatter)y(a.formatter,r,s,a,n);else if("function"==typeof h.formatter&&S(h.formatter,r,s,a,n),"function"==typeof h.asyncProcess){t=h.asyncProcess(r.row,r.cell,s,a,n,d);if(!h.asyncPostFormatter)throw new Error('[SlickGrid] when using "asyncProcess", you must also provide an "asyncPostFormatter" formatter');t instanceof Promise&&(i=function(t){var e=!1;if(t instanceof Promise)return{promise:t.then(function(t){if(e)throw{isPromiseCancelled:!0};return t}),cancel:function(){e=!0}};return t}(t)).promise.then(function(t){var e=r,o=s,i=a,l=n;b(),l=Slick.Utils.extend(!0,{},l,{[h.asyncParamsPropName||"__params"]:t}),S(h.asyncPostFormatter,e,o,i,l)}).catch(function(t){if(!t.isPromiseCancelled)throw t})}}}}}function w(e,t){var o;return e?(t.forEach(function(t){t=e.getAttribute(t);t&&(o=t)}),o):null}function y(t,e,o,i,l){var r,n=document.createElement("div"),a=(n.innerHTML=T(t,e,o,i,l),i.toolTip||"");a||(f&&f.clientWidthh.tooltipTextMaxLength&&(a=a.substring(0,h.tooltipTextMaxLength-3)+"..."),r=f):(h.useRegularTooltipFromFormatterOnly?r=n.querySelector("[title], [data-slick-tooltip]"):(r=w(f,["title","data-slick-tooltip"])?f:n.querySelector("[title], [data-slick-tooltip]"))&&w(r,["title","data-slick-tooltip"])||!f||(r=f.querySelector("[title], [data-slick-tooltip]")),(!a||"function"==typeof t&&h.useRegularTooltipFromFormatterOnly)&&(a=w(r,["title","data-slick-tooltip"])||""))),""!==a&&S(t,e,o,i,l,a),x(r,a)}function x(t,e){t=t||f&&(f.hasAttribute("title")&&f.getAttribute("title")?f:f.querySelector("[title]"));t&&(t.setAttribute("data-slick-tooltip",e||""),t.hasAttribute("title"))&&t.setAttribute("title","")}function v(t){var e=0,o=(C.pageXOffset||document.documentElement.scrollLeft,C.pageYOffset||document.documentElement.scrollTop||0),t=L(t);return e=t?t.top-o:e}function L(t){var e,o,i,l;if(t)return void(l=i=o=e=0)!==(t=t.getBoundingClientRect()).top&&void 0!==t.left&&(e=t.top+C.pageYOffset,o=t.left+C.pageXOffset,l=t.right,i=t.bottom),{top:e,left:o,bottom:i,right:l}}function b(){i&&i.cancel&&i.cancel();var t=document.body.querySelector("."+h.className+"."+d.getUID());t&&t.remove&&t.remove()}function T(t,e,o,i,l){return"function"==typeof t?(o="object"==typeof(e=t(e.row,e.cell,o,i,l,d))&&e&&e.text?e.text:"string"==typeof e?e:"",d.sanitizeHtmlString(o)):"string"==typeof t?d.sanitizeHtmlString(t):""}function S(t,e,o,i,l,r,n){(p=document.createElement("div")).className=h.className,p.classList.add(d.getUID()),p.classList.add("l"+e.cell),p.classList.add("r"+e.cell);var a,s,c,t=r||T(t,e,o,i,l)||"",t=h.tooltipTextMaxLength&&t.length>h.tooltipTextMaxLength?t.substring(0,h.tooltipTextMaxLength-3)+"...":t;let u="";!r||h&&h.renderRegularTooltipAsHtml?(u=d.sanitizeHtmlString(t),p.innerHTML=u,p.style.whiteSpace=h&&h.whiteSpace||g.whiteSpace):(u=t||"",p.textContent=u,p.style.whiteSpace=h&&h.regularTooltipWhiteSpace||g.regularTooltipWhiteSpace),h.maxHeight&&(p.style.maxHeight=h.maxHeight+"px"),h.maxWidth&&(p.style.maxWidth=h.maxWidth+"px"),u&&(document.body.appendChild(p),o=e,p&&(o=L(f=f||d.getCellNode(o.row,o.cell)),i=f.offsetWidth,l=p.getBoundingClientRect().height,r=p.getBoundingClientRect().width,e=document.body.offsetWidth||C.innerWidth,a=o.top-p.offsetHeight-(h.offsetTopBottom||0),s=(o&&o.left||0)-(h.offsetRight||0),"center"===(c=h.position||"auto")?(s+=i/2-r/2+(h.offsetRight||0),p.classList.remove("arrow-left-align"),p.classList.remove("arrow-right-align"),p.classList.add("arrow-center-align")):"right-align"===c||("auto"===c||"left-align"!==c)&&ev(f)?(a=o.top+(m.rowHeight||0)+(h.offsetTopBottom||0),p.classList.remove("arrow-down"),p.classList.add("arrow-up")):(p.classList.add("arrow-down"),p.classList.remove("arrow-up")),p.style.top=a+"px",p.style.left=s+"px"),h.hideArrow||p.classList.add("tooltip-arrow"),x(n,t))}function k(t,e){return"function"!=typeof t||t.call(this,e)}Slick.Utils.extend(this,{init:function(t){var e=(d=t)&&t.getData()||[];l=Array.isArray(e)?null:e,m=t.getOptions()||{},c=Slick.Utils.extend(!0,{},g,m.customTooltip,o),r.subscribe(t.onMouseEnter,u).subscribe(t.onHeaderMouseEnter,n).subscribe(t.onHeaderRowMouseEnter,a).subscribe(t.onMouseLeave,b).subscribe(t.onHeaderMouseLeave,b).subscribe(t.onHeaderRowMouseLeave,b)},destroy:function(){b(),r.unsubscribeAll()},hide:b,setOptions:function(t){c=Slick.Utils.extend({},c,t)},pluginName:"CustomTooltip"})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.draggablegrouping.min.js b/dist/plugins/slick.draggablegrouping.min.js index d0a963bc..50d46cb4 100644 --- a/dist/plugins/slick.draggablegrouping.min.js +++ b/dist/plugins/slick.draggablegrouping.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.draggablegrouping.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{DraggableGrouping:function(d){var t,p,u,n,s,a,y,h,v,k,i={},o=new Slick.Event,g=new Slick.BindingEventService,c=new Slick.EventHandler;var m=[];function f(e,l){var o,r,t,n=l.getAttribute("data-id"),s=n&&n.replace(p,"");let a=!0;for(const i of m)i.id===s&&(a=!1);if(a){for(const c of u)c.id===s&&c.grouping&&!Slick.Utils.isEmptyObject(c.grouping)&&(r=l.querySelector(".slick-column-name"),(o=document.createElement("div")).id=`${p}_${c.id}_entry`,o.className="slick-dropped-grouping",o.dataset.id=""+c.id,(t=document.createElement("div")).className="slick-dropped-grouping-title",t.style.display="inline-flex",t.textContent=(r||l).textContent,o.appendChild(t),(r=document.createElement("div")).className="slick-groupby-remove",d.deleteIconCssClass&&r.classList.add(...d.deleteIconCssClass.split(" ")),d.deleteIconImage&&r.classList.add(...d.deleteIconImage.split(" ")),d.deleteIconCssClass||r.classList.add("slick-groupby-remove-icon"),d.deleteIconImage||r.classList.add("slick-groupby-remove-image"),d&&!0!==d.hideGroupSortIcons&&c.sortable&&c.grouping&&void 0===c.grouping.sortAsc&&(c.grouping.sortAsc=!0),o.appendChild(r),o.appendChild(document.createElement("div")),e.appendChild(o),t=c,m.push(t),b("add-group"),function(r,t,n){g.bind(t,"click",()=>{for(const o of g.boundedEvents.filter(e=>e.element===t))g.unbind(o.element,"click",o.listener);var e=r,l=(n.remove(),[]);u.forEach(function(e){l[e.id]=e}),function(e){var l,o,r=arguments,t=r.length;for(;1{var l=e.item,o=l.getAttribute("id");o&&o.replace(p,"")&&f(r,Sortable.utils.clone(e.item)),e.clone.style.opacity=".5",l.parentNode&&l.parentNode.removeChild(l)},onUpdate:()=>{for(var e=a&&a.toArray()||[],l=[],o=0,r=e.length;oe.preventDefault),g.bind(e,"dragenter",()=>s.classList.add("slick-dropzone-hover")),g.bind(e,"dragleave",()=>s.classList.remove("slick-dropzone-hover"))),h&&g.bind(h,"click",e=>{var l,o,e=e.target;[e,l=!0,o=!0]=[e,e&&e.classList.contains("expanded")],e&&(!0===l?(e.classList.add("collapsed"),e.classList.remove("expanded"),o&&n.collapseAllGroups()):(e.classList.remove("collapsed"),e.classList.add("expanded"),o&&n.expandAllGroups()))})}c.subscribe(t.onHeaderCellRendered,function(e,l){var o=l.column,l=l.node;!Slick.Utils.isEmptyObject(o.grouping)&&l&&(l.style.cursor="pointer",d.groupIconCssClass||d.groupIconImage)&&((o=document.createElement("span")).className="slick-column-groupable",d.groupIconCssClass&&o.classList.add(...d.groupIconCssClass.split(" ")),d.groupIconImage&&(o.style.background="url("+d.groupIconImage+") no-repeat center center"),l.appendChild(o))});for(var l=0;le.style.display="none")},onEnd:function(e){var l=m.querySelector(".slick-placeholder"),o=(m.classList.remove("slick-dropzone-hover"),l.classList.remove("slick-dropzone-placeholder-hover"),y&&(y.style.display="none"),l&&l.parentElement&&l.parentElement.classList.remove("slick-dropzone-placeholder-hover"),m.querySelectorAll(".slick-dropped-grouping"));if(o.forEach(e=>e.style.display="inline-block"),o.length&&(l&&(l.style.display="none"),h.style.display="inline-block"),i.getEditorLock().commitCurrentEdit()){var r=v&&v.toArray()||[];if(1e.remove())}function r(e,t,n){var i=e.command||"",l={grid:s,column:t,button:e};null!=i&&(l.command=i),"function"==typeof e.action&&e.action.call(this,n,l),null==i||e.disabled||(o.onCommand.notify(l,n,o),s.updateColumnHeader(t.id)),n.preventDefault(),n.stopPropagation()}function c(e,t){return"function"!=typeof e||e.call(this,t)}Slick.Utils.extend(this,{init:function(e){a=Slick.Utils.extend(!0,{},n,a),s=e,t.subscribe(s.onHeaderCellRendered,i).subscribe(s.onBeforeHeaderCellDestroy,l),s.setColumns(s.getColumns())},destroy:function(){t.unsubscribeAll(),d.unbindAll()},pluginName:"HeaderButtons",onCommand:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.headermenu.min.js b/dist/plugins/slick.headermenu.min.js index 30265062..63751f1a 100644 --- a/dist/plugins/slick.headermenu.min.js +++ b/dist/plugins/slick.headermenu.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.headermenu.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{Plugins:{HeaderMenu:function(f){var h,p,v,b=this,t=new Slick.EventHandler,g=new Slick.BindingEventService,i={buttonCssClass:null,buttonImage:null,minWidth:100,autoAlign:!0,autoAlignOffset:0};function l(){v&&(v.remove(),v=void 0),p&&p.classList.remove("slick-header-column-active")}function n(e,t){var i=t.column,n=i.header&&i.header.menu;n&&C(f.menuUsabilityOverride,t)&&((i=document.createElement("div")).className="slick-header-menubutton",i.ariaLabel="Header Menu",i.role="button",f.buttonCssClass&&i.classList.add(...f.buttonCssClass.split(" ")),f.buttonImage&&(i.style.backgroundImage="url("+f.buttonImage+")"),f.tooltip&&(i.title=f.tooltip),g.bind(i,"click",e=>function(t,i,n){var l={grid:h,column:n,menu:i};if(0!=b.onBeforeMenuShow.notify(l,t,b).getReturnValue()){!v&&((v=document.createElement("div")).className="slick-header-menu",v.role="menu",v.style.minWidth=f.minWidth+"px",v.setAttribute("aria-expanded","true"),r=h.getContainerNode())&&r.appendChild(v),Slick.Utils.emptyElement(v);for(var s=0;s=c.width)&&(e=e+r.clientWidth-v.clientWidth+(f.autoAlignOffset||0)),v.style.top=(r.clientHeight||u&&u.top||0)+(f&&f.menuOffsetTop||0)+"px",v.style.left=e-m.left+"px",(p=v.closest(".slick-header-column"))&&p.classList.add("slick-header-column-active"),0!=b.onAfterMenuShow.notify(l,t,b).getReturnValue()&&(t.preventDefault(),t.stopPropagation())}}(e,n,t.column)),t.node.appendChild(i))}function s(e,t){var i=t.column;i.header&&i.header.menu&&t.node.querySelectorAll(".slick-header-menubutton").forEach(e=>e.remove())}function k(e,t,i){var n=e.command||"";if(e.disabled||e.divider||"divider"===e)return!1;null!=n&&""!==n&&(t={grid:h,column:t,command:n,item:e},b.onCommand.notify(t,i,b),"function"==typeof e.action)&&e.action.call(this,i,t),i.defaultPrevented||l(),i.preventDefault(),i.stopPropagation()}function C(e,t){return"function"!=typeof e||e.call(this,t)}Slick.Utils.extend(this,{init:function(e){f=Slick.Utils.extend(!0,{},i,f),h=e,t.subscribe(h.onHeaderCellRendered,n).subscribe(h.onBeforeHeaderCellDestroy,s),h.setColumns(h.getColumns()),g.bind(document.body,"mousedown",function(e){(v===e.target||v&&v.contains(e.target))&&"close"!==e.target.className||l()}.bind(this))},destroy:function(){var e;t.unsubscribeAll(),g.unbindAll(),(v=v||document.body.querySelector(".slick-header-menu"+((e=h.getUID()||"")?"."+e:"")))&&v.remove(),p=void 0},pluginName:"HeaderMenu",setOptions:function(e){f=Slick.Utils.extend(!0,{},f,e)},onAfterMenuShow:new Slick.Event,onBeforeMenuShow:new Slick.Event,onCommand:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.resizer.min.js b/dist/plugins/slick.resizer.min.js index e4cf96d9..f01d583c 100644 --- a/dist/plugins/slick.resizer.min.js +++ b/dist/plugins/slick.resizer.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.resizer.js */ "use strict";!function(C){Slick.Utils.extend(!0,C,{Slick:{Plugins:{Resizer:function(e,t){let l=180,a=300,h=20,n=this,g,f,o,r,d,s,u,c=!1,m,v,z,S={bottomPadding:20,applyResizeToContainer:!1,minHeight:180,minWidth:300,rightPadding:0},w={},p=new Slick.BindingEventService;function y(i){w=Slick.Utils.extend(!0,{},S,w,i)}function R(e){var i=Slick.Utils.offset(m);void 0===m&&void 0===i||(k(0,e,null),p.bind(C,"resize",function(i){n.onGridBeforeResize.notify({grid:o},i,n),c||(k(0,e,i),k(0,e,i))}))}function b(){n.onGridBeforeResize.unsubscribe(),n.onGridAfterResize.unsubscribe(),p.unbindAll()}function k(e,t,n){if(e=e||0,"function"==typeof Promise)return new Promise(function(i){0o&&(u=o),cd&&(c=d),{height:g||u,width:f||c}}();if((i||e)&&m)try{var t=(i&&i.height?i:e).height,n=(i&&i.width?i:e).width;r.autoHeight||(m.style.height=t+"px"),m.style.width=n+"px",z&&(z.style.width=n+"px"),null===new RegExp("MSIE [6-8]").exec(navigator.userAgent)&&o&&o.resizeCanvas&&o.resizeCanvas(),r&&r.enableAutoSizeColumns&&o.autosizeColumns&&d&&document.querySelector("."+d)&&o.autosizeColumns(),s={height:t,width:n}}catch(i){b()}return s}(i);return n.onGridAfterResize.notify({grid:o,dimensions:i},e,n),i}Slick.Utils.extend(this,{init:function(i){y(e),o=i,r=o.getOptions(),d=o.getUID(),m=o.getContainerNode(),v="string"==typeof e.container&&"string"==typeof e.container?document.querySelector(e.container):e.container,w.gridContainer&&(z=w.gridContainer),t&&(g=t.height,f=t.width),r&&R()},destroy:b,pluginName:"Resizer",bindAutoResizeDataGrid:R,getLastResizeDimensions:function(){return s},pauseResizer:function(i){c=i},resizeGrid:k,setOptions:y,onGridAfterResize:new Slick.Event,onGridBeforeResize:new Slick.Event})}}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.rowdetailview.min.js b/dist/plugins/slick.rowdetailview.min.js index 2b336213..b2cc766f 100644 --- a/dist/plugins/slick.rowdetailview.min.js +++ b/dist/plugins/slick.rowdetailview.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.rowdetailview.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{Plugins:{RowDetailView:function(e){var d,r,c,u,p="id",n=null,o=this,t=null,l=[],i=new Slick.EventHandler,s=5,w=0,a={columnId:"_detail_selector",cssClass:"detailView-toggle",expandedClass:null,collapsedClass:null,keyPrefix:"_",loadOnce:!1,collapseAllOnSort:!0,saveDetailViewOnScroll:!0,singleRowExpand:!1,useSimpleViewportCalc:!1,alwaysRenderColumn:!0,toolTip:"",width:30,maxRows:null},g=a.keyPrefix,f=0,m=[],R=Slick.Utils.extend(!0,{},a,e);"function"==typeof R.expandableOverride&&E(R.expandableOverride);function h(e,t){if(e)for(var i=0;i2*w)return!0;return!1}(u.getRowById(e[p]),i);!t&&0<=h(m,e[p])?y(e,e[p]):t&&x(e,e[p])}));else if(d){var o=d.getRenderedRange();if(0o.top||0===t.top&&0===o.top&&t.bottom>o.bottom)&&(a="UP")}}l.forEach(function(e){var t=u.getRowById(e[p]),i=e[g+"sizePadding"],n=0<=h(m,e[p]);"UP"===a?(R.saveDetailViewOnScroll&&t>=o.bottom-f&&P(e),n&&t-s=o.top?y(e,e[p]):!n&&t+i>o.bottom&&x(e,e[p])):"DOWN"===a&&(R.saveDetailViewOnScroll&&t<=o.top+f&&P(e),n&&t+i+s>o.bottom&&t'):(a=[],e=r.rowHeight,l=o[g+"sizePadding"]*r.rowHeight,null!==R.maxRows&&o[g+"sizePadding"]>R.maxRows&&(l=R.maxRows*e,o[g+"sizePadding"]=R.maxRows),s=R.cssClass+" collapse ",R.expandedClass&&(s+=R.expandedClass),a.push('
'),a.push('
'),a.push('
'),a.push('
',o[g+"detailContent"],"
"),a.join(""))}function z(e,t,i){return"function"!=typeof n||n(e,t,i)}function E(e){n=e}Slick.Utils.extend(this,{init:function(e){if(!e)throw new Error('RowDetailView Plugin requires the Grid instance to be passed as argument to the "init()" method');c=(d=e).getUID(),r=e.getOptions()||{},u=d.getData(),g=R&&R.keyPrefix||"_",f=d.getOptions().minRowBuffer,d.getOptions().minRowBuffer=R.panelRows+3,i.subscribe(d.onClick,v).subscribe(d.onScroll,b),R.collapseAllOnSort&&(i.subscribe(d.onSort,D),l=[],m=[]),i.subscribe(d.getData().onRowCountChanged,function(){d.updateRowCount(),d.render()}),i.subscribe(d.getData().onRowsChanged,function(e,t){d.invalidateRows(t.rows),d.render()}),o.onAsyncResponse.subscribe(function(e,t){if(!t||!t.item&&!t.itemDetail)throw'Slick.RowDetailView plugin requires the onAsyncResponse() to supply "args.item" property.';var i=t.item||t.itemDetail;t.detailView?i[g+"detailContent"]=t.detailView:i[g+"detailContent"]=R.postTemplate(i),i[g+"detailViewLoaded"]=!0,u.updateItem(i[p],i),o.onAsyncEndUpdate.notify({grid:d,item:i,itemDetail:i},e,o)}),i.subscribe(u.onSetItemsCalled,function(){p=u&&u.getIdPropertyName()||"id"}),R.useSimpleViewportCalc&&i.subscribe(d.onRendered,function(e,t){t&&t.endRow&&(w=t.endRow-t.startRow)})},destroy:function(){i.unsubscribeAll(),o.onAsyncResponse.unsubscribe(),o.onAsyncEndUpdate.unsubscribe(),o.onAfterRowDetailToggle.unsubscribe(),o.onBeforeRowDetailToggle.unsubscribe(),o.onRowOutOfViewportRange.unsubscribe(),o.onRowBackToViewportRange.unsubscribe()},pluginName:"RowDetailView",collapseAll:D,collapseDetailView:V,expandDetailView:I,expandableOverride:E,getColumnDefinition:function(){return{id:R.columnId,name:"",toolTip:R.toolTip,field:"sel",width:R.width,resizable:!1,sortable:!1,alwaysRenderColumn:R.alwaysRenderColumn,cssClass:R.cssClass,formatter:k}},getExpandedRows:function(){return l},getFilterItem:function(e){return e=e[g+"isPadding"]&&e[g+"parent"]?e[g+"parent"]:e},getOptions:function(){return R},resizeDetailView:function(e){if(e){var t=document.querySelector("."+c+" .detailViewContainer_"+e[p]),i=document.querySelector("."+c+" .cellDetailView_"+e[p]),n=document.querySelector("."+c+" .innerDetailView_"+e[p]);if(t&&i&&n){for(var o=1;o<=e[g+"sizePadding"];o++)u.deleteItem(e[p]+"."+o);for(var n=r.rowHeight,a=(t.style.minHeight=null,t.scrollHeight),l=Math.ceil(a/n),l=(e[g+"sizePadding"]=Math.ceil(2*l*13/n),e[g+"height"]=a,e[g+"sizePadding"]*n),s=(null!==R.maxRows&&e[g+"sizePadding"]>R.maxRows&&(l=R.maxRows*n,e[g+"sizePadding"]=R.maxRows),d.getOptions().minRowBuffere===t.row)||(i=[t.row],n.disableRowSelection)||l.setSelectedRows(i),l.getOptions().rowHeight);o.selectedRows=i,o.selectionProxy=document.createElement("div"),o.selectionProxy.className="slick-reorder-proxy",o.selectionProxy.style.display="none",o.selectionProxy.style.position="absolute",o.selectionProxy.style.zIndex="99999",o.selectionProxy.style.width=s.clientWidth+"px",o.selectionProxy.style.height=e*i.length+"px",s.appendChild(o.selectionProxy),o.guide=document.createElement("div"),o.guide.className="slick-reorder-guide",o.guide.style.position="absolute",o.guide.style.zIndex="99999",o.guide.style.width=s.clientWidth+"px",o.guide.style.top="-1000px",s.appendChild(o.guide),o.insertBefore=-1}}function w(e,o){var t;c&&(e.stopImmediatePropagation(),e=((e=e.getNativeEvent()).touches?e.touches[0]:e).pageY-(Slick.Utils.offset(s).top||0),o.selectionProxy.style.top=e-5+"px",o.selectionProxy.style.display="block",o.clonedSlickRow&&(o.clonedSlickRow.style.top=e-6+"px",o.clonedSlickRow.style.display="block"),(e=Math.max(0,Math.min(Math.round(e/l.getOptions().rowHeight),l.getDataLength())))!==o.insertBefore)&&(!(t={grid:l,rows:o.selectedRows,insertBefore:e})===i.onBeforeMoveRows.notify(t).getReturnValue()?o.canMove=!1:o.canMove=!0,r&&o.canMove&&(t=l.getDataItem(e),o.canMove=g(e,t,l)),o.canMove?o.guide.style.top=e*(l.getOptions().rowHeight||0)+"px":o.guide.style.top="-1000px",o.insertBefore=e)}function u(e,o){c&&(c=!1,e.stopImmediatePropagation(),o.guide.remove(),o.selectionProxy.remove(),o.clonedSlickRow&&(o.clonedSlickRow.remove(),o.clonedSlickRow=null),o.canMove)&&(e={grid:l,rows:o.selectedRows,insertBefore:o.insertBefore},i.onMoveRows.notify(e))}function e(e,o,t,i,n,l){return g(e,n,l)?{addClasses:"cell-reorder dnd",text:""}:null}function g(e,o,t){return"function"!=typeof r||r(e,o,t)}function v(e){r=e}function p(e){return/move|selectAndMove/.test(l.getColumns()[e].behavior)}Slick.Utils.extend(this,{onBeforeMoveRows:new Slick.Event,onMoveRows:new Slick.Event,init:function(e){n=Slick.Utils.extend(!0,{},t,n),s=(l=e).getCanvasNode(),o.subscribe(l.onDragInit,d).subscribe(l.onDragStart,a).subscribe(l.onDrag,w).subscribe(l.onDragEnd,u)},destroy:function(){o.unsubscribeAll()},getColumnDefinition:function(){return{id:n.columnId||"_move",name:"",field:"move",width:n.width||40,behavior:"selectAndMove",selectable:!1,resizable:!1,cssClass:n.cssClass,formatter:e}},setOptions:function(e){n=Slick.Utils.extend({},n,e)},usabilityOverride:v,isHandlerColumn:p,pluginName:"RowMoveManager"})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.rowselectionmodel.min.js b/dist/plugins/slick.rowselectionmodel.min.js index 8a543a0b..34c891fd 100644 --- a/dist/plugins/slick.rowselectionmodel.min.js +++ b/dist/plugins/slick.rowselectionmodel.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.rowselectionmodel.js */ !function(e){Slick.Utils.extend(!0,e,{Slick:{RowSelectionModel:function(t){var c,n,l,o,i,s=[],r=this,a=new Slick.EventHandler,u={selectActiveRow:!0,dragToSelect:!1,autoScrollWhenDrag:!0,cellRangeSelector:void 0};function g(e){return function(){n||(n=!0,e.apply(this,arguments),n=!1)}}function w(e){for(var t=[],n=0;ne!==t.row),c.setActiveCell(t.row,t.cell);else if(i.length&&e.shiftKey){for(var l=i.pop(),n=Math.min(t.row,l),o=Math.max(t.row,l),i=[],r=n;r<=o;r++)r!==l&&i.push(r);i.push(l),c.setActiveCell(t.row,t.cell)}return d(S(i)),e.stopImmediatePropagation(),!0}function C(e,t){var n;if(i||(n=c.getPluginByName("RowMoveManager")||c.getPluginByName("CrossGridRowMoveManager"),i=n?n.isHandlerColumn:Slick.Utils.noop),c.getEditorLock().isActive()||i(t.cell))return e.stopPropagation(),!1;c.setActiveCell(t.row,t.cell)}function k(e,t){if(!c.getOptions().multiSelect||!l.selectActiveRow)return!1;d([new Slick.Range(t.range.fromRow,0,t.range.toRow,c.getColumns().length-1)])}Slick.Utils.extend(this,{getSelectedRows:f,setSelectedRows:e,getSelectedRanges:function(){return s},setSelectedRanges:d,refreshSelections:function(){e(f())},init:function(e){if(void 0===Slick.Draggable)throw new Error('Slick.Draggable is undefined, make sure to import "slick.interactions.js"');if(l=Slick.Utils.extend(!0,{},u,t),o=l.cellRangeSelector,c=e,!o&&l.dragToSelect){if(!Slick.CellRangeDecorator)throw new Error("Slick.CellRangeDecorator is required when option dragToSelect set to true");o=new Slick.CellRangeSelector({selectionCss:{border:"none"},autoScroll:l.autoScrollWhenDrag})}a.subscribe(c.onActiveCellChanged,g(h)),a.subscribe(c.onKeyDown,g(R)),a.subscribe(c.onClick,g(v)),o&&(e.registerPlugin(o),o.onCellRangeSelecting.subscribe(k),o.onCellRangeSelected.subscribe(k),o.onBeforeCellRangeSelected.subscribe(C))},destroy:function(){a.unsubscribeAll(),o&&(o.onCellRangeSelecting.unsubscribe(k),o.onCellRangeSelected.unsubscribe(k),o.onBeforeCellRangeSelected.unsubscribe(C),c.unregisterPlugin(o),o.destroy)&&o.destroy()},pluginName:"RowSelectionModel",onSelectedRangesChanged:new Slick.Event})}}})}(window); \ No newline at end of file diff --git a/dist/plugins/slick.state.min.js b/dist/plugins/slick.state.min.js index 2cc2f332..c4b9ffc4 100644 --- a/dist/plugins/slick.state.min.js +++ b/dist/plugins/slick.state.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./plugins/slick.state.js */ !function(t){Slick.Utils.extend(!0,t,{Slick:{State:function(i){var o,n,s=(i=Slick.Utils.extend(!0,{},a,i)).storage,e=new Slick.Event,r={state:null,current:null};function u(){var t;if(n&&s)return(t={sortcols:o.getSortColumns(),viewport:o.getViewport(),columns:o.getColumns().map(function(t){return{id:t.id,width:t.width}}),userData:null}).userData=r.current,l(t.userData),e.notify(t),s.set(i.key_prefix+n,t)}function c(t){return r.current=t,this}function l(t){r.state=t,c(t)}Slick.Utils.extend(this,{init:function(t){(n=(o=t).cid||i.cid)?(o.onColumnsResized.subscribe(u),o.onColumnsReordered.subscribe(u),o.onSort.subscribe(u)):console.warn("grid has no client id. state persisting is disabled.")},destroy:function(){o.onSort.unsubscribe(u),o.onColumnsReordered.unsubscribe(u),o.onColumnsResized.unsubscribe(u),u()},save:u,setUserData:c,resetUserData:function(){return r.current=r.state,this},getUserData:function(){return r.current},getStateUserData:function(){return r.state},restore:function(){return new Promise((r,e)=>{n?s?s.get(i.key_prefix+n).then(function(t){var e,n,s;t&&(t.sortcols&&o.setSortColumns(t.sortcols||[]),t.viewport&&i.scrollRowIntoView&&o.scrollRowIntoView(t.viewport.top,!0),t.columns&&((e=i.defaultColumns)&&(n={},e.forEach(function(t){n[t.id]=t}),s=[],(t.columns||[]).forEach(function(t){n[t.id]&&s.push(Slick.Utils.extend(!0,{},n[t.id],{width:t.width,headerCssClass:t.headerCssClass}))}),t.columns=s),o.setColumns(t.columns)),l(t.userData)),r(t)}).catch(function(t){e(t)}):e("missing store"):e("missing client id")})},onStateChanged:e,reset:function(){s.set(i.key_prefix+n,{}),l(null)}})}}});var a={key_prefix:"slickgrid:",storage:new function(){var r=t.localStorage;return void 0===r&&console.error("localStorage is not available. slickgrid statepersistor disabled."),{get:function(s){return new Promise((t,e)=>{if(r)try{var n=r.getItem(s);if(n)return t(JSON.parse(n));t({})}catch(t){e(t)}else e("missing localStorage")})},set:function(t,e){r&&(void 0!==e&&(e=JSON.stringify(e)),r.setItem(t,e))}}},scrollRowIntoView:!0}}(window); \ No newline at end of file diff --git a/dist/slick.compositeeditor.min.js b/dist/slick.compositeeditor.min.js index a7d06809..e9225f89 100644 --- a/dist/slick.compositeeditor.min.js +++ b/dist/slick.compositeeditor.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.compositeeditor.js */ Slick.Utils.extend(Slick,{CompositeEditor:function(a,u,h){var c,r=function(){};function i(i){var d=[];this.destroy=function(){for(var i=0;i=this.fromRow&&t<=this.toRow&&e>=this.fromCell&&e<=this.toCell},this.toString=function(){return this.isSingleCell()?"("+this.fromRow+":"+this.fromCell+")":"("+this.fromRow+":"+this.fromCell+" - "+this.toRow+":"+this.toCell+")"}},NonDataRow:t,Group:e,GroupTotals:n,RegexSanitizer:function(t){return t.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<)(\/*)(script|script defer)(.*)(>|>">)/gi,"")},EditorLock:i,BindingEventService:function(){this.boundedEvents=[],this.destroy=function(){this.unbindAll(),this.boundedEvents=[]},this.bind=function(t,e,n,i){t.addEventListener(e,n,i),this.boundedEvents.push({element:t,eventName:e,listener:n})},this.unbind=function(t,e,n){t&&t.removeEventListener&&t.removeEventListener(e,n)},this.unbindByEventName=function(e,n){var t=this.boundedEvents.find(t=>t.element===e&&t.eventName===n);t&&this.unbind(t.element,t.eventName,t.listener)},this.unbindAll=function(){for(;0{0<=n?(clearTimeout(i),i=setTimeout(()=>e.apply(null,t),n)):e.apply(null)}},extend:function t(){var e,n,i,o,r,s,l=arguments[0],u=1,c=arguments.length,a=!1;for("boolean"==typeof l?(a=l,l=arguments[u]||{},u++):l=l||{},"object"==typeof l||"function"==typeof(s=l)&&"number"!=typeof s.nodeType&&"function"!=typeof s.item||(l={}),u===c&&(l=this,u--);u{var e=n[t];"object"==typeof e?Object.assign(i[t],e):i[t]=n[t]}),e&&e.appendChild&&e.appendChild(i),i},emptyElement:function(t){if(t&&t.firstChild)for(;t.firstChild;)t.lastChild&&t.removeChild(t.lastChild);return t},innerSize:function(t,e){let n=0;if(t){n=t["height"===e?"clientHeight":"clientWidth"];for(const o of"height"===e?["top","bottom"]:["left","right"]){var i=parseFloat(function(t,e){if(t&&t.getComputedStyle)return a.getComputedStyle(t,null).getPropertyValue(e);return null}(t,"padding-"+o))||0;n-=i}}return n},isEmptyObject:function(t){return null==t||0===Object.entries(t).length},noop:function(){},offset:f,height:function(t,e){if(t)return void 0===e?t.getBoundingClientRect().height:void o(t,"height",e)},width:function(t,e){if(t&&t.getBoundingClientRect)return void 0===e?t.getBoundingClientRect().width:void o(t,"width",e)},setStyleSize:o,contains:function(e,t){return!(!e||!t||l(t).every(function(t){return e!=t}))},toFloat:function(t){return t=parseFloat(t),isNaN(t)?0:t},parents:l,show:u,hide:c,slideUp:function(t,e){return h(t,"slideUp",e)},slideDown:function(t,e){return h(t,"slideDown",e)},storage:{_storage:new WeakMap,put:function(t,e,n){this._storage.has(t)||this._storage.set(t,new Map),this._storage.get(t).set(e,n)},get:function(t,e){t=this._storage.get(t);return t?t.get(e):null},remove:function(t,e){e=this._storage.get(t).delete(e);return 0===!this._storage.get(t).size&&this._storage.delete(t),e}}},GlobalEditorLock:new i,keyCode:{SPACE:8,BACKSPACE:8,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,TAB:9,UP:38,A:65},preClickClassName:"slick-edit-preclick",GridAutosizeColsMode:{None:"NOA",LegacyOff:"LOF",LegacyForceFit:"LFF",IgnoreViewport:"IGV",FitColsToViewport:"FCV",FitViewportToCols:"FVC"},ColAutosizeMode:{Locked:"LCK",Guide:"GUI",Content:"CON",ContentExpandOnly:"CXO",ContentIntelligent:"CTI"},RowSelectionMode:{FirstRow:"FS1",FirstNRows:"FSN",AllRows:"ALL",LastRow:"LS1"},ValueFilterMode:{None:"NONE",DeDuplicate:"DEDP",GetGreatestAndSub:"GR8T",GetLongestTextAndSub:"LNSB",GetLongestText:"LNSC"},WidthEvalMode:{Auto:"AUTO",TextOnly:"CANV",HTML:"HTML"}},"undefined"!=typeof global&&(global.Slick=a.Slick)}(window); \ No newline at end of file +!function(a){function s(t,e){let n=this.event=t,i=e,o=!1,r=!1,s=!1,l=[],u=void 0;var c;if(t)for(c of["altKey","ctrlKey","metaKey","shiftKey","key","keyCode","clientX","clientY","offsetX","offsetY","pageX","pageY","bubbles","type","which","x","y"])this[c]=t[c];this.target=n?n.target:void 0,this.stopPropagation=function(){o=!0,n&&n.stopPropagation()},this.isPropagationStopped=function(){return o},this.stopImmediatePropagation=function(){r=!0,n&&n.stopImmediatePropagation()},this.isImmediatePropagationStopped=function(){return r},this.getNativeEvent=function(){return n},this.preventDefault=function(){n&&n.preventDefault(),s=!0},this.isDefaultPrevented=function(){return n?n.defaultPrevented:s},this.addReturnValue=function(t){l.push(t),void 0===u&&void 0!==t&&(u=t)},this.getReturnValue=function(){return u},this.getArguments=function(){return i}}function t(){this.__nonDataRow=!0}function e(){this.__group=!0,this.level=0,this.count=0,this.value=null,this.title=null,this.collapsed=!1,this.selectChecked=!1,this.totals=null,this.rows=[],this.groups=null,this.groupingKey=null}function n(){this.__groupTotals=!0,this.group=null,this.initialized=!1}function i(){var e=null;this.isActive=function(t){return t?e===t:null!==e},this.activate=function(t){if(t!==e){if(null!==e)throw new Error("SlickGrid.EditorLock.activate: an editController is still active, can't activate another editController");if(!t.commitCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .commitCurrentEdit()");if(!t.cancelCurrentEdit)throw new Error("SlickGrid.EditorLock.activate: editController must implement .cancelCurrentEdit()");e=t}},this.deactivate=function(t){if(e){if(e!==t)throw new Error("SlickGrid.EditorLock.deactivate: specified editController is not the currently active one");e=null}},this.commitCurrentEdit=function(){return!e||e.commitCurrentEdit()},this.cancelCurrentEdit=function(){return!e||e.cancelCurrentEdit()}}function f(t){var e;if(t&&t.getBoundingClientRect)return t=t.getBoundingClientRect(),e=document.documentElement,{top:t.top+a.pageYOffset-e.clientTop,left:t.left+a.pageXOffset-e.clientLeft}}function o(t,e,n){"function"==typeof n?n():t.style[e]="string"==typeof n?n:n+"px"}function r(t){return 0===t.offsetWidth&&0===t.offsetHeight}function l(t,e){for(var n=[],i=":visible"==e,o=":hidden"==e;(t=t.parentNode)&&t!==document&&t&&t.parentNode;)o?r(t)&&n.push(t):i?r(t)||n.push(t):e&&!t.matches(e)||n.push(t);return n}function u(t,e){e=e||"",Array.isArray(t)?t.forEach(function(t){t.style.display=e}):t.style.display=e}function c(t){Array.isArray(t)?t.forEach(function(t){t.style.display="none"}):t.style.display="none"}function h(t,e,n){void 0!==a.jQuery?a.jQuery(t)[e]("fast",n):(("slideUp"===e?c:u)(t),n())}(e.prototype=new t).equals=function(t){return this.value===t.value&&this.count===t.count&&this.collapsed===t.collapsed&&this.title===t.title},n.prototype=new t;var d=Object.getPrototypeOf,p={},g=p.toString,v=p.hasOwnProperty,m=v.toString,y=m.call(Object);function C(t){return!(!t||"[object Object]"!==g.call(t)||(t=d(t))&&("function"!=typeof(t=v.call(t,"constructor")&&t.constructor)||m.call(t)!==y))}a.Slick={Event:function(){var r=[];this.subscribe=function(t){r.push(t)},this.unsubscribe=function(t){for(var e=r.length-1;0<=e;e--)r[e]===t&&r.splice(e,1)},this.notify=function(t,e,n){e instanceof s||(e=new s(e,t)),n=n||this;for(var i=0;i=this.fromRow&&t<=this.toRow&&e>=this.fromCell&&e<=this.toCell},this.toString=function(){return this.isSingleCell()?"("+this.fromRow+":"+this.fromCell+")":"("+this.fromRow+":"+this.fromCell+" - "+this.toRow+":"+this.toCell+")"}},NonDataRow:t,Group:e,GroupTotals:n,RegexSanitizer:function(t){return t.replace(/(\b)(on[a-z]+)(\s*)=|javascript:([^>]*)[^>]*|(<\s*)(\/*)script([<>]*).*(<\s*)(\/*)script(>*)|(<)(\/*)(script|script defer)(.*)(>|>">)/gi,"")},EditorLock:i,BindingEventService:function(){this.boundedEvents=[],this.destroy=function(){this.unbindAll(),this.boundedEvents=[]},this.bind=function(t,e,n,i){t.addEventListener(e,n,i),this.boundedEvents.push({element:t,eventName:e,listener:n})},this.unbind=function(t,e,n){t&&t.removeEventListener&&t.removeEventListener(e,n)},this.unbindByEventName=function(e,n){var t=this.boundedEvents.find(t=>t.element===e&&t.eventName===n);t&&this.unbind(t.element,t.eventName,t.listener)},this.unbindAll=function(){for(;0{0<=n?(clearTimeout(i),i=setTimeout(()=>e.apply(null,t),n)):e.apply(null)}},extend:function t(){var e,n,i,o,r,s,l=arguments[0],u=1,c=arguments.length,a=!1;for("boolean"==typeof l?(a=l,l=arguments[u]||{},u++):l=l||{},"object"==typeof l||"function"==typeof(s=l)&&"number"!=typeof s.nodeType&&"function"!=typeof s.item||(l={}),u===c&&(l=this,u--);u{var e=n[t];"object"==typeof e?Object.assign(i[t],e):i[t]=n[t]}),e&&e.appendChild&&e.appendChild(i),i},emptyElement:function(t){if(t&&t.firstChild)for(;t.firstChild;)t.lastChild&&t.removeChild(t.lastChild);return t},innerSize:function(t,e){let n=0;if(t){n=t["height"===e?"clientHeight":"clientWidth"];for(const o of"height"===e?["top","bottom"]:["left","right"]){var i=parseFloat(function(t,e){if(t&&t.getComputedStyle)return a.getComputedStyle(t,null).getPropertyValue(e);return null}(t,"padding-"+o))||0;n-=i}}return n},isEmptyObject:function(t){return null==t||0===Object.entries(t).length},noop:function(){},offset:f,height:function(t,e){if(t)return void 0===e?t.getBoundingClientRect().height:void o(t,"height",e)},width:function(t,e){if(t&&t.getBoundingClientRect)return void 0===e?t.getBoundingClientRect().width:void o(t,"width",e)},setStyleSize:o,contains:function(e,t){return!(!e||!t||l(t).every(function(t){return e!=t}))},toFloat:function(t){return t=parseFloat(t),isNaN(t)?0:t},parents:l,show:u,hide:c,slideUp:function(t,e){return h(t,"slideUp",e)},slideDown:function(t,e){return h(t,"slideDown",e)},storage:{_storage:new WeakMap,put:function(t,e,n){this._storage.has(t)||this._storage.set(t,new Map),this._storage.get(t).set(e,n)},get:function(t,e){t=this._storage.get(t);return t?t.get(e):null},remove:function(t,e){e=this._storage.get(t).delete(e);return 0===!this._storage.get(t).size&&this._storage.delete(t),e}}},GlobalEditorLock:new i,keyCode:{SPACE:8,BACKSPACE:8,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,PAGE_DOWN:34,PAGE_UP:33,RIGHT:39,TAB:9,UP:38,A:65},preClickClassName:"slick-edit-preclick",GridAutosizeColsMode:{None:"NOA",LegacyOff:"LOF",LegacyForceFit:"LFF",IgnoreViewport:"IGV",FitColsToViewport:"FCV",FitViewportToCols:"FVC"},ColAutosizeMode:{Locked:"LCK",Guide:"GUI",Content:"CON",ContentExpandOnly:"CXO",ContentIntelligent:"CTI"},RowSelectionMode:{FirstRow:"FS1",FirstNRows:"FSN",AllRows:"ALL",LastRow:"LS1"},ValueFilterMode:{None:"NONE",DeDuplicate:"DEDP",GetGreatestAndSub:"GR8T",GetLongestTextAndSub:"LNSB",GetLongestText:"LNSC"},WidthEvalMode:{Auto:"AUTO",TextOnly:"CANV",HTML:"HTML"}},"undefined"!=typeof global&&(global.Slick=a.Slick)}(window); \ No newline at end of file diff --git a/dist/slick.dataview.min.js b/dist/slick.dataview.min.js index e6474766..1814a09d 100644 --- a/dist/slick.dataview.min.js +++ b/dist/slick.dataview.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.dataview.js */ Slick.Utils.extend(!0,Slick,{Data:{DataView:function(r){var i,o,l,a,P,s,u=this,g="id",c=[],d=[],f=new Map,h=null,p=null,m=null,j=!1,w=!1,v=new Map,_=!0,y={},B={},S=[],U=[],C=null,z={getter:null,formatter:null,comparer:function(e,t){return e.value===t.value?0:e.value>t.value?1:-1},predefinedValues:[],aggregators:[],aggregateEmpty:!1,aggregateCollapsed:!1,aggregateChildGroups:!1,collapsed:!1,displayTotalsRow:!0,lazyTotalsCalculation:!1},I=[],$=[],R=[],x=":|:",k=null,E=0,G=0,M=0,b=new Slick.Event,n=new Slick.Event,K=new Slick.Event,q=new Slick.Event,L=new Slick.Event,H=new Slick.Event,W=new Slick.Event,A=new Slick.Event,F=new Slick.Event;function D(e){if(!w&&f)for(var t,n=e=e||0,i=c.length;n>>1;-1===o(c[i],e)?t=1+i:n=i}return t}(e),e)}function ie(e,t){if(null==e)for(var n=0;nthis.max_)&&(this.max_=e)},this.storeResult=function(e){e.max||(e.max={}),e.max[this.field_]=this.max_}},Sum:function(e){this.field_=e,this.init=function(){this.sum_=null},this.accumulate=function(e){e=e[this.field_];null==e||""===e||isNaN(e)||(this.sum_+=parseFloat(e))},this.storeResult=function(e){e.sum||(e.sum={}),e.sum[this.field_]=this.sum_}},Count:function(e){this.field_=e,this.init=function(){},this.storeResult=function(e){e.count||(e.count={}),e.count[this.field_]=e.group.rows.length}}}}}); \ No newline at end of file diff --git a/dist/slick.editors.min.js b/dist/slick.editors.min.js index 48d64024..2b3a31d9 100644 --- a/dist/slick.editors.min.js +++ b/dist/slick.editors.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.editors.js */ !function(e){const u=Slick.Utils;function l(i){var n,t,e,o=this;function a(){var e=i.column.editorFixedDecimalPlaces;return(e=void 0===e?l.DefaultDecimalPlaces:e)||0===e?e:null}this.args=i,this.init=function(){e=i.grid.getOptions().editorCellNavOnLRKeys,(n=u.createDomElement("input",{type:"text",className:"editor-text"},i.container)).addEventListener("keydown.nav",e?s:r),n.focus(),n.select(),i.compositeEditorOptions&&n.addEventListener("change",this.onChange)},this.onChange=function(){var e=i.grid.getActiveCell();o.validate().valid&&o.applyValue(o.args.item,o.serializeValue()),o.applyValue(o.args.compositeEditorOptions.formValues,o.serializeValue()),i.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:o.args.item,column:o.args.column,formValues:o.args.compositeEditorOptions.formValues})},this.destroy=function(){n.removeEventListener("keydown.nav",e?s:r),n.removeEventListener("change",this.onChange),n.remove()},this.focus=function(){n.focus()},this.loadValue=function(e){t=e[i.column.field];e=a();null!==e&&(t||0===t)&&t.toFixed&&(t=t.toFixed(e)),n.value=t,n.defaultValue=t,n.select()},this.serializeValue=function(){var e=parseFloat(n.value),t=(l.AllowEmptyValue?e||0===e||(e=""):e=e||0,a());return e=null!==t&&(e||0===e)&&e.toFixed?parseFloat(e.toFixed(t)):e},this.applyValue=function(e,t){e[i.column.field]=t},this.isValueChanged=function(){return!(""===n.value&&null==t)&&n.value!=t},this.validate=function(){if(isNaN(n.value))return{valid:!1,msg:"Please enter a valid number"};if(i.column.validator){var e=i.column.validator(n.value,i);if(!e.valid)return e}return{valid:!0,msg:null}},this.init()}function s(e){var t=this.selectionStart,i=this.value.length;(e.keyCode===Slick.keyCode.LEFT&&0{var e;i.compositeEditorOptions&&(e=i.grid.getActiveCell(),a.validate().valid&&a.applyValue(a.args.item,a.serializeValue()),a.applyValue(a.args.compositeEditorOptions.formValues,a.serializeValue()),i.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:a.args.item,column:a.args.column,formValues:a.args.compositeEditorOptions.formValues}))}}),i.compositeEditorOptions||setTimeout(()=>{a.show(),a.focus()},50),u.width(t,u.width(t)-(i.compositeEditorOptions?28:18))},this.destroy=function(){a.hide(),o&&o.destroy(),t.remove()},this.show=function(){!i.compositeEditorOptions&&o&&o.open()},this.hide=function(){!i.compositeEditorOptions&&o&&o.close()},this.focus=function(){t.focus()},this.loadValue=function(e){n=e[i.column.field],t.value=n,t.defaultValue=n,t.select(),o&&o.setDate(n)},this.serializeValue=function(){return t.value},this.applyValue=function(e,t){e[i.column.field]=t},this.isValueChanged=function(){return!(""===t.value&&null==n)&&t.value!=n},this.validate=function(){if(i.column.validator){var e=i.column.validator(t.value,i);if(!e.valid)return e}return{valid:!0,msg:null}},this.init()},YesNoSelect:function(i){var t,n,o=this;this.args=i,this.init=function(){t=u.createDomElement("select",{tabIndex:0,className:"editor-yesno"},i.container),u.createDomElement("option",{value:"yes",textContent:"Yes"},t),u.createDomElement("option",{value:"no",textContent:"No"},t),t.focus(),i.compositeEditorOptions&&t.addEventListener("change",this.onChange)},this.onChange=function(){var e=i.grid.getActiveCell();o.validate().valid&&o.applyValue(o.args.item,o.serializeValue()),o.applyValue(o.args.compositeEditorOptions.formValues,o.serializeValue()),i.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:o.args.item,column:o.args.column,formValues:o.args.compositeEditorOptions.formValues})},this.destroy=function(){t.removeEventListener("change",this.onChange),t.remove()},this.focus=function(){t.focus()},this.loadValue=function(e){t.value=(n=e[i.column.field])?"yes":"no"},this.serializeValue=function(){return"yes"==t.value},this.applyValue=function(e,t){e[i.column.field]=t},this.isValueChanged=function(){return t.value!=n},this.validate=function(){return{valid:!0,msg:null}},this.init()},Checkbox:function(i){var t,n,o=this;this.args=i,this.init=function(){(t=u.createDomElement("input",{className:"editor-checkbox",type:"checkbox",value:"true"},i.container)).focus(),i.compositeEditorOptions&&t.addEventListener("change",this.onChange)},this.onChange=function(){var e=i.grid.getActiveCell();o.validate().valid&&o.applyValue(o.args.item,o.serializeValue()),o.applyValue(o.args.compositeEditorOptions.formValues,o.serializeValue()),i.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:o.args.item,column:o.args.column,formValues:o.args.compositeEditorOptions.formValues})},this.destroy=function(){t.removeEventListener("change",this.onChange),t.remove()},this.focus=function(){t.focus()},this.loadValue=function(e){n=!!e[i.column.field],t.checked=!!n},this.serializeValue=function(){return t.checked},this.applyValue=function(e,t){e[i.column.field]=t},this.isValueChanged=function(){return this.serializeValue()!==n},this.validate=function(){return{valid:!0,msg:null}},this.init()},PercentComplete:function(i){function t(){o.value=this.value}function n(){var e;i.compositeEditorOptions&&(e=i.grid.getActiveCell(),r.validate().valid&&r.applyValue(r.args.item,r.serializeValue()),r.applyValue(r.args.compositeEditorOptions.formValues,r.serializeValue()),i.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:r.args.item,column:r.args.column,formValues:r.args.compositeEditorOptions.formValues}))}var o,a,l,s,r=this;this.args=i,this.init=function(){o=u.createDomElement("input",{className:"editor-percentcomplete",type:"text"},i.container),u.width(o,i.container.clientWidth-25),a=u.createDomElement("div",{className:"editor-percentcomplete-picker"},i.container);var e=u.createDomElement("div",{className:"editor-percentcomplete-helper"},a),e=u.createDomElement("div",{className:"editor-percentcomplete-wrapper"},e),e=(u.createDomElement("div",{className:"editor-percentcomplete-slider"},e),u.createDomElement("input",{className:"editor-percentcomplete-slider",type:"range"},e),u.createDomElement("div",{className:"editor-percentcomplete-buttons"},e)),e=(u.createDomElement("button",{value:"0",textContent:"Not started"},e),e.appendChild(document.createElement("br")),u.createDomElement("button",{value:"50",textContent:"In Progress"},e),e.appendChild(document.createElement("br")),u.createDomElement("button",{value:"100",textContent:"Complete"},e),o.focus(),o.select(),(s=a.querySelector("input.editor-percentcomplete-slider")).value=l,s.addEventListener("input",t),s.addEventListener("change",n),a.querySelectorAll(".editor-percentcomplete-buttons button"));[].forEach.call(e,e=>{e.addEventListener("click",this.onClick)})},this.onClick=function(){o.value=this.value,s.value=this.value},this.destroy=function(){s.removeEventListener("input",t),s.removeEventListener("change",n),a.querySelectorAll(".editor-percentcomplete-buttons button").forEach(e=>e.removeEventListener("click",this.onClick)),o.remove(),a.remove()},this.focus=function(){o.focus()},this.loadValue=function(e){l=e[i.column.field],s.value=l,o.value=l,o.select()},this.serializeValue=function(){return parseInt(o.value,10)||0},this.applyValue=function(e,t){e[i.column.field]=t},this.isValueChanged=function(){return!(""===o.value&&null==l)&&(parseInt(o.value,10)||0)!=l},this.validate=function(){return isNaN(parseInt(o.value,10))?{valid:!1,msg:"Please enter a valid positive number"}:{valid:!0,msg:null}},this.init()},LongText:function(n){var i,o,t,a=this;this.args=n,this.init=function(){var e=n.compositeEditorOptions,t=(n.grid.getOptions().editorCellNavOnLRKeys,e?n.container:document.body);o=u.createDomElement("div",{className:"slick-large-editor-text",style:{zIndex:1e4,background:"white",padding:"5px",border:"3px solid gray",borderRadius:"10px"}},t),e?(o.style.position="relative",u.setStyleSize(o,"padding",0),u.setStyleSize(o,"border",0)):o.style.position="absolute",i=u.createDomElement("textarea",{rows:5,style:{background:"white",width:"250px",height:"80px",border:"0",outline:"0"}},o),e?i.addEventListener("change",this.onChange):(t=u.createDomElement("div",{style:"text-align:right"},o),u.createDomElement("button",{id:"save",textContent:"Save"},t),u.createDomElement("button",{id:"cancel",textContent:"Cancel"},t),o.querySelector("#save").addEventListener("click",this.save),o.querySelector("#cancel").addEventListener("click",this.cancel),i.addEventListener("keydown",this.handleKeyDown),a.position(n.position)),i.focus(),i.select()},this.onChange=function(){var e=n.grid.getActiveCell();a.validate().valid&&a.applyValue(a.args.item,a.serializeValue()),a.applyValue(a.args.compositeEditorOptions.formValues,a.serializeValue()),n.grid.onCompositeEditorChange.notify({row:e.row,cell:e.cell,item:a.args.item,column:a.args.column,formValues:a.args.compositeEditorOptions.formValues})},this.handleKeyDown=function(e){var t,i;e.which==Slick.keyCode.ENTER&&e.ctrlKey?a.save():e.which==Slick.keyCode.ESCAPE?(e.preventDefault(),a.cancel()):e.which==Slick.keyCode.TAB&&e.shiftKey?(e.preventDefault(),n.grid.navigatePrev()):e.which==Slick.keyCode.TAB?(e.preventDefault(),n.grid.navigateNext()):e.which!=Slick.keyCode.LEFT&&e.which!=Slick.keyCode.RIGHT||n.grid.getOptions().editorCellNavOnLRKeys&&(t=this.selectionStart,i=this.value.length,e.keyCode===Slick.keyCode.LEFT&&0===t&&n.grid.navigatePrev(),e.keyCode===Slick.keyCode.RIGHT)&&i-1<=t&&n.grid.navigateNext()},this.save=function(){(n.grid.getOptions()||{}).autoCommitEdit?n.grid.getEditorLock().commitCurrentEdit():n.commitChanges()},this.cancel=function(){i.value=t,n.cancelChanges()},this.hide=function(){u.hide(o)},this.show=function(){u.show(o)},this.position=function(e){u.setStyleSize(o,"top",e.top-5),u.setStyleSize(o,"left",e.left-2)},this.destroy=function(){n.compositeEditorOptions?i.removeEventListener("change",this.onChange):(o.querySelector("#save").removeEventListener("click",this.save),o.querySelector("#cancel").removeEventListener("click",this.cancel),i.removeEventListener("keydown",this.handleKeyDown)),o.remove()},this.focus=function(){i.focus()},this.loadValue=function(e){i.value=t=e[n.column.field],i.select()},this.serializeValue=function(){return i.value},this.applyValue=function(e,t){e[n.column.field]=t},this.isValueChanged=function(){return!(""===i.value&&null==t)&&i.value!=t},this.validate=function(){if(n.column.validator){var e=n.column.validator(i.value,n);if(!e.valid)return e}return{valid:!0,msg:null}},this.init()}}}})}(window); \ No newline at end of file diff --git a/dist/slick.formatters.min.js b/dist/slick.formatters.min.js index 632dc449..3d38f333 100644 --- a/dist/slick.formatters.min.js +++ b/dist/slick.formatters.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.formatters.js */ Slick.Utils.extend(Slick,{Formatters:{PercentComplete:function(e,n,t,r,c){return null==t||""===t?"-":t<50?""+t+"%":""+t+"%"},PercentCompleteBar:function(e,n,t,r,c){return null==t||""===t?"":""},YesNo:function(e,n,t,r,c){return t?"Yes":"No"},Checkmark:function(e,n,t,r,c){return t?"":""},Checkbox:function(e,n,t,r,c){return''}}}); \ No newline at end of file diff --git a/dist/slick.grid.min.js b/dist/slick.grid.min.js index 91141d17..2644ac55 100644 --- a/dist/slick.grid.min.js +++ b/dist/slick.grid.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.grid.js */ -if("undefined"==typeof Slick)throw new Error('"slick.core.js" not loaded');!function(){"use strict";var fl,ml;Slick.Utils.extend(Slick,{Grid:function(e,x,N,I){var V,r,O,G,j,t={alwaysShowVerticalScroll:!1,alwaysAllowHorizontalScroll:!1,explicitInitialization:!1,rowHeight:25,defaultColumnWidth:80,enableAddRow:!1,leaveSpaceForNewRows:!1,editable:!1,autoEdit:!0,autoCommitEdit:!1,suppressActiveCellChangeOnEdit:!1,enableCellNavigation:!0,enableColumnReorder:!0,asyncEditorLoading:!1,asyncEditorLoadDelay:100,forceFitColumns:!1,enableAsyncPostRender:!1,asyncPostRenderDelay:50,enableAsyncPostRenderCleanup:!1,asyncPostRenderCleanupDelay:40,autoHeight:!1,editorLock:Slick.GlobalEditorLock,showColumnHeader:!0,showHeaderRow:!1,headerRowHeight:25,createFooterRow:!1,showFooterRow:!1,footerRowHeight:25,createPreHeaderPanel:!1,showPreHeaderPanel:!1,preHeaderPanelHeight:25,showTopPanel:!1,topPanelHeight:25,formatterFactory:null,editorFactory:null,cellFlashingCssClass:"flashing",selectedCellCssClass:"selected",multiSelect:!0,enableTextSelectionOnCells:!1,dataItemColumnValueExtractor:null,frozenBottom:!1,frozenColumn:-1,frozenRow:-1,frozenRightViewportMinWidth:100,fullWidthRows:!1,multiColumnSort:!1,numberedMultiColumnSort:!1,tristateMultiColumnSort:!1,sortColNumberInSeparateSpan:!1,defaultFormatter:function(e,t,o,n,i,l){return null==o?"":(o+"").replace(/&/g,"&").replace(//g,">")},forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:null,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,autosizeColsMode:Slick.GridAutosizeColsMode.LegacyOff,autosizeColPaddingPx:4,autosizeTextAvgToMWidthRatio:.75,viewportSwitchToScrollModeWidthPercent:void 0,viewportMinWidthPx:void 0,viewportMaxWidthPx:void 0,suppressCssChangesOnHiddenInit:!1,scrollDebounceDelay:-1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,sanitizer:void 0,logSanitizedHtml:!1},n={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0,hidden:!1},q={ignoreHeaderText:!1,colValueArray:void 0,allowAddlPercent:void 0,formatterOverride:void 0,autosizeMode:Slick.ColAutosizeMode.ContentIntelligent,rowSelectionModeOnInit:void 0,rowSelectionMode:Slick.RowSelectionMode.FirstNRows,rowSelectionCount:100,valueFilterMode:Slick.ValueFilterMode.None,widthEvalMode:Slick.WidthEvalMode.Auto,sizeToRemaining:void 0,widthPx:void 0,contentSizePx:0,headerWidthPx:0,colDataTypeOf:void 0},X=0,a=0,K=1;const D=Slick.Utils,U=D.show,l=D.hide;var W,_,$,Q,Y,Z,J,ee,te,oe,ne,ie,le,re,ae,se,de,ce,ue,he,fe,me,we,ge,ve,L,pe,g,Ce,ye,Se,be,xe,ke,Ee,ze,Re,Me,k,E,Ae,He,o,Pe,Ne,Ie,De,v=new Slick.BindingEventService,We=!1,p="slickgrid_"+Math.round(1e6*Math.random()),C=this,Le=[],y=[],Te=[],Be=0,Fe=0,Ve=0,z=!1,Oe=0,R=-1,Ge=0,je=0,qe=0,Xe=0,Ke=0,Ue=0,_e=1,M=null,s=null,A={},$e=0,Qe=0,Ye=0,d=0,Ze=0,Je=0,et=0,c=0,tt=[],ot=[],nt={},it={},u=[],lt=[],rt=[],at=!1,st=!1,dt=(Pe=Ln,{enqueue:function(){Ie?De=!0:ut()},dequeue:ct});function ct(){De=!1}function ut(){Ie=!0,setTimeout(ht,Ne),Pe()}function ht(){De?(ct(),ut()):Ie=!1}var ft,mt,wt,gt,vt,pt,Ct,yt,St,bt,xt,kt,Et,zt,Rt,Mt,At,Ht,Pt,Nt,It,Dt,h,Wt,f,Lt,Tt,Bt,Ft,Vt,m,w,Ot,Gt,jt,qt,Xt,Kt,Ut=null,_t=null,$t=null,S={},Qt=null,Yt=null,Zt=[],Jt=0,eo=0,to=0,oo={position:"absolute",visibility:"hidden",display:"block"},no=[],io=De=Ie=!(Ne=50),lo=!1,ro=null,ao=[],so=[];function co(){if(!We){We=!0,kn(),xn();{var o=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=y[0];Be=0,Fe=Ve=0;let e=D.createDomElement("div",{className:"ui-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),t=getComputedStyle(e);"border-box"!=t["box-sizing"]&&"border-box"!=t["-moz-box-sizing"]&&"border-box"!=t["-webkit-box-sizing"]&&(o.forEach(function(e){Be+=D.toFloat(t[e])}),n.forEach(function(e){D.toFloat(t[e])}));e.remove();i=D.createDomElement("div",{className:"slick-row"},he[0]);e=D.createDomElement("div",{className:"slick-cell",id:"",style:{visibility:"hidden",textContent:"-"}},i),"border-box"!=(t=getComputedStyle(e))["box-sizing"]&&"border-box"!=t["-moz-box-sizing"]&&"border-box"!=t["-webkit-box-sizing"]&&(o.forEach(function(e){Fe+=D.toFloat(t[e])}),n.forEach(function(e){Ve+=D.toFloat(t[e])}));i.remove(),Ee=Math.max(Be,Fe)}y.forEach(function(e){e.setAttribute("unselectable","on"),e.style.MozUserSelect="none",v.bind(e,"selectstart.ui",function(){return!1})}),I.enableTextSelectionOnCells||ue.forEach(function(e){v.bind(e,"selectstart.ui",function(e){e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement})}),Do(),Wo(),To(),Lo(),en(),Ho(),Ro(),y.forEach(function(e){v.bind(e,"click",function(e){if(!lo&&!e.target.classList.contains("slick-resizable-handle")){var t=e.target.closest(".slick-header-column");if(t){var o=D.storage.get(t,"column");if(o.sortable&&P().commitCurrentEdit()){for(var t=u.slice(),n=null,i=0;i=R+(I.frozenBottom?0:1)?2:0)+(H()&&t>I.frozenColumn?1:0)]}function yo(){var e=D.createDomElement("div",{className:ue.className,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),t=D.createDomElement("div",{style:{width:"200px",height:"200px",overflow:"auto"}},e),o={width:e.offsetWidth-e.clientWidth,height:e.offsetHeight-e.clientHeight};return t.remove(),e.remove(),o}function So(){ye=Se=be=0;for(var e,t=!I.autoHeight,o=0,n=N.length;oI.frozenColumn?be+=e:Se+=e);return t&&(-1I.frozenColumn?be+=fl.width:Se+=fl.width),H()?(Se+=1e3,be=Math.max(be,L)+Se,be+=fl.width):(Se+=fl.width,Se=Math.max(Se,L)+1e3),ye=Se+be,Math.max(ye,L)+1e3}function bo(){var e=ke?L-fl.width:L,t=N.length;for(g=Ce=0;t--;)N[t]&&!N[t].hidden&&(H()&&t>I.frozenColumn?Ce+=N[t].width:g+=N[t].width);var o=g+Ce;return I.fullWidthRows&&0<(e=Math.max(o,e)-o)&&(o+=e,H()?Ce+=e:g+=e),o}function xo(e){var t=pe,o=g,n=Ce;if((t=(pe=bo())!==t||g!==o||Ce!==n)||H()||z)if(D.width(Tt,g),So(),D.width(St,Se),D.width(bt,be),H()){o=D.width(W)||0;if(0=L-fl.width,D.width(Z,pe+(ke?fl.width:0)),D.width(J,pe+(ke?fl.width:0)),I.createFooterRow&&(D.width(oe,pe+(ke?fl.width:0)),D.width(ne,pe+(ke?fl.width:0))),(t||e)&&Qo()}function ko(){return p}function Eo(e){return e?(e=T(e.id),!H()||e<=I.frozenColumn?St:bt):H()?y:St}function zo(){return ie}function Ro(){if(I.createFooterRow){ee.forEach(function(e){e.querySelectorAll(".slick-footerrow-column").forEach(function(e){var t=D.storage.get(e,"column");b(C.onBeforeFooterRowCellDestroy,{node:e,column:t,grid:C})})}),D.emptyElement(At),D.emptyElement(Ht);for(var e=0;eI.frozenColumn?Ht:At),(o=H()&&e<=I.frozenColumn?"frozen":null)&&t.classList.add(o),D.storage.put(t,"column",n),b(C.onFooterRowCellRendered,{node:t,column:n,grid:C}))}}}function Mo(e){e.target.classList.add("ui-state-hover")}function Ao(e){e.target.classList.remove("ui-state-hover")}function Ho(){y.forEach(function(e){e.querySelectorAll(".slick-header-column").forEach(function(e){var t=D.storage.get(e,"column");t&&b(C.onBeforeHeaderCellDestroy,{node:e,column:t,grid:C})})}),D.emptyElement(St),D.emptyElement(bt),So(),D.width(St,Se),D.width(bt,be),Q.forEach(function(e){e.querySelectorAll(".slick-headerrow-column").forEach(function(e){e=D.storage.get(e,"column");e&&b(C.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:C})})}),D.emptyElement(Rt),D.emptyElement(Mt),I.createFooterRow&&(At.querySelectorAll(".slick-footerrow-column").forEach(function(e){e=D.storage.get(e,"column");e&&b(C.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:C})}),D.emptyElement(At),H())&&(Ht.querySelectorAll(".slick-footerrow-column").forEach(function(e){e=D.storage.get(e,"column");e&&b(C.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:C})}),D.emptyElement(Ht));for(var t,i,e,o=0;oD.offset(m).left,i=t&&e.originalEvent.pageX>W.clientWidth?i||setInterval(d,100):t&&e.originalEvent.pageX=N.length||!N[e]||N[e].hidden||N[e].resizable&&(void 0===t&&(t=e),o=e);if(void 0!==t)for(let s=0;s=N.length||!N[s]||N[s].hidden||s=o||(i=D.createDomElement("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},l),v.bind(i,"dblclick",Po),so.push(Slick.Resizable({resizeableElement:l,resizeableHandleElement:i,onResizeStart:function(e,t){e=e.touches?e.touches[0]:e;if(!P().commitCurrentEdit())return!1;h=e.pageX,w=0,t.resizeableElement.classList.add("slick-header-column-active");var o=null,n=null;for(let e=0;e=N.length||!N[e]||N[e].hidden||(N[e].previousWidth=r[e].offsetWidth);if(I.forceFitColumns)for(n=o=0,d=s+1;dI.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;dI.frozenColumn?u.width:r+=u.width);else for(d=s+1;dI.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;da?w:i):u.width=i,n=0));for(c=0;c<=s;c++)(u=N[c])&&!u.hidden&&(H()&&c>I.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;dI.frozenColumn?u.width:r+=u.width);else for(d=s+1;dI.frozenColumn?u.width:r+=u.width)}H()&&r!=g&&(D.width(St,r+1e3),D.setStyleSize(mt,"left",r)),$o(),I.syncColumnCellResize&&Qo(),b(C.onColumnsDrag,{triggeredByColumn:t.resizeableElement,resizeHandle:t.resizeableHandleElement})},onResizeEnd:function(e,t){t.resizeableElement.classList.remove("slick-header-column-active");var o,t=t.resizeableElement.id.replace(p,"");for(!0===b(C.onBeforeColumnsResize,{triggeredByColumn:t}).getReturnValue()&&$o(),d=0;d'}),e=(fe=e.content.firstChild,document.head.appendChild(fe),I.rowHeight-Ve),t=["."+p+" .slick-group-header-column { left: 1000px; }","."+p+" .slick-header-column { left: 1000px; }","."+p+" .slick-top-panel { height:"+I.topPanelHeight+"px; }","."+p+" .slick-preheader-panel { height:"+I.preHeaderPanelHeight+"px; }","."+p+" .slick-headerrow-columns { height:"+I.headerRowHeight+"px; }","."+p+" .slick-footerrow-columns { height:"+I.footerRowHeight+"px; }","."+p+" .slick-cell { height:"+e+"px; }","."+p+" .slick-row { height:"+I.rowHeight+"px; }"],o=0;oI.viewportMaxWidthPx?(t=I.viewportMaxWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport):I.viewportMinWidthPx&&tb*I.viewportSwitchToScrollModeWidthPercent/100||bw&&(m=r,w=Math.abs(r));m=""+m,m=Array(m.length+1).join("9"),u.valueArr=[m=+m],u.startIndex=u.endIndex=0}if(a.valueFilterMode===Slick.ValueFilterMode.GetLongestTextAndSub){for(l=u.startIndex;l<=u.endIndex;l++)((r=u.getRowVal(l))||"").length>d&&(d=r.length);r=Array(d+1).join("m"),s=I.autosizeTextAvgToMWidthRatio,u.maxLen=d,u.valueArr=[r],u.startIndex=u.endIndex=0}if(a.valueFilterMode===Slick.ValueFilterMode.GetLongestText){var g=d=0;for(l=u.startIndex;l<=u.endIndex;l++)((r=u.getRowVal(l))||"").length>d&&(d=r.length,g=l);r=u.getRowVal(g),u.maxLen=d,u.valueArr=[r],u.startIndex=u.endIndex=0}u.maxLen&&30e.maxWidth&&(a=e.maxWidth),(s.autosizeMode===Slick.ColAutosizeMode.ContentExpandOnly||e.editor&&e.editor.ControlFillsColumn)&&a!e.hidden)}function b(e,t,o){return o=o||new Slick.EventData(o,t),(t=t||{}).grid=C,e.notify(t,o,C)}function P(){return I.editorLock}function T(e){return it[e]}function $o(){if(We){let i=0,l=_o();y.forEach(function(t){for(let e=0;eI.frozenColumn?Ce:g)-o-e+"px",I.frozenColumn!=n&&(o+=N[n].width)),I.frozenColumn==n&&(o=0)}function Yo(o){let n=null;return y.every(function(e){var t=e.children.length;return ot.maxWidth&&(t.width=t.maxWidth)}}function on(e){b(C.onBeforeSetColumns,{previousColumns:N,newColumns:e,grid:C}),N=N=e,nn()}function nn(){tn(),en(),We&&(Wo(),Lo(),vn(),Ho(),Ro(),Fo(),Bo(),En(),xo(),$o(),Qo(),Vn(),o)&&o.refreshSelections&&o.refreshSelections()}function ln(){I.autoHeight&&(I.leaveSpaceForNewRows=!1),I.forceFitColumns&&(I.autosizeColsMode=Slick.GridAutosizeColsMode.LegacyForceFit,console.log("forceFitColumns option is deprecated - use autosizeColsMode"))}function B(){return x.getLength?x.getLength():x&&x.length||0}function rn(){return B()+(I.enableAddRow&&(!at||st)?1:0)}function F(e){return x.getItem?x.getItem(e):x[e]}function an(e,t,o,n){n=!1!==n;I[e]!=o&&((I[e]=o)?n?D.slideDown(t,En):(U(t),En()):n?D.slideUp(t,En):(l(t),En()))}function sn(e,t){an("showColumnHeader",Le,e,t)}function dn(e){return I.rowHeight*e-a}function cn(e){return Math.floor((e+a)/I.rowHeight)}function un(e){e=Math.max(e,0),e=Math.min(e,V-D.height(w)+(xe||H()?fl.height:0));var t,o=a,e=(X=Math.min(G-1,Math.floor(e/O)),e-(a=Math.round(X*j)));if(a!=o)for(t in gn(Rn(e)),A){t=t?parseInt(t):0;D.setStyleSize("top",dn(t))}Ye!=e&&(K=Ye+o`),i&&e.push("[object Object]"!==Object.prototype.toString.call(s)?s:s.text),e.push("
"),A[t].cellRenderQueue.push(o),A[t].cellColSpans[o]=n}function gn(e){for(var t in A){var o=!0;z&&(I.frozenBottom&&R<=t||!I.frozenBottom&&t<=R)&&(o=!1),(t=parseInt(t,10))!==k&&(te.bottom)&&o&&pn(t)}I.enableAsyncPostRenderCleanup&&Dn()}function vn(){for(var e in s&&bi(),A)pn(e);I.enableAsyncPostRenderCleanup&&Dn()}function pn(e){var t=A[e];if(t){if(I.enableAsyncPostRenderCleanup&&S[e]){var o,n=t,i=S[e],l=e;for(o in Jt++,i)i.hasOwnProperty(o)&&Zt.push({actionType:"C",groupId:Jt,node:n.cellNodesByColumnIdx[0|o],columnIdx:0|o,rowIdx:l});Zt.push({actionType:"R",groupId:Jt,node:n.rowNode}),n.rowNode.forEach(function(e){e.remove()})}else t.rowNode.forEach(function(e){e.parentElement&&e.parentElement.removeChild(e)});delete A[e],delete S[e],$e--,to++}}function Cn(e){var t,o;if(e&&e.length){for(K=0,o=e.length,t=0;tL?fl.height:0),I.rowHeight*rn()+(-1==I.frozenColumn?e:0)):(e=I.showColumnHeader?D.toFloat(D.height(Le[0]))+Io(Le[0]):0,t=I.createPreHeaderPanel&&I.showPreHeaderPanel?I.preHeaderPanelHeight+Io(le):0,o=getComputedStyle(W),D.toFloat(o.height)-D.toFloat(o.paddingTop)-D.toFloat(o.paddingBottom)-e-Xe-Ke-Ue-t),Qe=Math.ceil(ve/I.rowHeight)}function kn(){L=parseFloat(D.innerSize(W,"width"))}function En(){var e;We&&(qe=je=Ge=0,kn(),xn(),z?je=I.frozenBottom?(Ge=ve-Oe-fl.height,Oe+fl.height):ve-(Ge=Oe):Ge=ve,Ge+=Xe+Ke+Ue,H()&&I.autoHeight&&(Ge+=fl.height),qe=Ge-Xe-Ke-Ue,I.autoHeight&&(H()&&(e=getComputedStyle(Ct),D.height(W,Ge+D.toFloat(e.height))),wt.style.position="relative"),D.setStyleSize(wt,"top",D.height(ft)||(I.showHeaderRow?I.headerRowHeight:0)+(I.showPreHeaderPanel?I.preHeaderPanelHeight:0)),D.height(wt,Ge),e=wt.offsetTop+Ge,I.autoHeight||D.height(h,qe),H()?(D.setStyleSize(gt,"top",D.height(ft)),D.height(gt,Ge),D.height(Wt,qe),z&&(D.setStyleSize(vt,"top",e),D.height(vt,je),D.setStyleSize(pt,"top",e),D.height(pt,je),D.height(Lt,je))):z&&(D.width(vt,"100%"),D.height(vt,je),D.setStyleSize(vt,"top",e)),z?(D.height(f,je),I.frozenBottom?(D.height(Ft,Oe),H()&&D.height(Vt,Oe)):(D.height(Tt,Oe),H()&&D.height(Bt,Oe))):D.height(Wt,qe),fl&&fl.width||(fl=yo()),I.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&qo(),zn(),Vn(),Je=-1,Ln())}function zn(){if(We){var e,t=B(),o=rn(),n=0,o=(z&&!I.frozenBottom?D.height(Ft):D.height(Tt),n=z?B()-I.frozenRow:o+(I.leaveSpaceForNewRows?Qe-1:0),D.height(w)),i=ke,l=(ke=I.alwaysShowVerticalScroll||!I.autoHeight&&n*I.rowHeight>o,bi(),t-1);for(e in A)le.rightPx||rt[Math.min(N.length-1,o+n-1)]e.rightPx)break;null==(r=g.cellColSpans[c])&&(r=1,s&&"*"===(r=(l=s[N[c].id]||s[c])&&l.colspan||1)&&(r=u-c),rt[Math.min(u-1,c+r-1)]>e.leftPx)&&(wn(t,n,c,r,d),a++),c+=1I.frozenColumn?g.rowNode[1]:g.rowNode[0]).appendChild(f),g.cellNodesByColumnIdx[w]=f}function Nn(e){for(var t=[],o=[],n=[],i=!1,l=B(),r=e.top,a=e.bottom;r<=a;r++)if(!(A[r]||z&&I.frozenBottom&&r==B())){$e++,n.push(r),A[r]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},v=y=C=s=p=g=w=m=f=h=u=c=d=void 0;var s,d=t,c=o,u=r,h=e,f=l,m=F(u),f="slick-row"+(z&&u<=I.frozenRow?" frozen":"")+(u`;d.push(f),H()&&c.push(f);for(var v,p,C=0,y=N.length;Ch.leftPx){if(!s.alwaysRenderColumn&<[C]>h.rightPx)break;H()&&C>I.frozenColumn?wn(c,u,C,p,m):wn(d,u,C,p,m)}else(s.alwaysRenderColumn||H()&&C<=I.frozenColumn)&&wn(d,u,C,p,m);1"),H()&&c.push(""),M&&k===r&&(i=!0),eo++}if(n.length){for(var S=D.createDomElement("div",{innerHTML:hl(t.join(""))}),b=D.createDomElement("div",{innerHTML:hl(o.join(""))}),r=0,a=n.length;r{m.scrollLeft=c,Ot.scrollLeft=c,de[0].scrollLeft=c,I.createFooterRow&&(jt.scrollLeft=c),I.createPreHeaderPanel&&(H()?se.scrollLeft=c:le.scrollLeft=c),H()?(z&&(Wt.scrollLeft=c),kt.scrollLeft=c):(z&&(h.scrollLeft=c),xt.scrollLeft=c)},I.scrollDebounceDelay)()),o&&!I.autoHeight&&(K=Ye=B()||t<0||t>=N.length)}function hi(e,t){for(var t=cn(t),o=0,n=0,i=0;ie.scrollTop&&t.tope.scrollLeft&&t.leftd+o+a?(un(t?n:i),Ln()):e*I.rowHeight=N.length)return null;for(;(t+=Ti(e,t))=t)return l;l=i}}function Gi(e,t,o){for(var n,i=rn();;){if(++e>=i)return null;for(n=t=0;t<=o;)t+=Ti(e,n=t);if(il(e,n))return{row:e,cell:n,posX:o}}}function ji(e,t,o){for(var n;;){if(--e<0)return null;for(n=t=0;t<=o;)t+=Ti(e,n=t);if(il(e,n))return{row:e,cell:n,posX:o}}}function qi(e,t,o){if(null==e&&null==t&&il(e=t=0,t))return{row:e,cell:t,posX:t};t=Vi(e,t);if(t)return t;var n,i=rn();for(e===i-1&&e--;++e=R||I.frozenBottom&&e.rowo?A[t].cellNodesByColumnIdx[o]:null}catch(e){return A[t].cellNodesByColumnIdx[o]}}return null}function il(e,t){return!(!I.enableCellNavigation||e>=rn()||e<0||t>=N.length||t<0||!N[t]||N[t].hidden||((e=x.getItemMetadata&&x.getItemMetadata(e))&&void 0!==e.focusable?!e.focusable:(e=e&&e.columns)&&e[N[t].id]&&void 0!==e[N[t].id].focusable?!e[N[t].id].focusable:e&&e[t]&&void 0!==e[t].focusable?!e[t].focusable:!N[t].focusable))}function ll(e,t){return!(e>=B()||e<0||t>=N.length||t<0||!N[t]||N[t].hidden||((e=x.getItemMetadata&&x.getItemMetadata(e))&&void 0!==e.selectable?!e.selectable:(e=e&&e.columns&&(e.columns[N[t].id]||e.columns[t]))&&void 0!==e.selectable?!e.selectable:!N[t].selectable))}function rl(e,t,o,n){var i;We&&il(e,t)&&P().commitCurrentEdit()&&(pi(e,t,!1),i=nl(e,t),t=N[t],t=!!(I.editable&&t&&t.editor&&I.suppressActiveCellChangeOnEdit),yi(i,o||e===B()||I.autoEdit,null,t,n),s||vi())}function al(){var e,t,o=F(k),n=N[E];if(s){if(s.isValueChanged())return(e=s.validate()).valid?(kB()||e<0||t>=N.length||t<0||I.enableCellNavigation&&(pi(e,t,!1),yi(nl(e,t),o,n,i))},setActiveRow:function(e,t,o){!We||e>B()||e<0||t>=N.length||t<0||(k=e,o)||pi(e,t||0,!1)},getActiveCellNode:function(){return M},getActiveCellPosition:Ri,resetActiveCell:gi,editActiveCell:xi,getCellEditor:function(){return s},getCellNode:nl,getCellNodeBox:function(e,t){if(!ui(e,t))return null;for(var o=mi(e),o=(e=dn(e)-o)+I.rowHeight-1,n=0,i=0;i/g,">")},forceSyncScrolling:!1,addNewRowCssClass:"new-row",preserveCopiedSelectionOnPaste:!1,showCellSelection:!0,viewportClass:null,minRowBuffer:3,emulatePagingWhenScrolling:!0,editorCellNavOnLRKeys:!1,enableMouseWheelScrollHandler:!0,doPaging:!0,autosizeColsMode:Slick.GridAutosizeColsMode.LegacyOff,autosizeColPaddingPx:4,autosizeTextAvgToMWidthRatio:.75,viewportSwitchToScrollModeWidthPercent:void 0,viewportMinWidthPx:void 0,viewportMaxWidthPx:void 0,suppressCssChangesOnHiddenInit:!1,ffMaxSupportedCssHeight:6e6,maxSupportedCssHeight:1e9,sanitizer:void 0,logSanitizedHtml:!1},n={name:"",resizable:!0,sortable:!1,minWidth:30,maxWidth:void 0,rerenderOnResize:!1,headerCssClass:null,defaultSortAsc:!0,focusable:!0,selectable:!0,hidden:!1},q={ignoreHeaderText:!1,colValueArray:void 0,allowAddlPercent:void 0,formatterOverride:void 0,autosizeMode:Slick.ColAutosizeMode.ContentIntelligent,rowSelectionModeOnInit:void 0,rowSelectionMode:Slick.RowSelectionMode.FirstNRows,rowSelectionCount:100,valueFilterMode:Slick.ValueFilterMode.None,widthEvalMode:Slick.WidthEvalMode.Auto,sizeToRemaining:void 0,widthPx:void 0,contentSizePx:0,headerWidthPx:0,colDataTypeOf:void 0},X=0,a=0,K=1;const W=Slick.Utils,U=W.show,l=W.hide;var D,_,$,Q,Y,Z,J,ee,te,oe,ne,ie,le,re,ae,se,de,ce,ue,he,fe,me,we,ge,ve,L,pe,g,Ce,ye,Se,be,xe,ke,Ee,ze,Re,Me,k,E,Ae,He,o,Pe,Ne,Ie,We,v=new Slick.BindingEventService,De=!1,p="slickgrid_"+Math.round(1e6*Math.random()),C=this,Le=[],y=[],Te=[],Be=0,Fe=0,Ve=0,z=!1,Oe=0,R=-1,Ge=0,je=0,qe=0,Xe=0,Ke=0,Ue=0,_e=1,M=null,s=null,A={},$e=0,Qe=0,Ye=0,d=0,Ze=0,Je=0,et=0,c=0,tt=[],ot=[],nt={},it={},u=[],lt=[],rt=[],at=!1,st=!1,dt=(Pe=Ln,{enqueue:function(){Ie?We=!0:ut()},dequeue:ct});function ct(){We=!1}function ut(){Ie=!0,setTimeout(ht,Ne),Pe()}function ht(){We?(ct(),ut()):Ie=!1}var ft,mt,wt,gt,vt,pt,Ct,yt,St,bt,xt,kt,Et,zt,Rt,Mt,At,Ht,Pt,Nt,It,Wt,h,Dt,f,Lt,Tt,Bt,Ft,Vt,m,w,Ot,Gt,jt,qt,Xt,Kt,Ut=null,_t=null,$t=null,S={},Qt=null,Yt=null,Zt=[],Jt=0,eo=0,to=0,oo={position:"absolute",visibility:"hidden",display:"block"},no=[],io=We=Ie=!(Ne=50),lo=!1,ro=null,ao=[],so=[];function co(){if(!De){De=!0,kn(),xn();{var o=["borderLeftWidth","borderRightWidth","paddingLeft","paddingRight"],n=["borderTopWidth","borderBottomWidth","paddingTop","paddingBottom"],i=y[0];Be=0,Fe=Ve=0;let e=W.createDomElement("div",{className:"ui-state-default slick-header-column",style:{visibility:"hidden"},textContent:"-"},i),t=getComputedStyle(e);"border-box"!=t["box-sizing"]&&"border-box"!=t["-moz-box-sizing"]&&"border-box"!=t["-webkit-box-sizing"]&&(o.forEach(function(e){Be+=W.toFloat(t[e])}),n.forEach(function(e){W.toFloat(t[e])}));e.remove();i=W.createDomElement("div",{className:"slick-row"},he[0]);e=W.createDomElement("div",{className:"slick-cell",id:"",style:{visibility:"hidden",textContent:"-"}},i),"border-box"!=(t=getComputedStyle(e))["box-sizing"]&&"border-box"!=t["-moz-box-sizing"]&&"border-box"!=t["-webkit-box-sizing"]&&(o.forEach(function(e){Fe+=W.toFloat(t[e])}),n.forEach(function(e){Ve+=W.toFloat(t[e])}));i.remove(),Ee=Math.max(Be,Fe)}y.forEach(function(e){e.setAttribute("unselectable","on"),e.style.MozUserSelect="none",v.bind(e,"selectstart.ui",function(){return!1})}),I.enableTextSelectionOnCells||ue.forEach(function(e){v.bind(e,"selectstart.ui",function(e){e.target instanceof HTMLInputElement||e.target instanceof HTMLTextAreaElement})}),Wo(),Do(),To(),Lo(),en(),Ho(),Ro(),y.forEach(function(e){v.bind(e,"click",function(e){if(!lo&&!e.target.classList.contains("slick-resizable-handle")){var t=e.target.closest(".slick-header-column");if(t){var o=W.storage.get(t,"column");if(o.sortable&&P().commitCurrentEdit()){for(var t=u.slice(),n=null,i=0;i=R+(I.frozenBottom?0:1)?2:0)+(H()&&t>I.frozenColumn?1:0)]}function yo(){var e=W.createDomElement("div",{className:ue.className,style:{position:"absolute",top:"-10000px",left:"-10000px",overflow:"auto",width:"100px",height:"100px"}},document.body),t=W.createDomElement("div",{style:{width:"200px",height:"200px",overflow:"auto"}},e),o={width:e.offsetWidth-e.clientWidth,height:e.offsetHeight-e.clientHeight};return t.remove(),e.remove(),o}function So(){ye=Se=be=0;for(var e,t=!I.autoHeight,o=0,n=N.length;oI.frozenColumn?be+=e:Se+=e);return t&&(-1I.frozenColumn?be+=fl.width:Se+=fl.width),H()?(Se+=1e3,be=Math.max(be,L)+Se,be+=fl.width):(Se+=fl.width,Se=Math.max(Se,L)+1e3),ye=Se+be,Math.max(ye,L)+1e3}function bo(){var e=ke?L-fl.width:L,t=N.length;for(g=Ce=0;t--;)N[t]&&!N[t].hidden&&(H()&&t>I.frozenColumn?Ce+=N[t].width:g+=N[t].width);var o=g+Ce;return I.fullWidthRows&&0<(e=Math.max(o,e)-o)&&(o+=e,H()?Ce+=e:g+=e),o}function xo(e){var t=pe,o=g,n=Ce;if((t=(pe=bo())!==t||g!==o||Ce!==n)||H()||z)if(W.width(Tt,g),So(),W.width(St,Se),W.width(bt,be),H()){o=W.width(D)||0;if(0=L-fl.width,W.width(Z,pe+(ke?fl.width:0)),W.width(J,pe+(ke?fl.width:0)),I.createFooterRow&&(W.width(oe,pe+(ke?fl.width:0)),W.width(ne,pe+(ke?fl.width:0))),(t||e)&&Qo()}function ko(){return p}function Eo(e){return e?(e=T(e.id),!H()||e<=I.frozenColumn?St:bt):H()?y:St}function zo(){return ie}function Ro(){if(I.createFooterRow){ee.forEach(function(e){e.querySelectorAll(".slick-footerrow-column").forEach(function(e){var t=W.storage.get(e,"column");b(C.onBeforeFooterRowCellDestroy,{node:e,column:t,grid:C})})}),W.emptyElement(At),W.emptyElement(Ht);for(var e=0;eI.frozenColumn?Ht:At),(o=H()&&e<=I.frozenColumn?"frozen":null)&&t.classList.add(o),W.storage.put(t,"column",n),b(C.onFooterRowCellRendered,{node:t,column:n,grid:C}))}}}function Mo(e){e.target.classList.add("ui-state-hover")}function Ao(e){e.target.classList.remove("ui-state-hover")}function Ho(){y.forEach(function(e){e.querySelectorAll(".slick-header-column").forEach(function(e){var t=W.storage.get(e,"column");t&&b(C.onBeforeHeaderCellDestroy,{node:e,column:t,grid:C})})}),W.emptyElement(St),W.emptyElement(bt),So(),W.width(St,Se),W.width(bt,be),Q.forEach(function(e){e.querySelectorAll(".slick-headerrow-column").forEach(function(e){e=W.storage.get(e,"column");e&&b(C.onBeforeHeaderRowCellDestroy,{node:this,column:e,grid:C})})}),W.emptyElement(Rt),W.emptyElement(Mt),I.createFooterRow&&(At.querySelectorAll(".slick-footerrow-column").forEach(function(e){e=W.storage.get(e,"column");e&&b(C.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:C})}),W.emptyElement(At),H())&&(Ht.querySelectorAll(".slick-footerrow-column").forEach(function(e){e=W.storage.get(e,"column");e&&b(C.onBeforeFooterRowCellDestroy,{node:this,column:e,grid:C})}),W.emptyElement(Ht));for(var t,i,e,o=0;oW.offset(m).left,i=t&&e.originalEvent.pageX>D.clientWidth?i||setInterval(d,100):t&&e.originalEvent.pageX=N.length||!N[e]||N[e].hidden||N[e].resizable&&(void 0===t&&(t=e),o=e);if(void 0!==t)for(let s=0;s=N.length||!N[s]||N[s].hidden||s=o||(i=W.createDomElement("div",{className:"slick-resizable-handle",role:"separator",ariaOrientation:"horizontal"},l),v.bind(i,"dblclick",Po),so.push(Slick.Resizable({resizeableElement:l,resizeableHandleElement:i,onResizeStart:function(e,t){e=e.touches?e.touches[0]:e;if(!P().commitCurrentEdit())return!1;h=e.pageX,w=0,t.resizeableElement.classList.add("slick-header-column-active");var o=null,n=null;for(let e=0;e=N.length||!N[e]||N[e].hidden||(N[e].previousWidth=r[e].offsetWidth);if(I.forceFitColumns)for(n=o=0,d=s+1;dI.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;dI.frozenColumn?u.width:r+=u.width);else for(d=s+1;dI.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;da?w:i):u.width=i,n=0));for(c=0;c<=s;c++)(u=N[c])&&!u.hidden&&(H()&&c>I.frozenColumn?u.width:r+=u.width);if(I.forceFitColumns)for(n=-e,d=s+1;dI.frozenColumn?u.width:r+=u.width);else for(d=s+1;dI.frozenColumn?u.width:r+=u.width)}H()&&r!=g&&(W.width(St,r+1e3),W.setStyleSize(mt,"left",r)),$o(),I.syncColumnCellResize&&Qo(),b(C.onColumnsDrag,{triggeredByColumn:t.resizeableElement,resizeHandle:t.resizeableHandleElement})},onResizeEnd:function(e,t){t.resizeableElement.classList.remove("slick-header-column-active");var o,t=t.resizeableElement.id.replace(p,"");for(!0===b(C.onBeforeColumnsResize,{triggeredByColumn:t}).getReturnValue()&&$o(),d=0;d'}),e=(fe=e.content.firstChild,document.head.appendChild(fe),I.rowHeight-Ve),t=["."+p+" .slick-group-header-column { left: 1000px; }","."+p+" .slick-header-column { left: 1000px; }","."+p+" .slick-top-panel { height:"+I.topPanelHeight+"px; }","."+p+" .slick-preheader-panel { height:"+I.preHeaderPanelHeight+"px; }","."+p+" .slick-headerrow-columns { height:"+I.headerRowHeight+"px; }","."+p+" .slick-footerrow-columns { height:"+I.footerRowHeight+"px; }","."+p+" .slick-cell { height:"+e+"px; }","."+p+" .slick-row { height:"+I.rowHeight+"px; }"],o=0;oI.viewportMaxWidthPx?(t=I.viewportMaxWidthPx,e=Slick.GridAutosizeColsMode.FitColsToViewport):I.viewportMinWidthPx&&tb*I.viewportSwitchToScrollModeWidthPercent/100||bw&&(m=r,w=Math.abs(r));m=""+m,m=Array(m.length+1).join("9"),u.valueArr=[m=+m],u.startIndex=u.endIndex=0}if(a.valueFilterMode===Slick.ValueFilterMode.GetLongestTextAndSub){for(l=u.startIndex;l<=u.endIndex;l++)((r=u.getRowVal(l))||"").length>d&&(d=r.length);r=Array(d+1).join("m"),s=I.autosizeTextAvgToMWidthRatio,u.maxLen=d,u.valueArr=[r],u.startIndex=u.endIndex=0}if(a.valueFilterMode===Slick.ValueFilterMode.GetLongestText){var g=d=0;for(l=u.startIndex;l<=u.endIndex;l++)((r=u.getRowVal(l))||"").length>d&&(d=r.length,g=l);r=u.getRowVal(g),u.maxLen=d,u.valueArr=[r],u.startIndex=u.endIndex=0}u.maxLen&&30e.maxWidth&&(a=e.maxWidth),(s.autosizeMode===Slick.ColAutosizeMode.ContentExpandOnly||e.editor&&e.editor.ControlFillsColumn)&&a!e.hidden)}function b(e,t,o){return o=o||new Slick.EventData(o,t),(t=t||{}).grid=C,e.notify(t,o,C)}function P(){return I.editorLock}function T(e){return it[e]}function $o(){if(De){let i=0,l=_o();y.forEach(function(t){for(let e=0;eI.frozenColumn?Ce:g)-o-e+"px",I.frozenColumn!=n&&(o+=N[n].width)),I.frozenColumn==n&&(o=0)}function Yo(o){let n=null;return y.every(function(e){var t=e.children.length;return ot.maxWidth&&(t.width=t.maxWidth)}}function on(e){b(C.onBeforeSetColumns,{previousColumns:N,newColumns:e,grid:C}),N=N=e,nn()}function nn(){tn(),en(),De&&(Do(),Lo(),vn(),Ho(),Ro(),Fo(),Bo(),En(),xo(),$o(),Qo(),Vn(),o)&&o.refreshSelections&&o.refreshSelections()}function ln(){I.autoHeight&&(I.leaveSpaceForNewRows=!1),I.forceFitColumns&&(I.autosizeColsMode=Slick.GridAutosizeColsMode.LegacyForceFit,console.log("forceFitColumns option is deprecated - use autosizeColsMode"))}function B(){return x.getLength?x.getLength():x&&x.length||0}function rn(){return B()+(I.enableAddRow&&(!at||st)?1:0)}function F(e){return x.getItem?x.getItem(e):x[e]}function an(e,t,o,n){n=!1!==n;I[e]!=o&&((I[e]=o)?n?W.slideDown(t,En):(U(t),En()):n?W.slideUp(t,En):(l(t),En()))}function sn(e,t){an("showColumnHeader",Le,e,t)}function dn(e){return I.rowHeight*e-a}function cn(e){return Math.floor((e+a)/I.rowHeight)}function un(e){e=Math.max(e,0),e=Math.min(e,V-W.height(w)+(xe||H()?fl.height:0));var t,o=a,e=(X=Math.min(G-1,Math.floor(e/O)),e-(a=Math.round(X*j)));if(a!=o)for(t in gn(Rn(e)),A){t=t?parseInt(t):0;W.setStyleSize("top",dn(t))}Ye!=e&&(K=Ye+o`),i&&e.push("[object Object]"!==Object.prototype.toString.call(s)?s:s.text),e.push(""),A[t].cellRenderQueue.push(o),A[t].cellColSpans[o]=n}function gn(e){for(var t in A){var o=!0;z&&(I.frozenBottom&&R<=t||!I.frozenBottom&&t<=R)&&(o=!1),(t=parseInt(t,10))!==k&&(te.bottom)&&o&&pn(t)}I.enableAsyncPostRenderCleanup&&Wn()}function vn(){for(var e in s&&bi(),A)pn(e);I.enableAsyncPostRenderCleanup&&Wn()}function pn(e){var t=A[e];if(t){if(I.enableAsyncPostRenderCleanup&&S[e]){var o,n=t,i=S[e],l=e;for(o in Jt++,i)i.hasOwnProperty(o)&&Zt.push({actionType:"C",groupId:Jt,node:n.cellNodesByColumnIdx[0|o],columnIdx:0|o,rowIdx:l});Zt.push({actionType:"R",groupId:Jt,node:n.rowNode}),n.rowNode.forEach(function(e){e.remove()})}else t.rowNode.forEach(function(e){e.parentElement&&e.parentElement.removeChild(e)});delete A[e],delete S[e],$e--,to++}}function Cn(e){var t,o;if(e&&e.length){for(K=0,o=e.length,t=0;tL?fl.height:0),I.rowHeight*rn()+(-1==I.frozenColumn?e:0)):(e=I.showColumnHeader?W.toFloat(W.height(Le[0]))+Io(Le[0]):0,t=I.createPreHeaderPanel&&I.showPreHeaderPanel?I.preHeaderPanelHeight+Io(le):0,o=getComputedStyle(D),W.toFloat(o.height)-W.toFloat(o.paddingTop)-W.toFloat(o.paddingBottom)-e-Xe-Ke-Ue-t),Qe=Math.ceil(ve/I.rowHeight)}function kn(){L=parseFloat(W.innerSize(D,"width"))}function En(){var e;De&&(qe=je=Ge=0,kn(),xn(),z?je=I.frozenBottom?(Ge=ve-Oe-fl.height,Oe+fl.height):ve-(Ge=Oe):Ge=ve,Ge+=Xe+Ke+Ue,H()&&I.autoHeight&&(Ge+=fl.height),qe=Ge-Xe-Ke-Ue,I.autoHeight&&(H()&&(e=getComputedStyle(Ct),W.height(D,Ge+W.toFloat(e.height))),wt.style.position="relative"),W.setStyleSize(wt,"top",W.height(ft)||(I.showHeaderRow?I.headerRowHeight:0)+(I.showPreHeaderPanel?I.preHeaderPanelHeight:0)),W.height(wt,Ge),e=wt.offsetTop+Ge,I.autoHeight||W.height(h,qe),H()?(W.setStyleSize(gt,"top",W.height(ft)),W.height(gt,Ge),W.height(Dt,qe),z&&(W.setStyleSize(vt,"top",e),W.height(vt,je),W.setStyleSize(pt,"top",e),W.height(pt,je),W.height(Lt,je))):z&&(W.width(vt,"100%"),W.height(vt,je),W.setStyleSize(vt,"top",e)),z?(W.height(f,je),I.frozenBottom?(W.height(Ft,Oe),H()&&W.height(Vt,Oe)):(W.height(Tt,Oe),H()&&W.height(Bt,Oe))):W.height(Dt,qe),fl&&fl.width||(fl=yo()),I.autosizeColsMode===Slick.GridAutosizeColsMode.LegacyForceFit&&qo(),zn(),Vn(),Je=-1,Ln())}function zn(){if(De){var e,t=B(),o=rn(),n=0,o=(z&&!I.frozenBottom?W.height(Ft):W.height(Tt),n=z?B()-I.frozenRow:o+(I.leaveSpaceForNewRows?Qe-1:0),W.height(w)),i=ke,l=(ke=I.alwaysShowVerticalScroll||!I.autoHeight&&n*I.rowHeight>o,bi(),t-1);for(e in A)le.rightPx||rt[Math.min(N.length-1,o+n-1)]e.rightPx)break;null==(r=g.cellColSpans[c])&&(r=1,s&&"*"===(r=(l=s[N[c].id]||s[c])&&l.colspan||1)&&(r=u-c),rt[Math.min(u-1,c+r-1)]>e.leftPx)&&(wn(t,n,c,r,d),a++),c+=1I.frozenColumn?g.rowNode[1]:g.rowNode[0]).appendChild(f),g.cellNodesByColumnIdx[w]=f}function Nn(e){for(var t=[],o=[],n=[],i=!1,l=B(),r=e.top,a=e.bottom;r<=a;r++)if(!(A[r]||z&&I.frozenBottom&&r==B())){$e++,n.push(r),A[r]={rowNode:null,cellColSpans:[],cellNodesByColumnIdx:[],cellRenderQueue:[]},v=y=C=s=p=g=w=m=f=h=u=c=d=void 0;var s,d=t,c=o,u=r,h=e,f=l,m=F(u),f="slick-row"+(z&&u<=I.frozenRow?" frozen":"")+(u`;d.push(f),H()&&c.push(f);for(var v,p,C=0,y=N.length;Ch.leftPx){if(!s.alwaysRenderColumn&<[C]>h.rightPx)break;H()&&C>I.frozenColumn?wn(c,u,C,p,m):wn(d,u,C,p,m)}else(s.alwaysRenderColumn||H()&&C<=I.frozenColumn)&&wn(d,u,C,p,m);1"),H()&&c.push(""),M&&k===r&&(i=!0),eo++}if(n.length){for(var S=W.createDomElement("div",{innerHTML:hl(t.join(""))}),b=W.createDomElement("div",{innerHTML:hl(o.join(""))}),r=0,a=n.length;r=B()||t<0||t>=N.length)}function hi(e,t){for(var t=cn(t),o=0,n=0,i=0;ie.scrollTop&&t.tope.scrollLeft&&t.leftd+o+a?(un(t?n:i),Ln()):e*I.rowHeight=N.length)return null;for(;(t+=Ti(e,t))=t)return l;l=i}}function Gi(e,t,o){for(var n,i=rn();;){if(++e>=i)return null;for(n=t=0;t<=o;)t+=Ti(e,n=t);if(il(e,n))return{row:e,cell:n,posX:o}}}function ji(e,t,o){for(var n;;){if(--e<0)return null;for(n=t=0;t<=o;)t+=Ti(e,n=t);if(il(e,n))return{row:e,cell:n,posX:o}}}function qi(e,t,o){if(null==e&&null==t&&il(e=t=0,t))return{row:e,cell:t,posX:t};t=Vi(e,t);if(t)return t;var n,i=rn();for(e===i-1&&e--;++e=R||I.frozenBottom&&e.rowo?A[t].cellNodesByColumnIdx[o]:null}catch(e){return A[t].cellNodesByColumnIdx[o]}}return null}function il(e,t){return!(!I.enableCellNavigation||e>=rn()||e<0||t>=N.length||t<0||!N[t]||N[t].hidden||((e=x.getItemMetadata&&x.getItemMetadata(e))&&void 0!==e.focusable?!e.focusable:(e=e&&e.columns)&&e[N[t].id]&&void 0!==e[N[t].id].focusable?!e[N[t].id].focusable:e&&e[t]&&void 0!==e[t].focusable?!e[t].focusable:!N[t].focusable))}function ll(e,t){return!(e>=B()||e<0||t>=N.length||t<0||!N[t]||N[t].hidden||((e=x.getItemMetadata&&x.getItemMetadata(e))&&void 0!==e.selectable?!e.selectable:(e=e&&e.columns&&(e.columns[N[t].id]||e.columns[t]))&&void 0!==e.selectable?!e.selectable:!N[t].selectable))}function rl(e,t,o,n){var i;De&&il(e,t)&&P().commitCurrentEdit()&&(pi(e,t,!1),i=nl(e,t),t=N[t],t=!!(I.editable&&t&&t.editor&&I.suppressActiveCellChangeOnEdit),yi(i,o||e===B()||I.autoEdit,null,t,n),s||vi())}function al(){var e,t,o=F(k),n=N[E];if(s){if(s.isValueChanged())return(e=s.validate()).valid?(kB()||e<0||t>=N.length||t<0||I.enableCellNavigation&&(pi(e,t,!1),yi(nl(e,t),o,n,i))},setActiveRow:function(e,t,o){!De||e>B()||e<0||t>=N.length||t<0||(k=e,o)||pi(e,t||0,!1)},getActiveCellNode:function(){return M},getActiveCellPosition:Ri,resetActiveCell:gi,editActiveCell:xi,getCellEditor:function(){return s},getCellNode:nl,getCellNodeBox:function(e,t){if(!ui(e,t))return null;for(var o=mi(e),o=(e=dn(e)-o)+I.rowHeight-1,n=0,i=0;i':"")+""+o.title+""):o.title},totalsFormatter:function(e,s,t,l,o,a){return l.groupTotalsFormatter&&l.groupTotalsFormatter(o,l,a)||""},includeHeaderTotals:!1},e);function t(e,s){var t,l=e.target,s=this.getDataItem(s.row);s&&s instanceof Slick.Group&&l.classList.contains(n.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.classList.contains(n.checkboxSelectCssClass)&&(s.selectChecked=!s.selectChecked,l.classList.remove(s.selectChecked?"unchecked":"checked"),l.classList.add(s.selectChecked?"checked":"unchecked"),t=o.getData().mapItemsToRows(s.rows),(s.selectChecked?n.checkboxSelectPlugin.selectRows:n.checkboxSelectPlugin.deSelectRows)(t))}function l(e,s){var t,l;n.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(t),o.onKeyDown.subscribe(l)},destroy:function(){o&&(o.onClick.unsubscribe(t),o.onKeyDown.unsubscribe(l))},getGroupRowMetadata:function(e){return e=e&&e.level,{selectable:!1,focusable:n.groupFocusable,cssClasses:n.groupCssClass+" slick-group-level-"+e,formatter:n.includeHeaderTotals&&n.totalsFormatter,columns:{0:{colspan:n.includeHeaderTotals?"1":"*",formatter:n.groupFormatter,editor:null}}}},getTotalsRowMetadata:function(e){return e=e&&e.group&&e.group.level,{selectable:!1,focusable:n.totalsFocusable,cssClasses:n.totalsCssClass+" slick-group-level-"+e,formatter:n.totalsFormatter,editor:null}},getOptions:function(){return n},setOptions:function(e){s.extend(!0,n,e)}}}; \ No newline at end of file diff --git a/dist/slick.interactions.min.js b/dist/slick.interactions.min.js index 73e1954f..0d74665b 100644 --- a/dist/slick.interactions.min.js +++ b/dist/slick.interactions.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.interactions.js */ Slick.Utils.extend(Slick,{Draggable:function(r){let{containerElement:e,onDragInit:a,onDragStart:n,onDrag:o,onDragEnd:i}=r,d,s,l,u,c,m;if(!(e=e||document)||"function"!=typeof e.addEventListener)throw new Error("[Slick.Draggable] You did not provide a valid container html element that will be used for dragging.");let v={dragSource:e,dragHandle:null};function h(e,t,n){"function"==typeof e&&e(t,n)}function t(e){d=e.target;var t,n=e.touches?e.touches[0]:e,o=n["target"];(!r.allowDragFrom||r.allowDragFrom&&d.matches(r.allowDragFrom))&&(v.dragHandle=d,t={left:window.pageXOffset||document.documentElement.scrollLeft||0,top:window.pageYOffset||document.documentElement.scrollTop||0},s=t.left+n.clientX,l=t.top+n.clientY,u=n.clientX-n.clientX,c=n.clientY-n.clientY,v=Object.assign(v,{deltaX:u,deltaY:c,startX:s,startY:l,target:o}),h(a,e,v),document.addEventListener("mousemove",E),document.addEventListener("touchmove",E),document.addEventListener("mouseup",f),document.addEventListener("touchend",f),document.addEventListener("touchcancel",f))}function E(e){var t=e.touches?e.touches[0]:e,t=(u=t.clientX-s,c=t.clientY-l,t)["target"];m||(v=Object.assign(v,{deltaX:u,deltaY:c,startX:s,startY:l,target:t}),h(n,e,v),m=!0),v=Object.assign(v,{deltaX:u,deltaY:c,startX:s,startY:l,target:t}),h(o,e,v)}function f(e){var t=e["target"];v=Object.assign(v,{target:t}),h(i,e,v),document.removeEventListener("mousemove",E),document.removeEventListener("touchmove",E),document.removeEventListener("mouseup",f),document.removeEventListener("touchend",f),document.removeEventListener("touchcancel",f),m=!1}return e&&(e.addEventListener("mousedown",t),e.addEventListener("touchstart",t)),{destroy:function(){e&&(e.removeEventListener("mousedown",t),e.removeEventListener("touchstart",t))}}},MouseWheel:function(e){let{element:t,onMouseWheel:a}=e;function n(e){var t=e||window.event;let n=0,o=0,r=0;t.wheelDelta&&(n=t.wheelDelta/120),t.detail&&(n=-t.detail/3),r=n,void 0!==t.axis&&t.axis===t.HORIZONTAL_AXIS&&(r=0,o=-1*n),void 0!==t.wheelDeltaY&&(r=t.wheelDeltaY/120),void 0!==t.wheelDeltaX&&(o=-1*t.wheelDeltaX/120),"function"==typeof a&&a(e,n,o,r)}return t.addEventListener("wheel",n),t.addEventListener("mousewheel",n),{destroy:function(){t.removeEventListener("wheel",n),t.removeEventListener("mousewheel",n)}}},Resizable:function(e){const{resizeableElement:n,resizeableHandleElement:o,onResizeStart:t,onResize:r,onResizeEnd:a}=e;if(o&&"function"==typeof o.addEventListener)return o.addEventListener("mousedown",d),o.addEventListener("touchstart",d),{destroy:function(){o&&"function"==typeof o.removeEventListener&&(o.removeEventListener("mousedown",d),o.removeEventListener("touchstart",d))}};throw new Error("[Slick.Resizable] You did not provide a valid html element that will be used for the handle to resize.");function i(e,t){"function"==typeof e&&e(t,{resizeableElement:n,resizeableHandleElement:o})}function d(e){e.preventDefault();e=e.touches?e.changedTouches[0]:e;i(t,e),document.addEventListener("mousemove",s),document.addEventListener("mouseup",l),document.addEventListener("touchmove",s),document.addEventListener("touchend",l)}function s(e){e.preventDefault&&"touchmove"!==e.type&&e.preventDefault();e=e.touches?e.changedTouches[0]:e;"function"==typeof r&&(r(e,{resizeableElement:n,resizeableHandleElement:o}),r(e,{resizeableElement:n,resizeableHandleElement:o}))}function l(e){e=e.touches?e.changedTouches[0]:e;i(a,e),document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",l),document.removeEventListener("touchmove",s),document.removeEventListener("touchend",l)}}}); \ No newline at end of file diff --git a/dist/slick.remotemodel-yahoo.min.js b/dist/slick.remotemodel-yahoo.min.js index ab4da0a0..6f78d590 100644 --- a/dist/slick.remotemodel-yahoo.min.js +++ b/dist/slick.remotemodel-yahoo.min.js @@ -1,9 +1,9 @@ /** - * SlickGrid v4.0.0 + * SlickGrid v4.0.1 * (c) 2009-present Michael Leibman * homepage: http://github.com/mleibman/slickgrid * license: MIT - * date: 2023-06-28 + * date: 2023-06-30 * file: ./slick.remotemodel-yahoo.js */ !function(v){v.extend(!0,window,{Slick:{Data:{RemoteModel:function(){var l=10,f={length:0},i=null,c=null,s=new Slick.Event,d=new Slick.Event;function r(e,o){if(c){c.abort();for(var t=c.fromPage;t<=c.toPage;t++)f[t*l]=void 0}e<0&&(e=0),0