Skip to content

editor › Globals › MenuItem

Class: MenuItem

Defines the data structure of a menu item

Hierarchy

  • MenuItem

Index

Properties

Methods

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

Returns: Promise‹MenuItem[]›

instantiated menu items