@genexus/genexus-ide-ui 0.0.17 → 0.0.19

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.
Files changed (46) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-references.cjs.entry.js +115 -90
  3. package/dist/cjs/gx-ide-test.cjs.entry.js +40 -3
  4. package/dist/cjs/{gxg-form-radio-group.cjs.entry.js → gx-ide-top-bar_2.cjs.entry.js} +31 -0
  5. package/dist/cjs/gxg-tree_2.cjs.entry.js +40 -59
  6. package/dist/cjs/loader.cjs.js +1 -1
  7. package/dist/cjs/update-tree-model-445c63a8.js +53 -0
  8. package/dist/collection/common/render-tree.js +1 -1
  9. package/dist/collection/common/update-tree-model.js +22 -0
  10. package/dist/collection/components/_test/test.js +129 -2
  11. package/dist/collection/components/references/references.js +119 -113
  12. package/dist/collection/pages/assets/common.js +105 -95
  13. package/dist/components/gx-ide-references.js +131 -111
  14. package/dist/components/gx-ide-test.js +45 -4
  15. package/dist/components/gxg-tree-item2.js +21 -46
  16. package/dist/components/gxg-tree2.js +20 -14
  17. package/dist/components/update-tree-model.js +50 -0
  18. package/dist/esm/genexus-ide-ui.js +1 -1
  19. package/dist/esm/gx-ide-references.entry.js +115 -90
  20. package/dist/esm/gx-ide-test.entry.js +40 -3
  21. package/dist/esm/{gxg-form-radio-group.entry.js → gx-ide-top-bar_2.entry.js} +32 -2
  22. package/dist/esm/gxg-tree_2.entry.js +40 -59
  23. package/dist/esm/loader.js +1 -1
  24. package/dist/esm/update-tree-model-80419058.js +50 -0
  25. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  26. package/dist/genexus-ide-ui/p-254f9ce7.entry.js +1 -0
  27. package/dist/genexus-ide-ui/p-519919e4.entry.js +1 -0
  28. package/dist/genexus-ide-ui/p-67cf60f5.js +1 -0
  29. package/dist/genexus-ide-ui/p-7007965c.entry.js +1 -0
  30. package/dist/genexus-ide-ui/p-78a90113.entry.js +1 -0
  31. package/dist/types/common/update-tree-model.d.ts +2 -0
  32. package/dist/types/components/_test/test.d.ts +19 -1
  33. package/dist/types/components/references/references.d.ts +28 -24
  34. package/dist/types/components.d.ts +37 -9
  35. package/package.json +3 -3
  36. package/dist/cjs/gx-ide-top-bar.cjs.entry.js +0 -37
  37. package/dist/cjs/render-tree-25d5b8a1.js +0 -29
  38. package/dist/components/render-tree.js +0 -27
  39. package/dist/esm/gx-ide-top-bar.entry.js +0 -33
  40. package/dist/esm/render-tree-fc8636a3.js +0 -27
  41. package/dist/genexus-ide-ui/p-48482e25.entry.js +0 -1
  42. package/dist/genexus-ide-ui/p-a5fee36d.entry.js +0 -1
  43. package/dist/genexus-ide-ui/p-abee8c7b.js +0 -1
  44. package/dist/genexus-ide-ui/p-be9406e7.entry.js +0 -1
  45. package/dist/genexus-ide-ui/p-c5c6e102.entry.js +0 -1
  46. package/dist/genexus-ide-ui/p-f6536bbc.entry.js +0 -1
@@ -0,0 +1 @@
1
+ import{r as t,c as i,h as e,H as r,g as o}from"./p-f9f51980.js";import{e as a}from"./p-d8501cb4.js";const n=class{constructor(e){t(this,e),this.treeItemStateChanged=i(this,"treeItemStateChanged",7),this.masterTree=!1,this.checkbox=!0,this.checked=!1,this.opened=!0,this.toggleCheckboxes=!1,this.multiSelection=!1,this.evaluateIsMasterTree=()=>{var t;const i=null===(t=this.el.parentElement)||void 0===t?void 0:t.parentElement;void 0!==i&&"GXG-TREE"===i.nodeName||(this.masterTree=!0)},this.initialConfig=()=>{const t=this.el.parentElement;if("GXG-TREE-ITEM"===(null==t?void 0:t.tagName)){const i=t;this.checkbox=void 0!==i.checkbox?i.checkbox:this.checkbox,this.checked=void 0!==i.checked?i.checked:this.checked,this.opened=void 0!==i.opened?i.opened:this.opened,this.toggleCheckboxes=void 0!==i.toggleCheckboxes?i.toggleCheckboxes:this.toggleCheckboxes}},this.emitTreeItemNewState=(t,i)=>{this.treeItemStateChanged.emit({itemData:t,emittedBy:i})}}componentWillLoad(){this.initialConfig(),this.evaluateIsMasterTree()}checkboxToggledHandler(t){this.masterTree&&this.emitTreeItemNewState(t.detail,"checkboxToggled")}doubleClickedHandler(t){this.masterTree&&this.emitTreeItemNewState(t.detail,"doubleClicked")}selectionChangedHandler(t){const i=this.el.querySelectorAll("gxg-tree-item");(this.masterTree&&this.multiSelection&&!t.detail.ctrl||this.masterTree&&!this.multiSelection)&&Array.from(i).forEach((i=>{i!==t.detail.ref&&(i.selected=!1)})),this.masterTree&&this.emitTreeItemNewState(t.detail,"selectionChanged")}toggleIconClickedHandler(t){this.masterTree&&this.emitTreeItemNewState(t.detail,"toggleIconClicked")}async getCheckedItems(t){const i=Array.from(this.el.querySelectorAll("gxg-tree-item")),e=[];return(null==t?void 0:t.length)?t.forEach((t=>{const r=i.find((i=>t===i.id));r&&e.push({id:r.id,label:r.label,checked:r.checked,selected:r.selected})})):i.forEach((t=>{t.checked&&e.push({id:t.id,label:t.label,checked:t.checked,selected:t.selected})})),e}async getSelectedItems(){const t=[],i=this.el.querySelectorAll("gxg-tree-item");return(null==i?void 0:i.length)&&Array.from(i).forEach((i=>{i.selected&&t.push({id:i.id,label:i.label,checked:i.checked,selected:i.selected})})),t}async toggleItems(t,i){if(!(null==t?void 0:t.length))return[];const e=Array.from(this.el.querySelectorAll("gxg-tree-item")),r=[];return t.forEach((t=>{const o=e.find((i=>t===i.id));o&&void 0===i?o.opened=!o.opened:o&&i&&!o.opened?o.opened=!0:o&&!i&&o.opened&&(o.opened=!1),o&&r.push({id:o.id,opened:o.opened})})),r}render(){return e(r,null,e("div",{class:{tree:!0}},e("ul",{ref:t=>this.ulTree=t},e("slot",null))))}get el(){return o(this)}};n.style=":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host{display:block;--gxg-tree-item-inner-spacing:var(--spacing-comp-01);overflow:auto;height:100%}:host::-webkit-scrollbar{width:6px;height:6px}:host::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}:host::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}:host::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}:host .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}:host ul{margin:0;padding-left:0;width:100%}";const l=class{constructor(e){t(this,e),this.checkboxToggled=i(this,"checkboxToggled",7),this.doubleClicked=i(this,"doubleClicked",7),this.lazyChanged=i(this,"lazyChanged",7),this.selectionChanged=i(this,"selectionChanged",7),this.toggleIconClicked=i(this,"toggleIconClicked",7),this.lazy=!1,this.parentTreeIsMasterTree=!1,this.numberOfParentTrees=1,this.firstItem=!1,this.lastItem=!1,this.leftPadding="0px",this.verticalLineStartPosition="0px",this.horizontalLineWidth="24px",this.horizontalLineStartPosition="0px",this.parts={item:"item",checkbox:"checkbox",toggleButton:"toggle-button"},this.horizontalLinePaddingLeft=0,this.lastTreeItem=!1,this.lastTreeItemOfParentTree=!1,this.numberOfVisibleDescendantItems=0,this.time=0,this.downloading=!1,this.checkbox=void 0,this.checked=void 0,this.opened=void 0,this.toggleCheckboxes=void 0,this.disabled=void 0,this.leaf=!1,this.selected=!1,this.numberOfChildren=0,this.hasChildTree=!1,this.indeterminate=!1,this.evaluateId=()=>{this.id||(this.id=this.el.getAttribute("id"))},this.evaluateLazy=()=>{this.leaf||0!==this.numberOfChildren||(this.lazy=!0,this.opened=!1)},this.observer=new MutationObserver((t=>{for(const i of t)"childList"===i.type&&(this.lazy=!1,this.opened=!0,this.reRender())})),this.initiateMutationObserver=()=>{this.observer.observe(this.el,{childList:!0,subtree:!0})},this.cascadeConfig=()=>{const t=this.el.parentElement;this.checkbox=void 0!==this.checkbox?this.checkbox:t.checkbox,this.checked=void 0!==this.checked?this.checked:t.checked,this.opened=void 0!==this.opened?this.opened:t.opened,this.toggleCheckboxes=void 0!==this.toggleCheckboxes?this.toggleCheckboxes:t.checkbox},this.attachExportParts=()=>{const t=this.el.getAttribute("part"),i=a(t,this.parts);i.length&&(this.exportparts=i)},this.defineLineHeight=()=>{let t=11.5;this.parentTreeIsMasterTree&&(t=0,this.lastItem&&(t=11));let i=0;if(!this.leaf&&!this.lazy){const t=this.el.querySelectorAll("gxg-tree-item").length,e=this.el.querySelector(":scope > gxg-tree").querySelectorAll(":scope > gxg-tree-item");i=this.parentTreeIsMasterTree?t:t-e[e.length-1].querySelectorAll("gxg-tree-item").length}this.lineHeight=24.2*i-t+"px"},this.defineStartPosition=()=>{let t=0,i=13;this.numberOfParentTrees>1?(t=45*(this.numberOfParentTrees-1),this.numberOfParentTrees>2&&(i=t-36)):t=5,this.verticalLineStartPosition=`${t+7}px`,this.leftPadding=`${t}px`,this.horizontalLineStartPosition=`${i}px`},this.liTextClickedHandler=t=>{t.target.classList.contains("toggle-icon")||"GXG-FORM-CHECKBOX"===t.target.nodeName||(this.selected=!t.ctrlKey||!this.selected,this.selectionChanged.emit(this.getItemData(t.ctrlKey)))},this.liTextDoubleClicked=()=>{this.doubleClicked.emit(this.getItemData(!1)),!this.leaf&&this.toggleClickedHandler()},this.liTextKeyDownPressed=t=>{if("ArrowDown"!==t.key&&"ArrowUp"!==t.key||t.preventDefault(),"Enter"===t.key&&this.checkboxClickedHandler(),"ArrowRight"!==t.key||this.leaf||(this.opened?this.el.querySelector("gxg-tree").querySelector("gxg-tree-item").shadowRoot.querySelector(".li-text").focus():this.opened=!0),"ArrowLeft"===t.key){let t=!1;const i=this.el.parentElement.parentElement;let e=null;"GXG-TREE-ITEM"===i.tagName&&(t=!0,e=i.shadowRoot.querySelector(".li-text")),this.leaf?t&&e.focus():this.el.shadowRoot.querySelector("li").classList.contains("tree-open")?this.opened=!1:t&&e.focus()}if(("ArrowUp"===t.key||"Tab"===t.key&&t.shiftKey)&&(t.preventDefault(),!this.firstItem)){let i;const e=this.el.previousElementSibling;if(t.shiftKey&&"Tab"!==t.key)null!==e&&(i=e.shadowRoot.querySelector("li .li-text"));else if(null===e)i=this.el.parentElement.parentElement.shadowRoot.querySelector("li .li-text");else if(i=e.shadowRoot.querySelector("li .li-text"),null!==e&&e.hasChildTree)if(e.opened){const t=this.el.previousElementSibling.querySelector("gxg-tree");i=t.lastElementChild.hasChildTree&&t.lastElementChild.shadowRoot.querySelector("li").classList.contains("tree-open")?t.lastElementChild.querySelector("gxg-tree").lastElementChild.shadowRoot.querySelector("li .li-text"):t.lastElementChild.shadowRoot.querySelector("li .li-text")}else i=this.el.previousElementSibling.shadowRoot.querySelector("li .li-text");null!=i&&i.focus()}if("ArrowDown"===t.key||"Tab"===t.key&&!t.shiftKey)if(t.preventDefault(),this.lastTreeItemOfParentTree)!this.leaf&&this.opened&&this.el.firstElementChild.firstElementChild.shadowRoot.querySelector("li .li-text").focus();else{let i;if(t.shiftKey)null!==this.el.nextElementSibling&&(i=this.el.nextElementSibling.shadowRoot.querySelector("li .li-text"));else if(this.lastTreeItem)if(this.hasChildTree&&this.opened)i=this.el.firstElementChild.firstElementChild.shadowRoot.querySelector(".li-text");else{const t=this.el.parentElement.parentElement,e=t.nextElementSibling;null===e?null!==t.parentElement.parentElement.nextElementSibling&&(i=t.parentElement.parentElement.nextElementSibling.shadowRoot.querySelector(".li-text")):i=e.shadowRoot.querySelector(".li-text")}else i=this.hasChildTree&&this.opened?this.el.querySelector("gxg-tree gxg-tree-item").shadowRoot.querySelector("li .li-text"):this.el.nextElementSibling.shadowRoot.querySelector(".li-text");null!=i&&i.focus()}},this.returnToggleIconType=()=>!this.opened||this.lazy?"gemini-tools/add":"gemini-tools/minus",this.checkboxClickedHandler=()=>{this.checkbox&&(this.checked=!this.checked,this.leaf||this.toggleChildrenCheckboxes(this.checked),this.getParentItems().forEach((t=>{t.evaluateCheckboxStatus()})))},this.toggleChildrenCheckboxes=t=>{this.indeterminate=!1;const i=this.el.querySelectorAll("gxg-tree-item");(null==i?void 0:i.length)&&Array.from(i).forEach((i=>{i.indeterminate=!1,i.checked=t}))},this.getParentItems=()=>{var t;const i=[];let e=this.el.parentElement.parentElement;for(;"GXG-TREE-ITEM"===(null==e?void 0:e.nodeName);)i.push(e),e=null===(t=e.parentElement)||void 0===t?void 0:t.parentElement;return i},this.getParentsNumber=()=>{var t;let i=0,e=this.el.parentElement;for(;"GXG-TREE"===(null==e?void 0:e.nodeName);)i++,e=null===(t=e.parentElement)||void 0===t?void 0:t.parentElement;return i},this.getChildrenNumber=()=>{if(0===this.numberOfChildren)return this.el.querySelectorAll("gxg-tree-item").length},this.toggleClickedHandler=()=>{this.lazy&&!this.opened&&(this.downloading=!0,this.toggleIconClicked.emit(this.getItemData())),this.lazy||(this.opened=!this.opened)},this.getItemData=(t=!1)=>({ref:this.el,checkbox:this.checkbox,checked:this.checked,ctrl:t,description:this.description,disabled:this.disabled,icon:this.icon,id:this.id,indeterminate:this.indeterminate,label:this.label,lazy:this.lazy,leaf:this.leaf,opened:this.opened,selected:this.selected})}checkedHandler(t,i){void 0!==i&&this.checkboxToggled.emit(this.getItemData(!1))}openedHandler(t,i){void 0!==i&&this.toggleIconClicked.emit(this.getItemData(!1))}componentWillLoad(){this.numberOfParentTrees=this.getParentsNumber(),this.numberOfChildren=this.getChildrenNumber(),null===this.el.nextElementSibling&&(this.lastTreeItem=!0),1===this.numberOfParentTrees&&(this.parentTreeIsMasterTree=!0,null===this.el.previousElementSibling&&(this.firstItem=!0)),this.el.nextElementSibling||(this.lastItem=!0),this.evaluateId(),this.evaluateLazy(),this.defineLineHeight(),this.defineStartPosition(),this.cascadeConfig(),this.attachExportParts(),this.initiateMutationObserver()}async reRender(){this.defineLineHeight()}evaluateCheckboxStatus(){const t=this.el.querySelectorAll("gxg-tree-item");let i=0;(null==t?void 0:t.length)&&(Array.from(t).forEach((t=>{t.checked&&i++})),t.length===i?(this.checked=!0,this.indeterminate=!1):0===i?(this.checked=!1,this.indeterminate=!1):this.indeterminate=!0)}render(){return e(r,{class:{leaf:this.leaf,"not-leaf":!this.leaf},exportParts:this.exportparts?this.exportparts:null},e("li",{class:{"tree-open":this.opened,"tree-closed":!this.opened,disabled:this.disabled}},e("div",{class:{"li-text":!0,"li-text--not-leaf":!this.leaf,"li-text--leaf":this.leaf,"li-text--first-tree-item":this.firstItem,"li-text--has-child-tree":this.hasChildTree,"li-text--selected":this.selected},style:{paddingLeft:this.leftPadding},onClick:this.liTextClickedHandler.bind(this),onDblClick:this.liTextDoubleClicked.bind(this),onKeyDown:this.liTextKeyDownPressed.bind(this),tabIndex:-1,part:this.parts.item},this.leaf?null:[e("span",{class:{"vertical-line":!0},style:{height:this.lineHeight,left:this.verticalLineStartPosition}}),e("div",{class:{"closed-opened-icons":!0}},e("gxg-icon",{onClick:this.toggleClickedHandler.bind(this),type:this.returnToggleIconType(),color:"auto",class:"icon toggle-icon",part:this.parts.toggleButton}))],this.numberOfParentTrees>1?e("span",{class:{"horizontal-line":!0},style:{left:this.horizontalLineStartPosition,width:this.horizontalLineWidth}}):null,this.checkbox?e("gxg-form-checkbox",{checked:this.checked,class:{checkbox:!0},tabIndex:-1,indeterminate:this.indeterminate,disabled:this.disabled,onClick:this.checkboxClickedHandler,part:this.parts.checkbox}):null,this.icon?e("gxg-icon",{type:this.icon,color:"auto",class:"icon icon--left",style:{"--icon-size":"14px"}}):null,this.downloading&&this.lazy?e("span",{class:"loading"}):null,e("span",{class:"text"},e("slot",null))),e("slot",{name:"tree"}),this.treeModel?this.treeModel:null))}static get assetsDirs(){return["tree-item-assets"]}get el(){return o(this)}static get watchers(){return{checked:["checkedHandler"],opened:["openedHandler"]}}};l.style='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host{--text-color:var(--color-on-background);--font-family:"Source Sans Pro", sans-serif;--font-weight:normal;--font-size:12px;--guide-color:var(--gray-06);--item-hover-color:var(--gray-01);--item-active-color:var(--silverGray);color:var(--color-on-background);width:100%;display:block}:host li{list-style:none;font-family:var(--font-family);font-size:var(--font-size);font-weight:var(--font-weight);color:var(--text-color);overflow:hidden}:host li>::slotted(gxg-tree){display:none}:host li.tree-open>::slotted(gxg-tree){display:block}:host li.tree-closed .vertical-line{display:none}:host li .li-text{min-height:24px;cursor:pointer;display:flex;align-items:center;position:relative;padding-inline-end:var(--spacing-comp-01)}:host li .li-text:hover{background-color:var(--item-hover-color)}:host li .li-text:active{background-color:var(--gxg-background-color-item-selected)}:host li .li-text:focus{outline-style:solid;outline-color:var(--color-primary-active);outline-width:var(--border-width-md);outline-offset:-2px}:host li .li-text--selected{background-color:var(--gxg-background-color-item-selected)}:host li .li-text>*{flex-shrink:0}:host li .vertical-line{position:absolute;width:1px;height:0;top:23px;left:15px;z-index:1;background-image:linear-gradient(var(--guide-color) 28%, rgba(255, 255, 255, 0) 0%);background-position:right;background-size:1px 4px;background-repeat:repeat-y}:host li .horizontal-line{position:absolute;height:1px;top:11px;z-index:1;background-image:linear-gradient(to right, var(--guide-color) 33%, rgba(255, 255, 255, 0) 0%);background-position:bottom;background-size:3px 1px;background-repeat:repeat-x}:host li .horizontal-line.display-none{display:none}:host li .closed-opened-icons{position:relative;display:flex;margin-left:-2px}:host li .toggle-icon{position:relative;z-index:2;transform:scale(0.75, 0.75);margin-inline-end:var(--spacing-comp-00);transition-property:opacity;transition-duration:0.5s;transition-timing-function:ease;background-color:var(--color-hover)}:host li .toggle-icon:hover{background-color:var(--color-background)}:host .checkbox{margin-inline-end:var(--spacing-comp-01)}:host .icon--left{margin:0 var(--spacing-comp-01) 0 var(--spacing-comp-00)}:host .right-icon{margin-inline-start:auto;position:relative;top:0;transition-property:top;transition-duration:0.5s;transition-timing-function:ease}:host .loading{opacity:1;display:inline;z-index:1;margin-inline-end:var(--spacing-comp-01);border-radius:50%;width:8px;height:8px;border:0.18rem solid var(--gray-04);border-top-color:var(--gray-01);animation:spin 1s infinite linear}:host .loading--double{border-style:double;border-width:0.5rem}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host([disabled]) li .text{color:var(--darkGray)}:host([disabled]) .toggle-icon{pointer-events:none}';export{n as gxg_tree,l as gxg_tree_item}
@@ -0,0 +1 @@
1
+ import{h as e,r as t,c as i,H as r,g as o}from"./p-f9f51980.js";import{L as s}from"./p-26957490.js";import{u as a,r as n}from"./p-67cf60f5.js";const d=t=>e("gxg-icon",{color:"auto",type:t,slot:"icon"}),l=e=>{const t=[];if(!e)return t;const i=e=>{var t;const r={description:e.description,lazy:e.hasChildren,icon:e.icon,id:e.id,label:e.name};return(null===(t=e.items)||void 0===t?void 0:t.length)>0&&(r.items=e.items.map((e=>i(e)))),r};return e.forEach((e=>{t.push(i(e))})),t},g=class{constructor(e){t(this,e),this.componentDidRenderEvent=i(this,"componentDidRenderEvent",7),this.suggestedObjects=[],this.referencesMessagesMaxWidth="200px",this.attachSelectObjectListener=()=>{this.selectObjectSuggestEl.addEventListener("itemSelected",(e=>{const t=e.detail.value;this.selectedObject=this.suggestedObjects.find((e=>e.id===t))}))},this.selectObjectValueChangedHandler=async e=>{this.selectorSourceCallback(e.detail).then((e=>{this.suggestedObjects=(e=>{const t=[];return(null==e?void 0:e.length)&&e.forEach((e=>{e.items&&e.items.forEach((e=>{t.push({id:e.id,icon:e.icon,name:e.name,description:e.description})}))})),t})(e),this.objectsSuggestions=(e=>{const t={suggestItems:null,suggestLists:[]};return e.length&&e.forEach((e=>{const i={label:e.name,items:[]};e.items.forEach((e=>{i.items.push({value:e.id,label:e.name,description:e.description,icon:e.icon})})),t.suggestLists.push(i)})),t})(e)})).catch((()=>{}))},this.openObjectCallbackHandler=async()=>{this.openObjectCallback(this.selectedObject.id)},this.openSelectorDialogCallbackHandler=async()=>{this.openSelectorDialogCallback().then((e=>{this.selectedObject=e})).catch((()=>{}))},this.evaluateInitialReferenceData=()=>{this.selectedObject&&this.selectedObjectHandler(this.selectedObject)},this.loadReferencesHandler=async(e,t=!1)=>{this.loadReferencesCallback&&(t||this.loadReferencesCallback(e,!1).then((e=>{this.referencedByTreeData=l(e)})).catch((()=>{})),t&&this.loadReferencesCallback(e,!0).then((e=>{this.referencesToTreeData=l(e)})).catch((()=>{})))},this.hideBarButtonClickedHandler=()=>{this.barHidden=!this.barHidden},this.getRef=(e=!1)=>e?this.referencesToTreeData:this.referencedByTreeData,this.updateRef=(e=!1,t)=>{e?this.referencesToTreeData=t:this.referencedByTreeData=t},this.referencesPanelStateChangedHandler=(e=!1)=>t=>{const i=t.detail.emittedBy,r=t.detail.itemData,o=t.detail.itemData.id,s=t.detail.itemData.label;"selectionChanged"===i&&this.selectReferenceCallback(o),"doubleClicked"===i&&this.openObjectCallback(o);let n=[];if(r.lazy){let t=[];this.loadReferencesCallback(o,e).then((i=>{t=l(i),n=a(this.getRef(e),{id:o,label:s,items:t},o),this.updateRef(e,n)})).catch((()=>{}))}else n=a(this.getRef(e),r,o),this.updateRef(e,n)},this.referencedByTreeData=void 0,this.referencesToTreeData=void 0,this.barHidden=!1,this.objectsSuggestions=void 0,this.referencedBy=void 0,this.referencesTo=void 0,this.selectedObject=void 0,this.selectorSourceCallback=void 0,this.loadReferencesCallback=void 0,this.openObjectCallback=void 0,this.openSelectorDialogCallback=void 0,this.selectReferenceCallback=void 0}selectedObjectHandler(e){e.id&&(this.loadReferencesHandler(e.id,!1),this.loadReferencesHandler(e.id,!0))}async componentWillLoad(){this._componentLocale=await s.getComponentStrings(this.el),this.evaluateInitialReferenceData()}componentDidLoad(){this.attachSelectObjectListener()}componentDidRender(){this.componentDidRenderEvent.emit(this._componentLocale.componentName)}render(){var t,i,o,s,a,l,g;return e(r,{class:"gx-ide-component"},e("div",{class:"gx-ide-main-wrapper gx-ide-overflow"},e("gx-ide-container",{displayBorderBottom:!0},e("header",{class:"header"},e("div",{class:"header__top grid"},e("gxg-button",{icon:"navigation/arrow-down",type:"secondary-icon-only",class:"hide-bar-button",onClick:this.hideBarButtonClickedHandler,part:"toggle-bar-button"}),e("gxg-label",{labelPosition:"start",class:"suggest-label",part:"select-object-label"},this._componentLocale.header.selectObject),e("gxg-suggest",null,e("ch-suggest",{value:this.selectedObject.id,onValueChanged:this.selectObjectValueChangedHandler,ref:e=>this.selectObjectSuggestEl=e,part:"object-selector-suggest"},(null==(g=this.objectsSuggestions)?void 0:g.suggestLists.length)?g.suggestLists.map((t=>e("ch-suggest-list",{label:t.label},t.items.map((t=>{return e("ch-suggest-list-item",{description:(i=t).description,value:i.value},[i.label,i.icon&&d(i.icon)]);var i}))))):[])),e("gxg-button",{type:"secondary-icon-only",icon:"gemini-tools/show-more-horizontal",onClick:this.openSelectorDialogCallbackHandler,class:"selector-dialog-button",part:"open-selector-dialog-button"})),e("div",{class:{header__bottom:!0,"header__bottom--hidden":this.barHidden}},e("div",{class:"outer-wrapper"},e("div",{class:"inner-wrapper"},e("div",{class:"inner-wrapper__left"},e("gxg-icon",{type:this.selectedObject.icon,color:"auto"}),e("gxg-text",{padding:"s",type:"text-link",part:"open-object-text-link",onClick:this.openObjectCallbackHandler},`${this.selectedObject.name} : ${this.selectedObject.description}`)),e("div",{class:"inner-wrapper__right gxi-hidden"},e("gxg-form-checkbox",{id:"references-by-type",label:"Group references by type",required:!0,"display-validation-styles":!0,part:"references-type-checkbox"}))))))),e("main",{class:"main grid"},e("gx-ide-container",{containerTitle:this._componentLocale.main.isReferencedBy,justifyContent:"center",fullHeight:!0,part:"referenced-by-container"},e("gxg-tree",{class:{"gxi-hidden":!(null===(t=this.referencedByTreeData)||void 0===t?void 0:t.length)},checkbox:!1,onTreeItemStateChanged:this.referencesPanelStateChangedHandler(!1),part:"referenced-by-tree"},n(this.referencedByTreeData)),!(null===(i=this.referencedByTreeData)||void 0===i?void 0:i.length)&&e("gxg-text",{textAlign:"center",padding:"m",type:"text-regular",maxWidth:this.referencesMessagesMaxWidth,part:"referenced-by-text"},0===(null===(o=this.referencedByTreeData)||void 0===o?void 0:o.length)?this._componentLocale.main.isReferencedByEmpty:this._componentLocale.main.isReferencedByError)),e("gx-ide-container",{containerTitle:this._componentLocale.main.hasReferencesTo,justifyContent:"center",fullHeight:!0,part:"references-to-container"},e("gxg-tree",{class:{"gxi-hidden":!(null===(s=this.referencesToTreeData)||void 0===s?void 0:s.length)},checkbox:!1,onTreeItemStateChanged:this.referencesPanelStateChangedHandler(!0),part:"references-to-tree"},n(this.referencesToTreeData)),!(null===(a=this.referencesToTreeData)||void 0===a?void 0:a.length)&&e("gxg-text",{textAlign:"center",padding:"m",type:"text-regular",maxWidth:this.referencesMessagesMaxWidth,part:"references-to-text"},0===(null===(l=this.referencesToTreeData)||void 0===l?void 0:l.length)?this._componentLocale.main.hasReferencesEmpty:this._componentLocale.main.hasReferencesToError)))))}static get assetsDirs(){return["gx-ide-assets/references"]}get el(){return o(this)}static get watchers(){return{selectedObject:["selectedObjectHandler"]}}};g.style='.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}:host(.gx-ide-component){box-shadow:var(--box-shadow-01) !important;height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-weight-regular);font-size:var(--font-size-lg);line-height:1.6em;height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:6px;height:6px}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-main::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-main .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:6px;height:6px}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gray-02);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb{background:var(--gray-05);border-radius:10px}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background:var(--gray-04);cursor:pointer}.gx-ide-overflow .gxg-scroll{display:block;overflow-y:auto;padding-right:2px}:host{display:block}.header{}.header__top{grid-template-columns:min-content auto 1fr min-content;grid-template-rows:1fr;grid-template-areas:"hide-bar-button suggest-label gxg-suggest selector-dialog-button"}.header__top .hide-bar-button{grid-area:hide-bar-button}.header__top .suggest-label{grid-area:suggest-label}.header__top gxg-suggest{grid-area:gxg-suggest}.header__top .selector-dialog-button{grid-area:selector-dialog-button}.header__bottom{display:grid;grid-template-rows:1fr;transition:var(--gx-ide-timing-super-fast-ms) grid-template-rows}.header__bottom--hidden{grid-template-rows:0fr}.header__bottom .outer-wrapper{overflow:hidden}.header__bottom .inner-wrapper{padding-top:var(--gx-ide-grid-row-gap);display:flex;flex-direction:row;align-items:center;justify-content:space-between}.header__bottom .inner-wrapper__left{display:flex;align-items:center;gap:var(--gx-ide-grid-row-gap)}.header-hidden .first-row{grid-template-columns:auto 1fr auto}.header-hidden .first-row>:nth-child(3){align-self:end}.header-hidden .second-row{display:none}.main{grid-template-columns:1fr 1fr;grid-template-rows:1fr;grid-template-areas:"is-referenced has-references";height:100%;gap:0}.main>*:first-child{border-right:1px solid var(--gx-ide-container-border-color)}.main .is-referenced{grid-area:is-referenced}.main .has-references{grid-area:has-references}';export{g as gx_ide_references}
@@ -0,0 +1 @@
1
+ import{h as e}from"./p-f9f51980.js";const t=(t,r=!0)=>(null==t?void 0:t.length)?r?t.map((e=>i(e))):e("gxg-tree",{slot:"tree"},t.map((e=>i(e)))):[],i=i=>{var r;const c=i.items?i.items.length:0;return e("gxg-tree-item",{checkbox:i.checkbox,checked:i.checked,description:i.description,disabled:i.disabled,icon:i.icon,indeterminate:i.indeterminate,id:i.id,key:`tree-item-${i.id}`,label:i.label,leaf:!(0!==c&&!i.leaf||i.lazy),numberOfChildren:c,opened:i.opened,selected:i.selected},[i.label,(null===(r=i.items)||void 0===r?void 0:r.length)&&t(i.items,!1)])},r=(e,t,i)=>e.map((e=>e.id===i?Object.assign(Object.assign({},e),t):e.items?Object.assign(Object.assign({},e),{items:r(e.items,t,i)}):e)),c=(e,t,i)=>e.length&&t&&i?r(e,t,i):e;export{t as r,c as u}
@@ -0,0 +1 @@
1
+ import{r as t,h as e,H as i}from"./p-f9f51980.js";import{u as s,r as o}from"./p-67cf60f5.js";const h=class{constructor(e){t(this,e),this.closeTreeNodeHandler=()=>{this.tree.toggleItems(["number-1-1-2"],!1)},this.openTreeNodeHandler=()=>{this.tree.toggleItems(["number-1-1-2"],!0)},this.toggleTreeNodeHandler=()=>{this.tree.toggleItems(["number-1-1-2"])},this.getSelectedItemsHandler=()=>{(async()=>{const t=await this.tree.getSelectedItems();console.log(t)})()},this.getCheckedItemsHandler=()=>{(async()=>{const t=await this.tree.getCheckedItems();console.log(t)})()},this.deleteNodeHandler=()=>{this.treeModel=[]},this.treeItemStateChangedHandler=t=>{const e=t.detail.itemData,i=t.detail.itemData.id;e.lazy&&this.updateLazyCallback(i).then((t=>{if(null==t?void 0:t.length){const o=s(this.treeModel,{id:i,label:e.label,items:t},i);this.treeModel=o}}))},this.treeModel=void 0,this.lazyNode=void 0,this.updateLazyCallback=void 0,this.newNode=void 0,this.testUpdateNode=!1,this.lazyLoadTreeItemsCallback=void 0}loadLazyChildrenHandler(t){if(this.lazyLoadTreeItemsCallback){const e=this.lazyLoadTreeItemsCallback(t.detail);setTimeout((()=>{e.then((t=>{this.treeModel=t}))}),1e3)}}treeItemStateChanged(t){const e=s(this.treeModel,t.detail,t.detail.id);console.log("updatedTreeModel",e)}render(){return!this.testUpdateNode&&this.treeModel?e(i,null,e("gxg-tree",{checked:!0,checkbox:!0,multiSelection:!0,ref:t=>this.tree=t},o(this.treeModel)),",",e("div",{class:"tree-buttons"},e("gxg-button",{type:"outlined",onClick:this.closeTreeNodeHandler},"Close 1-1-2"),e("gxg-button",{type:"outlined",onClick:this.openTreeNodeHandler},"Open 1-1-2"),e("gxg-button",{type:"outlined",onClick:this.toggleTreeNodeHandler},"Toggle 1-1-2"),e("gxg-button",{type:"outlined",onClick:this.getSelectedItemsHandler},"Get Selected Items"),e("gxg-button",{type:"outlined",onClick:this.getCheckedItemsHandler},"Get Checked Items"),e("gxg-button",{type:"outlined",onClick:this.deleteNodeHandler},"Delete Tree"))):this.testUpdateNode?e(i,null,e("gxg-tree",{checked:!0,checkbox:!0,multiSelection:!0,ref:t=>this.tree=t,onTreeItemStateChanged:this.treeItemStateChangedHandler},o(this.treeModel))):e("slot",null)}};h.style=":host{display:block}";export{h as gx_ide_test}
@@ -0,0 +1 @@
1
+ import{r as t,h as r,H as e,g as o,c as i}from"./p-f9f51980.js";import{f as a,r as n}from"./p-cc7d6bdf.js";import{f as l}from"./p-e7e4f76c.js";const s=class{constructor(r){t(this,r),this.topBarTitle=void 0}componentWillLoad(){this.evaluateSlots()}evaluateSlots(){this.el.querySelectorAll('[slot="menu"]').length&&(this._hasMenuSlot=!0)}render(){return r(e,null,r("div",{class:"wrapper",part:"wrapper"},r("div",{class:"wrapper__left",part:"wrapper-left"},r("gxg-title",{type:"title-04",exportparts:"title: gxg-title"},this.topBarTitle)),r("div",{class:"wrapper__right",part:"wrapper-right"},this._hasMenuSlot?r("gxg-button",{type:"secondary-icon-only",icon:"gemini-tools/show-more-vertical"},r("slot",{name:"menu"})):null)))}get el(){return o(this)}};s.style=":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";const g=class{constructor(r){t(this,r),this.change=i(this,"change",7),this.showValidationMessage=!1,this._componentDidLoad=!1,this.disabled=!1,this.formMessageLogic=a,this.required=!1,this.validationStatus="indeterminate",this.uncheckAll=t=>{const r=this.getEnabledRadios();r.length&&r.forEach((r=>{t!==r&&r.checked&&(r.checked=!1)}))},this.setValue=()=>{const t=this.getEnabledRadios();let r;if(t.forEach((t=>{t.disabled||r||!r&&t.checked&&(r=t)})),this.value&&r)this.value!==r.value&&(this.value=r.value);else if(this.value&&!r){const r=t.find((t=>t.value===this.value));r?r.checked=!0:(this.value=t[0].value,t[0].checked=!0)}else!this.value&&r?this.value=r.value:(this.value=t[0].value,t[0].checked=!0)},this.disableAllRadios=()=>{this.disabled&&this.el.querySelectorAll("gxg-form-radio").forEach((t=>{t.disabled=!0}))},this.enableAllRadios=()=>{this.disabled||this.el.querySelectorAll("gxg-form-radio").forEach((t=>{t.disabled=!1,t.value===this.value&&(t.checked=!0)}))},this.getEnabledRadios=()=>{const t=this.el.querySelectorAll("gxg-form-radio"),r=[];return t.forEach((t=>{t.disabled||r.push(t)})),r},this.getCheckboxByValue=t=>{const r=this.getEnabledRadios();let e;return r.length&&(e=r.find((r=>r.value===t))),e}}disabledHandler(t){!0===t?(this.disableAllRadios(),this.valueBeforeDisabled=this.value,this.value=null):(this.value=this.valueBeforeDisabled,this.enableAllRadios())}watchValueHandler(t){const r=this.getCheckboxByValue(t);this.uncheckAll(r),this._componentDidLoad&&this.change.emit({id:r.radioId,value:this.value})}radioCheckedHandler(t){this.value=t.detail.value}keyPressedHandler(t){const r=t.detail,e=t.target;let o=null;const i=Array.from(this.el.querySelectorAll("gxg-form-radio:not([disabled])")),a=i.findIndex((t=>e===t));-1!==a&&("ArrowDown"===r||"ArrowRight"===r?a+1<i.length&&(o=i[a+1]):"ArrowUp"===r||"ArrowLeft"===r?a-1<i.length&&(o=i[a-1]):"Enter"===r&&(e.checked||(this.value=e.value)),o&&o.focus())}componentWillLoad(){this.disabled&&this.disableAllRadios(),this.setValue()}componentDidLoad(){this._componentDidLoad=!0}renderLabel(){if(this.label)return r("gxg-label",{class:"label"},this.label,n(this))}render(){return r(e,{class:{"gxg-form-radio-group":!0,"gxg-form-radio-group--row":this.row,[l.VALIDATION_INDETERMINATE_CLASS]:"indeterminate"===this.validationStatus,[l.VALIDATION_WARNING_CLASS]:"warning"===this.validationStatus,[l.VALIDATION_ERROR_CLASS]:"error"===this.validationStatus,[l.VALIDATION_SUCCESS_CLASS]:"success"===this.validationStatus}},this.renderLabel(),r("div",{class:"radios-wrapper"},r("slot",null)),a(this))}get el(){return o(this)}static get watchers(){return{disabled:["disabledHandler"],value:["watchValueHandler"]}}};g.style="/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0;}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px;}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-01--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-02{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-02--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-03{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em}.gxg-title-03--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-xs);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;text-transform:uppercase;line-height:1.556em;color:var(--color-on-primary)}.gxg-title-04{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-title-04--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-md);letter-spacing:var(--letter-spacing-md);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-title-05{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em}.gxg-title-05--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-sm);color:var(--color-on-background);text-align:start;line-height:1.556em;color:var(--color-on-primary)}.gxg-text{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em}.gxg-text--negative{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-on-primary)}.gxg-text--gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--gray-05)}.gxg-quote{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;font-style:italic}.gxg-quote--negative{color:var(--color-on-primary)}.gxg-link{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--color-primary-hover)}.gxg-link:active{color:var(--color-primary-active)}.gxg-link-gray{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04)}.gxg-link-gray:hover{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-primary);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--gray-04);color:var(--gray-06)}.gxg-alert-error{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-error-dark);display:inline-block}.gxg-alert-warning{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-warning-dark);display:inline-block}.gxg-alert-success{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;color:var(--color-success-dark);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-button-styles{font-family:var(--font-family-primary) !important;font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm) !important;letter-spacing:var(--letter-spacing-xs);color:var(--color-primary-enabled);text-align:center;line-height:1.455em}:host{display:block}:host .label{font-family:var(--font-family-primary);font-weight:var(--font-weight-regular);font-size:var(--font-size-sm);letter-spacing:var(--letter-spacing-xs);color:var(--color-on-background);text-align:start;line-height:1.455em;display:flex;margin-bottom:var(--spacing-lay-xs);display:inline-block;margin-bottom:var(--spacing-comp-02)}:host .radios-wrapper{display:flex;flex-direction:column;gap:var(--gxg-form-control-gap--vertical)}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}:host(.gxg-form-radio-group--row) .radios-wrapper{flex-direction:row;gap:var(--gxg-form-control-gap--horizontal);align-items:center}:host .required{padding-left:2px}";export{s as gx_ide_top_bar,g as gxg_form_radio_group}
@@ -0,0 +1,2 @@
1
+ import { GxgTreeItemData } from "@genexus/gemini/dist/types/components/tree-item/gxg-tree-item";
2
+ export declare const updateTreeModel: (actualModel: GxgTreeItemData[], updatedNodeModel: GxgTreeItemData, updatedNodeId: string) => GxgTreeItemData[];
@@ -5,16 +5,34 @@ export declare class GxIdeUiTest {
5
5
  * The model for a gxg-tree
6
6
  */
7
7
  treeModel: GxgTreeItemData[];
8
+ /**
9
+ * A new lazy node
10
+ */
11
+ readonly lazyNode: GxgTreeItemData[];
12
+ /**
13
+ * A new lazy node
14
+ */
15
+ readonly updateLazyCallback: (id: string) => Promise<GxgTreeItemData[]>;
16
+ /**
17
+ * The new tree node to update
18
+ */
19
+ newNode: GxgTreeItemData[];
20
+ /**
21
+ * Update tree model test
22
+ */
23
+ readonly testUpdateNode = false;
8
24
  /**
9
25
  * A callback that returns a Promise with the new tree model
10
26
  */
11
27
  readonly lazyLoadTreeItemsCallback: (treeItemId: string) => Promise<GxgTreeItemData[]>;
28
+ loadLazyChildrenHandler(e: CustomEvent<string>): void;
29
+ treeItemStateChanged(event: CustomEvent<GxgTreeItemData>): void;
12
30
  private closeTreeNodeHandler;
13
31
  private openTreeNodeHandler;
14
32
  private toggleTreeNodeHandler;
15
33
  private getSelectedItemsHandler;
16
34
  private getCheckedItemsHandler;
17
35
  private deleteNodeHandler;
18
- loadLazyChildrenHandler(e: CustomEvent<string>): void;
36
+ private treeItemStateChangedHandler;
19
37
  render(): any;
20
38
  }
@@ -1,4 +1,5 @@
1
1
  import { EventEmitter } from "../../stencil-public-runtime";
2
+ import { GxgTreeItemData } from "@genexus/gemini/dist/types/components/tree-item/gxg-tree-item";
2
3
  import { SuggestData } from "@genexus/chameleon-controls-library/dist/types/components/suggest/suggest-list/ch-suggest-list";
3
4
  export declare class GxIdeReferences {
4
5
  /**
@@ -15,8 +16,8 @@ export declare class GxIdeReferences {
15
16
  private referencesMessagesMaxWidth;
16
17
  el: HTMLGxIdeReferencesElement;
17
18
  private selectObjectSuggestEl;
18
- private referencedByEl;
19
- private referencesToEl;
19
+ referencedByTreeData: GxgTreeItemData[];
20
+ referencesToTreeData: GxgTreeItemData[];
20
21
  /**
21
22
  * Displays or hides the header-bottom section
22
23
  */
@@ -28,19 +29,16 @@ export declare class GxIdeReferences {
28
29
  /**
29
30
  * Keeps the objects that are referenced by the current selected object
30
31
  */
31
- referencedBy: ReferenceData[];
32
+ referencedBy: GxgTreeItemData[];
32
33
  /**
33
34
  * Keeps the objects that have references to the current selected object
34
35
  */
35
- referencesTo: ReferenceData[];
36
- /**
37
- * If true, will hide the top-bar
38
- */
39
- readonly hideTopBar = false;
36
+ referencesTo: GxgTreeItemData[];
40
37
  /**
41
38
  * Currently selected object
42
39
  */
43
40
  selectedObject?: ObjectData;
41
+ selectedObjectHandler(newSelectedObject: ObjectData): void;
44
42
  /**
45
43
  * Callback invoked when user writes on object selector input, return possible options to show in autocomplete list
46
44
  */
@@ -61,47 +59,53 @@ export declare class GxIdeReferences {
61
59
  * Callback invoked when any item from the references panels is selected
62
60
  */
63
61
  readonly selectReferenceCallback?: SelectReferenceCallback;
64
- selectedObjectHandler(newSelectedObject: ObjectData): void;
65
62
  /**
66
- * @description Gets fired when the component has rendered for the first time.
63
+ * Gets fired when the component has rendered for the first time.
67
64
  */
68
65
  componentDidRenderEvent: EventEmitter<string>;
69
66
  componentWillLoad(): Promise<void>;
70
67
  componentDidLoad(): void;
71
68
  componentDidRender(): void;
72
69
  /**
73
- * @description It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
70
+ * It attaches on the ch-suggest, the "itemSelected" event triggered by the ch-suggest-list-item. This helps set the new 'selectedObject'.
74
71
  */
75
72
  private attachSelectObjectListener;
76
73
  /**
77
- * @description It attaches several events on the 'referencedByEl' element, which is a tree.
78
- */
79
- private attachReferencedByListeners;
80
- /**
81
- * @description It attaches several events on the 'referencesToEl' element, which is a tree.
82
- */
83
- private attachReferencesToListeners;
84
- /**
85
- * @description This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
74
+ * This handler gets fired every time the value of the 'Select Object' ch-suggest changes. Then, it calls the 'updateSuggestedObjects' method, that keeps the state of the last suggested objects that were passed bu the host. Also, it shows the suggested objects on the ch-suggest box.
86
75
  */
87
76
  private selectObjectValueChangedHandler;
88
77
  private openObjectCallbackHandler;
89
78
  /**
90
- * @description handler that gets fired when the use clicks on the ch-suggest button (...)
79
+ * handler that gets fired when the use clicks on the ch-suggest button (...)
91
80
  */
92
81
  private openSelectorDialogCallbackHandler;
93
82
  /**
94
- * @description It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
83
+ * It evaluates if loadReferencesCallback should be called, depending wether there is or not an actual selected object.
95
84
  */
96
85
  private evaluateInitialReferenceData;
97
86
  /**
98
- * @description This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels.
87
+ * This method invokes 'loadReferencesCallback' callback for 'Is Referenced By' and 'Has References To' panels. The second parameter "to" indicates if loadReferencesCallback callback should be called for "has references to" or "is references by"
99
88
  */
100
89
  private loadReferencesHandler;
101
90
  /**
102
- * @description It hides/show the bar (The header bottom section).
91
+ * It hides/show the bar (The header bottom section).
103
92
  */
104
93
  private hideBarButtonClickedHandler;
94
+ /**
95
+ * Simple helper function to get 'this.referencedByTreeData' or 'this.referencesToTreeData'
96
+ */
97
+ private getRef;
98
+ /**
99
+ * Simple helper function to update 'this.referencedByTreeData' or 'this.referencesToTreeData'
100
+ */
101
+ private updateRef;
102
+ /**
103
+ * Handles changes on any of the references (by or to). Used to:
104
+ * 1) Keep the models updated.
105
+ * 2) call the openObjectCallback.
106
+ * 3) call the loadReferencesCallback if a lazy node was toggled.
107
+ */
108
+ private referencesPanelStateChangedHandler;
105
109
  render(): any;
106
110
  }
107
111
  export type SelectorCategoryData = {
@@ -291,10 +291,6 @@ export namespace Components {
291
291
  "userName": string;
292
292
  }
293
293
  interface GxIdeReferences {
294
- /**
295
- * If true, will hide the top-bar
296
- */
297
- "hideTopBar": false;
298
294
  /**
299
295
  * Callback invoked when a node is expanded in any of the references panels
300
296
  */
@@ -333,10 +329,28 @@ export namespace Components {
333
329
  "lazyLoadTreeItemsCallback": (
334
330
  treeItemId: string
335
331
  ) => Promise<GxgTreeItemData[]>;
332
+ /**
333
+ * A new lazy node
334
+ */
335
+ "lazyNode": GxgTreeItemData[];
336
+ /**
337
+ * The new tree node to update
338
+ */
339
+ "newNode": GxgTreeItemData[];
340
+ /**
341
+ * Update tree model test
342
+ */
343
+ "testUpdateNode": false;
336
344
  /**
337
345
  * The model for a gxg-tree
338
346
  */
339
347
  "treeModel": GxgTreeItemData[];
348
+ /**
349
+ * A new lazy node
350
+ */
351
+ "updateLazyCallback": (
352
+ id: string
353
+ ) => Promise<GxgTreeItemData[]>;
340
354
  }
341
355
  interface GxIdeTopBar {
342
356
  /**
@@ -720,16 +734,12 @@ declare namespace LocalJSX {
720
734
  "userName"?: string;
721
735
  }
722
736
  interface GxIdeReferences {
723
- /**
724
- * If true, will hide the top-bar
725
- */
726
- "hideTopBar"?: false;
727
737
  /**
728
738
  * Callback invoked when a node is expanded in any of the references panels
729
739
  */
730
740
  "loadReferencesCallback"?: LoadReferencesCallback;
731
741
  /**
732
- * @description Gets fired when the component has rendered for the first time.
742
+ * Gets fired when the component has rendered for the first time.
733
743
  */
734
744
  "onComponentDidRenderEvent"?: (event: GxIdeReferencesCustomEvent<string>) => void;
735
745
  /**
@@ -770,10 +780,28 @@ declare namespace LocalJSX {
770
780
  "lazyLoadTreeItemsCallback"?: (
771
781
  treeItemId: string
772
782
  ) => Promise<GxgTreeItemData[]>;
783
+ /**
784
+ * A new lazy node
785
+ */
786
+ "lazyNode"?: GxgTreeItemData[];
787
+ /**
788
+ * The new tree node to update
789
+ */
790
+ "newNode"?: GxgTreeItemData[];
791
+ /**
792
+ * Update tree model test
793
+ */
794
+ "testUpdateNode"?: false;
773
795
  /**
774
796
  * The model for a gxg-tree
775
797
  */
776
798
  "treeModel"?: GxgTreeItemData[];
799
+ /**
800
+ * A new lazy node
801
+ */
802
+ "updateLazyCallback"?: (
803
+ id: string
804
+ ) => Promise<GxgTreeItemData[]>;
777
805
  }
778
806
  interface GxIdeTopBar {
779
807
  /**
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genexus/genexus-ide-ui",
3
3
  "license": "Apache-2.0",
4
- "version": "0.0.17",
4
+ "version": "0.0.19",
5
5
  "description": "GeneXus IDE UI components",
6
6
  "main": "dist/index.cjs.js",
7
7
  "module": "dist/index.js",
@@ -36,10 +36,10 @@
36
36
  "@types/react": "^18.2.8"
37
37
  },
38
38
  "peerDependencies": {
39
- "@genexus/gemini": "*0.1.432"
39
+ "@genexus/gemini": "*0.1.434"
40
40
  },
41
41
  "devDependencies": {
42
- "@genexus/gemini": "*0.1.432",
42
+ "@genexus/gemini": "*0.1.434",
43
43
  "@stencil-community/eslint-plugin": "^0.5.0",
44
44
  "@stencil/core": "^2.17.0",
45
45
  "@stencil/sass": "^2.0.1",
@@ -1,37 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-93a6a7e0.js');
6
-
7
- const topBarCss = ":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";
8
-
9
- const GxIdeTopBar = class {
10
- constructor(hostRef) {
11
- index.registerInstance(this, hostRef);
12
- this.topBarTitle = undefined;
13
- }
14
- // 5.EVENTS (EMIT) //
15
- // 6.METHODS //
16
- componentWillLoad() {
17
- this.evaluateSlots();
18
- }
19
- // 7.LISTENERS //
20
- // 8.PUBLIC METHODS API //
21
- // 9.LOCAL METHODS //
22
- evaluateSlots() {
23
- // header
24
- const menuSlot = this.el.querySelectorAll('[slot="menu"]');
25
- if (menuSlot.length) {
26
- this._hasMenuSlot = true;
27
- }
28
- }
29
- // 10.RENDER() FUNCTION //
30
- render() {
31
- return (index.h(index.Host, null, index.h("div", { class: "wrapper", part: "wrapper" }, index.h("div", { class: "wrapper__left", part: "wrapper-left" }, index.h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), index.h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (index.h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, index.h("slot", { name: "menu" }))) : null))));
32
- }
33
- get el() { return index.getElement(this); }
34
- };
35
- GxIdeTopBar.style = topBarCss;
36
-
37
- exports.gx_ide_top_bar = GxIdeTopBar;
@@ -1,29 +0,0 @@
1
- 'use strict';
2
-
3
- const index = require('./index-93a6a7e0.js');
4
-
5
- /* eslint-disable @typescript-eslint/no-use-before-define */
6
- const renderTreeItems = (treeItemsModel, firstCall = true) => {
7
- if (treeItemsModel === null || treeItemsModel === void 0 ? void 0 : treeItemsModel.length) {
8
- if (firstCall) {
9
- return treeItemsModel.map((item) => {
10
- return renderTreeItem(item);
11
- });
12
- }
13
- else {
14
- return (index.h("gxg-tree", { slot: "tree" }, treeItemsModel.map((item) => {
15
- return renderTreeItem(item);
16
- })));
17
- }
18
- }
19
- return [];
20
- };
21
- const renderTreeItem = (item) => {
22
- var _a;
23
- const childrenLength = item.items ? item.items.length : 0;
24
- const isLeaf = !!(childrenLength === 0 || item.leaf);
25
- const lazy = !!item.lazy;
26
- return (index.h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, key: `tree-item-${item.id}`, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
27
- };
28
-
29
- exports.renderTreeItems = renderTreeItems;
@@ -1,27 +0,0 @@
1
- import { h } from '@stencil/core/internal/client';
2
-
3
- /* eslint-disable @typescript-eslint/no-use-before-define */
4
- const renderTreeItems = (treeItemsModel, firstCall = true) => {
5
- if (treeItemsModel === null || treeItemsModel === void 0 ? void 0 : treeItemsModel.length) {
6
- if (firstCall) {
7
- return treeItemsModel.map((item) => {
8
- return renderTreeItem(item);
9
- });
10
- }
11
- else {
12
- return (h("gxg-tree", { slot: "tree" }, treeItemsModel.map((item) => {
13
- return renderTreeItem(item);
14
- })));
15
- }
16
- }
17
- return [];
18
- };
19
- const renderTreeItem = (item) => {
20
- var _a;
21
- const childrenLength = item.items ? item.items.length : 0;
22
- const isLeaf = !!(childrenLength === 0 || item.leaf);
23
- const lazy = !!item.lazy;
24
- return (h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, key: `tree-item-${item.id}`, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
25
- };
26
-
27
- export { renderTreeItems as r };
@@ -1,33 +0,0 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-4f0a5746.js';
2
-
3
- const topBarCss = ":host{display:block;box-sizing:border-box}.wrapper{display:flex;justify-content:space-between;padding:var(--spacing-comp-01) var(--spacing-comp-02);transition:background-color var(--gx-ide-timing-super-fast-ms);background-color:var(--gray-01)}gxg-title::part(title){color:var(--color-on-secondary);transition:color var(--gx-ide-timing-super-fast-ms)}";
4
-
5
- const GxIdeTopBar = class {
6
- constructor(hostRef) {
7
- registerInstance(this, hostRef);
8
- this.topBarTitle = undefined;
9
- }
10
- // 5.EVENTS (EMIT) //
11
- // 6.METHODS //
12
- componentWillLoad() {
13
- this.evaluateSlots();
14
- }
15
- // 7.LISTENERS //
16
- // 8.PUBLIC METHODS API //
17
- // 9.LOCAL METHODS //
18
- evaluateSlots() {
19
- // header
20
- const menuSlot = this.el.querySelectorAll('[slot="menu"]');
21
- if (menuSlot.length) {
22
- this._hasMenuSlot = true;
23
- }
24
- }
25
- // 10.RENDER() FUNCTION //
26
- render() {
27
- return (h(Host, null, h("div", { class: "wrapper", part: "wrapper" }, h("div", { class: "wrapper__left", part: "wrapper-left" }, h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, h("slot", { name: "menu" }))) : null))));
28
- }
29
- get el() { return getElement(this); }
30
- };
31
- GxIdeTopBar.style = topBarCss;
32
-
33
- export { GxIdeTopBar as gx_ide_top_bar };
@@ -1,27 +0,0 @@
1
- import { h } from './index-4f0a5746.js';
2
-
3
- /* eslint-disable @typescript-eslint/no-use-before-define */
4
- const renderTreeItems = (treeItemsModel, firstCall = true) => {
5
- if (treeItemsModel === null || treeItemsModel === void 0 ? void 0 : treeItemsModel.length) {
6
- if (firstCall) {
7
- return treeItemsModel.map((item) => {
8
- return renderTreeItem(item);
9
- });
10
- }
11
- else {
12
- return (h("gxg-tree", { slot: "tree" }, treeItemsModel.map((item) => {
13
- return renderTreeItem(item);
14
- })));
15
- }
16
- }
17
- return [];
18
- };
19
- const renderTreeItem = (item) => {
20
- var _a;
21
- const childrenLength = item.items ? item.items.length : 0;
22
- const isLeaf = !!(childrenLength === 0 || item.leaf);
23
- const lazy = !!item.lazy;
24
- return (h("gxg-tree-item", { checkbox: item.checkbox, checked: item.checked, disabled: item.disabled, icon: item.icon, indeterminate: item.indeterminate, id: item.id, key: `tree-item-${item.id}`, label: item.label, leaf: isLeaf && !lazy, numberOfChildren: childrenLength, opened: item.opened, selected: item.selected }, [item.label, ((_a = item.items) === null || _a === void 0 ? void 0 : _a.length) && renderTreeItems(item.items, false)]));
25
- };
26
-
27
- export { renderTreeItems as r };