Trilium Frontend API
    Preparing search index...

    Class ComponentFactory

    A helper class implementing the UI component (module:ui/view~View view) factory.

    It allows functions producing specific UI components to be registered under their unique names in the factory. A registered component can be then instantiated by providing its name. Note that the names are case insensitive.

    // The editor provides localization tools for the factory.
    const factory = new ComponentFactory( editor );

    factory.add( 'foo', locale => new FooView( locale ) );
    factory.add( 'bar', locale => new BarView( locale ) );

    // An instance of FooView.
    const fooInstance = factory.create( 'foo' );

    // Names are case insensitive so this is also allowed:
    const barInstance = factory.create( 'Bar' );

    The module:core/editor/editor~Editor#locale editor locale is passed to the factory function when module:ui/componentfactory~ComponentFactory#create is called.

    Index

    Constructors

    Properties

    Methods

    Constructors

    • Creates an instance of the factory.

      Parameters

      • editor: Editor

        The editor instance.

      Returns ComponentFactory

    Properties

    editor: Editor

    The editor instance that the factory belongs to.

    Methods

    • Registers a component factory function that will be used by the #create create method and called with the module:core/editor/editor~Editor#locale editor locale as an argument, allowing localization of the module:ui/view~View view.

      Parameters

      • name: string

        The name of the component.

      • callback: (locale: Locale) => View

        The callback that returns the component.

      Returns void

    • Creates an instance of a component registered in the factory under a specific name.

      When called, the module:core/editor/editor~Editor#locale editor locale is passed to the previously #add added factory function, allowing localization of the module:ui/view~View view.

      Parameters

      • name: string

        The name of the component.

      Returns View

      The instantiated component view.

    • Checks if a component of a given name is registered in the factory.

      Parameters

      • name: string

        The name of the component.

      Returns boolean

    • Returns an iterator of registered component names. Names are returned in lower case.

      Returns IterableIterator<string>