diff --git a/src/components/Layout/GridTableLayout/GridTableLayout.stories.tsx b/src/components/Layout/GridTableLayout/GridTableLayout.stories.tsx
index e03ba09d7..2b60f3379 100644
--- a/src/components/Layout/GridTableLayout/GridTableLayout.stories.tsx
+++ b/src/components/Layout/GridTableLayout/GridTableLayout.stories.tsx
@@ -1,6 +1,9 @@
import { Meta } from "@storybook/react";
import { useEffect, useMemo, useState } from "react";
+import { ScrollableContent, ScrollableParent } from "src/components";
+import { Button } from "src/components/Button";
import { checkboxFilter, multiFilter } from "src/components/Filters";
+import { IconButton } from "src/components/IconButton";
import { GridDataRow } from "src/components/Table";
import { collapseColumn, column, numericColumn, selectColumn } from "src/components/Table/utils/columns";
import { simpleHeader } from "src/components/Table/utils/simpleHelpers";
@@ -8,6 +11,7 @@ import { Css } from "src/Css";
import { noop } from "src/utils";
import { withBeamDecorator, withRouter, zeroTo } from "src/utils/sb";
import { TestProjectLayout } from "../Layout.stories";
+import { OpenRightPaneOpts, useRightPane } from "../RightPaneLayout";
import { GridTableLayout as GridTableLayoutComponent, useGridTableLayoutState } from "./GridTableLayout";
export default {
@@ -23,8 +27,9 @@ type DataRow = { kind: "data"; id: string; data: Data };
type Row = HeaderRow | ParentRow | DataRow;
export function GridTableLayout() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getFilterDefs(), []);
- const columns = useMemo(() => getColumns(false), []);
+ const columns = useMemo(() => getColumns(false, openRightPane), [openRightPane]);
const layoutState = useGridTableLayoutState({
persistedFilter: {
@@ -69,8 +74,9 @@ export function GridTableLayout() {
}
export function ManyFilters() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getManyFilterDefs(), []);
- const columns = useMemo(() => getColumns(), []);
+ const columns = useMemo(() => getColumns(false, openRightPane), [openRightPane]);
const layoutState = useGridTableLayoutState({
persistedFilter: {
@@ -101,8 +107,9 @@ export function ManyFilters() {
}
export function WithCheckboxFilter() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getCheckboxFilterDefs(), []);
- const columns = useMemo(() => getColumns(), []);
+ const columns = useMemo(() => getColumns(false, openRightPane), [openRightPane]);
const layoutState = useGridTableLayoutState({
persistedFilter: {
@@ -133,8 +140,9 @@ export function WithCheckboxFilter() {
}
export function QueryTableLayout() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getFilterDefs(), []);
- const columns = useMemo(() => getColumns(false), []);
+ const columns = useMemo(() => getColumns(false, openRightPane), [openRightPane]);
const layoutState = useGridTableLayoutState({
persistedFilter: {
@@ -184,8 +192,9 @@ export function QueryTableLayout() {
}
export function WithPagination() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getFilterDefs(), []);
- const columns = useMemo(() => getColumns(), []);
+ const columns = useMemo(() => getColumns(false, openRightPane), [openRightPane]);
const layoutState = useGridTableLayoutState({
persistedFilter: {
@@ -221,8 +230,9 @@ export function WithPagination() {
}
export function GridTableLayoutWithColor() {
+ const { openRightPane } = useRightPane();
const filterDefs = useMemo(() => getFilterDefs(), []);
- const columns = useMemo(() => getColumns(true), []);
+ const columns = useMemo(() => getColumns(true, openRightPane), [openRightPane]);
const storageKey = "with-session-storage-test";
const layoutState = useGridTableLayoutState({
@@ -463,7 +473,34 @@ function getManyFilterDefs() {
};
}
-function getColumns(showColor: boolean = false) {
+function DetailPane() {
+ const { closeRightPane } = useRightPane();
+
+ return (
+
+
+
Detail Pane
+
+ closeRightPane()} />
+
+
+
+
+
+
+
+
+ );
+}
+
+function getColumns(showColor: boolean, openRightPane: (opts: OpenRightPaneOpts) => void) {
const nameColumn = column({
id: "name-col",
name: "Name",
@@ -501,8 +538,15 @@ function getColumns(showColor: boolean = false) {
id: "action-col",
name: "Action",
header: () => ({ content: "Action", css: Css.if(showColor).bgPurple500.$ }),
- parent: () => ({ content: Actions
, value: "", css: Css.if(showColor).bgPurple500.$ }),
- data: () => ({ content: Actions
, css: Css.if(showColor).bgPurple500.$ }),
+ parent: () => ({
+ content: