@umbraco-cms/backoffice
    Preparing search index...

    Class UmbModalRouteRegistrationController<UmbModalTokenData, UmbModalTokenValue>

    This mixin enables a web-component to host controllers. This enables controllers to be added to the life cycle of this element.

    Type Parameters

    • UmbModalTokenData extends { [key: string]: any } = { [key: string]: any }
    • UmbModalTokenValue = unknown

    Hierarchy (View Summary)

    Implements

    Index

    Constructors

    Properties

    Accessors

    Methods

    • Appends an additional path to the modal route.

      This can help specify the URL for this modal, or used to add a parameter to the URL like this: "/modal/my-modal/:index/" A folder name starting with a colon ":" will be interpreted as a parameter. Then this modal can open with any value in that location. When modal is being setup the value of the parameter can be read from the route params. See the example:

      Parameters

      • additionalPath: string

        The additional path to be appended to the modal route

      Returns UmbModalRouteRegistrationController<UmbModalTokenData, UmbModalTokenValue>

      this

      const modalRegistration = new UmbModalRouteRegistrationController(this, MY_MODAL_TOKEN)
      modalRegistration.addAdditionalPath(':index')

      modalRegistration.onSetup((params) => {
      const index = params.index;
      // When entering the url of: "/modal/my-modal/hello-world/"
      // Then index will be "hello-world"
      }
    • The addEventListener() method of the EventTarget interface sets up a function that will be called whenever the specified event is delivered to the target.

      MDN Reference

      Parameters

      • type: string
      • callback: null | EventListenerOrEventListenerObject
      • Optionaloptions: boolean | AddEventListenerOptions

      Returns void

    • Registerer one or more additional paths to the modal route, similar to addAdditionalPath. But without defining the actual path name. This enables this to be asynchronously defined and even changed later. This can be useful if your modal has to be unique for this registration, avoiding collision with other registrations. If you made a modal for editing one of multiple property, then you can add a unique path holding the property id. Making the URL unique to this modal registration: /modal/my-modal/my-unique-value/

      Notice the modal will only be available when all unique paths have a value.

      Parameters

      • uniquePathNames: string[]

        the unique path names

      Returns UmbModalRouteRegistrationController<UmbModalTokenData, UmbModalTokenValue>

      this

      const modalRegistration = new UmbModalRouteRegistrationController(this, MY_MODAL_TOKEN)
      modalRegistration.addUniquePaths(['myAliasForIdentifyingThisPartOfThePath'])

      // Later:
      modalRegistration.setUniquePathValue('myAliasForIdentifyingThisPartOfThePath', 'myValue');
    • The dispatchEvent() method of the EventTarget sends an Event to the object, (synchronously) invoking the affected event listeners in the appropriate order.

      MDN Reference

      Parameters

      • event: Event

      Returns boolean

    • The removeEventListener() method of the EventTarget interface removes an event listener previously registered with EventTarget.addEventListener() from the target.

      MDN Reference

      Parameters

      • type: string
      • callback: null | EventListenerOrEventListenerObject
      • Optionaloptions: boolean | EventListenerOptions

      Returns void

    • Set or change the value of a unique path part.

      Parameters

      • identifier: string

        the unique path part identifier

      • value: undefined | string

        the new value for the unique path part

      Returns void

      const modalRegistration = new UmbModalRouteRegistrationController(this, MY_MODAL_TOKEN)
      modalRegistration.addUniquePaths(['first-one', 'another-one'])

      // Later:
      modalRegistration.setUniquePathValue('first-one', 'myValue');