@revolist/revogrid 4.22.1 → 4.23.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/{cell-renderer-BQdEGQXP.js → cell-renderer-DWJ9Px9f.js} +9 -3
- package/dist/cjs/{column.drag.plugin-RDjQhKCH.js → column.drag.plugin-CaEBDG-Q.js} +391 -256
- package/dist/cjs/{column.service-DXYMehqK.js → column.service-f612L4ql.js} +1 -1
- package/dist/cjs/{dimension.helpers-CiiNnlLa.js → dimension.helpers-B9HgANnM.js} +14 -145
- package/dist/cjs/{edit.utils-CecCfA4E.js → edit.utils-pKeiYFLJ.js} +1 -1
- package/dist/cjs/{header-cell-renderer-DGyBrK8I.js → header-cell-renderer-4yq9_WbM.js} +1 -1
- package/dist/cjs/index-DxaSE5uZ.js +136 -0
- package/dist/cjs/index.cjs.js +37 -32
- package/dist/cjs/revo-grid.cjs.entry.js +35 -15
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +43 -25
- package/dist/cjs/revogr-clipboard_3.cjs.entry.js +10 -8
- package/dist/cjs/revogr-data_4.cjs.entry.js +26 -17
- package/dist/cjs/revogr-filter-panel.cjs.entry.js +2 -1
- package/dist/cjs/{text-editor-DnLZW1a-.js → text-editor-B4W-m-r-.js} +3 -3
- package/dist/cjs/{throttle-CfgQFkfR.js → throttle-BCwEuJJq.js} +59 -24
- package/dist/cjs/viewport.helpers-BND76K2j.js +140 -0
- package/dist/cjs/{viewport.store-q6YdR9mg.js → viewport.store-BlKQ4x9H.js} +16 -16
- package/dist/collection/components/data/revogr-data.js +5 -3
- package/dist/collection/components/header/header-group-renderer.js +1 -1
- package/dist/collection/components/header/header-renderer.js +1 -1
- package/dist/collection/components/header/revogr-header-style.css +13 -3
- package/dist/collection/components/header/revogr-header.js +5 -2
- package/dist/collection/components/order/order-row.service.js +6 -5
- package/dist/collection/components/overlay/keyboard.service.js +23 -1
- package/dist/collection/components/overlay/selection.utils.js +8 -6
- package/dist/collection/components/revoGrid/revo-grid.js +6 -5
- package/dist/collection/components/revoGrid/viewport.service.js +2 -1
- package/dist/collection/components/scroll/revogr-viewport-scroll.js +10 -6
- package/dist/collection/components/scrollable/revogr-scroll-virtual.js +4 -10
- package/dist/collection/plugins/filter/filter.panel.js +2 -1
- package/dist/collection/plugins/filter/filter.plugin.js +11 -4
- package/dist/collection/plugins/groupingRow/grouping.row.plugin.js +25 -1
- package/dist/collection/plugins/moveColumn/column.drag.plugin.js +4 -4
- package/dist/collection/plugins/sorting/sorting.func.js +173 -15
- package/dist/collection/plugins/sorting/sorting.plugin.js +167 -84
- package/dist/collection/plugins/sorting/sorting.sign.js +7 -1
- package/dist/collection/serve/controller.js +98 -37
- package/dist/collection/serve/data.js +273 -144
- package/dist/collection/services/dimension.provider.js +16 -1
- package/dist/collection/services/local.scroll.service.js +59 -24
- package/dist/collection/services/scroll.dimension.helpers.js +83 -0
- package/dist/collection/services/selection.store.connector.js +4 -1
- package/dist/collection/store/dimension/dimension.recalculate.plugin.js +22 -9
- package/dist/collection/store/dimension/dimension.store.js +4 -2
- package/dist/collection/store/vp/viewport.helpers.js +9 -0
- package/dist/collection/store/vp/viewport.store.js +5 -16
- package/dist/collection/utils/store.utils.js +3 -3
- package/dist/{revo-grid/cell-renderer-CALsEsnh.js → esm/cell-renderer-8UiGd-s7.js} +9 -3
- package/dist/esm/{column.drag.plugin-Dy5ztusn.js → column.drag.plugin-BsfhsfmB.js} +388 -255
- package/dist/esm/{column.service-CCvAi5l4.js → column.service-DbpulTog.js} +1 -1
- package/dist/{revo-grid/debounce-BfO9dz9v.js → esm/debounce-PCRWZliA.js} +1 -1
- package/dist/{revo-grid/dimension.helpers-DmIvjIa7.js → esm/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/esm/{edit.utils-DYN6XZh8.js → edit.utils-Dnnbd0xG.js} +1 -1
- package/dist/{revo-grid/header-cell-renderer-DU8wKAbg.js → esm/header-cell-renderer-DGI2FAD8.js} +1 -1
- package/dist/esm/index-Db3qZoW5.js +127 -0
- package/dist/esm/index.js +11 -10
- package/dist/esm/revo-grid.entry.js +34 -14
- package/dist/esm/revogr-attribution_7.entry.js +42 -24
- package/dist/esm/revogr-clipboard_3.entry.js +11 -9
- package/dist/esm/revogr-data_4.entry.js +27 -18
- package/dist/esm/revogr-filter-panel.entry.js +3 -2
- package/dist/esm/{text-editor-DpCnd6Fq.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/esm/{throttle-ERvyruXb.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/esm/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{revo-grid/viewport.store-CFjDW-3l.js → esm/viewport.store-COAfzAyu.js} +15 -17
- package/dist/{esm/cell-renderer-CALsEsnh.js → revo-grid/cell-renderer-8UiGd-s7.js} +9 -3
- package/dist/revo-grid/{column.drag.plugin-Dy5ztusn.js → column.drag.plugin-BsfhsfmB.js} +388 -255
- package/dist/revo-grid/{column.service-CCvAi5l4.js → column.service-DbpulTog.js} +1 -1
- package/dist/{esm/debounce-BfO9dz9v.js → revo-grid/debounce-PCRWZliA.js} +1 -1
- package/dist/{esm/dimension.helpers-DmIvjIa7.js → revo-grid/dimension.helpers-CGKwSvw6.js} +7 -128
- package/dist/revo-grid/{edit.utils-DYN6XZh8.js → edit.utils-Dnnbd0xG.js} +1 -1
- package/dist/{esm/header-cell-renderer-DU8wKAbg.js → revo-grid/header-cell-renderer-DGI2FAD8.js} +1 -1
- package/dist/revo-grid/index-Db3qZoW5.js +127 -0
- package/dist/revo-grid/index.esm.js +11 -10
- package/dist/revo-grid/revo-grid.entry.js +34 -14
- package/dist/revo-grid/revogr-attribution_7.entry.js +42 -24
- package/dist/revo-grid/revogr-clipboard_3.entry.js +11 -9
- package/dist/revo-grid/revogr-data_4.entry.js +27 -18
- package/dist/revo-grid/revogr-filter-panel.entry.js +3 -2
- package/dist/revo-grid/{text-editor-DpCnd6Fq.js → text-editor-C3RUSwH5.js} +2 -2
- package/dist/revo-grid/{throttle-ERvyruXb.js → throttle-CaUDyxyU.js} +60 -25
- package/dist/revo-grid/viewport.helpers-CoCAvmZs.js +133 -0
- package/dist/{esm/viewport.store-CFjDW-3l.js → revo-grid/viewport.store-COAfzAyu.js} +15 -17
- package/dist/types/components/header/header-group-renderer.d.ts +1 -0
- package/dist/types/components/header/header-renderer.d.ts +1 -0
- package/dist/types/components/overlay/keyboard.service.d.ts +5 -0
- package/dist/types/plugins/groupingRow/grouping.row.plugin.d.ts +8 -0
- package/dist/types/plugins/sorting/sorting.func.d.ts +25 -2
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +84 -9
- package/dist/types/plugins/sorting/sorting.sign.d.ts +5 -1
- package/dist/types/plugins/sorting/sorting.types.d.ts +46 -1
- package/dist/types/services/local.scroll.service.d.ts +10 -2
- package/dist/types/services/scroll.dimension.helpers.d.ts +20 -0
- package/dist/types/store/vp/viewport.helpers.d.ts +2 -0
- package/dist/types/types/interfaces.d.ts +11 -0
- package/hydrate/index.js +649 -365
- package/hydrate/index.mjs +649 -365
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/data.store.js +1 -1
- package/standalone/debounce.js +1 -1
- package/standalone/dimension.helpers.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/local.scroll.timer.js +1 -1
- package/standalone/revo-grid.js +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-filter-panel.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-order-editor2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/standalone/revogr-row-headers.js +1 -1
- package/standalone/revogr-row-headers2.js +1 -1
- package/standalone/revogr-scroll-virtual2.js +1 -1
- package/standalone/revogr-viewport-scroll2.js +1 -1
- package/standalone/selection.utils.js +1 -1
- package/standalone/throttle.js +1 -1
- package/standalone/toNumber.js +1 -1
- package/dist/cjs/viewport.helpers-BAovztDd.js +0 -58
- package/dist/esm/viewport.helpers-VXhsJZtn.js +0 -52
- package/dist/revo-grid/viewport.helpers-VXhsJZtn.js +0 -52
|
@@ -2,14 +2,14 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { M as ColumnService, u as isGrouping } from './column.service-
|
|
6
|
-
import {
|
|
7
|
-
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-
|
|
5
|
+
import { M as ColumnService, u as isGrouping } from './column.service-DbpulTog.js';
|
|
6
|
+
import { B as ROW_FOCUSED_CLASS, b as getSourceItem, n as DATA_ROW, m as DATA_COL, M as MIN_COL_SIZE, r as HEADER_SORTABLE_CLASS, H as HEADER_CLASS, F as FOCUS_CLASS, k as getItemByIndex, u as HEADER_ROW_CLASS, v as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-CGKwSvw6.js';
|
|
7
|
+
import { G as GroupingRowRenderer, C as CellRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './cell-renderer-8UiGd-s7.js';
|
|
8
8
|
import { c as FilterButton } from './filter.button-C8XTWPU2.js';
|
|
9
|
-
import { H as HeaderCellRenderer } from './header-cell-renderer-
|
|
10
|
-
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-
|
|
11
|
-
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-
|
|
12
|
-
import './debounce-
|
|
9
|
+
import { H as HeaderCellRenderer } from './header-cell-renderer-DGI2FAD8.js';
|
|
10
|
+
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService, g as getContentSize } from './throttle-CaUDyxyU.js';
|
|
11
|
+
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-CoCAvmZs.js';
|
|
12
|
+
import './debounce-PCRWZliA.js';
|
|
13
13
|
|
|
14
14
|
/**
|
|
15
15
|
* Class is responsible for highlighting rows in a table.
|
|
@@ -168,11 +168,13 @@ const RevogrData = class {
|
|
|
168
168
|
const depth = this.dataStore.get('groupingDepth');
|
|
169
169
|
const groupingCustomRenderer = this.dataStore.get('groupingCustomRenderer');
|
|
170
170
|
const groupDepth = this.columnService.hasGrouping ? depth : 0;
|
|
171
|
+
const rowRenderOffset = this.viewportRow.get('renderOffset') || 0;
|
|
172
|
+
const colRenderOffset = this.viewportCol.get('renderOffset') || 0;
|
|
171
173
|
for (let rgRow of rows) {
|
|
172
174
|
const dataItem = getSourceItem(this.dataStore, rgRow.itemIndex);
|
|
173
175
|
// #region Grouping
|
|
174
176
|
if (isGrouping(dataItem)) {
|
|
175
|
-
const gmodel = Object.assign(Object.assign({}, rgRow), { index: rgRow.itemIndex, model: dataItem, groupingCustomRenderer,
|
|
177
|
+
const gmodel = Object.assign(Object.assign({}, rgRow), { start: rgRow.start - rowRenderOffset, index: rgRow.itemIndex, model: dataItem, groupingCustomRenderer,
|
|
176
178
|
// Only show expand button if grouping is enabled and not in row headers
|
|
177
179
|
hasExpand: this.columnService.hasGrouping && this.colType !== 'rowHeaders', columnItems: cols, providers: this.providers });
|
|
178
180
|
rowsEls.push(h(GroupingRowRenderer, Object.assign({}, gmodel)));
|
|
@@ -195,7 +197,7 @@ const RevogrData = class {
|
|
|
195
197
|
[DATA_ROW]: rowProps.itemIndex,
|
|
196
198
|
style: {
|
|
197
199
|
width: `${columnProps.size}px`,
|
|
198
|
-
transform: `translateX(${columnProps.start}px)`,
|
|
200
|
+
transform: `translateX(${columnProps.start - colRenderOffset}px)`,
|
|
199
201
|
height: rowProps.size ? `${rowProps.size}px` : undefined,
|
|
200
202
|
},
|
|
201
203
|
};
|
|
@@ -223,7 +225,7 @@ const RevogrData = class {
|
|
|
223
225
|
if (this.rowHighlightPlugin.isRowFocused(rgRow.itemIndex)) {
|
|
224
226
|
rowClass += ` ${ROW_FOCUSED_CLASS}`;
|
|
225
227
|
}
|
|
226
|
-
const row = (h(RowRenderer, { index: rgRow.itemIndex, rowClass: rowClass, size: rgRow.size, start: rgRow.start, groupingLevel: groupDepth || undefined }, cells));
|
|
228
|
+
const row = (h(RowRenderer, { index: rgRow.itemIndex, rowClass: rowClass, size: rgRow.size, start: rgRow.start - rowRenderOffset, groupingLevel: groupDepth || undefined }, cells));
|
|
227
229
|
this.beforerowrender.emit({
|
|
228
230
|
node: row,
|
|
229
231
|
item: rgRow,
|
|
@@ -278,7 +280,7 @@ const HeaderRenderer = (p) => {
|
|
|
278
280
|
class: cellClass,
|
|
279
281
|
style: {
|
|
280
282
|
width: `${p.column.size}px`,
|
|
281
|
-
transform: `translateX(${p.column.start}px)`,
|
|
283
|
+
transform: `translateX(${p.column.start - (p.renderOffset || 0)}px)`,
|
|
282
284
|
},
|
|
283
285
|
onResize: p.onResize,
|
|
284
286
|
onDblClick(originalEvent) {
|
|
@@ -323,7 +325,7 @@ const HeaderGroupRenderer = (p) => {
|
|
|
323
325
|
[HEADER_CLASS]: true,
|
|
324
326
|
},
|
|
325
327
|
style: {
|
|
326
|
-
transform: `translateX(${p.start}px)`,
|
|
328
|
+
transform: `translateX(${p.start - (p.renderOffset || 0)}px)`,
|
|
327
329
|
width: `${p.end - p.start}px`,
|
|
328
330
|
},
|
|
329
331
|
onResize: p.onResize,
|
|
@@ -331,7 +333,7 @@ const HeaderGroupRenderer = (p) => {
|
|
|
331
333
|
return (h(HeaderCellRenderer, { data: Object.assign(Object.assign({}, p.group), { prop: '', providers: p.providers, index: p.start }), props: groupProps, additionalData: p.additionalData }));
|
|
332
334
|
};
|
|
333
335
|
|
|
334
|
-
const revogrHeaderStyleCss = () => `@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 i.asc:after,revogr-header .rgHeaderCell i.desc:after{font-size:13px}revogr-header .rgHeaderCell i.asc:after{content:"↑"}revogr-header .rgHeaderCell i.desc:after{content:"↓"}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}`;
|
|
336
|
+
const revogrHeaderStyleCss = () => `@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}`;
|
|
335
337
|
|
|
336
338
|
const RevogrHeaderComponent = class {
|
|
337
339
|
constructor(hostRef) {
|
|
@@ -387,6 +389,7 @@ const RevogrHeaderComponent = class {
|
|
|
387
389
|
}
|
|
388
390
|
renderHeaderColumns(cols, range) {
|
|
389
391
|
const columnsToRender = [];
|
|
392
|
+
const renderOffset = this.viewportCol.get('renderOffset') || 0;
|
|
390
393
|
for (let rgCol of cols) {
|
|
391
394
|
const colData = this.colData[rgCol.itemIndex];
|
|
392
395
|
const props = {
|
|
@@ -395,6 +398,7 @@ const RevogrHeaderComponent = class {
|
|
|
395
398
|
data: Object.assign(Object.assign({}, colData), { index: rgCol.itemIndex, providers: this.providers }),
|
|
396
399
|
canFilter: !!this.columnFilter,
|
|
397
400
|
canResize: this.canResize,
|
|
401
|
+
renderOffset,
|
|
398
402
|
active: this.resizeHandler,
|
|
399
403
|
additionalData: this.additionalData,
|
|
400
404
|
onResize: e => this.onResize(e, rgCol.itemIndex),
|
|
@@ -447,6 +451,7 @@ const RevogrHeaderComponent = class {
|
|
|
447
451
|
start: groupStart,
|
|
448
452
|
end: groupEnd,
|
|
449
453
|
group,
|
|
454
|
+
renderOffset: this.viewportCol.get('renderOffset') || 0,
|
|
450
455
|
active: this.resizeHandler,
|
|
451
456
|
canResize: this.canResize,
|
|
452
457
|
additionalData: this.additionalData,
|
|
@@ -601,7 +606,7 @@ const RevogrViewportScroll = class {
|
|
|
601
606
|
* @param e
|
|
602
607
|
*/
|
|
603
608
|
async changeScroll(e, silent = false) {
|
|
604
|
-
var _a, _b;
|
|
609
|
+
var _a, _b, _c, _d;
|
|
605
610
|
if (silent) {
|
|
606
611
|
if (e.coordinate && this.verticalScroll) {
|
|
607
612
|
switch (e.dimension) {
|
|
@@ -614,15 +619,16 @@ const RevogrViewportScroll = class {
|
|
|
614
619
|
return;
|
|
615
620
|
}
|
|
616
621
|
if (e.delta) {
|
|
622
|
+
let currentPhysicalCoordinate = 0;
|
|
617
623
|
switch (e.dimension) {
|
|
618
624
|
case 'rgCol':
|
|
619
|
-
|
|
625
|
+
currentPhysicalCoordinate = this.horizontalScroll.scrollLeft;
|
|
620
626
|
break;
|
|
621
627
|
case 'rgRow':
|
|
622
|
-
|
|
628
|
+
currentPhysicalCoordinate = (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.scrollTop) !== null && _b !== void 0 ? _b : 0;
|
|
623
629
|
break;
|
|
624
630
|
}
|
|
625
|
-
this.
|
|
631
|
+
return (_d = (_c = this.localScrollService) === null || _c === void 0 ? void 0 : _c.setScrollByDelta(e, currentPhysicalCoordinate)) !== null && _d !== void 0 ? _d : e;
|
|
626
632
|
}
|
|
627
633
|
return e;
|
|
628
634
|
}
|
|
@@ -774,7 +780,10 @@ const RevogrViewportScroll = class {
|
|
|
774
780
|
this.setScrollVisibility('rgCol', this.horizontalScroll.clientWidth, this.contentWidth);
|
|
775
781
|
}
|
|
776
782
|
render() {
|
|
777
|
-
|
|
783
|
+
var _a, _b, _c, _d;
|
|
784
|
+
const physicalContentHeight = getContentSize(this.contentHeight, (_b = (_a = this.verticalScroll) === null || _a === void 0 ? void 0 : _a.clientHeight) !== null && _b !== void 0 ? _b : 0);
|
|
785
|
+
const physicalContentWidth = getContentSize(this.contentWidth, (_d = (_c = this.horizontalScroll) === null || _c === void 0 ? void 0 : _c.clientWidth) !== null && _d !== void 0 ? _d : 0);
|
|
786
|
+
return (h(Host, { key: 'a0c47dede9d131dea8c8ca449e8a323f24d9b113', onWheel: this.horizontalMouseWheel, onScroll: (e) => this.applyScroll('rgCol', e) }, h("div", { key: '6c960e753ffe522ba4afb1c379264873b6c617f3', class: "inner-content-table", style: { width: `${physicalContentWidth}px` } }, h("div", { key: '1a6cbcbd3634e84756b54c8150aebd25c824e14a', class: "header-wrapper", ref: e => (this.header = e) }, h("slot", { key: 'e4202c687bc39b4f78f3ed9840e979b032f06af8', name: HEADER_SLOT })), h("div", { key: '651415b5b32e72735065b183317386a34042bb85', class: "vertical-inner", ref: el => (this.verticalScroll = el), onWheel: this.verticalMouseWheel, onScroll: (e) => this.applyScroll('rgRow', e) }, h("div", { key: 'e65623b78d80957d8676adb019618953ef267ec3', class: "content-wrapper", style: { height: `${physicalContentHeight}px` } }, h("slot", { key: '5af47b12ef1226587cf774233447b5252d65e836', name: CONTENT_SLOT }))), h("div", { key: 'cbc0fd64fbfb53d3b18e547bbe34e32b7bb9c043', class: "footer-wrapper", ref: e => (this.footer = e) }, h("slot", { key: 'a8e4bfaef400973121090bac3069eb85469a95f3', name: FOOTER_SLOT })))));
|
|
778
787
|
}
|
|
779
788
|
/**
|
|
780
789
|
* Extra layer for scroll event monitoring, where MouseWheel event is not passing
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { r as registerInstance, d as createEvent, h, e as Host, g as getElement } from './index-Chp_81rd.js';
|
|
5
|
-
import { d as debounce } from './debounce-
|
|
5
|
+
import { d as debounce } from './debounce-PCRWZliA.js';
|
|
6
6
|
import { i as isFilterBtn, e as AndOrButton, d as TrashButton } from './filter.button-C8XTWPU2.js';
|
|
7
7
|
|
|
8
8
|
(function closest() {
|
|
@@ -267,7 +267,8 @@ const FilterPanel = class {
|
|
|
267
267
|
const options = [];
|
|
268
268
|
const prop = this.changes.prop;
|
|
269
269
|
const hidden = new Set();
|
|
270
|
-
Object.
|
|
270
|
+
Object.keys(this.filterItems).forEach((prop) => {
|
|
271
|
+
const values = this.filterItems[prop];
|
|
271
272
|
values.forEach((filter) => {
|
|
272
273
|
if (filter.hidden) {
|
|
273
274
|
hidden.add(filter.type);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { d as isTab, f as isEnterKeyValue } from './edit.utils-
|
|
5
|
-
import {
|
|
4
|
+
import { d as isTab, f as isEnterKeyValue } from './edit.utils-Dnnbd0xG.js';
|
|
5
|
+
import { t as timeout } from './index-Db3qZoW5.js';
|
|
6
6
|
|
|
7
7
|
class TextEditor {
|
|
8
8
|
constructor(data, saveCallback) {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import {
|
|
5
|
-
import { d as debounce,
|
|
4
|
+
import { g as getScrollDimension } from './viewport.helpers-CoCAvmZs.js';
|
|
5
|
+
import { d as debounce, i as isObject } from './debounce-PCRWZliA.js';
|
|
6
6
|
|
|
7
7
|
const initialParams = {
|
|
8
8
|
contentSize: 0,
|
|
@@ -16,10 +16,11 @@ const NO_COORDINATE = -1;
|
|
|
16
16
|
* return full size
|
|
17
17
|
*/
|
|
18
18
|
function getContentSize(contentSize, clientSize, virtualSize = 0) {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
19
|
+
return getScrollDimension({
|
|
20
|
+
contentSize,
|
|
21
|
+
clientSize,
|
|
22
|
+
virtualSize,
|
|
23
|
+
}).physicalContentSize;
|
|
23
24
|
}
|
|
24
25
|
class LocalScrollService {
|
|
25
26
|
constructor(cfg) {
|
|
@@ -33,14 +34,20 @@ class LocalScrollService {
|
|
|
33
34
|
rgRow: NO_COORDINATE,
|
|
34
35
|
rgCol: NO_COORDINATE,
|
|
35
36
|
};
|
|
37
|
+
this.previousLogicalScroll = {
|
|
38
|
+
rgRow: 0,
|
|
39
|
+
rgCol: 0,
|
|
40
|
+
};
|
|
36
41
|
this.params = {
|
|
37
42
|
rgRow: Object.assign({}, initialParams),
|
|
38
43
|
rgCol: Object.assign({}, initialParams),
|
|
39
44
|
};
|
|
40
45
|
}
|
|
41
46
|
setParams(params, dimension) {
|
|
42
|
-
const
|
|
43
|
-
|
|
47
|
+
const scrollDimension = getScrollDimension(params);
|
|
48
|
+
const virtualContentSize = scrollDimension.physicalContentSize;
|
|
49
|
+
this.params[dimension] = Object.assign(Object.assign({}, params), { maxSize: virtualContentSize - params.clientSize, virtualContentSize,
|
|
50
|
+
scrollDimension });
|
|
44
51
|
}
|
|
45
52
|
// apply scroll values after scroll done
|
|
46
53
|
async setScroll(e) {
|
|
@@ -60,16 +67,27 @@ class LocalScrollService {
|
|
|
60
67
|
await frameAnimation;
|
|
61
68
|
const params = this.getParams(e.dimension);
|
|
62
69
|
e.coordinate = Math.ceil(e.coordinate);
|
|
63
|
-
this.
|
|
70
|
+
this.previousLogicalScroll[e.dimension] = this.wrapLogicalCoordinate(e.coordinate, params);
|
|
71
|
+
const physicalCoordinate = this.toPhysicalCoordinate(e.coordinate, params);
|
|
72
|
+
this.previousScroll[e.dimension] = this.wrapPhysicalCoordinate(physicalCoordinate, params);
|
|
64
73
|
this.preventArtificialScroll[e.dimension] = null;
|
|
65
|
-
this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate:
|
|
66
|
-
? this.convert(e.coordinate, params, false)
|
|
67
|
-
: e.coordinate }));
|
|
74
|
+
this.cfg.applyScroll(Object.assign(Object.assign({}, e), { coordinate: physicalCoordinate }));
|
|
68
75
|
}
|
|
69
76
|
catch (id) {
|
|
70
77
|
window.cancelAnimationFrame(id);
|
|
71
78
|
}
|
|
72
79
|
}
|
|
80
|
+
async setScrollByDelta(e, currentPhysicalCoordinate) {
|
|
81
|
+
var _a;
|
|
82
|
+
const params = this.getParams(e.dimension);
|
|
83
|
+
const baseCoordinate = this.previousScroll[e.dimension] === NO_COORDINATE
|
|
84
|
+
? this.toLogicalCoordinate(currentPhysicalCoordinate, params)
|
|
85
|
+
: this.previousLogicalScroll[e.dimension];
|
|
86
|
+
const coordinate = this.wrapLogicalCoordinate(baseCoordinate + ((_a = e.delta) !== null && _a !== void 0 ? _a : 0), params);
|
|
87
|
+
const nextEvent = Object.assign(Object.assign({}, e), { coordinate });
|
|
88
|
+
await this.setScroll(nextEvent);
|
|
89
|
+
return nextEvent;
|
|
90
|
+
}
|
|
73
91
|
/**
|
|
74
92
|
* On scroll event started
|
|
75
93
|
*/
|
|
@@ -82,21 +100,21 @@ class LocalScrollService {
|
|
|
82
100
|
return;
|
|
83
101
|
}
|
|
84
102
|
const param = this.getParams(dimension);
|
|
103
|
+
const logicalCoordinate = this.toLogicalScrollCoordinate(coordinate, dimension, param, delta);
|
|
85
104
|
// let component know about scroll event started
|
|
86
105
|
this.cfg.runScroll({
|
|
87
106
|
dimension: dimension,
|
|
88
|
-
coordinate:
|
|
89
|
-
? this.convert(coordinate, param)
|
|
90
|
-
: coordinate,
|
|
107
|
+
coordinate: logicalCoordinate,
|
|
91
108
|
delta,
|
|
92
109
|
outside,
|
|
93
110
|
});
|
|
111
|
+
this.previousLogicalScroll[dimension] = logicalCoordinate;
|
|
94
112
|
}
|
|
95
113
|
getParams(dimension) {
|
|
96
114
|
return this.params[dimension];
|
|
97
115
|
}
|
|
98
116
|
// check if scroll outside of region to avoid looping
|
|
99
|
-
|
|
117
|
+
wrapPhysicalCoordinate(c, param) {
|
|
100
118
|
if (c < 0) {
|
|
101
119
|
return NO_COORDINATE;
|
|
102
120
|
}
|
|
@@ -105,22 +123,39 @@ class LocalScrollService {
|
|
|
105
123
|
}
|
|
106
124
|
return c;
|
|
107
125
|
}
|
|
126
|
+
wrapLogicalCoordinate(c, param) {
|
|
127
|
+
var _a, _b;
|
|
128
|
+
if (c < 0) {
|
|
129
|
+
return 0;
|
|
130
|
+
}
|
|
131
|
+
return Math.min(c, (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.logicalScrollSize) !== null && _b !== void 0 ? _b : c);
|
|
132
|
+
}
|
|
108
133
|
// prevent already started scroll, performance optimization
|
|
109
134
|
cancelScroll(dimension) {
|
|
110
135
|
var _a, _b;
|
|
111
136
|
(_b = (_a = this.preventArtificialScroll)[dimension]) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
112
137
|
this.preventArtificialScroll[dimension] = null;
|
|
113
138
|
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
139
|
+
toLogicalScrollCoordinate(coordinate, dimension, param, delta) {
|
|
140
|
+
const scrollDimension = param.scrollDimension;
|
|
141
|
+
if (!scrollDimension) {
|
|
142
|
+
return coordinate;
|
|
143
|
+
}
|
|
144
|
+
if (typeof delta === 'number' && scrollDimension.isCompressed) {
|
|
145
|
+
const base = this.previousScroll[dimension] === NO_COORDINATE
|
|
146
|
+
? scrollDimension.toLogicalCoordinate(coordinate - delta)
|
|
147
|
+
: this.previousLogicalScroll[dimension];
|
|
148
|
+
return scrollDimension.toLogicalCoordinate(scrollDimension.toPhysicalCoordinate(base + delta));
|
|
122
149
|
}
|
|
123
|
-
return
|
|
150
|
+
return scrollDimension.toLogicalCoordinate(coordinate);
|
|
151
|
+
}
|
|
152
|
+
toPhysicalCoordinate(coordinate, param) {
|
|
153
|
+
var _a, _b;
|
|
154
|
+
return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toPhysicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;
|
|
155
|
+
}
|
|
156
|
+
toLogicalCoordinate(coordinate, param) {
|
|
157
|
+
var _a, _b;
|
|
158
|
+
return (_b = (_a = param.scrollDimension) === null || _a === void 0 ? void 0 : _a.toLogicalCoordinate(coordinate)) !== null && _b !== void 0 ? _b : coordinate;
|
|
124
159
|
}
|
|
125
160
|
}
|
|
126
161
|
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
const FALLBACK_MAX_SCROLL_SIZE = 16000000;
|
|
5
|
+
const SCROLL_SIZE_GUARD = 1000000;
|
|
6
|
+
let detectedMaxScrollSize;
|
|
7
|
+
function getMaxScrollSize(doc = typeof document === 'undefined' ? undefined : document) {
|
|
8
|
+
if (typeof detectedMaxScrollSize === 'number') {
|
|
9
|
+
return detectedMaxScrollSize;
|
|
10
|
+
}
|
|
11
|
+
const body = doc === null || doc === void 0 ? void 0 : doc.body;
|
|
12
|
+
if (body) {
|
|
13
|
+
const ownerDocument = body.ownerDocument;
|
|
14
|
+
const element = ownerDocument.createElement('div');
|
|
15
|
+
element.style.cssText = [
|
|
16
|
+
'height:1px',
|
|
17
|
+
'left:-10000px',
|
|
18
|
+
'overflow:scroll',
|
|
19
|
+
'position:absolute',
|
|
20
|
+
'top:-10000px',
|
|
21
|
+
'visibility:hidden',
|
|
22
|
+
'width:1px',
|
|
23
|
+
].join(';');
|
|
24
|
+
const content = ownerDocument.createElement('div');
|
|
25
|
+
content.style.height = `${FALLBACK_MAX_SCROLL_SIZE * 4}px`;
|
|
26
|
+
element.appendChild(content);
|
|
27
|
+
body.appendChild(element);
|
|
28
|
+
detectedMaxScrollSize = Math.max(0, Math.min(element.scrollHeight, FALLBACK_MAX_SCROLL_SIZE * 4) - SCROLL_SIZE_GUARD);
|
|
29
|
+
element.remove();
|
|
30
|
+
if (detectedMaxScrollSize > SCROLL_SIZE_GUARD) {
|
|
31
|
+
return detectedMaxScrollSize;
|
|
32
|
+
}
|
|
33
|
+
detectedMaxScrollSize = FALLBACK_MAX_SCROLL_SIZE;
|
|
34
|
+
return detectedMaxScrollSize;
|
|
35
|
+
}
|
|
36
|
+
return FALLBACK_MAX_SCROLL_SIZE;
|
|
37
|
+
}
|
|
38
|
+
function getScrollDimension({ contentSize, clientSize, virtualSize = 0, maxScrollSize = getMaxScrollSize(), }) {
|
|
39
|
+
const safeContentSize = Math.max(0, maxScrollSize - SCROLL_SIZE_GUARD);
|
|
40
|
+
const size = Math.max(0, contentSize);
|
|
41
|
+
const client = Math.max(0, clientSize);
|
|
42
|
+
const viewport = Math.max(0, virtualSize || client);
|
|
43
|
+
const logicalScrollSize = Math.max(0, size - viewport);
|
|
44
|
+
const maxPhysicalScrollSize = Math.max(0, safeContentSize - client);
|
|
45
|
+
const physicalScrollSize = Math.min(logicalScrollSize, maxPhysicalScrollSize);
|
|
46
|
+
const physicalContentSize = client + physicalScrollSize;
|
|
47
|
+
const isCompressed = logicalScrollSize > physicalScrollSize && physicalScrollSize > 0;
|
|
48
|
+
const clampLogical = (coordinate) => Math.min(Math.max(0, coordinate || 0), logicalScrollSize);
|
|
49
|
+
const clampPhysical = (coordinate) => Math.min(Math.max(0, coordinate || 0), physicalScrollSize);
|
|
50
|
+
const toLogicalCoordinate = (coordinate) => {
|
|
51
|
+
if (!logicalScrollSize || !physicalScrollSize) {
|
|
52
|
+
return 0;
|
|
53
|
+
}
|
|
54
|
+
if (!isCompressed) {
|
|
55
|
+
return clampLogical(coordinate);
|
|
56
|
+
}
|
|
57
|
+
return clampLogical((clampPhysical(coordinate) / physicalScrollSize) * logicalScrollSize);
|
|
58
|
+
};
|
|
59
|
+
const toPhysicalCoordinate = (coordinate) => {
|
|
60
|
+
if (!logicalScrollSize || !physicalScrollSize) {
|
|
61
|
+
return 0;
|
|
62
|
+
}
|
|
63
|
+
if (!isCompressed) {
|
|
64
|
+
return clampPhysical(coordinate);
|
|
65
|
+
}
|
|
66
|
+
return clampPhysical((clampLogical(coordinate) / logicalScrollSize) * physicalScrollSize);
|
|
67
|
+
};
|
|
68
|
+
return {
|
|
69
|
+
contentSize: size,
|
|
70
|
+
clientSize: client,
|
|
71
|
+
viewportSize: viewport,
|
|
72
|
+
physicalContentSize,
|
|
73
|
+
logicalScrollSize,
|
|
74
|
+
physicalScrollSize,
|
|
75
|
+
isCompressed,
|
|
76
|
+
toLogicalCoordinate,
|
|
77
|
+
toPhysicalCoordinate,
|
|
78
|
+
getRenderOffset(coordinate) {
|
|
79
|
+
const logical = clampLogical(coordinate);
|
|
80
|
+
return logical - toPhysicalCoordinate(logical);
|
|
81
|
+
},
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/**
|
|
86
|
+
* Collects data for pinned columns in the required @ViewportProps format.
|
|
87
|
+
*/
|
|
88
|
+
/**
|
|
89
|
+
* Represents the slot names for the viewport slots.
|
|
90
|
+
*/
|
|
91
|
+
const HEADER_SLOT = 'header'; // Slot name for the header slot
|
|
92
|
+
const FOOTER_SLOT = 'footer'; // Slot name for the footer slot
|
|
93
|
+
const CONTENT_SLOT = 'content'; // Slot name for the content slot
|
|
94
|
+
const DATA_SLOT = 'data'; // Slot name for the data slot
|
|
95
|
+
/**
|
|
96
|
+
* Returns the last visible cell in the viewport for a given row type.
|
|
97
|
+
* Coordinates are not zero-based and are relative to the viewport.
|
|
98
|
+
* If needed to be zero-based they can be adjusted by subtracting 1.
|
|
99
|
+
*/
|
|
100
|
+
function getLastCell(data, rowType) {
|
|
101
|
+
// Get the last visible column count from the viewport column data.
|
|
102
|
+
const lastVisibleColumnCount = data.viewports[data.colType].store.get('realCount');
|
|
103
|
+
// Get the last visible row count for the given row type from the viewport column data.
|
|
104
|
+
const lastVisibleRowCount = data.viewports[rowType].store.get('realCount');
|
|
105
|
+
// Return the last visible cell with the last visible column count and row count.
|
|
106
|
+
return {
|
|
107
|
+
x: lastVisibleColumnCount,
|
|
108
|
+
y: lastVisibleRowCount,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
function viewportDataPartition(data, type, slot, fixed) {
|
|
112
|
+
return {
|
|
113
|
+
colData: data.colStore,
|
|
114
|
+
viewportCol: data.viewports[data.colType].store,
|
|
115
|
+
viewportRow: data.viewports[type].store,
|
|
116
|
+
/**
|
|
117
|
+
* lastCell is the last real coordinate + 1, saved to selection store
|
|
118
|
+
*/
|
|
119
|
+
lastCell: getLastCell(data, type),
|
|
120
|
+
slot,
|
|
121
|
+
type,
|
|
122
|
+
canDrag: !fixed,
|
|
123
|
+
position: data.position,
|
|
124
|
+
dataStore: data.rowStores[type].store,
|
|
125
|
+
dimensionCol: data.dimensions[data.colType].store,
|
|
126
|
+
dimensionRow: data.dimensions[type].store,
|
|
127
|
+
style: fixed
|
|
128
|
+
? { height: `${data.dimensions[type].store.get('realSize')}px` }
|
|
129
|
+
: undefined,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
export { CONTENT_SLOT as C, DATA_SLOT as D, FOOTER_SLOT as F, HEADER_SLOT as H, getScrollDimension as g, viewportDataPartition as v };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { j as getItemByPosition,
|
|
4
|
+
import { j as getItemByPosition, K as createStore, l as setStore } from './dimension.helpers-CGKwSvw6.js';
|
|
5
5
|
|
|
6
6
|
const LETTER_BLOCK_SIZE = 10;
|
|
7
7
|
const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) => {
|
|
@@ -9,6 +9,15 @@ const calculateRowHeaderSize = (itemsLength, rowHeaderColumn, minWidth = 50) =>
|
|
|
9
9
|
Math.max((itemsLength.toString().length + 1) * LETTER_BLOCK_SIZE, minWidth));
|
|
10
10
|
};
|
|
11
11
|
|
|
12
|
+
function getViewportMaxCoordinate(dimension, viewportSize, frameOffset = 1) {
|
|
13
|
+
if (!viewportSize || dimension.realSize <= viewportSize) {
|
|
14
|
+
return 0;
|
|
15
|
+
}
|
|
16
|
+
return Math.max(0, dimension.realSize - viewportSize - dimension.originItemSize * frameOffset);
|
|
17
|
+
}
|
|
18
|
+
function clampViewportCoordinate(coordinate, dimension, viewportSize, frameOffset = 1) {
|
|
19
|
+
return Math.min(Math.max(0, coordinate), getViewportMaxCoordinate(dimension, viewportSize, frameOffset));
|
|
20
|
+
}
|
|
12
21
|
/**
|
|
13
22
|
* Update items based on new scroll position
|
|
14
23
|
* If viewport wasn't changed fully simple recombination of positions
|
|
@@ -274,6 +283,8 @@ function initialState() {
|
|
|
274
283
|
realCount: 0,
|
|
275
284
|
// size of viewport in px
|
|
276
285
|
clientSize: 0,
|
|
286
|
+
// logical-to-physical render offset used when scroll space is compressed
|
|
287
|
+
renderOffset: 0,
|
|
277
288
|
};
|
|
278
289
|
}
|
|
279
290
|
/**
|
|
@@ -309,21 +320,8 @@ class ViewportStore {
|
|
|
309
320
|
const outsize = singleOffsetInPx * 2;
|
|
310
321
|
// math virtual size is based on visible area + 2 items outside of visible area
|
|
311
322
|
const virtualSize = viewportSize + outsize;
|
|
312
|
-
|
|
313
|
-
let
|
|
314
|
-
// if there is nodes outside of viewport, max coordinate has to be adjusted
|
|
315
|
-
if (dimension.realSize > viewportSize) {
|
|
316
|
-
// max coordinate is real size minus virtual/rendered space
|
|
317
|
-
maxCoordinate = dimension.realSize - viewportSize - singleOffsetInPx;
|
|
318
|
-
}
|
|
319
|
-
let pos = position;
|
|
320
|
-
// limit position to max and min coordinates
|
|
321
|
-
if (pos < 0) {
|
|
322
|
-
pos = 0;
|
|
323
|
-
}
|
|
324
|
-
else if (pos > maxCoordinate) {
|
|
325
|
-
pos = maxCoordinate;
|
|
326
|
-
}
|
|
323
|
+
const maxCoordinate = getViewportMaxCoordinate(dimension, viewportSize, frameOffset);
|
|
324
|
+
let pos = clampViewportCoordinate(position, dimension, viewportSize, frameOffset);
|
|
327
325
|
// store last coordinate for further restore on redraw
|
|
328
326
|
this.lastCoordinate = pos;
|
|
329
327
|
// actual position is less than first item start based on offset
|
|
@@ -401,4 +399,4 @@ class ViewportStore {
|
|
|
401
399
|
}
|
|
402
400
|
}
|
|
403
401
|
|
|
404
|
-
export { ViewportStore as V,
|
|
402
|
+
export { ViewportStore as V, getUpdatedItemsByPosition as a, addMissingItems as b, clampViewportCoordinate as c, getItems as d, isActiveRangeOutsideLastItem as e, getFirstItem as f, getViewportMaxCoordinate as g, getLastItem as h, isActiveRange as i, calculateRowHeaderSize as j, recombineByOffset as r, setItemSizes as s, updateMissingAndRange as u };
|
|
@@ -2,12 +2,18 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, f as Build } from './index-Chp_81rd.js';
|
|
5
|
-
import {
|
|
6
|
-
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-
|
|
5
|
+
import { n as DATA_ROW, w as DRAG_ICON_CLASS, x as DRAGGABLE_CLASS } from './dimension.helpers-CGKwSvw6.js';
|
|
6
|
+
import { l as GROUP_EXPAND_BTN, m as GROUP_EXPAND_EVENT, G as GROUP_DEPTH, h as GROUP_EXPANDED, P as PSEUDO_GROUP_ITEM, O as isRowDragService, B as getCellDataParsed } from './column.service-DbpulTog.js';
|
|
7
7
|
|
|
8
|
+
/**
|
|
9
|
+
* Renders sorting direction and optional additive sorting rank.
|
|
10
|
+
*/
|
|
8
11
|
const SortingSign = ({ column }) => {
|
|
9
12
|
var _a;
|
|
10
|
-
|
|
13
|
+
const indicatorAttrs = { class: 'sort-indicator' };
|
|
14
|
+
const iconAttrs = { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' };
|
|
15
|
+
const orderIndexAttrs = { class: 'sort-order-index' };
|
|
16
|
+
return (h("span", Object.assign({}, indicatorAttrs), h("i", Object.assign({}, iconAttrs)), (column === null || column === void 0 ? void 0 : column.sortIndex) ? (h("sup", Object.assign({}, orderIndexAttrs), column.sortIndex)) : null));
|
|
11
17
|
};
|
|
12
18
|
|
|
13
19
|
const PADDING_DEPTH = 10;
|