@revolist/revogrid 4.23.23 → 4.24.0
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/revogr-data_4.cjs.entry.js +1 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll-style.css +1 -0
- package/dist/esm/revogr-data_4.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/hydrate/index.js +1 -1
- package/hydrate/index.mjs +1 -1
- package/package.json +2 -1
- package/readme.md +5 -4
- package/standalone/revogr-viewport-scroll2.js +1 -1
|
@@ -616,7 +616,7 @@ class GridResizeService {
|
|
|
616
616
|
}
|
|
617
617
|
}
|
|
618
618
|
|
|
619
|
-
const revogrViewportScrollStyleCss = () => `.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%}`;
|
|
619
|
+
const revogrViewportScrollStyleCss = () => `.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;overscroll-behavior-x:contain;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%}`;
|
|
620
620
|
|
|
621
621
|
const RevogrViewportScroll = class {
|
|
622
622
|
constructor(hostRef) {
|
|
@@ -614,7 +614,7 @@ class GridResizeService {
|
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
616
|
|
|
617
|
-
const revogrViewportScrollStyleCss = () => `.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%}`;
|
|
617
|
+
const revogrViewportScrollStyleCss = () => `.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;overscroll-behavior-x:contain;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%}`;
|
|
618
618
|
|
|
619
619
|
const RevogrViewportScroll = class {
|
|
620
620
|
constructor(hostRef) {
|
|
@@ -614,7 +614,7 @@ class GridResizeService {
|
|
|
614
614
|
}
|
|
615
615
|
}
|
|
616
616
|
|
|
617
|
-
const revogrViewportScrollStyleCss = () => `.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%}`;
|
|
617
|
+
const revogrViewportScrollStyleCss = () => `.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;overscroll-behavior-x:contain;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%}`;
|
|
618
618
|
|
|
619
619
|
const RevogrViewportScroll = class {
|
|
620
620
|
constructor(hostRef) {
|
package/hydrate/index.js
CHANGED
|
@@ -22000,7 +22000,7 @@ class GridResizeService {
|
|
|
22000
22000
|
}
|
|
22001
22001
|
}
|
|
22002
22002
|
|
|
22003
|
-
const revogrViewportScrollStyleCss = () => `.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%}`;
|
|
22003
|
+
const revogrViewportScrollStyleCss = () => `.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;overscroll-behavior-x:contain;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%}`;
|
|
22004
22004
|
|
|
22005
22005
|
/**
|
|
22006
22006
|
* Viewport scroll component for RevoGrid
|
package/hydrate/index.mjs
CHANGED
|
@@ -21998,7 +21998,7 @@ class GridResizeService {
|
|
|
21998
21998
|
}
|
|
21999
21999
|
}
|
|
22000
22000
|
|
|
22001
|
-
const revogrViewportScrollStyleCss = () => `.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%}`;
|
|
22001
|
+
const revogrViewportScrollStyleCss = () => `.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;overscroll-behavior-x:contain;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%}`;
|
|
22002
22002
|
|
|
22003
22003
|
/**
|
|
22004
22004
|
* Viewport scroll component for RevoGrid
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@revolist/revogrid",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.24.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Virtual reactive data grid spreadsheet component - RevoGrid.",
|
|
6
6
|
"license": "MIT",
|
|
@@ -108,6 +108,7 @@
|
|
|
108
108
|
"@angular/core": "^20.3.0",
|
|
109
109
|
"@playwright/test": "^1.58.2",
|
|
110
110
|
"@revolist/stencil-angular-output": "^1.1.3",
|
|
111
|
+
"@revolist/stencil-dash-output-target": "^1.0.4",
|
|
111
112
|
"@revolist/stencil-vue2-output-target": "^0.0.6",
|
|
112
113
|
"@revolist/svelte-output-target": "0.0.7",
|
|
113
114
|
"@stencil/angular-output-target": "1.3.0",
|
package/readme.md
CHANGED
|
@@ -288,7 +288,7 @@ yarn add @revolist/revogrid;
|
|
|
288
288
|
|
|
289
289
|
## Framework
|
|
290
290
|
|
|
291
|
-
In `<revo-grid />` we have developed a sophisticated Continuous Delivery (CD) system powered by GitHub Actions. This advanced system automatically builds and delivers grid versions across multiple frameworks, including React, Angular, Svelte, Vue 2,
|
|
291
|
+
In `<revo-grid />` we have developed a sophisticated Continuous Delivery (CD) system powered by GitHub Actions. This advanced system automatically builds and delivers grid versions across multiple frameworks, including React, Angular, Svelte, Vue 2, Vue 3, and Plotly Dash for Python, with full type support. This ensures continuous version delivery, providing the latest grid enhancements and upgrades across all supported frameworks ✨. In the future (version 5), we are planning to switch to monorepo-based development.
|
|
292
292
|
|
|
293
293
|
|
|
294
294
|
|
|
@@ -296,6 +296,7 @@ In `<revo-grid />` we have developed a sophisticated Continuous Delivery (CD) sy
|
|
|
296
296
|
- [ React](https://rv-grid.com/guide/react/)
|
|
297
297
|
- [ Angular](https://rv-grid.com/guide/angular/)
|
|
298
298
|
- [ Svelte](https://rv-grid.com/guide/svelte/)
|
|
299
|
+
- [ Dash / Python](https://rv-grid.com/guide/dash/)
|
|
299
300
|
- [ JavaScript](https://rv-grid.com/guide/)
|
|
300
301
|
|
|
301
302
|
## Basic Usage
|
|
@@ -351,6 +352,7 @@ grid.source = [{ name: 'New Item' }];
|
|
|
351
352
|
- [ React](https://rv-grid.com/guide/react/)
|
|
352
353
|
- [ Angular](https://rv-grid.com/guide/angular/)
|
|
353
354
|
- [ Svelte](https://rv-grid.com/guide/svelte/)
|
|
355
|
+
- [ Dash / Python](https://rv-grid.com/guide/dash/)
|
|
354
356
|
- [ JavaScript](https://rv-grid.com/guide/)
|
|
355
357
|
|
|
356
358
|
## Versions
|
|
@@ -411,8 +413,8 @@ Thank you for supporting RevoGrid! 🙏
|
|
|
411
413
|
|
|
412
414
|
## Testing
|
|
413
415
|
|
|
414
|
-
[](https://github.com/revolist/revogrid/actions/workflows/unit.yml)
|
|
417
|
+
[](https://github.com/revolist/revogrid/actions/workflows/e2e.yml)
|
|
416
418
|
|
|
417
419
|
RevoGrid is thoroughly tested to ensure reliability and stability.
|
|
418
420
|
|
|
@@ -464,4 +466,3 @@ By getting involved, you'll have the opportunity to enhance your skills, gain va
|
|
|
464
466
|
MIT
|
|
465
467
|
|
|
466
468
|
---
|
|
467
|
-
|
|
@@ -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 as c,b as a}from"./local.scroll.timer.js";const h="header",d="footer",v="content",w="data";function u(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:u(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;this.apply.cancel(),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 c({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,c;const a={};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)),a.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};const d=i.width||0;a.rgCol={size:d,contentSize:this.contentWidth,scroll:this.horizontalScroll.scrollLeft,noScroll:"rgCol"!==this.colType},this.setScrollParams({rgRow:h,rgCol:d});const v=["rgCol","rgRow"];for(const i of v){const t=a[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!==(c=t.scroll)&&void 0!==c?c: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.setScrollParams({rgRow:null!==(t=null===(i=this.verticalScroll)||void 0===i?void 0:i.clientHeight)&&void 0!==t?t:0,rgCol:this.horizontalScroll.clientWidth}),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)}setScrollParams(i){this.localScrollService.setParams({contentSize:this.contentHeight,clientSize:i.rgRow,virtualSize:0},"rgRow"),this.localScrollService.setParams({contentSize:this.contentWidth,clientSize:i.rgCol,virtualSize:0},"rgCol")}render(){var i,t;const e=null!==(t=null===(i=this.verticalScroll)||void 0===i?void 0:i.clientHeight)&&void 0!==t?t:0,r=this.contentHeight<e?Math.max(this.contentHeight,0):a(this.contentHeight,e),s=a(this.contentWidth,0);return o(l,{key:"3dd9d29cf26743d7aa4995f51180d56008526e54",onWheel:this.horizontalMouseWheel,onScroll:i=>this.applyScroll("rgCol",i)},o("div",{key:"af75428e845044c33eba2fecd1ec04a9177b9b5c",class:"inner-content-table",style:{width:`${s}px`}},o("div",{key:"a0149f597588371e1fafe69efc3bd4411379a017",class:"header-wrapper",ref:i=>this.header=i},o("slot",{key:"e5d2570bf93897cd97ef702141c83bb8c0e13ee2",name:h})),o("div",{key:"d1388ff0d721dd8ce925b934bb2128fddc1ac17b",class:"vertical-inner",ref:i=>this.verticalScroll=i,onWheel:this.verticalMouseWheel,onScroll:i=>this.applyScroll("rgRow",i)},o("div",{key:"a306ff56f62279402e2a881a081e3224341d5bdf",class:"content-wrapper",style:{height:`${r}px`}},o("slot",{key:"898bda8e9429da06c9ff2bd41626ac27f3cde3cc",name:v}))),o("div",{key:"5e9eba1edd5fca07a964971054a7900e4dd84099",class:"footer-wrapper",ref:i=>this.footer=i},o("slot",{key:"f233ad1c23b3f692c45e1db235cfef4704a80726",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.setCoordinateFromScroll({dimension:i,coordinate:t})};this.localScrollTimer.isReady(i,t)?o():this.localScrollTimer.throttleLastScrollUpdate(i,t,(()=>o()))}onVerticalMouseWheel(i,t,e){var o,l,r,s,n,c,a,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!==(c=null===(n=this.verticalScroll)||void 0===n?void 0:n.scrollHeight)&&void 0!==c?c:0)&&e.deltaY>0||0===d&&e.deltaY<0||null===(a=e.preventDefault)||void 0===a||a.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:c,clientWidth:a}=this.horizontalScroll,h=n+a>=c&&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;overscroll-behavior-x:contain;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,w as D,d as F,h as H,f as R,y as d,p as v}
|