superset/superset-frontend/temporary_superset_ui/superset-ui/packages/superset-ui-core/test/__mocks__/resize-observer-polyfill.ts

31 lines
695 B
TypeScript
Raw Normal View History

interface ResizeObserverEntry {
contentRect: {
height: number;
width: number;
};
}
type ObserveCallback = (entries: ResizeObserverEntry[]) => void;
const allCallbacks: ObserveCallback[] = [];
export default function ResizeObserver(callback: ObserveCallback) {
return {
disconnect() {
allCallbacks.splice(allCallbacks.indexOf(callback), 1);
},
observe() {
if (callback) {
allCallbacks.push(callback);
}
},
};
}
export const DEFAULT_OUTPUT: ResizeObserverEntry[] = [{ contentRect: { height: 300, width: 300 } }];
export function triggerResizeObserver(entries = DEFAULT_OUTPUT) {
allCallbacks.forEach(fn => {
fn(entries);
});
}