venice-ui 1.1.3 → 1.1.4

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.
@@ -26,7 +26,7 @@ exports.IconElement = styled_components_1.default.div `
26
26
  ${!p.isDisabled &&
27
27
  `
28
28
  &:hover {
29
- cursor: pointer;
29
+ cursor: ${(!p.isDisabled ? 'pointer' : 'not-allowed')};
30
30
  ${!p.inverseMode
31
31
  ? `
32
32
  background-color: ${p.hoverColor};
@@ -58,12 +58,26 @@ hover = true, selectable = true, sortable = true, filtrable = false, sort = {
58
58
  filters: filters,
59
59
  headers: checkHeaders(),
60
60
  });
61
+ const isElementsArrayEqual = (arr1, arr2) => {
62
+ if (arr1.length !== arr2.length) {
63
+ return false;
64
+ }
65
+ return arr1.every((element, index) => element === arr2[index]);
66
+ };
61
67
  (0, react_1.useEffect)(() => {
62
68
  setTableProps({
63
69
  ...tableProps,
64
70
  elements: (0, tableHelper_1.setElements)(elements, sort, filters),
65
71
  });
66
72
  }, [elements]);
73
+ (0, react_1.useEffect)(() => {
74
+ if (!isElementsArrayEqual(elements, tableProps.elements)) {
75
+ setTableProps({
76
+ ...tableProps,
77
+ elements: (0, tableHelper_1.setElements)(elements, sort, filters),
78
+ });
79
+ }
80
+ });
67
81
  const [selectedRow, setSelectedRow] = (0, react_1.useState)('');
68
82
  const handleRowClick = (id) => {
69
83
  if (selectable) {
@@ -115,7 +129,7 @@ hover = true, selectable = true, sortable = true, filtrable = false, sort = {
115
129
  : 'arrow_drop_up', color: theme.tableCellSortIcon, size: 20 })))))))))),
116
130
  react_1.default.createElement("tbody", null, tableProps.elements.map((item) => (react_1.default.createElement(Table_styles_1.TableRow, { key: item.id, hover: hover, active: selectedRow === item.id, selectable: selectable, onClick: () => handleRowClick(item.id) }, tableProps.headers.map((header) => (react_1.default.createElement(react_1.default.Fragment, null, header.action ? (react_1.default.createElement(Table_styles_1.OptionTableCell, null,
117
131
  react_1.default.createElement(Table_styles_1.OptionTableCellWrapper, { onClick: (e) => e.stopPropagation() },
118
- react_1.default.createElement(DropdownMenu_1.DropdownMenu, { options: moreActions, targetID: item.id, iconName: 'more_vert', color: theme.tableMoreIconColor, iconInverseMode: true })))) : (react_1.default.createElement(Table_styles_1.TableCell, { key: `${item.id}-${header.name}` }, header.date
132
+ react_1.default.createElement(DropdownMenu_1.DropdownMenu, { options: moreActions, targetID: item.id, iconName: "more_vert", color: theme.tableMoreIconColor, iconInverseMode: true })))) : (react_1.default.createElement(Table_styles_1.TableCell, { key: `${item.id}-${header.name}` }, header.date
119
133
  ? (0, date_fns_1.format)(item[header.valueSource], 'dd-MM-yyyy')
120
134
  : item[header.valueSource]))))))))))));
121
135
  };
@@ -20,7 +20,7 @@ export const IconElement = styled.div `
20
20
  ${!p.isDisabled &&
21
21
  `
22
22
  &:hover {
23
- cursor: pointer;
23
+ cursor: ${(!p.isDisabled ? 'pointer' : 'not-allowed')};
24
24
  ${!p.inverseMode
25
25
  ? `
26
26
  background-color: ${p.hoverColor};
@@ -32,12 +32,26 @@ hover = true, selectable = true, sortable = true, filtrable = false, sort = {
32
32
  filters: filters,
33
33
  headers: checkHeaders(),
34
34
  });
35
+ const isElementsArrayEqual = (arr1, arr2) => {
36
+ if (arr1.length !== arr2.length) {
37
+ return false;
38
+ }
39
+ return arr1.every((element, index) => element === arr2[index]);
40
+ };
35
41
  useEffect(() => {
36
42
  setTableProps({
37
43
  ...tableProps,
38
44
  elements: setElements(elements, sort, filters),
39
45
  });
40
46
  }, [elements]);
47
+ useEffect(() => {
48
+ if (!isElementsArrayEqual(elements, tableProps.elements)) {
49
+ setTableProps({
50
+ ...tableProps,
51
+ elements: setElements(elements, sort, filters),
52
+ });
53
+ }
54
+ });
41
55
  const [selectedRow, setSelectedRow] = useState('');
42
56
  const handleRowClick = (id) => {
43
57
  if (selectable) {
@@ -89,7 +103,7 @@ hover = true, selectable = true, sortable = true, filtrable = false, sort = {
89
103
  : 'arrow_drop_up', color: theme.tableCellSortIcon, size: 20 })))))))))),
90
104
  React.createElement("tbody", null, tableProps.elements.map((item) => (React.createElement(TableRow, { key: item.id, hover: hover, active: selectedRow === item.id, selectable: selectable, onClick: () => handleRowClick(item.id) }, tableProps.headers.map((header) => (React.createElement(React.Fragment, null, header.action ? (React.createElement(OptionTableCell, null,
91
105
  React.createElement(OptionTableCellWrapper, { onClick: (e) => e.stopPropagation() },
92
- React.createElement(DropdownMenu, { options: moreActions, targetID: item.id, iconName: 'more_vert', color: theme.tableMoreIconColor, iconInverseMode: true })))) : (React.createElement(TableCell, { key: `${item.id}-${header.name}` }, header.date
106
+ React.createElement(DropdownMenu, { options: moreActions, targetID: item.id, iconName: "more_vert", color: theme.tableMoreIconColor, iconInverseMode: true })))) : (React.createElement(TableCell, { key: `${item.id}-${header.name}` }, header.date
93
107
  ? format(item[header.valueSource], 'dd-MM-yyyy')
94
108
  : item[header.valueSource]))))))))))));
95
109
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "venice-ui",
3
- "version": "1.1.3",
3
+ "version": "1.1.4",
4
4
  "description": "Component library",
5
5
  "main": "index.js",
6
6
  "module": "./dist/esm/index.js",