mirror of
https://github.com/apache/superset.git
synced 2024-09-19 12:09:42 -04:00
31 lines
695 B
TypeScript
31 lines
695 B
TypeScript
|
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);
|
||
|
});
|
||
|
}
|