1
1
import { UMB_HELP_MENU_ALIAS } from '../menu/index.js' ;
2
- import type { CSSResultGroup } from '@umbraco-cms/backoffice/external/lit' ;
3
- import { css , html , customElement , state , nothing } from '@umbraco-cms/backoffice/external/lit' ;
4
- import { UmbHeaderAppButtonElement } from '@umbraco-cms/backoffice/components' ;
2
+ import { customElement , html , nothing , state } from '@umbraco-cms/backoffice/external/lit' ;
5
3
import { umbExtensionsRegistry } from '@umbraco-cms/backoffice/extension-registry' ;
6
- import type { ManifestMenu } from '@umbraco-cms/backoffice/menu' ;
7
4
import { UmbExtensionsManifestInitializer } from '@umbraco-cms/backoffice/extension-api' ;
5
+ import { UmbHeaderAppButtonElement } from '@umbraco-cms/backoffice/components' ;
6
+ import type { ManifestMenu } from '@umbraco-cms/backoffice/menu' ;
8
7
9
- const elementName = 'umb-help-header-app' ;
10
- @customElement ( elementName )
8
+ @customElement ( 'umb-help-header-app' )
11
9
export class UmbHelpHeaderAppElement extends UmbHeaderAppButtonElement {
12
- @state ( )
13
- private _popoverOpen = false ;
14
-
15
10
@state ( )
16
11
private _helpMenuHasMenuItems = false ;
17
12
@@ -30,49 +25,42 @@ export class UmbHelpHeaderAppElement extends UmbHeaderAppButtonElement {
30
25
) ;
31
26
}
32
27
33
- #onPopoverToggle( event : ToggleEvent ) {
34
- // TODO: This ignorer is just neede for JSON SCHEMA TO WORK, As its not updated with latest TS jet.
35
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
36
- // @ts -ignore
37
- this . _popoverOpen = event . newState === 'open' ;
38
- }
39
-
40
28
override render ( ) {
41
- return html ` ${ this . #renderButton( ) } ${ this . #renderPopover( ) } ` ;
29
+ return html `${ this . #renderButton( ) } ${ this . #renderPopover( ) } ` ;
42
30
}
43
31
44
32
#renderButton( ) {
45
33
if ( ! this . _helpMenuHasMenuItems ) return nothing ;
46
34
47
35
return html `
48
- < uui-button popovertarget =" help-menu-popover " look ="primary " label ="help " compact >
36
+ < uui-button compact label = ${ this . localize . term ( 'general_help' ) } look ="primary" popovertarget ="help-menu-popover" >
49
37
< uui-icon name ="icon-help-alt "> </ uui-icon >
50
38
</ uui-button >
51
39
` ;
52
40
}
53
41
54
42
#renderPopover( ) {
55
43
return html `
56
- < uui-popover-container id ="help-menu-popover " @toggle = ${ this . #onPopoverToggle } >
44
+ < uui-popover-container id ="help-menu-popover " placement =" top-end " >
57
45
< umb-popover-layout >
58
46
< uui-scroll-container >
59
47
< umb-extension-slot
60
48
type ="menu "
61
- .filter =" ${ ( menu : ManifestMenu ) => menu . alias === UMB_HELP_MENU_ALIAS } "
49
+ .filter =${ ( menu : ManifestMenu ) => menu . alias === UMB_HELP_MENU_ALIAS }
62
50
default-element ="umb-menu"> </ umb-extension-slot >
63
51
</ uui-scroll-container >
64
52
</ umb-popover-layout >
65
53
</ uui-popover-container >
66
54
` ;
67
55
}
68
56
69
- static override styles : CSSResultGroup = [ UmbHeaderAppButtonElement . styles , css `` ] ;
57
+ static override styles = UmbHeaderAppButtonElement . styles ;
70
58
}
71
59
72
60
export { UmbHelpHeaderAppElement as element } ;
73
61
74
62
declare global {
75
63
interface HTMLElementTagNameMap {
76
- [ elementName ] : UmbHelpHeaderAppElement ;
64
+ 'umb-help-header-app' : UmbHelpHeaderAppElement ;
77
65
}
78
66
}
0 commit comments