@carbon/ibm-products 2.43.2-canary.143 → 2.43.2-canary.146

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,5 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { Hooks } from 'react-table';
8
+ export declare const exactText: (rows: any, ids: any, filterValue: any) => any;
8
9
  declare const useFiltering: (hooks: Hooks) => void;
9
10
  export default useFiltering;
@@ -7,9 +7,18 @@
7
7
 
8
8
  import { defineProperty as _defineProperty, slicedToArray as _slicedToArray, typeof as _typeof, objectSpread2 as _objectSpread2 } from '../../_virtual/_rollupPluginBabelHelpers.js';
9
9
  import { useMemo } from 'react';
10
- import { MULTISELECT, DATE, NUMBER, CHECKBOX, BATCH } from './Datagrid/addons/Filtering/constants.js';
10
+ import { RADIO, DATE, NUMBER, CHECKBOX, MULTISELECT, BATCH } from './Datagrid/addons/Filtering/constants.js';
11
11
  import FilterFlyout from './Datagrid/addons/Filtering/FilterFlyout.js';
12
12
 
13
+ // This function was taken from https://github.com/TanStack/table/blob/v7/src/filterTypes.js
14
+ var exactText = function exactText(rows, ids, filterValue) {
15
+ return rows.filter(function (row) {
16
+ return ids.some(function (id) {
17
+ var rowValue = row.values[id];
18
+ return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
19
+ });
20
+ });
21
+ };
13
22
  var handleMultiFilter = function handleMultiFilter(rows, id, value) {
14
23
  // gets all the items that are selected and returns their value
15
24
  var selectedItems = value.filter(function (item) {
@@ -30,7 +39,7 @@ var handleMultiFilter = function handleMultiFilter(rows, id, value) {
30
39
  var useFiltering = function useFiltering(hooks) {
31
40
  /* istanbul ignore next */
32
41
  var filterTypes = useMemo(function () {
33
- return _defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
42
+ return _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, DATE, function (rows, id, _ref) {
34
43
  var _ref2 = _slicedToArray(_ref, 2),
35
44
  startDate = _ref2[0],
36
45
  endDate = _ref2[1];
@@ -60,6 +69,8 @@ var useFiltering = function useFiltering(hooks) {
60
69
  return handleMultiFilter(rows, id, value);
61
70
  }), MULTISELECT, function (rows, id, value) {
62
71
  return handleMultiFilter(rows, id, value);
72
+ }), RADIO, function (rows, id, value) {
73
+ return exactText(rows, id, value);
63
74
  });
64
75
  }, []);
65
76
  hooks.useInstance.push(function (instance) {
@@ -94,4 +105,4 @@ var useFiltering = function useFiltering(hooks) {
94
105
  };
95
106
  var useFiltering$1 = useFiltering;
96
107
 
97
- export { useFiltering$1 as default };
108
+ export { useFiltering$1 as default, exactText };
@@ -113,6 +113,15 @@ var useSortableColumns = function useSortableColumns(hooks) {
113
113
  }
114
114
  return /*#__PURE__*/React__default.createElement(ArrowsVertical, iconProps);
115
115
  };
116
+ var handleKey = function handleKey(e, columnId) {
117
+ var key = e.key;
118
+ if (key === 'Enter') {
119
+ setTimeout(function () {
120
+ var _document$getElementB;
121
+ return (_document$getElementB = document.getElementById(columnId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
122
+ }, 0);
123
+ }
124
+ };
116
125
  var Header = function Header(headerProp) {
117
126
  return column.disableSortBy === true || column.id === 'datagridSelection' || column.isAction ? column.disableSortBy || column.isAction ? column.Header : /*#__PURE__*/React__default.createElement(SelectAll, instance) : /*#__PURE__*/React__default.createElement(Button, {
118
127
  "aria-sort": getAriaSortValue(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, {
@@ -131,7 +140,11 @@ var useSortableColumns = function useSortableColumns(hooks) {
131
140
  slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
132
141
  }), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
133
142
  },
134
- className: cx("".concat(carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), _defineProperty(_defineProperty({}, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false))
143
+ id: column === null || column === void 0 ? void 0 : column.id,
144
+ className: cx("".concat(carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), _defineProperty(_defineProperty({}, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false)),
145
+ onKeyDown: function onKeyDown(event) {
146
+ return handleKey(event, column.id);
147
+ }
135
148
  }, column.Header);
136
149
  };
137
150
  return _objectSpread2(_objectSpread2({}, column), {}, {
@@ -5,5 +5,6 @@
5
5
  * LICENSE file in the root directory of this source tree.
6
6
  */
7
7
  import { Hooks } from 'react-table';
8
+ export declare const exactText: (rows: any, ids: any, filterValue: any) => any;
8
9
  declare const useFiltering: (hooks: Hooks) => void;
9
10
  export default useFiltering;
@@ -14,6 +14,15 @@ var React = require('react');
14
14
  var constants = require('./Datagrid/addons/Filtering/constants.js');
15
15
  var FilterFlyout = require('./Datagrid/addons/Filtering/FilterFlyout.js');
16
16
 
17
+ // This function was taken from https://github.com/TanStack/table/blob/v7/src/filterTypes.js
18
+ var exactText = function exactText(rows, ids, filterValue) {
19
+ return rows.filter(function (row) {
20
+ return ids.some(function (id) {
21
+ var rowValue = row.values[id];
22
+ return rowValue !== undefined ? String(rowValue).toLowerCase() === String(filterValue).toLowerCase() : true;
23
+ });
24
+ });
25
+ };
17
26
  var handleMultiFilter = function handleMultiFilter(rows, id, value) {
18
27
  // gets all the items that are selected and returns their value
19
28
  var selectedItems = value.filter(function (item) {
@@ -34,7 +43,7 @@ var handleMultiFilter = function handleMultiFilter(rows, id, value) {
34
43
  var useFiltering = function useFiltering(hooks) {
35
44
  /* istanbul ignore next */
36
45
  var filterTypes = React.useMemo(function () {
37
- return _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, constants.DATE, function (rows, id, _ref) {
46
+ return _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, constants.DATE, function (rows, id, _ref) {
38
47
  var _ref2 = _rollupPluginBabelHelpers.slicedToArray(_ref, 2),
39
48
  startDate = _ref2[0],
40
49
  endDate = _ref2[1];
@@ -64,6 +73,8 @@ var useFiltering = function useFiltering(hooks) {
64
73
  return handleMultiFilter(rows, id, value);
65
74
  }), constants.MULTISELECT, function (rows, id, value) {
66
75
  return handleMultiFilter(rows, id, value);
76
+ }), constants.RADIO, function (rows, id, value) {
77
+ return exactText(rows, id, value);
67
78
  });
68
79
  }, []);
69
80
  hooks.useInstance.push(function (instance) {
@@ -99,3 +110,4 @@ var useFiltering = function useFiltering(hooks) {
99
110
  var useFiltering$1 = useFiltering;
100
111
 
101
112
  exports["default"] = useFiltering$1;
113
+ exports.exactText = exactText;
@@ -122,6 +122,15 @@ var useSortableColumns = function useSortableColumns(hooks) {
122
122
  }
123
123
  return /*#__PURE__*/React__default["default"].createElement(icons.ArrowsVertical, iconProps);
124
124
  };
125
+ var handleKey = function handleKey(e, columnId) {
126
+ var key = e.key;
127
+ if (key === 'Enter') {
128
+ setTimeout(function () {
129
+ var _document$getElementB;
130
+ return (_document$getElementB = document.getElementById(columnId)) === null || _document$getElementB === void 0 ? void 0 : _document$getElementB.focus();
131
+ }, 0);
132
+ }
133
+ };
125
134
  var Header = function Header(headerProp) {
126
135
  return column.disableSortBy === true || column.id === 'datagridSelection' || column.isAction ? column.disableSortBy || column.isAction ? column.Header : /*#__PURE__*/React__default["default"].createElement(DatagridSelectAll.SelectAll, instance) : /*#__PURE__*/React__default["default"].createElement(react.Button, {
127
136
  "aria-sort": getAriaSortValue(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, {
@@ -140,7 +149,11 @@ var useSortableColumns = function useSortableColumns(hooks) {
140
149
  slug: headerProp === null || headerProp === void 0 || (_headerProp$column = headerProp.column) === null || _headerProp$column === void 0 ? void 0 : _headerProp$column.slug
141
150
  }), icon(headerProp === null || headerProp === void 0 ? void 0 : headerProp.column, props));
142
151
  },
143
- className: cx__default["default"]("".concat(settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false))
152
+ id: column === null || column === void 0 ? void 0 : column.id,
153
+ className: cx__default["default"]("".concat(settings.carbon.prefix, "--table-sort ").concat(blockClass, "--table-sort"), _rollupPluginBabelHelpers.defineProperty(_rollupPluginBabelHelpers.defineProperty({}, "".concat(blockClass, "--table-sort--desc"), headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc), "".concat(blockClass, "--table-sort--asc"), (headerProp === null || headerProp === void 0 ? void 0 : headerProp.column.isSortedDesc) === false)),
154
+ onKeyDown: function onKeyDown(event) {
155
+ return handleKey(event, column.id);
156
+ }
144
157
  }, column.Header);
145
158
  };
146
159
  return _rollupPluginBabelHelpers.objectSpread2(_rollupPluginBabelHelpers.objectSpread2({}, column), {}, {
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.143+1d8640f5d",
4
+ "version": "2.43.2-canary.146+12667e838",
5
5
  "license": "Apache-2.0",
6
6
  "main": "lib/index.js",
7
7
  "module": "es/index.js",
@@ -120,5 +120,5 @@
120
120
  "react": "^16.8.6 || ^17.0.1 || ^18.2.0",
121
121
  "react-dom": "^16.8.6 || ^17.0.1 || ^18.2.0"
122
122
  },
123
- "gitHead": "1d8640f5d0481f820424dd565c64b409d4ad2010"
123
+ "gitHead": "12667e8387afc97c8a81a791c72f7ad323d7be6b"
124
124
  }
package/telemetry.yml CHANGED
@@ -104,6 +104,7 @@ collect:
104
104
  - formTitle
105
105
  - fullHeightDatagrid
106
106
  - getActionsState
107
+ - getAsyncSubRows
107
108
  - getConditionState
108
109
  - getFilterFlyoutProps
109
110
  - getOptions
@@ -530,7 +531,6 @@ collect:
530
531
  - isStatement
531
532
  - onConnectorOperatorChange
532
533
  - onStatementChange
533
- - setShowDeletionPreviewForSubgroups
534
534
  # ConditionBuilderAdd
535
535
  - buttonLabel
536
536
  - enableSubGroup