Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • MenuStore

Index

Constructors

constructor

Properties

Private active

active: HTMLElement = null

Private attachedClass

attachedClass: string = HtmlClasses['ATTACHED'] + '_' +MenuUtil.counter()

Private attrMap

attrMap: object

Type declaration

  • [name: string]: EventListener

Private counter

counter: number = 0

Private menu

Private store

store: HTMLElement[] = []

Private taborder

taborder: boolean = true

Methods

Private addEvent

  • addEvent(element: HTMLElement, name: string, func: EventListener): void
  • Adds a single event listeners and stores them in the attribute mapping.

    Parameters

    • element: HTMLElement

      The DOM element.

    • name: string

      The name of the event handler.

    • func: EventListener

      The event listener.

    Returns void

Private addEvents

  • addEvents(element: HTMLElement): void
  • Adds event listeners to activate the context menu to an element.

    To be able to remove event listeners we have to remember exactly which listeners we have added. We safe them in the attribute mapping attrMap, as a combination of event handler name and counter, which is unique for each HTML element. The counter is stored on the HTML element in an attribute.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

Private addTabindex

  • addTabindex(element: HTMLElement): void
  • Adds tabindex to an element and possibly safes an existing one.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

clear

  • clear(): void

getActive

  • getActive(): HTMLElement
  • Returns HTMLElement

    The currently active store element, if one exists.

inTaborder

  • inTaborder(flag: boolean): void
  • Sets if elements of the store are included in the taborder or not.

    Parameters

    • flag: boolean

      If true elements are in taborder, o/w not.

    Returns void

insert

  • insert(element: HTMLElement): void
  • insert(elements: HTMLElement[]): void
  • insert(elements: NodeListOf<HTMLElement>): void
  • Inserts DOM elements into the store.

    Parameters

    • element: HTMLElement

      Single element to insert.

    Returns void

  • Inserts DOM elements into the store.

    Parameters

    • elements: HTMLElement[]

      List of elements to insert.

    Returns void

  • Inserts DOM elements into the store.

    Parameters

    • elements: NodeListOf<HTMLElement>

      List of elements to insert.

    Returns void

Private insertElement

  • insertElement(element: HTMLElement): void
  • Adds a DOM element to the store.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

insertTaborder

  • insertTaborder(): void
  • Inserts all elements in the store into the tab order.

    Returns void

Private insertTaborder_

  • insertTaborder_(): void
  • Inserts all elements in the store into the tab order.

    Returns void

Private keydown

  • keydown(event: KeyboardEvent): void
  • Deals with key down keyboard events.

    Parameters

    • event: KeyboardEvent

      The keyboard event.

    Returns void

next

  • next(): HTMLElement
  • Returns next active element. If store is empty returns null and also unsets active element. If active is not set returns the first element of the store.

    Returns HTMLElement

    The next element if it exists.

previous

  • previous(): HTMLElement
  • Returns previous active element. If store is empty returns null and also unsets active element. If active is not set returns the last element of the store.

    Returns HTMLElement

    The previous element if it exists.

remove

  • remove(element: HTMLElement): void
  • remove(element: HTMLElement[]): void
  • remove(element: NodeListOf<HTMLElement>): void
  • Removes DOM elements from the store.

    Parameters

    • element: HTMLElement

      Single element to remove.

    Returns void

  • Removes DOM elements from the store.

    Parameters

    • element: HTMLElement[]

    Returns void

  • Removes DOM elements from the store.

    Parameters

    • element: NodeListOf<HTMLElement>

    Returns void

Private removeElement

  • removeElement(element: HTMLElement): void
  • Removes a DOM element from the store.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

Private removeEvent

  • removeEvent(element: HTMLElement, name: string, counter: string): void
  • Removes a single event listeners from an HTML element.

    Parameters

    • element: HTMLElement

      The DOM element.

    • name: string

      The name of the event handler.

    • counter: string

      The unique counter to identify the handler in the attribute mappings.

    Returns void

Private removeEvents

  • removeEvents(element: HTMLElement): void
  • Removes event listeners that activate the context menu from an element.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

Private removeTabindex

  • removeTabindex(element: HTMLElement): void
  • Removes tabindex from element or restores an old one.

    Parameters

    • element: HTMLElement

      The DOM element.

    Returns void

removeTaborder

  • removeTaborder(): void
  • Removes all elements in the store from the tab order.

    Returns void

Private removeTaborder_

  • removeTaborder_(): void
  • Removes all elements in the store from the tab order.

    Returns void

setActive

  • setActive(element: HTMLElement): void
  • Sets the new active store element if it exists in the store.

    Parameters

    • element: HTMLElement

      Element to be activated.

    Returns void

Private sort

  • sort(): void
  • Sorts the elements in the store in DOM order.

    Returns void

Generated using TypeDoc