@tint-ui/data-table 0.3.5 → 0.3.6
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/adapters/boolean.js +2 -1
- package/cjs/adapters/boolean.js +2 -1
- package/cjs/classes.js +1 -0
- package/cjs/context.js +1 -0
- package/cjs/filter-classes.js +1 -0
- package/cjs/pagination-classes.js +1 -0
- package/cjs/row-button-menu.js +2 -1
- package/cjs/toolbar-classes.js +1 -0
- package/cjs/use-data-table.js +1 -1
- package/cjs/use-row-menu.js +8 -2
- package/classes.js +2 -0
- package/context.js +2 -0
- package/filter-classes.js +2 -0
- package/package.json +1 -1
- package/pagination-classes.js +2 -0
- package/row-button-menu.js +2 -1
- package/toolbar-classes.js +2 -0
- package/types.d.ts +1 -1
- package/use-data-table.js +1 -1
- package/use-row-menu.d.ts +1 -1
- package/use-row-menu.js +8 -2
package/adapters/boolean.js
CHANGED
|
@@ -16,7 +16,8 @@ const BooleanType = props => {
|
|
|
16
16
|
const variant = value == null ? "iconNull" : value ? "iconTrue" : "iconFalse";
|
|
17
17
|
const classes = useDataTableClasses();
|
|
18
18
|
return /*#__PURE__*/React.createElement("span", {
|
|
19
|
-
className: classes.booleanCellType
|
|
19
|
+
className: classes.booleanCellType,
|
|
20
|
+
"data-row-click": "off"
|
|
20
21
|
}, /*#__PURE__*/React.createElement(SvgThemeIcon, {
|
|
21
22
|
className: classes[variant],
|
|
22
23
|
icon: props[variant] || typeIcon[variant]
|
package/cjs/adapters/boolean.js
CHANGED
|
@@ -21,7 +21,8 @@ const BooleanType = props => {
|
|
|
21
21
|
const variant = value == null ? "iconNull" : value ? "iconTrue" : "iconFalse";
|
|
22
22
|
const classes = (0, _classes.useDataTableClasses)();
|
|
23
23
|
return /*#__PURE__*/React.createElement("span", {
|
|
24
|
-
className: classes.booleanCellType
|
|
24
|
+
className: classes.booleanCellType,
|
|
25
|
+
"data-row-click": "off"
|
|
25
26
|
}, /*#__PURE__*/React.createElement(_svgIcon.SvgThemeIcon, {
|
|
26
27
|
className: classes[variant],
|
|
27
28
|
icon: props[variant] || typeIcon[variant]
|
package/cjs/classes.js
CHANGED
package/cjs/context.js
CHANGED
package/cjs/filter-classes.js
CHANGED
package/cjs/row-button-menu.js
CHANGED
|
@@ -18,7 +18,8 @@ const rowButtonMenu = (info, menu) => {
|
|
|
18
18
|
} = (0, _context.useDataTableContext)();
|
|
19
19
|
const rowHandler = (0, _useRowMenu.useRowMenu)(info);
|
|
20
20
|
return /*#__PURE__*/React.createElement("div", {
|
|
21
|
-
className: classes.menuGroup
|
|
21
|
+
className: classes.menuGroup,
|
|
22
|
+
"data-row-click": "off"
|
|
22
23
|
}, menu.map(item => {
|
|
23
24
|
const {
|
|
24
25
|
icon,
|
package/cjs/toolbar-classes.js
CHANGED
package/cjs/use-data-table.js
CHANGED
|
@@ -681,7 +681,7 @@ const useDataTable = function (props) {
|
|
|
681
681
|
}
|
|
682
682
|
return event => {
|
|
683
683
|
const target = event.target;
|
|
684
|
-
if ("closest" in target && !target.closest("a[href],button,input,select,textarea,[role=button]")) {
|
|
684
|
+
if ("closest" in target && !target.closest("a[href],button,input,select,textarea,[role=button],[data-row-click=off]")) {
|
|
685
685
|
onRowClick(data);
|
|
686
686
|
}
|
|
687
687
|
};
|
package/cjs/use-row-menu.js
CHANGED
|
@@ -15,7 +15,7 @@ const useRowMenu = info => {
|
|
|
15
15
|
trigger,
|
|
16
16
|
triggerKey,
|
|
17
17
|
confirmation,
|
|
18
|
-
|
|
18
|
+
disabledKey
|
|
19
19
|
} = item;
|
|
20
20
|
const clickHandler = () => {
|
|
21
21
|
if (typeof onClick === "function") {
|
|
@@ -37,8 +37,14 @@ const useRowMenu = info => {
|
|
|
37
37
|
}));
|
|
38
38
|
}
|
|
39
39
|
};
|
|
40
|
+
let disabled = false;
|
|
41
|
+
if (disabledKey) {
|
|
42
|
+
disabled = data[disabledKey] === true;
|
|
43
|
+
} else if (triggerKey && !trigger && !onClick && data[triggerKey] == null) {
|
|
44
|
+
disabled = true;
|
|
45
|
+
}
|
|
40
46
|
return {
|
|
41
|
-
disabled
|
|
47
|
+
disabled,
|
|
42
48
|
onClick() {
|
|
43
49
|
if (confirmation) {
|
|
44
50
|
const message = app.replace(confirmation, data);
|
package/classes.js
CHANGED
package/context.js
CHANGED
package/filter-classes.js
CHANGED
package/package.json
CHANGED
package/pagination-classes.js
CHANGED
package/row-button-menu.js
CHANGED
|
@@ -14,7 +14,8 @@ const rowButtonMenu = (info, menu) => {
|
|
|
14
14
|
} = useDataTableContext();
|
|
15
15
|
const rowHandler = useRowMenu(info);
|
|
16
16
|
return /*#__PURE__*/React.createElement("div", {
|
|
17
|
-
className: classes.menuGroup
|
|
17
|
+
className: classes.menuGroup,
|
|
18
|
+
"data-row-click": "off"
|
|
18
19
|
}, menu.map(item => {
|
|
19
20
|
const {
|
|
20
21
|
icon,
|
package/toolbar-classes.js
CHANGED
package/types.d.ts
CHANGED
package/use-data-table.js
CHANGED
|
@@ -679,7 +679,7 @@ const useDataTable = function (props) {
|
|
|
679
679
|
}
|
|
680
680
|
return event => {
|
|
681
681
|
const target = event.target;
|
|
682
|
-
if ("closest" in target && !target.closest("a[href],button,input,select,textarea,[role=button]")) {
|
|
682
|
+
if ("closest" in target && !target.closest("a[href],button,input,select,textarea,[role=button],[data-row-click=off]")) {
|
|
683
683
|
onRowClick(data);
|
|
684
684
|
}
|
|
685
685
|
};
|
package/use-row-menu.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { CellContext } from "@tanstack/react-table";
|
|
2
2
|
import type { RowMenuOption } from "./types";
|
|
3
|
-
declare const useRowMenu: <TData>(info: CellContext<TData, unknown>) => (item: Pick<RowMenuOption<TData>, "onClick" | "trigger" | "confirmation" | "
|
|
3
|
+
declare const useRowMenu: <TData>(info: CellContext<TData, unknown>) => (item: Pick<RowMenuOption<TData>, "onClick" | "trigger" | "confirmation" | "disabledKey" | "triggerKey">) => {
|
|
4
4
|
disabled: boolean;
|
|
5
5
|
onClick(): void;
|
|
6
6
|
};
|
package/use-row-menu.js
CHANGED
|
@@ -12,7 +12,7 @@ const useRowMenu = info => {
|
|
|
12
12
|
trigger,
|
|
13
13
|
triggerKey,
|
|
14
14
|
confirmation,
|
|
15
|
-
|
|
15
|
+
disabledKey
|
|
16
16
|
} = item;
|
|
17
17
|
const clickHandler = () => {
|
|
18
18
|
if (typeof onClick === "function") {
|
|
@@ -35,8 +35,14 @@ const useRowMenu = info => {
|
|
|
35
35
|
});
|
|
36
36
|
}
|
|
37
37
|
};
|
|
38
|
+
let disabled = false;
|
|
39
|
+
if (disabledKey) {
|
|
40
|
+
disabled = data[disabledKey] === true;
|
|
41
|
+
} else if (triggerKey && !trigger && !onClick && data[triggerKey] == null) {
|
|
42
|
+
disabled = true;
|
|
43
|
+
}
|
|
38
44
|
return {
|
|
39
|
-
disabled
|
|
45
|
+
disabled,
|
|
40
46
|
onClick() {
|
|
41
47
|
if (confirmation) {
|
|
42
48
|
const message = app.replace(confirmation, data);
|