@guiexpert/demo-table-models 1.1.61 → 1.1.63
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/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function X(s){return s&&s.type==="TreeRow"}function Fe(s){return s&&s.type==="CheckboxColumnDef"}class w{constructor(e=">",r="",a=[]){this.content=e,this.style=r,this.classes=a}}class We{constructor(e=new w(">","transform: rotate(90deg) translate(66%, -66%); transform-origin: 0 0;",["gt-table-tree-arrow-expanded"]),r=new w(">","",["ge-table-tree-arrow-collapsed"]),a=new w(">","color:transparent;",["gt-table-tree-arrow-hidden"]),t=new w("↕","",["gt-table-tree-arrow-expanded-all"])){this.arrowExpanded=e,this.arrowCollapsed=r,this.arrowPlaceholder=a,this.arrowExpandCollapseAll=t}}class Ke{constructor(e=new w("↑","",["ge-header-sorted-asc"]),r=new w("↓","",["ge-header-sorted-desc"]),a=new w("↑","color:transparent;",[])){this.iconAsc=e,this.iconDesc=r,this.iconPlaceholder=a}}class ee{constructor(e,r=[],a=-1){this.areaIdent=e,this.columnDefs=r,this.defaultRowHeight=a,this.rowSelectionModel=void 0,this.yPositions=[],this.cellRenderers=r.map(t=>t.rendererMap[e])}getTextValueAt(e,r){return""+this.getValueAt(e,r)}getTooltipAt(e,r){return""}getCellRenderer(e,r){if(r<this.cellRenderers.length)return this.cellRenderers[r]}getColspanAt(e,r){return 0}getCustomClassesAt(e,r){return[]}getCustomStyleAt(e,r){}getRowspanAt(e,r){return 0}getRowByIndex(e){}isRowCheckable(e){return!0}isRowChecked(e){var a;const r=this.getRowByIndex(e);return(a=this.rowSelectionModel)==null?void 0:a.isRowChecked(r)}setRowChecked(e,r){if(this.rowSelectionModel){const a=this.getRowByIndex(e);this.rowSelectionModel.checkRow(a,r)}}getMaxColspan(){return 31}getMaxRowspan(){return 31}getYPosByRowIndex(e){return this.defaultRowHeight>0?this.defaultRowHeight*e:this.yPositions[e]}init(){!this.yPositions.length&&this.getRowCount()!==void 0&&this.defaultRowHeight===-1&&this.calcYPositions()}isFilterable(){return this.areaIdent==="body"}doSort(e){return!1}isEditable(e,r){var t,n;const a=(t=this.columnDefs)==null?void 0:t[r];return((n=a==null?void 0:a.editable)==null?void 0:n.call(a))??!1}setValue(e,r,a){var d;const t=(d=this.columnDefs[r])==null?void 0:d.editInputPipe;t&&(a=t(a,e,r));const n=this.getRowByIndex(e),m=this.columnDefs[r].property;return m.includes(".")?this.setPropertyValue(n,m.split("."),a):(n[m]=a,!0)}isSelectable(e,r){return!0}changeColumnOrder(e,r){this.arrayMove(this.cellRenderers,e,r)}setPropertyValue(e,r,a){const t=r.shift();if(t){const n=e[t];return n&&r.length?this.setPropertyValue(n,r,a):(e[t]=a,!0)}return!1}arrayMove(e,r,a){const t=e.splice(r,1)[0];return e.splice(a,0,t),e}calcYPositions(){const e=this.getRowCount();this.yPositions=new Array(e+1),this.yPositions[0]=0;for(let r=0;r<e;r++)this.yPositions[r+1]=this.getRowHeight(r)+this.yPositions[r]}}class fe{genericSortComparator(e,r,a){if(typeof e=="number"&&typeof r=="number")return a*(e-r);if(typeof e=="string"&&typeof r=="string")return a*e.localeCompare(r);if(typeof e=="boolean"&&typeof r=="boolean")return a*((e?-1:1)-(r?-1:1));if(e instanceof Date&&r instanceof Date)return a*(e.getTime()-r.getTime());if(e instanceof Array&&r instanceof Array){const t=e,n=r;if(t.length&&n.length)return this.genericSortComparator(t[0],n[0],a)}return a*(""+e).localeCompare(""+r)}}class je extends ee{constructor(e,r,a,t=[]){super(e,t,a),this.areaIdent=e,this.rows=r,this.defaultRowHeight=a,this.columnDefs=t,this.sorterService=new fe,this.filteredRows=[...r],this.properties=t.map(
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function X(s){return s&&s.type==="TreeRow"}function Fe(s){return s&&s.type==="CheckboxColumnDef"}class w{constructor(e=">",r="",a=[]){this.content=e,this.style=r,this.classes=a}}class We{constructor(e=new w(">","transform: rotate(90deg) translate(66%, -66%); transform-origin: 0 0;",["gt-table-tree-arrow-expanded"]),r=new w(">","",["ge-table-tree-arrow-collapsed"]),a=new w(">","color:transparent;",["gt-table-tree-arrow-hidden"]),t=new w("↕","",["gt-table-tree-arrow-expanded-all"])){this.arrowExpanded=e,this.arrowCollapsed=r,this.arrowPlaceholder=a,this.arrowExpandCollapseAll=t}}class Ke{constructor(e=new w("↑","",["ge-header-sorted-asc"]),r=new w("↓","",["ge-header-sorted-desc"]),a=new w("↑","color:transparent;",[])){this.iconAsc=e,this.iconDesc=r,this.iconPlaceholder=a}}class ee{constructor(e,r=[],a=-1){this.areaIdent=e,this.columnDefs=r,this.defaultRowHeight=a,this.rowSelectionModel=void 0,this.yPositions=[],this.cellRenderers=r.map(t=>t.rendererMap[e])}getTextValueAt(e,r){return""+this.getValueAt(e,r)}getTooltipAt(e,r){return""}getCellRenderer(e,r){if(r<this.cellRenderers.length)return this.cellRenderers[r]}getColspanAt(e,r){return 0}getCustomClassesAt(e,r){return[]}getCustomStyleAt(e,r){}getRowspanAt(e,r){return 0}getRowByIndex(e){}isRowCheckable(e){return!0}isRowChecked(e){var a;const r=this.getRowByIndex(e);return(a=this.rowSelectionModel)==null?void 0:a.isRowChecked(r)}setRowChecked(e,r){if(this.rowSelectionModel){const a=this.getRowByIndex(e);this.rowSelectionModel.checkRow(a,r)}}getMaxColspan(){return 31}getMaxRowspan(){return 31}getYPosByRowIndex(e){return this.defaultRowHeight>0?this.defaultRowHeight*e:this.yPositions[e]}init(){!this.yPositions.length&&this.getRowCount()!==void 0&&this.defaultRowHeight===-1&&this.calcYPositions()}isFilterable(){return this.areaIdent==="body"}doSort(e){return!1}isEditable(e,r){var t,n;const a=(t=this.columnDefs)==null?void 0:t[r];return((n=a==null?void 0:a.editable)==null?void 0:n.call(a))??!1}setValue(e,r,a){var d;const t=(d=this.columnDefs[r])==null?void 0:d.editInputPipe;t&&(a=t(a,e,r));const n=this.getRowByIndex(e),m=this.columnDefs[r].property;return m.includes(".")?this.setPropertyValue(n,m.split("."),a):(n[m]=a,!0)}isSelectable(e,r){return!0}changeColumnOrder(e,r){this.arrayMove(this.cellRenderers,e,r)}setPropertyValue(e,r,a){const t=r.shift();if(t){const n=e[t];return n&&r.length?this.setPropertyValue(n,r,a):(e[t]=a,!0)}return!1}arrayMove(e,r,a){const t=e.splice(r,1)[0];return e.splice(a,0,t),e}calcYPositions(){const e=this.getRowCount();this.yPositions=new Array(e+1),this.yPositions[0]=0;for(let r=0;r<e;r++)this.yPositions[r+1]=this.getRowHeight(r)+this.yPositions[r]}}class fe{genericSortComparator(e,r,a){if(typeof e=="number"&&typeof r=="number")return a*(e-r);if(typeof e=="string"&&typeof r=="string")return a*e.localeCompare(r);if(typeof e=="boolean"&&typeof r=="boolean")return a*((e?-1:1)-(r?-1:1));if(e instanceof Date&&r instanceof Date)return a*(e.getTime()-r.getTime());if(e instanceof Array&&r instanceof Array){const t=e,n=r;if(t.length&&n.length)return this.genericSortComparator(t[0],n[0],a)}return a*(""+e).localeCompare(""+r)}}class je extends ee{constructor(e,r,a,t=[],n="ge-selected-row",m="ge-focused-row"){super(e,t,a),this.areaIdent=e,this.rows=r,this.defaultRowHeight=a,this.columnDefs=t,this.selectedRowClass=n,this.focusedRowClass=m,this.focusedRowIndex=0,this.sorterService=new fe,this.filteredRows=[...r],this.properties=t.map(d=>d.property)}setRows(e){this.rows=e,this.filteredRows=[...e]}filterRowsByPredict(e){this.rows=this.rows.filter(e),this.filteredRows=this.filteredRows.filter(e)}getRowCount(){var e;return((e=this.filteredRows)==null?void 0:e.length)??0}getValueAt(e,r){const a=this.properties[r];let t=this.filteredRows[e];return X(t)&&(t=t.data),t?this.getValueByT(t,a):""}getFilteredRows(){return this.filteredRows}getAllRows(){return this.rows}getRowHeight(e){return this.defaultRowHeight}getRowByIndex(e){return this.filteredRows[e]}externalFilterChanged(e){this.filteredRows=this.rows?this.rows.filter(e):[]}doSort(e){for(const r of e){const{columnIndex:a,sortState:t}=r,n=t==="asc"?1:t==="desc"?-1:0,m=this.properties[a];this.filteredRows=this.filteredRows.sort(this.genericFlatTableSortComparator(m,n))}return!0}getValueByT(e,r){return r.includes(".")?this.getPropertyValue(e,r.split(".")):e[r]}changeColumnOrder(e,r){this.arrayMove(this.properties,e,r),super.changeColumnOrder(e,r)}getCustomClassesAt(e,r){const a=super.getCustomClassesAt(e,r);return this.getRowByIndex(e).selected&&a.push(this.selectedRowClass),this.focusedRowIndex===e&&a.push(this.focusedRowClass),a}genericFlatTableSortComparator(e,r){const a=this.columnDefs.find(t=>t.property===e);return(t,n)=>{const m=this.getValueByT(t,e),d=this.getValueByT(n,e);return a!=null&&a.sortComparator?r*a.sortComparator(m,d,t,n,r):this.sorterService.genericSortComparator(m,d,r)}}getPropertyValue(e,r){const a=r.shift(),t=e[a];return t&&r.length?this.getPropertyValue(t,r):t}}class o{constructor(e,r,a,t,n=!1){this.r1=e,this.c1=r,this.r2=a,this.c2=t,this.gammaRange=n}static create(e){return e.gammaRange===void 0&&(e.gammaRange=!1),new o(e.rowIndex1,e.columnIndex1,e.rowIndex2,e.columnIndex2,e.gammaRange)}static singleCell(e,r){return new o(e,r,e,r)}static singleRow(e){return new o(e,0,e,Number.MAX_SAFE_INTEGER)}static singleColumn(e){return new o(0,e,Number.MAX_SAFE_INTEGER,e)}isInRange(e,r){return e>=this.r1&&e<=this.r2&&r>=this.c1&&r<=this.c2}}class C{constructor(e,r,a){this.header=e,this.body=r,this.footer=a}}class Xe{render(e,r,a,t,n,m,d){if(n.isEditable(r,a)){d.addClass(e,"ge-table-row-input-div");const i=n.getValueAt(r,a);e.innerHTML=`
|
|
2
2
|
<input
|
|
3
3
|
type="text"
|
|
4
4
|
value="${i}"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
data-col-index="${a}"
|
|
11
11
|
data-input-type="text"
|
|
12
12
|
style="width:calc(100% - 8px);height:100%;border:0;padding:0 0 0 8px;"
|
|
13
|
-
class="ge-table-cell-editor-input">`}}}class q{constructor(e="none",r="single"){this.selectionType=e,this.selectionMode=r,this.ranges=[],this.negativeRanges=[],this.allSelected=!1,this.silent=!1,this.listenerArr=[]}getEventSelectionChangedListeners(){return this.listenerArr}addEventSelectionChangedListener(e){this.listenerArr.includes(e)||this.listenerArr.push(e)}removeEventSelectionChangedListener(e){const r=this.listenerArr.indexOf(e,0);r>-1&&this.listenerArr.splice(r,1)}fireChangeEvent(){this.silent||this.listenerArr.forEach(e=>e.onSelectionChanged(this))}firstClick(e,r){this.selectionType==="row"?this.addRange(o.singleRow(e)):this.selectionType==="column"&&this.addRange(o.singleColumn(r))}getSelectionCount(e,r){let a=0;for(const t of this.ranges)t.isInRange(e,r)&&a++;return this.allSelected&&a++,this.isInNegativeRange(e,r)&&(a=0),a}isInNegativeRange(e,r){for(const a of this.negativeRanges)if(a.isInRange(e,r))return!0;return!1}getRanges(){return this.ranges}clear(){this.ranges=[],this.negativeRanges=[],this.allSelected=!1,this.fireChangeEvent()}hasSelection(){return this.allSelected||!!this.ranges.length}hasNoSelection(){return!this.hasSelection()}getMergedRowIndices(){const e=new Set;for(const r of this.ranges)for(let a=r.r1;a<=r.r2;a++)!e.has(a)&&!this.isInNegativeRange(a,0)&&e.add(a);return Array.from(e)}selectAll(){this.allSelected=!0,this.fireChangeEvent()}isAllSelected(){return this.allSelected}addSelection(e){this.addRange(e),this.fireChangeEvent()}removeSelection(e){if(this.selectionType==="none")return;let r=e;this.selectionType==="row"?r=o.singleRow(e.r1):this.selectionType==="column"&&(r=o.singleColumn(e.c1)),this.negativeRanges.push(r),this.fireChangeEvent()}togglePoint(e,r){this.getSelectionCount(e,r)>0?this.removeSelection(o.singleCell(e,r)):this.addSelection(o.singleCell(e,r))}isSelected(e,r){return this.getSelectionCount(e,r)>0}addRange(e){this.selectionType!=="none"&&(this.allSelected=!1,this.selectionMode==="single"&&(this.ranges=[]),this.selectionType==="row"?(e.c1=0,e.c2=Number.MAX_SAFE_INTEGER):this.selectionType==="column"?(e.r1=0,e.r2=Number.MAX_SAFE_INTEGER):this.selectionType==="cell"?(e.r2=e.r1,e.c2=e.c1):this.selectionType,this.ranges.push(e),this.fireChangeEvent())}}class Ye{constructor(e="none"){this.selectionType=e,this.rowIndex=-1,this.columnIndex=-1,this.changed=!1,this.listenerArr=[]}getEventFocusChangedListeners(){return this.listenerArr}addEventFocusChangedListener(e){this.listenerArr.includes(e)||this.listenerArr.push(e)}removeEventFocusChangedListener(e){const r=this.listenerArr.indexOf(e,0);r>-1&&this.listenerArr.splice(r,1)}fireChangeEvent(){this.listenerArr.forEach(e=>e.onFocusChanged(this))}clearChanged(){this.changed=!1}hasChanged(){return this.changed}clear(){this.rowIndex=-1,this.columnIndex=-1,this.fireChangeEvent()}setFocus(e,r){(this.rowIndex!==e||this.columnIndex!==r)&&(this.rowIndex=e,this.columnIndex=r,this.changed=!0,this.fireChangeEvent())}hasFocus(e,r){return this.rowIndex===e&&this.columnIndex===r}getFocus(){return[this.rowIndex,this.columnIndex]}}class re{constructor(e=new w("❯","",["gt-table-icon-expanded"]),r=new w("❯","transform: rotate(180deg) translate(-100%, -100%); transform-origin: 0 0;",["ge-table-icon-collapsed"])){this.iconExpanded=e,this.iconCollapsed=r}}const Je=new q,Qe=new Ye("cell");class z{constructor(){this.overflowX="auto",this.overflowY="auto",this.horizontalBorderVisible=!0,this.verticalBorderVisible=!0,this.footerSeparatorBorderVisible=!0,this.headerSeparatorBorderVisible=!0,this.fixedEastSeparatorBorderVisible=!0,this.fixedWestSeparatorBorderVisible=!0,this.tableTopBorderVisible=!0,this.tableBottomBorderVisible=!0,this.hoverRowVisible=!0,this.hoverColumnVisible=!0,this.columnsResizable=!0,this.columnsDraggable=!0,this.columnResizeHandleWidthInPx=4,this.defaultRowHeights={header:34,body:34,footer:34},this.footerVerticalSeparator=!1,this.headerToggleExpandCollapseIcons=!1,this.headerVerticalSeparator=!1,this.treeOptions=new We,this.headerGroupOptions=new re,this.showCheckboxWihoutExtraColumn=!1,this.externalFilterFunction=void 0,this.sortedOptions=new Ke,this.sortOrder=["asc","desc"],this.resizeEventDebounceDelay=500,this.getEditRenderer=(e,r)=>new Xe,this.getSelectionModel=()=>Je,this.getFocusModel=()=>Qe}}const D=class D{createContent(e,r,a){return new Promise((t,n)=>{if(r!=null&&r.hasSelection()){const m=this.mergeRanges(r.getRanges());if(m){m.c2=Math.min(m.c2,e.getColumnCount()-1),m.r2=Math.min(m.r2,e.getBodyModel().getRowCount()-1);const d=[];for(let i=m.r1;i<=m.r2;i++){const u=[];for(let p=m.c1;p<=m.c2;p++){const c=r.isSelected(i,p)?e.getBodyModel().getTextValueAt(i,p):"";u.push(c)}d.push(u.join(D.columnSeparatorChar))}return t(d.join(D.rowSeparatorChar))}}if(a){const[m,d]=a.getFocus(),i=e.getBodyModel().getTextValueAt(m,d);return t(i)}n("Cannot copy, neither selection nor focus defined.")})}copyContent(e){return navigator.clipboard.writeText(e)}copyToClipboard(e,r,a){return new Promise((t,n)=>{this.createContent(e,r,a).then(m=>{m&&this.copyContent(m).then(d=>{t(m)}).catch(d=>{n()})}).catch(m=>{n()})})}mergeRanges(e){let r;for(const a of e)r?(r.r1=Math.min(r.r1,a.r1),r.c1=Math.min(r.c1,a.c1),r.r2=Math.max(r.r2,a.r2),r.c2=Math.max(r.c2,a.c2)):r=new o(a.r1,a.c1,a.r2,a.c2);return r}};D.columnSeparatorChar=" ",D.rowSeparatorChar=`
|
|
13
|
+
class="ge-table-cell-editor-input">`}}}class q{constructor(e="none",r="single"){this.selectionType=e,this.selectionMode=r,this.ranges=[],this.negativeRanges=[],this.allSelected=!1,this.silent=!1,this.listenerArr=[]}getEventSelectionChangedListeners(){return this.listenerArr}addEventSelectionChangedListener(e){this.listenerArr.includes(e)||this.listenerArr.push(e)}removeEventSelectionChangedListener(e){const r=this.listenerArr.indexOf(e,0);r>-1&&this.listenerArr.splice(r,1)}fireChangeEvent(){this.silent||this.listenerArr.forEach(e=>e.onSelectionChanged(this))}firstClick(e,r){this.selectionType==="row"?this.addRange(o.singleRow(e)):this.selectionType==="column"&&this.addRange(o.singleColumn(r))}getSelectionCount(e,r){let a=0;for(const t of this.ranges)t.isInRange(e,r)&&a++;return this.allSelected&&a++,this.isInNegativeRange(e,r)&&(a=0),a}isInNegativeRange(e,r){for(const a of this.negativeRanges)if(a.isInRange(e,r))return!0;return!1}getRanges(){return this.ranges}clear(){this.ranges=[],this.negativeRanges=[],this.allSelected=!1,this.fireChangeEvent()}hasSelection(){return this.allSelected||!!this.ranges.length}hasNoSelection(){return!this.hasSelection()}getMergedRowIndices(){const e=new Set;for(const r of this.ranges)for(let a=r.r1;a<=r.r2;a++)!e.has(a)&&!this.isInNegativeRange(a,0)&&e.add(a);return Array.from(e)}selectAll(){this.allSelected=!0,this.fireChangeEvent()}isAllSelected(){return this.allSelected}addSelection(e){this.addRange(e),this.fireChangeEvent()}removeSelection(e){if(this.selectionType==="none")return;let r=e;this.selectionType==="row"?r=o.singleRow(e.r1):this.selectionType==="column"&&(r=o.singleColumn(e.c1)),this.negativeRanges.push(r),this.fireChangeEvent()}togglePoint(e,r){this.getSelectionCount(e,r)>0?this.removeSelection(o.singleCell(e,r)):this.addSelection(o.singleCell(e,r))}isSelected(e,r){return this.getSelectionCount(e,r)>0}addRange(e){this.selectionType!=="none"&&(this.allSelected=!1,this.selectionMode==="single"&&(this.ranges=[]),this.selectionType==="row"?(e.c1=0,e.c2=Number.MAX_SAFE_INTEGER):this.selectionType==="column"?(e.r1=0,e.r2=Number.MAX_SAFE_INTEGER):this.selectionType==="cell"?(e.r2=e.r1,e.c2=e.c1):this.selectionType,this.ranges.push(e),this.fireChangeEvent())}}class Ye{constructor(e="none"){this.selectionType=e,this.rowIndex=-1,this.columnIndex=-1,this.changed=!1,this.listenerArr=[]}getEventFocusChangedListeners(){return this.listenerArr}addEventFocusChangedListener(e){this.listenerArr.includes(e)||this.listenerArr.push(e)}removeEventFocusChangedListener(e){const r=this.listenerArr.indexOf(e,0);r>-1&&this.listenerArr.splice(r,1)}fireChangeEvent(){this.listenerArr.forEach(e=>e.onFocusChanged(this))}clearChanged(){this.changed=!1}hasChanged(){return this.changed}clear(){this.rowIndex=-1,this.columnIndex=-1,this.fireChangeEvent()}setFocus(e,r){(this.rowIndex!==e||this.columnIndex!==r)&&(this.rowIndex=e,this.columnIndex=r,this.changed=!0,this.fireChangeEvent())}hasFocus(e,r){return this.rowIndex===e&&this.columnIndex===r}getFocus(){return[this.rowIndex,this.columnIndex]}}class re{constructor(e=new w("❯","",["gt-table-icon-expanded"]),r=new w("❯","transform: rotate(180deg) translate(-100%, -100%); transform-origin: 0 0;",["ge-table-icon-collapsed"])){this.iconExpanded=e,this.iconCollapsed=r}}const Je=new q,Qe=new Ye("cell");class z{constructor(){this.overflowX="auto",this.overflowY="auto",this.horizontalBorderVisible=!0,this.verticalBorderVisible=!0,this.footerSeparatorBorderVisible=!0,this.headerSeparatorBorderVisible=!0,this.fixedEastSeparatorBorderVisible=!0,this.fixedWestSeparatorBorderVisible=!0,this.tableTopBorderVisible=!0,this.tableBottomBorderVisible=!0,this.hoverRowVisible=!0,this.hoverColumnVisible=!0,this.columnsResizable=!0,this.columnsDraggable=!0,this.columnResizeHandleWidthInPx=4,this.defaultRowHeights={header:34,body:34,footer:34},this.footerVerticalSeparator=!1,this.headerToggleExpandCollapseIcons=!1,this.headerVerticalSeparator=!1,this.treeOptions=new We,this.headerGroupOptions=new re,this.showCheckboxWihoutExtraColumn=!1,this.externalFilterFunction=void 0,this.sortedOptions=new Ke,this.sortOrder=["asc","desc"],this.shortcutActionsDisabled=!1,this.resizeEventDebounceDelay=500,this.getEditRenderer=(e,r)=>new Xe,this.getSelectionModel=()=>Je,this.getFocusModel=()=>Qe}}const D=class D{createContent(e,r,a){return new Promise((t,n)=>{if(r!=null&&r.hasSelection()){const m=this.mergeRanges(r.getRanges());if(m){m.c2=Math.min(m.c2,e.getColumnCount()-1),m.r2=Math.min(m.r2,e.getBodyModel().getRowCount()-1);const d=[];for(let i=m.r1;i<=m.r2;i++){const u=[];for(let p=m.c1;p<=m.c2;p++){const c=r.isSelected(i,p)?e.getBodyModel().getTextValueAt(i,p):"";u.push(c)}d.push(u.join(D.columnSeparatorChar))}return t(d.join(D.rowSeparatorChar))}}if(a){const[m,d]=a.getFocus(),i=e.getBodyModel().getTextValueAt(m,d);return t(i)}n("Cannot copy, neither selection nor focus defined.")})}copyContent(e){return navigator.clipboard.writeText(e)}copyToClipboard(e,r,a){return new Promise((t,n)=>{this.createContent(e,r,a).then(m=>{m&&this.copyContent(m).then(d=>{t(m)}).catch(d=>{n()})}).catch(m=>{n()})})}mergeRanges(e){let r;for(const a of e)r?(r.r1=Math.min(r.r1,a.r1),r.c1=Math.min(r.c1,a.c1),r.r2=Math.max(r.r2,a.r2),r.c2=Math.max(r.c2,a.c2)):r=new o(a.r1,a.c1,a.r2,a.c2);return r}};D.columnSeparatorChar=" ",D.rowSeparatorChar=`
|
|
14
14
|
`;let me=D;const $=class ${};$.themes=["light","combat","paper","blackboard"],$.vars={light:`html[data-theme="light"] {
|
|
15
15
|
--ge-table-bg: rgba(255,255,255, 0.5);
|
|
16
16
|
--ge-table-header-west-bg: rgba(233, 233, 233, 0.5);
|
|
@@ -239,7 +239,7 @@
|
|
|
239
239
|
--ge-table-column-resize-handle-border: oklch(0% 0 0);
|
|
240
240
|
--ge-table-dragged-col-div-bg: #2c2e33;
|
|
241
241
|
--ge-table-drop-zone-bg: #758129;
|
|
242
|
-
}`};let se=$;class ie{constructor(e,r=!0,a,t,n=0,m=!1,d=!1){this.data=e,this.expanded=r,this.children=a,this.parent=t,this.deep=n,this.checked=m,this.keep=d,this.type="TreeRow"}}class U{static buildTreeRows(e,r="children",a=12){const t=[];for(const n of e)t.push(U.buildTreeRow(n,r,void 0,0,a));return t}static buildTreeRow(e,r="children",a=new ie(e,!0,[],void 0,0),t=0,n=12){var d;if(t>n)return console.warn("Max deep limit reached: ",t),a;const m=e[r];if(m)for(const i of m){const u=new ie(i,!0,[],a,t+1);if((d=a.children)==null||d.push(u),U.buildTreeRow(i,r,u,t+1),t>n)return console.warn("Max deep limit reached: ",t),a}return a}}class R{constructor(e=34,r=34,a=34){this.header=e,this.body=r,this.footer=a}}class l{constructor(e=100,r="px"){this.value=e,this.unit=r}}const g=()=>!0,B=()=>!1;class y{constructor(e,r,a=new l(100,"px"),t=new C,n=new C,m=new l(100,"px"),d=new l(100,"px"),i,u,p,c,N,G,v,k,b=()=>this.visible){this.property=e,this.headerLabel=r,this.width=a,this.classes=t,this.rendererMap=n,this.minWidth=m,this.maxWidth=d,this.sortable=i,this.sortComparator=u,this.sortState=p,this.sortStatesOrder=c,this.sortIconVisible=N,this.editable=G,this.getEditRenderer=v,this.editInputPipe=k,this.isVisible=b,this.visible=!0,a.unit!=="px"&&(this.minWidth=new l(0,"px"),this.maxWidth=new l(1e5,"px"))}static bodyRenderer(e){return new C(void 0,e,void 0)}static create(e){const r=new C(e.headerRenderer,e.bodyRenderer,e.footerRenderer),a=new C(e.headerClasses,e.bodyClasses,e.footerClasses),t=e.sortIconVisible??e.sortable??B,n=e.editable??e.editable??B,m=e.isVisible??e.isVisible??g;return new y(e.property??"",e.headerLabel??"",e.width??new l(100,"px"),a,r,e.minWidth??new l(100,"px"),e.maxWidth??new l(100,"px"),e.sortable,e.sortComparator,e.sortState,e.sortStatesOrder,t,n,e.getEditRenderer,e.editInputPipe,m)}}const er=new l(300,"px"),rr=new l(250,"px"),Te=new l(220,"px"),A=new l(200,"px"),ar=new l(160,"px"),oe=new l(150,"px"),ae=new l(140,"px"),L=new l(120,"px"),T=new l(100,"px"),he=new l(90,"px"),Se=new l(80,"px"),tr=new l(70,"px"),x=new l(60,"px"),nr=new l(50,"px");class S extends ee{constructor(e,r,a,t=[]){super(e,t,a),this.areaIdent=e,this.arr=r,this.defaultRowHeight=a,this.columnDefs=t,this.filteredArr=[...r]}externalFilterChanged(e){this.filteredArr=this.arr?this.arr.filter(e):[]}getRowCount(){return this.filteredArr?this.filteredArr.length:0}getValueAt(e,r){return this.filteredArr[e][r]}setValue(e,r,a){var n;const t=(n=this.columnDefs[r])==null?void 0:n.editInputPipe;return t&&(a=t(a,e,r)),this.arr[e][r]=a,!0}getRowByIndex(e){return this.filteredArr[e]}getRowHeight(e){return this.defaultRowHeight}changeColumnOrder(e,r){this.filteredArr.forEach(a=>this.arrayMove(a,e,r)),super.changeColumnOrder(e,r)}}class Z{constructor(e="body"){this.areaIdent=e,this.rowSelectionModel=void 0}getRowCount(){return 0}getValueAt(e,r){return""}getTextValueAt(e,r){return""}getCellRenderer(e,r){}getRowHeight(e){return 0}getColspanAt(e,r){return 0}getCustomClassesAt(e,r){return[]}getCustomStyleAt(e,r){}getRowspanAt(e,r){return 0}getRowByIndex(e){}isRowCheckable(e){return!1}isRowChecked(e){}setRowChecked(e,r){}getTooltipAt(e,r){return""}getMaxColspan(){return 0}getMaxRowspan(){return 0}getYPosByRowIndex(e){return 0}init(){}externalFilterChanged(e){}isFilterable(){return!1}doSort(e){return!1}isEditable(e,r){return!1}setValue(e,r,a){return!1}isSelectable(e,r){return!1}changeColumnOrder(e,r){}}class mr{flattenTree(e,r=[]){var a;for(const t of e)this.isVisible(t)&&r.push(t),(a=t.children)!=null&&a.length&&this.flattenTree(t.children,r);return r}isVisible(e){return e.parent?e.parent.expanded?this.isVisible(e.parent):!1:!0}}class de extends ee{constructor(e,r,a,t=[]){super(e,t,a),this.areaIdent=e,this.rows=r,this.defaultRowHeight=a,this.columnDefs=t,this.type="AreaModelTree",this.sorterService=new fe,this.service=new mr,this.properties=t.map(n=>n.property),this.flattenRows=this.service.flattenTree(r),this.filteredFlattenRows=[...this.flattenRows]}changeColumnOrder(e,r){this.arrayMove(this.properties,e,r),super.changeColumnOrder(e,r)}recalcVisibleTreeRows(){this.filteredFlattenRows=this.service.flattenTree(this.rows)}getFilteredFlattenRows(){return this.filteredFlattenRows}getRowCount(){let e=0;for(const r of this.filteredFlattenRows)this.service.isVisible(r)&&e++;return e}getValueAt(e,r){const a=this.getRowByIndex(e);if(a){const t=this.properties[r];if(t)return t.includes(".")?this.getPropertyValue(a.data,t.split(".")):a.data[t]}return""}getRowHeight(e){return this.defaultRowHeight}getCustomClassesAt(e,r){return["ge-table-tree-cell","ge-table-tree-deep-"+this.filteredFlattenRows[e].deep]}getRowByIndex(e){return this.filteredFlattenRows[e]}getValueByT(e,r){return r.includes(".")?this.getPropertyValue(e,r.split(".")):e[r]}externalFilterChanged(e){this.lastPredictFn=e,this.doFiltering()}doSort(e){const{columnIndex:r,sortState:a}=e[e.length-1],t=a==="asc"?1:a==="desc"?-1:0,n=this.properties[r];return this.treeSort(this.rows,n,t),this.flattenRows=this.service.flattenTree(this.rows),this.filteredFlattenRows=[...this.flattenRows],!0}toggleExpandCollapseAll(e){this.expandAllRecursive(this.rows,e),this.flattenRows=this.service.flattenTree(this.rows),this.doFiltering()}setAllParentsOk(e){return e.parent&&(e.parent.keep=!0,this.setAllParentsOk(e.parent)),!1}setValue(e,r,a){var m;const t=(m=this.columnDefs[r])==null?void 0:m.editInputPipe;t&&(a=t(a,e,r));const n=this.getRowByIndex(e);if(n){const d=n.data,i=this.columnDefs[r].property;return i.includes(".")?this.setPropertyValue(d,i.split("."),a):(d[i]=a,!0)}return!1}genericTreeTableSortComparator(e,r){const a=this.columnDefs.find(t=>t.property===e);return(t,n)=>{const m=this.getValueByT(t.data,e),d=this.getValueByT(n.data,e);return a!=null&&a.sortComparator?r*a.sortComparator(m,d,t.data,n.data,r):this.sorterService.genericSortComparator(m,d,r)}}expandAllRecursive(e,r){for(const a of e)a.expanded=r,a.children&&this.expandAllRecursive(a.children,r)}doFiltering(){if(!this.lastPredictFn)this.filteredFlattenRows=[...this.flattenRows?this.flattenRows:[]];else{this.flattenRows||(this.flattenRows=[]);let e=0;this.flattenRows.forEach(a=>{e=Math.max(e,a.deep)});const r=this.flattenRows.filter((a,t,n)=>this.lastPredictFn(a,t,n));this.flattenRows.forEach(a=>a.keep=!1),this.flattenRows.forEach(a=>{r.includes(a)&&(a.keep=!0,this.setAllParentsOk(a))}),this.filteredFlattenRows=this.flattenRows.filter((a,t,n)=>a.keep)}}getPropertyValue(e,r){const a=r.shift();let t=e[a];return t&&r.length?this.getPropertyValue(t,r):t}treeSort(e,r,a){e.sort(this.genericTreeTableSortComparator(r,a));for(const t of e)t.children&&this.treeSort(t.children,r,a)}}class ye{constructor(e=[]){this.allRootNodes=e}checkRow(e,r){if(e.checked=r,e.children)for(const a of e.children)this.checkRow(a,r);this.autoCheckParent(e.parent)}checkAll(e){for(const r of this.allRootNodes)r.checked=!1,r.children&&this.checkAll(r.children)}getCheckedRows(){const e=[];return this.addSelectedRecursive(this.allRootNodes,e),e}isRowChecked(e){if(e.checked)return"full";const r=this.areAllChildrenChecked(e),a=this.areAllChildrenUnchecked(e);return!r&&!a?"semi":"none"}setCheckedRows(e){this.addCheckedRows(e)}addCheckedRows(e){for(const r of e)r.checked=!0}autoCheckParent(e){if(e){const r=this.areAllChildrenChecked(e),a=this.areAllChildrenUnchecked(e);r?e.checked=!0:e.checked=!1,this.autoCheckParent(e.parent)}}areAllChildrenChecked(e){var r,a;if((r=e.children)!=null&&r.length){for(const t of e.children)if(!t.checked||(a=t.children)!=null&&a.length&&!this.areAllChildrenChecked(t))return!1}return!0}areAllChildrenUnchecked(e){var r,a;if((r=e.children)!=null&&r.length){for(const t of e.children)if(t.checked||(a=t.children)!=null&&a.length&&!this.areAllChildrenUnchecked(t))return!1}return!0}addSelectedRecursive(e,r){for(const a of e)a.checked&&r.push(a),a.children&&this.addSelectedRecursive(a.children,r)}}class ue{constructor(e=0,r=0,a=0,t=0){this.top=e,this.right=r,this.bottom=a,this.left=t}}class sr{constructor(){this.checkedRows=[]}getCheckedRows(){return this.checkedRows}setCheckedRows(e){this.checkedRows=e}addCheckedRows(e){this.checkedRows||(this.checkedRows=[]);for(const r of e)this.checkedRows.includes(r)||this.checkedRows.push(r)}checkRow(e,r){this.checkedRows||(this.checkedRows=[]),r?this.checkedRows.includes(e)||this.checkedRows.push(e):this.removeSelectedRow(e)}isRowChecked(e){return this.checkedRows&&this.checkedRows.includes(e)?"full":"none"}checkAll(e){this.checkedRows=[]}removeSelectedRow(e){if(this.checkedRows){const r=this.checkedRows.indexOf(e);r>-1&&this.checkedRows.splice(r,1)}}}class W{constructor(e,r,a,t=0,n=0,m=!1,d=new R,i=[],u=[],p=-1,c=0,N=400,G=()=>{}){var v,k,b,F;this.headerAreaModel=e,this.bodyAreaModel=r,this.footerAreaModel=a,this.fixedLeftColumnCount=t,this.fixedRightColumnCount=n,this.rowCheckboxVisible=m,this.defaultRowHeights=d,this.columnDefs=i,this.columnSizes=u,this.overridingColumnWidth=p,this.columnCount=c,this.parentSize=N,this.getSelectionModel=G,this.rowCount=0,this.contentHeightInPx=0,this.contentWidthInPx=0,this.padding=new ue(0,0,0,0),this.xPositions=[],e.areaIdent="header",r.areaIdent="body",a.areaIdent="footer",this.columnCount||((v=this.columnDefs)!=null&&v.length?this.columnCount=this.columnDefs.length:(k=this.columnSizes)!=null&&k.length&&(this.columnCount=(b=this.columnSizes)==null?void 0:b.length)),(F=this.columnDefs)!=null&&F.length&&Fe(this.columnDefs[0])&&!r.rowSelectionModel&&(r.rowSelectionModel=new sr)}init(){this.recalcSize(this.parentSize),this.overridingColumnWidth===-1&&this.calcXPositions(),this.headerAreaModel&&this.headerAreaModel.init(),this.bodyAreaModel&&this.bodyAreaModel.init(),this.footerAreaModel&&this.footerAreaModel.init()}setParentWidth(e){this.parentSize=e}getColumnCount(){return this.columnCount}setColumnWidth(e,r){var a;r=Math.max(0,r),this.overridingColumnWidth!==-1&&(this.overridingColumnWidth=r),e>-1&&e<((a=this.columnSizes)==null?void 0:a.length)&&(this.columnSizes[e]=r),this.recalcContentWidthInPx()}getColumnWidth(e){var a;const r=this.getColumnDef(e);return r&&r.isVisible&&!r.isVisible()?0:this.overridingColumnWidth!==-1?this.overridingColumnWidth:e>-1&&e<((a=this.columnSizes)==null?void 0:a.length)?this.columnSizes[e]:0}getXPosByColumnIndex(e){return e===0?0:this.overridingColumnWidth>-1?this.overridingColumnWidth*e:this.xPositions[e]}recalcSize(e){this.recalcColumnWidths(e),this.recalcHeightAndPadding()}recalcHeightAndPadding(){const e=this.getAreaModel("body");this.rowCount=e.getRowCount(),this.contentHeightInPx=this.getAreaHeight("body"),this.recalcContentWidthInPx(),this.recalcPadding()}recalcPadding(){const e=this.getSideAreaWidth("west"),r=this.getSideAreaWidth("east"),a=this.getAreaHeight("header"),t=this.getAreaHeight("footer");this.padding=new ue(a,r,t,e)}getPadding(){return this.padding}getContentHeightInPixel(){return this.contentHeightInPx}getContentWidthInPixel(){return this.contentWidthInPx}getRowHeight(e,r){return this.getAreaModel(e).getRowHeight(r)}getModel(e){return this.getAreaModel(e)}getAreaHeight(e){const r=this.getModel(e),a=r.getRowCount();if(this.defaultRowHeights[e])return a*this.defaultRowHeights[e];let t=0;for(let n=0;n<a;n++)t=t+r.getRowHeight(n);return t}getSideAreaWidth(e){const[r,a]=this.getSideStartAndEndColumnIndex(e);let t=0;for(let n=r;n<=a;n++)t=t+this.getColumnWidth(n);return t}getSideStartAndEndColumnIndex(e){const r=this.getFixedLeftColumnCount(),a=this.getFixedRightColumnCount();let t=0,n=this.columnCount-1;return e==="west"?n=r-1:e==="east"?t=this.columnCount-a:(t=r,n=this.columnCount-a-1),[t,n]}getColumnDef(e){if(e<this.columnDefs.length)return this.columnDefs[e]}getFixedLeftColumnCount(){return this.fixedLeftColumnCount}getFixedRightColumnCount(){return this.fixedRightColumnCount}getAreaModel(e){if(e==="header")return this.headerAreaModel;if(e==="body")return this.bodyAreaModel;if(e==="footer")return this.footerAreaModel;throw new Error("Wrong ident.")}getBodyModel(){return this.bodyAreaModel}isFooterVisibe(){var e;return(((e=this.footerAreaModel)==null?void 0:e.getRowCount())??0)>0}isHeaderVisibe(){var e;return(((e=this.headerAreaModel)==null?void 0:e.getRowCount())??0)>0}isRowCheckboxVisible(){return this.rowCheckboxVisible}externalFilterChanged(e){this.getAreaModel("body").externalFilterChanged(e)}doSort(e){return this.getAreaModel("body").doSort(e)}getColumnDefs(){return this.columnDefs}getColumnProperty(e){return this.columnDefs?this.columnDefs[e].property:""}getBodyRowByIndex(e){return this.getBodyModel().getRowByIndex(e)}isSortable(e){var r;if(this.columnDefs&&e<this.columnDefs.length){const a=(r=this.columnDefs[e])==null?void 0:r.sortable;if(typeof a=="function")return a()}return!1}changeColumnOrder(e,r){var a,t,n;this.arrayMove(this.columnDefs,e,r),this.arrayMove(this.columnSizes,e,r),(a=this.headerAreaModel)==null||a.changeColumnOrder(e,r),(t=this.bodyAreaModel)==null||t.changeColumnOrder(e,r),(n=this.footerAreaModel)==null||n.changeColumnOrder(e,r),this.calcXPositions()}recalcColumnWidths(e){var r,a,t;if(!((r=this.columnDefs)!=null&&r.length)&&!((a=this.columnSizes)!=null&&a.length)&&(this.columnSizes=new Array(this.getColumnCount()).fill(this.overridingColumnWidth)),(t=this.columnDefs)!=null&&t.length){const n=this.columnDefs.filter(i=>{var u;return((u=i.width)==null?void 0:u.unit)==="weight"});this.columnSizes=this.columnDefs.map(i=>{if(i.width.unit==="%"&&e){let u=Math.floor(i.width.value*e/100);if(i.minWidth){const p=this.sizeToPixel(i.minWidth,e);u=Math.max(p,u)}if(i.maxWidth){const p=this.sizeToPixel(i.maxWidth,e);u=Math.min(p,u)}return u}else if(i.width.unit==="px"&&e)return i.width.value;return 0});const m=this.columnSizes.reduce((i,u)=>i+u),d=e-m;if(d>0&&n.length){const i=n.map(u=>u.width.value).reduce((u,p)=>u+p);for(let u=0;u<this.columnDefs.length;u++){const p=this.columnDefs[u];p.width.unit==="weight"&&(this.columnSizes[u]=p.width.value*d/i)}}}}sizeToPixel(e,r){return e.unit==="px"?e.value:e.unit==="%"?Math.floor(e.value*r/100):-1}arrayMove(e,r,a){const t=e.splice(r,1)[0];return e.splice(a,0,t),e}recalcContentWidthInPx(){this.contentWidthInPx=this.getSideAreaWidth("center")}calcXPositions(){const e=this.getColumnCount();this.xPositions=new Array(e+1),this.xPositions[0]=0;for(let r=0;r<e;r++)this.xPositions[r+1]=this.getColumnWidth(r)+this.xPositions[r]}setTableScope(e){this.tableScope=e}getTableScope(){return this.tableScope}}class I extends je{constructor(e,r,a,t){super(e,r,t,a),this.areaIdent=e,this.rows=r,this.columnDefs=a,this.defaultRowHeight=t}}class f{static createTableModel(e){var r,a,t,n,m,d,i,u,p,c,N,G,v,k;if(e.defaultRowHeights===void 0)if((r=e.tableOptions)!=null&&r.defaultRowHeights)e.defaultRowHeights=e.tableOptions.defaultRowHeights;else{if(e.defaultRowHeights=new R,e.headerAreaModel&&"defaultRowHeight"in e.headerAreaModel){const b=e.headerAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.header=b)}if(e.bodyAreaModel&&"defaultRowHeight"in e.bodyAreaModel){const b=e.bodyAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.body=b)}if(e.footerAreaModel&&"defaultRowHeight"in e.footerAreaModel){const b=e.footerAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.footer=b)}}if(e.columnDefs===void 0&&((a=e.properties)!=null&&a.length?e.columnDefs=e.properties.map(b=>new y(b,b.toUpperCase(),A)):(t=e.rows)!=null&&t.length?e.columnDefs=Object.keys(e.rows[0]).map(b=>new y(b,b.toUpperCase(),A)):e.columnDefs=[]),e.columnCount===void 0&&((n=e.columnDefs)!=null&&n.length?e.columnCount=e.columnDefs.length:(m=e.headerData)!=null&&m.length?e.columnCount=e.headerData[0].length:(d=e.columnSizes)!=null&&d.length?e.columnCount=(i=e.columnSizes)==null?void 0:i.length:console.warn('Property "columnCount" is missing and cannot be derived from other properties.')),e.headerAreaModel||((u=e.headerData)!=null&&u.length?e.headerAreaModel=new S("header",e.headerData,e.defaultRowHeights.header,e.columnDefs):(p=e.columnDefs)!=null&&p.length?e.headerAreaModel=new S("header",[e.columnDefs.map(b=>b.headerLabel)],e.defaultRowHeights.header,e.columnDefs):e.headerAreaModel=new Z("header")),e.footerAreaModel||((c=e.footerData)!=null&&c.length?e.footerAreaModel=new S("footer",e.footerData,e.defaultRowHeights.footer,e.columnDefs):e.footerAreaModel=new Z("footer")),!e.bodyAreaModel)if(e.rows)if((N=e.rows)!=null&&N.length&&X(e.rows[0])){const b=e.rows;e.bodyAreaModel=new de("body",b,e.defaultRowHeights.body,e.columnDefs),(e.columnDefs[0].property==="CheckboxColumn"||(G=e.tableOptions)!=null&&G.showCheckboxWihoutExtraColumn)&&(e.bodyAreaModel.rowSelectionModel=new ye(b))}else e.bodyAreaModel=new I("body",e.rows,e.columnDefs,e.defaultRowHeights.body);else e.bodyData?e.bodyAreaModel=new S("body",e.bodyData,e.defaultRowHeights.body):e.bodyAreaModel=new Z("body");return e.fixedLeftColumnCount===void 0&&(e.fixedLeftColumnCount=0),e.fixedRightColumnCount===void 0&&(e.fixedRightColumnCount=0),e.rowCheckboxVisible===void 0&&(e.rowCheckboxVisible=!1),e.overridingColumnWidth===void 0&&(e.overridingColumnWidth=-1),!e.getSelectionModel&&((v=e.tableOptions)!=null&&v.getSelectionModel)&&(e.getSelectionModel=(k=e.tableOptions)==null?void 0:k.getSelectionModel),new W(e.headerAreaModel,e.bodyAreaModel,e.footerAreaModel,e.fixedLeftColumnCount,e.fixedRightColumnCount,e.rowCheckboxVisible,e.defaultRowHeights,e.columnDefs,e.columnSizes,e.overridingColumnWidth,e.columnCount,e.parentSize,e.getSelectionModel)}static buildByTypedRowsParam(e){return f.buildByTypedRows(e.rows??[],e.columnDefs,e.tableOptions??new z,e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0)}static buildByTypedRows(e,r,a=new z,t=0,n=0){const m=a.defaultRowHeights,d=r[0].property==="CheckboxColumn";if(e!=null&&e.length&&X(e[0])){const u=e,p=new de("body",u,m.body,r);return(d||a.showCheckboxWihoutExtraColumn)&&(p.rowSelectionModel=new ye(u)),f.createByAreaModelsParam({headerAreaModel:new S("header",[r.map(c=>c.headerLabel)],m.header),bodyAreaModel:p,footerAreaModel:new S("footer",[],m.footer),columnDefs:r,fixedLeftColumnCount:t,fixedRightColumnCount:n,defaultRowHeights:a.defaultRowHeights,rowCheckboxVisible:!1,columnSizes:[],columnCount:r.length,overridingColumnWidth:-1})}return f.createByObjectArrayParam({rows:e,columnDefs:r,fixedLeftColumnCount:t,fixedRightColumnCount:n,defaultRowHeights:a.defaultRowHeights})}static createByObjectArrayParam(e){const r=e.rowCheckboxVisible!==void 0?e.rowCheckboxVisible:!1;return f.createByObjectArray(e.rows,e.header??[],e.footer??[],e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0,r,e.defaultRowHeights??new R,e.columnDefs??[],e.columnSizes??[])}static createByAreaModels(e=new Z,r,a=new Z,t=0,n=0,m=!1,d=new R,i,u=[],p=-1,c){return new W(e,r,a,t,n,m,d,i,u,p,c)}static createByAreaModelsParam(e){return f.createByAreaModels(e.headerAreaModel??new Z,e.bodyAreaModel,e.footerAreaModel??new Z,e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0,e.rowCheckboxVisible===void 0?!1:e.rowCheckboxVisible,e.defaultRowHeights,e.columnDefs??[],e.columnSizes??[],e.overridingColumnWidth??-1,e.columnCount??0)}static createByObjectArray(e,r=[],a=[],t=0,n=0,m=!1,d=new R,i,u=[]){let p;r!=null&&r.length?p=new S("header",r,d.header,i):i!=null&&i.length?p=new S("header",[i.map(G=>G.headerLabel)],d.header,i):p=new Z;const c=a?new S("footer",a,d.footer,i):new Z,N=new I("body",e,i,d.body);return new W(p,N,c,t,n,m,d,i,u)}}class H{constructor(e,r){this.tableModel=e,this.tableOptions=r}}class Y{constructor(e,r){this.value=e,this.label=r}}class ir{constructor(){this.autoRestoreSortingState=!1,this.autoRestoreCollapsedExpandedState=!1,this.autoRestoreScrollPosition=!1,this.autoRestoreCheckedState=!1,this.autoRestoreSelectedState=!1,this.getStorageKeyFn=void 0,this.isSame=(e,r,a)=>{if(e&&r&&a.getRowId){const t=a.getRowId(e),n=a.getRowId(r);return t===n}return!1},this.getRowId=e=>{if(e){for(const r of["id","uuid"]){const a=e[r];if(a!=null)return a}try{return JSON.stringify(e)}catch(r){console.error(r)}}return console.warn('One of following options set to true without a valid "getRowId()": autoRestoreExpandedState, autoRestoreCheckedState.'),-1}}}class dr{constructor(e,r,a,t=!1,n="normal",m=void 0){this.data=e,this.property=r,this.toggle=a,this.closed=t,this.visibility=n,this.children=m,this.impl="CellGroup"}}class yr extends dr{constructor(e,r=0,a=0,t){super(e.data,e.property,e.toggle,e.closed,e.visibility,e.children),this.rowIndex=r,this.childIndex=a,this.parent=t,this.impl="CellGroupExt",this.children=void 0,this.leftNeighbour=void 0,this.rightNeighbour=void 0}ownColumn(){return!!this.property}toString(){return this.data+""}getColumnIndex(){return this.parent?this.parent.getColumnIndex()+this.childIndex:(this.leftNeighbour,0)}isVisible(){return this.parent?this.visibility==="always"?this.parent.isVisible():this.visibility==="normal"||!this.visibility?this.parent.isVisible()&&!this.parent.closed:this.visibility==="inverted"?this.parent.isVisible()&&this.parent.closed:!0:!0}claimsSpace(){return this.isVisible()&&(this.ownColumn()||this.closed)}getColumnCount(e=this,r=0){var a;if(e!=null&&e.claimsSpace()&&r++,(a=e==null?void 0:e.children)!=null&&a.length)for(const t of e.children)r=this.getColumnCount(t,r);return r}getRowSpan(e=this,r){return e!=null&&e.claimsSpace()?r-this.getParentCount(e,0):1}getParentCount(e=this,r=0){return e.parent&&(r=r+1+this.getParentCount(e.parent,r)),r}log(e=10){const r=" ".substring(0,2*this.rowIndex),a=`${this.getColumnIndex()}`,t=`${this.getColumnCount(this)}`,n=`${this.getRowSpan(this,e)}`,m=`${this.getParentCount(this)}`,d=`${r+this.data}
|
|
242
|
+
}`};let se=$;class ie{constructor(e,r=!0,a,t,n=0,m=!1,d=!1){this.data=e,this.expanded=r,this.children=a,this.parent=t,this.deep=n,this.checked=m,this.keep=d,this.type="TreeRow"}}class U{static buildTreeRows(e,r="children",a=12){const t=[];for(const n of e)t.push(U.buildTreeRow(n,r,void 0,0,a));return t}static buildTreeRow(e,r="children",a=new ie(e,!0,[],void 0,0),t=0,n=12){var d;if(t>n)return console.warn("Max deep limit reached: ",t),a;const m=e[r];if(m)for(const i of m){const u=new ie(i,!0,[],a,t+1);if((d=a.children)==null||d.push(u),U.buildTreeRow(i,r,u,t+1),t>n)return console.warn("Max deep limit reached: ",t),a}return a}}class R{constructor(e=34,r=34,a=34){this.header=e,this.body=r,this.footer=a}}class l{constructor(e=100,r="px"){this.value=e,this.unit=r}}const g=()=>!0,B=()=>!1;class y{constructor(e,r,a=new l(100,"px"),t=new C,n=new C,m=new l(100,"px"),d=new l(100,"px"),i,u,p,c,N,G,v,k,b=()=>this.visible){this.property=e,this.headerLabel=r,this.width=a,this.classes=t,this.rendererMap=n,this.minWidth=m,this.maxWidth=d,this.sortable=i,this.sortComparator=u,this.sortState=p,this.sortStatesOrder=c,this.sortIconVisible=N,this.editable=G,this.getEditRenderer=v,this.editInputPipe=k,this.isVisible=b,this.visible=!0,a.unit!=="px"&&(this.minWidth=new l(0,"px"),this.maxWidth=new l(1e5,"px"))}static bodyRenderer(e){return new C(void 0,e,void 0)}static create(e){const r=new C(e.headerRenderer,e.bodyRenderer,e.footerRenderer),a=new C(e.headerClasses,e.bodyClasses,e.footerClasses),t=e.sortIconVisible??e.sortable??B,n=e.editable??e.editable??B,m=e.isVisible??e.isVisible??g;return new y(e.property??"",e.headerLabel??"",e.width??new l(100,"px"),a,r,e.minWidth??new l(100,"px"),e.maxWidth??new l(100,"px"),e.sortable,e.sortComparator,e.sortState,e.sortStatesOrder,t,n,e.getEditRenderer,e.editInputPipe,m)}}const er=new l(300,"px"),rr=new l(250,"px"),Te=new l(220,"px"),A=new l(200,"px"),ar=new l(160,"px"),oe=new l(150,"px"),ae=new l(140,"px"),L=new l(120,"px"),T=new l(100,"px"),he=new l(90,"px"),Se=new l(80,"px"),tr=new l(70,"px"),x=new l(60,"px"),nr=new l(50,"px");class S extends ee{constructor(e,r,a,t=[]){super(e,t,a),this.areaIdent=e,this.arr=r,this.defaultRowHeight=a,this.columnDefs=t,this.filteredArr=[...r]}externalFilterChanged(e){this.filteredArr=this.arr?this.arr.filter(e):[]}getRowCount(){return this.filteredArr?this.filteredArr.length:0}getValueAt(e,r){return this.filteredArr[e][r]}setValue(e,r,a){var n;const t=(n=this.columnDefs[r])==null?void 0:n.editInputPipe;return t&&(a=t(a,e,r)),this.arr[e][r]=a,!0}getRowByIndex(e){return this.filteredArr[e]}getRowHeight(e){return this.defaultRowHeight}changeColumnOrder(e,r){this.filteredArr.forEach(a=>this.arrayMove(a,e,r)),super.changeColumnOrder(e,r)}}class Z{constructor(e="body"){this.areaIdent=e,this.rowSelectionModel=void 0}getRowCount(){return 0}getValueAt(e,r){return""}getTextValueAt(e,r){return""}getCellRenderer(e,r){}getRowHeight(e){return 0}getColspanAt(e,r){return 0}getCustomClassesAt(e,r){return[]}getCustomStyleAt(e,r){}getRowspanAt(e,r){return 0}getRowByIndex(e){}isRowCheckable(e){return!1}isRowChecked(e){}setRowChecked(e,r){}getTooltipAt(e,r){return""}getMaxColspan(){return 0}getMaxRowspan(){return 0}getYPosByRowIndex(e){return 0}init(){}externalFilterChanged(e){}isFilterable(){return!1}doSort(e){return!1}isEditable(e,r){return!1}setValue(e,r,a){return!1}isSelectable(e,r){return!1}changeColumnOrder(e,r){}}class mr{flattenTree(e,r=[]){var a;for(const t of e)this.isVisible(t)&&r.push(t),(a=t.children)!=null&&a.length&&this.flattenTree(t.children,r);return r}isVisible(e){return e.parent?e.parent.expanded?this.isVisible(e.parent):!1:!0}}class de extends ee{constructor(e,r,a,t=[]){super(e,t,a),this.areaIdent=e,this.rows=r,this.defaultRowHeight=a,this.columnDefs=t,this.type="AreaModelTree",this.sorterService=new fe,this.service=new mr,this.properties=t.map(n=>n.property),this.flattenRows=this.service.flattenTree(r),this.filteredFlattenRows=[...this.flattenRows]}changeColumnOrder(e,r){this.arrayMove(this.properties,e,r),super.changeColumnOrder(e,r)}recalcVisibleTreeRows(){this.filteredFlattenRows=this.service.flattenTree(this.rows)}getFilteredFlattenRows(){return this.filteredFlattenRows}getRowCount(){let e=0;for(const r of this.filteredFlattenRows)this.service.isVisible(r)&&e++;return e}getValueAt(e,r){const a=this.getRowByIndex(e);if(a){const t=this.properties[r];if(t)return t.includes(".")?this.getPropertyValue(a.data,t.split(".")):a.data[t]}return""}getRowHeight(e){return this.defaultRowHeight}getCustomClassesAt(e,r){return["ge-table-tree-cell","ge-table-tree-deep-"+this.filteredFlattenRows[e].deep]}getRowByIndex(e){return this.filteredFlattenRows[e]}getValueByT(e,r){return r.includes(".")?this.getPropertyValue(e,r.split(".")):e[r]}externalFilterChanged(e){this.lastPredictFn=e,this.doFiltering()}doSort(e){const{columnIndex:r,sortState:a}=e[e.length-1],t=a==="asc"?1:a==="desc"?-1:0,n=this.properties[r];return this.treeSort(this.rows,n,t),this.flattenRows=this.service.flattenTree(this.rows),this.filteredFlattenRows=[...this.flattenRows],!0}toggleExpandCollapseAll(e){this.expandAllRecursive(this.rows,e),this.flattenRows=this.service.flattenTree(this.rows),this.doFiltering()}setAllParentsOk(e){return e.parent&&(e.parent.keep=!0,this.setAllParentsOk(e.parent)),!1}setValue(e,r,a){var m;const t=(m=this.columnDefs[r])==null?void 0:m.editInputPipe;t&&(a=t(a,e,r));const n=this.getRowByIndex(e);if(n){const d=n.data,i=this.columnDefs[r].property;return i.includes(".")?this.setPropertyValue(d,i.split("."),a):(d[i]=a,!0)}return!1}genericTreeTableSortComparator(e,r){const a=this.columnDefs.find(t=>t.property===e);return(t,n)=>{const m=this.getValueByT(t.data,e),d=this.getValueByT(n.data,e);return a!=null&&a.sortComparator?r*a.sortComparator(m,d,t.data,n.data,r):this.sorterService.genericSortComparator(m,d,r)}}expandAllRecursive(e,r){for(const a of e)a.expanded=r,a.children&&this.expandAllRecursive(a.children,r)}doFiltering(){if(!this.lastPredictFn)this.filteredFlattenRows=[...this.flattenRows?this.flattenRows:[]];else{this.flattenRows||(this.flattenRows=[]);let e=0;this.flattenRows.forEach(a=>{e=Math.max(e,a.deep)});const r=this.flattenRows.filter((a,t,n)=>this.lastPredictFn(a,t,n));this.flattenRows.forEach(a=>a.keep=!1),this.flattenRows.forEach(a=>{r.includes(a)&&(a.keep=!0,this.setAllParentsOk(a))}),this.filteredFlattenRows=this.flattenRows.filter((a,t,n)=>a.keep)}}getPropertyValue(e,r){const a=r.shift();let t=e[a];return t&&r.length?this.getPropertyValue(t,r):t}treeSort(e,r,a){e.sort(this.genericTreeTableSortComparator(r,a));for(const t of e)t.children&&this.treeSort(t.children,r,a)}}class ye{constructor(e=[]){this.allRootNodes=e}checkRow(e,r){if(e.checked=r,e.children)for(const a of e.children)this.checkRow(a,r);this.autoCheckParent(e.parent)}checkAll(e){for(const r of this.allRootNodes)r.checked=!1,r.children&&this.checkAll(r.children)}getCheckedRows(){const e=[];return this.addSelectedRecursive(this.allRootNodes,e),e}isRowChecked(e){if(e.checked)return"full";const r=this.areAllChildrenChecked(e),a=this.areAllChildrenUnchecked(e);return!r&&!a?"semi":"none"}setCheckedRows(e){this.addCheckedRows(e)}addCheckedRows(e){for(const r of e)r.checked=!0}autoCheckParent(e){if(e){const r=this.areAllChildrenChecked(e),a=this.areAllChildrenUnchecked(e);r?e.checked=!0:e.checked=!1,this.autoCheckParent(e.parent)}}areAllChildrenChecked(e){var r,a;if((r=e.children)!=null&&r.length){for(const t of e.children)if(!t.checked||(a=t.children)!=null&&a.length&&!this.areAllChildrenChecked(t))return!1}return!0}areAllChildrenUnchecked(e){var r,a;if((r=e.children)!=null&&r.length){for(const t of e.children)if(t.checked||(a=t.children)!=null&&a.length&&!this.areAllChildrenUnchecked(t))return!1}return!0}addSelectedRecursive(e,r){for(const a of e)a.checked&&r.push(a),a.children&&this.addSelectedRecursive(a.children,r)}}class ue{constructor(e=0,r=0,a=0,t=0){this.top=e,this.right=r,this.bottom=a,this.left=t}}class sr{constructor(){this.checkedRows=[]}getCheckedRows(){return this.checkedRows}setCheckedRows(e){this.checkedRows=e}addCheckedRows(e){this.checkedRows||(this.checkedRows=[]);for(const r of e)this.checkedRows.includes(r)||this.checkedRows.push(r)}checkRow(e,r){this.checkedRows||(this.checkedRows=[]),r?this.checkedRows.includes(e)||this.checkedRows.push(e):this.removeSelectedRow(e)}isRowChecked(e){return this.checkedRows&&this.checkedRows.includes(e)?"full":"none"}checkAll(e){this.checkedRows=[]}removeSelectedRow(e){if(this.checkedRows){const r=this.checkedRows.indexOf(e);r>-1&&this.checkedRows.splice(r,1)}}}class W{constructor(e,r,a,t=0,n=0,m=!1,d=new R,i=[],u=[],p=-1,c=0,N=400,G=()=>{}){var v,k,b,F;this.headerAreaModel=e,this.bodyAreaModel=r,this.footerAreaModel=a,this.fixedLeftColumnCount=t,this.fixedRightColumnCount=n,this.rowCheckboxVisible=m,this.defaultRowHeights=d,this.columnDefs=i,this.columnSizes=u,this.overridingColumnWidth=p,this.columnCount=c,this.parentSize=N,this.getSelectionModel=G,this.rowCount=0,this.contentHeightInPx=0,this.contentWidthInPx=0,this.padding=new ue(0,0,0,0),this.xPositions=[],e.areaIdent="header",r.areaIdent="body",a.areaIdent="footer",this.columnCount||((v=this.columnDefs)!=null&&v.length?this.columnCount=this.columnDefs.length:(k=this.columnSizes)!=null&&k.length&&(this.columnCount=(b=this.columnSizes)==null?void 0:b.length)),(F=this.columnDefs)!=null&&F.length&&Fe(this.columnDefs[0])&&!r.rowSelectionModel&&(r.rowSelectionModel=new sr)}init(){this.recalcSize(this.parentSize),this.overridingColumnWidth===-1&&this.calcXPositions(),this.headerAreaModel&&this.headerAreaModel.init(),this.bodyAreaModel&&this.bodyAreaModel.init(),this.footerAreaModel&&this.footerAreaModel.init()}setParentWidth(e){this.parentSize=e}getColumnCount(){return this.columnCount}setColumnWidth(e,r){var a;r=Math.max(0,r),this.overridingColumnWidth!==-1&&(this.overridingColumnWidth=r),e>-1&&e<((a=this.columnSizes)==null?void 0:a.length)&&(this.columnSizes[e]=r),this.recalcContentWidthInPx()}getColumnWidth(e){var a;const r=this.getColumnDef(e);return r&&r.isVisible&&!r.isVisible()?0:this.overridingColumnWidth!==-1?this.overridingColumnWidth:e>-1&&e<((a=this.columnSizes)==null?void 0:a.length)?this.columnSizes[e]:0}getXPosByColumnIndex(e){return e===0?0:this.overridingColumnWidth>-1?this.overridingColumnWidth*e:this.xPositions[e]}recalcSize(e){this.recalcColumnWidths(e),this.recalcHeightAndPadding()}recalcHeightAndPadding(){const e=this.getAreaModel("body");this.rowCount=e.getRowCount(),this.contentHeightInPx=this.getAreaHeight("body"),this.recalcContentWidthInPx(),this.recalcPadding()}recalcPadding(){const e=this.getSideAreaWidth("west"),r=this.getSideAreaWidth("east"),a=this.getAreaHeight("header"),t=this.getAreaHeight("footer");this.padding=new ue(a,r,t,e)}getPadding(){return this.padding}getContentHeightInPixel(){return this.contentHeightInPx}getContentWidthInPixel(){return this.contentWidthInPx}getRowHeight(e,r){return this.getAreaModel(e).getRowHeight(r)}getModel(e){return this.getAreaModel(e)}getAreaHeight(e){const r=this.getModel(e),a=r.getRowCount();if(this.defaultRowHeights[e])return a*this.defaultRowHeights[e];let t=0;for(let n=0;n<a;n++)t=t+r.getRowHeight(n);return t}getSideAreaWidth(e){const[r,a]=this.getSideStartAndEndColumnIndex(e);let t=0;for(let n=r;n<=a;n++)t=t+this.getColumnWidth(n);return t}getSideStartAndEndColumnIndex(e){const r=this.getFixedLeftColumnCount(),a=this.getFixedRightColumnCount();let t=0,n=this.columnCount-1;return e==="west"?n=r-1:e==="east"?t=this.columnCount-a:(t=r,n=this.columnCount-a-1),[t,n]}getColumnDef(e){if(e<this.columnDefs.length)return this.columnDefs[e]}getFixedLeftColumnCount(){return this.fixedLeftColumnCount}getFixedRightColumnCount(){return this.fixedRightColumnCount}getAreaModel(e){if(e==="header")return this.headerAreaModel;if(e==="body")return this.bodyAreaModel;if(e==="footer")return this.footerAreaModel;throw new Error("Wrong ident.")}getBodyModel(){return this.bodyAreaModel}isFooterVisibe(){var e;return(((e=this.footerAreaModel)==null?void 0:e.getRowCount())??0)>0}isHeaderVisibe(){var e;return(((e=this.headerAreaModel)==null?void 0:e.getRowCount())??0)>0}isRowCheckboxVisible(){return this.rowCheckboxVisible}externalFilterChanged(e){this.getAreaModel("body").externalFilterChanged(e)}doSort(e){return this.getAreaModel("body").doSort(e)}getColumnDefs(){return this.columnDefs}getColumnProperty(e){return this.columnDefs?this.columnDefs[e].property:""}getBodyRowByIndex(e){return this.getBodyModel().getRowByIndex(e)}isSortable(e){var r;if(this.columnDefs&&e<this.columnDefs.length){const a=(r=this.columnDefs[e])==null?void 0:r.sortable;if(typeof a=="function")return a()}return!1}changeColumnOrder(e,r){var a,t,n;this.arrayMove(this.columnDefs,e,r),this.arrayMove(this.columnSizes,e,r),(a=this.headerAreaModel)==null||a.changeColumnOrder(e,r),(t=this.bodyAreaModel)==null||t.changeColumnOrder(e,r),(n=this.footerAreaModel)==null||n.changeColumnOrder(e,r),this.calcXPositions()}recalcColumnWidths(e){var r,a,t;if(!((r=this.columnDefs)!=null&&r.length)&&!((a=this.columnSizes)!=null&&a.length)&&(this.columnSizes=new Array(this.getColumnCount()).fill(this.overridingColumnWidth)),(t=this.columnDefs)!=null&&t.length){const n=this.columnDefs.filter(i=>{var u;return((u=i.width)==null?void 0:u.unit)==="weight"});this.columnSizes=this.columnDefs.map(i=>{if(i.width.unit==="%"&&e){let u=Math.floor(i.width.value*e/100);if(i.minWidth){const p=this.sizeToPixel(i.minWidth,e);u=Math.max(p,u)}if(i.maxWidth){const p=this.sizeToPixel(i.maxWidth,e);u=Math.min(p,u)}return u}else if(i.width.unit==="px"&&e)return i.width.value;return 0});const m=this.columnSizes.reduce((i,u)=>i+u),d=e-m;if(d>0&&n.length){const i=n.map(u=>u.width.value).reduce((u,p)=>u+p);for(let u=0;u<this.columnDefs.length;u++){const p=this.columnDefs[u];p.width.unit==="weight"&&(this.columnSizes[u]=p.width.value*d/i)}}}}sizeToPixel(e,r){return e.unit==="px"?e.value:e.unit==="%"?Math.floor(e.value*r/100):-1}arrayMove(e,r,a){const t=e.splice(r,1)[0];return e.splice(a,0,t),e}recalcContentWidthInPx(){this.contentWidthInPx=this.getSideAreaWidth("center")}calcXPositions(){const e=this.getColumnCount();this.xPositions=new Array(e+1),this.xPositions[0]=0;for(let r=0;r<e;r++)this.xPositions[r+1]=this.getColumnWidth(r)+this.xPositions[r]}setTableScope(e){this.tableScope=e}getTableScope(){return this.tableScope}}class I extends je{constructor(e,r,a,t,n="ge-selected-row",m="ge-focused-row"){super(e,r,t,a,n,m),this.areaIdent=e,this.rows=r,this.columnDefs=a,this.defaultRowHeight=t}}class f{static createTableModel(e){var r,a,t,n,m,d,i,u,p,c,N,G,v,k;if(e.defaultRowHeights===void 0)if((r=e.tableOptions)!=null&&r.defaultRowHeights)e.defaultRowHeights=e.tableOptions.defaultRowHeights;else{if(e.defaultRowHeights=new R,e.headerAreaModel&&"defaultRowHeight"in e.headerAreaModel){const b=e.headerAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.header=b)}if(e.bodyAreaModel&&"defaultRowHeight"in e.bodyAreaModel){const b=e.bodyAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.body=b)}if(e.footerAreaModel&&"defaultRowHeight"in e.footerAreaModel){const b=e.footerAreaModel.defaultRowHeight;b>-1&&(e.defaultRowHeights.footer=b)}}if(e.columnDefs===void 0&&((a=e.properties)!=null&&a.length?e.columnDefs=e.properties.map(b=>new y(b,b.toUpperCase(),A)):(t=e.rows)!=null&&t.length?e.columnDefs=Object.keys(e.rows[0]).map(b=>new y(b,b.toUpperCase(),A)):e.columnDefs=[]),e.columnCount===void 0&&((n=e.columnDefs)!=null&&n.length?e.columnCount=e.columnDefs.length:(m=e.headerData)!=null&&m.length?e.columnCount=e.headerData[0].length:(d=e.columnSizes)!=null&&d.length?e.columnCount=(i=e.columnSizes)==null?void 0:i.length:console.warn('Property "columnCount" is missing and cannot be derived from other properties.')),e.headerAreaModel||((u=e.headerData)!=null&&u.length?e.headerAreaModel=new S("header",e.headerData,e.defaultRowHeights.header,e.columnDefs):(p=e.columnDefs)!=null&&p.length?e.headerAreaModel=new S("header",[e.columnDefs.map(b=>b.headerLabel)],e.defaultRowHeights.header,e.columnDefs):e.headerAreaModel=new Z("header")),e.footerAreaModel||((c=e.footerData)!=null&&c.length?e.footerAreaModel=new S("footer",e.footerData,e.defaultRowHeights.footer,e.columnDefs):e.footerAreaModel=new Z("footer")),!e.bodyAreaModel)if(e.rows)if((N=e.rows)!=null&&N.length&&X(e.rows[0])){const b=e.rows;e.bodyAreaModel=new de("body",b,e.defaultRowHeights.body,e.columnDefs),(e.columnDefs[0].property==="CheckboxColumn"||(G=e.tableOptions)!=null&&G.showCheckboxWihoutExtraColumn)&&(e.bodyAreaModel.rowSelectionModel=new ye(b))}else e.bodyAreaModel=new I("body",e.rows,e.columnDefs,e.defaultRowHeights.body);else e.bodyData?e.bodyAreaModel=new S("body",e.bodyData,e.defaultRowHeights.body):e.bodyAreaModel=new Z("body");return e.fixedLeftColumnCount===void 0&&(e.fixedLeftColumnCount=0),e.fixedRightColumnCount===void 0&&(e.fixedRightColumnCount=0),e.rowCheckboxVisible===void 0&&(e.rowCheckboxVisible=!1),e.overridingColumnWidth===void 0&&(e.overridingColumnWidth=-1),!e.getSelectionModel&&((v=e.tableOptions)!=null&&v.getSelectionModel)&&(e.getSelectionModel=(k=e.tableOptions)==null?void 0:k.getSelectionModel),new W(e.headerAreaModel,e.bodyAreaModel,e.footerAreaModel,e.fixedLeftColumnCount,e.fixedRightColumnCount,e.rowCheckboxVisible,e.defaultRowHeights,e.columnDefs,e.columnSizes,e.overridingColumnWidth,e.columnCount,e.parentSize,e.getSelectionModel)}static buildByTypedRowsParam(e){return f.buildByTypedRows(e.rows??[],e.columnDefs,e.tableOptions??new z,e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0)}static buildByTypedRows(e,r,a=new z,t=0,n=0){const m=a.defaultRowHeights,d=r[0].property==="CheckboxColumn";if(e!=null&&e.length&&X(e[0])){const u=e,p=new de("body",u,m.body,r);return(d||a.showCheckboxWihoutExtraColumn)&&(p.rowSelectionModel=new ye(u)),f.createByAreaModelsParam({headerAreaModel:new S("header",[r.map(c=>c.headerLabel)],m.header),bodyAreaModel:p,footerAreaModel:new S("footer",[],m.footer),columnDefs:r,fixedLeftColumnCount:t,fixedRightColumnCount:n,defaultRowHeights:a.defaultRowHeights,rowCheckboxVisible:!1,columnSizes:[],columnCount:r.length,overridingColumnWidth:-1})}return f.createByObjectArrayParam({rows:e,columnDefs:r,fixedLeftColumnCount:t,fixedRightColumnCount:n,defaultRowHeights:a.defaultRowHeights})}static createByObjectArrayParam(e){const r=e.rowCheckboxVisible!==void 0?e.rowCheckboxVisible:!1;return f.createByObjectArray(e.rows,e.header??[],e.footer??[],e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0,r,e.defaultRowHeights??new R,e.columnDefs??[],e.columnSizes??[])}static createByAreaModels(e=new Z,r,a=new Z,t=0,n=0,m=!1,d=new R,i,u=[],p=-1,c){return new W(e,r,a,t,n,m,d,i,u,p,c)}static createByAreaModelsParam(e){return f.createByAreaModels(e.headerAreaModel??new Z,e.bodyAreaModel,e.footerAreaModel??new Z,e.fixedLeftColumnCount??0,e.fixedRightColumnCount??0,e.rowCheckboxVisible===void 0?!1:e.rowCheckboxVisible,e.defaultRowHeights,e.columnDefs??[],e.columnSizes??[],e.overridingColumnWidth??-1,e.columnCount??0)}static createByObjectArray(e,r=[],a=[],t=0,n=0,m=!1,d=new R,i,u=[]){let p;r!=null&&r.length?p=new S("header",r,d.header,i):i!=null&&i.length?p=new S("header",[i.map(G=>G.headerLabel)],d.header,i):p=new Z;const c=a?new S("footer",a,d.footer,i):new Z,N=new I("body",e,i,d.body);return new W(p,N,c,t,n,m,d,i,u)}}class H{constructor(e,r){this.tableModel=e,this.tableOptions=r}}class Y{constructor(e,r){this.value=e,this.label=r}}class ir{constructor(){this.autoRestoreSortingState=!1,this.autoRestoreCollapsedExpandedState=!1,this.autoRestoreScrollPosition=!1,this.autoRestoreCheckedState=!1,this.autoRestoreSelectedState=!1,this.getStorageKeyFn=void 0,this.isSame=(e,r,a)=>{if(e&&r&&a.getRowId){const t=a.getRowId(e),n=a.getRowId(r);return t===n}return!1},this.getRowId=e=>{if(e){for(const r of["id","uuid"]){const a=e[r];if(a!=null)return a}try{return JSON.stringify(e)}catch(r){console.error(r)}}return console.warn('One of following options set to true without a valid "getRowId()": autoRestoreExpandedState, autoRestoreCheckedState.'),-1}}}class dr{constructor(e,r,a,t=!1,n="normal",m=void 0){this.data=e,this.property=r,this.toggle=a,this.closed=t,this.visibility=n,this.children=m,this.impl="CellGroup"}}class yr extends dr{constructor(e,r=0,a=0,t){super(e.data,e.property,e.toggle,e.closed,e.visibility,e.children),this.rowIndex=r,this.childIndex=a,this.parent=t,this.impl="CellGroupExt",this.children=void 0,this.leftNeighbour=void 0,this.rightNeighbour=void 0}ownColumn(){return!!this.property}toString(){return this.data+""}getColumnIndex(){return this.parent?this.parent.getColumnIndex()+this.childIndex:(this.leftNeighbour,0)}isVisible(){return this.parent?this.visibility==="always"?this.parent.isVisible():this.visibility==="normal"||!this.visibility?this.parent.isVisible()&&!this.parent.closed:this.visibility==="inverted"?this.parent.isVisible()&&this.parent.closed:!0:!0}claimsSpace(){return this.isVisible()&&(this.ownColumn()||this.closed)}getColumnCount(e=this,r=0){var a;if(e!=null&&e.claimsSpace()&&r++,(a=e==null?void 0:e.children)!=null&&a.length)for(const t of e.children)r=this.getColumnCount(t,r);return r}getRowSpan(e=this,r){return e!=null&&e.claimsSpace()?r-this.getParentCount(e,0):1}getParentCount(e=this,r=0){return e.parent&&(r=r+1+this.getParentCount(e.parent,r)),r}log(e=10){const r=" ".substring(0,2*this.rowIndex),a=`${this.getColumnIndex()}`,t=`${this.getColumnCount(this)}`,n=`${this.getRowSpan(this,e)}`,m=`${this.getParentCount(this)}`,d=`${r+this.data}
|
|
243
243
|
childIndex:${this.childIndex}
|
|
244
244
|
row:${this.rowIndex}
|
|
245
245
|
col:${a}
|
package/index.js
CHANGED
|
@@ -150,8 +150,8 @@ class fe {
|
|
|
150
150
|
}
|
|
151
151
|
}
|
|
152
152
|
class De extends ee {
|
|
153
|
-
constructor(e, r, a, t = []) {
|
|
154
|
-
super(e, t, a), this.areaIdent = e, this.rows = r, this.defaultRowHeight = a, this.columnDefs = t, this.sorterService = new fe(), this.filteredRows = [...r], this.properties = t.map((
|
|
153
|
+
constructor(e, r, a, t = [], n = "ge-selected-row", m = "ge-focused-row") {
|
|
154
|
+
super(e, t, a), this.areaIdent = e, this.rows = r, this.defaultRowHeight = a, this.columnDefs = t, this.selectedRowClass = n, this.focusedRowClass = m, this.focusedRowIndex = 0, this.sorterService = new fe(), this.filteredRows = [...r], this.properties = t.map((d) => d.property);
|
|
155
155
|
}
|
|
156
156
|
setRows(e) {
|
|
157
157
|
this.rows = e, this.filteredRows = [...e];
|
|
@@ -159,6 +159,9 @@ class De extends ee {
|
|
|
159
159
|
filterRowsByPredict(e) {
|
|
160
160
|
this.rows = this.rows.filter(e), this.filteredRows = this.filteredRows.filter(e);
|
|
161
161
|
}
|
|
162
|
+
/**
|
|
163
|
+
* return row count of filtered rows
|
|
164
|
+
*/
|
|
162
165
|
getRowCount() {
|
|
163
166
|
var e;
|
|
164
167
|
return ((e = this.filteredRows) == null ? void 0 : e.length) ?? 0;
|
|
@@ -168,6 +171,12 @@ class De extends ee {
|
|
|
168
171
|
let t = this.filteredRows[e];
|
|
169
172
|
return X(t) && (t = t.data), t ? this.getValueByT(t, a) : "";
|
|
170
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Retrieves the filtered and sorted rows from the dataset.
|
|
176
|
+
* These rows are used for rendering the table.
|
|
177
|
+
*
|
|
178
|
+
* @return {T[]} An array containing the filtered (and sorted) rows.
|
|
179
|
+
*/
|
|
171
180
|
getFilteredRows() {
|
|
172
181
|
return this.filteredRows;
|
|
173
182
|
}
|
|
@@ -196,6 +205,10 @@ class De extends ee {
|
|
|
196
205
|
changeColumnOrder(e, r) {
|
|
197
206
|
this.arrayMove(this.properties, e, r), super.changeColumnOrder(e, r);
|
|
198
207
|
}
|
|
208
|
+
getCustomClassesAt(e, r) {
|
|
209
|
+
const a = super.getCustomClassesAt(e, r);
|
|
210
|
+
return this.getRowByIndex(e).selected && a.push(this.selectedRowClass), this.focusedRowIndex === e && a.push(this.focusedRowClass), a;
|
|
211
|
+
}
|
|
199
212
|
genericFlatTableSortComparator(e, r) {
|
|
200
213
|
const a = this.columnDefs.find((t) => t.property === e);
|
|
201
214
|
return (t, n) => {
|
|
@@ -409,7 +422,7 @@ class z {
|
|
|
409
422
|
header: 34,
|
|
410
423
|
body: 34,
|
|
411
424
|
footer: 34
|
|
412
|
-
}, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new ke(), this.headerGroupOptions = new re(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Re(), this.sortOrder = ["asc", "desc"], this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, r) => new Ae(), this.getSelectionModel = () => Me, this.getFocusModel = () => Be;
|
|
425
|
+
}, this.footerVerticalSeparator = !1, this.headerToggleExpandCollapseIcons = !1, this.headerVerticalSeparator = !1, this.treeOptions = new ke(), this.headerGroupOptions = new re(), this.showCheckboxWihoutExtraColumn = !1, this.externalFilterFunction = void 0, this.sortedOptions = new Re(), this.sortOrder = ["asc", "desc"], this.shortcutActionsDisabled = !1, this.resizeEventDebounceDelay = 500, this.getEditRenderer = (e, r) => new Ae(), this.getSelectionModel = () => Me, this.getFocusModel = () => Be;
|
|
413
426
|
}
|
|
414
427
|
}
|
|
415
428
|
const D = class D {
|
|
@@ -1521,12 +1534,14 @@ class W {
|
|
|
1521
1534
|
}
|
|
1522
1535
|
}
|
|
1523
1536
|
class I extends De {
|
|
1524
|
-
constructor(e, r, a, t) {
|
|
1537
|
+
constructor(e, r, a, t, n = "ge-selected-row", m = "ge-focused-row") {
|
|
1525
1538
|
super(
|
|
1526
1539
|
e,
|
|
1527
1540
|
r,
|
|
1528
1541
|
t,
|
|
1529
|
-
a
|
|
1542
|
+
a,
|
|
1543
|
+
n,
|
|
1544
|
+
m
|
|
1530
1545
|
), this.areaIdent = e, this.rows = r, this.columnDefs = a, this.defaultRowHeight = t;
|
|
1531
1546
|
}
|
|
1532
1547
|
}
|
|
@@ -44,6 +44,7 @@ export declare const tableOptions: {
|
|
|
44
44
|
sortedOptions: import('../../../table/src').SortedOptions;
|
|
45
45
|
sortOrder: import('../../../table/src').SortState[];
|
|
46
46
|
shortcutActionIdMapping?: import('../../../table/src').ShortcutActionIdMapping | undefined;
|
|
47
|
+
shortcutActionsDisabled: boolean;
|
|
47
48
|
resizeEventDebounceDelay: number;
|
|
48
49
|
getEditRenderer?: import('../../../table/src').GetEditRenderer | undefined;
|
|
49
50
|
getSelectionModel?: import('../../../table/src').GetT<import('../../../table/src').SelectionModelIf> | undefined;
|
|
@@ -42,6 +42,7 @@ export declare function createTreePeopleTableOptions(addDemoSelection?: boolean)
|
|
|
42
42
|
sortedOptions: import('../../../../table/src').SortedOptions;
|
|
43
43
|
sortOrder: import('../../../../table/src').SortState[];
|
|
44
44
|
shortcutActionIdMapping?: import('../../../../table/src').ShortcutActionIdMapping | undefined;
|
|
45
|
+
shortcutActionsDisabled: boolean;
|
|
45
46
|
resizeEventDebounceDelay: number;
|
|
46
47
|
getEditRenderer?: import('../../../../table/src').GetEditRenderer | undefined;
|
|
47
48
|
getFocusModel?: import('../../../../table/src').GetT<import('../../../../table/src').FocusModelIf> | undefined;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@guiexpert/demo-table-models",
|
|
3
|
-
"version": "1.1.
|
|
3
|
+
"version": "1.1.63",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./index.js",
|
|
6
6
|
"types": "./index.d.ts",
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
},
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"tslib": "^2.3.0",
|
|
21
|
-
"@guiexpert/table": "^1.1.
|
|
21
|
+
"@guiexpert/table": "^1.1.63"
|
|
22
22
|
},
|
|
23
23
|
"devDependencies": {
|
|
24
24
|
"@types/node": "^20.11.17",
|