@equinor/fusion-framework-react-ag-grid

中文文档
37.1.5发布于 2026/11/12ISCTypeScriptES Module近 30 天下载 4791

Fusion module for using AG Grid

原始使用文档
文档目录20 节
  1. Who Should Use This
  2. Quick Start
  3. Install
  4. Enable the Module
  5. Render a Grid
  6. Key Concepts
  7. API Surface
  8. Main Entry Point ( @equinor/fusion-framework-react-ag-grid )
  9. Community Entry Point ( @equinor/fusion-framework-react-ag-…
  10. Enterprise Entry Point ( @equinor/fusion-framework-react-ag…
  11. React Entry Point ( @equinor/fusion-framework-react-ag-grid…
  12. Themes Entry Point ( @equinor/fusion-framework-react-ag-gri…
  13. Common Patterns
  14. Customize the Global Theme
  15. Override Theme per Grid Instance
  16. Use AG Grid Integrated Charts
  17. Testing
  18. Upgrade Guides
  19. Upgrading to v35
  20. Upgrading from v32 to v33

@equinor/fusion-framework-react-ag-grid

React integration for AG Grid within Fusion Framework applications.

This package provides a pre-configured AG Grid setup with the Equinor Design System theme, license management, and module registration — so every grid in the application shares consistent styling and configuration out of the box.

Who Should Use This

Any Fusion Framework React application that needs a data grid with sorting, filtering, grouping, inline editing, or Excel export. If you are building a standalone app outside Fusion Framework, use ag-grid-react directly instead.

Quick Start

Install

pnpm add @equinor/fusion-framework-react-ag-grid

Enable the Module

Register the AG Grid module during application configuration:

import { enableAgGrid } from '@equinor/fusion-framework-react-ag-grid';

export const configure = (configurator) => {
  enableAgGrid(configurator);
};

Render a Grid

import { AgGridReact } from '@equinor/fusion-framework-react-ag-grid';
import { useTheme } from '@equinor/fusion-framework-react-ag-grid';
import type { ColDef } from '@equinor/fusion-framework-react-ag-grid/community';

const columns: ColDef[] = [
  { field: 'name' },
  { field: 'age', filter: 'agNumberColumnFilter' },
];

const MyGrid = ({ rows }) => {
  const theme = useTheme();
  return <AgGridReact theme={theme} rowData={rows} columnDefs={columns} />;
};

[!IMPORTANT] Since AG Grid types are re-exported from this package, TypeScript may have trouble resolving them. Set "moduleResolution": "bundler" in your tsconfig.json to fix type-resolution issues.

Key Concepts

ConceptDescription
enableAgGridRegisters the AG Grid Fusion module. Accepts an optional builder callback for theme, license, and module customization.
useThemeReact hook that returns the active AG Grid Theme from the module system.
fusionThemeDefault theme applying Equinor fonts and EDS accent colors on top of AG Grid Alpine.
createThemeCreates a new blank AG Grid theme for fully custom styling.

API Surface

Main Entry Point (@equinor/fusion-framework-react-ag-grid)

ExportKindDescription
AgGridReactComponentReact wrapper for rendering an AG Grid instance.
AgGridReactPropsTypeProps accepted by AgGridReact.
enableAgGridFunctionRegisters the AG Grid module on a Fusion configurator.
IAgGridProviderInterfaceRead-only provider exposing resolved license key and theme.
fusionThemeConstantPre-built EDS-based AG Grid theme.
createThemeFunctionCreates a blank AG Grid theme.
ThemeTypeAG Grid theme type.

Community Entry Point (@equinor/fusion-framework-react-ag-grid/community)

Re-exports everything from ag-grid-community — column definitions, cell renderers, row models, events, and utilities.

Enterprise Entry Point (@equinor/fusion-framework-react-ag-grid/enterprise)

Re-exports everything from ag-grid-enterprise — row grouping, tree data, server-side row model, Excel export, integrated charts, and more. Requires a valid license key.

React Entry Point (@equinor/fusion-framework-react-ag-grid/react)

Re-exports everything from ag-grid-react — components, props, hooks, and utilities.

Themes Entry Point (@equinor/fusion-framework-react-ag-grid/themes)

ExportKindDescription
fusionThemeConstantDefault Fusion/EDS AG Grid theme.
createThemeFunctionCreates a blank theme.
createThemeFromThemeFunctionClones a theme across module boundaries (necessary due to AG Grid instanceof checks).
ThemeTypeAG Grid theme type.

Common Patterns

Customize the Global Theme

Override theme parameters during module configuration:

enableAgGrid(configurator, (builder) => {
  builder.setTheme((theme) => {
    return theme.withParams({
      backgroundColor: '#1f2836',
      browserColorScheme: 'dark',
      foregroundColor: '#FFF',
      headerFontSize: 14,
    });
  });
});

[!TIP] AG Grid has a theme builder for previewing and generating custom theme parameters.

Override Theme per Grid Instance

Use useTheme to get the base theme, then customize it for a specific grid:

import { useTheme } from '@equinor/fusion-framework-react-ag-grid';
import { AgGridReact } from '@equinor/fusion-framework-react-ag-grid';
import { useMemo, useState } from 'react';

const MyComponent = () => {
  const baseTheme = useTheme();
  const [hasError, setHasError] = useState(false);

  const theme = useMemo(
    () => baseTheme.withParams({ cellTextColor: hasError ? '#FF0000' : undefined }),
    [baseTheme, hasError],
  );

  return <AgGridReact theme={theme} /* ...other props */ />;
};

Use AG Grid Integrated Charts

Install the separate charts package and register IntegratedChartsModule:

pnpm add @equinor/fusion-framework-react-ag-charts
import { IntegratedChartsModule } from '@equinor/fusion-framework-react-ag-grid/enterprise';
import { AgChartsEnterpriseModule } from '@equinor/fusion-framework-react-ag-charts/enterprise';

enableAgGrid(configurator, (builder) => {
  builder.addModule(IntegratedChartsModule.with(AgChartsEnterpriseModule));
});

[!NOTE] AG Charts is a standalone package since v35. See @equinor/fusion-framework-react-ag-charts for standalone chart usage.

Testing

Without a license key, AG Grid Enterprise logs a "License Key Not Found" banner through console.error on every grid mount. Call suppressAgGridLicenseBanner once from your test setup file to filter just that banner:

// src/test/setupTests.ts
import { suppressAgGridLicenseBanner } from '@equinor/fusion-framework-react-ag-grid/testing';

suppressAgGridLicenseBanner();

Upgrade Guides

Upgrading to v35

AG Charts separated: Chart functionality moved to @equinor/fusion-framework-react-ag-charts.

// Before (v34)
import { AgChartsEnterpriseModule } from '@equinor/fusion-framework-react-ag-grid/enterprise';

// After (v35)
import { IntegratedChartsModule } from '@equinor/fusion-framework-react-ag-grid/enterprise';
import { AgChartsEnterpriseModule } from '@equinor/fusion-framework-react-ag-charts/enterprise';

enableAgGrid(configurator, (builder) => {
  builder.addModule(IntegratedChartsModule.with(AgChartsEnterpriseModule));
});

Peer dependencies: Update to ag-grid-community and ag-grid-enterprise >= 35.1.0.

Upgrading from v32 to v33

Remove all previous references to @equinor/fusion-react-ag-grid-styles, @ag-grid-community/*, and @ag-grid-enterprise/* from your project dependencies. Only @equinor/fusion-framework-react-ag-grid should be installed.

版本与发布记录

@equinor/fusion-framework-react-ag-grid 共发布 66 个版本,首次发布于 2025/02/11;过去 12 个月发布了 30 个版本。

版本发布日期距今
37.1.5latest2026/11/121 天前
37.1.5-next.1next2026/11/112 天前
37.1.5-next.02026/10/2816 天前
37.1.42026/10/1727 天前
37.1.4-trusted-publishing-20261015-9dfe7602cd2a49a8a9df00d62c26e7304a82a85atrusted-publishing-202610152026/10/1629 天前
37.1.32026/10/121 个月前

其他发布通道:apploader → 33.2.7-apploader-be21a6b60eb13eee8bf869e75002d8634e9c50a9,preview → 34.2.3-preview.3,cli-search-index → 34.2.4-cli-search-index.0,msal-v5 → 34.4.2-msal-v5.0,trusted-publishing-20261015 → 37.1.4-trusted-publishing-20261015-9dfe7602cd2a49a8a9df00d62c26e7304a82a85a,next → 37.1.5-next.1。

关于 @equinor/fusion-framework-react-ag-grid 的常见问题

@equinor/fusion-framework-react-ag-grid 是什么?

Fusion module for using AG Grid

如何安装 @equinor/fusion-framework-react-ag-grid?

在项目目录运行 npm install @equinor/fusion-framework-react-ag-grid,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:react(^18.0.0 || ^19.0.0)、react-dom(^18.0.0 || ^19.0.0)、@equinor/fusion-framework-react-module(^4.0.7)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@equinor/fusion-framework-react-ag-grid 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@equinor/fusion-framework-react-ag-grid 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@equinor/fusion-framework-react-ag-grid 可以商用吗?

@equinor/fusion-framework-react-ag-grid 使用 ISC 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@equinor/fusion-framework-react-ag-grid 的下载量有多少?

根据 npm 官方下载统计,@equinor/fusion-framework-react-ag-grid 在 2026/10/14 – 2026/11/12 这 30 天内被下载 4,791 次,日均约 160 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@equinor/fusion-framework-react-ag-grid 还在维护吗?

最新版本 37.1.5 发布于 2026/11/12(1 天前);至今共发布 66 个版本,其中过去 12 个月发布了 30 个;首次发布于 2025/02/11。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。