Class: Menu#
Hierarchy#
↳ Menu
Index#
Constructors#
Properties#
Accessors#
Methods#
- UNSAFE_componentWillMount
- UNSAFE_componentWillReceiveProps
- UNSAFE_componentWillUpdate
- bindItemRef
- bindRef
- close
- componentDidCatch
- componentDidMount
- componentDidUpdate
- componentWillMount
- componentWillReceiveProps
- componentWillUnmount
- componentWillUpdate
- focusNextItem
- forceUpdate
- getSnapshotBeforeUpdate
- onClickOutside
- onKeyDown
- onScrollOutside
- onWindowResize
- open
- render
- setState
- shouldComponentUpdate
- toggle
Constructors#
constructor#
+ new Menu(props: Readonly\<MenuProps>): Menu
Inherited from Tooltip.constructor
Defined in node_modules/@types/react/index.d.ts:486
deprecated
see https://reactjs.org/docs/legacy-context.html
Parameters:
| Name | Type |
|---|---|
props |
Readonly\<MenuProps> |
Returns: Menu
+ new Menu(props: MenuProps, context?: any): Menu
Inherited from Tooltip.constructor
Defined in node_modules/@types/react/index.d.ts:488
deprecated
see https://reactjs.org/docs/legacy-context.html
Parameters:
| Name | Type |
|---|---|
props |
MenuProps |
context? |
any |
Returns: Menu
Properties#
context#
• context: any
Inherited from Tooltip.context
Defined in node_modules/@types/react/index.d.ts:486
If using the new style context, re-declare this in your class to be the
React.ContextType of your static contextType.
Should be used with type annotation or static contextType.
static contextType = MyContext
// For TS pre-3.7:
context!: React.ContextType<typeof MyContext>
// For TS 3.7 and above:
declare context: React.ContextType<typeof MyContext>
see https://reactjs.org/docs/context.html
elem#
• elem: HTMLUListElement
Defined in src/renderer/components/menu/menu.tsx:54
items#
• Protected items: { [index:number]: MenuItem; }
Defined in src/renderer/components/menu/menu.tsx:55
opener#
• opener: HTMLElement
Defined in src/renderer/components/menu/menu.tsx:53
props#
• Readonly props: Readonly\<MenuProps> & Readonly\<{ children?: ReactNode }>
Defined in node_modules/@types/react/index.d.ts:511
refreshPosition#
• refreshPosition: (Anonymous function) & Cancelable = debounce(() => { if (!this.props.usePortal || !this.opener) return; const { width, height } = this.opener.getBoundingClientRect(); let { left, top, bottom, right } = this.opener.getBoundingClientRect(); const withScroll = window.getComputedStyle(this.elem).position !== "fixed"; // window global scroll corrections if (withScroll) { left += window.pageXOffset; top += window.pageYOffset; right = left + width; bottom = top + height; } // setup initial position const position: MenuPosition = { left: true, bottom: true }; this.elem.style.left = left + "px" this.elem.style.top = bottom + "px" // correct position if menu doesn't fit to viewport const menuPos = this.elem.getBoundingClientRect(); if (menuPos.right > window.innerWidth) { this.elem.style.left = (right - this.elem.offsetWidth) + "px"; position.right = true; delete position.left; } if (menuPos.bottom > window.innerHeight) { this.elem.style.top = (top - this.elem.offsetHeight) + "px"; position.top = true; delete position.bottom; } this.setState({ position }); }, Animate.VISIBILITY_DELAY_MS)
Defined in src/renderer/components/menu/menu.tsx:116
refs#
• refs: { [key:string]: ReactInstance; }
Defined in node_modules/@types/react/index.d.ts:517
deprecated
https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs
state#
• state: State
Defined in src/renderer/components/menu/menu.tsx:57
contextType#
▪ Static Optional contextType: Context\
Inherited from Tooltip.contextType
Defined in node_modules/@types/react/index.d.ts:468
If set, this.context will be set at runtime to the current value of the given Context.
Usage:
type MyContext = number
const Ctx = React.createContext<MyContext>(0)
class Foo extends React.Component {
static contextType = Ctx
context!: React.ContextType<typeof Ctx>
render () {
return <>My context's value: {this.context}</>;
}
}
see https://reactjs.org/docs/context.html#classcontexttype
defaultProps#
▪ Static defaultProps: object = defaultPropsMenu as object
Defined in src/renderer/components/menu/menu.tsx:51
Accessors#
focusableItems#
• Protectedget focusableItems(): MenuItem[]
Defined in src/renderer/components/menu/menu.tsx:93
Returns: MenuItem[]
focusedItem#
• Protectedget focusedItem(): MenuItem
Defined in src/renderer/components/menu/menu.tsx:97
Returns: MenuItem
isOpen#
• get isOpen(): boolean
Defined in src/renderer/components/menu/menu.tsx:59
Returns: boolean
Methods#
UNSAFE_componentWillMount#
▸ OptionalUNSAFE_componentWillMount(): void
Inherited from Tooltip.UNSAFE_componentWillMount
Defined in node_modules/@types/react/index.d.ts:712
Called immediately before mounting occurs, and before Component#render.
Avoid introducing any side-effects or subscriptions in this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use componentDidMount or the constructor instead
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Returns: void
UNSAFE_componentWillReceiveProps#
▸ OptionalUNSAFE_componentWillReceiveProps(nextProps: Readonly\<MenuProps>, nextContext: any): void
Inherited from Tooltip.UNSAFE_componentWillReceiveProps
Defined in node_modules/@types/react/index.d.ts:744
Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState generally does not trigger this method.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use static getDerivedStateFromProps instead
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Parameters:
| Name | Type |
|---|---|
nextProps |
Readonly\<MenuProps> |
nextContext |
any |
Returns: void
UNSAFE_componentWillUpdate#
▸ OptionalUNSAFE_componentWillUpdate(nextProps: Readonly\<MenuProps>, nextState: Readonly\<State>, nextContext: any): void
Inherited from Tooltip.UNSAFE_componentWillUpdate
Defined in node_modules/@types/react/index.d.ts:772
Called immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState here.
This method will not stop working in React 17.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use getSnapshotBeforeUpdate instead
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Parameters:
| Name | Type |
|---|---|
nextProps |
Readonly\<MenuProps> |
nextState |
Readonly\<State> |
nextContext |
any |
Returns: void
bindItemRef#
▸ ProtectedbindItemRef(item: MenuItem, index: number): void
Defined in src/renderer/components/menu/menu.tsx:220
Parameters:
| Name | Type |
|---|---|
item |
MenuItem |
index |
number |
Returns: void
bindRef#
▸ ProtectedbindRef(elem: HTMLUListElement): void
Defined in src/renderer/components/menu/menu.tsx:216
Parameters:
| Name | Type |
|---|---|
elem |
HTMLUListElement |
Returns: void
close#
▸ close(): void
Defined in src/renderer/components/menu/menu.tsx:157
Returns: void
componentDidCatch#
▸ OptionalcomponentDidCatch(error: Error, errorInfo: ErrorInfo): void
Inherited from Tooltip.componentDidCatch
Defined in node_modules/@types/react/index.d.ts:641
Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.
Parameters:
| Name | Type |
|---|---|
error |
Error |
errorInfo |
ErrorInfo |
Returns: void
componentDidMount#
▸ componentDidMount(): void
Overrides Icon.componentDidMount
Defined in src/renderer/components/menu/menu.tsx:63
Returns: void
componentDidUpdate#
▸ OptionalcomponentDidUpdate(prevProps: Readonly\<MenuProps>, prevState: Readonly\<State>, snapshot?: any): void
Inherited from Tooltip.componentDidUpdate
Defined in node_modules/@types/react/index.d.ts:683
Called immediately after updating occurs. Not called for the initial render.
The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.
Parameters:
| Name | Type |
|---|---|
prevProps |
Readonly\<MenuProps> |
prevState |
Readonly\<State> |
snapshot? |
any |
Returns: void
componentWillMount#
▸ OptionalcomponentWillMount(): void
Inherited from Tooltip.componentWillMount
Defined in node_modules/@types/react/index.d.ts:698
Called immediately before mounting occurs, and before Component#render.
Avoid introducing any side-effects or subscriptions in this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use componentDidMount or the constructor instead; will stop working in React 17
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Returns: void
componentWillReceiveProps#
▸ OptionalcomponentWillReceiveProps(nextProps: Readonly\<MenuProps>, nextContext: any): void
Inherited from Tooltip.componentWillReceiveProps
Defined in node_modules/@types/react/index.d.ts:727
Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.
Calling Component#setState generally does not trigger this method.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use static getDerivedStateFromProps instead; will stop working in React 17
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Parameters:
| Name | Type |
|---|---|
nextProps |
Readonly\<MenuProps> |
nextContext |
any |
Returns: void
componentWillUnmount#
▸ componentWillUnmount(): void
Overrides Icon.componentWillUnmount
Defined in src/renderer/components/menu/menu.tsx:82
Returns: void
componentWillUpdate#
▸ OptionalcomponentWillUpdate(nextProps: Readonly\<MenuProps>, nextState: Readonly\<State>, nextContext: any): void
Inherited from Tooltip.componentWillUpdate
Defined in node_modules/@types/react/index.d.ts:757
Called immediately before rendering when new props or state is received. Not called for the initial render.
Note: You cannot call Component#setState here.
Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.
deprecated 16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update
see https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path
Parameters:
| Name | Type |
|---|---|
nextProps |
Readonly\<MenuProps> |
nextState |
Readonly\<State> |
nextContext |
any |
Returns: void
focusNextItem#
▸ ProtectedfocusNextItem(reverse?: boolean): void
Defined in src/renderer/components/menu/menu.tsx:101
Parameters:
| Name | Type | Default value |
|---|---|---|
reverse |
boolean | false |
Returns: void
forceUpdate#
▸ forceUpdate(callback?: () => void): void
Inherited from Tooltip.forceUpdate
Defined in node_modules/@types/react/index.d.ts:503
Parameters:
| Name | Type |
|---|---|
callback? |
() => void |
Returns: void
getSnapshotBeforeUpdate#
▸ OptionalgetSnapshotBeforeUpdate(prevProps: Readonly\<MenuProps>, prevState: Readonly\<State>): any | null
Inherited from Tooltip.getSnapshotBeforeUpdate
Defined in node_modules/@types/react/index.d.ts:677
Runs before React applies the result of render to the document, and
returns an object to be given to componentDidUpdate. Useful for saving
things such as scroll position before render causes changes to it.
Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.
Parameters:
| Name | Type |
|---|---|
prevProps |
Readonly\<MenuProps> |
prevState |
Readonly\<State> |
Returns: any | null
onClickOutside#
▸ onClickOutside(evt: MouseEvent): void
Defined in src/renderer/components/menu/menu.tsx:205
Parameters:
| Name | Type |
|---|---|
evt |
MouseEvent |
Returns: void
onKeyDown#
▸ onKeyDown(evt: KeyboardEvent): void
Defined in src/renderer/components/menu/menu.tsx:166
Parameters:
| Name | Type |
|---|---|
evt |
KeyboardEvent |
Returns: void
onScrollOutside#
▸ onScrollOutside(evt: UIEvent): void
Defined in src/renderer/components/menu/menu.tsx:196
Parameters:
| Name | Type |
|---|---|
evt |
UIEvent |
Returns: void
onWindowResize#
▸ onWindowResize(evt: UIEvent): void
Defined in src/renderer/components/menu/menu.tsx:191
Parameters:
| Name | Type |
|---|---|
evt |
UIEvent |
Returns: void
open#
▸ open(): void
Defined in src/renderer/components/menu/menu.tsx:150
Returns: void
render#
▸ render(): Element
Overrides void
Defined in src/renderer/components/menu/menu.tsx:224
Returns: Element
setState#
▸ setState\state: (prevState: Readonly\<State>, props: Readonly\<MenuProps>) => Pick\<State, K> | State | null | Pick\<State, K> | State | null, callback?: () => void): void
Inherited from Tooltip.setState
Defined in node_modules/@types/react/index.d.ts:498
Type parameters:
| Name | Type |
|---|---|
K |
keyof State |
Parameters:
| Name | Type |
|---|---|
state |
(prevState: Readonly\<State>, props: Readonly\<MenuProps>) => Pick\<State, K> | State | null | Pick\<State, K> | State | null |
callback? |
() => void |
Returns: void
shouldComponentUpdate#
▸ OptionalshouldComponentUpdate(nextProps: Readonly\<MenuProps>, nextState: Readonly\<State>, nextContext: any): boolean
Inherited from Tooltip.shouldComponentUpdate
Defined in node_modules/@types/react/index.d.ts:631
Called to determine whether the change in props and state should trigger a re-render.
Component always returns true.
PureComponent implements a shallow comparison on props and state and returns true if any
props or states have changed.
If false is returned, Component#render, componentWillUpdate
and componentDidUpdate will not be called.
Parameters:
| Name | Type |
|---|---|
nextProps |
Readonly\<MenuProps> |
nextState |
Readonly\<State> |
nextContext |
any |
Returns: boolean
toggle#
▸ toggle(): void
Defined in src/renderer/components/menu/menu.tsx:162
Returns: void