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}
/>
);
};