@genexus/genexus-ide-ui 0.0.9 → 0.0.11
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/README.md +18 -256
- package/dist/cjs/ch-grid-row-actions.cjs.entry.js +30 -1
- package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +16 -3
- package/dist/cjs/ch-grid_9.cjs.entry.js +292 -247
- package/dist/cjs/ch-suggest.cjs.entry.js +9 -8
- package/dist/cjs/ch-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
- package/dist/cjs/gx-ide-test.cjs.entry.js +3 -2
- package/dist/cjs/gxg-combo-box_8.cjs.entry.js +69 -54
- package/dist/cjs/gxg-form-text.cjs.entry.js +23 -13
- package/dist/cjs/gxg-form-textarea.cjs.entry.js +1 -1
- package/dist/cjs/gxg-list-box-item.cjs.entry.js +5 -2
- package/dist/cjs/gxg-list-box.cjs.entry.js +1 -1
- package/dist/cjs/gxg-test.cjs.entry.js +5 -3
- package/dist/cjs/gxg-tree-item.cjs.entry.js +1 -1
- package/dist/cjs/gxg-tree.cjs.entry.js +2 -1
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/collection/common/render-tree.js +2 -1
- package/dist/collection/components/_test/test.js +1 -1
- package/dist/components/ch-grid-row-actions.js +52 -4
- package/dist/components/ch-grid-rowset-legend.js +32 -1
- package/dist/components/ch-grid2.js +295 -249
- package/dist/components/ch-suggest.js +10 -9
- package/dist/components/ch-tree-item.js +1 -1
- package/dist/components/combo-box-item.js +18 -18
- package/dist/components/combo-box.js +51 -36
- package/dist/components/form-text.js +25 -13
- package/dist/components/gx-ide-test.js +3 -2
- package/dist/components/gxg-form-textarea.js +1 -1
- package/dist/components/gxg-list-box-item.js +5 -2
- package/dist/components/gxg-list-box.js +1 -1
- package/dist/components/gxg-test.js +5 -3
- package/dist/components/gxg-tree-item2.js +1 -2
- package/dist/components/gxg-tree2.js +2 -1
- package/dist/esm/ch-grid-row-actions.entry.js +31 -2
- package/dist/esm/ch-grid-rowset-legend.entry.js +19 -2
- package/dist/esm/ch-grid_9.entry.js +292 -247
- package/dist/esm/ch-suggest.entry.js +9 -8
- package/dist/esm/ch-tree-item.entry.js +1 -1
- package/dist/esm/genexus-ide-ui.js +1 -1
- package/dist/esm/gx-ide-test.entry.js +3 -2
- package/dist/esm/gxg-combo-box_8.entry.js +69 -54
- package/dist/esm/gxg-form-text.entry.js +23 -13
- package/dist/esm/gxg-form-textarea.entry.js +1 -1
- package/dist/esm/gxg-list-box-item.entry.js +5 -2
- package/dist/esm/gxg-list-box.entry.js +1 -1
- package/dist/esm/gxg-test.entry.js +5 -3
- package/dist/esm/gxg-tree-item.entry.js +1 -1
- package/dist/esm/gxg-tree.entry.js +2 -1
- package/dist/esm/loader.js +1 -1
- package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
- package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
- package/dist/genexus-ide-ui/p-01795e05.entry.js +1 -0
- package/dist/genexus-ide-ui/p-1367be09.entry.js +1 -0
- package/dist/genexus-ide-ui/p-18c86754.entry.js +1 -0
- package/dist/genexus-ide-ui/p-26b1d9c2.entry.js +1 -0
- package/dist/genexus-ide-ui/p-3c6099ff.entry.js +1 -0
- package/dist/genexus-ide-ui/p-4144fe18.entry.js +1 -0
- package/dist/genexus-ide-ui/p-421bd2fb.entry.js +1 -0
- package/dist/genexus-ide-ui/p-5faaf0e5.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-45bf6aaf.entry.js → p-7b79281c.entry.js} +1 -1
- package/dist/genexus-ide-ui/p-7dead490.entry.js +1 -0
- package/dist/genexus-ide-ui/p-8f89e354.entry.js +1 -0
- package/dist/genexus-ide-ui/{p-bb9e6db0.entry.js → p-a04ce551.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-3546b5f7.entry.js → p-c0360787.entry.js} +1 -1
- package/dist/genexus-ide-ui/{p-4c6b4be3.entry.js → p-f23610f0.entry.js} +1 -1
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/grid/ch-grid.css +0 -9
- package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/grid/grid-row-actions/ch-grid-row-actions.css +3 -0
- package/dist/node_modules/@genexus/gemini/dist/collection/components/combo-box-item/combo-box-item.css +14 -14
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -1
- package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box-item/list-box-item.css +12 -9
- package/dist/types/common/render-tree.d.ts +1 -1
- package/package.json +2 -2
- package/dist/cjs/ch-grid-rowset-legend-d29e1c7d.js +0 -22
- package/dist/components/ch-grid-rowset-legend2.js +0 -35
- package/dist/esm/ch-grid-rowset-legend-d6a0dd68.js +0 -20
- package/dist/genexus-ide-ui/p-17827fd8.js +0 -1
- package/dist/genexus-ide-ui/p-4298cd04.entry.js +0 -1
- package/dist/genexus-ide-ui/p-5aa4d5cc.entry.js +0 -1
- package/dist/genexus-ide-ui/p-715bf2d4.entry.js +0 -1
- package/dist/genexus-ide-ui/p-761e8fa3.entry.js +0 -1
- package/dist/genexus-ide-ui/p-93f9f73b.entry.js +0 -1
- package/dist/genexus-ide-ui/p-b218be5e.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c0a96223.entry.js +0 -1
- package/dist/genexus-ide-ui/p-c132ce73.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d3e6590c.entry.js +0 -1
- package/dist/genexus-ide-ui/p-d57c8f13.entry.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{r as t,c as e,h as s,H as i,g as r}from"./p-f9f51980.js";import{C as n}from"./p-17827fd8.js";import{m as h}from"./p-ad1b71a0.js";class l extends HTMLElement{constructor(){super()}connectedCallback(){this.addEventListener("cellCaretClicked",this.cellCaretClickedHandler)}get grid(){var t;return null!==(t=this.parentGrid)&&void 0!==t?t:this.loadParentGrid()}get rowId(){var t;return null!==(t=this.getAttribute("rowid"))&&void 0!==t?t:""}get highlighted(){return this.hasAttribute("highlighted")}set highlighted(t){var e;const s=null===(e=this.grid.rowHighlightedClass)||void 0===e?void 0:e.split(" ");!0===t?(this.setAttribute("highlighted",""),this.grid.rowHighlightedClass&&this.classList.add(...s)):(this.removeAttribute("highlighted"),this.grid.rowHighlightedClass&&this.classList.remove(...s))}get selected(){return this.hasAttribute("selected")}set selected(t){var e;const s=null===(e=this.grid.rowSelectedClass)||void 0===e?void 0:e.split(" ");!0===t?(this.setAttribute("selected",""),this.grid.rowSelectedClass&&this.classList.add(...s)):(this.removeAttribute("selected"),this.grid.rowSelectedClass&&this.classList.remove(...s))}get marked(){return this.hasAttribute("marked")}set marked(t){var e;const s=null===(e=this.grid.rowMarkedClass)||void 0===e?void 0:e.split(" ");!0===t?(this.setAttribute("marked",""),this.grid.rowMarkedClass&&this.classList.add(...s)):(this.removeAttribute("marked"),this.grid.rowMarkedClass&&this.classList.remove(...s))}get focused(){return this.hasAttribute("focused")}set focused(t){var e;const s=null===(e=this.grid.rowFocusedClass)||void 0===e?void 0:e.split(" ");!0===t?(this.setAttribute("focused",""),this.grid.rowFocusedClass&&this.classList.add(...s)):(this.removeAttribute("focused"),this.grid.rowFocusedClass&&this.classList.remove(...s))}get hasChildRows(){return!!this.querySelector("ch-grid-rowset")}get collapsed(){return this.hasAttribute("collapsed")}set collapsed(t){const e=this.collapsed!==t;t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed"),e&&this.dispatchEvent(new CustomEvent("rowCollapsedChanged",{bubbles:!0,composed:!0,detail:{rowId:this.rowId,collapsed:t}}))}get leaf(){return this.hasAttribute("leaf")}set leaf(t){!0===t?this.setAttribute("leaf",""):this.removeAttribute("leaf")}getCell(t){return this.querySelector(`:scope > ch-grid-cell:nth-of-type(${t.physicalOrder})`)}isVisible(){return Array.from(this.querySelectorAll(":scope > ch-grid-cell")).some((t=>t.isVisible()))}ensureVisible(){this.dispatchEvent(new CustomEvent("rowEnsureVisible",{bubbles:!0,composed:!0}))}getBoundingClientRect(){let t;if(this.firstElementChild)if(this.firstElementChild===this.lastElementChild)t=this.firstElementChild.getBoundingClientRect();else{const e=this.firstElementChild.getBoundingClientRect(),s=this.lastElementChild.getBoundingClientRect();t=new DOMRect(e.x,e.y,s.x-e.x+s.width,s.y-e.y+s.height)}else t=new DOMRect;return t}cellCaretClickedHandler(t){t.currentTarget.hasChildRows&&(this.collapsed=!this.collapsed),t.stopPropagation()}loadParentGrid(){return this.parentGrid=this.closest("ch-grid"),this.parentGrid}}l.TAG_NAME="CH-GRID-ROW",customElements.get("ch-grid-row")||customElements.define("ch-grid-row",l);class o extends HTMLElement{constructor(){super(),this.computedLevel=0}connectedCallback(){this.addEventListener("rowsetLegendClicked",this.rowsetLegendClickedHandler),this.defineLevel()}get collapsed(){return this.hasAttribute("collapsed")}set collapsed(t){t?this.setAttribute("collapsed",""):this.removeAttribute("collapsed")}get level(){return this.computedLevel||this.computeLevel(),this.computedLevel}getBoundingClientRect(){let t;const e=parseInt(this.style.getPropertyValue("padding-top")),s=parseInt(this.style.getPropertyValue("padding-bottom"));if(this.firstElementChild)if(this.firstElementChild===this.lastElementChild){const i=this.firstElementChild.getBoundingClientRect();t=new DOMRect(i.x,i.y-e,i.x+i.width,i.y+i.height+e+s)}else{const i=this.firstElementChild.getBoundingClientRect(),r=this.lastElementChild.getBoundingClientRect();t=new DOMRect(i.x,i.y-e,r.x-i.x+r.width,r.y-i.y+r.height+e+s)}else{const e=this.grid.shadowRoot.querySelector(".main").getBoundingClientRect();t=new DOMRect(e.x,e.y,e.width,0)}return t}rowsetLegendClickedHandler(t){t.stopPropagation(),this.collapsed=!this.collapsed}defineLevel(){this.style.setProperty("--level",this.level.toString())}computeLevel(){var t,e;this.computedLevel=null!==(e=null===(t=this.getParentRowset())||void 0===t?void 0:t.level)&&void 0!==e?e:0,(this.hasLegend()||this.isNestedRow())&&this.computedLevel++}hasLegend(){var t;return(null===(t=this.firstElementChild)||void 0===t?void 0:t.tagName)===n.TAG_NAME}isNestedRow(){return this.parentElement.tagName===l.TAG_NAME}getParentRowset(){const t=this.parentElement.closest("ch-grid-rowset, ch-grid");if(t.tagName===o.TAG_NAME)return t}}var c;o.TAG_NAME="CH-GRID-ROWSET",customElements.get("ch-grid-rowset")||customElements.define("ch-grid-rowset",o),function(t){t.Plain="plain",t.Rich="rich",t.TreeNode="node",t.RowAction="action"}(c||(c={}));class a extends HTMLElement{constructor(){super(),this.cellType=c.Plain}get type(){return this.cellType}set type(t){switch(t){case c.Plain:this.definePlain();break;case c.Rich:this.defineRich();break;case c.TreeNode:this.defineTreeNode()}}get grid(){return this.closest("ch-grid")}get column(){const t=Array.prototype.indexOf.call(this.row.querySelectorAll(":scope > ch-grid-cell"),this);return this.grid.querySelector(`ch-grid-column:nth-of-type(${t+1})`)}get row(){return this.parentElement}get cellId(){var t;return null!==(t=this.getAttribute("cellid"))&&void 0!==t?t:""}get selected(){return this.hasAttribute("selected")}set selected(t){!0===t?this.setAttribute("selected",""):this.removeAttribute("selected")}isVisible(){return null!==this.offsetParent}ensureVisible(){this.dispatchEvent(new CustomEvent("cellEnsureVisible",{bubbles:!0,composed:!0}))}setSelectorChecked(t){this.selector.checked=t,this.selector.setAttribute("part",this.selector.checked?"selector checked":"selector")}caretMouseDownHandler(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("cellCaretClicked",{bubbles:!0,composed:!0}))}selectorClickHandler(t){t.stopPropagation(),this.dispatchEvent(new CustomEvent("cellSelectorClicked",{bubbles:!0,composed:!0,detail:{checked:this.selector.checked,range:t.shiftKey}}))}selectorLabelClickHandler(t){t.shiftKey||t.stopPropagation()}dragMouseDownHandler(t){t.preventDefault(),t.stopPropagation(),this.dispatchEvent(new CustomEvent("rowDragStarted",{bubbles:!0,composed:!0,detail:{row:this.row}}))}actionClickHandler(){}definePlain(){this.cellType=c.Plain}defineRich(){let t="";this.cellType=c.Rich,this.shadowRoot&&""!==this.shadowRoot.innerHTML||(this.attachShadow({mode:"open"}),this.rowDrag&&(t+='\n <div part="drag-icon"></div>\n '),this.rowSelector&&(t+='\n <style>label {display:flex}</style>\n <label part="selector-label">\n <input type="checkbox" part="selector">\n </label>\n '),this.rowActions&&(t+='\n <button part="actions-icon"></button>\n '),this.shadowRoot.innerHTML=`\n ${t}\n <slot></slot>\n `,this.rowDrag&&(this.drag=this.shadowRoot.querySelector("[part='drag-icon']"),this.drag.addEventListener("mousedown",this.dragMouseDownHandler.bind(this))),this.rowActions&&(this.action=this.shadowRoot.querySelector("[part='actions-icon']"),this.action.addEventListener("click",this.actionClickHandler.bind(this))),this.rowSelector&&(this.addEventListener("mousedown",(t=>t.stopPropagation())),this.selector=this.shadowRoot.querySelector("[part='selector']"),this.selector.addEventListener("click",this.selectorClickHandler.bind(this)),this.selectorLabel=this.shadowRoot.querySelector("[part='selector-label']"),this.selectorLabel.addEventListener("click",this.selectorLabelClickHandler.bind(this))))}defineTreeNode(){this.cellType=c.TreeNode,this.shadowRoot&&""!==this.shadowRoot.innerHTML||(this.attachShadow({mode:"open"}),this.shadowRoot.innerHTML='\n <style>:host::before {content: none !important}</style>\n <div part="indent"></div>\n <div part="caret"></div>\n <input type="checkbox" part="node-selector" hidden>\n <div part="node-icon"></div>\n <slot></slot>\n ',this.caret=this.shadowRoot.querySelector("[part='caret']"),this.caret.addEventListener("mousedown",this.caretMouseDownHandler.bind(this)))}}a.TAG_NAME="CH-GRID-CELL",customElements.get("ch-grid-cell")||customElements.define("ch-grid-cell",a);class d{constructor(t,e){this.lastTargetOrder=0,this.columns=e.map((t=>({column:t,rect:t.getBoundingClientRect(),translateX:0,order:t.order}))),this.column=this.columns.find((e=>e.column.columnId===t)),this.columns.forEach(this.setColumnHiddenRect.bind(this))}dragging(t){const e=this.column.column.order,s=this.column.column.freeze;let i=0,r=!1;return this.column.translateX=0,this.columns.filter((t=>t.column.freeze===s)).forEach((s=>{const r=s.column.order,n=e>r?-1:1,h=e>r?1:-1;s.rect.left<t&&t<s.rect.right&&r!==e?(this.swapColumnPosition(s,n,h),i=r):t<s.rect.left&&r<e?(this.swapColumnPosition(s,n,h),(!i||r<i)&&(i=r)):t>s.rect.right&&r>e?(this.swapColumnPosition(s,n,h),(!i||r>i)&&(i=r)):r!==e&&this.resetColumnPosition(s)})),this.column.order=i||this.column.column.order,r=i!==this.lastTargetOrder,this.lastTargetOrder=i,r}dragEnd(){this.columns.forEach((t=>{t.column.order=t.order,t.translateX=0}))}getColumnStyle(t){return{[`--ch-grid-column-${t.physicalOrder}-transform`]:`translateX(${this.columns[t.physicalOrder-1].translateX}px)`}}getColumnsFirstLast(){let t,e;return this.columns.forEach((s=>{s.column.hidden||t&&!(s.order<t.order)||(t=s),s.column.hidden||e&&!(s.order>e.order)||(e=s)})),{columnFirst:t.column,columnLast:e.column}}swapColumnPosition(t,e,s){t.translateX=this.column.rect.width*s,t.order=t.column.order+s,this.column.translateX+=t.rect.width*e}resetColumnPosition(t){t.translateX=0,t.order=t.column.order}setColumnHiddenRect(t){if(t.column.hidden){const e=this.getPreviousSiblingVisible(t)||this.getNextSiblingVisible(t);t.rect=new DOMRect(t.column.order<e.column.order?e.rect.left:e.rect.right,e.rect.y,0,e.rect.height)}}getPreviousSiblingVisible(t){let e;return this.columns.forEach((s=>{!s.column.hidden&&s.column.order<t.column.order&&(!e||s.column.order>e.column.order)&&(e=s)})),e}getNextSiblingVisible(t){let e;return this.columns.forEach((s=>{!s.column.hidden&&s.column.order>t.column.order&&(!e||s.column.order<e.column.order)&&(e=s)})),e}}class u{constructor(t){this.columnsetObserver=new MutationObserver(this.reloadColumns.bind(this)),this.columnResizeObserver=new ResizeObserver(this.resizeColumnHandler.bind(this)),this.columnsDisplay=[],this.grid=t,this.columns=Array.from(this.grid.el.querySelectorAll("ch-grid-column")),this.observeColumnset(),this.defineColumns(this.columns),this.defineColumnsVariables(),this.adjustFreezeOrder(),this.adjustBaseLayer()}getColumn(t){return this.columns.find((e=>e.columnId===t))}getColumns(t=!1){return t?this.columns.sort(this.fnSortByOrder):this.columns}getColumnsFirstLast(){let t,e;return this.columns.forEach((s=>{s.hidden||t&&!(s.order<t.order)||(t=s),s.hidden||e&&!(s.order>e.order)||(e=s)})),{columnFirst:t,columnLast:e}}getColumnSelector(){return this.columns.find((t=>"rich"===t.columnType&&t.richRowSelector))}adjustFreezeOrder(){const t=this.columns.filter((t=>"start"===t.freeze)).sort(this.fnSortByOrder),e=this.columns.filter((t=>"start"!==t.freeze&&"end"!==t.freeze)).sort(this.fnSortByOrder),s=this.columns.filter((t=>"end"===t.freeze)).sort(this.fnSortByOrder);let i=1;t.forEach((t=>t.order=i++)),e.forEach((t=>t.order=i++)),s.forEach((t=>t.order=i++))}defineColumns(t){t.forEach((t=>{this.defineColumnId(t),this.defineColumnIndex(t),this.defineColumnOrder(t),this.defineColumnSize(t),this.defineColumnDisplayObserver(t),this.defineColumnResizeObserver(t),this.defineColumnType(t)}))}defineColumnId(t){t.columnId||(t.columnId=this.getColumnUniqueId())}defineColumnIndex(t){t.physicalOrder=this.columns.indexOf(t)+1}defineColumnOrder(t){t.order||(t.order=t.physicalOrder)}defineColumnSize(t){t.size||(t.size="auto")}defineColumnDisplayObserver(t){if(t.displayObserverClass&&!t.hidden){const e=this.columnsDisplay.push(document.createElement("ch-grid-column-display"))-1;this.columnsDisplay[e].setAttribute("slot","column-display"),this.columnsDisplay[e].setAttribute("class",t.displayObserverClass),this.columnsDisplay[e].column=t,this.grid.el.appendChild(this.columnsDisplay[e])}}defineColumnResizeObserver(t){this.columnResizeObserver.observe(t,{box:"border-box"})}defineColumnType(t){switch(t.columnType){case"tree":this.grid.el.querySelectorAll(`ch-grid-cell:nth-child(${t.physicalOrder})`).forEach((t=>{t.type=c.TreeNode}));break;case"rich":this.grid.el.querySelectorAll(`ch-grid-cell:nth-child(${t.physicalOrder})`).forEach((e=>{e.rowDrag=t.richRowDrag,e.rowSelector=t.richRowSelector,e.rowActions=t.richRowActions,e.type=c.Rich}))}}defineColumnsVariables(){const t=document.head.querySelector("#ch-grid-columns-variables");if(!t||parseInt(t.getAttribute("data-columns"))<this.columns.length){let e="";for(let t=1;t<=this.columns.length;t++)e+=`ch-grid-column:nth-child(${t}), ch-grid-cell:nth-child(${t}) {\n display: var(--ch-grid-column-${t}-display, flex);\n grid-column: var(--ch-grid-column-${t}-position, ${t});\n margin-inline-start: var(--ch-grid-column-${t}-margin-start);\n border-inline-start: var(--ch-grid-column-${t}-border-start);\n padding-inline-start: var(--ch-grid-column-${t}-padding-start);\n margin-inline-end: var(--ch-grid-column-${t}-margin-end);\n border-inline-end: var(--ch-grid-column-${t}-border-end);\n padding-inline-end: var(--ch-grid-column-${t}-padding-end);\n transform: var(--ch-grid-column-${t}-transform);\n left: var(--ch-grid-column-${t}-left-freeze);\n right: var(--ch-grid-column-${t}-right-freeze);\n }\n ch-grid-column:nth-child(${t}) {\n z-index: calc(var(--ch-grid-column-${t}-z-index-freeze, 0) + var(--ch-grid-column-z-index-head, 0) + var(--ch-grid-column-z-index-active, 0));\n }\n ch-grid-cell:nth-child(${t}) {\n z-index: calc(var(--ch-grid-column-${t}-z-index-freeze, 0) + var(--ch-grid-cell-z-index-active, 0));\n }\n ch-grid-cell:nth-child(${t})::before {\n content: var(--ch-grid-column-${t}-content);\n }\n `;const s=`@layer ch-grid {\n ${e}\n }`;t?(t.setAttribute("data-columns",this.columns.length.toString()),t.innerHTML=s):document.head.insertAdjacentHTML("beforeend",`<style id="ch-grid-columns-variables" data-columns="${this.columns.length}">${s}</style>`)}}undefineColumns(t){t.forEach((t=>{this.columnResizeObserver.unobserve(t),this.columnsDisplay.filter((e=>e.column===t)).forEach((t=>{t.remove()}))}))}observeColumnset(){this.columnsetObserver.observe(this.grid.el.querySelector("ch-grid-columnset"),{childList:!0})}reloadColumns(){const t=Array.from(this.grid.el.querySelectorAll("ch-grid-column")),e=t.filter((t=>!this.columns.includes(t))),s=this.columns.filter((e=>!t.includes(e)));(e.length||s.length)&&(this.columns=t,this.undefineColumns(s),this.defineColumns(e),this.defineColumnsVariables(),this.adjustOrders(),this.adjustBaseLayer())}resizeColumnHandler(t){for(const e of t)this.grid.gridMainEl.style.setProperty(`--ch-grid-column-${e.target.physicalOrder}-width`,`${e.contentRect.width}px`)}getColumnUniqueId(){return`ch-grid-column-auto-${Date.now().toString(36)+Math.random().toString(36).substring(2)}`}adjustOrders(){this.columns.forEach(((t,e)=>t.physicalOrder=e+1)),[...this.columns].sort(this.fnSortByOrder).forEach(((t,e)=>{t.order=e+1}))}adjustBaseLayer(){this.grid.baseLayer=this.columns.length}fnSortByOrder(t,e){return t.order<e.order?-1:t.order>e.order?1:0}}class g{constructor(t){this.selectionStateNone={rowFocused:null,rowsSelected:[],cellSelected:null},this.grid=t}select(t,e,s,i,r){var n;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(i=!1,r=!1);let h=t.rowFocused,l=t.rowsSelected,o=t.cellSelected;if(h=e,r){const t=this.grid.manager.getRowsRange(null!==(n=this.rangeStart)&&void 0!==n?n:e,e);this.rangeValue?(l=i?Array.from(new Set(l.concat(t))):l.length===t.length?l:t,o=s||e.getCell((null==o?void 0:o.column)||this.grid.manager.getFirstColumn())):(l=l.filter((e=>!t.includes(e))),o=null)}else i?(this.rangeStart=e,this.rangeValue=!e.selected,l.includes(e)?(l=l.filter((t=>t!==e)),o=null):(l=[...l,e],o=s||e.getCell((null==o?void 0:o.column)||this.grid.manager.getFirstColumn()))):(this.rangeStart=e,this.rangeValue=!0,l=1===l.length&&l[0]===e?l:[e],o=s||e.getCell((null==o?void 0:o.column)||this.grid.manager.getFirstColumn()));return{rowFocused:h,rowsSelected:l,cellSelected:o}}selectAll(t,e=!0){var s;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;const i=this.grid.manager.getRows();let r=t.rowFocused,n=t.rowsSelected,h=t.cellSelected;return e?(r=null!=r?r:this.grid.manager.getFirstRow(),n=i,h=r.getCell((null===(s=t.cellSelected)||void 0===s?void 0:s.column)||this.grid.manager.getFirstColumn())):(r=null!=r?r:this.grid.manager.getFirstRow(),n=[],h=null),{rowFocused:r,rowsSelected:n,cellSelected:h}}selectSet(t,e,s,i=!0){let r=t.rowFocused,n=t.rowsSelected,h=t.cellSelected;return r=e,i?(n=n.includes(e)?n:[...n,e],h=s):(n=n.includes(e)?n.filter((t=>t!==e)):n,h=null),{rowFocused:r,rowsSelected:n,cellSelected:h}}selectFirstRow(t,e){var s;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const i=this.grid.manager.getFirstRow();let r=t.rowFocused,n=t.rowsSelected,h=t.cellSelected;if(i){if(e){const t=this.grid.manager.getRowsRange(null!=r?r:i,i);n=Array.from(new Set(n.concat(t)))}else n=[i];r=i,h=i.getCell((null===(s=t.cellSelected)||void 0===s?void 0:s.column)||this.grid.manager.getFirstColumn())}return{rowFocused:r,rowsSelected:n,cellSelected:h}}selectPreviousRow(t,e){if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const s=this.grid.manager.getPreviousRow(t.rowFocused);let i=t.rowFocused,r=t.rowsSelected,n=t.cellSelected;if(s){if(e){const t=this.sortRowsSelected(r),e=this.isContiguousSelection(t);r=e&&i===t[0]?[...r,s]:e&&i===t[t.length-1]?r.slice(0,-1):[i,s]}else r=[s];i=s,n=s.getCell((null==n?void 0:n.column)||this.grid.manager.getFirstColumn())}return{rowFocused:i,rowsSelected:r,cellSelected:n}}selectNextRow(t,e){if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const s=this.grid.manager.getNextRow(t.rowFocused);let i=t.rowFocused,r=t.rowsSelected,n=t.cellSelected;if(s){if(e){const t=this.sortRowsSelected(r),e=this.isContiguousSelection(t);r=e&&i===t[t.length-1]?[...r,s]:e&&i===t[0]?r.slice(1):[i,s]}else r=[s];i=s,n=s.getCell((null==n?void 0:n.column)||this.grid.manager.getFirstColumn())}return{rowFocused:i,rowsSelected:r,cellSelected:n}}selectLastRow(t,e){var s;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const i=this.grid.manager.getLastRow();let r=t.rowFocused,n=t.rowsSelected,h=t.cellSelected;if(i){if(e){const t=this.grid.manager.getRowsRange(null!=r?r:i,i);n=Array.from(new Set(n.concat(t)))}else n=[i];r=i,h=i.getCell((null===(s=t.cellSelected)||void 0===s?void 0:s.column)||this.grid.manager.getFirstColumn())}return{rowFocused:r,rowsSelected:n,cellSelected:h}}selectPreviousPageRow(t,e){var s;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const i=this.grid.manager.getRows(),r=this.grid.manager.getRowsPerPage();let n=t.rowFocused,h=t.rowsSelected,l=t.cellSelected;const o=i[Math.max(i.indexOf(n)-r,0)];if(o){if(e){const t=this.grid.manager.getRowsRange(null!=n?n:o,o);h=Array.from(new Set(h.concat(t)))}else h=1===h.length&&h[0]===o?h:[o];n=o,l=o.getCell((null===(s=t.cellSelected)||void 0===s?void 0:s.column)||this.grid.manager.getFirstColumn())}return{rowFocused:n,rowsSelected:h,cellSelected:l}}selectNextPageRow(t,e){var s;if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;"multiple"!==this.grid.rowSelectionMode&&(e=!1);const i=this.grid.manager.getRows(),r=this.grid.manager.getRowsPerPage();let n=t.rowFocused,h=t.rowsSelected,l=t.cellSelected;const o=i[Math.min(i.indexOf(n)+r,i.length-1)];if(o){if(e){const t=this.grid.manager.getRowsRange(null!=n?n:o,o);h=Array.from(new Set(h.concat(t)))}else h=1===h.length&&h[0]===o?h:[o];n=o,l=o.getCell((null===(s=t.cellSelected)||void 0===s?void 0:s.column)||this.grid.manager.getFirstColumn())}return{rowFocused:n,rowsSelected:h,cellSelected:l}}selectPreviousCell(t){if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;const e=t.rowFocused;let s=t.rowsSelected,i=t.cellSelected;if(i){const t=this.grid.manager.getPreviousCell(i);t&&(i=t)}else s.includes(e)||(s=[...s,e]),i||(i=e.getCell(this.grid.manager.getFirstColumn()));return{rowFocused:e,rowsSelected:s,cellSelected:i}}selectNextCell(t){if("none"===this.grid.rowSelectionMode)return this.selectionStateNone;const e=t.rowFocused;let s=t.rowsSelected,i=t.cellSelected;if(i){const t=this.grid.manager.getNextCell(i);t&&(i=t)}else s.includes(e)||(s=[...s,e]),i||(i=e.getCell(this.grid.manager.getFirstColumn()));return{rowFocused:e,rowsSelected:s,cellSelected:i}}markRow(t,e,s,i){var r;if(t){if(s){const e=!t.marked,s=this.grid.manager.getRowsRange(null!==(r=this.lastRowMarked)&&void 0!==r?r:t,t);return this.lastRowMarked=t,e?i.concat(s.filter((t=>!i.includes(t)))):i.filter((t=>!s.includes(t)))}if(this.lastRowMarked=t,e&&!i.includes(t))return i.concat([t]);if(!e&&i.includes(t))return i.filter((e=>e!==t))}return i}markAllRows(t=!0){return t?this.grid.manager.getRows():[]}syncRowSelector(t,e=[],s){const i=this.grid.manager.columns.getColumnSelector();if((null==i?void 0:i.richRowSelectorMode)===s){const s=i.physicalOrder-1;null==e||e.filter((e=>!t.includes(e))).forEach((t=>{t.marked=!1,t.children[s].setSelectorChecked(!1)})),null==t||t.forEach((t=>{t.marked="mark"===i.richRowSelectorMode,t.children[s].setSelectorChecked(!0)})),i.richRowSelectorState=0===t.length?"":t.length===this.grid.manager.getRows().length?"checked":"indeterminate"}}sortRowsSelected(t){const e=Array.from(this.grid.el.querySelectorAll(`${l.TAG_NAME}`));return t.sort(((t,s)=>{const i=e.indexOf(t),r=e.indexOf(s);return i<r?-1:i>r?1:0}))}isContiguousSelection(t){const e=Array.from(this.grid.el.querySelectorAll(`${l.TAG_NAME}`)).filter((t=>t.isVisible()));if(0===t.length)return!1;if(1===t.length)return!0;{const s=e.indexOf(t[0]);return e.indexOf(t[t.length-1])-s+1===t.length}}}class m{constructor(t){this.dragMouseMoveFn=this.dragMouseMoveHandler.bind(this),this.grid=t}dragStart(t){this.row=t,this.rowIndex=this.grid.manager.getGridRowIndex(t),this.defineListeners(),this.createRowShadow(),this.floatRow(),this.updateRowPosition()}dragMouseMoveHandler(t){const e=t.target.closest(l.TAG_NAME);if(e&&e.parentElement===this.row.parentElement&&e.grid===this.grid.el){const t=this.grid.manager.getGridRowIndex(e),s=t+2,i=this.rowIndex<t?-1:1;this.rowShadow.style.getPropertyValue("--row-shadow-row-start")!==`${s}`?this.rowShadow.style.setProperty("--row-shadow-row-start",`${s}`):this.rowShadow.style.setProperty("--row-shadow-row-start",`${s+i}`),this.updateRowPosition()}}dragMouseUpHandler(){document.removeEventListener("mousemove",this.dragMouseMoveFn);const t=parseInt(this.rowShadow.style.getPropertyValue("--row-shadow-row-start")),e=this.grid.el.querySelectorAll("ch-grid-row").item(t-2);t<this.rowIndex+2&&e.before(this.row),t>this.rowIndex+2&&e.after(this.row),this.unfloatRow(),this.rowShadow.remove(),this.row=null,this.rowShadow=null}defineListeners(){document.addEventListener("mousemove",this.dragMouseMoveFn,{passive:!0}),document.addEventListener("mouseup",this.dragMouseUpHandler.bind(this),{once:!0})}createRowShadow(){const t=this.grid.manager.getRowHeight(this.row);this.rowShadow=document.createElement("div"),this.rowShadow.style.display="contents",this.grid.manager.getColumnsWidth().forEach((e=>{const s=document.createElement("div");s.style.opacity="0",s.style.minWidth=e,s.style.height=`${t}px`,s.style.gridRowStart="var(--row-shadow-row-start)",this.rowShadow.append(s)}))}floatRow(){const t=this.grid.manager.getColumnsWidth(),e=this.grid.gridMainEl.clientWidth;this.row.before(this.rowShadow),this.row.setAttribute("dragging",""),this.row.style.width=`${e}px`,this.row.querySelectorAll(":scope > ch-grid-cell").forEach(((e,s)=>{const i=parseInt(this.grid.gridMainEl.style.getPropertyValue(`--ch-grid-column-${s+1}-position`));e.hidden||(e.style.width=t[i-1],e.style.order=`${i}`)}))}unfloatRow(){this.row.removeAttribute("dragging"),this.row.style.width="",this.row.querySelectorAll(":scope > ch-grid-cell").forEach((t=>{t.style.width="",t.style.order=""}))}updateRowPosition(){const t=this.rowShadow.children[0].getBoundingClientRect();this.row.style.top=`${t.top}px`,this.row.style.left=`${t.left}px`}}class p{constructor(t){this.grid=t,this.columnsManager=new u(this.grid),this.selectionManager=new g(this.grid)}get selection(){return this.selectionManager}get columns(){return this.columnsManager}gridDidLoad(){this.isRowActionsEnabled()&&this.observeMainScroll()}getColumns(){return this.columnsManager.getColumns()}getColumnsWidth(){return getComputedStyle(this.grid.gridMainEl).gridTemplateColumns.split(" ")}getColumnsetHeight(){const t=getComputedStyle(this.grid.gridMainEl).gridTemplateRows.split(" ");return parseInt(t[0])||0}getFirstColumn(){return this.columnsManager.getColumnsFirstLast().columnFirst}getFirstRow(){return this.grid.el.querySelector(`${l.TAG_NAME.toLowerCase()}`)}getScrollOffsetTop(){return this.grid.gridMainEl.offsetTop+this.getColumnsetHeight()}getScrollOffsetLeft(){return this.grid.manager.columns.getColumns(!0).reduce(((t,e)=>"start"!==e.freeze||e.hidden?t:t+e.offsetWidth),0)}getScrollOffsetRight(){return this.grid.manager.columns.getColumns(!0).reduce(((t,e)=>"end"!==e.freeze||e.hidden?t:t+e.offsetWidth),0)}getPreviousRow(t){const e=this.getRows(),s=e.indexOf(t);return e.slice(0,s).reverse().find((t=>t.isVisible()))}getNextRow(t){const e=this.getRows(),s=e.indexOf(t);return e.slice(s+1).find((t=>t.isVisible()))}getLastRow(){return this.getRows().reverse().find((t=>t.isVisible()))}getPreviousCell(t){const e=t.column.order,s=this.grid.manager.columns.getColumns().reduce(((t,s)=>s.order<e&&!s.hidden&&(!t||s.order>t.order)?s:t),null);if(s)return t.row.querySelector(`:scope > ch-grid-cell:nth-of-type(${s.physicalOrder})`)}getNextCell(t){const e=t.column.order,s=this.grid.manager.columns.getColumns().reduce(((t,s)=>s.order>e&&!s.hidden&&(!t||s.order<t.order)?s:t),null);if(s)return t.row.querySelector(`:scope > ch-grid-cell:nth-of-type(${s.physicalOrder})`)}getGridRowIndex(t){return Array.prototype.indexOf.call(this.grid.el.querySelectorAll(`${l.TAG_NAME}, ${n.TAG_NAME}`),t)}getRowsetRowIndex(t){return Array.prototype.indexOf.call(t.parentElement.children,t)}getRowHeight(t){const e=getComputedStyle(this.grid.gridMainEl).gridTemplateRows.split(" "),s=this.getGridRowIndex(t)+1;return parseInt(e[s])||0}getRowsPerPage(){const t=this.grid.gridMainEl.clientHeight,e=this.getColumnsetHeight(),s=this.getRowHeight(this.getFirstRow());return Math.floor((t-e)/s)}getRow(t){return this.grid.el.querySelector(`ch-grid-row[rowid="${t}"]`)}getRows(t="all"){const e=Array.from(this.grid.el.querySelectorAll("ch-grid-row"));return"visible"===t?e.filter((t=>t.isVisible())):e}getRowsSelected(){return Array.from(this.grid.el.querySelectorAll("ch-grid-row[selected]"))}getRowsRange(t,e){const s=this.getRows(),i=s.indexOf(t),r=s.indexOf(e);return s.slice(Math.min(i,r),Math.max(i,r)+1).filter((t=>t.isVisible()))}getRowEventTarget(t){return t.composedPath().find((t=>"CH-GRID-ROW"===t.tagName))}isRowActionsEventTarget(t){return null!=t.composedPath().find((t=>{var e;return null===(e=t.classList)||void 0===e?void 0:e.contains("row-actions")}))}getCell(t,e,s){if(t)return this.grid.el.querySelector(`ch-grid-cell[cellid="${t}"]`);if(e&&s){const t=this.getRow(e),i=this.columns.getColumn(s);if(t&&i)return t.getCell(i)}}getCellEventTarget(t){return t.composedPath().find((t=>"CH-GRID-CELL"===t.tagName))}columnDragStart(t){this.columnDragManager=new d(t,this.columnsManager.getColumns())}columnDragging(t){return this.columnDragManager.dragging(t)}columnDragEnd(){this.columnDragManager.dragEnd(),this.columnDragManager=null}rowDragStart(t){this.rowDragManager=new m(this.grid),this.rowDragManager.dragStart(t)}getGridStyle(){return Object.assign(Object.assign(Object.assign(Object.assign({display:"grid"},this.getGridTemplateColumns()),this.getRowBoxSimulationStyle()),this.getDragTransitionStyle()),this.getColumnsStyle())}isRowActionsEnabled(){return this.grid.gridRowActionsEl.firstElementChild.assignedElements().length>0}setRowActionsPosition(t){t?(this.grid.gridRowActionsEl.setAttribute("show",""),this.grid.gridRowActionsEl.style.setProperty("--ch-grid-row-highlighted-top",`${this.getRowTop(t)}px`)):(this.grid.gridRowActionsEl.removeAttribute("show"),this.grid.gridRowActionsEl.style.removeProperty("--ch-grid-row-highlighted-top"))}ensureRowVisible(t){let e=t.parentElement.closest(`${l.TAG_NAME}, ${o.TAG_NAME}`);const{columnFirst:s}=this.columnsManager.getColumnsFirstLast();for(;e;)e.collapsed=!1,e=e.parentElement.closest(`${l.TAG_NAME}, ${o.TAG_NAME}`);t.children[s.physicalOrder]&&this.ensureVisible(t.children[s.physicalOrder])}ensureCellVisible(t){let e=t.closest(`${l.TAG_NAME}, ${o.TAG_NAME}`);for(;!t.isVisible()&&e;)e.collapsed=!1,e=e.parentElement.closest(`${l.TAG_NAME}, ${o.TAG_NAME}`);t.isVisible()||(t.column.hidden=!1),this.ensureVisible(t)}ensureVisible(t){const e=["start","end"].includes(t.column.freeze),s=this.grid.gridMainEl,i=this.getScrollOffsetTop(),r=this.getScrollOffsetLeft(),n=this.getScrollOffsetRight();s.scrollTop+i>t.offsetTop?s.scrollBy({top:-1*(s.scrollTop-t.offsetTop+i)}):s.scrollTop+s.offsetHeight<t.offsetTop+t.offsetHeight?s.scrollBy({top:t.offsetTop+t.offsetHeight-(s.scrollTop+s.offsetHeight)}):s.scrollLeft+r>t.offsetLeft&&!e?s.scrollBy({left:-1*(s.scrollLeft-t.offsetLeft+r)}):s.scrollLeft+s.clientWidth-n<t.offsetLeft+t.offsetWidth&&!e&&s.scrollBy({left:t.offsetLeft+t.offsetWidth-(s.scrollLeft+s.clientWidth-n)})}getGridTemplateColumns(){return{"grid-template-columns":this.columnsManager.getColumns().map((t=>`var(--ch-grid-column-${t.physicalOrder}-size)`)).join(" ")}}getRowBoxSimulationStyle(){const{columnFirst:t,columnLast:e}=this.columnDragManager?this.columnDragManager.getColumnsFirstLast():this.columnsManager.getColumnsFirstLast();return t&&e?{[`--ch-grid-column-${t.physicalOrder}-margin-start`]:"var(--ch-grid-fallback, inherit)",[`--ch-grid-column-${t.physicalOrder}-border-start`]:"var(--ch-grid-fallback, inherit)",[`--ch-grid-column-${t.physicalOrder}-padding-start`]:"var(--ch-grid-fallback, inherit)",[`--ch-grid-column-${e.physicalOrder}-margin-end`]:"var(--ch-grid-fallback, inherit)",[`--ch-grid-column-${e.physicalOrder}-border-end`]:"var(--ch-grid-fallback, inherit)",[`--ch-grid-column-${e.physicalOrder}-padding-end`]:"var(--ch-grid-fallback, inherit)"}:null}getRowTop(t){return t.firstElementChild.offsetTop}getDragTransitionStyle(){return{"--column-drag-transition-duration":this.columnDragManager?".2s":"0s"}}getColumnsStyle(){return this.columnsManager.getColumns().reduce(((t,e)=>Object.assign(Object.assign({},t),this.getColumnStyle(e))),{})}getColumnStyle(t){return Object.assign(Object.assign(Object.assign(Object.assign(Object.assign(Object.assign({},this.getColumnSizeStyle(t)),this.getColumnOrderStyle(t)),this.getColumnDisplayStyle(t)),this.getColumnFreezeStyle(t)),this.getColumnDraggingStyle(t)),this.getColumnIndentStyle(t))}getColumnSizeStyle(t){return{[`--ch-grid-column-${t.order}-size`]:t.hidden?"0px":t.size}}getColumnOrderStyle(t){return{[`--ch-grid-column-${t.physicalOrder}-position`]:t.order.toString()}}getColumnFreezeStyle(t){switch(t.freeze){case"start":return this.getColumnFreezeStartStyle(t);case"end":return this.getColumnFreezeEndStyle(t)}}getColumnFreezeStartStyle(t){const e=["0px"];for(let s=1;s<t.order;s++)e.push(`var(--ch-grid-column-${s}-width)`);return{[`--ch-grid-column-${t.physicalOrder}-left-freeze`]:`calc(${e.join(" + ")})`,[`--ch-grid-column-${t.physicalOrder}-z-index-freeze`]:"var(--ch-grid-column-freeze-layer)"}}getColumnFreezeEndStyle(t){const e=["0px"];for(let s=this.columnsManager.getColumns().length;s>t.order;s--)e.push(`var(--ch-grid-column-${s}-width)`);return{[`--ch-grid-column-${t.physicalOrder}-right-freeze`]:`calc(${e.join(" + ")})`,[`--ch-grid-column-${t.physicalOrder}-z-index-freeze`]:"var(--ch-grid-column-freeze-layer)"}}getColumnDisplayStyle(t){return t.hidden?{[`--ch-grid-column-${t.physicalOrder}-display`]:"none"}:null}getColumnDraggingStyle(t){return this.columnDragManager?this.columnDragManager.getColumnStyle(t):null}getColumnIndentStyle(t){return{[`--ch-grid-column-${t.physicalOrder}-content`]:1===t.order?"''":"none"}}observeMainScroll(){this.grid.gridMainEl.addEventListener("scroll",(()=>this.grid.gridRowActionsEl.style.setProperty("--ch-grid-scroll-v",`${this.grid.gridMainEl.scrollTop}px`)),{passive:!0})}}const w=class{constructor(s){t(this,s),this.selectionChanged=e(this,"selectionChanged",7),this.rowMarkingChanged=e(this,"rowMarkingChanged",7),this.cellSelectionChanged=e(this,"cellSelectionChanged",7),this.rowClicked=e(this,"rowClicked",7),this.rowDoubleClicked=e(this,"rowDoubleClicked",7),this.rowEnterPressed=e(this,"rowEnterPressed",7),this.rowsMarked=[],this.rowsSelected=[],this.rowSelectionMode="single",this.rowHighlightEnabled="auto",this.allowColumnReorder=!0,this.styleSheet=new CSSStyleSheet}baseLayerHandler(t){this.styleSheet.replace(`:host { --ch-grid-base-layer: ${t} ;}`)}componentWillLoad(){this.manager=new p(this),this.gridStyle=this.manager.getGridStyle(),this.rowsSelected=this.manager.getRowsSelected(),this.el.shadowRoot.adoptedStyleSheets.push(this.styleSheet)}componentDidLoad(){this.manager.gridDidLoad(),this.gridRowActionsEnabled=this.manager.isRowActionsEnabled()}componentShouldUpdate(t,e,s){if("rowFocused"===s||"rowHighlighted"===s||"rowSelected"===s||"rowsMarked"===s||"cellSelected"===s)return!1}rowHighlightedHandler(t,e){t&&(t.highlighted=!0),e&&(e.highlighted=!1),this.gridRowActionsEnabled&&this.manager.setRowActionsPosition(t)}rowFocusedHandler(t,e){t&&(t.focused=!0),e&&(e.focused=!1)}rowsSelectedHandler(t,e){e&&e.filter((e=>!t.includes(e))).forEach((t=>t.selected=!1)),t&&t.forEach((t=>t.selected=!0)),this.manager.selection.syncRowSelector(t,e,"select"),this.selectionChanged.emit({rowsId:t.map((t=>t.rowId))})}rowsMarkedHandler(t,e){this.manager.selection.syncRowSelector(t,e,"mark"),this.rowMarkingChanged.emit({rowsId:t.map((t=>t.rowId))})}cellSelectedHandler(t,e){t&&(t.selected=!0),e&&(e.selected=!1),this.cellSelectionChanged.emit({cellId:this.cellSelected?this.cellSelected.cellId:null,rowId:this.cellSelected?this.cellSelected.row.rowId:null,columnId:this.cellSelected?this.cellSelected.column.columnId:null})}focusHandler(){"none"!==this.rowSelectionMode&&(this.rowFocused=this.rowsSelected[0]||this.manager.getFirstRow())}blurHandler(){this.rowFocused=null}windowKeyDownHandler(t){document.activeElement===this.el&&[" ","+","-","Home","End","PageUp","PageDown","ArrowUp","ArrowDown","ArrowLeft","ArrowRight"].includes(t.key)&&t.preventDefault()}keyDownHandler(t){if(document.activeElement===this.el)switch(t.key){case" ":this.toggleRowsMarked();break;case"+":this.setRowCollapsed(this.rowFocused,!1);break;case"-":this.setRowCollapsed(this.rowFocused,!0);break;case"Home":this.selectByKeyboardEvent(this.manager.selection.selectFirstRow.bind(this.manager.selection),t.shiftKey);break;case"End":this.selectByKeyboardEvent(this.manager.selection.selectLastRow.bind(this.manager.selection),t.shiftKey);break;case"PageUp":this.selectByKeyboardEvent(this.manager.selection.selectPreviousPageRow.bind(this.manager.selection),t.shiftKey);break;case"PageDown":this.selectByKeyboardEvent(this.manager.selection.selectNextPageRow.bind(this.manager.selection),t.shiftKey);break;case"ArrowUp":this.selectByKeyboardEvent(this.manager.selection.selectPreviousRow.bind(this.manager.selection),t.shiftKey);break;case"ArrowDown":this.selectByKeyboardEvent(this.manager.selection.selectNextRow.bind(this.manager.selection),t.shiftKey);break;case"ArrowLeft":this.selectByKeyboardEvent(this.manager.selection.selectPreviousCell.bind(this.manager.selection),t.shiftKey);break;case"ArrowRight":this.selectByKeyboardEvent(this.manager.selection.selectNextCell.bind(this.manager.selection),t.shiftKey);break;case"Enter":this.enterPressedHandler()}}mouseMoveHandler(t){if(("auto"===this.rowHighlightEnabled&&"none"!==this.rowSelectionMode||!0===this.rowHighlightEnabled)&&(this.rowHighlighted=this.manager.getRowEventTarget(t)||(this.manager.isRowActionsEventTarget(t)?this.rowHighlighted:null)),this.manager.selection.selecting){const e=this.manager.getRowEventTarget(t),s=this.manager.getCellEventTarget(t);!e||this.manager.selection.selectingRow===e&&this.manager.selection.selectingCell===s||(this.selectByPointerEvent(e,s,h(t),!0),this.manager.selection.selectingRow=e,this.manager.selection.selectingCell=s)}}mouseLeaveHandler(){this.rowHighlighted&&(this.rowHighlighted=null)}clickHandler(t){const e=this.manager.getRowEventTarget(t),s=this.manager.getCellEventTarget(t);e&&(this.rowClicked.emit({rowId:e.rowId,cellId:null==s?void 0:s.cellId,columnId:null==s?void 0:s.column.columnId}),this.manager.selection.selecting=!0,this.selectByPointerEvent(e,s,h(t),t.shiftKey))}mouseUpHandler(){this.manager.selection.selecting=!1,this.manager.selection.selectingRow=null,this.manager.selection.selectingCell=null}dblclickHandler(t){const e=this.manager.getRowEventTarget(t),s=this.manager.getCellEventTarget(t);e&&this.rowDoubleClicked.emit({rowId:e.rowId,cellId:null==s?void 0:s.cellId,columnId:null==s?void 0:s.column.columnId})}columnSelectorClickedHandler(t){const e=this.manager.columns.getColumnSelector();"select"===(null==e?void 0:e.richRowSelectorMode)?this.selectAll(t.detail.checked):"mark"===(null==e?void 0:e.richRowSelectorMode)&&(this.rowsMarked=this.manager.selection.markAllRows(t.detail.checked))}cellSelectorClickedHandler(t){const e=this.manager.columns.getColumnSelector();"select"===(null==e?void 0:e.richRowSelectorMode)?this.selectByPointerEvent(this.manager.getRowEventTarget(t),this.manager.getCellEventTarget(t),!0,t.detail.range):"mark"===(null==e?void 0:e.richRowSelectorMode)&&(this.rowsMarked=this.manager.selection.markRow(this.manager.getRowEventTarget(t),t.detail.checked,t.detail.range,this.rowsMarked))}columnStyleChangedHandler(){this.manager&&(this.gridStyle=this.manager.getGridStyle())}columnFreezeChangedHandler(){this.manager.columns.adjustFreezeOrder()}columnDragStartHandler(t){this.manager.columnDragStart(t.detail.columnId)}columnDraggingHandler(t){this.manager.columnDragging(t.detail.positionX)&&(this.gridStyle=this.manager.getGridStyle())}columnDragEndHandler(){this.manager.columnDragEnd(),this.gridStyle=this.manager.getGridStyle()}rowDragStartHandler(t){this.manager.rowDragStart(t.detail.row)}rowEnsureVisibleHandler(t){this.manager.ensureRowVisible(t.target)}cellEnsureVisibleHandler(t){this.manager.ensureCellVisible(t.target)}settingsShowClickedHandler(){this.gridSettingsUI.show=!0}settingsCloseClickedHandler(){this.gridSettingsUI.show=!1}async getFocusedRow(){var t;return null===(t=this.rowFocused)||void 0===t?void 0:t.rowId}async getHoveredRow(){var t;return null===(t=this.rowHighlighted)||void 0===t?void 0:t.rowId}async getSelectedRows(){return this.rowsSelected.map((t=>t.rowId))}async getMarkedRows(){return this.rowsMarked.map((t=>t.rowId))}async getSelectedCell(){return{cellId:this.cellSelected?this.cellSelected.cellId:null,rowId:this.cellSelected?this.cellSelected.row.rowId:null,columnId:this.cellSelected?this.cellSelected.column.columnId:null}}async selectRow(t,e=!0){const s=this.manager.getRow(t);if(s){const{rowFocused:t,rowsSelected:i,cellSelected:r}=this.manager.selection.selectSet({rowFocused:this.rowFocused,rowsSelected:this.rowsSelected,cellSelected:this.cellSelected},s,null,e);this.rowFocused=t,this.rowsSelected=i,this.cellSelected=r,null==t||t.ensureVisible()}}async selectAllRows(t=!0){this.selectAll(t)}async selectCell(t,e,s,i=!0){const r=this.manager.getCell(t,e,s);if(r){const{rowFocused:t,rowsSelected:e,cellSelected:s}=this.manager.selection.selectSet({rowFocused:this.rowFocused,rowsSelected:this.rowsSelected,cellSelected:this.cellSelected},r.row,r,i);this.rowFocused=t,this.rowsSelected=e,this.cellSelected=s,null==t||t.ensureVisible()}}async expandRow(t){this.setRowCollapsed(this.manager.getRow(t),!1)}async collapseRow(t){this.setRowCollapsed(this.manager.getRow(t),!0)}async rowEnsureVisible(t){const e=this.manager.getRow(t);e&&this.manager.ensureRowVisible(e)}async cellEnsureVisible(t){const e=this.manager.getCell(t);e&&this.manager.ensureCellVisible(e)}async getPreviousRow(){var t,e;const s=null===(t=this.cellSelected)||void 0===t?void 0:t.row;if(s)return(null===(e=this.manager.getPreviousRow(s))||void 0===e?void 0:e.rowId)||null}async getNextRow(){var t,e;const s=null===(t=this.cellSelected)||void 0===t?void 0:t.row;if(s)return(null===(e=this.manager.getNextRow(s))||void 0===e?void 0:e.rowId)||null}async getPreviousCell(){const t=this.manager.getPreviousCell(this.cellSelected);return{cellId:t?t.cellId:null,rowId:t?t.row.rowId:null,columnId:t?t.column.columnId:null}}async getNextCell(){const t=this.manager.getNextCell(this.cellSelected);return{cellId:t?t.cellId:null,rowId:t?t.row.rowId:null,columnId:t?t.column.columnId:null}}enterPressedHandler(){var t;if(this.rowFocused){const e=(null===(t=this.cellSelected)||void 0===t?void 0:t.row)===this.rowFocused?this.cellSelected:null;this.rowEnterPressed.emit({rowId:this.rowFocused.rowId,cellId:e?e.cellId:null,columnId:e?e.column.columnId:null})}}toggleRowsMarked(){const t=this.manager.columns.getColumnSelector();"mark"===(null==t?void 0:t.richRowSelectorMode)&&(this.rowsMarked=this.rowFocused.marked?this.rowsMarked.filter((t=>!this.rowsSelected.includes(t))):Array.from(new Set(this.rowsMarked.concat(this.rowsSelected))))}selectByPointerEvent(t,e,s,i){const{rowFocused:r,rowsSelected:n,cellSelected:h}=this.manager.selection.select({rowFocused:this.rowFocused,rowsSelected:this.rowsSelected,cellSelected:this.cellSelected},t,e,s,i);this.rowFocused=r,this.rowsSelected=n,this.cellSelected=h,h?h.ensureVisible():null==r||r.ensureVisible()}selectByKeyboardEvent(t,e){const{rowFocused:s,rowsSelected:i,cellSelected:r}=t({rowFocused:this.rowFocused,rowsSelected:this.rowsSelected,cellSelected:this.cellSelected},e);this.rowFocused=s,this.rowsSelected=i,this.cellSelected=r,r?r.ensureVisible():null==s||s.ensureVisible()}selectAll(t=!0){const{rowFocused:e,rowsSelected:s,cellSelected:i}=this.manager.selection.selectAll({rowFocused:this.rowFocused,rowsSelected:this.rowsSelected,cellSelected:this.cellSelected},t);this.rowFocused=e,this.rowsSelected=s,this.cellSelected=i,i?i.ensureVisible():null==e||e.ensureVisible()}setRowCollapsed(t,e){t&&e?t&&t.hasChildRows&&(t.collapsed=!0):t&&!e&&(t.collapsed=!1)}render(){return s(i,{tabindex:"none"!==this.rowSelectionMode&&"0"},s("header",{part:"header"},s("slot",{name:"header"})),s("section",{class:"main",style:this.gridStyle,part:"main",ref:t=>this.gridMainEl=t},s("slot",null)),s("aside",null,this.renderSettings(),s("slot",{name:"column-display"}),this.renderRowActions()),s("footer",{part:"footer"},s("slot",{name:"footer"})))}renderSettings(){return s("ch-grid-settings",{grid:this.el,ref:t=>this.gridSettingsUI=t,exportparts:"\n mask:settings-mask,\n window:settings-window,\n header:settings-header,\n caption:settings-caption,\n close:settings-close,\n main:settings-main,\n footer:settings-footer\n "},s("slot",{name:"settings"},s("ch-grid-settings-columns",{part:"settings-columns",columns:[...this.manager.getColumns()],exportparts:"\n column:settings-columns-item,\n column-label:settings-columns-label,\n column-visible:settings-columns-visible,\n column-visible-checked:settings-columns-visible-checked\n "})))}renderRowActions(){return s("section",{class:"row-actions",part:"row-actions",ref:t=>this.gridRowActionsEl=t},s("slot",{name:"row-actions"}))}get el(){return r(this)}static get watchers(){return{baseLayer:["baseLayerHandler"],rowHighlighted:["rowHighlightedHandler"],rowFocused:["rowFocusedHandler"],rowsSelected:["rowsSelectedHandler"],rowsMarked:["rowsMarkedHandler"],cellSelected:["cellSelectedHandler"]}}};w.style=":host{display:flex;position:relative;flex-direction:column;--ch-grid-cell-active-layer:calc(var(--ch-grid-base-layer) * 1);--ch-grid-column-header-layer:calc(var(--ch-grid-base-layer) * 2);--ch-grid-column-freeze-layer:calc(var(--ch-grid-base-layer) * 4);--ch-grid-column-active-layer:calc(var(--ch-grid-base-layer) * 8);--ch-grid-settings-layer:calc(var(--ch-grid-base-layer) * 16)}.main{display:none;grid-auto-flow:dense;overflow-x:auto;user-select:none}.row-actions{position:absolute;top:calc( var(--ch-grid-row-highlighted-top, 0px) - var(--ch-grid-scroll-v, 0px) )}.row-actions:not([show]){display:none}";const v=class{constructor(s){t(this,s),this.refreshClicked=e(this,"refreshClicked",7)}pressedHandler(t){t.key&&"Enter"!==t.key&&" "!==t.key||(this.refreshClicked.emit(),t.stopPropagation())}render(){return s(i,{role:"button",tabindex:"0",disabled:this.disabled})}};v.style="@layer ch-grid {\n ch-grid-action-refresh[disabled] {\n pointer-events: none;\n }\n}";const b=class{constructor(s){t(this,s),this.settingsShowClicked=e(this,"settingsShowClicked",7)}pressedHandler(t){t.key&&"Enter"!==t.key&&" "!==t.key||(this.settingsShowClicked.emit(),t.stopPropagation())}render(){return s(i,{role:"button",tabindex:"0",disabled:this.disabled})}};b.style="@layer ch-grid {\n ch-grid-action-settings[disabled] {\n pointer-events: none;\n }\n}";const f=class{constructor(e){t(this,e)}get el(){return r(this)}};f.style="";const y=class{constructor(s){t(this,s),this.columnHiddenChanged=e(this,"columnHiddenChanged",7),this.columnSizeChanging=e(this,"columnSizeChanging",7),this.columnSizeChanged=e(this,"columnSizeChanged",7),this.columnOrderChanged=e(this,"columnOrderChanged",7),this.columnSortChanged=e(this,"columnSortChanged",7),this.columnFreezeChanged=e(this,"columnFreezeChanged",7),this.columnDragStarted=e(this,"columnDragStarted",7),this.columnDragging=e(this,"columnDragging",7),this.columnDragEnded=e(this,"columnDragEnded",7),this.columnSelectorClicked=e(this,"columnSelectorClicked",7),this.dragging=!1,this.dragMouseMoveFn=this.dragMouseMoveHandler.bind(this),this.columnType="plain",this.columnNamePosition="text",this.richRowSelectorMode="select",this.richRowSelectorState="",this.hidden=!1,this.hideable=!0,this.resizable=!0,this.sortable=!0,this.settingable=!0,this.showSettings=!1,this.settingsClickHandler=t=>{t.stopPropagation(),this.showSettings=!0},this.selectorClickHandler=t=>{const e=t.target;this.richRowSelectorState=e.checked?"checked":"",this.columnSelectorClicked.emit({checked:e.checked}),t.stopPropagation()}}freezeHandler(){this.columnFreezeChanged.emit({columnId:this.columnId,freeze:this.freeze})}hiddenHandler(){this.columnHiddenChanged.emit({columnId:this.columnId,hidden:this.hidden})}orderHandler(){this.columnOrderChanged.emit({columnId:this.columnId,order:this.order})}sizeHandler(){this.columnSizeChanging.emit({columnId:this.columnId,size:this.size})}sortDirectionHandler(){this.sortDirection&&this.columnSortChanged.emit({columnId:this.columnId,sortDirection:this.sortDirection})}componentDidLoad(){this.el.addEventListener("mousedown",this.mousedownHandler.bind(this))}clickHandler(){this.dragging?this.dragging=!1:this.sortable&&(this.sortDirection="asc"===this.sortDirection?"desc":"asc")}columnResizeStartedHandler(){this.resizing=!0}columnResizeFinishedHandler(){this.resizing=!1,this.columnSizeChanged.emit({columnId:this.columnId,size:this.size})}allowColumnReorder(){return this.el.closest("ch-grid").allowColumnReorder}mousedownHandler(t){t.preventDefault(),t.stopPropagation(),this.allowColumnReorder()&&(this.dragMouseDownHandler(t),document.addEventListener("mousemove",this.dragMouseMoveFn,{passive:!0}),document.addEventListener("mouseup",this.dragMouseUpHandler.bind(this),{once:!0}))}dragMouseDownHandler(t){this.dragMouseMoveStartPositionX=t.pageX,this.columnDragStarted.emit({columnId:this.columnId})}dragMouseMoveHandler(t){(this.dragging||Math.abs(this.dragMouseMoveStartPositionX-t.pageX)>5)&&(this.dragging=!0,this.columnDragging.emit({columnId:this.columnId,positionX:t.pageX,direction:t.movementX>0?"right":"left"}))}dragMouseUpHandler(){document.removeEventListener("mousemove",this.dragMouseMoveFn),this.columnDragEnded.emit({columnId:this.columnId})}settingsMouseDownHandler(t){t.stopPropagation()}render(){return s(i,null,s("ul",{class:"bar",part:"bar"},this.renderSelector(),this.renderName(),this.renderSort(),this.renderSettings(),this.renderResize()),s("ch-grid-column-settings",{column:this.el,onMouseDown:this.settingsMouseDownHandler,show:this.showSettings,exportparts:"\n mask:settings-mask,\n window:settings-window,\n header:settings-header,\n caption:settings-caption,\n close:settings-close,\n main:settings-main,\n footer:settings-footer\n "},s("slot",{name:"settings"})))}renderSelector(){return s("li",{class:"selector",part:"bar-selector",hidden:!("rich"===this.columnType&&this.richRowSelector)},s("label",{part:"selector-label"},s("input",{type:"checkbox",part:["selector",this.richRowSelectorState].filter((t=>""!==t)).join(" "),onClick:this.selectorClickHandler,checked:"checked"===this.richRowSelectorState,indeterminate:"indeterminate"===this.richRowSelectorState})))}renderName(){return s("li",{class:"name",part:"bar-name",title:this.columnTooltip||("title"===this.columnNamePosition?this.columnName:null)},this.columnIconUrl||this.columnImage||this.columnImageSet?s("img",{class:"name-icon",part:"bar-name-icon",src:this.columnImage||this.columnIconUrl,srcSet:this.columnImageSet}):s("div",{class:"name-icon",part:"bar-name-icon"}),s("span",{class:"name-text",part:"bar-name-text",hidden:this.columnNameHidden||"text"!==this.columnNamePosition},this.columnName))}renderSort(){return s("li",{class:"sort",part:"bar-sort",hidden:!this.sortable},s("div",{class:"sort-asc",part:"bar-sort-ascending"}),s("div",{class:"sort-desc",part:"bar-sort-descending"}))}renderSettings(){return s("li",{class:"settings",part:"bar-settings",hidden:!this.settingable},s("button",{class:"button",part:"bar-settings-button",onClick:this.settingsClickHandler}))}renderResize(){return s("li",{class:"resize",part:"bar-resize",hidden:!this.resizable},s("ch-grid-column-resize",{column:this.el,class:"resize-split",part:"bar-resize-split"}))}get el(){return r(this)}static get watchers(){return{freeze:["freezeHandler"],hidden:["hiddenHandler"],order:["orderHandler"],size:["sizeHandler"],sortDirection:["sortDirectionHandler"]}}};y.style=":host{display:flex;position:sticky;top:0}:host{background-color:inherit;margin-block-start:inherit;margin-block-end:inherit;border-block-start:inherit;border-block-end:inherit;padding-block-start:inherit;padding-block-end:inherit;transition:transform var(--column-drag-transition-duration, 0.2s)}:host{--ch-grid-column-z-index-head:var(--ch-grid-column-header-layer)}:host([show-settings]),:host([resizing]){--ch-grid-column-z-index-active:var(--ch-grid-column-active-layer)}:host([sort-direction=asc]) .bar .sort .sort-asc{visibility:visible}:host([sort-direction=desc]) .bar .sort .sort-desc{visibility:visible}.bar{list-style-type:none;margin:0;padding:0;display:flex;align-items:center}.bar .selector{overflow:hidden;order:0}.bar .selector:not([hidden]){display:flex}.bar .name{display:flex;overflow:hidden;order:1}.bar .name .name-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bar .sort{position:relative;align-items:center;order:2}.bar .sort:not([hidden]){display:flex}.bar .sort .sort-asc{visibility:hidden;animation-fill-mode:forwards}.bar .sort .sort-desc{position:absolute;visibility:hidden;animation-fill-mode:forwards}.bar .settings{order:3}.bar .resize{align-self:stretch;margin-left:auto;order:4}@keyframes column-sort{0%{opacity:0}10%{opacity:1}90%{opacity:1}100%{opacity:0}}";const C=class{constructor(e){t(this,e)}columnSortChangedHandler(t){Array.from(this.el.querySelectorAll("ch-grid-column")).forEach((e=>{e.columnId!==t.detail.columnId&&(e.sortDirection=null)}))}get el(){return r(this)}};C.style='@layer ch-grid {\n ch-grid-columnset {\n display: contents;\n }\n}\n@layer ch-grid {\n ch-grid-row {\n display: contents;\n }\n\n ch-grid-row[collapsed] > ch-grid-rowset {\n display: none;\n }\n\n ch-grid-row:is([leaf="false"], :has(> ch-grid-rowset)) > ch-grid-cell::part(caret) {\n visibility: visible;\n }\n\n ch-grid-row[dragging] {\n display: flex;\n position: fixed;\n pointer-events: none;\n box-shadow: rgba(0, 0, 0, 0.7) 0px 5px 15px;\n z-index: 1000;\n transition: top var(--row-drag-transition-duration, 0.1s);\n }\n}\n@layer ch-grid {\n ch-grid-rowset {\n display: contents;\n }\n\n ch-grid-rowset[collapsed] > :not(ch-grid-rowset-legend) {\n display: none;\n }\n}\n@layer ch-grid {\n ch-grid-cell {\n position: sticky;\n grid-column: var(--grid-column);\n transition: transform var(--column-drag-transition-duration, 0.2s);\n }\n\n ch-grid-cell[selected] {\n --ch-grid-cell-z-index-active: var(--ch-grid-cell-active-layer);\n }\n\n ch-grid-cell,\nch-grid-row[selected] > ch-grid-cell,\nch-grid-row[highlighted] > ch-grid-cell {\n background-color: inherit;\n margin-block-start: inherit;\n margin-block-end: inherit;\n border-block-start: inherit;\n border-block-end: inherit;\n padding-block-start: inherit;\n padding-block-end: inherit;\n }\n\n ch-grid-cell:before {\n margin-inline-start: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(indent) {\n width: calc(var(--indent) * var(--level));\n }\n\n ch-grid-cell::part(caret) {\n visibility: hidden;\n }\n}';const S=class{constructor(s){t(this,s),this.activePageChanged=e(this,"activePageChanged",7),this.pageNavigationRequested=e(this,"pageNavigationRequested",7),this.activePage=1,this.totalPages=1,this.hasNextPage=!1}activePageHandler(){this.activePageChanged.emit({activePage:this.activePage})}componentWillLoad(){this.loadElements()}navigateClickedHandler(t){switch(t.stopPropagation(),t.detail.type){case"first":this.first();break;case"previous":this.previous();break;case"next":this.next();break;case"last":this.last()}this.pageNavigationRequested.emit({type:t.detail.type})}pageChangedHandler(t){t.stopPropagation();const e=this.activePage!==t.detail.page;this.activePage=t.detail.page,e&&this.pageNavigationRequested.emit({type:"goto",page:t.detail.page})}loadElements(){this.elPages=this.el.querySelector("ch-paginator-pages"),this.elFirst=this.el.querySelector("ch-paginator-navigate[type='first']"),this.elPrevious=this.el.querySelector("ch-paginator-navigate[type='previous']"),this.elNext=this.el.querySelector("ch-paginator-navigate[type='next']"),this.elLast=this.el.querySelector("ch-paginator-navigate[type='last']")}keyDownHandler(t){switch(t.key){case"Home":this.first(),this.elFirst.focus();break;case"PageUp":this.previous(),this.elPrevious.focus();break;case"PageDown":this.next(),this.elNext.focus();break;case"End":this.last(),this.elLast.focus()}}first(){this.activePage=1}previous(){this.activePage=Math.max(this.activePage-1,1)}next(){this.activePage=this.totalPages<0?this.activePage+1:Math.min(this.activePage+1,this.totalPages)}last(){this.activePage=this.totalPages}render(){this.elPages&&(this.elPages.totalPages=this.totalPages,this.elPages.page=this.activePage),this.elFirst&&(this.elFirst.disabled=1===this.activePage),this.elPrevious&&(this.elPrevious.disabled=1===this.activePage),this.elNext&&(this.elNext.disabled=this.activePage===this.totalPages||this.totalPages<0&&!this.hasNextPage),this.elLast&&(this.elLast.disabled=this.activePage===this.totalPages||this.totalPages<0&&!this.hasNextPage)}get el(){return r(this)}static get watchers(){return{activePage:["activePageHandler"]}}};S.style=":host{display:flex}";const k=class{constructor(s){t(this,s),this.navigateClicked=e(this,"navigateClicked",7)}pressedHandler(t){t.key&&"Enter"!==t.key&&" "!==t.key||(this.navigateClicked.emit({type:this.type}),t.stopPropagation())}render(){return s(i,{role:"button",tabindex:"0",disabled:this.disabled})}};var H,$;k.style="ch-paginator-navigate[disabled]{pointer-events:none}",function(t){t[t.EDIT=1]="EDIT",t[t.RADIO=4]="RADIO",t[t.COMBO=5]="COMBO",t[t.CHECK=7]="CHECK"}(H||(H={})),function(t){t[t.NUMBER=0]="NUMBER",t[t.CHAR=1]="CHAR",t[t.DATE=2]="DATE",t[t.DATETIME=3]="DATETIME",t[t.VARCHAR=5]="VARCHAR",t[t.LONGVARCHAR=6]="LONGVARCHAR",t[t.BOOLEAN=7]="BOOLEAN"}($||($={}));const x=class{constructor(s){t(this,s),this.columnSettingsChanged=e(this,"columnSettingsChanged",7),this.filterEnum=[],this.applyClickHandler=()=>{this.equal=this.getControlValue(this.inputEqual),this.less=this.getControlValue(this.inputLess),this.greater=this.getControlValue(this.inputGreater),this.columnSettingsChanged.emit({column:this.column,equal:this.equal,less:this.less,greater:this.greater})},this.resetClickHandler=()=>{this.equal="",this.less="",this.greater="",this.columnSettingsChanged.emit({column:this.column,equal:this.equal,less:this.less,greater:this.greater})}}componentWillLoad(){Array.isArray(this.column.FilterEnum)&&this.column.FilterEnum.length>0&&(this.filterEnum=this.column.FilterEnum)}getControlValue(t){var e;const s=null!==(e=null==t?void 0:t.value)&&void 0!==e?e:"";let i=this.column.gxControl.dataType;switch(i===$.DATETIME&&-1===this.column.FilterDateTimeAsDate&&(i=$.DATE),i){case $.DATE:return gx.date.ctod(s,"Y4MD").toString();case $.DATETIME:return gx.date.ctot(s,"Y4MD").toString();default:return s}}toControlValue(t){let e=this.column.gxControl.dataType;if(!t)return"";switch(e===$.DATETIME&&-1===this.column.FilterDateTimeAsDate&&(e=$.DATE),e){case $.DATE:return this.convertGxDateToISO(gx.date.ctod(t),!1);case $.DATETIME:return this.convertGxDateToISO(gx.date.ctot(t),!0);default:return t}}convertGxDateToISO(t,e){const s=t=>t.toString().padStart(2,"0"),i=t.Value;return gx.date.isNullDate(i)?"":e?`${i.getFullYear()}-${s(i.getMonth()+1)}-${s(i.getDate())}T${s(i.getHours())}:${s(i.getMinutes())}`:`${i.getFullYear()}-${s(i.getMonth()+1)}-${s(i.getDate())}`}getFilterInputType(t){switch(t){case $.BOOLEAN:return"checkbox";case $.CHAR:case $.VARCHAR:case $.LONGVARCHAR:return"text";case $.DATE:return"date";case $.DATETIME:return"datetime-local";case $.NUMBER:return"number";default:return"text"}}renderColumnFilterControl(t,e,i,r,n,h){const l=t.replace("input","").toLowerCase();switch(this.filterEnum.length>0&&(e=H.COMBO,r=this.filterEnum.map((t=>[t.Value,t.Description]))),i===$.DATETIME&&-1===this.column.FilterDateTimeAsDate&&(i=$.DATE),e){case H.EDIT:case H.CHECK:return s("label",{part:`label ${l}`},n,s("input",{type:this.getFilterInputType(i),value:this.toControlValue(h),ref:e=>this[t]=e,part:`field ${l}`}));case H.COMBO:return s("label",{part:`label ${l}`},n,s("select",{ref:e=>this[t]=e,part:`field ${l}`},r.map((([t,e])=>s("option",{value:t,selected:t===h},e)))))}}render(){return s(i,null,s("fieldset",{part:"main"},s("caption",{part:"caption"},this.column.FilterCaption),"single"===this.column.FilterMode&&this.renderColumnFilterControl("inputEqual",this.column.gxControl.type,this.column.gxControl.dataType,this.column.gxControl.possibleValues,this.column.FilterLabelEqual,this.equal),"range"===this.column.FilterMode&&this.renderColumnFilterControl("inputGreater",this.column.gxControl.type,this.column.gxControl.dataType,this.column.gxControl.possibleValues,this.column.FilterLabelGreater,this.greater),"range"===this.column.FilterMode&&this.renderColumnFilterControl("inputLess",this.column.gxControl.type,this.column.gxControl.dataType,this.column.gxControl.possibleValues,this.column.FilterLabelLess,this.less)),s("section",{part:"footer"},s("button",{part:"button reset",onClick:this.resetClickHandler},this.buttonResetText),s("button",{part:"button apply",onClick:this.applyClickHandler},this.buttonApplyText)))}get el(){return r(this)}};x.style="";export{w as ch_grid,v as ch_grid_action_refresh,b as ch_grid_action_settings,f as ch_grid_actionbar,y as ch_grid_column,C as ch_grid_columnset,S as ch_paginator,k as ch_paginator_navigate,x as gx_grid_chameleon_column_filter}
|