Show:

The ButtonEmbedEdit class provides functionality for creating and editing an embed link in a document. Provides UI for creating and editing an embed link.

Methods

_focusLinkInput

() protected

Focuses the user cursor on the widget's input.

_handleKeyDown

(
  • event
)
protected

Monitors key interaction inside the input element to respond to the keys:

  • Enter: Creates/updates the link.
  • Escape: Discards the changes.

Parameters:

  • event SyntheticEvent

    The keyboard event.

_handleLinkHrefChange

(
  • event
)
protected

Updates the component state when the link input changes on user interaction.

Parameters:

  • event SyntheticEvent

    The change event.

_isValidState

() Boolean protected

Verifies that the current link state is valid so the user can save the link. A valid state means that we have a non-empty href that's different from the original one.

Returns:

Boolean:

True if the state is valid, false otherwise

_removeEmbed

() protected

Removes the embed in the editor element.

componentDidMount

()

Lifecycle. Invoked once, only on the client, immediately after the initial rendering occurs.

Focuses on the link input to immediately allow editing. This should only happen if the component is rendered in exclusive mode to prevent aggressive focus stealing.

componentWillReceiveProps

()

Lifecycle. Invoked when a component is receiving new props. This method is not called for the initial render.

getInitialState

()

Lifecycle. Invoked once before the component is mounted. The return value will be used as the initial value of this.state.

render

() Object

Lifecycle. Renders the UI of the button.

Returns:

Object:

The content which should be rendered.

Properties

editor

Object

The editor instance where the component is being used.

key

String static

The name which will be used as an alias of the button in the configuration.

Default: embedEdit