@revolist/revogrid 4.23.0 → 4.23.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{cell-renderer-DWJ9Px9f.js → cell-renderer-Dcz022q7.js} +1 -1
- package/dist/cjs/{column.drag.plugin-CaEBDG-Q.js → column.drag.plugin-DJueWxN_.js} +2 -2
- package/dist/cjs/{column.service-f612L4ql.js → column.service-C1Qvcf5l.js} +9 -0
- package/dist/cjs/{header-cell-renderer-4yq9_WbM.js → header-cell-renderer-QrcXXSkF.js} +1 -1
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/revo-grid.cjs.entry.js +92 -6
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +55 -20
- package/dist/collection/components/header/revogr-header.js +49 -16
- package/dist/collection/components/revoGrid/revo-grid.js +63 -0
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +4 -2
- package/dist/collection/plugins/groupingRow/grouping.service.js +9 -0
- package/dist/collection/services/selection.store.connector.js +26 -3
- package/dist/esm/{cell-renderer-8UiGd-s7.js → cell-renderer-BtN-NGCk.js} +1 -1
- package/dist/esm/{column.drag.plugin-BsfhsfmB.js → column.drag.plugin-DCZW62Uc.js} +2 -2
- package/dist/esm/{column.service-DbpulTog.js → column.service-CC_SD8W3.js} +9 -0
- package/dist/esm/{header-cell-renderer-DGI2FAD8.js → header-cell-renderer-BsvUQ8GS.js} +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/revo-grid.entry.js +92 -6
- package/dist/esm/revogr-attribution_7.entry.js +1 -1
- package/dist/esm/revogr-data_4.entry.js +55 -20
- package/dist/revo-grid/{cell-renderer-8UiGd-s7.js → cell-renderer-BtN-NGCk.js} +1 -1
- package/dist/revo-grid/{column.drag.plugin-BsfhsfmB.js → column.drag.plugin-DCZW62Uc.js} +2 -2
- package/dist/revo-grid/{column.service-DbpulTog.js → column.service-CC_SD8W3.js} +9 -0
- package/dist/revo-grid/{header-cell-renderer-DGI2FAD8.js → header-cell-renderer-BsvUQ8GS.js} +1 -1
- package/dist/revo-grid/index.esm.js +5 -5
- package/dist/revo-grid/revo-grid.entry.js +92 -6
- package/dist/revo-grid/revogr-attribution_7.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +55 -20
- package/dist/types/components/header/header-group-renderer.d.ts +1 -0
- package/dist/types/components/header/revogr-header.d.ts +2 -0
- package/dist/types/components/revoGrid/revo-grid.d.ts +12 -0
- package/dist/types/services/selection.store.connector.d.ts +6 -0
- package/dist/types/types/selection.d.ts +13 -0
- package/hydrate/index.js +150 -20
- package/hydrate/index.mjs +150 -20
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as e,proxyCustomElement as t,HTMLElement as i,createEvent as r,transformTag as s}from"@stencil/core/internal/client";import{M as o,D as n,d as h,H as l,F as a,e as d,f as c}from"./consts.js";import"./platform.js";import{a as u}from"./dimension.helpers.js";import{c as v}from"./filter.button.js";import{Q as g}from"./column.service.js";function p(e,t,i){const r=new CustomEvent(t,{detail:i,cancelable:!0,bubbles:!0});return null==e||e.dispatchEvent(r),r}function b(e,t,i){return e.preventDefault(),p(e.target,t,i)}const f=({column:t})=>{var i;const r={class:null!==(i=null==t?void 0:t.order)&&void 0!==i?i:"sort-off"};return e("span",Object.assign({},{class:"sort-indicator"}),e("i",Object.assign({},r)),(null==t?void 0:t.sortIndex)?e("sup",Object.assign({},{class:"sort-order-index"}),t.sortIndex):null)};var m;!function(e){e.start="resize:start",e.move="resize:move",e.end="resize:end"}(m||(m={}));const z={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};class x{constructor(e,t){var i,r,s;this.initialProps=e,this.$event=t,this.mouseX=0,this.mouseY=0,this.width=0,this.height=0,this.changeX=0,this.changeY=0,this.disableCalcMap=15,this.props=(s=e,Object.assign(Object.assign({},s),{fitParent:s.fitParent||!1,active:s.active||[],disableAttributes:s.disableAttributes||[],minWidth:s.minWidth||0,minHeight:s.minHeight||0})),this.mouseMoveFunc=this.handleMove.bind(this),this.mouseUpFunc=this.handleUp.bind(this),this.minW=this.props.minWidth,this.minH=this.props.minHeight,this.maxW=null!==(i=this.props.maxWidth)&&void 0!==i?i:0,this.maxH=null!==(r=this.props.maxHeight)&&void 0!==r?r:0,this.parent={width:0,height:0},this.resizeState=0}set(e){this.$el=e,this.props.disableAttributes.forEach((e=>{switch(e){case"l":this.disableCalcMap&=-2;break;case"t":this.disableCalcMap&=-3;break;case"w":this.disableCalcMap&=-5;break;case"h":this.disableCalcMap&=-9}}))}emitEvent(e,t){var i;if(!this.$event)return;const r=null===(i=this.activeResizer)||void 0===i?void 0:i.classList.contains("resizable-l");this.$event(Object.assign({eventName:e,width:this.width+this.changeX*(r?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},t))}static isTouchEvent(e){var t;return(null===(t=e.touches)||void 0===t?void 0:t.length)>=0}handleMove(e){var t;if(!this.resizeState)return;let i,r;x.isTouchEvent(e)?(i=e.touches[0].clientY,r=e.touches[0].clientX):(i=e.clientY,r=e.clientX);let s=this.resizeState&z["resizable-r"].bit||this.resizeState&z["resizable-l"].bit;if((this.resizeState&z["resizable-t"].bit||this.resizeState&z["resizable-b"].bit)&&8&this.disableCalcMap){let e=this.changeY+(i-this.mouseY);const t=this.height+e;t<this.minH&&(e=-(this.height-this.minH)),this.maxH&&t>this.maxH&&(e=this.maxH-this.height),this.changeY=e,this.mouseY=i,this.activeResizer&&(this.activeResizer.style.bottom=-this.changeY+"px")}if(s&&4&this.disableCalcMap){const e=null===(t=this.activeResizer)||void 0===t?void 0:t.classList.contains("resizable-l");let i=this.changeX+(r-this.mouseX);const s=this.width+i*(e?-1:1);s<this.minW&&(i=-(this.width-this.minW)),this.maxW&&s>this.maxW&&(i=this.maxW-this.width),this.changeX=i,this.mouseX=r,this.activeResizer&&(e?this.activeResizer.style.left=`${this.changeX}px`:this.activeResizer.style.right=-this.changeX+"px")}this.emitEvent(m.move)}handleDown(e){if(!e.defaultPrevented){e.preventDefault(),this.dropInitial();for(let t in z){const i=e.target;if(this.$el.contains(i)&&(null==i?void 0:i.classList.contains(t))){document.body.style.cursor=z[t].cursor,x.isTouchEvent(e)?this.setInitials(e.touches[0],i):(e.preventDefault&&e.preventDefault(),this.setInitials(e,i)),this.resizeState=z[t].bit,this.emitEvent(m.start);break}}this.bindMove()}}handleUp(e){e.preventDefault(),0!==this.resizeState&&(this.resizeState=0,document.body.style.cursor="",this.emitEvent(m.end)),this.dropInitial(),this.unbindMove()}setInitials({clientX:e,clientY:t},i){var r,s,o,n;const h=getComputedStyle(this.$el);if(this.$el.classList.add("active"),this.activeResizer=i,4&this.disableCalcMap){this.mouseX=e,this.width=this.$el.clientWidth,this.parent.width=null!==(s=null===(r=this.$el.parentElement)||void 0===r?void 0:r.clientWidth)&&void 0!==s?s:0;const t=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight);this.minW=Math.max(t,this.initialProps.minWidth||0),this.initialProps.maxWidth&&(this.maxW=Math.max(this.width,this.initialProps.maxWidth))}if(8&this.disableCalcMap){this.mouseY=t,this.height=this.$el.clientHeight,this.parent.height=null!==(n=null===(o=this.$el.parentElement)||void 0===o?void 0:o.clientHeight)&&void 0!==n?n:0;const e=parseFloat(h.paddingTop)+parseFloat(h.paddingBottom);this.minH=Math.max(e,this.initialProps.minHeight||0),this.initialProps.maxHeight&&(this.maxH=Math.max(this.height,this.initialProps.maxHeight))}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH,this.width=this.height=0,this.activeResizer&&this.activeResizer.removeAttribute("style"),this.$el.classList.remove("active"),this.activeResizer=void 0}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,!0),document.documentElement.addEventListener("touchend",this.mouseUpFunc,!0),document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,!0),document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,!0),document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,!0),document.documentElement.removeEventListener("touchend",this.mouseUpFunc,!0),document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,!0),document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,!0),document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const w=(t,i)=>{const r=[],s=t.canResize&&new x(t,(e=>{var i;e.eventName===m.end&&(null===(i=t.onResize)||void 0===i||i.call(t,e))}))||null;if(t.active)if(t.canResize)for(let i in t.active)r.push(e("div",{onClick:e=>e.preventDefault(),onDblClick:e=>{var i;e.preventDefault(),null===(i=t.onDblClick)||void 0===i||i.call(t,e)},onMouseDown:e=>null==s?void 0:s.handleDown(e),onTouchStart:e=>null==s?void 0:s.handleDown(e),class:`resizable resizable-${t.active[i]}`}));else for(let i in t.active)r.push(e("div",{onClick:e=>e.preventDefault(),onTouchStart:e=>e.preventDefault(),onDblClick:e=>{var i;e.preventDefault(),null===(i=t.onDblClick)||void 0===i||i.call(t,e)},class:"no-resize"}));return e("div",Object.assign({},t,{ref:e=>e&&(null==s?void 0:s.set(e))}),i,r)},C="columnclick",H=({data:t,props:i,additionalData:r},s)=>{let o=(null==t?void 0:t.name)||"",n=i;if((null==t?void 0:t.columnTemplate)&&(o=t.columnTemplate(e,t,r)),null==t?void 0:t.columnProperties){const e=t.columnProperties(t);e&&(n=g(i,e))}const h=Object.assign(Object.assign({},n),{onMouseDown(e){p(e.currentTarget,C,{data:t,event:e})}});return e(w,Object.assign({},h),e("div",{class:"header-content"},o),s)},k=t=>{var i,r,s,d,c,u,g;const p={[l]:!0,[h]:!!(null===(i=t.data)||void 0===i?void 0:i.sortable)};(null===(r=t.data)||void 0===r?void 0:r.order)&&(p[t.data.order]=!0);const b={key:String(null!==(d=null===(s=t.data)||void 0===s?void 0:s.prop)&&void 0!==d?d:t.column.itemIndex),[n]:t.column.itemIndex,canResize:t.canResize,minWidth:(null===(c=t.data)||void 0===c?void 0:c.minSize)||o,maxWidth:null===(u=t.data)||void 0===u?void 0:u.maxSize,active:t.active||["r"],class:p,style:{width:`${t.column.size}px`,transform:`translateX(${t.column.start-(t.renderOffset||0)}px)`},onResize:t.onResize,onDblClick(e){var i;null===(i=t.onDblClick)||void 0===i||i.call(t,{column:t.data,index:t.column.itemIndex,originalEvent:e,providers:t.data.providers})},onClick(e){!e.defaultPrevented&&t.onClick&&t.onClick({column:t.data,index:t.column.itemIndex,originalEvent:e,providers:t.data.providers})}};return t.range&&t.column.itemIndex>=t.range.x&&t.column.itemIndex<=t.range.x1&&"object"==typeof b.class&&(b.class[a]=!0),e(H,{data:t.data,props:b,additionalData:t.additionalData},e(f,{column:t.data}),t.canFilter&&!1!==(null===(g=t.data)||void 0===g?void 0:g.filter)?e(v,{column:t.data}):"")},y=t=>{const i={key:`${t.group.name}-${t.group.indexes.join("-")}`,canResize:t.canResize,minWidth:t.group.indexes.length*o,maxWidth:0,active:t.active||["r"],class:{[l]:!0},style:{transform:`translateX(${t.start-(t.renderOffset||0)}px)`,width:t.end-t.start+"px"},onResize:t.onResize};return e(H,{data:Object.assign(Object.assign({},t.group),{prop:"",providers:t.providers,index:t.start}),props:i,additionalData:t.additionalData})},j=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.initialHeaderClick=r(this,"beforeheaderclick",7),this.headerresize=r(this,"headerresize",7),this.beforeResize=r(this,"beforeheaderresize",7),this.headerdblClick=r(this,"headerdblclick",7),this.beforeHeaderRender=r(this,"beforeheaderrender",7),this.beforeGroupHeaderRender=r(this,"beforegroupheaderrender",7),this.afterHeaderRender=r(this,"afterheaderrender",7),this.groupingDepth=0,this.additionalData={}}onResize({width:e},t){this.beforeResize.emit([Object.assign(Object.assign({},this.colData[t]),{size:e||void 0})]).defaultPrevented||this.headerresize.emit({[t]:e||0})}onResizeGroup(e,t,i){const r={},s=e/(i-t+1);for(let e=t;e<=i;e++){const t=u(this.dimensionCol.state,e);r[e]=t.end-t.start+s}this.headerresize.emit(r)}componentDidRender(){this.afterHeaderRender.emit(this.providers)}render(){var t;const i=this.viewportCol.get("items"),r=null===(t=this.selectionStore)||void 0===t?void 0:t.get("range"),{cells:s}=this.renderHeaderColumns(i,r),o=this.renderGroupingColumns();return[e("div",{key:"3cc466db6bc4df0cd61c47a22c3a0473318e5dd8",class:"group-rgRow"},o),e("div",{key:"9742a3fa4d4b75073aef5544806f42386ebffdea",class:`${d} ${c}`},s)]}renderHeaderColumns(t,i){const r=[],s=this.viewportCol.get("renderOffset")||0;for(let e of t){const t={range:i,column:e,data:Object.assign(Object.assign({},this.colData[e.itemIndex]),{index:e.itemIndex,providers:this.providers}),canFilter:!!this.columnFilter,canResize:this.canResize,renderOffset:s,active:this.resizeHandler,additionalData:this.additionalData,onResize:t=>this.onResize(t,e.itemIndex),onDblClick:e=>this.headerdblClick.emit(e),onClick:e=>this.initialHeaderClick.emit(e)},o=this.beforeHeaderRender.emit(t);o.defaultPrevented||r.push(o.detail)}const o=this.getDuplicateHeaderProps(r);return{cells:r.map((t=>e(k,Object.assign({key:this.getHeaderCellKey(t.data,this.type,o)},t))))}}renderGroupingColumns(){const e=this.getVisibleGroupRange();return Array.from({length:this.groupingDepth},((t,i)=>this.renderGroupRow(i,e))).flat()}renderGroupRow(t,i){return[...(this.groups[t]||[]).map((e=>this.renderGroupColumn(e,t,i))).filter((e=>!!e)),e("div",{key:`group-row-${t}`,class:{[d]:!0,group:!0}})]}renderGroupColumn(t,i,r){var s;const o=null!==(s=t.indexes[0])&&void 0!==s?s:-1;if(o<0)return;const n=o+t.indexes.length-1;if(!r||!function(e,t,i){return e<=i.end&&t>=i.start}(o,n,r))return;const h=u(this.dimensionCol.state,o).start,l=u(this.dimensionCol.state,n).end,a={providers:this.providers,start:h,end:l,group:t,renderOffset:this.viewportCol.get("renderOffset")||0,active:this.resizeHandler,canResize:this.canResize,additionalData:this.additionalData,onResize:e=>{var t;return this.onResizeGroup(null!==(t=e.changedX)&&void 0!==t?t:0,o,n)}},d=this.beforeGroupHeaderRender.emit(a);return d.defaultPrevented?void 0:e(y,Object.assign({key:this.getGroupHeaderCellKey(d.detail.group,i)},d.detail))}getVisibleGroupRange(){const e=this.viewportCol.get("items");if(e.length)return e.reduce(((e,t)=>({start:Math.min(e.start,t.itemIndex),end:Math.max(e.end,t.itemIndex)})),{start:e[0].itemIndex,end:e[0].itemIndex})}getHeaderCellKey(e,t,i){if(void 0===(null==e?void 0:e.prop))return`${t}-${String(null==e?void 0:e.index)}`;const r=String(e.prop);return i.has(r)?`${t}-${r}-${String(e.index)}`:`${t}-${r}`}getDuplicateHeaderProps(e){const t=new Set,i=new Set;return e.forEach((({data:e})=>{if(void 0!==(null==e?void 0:e.prop)){const r=String(e.prop);t.has(r)?i.add(r):t.add(r)}})),i}getGroupHeaderCellKey(e,t){return`group-${t}-${e.name}-${e.indexes.join("-")}`}get providers(){return{type:this.type,readonly:this.readonly,data:this.colData,viewport:this.viewportCol,dimension:this.dimensionCol,selection:this.selectionStore}}get element(){return this}static get style(){return'@charset "UTF-8";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:"↑"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:"↓"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:deepskyblue}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:deepskyblue}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}'}},[0,"revogr-header",{viewportCol:[16],dimensionCol:[16],selectionStore:[16],groups:[16],groupingDepth:[2,"grouping-depth"],readonly:[4],canResize:[4,"can-resize"],resizeHandler:[16],colData:[16],columnFilter:[4,"column-filter"],type:[1],additionalData:[8,"additional-data"]}]);function O(){"undefined"!=typeof customElements&&["revogr-header"].forEach((e=>{"revogr-header"===e&&(customElements.get(s(e))||customElements.define(s(e),j))}))}export{C as O,j as R,f as S,b as a,O as b,p as d}
|
|
4
|
+
import{h as e,proxyCustomElement as t,HTMLElement as i,createEvent as r,transformTag as s}from"@stencil/core/internal/client";import{M as o,D as n,d as h,H as l,F as a,e as d,f as c}from"./consts.js";import"./platform.js";import{a as u}from"./dimension.helpers.js";import{c as v}from"./filter.button.js";import{Q as g}from"./column.service.js";function p(e,t,i){const r=new CustomEvent(t,{detail:i,cancelable:!0,bubbles:!0});return null==e||e.dispatchEvent(r),r}function b(e,t,i){return e.preventDefault(),p(e.target,t,i)}const f=({column:t})=>{var i;const r={class:null!==(i=null==t?void 0:t.order)&&void 0!==i?i:"sort-off"};return e("span",Object.assign({},{class:"sort-indicator"}),e("i",Object.assign({},r)),(null==t?void 0:t.sortIndex)?e("sup",Object.assign({},{class:"sort-order-index"}),t.sortIndex):null)};var m;!function(e){e.start="resize:start",e.move="resize:move",e.end="resize:end"}(m||(m={}));const z={"resizable-r":{bit:1,cursor:"ew-resize"},"resizable-rb":{bit:3,cursor:"se-resize"},"resizable-b":{bit:2,cursor:"s-resize"},"resizable-lb":{bit:6,cursor:"sw-resize"},"resizable-l":{bit:4,cursor:"w-resize"},"resizable-lt":{bit:12,cursor:"nw-resize"},"resizable-t":{bit:8,cursor:"n-resize"},"resizable-rt":{bit:9,cursor:"ne-resize"}};class x{constructor(e,t){var i,r,s;this.initialProps=e,this.$event=t,this.mouseX=0,this.mouseY=0,this.width=0,this.height=0,this.changeX=0,this.changeY=0,this.disableCalcMap=15,this.props=(s=e,Object.assign(Object.assign({},s),{fitParent:s.fitParent||!1,active:s.active||[],disableAttributes:s.disableAttributes||[],minWidth:s.minWidth||0,minHeight:s.minHeight||0})),this.mouseMoveFunc=this.handleMove.bind(this),this.mouseUpFunc=this.handleUp.bind(this),this.minW=this.props.minWidth,this.minH=this.props.minHeight,this.maxW=null!==(i=this.props.maxWidth)&&void 0!==i?i:0,this.maxH=null!==(r=this.props.maxHeight)&&void 0!==r?r:0,this.parent={width:0,height:0},this.resizeState=0}set(e){this.$el=e,this.props.disableAttributes.forEach((e=>{switch(e){case"l":this.disableCalcMap&=-2;break;case"t":this.disableCalcMap&=-3;break;case"w":this.disableCalcMap&=-5;break;case"h":this.disableCalcMap&=-9}}))}emitEvent(e,t){var i;if(!this.$event)return;const r=null===(i=this.activeResizer)||void 0===i?void 0:i.classList.contains("resizable-l");this.$event(Object.assign({eventName:e,width:this.width+this.changeX*(r?-1:1),height:this.height+this.changeY,changedX:this.changeX,changedY:this.changeY},t))}static isTouchEvent(e){var t;return(null===(t=e.touches)||void 0===t?void 0:t.length)>=0}handleMove(e){var t;if(!this.resizeState)return;let i,r;x.isTouchEvent(e)?(i=e.touches[0].clientY,r=e.touches[0].clientX):(i=e.clientY,r=e.clientX);let s=this.resizeState&z["resizable-r"].bit||this.resizeState&z["resizable-l"].bit;if((this.resizeState&z["resizable-t"].bit||this.resizeState&z["resizable-b"].bit)&&8&this.disableCalcMap){let e=this.changeY+(i-this.mouseY);const t=this.height+e;t<this.minH&&(e=-(this.height-this.minH)),this.maxH&&t>this.maxH&&(e=this.maxH-this.height),this.changeY=e,this.mouseY=i,this.activeResizer&&(this.activeResizer.style.bottom=-this.changeY+"px")}if(s&&4&this.disableCalcMap){const e=null===(t=this.activeResizer)||void 0===t?void 0:t.classList.contains("resizable-l");let i=this.changeX+(r-this.mouseX);const s=this.width+i*(e?-1:1);s<this.minW&&(i=-(this.width-this.minW)),this.maxW&&s>this.maxW&&(i=this.maxW-this.width),this.changeX=i,this.mouseX=r,this.activeResizer&&(e?this.activeResizer.style.left=`${this.changeX}px`:this.activeResizer.style.right=-this.changeX+"px")}this.emitEvent(m.move)}handleDown(e){if(!e.defaultPrevented){e.preventDefault(),this.dropInitial();for(let t in z){const i=e.target;if(this.$el.contains(i)&&(null==i?void 0:i.classList.contains(t))){document.body.style.cursor=z[t].cursor,x.isTouchEvent(e)?this.setInitials(e.touches[0],i):(e.preventDefault&&e.preventDefault(),this.setInitials(e,i)),this.resizeState=z[t].bit,this.emitEvent(m.start);break}}this.bindMove()}}handleUp(e){e.preventDefault(),0!==this.resizeState&&(this.resizeState=0,document.body.style.cursor="",this.emitEvent(m.end)),this.dropInitial(),this.unbindMove()}setInitials({clientX:e,clientY:t},i){var r,s,o,n;const h=getComputedStyle(this.$el);if(this.$el.classList.add("active"),this.activeResizer=i,4&this.disableCalcMap){this.mouseX=e,this.width=this.$el.clientWidth,this.parent.width=null!==(s=null===(r=this.$el.parentElement)||void 0===r?void 0:r.clientWidth)&&void 0!==s?s:0;const t=parseFloat(h.paddingLeft)+parseFloat(h.paddingRight);this.minW=Math.max(t,this.initialProps.minWidth||0),this.initialProps.maxWidth&&(this.maxW=Math.max(this.width,this.initialProps.maxWidth))}if(8&this.disableCalcMap){this.mouseY=t,this.height=this.$el.clientHeight,this.parent.height=null!==(n=null===(o=this.$el.parentElement)||void 0===o?void 0:o.clientHeight)&&void 0!==n?n:0;const e=parseFloat(h.paddingTop)+parseFloat(h.paddingBottom);this.minH=Math.max(e,this.initialProps.minHeight||0),this.initialProps.maxHeight&&(this.maxH=Math.max(this.height,this.initialProps.maxHeight))}}dropInitial(){this.changeX=this.changeY=this.minW=this.minH,this.width=this.height=0,this.activeResizer&&this.activeResizer.removeAttribute("style"),this.$el.classList.remove("active"),this.activeResizer=void 0}bindMove(){document.documentElement.addEventListener("mouseup",this.mouseUpFunc,!0),document.documentElement.addEventListener("touchend",this.mouseUpFunc,!0),document.documentElement.addEventListener("mousemove",this.mouseMoveFunc,!0),document.documentElement.addEventListener("touchmove",this.mouseMoveFunc,!0),document.documentElement.addEventListener("mouseleave",this.mouseUpFunc)}unbindMove(){document.documentElement.removeEventListener("mouseup",this.mouseUpFunc,!0),document.documentElement.removeEventListener("touchend",this.mouseUpFunc,!0),document.documentElement.removeEventListener("mousemove",this.mouseMoveFunc,!0),document.documentElement.removeEventListener("touchmove",this.mouseMoveFunc,!0),document.documentElement.removeEventListener("mouseleave",this.mouseUpFunc)}}const w=(t,i)=>{const r=[],s=t.canResize&&new x(t,(e=>{var i;e.eventName===m.end&&(null===(i=t.onResize)||void 0===i||i.call(t,e))}))||null;if(t.active)if(t.canResize)for(let i in t.active)r.push(e("div",{onClick:e=>e.preventDefault(),onDblClick:e=>{var i;e.preventDefault(),null===(i=t.onDblClick)||void 0===i||i.call(t,e)},onMouseDown:e=>null==s?void 0:s.handleDown(e),onTouchStart:e=>null==s?void 0:s.handleDown(e),class:`resizable resizable-${t.active[i]}`}));else for(let i in t.active)r.push(e("div",{onClick:e=>e.preventDefault(),onTouchStart:e=>e.preventDefault(),onDblClick:e=>{var i;e.preventDefault(),null===(i=t.onDblClick)||void 0===i||i.call(t,e)},class:"no-resize"}));return e("div",Object.assign({},t,{ref:e=>e&&(null==s?void 0:s.set(e))}),i,r)},C="columnclick",H=({data:t,props:i,additionalData:r},s)=>{let o=(null==t?void 0:t.name)||"",n=i;if((null==t?void 0:t.columnTemplate)&&(o=t.columnTemplate(e,t,r)),null==t?void 0:t.columnProperties){const e=t.columnProperties(t);e&&(n=g(i,e))}const h=Object.assign(Object.assign({},n),{onMouseDown(e){p(e.currentTarget,C,{data:t,event:e})}});return e(w,Object.assign({},h),e("div",{class:"header-content"},o),s)},k=t=>{var i,r,s,d,c,u,g;const p={[l]:!0,[h]:!!(null===(i=t.data)||void 0===i?void 0:i.sortable)};(null===(r=t.data)||void 0===r?void 0:r.order)&&(p[t.data.order]=!0);const b={key:String(null!==(d=null===(s=t.data)||void 0===s?void 0:s.prop)&&void 0!==d?d:t.column.itemIndex),[n]:t.column.itemIndex,canResize:t.canResize,minWidth:(null===(c=t.data)||void 0===c?void 0:c.minSize)||o,maxWidth:null===(u=t.data)||void 0===u?void 0:u.maxSize,active:t.active||["r"],class:p,style:{width:`${t.column.size}px`,transform:`translateX(${t.column.start-(t.renderOffset||0)}px)`},onResize:t.onResize,onDblClick(e){var i;null===(i=t.onDblClick)||void 0===i||i.call(t,{column:t.data,index:t.column.itemIndex,originalEvent:e,providers:t.data.providers})},onClick(e){!e.defaultPrevented&&t.onClick&&t.onClick({column:t.data,index:t.column.itemIndex,originalEvent:e,providers:t.data.providers})}};return t.range&&t.column.itemIndex>=t.range.x&&t.column.itemIndex<=t.range.x1&&"object"==typeof b.class&&(b.class[a]=!0),e(H,{data:t.data,props:b,additionalData:t.additionalData},e(f,{column:t.data}),t.canFilter&&!1!==(null===(g=t.data)||void 0===g?void 0:g.filter)?e(v,{column:t.data}):"")},y=t=>{const i={key:`${t.group.name}-${t.group.indexes.join("-")}`,canResize:t.canResize,minWidth:t.group.indexes.length*o,maxWidth:0,active:t.active||["r"],class:{[l]:!0},style:{transform:`translateX(${t.start-(t.renderOffset||0)}px)`,width:t.end-t.start+"px"},onResize:t.onResize};return e(H,{data:Object.assign(Object.assign({},t.group),{prop:"",providers:t.providers,index:t.start}),props:i,additionalData:t.additionalData})},j=t(class extends i{constructor(e){super(),!1!==e&&this.__registerHost(),this.initialHeaderClick=r(this,"beforeheaderclick",7),this.headerresize=r(this,"headerresize",7),this.beforeResize=r(this,"beforeheaderresize",7),this.headerdblClick=r(this,"headerdblclick",7),this.beforeHeaderRender=r(this,"beforeheaderrender",7),this.beforeGroupHeaderRender=r(this,"beforegroupheaderrender",7),this.afterHeaderRender=r(this,"afterheaderrender",7),this.groupingDepth=0,this.additionalData={}}onResize({width:e},t){this.beforeResize.emit([Object.assign(Object.assign({},this.colData[t]),{size:e||void 0})]).defaultPrevented||this.headerresize.emit({[t]:e||0})}onResizeGroup(e,t,i){const r={},s=e/(i-t+1);for(let e=t;e<=i;e++){const t=u(this.dimensionCol.state,e);r[e]=t.end-t.start+s}this.headerresize.emit(r)}componentDidRender(){this.afterHeaderRender.emit(this.providers)}render(){var t;const i=this.viewportCol.get("items"),r=null===(t=this.selectionStore)||void 0===t?void 0:t.get("range"),{cells:s}=this.renderHeaderColumns(i,r),o=this.renderGroupingColumns();return[e("div",{key:"3cc466db6bc4df0cd61c47a22c3a0473318e5dd8",class:"group-rgRow"},o),e("div",{key:"9742a3fa4d4b75073aef5544806f42386ebffdea",class:`${d} ${c}`},s)]}renderHeaderColumns(t,i){const r=[],s=this.viewportCol.get("renderOffset")||0;for(let e of t){const t={range:i,column:e,data:Object.assign(Object.assign({},this.colData[e.itemIndex]),{index:e.itemIndex,providers:this.providers}),canFilter:!!this.columnFilter,canResize:this.canResize,renderOffset:s,active:this.resizeHandler,additionalData:this.additionalData,onResize:t=>this.onResize(t,e.itemIndex),onDblClick:e=>this.headerdblClick.emit(e),onClick:e=>this.initialHeaderClick.emit(e)},o=this.beforeHeaderRender.emit(t);o.defaultPrevented||r.push(o.detail)}const o=this.getDuplicateHeaderProps(r);return{cells:r.map((t=>e(k,Object.assign({key:this.getHeaderCellKey(t.data,this.type,o)},t))))}}renderGroupingColumns(){const e=this.getVisibleGroupRange();return Array.from({length:this.groupingDepth},((t,i)=>this.renderGroupRow(i,e))).flat()}renderGroupRow(t,i){return[...(this.groups[t]||[]).map((e=>this.renderGroupColumn(e,t,i))).filter((e=>!!e)),e("div",{key:`group-row-${t}`,class:{[d]:!0,group:!0}})]}renderGroupColumn(t,i,r){const s=this.getGroupIndexRange(t),o=this.getGroupBounds(s),n={level:i,providers:this.providers,start:o.start,end:o.end,group:t,renderOffset:this.viewportCol.get("renderOffset")||0,active:this.resizeHandler,canResize:this.canResize,additionalData:this.additionalData,onResize:e=>{var t;return s?this.onResizeGroup(null!==(t=e.changedX)&&void 0!==t?t:0,s.startIndex,s.endIndex):void 0}},h=this.beforeGroupHeaderRender.emit(n);if(h.defaultPrevented)return;const l=this.getGroupIndexRange(h.detail.group);if(!(l&&r&&(a=l.startIndex,d=l.endIndex,c=r,a<=c.end&&d>=c.start)))return;var a,d,c;h.detail.onResize===n.onResize&&(h.detail.onResize=e=>{var t;return this.onResizeGroup(null!==(t=e.changedX)&&void 0!==t?t:0,l.startIndex,l.endIndex)});const u=this.getGroupBounds(l);return h.detail.start===n.start&&(h.detail.start=u.start),h.detail.end===n.end&&(h.detail.end=u.end),e(y,Object.assign({key:this.getGroupHeaderCellKey(h.detail.group,i)},h.detail))}getGroupIndexRange(e){var t;const i=null!==(t=e.indexes[0])&&void 0!==t?t:-1;if(!(i<0))return{startIndex:i,endIndex:e.indexes[e.indexes.length-1]}}getGroupBounds(e){return e?{start:u(this.dimensionCol.state,e.startIndex).start,end:u(this.dimensionCol.state,e.endIndex).end}:{start:0,end:0}}getVisibleGroupRange(){const e=this.viewportCol.get("items");if(e.length)return e.reduce(((e,t)=>({start:Math.min(e.start,t.itemIndex),end:Math.max(e.end,t.itemIndex)})),{start:e[0].itemIndex,end:e[0].itemIndex})}getHeaderCellKey(e,t,i){if(void 0===(null==e?void 0:e.prop))return`${t}-${String(null==e?void 0:e.index)}`;const r=String(e.prop);return i.has(r)?`${t}-${r}-${String(e.index)}`:`${t}-${r}`}getDuplicateHeaderProps(e){const t=new Set,i=new Set;return e.forEach((({data:e})=>{if(void 0!==(null==e?void 0:e.prop)){const r=String(e.prop);t.has(r)?i.add(r):t.add(r)}})),i}getGroupHeaderCellKey(e,t){return`group-${t}-${e.name}-${e.indexes.join("-")}`}get providers(){return{type:this.type,readonly:this.readonly,data:this.colData,viewport:this.viewportCol,dimension:this.dimensionCol,selection:this.selectionStore}}get element(){return this}static get style(){return'@charset "UTF-8";revogr-header{position:relative;z-index:5;display:block}revogr-header .header-rgRow{display:block;position:relative}revogr-header .header-rgRow.group{z-index:0}revogr-header .group-rgRow{position:relative;overflow:hidden}revogr-header .rgHeaderCell{position:absolute;box-sizing:border-box;height:100%;z-index:1;display:flex}revogr-header .rgHeaderCell.align-center{text-align:center}revogr-header .rgHeaderCell.align-left{text-align:left}revogr-header .rgHeaderCell.align-right{text-align:right}revogr-header .rgHeaderCell.sortable{cursor:pointer}revogr-header .rgHeaderCell .sort-indicator{display:inline-flex;align-items:flex-start;gap:1px}revogr-header .rgHeaderCell .sort-indicator i.asc:after,revogr-header .rgHeaderCell .sort-indicator i.desc:after{font-size:13px}revogr-header .rgHeaderCell .sort-indicator i.asc:after{content:"↑"}revogr-header .rgHeaderCell .sort-indicator i.desc:after{content:"↓"}revogr-header .rgHeaderCell .sort-indicator .sort-order-index{font-size:10px;line-height:1;top:0}revogr-header .rgHeaderCell.active{z-index:10}revogr-header .rgHeaderCell.active .resizable{background-color:deepskyblue}revogr-header .rgHeaderCell .header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex-grow:1}revogr-header .rgHeaderCell .resizable{display:block;position:absolute;z-index:90;touch-action:none;user-select:none}revogr-header .rgHeaderCell .resizable:hover{background-color:deepskyblue}revogr-header .rgHeaderCell>.resizable-r{cursor:ew-resize;width:6px;right:0;top:0;height:100%}revogr-header .rgHeaderCell>.resizable-rb{cursor:se-resize;width:6px;height:6px;right:0;bottom:0}revogr-header .rgHeaderCell>.resizable-b{cursor:s-resize;height:6px;bottom:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-lb{cursor:sw-resize;width:6px;height:6px;left:0;bottom:0}revogr-header .rgHeaderCell>.resizable-l{cursor:w-resize;width:6px;left:0;height:100%;top:0}revogr-header .rgHeaderCell>.resizable-lt{cursor:nw-resize;width:6px;height:6px;left:0;top:0}revogr-header .rgHeaderCell>.resizable-t{cursor:n-resize;height:6px;top:0;width:100%;left:0}revogr-header .rgHeaderCell>.resizable-rt{cursor:ne-resize;width:6px;height:6px;right:0;top:0}revogr-header .rv-filter{visibility:hidden}'}},[0,"revogr-header",{viewportCol:[16],dimensionCol:[16],selectionStore:[16],groups:[16],groupingDepth:[2,"grouping-depth"],readonly:[4],canResize:[4,"can-resize"],resizeHandler:[16],colData:[16],columnFilter:[4,"column-filter"],type:[1],additionalData:[8,"additional-data"]}]);function O(){"undefined"!=typeof customElements&&["revogr-header"].forEach((e=>{"revogr-header"===e&&(customElements.get(s(e))||customElements.define(s(e),j))}))}export{C as O,j as R,f as S,b as a,O as b,p as d}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{proxyCustomElement as
|
|
4
|
+
import{proxyCustomElement as i,HTMLElement as t,createEvent as e,h as o,Host as l,transformTag as r}from"@stencil/core/internal/client";import{t as s}from"./throttle.js";import{L as n,a,b as c}from"./local.scroll.timer.js";const h="header",d="footer",v="content",u="data";function w(i,t){return{x:i.viewports[i.colType].store.get("realCount"),y:i.viewports[t].store.get("realCount")}}function p(i,t,e,o){return{colData:i.colStore,viewportCol:i.viewports[i.colType].store,viewportRow:i.viewports[t].store,lastCell:w(i,t),slot:e,type:t,canDrag:!o,position:i.position,dataStore:i.rowStores[t].store,dimensionCol:i.dimensions[i.colType].store,dimensionRow:i.dimensions[t].store,style:o?{height:`${i.dimensions[t].store.get("realSize")}px`}:void 0}}class g{constructor(i,t,e){this.resize=t,this.resizeObserver=null,this.previousSize={width:0,height:0},this.apply=s((i=>{var t;const e={width:i.width,height:i.height};null===(t=this.resize)||void 0===t||t.call(this,e,this.previousSize),this.previousSize=e}),40,{leading:!1,trailing:!0});const o=[];e.forEach((i=>{i&&o.push(i)})),this.init(i,o)}init(i,t=[]){const e=this.resizeObserver=new ResizeObserver((t=>{t.length&&this.apply(t[0].target===i?t[0].contentRect:i.getBoundingClientRect())}));e.observe(i),t.forEach((i=>{e.observe(i)}))}destroy(){var i;null===(i=this.resizeObserver)||void 0===i||i.disconnect(),this.resizeObserver=null}}const f=i(class extends t{constructor(i){super(),!1!==i&&this.__registerHost(),this.scrollViewport=e(this,"scrollviewport",7),this.resizeViewport=e(this,"resizeviewport",7),this.scrollchange=e(this,"scrollchange",7),this.silentScroll=e(this,"scrollviewportsilent",7),this.contentWidth=0,this.contentHeight=0,this.noHorizontalScrollTransfer=!1}async setScroll(i){var t;this.localScrollTimer.latestScrollUpdate(i.dimension),null===(t=this.localScrollService)||void 0===t||t.setScroll(i)}async changeScroll(i,t=!1){var e,o,l,r;if(!t){if(i.delta){let t=0;switch(i.dimension){case"rgCol":t=this.horizontalScroll.scrollLeft;break;case"rgRow":t=null!==(o=null===(e=this.verticalScroll)||void 0===e?void 0:e.scrollTop)&&void 0!==o?o:0}return null!==(r=null===(l=this.localScrollService)||void 0===l?void 0:l.setScrollByDelta(i,t))&&void 0!==r?r:i}return i}i.coordinate&&this.verticalScroll&&"rgRow"===i.dimension&&(this.verticalScroll.style.transform=`translateY(${-1*i.coordinate}px)`)}mousewheelVertical({detail:i}){this.verticalMouseWheel(i)}mousewheelHorizontal({detail:i}){this.horizontalMouseWheel(i)}scrollApply({detail:{type:i,coordinate:t}}){this.applyOnScroll(i,t,!0)}connectedCallback(){this.verticalMouseWheel=this.onVerticalMouseWheel.bind(this,"rgRow","deltaY"),this.horizontalMouseWheel=this.onHorizontalMouseWheel.bind(this,"rgCol","deltaX"),this.localScrollTimer=new n("ontouchstart"in document.documentElement?0:10),this.localScrollService=new a({runScroll:i=>this.scrollViewport.emit(i),applyScroll:i=>{switch(this.localScrollTimer.setCoordinate(i),i.dimension){case"rgCol":this.horizontalScroll.scrollLeft=i.coordinate;break;case"rgRow":this.verticalScroll&&(this.verticalScroll.scrollTop=i.coordinate,this.verticalScroll.style.transform&&(this.verticalScroll.style.transform=""))}}})}componentDidLoad(){this.resizeService=new g(this.horizontalScroll,(i=>{var t,e,o,l,r,s,n,a;const c={};let h=i.height||0;h&&(h-=(null!==(e=null===(t=this.header)||void 0===t?void 0:t.clientHeight)&&void 0!==e?e:0)+(null!==(l=null===(o=this.footer)||void 0===o?void 0:o.clientHeight)&&void 0!==l?l:0)),c.rgRow={size:h,contentSize:this.contentHeight,scroll:null!==(s=null===(r=this.verticalScroll)||void 0===r?void 0:r.scrollTop)&&void 0!==s?s:0,noScroll:!1},c.rgCol={size:i.width||0,contentSize:this.contentWidth,scroll:this.horizontalScroll.scrollLeft,noScroll:"rgCol"!==this.colType};const d=["rgCol","rgRow"];for(const i of d){const t=c[i];t&&(this.resizeViewport.emit({dimension:i,size:t.size,rowHeader:this.rowHeader}),t.noScroll||(null===(n=this.localScrollService)||void 0===n||n.scroll(null!==(a=t.scroll)&&void 0!==a?a:0,i,!0),this.setScrollVisibility(i,t.size,t.contentSize)))}}),[this.footer,this.header])}setScrollVisibility(i,t,e){const o=t<e;let l;switch(i){case"rgCol":l=this.horizontalScroll;break;case"rgRow":l=this.verticalScroll}o?null==l||l.classList.add(`scroll-${i}`):null==l||l.classList.remove(`scroll-${i}`),this.scrollchange.emit({type:i,hasScroll:o})}disconnectedCallback(){var i;null===(i=this.resizeService)||void 0===i||i.destroy()}async componentDidRender(){var i,t,e,o;this.localScrollService.setParams({contentSize:this.contentHeight,clientSize:null!==(t=null===(i=this.verticalScroll)||void 0===i?void 0:i.clientHeight)&&void 0!==t?t:0,virtualSize:0},"rgRow"),this.localScrollService.setParams({contentSize:this.contentWidth,clientSize:this.horizontalScroll.clientWidth,virtualSize:0},"rgCol"),this.setScrollVisibility("rgRow",null!==(o=null===(e=this.verticalScroll)||void 0===e?void 0:e.clientHeight)&&void 0!==o?o:0,this.contentHeight),this.setScrollVisibility("rgCol",this.horizontalScroll.clientWidth,this.contentWidth)}render(){var i,t,e,r;const s=c(this.contentHeight,null!==(t=null===(i=this.verticalScroll)||void 0===i?void 0:i.clientHeight)&&void 0!==t?t:0),n="colPinStart"===this.colType||"colPinEnd"===this.colType?this.contentWidth:c(this.contentWidth,null!==(r=null===(e=this.horizontalScroll)||void 0===e?void 0:e.clientWidth)&&void 0!==r?r:0);return o(l,{key:"9b23f5c3c18924a25ecd3e1ee0909ebd03b25048",onWheel:this.horizontalMouseWheel,onScroll:i=>this.applyScroll("rgCol",i)},o("div",{key:"144f5c79d0a99e6423c1ca448917aedf514f0ae3",class:"inner-content-table",style:{width:`${n}px`}},o("div",{key:"10db0971f2db6acf8510cf21d736c82f0d0e5632",class:"header-wrapper",ref:i=>this.header=i},o("slot",{key:"77e0cd002ccda4a9e420de50648b711cde412a34",name:h})),o("div",{key:"a78167dc52a24005a35dd94c5a9a43eb7dd289dd",class:"vertical-inner",ref:i=>this.verticalScroll=i,onWheel:this.verticalMouseWheel,onScroll:i=>this.applyScroll("rgRow",i)},o("div",{key:"c277d9d1ffc54452b584eb55b1a29d2a10672fb6",class:"content-wrapper",style:{height:`${s}px`}},o("slot",{key:"01fb5630a3d40e231a3aead9ad1c07aa06e69004",name:v}))),o("div",{key:"ff7389e77b500b97ea1fc38228da9fc3d6514e30",class:"footer-wrapper",ref:i=>this.footer=i},o("slot",{key:"3aa725e0a8f38ef5d4bc4dce53037ff55a6c25b3",name:d}))))}async applyScroll(i,e){if(!(e.target instanceof t))return;let o=0;switch(i){case"rgCol":o=e.target.scrollLeft;break;case"rgRow":o=e.target.scrollTop}o<0?this.silentScroll.emit({dimension:i,coordinate:o}):this.applyOnScroll(i,o)}applyOnScroll(i,t,e=!1){const o=()=>{var o;null===(o=this.localScrollService)||void 0===o||o.scroll(t,i,void 0,void 0,e)};this.localScrollTimer.isReady(i,t)?o():this.localScrollTimer.throttleLastScrollUpdate(i,t,(()=>o()))}onVerticalMouseWheel(i,t,e){var o,l,r,s,n,a,c,h;const d=null!==(l=null===(o=this.verticalScroll)||void 0===o?void 0:o.scrollTop)&&void 0!==l?l:0;d+(null!==(s=null===(r=this.verticalScroll)||void 0===r?void 0:r.clientHeight)&&void 0!==s?s:0)>=(null!==(a=null===(n=this.verticalScroll)||void 0===n?void 0:n.scrollHeight)&&void 0!==a?a:0)&&e.deltaY>0||0===d&&e.deltaY<0||null===(c=e.preventDefault)||void 0===c||c.call(e),null===(h=this.localScrollService)||void 0===h||h.scroll(d+e[t],i,void 0,e[t]),this.localScrollTimer.latestScrollUpdate(i)}onHorizontalMouseWheel(i,t,e){var o,l,r,s;if(!e.deltaX)return;const{scrollLeft:n,scrollWidth:a,clientWidth:c}=this.horizontalScroll,h=n+c>=a&&e.deltaX>0,d=0===n&&e.deltaX<0;if(this.noHorizontalScrollTransfer){if(!h&&!d){const r=n+e[t];null===(o=e.preventDefault)||void 0===o||o.call(e),this.horizontalScroll.scrollLeft=r,null===(l=this.localScrollService)||void 0===l||l.scroll(this.horizontalScroll.scrollLeft,i,void 0,e[t]),this.localScrollTimer.latestScrollUpdate(i)}}else h||d||null===(r=e.preventDefault)||void 0===r||r.call(e),null===(s=this.localScrollService)||void 0===s||s.scroll(n+e[t],i,void 0,e[t]),this.localScrollTimer.latestScrollUpdate(i)}get horizontalScroll(){return this}static get style(){return".rowHeaders{z-index:2;font-size:10px;display:flex;height:100%}.rowHeaders revogr-data .rgCell{text-align:center}.rowHeaders .rgCell{padding:0 1em !important;min-width:100%}revogr-viewport-scroll{-ms-overflow-style:none;scrollbar-width:none;overflow-x:auto;overflow-y:hidden;position:relative;z-index:1;height:100%}revogr-viewport-scroll::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll.colPinStart,revogr-viewport-scroll.colPinEnd{z-index:2}revogr-viewport-scroll.colPinEnd:has(.active){overflow:visible}revogr-viewport-scroll.rgCol{flex-grow:1}revogr-viewport-scroll .content-wrapper{overflow:hidden}revogr-viewport-scroll .inner-content-table{display:flex;flex-direction:column;max-height:100%;width:100%;min-width:100%;position:relative;z-index:0}revogr-viewport-scroll .vertical-inner{overflow-y:auto;position:relative;width:100%;flex-grow:1;outline:none;-ms-overflow-style:none;scrollbar-width:none;}revogr-viewport-scroll .vertical-inner::-webkit-scrollbar{display:none;-webkit-appearance:none}revogr-viewport-scroll .vertical-inner revogr-data,revogr-viewport-scroll .vertical-inner revogr-overlay-selection{height:100%}"}},[260,"revogr-viewport-scroll",{rowHeader:[4,"row-header"],contentWidth:[2,"content-width"],contentHeight:[2,"content-height"],colType:[1,"col-type"],noHorizontalScrollTransfer:[4,"no-horizontal-scroll-transfer"],setScroll:[64],changeScroll:[64],applyScroll:[64]},[[0,"mousewheel-vertical","mousewheelVertical"],[0,"mousewheel-horizontal","mousewheelHorizontal"],[0,"scroll-coordinate","scrollApply"]]]);function y(){"undefined"!=typeof customElements&&["revogr-viewport-scroll"].forEach((i=>{"revogr-viewport-scroll"===i&&(customElements.get(r(i))||customElements.define(r(i),f))}))}export{v as C,u as D,d as F,h as H,f as R,y as d,p as v}
|