@revolist/revogrid 4.11.1 → 4.11.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/{column.drag.plugin-16a106da.js → column.drag.plugin-f617482a.js} +3 -3
- package/dist/cjs/{column.drag.plugin-16a106da.js.map → column.drag.plugin-f617482a.js.map} +1 -1
- package/dist/cjs/{column.service-905483c3.js → column.service-0100bdd1.js} +2 -1
- package/dist/cjs/column.service-0100bdd1.js.map +1 -0
- package/dist/cjs/{header-cell-renderer-64a361f7.js → header-cell-renderer-08b05cc0.js} +2 -2
- package/dist/cjs/{header-cell-renderer-64a361f7.js.map → header-cell-renderer-08b05cc0.js.map} +1 -1
- package/dist/cjs/index.cjs.js +14 -5
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +5 -5
- package/dist/cjs/revo-grid.cjs.entry.js.map +1 -1
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +2 -2
- package/dist/collection/components/revoGrid/revo-grid.js +4 -2
- package/dist/collection/components/revoGrid/revo-grid.js.map +1 -1
- package/dist/collection/plugins/index.js +1 -0
- package/dist/collection/plugins/index.js.map +1 -1
- package/dist/esm/{column.drag.plugin-6e6655d5.js → column.drag.plugin-68f6280b.js} +3 -3
- package/dist/esm/{column.drag.plugin-6e6655d5.js.map → column.drag.plugin-68f6280b.js.map} +1 -1
- package/dist/esm/{column.service-7a47e6d0.js → column.service-adc73a28.js} +2 -2
- package/dist/esm/{column.service-7a47e6d0.js.map → column.service-adc73a28.js.map} +1 -1
- package/dist/esm/{header-cell-renderer-f46a8010.js → header-cell-renderer-46df6d22.js} +2 -2
- package/dist/esm/{header-cell-renderer-f46a8010.js.map → header-cell-renderer-46df6d22.js.map} +1 -1
- package/dist/esm/index.js +4 -4
- package/dist/esm/revo-grid.entry.js +5 -5
- package/dist/esm/revo-grid.entry.js.map +1 -1
- package/dist/esm/revogr-attribution_7.entry.js +1 -1
- package/dist/esm/revogr-data_4.entry.js +2 -2
- package/dist/revo-grid/column.drag.plugin-68f6280b.js +5 -0
- package/dist/revo-grid/{column.drag.plugin-6e6655d5.js.map → column.drag.plugin-68f6280b.js.map} +1 -1
- package/dist/revo-grid/{column.service-7a47e6d0.js → column.service-adc73a28.js} +2 -2
- package/dist/revo-grid/{header-cell-renderer-f46a8010.js → header-cell-renderer-46df6d22.js} +2 -2
- package/dist/revo-grid/index.esm.js +1 -1
- package/dist/revo-grid/index.esm.js.map +1 -1
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revo-grid.entry.js.map +1 -1
- package/dist/revo-grid/revogr-attribution_7.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/types/components/revoGrid/revo-grid.d.ts +2 -0
- package/dist/types/plugins/index.d.ts +1 -0
- package/hydrate/index.js +4 -2
- package/hydrate/index.mjs +4 -2
- package/package.json +1 -1
- package/standalone/column.service.js +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +3 -3
- package/standalone/revo-grid.js.map +1 -1
- package/standalone/revogr-data2.js +1 -1
- package/standalone/revogr-header2.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
- package/dist/cjs/column.service-905483c3.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-6e6655d5.js +0 -5
- /package/dist/revo-grid/{column.service-7a47e6d0.js.map → column.service-adc73a28.js.map} +0 -0
- /package/dist/revo-grid/{header-cell-renderer-f46a8010.js.map → header-cell-renderer-46df6d22.js.map} +0 -0
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { r as registerInstance, h, H as Host, c as createEvent, a as getElement } from './index-a61f225b.js';
|
|
5
5
|
import { b as getSourceItem, j as getItemByPosition, k as getItemByIndex, J as FOCUS_CLASS, U as codesLetter, u as timeout, R as RESIZE_INTERVAL, L as CELL_HANDLER_CLASS, K as MOBILE_CLASS, S as SELECTION_BORDER_CLASS, D as DataStore, A as ROW_HEADER_TYPE, o as getScrollbarSize, T as TMP_SELECTION_BG_CLASS } from './dimension.helpers-d0d709c4.js';
|
|
6
6
|
import { g as getPropertyFromEvent, v as verifyTouchTarget } from './events-cf0893a3.js';
|
|
7
|
-
import { g as getRange,
|
|
7
|
+
import { g as getRange, H as ColumnService, o as getCellData, a as isRangeSingleCell } from './column.service-adc73a28.js';
|
|
8
8
|
import { i as isEditInput } from './edit.utils-0ae0db50.js';
|
|
9
9
|
import { c as isClear, d as isTab, f as isEnterKeyValue, h as isCopy, g as isCut, j as isPaste, k as isAll } from './key.utils-7c3218d4.js';
|
|
10
10
|
import { d as debounce } from './debounce-b3166f78.js';
|
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-a61f225b.js';
|
|
5
|
-
import {
|
|
5
|
+
import { I as GROUP_EXPAND_BTN, J as PSEUDO_GROUP_ITEM, G as GROUP_EXPANDED, z as GROUP_DEPTH, K as isRowDragService, q as getCellDataParsed, H as ColumnService, h as isGrouping, y as baseEach } from './column.service-adc73a28.js';
|
|
6
6
|
import { M as MIN_COL_SIZE, H as HEADER_CLASS, a7 as findIndex, k as getItemByIndex, E as HEADER_ROW_CLASS, y as DATA_ROW, Q as ROW_FOCUSED_CLASS, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS, b as getSourceItem, x as DATA_COL, a8 as getNative, Y as isArray, a4 as baseIteratee, J as FOCUS_CLASS, B as HEADER_SORTABLE_CLASS, F as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-d0d709c4.js';
|
|
7
7
|
import { c as FilterButton } from './filter.button-d40ab17b.js';
|
|
8
8
|
import { S as SortingSign } from './sorting.sign-1a675bf7.js';
|
|
9
|
-
import { H as HeaderCellRenderer } from './header-cell-renderer-
|
|
9
|
+
import { H as HeaderCellRenderer } from './header-cell-renderer-46df6d22.js';
|
|
10
10
|
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-394e489c.js';
|
|
11
11
|
import { H as HEADER_SLOT, C as CONTENT_SLOT, F as FOOTER_SLOT } from './viewport.helpers-7e7f9dad.js';
|
|
12
12
|
import './debounce-b3166f78.js';
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Built by Revolist OU ❤️
|
|
3
|
+
*/
|
|
4
|
+
import{x as t,y as s,r as i,h as e,f as n,q as o,G as r,k as c,P as h,l as u,z as l,A as a,w as f,p as d,B as v,b as p,C as m,e as b,j as g,d as y,t as j}from"./column.service-adc73a28.js";import{W as O,w,i as x,X as S,Y as E,b as C,o as I,Z as k,_ as z,u as N,$ as P,a0 as F,a1 as q,a2 as M,g as R,e as D,j as G}from"./dimension.helpers-d0d709c4.js";import{f as A}from"./viewport.store-afa8c4fe.js";import{h as B}from"./index-a61f225b.js";import{b as T,i as $}from"./filter.button-d40ab17b.js";import{i as J,b as H,d as L}from"./debounce-b3166f78.js";import{d as X,O as U}from"./header-cell-renderer-46df6d22.js";const W=t=>({set(s){switch(s){case"count":case"sizes":case"originItemSize":{let s=0;const i=t.store.get("count");for(let e=0;e<i;e++){s+=t.store.get("sizes")[e]||t.store.get("originItemSize")}t.setStore({realSize:s});break}}}});const K=t=>{let s=null;let i=null;return{set(e,n){switch(e){case"sizes":{if(s&&s===n){s=null;return}i=null;break}case"trimmed":{const e=n;if(!i){i=t.store.get("sizes")}s=V(i,e||{});t.setSizes(s);break}}}}};function V(t,s){const i={};const e=Object.keys(t||{}).map(Number).sort(((t,s)=>t-s));const n=e[e.length-1];let o=0;for(let e=0;e<=n;e++){if(s[e]!==undefined){o++;if(t[e]!==undefined){continue}}if(t[e]!==undefined){i[e-o]=t[e]}}return i}function Y(){return{indexes:[],count:0,trimmed:null,sizes:{},positionIndexToItem:{},indexToItem:{},positionIndexes:[]}}function Z(){return Object.assign(Object.assign({},Y()),{realSize:0,originItemSize:0})}class _{constructor(t){this.type=t;this.store=O(Z());this.store.use(K({store:this.store,setSizes:this.setDimensionSize.bind(this)}));this.store.use(W({store:this.store,setStore:this.setStore.bind(this)}))}getCurrentState(){const s=Z();const i=Object.keys(s);return t(i,((t,s)=>{const i=this.store.get(s);t[s]=i;return t}),s)}dispose(){w(this.store,Z())}setStore(t){w(this.store,t)}drop(){w(this.store,Y())}setDimensionSize(t={}){const s=x(this.store.get("originItemSize"),t);w(this.store,Object.assign(Object.assign({},s),{sizes:t}))}updateSizesPositionByIndexes(t,s=[]){const i=Object.assign({},this.store.get("sizes"));if(!Object.keys(i).length){return}const e={};s.forEach(((t,s)=>{if(!e[t]){e[t]=[]}e[t].push(s)}));const n={};t.forEach(((t,s)=>{const o=e[t];if(o&&o.length>0){const t=o.shift();if(t!==undefined&&t!==s&&i[t]){n[s]=i[t];delete i[t]}}}));if(Object.keys(n).length){this.setDimensionSize(Object.assign(Object.assign({},i),n))}}}const Q=["rowPinStart","rgRow","rowPinEnd"];const tt=["colPinStart","rgCol","colPinEnd"];function st(t){return Q.indexOf(t)>-1}class it{constructor(t,s){this.revogrid=t;this.providers=s;this.h=B;this.subscriptions={}}addEventListener(t,s){this.revogrid.addEventListener(t,s);this.subscriptions[t]=s}watch(t,s,{immediate:i}={immediate:false}){const e=Object.getOwnPropertyDescriptor(this.revogrid,t)||Object.getOwnPropertyDescriptor(this.revogrid.constructor.prototype,t);Object.defineProperty(this.revogrid,t,{set(t){var i;const n=s(t);if(n===false){return}return(i=e===null||e===void 0?void 0:e.set)===null||i===void 0?void 0:i.call(this,t)},get(){var t;return(t=e===null||e===void 0?void 0:e.get)===null||t===void 0?void 0:t.call(this)}});if(i){s(e===null||e===void 0?void 0:e.value)}}removeEventListener(t){this.revogrid.removeEventListener(t,this.subscriptions[t]);delete this.subscriptions[t]}emit(t,s){const i=new CustomEvent(t,{detail:s,cancelable:true});this.revogrid.dispatchEvent(i);return i}clearSubscriptions(){for(let t in this.subscriptions){this.removeEventListener(t)}}destroy(){this.clearSubscriptions()}}function et(t,s){var i=-1,e=t==null?0:t.length;while(++i<e){if(s(t[i],i,t)===false){break}}return t}function nt(t){return typeof t=="function"?t:S}function ot(t,i){var e=E(t)?et:s;return e(t,nt(i))}const rt=7;var ct;(function(t){t["headerClickAutosize"]="headerClickAutoSize";t["autoSizeOnTextOverlap"]="autoSizeOnTextOverlap";t["autoSizeAll"]="autoSizeAll"})(ct||(ct={}));class ht extends it{constructor(t,s,e){super(t,s);this.providers=s;this.config=e;this.autoSizeColumns=null;this.dataResolve=null;this.dataReject=null;this.letterBlockSize=(e===null||e===void 0?void 0:e.letterBlockSize)||rt;if(e===null||e===void 0?void 0:e.preciseSize){this.precsizeCalculationArea=this.initiatePresizeElement();t.appendChild(this.precsizeCalculationArea)}const n=({detail:{source:t}})=>{this.setSource(t)};const o=({detail:t})=>{this.afteredit(t)};const r=({detail:t})=>{this.afterEditAll(t)};const c=({detail:{columns:t}})=>{this.columnSet(t)};const h=({detail:t})=>{const s=i(t.column);const e=this.getColumnSize(t.index,s);if(e){this.providers.dimension.setCustomSizes(s,{[t.index]:e},true)}};this.addEventListener("beforecolumnsset",c);switch(e===null||e===void 0?void 0:e.mode){case ct.autoSizeOnTextOverlap:this.addEventListener("aftersourceset",n);this.addEventListener("afteredit",o);break;case ct.autoSizeAll:this.addEventListener("aftersourceset",n);this.addEventListener("afteredit",r);break;default:this.addEventListener("headerdblclick",h);break}}async setSource(t){let s=this.autoSizeColumns;if(this.dataReject){this.dataReject();this.clearPromise()}if(!s){const t=new Promise(((t,s)=>{this.dataResolve=t;this.dataReject=s}));try{s=await t}catch(t){return}}ot(s,((i,e)=>{const n={};ot(s[e],(s=>{s.size=n[s.index]=t.reduce(((t,i)=>Math.max(t,this.getLength(i[s.prop]))),this.getLength(s.name||""))}));this.providers.dimension.setCustomSizes(e,n,true)}))}getLength(t){var s;const i=15;if(!t){return 0}try{const e=t.toString();if((s=this.config)===null||s===void 0?void 0:s.preciseSize){this.precsizeCalculationArea.innerText=e;return this.precsizeCalculationArea.scrollWidth+i*2}return e.length*this.letterBlockSize+i*2}catch(t){return 0}}afteredit(s){let i;if(this.isRangeEdit(s)){i=s.data}else{i={0:{[s.prop]:s.val}}}ot(this.autoSizeColumns,((s,e)=>{const n={};ot(s,(s=>{var e;const o=t(i,((t,i)=>{if(typeof i[s.prop]==="undefined"){return t}return Math.max(t||0,this.getLength(i[s.prop]))}),undefined);if(o&&((e=s.size)!==null&&e!==void 0?e:0)<o){s.size=n[s.index]=o}}));this.providers.dimension.setCustomSizes(e,n,true)}))}afterEditAll(t){const s={};if(this.isRangeEdit(t)){ot(t.data,(t=>ot(t,((t,i)=>s[i]=true))))}else{s[t.prop]=true}ot(this.autoSizeColumns,((t,i)=>{const e={};ot(t,(t=>{if(s[t.prop]){const s=this.getColumnSize(t.index,i);if(s){e[t.index]=s}}}));this.providers.dimension.setCustomSizes(i,e,true)}))}getColumnSize(s,i){var e,n;const o=(n=(e=this.autoSizeColumns)===null||e===void 0?void 0:e[i])===null||n===void 0?void 0:n[s];if(!o){return 0}return t(this.providers.data.stores,((s,i)=>{const e=t(i.store.get("items"),((t,s,e)=>{const n=C(i.store,e);return Math.max(t||0,this.getLength(n===null||n===void 0?void 0:n[o.prop]))}),0);return Math.max(s,e)}),o.size||0)}columnSet(t){var s;for(let i of tt){const e=i;const n=t[e];for(let t in n){if(n[t].autoSize||((s=this.config)===null||s===void 0?void 0:s.allColumns)){if(!this.autoSizeColumns){this.autoSizeColumns={}}if(!this.autoSizeColumns[e]){this.autoSizeColumns[e]={}}this.autoSizeColumns[e][t]=Object.assign(Object.assign({},n[t]),{index:parseInt(t,10)})}}}if(this.dataResolve){this.dataResolve(this.autoSizeColumns||{});this.clearPromise()}}clearPromise(){this.dataResolve=null;this.dataReject=null}isRangeEdit(t){return!!t.data}initiatePresizeElement(){var t;const s={position:"absolute",fontSize:"14px",height:"0",width:"0",whiteSpace:"nowrap",top:"0",overflowX:"scroll"};const i=document.createElement("div");for(let e in s){i.style[e]=(t=s[e])!==null&&t!==void 0?t:""}i.classList.add("revo-test-container");return i}destroy(){var t;super.destroy();(t=this.precsizeCalculationArea)===null||t===void 0?void 0:t.remove()}}class ut extends it{constructor(t,s){super(t,s);this.providers=s;this.stretchedColumn=null;this.scrollSize=I(document);const i=({detail:{columns:t}})=>this.applyStretch(t);this.addEventListener("beforecolumnapplied",i)}setScroll({type:t,hasScroll:s}){var i;if(t==="rgRow"&&this.stretchedColumn&&((i=this.stretchedColumn)===null||i===void 0?void 0:i.initialSize)===this.stretchedColumn.size){if(s){this.stretchedColumn.size-=this.scrollSize;this.apply();this.dropChanges()}}}activateChanges(){const t=({detail:t})=>this.setScroll(t);this.addEventListener("scrollchange",t)}dropChanges(){this.stretchedColumn=null;this.removeEventListener("scrollchange")}apply(){if(!this.stretchedColumn){return}const t="rgCol";const s=this.providers.dimension.stores[t].store.get("sizes");this.providers.dimension.setCustomSizes(t,Object.assign(Object.assign({},s),{[this.stretchedColumn.index]:this.stretchedColumn.size}),true)}applyStretch(t){this.dropChanges();let s=this.revogrid.clientWidth-1;ot(t,((t,i)=>{const e=this.providers.dimension.stores[i].store.get("realSize");s-=e}));if(this.revogrid.rowHeaders){const t=this.providers.data.stores.rgRow.store.get("source").length;const i=this.revogrid.rowHeaders;const e=A(t,typeof i==="object"?i:undefined);if(e){s-=e}}if(s>0){const i=t.rgCol.length-1;const e=t.rgCol[i];const n=(e===null||e===void 0?void 0:e.size)||this.revogrid.colSize||0;const o=s+n-1;if(e&&!e.autoSize&&n<o){this.stretchedColumn={initialSize:o,index:i,size:o};this.apply();this.activateChanges()}}}}function lt(t){return!!t.applyStretch}function at(t,s,i){if(t===t){if(i!==undefined){t=t<=i?t:i}if(s!==undefined){t=t>=s?t:s}}return t}var ft=4294967295;function dt(t){return t?at(k(t),0,ft):0}function vt(t,s,i,e){var n=t.length;i=k(i);if(i<0){i=-i>n?0:n+i}e=e===undefined||e>n?n:k(e);if(e<0){e+=n}e=i>e?0:dt(e);while(i<e){t[i++]=s}return t}function pt(t,s,i,e){var n=t==null?0:t.length;if(!n){return[]}if(i&&typeof i!="number"&&z(t,s,i)){i=0;e=n}return vt(t,s,i,e)}const mt={mime:"text/csv",fileKind:"csv",bom:true,columnDelimiter:",",rowDelimiter:"\r\n",encoding:""};const bt=String.fromCharCode(13);const gt=String.fromCharCode(10);const yt=String.fromCharCode(34);const jt=String.fromCharCode(65279);const Ot=new RegExp('"',"g");class wt{constructor(t={}){this.options=Object.assign(Object.assign({},mt),t)}doExport({data:t,headers:s,props:i}){let o=this.options.bom?jt:"";if((s===null||s===void 0?void 0:s.length)>0){s.forEach((t=>{if(!t.length){return}o+=this.prepareHeader(t,this.options.columnDelimiter);o+=this.options.rowDelimiter}))}t.forEach(((t,s)=>{if(s>0){o+=this.options.rowDelimiter}if(e(t)){o+=this.parseCell(n(t),this.options.columnDelimiter);return}o+=i.map((s=>this.parseCell(t[s],this.options.columnDelimiter))).join(this.options.columnDelimiter)}));return o}prepareHeader(t,s){let i="";const e=t.map((t=>this.parseCell(t,s,true)));i+=e.join(s);return i}parseCell(t,s,i=false){let e=t;if(typeof t!=="string"){e=JSON.stringify(t)}const n=[bt,yt,gt,s];if(typeof e==="undefined"){return""}if(e!==""&&(i||n.some((t=>e.indexOf(t)>=0)))){return`"${e.replace(Ot,'""')}"`}return e}}var xt;(function(t){t["csv"]="csv"})(xt||(xt={}));class St extends it{async exportString(t={},s=xt.csv){const i=await this.beforeexport();if(!i){return null}return this.formatter(s,t).doExport(i)}async exportBlob(t={},s=xt.csv){return await this.getBlob(this.formatter(s,t))}async exportFile(t={},s=xt.csv){const i=this.formatter(s,t);const e=window.URL||window.webkitURL;const n=document.createElement("a");const{filename:o,fileKind:r}=i.options;const c=`${o}.${r}`;const h=await this.getBlob(i);const u=h?e.createObjectURL(h):"";n.style.display="none";n.setAttribute("href",u);n.setAttribute("download",c);this.revogrid.appendChild(n);n.dispatchEvent(new MouseEvent("click"));this.revogrid.removeChild(n);await N(120);e.revokeObjectURL(u)}async getBlob(t){const s=`${t.options.mime};charset=${t.options.encoding}`;if(typeof Blob!=="undefined"){const i=await this.beforeexport();if(!i){return null}return new Blob([t.doExport(i)],{type:s})}return null}async beforeexport(){let t=await this.getData();const s=this.emit("beforeexport",{data:t});if(s.defaultPrevented){return null}return s.detail.data}async getData(){const t=await this.getSource();const s=[];const i=[];tt.forEach(((t,e)=>{i.push(this.getColPerSource(t).then((t=>s[e]=t)))}));await Promise.all(i);const e={headers:[],props:[]};for(let t of s){t.headers.forEach(((t,s)=>{if(!e.headers[s]){e.headers[s]=[]}e.headers[s].push(...t)}));e.props.push(...t.props)}return Object.assign({data:t},e)}async getColPerSource(t){const s=await this.revogrid.getColumnStore(t);const i=s.get("source");const e=s.get("items");const n=s.get("groupingDepth");const o=s.get("groups");const r=[];const c=[];const h=e.reduce(((t,s,e)=>{const n=i[s].prop;r.push(i[s].name||"");c.push(n);t[n]=e;return t}),{});const u=this.getGroupHeaders(n,o,e,h);u.push(r);return{headers:u,props:c}}getGroupHeaders(t,s,i,e){const n=[];const o=pt(new Array(i.length),"");for(let i=0;i<t;i++){const t=[...o];n.push(t);if(!s[i]){continue}const r=s[i];r.forEach((s=>{const i=this.findGroupStartIndex(s.ids,e);if(typeof i==="number"){t[i]=s.name}}))}return n}findGroupStartIndex(t,s){let i;t.forEach((t=>{const e=s[t];if(typeof e==="number"){if(typeof i!=="number"||i>e){i=e}}}));return i}async getSource(){const t=[];const s=[];Q.forEach((i=>{const e=[];t.push(e);const n=this.revogrid.getVisibleSource(i).then((t=>e.push(...t)));s.push(n)}));await Promise.all(s);return t.reduce(((t,s)=>{t.push(...s);return t}),[])}formatter(t,s={}){switch(t){case xt.csv:return new wt(s);default:throw new Error("Unknown format")}}}const Et=(t,s)=>{if(typeof t==="undefined"||t===null&&!s){return true}if(typeof t!=="string"){t=JSON.stringify(t)}const i=s===null||s===void 0?void 0:s.toString().toLocaleLowerCase();if((i===null||i===void 0?void 0:i.length)===0){return true}return t.toLocaleLowerCase()===i};const Ct=(t,s)=>!Et(t,s);Ct.extra="input";Et.extra="input";const It=function(t,s){let i;if(typeof t==="number"&&typeof s!=="undefined"&&s!==null){i=parseFloat(s===null||s===void 0?void 0:s.toString());return t>i}return false};It.extra="input";const kt=function(t,s){return Et(t,s)||It(t,s)};kt.extra="input";const zt=function(t,s){let i;if(typeof t==="number"&&typeof s!=="undefined"&&s!==null){i=parseFloat(s.toString());return t<i}else{return false}};zt.extra="input";const Nt=function(t,s){return Et(t,s)||zt(t,s)};Nt.extra="input";const Pt=t=>!(t===""||t===null||t===void 0);const Ft=t=>!Pt(t);const qt=(t,s)=>{if(!t){return false}if(!s){return true}if(typeof t!=="string"){t=JSON.stringify(t)}if(typeof s!=="string"){s=JSON.stringify(s)}return t.toLocaleLowerCase().indexOf(s.toLocaleLowerCase())===0};qt.extra="input";const Mt=(t,s)=>{if(!s){return true}if(!t){return false}if(s){if(typeof t!=="string"){t=JSON.stringify(t)}return t.toLocaleLowerCase().indexOf(s.toString().toLowerCase())>-1}return true};const Rt=(t,s)=>!Mt(t,s);Rt.extra="input";Mt.extra="input";const Dt={none:()=>true,empty:Ft,notEmpty:Pt,eq:Et,notEq:Ct,begins:qt,contains:Mt,notContains:Rt,eqN:Et,neqN:Ct,gt:It,gte:kt,lt:zt,lte:Nt};const Gt={string:["notEmpty","empty","eq","notEq","begins","contains","notContains"],number:["notEmpty","empty","eqN","neqN","gt","gte","lt","lte"]};const At={none:"None",empty:"Not set",notEmpty:"Set",eq:"Equal",notEq:"Not equal",begins:"Begins with",contains:"Contains",notContains:"Does not contain",eqN:"=",neqN:"!=",gt:">",gte:">=",lt:"<",lte:"<="};const Bt="filter";const Tt="filterconfigchanged";const $t="revogr-filter-panel";class Jt extends it{constructor(t,s,i){var e;super(t,s);this.revogrid=t;this.config=i;this.filterCollection={};this.multiFilterItems={};this.filterByType=Object.assign({},Gt);this.filterNameIndexByType=Object.assign({},At);this.filterFunctionsIndexedByType=Object.assign({},Dt);this.filterProp=T;if(i){this.initConfig(i)}const n=this.revogrid.registerVNode.filter((t=>typeof t==="object"&&t.t!==$t));this.revogrid.registerVNode=[...n,B("revogr-filter-panel",{filterNames:this.filterNameIndexByType,filterEntities:this.filterFunctionsIndexedByType,filterCaptions:(e=i===null||i===void 0?void 0:i.localization)===null||e===void 0?void 0:e.captions,onFilterChange:t=>this.onFilterChange(t.detail),onResetChange:t=>this.onFilterReset(t.detail),disableDynamicFiltering:i===null||i===void 0?void 0:i.disableDynamicFiltering,ref:t=>this.pop=t}," ",this.extraContent())];const o=async()=>{const t=Object.keys(this.filterCollection);if(t.length>0){t.forEach(((t,s)=>{if(!this.multiFilterItems[t]){this.multiFilterItems[t]=[{id:s,type:this.filterCollection[t].type,value:this.filterCollection[t].value,relation:"and"}]}}))}if(Object.keys(this.multiFilterItems).length===0){return}await this.runFiltering(this.multiFilterItems)};this.addEventListener("headerclick",(t=>this.headerclick(t)));this.addEventListener(Tt,(({detail:t})=>{if(!t||typeof t==="object"&&(!t.multiFilterItems||!Object.keys(t.multiFilterItems).length)){this.clearFiltering();return}if(typeof t==="object"){this.initConfig(t)}o()}));this.addEventListener("aftersourceset",o);this.addEventListener("filter",(({detail:t})=>this.onFilterChange(t)))}beforeshow(t){}extraContent(){return null}initConfig(t){if(t.multiFilterItems){this.multiFilterItems=Object.assign({},t.multiFilterItems)}else{this.multiFilterItems={}}if(t.customFilters){for(let s in t.customFilters){const i=t.customFilters[s];if(!this.filterByType[i.columnFilterType]){this.filterByType[i.columnFilterType]=[]}this.filterByType[i.columnFilterType].push(s);this.filterFunctionsIndexedByType[s]=i.func;this.filterNameIndexByType[s]=i.name}}if(t.filterProp){this.filterProp=t.filterProp}const s=t.include;if(s){const t={};for(let i in this.filterByType){const e=this.filterByType[i].filter((t=>s.indexOf(t)>-1));if(e.length){t[i]=e}}if(Object.keys(t).length>0){this.filterByType=t}}if(t.collection){const s=Object.entries(t.collection).filter((([,t])=>this.filterFunctionsIndexedByType[t.type]));this.filterCollection=Object.fromEntries(s)}else{this.filterCollection={}}if(t.localization){if(t.localization.filterNames){Object.entries(t.localization.filterNames).forEach((([t,s])=>{if(this.filterNameIndexByType[t]!=void 0){this.filterNameIndexByType[t]=s}}))}}}async headerclick(t){var s,i;const e=(s=t.detail.originalEvent)===null||s===void 0?void 0:s.target;if(!$(e)){return}t.preventDefault();if(!this.pop){return}const n=this.revogrid.getBoundingClientRect();const o=e.getBoundingClientRect();const r=t.detail.prop;const c=Object.assign(Object.assign(Object.assign({},t.detail),this.filterCollection[r]),{x:o.x-n.x,y:o.y-n.y+o.height,autoCorrect:true,filterTypes:this.getColumnFilter(t.detail.filter),filterItems:this.multiFilterItems,extraContent:this.extraHyperContent});(i=this.beforeshow)===null||i===void 0?void 0:i.call(this,c);this.pop.show(c)}getColumnFilter(t){let s="string";if(!t){return{[s]:this.filterByType[s]}}if(this.isValidType(t)){s=t}else if(typeof t==="object"&&t.length){return t.reduce(((t,s)=>{if(this.isValidType(s)){t[s]=this.filterByType[s]}return t}),{})}return{[s]:this.filterByType[s]}}isValidType(t){return!!(typeof t==="string"&&this.filterByType[t])}async onFilterChange(t){this.multiFilterItems=t;this.runFiltering(this.multiFilterItems)}onFilterReset(t){delete this.multiFilterItems[t!==null&&t!==void 0?t:""];this.onFilterChange(this.multiFilterItems)}async doFiltering(t,s,i,e){const n=[];const o={};i.forEach((t=>{const s=Object.assign({},t);const i=e[s.prop];o[s.prop]=s;if(s[this.filterProp]&&!i){delete s[this.filterProp];n.push(s)}if(!s[this.filterProp]&&i){n.push(s);s[this.filterProp]=true}}));const r=this.getRowFilter(s,e,o);const{defaultPrevented:c,detail:h}=this.emit("beforefiltertrimmed",{collection:t,itemsToFilter:r,source:s,filterItems:e});if(c){return}const u=await this.revogrid.addTrimmed(h.itemsToFilter,Bt);if(u.defaultPrevented){return}this.providers.column.updateColumns(n);this.emit("afterfilterapply",{multiFilterItems:e,source:s,collection:t})}async clearFiltering(){this.multiFilterItems={};await this.runFiltering(this.multiFilterItems)}async runFiltering(t){const s={};const i=Object.keys(t);for(const e of i){if(t[e].length>0){const i=t[e][0];s[e]={type:i.type,value:i.value}}}this.filterCollection=s;const e=this.providers.column.getColumns();const n=this.providers.data.stores["rgRow"].store.get("source");const{defaultPrevented:o,detail:r}=this.emit("beforefilterapply",{collection:this.filterCollection,source:n,columns:e,filterItems:this.multiFilterItems});if(o){return}this.doFiltering(r.collection,r.source,r.columns,r.filterItems)}getRowFilter(t,s,i){const e=Object.keys(s);const n={};for(let o=0;o<t.length;o++){for(const r of e){if(this.shouldTrimRow(s[r],r,i[r],t[o])){n[o]=true}}}return n}shouldTrimRow(t,s,i,e={}){let n=0;let r=[];for(const[c,h]of t.entries()){const u=this.filterFunctionsIndexedByType[h.type];const l=i?o(e,i):e[s];if(h.relation==="or"){r=[];if(u(l,h.value)){continue}n++}else{r.push(!u(l,h.value));if(Ht(c,t)){if(Lt(r)){r=[];continue}n+=r.length;r=[]}}}return n===t.length}}function Ht(t,s){const i=s[t+1];return!i||!!i.relation&&i.relation!=="and"}function Lt(t){return!t.includes(true)}function Xt(t,s){const i=s[t];const n=i[a];const o={};let c=t+1;const h=s.length;while(c<h){const t=s[c];if(e(t)){const s=t[a];if(!s.length||!s.startsWith(n+",")){break}t[r]=false}o[c++]=true}i[r]=false;return{trimmed:o}}function Ut(t,s,i){const n=i[t];const o=s[n];const a=c(o[h]);const f={};if(!a){return{trimmed:f}}const d=[];o[r]=true;let v=n+1;const p=s.length;let m=0;while(v<p){const t=s[v];const i=e(t);if(i){if(!u(a,o,t)){break}else if(!m){m=t[l]}}if(!m||i&&m===t[l]){f[v]=false;d.push(v)}v++}const b={trimmed:f};if(d.length){const s=[...i];s.splice(t+1,0,...d);b.items=s}return b}const Wt="grouping";function Kt(t,s,i){const e={};for(let n in t){if(n===Wt){continue}const o=t[n];const r={};for(let t in o){let c=s[t];if(i){c=i[c]}if(o[t]){r[c]=true;if(c!==parseInt(t,10)){e[n]=r}}}}return e}var Vt="[object String]";function Yt(t){return typeof t=="string"||!E(t)&&J(t)&&H(t)==Vt}var Zt=P("length");const _t=Zt;var Qt="\\ud800-\\udfff",ts="\\u0300-\\u036f",ss="\\ufe20-\\ufe2f",is="\\u20d0-\\u20ff",es=ts+ss+is,ns="\\ufe0e\\ufe0f";var os="\\u200d";var rs=RegExp("["+os+Qt+es+ns+"]");function cs(t){return rs.test(t)}var hs="\\ud800-\\udfff",us="\\u0300-\\u036f",ls="\\ufe20-\\ufe2f",as="\\u20d0-\\u20ff",fs=us+ls+as,ds="\\ufe0e\\ufe0f";var vs="["+hs+"]",ps="["+fs+"]",ms="\\ud83c[\\udffb-\\udfff]",bs="(?:"+ps+"|"+ms+")",gs="[^"+hs+"]",ys="(?:\\ud83c[\\udde6-\\uddff]){2}",js="[\\ud800-\\udbff][\\udc00-\\udfff]",Os="\\u200d";var ws=bs+"?",xs="["+ds+"]?",Ss="(?:"+Os+"(?:"+[gs,ys,js].join("|")+")"+xs+ws+")*",Es=xs+ws+Ss,Cs="(?:"+[gs+ps+"?",ps,ys,js,vs].join("|")+")";var Is=RegExp(ms+"(?="+ms+")|"+Cs+Es,"g");function ks(t){var s=Is.lastIndex=0;while(Is.test(t)){++s}return s}function zs(t){return cs(t)?ks(t):_t(t)}var Ns="[object Map]",Ps="[object Set]";function Fs(t){if(t==null){return 0}if(F(t)){return Yt(t)?zs(t):t.length}var s=q(t);if(s==Ns||s==Ps){return t.size}return M(t).length}function qs(t,s,i={}){if(Object.entries(i).length===0){return[...Array(t.length).keys()]}return t.sort(((t,n)=>{const o=s[t];const r=s[n];for(const[t,s]of Object.entries(i)){if(e(o)){if(o["__rvgr-prop"]!==t){return 0}}if(e(r)){if(r["__rvgr-prop"]!==t){return 0}}const i=s===null||s===void 0?void 0:s(t,o,r);if(i){return i}}return 0}))}class Ms extends it{runSorting(t,s,i){var e;this.sort(t,s,undefined,i);(e=this.sortingPromise)===null||e===void 0?void 0:e.call(this);this.sortingPromise=null}constructor(t,s,i){super(t,s);this.revogrid=t;this.sortingPromise=null;this.postponeSort=L(((t,s,i)=>this.runSorting(t,s,i)),50);const e=t=>{var s;if(t){const i={};const e={};(s=t.columns)===null||s===void 0?void 0:s.forEach((t=>{i[t.prop]=this.getComparer(t,t.order);e[t.prop]=t.order}));this.sorting=e;this.sortingFunc=i}};e(i);this.addEventListener("sortingconfigchanged",(({detail:t})=>{i=t;e(t);this.startSorting(this.sorting,this.sortingFunc)}));this.addEventListener("beforeanysource",(({detail:{type:t}})=>{if(!!this.sorting&&this.sortingFunc){const s=this.emit("beforesorting",{type:t});if(s.defaultPrevented){return}this.startSorting(this.sorting,this.sortingFunc)}}));this.addEventListener("aftercolumnsset",(({detail:{order:t}})=>{if(i){return}const s=this.providers.column.getColumns();const e={};for(let i in t){const n=this.getComparer(f(s,i),t[i]);e[i]=n}this.sorting=t;this.sortingFunc=t&&e}));this.addEventListener("beforeheaderclick",(t=>{var s,i,e,n;if(t.defaultPrevented){return}if(!((i=(s=t.detail)===null||s===void 0?void 0:s.column)===null||i===void 0?void 0:i.sortable)){return}this.headerclick(t.detail.column,t.detail.index,(n=(e=t.detail)===null||e===void 0?void 0:e.originalEvent)===null||n===void 0?void 0:n.shiftKey)}))}startSorting(t,s,i){if(!this.sortingPromise){this.revogrid.jobsBeforeRender.push(new Promise((t=>{this.sortingPromise=t})))}this.postponeSort(t,s,i)}getComparer(t,s){var i,e;const n=((i=t===null||t===void 0?void 0:t.cellCompare)===null||i===void 0?void 0:i.bind({order:s}))||((e=this.defaultCellCompare)===null||e===void 0?void 0:e.bind({column:t,order:s}));if(s=="asc"){return n}if(s=="desc"){return this.descCellCompare(n)}return undefined}headerclick(t,s,i){var e,n;let o=this.getNextOrder(t.order);const r=this.emit("beforesorting",{column:t,order:o,additive:i});if(r.defaultPrevented){return}o=r.detail.order;const c=this.providers.column.updateColumnSorting(r.detail.column,s,o,i);const h=this.emit("beforesortingapply",{column:c,order:o,additive:i});if(h.defaultPrevented){return}const u=this.getComparer(h.detail.column,h.detail.order);if(h.detail.additive&&this.sorting){const s={};const i={};this.sorting=Object.assign(Object.assign({},this.sorting),s);this.sortingFunc=Object.assign(Object.assign({},this.sortingFunc),i);if(t.prop in s&&Fs(s)>1&&o===undefined){delete s[t.prop];delete i[t.prop]}else{s[t.prop]=o;i[t.prop]=u}}else{if(o){this.sorting={[t.prop]:o};this.sortingFunc={[t.prop]:u}}else{(e=this.sorting)===null||e===void 0?true:delete e[t.prop];(n=this.sortingFunc)===null||n===void 0?true:delete n[t.prop]}}this.startSorting(this.sorting,this.sortingFunc)}sort(t,s,i=Q,e=false){if(!Object.keys(t||{}).length){for(let t of i){const s=this.providers.data.stores[t];const i=s.store.get("source");const e=s.store.get("proxyItems");const n=Array.from({length:i.length},((t,s)=>s));this.providers.dimension.updateSizesPositionByNewDataIndexes(t,n,e);s.setData({proxyItems:n,source:[...i]})}}else{for(let t of i){const i=this.providers.data.stores[t];const n=i.store.get("source");const o=i.store.get("proxyItems");const r=qs([...o],n,s);const c=i.store.get("items");i.setData({proxyItems:r,source:[...n]});const h=i.store.get("items");if(!e){this.providers.dimension.updateSizesPositionByNewDataIndexes(t,h,c)}}}this.emit("aftersortingapply")}defaultCellCompare(t,s,i){const e=this.column?d(s,this.column):s===null||s===void 0?void 0:s[t];const n=this.column?d(i,this.column):i===null||i===void 0?void 0:i[t];const o=e===null||e===void 0?void 0:e.toString().toLowerCase();const r=n===null||n===void 0?void 0:n.toString().toLowerCase();return o==r?0:o>r?1:-1}descCellCompare(t){return(s,i,e)=>-1*t(s,i,e)}getNextOrder(t){switch(t){case undefined:return"asc";case"asc":return"desc";case"desc":return undefined}}}class Rs extends it{getStore(t=v){return this.providers.data.stores[t].store}constructor(t,s){super(t,s);this.revogrid=t;this.providers=s}onFocus(t){if(e(t.detail.model)){t.preventDefault()}}onExpand({virtualIndex:t}){const{source:s}=p(this.getStore().get("source"),this.getStore().get("proxyItems"));let i=this.getStore().get("trimmed")[Wt];let e=R(this.getStore(),t);const n=y(s[e]);if(!n){const{trimmed:e,items:n}=Ut(t,s,this.getStore().get("items"));i=Object.assign(Object.assign({},i),e);if(n){D(this.getStore(),n)}}else{const{trimmed:t}=Xt(e,s);i=Object.assign(Object.assign({},i),t);this.revogrid.clearFocus()}this.getStore().set("source",s);this.revogrid.addTrimmed(i,Wt)}setColumnGrouping(t){if(t===null||t===void 0?void 0:t.length){t[0][m]=true;return true}return false}setColumns({columns:t}){for(let s of tt){if(this.setColumnGrouping(t[s])){break}}}onDrag(t){const{from:s,to:i}=t.detail;const n=i-s>=0;const{source:o}=p(this.getStore().get("source"),this.getStore().get("proxyItems"));const r=this.getStore().get("items");let c=n?s:i;const h=n?i:s;for(;c<h;c++){const s=o[r[c]];const i=e(s);if(i){t.preventDefault();return}}}beforeTrimmedApply(t,s){if(s===Bt){const s=this.getStore().get("source");for(let i in t){if(t[i]&&e(s[i])){t[i]=false}}}}isSortingRunning(){const t=this.providers.plugins.getByClass(Ms);return!!(t===null||t===void 0?void 0:t.sortingPromise)}subscribe(){this.addEventListener("beforesourceset",(({detail:t})=>{var s,i,e;if(!(((i=(s=this.options)===null||s===void 0?void 0:s.props)===null||i===void 0?void 0:i.length)&&((e=t===null||t===void 0?void 0:t.source)===null||e===void 0?void 0:e.length))){return}if(this.isSortingRunning()){return}this.onDataSet(t)}));this.addEventListener("beforecolumnsset",(({detail:t})=>{this.setColumns(t)}));this.addEventListener("beforetrimmed",(({detail:{trimmed:t,trimmedType:s}})=>this.beforeTrimmedApply(t,s)));this.addEventListener("aftersortingapply",(()=>{var t,s;if(!((s=(t=this.options)===null||t===void 0?void 0:t.props)===null||s===void 0?void 0:s.length)){return}this.doSourceUpdate(Object.assign({},this.options))}));this.addEventListener("beforecellfocus",(t=>this.onFocus(t)));this.addEventListener("roworderchanged",(t=>this.onDrag(t)));this.addEventListener("groupexpandclick",(t=>this.onExpand(t.detail)))}doSourceUpdate(t){var s;const{source:i,prevExpanded:e,oldNewIndexes:n}=p(this.getStore().get("source"),this.getStore().get("proxyItems"),true);const o=Object.assign({prevExpanded:e},t);const{sourceWithGroups:r,depth:c,trimmed:h,oldNewIndexMap:u,childrenByGroup:l}=b(i,((s=this.options)===null||s===void 0?void 0:s.props)||[],o);const a=t===null||t===void 0?void 0:t.groupLabelTemplate;this.providers.data.setData(r,v,this.revogrid.disableVirtualY,{depth:c,customRenderer:a},true);this.updateTrimmed(h,l,n!==null&&n!==void 0?n:{},u)}onDataSet(t){var s,i;let n={};if(((s=this.options)===null||s===void 0?void 0:s.preserveGroupingOnUpdate)!==false){let{prevExpanded:t}=p(this.getStore().get("source"),this.getStore().get("proxyItems"),true);n=t}const o=t.source.filter((t=>!e(t)));const r=Object.assign(Object.assign({},this.revogrid.grouping||{}),{prevExpanded:n});const{sourceWithGroups:c,depth:h,trimmed:u,oldNewIndexMap:l,childrenByGroup:a}=b(o,((i=this.options)===null||i===void 0?void 0:i.props)||[],r);t.source=c;this.providers.data.setGrouping({depth:h});this.updateTrimmed(u,a,l)}setGrouping(t){var s,i;this.clearSubscriptions();this.options=t;if(!((i=(s=this.options)===null||s===void 0?void 0:s.props)===null||i===void 0?void 0:i.length)){this.clearGrouping();return}const{source:e}=p(this.getStore().get("source"),this.getStore().get("proxyItems"));if(e.length){this.doSourceUpdate(Object.assign({},t))}for(let t of tt){if(this.setColumnGrouping(this.providers.column.getColumns(t))){this.providers.column.refreshByType(t);break}}this.subscribe()}clearGrouping(){tt.forEach((t=>{const s=this.providers.column.getColumns(t);let i=false;s.forEach((t=>{if(g(t)){delete t[m];i=true}}));if(i){this.providers.column.refreshByType(t)}}));const{source:t,oldNewIndexes:s}=p(this.getStore().get("source"),this.getStore().get("proxyItems"),true);this.providers.data.setData(t,v,this.revogrid.disableVirtualY,undefined,true);this.updateTrimmed(undefined,undefined,s)}updateTrimmed(t={},s={},i={},e){const n=Kt(this.getStore().get("trimmed"),i,e);for(let t in n){this.revogrid.addTrimmed(n[t],t)}this.revogrid.addTrimmed(Object.assign({},t),Wt)}}const Ds="column-drag-start";class Gs{constructor(){this.offset=0}renderAutoscroll(t,s){if(!s){return}this.autoscrollEl=document.createElement("div");this.autoscrollEl.classList.add("drag-auto-scroll-y");s.appendChild(this.autoscrollEl)}autoscroll(t,s,i="translateX"){if(!this.autoscrollEl){return}const e=10;const n=Math.min(t+e,s-3);this.autoscrollEl.style.transform=`${i}(${n}px)`;this.autoscrollEl.scrollIntoView({block:"nearest",inline:"nearest"})}start(t,{dataEl:s,gridRect:i,scrollEl:e,gridEl:n},o="left"){n.classList.add(Ds);const r=e.getBoundingClientRect();if(r){this.offset=r[o]-i[o]}this.renderAutoscroll(t,s)}stop(t){var s;t.classList.remove(Ds);if(this.element){this.element.hidden=true}this.offset=0;(s=this.autoscrollEl)===null||s===void 0?void 0:s.remove();this.autoscrollEl=undefined}showHandler(t,s,i="translateX"){if(!this.element){return}if(this.offset){t=Math.max(t,this.offset)}t=Math.min(t,s);this.element.style.transform=`${i}(${t}px)`;this.element.hidden=false}render(){const t=this.element=document.createElement("div");t.classList.add("drag-position-y");t.hidden=true;return t}}const As=U;const Bs="columndragmousemove";const Ts="columndragend";const $s="beforecolumndragend";const Js="columndragstart";class Hs extends it{constructor(t,s){super(t,s);this.revogrid=t;this.providers=s;this.moveFunc=L((t=>this.doMove(t)),5);this.staticDragData=null;this.dragData=null;this.localSubscriptions={};this.orderUi=new Gs;t.appendChild(this.orderUi.render());t.classList.add("column-draggable");this.localSubscriptions["mouseleave"]={target:document,callback:t=>this.onMouseOut(t)};this.localSubscriptions["mouseup"]={target:document,callback:t=>this.onMouseUp(t)};this.localSubscriptions["mousemove"]={target:document,callback:t=>this.move(t)};this.addEventListener(As,(({detail:t})=>this.dragStart(t)))}dragStart({event:t,data:s}){if(t.defaultPrevented){return}const{defaultPrevented:i}=X(this.revogrid,Js,s);if(i){return}this.clearOrder();const{mouseleave:e,mouseup:n,mousemove:o}=this.localSubscriptions;e.target.addEventListener("mouseleave",e.callback);n.target.addEventListener("mouseup",n.callback);const r=t.target.closest("revogr-header");const c=t.target.closest("revogr-viewport-scroll");if(!r||!c){return}if(j(s)||s.providers.type==="rowHeaders"){return}const h=this.getDimension(s.pin||"rgCol");const u=this.revogrid.getBoundingClientRect();const l=r.getBoundingClientRect();const a=G(h,Ls(t.x,u.left,l.left-u.left));this.staticDragData={startPos:t.x,startItem:a,data:s,dataEl:r,scrollEl:c,gridEl:this.revogrid,cols:h};this.dragData=this.getData(this.staticDragData);o.target.addEventListener("mousemove",o.callback);this.orderUi.start(t,Object.assign(Object.assign({},this.dragData),this.staticDragData))}doMove(t){if(!this.staticDragData){return}const s=this.dragData=this.getData(this.staticDragData);if(!s){return}const i=this.staticDragData.startPos;if(Math.abs(i-t.x)>10){const i=Ls(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);const e=G(this.staticDragData.cols,i);this.orderUi.autoscroll(i,s.elRect.width);if(e.itemIndex>=this.staticDragData.cols.count){return}this.orderUi.showHandler(e.end+s.scrollOffset,s.gridRect.width)}}move(t){X(this.revogrid,Bs,t);this.moveFunc(t)}onMouseOut(t){this.clearOrder()}onMouseUp(t){if(this.dragData&&this.staticDragData){let s=Ls(t.x,this.dragData.gridRect.left,this.dragData.scrollOffset);if(s<0){s=0}const i=G(this.staticDragData.cols,s);const e=this.providers.column.stores[this.dragData.type].store;const n=[...e.get("items")];const{defaultPrevented:o}=X(this.revogrid,$s,Object.assign(Object.assign({},this.staticDragData),{startPosition:this.staticDragData.startItem,newPosition:i,newItem:e.get("source")[n[this.staticDragData.startItem.itemIndex]]}));if(!o){const t=[...n];const s=n.splice(this.staticDragData.startItem.itemIndex,1);n.splice(i.itemIndex,0,...s);e.set("items",n);this.providers.dimension.updateSizesPositionByNewDataIndexes(this.dragData.type,n,t)}X(this.revogrid,Ts,this.dragData)}this.clearOrder()}clearLocalSubscriptions(){ot(this.localSubscriptions,(({target:t,callback:s},i)=>t.removeEventListener(i,s)))}clearOrder(){this.staticDragData=null;this.dragData=null;this.clearLocalSubscriptions();this.orderUi.stop(this.revogrid)}clearSubscriptions(){super.clearSubscriptions();this.clearLocalSubscriptions()}getData({gridEl:t,dataEl:s,data:i}){const e=t.getBoundingClientRect();const n=s.getBoundingClientRect();const o=n.left-e.left;return{elRect:n,gridRect:e,type:i.pin||"rgCol",scrollOffset:o}}getDimension(t){return this.providers.dimension.stores[t].getCurrentState()}}function Ls(t,s,i){return t-s-i}export{ht as A,it as B,Hs as C,_ as D,St as E,Bt as F,Rs as G,ut as S,lt as a,wt as b,tt as c,Tt as d,$t as e,Jt as f,Dt as g,Gt as h,st as i,At as j,Ls as k,Ms as l,ot as m,Q as r};
|
|
5
|
+
//# sourceMappingURL=column.drag.plugin-68f6280b.js.map
|