????

Your IP : 3.22.242.214


Current Path : C:/inetpub/vhost/dbadm.gdtsolutions.vn/web/js/
Upload File :
Current File : C:/inetpub/vhost/dbadm.gdtsolutions.vn/web/js/plugin-navigation-tree-ab101be564a6e8a79c81.js

/*! For license information please see ../license.txt */
"use strict";(self.webpackChunk_cloudbeaver_product_default=self.webpackChunk_cloudbeaver_product_default||[]).push([[95218],{20887:(e,t,n)=>{n.d(t,{A:()=>o});const o={primary:"primary___NdoUW theme-text-primary",tools:"tools___k3fM2 theme-background-surface",actions:"actions___OjnQR"}},62677:(e,t,n)=>{n.d(t,{A:()=>o});const o={treeNodeControl:"treeNodeControl___BtlOO",dragging:"dragging___Hw0x7",editing:"editing___vUOl3",treeNodeName:"treeNodeName___VFTv_",portal:"portal___mZrJH",nameBox:"nameBox___WaKOk"}},24465:(e,t,n)=>{n.d(t,{A:()=>o});const o={navigationNodeNested:"navigationNodeNested___vtsFv"}},65935:(e,t,n)=>{n.d(t,{A:()=>o});const o={control:"control___uKlkm",outdated:"outdated___DN0T7"}},44128:(e,t,n)=>{n.r(t),n.d(t,{LocaleService:()=>a});var o=n(1118),r=n(82103),s=n(5576),i=n(34227);let a=class LocaleService extends r.j{constructor(e){super(),this.localizationService=e}register(){this.localizationService.addProvider(this.provider.bind(this))}load(){}async provider(e){switch(e){case"ru":return(await Promise.all([n.e(92436),n.e(7554)]).then(n.bind(n,60052))).default;case"it":return(await Promise.all([n.e(32756),n.e(29935)]).then(n.bind(n,32900))).default;case"zh":return(await Promise.all([n.e(52041),n.e(52316)]).then(n.bind(n,18351))).default;case"fr":return(await Promise.all([n.e(29671),n.e(74697)]).then(n.bind(n,20597))).default;default:return(await Promise.all([n.e(41114),n.e(97078)]).then(n.bind(n,82202))).default}}};a=(0,o.Cg)([(0,s._)(),(0,o.Sn)("design:paramtypes",[i.LocalizationService])],a)},72757:(e,t,n)=>{n.d(t,{Y:()=>o});const o=(0,n(19102).V)("link-object",{label:"link-object",icon:"/icons/link_editor_sm.svg"})},65427:(e,t,n)=>{n.d(t,{S:()=>o});const o=(0,n(44745).M)("elements-tree")},32450:(e,t,n)=>{n.d(t,{ElementsTree:()=>He});var o=n(41773),r=n(7838),s=n(15993),i=n(64928),a=n(80290),d=n(40666),c=n(76256),l=n(7167),u=n(95709),h=n(34758),g=n(25634),f=n(23867),p=n(70500),v=n(18699),m=n(13676),N=n(43995),x=n(30819),S=n(6587),_=n(3942),T=n(91222);const C={box:"box___dJ87Z",tree:"tree___w9W7n",treeElements:"treeElements___XCzDS",treeBox:"treeBox___Yzmfs",folderExplorerPath:"folderExplorerPath___HyjhR",dropOutside:"dropOutside___xjoZk theme-border-color-background",bottom:"bottom___tNIep",showDropOutside:"showDropOutside___HzD_9",active:"active___ycUa3"};var b=n(34685),j=n(69519);const y=(0,r.PA)((function ElementsTreeContentLoader({context:e,childrenState:t,emptyPlaceholder:n,children:r}){const s=(0,b.u)((()=>e.tree.getNodeChildren(e.tree.root).length>0)),i=(0,b.u)((()=>(t.isLoading()||e.tree.isLoading())&&!e.tree.isLoaded()));if(!s){if(i)return(0,o.jsx)(j.a,{});if(e.tree.filtering)return(0,o.jsx)(f.v,{children:(0,o.jsx)(p.H,{token:"app_navigationTree_node_no_results",filter:e.tree.filter})});if(e.folderExplorer.root===e.folderExplorer.state.folder)return(0,o.jsx)(o.Fragment,{children:n&&(0,o.jsx)(n,{})})}return(0,o.jsx)(j.a,{suspense:!0,children:r})}));var w=n(53692),I=n(88706),E=n(18883),P=n(17675),D=n(13720),R=n(74508),O=n(68426),k=n(91668),A=n(65427),H=n(35025),M=n(408);const F={filterBox:"filterBox___ISpYF theme-background-surface"},L=(0,r.PA)((function ElementsTreeFilter({tree:e,className:t}){const[n]=(0,H.i)({focusFirstChild:!0}),r=(0,P.W)(),s=(0,i.d)(F);return e.settings?.filter?(0,o.jsx)("div",{ref:n,className:(0,l.s)(s,{filterBox:!0},t),children:(0,o.jsx)(M.d,{placeholder:r("app_navigationTree_search"),value:e.filter,onChange:t=>e.setFilter(t)})}):null}));var G=n(20887);const B={iconButton:"iconButton___jWXyz",icon:"icon___Hpzr0",staticImage:"staticImage___hF67v",loading:"loading___W5hC9",rotating:"rotating___A92Ve",opened:"opened___uAxji"};var z=n(90398),U=n(26339),V=n(68768),X=n(21252),W=n(12483);const Z={toolsMenu:"toolsMenu___B2RD6",menuBarItem:"menuBarItem___aUE3X",menuBarItemLabel:"menuBarItemLabel___m_21S"},Y={wrapper:"wrapper___iMR_N"};var K=n(48477);const $=[[U.A,{mode:"append",styles:[Z]}]],q=(0,r.PA)((function ElementsTreeToolsMenu({tree:e,className:t}){const n=(0,i.d)(Y),r=(0,i.d)(V.A,U.A),s=(0,W.b)({menu:K.b});return(0,z.Z)(s.context,((t,n)=>{t.set(A.S,e,n)})),(0,o.jsx)(D.Z,{registry:$,children:(0,o.jsx)("div",{className:(0,l.s)(n,{wrapper:!0},t),children:(0,o.jsx)(X.R,{className:(0,l.s)(Z,{toolsMenu:!0},r.floating),menu:s})})})}));var J=n(33395),Q=n(16101),ee=n(42157),te=n(75082);const ne={settings:"settings___JZ8Le",group:"group___DmZuC",groupPadding:"groupPadding___LOhuF"},oe=(0,r.PA)((function NavigationTreeSettings({elements:e,tree:t,className:n}){const r=(0,v.h)(te.ElementsTreeSettingsService),s=(0,i.d)(ne);return(0,o.jsx)("div",{className:(0,l.s)(s,{settings:!0},n),children:(0,o.jsx)(Q.Y,{className:(0,l.s)(s,{group:!0,groupPadding:!0}),keepSize:!0,gap:!0,dense:!0,children:(0,o.jsx)(j.a,{suspense:!0,children:(0,o.jsx)(ee.O,{container:r.placeholder,elements:e,tree:t})})})})})),re=[[E.A,{mode:"append",styles:[B]}]],se=(0,r.PA)((function ElementsTreeTools({tree:e,settingsElements:t,children:n}){const r=e.root,a=e.baseRoot,d=(0,P.W)(),[c,u]=(0,s.useState)(!1),h=(0,i.d)(G.A,B);(0,k.c)(((t,n)=>{t.set(J.X,a,n),t.set(A.S,e,n)}));const g=e.isLoading();return(0,o.jsx)(D.Z,{registry:re,children:(0,o.jsxs)("div",{className:(0,l.s)(h,{tools:!0}),children:[(0,o.jsxs)("div",{className:(0,l.s)(h,{actions:!0}),children:[e.settings?.configurable&&(0,o.jsx)(R.G,{name:"/icons/settings_cog_sm.svg",title:d("ui_settings"),className:(0,l.s)(h,{primary:!0,opened:c}),img:!0,onClick:()=>u(!c)}),(0,o.jsx)(O.S,{}),(0,o.jsx)(q,{tree:e}),(0,o.jsx)(R.G,{name:"/icons/refresh_sm.svg#root",title:d("app_navigationTree_refresh"),disabled:g,className:(0,l.s)(h,{primary:!0,loading:g}),img:!0,onClick:()=>e.refresh(r)})]}),e.settings&&c&&(0,o.jsx)(oe,{tree:e,elements:t}),(0,o.jsx)(L,{tree:e}),n]})})}));var ie=n(53653),ae=n(94485);const de=(0,r.PA)((function NavigationNodeElement({nodeId:e,path:t,expanded:n,dragging:r,className:i}){const a=(0,s.useContext)(w.R);if(a?.tree.renderers)for(const s of a.tree.renderers){const a=s(e);if(a)return(0,o.jsx)(a,{nodeId:e,path:t,expanded:n,dragging:r,className:i,component:NavigationNodeElement})}return(0,o.jsx)(ce,{nodeId:e,path:t,expanded:n,dragging:r,className:i})})),ce=(0,r.PA)((function NavigationNodeRenderer({nodeId:e,path:t,expanded:n,dragging:r,className:s}){const i=(0,v.h)(x.NavNodeInfoResource).get(e);return i?(0,o.jsx)(ae.R,{node:i,path:t,expanded:n,dragging:r,className:s,component:de}):(0,o.jsx)(f.v,{children:(0,o.jsx)(p.H,{token:"app_navigationTree_node_not_found"})})}));var le=n(41075);const ue="nav-tree://limit";var he=n(27863);const ge={loadMoreBox:"loadMoreBox___u9kD2 theme-text-text-hint-on-light theme-typography--caption"};function elementsTreeLimitRenderer(e){if(e===ue)return fe}const fe=(0,r.PA)((function NavTreeLimitMessage({path:e}){const t=(0,P.W)(),n=(0,v.h)(S.NavTreeResource),r=n.childrenLimit;return(0,o.jsx)("div",{className:(0,l.s)(ge,{loadMoreBox:!0}),children:(0,o.jsx)(he.N,{title:t("app_navigationTree_limited",void 0,{limit:r}),onClick:function loadMore(){const t=e[e.length-1],o=n.offsetPagination.getPageInfo((0,le.uL)(0,0).setTarget(t));o&&n.load((0,le.uL)((0,le.AY)(o),r).setTarget(t))},children:t("ui_load_more")})})}));var pe=n(66866),ve=n(84833);var me=n(94866),Ne=n(77337),xe=n(92230),Se=n(28347),_e=n(84383),Te=n(91184),Ce=n(49690),be=n(14452),je=n(86764),ye=n(44017),we=n(62151),Ie=n(10392),Ee=n(40813),Pe=n(85213),De=n(31324),Re=n(8385),Oe=n(25756),ke=n(9012);function useElementsTree(e){const t=(0,v.h)(we.ProjectsService),n=(0,v.h)(Ie.ProjectInfoResource),o=(0,v.h)(be.NotificationService),r=(0,v.h)(x.NavNodeInfoResource),i=(0,v.h)(S.NavTreeResource),a=(0,v.h)(Ce.ConnectionInfoResource),d=(0,v.h)(Oe.ElementsTreeService),[c]=(0,s.useState)((()=>new De.C((()=>({selected:!1,expanded:!1,showInFilter:!1})))));(e=(0,Ne.U)(e)).nodeInfoTransformers=(0,s.useMemo)((()=>e.nodeInfoTransformers||[]),[...e.nodeInfoTransformers||[]]),e.renderers=(0,s.useMemo)((()=>e.renderers||[]),[...e.renderers||[]]),e.filters=(0,s.useMemo)((()=>e.filters||[]),[...e.filters||[]]),e.expandStateGetters=(0,s.useMemo)((()=>e.expandStateGetters||[]),[...e.expandStateGetters||[]]);const l=e.localState||c;async function handleLoadChildren(t,n){try{const o=await d.onLoad.execute({nodeId:t,manual:n});return!je.a.isInterrupted(o)&&await e.loadChildren(t,n)}catch(e){return o.logException(e),!1}}const[u]=(0,s.useState)((()=>me.sH.map(new Map,{deep:!1}))),h=(0,Ne.U)({async loadTree(...t){await Promise.all(u.values()),await n.load(),await a.load(Ce.ConnectionInfoActiveProjectKey);const o=await f.loadPath(e.folderExplorer.state.fullPath);o===e.folderExplorer.state.folder?await this.loadNodes(...t):void 0===o?e.folderExplorer.open([],e.baseRoot):this.exitNodeFolder(o)},async loadNodes(...e){const t=[];for(const n of e){const e=this.loadNode(n).finally((()=>u.delete(n)));u.set(n,e),t.push(e)}await Promise.all(t)},async loadNode(t){await n.waitLoad(),await a.waitLoad(),await i.waitLoad(),await r.waitLoad();const o=f.isNodeExpanded(t,!0);if(!o&&t!==e.root){if(r.isOutdated(t)){const e=r.get(t);void 0===e?.parentId||i.isOutdated(e.parentId)||await r.load(t)}return}if(!await handleLoadChildren(t,!1))return void(o&&f.collapse(t));await r.load(t);const s=i.offsetPagination.getPageInfo((0,le.uL)(0,0).setTarget(t));if(s){const e=(0,le.AY)(s);for(let n=0;n<e;n+=i.childrenLimit)await i.load((0,le.uL)(n,i.childrenLimit).setTarget(t))}if(o&&f.isNodeExpandable(t)&&0===f.getNodeChildren(t).length&&!f.filtering)f.collapse(t);else{if(f.settings?.foldersTree&&e.folderExplorer.options.expandFoldersWithSingleElement&&t===e.root&&1===f.getNodeChildren(t).length){const n=f.getNodeChildren(t)[0];(f.isNodeExpandable(n)||f.isNodeExpanded(n))&&e.folderExplorer.open(r.getParents(n),n)}await this.loadNodes(...i.get(t)||[])}},exitNodeFolder(t){(0,me.h5)((()=>{const n=e.folderExplorer;if(1===n.state.fullPath.length||t===e.baseRoot)return;const o=n.state.fullPath.indexOf(t);o>=0&&n.open(n.state.fullPath.slice(0,o-1),n.state.fullPath[o-1])}))},getNestedChildren(e){const t=[],n=f.getNodeChildren(e);for(t.push(...n);n.length;){const e=n.shift(),o=f.getNodeChildren(e);n.push(...o),t.push(...o)}return t},async resetSelection(){for(const[t,n]of l)if(n.selected&&(n.selected=!1,e.onSelect)){const n=r.get(t);n&&await e.onSelect(n,!1)}},async clearSelection(t){const n=r.get(t),o=n&&e.isGroup?.(n)?this.getNestedChildren(t):[];for(const[n,s]of l)if(s.selected&&n!==t&&!o.includes(n)&&(s.selected=!1,e.onSelect)){const t=r.get(n);t&&await e.onSelect(t,!1)}},async setSelection(t,n){const o=r.get(t);if(!o)return;const s=l.get(t);if(f.isNodeSelected(t)!==n){if(e.isGroup?.(o)){const e=f.getNodeChildren(t);for(const t of e)await this.setSelection(t,n);if(0===e.length)return}else s.selected=n;await(e.onSelect?.(o,n))}}}),g=(0,xe.P)(`elements-tree-${e.baseRoot}`,(()=>(0,me.sH)({nodeState:[],filter:""})),(async t=>{(0,me.h5)((()=>{e.settings?.saveFilter||(t.filter=""),e.settings?.saveExpanded||(t.nodeState=[]),l.sync(t.nodeState)}));try{await h.loadTree(e.root)}catch{}}),(e=>"object"==typeof e&&"string"==typeof e.filter&&Array.isArray(e.nodeState))),f=(0,Se.G)((()=>({actions:new ye.H,activeDnDData:[],get filter(){return this.userData.filter},get filtering(){return""!==this.filter},isLoading:()=>u.size>0,isLoaded(){return r.isLoaded(this.root)},getNodeState(e){return this.state.get(e)},getTransformedNodeInfo(e){return(0,ke.D)(e,this.nodeInfoTransformers)},isNodeExpanded(t,n){if(t===this.root)return!0;if(this.filtering&&this.settings?.filterAll&&!n)return this.getNodeChildren(t).length>0;const o=this.getNodeState(t),r=o.expanded||o.showInFilter;return!r&&e.expandStateGetters?.length?e.expandStateGetters.map((e=>e(this,t,o))).filter((e=>null!==e)).some((e=>e?.expanded)):r},isNodeExpandable(t){if(t===this.root)return!1;if(e.expandStateGetters?.length){const n=this.getNodeState(t);return e.expandStateGetters.map((e=>e(this,t,n))).filter((e=>null!==e)).every((e=>!1!==e?.expandable))}return!0},getExpanded(){return Array.from(this.state).filter((([e,t])=>t.expanded)).map((([e])=>e))},getSelected(){return Array.from(this.state).filter((([e,t])=>t.selected)).map((([e])=>e))},isNodeSelected(e){const t=r.get(e);if(t&&f.isGroup?.(t)){const t=this.getNodeChildren(e);return t.length>0&&t.every((e=>this.isNodeSelected(e)))}return this.getNodeState(e).selected},isNodeIndeterminateSelected(t){if(this.isNodeSelected(t))return!1;const n=r.get(t);if(n&&f.isGroup?.(n)){const n=e.getChildren(t)||[];return n.length>0&&n.some((e=>this.isNodeSelected(e)||this.isNodeIndeterminateSelected(e)))}return!1},getNodeChildren(t){const n=r.get(t),o=e.getChildren(t)||[];return n?(e.filters||[]).reduce(((e,t)=>t(f,f.filter,n,e,this.state)),o):[]},async setFilter(t){(0,me.h5)((()=>{this.userData.filter=t;for(const e of this.state.values())e.showInFilter=!1})),await(e.onFilter?.(t))},async collapse(e){if(void 0!==e){if(!this.isNodeExpandable(e))return;const t=this.state.get(e);return t.expanded=!1,void(t.showInFilter=!1)}for(const e of this.state.values())e.expanded=!1,e.showInFilter=!1},async refresh(e){try{await i.refreshTree(e)}catch(e){o.logException(e,"app_navigationTree_refresh_error")}},async show(e,t){await this.loadPath(t,e)!==e?o.logError({title:"app_navigationTree_node_not_found",message:e}):((0,me.h5)((()=>{for(const e of t){this.getNodeState(e).expanded=!0}const n=r.get(e);this.select(n,!1,!1),this.actions.execute({type:"show",nodeId:e})})),t.length>0&&await h.loadTree(t[0]))},async click(t,n,o){await(e.onClick?.(t))},async open(t,n,o){const r=this.isNodeExpandable(t.id)||this.isNodeExpanded(t.id);if(!o&&this.settings?.foldersTree&&r){const o=t.id;await handleLoadChildren(t.id,!1)&&(this.setFilter(""),e.folderExplorer.open(n,o))}const s=!o&&this.settings?.foldersTree||!1;await(e.onOpen?.(t,s))},async expand(t,n){if(!this.isNodeExpandable(t.id))return;const o=this.state.get(t.id);try{if((n||this.filtering&&!o.showInFilter)&&(n=await handleLoadChildren(t.id,!0)),this.filtering){if(o.showInFilter=!o.showInFilter&&n,!o.showInFilter){const e=h.getNestedChildren(t.id);for(const t of e){this.state.get(t).showInFilter=!1}}}else await(e.onExpand?.(t,n)),o.expanded=n&&this.getNodeChildren(t.id).length>0;n&&await h.loadTree(t.id)}catch{o.expanded=!1,this.filtering&&(o.showInFilter=!1)}},async select(t,n,o){if(e.customSelect)return void await e.customSelect(t,n,o);e.beforeSelect&&await e.beforeSelect(t,n,o);const r=this.isNodeSelected(t.id);!n&&(await h.clearSelection(t.id),r)||await h.setSelection(t.id,!r)},async resetSelection(){e.customSelectReset?await e.customSelectReset():await h.resetSelection()},async loadPath(t,n){let o;for(const e of t){if(!await handleLoadChildren(e,!1))return o;o=e}return void 0!==n&&void 0!==o&&e.getChildren(o)?.includes(n)?n:o},setDnDData(e,t){t?this.activeDnDData.includes(e)||this.activeDnDData.push(e):this.activeDnDData=this.activeDnDData.filter((t=>t!==e))}})),{state:me.sH.ref,settings:me.sH.ref,isGroup:me.sH.ref,disabled:me.sH.ref,activeDnDData:me.sH.shallow,root:me.sH.ref,filter:me.EW,filtering:me.EW,renderers:me.sH.ref,nodeInfoTransformers:me.sH.ref,baseRoot:me.sH.ref,collapse:me.XI.bound,userData:me.sH.ref},{state:l,isGroup:e.isGroup,disabled:e.disabled,root:e.root,settings:e.settings,baseRoot:e.baseRoot,renderers:e.renderers,nodeInfoTransformers:e.nodeInfoTransformers,userData:g},["isLoaded"]);(0,s.useEffect)((()=>{h.loadTree(e.root).catch((()=>({})))}),[e.root]);const p=(0,s.useCallback)((0,Re.n)((function refreshRoot(){h.loadTree(e.root).catch((()=>({})))}),100),[]);(0,_e.q)(useElementsTree,i,e.baseRoot,{onData:()=>p()}),(0,_e.q)(useElementsTree,Ie.ProjectInfoResource,Ee.fZ,{onData:()=>{p()}}),(0,Te.H)({executor:r.onDataOutdated,postHandlers:[p]}),(0,Te.H)({executor:t.onActiveProjectChange,handlers:[e=>{"after"===e.type&&p()}]}),(0,Te.H)({executor:n.onDataOutdated,handlers:[()=>i.markOutdated(x.ROOT_NODE_PATH)]}),(0,Te.H)({executor:i.onItemUpdate,handlers:[function exitFolder(e){Pe.F.forEach(e,(e=>{i.get(e)||h.exitNodeFolder(e)}))}]}),(0,Te.H)({executor:r.onItemDelete,handlers:[function deleteNodeState(e){(0,me.h5)((()=>{Pe.F.forEach(e,(e=>{l.delete(e)}))}))}]}),(0,Te.H)({executor:i.onItemDelete,handlers:[async function collapseDeletedTree(e){await Pe.F.forEachAsync(e,(async e=>{const t=r.get(e);t&&(await f.expand(t,!1),h.exitNodeFolder(e))}))}]});const m=(0,b.u)((()=>!e.settings?.filter&&f.filtering));return(0,s.useEffect)((()=>{m&&f.setFilter("")})),f}var Ae=n(62484);const He=(0,r.PA)((function ElementsTree({root:e=x.ROOT_NODE_PATH,control:t,settings:n,disabled:r,localState:j,selectionTree:E=!1,emptyPlaceholder:P,navNodeFilterCompare:D,nodeInfoTransformers:R=[],filters:O=[],renderers:k=[],expandStateGetters:A,settingsElements:H,className:M,getChildren:F,loadChildren:L,isGroup:G,beforeSelect:B,customSelect:z,customSelectReset:U,onExpand:V,onClick:X,onOpen:W,onSelect:Z,onFilter:Y}){const K=(0,i.d)(C),$=(0,v.h)(S.NavTreeResource),q=(0,v.h)(x.NavNodeInfoResource),[J,Q]=(0,s.useState)(null),ee=function useElementsTreeFolderExplorer(e,t){const n=(0,Ae.f)(e,{saveState:t?.saveExpanded}),o=(0,b.u)((()=>!t?.foldersTree&&n.state.folder!==e));return(0,s.useEffect)((()=>{o&&n.open([],e)})),n}(e,n),te=ee.state.folder,ne=(0,s.useMemo)((()=>function elementsTreeLimitFilter(e){return(t,n,o,r)=>{const s=e.offsetPagination.getPageInfo((0,le.uL)(0,0).setTarget(o.id));return s&&void 0===s.end?[...r,ue]:r}}($)),[$]),oe=(0,s.useMemo)((()=>(0,I.z)($,q,D)),[$,q,D]),re=(0,T.h)(q.get(te)),ae=function useDropOutside(e){const t=(0,s.useRef)(null),n=(0,pe.N)(),o=(0,s.useRef)({state:!1,bottom:!1});let r=(0,b.u)((()=>!!e.state.context&&e.state.canDrop)),i=!1;const a=t.current?.getBoundingClientRect();return null!==n.state.position&&a&&(n.state.position.y>a.height-24?(i=!0,r&&=!0):n.state.position.y<24?r&&=!0:o.current.state?(r&&=!0,i=o.current.bottom):r=!1),r=(0,ve.O)(r,100),o.current.bottom=i,o.current.state=r,i=(0,ve.O)(i,100),{mouse:n,showDropOutside:r,zoneActive:e.state.context&&r&&e.state.isOverCurrent,bottom:i,nestedRef:t}}(re),ce=useElementsTree({baseRoot:e,folderExplorer:ee,settings:n,root:te,disabled:r,localState:j,nodeInfoTransformers:R,filters:[oe,...O,ne],renderers:[...k,elementsTreeLimitRenderer],expandStateGetters:A,getChildren:F,loadChildren:L,isGroup:G,onFilter:Y,beforeSelect:B,customSelectReset:U,customSelect:z,onExpand:V,onSelect:Z,onOpen:W,onClick:X}),he=(0,s.useMemo)((()=>({tree:ce,folderExplorer:ee,selectionTree:E,control:t,getTreeRoot:()=>J})),[ce,ee,E,t,J]),ge=(0,s.useCallback)((e=>q.get(e)?.name||"Not found"),[q]),fe=(0,s.useCallback)((e=>{const t=q.get(e)?.objectFeatures;return!(t?.includes(_.v.schema)||t?.includes(_.v.catalog)||t?.includes(_.v.dataSource))}),[q]);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(se,{tree:ce,settingsElements:H}),(0,o.jsx)("div",{ref:Q,className:(0,l.s)(K,{treeBox:!0}),children:(0,o.jsx)(w.R.Provider,{value:he,children:(0,o.jsx)("div",{className:(0,l.s)(K,{box:!0},M),children:(0,o.jsx)(u.q,{state:ee,children:(0,o.jsxs)("div",{ref:ae.mouse.reference,className:(0,l.s)(K,{tree:!0}),onClick:function handleClick(e){m.y.has(e,a.H,d.b,c.Z,N.X)||ce.resetSelection()},children:[n?.showFolderExplorerPath&&(0,o.jsx)(h.h,{className:(0,l.s)(K,{folderExplorerPath:!0}),getName:ge,canSkip:fe}),(0,o.jsx)("div",{ref:re.setRef,className:(0,l.s)(K,{dropOutside:!0,showDropOutside:ae.showDropOutside,active:!!ae.zoneActive,bottom:ae.bottom}),children:(0,o.jsx)(g.y,{root:!0,children:(0,o.jsx)(f.v,{children:(0,o.jsx)(p.H,{token:"app_navigationTree_drop_here"})})})}),(0,o.jsx)(y,{context:he,emptyPlaceholder:P,childrenState:ce,children:(0,o.jsx)("div",{className:(0,l.s)(K,{treeElements:!0}),children:(0,o.jsx)(ie.e,{ref:ae.nestedRef,nodeId:te,component:de,path:ee.state.path,root:!0})})})]})})})})})]})}))},53692:(e,t,n)=>{n.d(t,{R:()=>o});const o=(0,n(15993).createContext)(null)},39444:(e,t,n)=>{n.d(t,{Z:()=>o});const o=n(15993).lazy((async()=>{const{ElementsTree:e}=await Promise.all([n.e(11502),n.e(7542),n.e(97493),n.e(67557),n.e(95218),n.e(11116),n.e(62570),n.e(61143)]).then(n.bind(n,32450));return{default:e}}))},25756:(e,t,n)=>{n.r(t),n.d(t,{ElementsTreeService:()=>i});var o=n(1118),r=n(5576),s=n(29606);let i=class ElementsTreeService{constructor(){this.onLoad=new s.Q}};i=(0,o.Cg)([(0,r._)(),(0,o.Sn)("design:paramtypes",[])],i)},34389:(e,t,n)=>{n.r(t),n.d(t,{ElementsTreeToolsMenuService:()=>C});var o=n(1118),r=n(50966),s=n(5576),i=n(34227),a=n(40002),d=n(78570),c=n(89063),l=n(79023),u=n(81604),h=n(72877),g=n(18292),f=n(77013),p=n(72757),v=n(65427),m=n(60939),N=n(91740),x=n(48477),S=n(45371),_=n(33395),T=n(43631);let C=class ElementsTreeToolsMenuService{constructor(e,t,n,o,r,s){this.actionService=e,this.keyBindingService=t,this.userDataService=n,this.connectionSchemaManagerService=o,this.menuService=r,this.localizationService=s}register(){this.actionService.addHandler({id:"tree-tools-menu-base-handler",isActionApplicable(e,t){const n=e.get(v.S);return!!n&&(t===a.D?n.getExpanded().length>0:[p.Y].includes(t))},getActionInfo:(e,t)=>{switch(t){case p.Y:{const e=(0,d.i)(N.V),n=this.localizationService.translate("app_navigationTree_action_link_with_editor")+(e?` (${e})`:"");return{...t.info,tooltip:n}}case a.D:{const e=(0,d.i)(m.u),n=this.localizationService.translate("app_navigationTree_action_collapse_all")+(e?` (${e})`:"");return{...t.info,tooltip:n}}}return t.info},isHidden:(e,t)=>{const n=e.get(v.S);if(t===p.Y&&n){const e=this.connectionSchemaManagerService.activeNavNode,t=e?.path.includes(n.baseRoot);return!t}return!1},handler:this.elementsTreeActionHandler.bind(this)}),this.menuService.addCreator({menus:[x.b],getItems:(e,t)=>[...t,p.Y,a.D]}),this.registerBindings()}registerBindings(){this.actionService.addHandler({id:"nav-tree-filter",actions:[c.m],contexts:[_.X],handler:this.switchFilter.bind(this)}),this.actionService.addHandler({id:"elements-tree-base",isActionApplicable:(e,t)=>{const n=e.get(v.S);return!!n&&(t===a.D?n.getExpanded().length>0:[p.Y].includes(t))},handler:this.elementsTreeActionHandler.bind(this)}),this.keyBindingService.addKeyBindingHandler({id:"nav-tree-filter",binding:T.t,actions:[c.m],handler:this.switchFilter.bind(this)}),this.keyBindingService.addKeyBindingHandler({id:"elements-tree-collapse",binding:m.u,actions:[a.D],handler:this.elementsTreeActionHandler.bind(this)}),this.keyBindingService.addKeyBindingHandler({id:"elements-tree-link",binding:N.V,actions:[p.Y],handler:this.elementsTreeActionHandler.bind(this)})}switchFilter(e,t){const n=e.get(_.X);if(void 0===n)return;const o=this.userDataService.getUserData((0,f.O)(n),S.N,S.v);o.filter=!o.filter}elementsTreeActionHandler(e,t){const n=e.get(v.S);if(void 0!==n)switch(t){case a.D:n.collapse();break;case p.Y:{const e=this.connectionSchemaManagerService.activeNavNode;e?.path.includes(n.baseRoot)&&n.show(e.nodeId,e.path);break}}}};C=(0,o.Cg)([(0,s._)(),(0,o.Sn)("design:paramtypes",[l.ActionService,u.KeyBindingService,r.UserDataService,g.ConnectionSchemaManagerService,h.MenuService,i.LocalizationService])],C)},48477:(e,t,n)=>{n.d(t,{b:()=>o});const o=(0,n(85240).E)("elements-tree-tools","Tree tools menu")},33395:(e,t,n)=>{n.d(t,{X:()=>o});const o=(0,n(44745).M)("nav-tree-root")},75082:(e,t,n)=>{n.r(t),n.d(t,{ElementsTreeSettingsService:()=>h});var o=n(1118),r=n(46210),s=n(5576),i=n(41773),a=n(7838),d=n(17675),c=n(13821),l=n(90760);const u=(0,a.PA)((function ElementsTreeBaseSettingsForm({tree:{root:e,settings:t}}){const n=(0,d.W)();return t?(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.U,{children:n("ui_settings")}),(0,i.jsx)(l.d,{id:`${e}.filter`,name:"filter",state:t,disabled:!t.configurable,title:n("app_navigationTree_settings_filter_description"),mod:["primary","dense"],small:!0,children:n("app_navigationTree_settings_filter_title")}),(0,i.jsx)(l.d,{id:`${e}.filterAll`,name:"filterAll",state:t,disabled:!t.filter||!t.configurable,title:n("app_navigationTree_settings_filter_all_description"),mod:["primary","dense"],small:!0,children:n("app_navigationTree_settings_filter_all_title")}),(0,i.jsx)(l.d,{id:`${e}.saveExpanded`,name:"saveExpanded",state:t,disabled:!t.configurable,title:n("app_navigationTree_settings_state_description"),mod:["primary","dense"],small:!0,children:n("app_navigationTree_settings_state_title")}),(0,i.jsx)(l.d,{id:`${e}.foldersTree`,name:"foldersTree",state:t,disabled:!t.configurable,title:n("app_navigationTree_settings_folders_description"),mod:["primary","dense"],small:!0,children:n("app_navigationTree_settings_folders_title")})]}):null}));let h=class ElementsTreeSettingsService{constructor(){this.placeholder=new r.B,this.placeholder.add(u,0)}};h=(0,o.Cg)([(0,s._)(),(0,o.Sn)("design:paramtypes",[])],h)},43631:(e,t,n)=>{n.d(t,{t:()=>o});const o=(0,n(45215).X)({id:"enable-filter",keys:"ctrl+f",preventDefault:!0})},45371:(e,t,n)=>{function createElementsTreeSettings(e){return{filter:!1,filterAll:!1,saveFilter:!0,saveExpanded:!0,foldersTree:!1,showFolderExplorerPath:!0,configurable:!0,projects:!0,...e}}function validateElementsTreeSettings(e){return"object"==typeof e&&"boolean"==typeof e.filterAll&&"boolean"==typeof e.filter&&"boolean"==typeof e.saveFilter&&"boolean"==typeof e.saveExpanded&&"boolean"==typeof e.foldersTree&&"boolean"==typeof e.showFolderExplorerPath&&"boolean"==typeof e.configurable&&"boolean"==typeof e.projects}n.d(t,{N:()=>createElementsTreeSettings,v:()=>validateElementsTreeSettings})},60939:(e,t,n)=>{n.d(t,{u:()=>o});const o=(0,n(45215).X)({id:"collapse-all",keys:"ctrl+shift+/",preventDefault:!0})},91740:(e,t,n)=>{n.d(t,{V:()=>o});const o=(0,n(45215).X)({id:"link-object",keys:"ctrl+shift+,",preventDefault:!0})},93358:(e,t,n)=>{n.d(t,{N:()=>o});const o=(0,n(85240).E)("nav-tree","Menu")},82076:(e,t,n)=>{var o;n.d(t,{y:()=>o}),function(e){e[e.none=0]="none",e[e.partially=1]="partially",e[e.full=2]="full"}(o||(o={}))},81173:(e,t,n)=>{n.d(t,{G:()=>o});const o="data-editing"},94697:(e,t,n)=>{n.d(t,{NavigationNodeControl:()=>I});var o=n(41773),r=n(94866),s=n(7838),i=n(15993),a=n(64928),d=n(18486),c=n(72935),l=n(34685),u=n(28347),h=n(77337),g=n(36938),f=n(7167),p=n(99862),v=n(53006),m=n(69519),N=n(18699),x=n(13676),S=n(43995),_=n(30819),T=n(6587),C=n(54379),b=n(81173),j=n(62677),y=n(32418),w=n(77376);const I=(0,s.PA)((0,i.forwardRef)((function NavigationNodeControl({node:e,nodeInfo:t,dndElement:n,dndPlaceholder:s,className:I,onClick:E},P){const D=(0,a.d)(j.A),R=(0,d.t)(),O=(0,i.useContext)(c.O),k=(0,N.h)(_.NavNodeInfoResource),A=(0,N.h)(T.NavTreeResource),H=(0,l.u)((()=>!!k.getException(e.id)||!!A.getException(e.id))),M=O.selected,F=(0,u.G)((()=>({saving:!1,editing:!1,resolve:()=>Promise.resolve(!1),startEditing(e){this.editing=!0,this.saving=!1,this.resolve=e},async save(e){this.setSaveStatus(!0);try{await this.resolve(e)&&this.finish()}finally{this.setSaveStatus(!1)}},setSaveStatus(e){this.saving=e},finish(){this.editing=!1,this.saving=!1,this.resolve=()=>Promise.resolve(!1)},cancel(){this.finish()}})),{saving:r.sH.ref,editing:r.sH.ref,startEditing:r.XI.bound,save:r.XI.bound,setSaveStatus:r.XI.bound,finish:r.XI.bound,cancel:r.XI.bound},!1),L=(0,h.U)({rename:F.startEditing});let G=t.icon;const B=t.name,z=t.tooltip;H&&(G="/icons/error_icon_sm.svg");const{editing:U,saving:V}=F,X={[b.G]:U};return(0,o.jsxs)(g.a,{ref:P,...X,className:(0,f.s)(D,{treeNodeControl:!0,dragging:!!n,editing:U},I),onClick:E,onContextMenu:function handleContextMenuOpen(e){R.handleContextMenuOpen(e),O.select()},children:[(0,o.jsx)(y.B,{nodeId:e.id}),(0,o.jsx)(p.S,{icon:G}),(0,o.jsx)(v.I,{title:z,className:(0,f.s)(D,{treeNodeName:!0}),children:(0,o.jsx)(m.a,{suspense:!0,inline:!0,fullSize:!0,children:U?(0,o.jsx)(w.h,{name:(0,_.getNodePlainName)(e),disabled:V,onSave:F.save,onClose:F.cancel}):(0,o.jsx)("div",{className:(0,f.s)(D,{nameBox:!0}),children:B})})}),!U&&!s&&(0,o.jsx)("div",{className:(0,f.s)(D,{portal:!0}),onClick:function handlePortalClick(e){x.y.set(e,S.X),O.select()},children:(0,o.jsx)(C.h,{mouseContextMenu:R,node:e,actions:L,selected:M})})]})})));I.displayName="NavigationNodeControl"},67408:(e,t,n)=>{n.d(t,{NavigationNodeEditor:()=>h});var o=n(41773),r=n(7838),s=n(15993),i=n(64928),a=n(7167),d=n(13676),c=n(43995),l=n(47768);const u={inlineEditor:"inlineEditor___qz7b6"},h=(0,r.PA)((function NavigationNodeEditor({name:e,disabled:t,onSave:n,onClose:r}){const h=(0,i.d)(u),[g,f]=(0,s.useState)(e),p=t||!(e!==g);function stopPropagation(e){d.y.set(e,c.X)}return(0,o.jsx)(l.h,{value:g,disabled:t,disableSave:p,controlsPosition:"inside",className:(0,a.s)(h,{inlineEditor:!0}),simple:!0,autofocus:!0,onChange:f,onSave:function save(){n(g)},onDoubleClick:stopPropagation,onReject:r,onBlur:r,onClick:stopPropagation})}))},32418:(e,t,n)=>{n.d(t,{B:()=>c});var o=n(41773),r=n(7838),s=n(15993),i=n(34685),a=n(48816),d=n(53692);const c=(0,r.PA)((function NavigationNodeExpand({nodeId:e}){const t=(0,s.useContext)(d.R),n=(0,s.useDeferredValue)((0,i.u)((()=>t?.tree.isNodeExpandable(e)??!0))),r=(0,s.useDeferredValue)((0,i.u)((()=>t?.tree.filtering??!1)));return n?(0,o.jsx)(a.t,{filterActive:r}):null}))},77376:(e,t,n)=>{n.d(t,{L:()=>r,h:()=>s});var o=n(15993);const r=o.lazy((async()=>{const{NavigationNodeControl:e}=await Promise.all([n.e(11502),n.e(67557),n.e(95218),n.e(10825)]).then(n.bind(n,94697));return{default:e}})),s=o.lazy((async()=>{const{NavigationNodeEditor:e}=await Promise.all([n.e(11502),n.e(97493),n.e(95218),n.e(77968)]).then(n.bind(n,67408));return{default:e}}))},53653:(e,t,n)=>{n.d(t,{e:()=>p});var o=n(41773),r=n(7838),s=n(15993),i=n(64928),a=n(17675),d=n(34685),c=n(25634),l=n(7167),u=n(23867),h=n(38387),g=n(53692),f=n(24465);const p=(0,r.PA)((0,s.forwardRef)((function NavigationNodeNested({nodeId:e,component:t,path:n,root:r,className:p},v){const m=(0,i.d)(f.A),N=(0,s.useContext)(g.R),x=(0,a.W)(),S=t,_=(0,s.useMemo)((()=>[...n,e].filter((e=>void 0!==e))),[n,e]);let T=[],C=!0,b=!1;return void 0!==e&&(b=(0,d.u)((()=>!!r&&N?.folderExplorer.state.folder!==N?.folderExplorer.root)),b||(T=(0,d.u)((()=>N?.tree.getNodeChildren(e)||[]),((e,t)=>(0,h.x)(e,t,void 0,!0))),C=(0,d.u)((()=>!(0!==T.length||N?.tree.filtering&&!N.tree.getNodeState(e).showInFilter))))),T=(0,s.useDeferredValue)(T),C=(0,s.useDeferredValue)(C),C&&!N?.tree.settings?.foldersTree?null:void 0!==e&&b?(0,o.jsx)(S,{nodeId:e,path:n,expanded:!0}):(0,o.jsxs)(c.y,{ref:v,root:r,className:(0,l.s)(m,{navigationNodeNested:!0},p),children:[T.map((e=>(0,o.jsx)(S,{nodeId:e,path:_},e))),C&&(0,o.jsx)(u.v,{children:x(void 0===e?"app_navigationTree_connection_group_user":"app_navigationTree_node_empty")})]})})));p.displayName="NavigationNodeNested"},37620:(e,t,n)=>{n.d(t,{NavigationNodeRenderer:()=>M});var o=n(41773),r=n(7838),s=n(15993),i=n(64928),a=n(16535),d=n(34685),c=n(7189),l=n(7167),u=n(92674),h=n(90398),g=n(18699),f=n(64809),p=n(14841),v=n(63772),m=n(6472),N=n(91222);const x={treeNode:"treeNode___XfnVF",hovered:"hovered___EIhiK",expanded:"expanded___ieHr8",navNodeNested:"navNodeNested___mjGiF"};var S=n(81173),_=n(53653),T=n(77337),C=n(72935),b=n(30819),j=n(53692),y=n(77376),w=n(65935);const I=(0,r.PA)((0,s.forwardRef)((function NavigationNodeControlRenderer({node:e,navNode:t,dragging:n,control:r},c){const u=(0,i.d)(w.A),h=(0,s.useRef)(null),[f,p]=(0,s.useState)(24),v=(0,T.U)({context:(0,s.useContext)(j.R)}),m=(0,s.useContext)(C.O),N=(0,g.h)(b.NavNodeInfoResource),x=(0,s.useRef)(null),S=(0,s.useCallback)((e=>{h.current&&x.current?.unobserve(h.current),h.current=e,h.current&&x.current?.observe(h.current)}),[]),_=(0,a.S)(S,c);if(!v.context)throw new Error("ElementsTreeContext not found");const I=v.context?.getTreeRoot();(0,s.useEffect)((()=>(x.current=new IntersectionObserver((e=>{for(const t of e)t.target===h.current&&(t.isIntersecting?p(-1):p(Math.ceil(h.current.offsetHeight)))}),{root:I,threshold:0}),h.current&&x.current.observe(h.current),()=>x.current?.disconnect())),[I]);if((0,s.useDeferredValue)(-1!==f))return(0,o.jsx)("div",{ref:_,style:{height:`${f}px`}});const E=t.control||r||y.L,P=(0,d.u)((()=>N.isOutdated(e.id)&&!m.loading)),D=v.context?.tree.getTransformedNodeInfo(e);return(0,o.jsx)(E,{ref:_,className:(0,l.s)(u,{control:!0,outdated:P}),nodeInfo:D,dndElement:n,node:e,onClick:function onClickHandler(e){m.select(e.ctrlKey||e.metaKey)}})})));I.displayName="NavigationNodeControlRenderer";var E=n(91184),P=n(3942),D=n(7278),R=n(78426),O=n(32661);function useNavigationNode(e,t){const n=(0,s.useRef)(null),o=(0,g.h)(b.NavNodeInfoResource),r=(0,T.U)({context:(0,s.useContext)(j.R)}),{isLoading:i,isLoaded:a,isOutdated:c}=(0,O.o)(e.id),l=(0,R.P)(e.id),u=(0,d.u)((()=>c()||l.isOutdated())),h=(0,d.u)((()=>i()||l.isLoading())),f=(0,d.u)((()=>void 0!==l.children&&l.isLoaded()&&a())),p=(0,d.u)((()=>r.context?.tree.getNodeState(e.id).showInFilter||!1)),v=(0,d.u)((()=>r.context?.tree.isNodeExpanded(e.id)||!1)),m=(0,d.u)((()=>function isLeaf(e,t,n,o){if(e.folder&&n?.settings?.foldersTree)return!1;return e.objectFeatures.includes(P.v.entity)||!e.hasChildren||0===t?.length&&!o}(e,l.children,r.context?.tree,u))),N=(0,d.u)((()=>r.context?.tree.isGroup?.(e)||!1)),x=(0,d.u)((()=>0===l.children?.length)),S=(0,d.u)((()=>v)),_=(0,d.u)((()=>r.context?.control)),C=(0,d.u)((()=>r.context?.tree.disabled||!1)),y=(0,d.u)((()=>r.context?.tree.isNodeSelected(e.id)||!1)),w=(0,d.u)((()=>r.context?.tree.isNodeIndeterminateSelected(e.id)||!1));return(0,s.useEffect)((()=>()=>{r.context?.selectionTree||r.context?.tree.isNodeSelected(e.id)&&r.context.tree.select(e,!0,!1)}),[e]),(0,s.useEffect)((()=>{r.context?.tree.isNodeSelected(e.id)&&n.current?.scrollIntoView()}),[]),(0,E.H)({executor:r.context?.tree.actions,handlers:[function refreshRoot({type:t,nodeId:o}){"show"===t&&o===e.id&&n.current?.scrollIntoView()}]}),(0,T.U)({ref:n,showInFilter:p,empty:x,group:N,control:_,disabled:C,selected:y,indeterminateSelected:w,loading:h,outdated:u,loaded:f,expanded:S,leaf:m,expand:async()=>await(r.context?.tree.expand(e,!S)),click:async n=>await(r.context?.tree.click(e,t,n)),open:async n=>await(r.context?.tree.open(e,t,n)),select:async(t=!1,n=!1)=>await(r.context?.tree.select(e,t,n)),getSelected:()=>o.get((0,D.OU)(r.context?.tree.getSelected()||[])).filter(Boolean),setDnDState:function setDnDState(e,t){r.context?.tree.setDnDData(e,t)}})}const k=(0,r.PA)((function NavigationNode({node:e,component:t,path:n,control:r,expanded:T,className:C}){const b=(0,i.d)(x),j=(0,g.h)(f.NavNodeManagerService),y=useNavigationNode(e,n),w=(0,u.f)(),E=(0,m.o)(w,{canDrag:()=>{const e=y.ref.current;return!("true"===e?.getAttribute(S.G))},onDragStart:async()=>{y.selected||y.select(!1),y.setDnDState(E,!0),await j.getNodeDatabaseAlias(e.id)},onDragEnd:()=>{y.setDnDState(E,!1)}}),P=(0,a.S)(y.ref,E.setTargetRef),D=(0,N.h)(e,{expanded:y.expanded,expand:y.expand});(0,h.Z)(w,((t,n)=>{t.set(p.G,e,n),t.set(v.T,y.getSelected,n)})),!y.leaf&&y.loaded||(T=!1);const R=(0,d.u)((()=>!!D.state.context&&D.state.canDrop&&D.state.isOverCurrent)),O=(0,s.useDeferredValue)((y.expanded||T)&&y.loaded);return(0,s.useEffect)((()=>()=>{y.setDnDState(E,!1)}),[]),(0,o.jsxs)(c.n,{ref:D.setRef,group:y.group,loading:y.loading,disabled:y.disabled,selected:y.selected,indeterminateSelected:y.indeterminateSelected,expanded:y.expanded,showInFilter:y.showInFilter,externalExpanded:T,leaf:y.leaf,className:(0,l.s)(b,{treeNode:!0,hovered:R,expanded:T??y.expanded},C),onExpand:y.expand,onClick:y.click,onOpen:y.open,onSelect:y.select,children:[(0,o.jsx)(I,{ref:P,navNode:y,dragging:E.state.isDragging,control:r,node:e}),O&&(0,o.jsx)(_.e,{nodeId:e.id,path:n,component:t,className:(0,l.s)(b,{navNodeNested:!0})})]})}));var A=n(9012);const H=(0,r.PA)((function NavigationNodeDragged({node:e,className:t,control:n}){const r=(0,T.U)({context:(0,s.useContext)(j.R)}),i=(0,d.u)((()=>r.context?.control))||n||y.L,a=(0,A.D)(e,r.context?.tree.nodeInfoTransformers??[]);return(0,o.jsx)(c.n,{externalExpanded:!1,className:t,leaf:!0,children:(0,o.jsx)(i,{nodeInfo:a,node:e,dndPlaceholder:!0})})})),M=(0,r.PA)((function NavigationNodeRenderer({dragging:e,...t}){return e?(0,o.jsx)(H,{...t}):(0,o.jsx)(k,{...t})}))},94485:(e,t,n)=>{n.d(t,{R:()=>o});const o=n(15993).lazy((async()=>{const{NavigationNodeRenderer:e}=await Promise.all([n.e(11502),n.e(7542),n.e(97493),n.e(67557),n.e(95218),n.e(11116),n.e(62570),n.e(5001)]).then(n.bind(n,37620));return{default:e}}))},9248:(e,t,n)=>{n.d(t,{G:()=>o});const o=(0,n(44745).M)("nav-node-actions")},63315:(e,t,n)=>{n.d(t,{TreeNodeMenu:()=>x});var o=n(41773),r=n(7838),s=n(64928),i=n(34685),a=n(7167),d=n(84237),c=n(49690),l=n(91135),u=n(90398),h=n(18699),g=n(14841),f=n(23439),p=n(12483),v=n(93358),m=n(9248);const N={contextMenu:"contextMenu___RNwvf",selected:"selected___YPxaB",icon:"icon___KTGLg"},x=(0,r.PA)((function TreeNodeMenu({node:e,actions:t,selected:n,mouseContextMenu:r,onClose:x}){const S=(0,s.d)(N),_=(0,h.h)(c.ConnectionInfoResource),T=(0,p.b)({menu:v.N}),C=(0,i.u)((()=>_.getConnectionForNode(e.id)));return(0,u.Z)(T.context,((n,o)=>{n.set(g.G,e,o),n.set(m.G,t,o),C&&n.set(l.A,C,o)})),(0,o.jsx)(f.t,{menu:T,className:(0,a.s)(S,{contextMenu:!0,selected:n}),mouseContextMenu:r,modal:!0,onVisibleSwitch:function handleVisibleSwitch(e){e||x?.()},children:(0,o.jsx)(d.I,{className:(0,a.s)(S,{icon:!0}),name:"snack",viewBox:"0 0 16 10"})})}))},54379:(e,t,n)=>{n.d(t,{h:()=>o});const o=n(15993).lazy((async()=>{const{TreeNodeMenu:e}=await Promise.all([n.e(11502),n.e(97493),n.e(89814),n.e(95218),n.e(27382)]).then(n.bind(n,63315));return{default:e}}))},14437:(e,t,n)=>{n.d(t,{f:()=>isDraggingInsideProject});var o=n(35350);function isDraggingInsideProject(e,t){if(!t.length)return!1;for(const n of t){if((0,o.x)(n.context).some((t=>t.projectId===e)))return!0}return!1}},88706:(e,t,n)=>{n.d(t,{l:()=>elementsTreeNameFilterNode,z:()=>elementsTreeNameFilter});var o=n(7278),r=n(82076);function isDefined(e){return null!=e}function elementsTreeNameFilter(e,t,n=elementsTreeNameFilterNode){return(s,i,a,d,c)=>{const l=c.get(a.id);if(""===i||l.showInFilter||n(s,a,i)===r.y.full)return d;return t.get((0,o.OU)(d)).filter(isDefined).filter((o=>filterNode(s,e,t,n,i,o,c))).map((e=>e.id))}}function filterNode(e,t,n,s,i,a,d){const c=d.get(a.id);if(s(e,a,i)!==r.y.none||c.showInFilter)return!0;const l=t.get(a.id)||[];return n.get((0,o.OU)(l)).filter(isDefined).some((o=>filterNode(e,t,n,s,i,o,d)))}function elementsTreeNameFilterNode(e,t,n){const o=e.getTransformedNodeInfo(t),s=o.name?.toLowerCase().trim(),i=n.toLowerCase().trim();return s===i?r.y.full:s?.includes(i)?r.y.partially:r.y.none}},9012:(e,t,n)=>{function transformNodeInfo(e,t){return t.reduce(((t,n)=>n(e.id,t)),{name:e.name,tooltip:e.name,icon:e.icon})}n.d(t,{D:()=>transformNodeInfo})},79335:(e,t,n)=>{n.d(t,{NavigationTree:()=>xe});var o=n(41773),r=n(7838),s=n(15993),i=n(64928),a=n(92230),d=n(13720),c=n(7167),l=n(70500),u=n(18699),h=n(3702),g=n(30819),f=n(6587),p=n(62151),v=n(82592),m=n(20887),N=n(35778),x=n(46683),S=n(3942),_=n(7278);const T="nav-tree://connection-group/unsorted",C="nav-tree://connection-group/manageable",b="nav-tree://connection-group/unmanageable";function isDefined(e){return null!=e}function navigationTreeConnectionGroupFilter(e){return(t,n,o,r)=>{if(o.id!==g.ROOT_NODE_PATH)return r;const s=e.get((0,_.OU)(r)).filter(isDefined).sort(function sortManageable(){return(e,t)=>{const n=e.features?.includes(x.E.shared),o=t.features?.includes(x.E.shared);if(n===o){const n=e.objectFeatures.includes(S.v.dataSource),o=t.objectFeatures.includes(S.v.dataSource);if(!n||!o)return n===o?0:n?1:-1}return o?-1:1}}());let i=[],a=T,d=0;for(const e of s){const t=!e.features?.includes(x.E.shared);let n=T;t&&(n=C),n!==a&&(n===C?i.push(C):i.push(b),d++,a=n),i.push(e.id)}return 1===d&&(i=i.filter((e=>e!==C&&e!==b))),i}}const j={connectionGroup:"connectionGroup___O3Wzi theme-text-text-hint-on-light theme-typography--caption"};function navigationTreeConnectionGroupRenderer(e){if(e===C||e===b)return e===C?y:w}const y=function ManageableGroup(){const e=(0,i.d)(j);return(0,o.jsx)("div",{className:(0,c.s)(e,{connectionGroup:!0}),children:(0,o.jsx)(l.H,{token:"app_navigationTree_connection_group_user"})})},w=function UnManageableGroup(){const e=(0,i.d)(j);return(0,o.jsx)("div",{className:(0,c.s)(e,{connectionGroup:!0}),children:(0,o.jsx)(l.H,{token:"app_navigationTree_connection_group_shared"})})};var I=n(23867),E=n(64531),P=n(94485),D=n(18486),R=n(72935),O=n(34685),k=n(36938),A=n(99862),H=n(97318),M=n(53006),F=n(69519),L=n(13676),G=n(43995),B=n(62677),z=n(32418),U=n(54379);const V=(0,r.PA)((0,s.forwardRef)((function ConnectionNavNodeControl({node:e,nodeInfo:t,dndElement:n,dndPlaceholder:r,className:a,onClick:d},l){const h=(0,i.d)(B.A),p=(0,D.t)(),v=(0,s.useContext)(R.O),m=(0,u.h)(g.NavNodeInfoResource),N=(0,u.h)(f.NavTreeResource),x=v.selected,_=(0,O.u)((()=>!!m.getException(e.id)||!!N.getException(e.id))),T=(0,O.u)((()=>e.objectFeatures.includes(S.v.dataSourceConnected)));let C=t.icon;const b=t.name,j=t.name;return _&&(C="/icons/error_icon_sm.svg"),(0,o.jsxs)(k.a,{ref:l,className:(0,c.s)(h,{treeNodeControl:!0,dragging:!!n},a),onClick:d,onContextMenu:function handleContextMenuOpen(e){p.handleContextMenuOpen(e),v.select()},children:[(0,o.jsx)(z.B,{nodeId:e.id}),(0,o.jsx)(A.S,{children:(0,o.jsx)(H.E,{icon:C,connected:T,maskId:"tree-node-icon"})}),(0,o.jsx)(M.I,{title:j,className:(0,c.s)(h,{treeNodeName:!0}),children:(0,o.jsx)(F.a,{suspense:!0,inline:!0,fullSize:!0,children:(0,o.jsx)("div",{className:(0,c.s)(h,{nameBox:!0}),children:b})})}),!r&&(0,o.jsx)("div",{className:(0,c.s)(h,{portal:!0}),onClick:function handlePortalClick(e){L.y.set(e,G.X),v.select()},children:(0,o.jsx)(U.h,{mouseContextMenu:p,node:e,selected:x})})]})})));V.displayName="ConnectionNavNodeControl";const X=(0,r.PA)((function ManageableGroup({nodeId:e,path:t,dragging:n,component:r,className:s,expanded:i}){const a=(0,u.h)(g.NavNodeInfoResource).get(e);return a?(0,o.jsx)(P.R,{node:a,path:t,expanded:i,dragging:n,className:s,control:V,component:r}):(0,o.jsx)(I.v,{children:(0,o.jsx)(l.H,{token:"app_navigationTree_node_not_found"})})}));var W=n(32450),Z=n(45371);var Y=n(77013);const K={captureView:"captureView___kpJCS",elementsTree:"elementsTree___O8SXj",center:"center___Xt0P7",message:"message___GLBDR"};var $=n(94866);var q=n(59833),J=n(97007);var Q=n(88706),ee=n(82076);const te=function navigationTreeProjectSearchCompare(e,t,n){return t.nodeType===J.O?ee.y.none:(0,Q.l)(e,t,n)};var ne=n(24465),oe=n(65935),re=n(32661),se=n(53692),ie=n(14437);const ae={treeNodeControl:"treeNodeControl___n2bOT",outdated:"outdated___ZyQSz",portal:"portal___nEvyQ",treeNodeName:"treeNodeName___yOZBv theme-text-text-hint-on-light theme-typography--caption",nameBox:"nameBox___cjh0O"},de=(0,r.PA)((0,s.forwardRef)((function NavigationNodeProjectControl({node:e,dndElement:t,dndPlaceholder:n,className:r},a){const d=(0,i.d)(ae),l=(0,D.t)(),h=(0,s.useContext)(R.O),f=(0,s.useContext)(se.R),p=(0,u.h)(g.NavNodeInfoResource),v=(0,O.u)((()=>p.isOutdated(e.id)&&!h.loading)),m=h.selected,N=(0,O.u)((()=>!(!e.projectId||!f?.tree.activeDnDData)&&(0,ie.f)(e.projectId,f.tree.activeDnDData)));return!1!==f?.tree.settings?.projects||N?(0,o.jsxs)(k.a,{ref:a,className:(0,c.s)(d,{treeNodeControl:!0,outdated:v,dragging:N},r),onClick:function handleClick(e){h.select(e.ctrlKey||e.metaKey)},onDoubleClick:function handleDbClick(t){f?.tree.open(e,p.getParents(e.id),!1)},onContextMenu:function handleContextMenuOpen(e){l.handleContextMenuOpen(e),h.select()},children:[(0,o.jsx)(M.I,{className:(0,c.s)(d,{treeNodeName:!0}),title:e.name,children:(0,o.jsx)("div",{className:(0,c.s)(d,{nameBox:!0}),children:e.name})}),!n&&(0,o.jsx)("div",{className:(0,c.s)(d,{portal:!0}),onClick:function handlePortalClick(e){L.y.set(e,G.X),h.select()},children:(0,o.jsx)(U.h,{mouseContextMenu:l,node:e,selected:m})})]}):null})));de.displayName="NavigationNodeProjectControl";const ce={projectNode:"projectNode___dG2uw",hideProjects:"hideProjects___PKtJ6",navigationNodeNested:"navigationNodeNested___CC21l"},le=[[ne.A,{mode:"append",styles:[ce]}],[oe.A,{mode:"append",styles:[ce]}]];const ue=(0,r.PA)((function ManageableGroup({nodeId:e,path:t,dragging:n,component:r,className:a,expanded:h}){const g=(0,i.d)(ce),f=((0,u.h)(p.ProjectsService),(0,s.useContext)(se.R)),{node:v}=(0,re.o)(e),m=(0,O.u)((()=>!(!v?.projectId||!f?.tree.activeDnDData)&&(0,ie.f)(v.projectId,f.tree.activeDnDData))),N=!1===f?.tree.settings?.projects&&!m;return v?(0,o.jsx)(d.Z,{registry:le,children:(0,o.jsx)(P.R,{node:v,path:t,expanded:h,dragging:n,className:(0,c.s)(g,{projectNode:!0,hideProjects:N},a),control:de,component:r})}):(0,o.jsx)(I.v,{children:(0,o.jsx)(l.H,{token:"app_navigationTree_node_not_found"})})}));var he=n(17675),ge=n(90760);const fe={id:"settings-project",component:(0,r.PA)((function ProjectsSettingsForm({tree:{root:e,settings:t}}){const n=(0,u.h)(p.ProjectsService),r=(0,he.W)();return!t||n.activeProjects.length<=1?null:(0,o.jsx)(ge.d,{id:`${e}.projects`,name:"projects",state:t,disabled:!t.configurable,title:r("plugin_navigation_tree_settings_projects_description"),mod:["primary","dense"],small:!0,children:r("plugin_navigation_tree_settings_projects_title")})})),order:1};var pe=n(77337),ve=n(14452);const me=["handleOpen","handleSelect","handleSelectReset"];const Ne=[[m.A,{mode:"append",styles:[{tools:"tools___FlbOV theme-border-color-background"}]}]],xe=(0,r.PA)((function NavigationTree(){const e=(0,i.d)(K),t=(0,u.h)(h.ProjectsNavNodeService),n=(0,u.h)(p.ProjectsService),r=(0,u.h)(q.NavigationTreeService),m=(0,u.h)(g.NavNodeInfoResource),x=(0,u.h)(f.NavTreeResource),S=(0,u.h)(N.NavNodeViewService),T=g.ROOT_NODE_PATH,{handleOpen:C,handleSelect:b,handleSelectReset:j}=function useNavigationTree(){const e=(0,u.h)(q.NavigationTreeService),t=(0,u.h)(ve.NotificationService);return(0,pe.U)((()=>({navigationTreeService:e,async handleOpen(e,n){if(!n)try{await this.navigationTreeService.navToNode(e.id,e.parentId)}catch(e){throw t.logException(e),e}},handleSelect(e,t){return this.navigationTreeService.selectNode(e.id,t)},handleSelectReset(){this.navigationTreeService.unselectAll()}})),{navigationTreeService:e},me)}(),y=(0,s.useMemo)((()=>navigationTreeConnectionGroupFilter(m)),[m]),w=(0,a.P)((0,Y.O)(T),Z.N,(()=>{}),Z.v),I=(0,s.useMemo)((()=>function navigationTreeDuplicateFilter(e){return(t,n,o,r)=>{const{nodes:s,duplicates:i}=e.filterDuplicates(r);return(0,$.O8)((()=>{e.logDuplicates(o.id,i)})),s}}(S)),[S]),P=(0,s.useMemo)((()=>function navTreeConnectionRenderer(e){return t=>{const n=e.get(t);if(n?.nodeType===E.b)return X}}(m)),[m]),D=(0,s.useMemo)((()=>function navigationTreeProjectsRendererRenderer(e){return t=>{const n=e.get(t);if(n?.nodeType===J.O)return ue}}(m)),[m]),R=(0,s.useMemo)((()=>function navigationTreeProjectsExpandStateGetter(e,t,n){return(o,r)=>{const s=e.get(r);if(s?.nodeType!==J.O)return null;let i=!1;const a=n.getByNodeId(r);return a&&(i=t.activeProjects.includes(a)),{expanded:i,expandable:!1}}}(m,n,t)),[m,n,t]),O=(0,s.useMemo)((()=>function transformFilteredNodeInfo(e){return function transformFilteredNodeInfo(t,n){const o=e.get(t);return o?.filtered?{...n,name:n.name+" (...)"}:n}}(m)),[m]),k=(0,s.useMemo)((()=>function navigationTreeProjectFilter(e,t,n,o){return(r,s,i,a)=>{if(i.id!==g.ROOT_NODE_PATH)return a;const d=n.get((0,_.OU)(a)).filter((e=>void 0!==e)).filter((n=>{if(n.nodeType===J.O){const r=e.getProject(n.id);return!(!r||!t.activeProjects.includes(r))&&o.get(n.id)?.length}return!0})).map((e=>e.id));return d}}(t,n,m,x)),[t,n,m,x]),A=(0,s.useMemo)((()=>[fe]),[]);return(0,o.jsx)(d.Z,{registry:Ne,children:(0,o.jsx)(v.G,{view:r,className:(0,c.s)(e,{captureView:!0}),children:(0,o.jsx)(W.ElementsTree,{root:T,localState:r.treeState,filters:[I,y,k],renderers:[D,navigationTreeConnectionGroupRenderer,P],navNodeFilterCompare:te,nodeInfoTransformers:[O],expandStateGetters:[R],settingsElements:A,className:(0,c.s)(e,{elementsTree:!0}),emptyPlaceholder:()=>(0,o.jsx)("div",{className:(0,c.s)(e,{center:!0}),children:(0,o.jsx)("div",{className:(0,c.s)(e,{message:!0}),children:(0,o.jsx)(l.H,{token:"app_navigationTree_empty_placeholder"})})}),customSelect:b,customSelectReset:j,settings:w,getChildren:r.getChildren,loadChildren:r.loadNestedNodes,onOpen:C})})})}))},76641:(e,t,n)=>{n.r(t),n.d(t,{NavigationTreeBootstrap:()=>v});var o=n(1118),r=n(82103),s=n(5576),i=n(7998),a=n(55487),d=n(34389),c=n(41773),l=n(7838),u=n(64928),h=n(7167);const g=n(15993).lazy((async()=>{const{NavigationTree:e}=await Promise.all([n.e(11502),n.e(7542),n.e(97493),n.e(67557),n.e(89814),n.e(73676),n.e(44134),n.e(95218),n.e(11116),n.e(62570),n.e(95860),n.e(19459)]).then(n.bind(n,79335));return{default:e}})),f={container:"container___HCfp6"},p=(0,l.PA)((function NavigationTreePanel(){const e=(0,u.d)(f);return(0,c.jsx)("div",{className:(0,h.s)(e,{container:!0}),children:(0,c.jsx)(g,{})})}));let v=class NavigationTreeBootstrap extends r.j{constructor(e,t,n){super(),this.navigationTreeSettingsService=e,this.elementsTreeToolsMenuService=t,this.leftBarPanelService=n}register(){this.elementsTreeToolsMenuService.register(),this.leftBarPanelService.tabsContainer.add({key:"navigation-tree-tab",order:0,name:"plugin_navigation_tree_explorer_tab_title",isHidden:()=>this.navigationTreeSettingsService.disabled,panel:()=>p})}async load(){}};v=(0,o.Cg)([(0,s._)(),(0,o.Sn)("design:paramtypes",[a.NavigationTreeSettingsService,d.ElementsTreeToolsMenuService,i.LeftBarPanelService])],v)},59833:(e,t,n)=>{n.r(t),n.d(t,{NavigationTreeService:()=>_});var o=n(1118),r=n(94866),s=n(49690),i=n(34906),a=n(56245),d=n(5576),c=n(44017),l=n(30819),u=n(3942),h=n(64809),g=n(6587),f=n(41075),p=n(7278),v=n(31324),m=n(37136),N=n(89063),x=n(40002),S=n(72757);let _=class NavigationTreeService extends m.S{constructor(e,t,n,o,s,i){super(),this.navNodeManagerService=e,this.connectionsManagerService=t,this.connectionInfoResource=n,this.navNodeExtensionsService=o,this.navNodeInfoResource=s,this.navTreeResource=i,this.treeState=new v.C((()=>({showInFilter:!1,expanded:!1,selected:!1}))),this.nodeSelectionTask=new c.H,this.getView=this.getView.bind(this),this.getChildren=this.getChildren.bind(this),this.loadNestedNodes=this.loadNestedNodes.bind(this),this.registerAction(N.m,x.D,S.Y),(0,r.Gn)(this,{selectNode:r.XI,unselectAll:r.XI})}getChildren(e){return this.navNodeManagerService.getTree(e)}async navToNode(e,t){await this.navNodeManagerService.navToNode(e,t)}async loadNestedNodes(e=l.ROOT_NODE_PATH,t){if(this.isConnectionNode(e)){let n=this.connectionInfoResource.getConnectionForNode(e);if(!n)return!1;if(n=await this.connectionInfoResource.load((0,s.createConnectionParam)(n)),!n.connected){if(!t)return!1;if(!await this.tryInitConnection((0,s.createConnectionParam)(n)))return!1}}await this.navTreeResource.waitLoad(),t&&this.navTreeResource.getException(e)&&this.navTreeResource.markOutdated(e);return!(this.navNodeInfoResource.getParents(e).length>0&&!this.navNodeInfoResource.has(e))&&(await this.navTreeResource.load((0,f.uL)(f.A2,this.navTreeResource.childrenLimit).setTarget(e)),!0)}selectNode(e,t){t||this.unselectAll();const n=this.treeState.get(e);n.selected=!n.selected,this.nodeSelectionTask.execute({id:e,selected:[n.selected]})}isNodeExpanded(e){return this.treeState.get(e).expanded}isNodeSelected(e){return this.treeState.get(e).selected}expandNode(e,t){this.treeState.get(e).expanded=t}getView(){const e=Array.from(this.treeState).find((([e,t])=>t.selected));return e?{context:e[0],extensions:this.navNodeExtensionsService.extensions}:null}unselectAll(){const e=[];for(const[t,n]of this.treeState)n.selected=!1,e.push(t);this.nodeSelectionTask.execute({id:(0,p.OU)(e),selected:e.map((()=>!1))})}isConnectionNode(e){const t=this.navNodeManagerService.getNode(e);return t?.objectFeatures.includes(u.v.dataSource)}async tryInitConnection(e){const t=await this.connectionsManagerService.requireConnection(e);return t?.connected||!1}};_=(0,o.Cg)([(0,d._)(),(0,o.Sn)("design:paramtypes",[h.NavNodeManagerService,i.ConnectionsManagerService,s.ConnectionInfoResource,a.NavNodeExtensionsService,l.NavNodeInfoResource,g.NavTreeResource])],_)},77013:(e,t,n)=>{function getNavigationTreeUserSettingsId(e){return`navigation-tree-${e}`}n.d(t,{O:()=>getNavigationTreeUserSettingsId})},91222:(e,t,n)=>{n.d(t,{h:()=>useNavTreeDropBox});var o=n(15993),r=n(84833),s=n(18699),i=n(64809),a=n(94819),d=n(8385);function useNavTreeDropBox(e,t){const n=(0,o.useCallback)((0,d.l)(((e,t)=>c.canMove(e,t)),300),[]),c=(0,s.h)(i.NavNodeManagerService),l=(0,a.p)({canDrop:t=>!!e&&(n(e,t).catch((()=>{})),c.getNavNodeCache(e.id).canMove),onDrop(t){e&&c.onMove.execute({type:i.ENodeMoveType.Drop,targetNode:e,moveContexts:t})}}),u=(0,r.O)(l.state.isOverCurrent&&l.state.canDrop,600);return(0,o.useEffect)((()=>{l.state.isOverCurrent&&l.state.canDrop&&!t?.expanded&&t?.expand()}),[u]),l}},55487:(e,t,n)=>{n.r(t),n.d(t,{NavigationTreeSettingsService:()=>h});var o=n(1118),r=n(94866),s=n(63716),i=n(5576),a=n(83916),d=n(80625),c=n(3065),l=n(31038);const u=c.Ik({"plugin.navigation-tree.disabled":l.W.stringedBoolean().default(!1)});let h=class NavigationTreeSettingsService extends s.O{get disabled(){return this.settings.getValue("plugin.navigation-tree.disabled")}constructor(e,t){super(),this.settingsProviderService=e,this.settingsManagerService=t,this.settings=this.settingsProviderService.createSettings(u),this.registerSettings(),(0,r.Gn)(this,{disabled:r.EW})}registerSettings(){this.settingsManagerService.registerSettings(this.settings,(()=>[]))}};h=(0,o.Cg)([(0,i._)(),(0,o.Sn)("design:paramtypes",[a.SettingsProviderService,d.SettingsManagerService])],h)},41960:(e,t,n)=>{n.r(t),n.d(t,{NavNodeContextMenuService:()=>D});var o=n(1118),r=n(3118),s=n(21412),i=n(82103),a=n(5576),d=n(71635),c=n(14452),l=n(86764),u=n(34227),h=n(33620),g=n(14841),f=n(86888),p=n(81244),v=n(46683),m=n(30819),N=n(64809),x=n(6587),S=n(45910),_=n(85213),T=n(95191),C=n(43858),b=n(99985),j=n(20534),y=n(77495),w=n(85153),I=n(79023),E=n(72877),P=n(9248);let D=class NavNodeContextMenuService extends i.j{constructor(e,t,n,o,r,s,i,a,d){super(),this.navNodeManagerService=e,this.notificationService=t,this.commonDialogService=n,this.navTreeResource=o,this.actionService=r,this.menuService=s,this.localizationService=i,this.navNodeInfoResource=a,this.navTreeSettingsService=d}register(){this.navTreeResource.beforeNodeDelete.addPostHandler((async(e,t)=>{if(l.a.isInterrupted(t))return;if(t.getContext(h.v).confirmed)return;const n=_.F.mapArray(e,(e=>this.navNodeInfoResource.get(e))).filter(Boolean),o=n.map((e=>e.name)).join(", "),s=n.some((e=>e.folder));let i=this.localizationService.translate("app_navigationTree_node_delete_confirmation",void 0,{name:o});s&&(i=i+"\n"+this.localizationService.translate("app_navigationTree_node_folder_delete_confirmation"));await this.commonDialogService.open(r.n,{title:"ui_data_delete_confirmation",message:i,confirmActionText:"ui_delete"})===d.DialogueStateResult.Rejected&&l.a.interrupt(t)})),this.actionService.addHandler({id:"nav-node-base-handler",contexts:[g.G],isActionApplicable:(e,t)=>{const n=e.get(g.G);if(f.n.isDatabaseObject(n.id)||n.nodeType===p.Z){if(t===T.G)return n.features?.includes(v.E.canRename)??!1;if(t===C.n)return n.features?.includes(v.E.canDelete)??!1}return t===b.i?this.navNodeManagerService.canOpen(n.id,n.parentId):[b.i,j.z].includes(t)},handler:async(e,t)=>{const n=e.get(g.G),o=(0,m.getNodePlainName)(n);switch(t){case b.i:this.navNodeManagerService.navToNode(n.id,n.parentId);break;case j.z:try{await this.navNodeManagerService.refreshTree(n.id)}catch(e){this.notificationService.logException(e,"app_navigationTree_refresh_error")}break;case T.G:{const t=e.get(P.G),save=async e=>{if(o!==e&&e.trim().length)try{await this.navTreeResource.changeName(n,e)}catch(e){return this.notificationService.logException(e,"app_navigationTree_node_rename_error"),!1}return!0};if(t?.rename)t.rename(save);else{const e=await this.commonDialogService.open(s.L,{name:o,subTitle:o,objectName:n.nodeType||"Object",icon:n.icon,validation:e=>e.trim().length>0});e!==d.DialogueStateResult.Rejected&&e!==d.DialogueStateResult.Resolved&&save(e)}break}case C.n:try{await this.navTreeResource.deleteNode(n.id)}catch(e){this.notificationService.logException(e,this.localizationService.translate("app_navigationTree_node_delete_error",void 0,{name:o}))}}}}),this.menuService.addCreator({root:!0,contexts:[g.G],getItems:(e,t)=>(t=[b.i,j.z,...t],this.navTreeSettingsService.editing&&t.push(T.G),this.navTreeSettingsService.deleting&&t.push(C.n),t),orderItems:(e,t)=>{const n=(0,y.H)(t,[b.i]),o=(0,y.H)(t,[T.G,C.n]),r=(0,y.H)(t,[j.z]);return t.unshift(...n),t.push(...o),r.length>0&&(t.length>0&&t.push(new w.w),t.push(...r)),t}})}};D=(0,o.Cg)([(0,a._)(),(0,o.Sn)("design:paramtypes",[N.NavNodeManagerService,c.NotificationService,d.CommonDialogService,x.NavTreeResource,I.ActionService,E.MenuService,u.LocalizationService,m.NavNodeInfoResource,S.NavTreeSettingsService])],D)},35778:(e,t,n)=>{n.r(t),n.d(t,{NavNodeViewService:()=>d});var o=n(1118),r=n(94866),s=n(5576),i=n(14452),a=n(6587);let d=class NavNodeViewService{get tabs(){return this.transformers.filter((e=>e.tab)).sort(sortTransformations).map((e=>e.tab))}get panels(){return this.transformers.filter((e=>e.panel)).sort(sortTransformations).map((e=>e.panel))}get transformations(){return this.transformers.sort(sortTransformations).map((e=>e.transformer))}constructor(e,t){this.navTreeResource=e,this.notificationService=t,this.transformers=[],this.duplicationNotify=new Set,this.addTransform({order:0,transformer:(e,t)=>{if(!t)return t;const{nodes:n,duplicates:o}=this.filterDuplicates(t);return(0,r.O8)((()=>{this.logDuplicates(e,o)})),n}})}getFolders(e,t){if(t)return this.transformations.reduce(((t,n)=>n(e,t)),t)}addTransform(e){this.transformers.push(e)}filterDuplicates(e){const t=[],n=[];for(const o of e){const e=n.includes(o);t.includes(o)||e?e||(n.push(o),t.splice(t.indexOf(o),1)):t.push(o)}return{nodes:t,duplicates:n}}logDuplicates(e,t){t.length>0&&!this.duplicationNotify.has(e)&&(this.duplicationNotify.add(e),this.notificationService.logError({title:"Node key duplication",message:"Duplicate elements were hidden.",details:t.join("\n"),onClose:()=>this.duplicationNotify.delete(e)}))}};function sortTransformations({order:e},{order:t}){return e===t?0:void 0===e?1:void 0===t?-1:e-t}d=(0,o.Cg)([(0,s._)(),(0,o.Sn)("design:paramtypes",[a.NavTreeResource,i.NotificationService])],d)},78426:(e,t,n)=>{n.d(t,{P:()=>useChildren});var o=n(15993),r=n(18699),s=n(30819),i=n(6587),a=n(59833);function useChildren(e=s.ROOT_NODE_PATH){const t=(0,r.h)(a.NavigationTreeService),n=(0,r.h)(i.NavTreeResource),d=t.getChildren(e),c=n.getException(e),l=[e],u=(0,o.useCallback)((()=>n.isLoading(e)),l);return{children:d,exception:c,isLoaded:(0,o.useCallback)((()=>n.isLoaded(e)),l),isLoading:u,isOutdated:(0,o.useCallback)((()=>n.isOutdated(e)),l)}}},32661:(e,t,n)=>{n.d(t,{o:()=>useNode});var o=n(77337),r=n(18699),s=n(30819);const i=["isLoading","isLoaded","isOutdated"];function useNode(e){const t=(0,r.h)(s.NavNodeInfoResource),n=t.get(e);return(0,o.U)((()=>({navNodeId:e,node:n,isLoading(){return t.isLoading(this.navNodeId)},isLoaded(){return t.isLoaded(this.navNodeId)},isOutdated(){return t.isOutdated(this.navNodeId)}})),{navNodeId:e,node:n},i)}},79044:(e,t,n)=>{n.r(t),n.d(t,{Node:()=>m});var o=n(41773),r=n(7838),s=n(15993),i=n(7189),a=n(31938),d=n(14098),c=n(36938),l=n(48816),u=n(99862),h=n(53006);const g=(0,r.PA)((0,s.forwardRef)((function NodeControl({nodeId:e},t){const n=(0,s.useContext)(d.o),r=(0,s.useContext)(a.U),i=n.getNode(e),g=r.getNodeHeight(e);return(0,o.jsxs)(c.a,{ref:t,style:{height:g},children:[(0,o.jsx)(l.t,{leaf:i.leaf}),(0,o.jsx)(u.S,{icon:i.icon}),(0,o.jsx)(h.I,{title:i.tooltip,children:i.name})]})})));var f=n(92674),p=n(6472),v=n(75212);const m=(0,r.PA)((function Node({nodeId:e,offsetHeight:t,controlRenderer:n,childrenRenderer:r}){const c=(0,s.useContext)(a.U),l=(0,s.useContext)(d.o),{expanded:u,selected:h}=l.getState(e),m=function useNodeDnD(e,t){const n=(0,s.useContext)(v.W),o=(0,f.f)();return(0,p.o)(o,{canDrag:()=>!0,onDragStart:()=>{n.getContext(e,o),t()},onDragEnd:()=>{n.getContext(e,o)}})}(e,(()=>{h||c.selectNode(e,!0)}));const N=n||g,x=r;return(0,o.jsxs)(i.n,{selected:h,expanded:u,onExpand:function handleToggleExpand(){return c.expandNode(e,!u)},onOpen:function handleOpen(){return c.openNode(e)},onSelect:function handleSelect(){c.selectNode(e,!h)},onClick:function handleClick(){c.clickNode(e)},children:[(0,o.jsx)(N,{ref:m.setTargetRef,nodeId:e}),u&&(0,o.jsx)(x,{nodeId:e,offsetHeight:t+c.getNodeHeight(e)})]})}))},86336:(e,t,n)=>{n.d(t,{b:()=>o});const o=(0,n(50420).j)((()=>Promise.all([n.e(11502),n.e(97493),n.e(67557),n.e(95218),n.e(11116),n.e(62570),n.e(88444)]).then(n.bind(n,79044)).then((e=>e.Node))))},85860:(e,t,n)=>{n.r(t),n.d(t,{Tree:()=>_});var o=n(41773),r=n(7838),s=n(15993);const i=(0,s.createContext)(void 0);var a=n(31938),d=n(14098),c=n(75212);const l=(0,s.createContext)(void 0);var u=n(34685),h=n(25634),g=n(79044);const f=(0,r.PA)((function NodeRenderer(e){const t=(0,s.useContext)(a.U).getNodeComponent(e.nodeId)??g.Node;return(0,o.jsx)(t,{...e})}));function getPositionWithOverscan(e,t){return t?e-e%128+128:e-e%128}const p=(0,r.PA)((function NodeChildren({nodeId:e,offsetHeight:t,root:n}){const r=(0,s.useContext)(d.o),a=(0,s.useContext)(l),c=(0,s.useContext)(i),g=(0,s.useId)(),v=(0,s.useId)(),m=(0,u.u)((()=>getPositionWithOverscan(a.viewPort.from,!1)))-t,N=(0,u.u)((()=>getPositionWithOverscan(a.viewPort.to,!0)))-t,x=r.getChildren(e);return(0,o.jsx)(h.y,{root:n,children:function renderChildren(){let e=0,n=0;const r=[];for(let s=0;s<x.length;s++){const i=x[s],a=c.getSize(i);e+a<m?e+=a:e<N?(e>0&&0===r.length&&r.push((0,o.jsx)("div",{style:{height:e}},g)),r.push((0,o.jsx)(f,{nodeId:i,offsetHeight:e+t,childrenRenderer:p},i)),e+=a):n+=a}return n>0&&r.push((0,o.jsx)("div",{style:{height:n}},v)),r}()})})),v=p;var m=n(94866),N=n(77337),x=n(31324);var S=n(28347);const _=(0,r.PA)((function Tree({data:e,nodeRenderers:t,onNodeClick:n,onNodeDoubleClick:r,getNodeDnDContext:u,getNodeHeight:h}){const g=function useTree(e){return e=(0,S.G)(e,{data:m.sH.ref,nodeRenderers:m.sH.ref,onNodeClick:m.sH.ref,onNodeDoubleClick:m.sH.ref,getNodeHeight:m.sH.ref}),(0,S.G)((()=>({getNodeComponent(t){if(!e.nodeRenderers)return null;for(const n of e.nodeRenderers){const e=n(t);if(e)return e}return null},getNodeHeight:t=>e.getNodeHeight(t),async clickNode(t){await(e.onNodeClick?.(t))},async openNode(t){await(e.onNodeDoubleClick?.(t))},async expandNode(t,n){try{e.data.updateState(t,{expanded:n}),n&&(await e.data.load(t,!0),0===e.data.getChildren(t).length&&e.data.updateState(t,{expanded:!1}))}catch(e){}},selectNode(t,n){e.data.updateState(t,{selected:n})}})),{},{})}({data:e,nodeRenderers:t,onNodeClick:n,onNodeDoubleClick:r,getNodeHeight:h}),f=function useTreeVirtualization(){const e=(0,N.U)((()=>({observer:null,element:null,viewPort:(0,m.sH)({from:0,to:0}),setRootRef(e){this.element!==e&&(this.element&&this.dispose(),this.element=e,e&&(this.observer=new ResizeObserver(this.handleResize),e.addEventListener("scroll",this.handleScroll),this.observer.observe(e),(0,m.h5)((()=>{this.viewPort.from=e.scrollTop,this.viewPort.to=e.scrollTop+e.clientHeight}))))},dispose(){this.element&&this.element.removeEventListener("scroll",this.handleScroll),this.observer&&(this.observer.disconnect(),this.observer=null)},handleScroll(e){(0,m.h5)((()=>{const t=e.target;this.viewPort.from=t.scrollTop,this.viewPort.to=t.scrollTop+t.clientHeight}))},handleResize(){(0,m.h5)((()=>{this.element&&(this.viewPort.from=this.element.scrollTop,this.viewPort.to=this.element.scrollTop+this.element.clientHeight)}))}})),!1,["setRootRef","dispose","handleScroll","handleResize"]);return(0,s.useEffect)((()=>()=>e.dispose()),[]),e}(),p=function useNodeSizeCache(e,t){const[n]=(0,s.useState)((()=>new x.C(((n,o)=>(0,m.EW)((()=>{let r=e.getNodeHeight(n);if(t.getState(n).expanded){const e=t.getChildren(n);for(const t of e)r+=o.get(t).get()}return r}))))));return(0,N.U)((()=>({getSize:e=>n.get(e).get()})),{})}(g,e),_=function useTreeDnD(e){return e=(0,N.U)(e),(0,N.U)((()=>({getContext(t,n){e.getContext?.(t,n)},canDrop:e=>!0})),{})}({getContext:u});return(0,o.jsx)("div",{ref:f.setRootRef,style:{overflow:"auto",position:"relative"},children:(0,o.jsx)(i.Provider,{value:p,children:(0,o.jsx)(d.o.Provider,{value:e,children:(0,o.jsx)(l.Provider,{value:f,children:(0,o.jsx)(a.U.Provider,{value:g,children:(0,o.jsx)(c.W.Provider,{value:_,children:(0,o.jsx)(v,{nodeId:e.rootId,offsetHeight:0,root:!0})})})})})})})}))},22680:(e,t,n)=>{n.d(t,{P:()=>o});const o=(0,n(50420).j)((()=>Promise.all([n.e(11502),n.e(97493),n.e(67557),n.e(95218),n.e(11116),n.e(62570),n.e(66063)]).then(n.bind(n,85860)).then((e=>e.Tree))))},31938:(e,t,n)=>{n.d(t,{U:()=>o});const o=(0,n(15993).createContext)(void 0)},14098:(e,t,n)=>{n.d(t,{o:()=>o});const o=(0,n(15993).createContext)(void 0)},75212:(e,t,n)=>{n.d(t,{W:()=>o});const o=(0,n(15993).createContext)(void 0)},65549:(e,t,n)=>{n.d(t,{U:()=>useTreeData});var o=n(94866),r=n(15993),s=n(28347),i=n(31324);function applyTransforms(e,t,n){if(!n)return t;for(const o of n)t=o(e,t);return t}function useTreeData(e){const t=function useTreeState(e){const[t]=(0,r.useState)((()=>new i.C((()=>(0,o.sH)({expanded:!1,selected:!1,showInFilter:!1}))))),n=e??t;return(0,s.G)((()=>({getState:e=>n.get(e),updateState(e,t){Object.assign(this.getState(e),t)},updateAllState(e){for(const t of this.state.values())Object.assign(t,e)}})),{state:o.sH.ref,updateState:o.XI.bound,updateAllState:o.XI.bound},{state:n})}((e=(0,s.G)({...e,childrenTransformers:[...e.childrenTransformers||[]],nodeTransformers:[...e.nodeTransformers||[]],stateTransformers:[...e.stateTransformers||[]]},{rootId:o.sH.ref,getNode:o.sH.ref,getChildren:o.sH.ref,load:o.sH.ref,childrenTransformers:o.sH.ref,nodeTransformers:o.sH.ref,stateTransformers:o.sH.ref})).externalState),[n]=(0,r.useState)((()=>new i.C((t=>(0,o.EW)((()=>{return applyTransforms(t,e.getNode(t),[(n=e.rootId,function rootNodeTransformer(e,t){return e===n?{...t,leaf:!1}:t}),...e.nodeTransformers||[]]);var n})))))),[a]=(0,r.useState)((()=>new i.C((t=>(0,o.EW)((()=>applyTransforms(t,e.getChildren(t),e.childrenTransformers))))))),[d]=(0,r.useState)((()=>new i.C((n=>(0,o.EW)((()=>{return applyTransforms(n,t.getState(n),[(o=e.rootId,function rootNodeStateTransformer(e,t){return e===o?{...t,expanded:!0}:t}),...e.stateTransformers||[]]);var o})))))),c=(0,s.G)((()=>({getNode:e=>n.get(e).get(),getChildren:e=>a.get(e).get(),getState:e=>d.get(e).get(),updateState(e,t){this.state.updateState(e,t)},updateAllState(e){this.state.updateAllState(e)},async load(t,n){await e.load(t,n)},async update(){const t=[this.rootId];for(;t.length>0;){const n=t.shift();if(!this.state.getState(n).expanded)continue;await e.load(n,!1);const o=this.getChildren(n);0!==o.length?t.push(...o):this.state.updateState(n,{expanded:!1})}}})),{state:o.sH.ref,rootId:o.sH.ref},{state:t,rootId:e.rootId});return(0,r.useEffect)((()=>{c.update()}),[e.rootId]),c}}}]);