@revolist/revogrid 4.23.8 → 4.23.10
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-Dcz022q7.js → cell-renderer-Dl9kKeKp.js} +1 -1
- package/dist/cjs/{column.drag.plugin-CHyc9aCK.js → column.drag.plugin-BRraLvz3.js} +2 -2
- package/dist/cjs/{column.service-C1Qvcf5l.js → column.service-BNWNiJW3.js} +62 -23
- package/dist/cjs/{header-cell-renderer-vVr4IWNV.js → header-cell-renderer-DyjOxArm.js} +1 -1
- package/dist/cjs/index.cjs.js +4 -4
- package/dist/cjs/revo-grid.cjs.entry.js +5 -5
- package/dist/cjs/revogr-attribution_7.cjs.entry.js +40 -4
- package/dist/cjs/revogr-data_4.cjs.entry.js +3 -3
- package/dist/collection/components/data/column.service.js +62 -23
- package/dist/collection/components/overlay/clipboard.utils.js +26 -0
- package/dist/collection/components/overlay/revogr-overlay-selection.js +27 -7
- package/dist/collection/components/revoGrid/revo-grid.js +14 -7
- package/dist/collection/serve/controller.js +1 -0
- package/dist/esm/{cell-renderer-BtN-NGCk.js → cell-renderer-CdF2Jm3B.js} +1 -1
- package/dist/esm/{column.drag.plugin-DEKk4rrp.js → column.drag.plugin-V9DDE3mU.js} +2 -2
- package/dist/esm/{column.service-CC_SD8W3.js → column.service-C6hByxPy.js} +62 -23
- package/dist/esm/{header-cell-renderer-B-LX2sgu.js → header-cell-renderer-BMmXRsd_.js} +1 -1
- package/dist/esm/index.js +5 -5
- package/dist/esm/revo-grid.entry.js +5 -5
- package/dist/esm/revogr-attribution_7.entry.js +40 -4
- package/dist/esm/revogr-data_4.entry.js +3 -3
- package/dist/revo-grid/{cell-renderer-BtN-NGCk.js → cell-renderer-CdF2Jm3B.js} +1 -1
- package/dist/revo-grid/{column.drag.plugin-DEKk4rrp.js → column.drag.plugin-V9DDE3mU.js} +2 -2
- package/dist/revo-grid/{column.service-CC_SD8W3.js → column.service-C6hByxPy.js} +62 -23
- package/dist/revo-grid/{header-cell-renderer-B-LX2sgu.js → header-cell-renderer-BMmXRsd_.js} +1 -1
- package/dist/revo-grid/index.esm.js +5 -5
- package/dist/revo-grid/revo-grid.entry.js +5 -5
- package/dist/revo-grid/revogr-attribution_7.entry.js +40 -4
- package/dist/revo-grid/revogr-data_4.entry.js +3 -3
- package/dist/types/components/data/column.service.d.ts +10 -1
- package/dist/types/components/overlay/clipboard.utils.d.ts +3 -0
- package/dist/types/components/overlay/revogr-overlay-selection.d.ts +4 -3
- package/dist/types/components/revoGrid/revo-grid.d.ts +4 -4
- package/dist/types/components.d.ts +14 -14
- package/dist/types/types/interfaces.d.ts +8 -0
- package/hydrate/index.js +103 -28
- package/hydrate/index.mjs +103 -28
- package/package.json +1 -1
- package/readme.md +20 -1
- package/standalone/column.service.js +1 -1
- package/standalone/revogr-overlay-selection2.js +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{m as t,n,o as e,q as r,l as o,r as s,a as i,b as c}from"./data.store.js";import"@stencil/core/internal/client";import"./platform.js";import{G as u,b as a,C as l}from"./consts.js";function f(n){var e=t(n),r=e%1;return e==e?r?e-r:e:0}function d(t,n,e,r){var o=-1,s=null==t?0:t.length;for(r&&s&&(e=t[++o]);++o<s;)e=n(e,t[o],o,t);return e}var p,v=(p=function(t,e){return t&&function(t,n,e){for(var r=-1,o=Object(t),s=e(t),i=s.length;i--;){var c=s[++r];if(!1===n(o[c],c,o))break}return t}(t,e,n)},function(t,n){if(null==t)return t;if(!e(t))return p(t,n);for(var r=t.length,o=-1,s=Object(t);++o<r&&!1!==n(s[o],o,s););return t});function h(t,n,e,r,o){return o(t,(function(t,o,s){e=r?(r=!1,t):n(e,t,o,s)})),e}function x(t,n,e){var s=o(t)?d:h,i=arguments.length<3;return s(t,r(n),e,i,v)}function m(t){return null==t?"":t}function b(t={},n){if(n)return n.cellParser?n.cellParser(t,n):t[n.prop]}function g(t,n){return m(b(t,n))}function j(t){return t.pin?t.pin:"rgCol"}function O(t){const n={};for(const[e,r]of t.entries())r.size&&(n[e]=r.size);return n}function y(t){return!!t.children}function I(t,n=0,e,r){return x(t,((t,o)=>{var s;if(y(o))return w(t,o,I(o.children,n+1,e,t),null==r?void 0:r.columns,n);const i=Object.assign(Object.assign({},o.columnType&&(null==e?void 0:e[o.columnType])),o);return i.pin?t.columns[i.pin].push(i):t.columns.rgCol.push(i),i.order&&(t.sort[i.prop]=i),t.columnByProp[i.prop]||(t.columnByProp[i.prop]=[]),t.columnByProp[i.prop].push(i),null===(s=i.beforeSetup)||void 0===s||s.call(i,i),t}),{columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},sort:{},maxLevel:n})}function w(t,n,e,r,s=0){const i=Object.assign(Object.assign({},n),{level:s,indexes:[]});C.forEach((n=>{const s=t.columns[n],c=e.columns[n];if(o(s)&&o(c)){const e=c.length;if(e){const o=[...(null==r?void 0:r[n])||[],...s].length;s.push(...c),t.columnGrouping[n].push(Object.assign(Object.assign({},i),{indexes:Array(e).fill(o).map(((t,n)=>t+n))}))}}}));for(let n in e.columnGrouping){const o=n,s=e.columnGrouping[o],i=((null==r?void 0:r[o])||[]).length,c=i>0?s.map((t=>Object.assign(Object.assign({},t),{indexes:t.indexes.map((t=>t+i))}))):s;t.columnGrouping[o].push(...c)}return t.maxLevel=Math.max(t.maxLevel,e.maxLevel),t.sort=Object.assign(Object.assign({},t.sort),e.sort),t.columnByProp=Object.assign(Object.assign({},t.columnByProp),e.columnByProp),t}function P(t,n){for(const e of t)if(y(e)){const t=P(e.children,n);if(t)return t}else if(e.prop===n)return e}function E(t,n){return P(t,n)}function M(t,n){const e={};let r=["x","y"];for(let n of r)if(t[n]<0)return e[n]=t[n],e;for(let o of r)if(t[o]>=n[o])return e[o]=t[o]-n[o],e;return null}function A(t,n){const e=Object.assign({},t),r=["x","y"];for(const o of r)t[o]<0?e[o]=0:t[o]>=n[o]&&(e[o]=n[o]-1);return e}function R(t,n){return t&&n?{x:Math.min(t.x,n.x),y:Math.min(t.y,n.y),x1:Math.max(t.x,n.x),y1:Math.max(t.y,n.y)}:null}function S(t){return t.x===t.x1&&t.y===t.y1}const $=["rowPinStart","rgRow","rowPinEnd"],C=["colPinStart","rgCol","colPinEnd"];function N(t){return $.indexOf(t)>-1}const D=`${u}-depth`,G=`${u}-name`,T=`${u}-id`,k=`${u}-value`,V=`${u}-column`,J=`${u}-expanded`,q=`${u}-prop`,B=`${u}-original-index`,L="group-expand",z="groupexpandclick",F="rgRow";function H(t,n){return t[n]||null}function K(t){return null!=t}function Q(t,n,e=!1){let r=0;const o={source:[],prevExpanded:{},oldNewIndexes:{}};return n.forEach((n=>{const s=t[n];if(e)if(Z(s))W(s)&&(o.prevExpanded[s[k]]=!0);else{if(!K(s))return;o.source.push(s),o.oldNewIndexes[n]=r,r++}else o.source.push(s)})),o}function W(t={}){return t[J]}function U({groupedValues:t,parentIds:n,isExpanded:e,itemIndex:r,expandedAll:o,prevExpanded:s,columnProps:i}){const c=n.length,u=[];let a={},l={};return t.forEach(((t,f)=>{const d=[...n,f],p=d.join(","),v=e&&(!!o||!!s[p]);if(u.push({[G]:f,[D]:c,[T]:JSON.stringify(d),[k]:p,[J]:v,[q]:i[c],[i[c]]:f}),r+=1,!e&&c&&(a[r]=!0),Array.isArray(t))t.forEach((t=>{r+=1,v||(a[r]=!0),l[t[B]]=r})),u.push(...t);else{const n=U({groupedValues:t,parentIds:d,isExpanded:v,itemIndex:r,expandedAll:o,prevExpanded:s,columnProps:i});u.push(...n.source),a=Object.assign(Object.assign({},n.trimmed),a),l=Object.assign(Object.assign({},n.oldNewIndexMap),l),r=n.itemIndex}})),{source:u,oldNewIndexMap:l,trimmed:a,itemIndex:r}}function X(t,n,{prevExpanded:e={},expandedAll:r=!1,getGroupValue:o=H}){const s=new Map;t.forEach(((t,e)=>{if(!K(t))return;const r=n.map((n=>o(t,n))),i=r.pop();let c=s;r.forEach((t=>{c.has(t)||c.set(t,new Map),c=c.get(t)})),c.has(i)||c.set(i,[]),c.get(i).push(Object.assign(Object.assign({},t),{[B]:e}))}));const i=n.length,{source:c,trimmed:u,oldNewIndexMap:a}=U({groupedValues:s,parentIds:[],isExpanded:!0,itemIndex:-1,expandedAll:r,prevExpanded:e,columnProps:n});return{sourceWithGroups:c,depth:i,trimmed:u,oldNewIndexMap:a}}function Y(t){return null==t?void 0:t[G]}function Z(t){return void 0!==(null==t?void 0:t[G])}function _(t){return void 0!==(null==t?void 0:t[V])}function tt(t,n){const e=t.length;let r=0;for(;r<e;r++)if(t[r]!==n[r])return r;return r}function nt(t){const n=JSON.parse(t);return Array.isArray(n)?n:null}function et(t,n,e){const r=nt(e[T]);if(!r)return!1;const o=tt(t,r);return n[D]<o}function rt(t,n={}){const e=null==t?void 0:t.editor;if(e)return"string"==typeof e?n[e]:e}class ot{get columns(){return i(this.source)}constructor(t,n){this.dataStore=t,this.source=n,this.unsubscribe=[],this.hasGrouping=!1,this.unsubscribe.push(n.onChange("source",(t=>this.checkGrouping(t)))),this.checkGrouping(n.get("source")),this.type=n.get("type")}checkGrouping(t){for(let n of t){if(_(n))return void(this.hasGrouping=!0);this.hasGrouping=!1}}isReadOnly(t,n){var e;const r=null===(e=this.columns[n])||void 0===e?void 0:e.readonly;return"function"==typeof r?r(this.rowDataModel(t,n)):!!r}mergeProperties(t,n,e,r){var o,s;const i=Object.assign({},e);i.class=Object.assign(Object.assign({},"string"==typeof i.class?{[i.class]:!0}:i.class),{[l]:!0,[a]:this.isReadOnly(t,n)});const c=null===(s=null===(o=r.column)||void 0===o?void 0:o.cellProperties)||void 0===s?void 0:s.call(o,r);return c?ct(i,c):i}getRowClass(t,n){return(c(this.dataStore,t)||{})[n]||""}getSaveData(t,n,e){const r=this.rowDataModel(t,n);return void 0===e&&(e=m(r.value)),Object.assign(Object.assign({},r),{val:e})}rowDataModel(t,n){const e=this.columns[n],r=null==e?void 0:e.prop,o=c(this.dataStore,t)||{},s=this.dataStore.get("type");return{prop:r,model:o,data:this.dataStore.get("source"),column:e,rowIndex:t,colIndex:n,colType:this.type,type:s,value:b(o,e)}}getRangeData(t,n){var e;const r={},o=t.oldRange.x1-t.oldRange.x+1,s=t.oldRange.y1-t.oldRange.y+1,i={};for(let u=t.newRange.y,a=0;u<t.newRange.y1+1;u++,a++){const l=t.oldRange.y+a%s,f=c(this.dataStore,l)||{};for(let s=t.newRange.x,c=0;s<t.newRange.x1+1;s++,c++){if(u>=t.oldRange.y&&u<=t.oldRange.y1&&s>=t.oldRange.x&&s<=t.oldRange.x1)continue;if(!this.columns[s])continue;const a=null===(e=this.columns[s])||void 0===e?void 0:e.prop,d=t.oldRange.x+c%o,p=n[d].prop;this.isReadOnly(u,s)||(r[u]||(r[u]={}),r[u][a]=f[p],i[u]||(i[u]={}),i[u][a]={colIndex:d,colProp:p,rowIndex:l})}}return{changed:r,mapping:i}}getTransformedDataToApply(t,n){const e={},r=n.length,o=this.columns.length,s=this.dataStore.get("items").length;let i=t.y,c=0;for(let u=0;i<s&&u<r;i++,u++){const s=n[u%r],a=(null==s?void 0:s.length)||0;let l=t.x;for(let t=0;l<o&&t<a;l++,t++){const n=this.columns[l].prop,r=t%o;this.isReadOnly(i,l)||(e[i]||(e[i]={}),e[i][n]=s[r])}c=Math.max(c,l-1)}return{changed:e,range:R(t,{y:i-1,x:c})}}getRangeStaticData(t,n){const e={};for(let r=t.y,o=0;r<t.y1+1;r++,o++)for(let o=t.x,s=0;o<t.x1+1;o++,s++){if(!this.columns[o])continue;const t=this.columns[o].prop;this.isReadOnly(r,o)||(e[r]||(e[r]={}),e[r][t]=n)}return e}getRangeTransformedToProps(t,n){var e;const r=[],o=this.dataStore.get("type");for(let s=t.y,i=0;s<t.y1+1;s++,i++)for(let i=t.x,u=0;i<t.x1+1;i++,u++){const t=null===(e=this.columns[i])||void 0===e?void 0:e.prop;r.push({prop:t,rowIndex:s,colIndex:i,model:c(n,s),type:o,colType:this.type})}return r}copyRangeArray(t,n){const e=(i=[...this.columns],u=t.x,a=t.x1+1,l=null==i?0:i.length,l?(a&&"number"!=typeof a&&s(i,u,a)?(u=0,a=l):(u=null==u?0:f(u),a=void 0===a?l:f(a)),function(t,n,e){var r=-1,o=t.length;n<0&&(n=-n>o?0:o+n),(e=e>o?o:e)<0&&(e+=o),o=n>e?0:e-n>>>0,n>>>=0;for(var s=Array(o);++r<o;)s[r]=t[r+n];return s}(i,u,a)):[]).map((t=>t.prop)),r=[],o={};var i,u,a,l;for(let s=t.y;s<=t.y1;s++){const t=[];o[s]={};for(let r of e){const e=c(n,s);if(!e)continue;const i=e[r];t.push(i),o[s][r]=i}r.push(t)}return{data:r,mapping:o}}destroy(){this.unsubscribe.forEach((t=>t()))}}function st(t,n){return"function"==typeof t?t(n):!!t}function it(t={},n={}){return"string"==typeof t&&(t={[t]:!0}),"string"==typeof n&&(n={[n]:!0}),Object.assign(Object.assign({},t),n)}function ct(t,n){n.className&&(n.class=it(n.class,n.className),delete n.className);let e=Object.assign(Object.assign({},n),t);return n.class&&(e.class=it(e.class,n.class)),n.style&&(e.style=Object.assign(Object.assign({},n.style),e.style)),e}export{b as A,g as B,j as C,O as D,y as E,I as F,D as G,w as H,E as I,x as J,v as K,f as L,ot as M,rt as N,st as O,G as P,ct as Q,A as a,S as b,C as c,T as d,k as e,V as f,R as g,J as h,N as i,q as j,B as k,L as l,z as m,M as n,F as o,Q as p,W as q,$ as r,X as s,Y as t,Z as u,_ as v,tt as w,nt as x,et as y,m as z}
|
|
4
|
+
import{m as t,n,o as e,q as r,l as o,r as s,a as i,b as u}from"./data.store.js";import"@stencil/core/internal/client";import"./platform.js";import{G as a,b as c,C as l}from"./consts.js";function d(n){var e=t(n),r=e%1;return e==e?r?e-r:e:0}function f(t,n,e,r){var o=-1,s=null==t?0:t.length;for(r&&s&&(e=t[++o]);++o<s;)e=n(e,t[o],o,t);return e}var p,v=(p=function(t,e){return t&&function(t,n,e){for(var r=-1,o=Object(t),s=e(t),i=s.length;i--;){var u=s[++r];if(!1===n(o[u],u,o))break}return t}(t,e,n)},function(t,n){if(null==t)return t;if(!e(t))return p(t,n);for(var r=t.length,o=-1,s=Object(t);++o<r&&!1!==n(s[o],o,s););return t});function h(t,n,e,r,o){return o(t,(function(t,o,s){e=r?(r=!1,t):n(e,t,o,s)})),e}function g(t,n,e){var s=o(t)?f:h,i=arguments.length<3;return s(t,r(n),e,i,v)}function x(t){return null==t?"":t}function b(t={},n){if(n)return n.cellParser?n.cellParser(t,n):t[n.prop]}function m(t,n){return x(b(t,n))}function y(t){return t.pin?t.pin:"rgCol"}function j(t){const n={};for(const[e,r]of t.entries())r.size&&(n[e]=r.size);return n}function O(t){return!!t.children}function w(t,n=0,e,r){return g(t,((t,o)=>{var s;if(O(o))return I(t,o,w(o.children,n+1,e,t),null==r?void 0:r.columns,n);const i=Object.assign(Object.assign({},o.columnType&&(null==e?void 0:e[o.columnType])),o);return i.pin?t.columns[i.pin].push(i):t.columns.rgCol.push(i),i.order&&(t.sort[i.prop]=i),t.columnByProp[i.prop]||(t.columnByProp[i.prop]=[]),t.columnByProp[i.prop].push(i),null===(s=i.beforeSetup)||void 0===s||s.call(i,i),t}),{columns:{rgCol:[],colPinStart:[],colPinEnd:[]},columnByProp:{},columnGrouping:{rgCol:[],colPinStart:[],colPinEnd:[]},sort:{},maxLevel:n})}function I(t,n,e,r,s=0){const i=Object.assign(Object.assign({},n),{level:s,indexes:[]});$.forEach((n=>{const s=t.columns[n],u=e.columns[n];if(o(s)&&o(u)){const e=u.length;if(e){const o=[...(null==r?void 0:r[n])||[],...s].length;s.push(...u),t.columnGrouping[n].push(Object.assign(Object.assign({},i),{indexes:Array(e).fill(o).map(((t,n)=>t+n))}))}}}));for(let n in e.columnGrouping){const o=n,s=e.columnGrouping[o],i=((null==r?void 0:r[o])||[]).length,u=i>0?s.map((t=>Object.assign(Object.assign({},t),{indexes:t.indexes.map((t=>t+i))}))):s;t.columnGrouping[o].push(...u)}return t.maxLevel=Math.max(t.maxLevel,e.maxLevel),t.sort=Object.assign(Object.assign({},t.sort),e.sort),t.columnByProp=Object.assign(Object.assign({},t.columnByProp),e.columnByProp),t}function R(t,n){for(const e of t)if(O(e)){const t=R(e.children,n);if(t)return t}else if(e.prop===n)return e}function P(t,n){return R(t,n)}function M(t,n){const e={};let r=["x","y"];for(let n of r)if(t[n]<0)return e[n]=t[n],e;for(let o of r)if(t[o]>=n[o])return e[o]=t[o]-n[o],e;return null}function A(t,n){const e=Object.assign({},t),r=["x","y"];for(const o of r)t[o]<0?e[o]=0:t[o]>=n[o]&&(e[o]=n[o]-1);return e}function C(t,n){return t&&n?{x:Math.min(t.x,n.x),y:Math.min(t.y,n.y),x1:Math.max(t.x,n.x),y1:Math.max(t.y,n.y)}:null}function E(t){return t.x===t.x1&&t.y===t.y1}const S=["rowPinStart","rgRow","rowPinEnd"],$=["colPinStart","rgCol","colPinEnd"];function D(t){return S.indexOf(t)>-1}const N=`${a}-depth`,G=`${a}-name`,T=`${a}-id`,L=`${a}-value`,k=`${a}-column`,V=`${a}-expanded`,B=`${a}-prop`,J=`${a}-original-index`,q="group-expand",z="groupexpandclick",F="rgRow";function H(t,n){return t[n]||null}function K(t){return null!=t}function Q(t,n,e=!1){let r=0;const o={source:[],prevExpanded:{},oldNewIndexes:{}};return n.forEach((n=>{const s=t[n];if(e)if(Z(s))W(s)&&(o.prevExpanded[s[L]]=!0);else{if(!K(s))return;o.source.push(s),o.oldNewIndexes[n]=r,r++}else o.source.push(s)})),o}function W(t={}){return t[V]}function U({groupedValues:t,parentIds:n,isExpanded:e,itemIndex:r,expandedAll:o,prevExpanded:s,columnProps:i}){const u=n.length,a=[];let c={},l={};return t.forEach(((t,d)=>{const f=[...n,d],p=f.join(","),v=e&&(!!o||!!s[p]);if(a.push({[G]:d,[N]:u,[T]:JSON.stringify(f),[L]:p,[V]:v,[B]:i[u],[i[u]]:d}),r+=1,!e&&u&&(c[r]=!0),Array.isArray(t))t.forEach((t=>{r+=1,v||(c[r]=!0),l[t[J]]=r})),a.push(...t);else{const n=U({groupedValues:t,parentIds:f,isExpanded:v,itemIndex:r,expandedAll:o,prevExpanded:s,columnProps:i});a.push(...n.source),c=Object.assign(Object.assign({},n.trimmed),c),l=Object.assign(Object.assign({},n.oldNewIndexMap),l),r=n.itemIndex}})),{source:a,oldNewIndexMap:l,trimmed:c,itemIndex:r}}function X(t,n,{prevExpanded:e={},expandedAll:r=!1,getGroupValue:o=H}){const s=new Map;t.forEach(((t,e)=>{if(!K(t))return;const r=n.map((n=>o(t,n))),i=r.pop();let u=s;r.forEach((t=>{u.has(t)||u.set(t,new Map),u=u.get(t)})),u.has(i)||u.set(i,[]),u.get(i).push(Object.assign(Object.assign({},t),{[J]:e}))}));const i=n.length,{source:u,trimmed:a,oldNewIndexMap:c}=U({groupedValues:s,parentIds:[],isExpanded:!0,itemIndex:-1,expandedAll:r,prevExpanded:e,columnProps:n});return{sourceWithGroups:u,depth:i,trimmed:a,oldNewIndexMap:c}}function Y(t){return null==t?void 0:t[G]}function Z(t){return void 0!==(null==t?void 0:t[G])}function _(t){return void 0!==(null==t?void 0:t[k])}function tt(t,n){const e=t.length;let r=0;for(;r<e;r++)if(t[r]!==n[r])return r;return r}function nt(t){const n=JSON.parse(t);return Array.isArray(n)?n:null}function et(t,n,e){const r=nt(e[T]);if(!r)return!1;const o=tt(t,r);return n[N]<o}function rt(t,n={}){const e=null==t?void 0:t.editor;if(e)return"string"==typeof e?n[e]:e}class ot{get columns(){return i(this.source)}constructor(t,n){this.dataStore=t,this.source=n,this.unsubscribe=[],this.hasGrouping=!1,this.unsubscribe.push(n.onChange("source",(t=>this.checkGrouping(t)))),this.checkGrouping(n.get("source")),this.type=n.get("type")}checkGrouping(t){for(let n of t){if(_(n))return void(this.hasGrouping=!0);this.hasGrouping=!1}}isReadOnly(t,n){var e;const r=null===(e=this.columns[n])||void 0===e?void 0:e.readonly;return"function"==typeof r?r(this.rowDataModel(t,n)):!!r}mergeProperties(t,n,e,r){var o,s;const i=Object.assign({},e);i.class=Object.assign(Object.assign({},"string"==typeof i.class?{[i.class]:!0}:i.class),{[l]:!0,[c]:this.isReadOnly(t,n)});const u=null===(s=null===(o=r.column)||void 0===o?void 0:o.cellProperties)||void 0===s?void 0:s.call(o,r);return u?ut(i,u):i}getRowClass(t,n){return(u(this.dataStore,t)||{})[n]||""}getSaveData(t,n,e){const r=this.rowDataModel(t,n);return void 0===e&&(e=x(r.value)),Object.assign(Object.assign({},r),{val:e})}rowDataModel(t,n){const e=this.columns[n],r=null==e?void 0:e.prop,o=u(this.dataStore,t)||{},s=this.dataStore.get("type");return{prop:r,model:o,data:this.dataStore.get("source"),column:e,rowIndex:t,colIndex:n,colType:this.type,type:s,value:b(o,e)}}getRangeData(t,n){var e;const r={},o=t.oldRange.x1-t.oldRange.x+1,s=t.oldRange.y1-t.oldRange.y+1,i={};for(let a=t.newRange.y,c=0;a<t.newRange.y1+1;a++,c++){const l=t.oldRange.y+c%s,d=u(this.dataStore,l)||{};for(let s=t.newRange.x,u=0;s<t.newRange.x1+1;s++,u++){if(a>=t.oldRange.y&&a<=t.oldRange.y1&&s>=t.oldRange.x&&s<=t.oldRange.x1)continue;if(!this.columns[s])continue;const c=null===(e=this.columns[s])||void 0===e?void 0:e.prop,f=t.oldRange.x+u%o,p=n[f].prop;this.isReadOnly(a,s)||(r[a]||(r[a]={}),r[a][c]=d[p],i[a]||(i[a]={}),i[a][c]={colIndex:f,colProp:p,rowIndex:l})}}return{changed:r,mapping:i}}getTransformedDataToApply({start:t,data:n,targetRange:e}){const r={},o=n.length;if(!o)return{changed:r,range:null};const s=this.columns.length,i=this.dataStore.get("items").length,u=this.getDataApplyBounds(t,e,o,i,s);if(!u)return{changed:r,range:null};const{startRow:a,startCol:c,endRow:l}=u;let d=c-1,f=a-1;for(let s=a,i=0;s<=l;s++,i++){const a=n[i%o],c=(null==a?void 0:a.length)||0;c&&(d=Math.max(d,this.applyClipboardRow(r,{bounds:u,copyColLength:c,copyRow:a,rowIndex:s,start:t,targetRange:e})),f=s)}return{changed:r,range:this.getAppliedRange(u,f,d)}}getDataApplyBounds(t,n,e,r,o){var s,i,u;const a=null!==(s=null==n?void 0:n.y)&&void 0!==s?s:t.y,c=null!==(i=null==n?void 0:n.x)&&void 0!==i?i:t.x,l=Math.min(r-1,null!==(u=null==n?void 0:n.y1)&&void 0!==u?u:t.y+e-1);return l<a||c>=o?null:{startRow:a,startCol:c,endRow:l,colLength:o}}applyClipboardRow(t,{bounds:n,copyColLength:e,copyRow:r,rowIndex:o,start:s,targetRange:i}){var u;const a=Math.min(n.colLength-1,null!==(u=null==i?void 0:i.x1)&&void 0!==u?u:s.x+e-1);for(let s=n.startCol,i=0;s<=a;s++,i++){if(this.isReadOnly(o,s))continue;const n=this.columns[s].prop;t[o]=t[o]||{},t[o][n]=r[i%e]}return a}getAppliedRange({startRow:t,startCol:n},e,r){return e<t||r<n?null:C({x:n,y:t},{y:e,x:r})}getRangeStaticData(t,n){const e={};for(let r=t.y,o=0;r<t.y1+1;r++,o++)for(let o=t.x,s=0;o<t.x1+1;o++,s++){if(!this.columns[o])continue;const t=this.columns[o].prop;this.isReadOnly(r,o)||(e[r]||(e[r]={}),e[r][t]=n)}return e}getRangeTransformedToProps(t,n){var e;const r=[],o=this.dataStore.get("type");for(let s=t.y,i=0;s<t.y1+1;s++,i++)for(let i=t.x,a=0;i<t.x1+1;i++,a++){const t=null===(e=this.columns[i])||void 0===e?void 0:e.prop;r.push({prop:t,rowIndex:s,colIndex:i,model:u(n,s),type:o,colType:this.type})}return r}copyRangeArray(t,n){const e=(i=[...this.columns],a=t.x,c=t.x1+1,l=null==i?0:i.length,l?(c&&"number"!=typeof c&&s(i,a,c)?(a=0,c=l):(a=null==a?0:d(a),c=void 0===c?l:d(c)),function(t,n,e){var r=-1,o=t.length;n<0&&(n=-n>o?0:o+n),(e=e>o?o:e)<0&&(e+=o),o=n>e?0:e-n>>>0,n>>>=0;for(var s=Array(o);++r<o;)s[r]=t[r+n];return s}(i,a,c)):[]).map((t=>t.prop)),r=[],o={};var i,a,c,l;for(let s=t.y;s<=t.y1;s++){const t=[];o[s]={};for(let r of e){const e=u(n,s);if(!e)continue;const i=e[r];t.push(i),o[s][r]=i}r.push(t)}return{data:r,mapping:o}}destroy(){this.unsubscribe.forEach((t=>t()))}}function st(t,n){return"function"==typeof t?t(n):!!t}function it(t={},n={}){return"string"==typeof t&&(t={[t]:!0}),"string"==typeof n&&(n={[n]:!0}),Object.assign(Object.assign({},t),n)}function ut(t,n){n.className&&(n.class=it(n.class,n.className),delete n.className);let e=Object.assign(Object.assign({},n),t);return n.class&&(e.class=it(e.class,n.class)),n.style&&(e.style=Object.assign(Object.assign({},n.style),e.style)),e}export{b as A,m as B,y as C,j as D,O as E,w as F,N as G,I as H,P as I,g as J,v as K,d as L,ot as M,rt as N,st as O,G as P,ut as Q,A as a,E as b,$ as c,T as d,L as e,k as f,C as g,V as h,D as i,B as j,J as k,q as l,z as m,M as n,F as o,Q as p,W as q,S as r,X as s,Y as t,Z as u,_ as v,tt as w,nt as x,et as y,x as z}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import{h as t,proxyCustomElement as e,HTMLElement as i,createEvent as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{g as r,M as a,z as l,N as h,b as c}from"./column.service.js";import{c as d}from"./platform.js";import{R as u,i as g,j as p,S as v}from"./consts.js";import{b as f,i as b,c as m,a as y,g as x,d as w,e as j,s as O,f as S,v as D}from"./selection.utils.js";import{l as C,m as M,c as k,d as R,f as E,h as A,g as F,j as T,k as P,o as z}from"./revogr-edit2.js";import{t as K}from"./index2.js";import{d as U}from"./debounce.js";import{d as X}from"./revogr-clipboard2.js";import{d as $}from"./revogr-order-editor2.js";const H=[d.TAB,d.ARROW_UP,d.ARROW_DOWN,d.ARROW_LEFT,d.ARROW_RIGHT];class L{constructor(t){this.sv=t}appendPendingEditValue(t){if(C(t)||1!==t.key.length||t.target instanceof HTMLElement&&M(t.target))return!1;const e=this.sv.selectionStore.get("edit");return"string"==typeof(null==e?void 0:e.val)&&(this.sv.selectionStore.set("edit",Object.assign(Object.assign({},e),{val:`${e.val}${t.key}`})),!0)}async keyDown(t,e,i,{range:s,focus:o}){if(i){if(this.appendPendingEditValue(t))return;switch(t.code){case d.ESCAPE:this.sv.cancel();break;case d.TAB:this.keyChangeSelection(t,e)}}else s&&k(t.code)?this.sv.clearCell():o&&(R(t.code)?this.keyChangeSelection(t,e):E(t.key)?this.sv.change():A(t)||F(t)||(T(t)?this.sv.internalPaste():P(t)?e&&this.selectAll(t):C(t)||1!==t.key.length?await this.keyChangeSelection(t,e):this.sv.change(t.key)))}selectAll(t){const e=this.sv.selectionStore.get("range"),i=this.sv.selectionStore.get("focus");e&&i&&(t.preventDefault(),this.sv.selectAll())}async keyChangeSelection(t,e){const i=this.changeDirectionKey(t,e);if(!i)return!1;await K(u+30);const s=this.sv.selectionStore.get("range"),o=this.sv.selectionStore.get("focus");return this.keyPositionChange(i.changes,s,o,i.isMulti)}keyPositionChange(t,e,i,s=!1){if(!e||!i)return!1;const o=f(e,i,t,s);if(!o)return!1;const n=this.sv.getData();if(s){if([o.start,o.end].some((t=>b(t,n.lastCell)||m(t))))return!1;const t=r(o.start,o.end);return this.sv.range(t)}return this.sv.focus(o.start,t,b(o.start,n.lastCell)?1:m(o.start)?-1:0)}changeDirectionKey(t,e){const i=e&&t.shiftKey;if(H.includes(t.code)&&t.preventDefault(),t.shiftKey&&t.code===d.TAB)return{changes:{x:-1},isMulti:!1};switch(t.code){case d.ARROW_UP:return{changes:{y:-1},isMulti:i};case d.ARROW_DOWN:return{changes:{y:1},isMulti:i};case d.ARROW_LEFT:return{changes:{x:-1},isMulti:i};case d.TAB:case d.ARROW_RIGHT:return{changes:{x:1},isMulti:i}}}}class N{constructor(t){this.sv=t,this.autoFillType=null,this.autoFillInitial=null,this.autoFillStart=null,this.autoFillLast=null}renderAutofill(e,i,s=!1){let o;return o=y(e||Object.assign(Object.assign({},i),{x1:i.x,y1:i.y}),this.sv.dimensionRow.state,this.sv.dimensionCol.state),t("div",{class:{[p]:!0,[g]:s},style:{left:`${o.right}px`,top:`${o.bottom}px`},onMouseDown:t=>this.autoFillHandler(t),onTouchStart:t=>this.autoFillHandler(t)})}autoFillHandler(t,e="AutoFill"){let i=null;t.target instanceof Element&&(i=t.target),i&&(this.selectionStart(i,this.sv.getData(),e),t.preventDefault())}get isAutoFill(){return!!this.autoFillType}selectionMouseMove(t){this.onMouseMoveAutofill||(this.onMouseMoveAutofill=U(((t,e)=>this.doAutofillMouseMove(t,e)),5)),this.isAutoFill&&this.onMouseMoveAutofill(t,this.sv.getData())}getFocus(t,e){return!t&&e&&(t={x:e.x,y:e.y}),t||null}doAutofillMouseMove(t,e){if(!this.autoFillInitial)return;const i=x(t,"clientX",g),s=x(t,"clientY",g);if(null===i||null===s)return;const o=w({x:i,y:s},e);if(this.autoFillLast||this.autoFillLast||(this.autoFillLast=this.autoFillStart),!b(o,e.lastCell))if(this.autoFillLast=o,o.x===this.autoFillInitial.x&&o.y===this.autoFillInitial.y)this.sv.setTempRange(null);else{const t=r(this.autoFillInitial,this.autoFillLast);this.sv.setTempRange({area:t,type:this.autoFillType})}}selectionStart(t,e,i="Selection"){const{top:s,left:o}=t.getBoundingClientRect();this.autoFillInitial=this.getFocus(e.focus,e.range),this.autoFillType=i,this.autoFillStart=w({x:o,y:s},e)}clearAutoFillSelection(t,e){if(this.autoFillInitial)if(this.autoFillInitial=this.getFocus(t,e),"AutoFill"===this.autoFillType){const t=r(this.autoFillInitial,this.autoFillLast);if(t){const{defaultPrevented:i,detail:{range:s}}=this.sv.clearRangeDataApply({range:t});!i&&e?this.applyRangeWithData(s,e):this.sv.setTempRange(null)}}else this.applyRangeOnly(this.autoFillInitial,this.autoFillLast);this.resetAutoFillState()}resetAutoFillState(){this.autoFillType=null,this.autoFillInitial=null,this.autoFillLast=null,this.autoFillStart=null}onRangeApply(t,e,i){this.sv.rangeDataApply({data:t,models:j(t,this.sv.dataStore),type:this.sv.dataStore.get("type"),oldRange:i,newRange:e}),this.sv.setRange(e)}applyRangeWithData(t,e){const i={type:this.sv.dataStore.get("type"),colType:this.sv.columnService.type,newData:{},mapping:{},newRange:t,oldRange:e},{mapping:s,changed:o}=this.sv.columnService.getRangeData(i,this.sv.columnService.columns);i.newData=o,i.mapping=s;let n=this.sv.selectionChanged(i);n.defaultPrevented?this.sv.setTempRange(null):(n=this.sv.rangeCopy(i),n.defaultPrevented?this.sv.setRange(t):this.onRangeApply(i.newData,t,e))}applyRangeOnly(t,e){if(!t||!e)return;const i=r(t,e);this.sv.setRange(i)}}const W=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.beforeCopyRegion=s(this,"beforecopyregion",7),this.beforeRegionPaste=s(this,"beforepasteregion",7),this.cellEditApply=s(this,"celleditapply",7),this.beforeFocusCell=s(this,"beforecellfocusinit",7),this.beforeNextViewportFocus=s(this,"beforenextvpfocus",7),this.setEdit=s(this,"setedit",7),this.beforeApplyRange=s(this,"beforeapplyrange",7),this.beforeSetRange=s(this,"beforesetrange",7),this.setRange=s(this,"setrange",7),this.beforeEditRender=s(this,"beforeeditrender",7),this.selectAll=s(this,"selectall",7),this.cancelEdit=s(this,"canceledit",7),this.setTempRange=s(this,"settemprange",7),this.beforeSetTempRange=s(this,"beforesettemprange",7),this.applyFocus=s(this,"applyfocus",7),this.focusCell=s(this,"focuscell",7),this.beforeRangeDataApply=s(this,"beforerangedataapply",7),this.selectionChange=s(this,"selectionchangeinit",7),this.beforeRangeCopyApply=s(this,"beforerangecopyapply",7),this.rangeEditApply=s(this,"rangeeditapply",7),this.rangeClipboardCopy=s(this,"clipboardrangecopy",7),this.rangeClipboardPaste=s(this,"clipboardrangepaste",7),this.beforeKeyDown=s(this,"beforekeydown",7),this.beforeKeyUp=s(this,"beforekeyup",7),this.beforeCellSave=s(this,"beforecellsave",7),this.cellEditDone=s(this,"celledit",7),this.applyChangesOnClose=!1,this.keyboardService=null,this.autoFillService=null,this.unsubscribeSelectionStore=[]}onMouseMove(t){var e;this.selectionStore.get("focus")&&(null===(e=this.autoFillService)||void 0===e||e.selectionMouseMove(t))}onMouseUp(){var t;null===(t=this.autoFillService)||void 0===t||t.clearAutoFillSelection(this.selectionStore.get("focus"),this.selectionStore.get("range"))}onCellDrag(t){var e;null===(e=this.orderEditor)||void 0===e||e.dragStart(t.detail)}onKeyUp(t){this.beforeKeyUp.emit(Object.assign({original:t},this.getData()))}onKeyDown(t){var e;const i=this.beforeKeyDown.emit(Object.assign({original:t},this.getData()));t.defaultPrevented||i.defaultPrevented||null===(e=this.keyboardService)||void 0===e||e.keyDown(t,this.range,!!this.selectionStore.get("edit"),{focus:this.selectionStore.get("focus"),range:this.selectionStore.get("range")})}selectionServiceSet(t){this.unsubscribeSelectionStore.forEach((t=>t())),this.unsubscribeSelectionStore.length=0,this.unsubscribeSelectionStore.push(t.onChange("nextFocus",(t=>t&&this.doFocus(t,t)))),this.keyboardService=new L({selectionStore:t,range:t=>!!t&&this.triggerRangeEvent(t),focus:(t,e,i)=>i?(this.beforeNextViewportFocus.emit(t),!1):this.doFocus(t,t,e),change:t=>{this.readonly||this.doEdit(t)},cancel:async()=>{var t;await(null===(t=this.revogrEdit)||void 0===t?void 0:t.cancelChanges()),this.closeEdit()},clearCell:()=>!this.readonly&&this.clearCell(),internalPaste:()=>!this.readonly&&this.beforeRegionPaste.emit(),getData:()=>this.getData(),selectAll:()=>this.selectAll.emit()}),this.createAutoFillService()}createAutoFillService(){this.autoFillService=new N({dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,columnService:this.columnService,dataStore:this.dataStore,clearRangeDataApply:t=>this.beforeRangeDataApply.emit(Object.assign(Object.assign(Object.assign({},t),this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)})),setTempRange:t=>{const e=this.beforeSetTempRange.emit(Object.assign(Object.assign({tempRange:t},this.getData()),this.types));return e.defaultPrevented?null:this.setTempRange.emit(e.detail.tempRange)},selectionChanged:t=>this.selectionChange.emit(t),rangeCopy:t=>this.beforeRangeCopyApply.emit(t),rangeDataApply:t=>this.rangeEditApply.emit(t),setRange:t=>!!t&&this.triggerRangeEvent(t),getData:()=>this.getData()})}columnServiceSet(){var t;null===(t=this.columnService)||void 0===t||t.destroy(),this.columnService=new a(this.dataStore,this.colData),this.createAutoFillService()}connectedCallback(){this.columnServiceSet(),this.selectionServiceSet(this.selectionStore)}disconnectedCallback(){var t;this.unsubscribeSelectionStore.forEach((t=>t())),this.unsubscribeSelectionStore.length=0,null===(t=this.columnService)||void 0===t||t.destroy()}async componentWillRender(){var t,e;this.selectionStore.get("edit")||await(null===(e=null===(t=this.revogrEdit)||void 0===t?void 0:t.beforeDisconnect)||void 0===e?void 0:e.call(t))}renderRange(e){const i=y(e,this.dimensionRow.state,this.dimensionCol.state),s=O(i);return[t("div",{class:v,style:s},this.isMobileDevice&&t("div",{class:"range-handlers"},t("span",{class:g}),t("span",{class:g})))]}renderEditor(){const e=this.selectionStore.get("edit");if(this.readonly||!e)return null;const i=e.val||l(this.columnService.rowDataModel(e.y,e.x).value),s=Object.assign(Object.assign({},e),this.columnService.getSaveData(e.y,e.x,i)),o=this.beforeEditRender.emit(Object.assign(Object.assign({range:Object.assign(Object.assign({},e),{x1:e.x,y1:e.y})},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));if(o.defaultPrevented)return null;const n=y(o.detail.range,o.detail.rowDimension,o.detail.colDimension),r=O(n);return t("revogr-edit",{style:r,ref:t=>this.revogrEdit=t,additionalData:this.additionalData,editCell:s,saveOnClose:this.applyChangesOnClose,onCelleditinit:t=>{this.cellEditDone.emit(t.detail)},column:this.columnService.rowDataModel(e.y,e.x),editor:h(this.columnService.columns[e.x],this.editors)})}onEditCell(t){if(t.defaultPrevented)return;const e=this.beforeCellSave.emit(t.detail);e.defaultPrevented||this.cellEdit(e.detail),e.detail.preventFocus||this.focusNext()}render(){var e;const i=[],s=this.renderEditor();if(s)i.push(s);else{const s=this.selectionStore.get("range"),o=this.selectionStore.get("focus");(s||o)&&this.useClipboard&&i.push(t("revogr-clipboard",{readonly:this.readonly,onCopyregion:t=>this.onCopy(t.detail),onClearregion:()=>!this.readonly&&this.clearCell(),ref:t=>this.clipboard=t,onPasteregion:t=>this.onPaste(t.detail)})),s&&i.push(...this.renderRange(s)),o&&!this.readonly&&this.range&&i.push(null===(e=this.autoFillService)||void 0===e?void 0:e.renderAutofill(s,o,this.isMobileDevice)),this.canDrag&&i.push(t("revogr-order-editor",{ref:t=>this.orderEditor=t,dataStore:this.dataStore,dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,parent:this.element,rowType:this.types.rowType,onRowdragstartinit:t=>this.rowDragStart(t)}))}return t(o,{key:"d936e8452e84c7a25ecd6502e929f1a5af69467f",class:{mobile:this.isMobileDevice},onDblClick:t=>this.onElementDblClick(t),onMouseDown:t=>this.onElementMouseDown(t),onTouchStart:t=>this.onElementMouseDown(t,!0),onCloseedit:t=>this.closeEdit(t),onCelledit:t=>this.onEditCell(t)},i,t("slot",{key:"cd3525d404aa44fd8d06e7fc459777acb8a9d585",name:"data"}))}doFocus(t,e,i){const{defaultPrevented:s}=this.beforeFocusCell.emit(this.columnService.getSaveData(t.y,t.x));if(s)return!1;const o=Object.assign(Object.assign({range:Object.assign(Object.assign({},t),{x1:e.x,y1:e.y}),next:i},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}),n=this.applyFocus.emit(o);if(n.defaultPrevented)return!1;const{range:r}=n.detail;return!this.focusCell.emit(Object.assign({focus:{x:r.x,y:r.y},end:{x:r.x1,y:r.y1}},n.detail)).defaultPrevented}triggerRangeEvent(t){const e=this.types.rowType,i=this.beforeApplyRange.emit(Object.assign(Object.assign({range:Object.assign({},t)},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));if(i.defaultPrevented)return!1;const s=this.columnService.getRangeTransformedToProps(i.detail.range,this.dataStore);let o=this.beforeSetRange.emit(s);return!o.defaultPrevented&&(o=this.setRange.emit(Object.assign(Object.assign({},i.detail.range),{type:e})),!o.defaultPrevented&&!o.defaultPrevented)}onElementDblClick(t){if(t.defaultPrevented)return;const e=this.getData();S(t,e)&&this.doEdit()}onElementMouseDown(t,e=!1){var i;const s=t.target;if(M(s)||t.defaultPrevented)return;const o=this.getData(),n=S(t,o);n&&(this.focus(n,this.range&&t.shiftKey),this.range&&(s&&(null===(i=this.autoFillService)||void 0===i||i.selectionStart(s,this.getData())),e?D(t.touches[0],g)&&t.preventDefault():t.preventDefault()))}doEdit(t=""){var e;if(this.canEdit()){const i=this.selectionStore.get("focus");if(!i)return;const s=this.columnService.getSaveData(i.y,i.x);null===(e=this.setEdit)||void 0===e||e.emit(Object.assign(Object.assign({},s),{val:t}))}}async closeEdit(t){this.cancelEdit.emit(),(null==t?void 0:t.detail)&&await this.focusNext()}cellEdit(t){const e=this.columnService.getSaveData(t.rgRow,t.rgCol,t.val);this.cellEditApply.emit(e)}getRegion(){const t=this.selectionStore.get("focus");let e=this.selectionStore.get("range");return e||(e=r(t,t)),e}onCopy(t){var e;const i=this.getRegion();if(this.beforeCopyRegion.emit(i).defaultPrevented)return!1;let s;if(i){const{data:t,mapping:e}=this.columnService.copyRangeArray(i,this.dataStore),o=this.rangeClipboardCopy.emit(Object.assign({range:i,data:t,mapping:e},this.types));o.defaultPrevented||(s=o.detail.data)}return null===(e=this.clipboard)||void 0===e||e.doCopy(t,s),!0}onPaste(t){var e;const i=this.selectionStore.get("focus"),s=null!==this.selectionStore.get("edit");if(!i||s)return;let{changed:o,range:n}=this.columnService.getTransformedDataToApply(i,t);const{defaultPrevented:r}=this.rangeClipboardPaste.emit(Object.assign({data:o,models:j(o,this.dataStore),range:n},this.types));r||null===(e=this.autoFillService)||void 0===e||e.onRangeApply(o,n,n)}async focusNext(){var t;await(null===(t=this.keyboardService)||void 0===t?void 0:t.keyChangeSelection(new KeyboardEvent("keydown",{code:d.ARROW_DOWN}),this.range))||this.closeEdit()}clearCell(){var t;const e=this.selectionStore.get("range");if(e&&!c(e)){const i=this.columnService.getRangeStaticData(e,"");null===(t=this.autoFillService)||void 0===t||t.onRangeApply(i,e,e)}else if(this.canEdit()){const t=this.selectionStore.get("focus");if(!t)return;const e=this.columnService.getSaveData(t.y,t.x);this.cellEdit({rgRow:t.y,rgCol:t.x,val:"",type:e.type,prop:e.prop})}}rowDragStart({detail:t}){t.text=l(this.columnService.rowDataModel(t.cell.y,t.cell.x).value)}canEdit(){var t;if(this.readonly)return!1;const e=this.selectionStore.get("focus");return e&&!(null===(t=this.columnService)||void 0===t?void 0:t.isReadOnly(e.y,e.x))}get edited(){return this.selectionStore.get("edit")}focus(t,e=!1){if(!t)return!1;const i=t,s=this.selectionStore.get("focus");if(e&&s){const t=r(s,i);if(t)return this.triggerRangeEvent(t)}return this.doFocus(t,i)}get types(){return{rowType:this.dataStore.get("type"),colType:this.columnService.type}}getData(){return{el:this.element,rows:this.dimensionRow.state,cols:this.dimensionCol.state,lastCell:this.lastCell,focus:this.selectionStore.get("focus"),range:this.selectionStore.get("range"),edit:this.selectionStore.get("edit")}}get element(){return this}static get watchers(){return{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}}static get style(){return'revogr-overlay-selection{display:block;position:relative;width:100%}revogr-overlay-selection .autofill-handle{position:absolute;width:14px;height:14px;margin-left:-13px;margin-top:-13px;z-index:10;cursor:crosshair}revogr-overlay-selection .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection.mobile .autofill-handle{position:absolute;width:30px;height:30px;margin-left:-29px;margin-top:-29px;z-index:10;cursor:crosshair}revogr-overlay-selection.mobile .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection .selection-border-range{position:absolute;pointer-events:none;z-index:9;box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset}revogr-overlay-selection .selection-border-range .range-handlers{height:100%;background-color:transparent;width:75%;max-width:50px;min-width:20px;left:50%;transform:translateX(-50%);position:absolute}revogr-overlay-selection .selection-border-range .range-handlers>span{pointer-events:auto;height:20px;width:20px;position:absolute;left:50%;transform:translateX(-50%)}revogr-overlay-selection .selection-border-range .range-handlers>span:before,revogr-overlay-selection .selection-border-range .range-handlers>span:after{position:absolute;border-radius:5px;width:15px;height:5px;left:50%;transform:translateX(-50%);background-color:rgba(0, 0, 0, 0.2)}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child{top:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child:before{content:"";top:0}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child{bottom:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child:after{content:"";bottom:0}revogr-overlay-selection revogr-edit{z-index:10}'}},[260,"revogr-overlay-selection",{readonly:[4],range:[4],canDrag:[4,"can-drag"],useClipboard:[4,"use-clipboard"],selectionStore:[16],dimensionRow:[16],dimensionCol:[16],dataStore:[16],colData:[16],lastCell:[16],editors:[16],applyChangesOnClose:[4,"apply-changes-on-close"],additionalData:[8,"additional-data"],isMobileDevice:[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}]);function V(){"undefined"!=typeof customElements&&["revogr-overlay-selection","revogr-clipboard","revogr-edit","revogr-order-editor"].forEach((t=>{switch(t){case"revogr-overlay-selection":customElements.get(n(t))||customElements.define(n(t),W);break;case"revogr-clipboard":customElements.get(n(t))||X();break;case"revogr-edit":customElements.get(n(t))||z();break;case"revogr-order-editor":customElements.get(n(t))||$()}}))}export{W as O,V as d}
|
|
4
|
+
import{h as t,proxyCustomElement as e,HTMLElement as i,createEvent as s,Host as o,transformTag as n}from"@stencil/core/internal/client";import{g as r,M as a,z as l,N as h,b as c}from"./column.service.js";import{c as d}from"./platform.js";import{R as u,i as g,j as p,S as v}from"./consts.js";import{b as f,i as b,c as m,a as y,g as x,d as w,e as j,s as O,f as S,v as D}from"./selection.utils.js";import{l as C,m as M,c as R,d as k,f as E,h as A,g as F,j as T,k as P,o as z}from"./revogr-edit2.js";import{t as K}from"./index2.js";import{d as U}from"./debounce.js";import{d as X}from"./revogr-clipboard2.js";import{d as $}from"./revogr-order-editor2.js";const H=[d.TAB,d.ARROW_UP,d.ARROW_DOWN,d.ARROW_LEFT,d.ARROW_RIGHT];class L{constructor(t){this.sv=t}appendPendingEditValue(t){if(C(t)||1!==t.key.length||t.target instanceof HTMLElement&&M(t.target))return!1;const e=this.sv.selectionStore.get("edit");return"string"==typeof(null==e?void 0:e.val)&&(this.sv.selectionStore.set("edit",Object.assign(Object.assign({},e),{val:`${e.val}${t.key}`})),!0)}async keyDown(t,e,i,{range:s,focus:o}){if(i){if(this.appendPendingEditValue(t))return;switch(t.code){case d.ESCAPE:this.sv.cancel();break;case d.TAB:this.keyChangeSelection(t,e)}}else s&&R(t.code)?this.sv.clearCell():o&&(k(t.code)?this.keyChangeSelection(t,e):E(t.key)?this.sv.change():A(t)||F(t)||(T(t)?this.sv.internalPaste():P(t)?e&&this.selectAll(t):C(t)||1!==t.key.length?await this.keyChangeSelection(t,e):this.sv.change(t.key)))}selectAll(t){const e=this.sv.selectionStore.get("range"),i=this.sv.selectionStore.get("focus");e&&i&&(t.preventDefault(),this.sv.selectAll())}async keyChangeSelection(t,e){const i=this.changeDirectionKey(t,e);if(!i)return!1;await K(u+30);const s=this.sv.selectionStore.get("range"),o=this.sv.selectionStore.get("focus");return this.keyPositionChange(i.changes,s,o,i.isMulti)}keyPositionChange(t,e,i,s=!1){if(!e||!i)return!1;const o=f(e,i,t,s);if(!o)return!1;const n=this.sv.getData();if(s){if([o.start,o.end].some((t=>b(t,n.lastCell)||m(t))))return!1;const t=r(o.start,o.end);return this.sv.range(t)}return this.sv.focus(o.start,t,b(o.start,n.lastCell)?1:m(o.start)?-1:0)}changeDirectionKey(t,e){const i=e&&t.shiftKey;if(H.includes(t.code)&&t.preventDefault(),t.shiftKey&&t.code===d.TAB)return{changes:{x:-1},isMulti:!1};switch(t.code){case d.ARROW_UP:return{changes:{y:-1},isMulti:i};case d.ARROW_DOWN:return{changes:{y:1},isMulti:i};case d.ARROW_LEFT:return{changes:{x:-1},isMulti:i};case d.TAB:case d.ARROW_RIGHT:return{changes:{x:1},isMulti:i}}}}class N{constructor(t){this.sv=t,this.autoFillType=null,this.autoFillInitial=null,this.autoFillStart=null,this.autoFillLast=null}renderAutofill(e,i,s=!1){let o;return o=y(e||Object.assign(Object.assign({},i),{x1:i.x,y1:i.y}),this.sv.dimensionRow.state,this.sv.dimensionCol.state),t("div",{class:{[p]:!0,[g]:s},style:{left:`${o.right}px`,top:`${o.bottom}px`},onMouseDown:t=>this.autoFillHandler(t),onTouchStart:t=>this.autoFillHandler(t)})}autoFillHandler(t,e="AutoFill"){let i=null;t.target instanceof Element&&(i=t.target),i&&(this.selectionStart(i,this.sv.getData(),e),t.preventDefault())}get isAutoFill(){return!!this.autoFillType}selectionMouseMove(t){this.onMouseMoveAutofill||(this.onMouseMoveAutofill=U(((t,e)=>this.doAutofillMouseMove(t,e)),5)),this.isAutoFill&&this.onMouseMoveAutofill(t,this.sv.getData())}getFocus(t,e){return!t&&e&&(t={x:e.x,y:e.y}),t||null}doAutofillMouseMove(t,e){if(!this.autoFillInitial)return;const i=x(t,"clientX",g),s=x(t,"clientY",g);if(null===i||null===s)return;const o=w({x:i,y:s},e);if(this.autoFillLast||this.autoFillLast||(this.autoFillLast=this.autoFillStart),!b(o,e.lastCell))if(this.autoFillLast=o,o.x===this.autoFillInitial.x&&o.y===this.autoFillInitial.y)this.sv.setTempRange(null);else{const t=r(this.autoFillInitial,this.autoFillLast);this.sv.setTempRange({area:t,type:this.autoFillType})}}selectionStart(t,e,i="Selection"){const{top:s,left:o}=t.getBoundingClientRect();this.autoFillInitial=this.getFocus(e.focus,e.range),this.autoFillType=i,this.autoFillStart=w({x:o,y:s},e)}clearAutoFillSelection(t,e){if(this.autoFillInitial)if(this.autoFillInitial=this.getFocus(t,e),"AutoFill"===this.autoFillType){const t=r(this.autoFillInitial,this.autoFillLast);if(t){const{defaultPrevented:i,detail:{range:s}}=this.sv.clearRangeDataApply({range:t});!i&&e?this.applyRangeWithData(s,e):this.sv.setTempRange(null)}}else this.applyRangeOnly(this.autoFillInitial,this.autoFillLast);this.resetAutoFillState()}resetAutoFillState(){this.autoFillType=null,this.autoFillInitial=null,this.autoFillLast=null,this.autoFillStart=null}onRangeApply(t,e,i){this.sv.rangeDataApply({data:t,models:j(t,this.sv.dataStore),type:this.sv.dataStore.get("type"),oldRange:i,newRange:e}),this.sv.setRange(e)}applyRangeWithData(t,e){const i={type:this.sv.dataStore.get("type"),colType:this.sv.columnService.type,newData:{},mapping:{},newRange:t,oldRange:e},{mapping:s,changed:o}=this.sv.columnService.getRangeData(i,this.sv.columnService.columns);i.newData=o,i.mapping=s;let n=this.sv.selectionChanged(i);n.defaultPrevented?this.sv.setTempRange(null):(n=this.sv.rangeCopy(i),n.defaultPrevented?this.sv.setRange(t):this.onRangeApply(i.newData,t,e))}applyRangeOnly(t,e){if(!t||!e)return;const i=r(t,e);this.sv.setRange(i)}}const W=e(class extends i{constructor(t){super(),!1!==t&&this.__registerHost(),this.beforeCopyRegion=s(this,"beforecopyregion",7),this.beforeRegionPaste=s(this,"beforepasteregion",7),this.cellEditApply=s(this,"celleditapply",7),this.beforeFocusCell=s(this,"beforecellfocusinit",7),this.beforeNextViewportFocus=s(this,"beforenextvpfocus",7),this.setEdit=s(this,"setedit",7),this.beforeApplyRange=s(this,"beforeapplyrange",7),this.beforeSetRange=s(this,"beforesetrange",7),this.setRange=s(this,"setrange",7),this.beforeEditRender=s(this,"beforeeditrender",7),this.selectAll=s(this,"selectall",7),this.cancelEdit=s(this,"canceledit",7),this.setTempRange=s(this,"settemprange",7),this.beforeSetTempRange=s(this,"beforesettemprange",7),this.applyFocus=s(this,"applyfocus",7),this.focusCell=s(this,"focuscell",7),this.beforeRangeDataApply=s(this,"beforerangedataapply",7),this.selectionChange=s(this,"selectionchangeinit",7),this.beforeRangeCopyApply=s(this,"beforerangecopyapply",7),this.rangeEditApply=s(this,"rangeeditapply",7),this.rangeClipboardCopy=s(this,"clipboardrangecopy",7),this.rangeClipboardPaste=s(this,"clipboardrangepaste",7),this.beforeKeyDown=s(this,"beforekeydown",7),this.beforeKeyUp=s(this,"beforekeyup",7),this.beforeCellSave=s(this,"beforecellsave",7),this.cellEditDone=s(this,"celledit",7),this.applyChangesOnClose=!1,this.keyboardService=null,this.autoFillService=null,this.unsubscribeSelectionStore=[]}onMouseMove(t){var e;this.selectionStore.get("focus")&&(null===(e=this.autoFillService)||void 0===e||e.selectionMouseMove(t))}onMouseUp(){var t;null===(t=this.autoFillService)||void 0===t||t.clearAutoFillSelection(this.selectionStore.get("focus"),this.selectionStore.get("range"))}onCellDrag(t){var e;null===(e=this.orderEditor)||void 0===e||e.dragStart(t.detail)}onKeyUp(t){this.beforeKeyUp.emit(Object.assign({original:t},this.getData()))}onKeyDown(t){var e;const i=this.beforeKeyDown.emit(Object.assign({original:t},this.getData()));t.defaultPrevented||i.defaultPrevented||null===(e=this.keyboardService)||void 0===e||e.keyDown(t,this.range,!!this.selectionStore.get("edit"),{focus:this.selectionStore.get("focus"),range:this.selectionStore.get("range")})}selectionServiceSet(t){this.unsubscribeSelectionStore.forEach((t=>t())),this.unsubscribeSelectionStore.length=0,this.unsubscribeSelectionStore.push(t.onChange("nextFocus",(t=>t&&this.doFocus(t,t)))),this.keyboardService=new L({selectionStore:t,range:t=>!!t&&this.triggerRangeEvent(t),focus:(t,e,i)=>i?(this.beforeNextViewportFocus.emit(t),!1):this.doFocus(t,t,e),change:t=>{this.readonly||this.doEdit(t)},cancel:async()=>{var t;await(null===(t=this.revogrEdit)||void 0===t?void 0:t.cancelChanges()),this.closeEdit()},clearCell:()=>!this.readonly&&this.clearCell(),internalPaste:()=>!this.readonly&&this.beforeRegionPaste.emit(),getData:()=>this.getData(),selectAll:()=>this.selectAll.emit()}),this.createAutoFillService()}createAutoFillService(){this.autoFillService=new N({dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,columnService:this.columnService,dataStore:this.dataStore,clearRangeDataApply:t=>this.beforeRangeDataApply.emit(Object.assign(Object.assign(Object.assign({},t),this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)})),setTempRange:t=>{const e=this.beforeSetTempRange.emit(Object.assign(Object.assign({tempRange:t},this.getData()),this.types));return e.defaultPrevented?null:this.setTempRange.emit(e.detail.tempRange)},selectionChanged:t=>this.selectionChange.emit(t),rangeCopy:t=>this.beforeRangeCopyApply.emit(t),rangeDataApply:t=>this.rangeEditApply.emit(t),setRange:t=>!!t&&this.triggerRangeEvent(t),getData:()=>this.getData()})}columnServiceSet(){var t;null===(t=this.columnService)||void 0===t||t.destroy(),this.columnService=new a(this.dataStore,this.colData),this.createAutoFillService()}connectedCallback(){this.columnServiceSet(),this.selectionServiceSet(this.selectionStore)}disconnectedCallback(){var t;this.unsubscribeSelectionStore.forEach((t=>t())),this.unsubscribeSelectionStore.length=0,null===(t=this.columnService)||void 0===t||t.destroy()}async componentWillRender(){var t,e;this.selectionStore.get("edit")||await(null===(e=null===(t=this.revogrEdit)||void 0===t?void 0:t.beforeDisconnect)||void 0===e?void 0:e.call(t))}renderRange(e){const i=y(e,this.dimensionRow.state,this.dimensionCol.state),s=O(i);return[t("div",{class:v,style:s},this.isMobileDevice&&t("div",{class:"range-handlers"},t("span",{class:g}),t("span",{class:g})))]}renderEditor(){const e=this.selectionStore.get("edit");if(this.readonly||!e)return null;const i=e.val||l(this.columnService.rowDataModel(e.y,e.x).value),s=Object.assign(Object.assign({},e),this.columnService.getSaveData(e.y,e.x,i)),o=this.beforeEditRender.emit(Object.assign(Object.assign({range:Object.assign(Object.assign({},e),{x1:e.x,y1:e.y})},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));if(o.defaultPrevented)return null;const n=y(o.detail.range,o.detail.rowDimension,o.detail.colDimension),r=O(n);return t("revogr-edit",{style:r,ref:t=>this.revogrEdit=t,additionalData:this.additionalData,editCell:s,saveOnClose:this.applyChangesOnClose,onCelleditinit:t=>{this.cellEditDone.emit(t.detail)},column:this.columnService.rowDataModel(e.y,e.x),editor:h(this.columnService.columns[e.x],this.editors)})}onEditCell(t){if(t.defaultPrevented)return;const e=this.beforeCellSave.emit(t.detail);e.defaultPrevented||this.cellEdit(e.detail),e.detail.preventFocus||this.focusNext()}render(){var e;const i=[],s=this.renderEditor();if(s)i.push(s);else{const s=this.selectionStore.get("range"),o=this.selectionStore.get("focus");(s||o)&&this.useClipboard&&i.push(t("revogr-clipboard",{readonly:this.readonly,onCopyregion:t=>this.onCopy(t.detail),onClearregion:()=>!this.readonly&&this.clearCell(),ref:t=>this.clipboard=t,onPasteregion:t=>this.onPaste(t.detail)})),s&&i.push(...this.renderRange(s)),o&&!this.readonly&&this.range&&i.push(null===(e=this.autoFillService)||void 0===e?void 0:e.renderAutofill(s,o,this.isMobileDevice)),this.canDrag&&i.push(t("revogr-order-editor",{ref:t=>this.orderEditor=t,dataStore:this.dataStore,dimensionRow:this.dimensionRow,dimensionCol:this.dimensionCol,parent:this.element,rowType:this.types.rowType,onRowdragstartinit:t=>this.rowDragStart(t)}))}return t(o,{key:"ff303c39d59e4ef217421fa11b9a80de07311b07",class:{mobile:this.isMobileDevice},onDblClick:t=>this.onElementDblClick(t),onMouseDown:t=>this.onElementMouseDown(t),onTouchStart:t=>this.onElementMouseDown(t,!0),onCloseedit:t=>this.closeEdit(t),onCelledit:t=>this.onEditCell(t)},i,t("slot",{key:"3cbe4c3ad7d447f779e9e20f73eec2e3107275e0",name:"data"}))}doFocus(t,e,i){const{defaultPrevented:s}=this.beforeFocusCell.emit(this.columnService.getSaveData(t.y,t.x));if(s)return!1;const o=Object.assign(Object.assign({range:Object.assign(Object.assign({},t),{x1:e.x,y1:e.y}),next:i},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}),n=this.applyFocus.emit(o);if(n.defaultPrevented)return!1;const{range:r}=n.detail;return!this.focusCell.emit(Object.assign({focus:{x:r.x,y:r.y},end:{x:r.x1,y:r.y1}},n.detail)).defaultPrevented}triggerRangeEvent(t){const e=this.types.rowType,i=this.beforeApplyRange.emit(Object.assign(Object.assign({range:Object.assign({},t)},this.types),{rowDimension:Object.assign({},this.dimensionRow.state),colDimension:Object.assign({},this.dimensionCol.state)}));if(i.defaultPrevented)return!1;const s=this.columnService.getRangeTransformedToProps(i.detail.range,this.dataStore);let o=this.beforeSetRange.emit(s);return!o.defaultPrevented&&(o=this.setRange.emit(Object.assign(Object.assign({},i.detail.range),{type:e})),!o.defaultPrevented&&!o.defaultPrevented)}onElementDblClick(t){if(t.defaultPrevented)return;const e=this.getData();S(t,e)&&this.doEdit()}onElementMouseDown(t,e=!1){var i;const s=t.target;if(M(s)||t.defaultPrevented)return;const o=this.getData(),n=S(t,o);n&&(this.focus(n,this.range&&t.shiftKey),this.range&&(s&&(null===(i=this.autoFillService)||void 0===i||i.selectionStart(s,this.getData())),e?D(t.touches[0],g)&&t.preventDefault():t.preventDefault()))}doEdit(t=""){var e;if(this.canEdit()){const i=this.selectionStore.get("focus");if(!i)return;const s=this.columnService.getSaveData(i.y,i.x);null===(e=this.setEdit)||void 0===e||e.emit(Object.assign(Object.assign({},s),{val:t}))}}async closeEdit(t){this.cancelEdit.emit(),(null==t?void 0:t.detail)&&await this.focusNext()}cellEdit(t){const e=this.columnService.getSaveData(t.rgRow,t.rgCol,t.val);this.cellEditApply.emit(e)}getRegion(){const t=this.selectionStore.get("focus");let e=this.selectionStore.get("range");return e||(e=r(t,t)),e}onCopy(t){var e;const i=this.getRegion();if(this.beforeCopyRegion.emit(i).defaultPrevented)return!1;let s;if(i){const{data:t,mapping:e}=this.columnService.copyRangeArray(i,this.dataStore),o=this.rangeClipboardCopy.emit(Object.assign({range:i,data:t,mapping:e},this.types));o.defaultPrevented||(s=o.detail.data)}return null===(e=this.clipboard)||void 0===e||e.doCopy(t,s),!0}onPaste(t){var e;const i=this.selectionStore.get("focus"),s=null!==this.selectionStore.get("edit");if(!i||s)return;const o=function(t,e){var i;if(!function(t){return"object"==typeof t&&!0===t.rangeFill}(e))return null;const s=function(t){const e=[...t];for(;e.length>1&&(!(i=e[e.length-1])||i.every((t=>""===t)));)e.pop();var i;return e}(t);return 1===s.length&&1===(null===(i=s[0])||void 0===i?void 0:i.length)?s:null}(t,this.useClipboard),n=o?this.getClipboardPasteTargetRange():null;let{changed:r,range:a}=this.columnService.getTransformedDataToApply({start:i,data:o||t,targetRange:n});const{defaultPrevented:l}=this.rangeClipboardPaste.emit(Object.assign({data:r,models:j(r,this.dataStore),range:a},this.types));l||null===(e=this.autoFillService)||void 0===e||e.onRangeApply(r,a,a)}getClipboardPasteTargetRange(){const t=this.selectionStore.get("range");return t&&!c(t)?t:null}async focusNext(){var t;await(null===(t=this.keyboardService)||void 0===t?void 0:t.keyChangeSelection(new KeyboardEvent("keydown",{code:d.ARROW_DOWN}),this.range))||this.closeEdit()}clearCell(){var t;const e=this.selectionStore.get("range");if(e&&!c(e)){const i=this.columnService.getRangeStaticData(e,"");null===(t=this.autoFillService)||void 0===t||t.onRangeApply(i,e,e)}else if(this.canEdit()){const t=this.selectionStore.get("focus");if(!t)return;const e=this.columnService.getSaveData(t.y,t.x);this.cellEdit({rgRow:t.y,rgCol:t.x,val:"",type:e.type,prop:e.prop})}}rowDragStart({detail:t}){t.text=l(this.columnService.rowDataModel(t.cell.y,t.cell.x).value)}canEdit(){var t;if(this.readonly)return!1;const e=this.selectionStore.get("focus");return e&&!(null===(t=this.columnService)||void 0===t?void 0:t.isReadOnly(e.y,e.x))}get edited(){return this.selectionStore.get("edit")}focus(t,e=!1){if(!t)return!1;const i=t,s=this.selectionStore.get("focus");if(e&&s){const t=r(s,i);if(t)return this.triggerRangeEvent(t)}return this.doFocus(t,i)}get types(){return{rowType:this.dataStore.get("type"),colType:this.columnService.type}}getData(){return{el:this.element,rows:this.dimensionRow.state,cols:this.dimensionCol.state,lastCell:this.lastCell,focus:this.selectionStore.get("focus"),range:this.selectionStore.get("range"),edit:this.selectionStore.get("edit")}}get element(){return this}static get watchers(){return{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}}static get style(){return'revogr-overlay-selection{display:block;position:relative;width:100%}revogr-overlay-selection .autofill-handle{position:absolute;width:14px;height:14px;margin-left:-13px;margin-top:-13px;z-index:10;cursor:crosshair}revogr-overlay-selection .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:10px;height:10px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection.mobile .autofill-handle{position:absolute;width:30px;height:30px;margin-left:-29px;margin-top:-29px;z-index:10;cursor:crosshair}revogr-overlay-selection.mobile .autofill-handle::before{content:"";position:absolute;right:0;bottom:0;width:12px;height:12px;background:#0d63e8;border:1px solid white;box-sizing:border-box}revogr-overlay-selection .selection-border-range{position:absolute;pointer-events:none;z-index:9;box-shadow:-1px 0 0 #0d63e8 inset, 1px 0 0 #0d63e8 inset, 0 -1px 0 #0d63e8 inset, 0 1px 0 #0d63e8 inset}revogr-overlay-selection .selection-border-range .range-handlers{height:100%;background-color:transparent;width:75%;max-width:50px;min-width:20px;left:50%;transform:translateX(-50%);position:absolute}revogr-overlay-selection .selection-border-range .range-handlers>span{pointer-events:auto;height:20px;width:20px;position:absolute;left:50%;transform:translateX(-50%)}revogr-overlay-selection .selection-border-range .range-handlers>span:before,revogr-overlay-selection .selection-border-range .range-handlers>span:after{position:absolute;border-radius:5px;width:15px;height:5px;left:50%;transform:translateX(-50%);background-color:rgba(0, 0, 0, 0.2)}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child{top:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:first-child:before{content:"";top:0}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child{bottom:-7px}revogr-overlay-selection .selection-border-range .range-handlers>span:last-child:after{content:"";bottom:0}revogr-overlay-selection revogr-edit{z-index:10}'}},[260,"revogr-overlay-selection",{readonly:[4],range:[4],canDrag:[4,"can-drag"],useClipboard:[4,"use-clipboard"],selectionStore:[16],dimensionRow:[16],dimensionCol:[16],dataStore:[16],colData:[16],lastCell:[16],editors:[16],applyChangesOnClose:[4,"apply-changes-on-close"],additionalData:[8,"additional-data"],isMobileDevice:[4,"is-mobile-device"]},[[5,"touchmove","onMouseMove"],[5,"mousemove","onMouseMove"],[5,"touchend","onMouseUp"],[5,"mouseup","onMouseUp"],[5,"mouseleave","onMouseUp"],[0,"dragstartcell","onCellDrag"],[4,"keyup","onKeyUp"],[4,"keydown","onKeyDown"]],{selectionStore:[{selectionServiceSet:0}],dimensionRow:[{createAutoFillService:0}],dimensionCol:[{createAutoFillService:0}],dataStore:[{columnServiceSet:0}],colData:[{columnServiceSet:0}]}]);function V(){"undefined"!=typeof customElements&&["revogr-overlay-selection","revogr-clipboard","revogr-edit","revogr-order-editor"].forEach((t=>{switch(t){case"revogr-overlay-selection":customElements.get(n(t))||customElements.define(n(t),W);break;case"revogr-clipboard":customElements.get(n(t))||X();break;case"revogr-edit":customElements.get(n(t))||z();break;case"revogr-order-editor":customElements.get(n(t))||$()}}))}export{W as O,V as d}
|