# Class: NodeView

## NodeView()

A (not yet documentd) collection of low-level utitity functions related to node views, client-side views of server-side XML nodes. Node views are contained in the DocumentView.

A node view is represented on the client side by an HTML element (mainly `div`; possibly having descendant HTML elements) having the following internal structure/attributes:

- Text view:

      <span data-t="" id=UID contenteditable>TEXT<span>

  No generated content.

- Comment view:

      data-wc=UID
        [ + data-bc=UID ]
        + data-c="" id=UID contenteditable
             + TEXT
        [ + data-ac=UID ]

  But when styled:

      data-c="" id=UID contenteditable
          + TEXT

      data-rc="" id=UID
          + REPLACED_CONTENT

- Processing-instruction view:

      data-wp=UID
        [ + data-bc=UID ]
        + data-p="" id=UID contenteditable
             + TEXT
        [ + data-ap=UID ]

  BUT when styled:

      data-p="" id=UID contenteditable
          + TEXT

      data-rp="" id=UID
          + REPLACED_CONTENT

- Element view:

      data-e="" id=UID
        [ + data-be=UID ]
            + CHILDREN
        [ + data-ae=UID ]

  Also when styled:

      data-re="" id=UID
        [ + data-be=UID ]
            + REPLACED_CONTENT
        [ + data-ae=UID ]

      data-we=UID
        [ + data-be=UID ]
        + data-e="" id=UID
           + CHILDREN
        [ + data-ae=UID ]

      data-we=UID
        [ + data-be=UID ]
        + data-re="" id=UID
           + REPLACED_CONTENT
        [ + data-ae=UID ]

- Table view specificities: see description in `com.xmlmind.xmleditsrv.webview.TableRendering.java`.
- The root view must have an "`xxe-re`" class if editable and "`xxe-ro`" otherwise.
- Collapsers must have a `collapsed` attribute which is added/removed dynamically.

  In the case of the tree view, the collapser is `<xxe-collapser>`. More expectations in `TreeCollapser.js`.

  In the case of the styled view, the collapser is `<xxe-collapser2>`. See `StyledCollapser.js`.

  `<xxe-collapser2>` for a collapsible styled element view may be found not only in the content before/content after of this element view, but also inside its descendant element views (e.g. content before in the caption of a collapsible table or the title of a collapsible section).

  A collapsible styled element has a `data-collapsible="collapsed;notCollapsibleHead;notCollapsibleFoot"` attribute.

## Constructor

#### new NodeView()

Source:
  - view/NodeView.js, line 103