Abstract class for all components in the Trilium's frontend.
Contains also event implementation with following properties:
event / command distribution is synchronous which among others mean that events are well-ordered - event
which was sent out first will also be processed first by the component
execution of the event / command is asynchronous - each component executes the event on its own without regard for
other components.
although the execution is async, we are collecting all the promises, and therefore it is possible to wait until the
event / command is executed in all components - by simply awaiting the triggerEvent().
Removes a child component from this component's children array.
This is used for cleanup when a widget is unmounted to prevent event listener accumulation.
Abstract class for all components in the Trilium's frontend.
Contains also event implementation with following properties:
triggerEvent().