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.
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.
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.
Initialises a new session by assigning a document ID to the component's internal state. Also stores the document ID in local storage so it is persisted between reloads.
The document ID for this session
Clears the session by setting the documentId
property to null
. Also
removes the ID from local storage and clears the hash portion of the URL.
Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.
Invoked after the component first mounts. Parses the query string and
checks for presence of the keys triggerMode
and url
or documentId
,
which allow the user to directly assign a trigger mode and start a new
session using the given (existing) document ID or URL.
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.
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.
Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as
cancelled network requests, or cleaning up any DOM elements created in componentDidMount
.
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.
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.
Renders the component
Renders the main content, which is different depending on various state variables.
isLoading
is true, a spinner is renderedajaxError
is set, an error message is rendereddocumentId
is set, render the main TriggerClient
Otherwise the DocumentChooser
component is rendered, where the user can
start a new session.
The main content to be rendered
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.
Callback invoked to update the trigger mode. Updates the state accordingly and stores the new value in local storage.
The new trigger mode
Generated using TypeDoc
This component acts as the main entry point for the trigger application. Based in its internal state, it renders the approriate content. Starting fresh, it renders a form which allows the user to start a new session by various means. Once a new session is started and thus a document ID is selected, the main trigger client with the events contained in the document is rendered. Moreover, should an AJAX error occur, this component also takes care or rendering an appropriate error message.