UNPKG

graphdb-workbench

Version:
1 lines 2.5 kB
import{h}from"@stencil/core";import{AuthenticationService,navigateTo,service}from"../../../../../api/dist/ontotext-workbench-api";export class OntoUserMenu{constructor(){this.authenticationService=service(AuthenticationService),this.logout=()=>{this.authenticationService.logout()},this.toggleDropdown=()=>{this.isOpen=!this.isOpen},this.handleOutsideClick=e=>{this.isOpen&&!this.hostElement.contains(e.target)&&(this.isOpen=!1)}}connectedCallback(){document.addEventListener("click",this.handleOutsideClick)}disconnectedCallback(){document.removeEventListener("click",this.handleOutsideClick)}render(){return h("section",{key:"12259fc1a98c0194a5bdd9846ff2e78715d4704c",class:"onto-user-menu"},h("div",{key:"b63d9259ebfe7856a1ece71e03cab280225e8757",class:"dropdown-toggle-wrapper",onClick:this.toggleDropdown},h("button",{key:"514abf4b023aecfec9ddf3b02e77368640b7d554",class:this.isOpen?"open":""},h("i",{key:"aefc12e677d20783f339d4c88afed959dc8435a4",class:"ri-user-line ri-lg"}),h("span",{key:"2cf215fc53e15b526a43c78026e4b9cfa499730e",class:"username"},this.user.username),h("i",{key:"4e514af450f4eb9817e024f993033c3094e17cfd",class:"ri-arrow-down-s-line "+(this.isOpen?"rotate-180":"")})),this.isOpen?h("section",{class:"onto-user-menu-dropdown"},h("translate-label",{onClick:navigateTo("settings"),labelKey:"user_menu.my_settings"}),this.authenticationService.isExternalUser()?"":h("translate-label",{onClick:this.logout,labelKey:"user_menu.logout"})):""))}static get is(){return"onto-user-menu"}static get originalStyleUrls(){return{$:["onto-user-menu.scss"]}}static get styleUrls(){return{$:["onto-user-menu.css"]}}static get properties(){return{user:{type:"unknown",mutable:!1,complexType:{original:"AuthenticatedUser",resolved:"AuthenticatedUser",references:{AuthenticatedUser:{location:"import",path:"@ontotext/workbench-api",id:"../api/dist/ontotext-workbench-api.d.ts::AuthenticatedUser",referenceLocation:"AuthenticatedUser"}}},required:!1,optional:!1,docs:{tags:[],text:"Currently authenticated user"},getter:!1,setter:!1},securityConfig:{type:"unknown",mutable:!1,complexType:{original:"SecurityConfig",resolved:"SecurityConfig",references:{SecurityConfig:{location:"import",path:"@ontotext/workbench-api",id:"../api/dist/ontotext-workbench-api.d.ts::SecurityConfig",referenceLocation:"SecurityConfig"}}},required:!1,optional:!1,docs:{tags:[],text:"Current security config"},getter:!1,setter:!1}}}static get states(){return{isOpen:{}}}static get elementRef(){return"hostElement"}}