Show:

The ButtonLinkEdit class provides functionality for creating and editing a link in a document. Provides UI for creating, editing and removing a link.

Methods

_focusLinkInput

() protected

Focuses the user cursor on the widget's input.

_getALlowedTargetItems

() Array protected

Returns an array of allowed target items. Each item consists of two properties:

  • label - the label for the item, for example "_self (same tab)"
  • value - the value that will be set for the link target attribute

Returns:

Array:

An array of objects containing the allowed items.

_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.

_handleLinkTargetChange

(
  • event
)
protected

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

Parameters:

  • event SyntheticEvent

    The click 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 and that either that or the link target are different from the original link.

Returns:

Boolean:

[description]

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.

getDefaultProps

() Object

Lifecycle. Returns the default values of the properties used in the widget.

Returns:

Object:

The default properties.

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

allowedTargets

Array

List of the allowed values for the target attribute.

appendProtocol

Boolean

Indicate if we add http:// protocol to link or not

defaultLinkTarget

String

Default value of the link target attribute.

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: linkEdit

showTargetSelector

Boolean

Indicates whether the link target selector should appear.