UNPKG

@tanstack/angular-table-devtools

Version:

Angular devtools for TanStack Table.

28 lines (26 loc) 914 B
import { computed, effect } from "@angular/core"; import { TableDevtoolsCore } from "@tanstack/table-devtools/production"; //#region src/production/TableDevtools.ts function resolvePanelProps(props) { return { theme: props?.theme ?? "dark", devtoolsOpen: props?.devtoolsOpen ?? true }; } const TableDevtoolsPanel = () => (props, host) => { const panel = host.ownerDocument.createElement("div"); panel.style.height = "100%"; host.appendChild(panel); const panelProps = computed(() => resolvePanelProps(props()), { equal: (previous, next) => previous.theme === next.theme && previous.devtoolsOpen === next.devtoolsOpen }); const panelEffect = effect((onCleanup) => { const instance = new TableDevtoolsCore(); instance.mount(panel, panelProps()); onCleanup(() => instance.unmount()); }); return () => { panelEffect.destroy(); panel.remove(); }; }; //#endregion export { TableDevtoolsPanel };