graphdb-workbench
Version:
The web application for GraphDB APIs
1 lines • 39.7 kB
JavaScript
"use strict";var index=require("./index-jdsA9lN2.js"),workbenchApi=require("@ontotext/workbench-api"),translation_service=require("./translation.service-CC6jY4U-.js"),htmlUtil=require("./html-util-e108SpX7.js"),resourceSearchConstants=require("./resource-search-constants-nHPm7A9W.js"),tooltipUtil=require("./tooltip-util-CrLOWQwj.js");require("./onto-tooltip-placement-CTomd-7A.js");const ontoFooterCss=":host{display:block}.footer-component{padding-left:var(--main-content-rl-padding);height:1.875rem}",OntoFooter=class{constructor(e){index.registerInstance(this,e),this.subscriptions=new workbenchApi.SubscriptionList,this.currentYear=(new Date).getFullYear(),this.securityContextService=workbenchApi.ServiceProvider.get(workbenchApi.SecurityContextService),this.licenseContextService=workbenchApi.ServiceProvider.get(workbenchApi.LicenseContextService),this.cookieService=workbenchApi.ServiceProvider.get(workbenchApi.CookieService)}handleConsentGiven(){this.cookieService.acceptCookiePolicy().then(()=>this.shouldShowCookieConsent=!1)}render(){var e,t,o,i;return index.h(index.Host,{key:"c5bbe0151e3eb14932bacecaad88b7e529e3a1f1"},index.h("div",{key:"5d4e0501b872ccbaa2e48f99361a948e83191b65",class:"footer-component"},index.h("a",{key:"e81e156b6b691a0a05275ee399ccf26438ba5729",href:"http://graphdb.ontotext.com",target:"_blank",rel:"noopener noreferrer"},"GraphDB")," ",null===(e=this.productInfo)||void 0===e?void 0:e.productVersion," • ",index.h("a",{key:"018b1772807248dfd83e0c2ca57fde6bd848e9c9",href:"http://rdf4j.org",target:"_blank",rel:"noopener noreferrer"},"RDF4J")," ",null===(t=this.productInfo)||void 0===t?void 0:t.sesame," • Connectors ",null===(o=this.productInfo)||void 0===o?void 0:o.connectors," • Workbench ",null===(i=this.productInfo)||void 0===i?void 0:i.workbench," • © 2002–",this.currentYear," ",index.h("a",{key:"20e70771852b0c504e86e36a1b9fdb9b61d5963c",href:"http://ontotext.com",target:"_blank",rel:"noopener noreferrer"},"Ontotext AD"),". ",index.h("translate-label",{key:"8df55b8d224ae50ca9de3fd038c0285ee01b4ff3",labelKey:"footer.label.all_rights_reserved"})),this.shouldShowCookieConsent&&index.h("onto-cookie-consent",{key:"80f9c1af70db76ef4c6680dacf7022eb1262f049"}))}connectedCallback(){this.subscribeToProductInfoChange(),this.subscribeToUserChange(),this.subscribeToLicenseChange()}disconnectedCallback(){this.subscriptions.unsubscribeAll()}subscribeToProductInfoChange(){this.subscriptions.add(workbenchApi.ServiceProvider.get(workbenchApi.ProductInfoContextService).onProductInfoChanged(e=>{this.productInfo=e}))}isTrackingAllowed(){return workbenchApi.ServiceProvider.get(workbenchApi.LicenseService).isTrackableLicense()&&!workbenchApi.WindowService.getWindow().wbDevMode}subscribeToUserChange(){this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(()=>{this.setCookieConsentVisibility()}))}setCookieConsentVisibility(){var e;const t=this.securityContextService.getAuthenticatedUser();this.shouldShowCookieConsent=this.isTrackingAllowed()&&!new workbenchApi.CookieConsent(null===(e=null==t?void 0:t.appSettings)||void 0===e?void 0:e.COOKIE_CONSENT).policyAccepted}subscribeToLicenseChange(){this.subscriptions.add(this.licenseContextService.onLicenseChanged(()=>{this.setCookieConsentVisibility()}))}};OntoFooter.style=ontoFooterCss;const SelectorItemButton=({repository:e})=>index.h("div",{class:"repository-selector-dropdown-item"},index.h("i",{class:"item-icon icon-repo-"+e.type}),index.h("div",{class:"item-label"},index.h("div",{class:"repository-id"},e.id),index.h("div",{class:"repository-location"},e.location?e.location:"Local"))),ontoHeaderCss=":host{display:block}.header-component>*{height:100%}.header-component{display:flex;justify-content:flex-end;align-items:stretch;gap:0.25em;margin-right:2em;font-size:1.1em;padding-bottom:0.5rem}",OntoHeader=class{constructor(e){index.registerInstance(this,e),this.monitoringService=workbenchApi.ServiceProvider.get(workbenchApi.MonitoringService),this.repositoryContextService=workbenchApi.ServiceProvider.get(workbenchApi.RepositoryContextService),this.repositoryLocationContextService=workbenchApi.ServiceProvider.get(workbenchApi.RepositoryLocationContextService),this.repositoryService=workbenchApi.ServiceProvider.get(workbenchApi.RepositoryService),this.securityContextService=workbenchApi.ServiceProvider.get(workbenchApi.SecurityContextService),this.toastrService=workbenchApi.ServiceProvider.get(workbenchApi.OntoToastrService),this.namespacesService=workbenchApi.ServiceProvider.get(workbenchApi.NamespacesService),this.namespaceContextService=workbenchApi.ServiceProvider.get(workbenchApi.NamespacesContextService),this.languageService=workbenchApi.ServiceProvider.get(workbenchApi.LanguageService),this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL=2e3,this.fibonacciGenerator=new workbenchApi.FibonacciGenerator,this.authService=workbenchApi.ServiceProvider.get(workbenchApi.AuthenticationService),this.authorizationService=workbenchApi.ServiceProvider.get(workbenchApi.AuthorizationService),this.eventService=workbenchApi.ServiceProvider.get(workbenchApi.EventService),this.shouldShowSearch=!0,this.isHomePage=workbenchApi.isHomePage(),this.showUserMenu=!1,this.showLoginButton=!1,this.isActiveLocationLoading=!1,this.repositoryItems=[],this.subscriptions=new workbenchApi.SubscriptionList,this.skipUpdateActiveOperationsTimes=0,this.canWriteRepo=e=>this.canWriteRepoInLocation(e),this.repositorySizeInfoFetcher=e=>this.repositoryService.getRepositorySizeInfo(e),this.showViewResourceMessage=e=>{e.stopPropagation(),this.toastrService.info(translation_service.TranslationService.translate("rdf_search.toasts.use_view_resource")),this.shouldShowSearch=!1,htmlUtil.HtmlUtil.focusElement("#search-resource-input-home input"),this.eventService.emit({NAME:resourceSearchConstants.ResourceSearchConstants.RDF_SEARCH_ICON_CLICKED})}}disconnectedCallback(){this.subscriptions.unsubscribeAll(),this.stopOperationPolling()}connectedCallback(){this.currentRepository=this.repositoryContextService.getSelectedRepository(),this.setupTotalRepositoryFormater(),this.setupExpansionRatioFormater(),this.subscribeToEvents(),this.currentRoute=workbenchApi.getCurrentRoute(),this.startOperationPolling()}render(){var e,t;return index.h(index.Host,{key:"bc8c421756d609ae6404b9b7712911abd219ba07"},index.h("div",{key:"6f850663b37b3eb232a42d05d024705d5ae28b4a",class:"header-component"},index.h("onto-search-icon",{key:"d2b6d4e227b733968d17f5863fcd7414bdb16207",class:"rdf-search-button",onClick:this.showViewResourceMessage,"data-test":"onto-show-view-resource-message",style:{display:this.shouldShowSearch&&this.isHomePage?"block":"none"}}),index.h("onto-rdf-search",{key:"cf668fd58d55d9612ea1f546d1541c36504d1ce3","data-test":"onto-open-rdf-search-button",style:{display:this.shouldShowSearch&&!this.isHomePage?"block":"none"}}),(null===(e=this.activeOperations)||void 0===e?void 0:e.allRunningOperations.getItems().length)?index.h("onto-operations-notification",{activeOperations:this.activeOperations}):"",this.license&&!(null===(t=this.license)||void 0===t?void 0:t.valid)?index.h("onto-license-alert",{license:this.license}):"",index.h("onto-repository-selector",{key:"81ad2247cc894de18f9b10348913167285166e04",currentRepository:this.currentRepository,items:this.repositoryItems,repositorySizeInfoFetcher:this.repositorySizeInfoFetcher,totalTripletsFormatter:this.totalTripletsFormatter,expansionRatioFormatter:this.expansionRatioFormatter,canWriteRepo:this.canWriteRepo}),this.showUserMenu&&this.user?index.h("onto-user-menu",{user:this.user,securityConfig:this.securityConfig}):"",this.showLoginButton?index.h("onto-user-login",null):"",index.h("onto-language-selector",{key:"e6cb7e861f5da1fb9380e0c0e1ad88ecb4917825","dropdown-alignment":"right"})))}subscribeToEvents(){this.subscribeToSecurityContextChange(),this.subscribeToRepositoryListChanged(),this.subscribeToLicenseChange(),this.subscribeToRepositoryChange(),this.subscribeToActiveRepositoryLocationChange(),this.subscribeToActiveRepoLoadingChange(),this.subscribeToNavigationEnd(),this.subscribeToLanguageChanged(),this.subscribeToAuthenticatedUserChange()}subscribeToRepositoryListChanged(){return this.repositoryContextService.onRepositoryListChanged(e=>{(null==e?void 0:e.getItems().length)?this.initOnRepositoryListChanged(e):this.resetOnMissingRepositories()})}subscribeToLicenseChange(){this.subscriptions.add(workbenchApi.ServiceProvider.get(workbenchApi.LicenseContextService).onLicenseChanged(e=>{this.license=e}))}subscribeToRepositoryChange(){this.subscriptions.add(this.repositoryContextService.onSelectedRepositoryChanged(e=>{this.currentRepository=e,this.shouldShowSearch=this.shouldShowRdfSearch(),this.loadNamespaces(),this.updateRepositoryItems()}))}subscribeToSecurityContextChange(){this.subscriptions.add(this.securityContextService.onSecurityConfigChanged(e=>{this.securityConfig=e,setTimeout(()=>{this.updateVisibility()})}))}subscribeToAuthenticatedUserChange(){this.subscriptions.add(this.securityContextService.onAuthenticatedUserChanged(e=>{this.user=e,this.updateRepositoryItems(),this.updateVisibility()}))}subscribeToActiveRepositoryLocationChange(){this.subscriptions.add(this.repositoryLocationContextService.onActiveLocationChanged(()=>{this.shouldShowSearch=this.shouldShowRdfSearch()}))}subscribeToActiveRepoLoadingChange(){this.subscriptions.add(this.repositoryLocationContextService.onIsLoadingChanged(e=>{this.isActiveLocationLoading=e,this.shouldShowSearch=this.shouldShowRdfSearch()}))}subscribeToNavigationEnd(){this.subscriptions.add(this.eventService.subscribe(workbenchApi.EventName.NAVIGATION_END,()=>{this.shouldShowSearch=this.shouldShowRdfSearch(),this.isHomePage=workbenchApi.isHomePage(),this.currentRoute=workbenchApi.getCurrentRoute(),this.updateVisibility()}))}subscribeToLanguageChanged(){this.subscriptions.add(workbenchApi.ServiceProvider.get(workbenchApi.LanguageContextService).onSelectedLanguageChanged(e=>{this.setupTotalRepositoryFormater(e),this.setupExpansionRatioFormater(e)}))}resetOnMissingRepositories(){this.repositoryItems=[],this.repositoryList=new workbenchApi.RepositoryList,this.currentRepository=void 0}initOnRepositoryListChanged(e){this.repositoryList=e,this.updateRepositoryItems()}updateRepositoryItems(){this.repositoryItems=this.getRepositoriesDropdownItems()}getRepositoriesDropdownItems(){var e;if(!(null===(e=this.repositoryList)||void 0===e?void 0:e.getItems().length))return[];let t;return this.repositoryList.sortByLocationAndId(),t=this.currentRepository?this.repositoryList.filterByRepository([this.currentRepository]):this.repositoryList.getItems(),t.filter(e=>this.authorizationService.canReadRepo(e)||this.authorizationService.canReadGqlRepo(e)).map(e=>(new resourceSearchConstants.DropdownItem).setName(index.h(SelectorItemButton,{repository:e})).setValue(e).setGuideSelector(`repository-id-${e.id}`))}canWriteRepoInLocation(e){return!0}loadNamespaces(){this.currentRepository&&this.authorizationService.canReadRepo(this.currentRepository)&&this.namespacesService.getNamespaces(this.currentRepository.id).then(e=>this.namespaceContextService.updateNamespaces(e))}updateVisibility(){var e,t,o;const i=null===(e=this.securityConfig)||void 0===e?void 0:e.enabled,n=this.authService.isLoggedIn();let s=!1;try{s=this.authService.isAuthenticated()}catch(e){s=!1}const r=null===(o=null===(t=this.securityConfig)||void 0===t?void 0:t.freeAccess)||void 0===o?void 0:o.enabled;this.showLoginButton=i&&r&&!n&&"login"!==this.currentRoute,this.showUserMenu=i&&s&&n,this.shouldShowSearch=this.shouldShowRdfSearch()}startOperationPolling(){clearInterval(this.pollingInterval),this.pollingInterval=workbenchApi.WindowService.getWindow().setInterval(()=>{this.authService.isAuthenticated()?this.skipUpdateActiveOperationsTimes>0?this.skipUpdateActiveOperationsTimes--:this.currentRepository&&this.monitoringService.getOperations(this.currentRepository.id).then(e=>{workbenchApi.ObjectUtil.deepEqual(this.activeOperations,e)||(this.activeOperations=e),this.fibonacciGenerator.reset(),this.skipUpdateActiveOperationsTimes=0}).catch(()=>{this.activeOperations=void 0,this.skipUpdateActiveOperationsTimes=this.fibonacciGenerator.next()}):this.activeOperations=void 0},this.UPDATE_ACTIVE_OPERATION_TIME_INTERVAL)}stopOperationPolling(){clearInterval(this.pollingInterval),this.activeOperations=void 0}shouldShowRdfSearch(){return!!this.currentRepository&&(!this.isActiveLocationLoading||"/repository"===workbenchApi.getPathName())&&this.authorizationService.canReadRepo(this.currentRepository)}setupTotalRepositoryFormater(e){e||(e=this.languageService.getDefaultLanguage()),this.totalTripletsFormatter=new Intl.NumberFormat(e,{style:"decimal",minimumFractionDigits:0,maximumFractionDigits:0})}setupExpansionRatioFormater(e){e||(e=this.languageService.getDefaultLanguage()),this.expansionRatioFormatter=new Intl.NumberFormat(e,{style:"decimal",minimumFractionDigits:2,maximumFractionDigits:2})}};OntoHeader.style=ontoHeaderCss;class NavbarToggledEvent{constructor(e){this.type="navbarToggled",this.payload=e}}class NavbarModel{constructor(e=[]){this._items=e}hasParent(e){return this._items.some(t=>e===t.label)}getModel(){const e=t=>{const o=t.children.map(e);return new NavbarItemModel(Object.assign(Object.assign({},t),{children:o}))};return this._items.map(e)}addItem(e){this._items.push(e)}getSelectedRootItem(){return this._items.find(e=>e.selected)}isParentOpened(e){var t;return!!(null===(t=this.getParentItem(e))||void 0===t?void 0:t.open)}getTopLevelItem(e){return this._items.find(t=>t.label===e)}getParentItem(e){return this._items.find(t=>t.label===e.parent)}deselectAll(){this.walk(e=>{e.selected=!1})}closeAll(){this.walk(e=>{e.open=!1})}deselectItem(e){e.selected=!1}selectItem(e){e.label?e.selected=!0:this.selectItem(e.parentModel)}hasSelectedSubmenu(e){return!!e.children&&e.children.some(e=>this.hasSelection(e))}hasSelection(e){return!!e.selected||!!e.children&&e.children.some(e=>this.hasSelection(e))}closeOpened(){const e=this._items.find(e=>e.open);e&&(this.hasSelectedSubmenu(e)&&this.selectItem(e),e.open=!1)}open(e){this.walk(e=>{e.open=!1}),this.openItemAndParent(e)}openItemAndParent(e){e.parentModel&&this.openItemAndParent(e.parentModel),e.open=!0}closeOtherParents(e){const t=e.parent;this.walk(e=>{e.label!==t&&(e.open=!1)})}highlightSelected(){const e=this.getSelectedItem();(null==e?void 0:e.hasParent)&&this.selectItem(this.getParentItem(e))}unhighlightSelected(){const e=this.getSelectedRootItem();e&&e.children.length&&e.open&&this.deselectItem(e)}getSelectedItem(){let e=null;const t=o=>{if(o.selected)return e=o,!0;if(o.children)for(const e of o.children)if(t(e))return!0;return!1};return this._items.some(t),e}expandSelected(){const e=this.getSelectedItem();e&&(e.hasParent?this.open(this.getParentItem(e)):this.open(e))}initSelected(e){this.walk(t=>{var o;let i=e;(null===(o=t.href)||void 0===o?void 0:o.includes("*"))&&(i=this.getWildcardPath(e,t.href)),t.href===i&&(t.hasParent&&this.open(t),this.selectItem(t))})}getWildcardPath(e,t){const o=e.split("/"),i=t.split("/");if(o.length!==i.length)return e;const n=[];for(let t=0;t<i.length;t++)if("*"===i[t])n.push("*");else{if(i[t]!==o[t])return e;n.push(i[t])}return n.join("/")}sorted(){return this._items.filter(e=>e.children).forEach(e=>{e.children.sort(NavbarModel.compare)}),this._items.sort(NavbarModel.compare),this}static compare(e,t){return e.order-t.order}walk(e){this.walkRecursively(this.items,e)}walkRecursively(e,t){e.forEach(e=>{var o;t(e),(null===(o=e.children)||void 0===o?void 0:o.length)&&this.walkRecursively(e.children,t)})}get items(){return this._items}}class NavbarItemModel{constructor(e){var t;this._selected=!1,this._open=!1,this._order=e.order,this._label=e.label,this._labelKey=e.labelKey,this._href=e.href,this._children=[...null!==(t=e.children)&&void 0!==t?t:[]],this._hasParent=e.hasParent,this._parent=e.parent,this._selected=e.selected,this._open=e.open,this._documentationHref=e.documentationHref,this._hrefFun=e.hrefFun,this._editions=e.editions,this._icon=e.icon,this._role=e.role,this._guideSelector=e.guideSelector,this._testSelector=e.testSelector,this._shouldShow=e.shouldShow,this._parentModel=e.parentModel}addChild(e){this.children.push(e),e.setParent(this)}addChildren(...e){e.forEach(e=>{this.addChild(e)})}hasSubmenus(){return"#"===this._href}get parent(){return this._parent}set parent(e){this._parent=e}get order(){return this._order}set order(e){this._order=e}get label(){return this._label}set label(e){this._label=e}get labelKey(){return this._labelKey}set labelKey(e){this._labelKey=e}get documentationHref(){return this._documentationHref}set documentationHref(e){this._documentationHref=e}get href(){return this._href}set href(e){this._href=e}get children(){return this._children}set children(e){this._children=e}get hasParent(){return this._hasParent}set hasParent(e){this._hasParent=e}get selected(){return this._selected}set selected(e){this._selected=e}get open(){return this._open}set open(e){this._open=e}get hrefFun(){return this._hrefFun}set hrefFun(e){this._hrefFun=e}get editions(){return this._editions}set editions(e){this._editions=e}get icon(){return this._icon}set icon(e){this._icon=e}get role(){return this._role}set role(e){this._role=e}get guideSelector(){return this._guideSelector}set guideSelector(e){this._guideSelector=e}get testSelector(){return this._testSelector}set testSelector(e){this._testSelector=e}get parentModel(){return this._parentModel}set parentModel(e){this._parentModel=e}get shouldShow(){return this._shouldShow}set shouldShow(e){this._shouldShow=e}setParent(e){this.parentModel=e,this.hasParent=!!e}}const logger=translation_service.LoggerProvider.logger;class NavbarService{static map(e,t){const o=new NavbarModel;return NavbarService.setTopLevelMenuItems(e,o,t),NavbarService.setSubmenuItems(e,o,t),o.sorted()}static setTopLevelMenuItems(e,t,o){e.forEach(e=>{e.items.filter(e=>!e.parent&&e.shouldShow).forEach(e=>{t.hasParent(e.label)?logger.warn("Doubled parent definition: ",e):t.addItem(this.toMenuItemModel(e,void 0,o,e.children))})})}static setSubmenuItems(e,t,o){e.forEach(e=>{e.items.filter(e=>e.parent&&e.shouldShow).forEach(e=>{const i=t.getTopLevelItem(e.parent);null==i||i.addChildren(this.toMenuItemModel(e,i,o,e.children))})})}static toMenuItemModel(e,t,o,i=[]){let n;e.documentationHref&&(n=workbenchApi.UriUtil.resolveDocumentationUrl(null==o?void 0:o.shortVersion,e.documentationHref));const s=new NavbarItemModel({label:e.label,labelKey:e.labelKey,href:n||e.href,documentationHref:e.documentationHref,hrefFun:e.hrefFun,order:e.order,role:e.role,editions:e.editions,icon:e.icon,guideSelector:e.guideSelector,hasParent:!!t,parentModel:t,parent:e.parent,selected:!1,shouldShow:e.shouldShow,testSelector:e.testSelector}),r=i.map(e=>this.toMenuItemModel(e,s,o,e.children));return s.addChildren(...r),s}}const ontoNavbarCss=':host{display:block}.navbar-component{width:15rem;position:fixed;font-weight:400;z-index:1010;margin:0;padding:0;-moz-transition:width 0.2s ease-in;-o-transition:width 0.2s ease-in;-webkit-transition:width 0.2s ease-in;transition:width 0.2s ease-in;height:100%;overflow-y:auto;overflow-x:hidden}@media screen and (max-height: 475px){.navbar-component.collapsed{position:absolute}}.navbar-component li{list-style:none;cursor:pointer}.navbar-component li a{text-decoration:none}.navbar-component li a.sub-menu-link:not([href=""]):not([tabindex]):hover{text-decoration:none !important}.navbar-component .sub-menu-item a.sub-menu-link:not([href]) translate-label.menu-item{padding-right:3.5px}.navbar-component a.sub-menu-link:not([href]):hover .menu-item,.navbar-component a.sub-menu-link[href=""]:hover .menu-item{text-decoration-line:underline !important}.navbar-component li .menu-element-root:hover,.navbar-component .sub-menu li:hover{text-decoration-line:none !important}.navbar-component li .menu-element-root:hover .menu-item-icon,.navbar-component .menu-element.open .menu-item-icon{transform:scale(1.1)}.navbar-component .menu-element.open .sub-menu .menu-item-icon{transform:scale(0.5)}.navbar-component .menu-element{position:relative}.navbar-component .menu-element-root{padding:0.8em 2.5em 0.8em 0.8em;display:block;line-height:2.5rem;position:relative;z-index:100;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;cursor:pointer;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.navbar-component .menu-item-icon{font-size:2.5rem;width:2.5rem;vertical-align:middle;text-align:center;transform:scale(0.9);display:inline-block;-moz-transition:all 0.18s ease-out;-o-transition:all 0.18s ease-out;-webkit-transition:all 0.18s ease-out;transition:all 0.18s ease-out;pointer-events:none}.navbar-component .menu-element-root .menu-item{pointer-events:none}.navbar-component .menu-element-root.active,.navbar-component .menu-element-root.active:hover{background-color:var(--gw-sidenav-submenuitem-active-background);color:#ffffff}.navbar-component .active .menu-item-icon{transform:scale(1.1)}.navbar-component :not(.brand) .menu-element-root{font-size:1.1rem}.navbar-component .brand a{display:block;position:relative;z-index:5}.navbar-component .sub-menu{position:relative;padding:0;z-index:110}.navbar-component .sub-menu li{display:none}.navbar-component .sub-menu li a{padding:0.5em 0.8em;display:block}.navbar-component .sub-menu li.active a{font-weight:500}.navbar-component .menu-element.open ul li{display:block}.navbar-component .menu-element ul:before,.rdf-list ul.datasource:before{font-family:"icomoon", sans-serif !important;content:"\\e921";display:block;font-size:1.5em;position:absolute;top:-3.3rem;right:1rem;-moz-transition:all 0.2s ease-in;-o-transition:all 0.2s ease-in;-webkit-transition:all 0.2s ease-in;transition:all 0.2s ease-in;pointer-events:none}.navbar-component .menu-element.open ul:before,.rdf-list ul.open.datasource:before{transform:rotate(180deg)}.navbar-component.collapsed{width:4.375rem;overflow:visible;height:auto}.navbar-component.collapsed .menu-element.open .sub-menu{position:absolute;top:0;left:4.375rem;width:15rem}.navbar-component.collapsed .menu-element .menu-item,.navbar-component.collapsed .menu-element .sub-menu li{display:none}.navbar-component.collapsed .menu-element.open .menu-item,.navbar-component.collapsed .menu-element.open .sub-menu li{display:block}.navbar-component.collapsed .menu-element.open .menu-element-root .menu-item{display:none}.navbar-component.collapsed .menu-element-root{overflow:visible}.navbar-component .menu-element.open ul li.submenu-title,.navbar-component .submenu-title{display:none}.navbar-component.collapsed .menu-element.open ul li.submenu-title{display:block;font-size:1.2em;font-weight:500;text-overflow:ellipsis;overflow:hidden;padding:0.5em 0.8rem 0.2em 0;margin-left:0.8rem;margin-bottom:0.5em}.navbar-component.collapsed .menu-element.open .sub-menu.align-bottom{bottom:0;top:auto}.navbar-component.collapsed .menu-element ul:before{display:none}.navbar-component.collapsed .brand a{padding:0.4rem}.navbar-component.collapsed .small-logo,.navbar-component .big-logo{display:block}.navbar-component .small-logo,.navbar-component.collapsed .big-logo{display:none}.navbar-component .brand{background-color:var(--gw-sidenav-logo-background)}.small-logo{width:50px;height:50px}.big-logo{width:180px;height:50px}.toggle-menu{display:block;position:absolute;top:0;right:0;font-size:0.8em;line-height:1.5;padding:0 0.3em;z-index:10;cursor:pointer;background-color:var(--gw-sidenav-collapsebutton-background);color:var(--gw-sidenav-collapsebutton-color)}.toggle-menu:hover{color:var(--gw-sidenav-collapsebutton-hover-color);background-color:var(--gw-sidenav-collapsebutton-hover-background)}.toggle-menu [class^=icon-]{transition:all 0.2s ease-in;display:inline-block}.toggle-menu:hover [class^=icon-]{transform:scale(1.1)}.navbar-component .menu-element .menu-element-root{background-color:var(--gw-sidenav-menuitem-background);color:var(--gw-sidenav-menuitem-color)}.navbar-component .menu-element .menu-element-root:hover{background-color:var(--gw-sidenav-menuitem-hover-background);color:var(--gw-sidenav-menuitem-hover-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon{color:var(--gw-sidenav-menuitem-icon-color)}.navbar-component .menu-element .menu-element-root .menu-item-icon:hover{color:var(--gw-sidenav-menuitem-hover-icon-color)}.navbar-component .menu-element.open .menu-element-root{background-color:var(--gw-sidenav-menuitem-selected-background);color:var(--gw-sidenav-menuitem-selected-color)}.navbar-component .menu-element .menu-element-root.active{background-color:var(--gw-sidenav-menuitem-active-background);color:var(--gw-sidenav-menuitem-active-color)}.navbar-component .menu-element .menu-element-root.active .menu-item-icon{color:var(--gw-sidenav-menuitem-active-icon-color)}.navbar-component .menu-element .sub-menu-item,.navbar-component .menu-element .sub-menu{background-color:var(--gw-sidenav-submenuitem-background);color:var(--gw-sidenav-submenuitem-color)}.navbar-component .menu-element .sub-menu-item:hover{background-color:var(--gw-sidenav-submenuitem-hover-background);color:var(--gw-sidenav-submenuitem-hover-color)}.navbar-component .menu-element .sub-menu-item.active,.navbar-component .menu-element .sub-menu-item.active .sub-menu-link{background-color:var(--gw-sidenav-submenuitem-active-background);color:var(--gw-sidenav-submenuitem-active-color)}',labelKeys={EXPAND:"menu.buttons.expand",COLLAPSE:"menu.buttons.collapse",LOGO_LINK:"menu.logo.link.title"},OntoNavbar=class{constructor(e){index.registerInstance(this,e),this.navbarToggled=index.createEvent(this,"navbarToggled"),this.productInfoContextService=workbenchApi.ServiceProvider.get(workbenchApi.ProductInfoContextService),this.subscriptions=new workbenchApi.SubscriptionList,this.resizeHandler=()=>this.adjustAllSubmenus(this.hostElement),this.SUBMENU_VERTICAL_MARGIN=8,this.MIN_SUBMENU_HEIGHT=100,this.labels={[labelKeys.EXPAND]:translation_service.TranslationService.translate(labelKeys.EXPAND),[labelKeys.COLLAPSE]:translation_service.TranslationService.translate(labelKeys.COLLAPSE),[labelKeys.LOGO_LINK]:translation_service.TranslationService.translate(labelKeys.LOGO_LINK)},this.isCollapsedByUser=!1,this.isCollapsed=!1}navbarCollapsedChange(e){this.isCollapsed=!e,this.isCollapsed&&!this.isCollapsedByUser?this.expandNavbar():this.collapseNavbar(),this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed))}menuItemsChanged(e){this.init(e)}init(e){const t=NavbarService.map(e||[],this.productInfo);t.initSelected(workbenchApi.getCurrentRoute()),this.menuModel=t}select(e,t){e.preventDefault(),this.clearAllOpenedSubmenuStyles(),t.hasSubmenus()||(e.ctrlKey?workbenchApi.openInNewTab(t.href):workbenchApi.navigate(t.href)),t.children.length?t.open?(this.menuModel.closeAll(),this.menuModel.hasSelectedSubmenu(t)&&this.menuModel.selectItem(t)):(this.menuModel.closeOpened(),this.menuModel.open(t),this.menuModel.hasSelectedSubmenu(t)&&this.menuModel.deselectItem(t)):this.menuModel.closeOtherParents(t),this.isCollapsed&&this.menuModel.isParentOpened(t)&&this.menuModel.closeOpened(),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement)}subscribeToNavigationEnd(){this.subscriptions.add(workbenchApi.ServiceProvider.get(workbenchApi.EventService).subscribe(workbenchApi.EventName.NAVIGATION_END,()=>{this.selectItemByUrl()}))}selectItemByUrl(){this.menuModel&&(this.menuModel.deselectAll(),this.menuModel.closeAll(),workbenchApi.isHomePage()||this.menuModel.initSelected(workbenchApi.getCurrentRoute()),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement))}toggleNavbar(){this.isCollapsed?(this.isCollapsedByUser=!1,this.menuModel.expandSelected(),this.menuModel.unhighlightSelected(),this.expandNavbar(),this.clearAllOpenedSubmenuStyles()):(this.isCollapsedByUser=!0,this.menuModel.highlightSelected(),this.menuModel.closeOpened(),this.collapseNavbar(),this.clearAllOpenedSubmenuStyles()),this.refreshNavbar(),this.adjustAllSubmenus(this.hostElement),this.navbarToggled.emit(new NavbarToggledEvent(this.isCollapsed))}collapseNavbar(){this.hostElement.querySelector(".navbar-component").classList.add("collapsed"),this.isCollapsed=!0}expandNavbar(){this.isCollapsedByUser||(this.hostElement.querySelector(".navbar-component").classList.remove("collapsed"),this.isCollapsed=!1)}refreshNavbar(){var e;(null===(e=this.menuModel)||void 0===e?void 0:e.items)&&(this.menuModel=new NavbarModel(this.menuModel.items))}onLanguageChanged(){this.refreshNavbar()}onTranslate(e){this.subscriptions.add(translation_service.TranslationService.onTranslate(e,[],t=>{this.labels[e]=t,this.onLanguageChanged()}))}toggleNavbarHandler(){return()=>this.toggleNavbar()}adjustSubmenuMaxHeight(e,t=this.SUBMENU_VERTICAL_MARGIN){if(!e||"function"!=typeof e.getBoundingClientRect)return;const o=e.closest(".menu-element");if(!o)return;const i=e.getBoundingClientRect(),n=o.getBoundingClientRect(),s=window.innerHeight,r=n.top-t+n.height,a=s-n.bottom+n.height-t;let l,c=!1;a>=i.height?l=a:r>=i.height?(l=r,c=!0):a>r?(l=a,c=!1):(l=r,c=!0),c?(e.style.bottom="0",e.style.top="auto"):(e.style.top="0",e.style.bottom="auto"),e.style.maxHeight=`${Math.max(this.MIN_SUBMENU_HEIGHT,l)}px`,e.style.overflowY="auto"}adjustAllSubmenus(e,t=this.SUBMENU_VERTICAL_MARGIN){requestAnimationFrame(()=>{e&&"function"==typeof e.querySelectorAll&&this.getAllOpenedSubmenus(e).forEach(e=>this.adjustSubmenuMaxHeight(e,t))})}getAllOpenedSubmenus(e){return Array.from(e.querySelectorAll(".navbar-component.collapsed .menu-element.open .sub-menu"))}getAllSubmenus(e){return Array.from(e.querySelectorAll(".navbar-component .menu-element .sub-menu"))}clearAllOpenedSubmenuStyles(){this.getAllSubmenus(this.hostElement).forEach(e=>{e.style.maxHeight="",e.style.overflowY="",e.style.top="",e.style.bottom=""})}componentWillLoad(){this.init(this.menuItems)}connectedCallback(){this.subscribeToNavigationEnd(),this.subscribeToProductInfoChanges(),this.onTranslate(labelKeys.EXPAND),this.onTranslate(labelKeys.COLLAPSE),this.onTranslate(labelKeys.LOGO_LINK),window.addEventListener("resize",this.resizeHandler)}disconnectedCallback(){this.subscriptions.unsubscribeAll(),window.removeEventListener("resize",this.resizeHandler)}handleSelectMenuItem(e){return t=>{this.select(t,e)}}render(){if(this.menuModel)return index.h(index.Host,null,index.h("ul",{class:"navbar-component"},index.h("li",{class:"brand"},index.h("span",{class:"toggle-menu",title:this.isCollapsed?this.labels[labelKeys.EXPAND]:this.labels[labelKeys.COLLAPSE],onClick:this.toggleNavbarHandler()},index.h("em",{class:this.isCollapsed?"ri-arrow-right-s-line":"ri-arrow-left-s-line"})),index.h("a",{class:"menu-element-root home-page",onClick:workbenchApi.navigateTo("./")},index.h("svg",{class:"big-logo"},index.h("desc",null,this.labels[labelKeys.LOGO_LINK]),index.h("use",{href:"assets/graphdb-logo.svg#Layer_1"})),index.h("svg",{class:"small-logo"},index.h("desc",null,this.labels[labelKeys.LOGO_LINK]),index.h("use",{href:"assets/graphdb-logo-sq.svg#Layer_1"})))),this.menuModel.items.map(e=>index.h("li",{key:e.labelKey,class:{"menu-element":!0,open:e.open},"data-test":e.testSelector,"guide-selector":e.guideSelector},e.children.length>0&&index.h(index.Fragment,null,index.h("div",{class:{"menu-element-root":!0,active:e.selected},onClick:this.handleSelectMenuItem(e)},index.h("span",{class:`menu-item-icon ${e.icon}`})," ",index.h("translate-label",{class:"menu-item",labelKey:e.labelKey})),index.h("ul",{class:"sub-menu"},index.h("li",{key:e.labelKey,class:"submenu-title"},index.h("translate-label",{labelKey:e.labelKey})),e.children.map(e=>index.h("li",{key:e.labelKey,class:{"sub-menu-item":!0,active:e.selected},"data-test":e.testSelector,"guide-selector":e.guideSelector},e.documentationHref?index.h("a",{class:"sub-menu-link external-link",href:e.href,target:"_blank",rel:"noopener noreferrer"},index.h("translate-label",{class:"menu-item",labelKey:e.labelKey}),e.icon&&index.h("span",{class:`text-muted ${e.icon}`})):index.h("a",{class:"sub-menu-link",href:e.href,onClick:this.handleSelectMenuItem(e)},index.h("translate-label",{class:"menu-item",labelKey:e.labelKey}),e.icon&&index.h("span",{class:`text-muted ${e.icon}`})))))),0===e.children.length&&index.h("a",{class:{"menu-element-root":!0,active:e.selected},href:e.href,onClick:this.handleSelectMenuItem(e)},index.h("span",{class:`menu-item-icon ${e.icon}`})," ",index.h("translate-label",{class:"menu-item",labelKey:e.labelKey}))))))}subscribeToProductInfoChanges(){this.subscriptions.add(this.productInfoContextService.onProductInfoChanged(e=>this.productInfo=e))}get hostElement(){return index.getElement(this)}static get watchers(){return{navbarCollapsed:["navbarCollapsedChange"],menuItems:["menuItemsChanged"]}}};OntoNavbar.style=ontoNavbarCss;const ontoToastrCss=".onto-toastr-container{position:fixed;z-index:9999999;pointer-events:auto;flex-direction:column}.onto-toastr-container.bottom-right{bottom:12px;right:12px}.onto-toastr-container.bottom-left{bottom:12px;left:12px}.onto-toastr-container .onto-toast{display:flex;align-items:center;border-radius:0;box-shadow:0 0 12px rgba(0, 0, 0, 0.3);position:relative;width:400px;padding:25px 0;color:white;margin-bottom:5px;overflow-wrap:break-word}.onto-toastr-container .onto-toast:hover{box-shadow:0 0 12px #000;opacity:1;cursor:pointer}.onto-toastr-container .onto-toast.warning{color:var(--gw-toast-warn-color);background-color:var(--gw-toast-warn-background);border-color:var(--gw-toast-warn-border-color)}.onto-toastr-container .onto-toast.success{background-color:var(--gw-toast-success-background);border-color:var(--gw-toast-success-border-color);color:var(--gw-toast-success-color)}.onto-toastr-container .onto-toast.error{background-color:var(--gw-toast-error-background);border-color:var(--gw-toast-error-border-color);color:var(--gw-toast-error-color)}.onto-toastr-container .onto-toast.info{background-color:var(--gw-toast-info-background);border-color:var(--gw-toast-info-border-color);color:var(--gw-toast-info-color)}.onto-toastr-container .onto-toast i{font-size:1.8rem;padding:0 20px;color:inherit}.onto-toastr-container .onto-toast i:hover{transform:none}.onto-toastr-container .onto-toast .toast-message{font-size:1.2rem;opacity:1;max-width:370px}",toastTypeToIconMap={[workbenchApi.ToastType.INFO]:"ri-information-2-fill",[workbenchApi.ToastType.SUCCESS]:"ri-checkbox-circle-line",[workbenchApi.ToastType.WARNING]:"ri-message-line",[workbenchApi.ToastType.ERROR]:"ri-alert-line"},OntoToastr=class{constructor(e){index.registerInstance(this,e),this.toasts=new workbenchApi.ToastMessageList([]),this.toastToTimeout=new Map,this.config=workbenchApi.ToastrConfig.getDefaultConfig(),this.onToastMouseEnter=e=>()=>{this.clearToastTimeout(e)},this.onToastMouseLeave=e=>()=>{this.setTimeoutForToast(e)}}handleToastCreate(e){this.addToast(e.detail)}render(){var e;return index.h("section",{key:"0bab009525a39cb42900e32e8613da51a39b10a3",style:{display:this.toasts.isEmpty()?"none":"flex"},class:`onto-toastr-container ${this.config.position}`},null===(e=this.toasts)||void 0===e?void 0:e.getItems().map(e=>{var t,o,i;return index.h("div",{class:`onto-toast toast ${e.type}`,key:e.id,onMouseEnter:this.onToastMouseEnter(e),onMouseLeave:this.onToastMouseLeave(e),onClick:this.handleToastClick(e),onKeyUp:this.handleKeyUp(e)},index.h("i",{class:`${toastTypeToIconMap[e.type]}`}),index.h("span",null,(null===(t=e.config)||void 0===t?void 0:t.title)?index.h("div",{class:"toast-title",innerHTML:translation_service.sanitizeHTML(translation_service.TranslationService.translate(e.config.title,null===(o=e.config)||void 0===o?void 0:o.translationParams))}):"",index.h("div",{class:"toast-message",innerHTML:translation_service.sanitizeHTML(translation_service.TranslationService.translate(e.message,null===(i=e.config)||void 0===i?void 0:i.translationParams))})))}))}addToast(e){this.toasts.addToStart(e),this.setTimeoutForToast(e),this.updateToastrReference()}setTimeoutForToast(e){var t;const o=workbenchApi.WindowService.getWindow().setTimeout(()=>{this.toasts.remove(e),this.clearToastTimeout(e)},(null===(t=e.config)||void 0===t?void 0:t.timeout)||this.config.timeout);this.toastToTimeout.set(e,o)}updateToastrReference(){this.toasts=new workbenchApi.ToastMessageList(this.toasts.getItems())}clearToastTimeout(e){const t=this.toastToTimeout.get(e);clearTimeout(t),this.toastToTimeout.delete(e),this.updateToastrReference()}handleToastClick(e){return t=>{var o,i;(null===(o=e.config)||void 0===o?void 0:o.onClick)&&e.config.onClick(t),(null===(i=e.config)||void 0===i?void 0:i.removeOnClick)&&(this.toasts.remove(e),this.clearToastTimeout(e))}}handleKeyUp(e){return t=>{"Enter"===t.key&&this.handleToastClick(e)}}};OntoToastr.style=ontoToastrCss;const ontoTooltipCss=':host{display:block}.tooltip-box{width:max-content;font-size:0.875rem;font-weight:400;line-height:1.5;max-width:var(--gw-tooltip-max-width);pointer-events:auto;color:var(--gw-tooltip-color);background-color:var(--gw-tooltip-background);border-radius:var(--gw-tooltip-border-radius)}.tooltip-box .tooltip-arrow{width:10px;height:10px}.tooltip-box .tooltip-arrow::before{content:"";position:absolute;width:10px;height:10px;background-color:var(--gw-tooltip-background);transform:rotate(45deg)}.tooltip-box .tooltip-arrow[data-placement=top]::before{border-bottom-color:transparent;border-right-color:transparent}.tooltip-box .tooltip-arrow[data-placement=bottom]::before{border-top-color:transparent;border-left-color:transparent}.tooltip-box .tooltip-arrow[data-placement=right]::before{border-bottom-color:transparent;border-left-color:transparent}.tooltip-box .tooltip-arrow[data-placement=left]::before{border-top-color:transparent;border-right-color:transparent}.tooltip-box .tooltip-content{position:relative;z-index:1;padding:var(--gw-tooltip-padding)}',OntoTooltip=class{constructor(e){index.registerInstance(this,e),this.clearTooltipsForRemovedElements=e=>{for(const t of e)for(const e of Array.from(t.removedNodes))if(this.removeTooltipFromNode(e))return},this.removeTooltipFromNode=e=>{if(e instanceof HTMLElement){if(tooltipUtil.TooltipUtil.getTooltipInstance(e))return tooltipUtil.TooltipUtil.destroyTooltip(e),!0;e.childNodes.forEach(this.removeTooltipFromNode)}return!1}}onMouseover(e){const t=tooltipUtil.TooltipUtil.getTooltipTarget(e.target);t&&this.handleTooltipTargetShow(t);const o=tooltipUtil.TooltipUtil.getTooltip(e.target);o&&this.handleTooltipShow(o)}handleTooltipShow(e){const t=e.tooltipTarget;this.handleTooltipTargetShow(t)}handleTooltipTargetShow(e){tooltipUtil.TooltipUtil.getOrCreateTooltipInstance(e).show()}onMouseout(e){const t=tooltipUtil.TooltipUtil.getTooltipTarget(e.target);t&&this.handleTooltipTargetHide(t,e.relatedTarget);const o=tooltipUtil.TooltipUtil.getTooltip(e.target);o&&this.handleTooltipHide(o,e.relatedTarget)}handleTooltipHide(e,t){const o=e.tooltipTarget;t&&e.contains(t)||this.handleTooltipTargetHide(o,t)}handleTooltipTargetHide(e,t){t&&e.contains(t)||tooltipUtil.TooltipUtil.getTooltipInstance(e)&&tooltipUtil.TooltipUtil.destroyTooltip(e)}connectedCallback(){this.handleRemovedNodes()}disconnectedCallback(){var e;null===(e=this.observer)||void 0===e||e.disconnect()}render(){return index.h(index.Host,{key:"b354be1a07d2b96b7a47b36c2108ddbc959ae1e7"})}handleRemovedNodes(){this.observer=new MutationObserver(this.clearTooltipsForRemovedElements),this.observer.observe(document.body,{childList:!0,subtree:!0})}};OntoTooltip.style=ontoTooltipCss,exports.onto_footer=OntoFooter,exports.onto_header=OntoHeader,exports.onto_navbar=OntoNavbar,exports.onto_toastr=OntoToastr,exports.onto_tooltip=OntoTooltip;