@carbon/ibm-products 2.43.2-canary.20 → 2.43.2-canary.25

Sign up to get free protection for your applications and to get access to all the features.
@@ -46,7 +46,8 @@ var Datagrid = /*#__PURE__*/React__default.forwardRef(function (_ref, ref) {
46
46
  };
47
47
  return /*#__PURE__*/React__default.createElement(FilterProvider, {
48
48
  filters: state === null || state === void 0 ? void 0 : state.filters,
49
- filterProps: filterProps
49
+ filterProps: filterProps,
50
+ tableId: tableId
50
51
  }, /*#__PURE__*/React__default.createElement(InlineEditProvider, null, /*#__PURE__*/React__default.createElement("div", _extends({}, rest, {
51
52
  id: tableId,
52
53
  ref: ref,
@@ -158,7 +158,7 @@ var DatagridContent = function DatagridContent(_ref) {
158
158
  className: "".concat(blockClass, "__filter-summary"),
159
159
  filters: filterTags,
160
160
  clearFilters: function clearFilters() {
161
- return EventEmitter.dispatch(CLEAR_FILTERS);
161
+ return EventEmitter.dispatch(CLEAR_FILTERS, tableId);
162
162
  },
163
163
  renderLabel: filterProps === null || filterProps === void 0 ? void 0 : filterProps.renderLabel,
164
164
  overflowType: "tag"
@@ -209,7 +209,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
209
209
  closeFlyout();
210
210
  cancel();
211
211
  });
212
- useSubscribeToEventEmitter(CLEAR_FILTERS, reset);
212
+
213
+ // tableId is passed in from the event emitter from the FilterSummary component
214
+ // in DatagridContent
215
+ useSubscribeToEventEmitter(CLEAR_FILTERS, function (tableId) {
216
+ reset(tableId);
217
+ });
213
218
  useEffect(function reflectLastAppliedFiltersWhenReactTableUpdates() {
214
219
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
215
220
  }, [reactTableFiltersState, lastAppliedFilters]);
@@ -183,7 +183,12 @@ var FilterPanel = function FilterPanel(_ref) {
183
183
  var _filterPanelRef$curre;
184
184
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 || _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', rem(filterPanelMinHeight));
185
185
  }, [filterPanelMinHeight]);
186
- useSubscribeToEventEmitter(CLEAR_FILTERS, reset);
186
+
187
+ // tableId is passed in from the event emitter from the FilterSummary component
188
+ // in DatagridContent
189
+ useSubscribeToEventEmitter(CLEAR_FILTERS, function (tableId) {
190
+ reset(tableId);
191
+ });
187
192
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
188
193
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
189
194
  var filterHeadingHeight = (_filterHeadingRef$cur = filterHeadingRef.current) === null || _filterHeadingRef$cur === void 0 ? void 0 : _filterHeadingRef$cur.getBoundingClientRect().height;
@@ -3,16 +3,18 @@ export function clearSingleFilter({ key, value }: {
3
3
  key: any;
4
4
  value: any;
5
5
  }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
6
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
7
  children: any;
8
8
  filters: any;
9
9
  filterProps: any;
10
+ tableId: any;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export namespace FilterProvider {
12
13
  namespace propTypes {
13
14
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
15
  let filterProps: PropTypes.Requireable<object>;
15
16
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
17
+ let tableId: PropTypes.Requireable<string>;
16
18
  }
17
19
  }
18
20
  import React from 'react';
@@ -156,7 +156,8 @@ var filteringReducer = function filteringReducer(state, action) {
156
156
  var FilterProvider = function FilterProvider(_ref4) {
157
157
  var children = _ref4.children,
158
158
  filters = _ref4.filters,
159
- filterProps = _ref4.filterProps;
159
+ filterProps = _ref4.filterProps,
160
+ tableId = _ref4.tableId;
160
161
  var _ref5 = filterProps || {},
161
162
  renderDateLabel = _ref5.renderDateLabel;
162
163
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
@@ -177,7 +178,8 @@ var FilterProvider = function FilterProvider(_ref4) {
177
178
  panelOpen: panelOpen,
178
179
  setPanelOpen: setPanelOpen,
179
180
  state: state,
180
- dispatch: dispatch
181
+ dispatch: dispatch,
182
+ tableId: tableId
181
183
  };
182
184
  return /*#__PURE__*/React__default.createElement(FilterContext.Provider, {
183
185
  value: value
@@ -186,7 +188,8 @@ var FilterProvider = function FilterProvider(_ref4) {
186
188
  FilterProvider.propTypes = {
187
189
  children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]).isRequired,
188
190
  filterProps: PropTypes.object,
189
- filters: PropTypes.arrayOf(PropTypes.object).isRequired
191
+ filters: PropTypes.arrayOf(PropTypes.object).isRequired,
192
+ tableId: PropTypes.string
190
193
  };
191
194
 
192
195
  export { FilterContext, FilterProvider, clearSingleFilter };
@@ -15,7 +15,7 @@ declare function useFilters({ updateMethod, filters, setAllFilters, variation, r
15
15
  prevFiltersObjectArrayRef: React.MutableRefObject<string>;
16
16
  prevFiltersRef: React.MutableRefObject<string>;
17
17
  revertToPreviousFilters: () => void;
18
- reset: () => void;
18
+ reset: (tableId: any) => void;
19
19
  renderFilter: ({ type, column, props: components }: {
20
20
  type: any;
21
21
  column: any;
@@ -28,7 +28,8 @@ var useFilters = function useFilters(_ref) {
28
28
  isFetching = _ref.isFetching;
29
29
  var _useContext = useContext(FilterContext),
30
30
  state = _useContext.state,
31
- localDispatch = _useContext.dispatch;
31
+ localDispatch = _useContext.dispatch,
32
+ contextTableId = _useContext.tableId;
32
33
  var savedFilters = state.savedFilters;
33
34
  /** State */
34
35
  var _useState = useState(getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -69,24 +70,28 @@ var useFilters = function useFilters(_ref) {
69
70
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
70
71
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
71
72
  }, [setAllFilters]);
72
- var reset = useCallback(function () {
73
- // When we reset we want the "initialFilters" to be an empty array
74
- var resetFiltersArray = [];
73
+ var reset = useCallback(function (tableId) {
74
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
75
+ // matches the table id stored in its context instance
76
+ if (tableId === contextTableId) {
77
+ // When we reset we want the "initialFilters" to be an empty array
78
+ var resetFiltersArray = [];
75
79
 
76
- // Get the initial values for the filters
77
- var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
78
- var initialFiltersObjectArray = [];
80
+ // Get the initial values for the filters
81
+ var initialFiltersState = getInitialStateFromFilters(filters, variation, resetFiltersArray);
82
+ var initialFiltersObjectArray = [];
79
83
 
80
- // Set the state to the initial values
81
- setFiltersState(initialFiltersState);
82
- setFiltersObjectArray(initialFiltersObjectArray);
83
- setAllFilters([]);
84
+ // Set the state to the initial values
85
+ setFiltersState(initialFiltersState);
86
+ setFiltersObjectArray(initialFiltersObjectArray);
87
+ setAllFilters([]);
84
88
 
85
- // Update their respective refs so everything is in sync
86
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
87
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
88
- lastAppliedFilters.current = JSON.stringify([]);
89
- }, [filters, setAllFilters, variation]);
89
+ // Update their respective refs so everything is in sync
90
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
91
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
92
+ lastAppliedFilters.current = JSON.stringify([]);
93
+ }
94
+ }, [filters, setAllFilters, variation, contextTableId]);
90
95
  var applyFilters = function applyFilters(_ref2) {
91
96
  var column = _ref2.column,
92
97
  value = _ref2.value,
@@ -41,12 +41,13 @@ var useNestedRows = function useNestedRows(hooks) {
41
41
  expandedRowIds = _ref2.expandedRowIds;
42
42
  if (expandedRowIds) {
43
43
  Object.keys(expandedRowIds).forEach(function (key) {
44
+ var _row$0$original;
44
45
  var row = rows.filter(function (r) {
45
- return r.id.toString() === key.toString();
46
+ var _r$original;
47
+ return r.id.toString() === key.toString() || ((_r$original = r.original) === null || _r$original === void 0 || (_r$original = _r$original.id) === null || _r$original === void 0 ? void 0 : _r$original.toString()) === key.toString();
46
48
  });
47
- if (row !== null && row !== void 0 && row.length && key.toString() === row[0].id.toString()) {
48
- var _row$;
49
- (_row$ = row[0]) === null || _row$ === void 0 || _row$.toggleRowExpanded();
49
+ if (row.length && key.toString() === row[0].id.toString() || row.length && key.toString() === ((_row$0$original = row[0].original) === null || _row$0$original === void 0 || (_row$0$original = _row$0$original.id) === null || _row$0$original === void 0 ? void 0 : _row$0$original.toString())) {
50
+ row[0].toggleRowExpanded();
50
51
  }
51
52
  });
52
53
  }
@@ -55,7 +55,8 @@ exports.Datagrid = /*#__PURE__*/React__default["default"].forwardRef(function (_
55
55
  };
56
56
  return /*#__PURE__*/React__default["default"].createElement(FilterProvider.FilterProvider, {
57
57
  filters: state === null || state === void 0 ? void 0 : state.filters,
58
- filterProps: filterProps
58
+ filterProps: filterProps,
59
+ tableId: tableId
59
60
  }, /*#__PURE__*/React__default["default"].createElement(InlineEditContext.InlineEditProvider, null, /*#__PURE__*/React__default["default"].createElement("div", _rollupPluginBabelHelpers["extends"]({}, rest, {
60
61
  id: tableId,
61
62
  ref: ref,
@@ -167,7 +167,7 @@ var DatagridContent = function DatagridContent(_ref) {
167
167
  className: "".concat(blockClass, "__filter-summary"),
168
168
  filters: filterTags,
169
169
  clearFilters: function clearFilters() {
170
- return EventEmitter.dispatch(constants.CLEAR_FILTERS);
170
+ return EventEmitter.dispatch(constants.CLEAR_FILTERS, tableId);
171
171
  },
172
172
  renderLabel: filterProps === null || filterProps === void 0 ? void 0 : filterProps.renderLabel,
173
173
  overflowType: "tag"
@@ -218,7 +218,12 @@ var FilterFlyout = function FilterFlyout(_ref) {
218
218
  closeFlyout();
219
219
  cancel();
220
220
  });
221
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
221
+
222
+ // tableId is passed in from the event emitter from the FilterSummary component
223
+ // in DatagridContent
224
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
225
+ reset(tableId);
226
+ });
222
227
  React.useEffect(function reflectLastAppliedFiltersWhenReactTableUpdates() {
223
228
  lastAppliedFilters.current = JSON.stringify(reactTableFiltersState);
224
229
  }, [reactTableFiltersState, lastAppliedFilters]);
@@ -192,7 +192,12 @@ var FilterPanel = function FilterPanel(_ref) {
192
192
  var _filterPanelRef$curre;
193
193
  (_filterPanelRef$curre = filterPanelRef.current) === null || _filterPanelRef$curre === void 0 || _filterPanelRef$curre.style.setProperty('--filter-panel-min-height', layout.rem(filterPanelMinHeight));
194
194
  }, [filterPanelMinHeight]);
195
- useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, reset);
195
+
196
+ // tableId is passed in from the event emitter from the FilterSummary component
197
+ // in DatagridContent
198
+ useSubscribeToEventEmitter["default"](constants.CLEAR_FILTERS, function (tableId) {
199
+ reset(tableId);
200
+ });
196
201
  var getScrollableContainerHeight = function getScrollableContainerHeight() {
197
202
  var _filterHeadingRef$cur, _filterSearchRef$curr, _actionSetRef$current;
198
203
  var filterHeadingHeight = (_filterHeadingRef$cur = filterHeadingRef.current) === null || _filterHeadingRef$cur === void 0 ? void 0 : _filterHeadingRef$cur.getBoundingClientRect().height;
@@ -3,16 +3,18 @@ export function clearSingleFilter({ key, value }: {
3
3
  key: any;
4
4
  value: any;
5
5
  }, setAllFilters: any, state: any): void;
6
- export function FilterProvider({ children, filters, filterProps }: {
6
+ export function FilterProvider({ children, filters, filterProps, tableId }: {
7
7
  children: any;
8
8
  filters: any;
9
9
  filterProps: any;
10
+ tableId: any;
10
11
  }): import("react/jsx-runtime").JSX.Element;
11
12
  export namespace FilterProvider {
12
13
  namespace propTypes {
13
14
  let children: PropTypes.Validator<NonNullable<NonNullable<PropTypes.ReactNodeLike>>>;
14
15
  let filterProps: PropTypes.Requireable<object>;
15
16
  let filters: PropTypes.Validator<(object | null | undefined)[]>;
17
+ let tableId: PropTypes.Requireable<string>;
16
18
  }
17
19
  }
18
20
  import React from 'react';
@@ -164,7 +164,8 @@ var filteringReducer = function filteringReducer(state, action) {
164
164
  var FilterProvider = function FilterProvider(_ref4) {
165
165
  var children = _ref4.children,
166
166
  filters = _ref4.filters,
167
- filterProps = _ref4.filterProps;
167
+ filterProps = _ref4.filterProps,
168
+ tableId = _ref4.tableId;
168
169
  var _ref5 = filterProps || {},
169
170
  renderDateLabel = _ref5.renderDateLabel;
170
171
  var filterTags = prepareFiltersForTags(filters, renderDateLabel);
@@ -185,7 +186,8 @@ var FilterProvider = function FilterProvider(_ref4) {
185
186
  panelOpen: panelOpen,
186
187
  setPanelOpen: setPanelOpen,
187
188
  state: state,
188
- dispatch: dispatch
189
+ dispatch: dispatch,
190
+ tableId: tableId
189
191
  };
190
192
  return /*#__PURE__*/React__default["default"].createElement(FilterContext.Provider, {
191
193
  value: value
@@ -194,7 +196,8 @@ var FilterProvider = function FilterProvider(_ref4) {
194
196
  FilterProvider.propTypes = {
195
197
  children: index["default"].oneOfType([index["default"].arrayOf(index["default"].node), index["default"].node]).isRequired,
196
198
  filterProps: index["default"].object,
197
- filters: index["default"].arrayOf(index["default"].object).isRequired
199
+ filters: index["default"].arrayOf(index["default"].object).isRequired,
200
+ tableId: index["default"].string
198
201
  };
199
202
 
200
203
  exports.FilterContext = FilterContext;
@@ -15,7 +15,7 @@ declare function useFilters({ updateMethod, filters, setAllFilters, variation, r
15
15
  prevFiltersObjectArrayRef: React.MutableRefObject<string>;
16
16
  prevFiltersRef: React.MutableRefObject<string>;
17
17
  revertToPreviousFilters: () => void;
18
- reset: () => void;
18
+ reset: (tableId: any) => void;
19
19
  renderFilter: ({ type, column, props: components }: {
20
20
  type: any;
21
21
  column: any;
@@ -36,7 +36,8 @@ var useFilters = function useFilters(_ref) {
36
36
  isFetching = _ref.isFetching;
37
37
  var _useContext = React.useContext(FilterProvider.FilterContext),
38
38
  state = _useContext.state,
39
- localDispatch = _useContext.dispatch;
39
+ localDispatch = _useContext.dispatch,
40
+ contextTableId = _useContext.tableId;
40
41
  var savedFilters = state.savedFilters;
41
42
  /** State */
42
43
  var _useState = React.useState(utils.getInitialStateFromFilters(filters, variation, reactTableFiltersState)),
@@ -77,24 +78,28 @@ var useFilters = function useFilters(_ref) {
77
78
  holdingLastAppliedFiltersRef.current = JSON.parse(prevFiltersObjectArrayRef.current);
78
79
  holdingPrevFiltersObjectArrayRef.current = JSON.parse(lastAppliedFilters.current);
79
80
  }, [setAllFilters]);
80
- var reset = React.useCallback(function () {
81
- // When we reset we want the "initialFilters" to be an empty array
82
- var resetFiltersArray = [];
81
+ var reset = React.useCallback(function (tableId) {
82
+ // only reset filters if tableid of the datagrid that triggered "clear filters"
83
+ // matches the table id stored in its context instance
84
+ if (tableId === contextTableId) {
85
+ // When we reset we want the "initialFilters" to be an empty array
86
+ var resetFiltersArray = [];
83
87
 
84
- // Get the initial values for the filters
85
- var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
86
- var initialFiltersObjectArray = [];
88
+ // Get the initial values for the filters
89
+ var initialFiltersState = utils.getInitialStateFromFilters(filters, variation, resetFiltersArray);
90
+ var initialFiltersObjectArray = [];
87
91
 
88
- // Set the state to the initial values
89
- setFiltersState(initialFiltersState);
90
- setFiltersObjectArray(initialFiltersObjectArray);
91
- setAllFilters([]);
92
+ // Set the state to the initial values
93
+ setFiltersState(initialFiltersState);
94
+ setFiltersObjectArray(initialFiltersObjectArray);
95
+ setAllFilters([]);
92
96
 
93
- // Update their respective refs so everything is in sync
94
- prevFiltersRef.current = JSON.stringify(initialFiltersState);
95
- prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
96
- lastAppliedFilters.current = JSON.stringify([]);
97
- }, [filters, setAllFilters, variation]);
97
+ // Update their respective refs so everything is in sync
98
+ prevFiltersRef.current = JSON.stringify(initialFiltersState);
99
+ prevFiltersObjectArrayRef.current = JSON.stringify(initialFiltersObjectArray);
100
+ lastAppliedFilters.current = JSON.stringify([]);
101
+ }
102
+ }, [filters, setAllFilters, variation, contextTableId]);
98
103
  var applyFilters = function applyFilters(_ref2) {
99
104
  var column = _ref2.column,
100
105
  value = _ref2.value,
@@ -49,12 +49,13 @@ var useNestedRows = function useNestedRows(hooks) {
49
49
  expandedRowIds = _ref2.expandedRowIds;
50
50
  if (expandedRowIds) {
51
51
  Object.keys(expandedRowIds).forEach(function (key) {
52
+ var _row$0$original;
52
53
  var row = rows.filter(function (r) {
53
- return r.id.toString() === key.toString();
54
+ var _r$original;
55
+ return r.id.toString() === key.toString() || ((_r$original = r.original) === null || _r$original === void 0 || (_r$original = _r$original.id) === null || _r$original === void 0 ? void 0 : _r$original.toString()) === key.toString();
54
56
  });
55
- if (row !== null && row !== void 0 && row.length && key.toString() === row[0].id.toString()) {
56
- var _row$;
57
- (_row$ = row[0]) === null || _row$ === void 0 || _row$.toggleRowExpanded();
57
+ if (row.length && key.toString() === row[0].id.toString() || row.length && key.toString() === ((_row$0$original = row[0].original) === null || _row$0$original === void 0 || (_row$0$original = _row$0$original.id) === null || _row$0$original === void 0 ? void 0 : _row$0$original.toString())) {
58
+ row[0].toggleRowExpanded();
58
59
  }
59
60
  });
60
61
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@carbon/ibm-products",
3
3
  "description": "Carbon for IBM Products",
4
- "version": "2.43.2-canary.20+bd909f77c",
4
+ "version": "2.43.2-canary.25+1ad9bbbca",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -95,7 +95,7 @@
95
95
  "dependencies": {
96
96
  "@babel/runtime": "^7.23.9",
97
97
  "@carbon/feature-flags": "^0.20.0",
98
- "@carbon/ibm-products-styles": "^2.39.1-canary.30+bd909f77c",
98
+ "@carbon/ibm-products-styles": "^2.39.0",
99
99
  "@carbon/telemetry": "^0.1.0",
100
100
  "@dnd-kit/core": "^6.0.8",
101
101
  "@dnd-kit/modifiers": "^7.0.0",
@@ -119,5 +119,5 @@
119
119
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
120
120
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
121
121
  },
122
- "gitHead": "bd909f77c703d93bfc82eadf96c088b4e10ab5df"
122
+ "gitHead": "1ad9bbbca350d7289bbcaa6a030ec364ff521b38"
123
123
  }