[REM] web, web_editor: remove throttle function

This function is deprecated as its behaviour is closer to "debounce".
Furthermore, it is not covered by any tests.

Only one usage has been found in the code base:
- the VideoSelector component from web_editor

This usage has been replaced by the "debounce" timing utility,
which is appropriate considering what the code tries to do.

Part-of: odoo/odoo#112913
This commit is contained in:
Bruno Boi
2023-02-17 12:07:25 +01:00
parent 9169ba9e4b
commit db4ec2ba2f
2 changed files with 2 additions and 29 deletions
@@ -53,33 +53,6 @@ export function throttleForAnimation(func) {
);
}
/**
* Returns a function, that, as long as it continues to be invoked, will be
* triggered every N milliseconds.
*
* @deprecated this function has behaviour that is unexpected considering its
* name, prefer _.throttle until this function is rewritten
* @param {Function} func
* @param {number} delay
* @returns {Function}
*/
export function throttle(func, delay) {
let waiting = false;
const funcName = func.name ? func.name + " (throttle)" : "throttle";
return {
[funcName](...args) {
const context = this;
if (!waiting) {
waiting = true;
browser.setTimeout(function () {
waiting = false;
func.call(context, ...args);
}, delay);
}
},
}[funcName];
}
/**
* Creates and returns a new debounced version of the passed function (func)
* which will postpone its execution until after 'delay' milliseconds
@@ -1,7 +1,7 @@
/** @odoo-module */
import { useService } from '@web/core/utils/hooks';
import { throttle } from '@web/core/utils/timing';
import { debounce } from '@web/core/utils/timing';
import { qweb } from 'web.core';
import { Component, useState, useRef, onMounted, onWillStart } from "@odoo/owl";
@@ -98,7 +98,7 @@ export class VideoSelector extends Component {
}));
});
this.onChangeUrl = throttle((ev) => this.updateVideo(ev.target.value), 500);
this.onChangeUrl = debounce((ev) => this.updateVideo(ev.target.value), 500);
}
get shownOptions() {