Trilium Frontend API
    Preparing search index...

    Class Rect

    A helper class representing a ClientRect object, e.g. value returned by the native object.getBoundingClientRect() method. Provides a set of methods to manipulate the rect and compare it against other rect instances.

    Index

    Constructors

    • Creates an instance of rect.

      // Rect of an HTMLElement.
      const rectA = new Rect( document.body );

      // Rect of a DOM Range.
      const rectB = new Rect( document.getSelection().getRangeAt( 0 ) );

      // Rect of a window (web browser viewport).
      const rectC = new Rect( window );

      // Rect out of an object.
      const rectD = new Rect( { top: 0, right: 10, bottom: 10, left: 0, width: 10, height: 10 } );

      // Rect out of another Rect instance.
      const rectE = new Rect( rectD );

      // Rect out of a ClientRect.
      const rectF = new Rect( document.body.getClientRects().item( 0 ) );

      Note: By default a rect of an HTML element includes its CSS borders and scrollbars (if any) ant the rect of a window includes scrollbars too. Use #excludeScrollbarsAndBorders to get the inner part of the rect.

      Parameters

      • source: RectSource

        A source object to create the rect.

      Returns Rect

    Properties

    bottom: number

    The "bottom" value of the rect.

    height: number

    The "height" value of the rect.

    left: number

    The "left" value of the rect.

    right: number

    The "right" value of the rect.

    top: number

    The "top" value of the rect.

    width: number

    The "width" value of the rect.

    Methods

    • Returns a clone of the rect.

      Returns Rect

      A cloned rect.

    • Checks whether a rect fully contains another rect instance.

      Parameters

      Returns boolean

      true if contains, false otherwise.

    • Excludes scrollbars and CSS borders from the rect.

      • Borders are removed when #_source is an HTML element.
      • Scrollbars are excluded from HTML elements and the window.

      Returns this

      A rect which has been updated.

    • Returns the area of the rect.

      Returns number

    • Returns a new rect a a result of intersection with another rect.

      Parameters

      Returns Rect

    • Returns the area of intersection with another rect.

      Parameters

      Returns number

      Area of intersection.

    • Returns a new rect, a part of the original rect, which is actually visible to the user and is relative to the,body, e.g. an original rect cropped by parent element rects which have overflow set in CSS other than "visible".

      If there's no such visible rect, which is when the rect is limited by one or many of the ancestors, null is returned.

      Note: This method does not consider the boundaries of the viewport (window). To get a rect cropped by all ancestors and the viewport, use an intersection such as:

      const visibleInViewportRect = new Rect( window ).getIntersection( new Rect( source ).getVisible() );
      

      Returns Rect

      A visible rect instance or null, if there's none.

    • Checks if all property values (#top, #left, #right, #bottom, #width and #height) are the equal in both rect instances.

      Parameters

      • anotherRect: Rect

        A rect instance to compare with.

      Returns boolean

      true when Rects are equal. false otherwise.

    • Moves the rect in–place by a dedicated offset.

      Parameters

      • x: number

        A horizontal offset.

      • y: number

        A vertical offset

      Returns this

      A rect which has been moved.

    • Moves the rect so that its upper–left corner lands in desired [ x, y ] location.

      Parameters

      • x: number

        Desired horizontal location.

      • y: number

        Desired vertical location.

      Returns this

      A rect which has been moved.

    • Recalculates screen coordinates to coordinates relative to the positioned ancestor offset.

      Returns Rect

    • Returns a bounding rectangle that contains all the given rects.

      Parameters

      • rects: Iterable<Rect>

        A list of rectangles that should be contained in the result rectangle.

      Returns Rect

      Bounding rectangle or null if no rects were given.

    • Returns an array of rects of the given native DOM Range.

      Parameters

      • range: Range

        A native DOM range.

      Returns Rect[]

      DOM Range rects.