Sha256: 09874ad13a856fad11b3afd084e58411741ee2735e61b4d95fefc060b60bfd65

Contents?: true

Size: 1.03 KB

Versions: 4

Compression:

Stored size: 1.03 KB

Contents

import { contains, elt, removeChildrenAndAdd } from "../util/dom.js"
import { e_target } from "../util/event.js"

export function widgetHeight(widget) {
  if (widget.height != null) return widget.height
  let cm = widget.doc.cm
  if (!cm) return 0
  if (!contains(document.body, widget.node)) {
    let parentStyle = "position: relative;"
    if (widget.coverGutter)
      parentStyle += "margin-left: -" + cm.display.gutters.offsetWidth + "px;"
    if (widget.noHScroll)
      parentStyle += "width: " + cm.display.wrapper.clientWidth + "px;"
    removeChildrenAndAdd(cm.display.measure, elt("div", [widget.node], null, parentStyle))
  }
  return widget.height = widget.node.parentNode.offsetHeight
}

// Return true when the given mouse event happened in a widget
export function eventInWidget(display, e) {
  for (let n = e_target(e); n != display.wrapper; n = n.parentNode) {
    if (!n || (n.nodeType == 1 && n.getAttribute("cm-ignore-events") == "true") ||
        (n.parentNode == display.sizer && n != display.mover))
      return true
  }
}

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
administrate-field-simple_mde_markdown-0.1.2 node_modules/codemirror/src/measurement/widgets.js
administrate-field-simple_mde_markdown-0.1.1 node_modules/codemirror/src/measurement/widgets.js
administrate-field-simple_mde_markdown-0.1.0 node_modules/codemirror/src/measurement/widgets.js
tui_editor-rails-1.0.2.0 vendor/assets/components/codemirror/src/measurement/widgets.js