qbs-react-grid 1.1.0 → 1.1.2
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.
- package/es/qbsTable/CustomTableCell.js +23 -5
- package/es/qbsTable/Toolbar.js +6 -2
- package/es/qbsTable/utilities/ToolTip.js +22 -11
- package/lib/qbsTable/CustomTableCell.js +25 -5
- package/lib/qbsTable/Toolbar.js +5 -1
- package/lib/qbsTable/utilities/ToolTip.js +24 -12
- package/package.json +1 -1
- package/src/qbsTable/CustomTableCell.tsx +34 -11
- package/src/qbsTable/Toolbar.tsx +4 -3
- package/src/qbsTable/utilities/ToolTip.tsx +19 -13
|
@@ -3,10 +3,10 @@ import _objectWithoutPropertiesLoose from "@babel/runtime/helpers/esm/objectWith
|
|
|
3
3
|
var _excluded = ["rowData", "onChange", "checkedKeys", "dataKey", "dataTheme"],
|
|
4
4
|
_excluded2 = ["rowData", "dataKey", "expandedRowKeys", "onChange"],
|
|
5
5
|
_excluded3 = ["rowData", "renderCell", "toolTip", "dataKey", "onChange", "rowClick", "type", "link"];
|
|
6
|
-
import React from 'react';
|
|
6
|
+
import React, { useState } from 'react';
|
|
7
7
|
import Cell from '../Cell';
|
|
8
|
-
import MenuDropDown from './utilities/menuDropDown';
|
|
9
8
|
import { handleCellFormat } from './utilities/handleFormatCell';
|
|
9
|
+
import MenuDropDown from './utilities/menuDropDown';
|
|
10
10
|
var CHECKBOX_LINE_HEIGHT = '36px';
|
|
11
11
|
export var CheckCell = /*#__PURE__*/React.memo(function (_ref) {
|
|
12
12
|
var rowData = _ref.rowData,
|
|
@@ -82,12 +82,30 @@ export var CustomTableCell = /*#__PURE__*/React.memo(function (_ref4) {
|
|
|
82
82
|
type = _ref4.type,
|
|
83
83
|
link = _ref4.link,
|
|
84
84
|
props = _objectWithoutPropertiesLoose(_ref4, _excluded3);
|
|
85
|
-
|
|
85
|
+
var _useState = useState(false),
|
|
86
|
+
openMenu = _useState[0],
|
|
87
|
+
setOpenMenu = _useState[1];
|
|
88
|
+
var handleRightClick = function handleRightClick() {
|
|
89
|
+
setOpenMenu(true);
|
|
90
|
+
};
|
|
91
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Cell, _extends({}, props, {
|
|
86
92
|
dataKey: dataKey
|
|
87
93
|
}), link ? /*#__PURE__*/React.createElement("a", {
|
|
88
94
|
onClick: function onClick() {
|
|
89
95
|
return rowClick === null || rowClick === void 0 ? void 0 : rowClick(rowData);
|
|
90
96
|
},
|
|
91
|
-
className: "qbs-table-row-link"
|
|
92
|
-
|
|
97
|
+
className: "qbs-table-row-link",
|
|
98
|
+
onContextMenu: function onContextMenu() {
|
|
99
|
+
// Additional actions on right-click, if needed
|
|
100
|
+
handleRightClick();
|
|
101
|
+
}
|
|
102
|
+
}, renderCell ? (_renderCell = renderCell(rowData)) === null || _renderCell === void 0 ? void 0 : _renderCell.cell : handleCellFormat(rowData[dataKey], type)) : /*#__PURE__*/React.createElement(React.Fragment, null, renderCell ? (_renderCell2 = renderCell(rowData)) === null || _renderCell2 === void 0 ? void 0 : _renderCell2.cell : handleCellFormat(rowData[dataKey], type))), openMenu && /*#__PURE__*/React.createElement("div", {
|
|
103
|
+
className: 'qbs-table-qbs-table-menu-dropdown-content'
|
|
104
|
+
}, /*#__PURE__*/React.createElement("a", {
|
|
105
|
+
key: 'sdf',
|
|
106
|
+
onClick: function onClick() {
|
|
107
|
+
return window.open(rowClick === null || rowClick === void 0 ? void 0 : rowClick(rowData));
|
|
108
|
+
},
|
|
109
|
+
className: "p-2 leading-7 hover:bg-background "
|
|
110
|
+
}, "sdfsdfsdf")));
|
|
93
111
|
});
|
package/es/qbsTable/Toolbar.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useCallback } from 'react';
|
|
1
|
+
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import debounce from './utilities/debounce';
|
|
3
3
|
import SearchInput from './utilities/SearchInput';
|
|
4
4
|
import { getRowDisplayRange } from './utilities/tablecalc';
|
|
@@ -21,12 +21,16 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
21
21
|
onSelect = _ref.onSelect,
|
|
22
22
|
dataLength = _ref.dataLength;
|
|
23
23
|
var debouncedOnSearch = useCallback(debounce(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
|
|
24
|
+
var _useState = useState(searchValue),
|
|
25
|
+
searchParam = _useState[0],
|
|
26
|
+
setSearchParam = _useState[1];
|
|
24
27
|
var handleSearch = useCallback(function (e) {
|
|
25
28
|
if (debouncedOnSearch) {
|
|
26
29
|
debouncedOnSearch(e);
|
|
27
30
|
}
|
|
28
31
|
}, [debouncedOnSearch]);
|
|
29
32
|
var handleChange = useCallback(function (e) {
|
|
33
|
+
setSearchParam(e);
|
|
30
34
|
if (asyncSearch) {
|
|
31
35
|
handleSearch(e);
|
|
32
36
|
} else {
|
|
@@ -56,7 +60,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
56
60
|
placeholder: "Search",
|
|
57
61
|
handleChange: handleChange,
|
|
58
62
|
handleSearch: handleSearch,
|
|
59
|
-
searchValue:
|
|
63
|
+
searchValue: searchParam
|
|
60
64
|
}), /*#__PURE__*/React.createElement("div", {
|
|
61
65
|
className: "qbs-table-primary-filter"
|
|
62
66
|
}, primaryFilter)), /*#__PURE__*/React.createElement("div", {
|
|
@@ -1,16 +1,27 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Tooltip, Whisper } from 'rsuite';
|
|
3
|
-
var tooltip = function tooltip(titleL) {
|
|
4
|
-
return /*#__PURE__*/React.createElement(Tooltip, null, titleL);
|
|
5
|
-
};
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
6
2
|
var TooltipComponent = function TooltipComponent(_ref) {
|
|
7
3
|
var title = _ref.title,
|
|
8
4
|
children = _ref.children;
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
5
|
+
var _useState = useState(0),
|
|
6
|
+
scrollY = _useState[0],
|
|
7
|
+
setScrollY = _useState[1];
|
|
8
|
+
var _useState2 = useState(true),
|
|
9
|
+
isScrollingUp = _useState2[0],
|
|
10
|
+
setIsScrollingUp = _useState2[1];
|
|
11
|
+
var handleScroll = function handleScroll() {
|
|
12
|
+
setIsScrollingUp(window.scrollY < scrollY);
|
|
13
|
+
setScrollY(window.scrollY);
|
|
14
|
+
};
|
|
15
|
+
useEffect(function () {
|
|
16
|
+
window.addEventListener('scroll', handleScroll);
|
|
17
|
+
return function () {
|
|
18
|
+
window.removeEventListener('scroll', handleScroll);
|
|
19
|
+
};
|
|
20
|
+
}, [scrollY]);
|
|
21
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
22
|
+
className: "qbs-table-tooltip " + (!isScrollingUp ? 'up' : 'down')
|
|
23
|
+
}, /*#__PURE__*/React.createElement("span", null, children), /*#__PURE__*/React.createElement("span", {
|
|
24
|
+
className: "tooltiptext"
|
|
25
|
+
}, title));
|
|
15
26
|
};
|
|
16
27
|
export default TooltipComponent;
|
|
@@ -5,13 +5,15 @@ exports.__esModule = true;
|
|
|
5
5
|
exports.ExpandCell = exports.CustomTableCell = exports.CheckCell = exports.ActionCell = void 0;
|
|
6
6
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
7
7
|
var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose"));
|
|
8
|
-
var _react =
|
|
8
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _Cell = _interopRequireDefault(require("../Cell"));
|
|
10
|
-
var _menuDropDown = _interopRequireDefault(require("./utilities/menuDropDown"));
|
|
11
10
|
var _handleFormatCell = require("./utilities/handleFormatCell");
|
|
11
|
+
var _menuDropDown = _interopRequireDefault(require("./utilities/menuDropDown"));
|
|
12
12
|
var _excluded = ["rowData", "onChange", "checkedKeys", "dataKey", "dataTheme"],
|
|
13
13
|
_excluded2 = ["rowData", "dataKey", "expandedRowKeys", "onChange"],
|
|
14
14
|
_excluded3 = ["rowData", "renderCell", "toolTip", "dataKey", "onChange", "rowClick", "type", "link"];
|
|
15
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
15
17
|
var CHECKBOX_LINE_HEIGHT = '36px';
|
|
16
18
|
var CheckCell = /*#__PURE__*/_react["default"].memo(function (_ref) {
|
|
17
19
|
var rowData = _ref.rowData,
|
|
@@ -90,13 +92,31 @@ var CustomTableCell = /*#__PURE__*/_react["default"].memo(function (_ref4) {
|
|
|
90
92
|
type = _ref4.type,
|
|
91
93
|
link = _ref4.link,
|
|
92
94
|
props = (0, _objectWithoutPropertiesLoose2["default"])(_ref4, _excluded3);
|
|
93
|
-
|
|
95
|
+
var _useState = (0, _react.useState)(false),
|
|
96
|
+
openMenu = _useState[0],
|
|
97
|
+
setOpenMenu = _useState[1];
|
|
98
|
+
var handleRightClick = function handleRightClick() {
|
|
99
|
+
setOpenMenu(true);
|
|
100
|
+
};
|
|
101
|
+
return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, /*#__PURE__*/_react["default"].createElement(_Cell["default"], (0, _extends2["default"])({}, props, {
|
|
94
102
|
dataKey: dataKey
|
|
95
103
|
}), link ? /*#__PURE__*/_react["default"].createElement("a", {
|
|
96
104
|
onClick: function onClick() {
|
|
97
105
|
return rowClick === null || rowClick === void 0 ? void 0 : rowClick(rowData);
|
|
98
106
|
},
|
|
99
|
-
className: "qbs-table-row-link"
|
|
100
|
-
|
|
107
|
+
className: "qbs-table-row-link",
|
|
108
|
+
onContextMenu: function onContextMenu() {
|
|
109
|
+
// Additional actions on right-click, if needed
|
|
110
|
+
handleRightClick();
|
|
111
|
+
}
|
|
112
|
+
}, renderCell ? (_renderCell = renderCell(rowData)) === null || _renderCell === void 0 ? void 0 : _renderCell.cell : (0, _handleFormatCell.handleCellFormat)(rowData[dataKey], type)) : /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, renderCell ? (_renderCell2 = renderCell(rowData)) === null || _renderCell2 === void 0 ? void 0 : _renderCell2.cell : (0, _handleFormatCell.handleCellFormat)(rowData[dataKey], type))), openMenu && /*#__PURE__*/_react["default"].createElement("div", {
|
|
113
|
+
className: 'qbs-table-qbs-table-menu-dropdown-content'
|
|
114
|
+
}, /*#__PURE__*/_react["default"].createElement("a", {
|
|
115
|
+
key: 'sdf',
|
|
116
|
+
onClick: function onClick() {
|
|
117
|
+
return window.open(rowClick === null || rowClick === void 0 ? void 0 : rowClick(rowData));
|
|
118
|
+
},
|
|
119
|
+
className: "p-2 leading-7 hover:bg-background "
|
|
120
|
+
}, "sdfsdfsdf")));
|
|
101
121
|
});
|
|
102
122
|
exports.CustomTableCell = CustomTableCell;
|
package/lib/qbsTable/Toolbar.js
CHANGED
|
@@ -28,12 +28,16 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
28
28
|
onSelect = _ref.onSelect,
|
|
29
29
|
dataLength = _ref.dataLength;
|
|
30
30
|
var debouncedOnSearch = (0, _react.useCallback)((0, _debounce["default"])(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
|
|
31
|
+
var _useState = (0, _react.useState)(searchValue),
|
|
32
|
+
searchParam = _useState[0],
|
|
33
|
+
setSearchParam = _useState[1];
|
|
31
34
|
var handleSearch = (0, _react.useCallback)(function (e) {
|
|
32
35
|
if (debouncedOnSearch) {
|
|
33
36
|
debouncedOnSearch(e);
|
|
34
37
|
}
|
|
35
38
|
}, [debouncedOnSearch]);
|
|
36
39
|
var handleChange = (0, _react.useCallback)(function (e) {
|
|
40
|
+
setSearchParam(e);
|
|
37
41
|
if (asyncSearch) {
|
|
38
42
|
handleSearch(e);
|
|
39
43
|
} else {
|
|
@@ -63,7 +67,7 @@ var ToolBar = function ToolBar(_ref) {
|
|
|
63
67
|
placeholder: "Search",
|
|
64
68
|
handleChange: handleChange,
|
|
65
69
|
handleSearch: handleSearch,
|
|
66
|
-
searchValue:
|
|
70
|
+
searchValue: searchParam
|
|
67
71
|
}), /*#__PURE__*/_react["default"].createElement("div", {
|
|
68
72
|
className: "qbs-table-primary-filter"
|
|
69
73
|
}, primaryFilter)), /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
3
|
exports.__esModule = true;
|
|
5
4
|
exports["default"] = void 0;
|
|
6
|
-
var _react =
|
|
7
|
-
|
|
8
|
-
var
|
|
9
|
-
return /*#__PURE__*/_react["default"].createElement(_rsuite.Tooltip, null, titleL);
|
|
10
|
-
};
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
7
|
+
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
8
|
var TooltipComponent = function TooltipComponent(_ref) {
|
|
12
9
|
var title = _ref.title,
|
|
13
10
|
children = _ref.children;
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
var _useState = (0, _react.useState)(0),
|
|
12
|
+
scrollY = _useState[0],
|
|
13
|
+
setScrollY = _useState[1];
|
|
14
|
+
var _useState2 = (0, _react.useState)(true),
|
|
15
|
+
isScrollingUp = _useState2[0],
|
|
16
|
+
setIsScrollingUp = _useState2[1];
|
|
17
|
+
var handleScroll = function handleScroll() {
|
|
18
|
+
setIsScrollingUp(window.scrollY < scrollY);
|
|
19
|
+
setScrollY(window.scrollY);
|
|
20
|
+
};
|
|
21
|
+
(0, _react.useEffect)(function () {
|
|
22
|
+
window.addEventListener('scroll', handleScroll);
|
|
23
|
+
return function () {
|
|
24
|
+
window.removeEventListener('scroll', handleScroll);
|
|
25
|
+
};
|
|
26
|
+
}, [scrollY]);
|
|
27
|
+
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
28
|
+
className: "qbs-table-tooltip " + (!isScrollingUp ? 'up' : 'down')
|
|
29
|
+
}, /*#__PURE__*/_react["default"].createElement("span", null, children), /*#__PURE__*/_react["default"].createElement("span", {
|
|
30
|
+
className: "tooltiptext"
|
|
31
|
+
}, title));
|
|
20
32
|
};
|
|
21
33
|
var _default = TooltipComponent;
|
|
22
34
|
exports["default"] = _default;
|
package/package.json
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import React from 'react';
|
|
1
|
+
import React, { useState } from 'react';
|
|
2
2
|
|
|
3
3
|
import Cell from '../Cell';
|
|
4
|
-
import MenuDropDown from './utilities/menuDropDown';
|
|
5
4
|
import { handleCellFormat } from './utilities/handleFormatCell';
|
|
5
|
+
import MenuDropDown from './utilities/menuDropDown';
|
|
6
6
|
|
|
7
7
|
const CHECKBOX_LINE_HEIGHT = '36px';
|
|
8
|
-
|
|
9
8
|
export const CheckCell: React.FC<any> = React.memo(
|
|
10
9
|
({ rowData, onChange, checkedKeys, dataKey, dataTheme, ...props }) => (
|
|
11
10
|
<Cell {...props} style={{ padding: 0 }} dataTheme={dataTheme}>
|
|
@@ -63,16 +62,40 @@ export const ExpandCell: React.FC<any> = React.memo(
|
|
|
63
62
|
);
|
|
64
63
|
export const CustomTableCell: React.FC<any> = React.memo(
|
|
65
64
|
({ rowData, renderCell, toolTip, dataKey, onChange, rowClick, type, link, ...props }) => {
|
|
65
|
+
const [openMenu, setOpenMenu] = useState(false);
|
|
66
|
+
const handleRightClick = () => {
|
|
67
|
+
setOpenMenu(true);
|
|
68
|
+
};
|
|
66
69
|
return (
|
|
67
|
-
|
|
68
|
-
{
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
70
|
+
<>
|
|
71
|
+
<Cell {...props} dataKey={dataKey}>
|
|
72
|
+
{link ? (
|
|
73
|
+
<a
|
|
74
|
+
onClick={() => rowClick?.(rowData)}
|
|
75
|
+
className="qbs-table-row-link"
|
|
76
|
+
onContextMenu={() => {
|
|
77
|
+
// Additional actions on right-click, if needed
|
|
78
|
+
handleRightClick();
|
|
79
|
+
}}
|
|
80
|
+
>
|
|
81
|
+
{renderCell ? renderCell(rowData)?.cell : handleCellFormat(rowData[dataKey], type)}
|
|
82
|
+
</a>
|
|
83
|
+
) : (
|
|
84
|
+
<>{renderCell ? renderCell(rowData)?.cell : handleCellFormat(rowData[dataKey], type)}</>
|
|
85
|
+
)}
|
|
86
|
+
</Cell>
|
|
87
|
+
{openMenu && (
|
|
88
|
+
<div className={'qbs-table-qbs-table-menu-dropdown-content'}>
|
|
89
|
+
<a
|
|
90
|
+
key={'sdf'}
|
|
91
|
+
onClick={() => window.open(rowClick?.(rowData))}
|
|
92
|
+
className={`p-2 leading-7 hover:bg-background `}
|
|
93
|
+
>
|
|
94
|
+
sdfsdfsdf
|
|
95
|
+
</a>
|
|
96
|
+
</div>
|
|
74
97
|
)}
|
|
75
|
-
|
|
98
|
+
</>
|
|
76
99
|
);
|
|
77
100
|
}
|
|
78
101
|
);
|
package/src/qbsTable/Toolbar.tsx
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React, { useCallback } from 'react';
|
|
1
|
+
import React, { useCallback, useState } from 'react';
|
|
2
2
|
|
|
3
3
|
import { QbsTableToolbarProps } from './commontypes';
|
|
4
4
|
import debounce from './utilities/debounce';
|
|
@@ -23,7 +23,7 @@ const ToolBar: React.FC<QbsTableToolbarProps> = ({
|
|
|
23
23
|
dataLength
|
|
24
24
|
}) => {
|
|
25
25
|
const debouncedOnSearch = useCallback(debounce(onSearch ?? (() => {}), 1000), [onSearch]);
|
|
26
|
-
|
|
26
|
+
const [searchParam, setSearchParam] = useState<string | undefined>(searchValue);
|
|
27
27
|
const handleSearch = useCallback(
|
|
28
28
|
(e?: string) => {
|
|
29
29
|
if (debouncedOnSearch) {
|
|
@@ -35,6 +35,7 @@ const ToolBar: React.FC<QbsTableToolbarProps> = ({
|
|
|
35
35
|
|
|
36
36
|
const handleChange = useCallback(
|
|
37
37
|
(e?: string) => {
|
|
38
|
+
setSearchParam(e);
|
|
38
39
|
if (asyncSearch) {
|
|
39
40
|
handleSearch(e);
|
|
40
41
|
} else {
|
|
@@ -61,7 +62,7 @@ const ToolBar: React.FC<QbsTableToolbarProps> = ({
|
|
|
61
62
|
placeholder="Search"
|
|
62
63
|
handleChange={handleChange}
|
|
63
64
|
handleSearch={handleSearch}
|
|
64
|
-
searchValue={
|
|
65
|
+
searchValue={searchParam}
|
|
65
66
|
/>
|
|
66
67
|
)}
|
|
67
68
|
<div className="qbs-table-primary-filter">{primaryFilter}</div>
|
|
@@ -1,19 +1,25 @@
|
|
|
1
|
-
import React from 'react';
|
|
2
|
-
import { Tooltip, Whisper } from 'rsuite';
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
3
2
|
|
|
4
|
-
const tooltip = (titleL: string) => {
|
|
5
|
-
return <Tooltip>{titleL}</Tooltip>;
|
|
6
|
-
};
|
|
7
3
|
const TooltipComponent: React.FC<any> = ({ title, children }) => {
|
|
4
|
+
const [scrollY, setScrollY] = useState(0);
|
|
5
|
+
const [isScrollingUp, setIsScrollingUp] = useState(true);
|
|
6
|
+
|
|
7
|
+
const handleScroll = () => {
|
|
8
|
+
setIsScrollingUp(window.scrollY < scrollY);
|
|
9
|
+
setScrollY(window.scrollY);
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
useEffect(() => {
|
|
13
|
+
window.addEventListener('scroll', handleScroll);
|
|
14
|
+
return () => {
|
|
15
|
+
window.removeEventListener('scroll', handleScroll);
|
|
16
|
+
};
|
|
17
|
+
}, [scrollY]);
|
|
8
18
|
return (
|
|
9
|
-
<
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
speaker={tooltip(title)}
|
|
14
|
-
>
|
|
15
|
-
{children}
|
|
16
|
-
</Whisper>
|
|
19
|
+
<div className={`qbs-table-tooltip ${!isScrollingUp ? 'up' : 'down'}`}>
|
|
20
|
+
<span>{children}</span>
|
|
21
|
+
<span className="tooltiptext">{title}</span>
|
|
22
|
+
</div>
|
|
17
23
|
);
|
|
18
24
|
};
|
|
19
25
|
|