Trilium Frontend API
    Preparing search index...

    Class ViewTypeCheckableAbstract

    Hierarchy (View Summary)

    Index

    Constructors

    Methods

    Constructors

    Methods

    • Checks whether this object is of type module:engine/view/node~ViewNode or its subclass.

      This method is useful when processing view objects that are of unknown type. For example, a function may return a module:engine/view/documentfragment~ViewDocumentFragment or a module:engine/view/node~ViewNode that can be either a text node or an element. This method can be used to check what kind of object is returned.

      someObject.is( 'element' ); // -> true if this is an element
      someObject.is( 'node' ); // -> true if this is a node (a text node or an element)
      someObject.is( 'documentFragment' ); // -> true if this is a document fragment

      Since this method is also available on a range of model objects, you can prefix the type of the object with model: or view: to check, for example, if this is the model's or view's element:

      viewElement.is( 'view:element' ); // -> true
      viewElement.is( 'model:element' ); // -> false

      By using this method it is also possible to check a name of an element:

      imgElement.is( 'element', 'img' ); // -> true
      imgElement.is( 'view:element', 'img' ); // -> same as above, but more precise

      Parameters

      • type: "node" | "view:node"

      Returns this is
          | ViewElement
          | ViewNode
          | ViewRootEditableElement
          | ViewText
          | ViewAttributeElement
          | ViewContainerElement
          | ViewEditableElement
          | ViewEmptyElement
          | ViewRawElement
          | ViewUIElement

      NODE

    • Checks whether this object is of type module:engine/view/element~ViewElement or its subclass.

      element.is( 'element' ); // -> true
      element.is( 'node' ); // -> true
      element.is( 'view:element' ); // -> true
      element.is( 'view:node' ); // -> true

      element.is( 'model:element' ); // -> false
      element.is( 'documentSelection' ); // -> false

      Assuming that the object being checked is an element, you can also check its module:engine/view/element~ViewElement#name name:

      element.is( 'element', 'img' ); // -> true if this is an <img> element
      text.is( 'element', 'img' ); -> false

      Parameters

      • type: "element" | "view:element"

      Returns this is
          | ViewElement
          | ViewRootEditableElement
          | ViewAttributeElement
          | ViewContainerElement
          | ViewEditableElement
          | ViewEmptyElement
          | ViewRawElement
          | ViewUIElement

      ELEMENT

    • Checks whether this object is of type module:engine/view/attributeelement~ViewAttributeElement.

      attributeElement.is( 'attributeElement' ); // -> true
      attributeElement.is( 'element' ); // -> true
      attributeElement.is( 'node' ); // -> true
      attributeElement.is( 'view:attributeElement' ); // -> true
      attributeElement.is( 'view:element' ); // -> true
      attributeElement.is( 'view:node' ); // -> true

      attributeElement.is( 'model:element' ); // -> false
      attributeElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is an attribute element, you can also check its module:engine/view/attributeelement~ViewAttributeElement#name name:

      attributeElement.is( 'element', 'b' ); // -> true if this is a bold element
      attributeElement.is( 'attributeElement', 'b' ); // -> same as above
      text.is( 'element', 'b' ); -> false

      Parameters

      • type: "attributeElement" | "view:attributeElement"

      Returns this is ViewAttributeElement

      ATTRIBUTE_ELEMENT

    • Checks whether this object is of type module:engine/view/containerelement~ViewContainerElement or its subclass.

      containerElement.is( 'containerElement' ); // -> true
      containerElement.is( 'element' ); // -> true
      containerElement.is( 'node' ); // -> true
      containerElement.is( 'view:containerElement' ); // -> true
      containerElement.is( 'view:element' ); // -> true
      containerElement.is( 'view:node' ); // -> true

      containerElement.is( 'model:element' ); // -> false
      containerElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is a container element, you can also check its module:engine/view/containerelement~ViewContainerElement#name name:

      containerElement.is( 'element', 'div' ); // -> true if this is a div container element
      containerElement.is( 'contaienrElement', 'div' ); // -> same as above
      text.is( 'element', 'div' ); -> false

      Parameters

      • type: "containerElement" | "view:containerElement"

      Returns this is ViewRootEditableElement | ViewContainerElement | ViewEditableElement

      CONTAINER_ELEMENT

    • Checks whether this object is of type module:engine/view/editableelement~ViewEditableElement or its subclass.

      editableElement.is( 'editableElement' ); // -> true
      editableElement.is( 'element' ); // -> true
      editableElement.is( 'node' ); // -> true
      editableElement.is( 'view:editableElement' ); // -> true
      editableElement.is( 'view:element' ); // -> true
      editableElement.is( 'view:node' ); // -> true

      editableElement.is( 'model:element' ); // -> false
      editableElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is an editbale element, you can also check its module:engine/view/editableelement~ViewEditableElement#name name:

      editableElement.is( 'element', 'div' ); // -> true if this is a div element
      editableElement.is( 'editableElement', 'div' ); // -> same as above
      text.is( 'element', 'div' ); -> false

      Parameters

      • type: "editableElement" | "view:editableElement"

      Returns this is ViewRootEditableElement | ViewEditableElement

      EDITABLE_ELEMENT

    • Checks whether this object is of type module:engine/view/emptyelement~ViewEmptyElement.

      emptyElement.is( 'emptyElement' ); // -> true
      emptyElement.is( 'element' ); // -> true
      emptyElement.is( 'node' ); // -> true
      emptyElement.is( 'view:emptyElement' ); // -> true
      emptyElement.is( 'view:element' ); // -> true
      emptyElement.is( 'view:node' ); // -> true

      emptyElement.is( 'model:element' ); // -> false
      emptyElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is an empty element, you can also check its module:engine/view/emptyelement~ViewEmptyElement#name name:

      emptyElement.is( 'element', 'img' ); // -> true if this is a img element
      emptyElement.is( 'emptyElement', 'img' ); // -> same as above
      text.is( 'element', 'img' ); -> false

      Parameters

      • type: "emptyElement" | "view:emptyElement"

      Returns this is ViewEmptyElement

      EMPTY_ELEMENT

    • Checks whether this object is of type module:engine/view/rawelement~ViewRawElement.

      rawElement.is( 'rawElement' ); // -> true
      rawElement.is( 'element' ); // -> true
      rawElement.is( 'node' ); // -> true
      rawElement.is( 'view:rawElement' ); // -> true
      rawElement.is( 'view:element' ); // -> true
      rawElement.is( 'view:node' ); // -> true

      rawElement.is( 'model:element' ); // -> false
      rawElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is a raw element, you can also check its module:engine/view/rawelement~ViewRawElement#name name:

      rawElement.is( 'img' ); // -> true if this is an img element
      rawElement.is( 'rawElement', 'img' ); // -> same as above
      text.is( 'img' ); -> false

      Parameters

      • type: "rawElement" | "view:rawElement"

      Returns this is ViewRawElement

      RAW_ELEMENT

    • Checks whether this object is of type module:engine/view/rooteditableelement~ViewRootEditableElement.

      rootEditableElement.is( 'rootElement' ); // -> true
      rootEditableElement.is( 'editableElement' ); // -> true
      rootEditableElement.is( 'element' ); // -> true
      rootEditableElement.is( 'node' ); // -> true
      rootEditableElement.is( 'view:editableElement' ); // -> true
      rootEditableElement.is( 'view:element' ); // -> true
      rootEditableElement.is( 'view:node' ); // -> true

      rootEditableElement.is( 'model:element' ); // -> false
      rootEditableElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is a root editable element, you can also check its module:engine/view/rooteditableelement~ViewRootEditableElement#name name:

      rootEditableElement.is( 'element', 'div' ); // -> true if this is a div root editable element
      rootEditableElement.is( 'rootElement', 'div' ); // -> same as above
      text.is( 'element', 'div' ); -> false

      Parameters

      • type: "rootElement" | "view:rootElement"

      Returns this is ViewRootEditableElement

      ROOT_ELEMENT

    • Checks whether this object is of type module:engine/view/uielement~ViewUIElement.

      uiElement.is( 'uiElement' ); // -> true
      uiElement.is( 'element' ); // -> true
      uiElement.is( 'node' ); // -> true
      uiElement.is( 'view:uiElement' ); // -> true
      uiElement.is( 'view:element' ); // -> true
      uiElement.is( 'view:node' ); // -> true

      uiElement.is( 'model:element' ); // -> false
      uiElement.is( 'documentFragment' ); // -> false

      Assuming that the object being checked is an ui element, you can also check its module:engine/view/uielement~ViewUIElement#name name:

      uiElement.is( 'element', 'span' ); // -> true if this is a span ui element
      uiElement.is( 'uiElement', 'span' ); // -> same as above
      text.is( 'element', 'span' ); -> false

      Parameters

      • type: "uiElement" | "view:uiElement"

      Returns this is ViewUIElement

      UI_ELEMENT

    • Checks whether this object is of type module:engine/view/text~ViewText.

      text.is( '$text' ); // -> true
      text.is( 'node' ); // -> true
      text.is( 'view:$text' ); // -> true
      text.is( 'view:node' ); // -> true

      text.is( 'model:$text' ); // -> false
      text.is( 'element' ); // -> false
      text.is( 'range' ); // -> false

      Parameters

      • type: "$text" | "view:$text"

      Returns this is ViewText

      TEXT

    • hecks whether this object is of type module:engine/view/documentfragment~ViewDocumentFragment.

      docFrag.is( 'documentFragment' ); // -> true
      docFrag.is( 'view:documentFragment' ); // -> true

      docFrag.is( 'model:documentFragment' ); // -> false
      docFrag.is( 'element' ); // -> false
      docFrag.is( 'node' ); // -> false

      Parameters

      • type: "documentFragment" | "view:documentFragment"

      Returns this is ViewDocumentFragment

      DOCUMENT_FRAGMENT

    • Checks whether this object is of type module:engine/view/textproxy~ViewTextProxy.

      textProxy.is( '$textProxy' ); // -> true
      textProxy.is( 'view:$textProxy' ); // -> true

      textProxy.is( 'model:$textProxy' ); // -> false
      textProxy.is( 'element' ); // -> false
      textProxy.is( 'range' ); // -> false

      Note: Until version 20.0.0 this method wasn't accepting '$textProxy' type. The legacy 'textProxy' type is still accepted for backward compatibility.

      Parameters

      • type: "$textProxy" | "view:$textProxy"

      Returns this is ViewTextProxy

      TEXT_PROXY

    • Checks whether this object is of type module:engine/view/position~ViewPosition.

      position.is( 'position' ); // -> true
      position.is( 'view:position' ); // -> true

      position.is( 'model:position' ); // -> false
      position.is( 'element' ); // -> false
      position.is( 'range' ); // -> false

      Parameters

      • type: "position" | "view:position"

      Returns this is ViewPosition

      POSITION

    • Checks whether this object is of type module:engine/view/range~ViewRange.

      range.is( 'range' ); // -> true
      range.is( 'view:range' ); // -> true

      range.is( 'model:range' ); // -> false
      range.is( 'element' ); // -> false
      range.is( 'selection' ); // -> false

      Parameters

      • type: "range" | "view:range"

      Returns this is ViewRange

      RANGE

    • Checks whether this object is of type module:engine/view/selection~ViewSelection or module:engine/view/documentselection~ViewDocumentSelection.

      selection.is( 'selection' ); // -> true
      selection.is( 'view:selection' ); // -> true

      selection.is( 'model:selection' ); // -> false
      selection.is( 'element' ); // -> false
      selection.is( 'range' ); // -> false

      Parameters

      • type: "selection" | "view:selection"

      Returns this is ViewDocumentSelection | ViewSelection

      SELECTION

    • Checks whether this object is of type module:engine/view/documentselection~ViewDocumentSelection.

      `docSelection.is( 'selection' ); // -> true
      docSelection.is( 'documentSelection' ); // -> true
      docSelection.is( 'view:selection' ); // -> true
      docSelection.is( 'view:documentSelection' ); // -> true

      docSelection.is( 'model:documentSelection' ); // -> false
      docSelection.is( 'element' ); // -> false
      docSelection.is( 'node' ); // -> false

      Parameters

      • type: "documentSelection" | "view:documentSelection"

      Returns this is ViewDocumentSelection

      DOCUMENT_SELECTION

    • Checks whether the object is of type module:engine/view/element~ViewElement or its subclass and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "element" | "view:element"
      • name: N

      Returns this is (
          | ViewElement
          | ViewRootEditableElement
          | ViewAttributeElement
          | ViewContainerElement
          | ViewEditableElement
          | ViewEmptyElement
          | ViewRawElement
          | ViewUIElement
      ) & { name: N }

      ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/attributeelement~ViewAttributeElement and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "attributeElement" | "view:attributeElement"
      • name: N

      Returns this is ViewAttributeElement & { name: N }

      ATTRIBUTE_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/containerelement~ViewContainerElement or its subclass and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "containerElement" | "view:containerElement"
      • name: N

      Returns this is (ViewRootEditableElement | ViewContainerElement | ViewEditableElement) & {
          name: N;
      }

      CONTAINER_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/editableelement~ViewEditableElement or its subclass and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "editableElement" | "view:editableElement"
      • name: N

      Returns this is (ViewRootEditableElement | ViewEditableElement) & { name: N }

      EDITABLE_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/emptyelement~ViewEmptyElement has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "emptyElement" | "view:emptyElement"
      • name: N

      Returns this is ViewEmptyElement & { name: N }

      EMPTY_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/rawelement~ViewRawElement and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "rawElement" | "view:rawElement"
      • name: N

      Returns this is ViewRawElement & { name: N }

      RAW_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/rooteditableelement~ViewRootEditableElement and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "rootElement" | "view:rootElement"
      • name: N

      Returns this is ViewRootEditableElement & { name: N }

      ROOT_ELEMENT_NAME

    • Checks whether the object is of type module:engine/view/uielement~ViewUIElement and has the specified name.

      Type Parameters

      • N extends string

      Parameters

      • type: "uiElement" | "view:uiElement"
      • name: N

      Returns this is ViewUIElement & { name: N }

      UI_ELEMENT_NAME