mirror of
				https://github.com/zadam/trilium.git
				synced 2025-11-04 13:39:01 +01:00 
			
		
		
		
	fix debounce webpack
This commit is contained in:
		
							parent
							
								
									15a9ff4450
								
							
						
					
					
						commit
						8fcc76ad6d
					
				@ -1,70 +0,0 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a function, that, as long as it continues to be invoked, will not
 | 
			
		||||
 * be triggered. The function will be called after it stops being called for
 | 
			
		||||
 * N milliseconds. If `immediate` is passed, trigger the function on the
 | 
			
		||||
 * leading edge, instead of the trailing. The function also has a property 'clear'
 | 
			
		||||
 * that is a function which will clear the timer to prevent previously scheduled executions.
 | 
			
		||||
 *
 | 
			
		||||
 * @source underscore.js
 | 
			
		||||
 * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
 | 
			
		||||
 * @param {Function} function to wrap
 | 
			
		||||
 * @param {Number} timeout in ms (`100`)
 | 
			
		||||
 * @param {Boolean} whether to execute at the beginning (`false`)
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
function debounce(func, wait_ms, immediate){
 | 
			
		||||
  var timeout, args, context, timestamp, result;
 | 
			
		||||
  if (null == wait_ms) wait_ms = 100;
 | 
			
		||||
 | 
			
		||||
  function later() {
 | 
			
		||||
    var last = Date.now() - timestamp;
 | 
			
		||||
 | 
			
		||||
    if (last < wait_ms && last >= 0) {
 | 
			
		||||
      timeout = setTimeout(later, wait_ms - last);
 | 
			
		||||
    } else {
 | 
			
		||||
      timeout = null;
 | 
			
		||||
      if (!immediate) {
 | 
			
		||||
        result = func.apply(context, args);
 | 
			
		||||
        context = args = null;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  var debounced = function(){
 | 
			
		||||
    context = this;
 | 
			
		||||
    args = arguments;
 | 
			
		||||
    timestamp = Date.now();
 | 
			
		||||
    var callNow = immediate && !timeout;
 | 
			
		||||
    if (!timeout) timeout = setTimeout(later, wait_ms);
 | 
			
		||||
    if (callNow) {
 | 
			
		||||
      result = func.apply(context, args);
 | 
			
		||||
      context = args = null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return result;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  debounced.clear = function() {
 | 
			
		||||
    if (timeout) {
 | 
			
		||||
      clearTimeout(timeout);
 | 
			
		||||
      timeout = null;
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  debounced.flush = function() {
 | 
			
		||||
    if (timeout) {
 | 
			
		||||
      result = func.apply(context, args);
 | 
			
		||||
      context = args = null;
 | 
			
		||||
 | 
			
		||||
      clearTimeout(timeout);
 | 
			
		||||
      timeout = null;
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return debounced;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Adds compatibility for ES modules
 | 
			
		||||
debounce.debounce = debounce;
 | 
			
		||||
 | 
			
		||||
export default debounce;
 | 
			
		||||
							
								
								
									
										70
									
								
								src/public/app/services/debounce.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										70
									
								
								src/public/app/services/debounce.js
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,70 @@
 | 
			
		||||
/**
 | 
			
		||||
 * Returns a function, that, as long as it continues to be invoked, will not
 | 
			
		||||
 * be triggered. The function will be called after it stops being called for
 | 
			
		||||
 * N milliseconds. If `immediate` is passed, trigger the function on the
 | 
			
		||||
 * leading edge, instead of the trailing. The function also has a property 'clear'
 | 
			
		||||
 * that is a function which will clear the timer to prevent previously scheduled executions.
 | 
			
		||||
 *
 | 
			
		||||
 * @source underscore.js
 | 
			
		||||
 * @see http://unscriptable.com/2009/03/20/debouncing-javascript-methods/
 | 
			
		||||
 * @param {Function} function to wrap
 | 
			
		||||
 * @param {Number} timeout in ms (`100`)
 | 
			
		||||
 * @param {Boolean} whether to execute at the beginning (`false`)
 | 
			
		||||
 * @api public
 | 
			
		||||
 */
 | 
			
		||||
function debounce(func, wait_ms, immediate){
 | 
			
		||||
    var timeout, args, context, timestamp, result;
 | 
			
		||||
    if (null == wait_ms) wait_ms = 100;
 | 
			
		||||
 | 
			
		||||
    function later() {
 | 
			
		||||
        var last = Date.now() - timestamp;
 | 
			
		||||
 | 
			
		||||
        if (last < wait_ms && last >= 0) {
 | 
			
		||||
            timeout = setTimeout(later, wait_ms - last);
 | 
			
		||||
        } else {
 | 
			
		||||
            timeout = null;
 | 
			
		||||
            if (!immediate) {
 | 
			
		||||
                result = func.apply(context, args);
 | 
			
		||||
                context = args = null;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    var debounced = function(){
 | 
			
		||||
        context = this;
 | 
			
		||||
        args = arguments;
 | 
			
		||||
        timestamp = Date.now();
 | 
			
		||||
        var callNow = immediate && !timeout;
 | 
			
		||||
        if (!timeout) timeout = setTimeout(later, wait_ms);
 | 
			
		||||
        if (callNow) {
 | 
			
		||||
            result = func.apply(context, args);
 | 
			
		||||
            context = args = null;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return result;
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    debounced.clear = function() {
 | 
			
		||||
        if (timeout) {
 | 
			
		||||
            clearTimeout(timeout);
 | 
			
		||||
            timeout = null;
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    debounced.flush = function() {
 | 
			
		||||
        if (timeout) {
 | 
			
		||||
            result = func.apply(context, args);
 | 
			
		||||
            context = args = null;
 | 
			
		||||
 | 
			
		||||
            clearTimeout(timeout);
 | 
			
		||||
            timeout = null;
 | 
			
		||||
        }
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    return debounced;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
// Adds compatibility for ES modules
 | 
			
		||||
debounce.debounce = debounce;
 | 
			
		||||
 | 
			
		||||
export default debounce;
 | 
			
		||||
@ -2,7 +2,7 @@ import libraryLoader from "../../services/library_loader.js";
 | 
			
		||||
import TypeWidget from "./type_widget.js";
 | 
			
		||||
import utils from '../../services/utils.js';
 | 
			
		||||
import froca from "../../services/froca.js";
 | 
			
		||||
import debounce from "../../../libraries/lodash.debounce.js";
 | 
			
		||||
import debounce from "../../services/debounce.js";
 | 
			
		||||
 | 
			
		||||
const {sleep} = utils;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user