Class: MenuItem
Defines the data structure of a menu item
Hierarchy
- MenuItem
Index
Properties
- action
- activeEvenIfEmpty
- children
- color
- defaultValue
- doubleClickable
- editable
- enabled
- expandToTop
- hidden
- htmlElement
- iconUrl
- id
- isDynamic
- menuType
- module
- mosaicElementCutoutId
- mosaicElementCutoutPolygons
- parameters
- parentItem
- selectable
- shortcut
- state
- stateRef
- stateType
- subMenuMosaicElementContainer
- subMenuMosaicElementContainerId
- subMenuMosaicElementContainerPromise
- svgSpriteId
- svgSpriteUrl
- title
- value
Methods
- _getPolygonPath
- _parseParameters
- addChild
- canBeSelected
- forEach
- getAction
- getActiveEvenIfEmpty
- getChildren
- getColor
- getDefaultValue
- getDoubleClickable
- getEditable
- getEnabled
- getHidden
- getHtmlElement
- getIconUrl
- getId
- getIsDynamic
- getMenuType
- getModule
- getMosaicElementCutoutId
- getMosaicElementCutoutPaths
- getParameters
- getParent
- getSelectable
- getShortcut
- getShortcutAttrTitle
- getState
- getStateRef
- getStateType
- getSubMenuMosaicElementContainerId
- getSubMenuMosaicElementContainerPath
- getSubMenuMosaicElementContainerViewbox
- getSubMenuMosaicElementCutout
- getSvgSpriteId
- getSvgSpriteUrl
- getTitle
- getValue
- isDirectChild
- removeChild
- setAction
- setActiveEvenIfEmpty
- setColor
- setDefaultValue
- setDoubleClickable
- setEditable
- setEnabled
- setExpandToTop
- setHidden
- setHtmlElement
- setIconUrl
- setId
- setIsDynamic
- setMenuType
- setModule
- setMosaicElementCutout
- setParameters
- setParent
- setSelectable
- setShortcut
- setState
- setStateRef
- setStateType
- setSubMenuMosaicElementContainer
- setSvgSpriteId
- setSvgSpriteUrl
- setTitle
- setValue
- updateParametersWithEditable
- _deserializeItem
- _fillMenuTitleTemplate
- _getChildItems
- _getParent
- _setShortcutsForMenuLevel
- buildFromJson
Properties
Private action
• action: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:362
Private activeEvenIfEmpty
• activeEvenIfEmpty: boolean = false
Defined in src/angular/floatingMenu/data/MenuItem.ts:389
Private children
• children: MenuItem[] = []
Defined in src/angular/floatingMenu/data/MenuItem.ts:333
Private color
• color: string = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:391
Private defaultValue
• defaultValue: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:377
Private doubleClickable
• doubleClickable: boolean = true
Defined in src/angular/floatingMenu/data/MenuItem.ts:386
Private editable
• editable: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:396
Private enabled
• enabled: boolean = true
Defined in src/angular/floatingMenu/data/MenuItem.ts:356
Private expandToTop
• expandToTop: boolean = false
Defined in src/angular/floatingMenu/data/MenuItem.ts:324
Private hidden
• hidden: boolean = false
Defined in src/angular/floatingMenu/data/MenuItem.ts:353
Private htmlElement
• htmlElement: HTMLElement
Defined in src/angular/floatingMenu/data/MenuItem.ts:335
Private iconUrl
• iconUrl: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:344
Private id
• id: string = randomstring.generate(5)
Defined in src/angular/floatingMenu/data/MenuItem.ts:322
Private isDynamic
• isDynamic: boolean = false
Defined in src/angular/floatingMenu/data/MenuItem.ts:393
Private menuType
• menuType: MenuType = Config.get("menu.defaultMenuType", MenuType.RADIAL_CONCENTRIC)
Defined in src/angular/floatingMenu/data/MenuItem.ts:341
Private module
• module: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:359
Private mosaicElementCutoutId
• mosaicElementCutoutId: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:403
Private mosaicElementCutoutPolygons
• mosaicElementCutoutPolygons: string[] | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:404
Private parameters
• parameters: any = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:365
Private parentItem
• parentItem: MenuItem | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:338
Private selectable
• selectable: boolean = true
Defined in src/angular/floatingMenu/data/MenuItem.ts:383
Private shortcut
• shortcut: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:330
Private state
• state: MenuState | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:368
Private stateRef
• stateRef: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:371
Private stateType
• stateType: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:374
Private subMenuMosaicElementContainer
• subMenuMosaicElementContainer: MosaicElementContainer | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:401
Private subMenuMosaicElementContainerId
• subMenuMosaicElementContainerId: MosaicElementMenuContainerType | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:399
Private subMenuMosaicElementContainerPromise
• subMenuMosaicElementContainerPromise: Promise‹MosaicElementContainer› | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:400
Private svgSpriteId
• svgSpriteId: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:350
Private svgSpriteUrl
• svgSpriteUrl: string | null = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:347
Private title
• title: string = ""
Defined in src/angular/floatingMenu/data/MenuItem.ts:327
Private value
• value: any = null
Defined in src/angular/floatingMenu/data/MenuItem.ts:380
Methods
Private _getPolygonPath
▸ _getPolygonPath(polygon: Polygon): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:870
Parameters:
| Name | Type |
|---|---|
polygon |
Polygon |
Returns: string
Private _parseParameters
▸ _parseParameters(parent?: MenuItem, nrOfChildren?: number): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:851
Parameters:
| Name | Type |
|---|---|
parent? |
MenuItem |
nrOfChildren? |
number |
Returns: void
addChild
▸ addChild(childMenuItem: MenuItem): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:476
Parameters:
| Name | Type |
|---|---|
childMenuItem |
MenuItem |
Returns: void
canBeSelected
▸ canBeSelected(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:747
Returns: boolean
whether the item can be selected. If the item has children, it cannot be selected since it only serves navigation purposes
forEach
▸ forEach(callback: function): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:827
Executes the specified callback on the MenuItem itself and all children recursively
Parameters:
▪ callback: function
▸ (MenuItem: any): void
Parameters:
| Name | Type |
|---|---|
MenuItem |
any |
Returns: void
getAction
▸ getAction(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:513
Returns: string
getActiveEvenIfEmpty
▸ getActiveEvenIfEmpty(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:820
Returns: boolean
whether this item stays active when clicked, even if it has no children
getChildren
▸ getChildren(): MenuItem[]
Defined in src/angular/floatingMenu/data/MenuItem.ts:484
Returns: MenuItem[]
an array of all sub-menu items
getColor
▸ getColor(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:596
Returns: string
getDefaultValue
▸ getDefaultValue(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:553
Returns: string
getDoubleClickable
▸ getDoubleClickable(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:537
Returns: boolean
getEditable
▸ getEditable(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:604
Returns: string
getEnabled
▸ getEnabled(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:472
Returns: boolean
whether this item should be enabled
getHidden
▸ getHidden(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:458
Returns: boolean
whether this item should be hidden by default
getHtmlElement
▸ getHtmlElement(): HTMLElement
Defined in src/angular/floatingMenu/data/MenuItem.ts:847
Returns: HTMLElement
getIconUrl
▸ getIconUrl(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:756
Returns: string
the URL of the item's icon
getId
▸ getId(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:419
Returns: string
the id of the menu item
getIsDynamic
▸ getIsDynamic(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:839
Returns: boolean
getMenuType
▸ getMenuType(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:732
Returns: string
the menu type for this item's submenu
getModule
▸ getModule(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:505
Returns: string
getMosaicElementCutoutId
▸ getMosaicElementCutoutId(): string | null
Defined in src/angular/floatingMenu/data/MenuItem.ts:684
Returns: string | null
getMosaicElementCutoutPaths
▸ getMosaicElementCutoutPaths(): string[] | null
Defined in src/angular/floatingMenu/data/MenuItem.ts:688
Returns: string[] | null
getParameters
▸ getParameters(): any
Defined in src/angular/floatingMenu/data/MenuItem.ts:578
Returns: any
getParent
▸ getParent(): MenuItem
Defined in src/angular/floatingMenu/data/MenuItem.ts:585
Returns: MenuItem
the parent menu item
getSelectable
▸ getSelectable(): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:545
Returns: boolean
getShortcut
▸ getShortcut(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:444
Returns: string
the keyboard shortcut
getShortcutAttrTitle
▸ getShortcutAttrTitle(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:736
Returns: string
getState
▸ getState(): MenuState
Defined in src/angular/floatingMenu/data/MenuItem.ts:569
Returns: MenuState
getStateRef
▸ getStateRef(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:521
Returns: string
getStateType
▸ getStateType(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:529
Returns: string
getSubMenuMosaicElementContainerId
▸ getSubMenuMosaicElementContainerId(): MosaicElementMenuContainerType | null
Defined in src/angular/floatingMenu/data/MenuItem.ts:622
Returns: MosaicElementMenuContainerType | null
getSubMenuMosaicElementContainerPath
▸ getSubMenuMosaicElementContainerPath(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:631
Returns: string
getSubMenuMosaicElementContainerViewbox
▸ getSubMenuMosaicElementContainerViewbox(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:640
Returns: string
getSubMenuMosaicElementCutout
▸ getSubMenuMosaicElementCutout(cutoutId: string): Promise‹MosaicElementCutout | null›
Defined in src/angular/floatingMenu/data/MenuItem.ts:626
Parameters:
| Name | Type |
|---|---|
cutoutId |
string |
Returns: Promise‹MosaicElementCutout | null›
getSvgSpriteId
▸ getSvgSpriteId(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:796
Returns: string
the ID of the item's icon in the svg sprite
getSvgSpriteUrl
▸ getSvgSpriteUrl(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:773
Returns: string
the URL of the item's icon sprite
getTitle
▸ getTitle(): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:437
Returns: string
the displayed title
getValue
▸ getValue(): any
Defined in src/angular/floatingMenu/data/MenuItem.ts:561
Returns: any
isDirectChild
▸ isDirectChild(possibleChildItem: MenuItem): boolean
Defined in src/angular/floatingMenu/data/MenuItem.ts:695
Parameters:
| Name | Type |
|---|---|
possibleChildItem |
MenuItem |
Returns: boolean
whether the specified item is a direct child of this menu item
removeChild
▸ removeChild(childMenuItem: MenuItem): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:488
Parameters:
| Name | Type |
|---|---|
childMenuItem |
MenuItem |
Returns: void
setAction
▸ setAction(action: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:509
Parameters:
| Name | Type |
|---|---|
action |
string |
Returns: void
setActiveEvenIfEmpty
▸ setActiveEvenIfEmpty(activeEvenIfEmpty: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:813
Parameters:
| Name | Type | Description |
|---|---|---|
activeEvenIfEmpty |
boolean | Whether the item should stay active even if it is empty. This will make this item un-selectable. |
Returns: void
setColor
▸ setColor(colorString: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:592
Parameters:
| Name | Type | Description |
|---|---|---|
colorString |
string | The new color string |
Returns: void
setDefaultValue
▸ setDefaultValue(defaultValue: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:549
Parameters:
| Name | Type |
|---|---|
defaultValue |
string |
Returns: void
setDoubleClickable
▸ setDoubleClickable(doubleClickable: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:533
Parameters:
| Name | Type |
|---|---|
doubleClickable |
boolean |
Returns: void
setEditable
▸ setEditable(editableString: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:600
Parameters:
| Name | Type |
|---|---|
editableString |
string |
Returns: void
setEnabled
▸ setEnabled(newEnabled: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:465
Parameters:
| Name | Type | Description |
|---|---|---|
newEnabled |
boolean | The new enabled value |
Returns: void
setExpandToTop
▸ setExpandToTop(menuLength: any, itemIndex: any): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:413
Parameters:
| Name | Type |
|---|---|
menuLength |
any |
itemIndex |
any |
Returns: void
setHidden
▸ setHidden(newHidden: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:451
Parameters:
| Name | Type | Description |
|---|---|---|
newHidden |
boolean | The new hidden value |
Returns: void
setHtmlElement
▸ setHtmlElement(htmlElement: HTMLElement): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:843
Parameters:
| Name | Type |
|---|---|
htmlElement |
HTMLElement |
Returns: void
setIconUrl
▸ setIconUrl(iconUrl: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:763
Parameters:
| Name | Type | Description |
|---|---|---|
iconUrl |
string | New icon URL that is displayed as a background image |
Returns: void
setId
▸ setId(newId: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:409
Parameters:
| Name | Type | Description |
|---|---|---|
newId |
string | The new id of the menu item |
Returns: void
setIsDynamic
▸ setIsDynamic(isDynamic: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:835
Parameters:
| Name | Type |
|---|---|
isDynamic |
boolean |
Returns: void
setMenuType
▸ setMenuType(newMenuType: MenuType): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:702
Parameters:
| Name | Type | Description |
|---|---|---|
newMenuType |
MenuType | The new menu type to be used for this item's submenu |
Returns: void
setModule
▸ setModule(module: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:501
Parameters:
| Name | Type |
|---|---|
module |
string |
Returns: void
setMosaicElementCutout
▸ setMosaicElementCutout(cutoutId: string, parentItem?: MenuItem): Promise‹void›
Defined in src/angular/floatingMenu/data/MenuItem.ts:659
We set the icon of this menu item by a svg polygon. It is loaded directly from the definition of the cutout pattern.
Parameters:
| Name | Type | Description |
|---|---|---|
cutoutId |
string | is the id of the pattern that defines the polygon icon for this menu item. It is the inner white part of the menu item icon. |
parentItem? |
MenuItem | we use the parentItems mosaic container type polygon (e.g. square, hexagon, triangle). It is the outer form container of the menu item. |
Returns: Promise‹void›
setParameters
▸ setParameters(parameters: any, parent?: MenuItem, nrOfChildren?: number): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:573
Parameters:
| Name | Type |
|---|---|
parameters |
any |
parent? |
MenuItem |
nrOfChildren? |
number |
Returns: void
setParent
▸ setParent(parentMenuItem: MenuItem): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:497
Sets the parent menu item. Only to be used by the parent item itself.
Parameters:
| Name | Type |
|---|---|
parentMenuItem |
MenuItem |
Returns: void
setSelectable
▸ setSelectable(selectable: boolean): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:541
Parameters:
| Name | Type |
|---|---|
selectable |
boolean |
Returns: void
setShortcut
▸ setShortcut(newShortcut: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:430
Parameters:
| Name | Type |
|---|---|
newShortcut |
string |
Returns: void
setState
▸ setState(state: MenuState): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:565
Parameters:
| Name | Type |
|---|---|
state |
MenuState |
Returns: void
setStateRef
▸ setStateRef(stateRef: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:517
Parameters:
| Name | Type |
|---|---|
stateRef |
string |
Returns: void
setStateType
▸ setStateType(stateType: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:525
Parameters:
| Name | Type |
|---|---|
stateType |
string |
Returns: void
setSubMenuMosaicElementContainer
▸ setSubMenuMosaicElementContainer(type: MosaicElementMenuContainerType): Promise‹void›
Defined in src/angular/floatingMenu/data/MenuItem.ts:608
Parameters:
| Name | Type |
|---|---|
type |
MosaicElementMenuContainerType |
Returns: Promise‹void›
setSvgSpriteId
▸ setSvgSpriteId(svgSpriteId: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:803
Parameters:
| Name | Type | Description |
|---|---|---|
svgSpriteId |
string | New icon URL that is displayed as a background image |
Returns: void
setSvgSpriteUrl
▸ setSvgSpriteUrl(svgSpriteUrl: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:780
Parameters:
| Name | Type | Description |
|---|---|---|
svgSpriteUrl |
string | New icon URL that is displayed as a background image |
Returns: void
setTitle
▸ setTitle(newTitle: string): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:426
Parameters:
| Name | Type | Description |
|---|---|---|
newTitle |
string | The new displayed title |
Returns: void
setValue
▸ setValue(value: any): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:557
Parameters:
| Name | Type |
|---|---|
value |
any |
Returns: void
updateParametersWithEditable
▸ updateParametersWithEditable(valueToSet: any): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:713
Parameters:
| Name | Type |
|---|---|
valueToSet |
any |
Returns: void
Static Private _deserializeItem
▸ _deserializeItem(itemSpec: IItemSpec, parentItem: MenuItem | undefined, urlPrefix: string, disabledTools: string[]): MenuItem
Defined in src/angular/floatingMenu/data/MenuItem.ts:135
Parameters:
| Name | Type | Default |
|---|---|---|
itemSpec |
IItemSpec | - |
parentItem |
MenuItem | undefined | - |
urlPrefix |
string | "" |
disabledTools |
string[] | - |
Returns: MenuItem
Static Private _fillMenuTitleTemplate
▸ _fillMenuTitleTemplate(fullMatch: string, key: string): string
Defined in src/angular/floatingMenu/data/MenuItem.ts:239
Parameters:
| Name | Type |
|---|---|
fullMatch |
string |
key |
string |
Returns: string
Static Private _getChildItems
▸ _getChildItems(parentItem: any): string[] | null
Defined in src/angular/floatingMenu/data/MenuItem.ts:317
Returns an array of string, containing the value of child.item for all non-hidden child entries of the given entry. If there are no children, returns null.
Parameters:
| Name | Type |
|---|---|
parentItem |
any |
Returns: string[] | null
Static Private _getParent
▸ _getParent(tool: string, jsonArray: any[]): any | undefined
Defined in src/angular/floatingMenu/data/MenuItem.ts:309
Parameters:
| Name | Type |
|---|---|
tool |
string |
jsonArray |
any[] |
Returns: any | undefined
Static Private _setShortcutsForMenuLevel
▸ _setShortcutsForMenuLevel(menuItems: MenuItem[]): void
Defined in src/angular/floatingMenu/data/MenuItem.ts:255
Tries to set shortcuts for items on the same menu level to
Parameters:
| Name | Type |
|---|---|
menuItems |
MenuItem[] |
Returns: void
Static buildFromJson
▸ buildFromJson(jsonArray: any[], parentItem?: MenuItem, urlPrefix?: string, disabledTools?: string[]): Promise‹MenuItem[]›
Defined in src/angular/floatingMenu/data/MenuItem.ts:76
Rebuilds a hierarchy of MenuItems based on a json datastructure
Parameters:
| Name | Type | Description |
|---|---|---|
jsonArray |
any[] | of json objects |
parentItem? |
MenuItem | optional: parent item of all newly created items |
urlPrefix? |
string | optional: parsed URLs will be prefixed with this |
disabledTools? |
string[] | tools to hide due to unlocking |
instantiated menu items