[ Index ]

PHP Cross Reference of Joomla 4.2.2 documentation

title

Body

[close]

/media/vendor/codemirror/addon/display/ -> autorefresh.js (source)

   1  // CodeMirror, copyright (c) by Marijn Haverbeke and others
   2  // Distributed under an MIT license: https://codemirror.net/5/LICENSE
   3  
   4  (function(mod) {
   5    if (typeof exports == "object" && typeof module == "object") // CommonJS
   6      mod(require("../../lib/codemirror"))
   7    else if (typeof define == "function" && define.amd) // AMD
   8      define(["../../lib/codemirror"], mod)
   9    else // Plain browser env
  10      mod(CodeMirror)
  11  })(function(CodeMirror) {
  12    "use strict"
  13  
  14    CodeMirror.defineOption("autoRefresh", false, function(cm, val) {
  15      if (cm.state.autoRefresh) {
  16        stopListening(cm, cm.state.autoRefresh)
  17        cm.state.autoRefresh = null
  18      }
  19      if (val && cm.display.wrapper.offsetHeight == 0)
  20        startListening(cm, cm.state.autoRefresh = {delay: val.delay || 250})
  21    })
  22  
  23    function startListening(cm, state) {
  24      function check() {
  25        if (cm.display.wrapper.offsetHeight) {
  26          stopListening(cm, state)
  27          if (cm.display.lastWrapHeight != cm.display.wrapper.clientHeight)
  28            cm.refresh()
  29        } else {
  30          state.timeout = setTimeout(check, state.delay)
  31        }
  32      }
  33      state.timeout = setTimeout(check, state.delay)
  34      state.hurry = function() {
  35        clearTimeout(state.timeout)
  36        state.timeout = setTimeout(check, 50)
  37      }
  38      CodeMirror.on(window, "mouseup", state.hurry)
  39      CodeMirror.on(window, "keyup", state.hurry)
  40    }
  41  
  42    function stopListening(_cm, state) {
  43      clearTimeout(state.timeout)
  44      CodeMirror.off(window, "mouseup", state.hurry)
  45      CodeMirror.off(window, "keyup", state.hurry)
  46    }
  47  });


Generated: Wed Sep 7 05:41:13 2022 Chilli.vc Blog - For Webmaster,Blog-Writer,System Admin and Domainer