UNPKG

graphdb-workbench

Version:
1 lines 2.47 kB
import{h}from"@stencil/core";import{AuthenticationService,navigateTo,ServiceProvider}from"../../../../../api/dist/ontotext-workbench-api";export class OntoUserMenu{constructor(){this.logout=()=>{ServiceProvider.get(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(){var e;return h("section",{key:"294141ded29aca49a790c51e791262d4626b80ab",class:"onto-user-menu"},h("div",{key:"1e7c1a6ea8e9766840b5c72c7ceecdfaf838c865",class:"dropdown-toggle-wrapper",onClick:this.toggleDropdown},h("button",{key:"413bb997a92cb55ef56ee7ae45463e10c176540c",class:this.isOpen?"open":""},h("i",{key:"19939532a517b7ec707e333e49b2585253bdba2d",class:"fa-solid fa-user"}),h("span",{key:"2008b0f94b9e76d1f1d38ccaec4ce961c2783fd3",class:"username"},this.user.username),h("i",{key:"6f429258572257d9bb23be59f3ce10c014650c88",class:"fa-light fa-angle-down "+(this.isOpen?"fa-rotate-180":"")})),this.isOpen?h("section",{class:"onto-user-menu-dropdown"},h("translate-label",{onClick:navigateTo("settings"),labelKey:"user_menu.my_settings"}),(null===(e=this.securityConfig)||void 0===e?void 0:e.hasExternalAuthUser)?"":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",attribute:"user",mutable:!1,complexType:{original:"AuthenticatedUser",resolved:"AuthenticatedUser",references:{AuthenticatedUser:{location:"import",path:"@ontotext/workbench-api",id:"../api/dist/ontotext-workbench-api.d.ts::AuthenticatedUser"}}},required:!1,optional:!1,docs:{tags:[],text:"Currently authenticated user"},getter:!1,setter:!1},securityConfig:{type:"unknown",attribute:"security-config",mutable:!1,complexType:{original:"SecurityConfig",resolved:"SecurityConfig",references:{SecurityConfig:{location:"import",path:"@ontotext/workbench-api",id:"../api/dist/ontotext-workbench-api.d.ts::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"}}