import React from "react"; import { useEventListener } from "../../common/utils.js"; import { DataEditorAll as DataEditor } from "../../data-editor-all.js"; import { BeautifulWrapper, Description, MoreInfo, PropName, KeyName, defaultProps, useAllMockedKinds, } from "../../data-editor/stories/utils.js"; import type { GridSelection } from "../../internal/data-grid/data-grid-types.js"; import { CompactSelection } from "../../internal/data-grid/data-grid-types.js"; import { SimpleThemeWrapper } from "../../stories/story-utils.js"; export default { title: "Glide-Data-Grid/DataEditor Demos", decorators: [ (Story: React.ComponentType) => ( Search for any data in your grid by setting showSearch. In this story, Ctrl ( on Mac) +{" "} f toggles the search bar. Make sure you're focused on the Data Grid! }> ), ], }; export const BuiltInSearch: React.VFC = () => { const { cols, getCellContent, onColumnResize, setCellValue } = useAllMockedKinds(); const [showSearch, setShowSearch] = React.useState(false); const [selection, setSelection] = React.useState({ rows: CompactSelection.empty(), columns: CompactSelection.empty(), }); useEventListener( "keydown", React.useCallback(event => { if ((event.ctrlKey || event.metaKey) && event.code === "KeyF") { setShowSearch(cv => !cv); event.stopPropagation(); event.preventDefault(); } }, []), window, false, true ); return ( setShowSearch(false)} rows={10_000} /> ); };