mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-11-10 17:13:38 +08:00
d1c06a8ece
As benefit this also drops the CustomEvent('resize.real')
32 lines
760 B
JavaScript
32 lines
760 B
JavaScript
|
|
Array.prototype.flat || Object.defineProperty(Array.prototype, 'flat', {
|
|
configurable: true,
|
|
value: function flat(depth) {
|
|
depth = isNaN(depth) ? 1 : Number(depth);
|
|
return depth ? Array.prototype.reduce.call(this, (acc, cur) => {
|
|
if (Array.isArray(cur)) {
|
|
acc.push.apply(acc, flat.call(cur, depth - 1));
|
|
} else {
|
|
acc.push(cur);
|
|
}
|
|
return acc;
|
|
}, []) : this.slice();
|
|
},
|
|
writable: true
|
|
});
|
|
|
|
if (!window.ResizeObserver) {
|
|
window.ResizeObserver = class {
|
|
constructor(callback) {
|
|
this.observer = new MutationObserver(callback.debounce(250));
|
|
}
|
|
|
|
disconnect() {
|
|
this.observer.disconnect();
|
|
}
|
|
|
|
observe(target) {
|
|
this.observer.observe(target, { attributes: true, subtree: true, attributeFilter: ['style'] });
|
|
}
|
|
};
|
|
}
|