@gridsuite/commons-ui 0.211.0 → 0.212.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,8 +1,6 @@
1
- import { default as React, SetStateAction } from 'react';
2
1
  import { ColumnDef } from '@tanstack/react-table';
3
2
  import { UUID } from 'node:crypto';
4
3
  import { NetworkModificationEditorNameHeaderProps } from './renderers';
5
- import { NameHeaderProps } from './columns-definition';
6
4
  import { ComposedModificationMetadata, NetworkModificationMetadata } from '../../utils';
7
5
  interface NetworkModificationsTableProps extends Omit<NetworkModificationEditorNameHeaderProps, 'modificationCount'> {
8
6
  modifications: NetworkModificationMetadata[];
@@ -11,10 +9,10 @@ interface NetworkModificationsTableProps extends Omit<NetworkModificationEditorN
11
9
  onRowDragStart: () => void;
12
10
  onRowDragEnd: () => void;
13
11
  onRowSelected: (selectedRows: ComposedModificationMetadata[]) => void;
14
- createAllColumns: (isRowDragDisabled: boolean, modificationsCount: number, nameHeaderProps: NameHeaderProps, setModifications: React.Dispatch<SetStateAction<ComposedModificationMetadata[]>>) => ColumnDef<ComposedModificationMetadata>[];
12
+ columns: ColumnDef<ComposedModificationMetadata>[];
15
13
  highlightedModificationUuid: UUID | null;
16
14
  studyUuid: UUID | null;
17
15
  currentNodeId?: UUID;
18
16
  }
19
- export declare function NetworkModificationsTable({ modifications, handleCellClick, isRowDragDisabled, onRowDragStart, onRowDragEnd, onRowSelected, createAllColumns, highlightedModificationUuid, studyUuid, currentNodeId, ...nameHeaderProps }: Readonly<NetworkModificationsTableProps>): import("react/jsx-runtime").JSX.Element;
17
+ export declare function NetworkModificationsTable({ modifications, handleCellClick, isRowDragDisabled, onRowDragStart, onRowDragEnd, onRowSelected, columns, highlightedModificationUuid, studyUuid, currentNodeId, isImpactedByNotification, notificationMessageId, isFetchingModifications, pendingState, }: Readonly<NetworkModificationsTableProps>): import("react/jsx-runtime").JSX.Element;
20
18
  export {};
@@ -1,5 +1,5 @@
1
1
  import { jsx, jsxs } from "react/jsx-runtime";
2
- import { useRef, useState, useMemo, useEffect, useCallback } from "react";
2
+ import { useRef, useState, useEffect, useCallback, useMemo } from "react";
3
3
  import { useTheme, Box, Table, TableHead, TableRow, TableCell, TableBody } from "@mui/material";
4
4
  import { useReactTable, getExpandedRowModel, getCoreRowModel, flexRender } from "@tanstack/react-table";
5
5
  import { DragDropContext, Droppable } from "@hello-pangea/dnd";
@@ -26,11 +26,14 @@ function NetworkModificationsTable({
26
26
  onRowDragStart,
27
27
  onRowDragEnd,
28
28
  onRowSelected,
29
- createAllColumns,
29
+ columns,
30
30
  highlightedModificationUuid,
31
31
  studyUuid = null,
32
32
  currentNodeId = void 0,
33
- ...nameHeaderProps
33
+ isImpactedByNotification,
34
+ notificationMessageId,
35
+ isFetchingModifications,
36
+ pendingState
34
37
  }) {
35
38
  const theme = useTheme();
36
39
  const containerRef = useRef(null);
@@ -42,15 +45,6 @@ function NetworkModificationsTable({
42
45
  modifications: composedModifications,
43
46
  onRowSelected
44
47
  });
45
- const columns = useMemo(
46
- () => createAllColumns(
47
- isRowDragDisabled ?? false,
48
- modifications.length,
49
- nameHeaderProps,
50
- setComposedModifications
51
- ),
52
- [createAllColumns, isRowDragDisabled, modifications.length, nameHeaderProps]
53
- );
54
48
  useEffect(() => {
55
49
  setComposedModifications((prevMods) => {
56
50
  const nextMods = mergeSubModificationsIntoTree(formatToComposedModification(modifications), prevMods);
@@ -78,6 +72,30 @@ function NetworkModificationsTable({
78
72
  return nextExpanded;
79
73
  });
80
74
  }, []);
75
+ const tableMeta = useMemo(
76
+ () => ({
77
+ lastClickedRowId,
78
+ onRowSelected,
79
+ isRowDragDisabled,
80
+ modificationsCount: modifications.length,
81
+ nameHeaderProps: {
82
+ isImpactedByNotification,
83
+ notificationMessageId,
84
+ isFetchingModifications,
85
+ pendingState
86
+ }
87
+ }),
88
+ [
89
+ lastClickedRowId,
90
+ onRowSelected,
91
+ isRowDragDisabled,
92
+ modifications.length,
93
+ isImpactedByNotification,
94
+ notificationMessageId,
95
+ isFetchingModifications,
96
+ pendingState
97
+ ]
98
+ );
81
99
  const table = useReactTable({
82
100
  data: composedModifications,
83
101
  columns,
@@ -92,7 +110,7 @@ function NetworkModificationsTable({
92
110
  enableExpanding: true,
93
111
  onExpandedChange: handleExpandRow,
94
112
  onRowSelectionChange,
95
- meta: { lastClickedRowId, onRowSelected }
113
+ meta: tableMeta
96
114
  });
97
115
  const { rows, flatRows } = table.getRowModel();
98
116
  useEffect(() => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gridsuite/commons-ui",
3
- "version": "0.211.0",
3
+ "version": "0.212.0",
4
4
  "description": "common react components for gridsuite applications",
5
5
  "author": "gridsuite team",
6
6
  "homepage": "https://github.com/gridsuite",