qbs-react-grid 1.1.37 → 1.1.39

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.
@@ -80,7 +80,8 @@ var QbsTable = function QbsTable(_ref) {
80
80
  _ref$headerHeight = _ref.headerHeight,
81
81
  headerHeight = _ref$headerHeight === void 0 ? 40 : _ref$headerHeight,
82
82
  tableBodyHeight = _ref.tableBodyHeight,
83
- customRowStatus = _ref.customRowStatus;
83
+ customRowStatus = _ref.customRowStatus,
84
+ searchPlaceholder = _ref.searchPlaceholder;
84
85
  var _useState = useState(false),
85
86
  loading = _useState[0],
86
87
  setLoading = _useState[1];
@@ -215,7 +216,8 @@ var QbsTable = function QbsTable(_ref) {
215
216
  selectedRowActions: selectedRowActions,
216
217
  onSelect: handleClear,
217
218
  handleColumnToggle: handleColumnToggle,
218
- dataLength: data === null || data === void 0 ? void 0 : data.length
219
+ dataLength: data === null || data === void 0 ? void 0 : data.length,
220
+ searchPlaceholder: searchPlaceholder
219
221
  };
220
222
  var themeToggle = useMemo(function () {
221
223
  return document.getElementById('themeToggle');
@@ -19,7 +19,8 @@ var ToolBar = function ToolBar(_ref) {
19
19
  selectedRowActions = _ref.selectedRowActions,
20
20
  checkedKeys = _ref.checkedKeys,
21
21
  onSelect = _ref.onSelect,
22
- dataLength = _ref.dataLength;
22
+ dataLength = _ref.dataLength,
23
+ searchPlaceholder = _ref.searchPlaceholder;
23
24
  var debouncedOnSearch = useCallback(debounce(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
24
25
  var _useState = useState(searchValue),
25
26
  searchParam = _useState[0],
@@ -59,7 +60,7 @@ var ToolBar = function ToolBar(_ref) {
59
60
  }, /*#__PURE__*/React.createElement("div", {
60
61
  className: "qbs-table-primary-filter"
61
62
  }, search && /*#__PURE__*/React.createElement(SearchInput, {
62
- placeholder: "Search",
63
+ placeholder: searchPlaceholder != null ? searchPlaceholder : 'Search',
63
64
  handleChange: handleChange,
64
65
  handleSearch: handleSearch,
65
66
  searchValue: searchParam
@@ -82,6 +82,7 @@ export interface QbsTableProps {
82
82
  primaryFilter?: ReactElement | ReactNode;
83
83
  advancefilter?: ReactElement | ReactNode;
84
84
  tableHeaderActions?: ReactElement | ReactNode;
85
+ searchPlaceholder?: string;
85
86
  selectedRowActions?: {
86
87
  actionTitle?: string;
87
88
  action: (checked: (number | string)[]) => void;
@@ -131,6 +132,7 @@ export interface QbsTableToolbarProps {
131
132
  handleColumnToggle?: (columns: QbsColumnProps[]) => void;
132
133
  dataLength: number;
133
134
  headerHeight?: number;
135
+ searchPlaceholder?: string;
134
136
  selectedRowActions?: {
135
137
  actionTitle?: string;
136
138
  action: (checked: (number | string)[]) => void;
@@ -32,18 +32,26 @@ var MenuDropDown = function MenuDropDown(_ref) {
32
32
  (_slug$action = slug.action) === null || _slug$action === void 0 ? void 0 : _slug$action.call(slug, rowData);
33
33
  setOpenMenu(false);
34
34
  };
35
+ var handleShowHideMenu = function handleShowHideMenu() {
36
+ var _result$length;
37
+ var result = actionDropDown === null || actionDropDown === void 0 ? void 0 : actionDropDown.filter(function (item) {
38
+ var _item$hide;
39
+ return !item.hidden && !(item !== null && item !== void 0 && (_item$hide = item.hide) !== null && _item$hide !== void 0 && _item$hide.call(item, rowData));
40
+ });
41
+ return (_result$length = result === null || result === void 0 ? void 0 : result.length) != null ? _result$length : 0;
42
+ };
35
43
  return /*#__PURE__*/React.createElement("div", {
36
44
  className: "qbs-table-menu-dropdown",
37
45
  ref: menuRef
38
- }, /*#__PURE__*/React.createElement("button", {
46
+ }, handleShowHideMenu() > 0 && /*#__PURE__*/React.createElement("button", {
39
47
  className: "qbs-table-dropbtn",
40
48
  onClick: toggleMenu,
41
49
  ref: menuButtonRef
42
50
  }, /*#__PURE__*/React.createElement(ThreeDotIcon, null)), openMenu && /*#__PURE__*/React.createElement("div", {
43
51
  className: 'qbs-table-qbs-table-menu-dropdown-content'
44
52
  }, actionDropDown === null || actionDropDown === void 0 ? void 0 : actionDropDown.map(function (item) {
45
- var _item$hide;
46
- return /*#__PURE__*/React.createElement(React.Fragment, null, !(item !== null && item !== void 0 && item.hidden) && !(item !== null && item !== void 0 && (_item$hide = item.hide) !== null && _item$hide !== void 0 && _item$hide.call(item, rowData)) && /*#__PURE__*/React.createElement("a", {
53
+ var _item$hide2;
54
+ return /*#__PURE__*/React.createElement(React.Fragment, null, !(item !== null && item !== void 0 && item.hidden) && !(item !== null && item !== void 0 && (_item$hide2 = item.hide) !== null && _item$hide2 !== void 0 && _item$hide2.call(item, rowData)) && /*#__PURE__*/React.createElement("a", {
47
55
  key: item.title,
48
56
  className: "p-2 leading-7 hover:bg-background ",
49
57
  onClick: function onClick(e) {
@@ -86,7 +86,8 @@ var QbsTable = function QbsTable(_ref) {
86
86
  _ref$headerHeight = _ref.headerHeight,
87
87
  headerHeight = _ref$headerHeight === void 0 ? 40 : _ref$headerHeight,
88
88
  tableBodyHeight = _ref.tableBodyHeight,
89
- customRowStatus = _ref.customRowStatus;
89
+ customRowStatus = _ref.customRowStatus,
90
+ searchPlaceholder = _ref.searchPlaceholder;
90
91
  var _useState = (0, _react.useState)(false),
91
92
  loading = _useState[0],
92
93
  setLoading = _useState[1];
@@ -221,7 +222,8 @@ var QbsTable = function QbsTable(_ref) {
221
222
  selectedRowActions: selectedRowActions,
222
223
  onSelect: handleClear,
223
224
  handleColumnToggle: handleColumnToggle,
224
- dataLength: data === null || data === void 0 ? void 0 : data.length
225
+ dataLength: data === null || data === void 0 ? void 0 : data.length,
226
+ searchPlaceholder: searchPlaceholder
225
227
  };
226
228
  var themeToggle = (0, _react.useMemo)(function () {
227
229
  return document.getElementById('themeToggle');
@@ -26,7 +26,8 @@ var ToolBar = function ToolBar(_ref) {
26
26
  selectedRowActions = _ref.selectedRowActions,
27
27
  checkedKeys = _ref.checkedKeys,
28
28
  onSelect = _ref.onSelect,
29
- dataLength = _ref.dataLength;
29
+ dataLength = _ref.dataLength,
30
+ searchPlaceholder = _ref.searchPlaceholder;
30
31
  var debouncedOnSearch = (0, _react.useCallback)((0, _debounce["default"])(onSearch != null ? onSearch : function () {}, 1000), [onSearch]);
31
32
  var _useState = (0, _react.useState)(searchValue),
32
33
  searchParam = _useState[0],
@@ -66,7 +67,7 @@ var ToolBar = function ToolBar(_ref) {
66
67
  }, /*#__PURE__*/_react["default"].createElement("div", {
67
68
  className: "qbs-table-primary-filter"
68
69
  }, search && /*#__PURE__*/_react["default"].createElement(_SearchInput["default"], {
69
- placeholder: "Search",
70
+ placeholder: searchPlaceholder != null ? searchPlaceholder : 'Search',
70
71
  handleChange: handleChange,
71
72
  handleSearch: handleSearch,
72
73
  searchValue: searchParam
@@ -82,6 +82,7 @@ export interface QbsTableProps {
82
82
  primaryFilter?: ReactElement | ReactNode;
83
83
  advancefilter?: ReactElement | ReactNode;
84
84
  tableHeaderActions?: ReactElement | ReactNode;
85
+ searchPlaceholder?: string;
85
86
  selectedRowActions?: {
86
87
  actionTitle?: string;
87
88
  action: (checked: (number | string)[]) => void;
@@ -131,6 +132,7 @@ export interface QbsTableToolbarProps {
131
132
  handleColumnToggle?: (columns: QbsColumnProps[]) => void;
132
133
  dataLength: number;
133
134
  headerHeight?: number;
135
+ searchPlaceholder?: string;
134
136
  selectedRowActions?: {
135
137
  actionTitle?: string;
136
138
  action: (checked: (number | string)[]) => void;
@@ -38,18 +38,26 @@ var MenuDropDown = function MenuDropDown(_ref) {
38
38
  (_slug$action = slug.action) === null || _slug$action === void 0 ? void 0 : _slug$action.call(slug, rowData);
39
39
  setOpenMenu(false);
40
40
  };
41
+ var handleShowHideMenu = function handleShowHideMenu() {
42
+ var _result$length;
43
+ var result = actionDropDown === null || actionDropDown === void 0 ? void 0 : actionDropDown.filter(function (item) {
44
+ var _item$hide;
45
+ return !item.hidden && !(item !== null && item !== void 0 && (_item$hide = item.hide) !== null && _item$hide !== void 0 && _item$hide.call(item, rowData));
46
+ });
47
+ return (_result$length = result === null || result === void 0 ? void 0 : result.length) != null ? _result$length : 0;
48
+ };
41
49
  return /*#__PURE__*/_react["default"].createElement("div", {
42
50
  className: "qbs-table-menu-dropdown",
43
51
  ref: menuRef
44
- }, /*#__PURE__*/_react["default"].createElement("button", {
52
+ }, handleShowHideMenu() > 0 && /*#__PURE__*/_react["default"].createElement("button", {
45
53
  className: "qbs-table-dropbtn",
46
54
  onClick: toggleMenu,
47
55
  ref: menuButtonRef
48
56
  }, /*#__PURE__*/_react["default"].createElement(_icons.ThreeDotIcon, null)), openMenu && /*#__PURE__*/_react["default"].createElement("div", {
49
57
  className: 'qbs-table-qbs-table-menu-dropdown-content'
50
58
  }, actionDropDown === null || actionDropDown === void 0 ? void 0 : actionDropDown.map(function (item) {
51
- var _item$hide;
52
- return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !(item !== null && item !== void 0 && item.hidden) && !(item !== null && item !== void 0 && (_item$hide = item.hide) !== null && _item$hide !== void 0 && _item$hide.call(item, rowData)) && /*#__PURE__*/_react["default"].createElement("a", {
59
+ var _item$hide2;
60
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, !(item !== null && item !== void 0 && item.hidden) && !(item !== null && item !== void 0 && (_item$hide2 = item.hide) !== null && _item$hide2 !== void 0 && _item$hide2.call(item, rowData)) && /*#__PURE__*/_react["default"].createElement("a", {
53
61
  key: item.title,
54
62
  className: "p-2 leading-7 hover:bg-background ",
55
63
  onClick: function onClick(e) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "qbs-react-grid",
3
- "version": "1.1.37",
3
+ "version": "1.1.39",
4
4
  "description": "A React table component",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -66,7 +66,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
66
66
  selectedRows,
67
67
  headerHeight = 40,
68
68
  tableBodyHeight,
69
- customRowStatus
69
+ customRowStatus,
70
+ searchPlaceholder
70
71
  }) => {
71
72
  const [loading, setLoading] = useState(false);
72
73
  const [columns, setColumns] = useState(propColumn);
@@ -207,7 +208,8 @@ const QbsTable: React.FC<QbsTableProps> = ({
207
208
  selectedRowActions: selectedRowActions,
208
209
  onSelect: handleClear,
209
210
  handleColumnToggle: handleColumnToggle,
210
- dataLength: data?.length
211
+ dataLength: data?.length,
212
+ searchPlaceholder: searchPlaceholder
211
213
  };
212
214
  const themeToggle = useMemo(() => document.getElementById('themeToggle') as HTMLInputElement, []);
213
215
 
@@ -20,7 +20,8 @@ const ToolBar: React.FC<QbsTableToolbarProps> = ({
20
20
  selectedRowActions,
21
21
  checkedKeys,
22
22
  onSelect,
23
- dataLength
23
+ dataLength,
24
+ searchPlaceholder
24
25
  }) => {
25
26
  const debouncedOnSearch = useCallback(debounce(onSearch ?? (() => {}), 1000), [onSearch]);
26
27
  const [searchParam, setSearchParam] = useState<string | undefined>(searchValue);
@@ -60,7 +61,7 @@ const ToolBar: React.FC<QbsTableToolbarProps> = ({
60
61
  <div className="qbs-table-primary-filter">
61
62
  {search && (
62
63
  <SearchInput
63
- placeholder="Search"
64
+ placeholder={searchPlaceholder ?? 'Search'}
64
65
  handleChange={handleChange}
65
66
  handleSearch={handleSearch}
66
67
  searchValue={searchParam}
@@ -20,7 +20,7 @@ export interface ColumnBase {
20
20
  sortKey?: string;
21
21
  type?: string;
22
22
  getPath?: (data: any) => string;
23
- hideLink?:(data:any)=>boolean
23
+ hideLink?: (data: any) => boolean;
24
24
  }
25
25
 
26
26
  export interface QbsColumnProps extends ColumnBase {
@@ -87,6 +87,7 @@ export interface QbsTableProps {
87
87
  primaryFilter?: ReactElement | ReactNode;
88
88
  advancefilter?: ReactElement | ReactNode;
89
89
  tableHeaderActions?: ReactElement | ReactNode;
90
+ searchPlaceholder?:string
90
91
  selectedRowActions?: {
91
92
  actionTitle?: string;
92
93
  action: (checked: (number | string)[]) => void;
@@ -135,6 +136,7 @@ export interface QbsTableToolbarProps {
135
136
  handleColumnToggle?: (columns: QbsColumnProps[]) => void;
136
137
  dataLength: number;
137
138
  headerHeight?: number;
139
+ searchPlaceholder?: string;
138
140
  selectedRowActions?: {
139
141
  actionTitle?: string;
140
142
  action: (checked: (number | string)[]) => void;
@@ -46,12 +46,17 @@ const MenuDropDown: React.FC<Props> = ({
46
46
  slug.action?.(rowData);
47
47
  setOpenMenu(false);
48
48
  };
49
-
49
+ const handleShowHideMenu = () => {
50
+ const result = actionDropDown?.filter((item: any) => !item.hidden && !item?.hide?.(rowData));
51
+ return result?.length ?? 0;
52
+ };
50
53
  return (
51
54
  <div className="qbs-table-menu-dropdown" ref={menuRef}>
52
- <button className="qbs-table-dropbtn" onClick={toggleMenu} ref={menuButtonRef}>
53
- <ThreeDotIcon />
54
- </button>
55
+ {handleShowHideMenu() > 0 && (
56
+ <button className="qbs-table-dropbtn" onClick={toggleMenu} ref={menuButtonRef}>
57
+ <ThreeDotIcon />
58
+ </button>
59
+ )}
55
60
  {openMenu && (
56
61
  <div className={'qbs-table-qbs-table-menu-dropdown-content'}>
57
62
  {actionDropDown?.map(item => (