From 80de0d8dcc9596d1467109f7aa7fe1a8c32ba984 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Fri, 31 Oct 2025 13:35:02 -0400 Subject: [PATCH 01/12] added enum for IModelCell --- .../src/containers/iModelGrid/useIModelTableConfig.tsx | 10 +++++----- packages/modules/imodel-browser/src/types.ts | 8 ++++++++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx b/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx index 01cf8f5e..135c74e8 100644 --- a/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx +++ b/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx @@ -8,7 +8,7 @@ import React from "react"; import { useMemo } from "react"; import { CellProps } from "react-table"; -import { IModelCellOverrides, IModelFull } from "../../types"; +import { IModelCellColumn, IModelCellOverrides, IModelFull } from "../../types"; import { _buildManagedContextMenuOptions, ContextMenuBuilderItem, @@ -52,7 +52,7 @@ export const useIModelTableConfig = ({ Header: "Table", columns: [ { - id: "name", + id: IModelCellColumn.Name, Header: strings.tableColumnName, accessor: "name", maxWidth: 350, @@ -65,7 +65,7 @@ export const useIModelTableConfig = ({ ), }, { - id: "description", + id: IModelCellColumn.Description, Header: strings.tableColumnDescription, accessor: "description", disableSortBy: true, @@ -80,7 +80,7 @@ export const useIModelTableConfig = ({ ), }, { - id: "createdDateTime", + id: IModelCellColumn.CreatedDateTime, Header: strings.tableColumnLastModified, accessor: "createdDateTime", maxWidth: 350, @@ -94,7 +94,7 @@ export const useIModelTableConfig = ({ }, }, { - id: "options", + id: IModelCellColumn.Options, disableSortBy: true, maxWidth: 65, Cell: (props: CellProps) => { diff --git a/packages/modules/imodel-browser/src/types.ts b/packages/modules/imodel-browser/src/types.ts index 38e8b66d..f3f91521 100644 --- a/packages/modules/imodel-browser/src/types.ts +++ b/packages/modules/imodel-browser/src/types.ts @@ -107,10 +107,18 @@ export type ViewType = "tile" | "cells"; // Remove this IModelViewType with next major release i.e 2.0 export type IModelViewType = ViewType; +/* Supported IModel cell columns */ +export enum IModelCellColumn { + Name = "name", + Description = "description", + CreatedDateTime = "createdDateTime", + Options = "options", +} export type IModelCellOverrides = { name?: (cellData: CellProps) => React.ReactNode; description?: (cellData: CellProps) => React.ReactNode; createdDateTime?: (cellData: CellProps) => React.ReactNode; + hideColumns?: IModelCellColumn[]; }; export type ITwinCellOverrides = { From f28d38d91791e106cc4785e0f7b3736d8dde85b5 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Fri, 31 Oct 2025 13:39:26 -0400 Subject: [PATCH 02/12] filter columns --- .../src/containers/iModelGrid/useIModelTableConfig.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx b/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx index 135c74e8..42cafae0 100644 --- a/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx +++ b/packages/modules/imodel-browser/src/containers/iModelGrid/useIModelTableConfig.tsx @@ -130,7 +130,7 @@ export const useIModelTableConfig = ({ ) : null; }, }, - ], + ].filter(({ id }) => !cellOverrides.hideColumns?.includes(id)), }, ], [ From 4bd160bab2a5a17ec5bf42f3d1457d41ed84de32 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Fri, 31 Oct 2025 14:33:03 -0400 Subject: [PATCH 03/12] added option to storybook --- .../apps/storybook/src/imodel-browser/IModelGrid.stories.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx b/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx index 6cb0d281..07046cac 100644 --- a/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx +++ b/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx @@ -72,6 +72,7 @@ OverrideCellData.args = { ), description: (props) => {props.value}, + hideColumns: ["createdDateTime"], }, }; From 328926b8dfc213ea2ae0842dc8b0069d7e6b4421 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Mon, 3 Nov 2025 10:16:21 -0500 Subject: [PATCH 04/12] use enum --- .../apps/storybook/src/imodel-browser/IModelGrid.stories.tsx | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx b/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx index 07046cac..9aff30d4 100644 --- a/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx +++ b/packages/apps/storybook/src/imodel-browser/IModelGrid.stories.tsx @@ -4,6 +4,7 @@ *--------------------------------------------------------------------------------------------*/ import { DataStatus, + IModelCellColumn, IModelFull, IModelGrid as ExternalComponent, IModelGridProps, @@ -72,7 +73,7 @@ OverrideCellData.args = { ), description: (props) => {props.value}, - hideColumns: ["createdDateTime"], + hideColumns: [IModelCellColumn.CreatedDateTime], }, }; From e0c68e9253e4d6576348d527464d8e11c06853c3 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Mon, 3 Nov 2025 10:19:29 -0500 Subject: [PATCH 05/12] change --- .../leobelanger-hide-columns_2025-11-03-15-19.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json new file mode 100644 index 00000000..773a909d --- /dev/null +++ b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@itwin/imodel-browser-react", + "comment": "added option to hide iModelGrid columns in cell view", + "type": "minor" + } + ], + "packageName": "@itwin/imodel-browser-react" +} \ No newline at end of file From e3c65ab68a4f652d95fca4df550f31713679540d Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Tue, 4 Nov 2025 08:36:51 -0500 Subject: [PATCH 06/12] hide column itwin grid --- .../src/imodel-browser/ITwinGrid.stories.tsx | 2 ++ .../containers/ITwinGrid/useITwinTableConfig.tsx | 14 +++++++------- packages/modules/imodel-browser/src/types.ts | 9 +++++++++ 3 files changed, 18 insertions(+), 7 deletions(-) diff --git a/packages/apps/storybook/src/imodel-browser/ITwinGrid.stories.tsx b/packages/apps/storybook/src/imodel-browser/ITwinGrid.stories.tsx index 2e21a09f..3cf45a61 100644 --- a/packages/apps/storybook/src/imodel-browser/ITwinGrid.stories.tsx +++ b/packages/apps/storybook/src/imodel-browser/ITwinGrid.stories.tsx @@ -5,6 +5,7 @@ import { DataStatus, IndividualITwinStateHook, + ITwinCellColumn, ITwinFull, ITwinGrid as ExternalComponent, ITwinGridProps, @@ -73,6 +74,7 @@ OverrideCellData.args = { ), ITwinName: (props) => {props.value}, + hideColumns: [ITwinCellColumn.LastModified], }, }; diff --git a/packages/modules/imodel-browser/src/containers/ITwinGrid/useITwinTableConfig.tsx b/packages/modules/imodel-browser/src/containers/ITwinGrid/useITwinTableConfig.tsx index 73ef1958..687a9c4c 100644 --- a/packages/modules/imodel-browser/src/containers/ITwinGrid/useITwinTableConfig.tsx +++ b/packages/modules/imodel-browser/src/containers/ITwinGrid/useITwinTableConfig.tsx @@ -8,7 +8,7 @@ import React from "react"; import { useMemo } from "react"; import { CellProps } from "react-table"; -import { ITwinCellOverrides, ITwinFull } from "../../types"; +import { ITwinCellColumn, ITwinCellOverrides, ITwinFull } from "../../types"; import { _buildManagedContextMenuOptions, ContextMenuBuilderItem, @@ -50,7 +50,7 @@ export const useITwinTableConfig = ({ Header: "Table", columns: [ { - id: "Favorite", + id: ITwinCellColumn.Favorite, Header: strings.tableColumnFavorites, accessor: "id", width: 70, @@ -77,7 +77,7 @@ export const useITwinTableConfig = ({ }, }, { - id: "ITwinNumber", + id: ITwinCellColumn.Number, Header: strings.tableColumnName, accessor: "number", maxWidth: 350, @@ -95,7 +95,7 @@ export const useITwinTableConfig = ({ ), }, { - id: "ITwinName", + id: ITwinCellColumn.Name, Header: strings.tableColumnDescription, accessor: "displayName", maxWidth: 350, @@ -113,7 +113,7 @@ export const useITwinTableConfig = ({ ), }, { - id: "LastModified", + id: ITwinCellColumn.LastModified, Header: strings.tableColumnLastModified, accessor: "createdDateTime", maxWidth: 350, @@ -127,7 +127,7 @@ export const useITwinTableConfig = ({ }, }, { - id: "options", + id: ITwinCellColumn.Options, disableSortBy: true, maxWidth: 65, Cell: (props: CellProps) => { @@ -158,7 +158,7 @@ export const useITwinTableConfig = ({ ) : null; }, }, - ], + ].filter((column) => !cellOverrides.hideColumns?.includes(column.id)), }, ], [ diff --git a/packages/modules/imodel-browser/src/types.ts b/packages/modules/imodel-browser/src/types.ts index 9654cb2f..2d766347 100644 --- a/packages/modules/imodel-browser/src/types.ts +++ b/packages/modules/imodel-browser/src/types.ts @@ -122,10 +122,19 @@ export type IModelCellOverrides = { hideColumns?: IModelCellColumn[]; }; +/* Supported ITwin cell columns */ +export enum ITwinCellColumn { + Favorite = "Favorite", + Number = "ITwinNumber", + Name = "ITwinName", + LastModified = "LastModified", + Options = "options", +} export type ITwinCellOverrides = { ITwinNumber?: (cellData: CellProps) => React.ReactNode; ITwinName?: (cellData: CellProps) => React.ReactNode; LastModified?: (cellData: CellProps) => React.ReactNode; + hideColumns?: ITwinCellColumn[]; }; export type AccessTokenProvider = string | (() => Promise); From c4ccb09eee3606c6028d6b31e1211467c3de59bf Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Wed, 5 Nov 2025 09:16:19 -0500 Subject: [PATCH 07/12] lower case --- packages/modules/imodel-browser/src/types.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/modules/imodel-browser/src/types.ts b/packages/modules/imodel-browser/src/types.ts index 2d766347..d2822624 100644 --- a/packages/modules/imodel-browser/src/types.ts +++ b/packages/modules/imodel-browser/src/types.ts @@ -124,10 +124,10 @@ export type IModelCellOverrides = { /* Supported ITwin cell columns */ export enum ITwinCellColumn { - Favorite = "Favorite", - Number = "ITwinNumber", - Name = "ITwinName", - LastModified = "LastModified", + Favorite = "favorite", + Number = "iTwinNumber", + Name = "iTwinName", + LastModified = "lastModified", Options = "options", } export type ITwinCellOverrides = { From 498d199f85c3f41f534880906dbb27ad700daecb Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Wed, 5 Nov 2025 09:19:55 -0500 Subject: [PATCH 08/12] remove changes --- .../leobelanger-hide-columns_2025-11-03-15-19.json | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json deleted file mode 100644 index 773a909d..00000000 --- a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-03-15-19.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@itwin/imodel-browser-react", - "comment": "added option to hide iModelGrid columns in cell view", - "type": "minor" - } - ], - "packageName": "@itwin/imodel-browser-react" -} \ No newline at end of file From d7afa9a101764947a4e4fff12f243744f3404c6b Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Wed, 5 Nov 2025 09:21:08 -0500 Subject: [PATCH 09/12] changes --- .../leobelanger-hide-columns_2025-11-05-14-20.json | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json new file mode 100644 index 00000000..c0d50a66 --- /dev/null +++ b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@itwin/imodel-browser-react", + "comment": "added hide columns option for iTwinGrid and iModelGrid while in cells view", + "type": "major" + } + ], + "packageName": "@itwin/imodel-browser-react" +} \ No newline at end of file From e04933045ae6b741f41fcbb2a0ee14aad36fe453 Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Wed, 5 Nov 2025 09:23:13 -0500 Subject: [PATCH 10/12] change comment --- .../leobelanger-hide-columns_2025-11-05-14-20.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json index c0d50a66..a4f05938 100644 --- a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json +++ b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@itwin/imodel-browser-react", - "comment": "added hide columns option for iTwinGrid and iModelGrid while in cells view", + "comment": "Added hide columns option for iTwinGrid and iModelGrid while in cells view and renamed column ids to use camel case.", "type": "major" } ], From a082f63476bccd40b74bc96b6aac8b86cbea3c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?L=C3=A9o=20B=C3=A9langer?= <33942239+leo-belanger@users.noreply.github.com> Date: Wed, 12 Nov 2025 09:38:48 -0500 Subject: [PATCH 11/12] Update common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json Co-authored-by: Arun George <11051042+aruniverse@users.noreply.github.com> --- .../leobelanger-hide-columns_2025-11-05-14-20.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json index a4f05938..b7d913f6 100644 --- a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json +++ b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json @@ -3,7 +3,7 @@ { "packageName": "@itwin/imodel-browser-react", "comment": "Added hide columns option for iTwinGrid and iModelGrid while in cells view and renamed column ids to use camel case.", - "type": "major" + "type": "minor" } ], "packageName": "@itwin/imodel-browser-react" From 1dc7cfec53d12bc89ea50527255ee8930372543d Mon Sep 17 00:00:00 2001 From: Leo Belanger Date: Wed, 12 Nov 2025 10:01:39 -0500 Subject: [PATCH 12/12] revert camel case change --- .../leobelanger-hide-columns_2025-11-05-14-20.json | 2 +- packages/modules/imodel-browser/src/types.ts | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json index b7d913f6..67067684 100644 --- a/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json +++ b/common/changes/@itwin/imodel-browser-react/leobelanger-hide-columns_2025-11-05-14-20.json @@ -2,7 +2,7 @@ "changes": [ { "packageName": "@itwin/imodel-browser-react", - "comment": "Added hide columns option for iTwinGrid and iModelGrid while in cells view and renamed column ids to use camel case.", + "comment": "Added hide columns option for iTwinGrid and iModelGrid while in cells view.", "type": "minor" } ], diff --git a/packages/modules/imodel-browser/src/types.ts b/packages/modules/imodel-browser/src/types.ts index d2822624..a88edeec 100644 --- a/packages/modules/imodel-browser/src/types.ts +++ b/packages/modules/imodel-browser/src/types.ts @@ -109,7 +109,7 @@ export type IModelViewType = ViewType; /* Supported IModel cell columns */ export enum IModelCellColumn { - Favorite = "favorite", + Favorite = "Favorite", Name = "name", Description = "description", CreatedDateTime = "createdDateTime", @@ -124,10 +124,10 @@ export type IModelCellOverrides = { /* Supported ITwin cell columns */ export enum ITwinCellColumn { - Favorite = "favorite", - Number = "iTwinNumber", - Name = "iTwinName", - LastModified = "lastModified", + Favorite = "Favorite", + Number = "ITwinNumber", + Name = "ITwinName", + LastModified = "LastModified", Options = "options", } export type ITwinCellOverrides = {