Sha256: 5aba44301ca03d8441bd8148d138a4288d8dd13298bdf01bfec683f77bac5cae

Contents?: true

Size: 1.44 KB

Versions: 122

Compression:

Stored size: 1.44 KB

Contents

//From https://codemirror.net/addon/display/autorefresh.js

(function(mod) {
  if (typeof exports == "object" && typeof module == "object") // CommonJS
    mod(require("../../lib/codemirror"))
  else if (typeof define == "function" && define.amd) // AMD
    define(["../../lib/codemirror"], mod)
  else // Plain browser env
    mod(CodeMirror)
})(function(CodeMirror) {
  "use strict"

  CodeMirror.defineOption("autoRefresh", false, function(cm, val) {
    if (cm.state.autoRefresh) {
      stopListening(cm, cm.state.autoRefresh)
      cm.state.autoRefresh = null
    }
    if (val && cm.display.wrapper.offsetHeight == 0)
      startListening(cm, cm.state.autoRefresh = {delay: val.delay || 250})
  })

  function startListening(cm, state) {
    function check() {
      if (cm.display.wrapper.offsetHeight) {
        stopListening(cm, state)
        if (cm.display.lastWrapHeight != cm.display.wrapper.clientHeight)
          cm.refresh()
      } else {
        state.timeout = setTimeout(check, state.delay)
      }
    }
    state.timeout = setTimeout(check, state.delay)
    state.hurry = function() {
      clearTimeout(state.timeout)
      state.timeout = setTimeout(check, 50)
    }
    CodeMirror.on(window, "mouseup", state.hurry)
    CodeMirror.on(window, "keyup", state.hurry)
  }

  function stopListening(_cm, state) {
    clearTimeout(state.timeout)
    CodeMirror.off(window, "mouseup", state.hurry)
    CodeMirror.off(window, "keyup", state.hurry)
  }
});

Version data entries

122 entries across 122 versions & 1 rubygems

Version Path
mumuki-laboratory-9.23.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.22.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.21.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.20.1 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.20.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.19.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.18.1 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.18.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.17.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.16.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.15.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.14.1 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.14.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.13.2 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.13.1 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.13.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.12.1 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.12.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.11.0 vendor/assets/javascripts/codemirror-autorefresh.js
mumuki-laboratory-9.10.0 vendor/assets/javascripts/codemirror-autorefresh.js