????

Your IP : 3.134.253.166


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

/*! For license information please see ../license.txt */
"use strict";(self.webpackChunk_cloudbeaver_product_default=self.webpackChunk_cloudbeaver_product_default||[]).push([[18682],{4324:(t,e,s)=>{s.d(e,{NavigationTabsBar:()=>m});var a=s(41773),r=s(7838),i=s(15993),n=s(11130),o=s(17675),h=s(64928),l=s(91184),c=s(14249),d=s(7167),b=s(69519),u=s(13720),g=s(18699),T=s(20458),p=s(68347),S=s(12195),f=s(82592),I=s(33901);const y={tabs:"tabs___gaouF theme-background-secondary theme-text-on-secondary",tabsBox:"tabsBox___M4u7c",captureView:"captureView___WaJPX"};function useTab(t){const e=(0,g.h)(I.NavigationTabsService).getTab(t);if(!e)throw new Error(`Tab ${t} not found`);return e}function useTabHandler(t){const e=(0,g.h)(I.NavigationTabsService).getTabHandler(t);if(!e)throw new Error(`Tab Handler ${t} not found`);return e}const v=(0,r.PA)((function TabHandlerPanel({tabId:t}){const e=useTab(t),s=useTabHandler(e.handlerId),TabHandlerPanel=s.getPanelComponent();return(0,a.jsx)(TabHandlerPanel,{tab:e,handler:s})})),C=(0,r.PA)((function TabHandlerTab({tabId:t,onSelect:e,onClose:s}){const r=useTab(t),i=useTabHandler(r.handlerId),TabHandlerTab=i.getTabComponent();return(0,a.jsx)(TabHandlerTab,{tab:r,handler:i,onSelect:e,onClose:s})})),H=[[T.A,{mode:"append",styles:[{tab:"tab___w0afm theme-ripple theme-background-background theme-text-text-primary-on-light"}]}]],m=(0,r.PA)((function NavigationTabsBar({className:t}){const e=(0,g.h)(n.UserInfoResource),s=(0,g.h)(I.NavigationTabsService),[r,T]=(0,i.useState)(!1),m=(0,o.W)(),w=(0,h.d)(y),_=(0,i.useCallback)((t=>s.selectTab(t)),[s]),x=(0,i.useCallback)((t=>s.closeTab(t)),[s]);function unloadTabs(){s.unloadTabs()}async function restoreTabs(){T(!0);try{await s.restoreTabs()}finally{T(!1)}}return(0,l.H)({executor:e.onUserChange,postHandlers:[unloadTabs,restoreTabs]}),(0,l.H)({executor:s.onStateUpdate,postHandlers:[unloadTabs,restoreTabs]}),(0,i.useEffect)((()=>{unloadTabs(),restoreTabs()}),[]),0===s.tabIdList.length?(0,a.jsx)(c.x,{children:m("app_shared_navigationTabsBar_placeholder")}):(0,a.jsx)(f.G,{view:s,className:(0,d.s)(w,{captureView:!0},t),children:(0,a.jsx)(b.a,{loading:r,children:(0,a.jsx)(p.W,{currentTabId:s.currentTabId,className:(0,d.s)(w,{tabsBox:!0}),tabsClassName:(0,d.s)(w,{tabs:!0}),tabs:(0,a.jsx)(u.Z,{registry:H,children:s.tabIdList.map((t=>(0,a.jsx)(C,{tabId:t,onSelect:_,onClose:x},t)))}),tabList:s.tabIdList,tabIndex:0,autoSelect:!0,enabledBaseActions:!0,onChange:function handleTabChange(t){_(t.tabId)},children:s.tabIdList.map((t=>(0,a.jsx)(S.K,{tabId:t,lazy:!0,children:()=>(0,a.jsx)(v,{tabId:t})},t)))})})})}))},33901:(t,e,s)=>{s.r(e),s.d(e,{NavigationTabsService:()=>C});var a=s(1118),r=s(94866),i=s(21428),n=s(11130),o=s(56078),h=s(5576),l=s(14452),c=s(44017),d=s(62151),b=s(85213),u=s(7278),g=s(1513),T=s(31324),p=s(38387),S=s(58178),f=s(37136),I=s(70027);class TabHandler{constructor(t){this.key=t.key,this.getTabComponent=t.getTabComponent,this.getPanelComponent=t.getPanelComponent,this.onSelect=t.onSelect,this.canClose=t.canClose,this.onClose=t.onClose,this.onCloseSilent=t.onCloseSilent,this.onRestore=t.onRestore,this.onUnload=t.onUnload,this.extensions=t.extensions}}var y=s(35721);class TabNavigationContext{get isNewlyCreated(){return this._isNewlyCreated}get handlerPriority(){return this._handlerPriority}get tab(){return this._tab}constructor(t,e){this.navigationTabsService=t,this.userInfoResource=e,this._isNewlyCreated=!1,this._handlerPriority=0,this._tab=null}openNewTab(t){return this._tab=(0,r.sH)({id:(0,y.u)(),userId:this.userInfoResource.getId(),...t}),this._isNewlyCreated=!0,this.navigationTabsService.openTab(this._tab,!0),this._tab}registerTab(t){this._tab=t}}const v="navigation_tabs";let C=class NavigationTabsService extends f.S{get currentTab(){if(this.currentTabId)return this.getTab(this.currentTabId)}get currentTabId(){return null!==this.history.currentId&&this.tabIdList.includes(this.history.currentId)?this.history.currentId:null}get tabIdList(){return Array.from(this.tabsMap.values()).filter((t=>this.getTabMetadata(t.id).restored&&t.userId===this.userInfoResource.getId()&&(null===t.projectId||this.projectsService.activeProjects.some((e=>e.id===t.projectId))))).map((t=>t.id))}get history(){let t="@://multi_projects//";return 1===this.projectsService.activeProjects.length&&(t=this.projectsService.activeProjects[0].id),this.tempHistoryState.has(t)||this.tempHistoryState.set(t,(0,r.sH)({history:[],currentId:null})),this.tempHistoryState.get(t)}get userTabsState(){const t=this.userInfoResource.getId();return this.state.has(t)||this.state.set(t,{tabs:[]}),this.state.get(t)}constructor(t,e,s,a,i,n){super(),this.notificationService=t,this.storageService=e,this.userInfoResource=s,this.projectsService=a,this.administrationScreenService=i,this.appAuthService=n,this.getView=()=>{if(!this.currentTabId)return null;const t=this.getTab(this.currentTabId);if(!t)return null;const e=this.getTabHandler(t.handlerId);return e?{context:t,extensions:e.extensions||[]}:null},this.handlers=new Map,this.tabsMap=new Map,this.state=new Map,this.historyState=new Map,this.onTabSelect=new c.H,this.onTabClose=new c.H,this.onInit=new c.H,this.onStateUpdate=new c.H,this.metadata=new T.C((()=>({restored:!1}))),this.navigationTabContext=()=>new TabNavigationContext(this,this.userInfoResource),this.registerAction(I.A),(0,r.Gn)(this,{handlers:r.sH,tabsMap:r.sH,state:r.sH,historyState:r.sH,currentTab:r.EW,currentTabId:r.EW,tabIdList:(0,r.EW)({equals:(t,e)=>(0,p.x)(t,e,void 0,!0)}),openTab:r.XI,selectTab:r.XI,closeTab:r.XI,registerTabHandler:r.XI,updateHandlerState:r.XI,unloadTabs:r.XI,closeTabSilent:r.XI}),this.tempHistoryState=new S.d(this.historyState),this.storageService.registerSettings(`${v}_tab_map`,this.tabsMap,(()=>new Map),(t=>{for(const[e,s]of Array.from(t.entries()))"string"==typeof s.id&&"string"==typeof s.handlerId&&"string"==typeof s.userId&&["object","string"].includes(typeof s.projectId)||t.delete(e);return t})),this.storageService.registerSettings(`${v}_history`,this.historyState,(()=>new Map),(t=>{for(const[e,s]of Array.from(t.entries()))["object","string"].includes(typeof s.currentId)&&Array.isArray(s.history)||t.delete(e);return t})),this.storageService.registerSettings(v,this.state,(()=>new Map),(t=>{for(const[e,s]of Array.from(t.entries()))Array.isArray(s.tabs)||t.delete(e);return t})),this.userInfoResource.onUserChange.addHandler(this.unloadTabs.bind(this)),this.storageService.onStorageChange.next(this.onStateUpdate,(()=>{}))}getTabMetadata(t){return this.metadata.get(t)}openTab(t,e){this.tabsMap.set(t.id,t),this.userTabsState.tabs.push(t.id);this.getTabMetadata(t.id).restored=!0,e&&this.selectTab(t.id)}selectTab(t,e){if(null===t)return void(this.history.currentId=null);if(!this.userTabsState.tabs.includes(t)||!this.tabIdList.includes(t))return;const s=this.tabsMap.get(t);s&&(this.history.currentId!==t&&(this.history.history=this.history.history.filter((e=>e!==t)),this.history.history.unshift(t),this.history.currentId=t,this.onTabSelect.execute(s)),e||this.callHandlerCallback(s,(t=>t.onSelect)))}async closeTab(t,e){if(!this.userTabsState.tabs.includes(t))return;const s=this.tabsMap.get(t);if(s&&!e){const t=this.handlers.get(s.handlerId);if(t){if(!1===await(t.canClose?.(s)))return}await this.callHandlerCallback(s,(t=>t.onClose)),await this.callHandlerCallback(s,(t=>t.onUnload))}this.closeTabSilent(t,e)}closeTabSilent(t,e){b.F.forEach(t,(t=>{if(!this.userTabsState.tabs.includes(t))return;const e=this.tabsMap.get(t);e&&(this.onTabClose.execute(e),this.history.history=this.history.history.filter((e=>e!==t)),this.tabsMap.delete(t),this.metadata.delete(t),this.userTabsState.tabs=this.userTabsState.tabs.filter((e=>e!==t)),this.callHandlerSyncCallback(e,(t=>t.onCloseSilent)))})),b.F.isIntersect(t,this.history.currentId)&&this.selectTab(this.history.history.shift()??"",e)}registerTabHandler(t){const e=new TabHandler(t);return this.handlers.set(t.key,e),e}updateHandlerState(t,e){const s=this.tabsMap.get(t);s&&(s.handlerState=e)}getTabHandler(t){return this.handlers.get(t)}getHandlerState(t){const e=this.tabsMap.get(t);if(e)return e.handlerState}getTab(t){return this.tabsMap.get(t)}findTab(t){for(const e of this.tabsMap.values())if(this.getTabMetadata(e.id).restored&&e.userId===this.userInfoResource.getId()&&t(e))return e;return null}*findTabs(t){for(const e of this.tabsMap.values())this.getTabMetadata(e.id).restored&&e.userId===this.userInfoResource.getId()&&t(e)&&(yield e)}async unloadTabs(){const t=[];(0,r.h5)((()=>{this.onInit.execute(!1);for(const e of this.tabsMap.values())if(e.userId!==this.userInfoResource.getId()){const s=this.getTabMetadata(e.id);s.restored&&(s.restored=!1,t.push(this.callHandlerCallback(e,(t=>t.onUnload))))}})),await Promise.all(t)}async restoreTabs(){if(this.administrationScreenService.publicDisabled)return;if(!this.appAuthService.authenticated)return;const t=[];for(const e of this.userTabsState.tabs){const s=this.tabsMap.get(e);s?await this.restoreTab(s,t):t.push(e)}t.length>0&&this.notificationService.logError({title:"Some tabs cannot be restored properly",isSilent:!0}),(0,r.h5)((()=>{if(this.closeTabSilent((0,u.OU)(t),!0),this.history.currentId){const t=this.tabsMap.get(this.history.currentId);t&&(this.selectTab(this.history.currentId),this.onTabSelect.execute(t))}this.onInit.execute(!0)}))}callHandlerSyncCallback(t,e){const s=this.handlers.get(t.handlerId);if(!s)return;const a=e(s);a&&a.call(s,t)}async callHandlerCallback(t,e){const s=this.handlers.get(t.handlerId);if(!s)return;const a=e(s);a&&await a.call(s,t)}async restoreTab(t,e){const s=this.getTabMetadata(t.id);if(s.restored)return;let a=!1;try{const e=this.handlers.get(t.handlerId);(!e||e.onRestore&&!await e.onRestore(t))&&(a=!0)}catch(t){a=!0}a?e.push(t.id):s.restored=!0}};C=(0,a.Cg)([(0,h._)(),(0,a.Sn)("design:paramtypes",[l.NotificationService,g.StorageService,n.UserInfoResource,d.ProjectsService,i.AdministrationScreenService,o.AppAuthService])],C)},67394:(t,e,s)=>{s.r(e),s.d(e,{PluginBootstrap:()=>l});var a=s(1118),r=s(15993),i=s(21661),n=s(82103),o=s(5576);const h=r.lazy((async()=>{const{NavigationTabsBar:t}=await Promise.all([s.e(11502),s.e(7542),s.e(97493),s.e(67557),s.e(70639),s.e(64435),s.e(73676),s.e(88273),s.e(18682),s.e(62570),s.e(95860),s.e(35703)]).then(s.bind(s,4324));return{default:t}}));let l=class PluginBootstrap extends n.j{constructor(t){super(),this.appScreenService=t}register(){this.appScreenService.rightAreaTop.add(h)}load(){}};l=(0,a.Cg)([(0,o._)(),(0,a.Sn)("design:paramtypes",[i.AppScreenService])],l)}}]);