@servicetitan/table 29.1.0 → 29.3.0
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/dist/demo/column-hiding/table.d.ts.map +1 -1
- package/dist/demo/column-hiding/table.js +1 -4
- package/dist/demo/column-hiding/table.js.map +1 -1
- package/dist/demo/filters/categories.d.ts.map +1 -1
- package/dist/demo/filters/categories.js +2 -3
- package/dist/demo/filters/categories.js.map +1 -1
- package/dist/demo/filters/select-filter.d.ts.map +1 -1
- package/dist/demo/filters/select-filter.js +2 -3
- package/dist/demo/filters/select-filter.js.map +1 -1
- package/dist/demo/master-detail/table-master-detail.js +2 -2
- package/dist/demo/master-detail/table-master-detail.js.map +1 -1
- package/dist/demo/overview/actions-cell.js +6 -6
- package/dist/demo/overview/actions-cell.js.map +1 -1
- package/dist/demo/overview/table.d.ts.map +1 -1
- package/dist/demo/overview/table.js +8 -8
- package/dist/demo/overview/table.js.map +1 -1
- package/dist/details/expand-column.js +2 -2
- package/dist/details/expand-column.js.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.js +2 -2
- package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.js +2 -2
- package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
- package/dist/editable-cell/text-editable-cell.js +2 -2
- package/dist/editable-cell/text-editable-cell.js.map +1 -1
- package/dist/select-cell/select-cell.d.ts.map +1 -1
- package/dist/select-cell/select-cell.js +4 -2
- package/dist/select-cell/select-cell.js.map +1 -1
- package/dist/table.d.ts +5 -1
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js +6 -1
- package/dist/table.js.map +1 -1
- package/dist/utils/use-td-props.d.ts +8 -0
- package/dist/utils/use-td-props.d.ts.map +1 -0
- package/dist/utils/use-td-props.js +15 -0
- package/dist/utils/use-td-props.js.map +1 -0
- package/package.json +8 -6
- package/src/demo/column-hiding/table.tsx +3 -5
- package/src/demo/filters/categories.tsx +3 -5
- package/src/demo/filters/select-filter.tsx +3 -5
- package/src/demo/master-detail/table-master-detail.tsx +2 -2
- package/src/demo/overview/actions-cell.tsx +6 -6
- package/src/demo/overview/table.tsx +9 -8
- package/src/details/expand-column.tsx +2 -2
- package/src/editable-cell/boolean-editable-cell.tsx +2 -2
- package/src/editable-cell/get-select-editable-cell.tsx +2 -2
- package/src/editable-cell/text-editable-cell.tsx +2 -2
- package/src/select-cell/select-cell.tsx +5 -1
- package/src/table.tsx +10 -1
- package/src/utils/use-td-props.ts +26 -0
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,EAAE,EAA4C,MAAM,OAAO,CAAC;
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAY,EAAE,EAA4C,MAAM,OAAO,CAAC;AA4F/E,eAAO,MAAM,wBAAwB,EAAE,EAmCtC,CAAC"}
|
@@ -6,10 +6,7 @@ import { Table, TableColumn } from '../..';
|
|
6
6
|
import { TableStore } from './table.store';
|
7
7
|
import { Supplier } from './product';
|
8
8
|
import { TableCell } from '@servicetitan/design-system';
|
9
|
-
const SupplierCell =
|
10
|
-
const { field, dataItem } = props;
|
11
|
-
return _jsx("td", { children: Supplier[dataItem[field]] });
|
12
|
-
};
|
9
|
+
const SupplierCell = ({ field, dataItem, tdProps }) => (_jsx("td", { ...tdProps, children: Supplier[dataItem[field]] }));
|
13
10
|
const columns = [
|
14
11
|
{ field: 'ProductID', title: 'ID', minWidth: 50 },
|
15
12
|
{ field: 'ProductName', title: 'Name', minWidth: 200 },
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAM,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAe,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAExD,MAAM,YAAY,GAAuB,
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/categories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,EAiDhC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,cAAc,
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/categories.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAE7C,MAAM,WAAW,QAAQ;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,UAAU,EAAE,QAAQ,EAiDhC,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,cAAc,CAE3C,CAAC"}
|
@@ -49,9 +49,8 @@ export const categories = [
|
|
49
49
|
CategoryName: 'Steak',
|
50
50
|
},
|
51
51
|
];
|
52
|
-
export const CategoryCell =
|
52
|
+
export const CategoryCell = ({ field, dataItem, tdProps }) => {
|
53
53
|
var _a;
|
54
|
-
|
55
|
-
return _jsx("td", { children: (_a = categories.find(c => c.CategoryID === dataItem[field])) === null || _a === void 0 ? void 0 : _a.CategoryName });
|
54
|
+
return (_jsx("td", { ...tdProps, children: (_a = categories.find(c => c.CategoryID === dataItem[field])) === null || _a === void 0 ? void 0 : _a.CategoryName }));
|
56
55
|
};
|
57
56
|
//# sourceMappingURL=categories.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/demo/filters/categories.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,UAAU,GAAe;IAClC;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,KAAK;KACtB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,QAAQ;KACzB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,MAAM;KACvB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,MAAM;KACvB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,SAAS;KAC1B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,iBAAiB;KAClC;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,cAAc;KAC/B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,SAAS;KAC1B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAuB,
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/demo/filters/categories.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,UAAU,GAAe;IAClC;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,KAAK;KACtB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,QAAQ;KACzB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,MAAM;KACvB;IACD;QACI,UAAU,EAAE,CAAC;QACb,YAAY,EAAE,MAAM;KACvB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,SAAS;KAC1B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,iBAAiB;KAClC;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,cAAc;KAC/B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,SAAS;KAC1B;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;IACD;QACI,UAAU,EAAE,EAAE;QACd,YAAY,EAAE,OAAO;KACxB;CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAuB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;;IAAC,OAAA,CAC9E,gBAAQ,OAAO,YAAG,MAAA,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,KAAM,CAAC,CAAC,0CAAE,YAAY,GAAM,CAChG,CAAA;CAAA,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAY,MAAM,OAAO,CAAC;AAK9C,OAAO,EAA8C,cAAc,EAAE,MAAM,OAAO,CAAC;AAMnF,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,cAAc,
|
1
|
+
{"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAW,EAAE,EAAY,MAAM,OAAO,CAAC;AAK9C,OAAO,EAA8C,cAAc,EAAE,MAAM,OAAO,CAAC;AAMnF,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,cAAc,CAE1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,EAsDhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAyE/B,CAAC"}
|
@@ -6,10 +6,9 @@ import { provide, useDependencies } from '@servicetitan/react-ioc';
|
|
6
6
|
import { Table, TableColumn, selectColumnMenuFilter } from '../..';
|
7
7
|
import { TableStore } from './table.store';
|
8
8
|
import { categories, CategoryCell } from './categories';
|
9
|
-
export const PackageCell =
|
9
|
+
export const PackageCell = ({ dataItem, tdProps }) => {
|
10
10
|
var _a;
|
11
|
-
|
12
|
-
return _jsx("td", { children: (_a = dataItem === null || dataItem === void 0 ? void 0 : dataItem.Package) === null || _a === void 0 ? void 0 : _a.PackageName });
|
11
|
+
return (_jsx("td", { ...tdProps, children: (_a = dataItem === null || dataItem === void 0 ? void 0 : dataItem.Package) === null || _a === void 0 ? void 0 : _a.PackageName }));
|
13
12
|
};
|
14
13
|
export const SelectAsyncExample = provide({
|
15
14
|
singletons: [TableStore],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-filter.js","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAM,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC9C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,sBAAsB,EAAkB,MAAM,OAAO,CAAC;AAEnF,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGxD,MAAM,CAAC,MAAM,WAAW,GAAuB,
|
1
|
+
{"version":3,"file":"select-filter.js","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":"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"}
|
@@ -5,14 +5,14 @@ import { Button } from '@servicetitan/design-system';
|
|
5
5
|
import { Table, TableColumn } from '../..';
|
6
6
|
import { MasterTableStore } from './master-table.store';
|
7
7
|
import { DetailTable } from './detail-table';
|
8
|
-
const ExpandCell = ({ tableState, dataItem }) => {
|
8
|
+
const ExpandCell = ({ tableState, dataItem, tdProps }) => {
|
9
9
|
const handleExpandChange = () => {
|
10
10
|
tableState.handleExpandChange({
|
11
11
|
dataItem,
|
12
12
|
value: !dataItem.expanded,
|
13
13
|
});
|
14
14
|
};
|
15
|
-
return (_jsx("td", { children: _jsx(Button, { full: true, text: true, primary: true, onClick: handleExpandChange, children: "Show / Hide" }) }));
|
15
|
+
return (_jsx("td", { ...tdProps, children: _jsx(Button, { full: true, text: true, primary: true, onClick: handleExpandChange, children: "Show / Hide" }) }));
|
16
16
|
};
|
17
17
|
export const TableMasterDetailExample = provide({
|
18
18
|
singletons: [MasterTableStore],
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-master-detail.js","sourceRoot":"","sources":["../../../src/demo/master-detail/table-master-detail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAM,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,OAAO,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,UAAU,GAAuB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"table-master-detail.js","sourceRoot":"","sources":["../../../src/demo/master-detail/table-master-detail.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAM,MAAM,OAAO,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAErD,OAAO,EAAE,KAAK,EAAE,WAAW,EAA0C,MAAM,OAAO,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,MAAM,UAAU,GAAuB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IACzE,MAAM,kBAAkB,GAAG,GAAG,EAAE;QAC5B,UAAW,CAAC,kBAAkB,CAAC;YAC3B,QAAQ;YACR,KAAK,EAAE,CAAC,QAAQ,CAAC,QAAQ;SACF,CAAC,CAAC;IACjC,CAAC,CAAC;IAEF,OAAO,CACH,gBAAQ,OAAO,YACX,KAAC,MAAM,IAAC,IAAI,QAAC,IAAI,QAAC,OAAO,QAAC,OAAO,EAAE,kBAAkB,4BAE5C,GACR,CACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAO,OAAO,CAAC;IAChD,UAAU,EAAE,CAAC,gBAAgB,CAAC;CACjC,CAAC,CAAC,GAAG,EAAE;IACJ,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,gBAAgB,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IAEvC,OAAO,CACH,MAAC,KAAK,IAAC,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,UAAU,QAAC,MAAM,EAAE,WAAW,aAC/D,KAAC,WAAW,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,GAAG,EAE1D,KAAC,WAAW,IAAC,KAAK,EAAC,aAAa,EAAC,KAAK,EAAC,cAAc,GAAG,EAExD,KAAC,WAAW,IAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAC,OAAO,GAAG,IAC3C,CACX,CAAC;AACN,CAAC,CAAC,CAAC"}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
2
|
import { Button, Icon, Stack } from '@servicetitan/design-system';
|
3
3
|
import { getActionCell } from '../..';
|
4
|
-
const ViewAction = ({ tableState, dataItem }) => {
|
4
|
+
const ViewAction = ({ tableState, dataItem, tdProps }) => {
|
5
5
|
if (!tableState) {
|
6
|
-
return _jsx("td", {});
|
6
|
+
return _jsx("td", { ...tdProps });
|
7
7
|
}
|
8
8
|
const edit = () => tableState.edit(dataItem);
|
9
|
-
return (_jsx("td", { children: _jsx(Button, { text: true, primary: true, onClick: edit, children: _jsx(Icon, { name: "edit" }) }) }));
|
9
|
+
return (_jsx("td", { ...tdProps, children: _jsx(Button, { text: true, primary: true, onClick: edit, children: _jsx(Icon, { name: "edit" }) }) }));
|
10
10
|
};
|
11
|
-
const EditAction = ({ tableState, formState, dataItem }) => {
|
11
|
+
const EditAction = ({ tableState, formState, dataItem, tdProps }) => {
|
12
12
|
if (!tableState) {
|
13
|
-
return _jsx("td", {});
|
13
|
+
return _jsx("td", { ...tdProps });
|
14
14
|
}
|
15
15
|
const save = async () => {
|
16
16
|
const { hasError } = await formState.validate();
|
@@ -20,7 +20,7 @@ const EditAction = ({ tableState, formState, dataItem }) => {
|
|
20
20
|
await tableState.saveEdit(dataItem);
|
21
21
|
};
|
22
22
|
const cancel = () => tableState.cancelEdit(dataItem);
|
23
|
-
return (_jsx("td", { children: _jsxs(Stack, { justifyContent: "space-between", children: [_jsx(Button, { text: true, onClick: cancel, children: _jsx(Icon, { name: "do_not_disturb" }) }), _jsx(Button, { text: true, primary: true, onClick: save, children: _jsx(Icon, { name: "done" }) })] }) }));
|
23
|
+
return (_jsx("td", { ...tdProps, children: _jsxs(Stack, { justifyContent: "space-between", children: [_jsx(Button, { text: true, onClick: cancel, children: _jsx(Icon, { name: "do_not_disturb" }) }), _jsx(Button, { text: true, primary: true, onClick: save, children: _jsx(Icon, { name: "done" }) })] }) }));
|
24
24
|
};
|
25
25
|
export const ActionsCell = getActionCell({
|
26
26
|
view: ViewAction,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"actions-cell.js","sourceRoot":"","sources":["../../../src/demo/overview/actions-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAkB,aAAa,EAAmB,MAAM,OAAO,CAAC;AAIvE,MAAM,UAAU,GAAgC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"actions-cell.js","sourceRoot":"","sources":["../../../src/demo/overview/actions-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAElE,OAAO,EAAkB,aAAa,EAAmB,MAAM,OAAO,CAAC;AAIvE,MAAM,UAAU,GAAgC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAClF,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,gBAAQ,OAAO,GAAI,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE7C,OAAO,CACH,gBAAQ,OAAO,YACX,KAAC,MAAM,IAAC,IAAI,QAAC,OAAO,QAAC,OAAO,EAAE,IAAI,YAC9B,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,GACR,CACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,UAAU,GAAiC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,EAAE;IAC9F,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,gBAAQ,OAAO,GAAI,CAAC;IAC/B,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE;QACpB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACX,OAAO;QACX,CAAC;QAED,MAAM,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC,CAAC;IAEF,MAAM,MAAM,GAAG,GAAG,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAErD,OAAO,CACH,gBAAQ,OAAO,YACX,MAAC,KAAK,IAAC,cAAc,EAAC,eAAe,aACjC,KAAC,MAAM,IAAC,IAAI,QAAC,OAAO,EAAE,MAAM,YACxB,KAAC,IAAI,IAAC,IAAI,EAAC,gBAAgB,GAAG,GACzB,EAET,KAAC,MAAM,IAAC,IAAI,QAAC,OAAO,QAAC,OAAO,EAAE,IAAI,YAC9B,KAAC,IAAI,IAAC,IAAI,EAAC,MAAM,GAAG,GACf,IACL,GACP,CACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAC;IACrC,IAAI,EAAE,UAAU;IAChB,IAAI,EAAE,UAAU;CACnB,CAAC,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/overview/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmC,EAAE,EAAgB,MAAM,OAAO,CAAC;AAQ1E,OAAO,EAIH,cAAc,EAWjB,MAAM,OAAO,CAAC;AA6Cf,eAAO,MAAM,gBAAgB,yEAE3B,CAAC;AA0BH,eAAO,MAAM,YAAY,EAAE,
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/overview/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAmC,EAAE,EAAgB,MAAM,OAAO,CAAC;AAQ1E,OAAO,EAIH,cAAc,EAWjB,MAAM,OAAO,CAAC;AA6Cf,eAAO,MAAM,gBAAgB,yEAE3B,CAAC;AA0BH,eAAO,MAAM,YAAY,EAAE,EA4H1B,CAAC"}
|
@@ -12,27 +12,27 @@ import { UserRole, Supplier } from './product';
|
|
12
12
|
const UserRoleColumnMenuFilter = multiSelectColumnMenuFilter(getEnumKeys(UserRole), userRole => (_jsx(Tag, { compact: true, color: UserRole[userRole] === UserRole.Owner ? 'success' : 'default', children: userRole })));
|
13
13
|
const AvailableForEditableCell = getSelectEditableCell({
|
14
14
|
options: enumToOptions(UserRole),
|
15
|
-
viewer: ({ dataItem, field }) => {
|
15
|
+
viewer: ({ dataItem, field, tdProps }) => {
|
16
16
|
const value = dataItem[field];
|
17
|
-
return _jsx("td", { children: value && UserRole[value] });
|
17
|
+
return _jsx("td", { ...tdProps, children: value && UserRole[value] });
|
18
18
|
},
|
19
19
|
});
|
20
20
|
const SupplierCell = props => {
|
21
|
-
const { field, dataItem, rowType } = props;
|
21
|
+
const { field, dataItem, rowType, tdProps } = props;
|
22
22
|
if (rowType !== 'data') {
|
23
23
|
return _jsx(TableCell, { ...props });
|
24
24
|
}
|
25
|
-
return _jsx("td", { children: Supplier[dataItem[field]] });
|
25
|
+
return _jsx("td", { ...tdProps, children: Supplier[dataItem[field]] });
|
26
26
|
};
|
27
27
|
// Implementation of a date editable cell utilizing getEditableCell
|
28
|
-
const DateEditor = observer(({ fieldState: { value, onChange, hasError }, className }) => {
|
29
|
-
return (_jsx("td", { className: className, children: _jsx(DatePicker, { value: value, onChange: onChange, error: hasError }) }));
|
28
|
+
const DateEditor = observer(({ fieldState: { value, onChange, hasError }, className, tdProps }) => {
|
29
|
+
return (_jsx("td", { className: className, ...tdProps, children: _jsx(DatePicker, { value: value, onChange: onChange, error: hasError }) }));
|
30
30
|
});
|
31
31
|
export const DateEditableCell = getEditableCell({
|
32
32
|
editor: DateEditor,
|
33
33
|
});
|
34
34
|
// Implementation of a numeric editable cell utilizing getEditableCell
|
35
|
-
const NumberCellEditor = observer(({ fieldState: { value, hasError, onChange } }) => (_jsx("td", { children: _jsx(NumberInput, { onChange: onChange, type: "number", error: hasError, value: value, emptyValue: 0, min: 0, max: 1000, useEmptyThousandsSeparator: true, fluid: true, decimalPlaces: 2, useKeyboardNavigation: true }) })));
|
35
|
+
const NumberCellEditor = observer(({ fieldState: { value, hasError, onChange }, tdProps }) => (_jsx("td", { ...tdProps, children: _jsx(NumberInput, { onChange: onChange, type: "number", error: hasError, value: value, emptyValue: 0, min: 0, max: 1000, useEmptyThousandsSeparator: true, fluid: true, decimalPlaces: 2, useKeyboardNavigation: true }) })));
|
36
36
|
const NumericEditableCell = getEditableCell({
|
37
37
|
editor: getEditableCell({ editor: NumberCellEditor }),
|
38
38
|
});
|
@@ -51,6 +51,6 @@ export const TableExample = provide({
|
|
51
51
|
},
|
52
52
|
});
|
53
53
|
};
|
54
|
-
return (_jsxs(Fragment, { children: [_jsxs(Stack, { justifyContent: "space-between", alignContent: "center", className: "m-b-2", children: [_jsx(Export, { totalCount: tableState.totalCount, exportPdf: tableState.exportPdf, exportExcel: tableState.exportExcel }), inEdit ? (_jsxs(ButtonGroup, { children: [_jsx(Button, { small: true, onClick: cancelAll, className: "m-r-2", children: "Cancel All" }), _jsx(Button, { small: true, primary: true, onClick: saveAll, children: "Save All" })] })) : (_jsx(Button, { small: true, primary: true, onClick: editAll, children: "Edit All" }))] }), _jsxs(Table, { tableState: tableState, striped: false, selectable: true, groupable: true, sortable: true, exportable: true, exportFileName: "Table.Export.Test...File.Name.01.01.2020..~!@#$%^(*_+';", cellRender: cellRender, children: [_jsx(TableColumn, { field: "ProductID", title: "ID", editable: false, width: "100px" }), _jsx(TableColumn, { field: "ProductName", title: "Product Name", cell: TextEditableCell, columnMenu: StandardColumnMenuFilter, width: "240px" }), _jsx(TableColumn, { field: "Supplier", title: "Supplier", cell: SupplierCell, columnMenu: StandardColumnMenuFilter, width: "150px" }), _jsx(TableColumn, { field: "MadeIn", title: "Made In", cell: TextEditableCell, columnMenu: madeInColumnMenu, width: "175px" }), _jsx(TableColumn, { field: "UnitsOnOrder", title: "First Ordered On", cell: DateEditableCell, columnMenu: DateRangeColumnMenuFilter, format: "{0:MM/dd/yyyy}", width: "240px" }), _jsx(TableColumn, { field: "UnitPrice", title: "Unit Price", cell: NumericEditableCell, columnMenu: CurrencyRangeColumnMenuFilter, format: "{0:c}", width: "125px" }), _jsx(TableColumn, { field: "Discontinued", title: "Discontinued", cell: BooleanEditableCell, sortable: false, width: "125px" }), _jsx(TableColumn, { field: "AvailableFor", title: "Available For", cell: AvailableForEditableCell, columnMenu: UserRoleColumnMenuFilter, width: "240px" }), _jsx(TableColumn, { cell: ActionsCell, sortable: false, width: "125px" })] })] }));
|
54
|
+
return (_jsxs(Fragment, { children: [_jsxs(Stack, { justifyContent: "space-between", alignContent: "center", className: "m-b-2", children: [_jsx(Export, { totalCount: tableState.totalCount, exportPdf: tableState.exportPdf, exportExcel: tableState.exportExcel }), inEdit ? (_jsxs(ButtonGroup, { children: [_jsx(Button, { small: true, onClick: cancelAll, className: "m-r-2", children: "Cancel All" }), _jsx(Button, { small: true, primary: true, onClick: saveAll, children: "Save All" })] })) : (_jsx(Button, { small: true, primary: true, onClick: editAll, children: "Edit All" }))] }), _jsxs(Table, { tableState: tableState, striped: false, selectable: true, groupable: true, sortable: true, exportable: true, exportFileName: "Table.Export.Test...File.Name.01.01.2020..~!@#$%^(*_+';", cellRender: cellRender, navigatable: true, children: [_jsx(TableColumn, { field: "ProductID", title: "ID", editable: false, width: "100px" }), _jsx(TableColumn, { field: "ProductName", title: "Product Name", cell: TextEditableCell, columnMenu: StandardColumnMenuFilter, width: "240px" }), _jsx(TableColumn, { field: "Supplier", title: "Supplier", cell: SupplierCell, columnMenu: StandardColumnMenuFilter, width: "150px" }), _jsx(TableColumn, { field: "MadeIn", title: "Made In", cell: TextEditableCell, columnMenu: madeInColumnMenu, width: "175px" }), _jsx(TableColumn, { field: "UnitsOnOrder", title: "First Ordered On", cell: DateEditableCell, columnMenu: DateRangeColumnMenuFilter, format: "{0:MM/dd/yyyy}", width: "240px" }), _jsx(TableColumn, { field: "UnitPrice", title: "Unit Price", cell: NumericEditableCell, columnMenu: CurrencyRangeColumnMenuFilter, format: "{0:c}", width: "125px" }), _jsx(TableColumn, { field: "Discontinued", title: "Discontinued", cell: BooleanEditableCell, sortable: false, width: "125px" }), _jsx(TableColumn, { field: "AvailableFor", title: "Available For", cell: AvailableForEditableCell, columnMenu: UserRoleColumnMenuFilter, width: "240px" }), _jsx(TableColumn, { cell: ActionsCell, sortable: false, width: "125px" })] })] }));
|
55
55
|
}));
|
56
56
|
//# sourceMappingURL=table.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/demo/overview/table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,EAAoB,MAAM,OAAO,CAAC;AAE1E,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAEnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAE1F,OAAO,EACH,KAAK,EACL,WAAW,EACX,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,6BAA6B,EAC7B,eAAe,GAElB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAEtC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAE3C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAC7E,OAAO,EAAW,QAAQ,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAExD,MAAM,wBAAwB,GAAG,2BAA2B,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,EAAE,CAAC,CAC5F,KAAC,GAAG,IAAC,OAAO,QAAC,KAAK,EAAE,QAAQ,CAAC,QAAQ,CAAC,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAC5E,QAAQ,GACP,CACT,CAAC,CAAC;AAEH,MAAM,wBAAwB,GAAG,qBAAqB,CAAC;IACnD,OAAO,EAAE,aAAa,CAAC,QAAQ,CAAC;IAChC,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/demo/overview/table.tsx"],"names":[],"mappings":"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"}
|
@@ -2,7 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Button } from '@servicetitan/design-system';
|
3
3
|
import { useCallback, useMemo } from 'react';
|
4
4
|
import { TableColumn } from '../index';
|
5
|
-
export const RowExpandCell = ({ dataItem, dataIndex, expanded, tableState, className,
|
5
|
+
export const RowExpandCell = ({ dataItem, dataIndex, expanded, tableState, className, tdProps, }) => {
|
6
6
|
const onCLick = useCallback((e) => {
|
7
7
|
tableState === null || tableState === void 0 ? void 0 : tableState.handleExpandChange({
|
8
8
|
dataItem,
|
@@ -13,7 +13,7 @@ export const RowExpandCell = ({ dataItem, dataIndex, expanded, tableState, class
|
|
13
13
|
target: e.target,
|
14
14
|
});
|
15
15
|
}, [dataItem, dataIndex, expanded, tableState]);
|
16
|
-
return (_jsx("td", { className: className,
|
16
|
+
return (_jsx("td", { className: className, ...tdProps, children: _jsx(Button, { iconName: expanded ? 'expand_less' : 'expand_more', "aria-label": "expand row", size: "xsmall", fill: "subtle", onClick: onCLick }) }));
|
17
17
|
};
|
18
18
|
export const getRowExpandColumn = () => (_jsx(TableColumn, { field: "expanded", title: " ", editable: false, sortable: false, resizable: false, cell: RowExpandCell, width: "50px" }));
|
19
19
|
export const useRowExpandColumn = () => {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"expand-column.js","sourceRoot":"","sources":["../../src/details/expand-column.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAsB,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAuB,CAAC,EAC9C,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACV,EAAE,EAAE;IACD,MAAM,OAAO,GAAG,WAAW,CACvB,CAAC,CAAiB,EAAE,EAAE;QAClB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,CAAC;YAC3B,QAAQ;YACR,SAAS;YACT,KAAK,EAAE,CAAC,QAAQ;YAChB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAe;SAC5B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAC9C,CAAC;IAEF,OAAO,CACH,aAAI,SAAS,EAAE,SAAS,
|
1
|
+
{"version":3,"file":"expand-column.js","sourceRoot":"","sources":["../../src/details/expand-column.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AACrD,OAAO,EAAsB,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAkB,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvD,MAAM,CAAC,MAAM,aAAa,GAAuB,CAAC,EAC9C,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACV,EAAE,EAAE;IACD,MAAM,OAAO,GAAG,WAAW,CACvB,CAAC,CAAiB,EAAE,EAAE;QAClB,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,kBAAkB,CAAC;YAC3B,QAAQ;YACR,SAAS;YACT,KAAK,EAAE,CAAC,QAAQ;YAChB,cAAc,EAAE,CAAC;YACjB,WAAW,EAAE,CAAC,CAAC,WAAW;YAC1B,MAAM,EAAE,CAAC,CAAC,MAAe;SAC5B,CAAC,CAAC;IACP,CAAC,EACD,CAAC,QAAQ,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,CAAC,CAC9C,CAAC;IAEF,OAAO,CACH,aAAI,SAAS,EAAE,SAAS,KAAM,OAAO,YACjC,KAAC,MAAM,IACH,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,gBACvC,YAAY,EACvB,IAAI,EAAC,QAAQ,EACb,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,OAAO,GAClB,GACD,CACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,CACpC,KAAC,WAAW,IACR,KAAK,EAAC,UAAU,EAChB,KAAK,EAAC,GAAG,EACT,QAAQ,EAAE,KAAK,EACf,QAAQ,EAAE,KAAK,EACf,SAAS,EAAE,KAAK,EAChB,IAAI,EAAE,aAAa,EACnB,KAAK,EAAC,MAAM,GACd,CACL,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACnC,OAAO,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;AAC3C,CAAC,CAAC"}
|
@@ -2,11 +2,11 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { observer } from 'mobx-react';
|
3
3
|
import { Checkbox } from '@servicetitan/design-system';
|
4
4
|
import { getEditableCell } from './get-editable-cell';
|
5
|
-
const Editor = observer(({ fieldState: { value, onChange }, className }) => {
|
5
|
+
const Editor = observer(({ fieldState: { value, onChange }, className, tdProps }) => {
|
6
6
|
const handleChange = (_0, checked) => {
|
7
7
|
onChange(checked);
|
8
8
|
};
|
9
|
-
return (_jsx("td", { className: className, children: _jsx(Checkbox, { checked: value, onChange: handleChange, style: { marginRight: 0 } }) }));
|
9
|
+
return (_jsx("td", { className: className, ...tdProps, children: _jsx(Checkbox, { checked: value, onChange: handleChange, style: { marginRight: 0 } }) }));
|
10
10
|
});
|
11
11
|
export const BooleanEditableCell = getEditableCell({
|
12
12
|
editor: Editor,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"boolean-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/boolean-editable-cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"boolean-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/boolean-editable-cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAEnE,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;IACxD,MAAM,YAAY,GAAG,CAAC,EAAS,EAAE,OAAgB,EAAE,EAAE;QACjD,QAAQ,CAAC,OAAO,CAAC,CAAC;IACtB,CAAC,CAAC;IAEF,OAAO,CACH,aAAI,SAAS,EAAE,SAAS,KAAM,OAAO,YACjC,KAAC,QAAQ,IAAC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,EAAE,WAAW,EAAE,CAAC,EAAE,GAAI,GAC9E,CACR,CAAC;AACN,CAAC,CACJ,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,eAAe,CAAC;IAC/C,MAAM,EAAE,MAAM;CACjB,CAAC,CAAC"}
|
@@ -4,12 +4,12 @@ import { DropDownList } from '@progress/kendo-react-dropdowns';
|
|
4
4
|
import { getEditableCell } from './get-editable-cell';
|
5
5
|
import classNames from 'classnames';
|
6
6
|
export function getSelectEditableCell({ options, viewer }) {
|
7
|
-
const Editor = observer(({ fieldState: { value, onChange, hasError, error }, className }) => {
|
7
|
+
const Editor = observer(({ fieldState: { value, onChange, hasError, error }, className, tdProps }) => {
|
8
8
|
const selected = options.find(option => option.value === value);
|
9
9
|
const handleChange = (event) => {
|
10
10
|
onChange(event.target.value.value);
|
11
11
|
};
|
12
|
-
return (_jsx("td", { className: classNames('of-visible', className), children: _jsx(DropDownList, { data: options, value: selected, onChange: handleChange, dataItemKey: "value", textField: "text", valid: !hasError, validationMessage: error, className: "w-100" }) }));
|
12
|
+
return (_jsx("td", { className: classNames('of-visible', className), ...tdProps, children: _jsx(DropDownList, { data: options, value: selected, onChange: handleChange, dataItemKey: "value", textField: "text", valid: !hasError, validationMessage: error, className: "w-100" }) }));
|
13
13
|
});
|
14
14
|
return getEditableCell({
|
15
15
|
viewer,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"get-select-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/get-select-editable-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAInE,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,UAAU,qBAAqB,CAAI,EAAE,OAAO,EAAE,MAAM,EAAkC;IACxF,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"get-select-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/get-select-editable-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,YAAY,EAA2B,MAAM,iCAAiC,CAAC;AAGxF,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAInE,OAAO,UAAU,MAAM,YAAY,CAAC;AAOpC,MAAM,UAAU,qBAAqB,CAAI,EAAE,OAAO,EAAE,MAAM,EAAkC;IACxF,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;QACzE,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;QAEhE,MAAM,YAAY,GAAG,CAAC,KAA8B,EAAE,EAAE;YACpD,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC,CAAC;QAEF,OAAO,CACH,aAAI,SAAS,EAAE,UAAU,CAAC,YAAY,EAAE,SAAS,CAAC,KAAM,OAAO,YAC3D,KAAC,YAAY,IACT,IAAI,EAAE,OAAO,EACb,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,YAAY,EACtB,WAAW,EAAC,OAAO,EACnB,SAAS,EAAC,MAAM,EAChB,KAAK,EAAE,CAAC,QAAQ,EAChB,iBAAiB,EAAE,KAAK,EACxB,SAAS,EAAC,OAAO,GACnB,GACD,CACR,CAAC;IACN,CAAC,CACJ,CAAC;IAEF,OAAO,eAAe,CAAC;QACnB,MAAM;QACN,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;AACP,CAAC"}
|
@@ -4,13 +4,13 @@ import { Input } from '@progress/kendo-react-inputs';
|
|
4
4
|
import { getEditableCell } from './get-editable-cell';
|
5
5
|
import { Label } from '@servicetitan/form';
|
6
6
|
export function getTextEditableCell({ placeholder, isDisabled, } = {}) {
|
7
|
-
const Editor = observer(({ fieldState: { value, onChange, hasError, error }, dataItem, className }) => {
|
7
|
+
const Editor = observer(({ fieldState: { value, onChange, hasError, error }, dataItem, className, tdProps }) => {
|
8
8
|
const handleChange = (event) => {
|
9
9
|
if (typeof event.target.value === 'string') {
|
10
10
|
onChange(event.target.value);
|
11
11
|
}
|
12
12
|
};
|
13
|
-
return (_jsxs("td", { className: className, children: [_jsx(Input, { value: value, onChange: handleChange, valid: !hasError, placeholder: placeholder, disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(dataItem) }), hasError && _jsx(Label, { label: "", hasError: true, error: error })] }));
|
13
|
+
return (_jsxs("td", { className: className, ...tdProps, children: [_jsx(Input, { value: value, onChange: handleChange, valid: !hasError, placeholder: placeholder, disabled: isDisabled === null || isDisabled === void 0 ? void 0 : isDisabled(dataItem) }), hasError && _jsx(Label, { label: "", hasError: true, error: error })] }));
|
14
14
|
});
|
15
15
|
return getEditableCell({
|
16
16
|
editor: Editor,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"text-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/text-editable-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAoB,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,mBAAmB,CAAI,EACnC,WAAW,EACX,UAAU,MACoB,EAAE;IAChC,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,EAAE;
|
1
|
+
{"version":3,"file":"text-editable-cell.js","sourceRoot":"","sources":["../../src/editable-cell/text-editable-cell.tsx"],"names":[],"mappings":";AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,KAAK,EAAoB,MAAM,8BAA8B,CAAC;AAEvE,OAAO,EAAE,eAAe,EAAe,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAO3C,MAAM,UAAU,mBAAmB,CAAI,EACnC,WAAW,EACX,UAAU,MACoB,EAAE;IAChC,MAAM,MAAM,GAAG,QAAQ,CACnB,CAAC,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,EAAE;QACnF,MAAM,YAAY,GAAG,CAAC,KAAuB,EAAE,EAAE;YAC7C,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACzC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,CACH,cAAI,SAAS,EAAE,SAAS,KAAM,OAAO,aACjC,KAAC,KAAK,IACF,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,CAAC,QAAQ,EAChB,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,QAAQ,CAAC,GAClC,EACD,QAAQ,IAAI,KAAC,KAAK,IAAC,KAAK,EAAC,EAAE,EAAC,QAAQ,QAAC,KAAK,EAAE,KAAK,GAAI,IACrD,CACR,CAAC;IACN,CAAC,CACJ,CAAC;IAEF,OAAO,eAAe,CAAC;QACnB,MAAM,EAAE,MAAM;KACjB,CAAC,CAAC;AACP,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,EAAE,CAAC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-cell.d.ts","sourceRoot":"","sources":["../../src/select-cell/select-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AACtE,OAAO,EACH,cAAc,EACd,oBAAoB,EAEpB,aAAa,EAChB,MAAM,6BAA6B,CAAC;
|
1
|
+
{"version":3,"file":"select-cell.d.ts","sourceRoot":"","sources":["../../src/select-cell/select-cell.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,EAAE,EAAc,MAAM,OAAO,CAAC;AACtE,OAAO,EACH,cAAc,EACd,oBAAoB,EAEpB,aAAa,EAChB,MAAM,6BAA6B,CAAC;AAKrC,MAAM,MAAM,oBAAoB,GAAG,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;AAEvE,UAAU,qBAAsB,SAAQ,cAAc;IAClD,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,UAAU,qBAAsB,SAAQ,oBAAoB;IACxD,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,UAAU,eAAe;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE;QAAE,cAAc,EAAE,cAAc,CAAC,GAAG,CAAC,CAAA;KAAE,KAAK,IAAI,CAAC;IAC3E,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAClC;AAED,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAa1C,CAAC;AAGF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CA4BtD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,EAAE,CAAC,qBAAqB,CAOtD,CAAC"}
|
@@ -2,6 +2,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { Checkbox, } from '@servicetitan/design-system';
|
3
3
|
import classNames from 'classnames';
|
4
4
|
import * as Styles from './select-cell.module.css';
|
5
|
+
import { useTdProps } from '../utils/use-td-props';
|
5
6
|
export const SelectCell = ({ selectionChange, control: Control = Checkbox, ...props }) => {
|
6
7
|
const onChange = (_0, _1, event) => {
|
7
8
|
if (!selectionChange) {
|
@@ -13,15 +14,16 @@ export const SelectCell = ({ selectionChange, control: Control = Checkbox, ...pr
|
|
13
14
|
};
|
14
15
|
const stopPropagation = (e) => e.stopPropagation();
|
15
16
|
export const SelectColumnCell = (props) => {
|
17
|
+
const tdProps = useTdProps(props);
|
16
18
|
if (props.rowType === 'groupHeader') {
|
17
19
|
return null;
|
18
20
|
}
|
19
21
|
if (props.rowType === 'groupFooter') {
|
20
|
-
return _jsx("td", {});
|
22
|
+
return _jsx("td", { ...tdProps });
|
21
23
|
}
|
22
24
|
return (_jsx("td", { style: props.style,
|
23
25
|
// prevent onRowClick when user misses row selection
|
24
|
-
onClick: stopPropagation, className: classNames(props.className, 'cursor-default-i'), children: _jsx(SelectCell, { checked: props.dataItem.selected, disabled: !props.isRowSelectable, selectionChange: props.selectionChange, indeterminate: props.dataItem.indeterminate, control: props.control }) }));
|
26
|
+
onClick: stopPropagation, className: classNames(props.className, 'cursor-default-i'), ...tdProps, children: _jsx(SelectCell, { checked: props.dataItem.selected, disabled: !props.isRowSelectable, selectionChange: props.selectionChange, indeterminate: props.dataItem.indeterminate, control: props.control }) }));
|
25
27
|
};
|
26
28
|
export const SelectHeaderCell = (props) => (_jsx(SelectCell, { checked: props.selectionValue, indeterminate: props.isSomeRowsSelected, selectionChange: props.selectionChange, control: props.control }));
|
27
29
|
//# sourceMappingURL=select-cell.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"select-cell.js","sourceRoot":"","sources":["../../src/select-cell/select-cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAGH,QAAQ,GAEX,MAAM,6BAA6B,CAAC;AACrC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AAsBnD,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAC5C,eAAe,EACf,OAAO,EAAE,OAAO,GAAG,QAAQ,EAC3B,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAW,EAAE,KAAuC,EAAE,EAAE;QACjF,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,eAAe,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO,KAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,GAAI,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAmC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,KAA4B,EAAE,EAAE;IACxF,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO,
|
1
|
+
{"version":3,"file":"select-cell.js","sourceRoot":"","sources":["../../src/select-cell/select-cell.tsx"],"names":[],"mappings":";AACA,OAAO,EAGH,QAAQ,GAEX,MAAM,6BAA6B,CAAC;AACrC,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,MAAM,0BAA0B,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAsBnD,MAAM,CAAC,MAAM,UAAU,GAAwB,CAAC,EAC5C,eAAe,EACf,OAAO,EAAE,OAAO,GAAG,QAAQ,EAC3B,GAAG,KAAK,EACM,EAAE,EAAE;IAClB,MAAM,QAAQ,GAAG,CAAC,EAAS,EAAE,EAAW,EAAE,KAAuC,EAAE,EAAE;QACjF,IAAI,CAAC,eAAe,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,eAAe,CAAC,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC,CAAC;IAC/C,CAAC,CAAC;IAEF,OAAO,KAAC,OAAO,IAAC,SAAS,EAAE,MAAM,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,KAAM,KAAK,GAAI,CAAC;AAClF,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAC,CAAmC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;AACrF,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,KAA4B,EAAE,EAAE;IACxF,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAElC,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,KAAK,aAAa,EAAE,CAAC;QAClC,OAAO,gBAAQ,OAAO,GAAI,CAAC;IAC/B,CAAC;IAED,OAAO,CACH,aACI,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,oDAAoD;QACpD,OAAO,EAAE,eAAe,EACxB,SAAS,EAAE,UAAU,CAAC,KAAK,CAAC,SAAS,EAAE,kBAAkB,CAAC,KACtD,OAAO,YAEX,KAAC,UAAU,IACP,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAChC,QAAQ,EAAE,CAAC,KAAK,CAAC,eAAe,EAChC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,aAAa,EAAE,KAAK,CAAC,QAAQ,CAAC,aAAa,EAC3C,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,GACD,CACR,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAA8B,CAAC,KAA4B,EAAE,EAAE,CAAC,CACzF,KAAC,UAAU,IACP,OAAO,EAAE,KAAK,CAAC,cAAc,EAC7B,aAAa,EAAE,KAAK,CAAC,kBAAkB,EACvC,eAAe,EAAE,KAAK,CAAC,eAAe,EACtC,OAAO,EAAE,KAAK,CAAC,OAAO,GACxB,CACL,CAAC"}
|
package/dist/table.d.ts
CHANGED
@@ -1,10 +1,14 @@
|
|
1
|
-
import { Component, ReactNode, ReactElement, ComponentType } from 'react';
|
1
|
+
import { Component, ReactNode, ReactElement, ComponentType, ComponentProps } from 'react';
|
2
2
|
import { TableProps as AnvilTableProps, TableRowProps, TableColumnProps as AnvilTableColumnProps, TableCellProps as AnvilTableCellProps, TableHeaderSelectionChangeEvent, TableSelectionChangeEvent, TablePagerSettings } from '@servicetitan/design-system';
|
3
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
3
4
|
import { IdType } from '@servicetitan/data-query';
|
4
5
|
import { TableState } from './table-state';
|
5
6
|
import { SelectionControlType } from './select-cell/select-cell';
|
6
7
|
export interface TableCellProps<T = never, TId extends IdType = any, P = never, PId extends IdType = never> extends AnvilTableCellProps {
|
7
8
|
tableState?: TableState<T, TId, P, PId>;
|
9
|
+
tdProps: ComponentProps<'td'> & {
|
10
|
+
[GRID_COL_INDEX_ATTRIBUTE]?: number;
|
11
|
+
};
|
8
12
|
}
|
9
13
|
interface TableColumnProps<T = never, TId extends IdType = any, P = never, PId extends IdType = never> extends AnvilTableColumnProps {
|
10
14
|
cell?: ComponentType<TableCellProps<T, TId, P, PId>>;
|
package/dist/table.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EAKT,SAAS,EACT,YAAY,EACZ,aAAa,
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../src/table.tsx"],"names":[],"mappings":"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"}
|
package/dist/table.js
CHANGED
@@ -14,12 +14,14 @@ import { operators as kendoOperators } from '@progress/kendo-react-grid/dist/npm
|
|
14
14
|
import { GridPDFExport as TablePDFExport } from '@progress/kendo-react-pdf';
|
15
15
|
import { ExcelExport } from '@progress/kendo-react-excel-export';
|
16
16
|
import { observer } from 'mobx-react';
|
17
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
17
18
|
import { AsyncDataSource } from '@servicetitan/data-query';
|
18
19
|
import { SelectColumnCell, SelectHeaderCell, } from './select-cell/select-cell';
|
19
20
|
import memoizeOne from 'memoize-one';
|
20
21
|
import classNames from 'classnames';
|
21
22
|
import * as Styles from './table.module.css';
|
22
23
|
import { action, makeObservable, observable } from 'mobx';
|
24
|
+
import { useTdProps } from './utils/use-td-props';
|
23
25
|
const { text: textOperators, ...operators } = kendoOperators;
|
24
26
|
operators.text = [
|
25
27
|
...textOperators.filter(o => o.operator !== 'isnull' && o.operator !== 'isnotnull'),
|
@@ -223,7 +225,10 @@ let Table = class Table extends Component {
|
|
223
225
|
if (!Cell) {
|
224
226
|
return undefined;
|
225
227
|
}
|
226
|
-
const CellWithTableState = (props) =>
|
228
|
+
const CellWithTableState = (props) => {
|
229
|
+
const tdProps = useTdProps(props);
|
230
|
+
return _jsx(Cell, { ...props, tableState: this.tableState, tdProps: tdProps });
|
231
|
+
};
|
227
232
|
CellWithTableState.displayName = 'CellWithTableState';
|
228
233
|
if (field) {
|
229
234
|
if (this.customCellMap.has(field)) {
|
package/dist/table.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.tsx"],"names":[],"mappings":";;;;;;;;;;AAAA,OAAO,EACH,cAAc,EACd,SAAS,EACT,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,QAAQ,
|
1
|
+
{"version":3,"file":"table.js","sourceRoot":"","sources":["../src/table.tsx"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import { TableCellProps } from '@servicetitan/design-system';
|
2
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
3
|
+
import { ComponentProps } from 'react';
|
4
|
+
declare const useTdProps: ({ id, colSpan, ariaColumnIndex, isSelected, columnIndex, }: TableCellProps) => ComponentProps<"td"> & {
|
5
|
+
[GRID_COL_INDEX_ATTRIBUTE]?: number;
|
6
|
+
};
|
7
|
+
export { useTdProps };
|
8
|
+
//# sourceMappingURL=use-td-props.d.ts.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-td-props.d.ts","sourceRoot":"","sources":["../../src/utils/use-td-props.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAE7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAEvC,QAAA,MAAM,UAAU,GAAI,4DAMjB,cAAc,KAAG,cAAc,CAAC,IAAI,CAAC,GAAG;IACvC,CAAC,wBAAwB,CAAC,CAAC,EAAE,MAAM,CAAC;CAWvC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
@@ -0,0 +1,15 @@
|
|
1
|
+
import { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';
|
2
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
3
|
+
const useTdProps = ({ id, colSpan, ariaColumnIndex, isSelected, columnIndex, }) => {
|
4
|
+
const navigationAttributes = useTableKeyboardNavigation(id);
|
5
|
+
return {
|
6
|
+
colSpan,
|
7
|
+
'role': 'gridcell',
|
8
|
+
'aria-colindex': ariaColumnIndex,
|
9
|
+
'aria-selected': isSelected,
|
10
|
+
[GRID_COL_INDEX_ATTRIBUTE]: columnIndex,
|
11
|
+
...navigationAttributes,
|
12
|
+
};
|
13
|
+
};
|
14
|
+
export { useTdProps };
|
15
|
+
//# sourceMappingURL=use-td-props.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"use-td-props.js","sourceRoot":"","sources":["../../src/utils/use-td-props.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,kCAAkC,CAAC;AAC9E,OAAO,EAAE,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AAGtE,MAAM,UAAU,GAAG,CAAC,EAChB,EAAE,EACF,OAAO,EACP,eAAe,EACf,UAAU,EACV,WAAW,GACE,EAEf,EAAE;IACA,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,EAAE,CAAC,CAAC;IAC5D,OAAO;QACH,OAAO;QACP,MAAM,EAAE,UAAU;QAClB,eAAe,EAAE,eAAe;QAChC,eAAe,EAAE,UAAU;QAC3B,CAAC,wBAAwB,CAAC,EAAE,WAAW;QACvC,GAAG,oBAAoB;KAC1B,CAAC;AACN,CAAC,CAAC;AAEF,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@servicetitan/table",
|
3
|
-
"version": "29.
|
3
|
+
"version": "29.3.0",
|
4
4
|
"description": "",
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/table",
|
6
6
|
"repository": {
|
@@ -23,14 +23,15 @@
|
|
23
23
|
"memoize-one": "~6.0.0"
|
24
24
|
},
|
25
25
|
"devDependencies": {
|
26
|
+
"@progress/kendo-react-data-tools": "~5.5.0",
|
26
27
|
"@progress/kendo-react-dateinputs": "~5.5.0",
|
27
28
|
"@progress/kendo-react-dropdowns": "~5.5.0",
|
28
29
|
"@progress/kendo-react-grid": "~5.5.0",
|
29
30
|
"@progress/kendo-react-inputs": "~5.5.0",
|
30
31
|
"@progress/kendo-react-pdf": "~5.5.0",
|
31
|
-
"@servicetitan/data-query": "^29.
|
32
|
+
"@servicetitan/data-query": "^29.3.0",
|
32
33
|
"@servicetitan/design-system": "~14.5.1",
|
33
|
-
"@servicetitan/form": "^29.
|
34
|
+
"@servicetitan/form": "^29.3.0",
|
34
35
|
"@servicetitan/react-ioc": "^30.0.0",
|
35
36
|
"@servicetitan/suppress-warnings": "^30.0.0",
|
36
37
|
"@types/accounting": "~0.4.2",
|
@@ -44,14 +45,15 @@
|
|
44
45
|
"react": "~18.2.0"
|
45
46
|
},
|
46
47
|
"peerDependencies": {
|
48
|
+
"@progress/kendo-react-data-tools": "~5.5.0",
|
47
49
|
"@progress/kendo-react-dateinputs": "~5.5.0",
|
48
50
|
"@progress/kendo-react-dropdowns": "~5.5.0",
|
49
51
|
"@progress/kendo-react-grid": "~5.5.0",
|
50
52
|
"@progress/kendo-react-inputs": "~5.5.0",
|
51
53
|
"@progress/kendo-react-pdf": "~5.5.0",
|
52
|
-
"@servicetitan/data-query": "^29.
|
54
|
+
"@servicetitan/data-query": "^29.3.0",
|
53
55
|
"@servicetitan/design-system": ">=13.2.1",
|
54
|
-
"@servicetitan/form": "^29.
|
56
|
+
"@servicetitan/form": "^29.3.0",
|
55
57
|
"@servicetitan/react-ioc": ">21.0.0",
|
56
58
|
"@servicetitan/suppress-warnings": ">21.0.0",
|
57
59
|
"accounting": "~0.4.1",
|
@@ -68,5 +70,5 @@
|
|
68
70
|
"cli": {
|
69
71
|
"webpack": false
|
70
72
|
},
|
71
|
-
"gitHead": "
|
73
|
+
"gitHead": "74e0e53c158e056b8fc19167cf34e8efacedc87e"
|
72
74
|
}
|
@@ -7,11 +7,9 @@ import { TableStore } from './table.store';
|
|
7
7
|
import { Supplier } from './product';
|
8
8
|
import { TableCell } from '@servicetitan/design-system';
|
9
9
|
|
10
|
-
const SupplierCell: FC<TableCellProps> =
|
11
|
-
|
12
|
-
|
13
|
-
return <td>{Supplier[dataItem[field!]]}</td>;
|
14
|
-
};
|
10
|
+
const SupplierCell: FC<TableCellProps> = ({ field, dataItem, tdProps }) => (
|
11
|
+
<td {...tdProps}>{Supplier[dataItem[field!]]}</td>
|
12
|
+
);
|
15
13
|
|
16
14
|
const columns = [
|
17
15
|
{ field: 'ProductID', title: 'ID', minWidth: 50 },
|
@@ -57,8 +57,6 @@ export const categories: Category[] = [
|
|
57
57
|
},
|
58
58
|
];
|
59
59
|
|
60
|
-
export const CategoryCell: FC<TableCellProps> =
|
61
|
-
|
62
|
-
|
63
|
-
return <td>{categories.find(c => c.CategoryID === dataItem[field!])?.CategoryName}</td>;
|
64
|
-
};
|
60
|
+
export const CategoryCell: FC<TableCellProps> = ({ field, dataItem, tdProps }) => (
|
61
|
+
<td {...tdProps}>{categories.find(c => c.CategoryID === dataItem[field!])?.CategoryName}</td>
|
62
|
+
);
|
@@ -9,11 +9,9 @@ import { TableStore } from './table.store';
|
|
9
9
|
import { categories, CategoryCell } from './categories';
|
10
10
|
import { Product } from '../overview/product';
|
11
11
|
|
12
|
-
export const PackageCell: FC<TableCellProps> =
|
13
|
-
|
14
|
-
|
15
|
-
return <td>{dataItem?.Package?.PackageName}</td>;
|
16
|
-
};
|
12
|
+
export const PackageCell: FC<TableCellProps> = ({ dataItem, tdProps }) => (
|
13
|
+
<td {...tdProps}>{dataItem?.Package?.PackageName}</td>
|
14
|
+
);
|
17
15
|
|
18
16
|
export const SelectAsyncExample: FC = provide({
|
19
17
|
singletons: [TableStore],
|
@@ -10,7 +10,7 @@ import { MasterTableStore } from './master-table.store';
|
|
10
10
|
|
11
11
|
import { DetailTable } from './detail-table';
|
12
12
|
|
13
|
-
const ExpandCell: FC<TableCellProps> = ({ tableState, dataItem }) => {
|
13
|
+
const ExpandCell: FC<TableCellProps> = ({ tableState, dataItem, tdProps }) => {
|
14
14
|
const handleExpandChange = () => {
|
15
15
|
tableState!.handleExpandChange({
|
16
16
|
dataItem,
|
@@ -19,7 +19,7 @@ const ExpandCell: FC<TableCellProps> = ({ tableState, dataItem }) => {
|
|
19
19
|
};
|
20
20
|
|
21
21
|
return (
|
22
|
-
<td>
|
22
|
+
<td {...tdProps}>
|
23
23
|
<Button full text primary onClick={handleExpandChange}>
|
24
24
|
Show / Hide
|
25
25
|
</Button>
|
@@ -6,15 +6,15 @@ import { TableCellProps, getActionCell, EditActionProps } from '../..';
|
|
6
6
|
|
7
7
|
import { Product } from './product';
|
8
8
|
|
9
|
-
const ViewAction: FC<TableCellProps<Product>> = ({ tableState, dataItem }) => {
|
9
|
+
const ViewAction: FC<TableCellProps<Product>> = ({ tableState, dataItem, tdProps }) => {
|
10
10
|
if (!tableState) {
|
11
|
-
return <td />;
|
11
|
+
return <td {...tdProps} />;
|
12
12
|
}
|
13
13
|
|
14
14
|
const edit = () => tableState.edit(dataItem);
|
15
15
|
|
16
16
|
return (
|
17
|
-
<td>
|
17
|
+
<td {...tdProps}>
|
18
18
|
<Button text primary onClick={edit}>
|
19
19
|
<Icon name="edit" />
|
20
20
|
</Button>
|
@@ -22,9 +22,9 @@ const ViewAction: FC<TableCellProps<Product>> = ({ tableState, dataItem }) => {
|
|
22
22
|
);
|
23
23
|
};
|
24
24
|
|
25
|
-
const EditAction: FC<EditActionProps<Product>> = ({ tableState, formState, dataItem }) => {
|
25
|
+
const EditAction: FC<EditActionProps<Product>> = ({ tableState, formState, dataItem, tdProps }) => {
|
26
26
|
if (!tableState) {
|
27
|
-
return <td />;
|
27
|
+
return <td {...tdProps} />;
|
28
28
|
}
|
29
29
|
|
30
30
|
const save = async () => {
|
@@ -39,7 +39,7 @@ const EditAction: FC<EditActionProps<Product>> = ({ tableState, formState, dataI
|
|
39
39
|
const cancel = () => tableState.cancelEdit(dataItem);
|
40
40
|
|
41
41
|
return (
|
42
|
-
<td>
|
42
|
+
<td {...tdProps}>
|
43
43
|
<Stack justifyContent="space-between">
|
44
44
|
<Button text onClick={cancel}>
|
45
45
|
<Icon name="do_not_disturb" />
|
@@ -39,28 +39,28 @@ const UserRoleColumnMenuFilter = multiSelectColumnMenuFilter(getEnumKeys(UserRol
|
|
39
39
|
|
40
40
|
const AvailableForEditableCell = getSelectEditableCell({
|
41
41
|
options: enumToOptions(UserRole),
|
42
|
-
viewer: ({ dataItem, field }) => {
|
42
|
+
viewer: ({ dataItem, field, tdProps }) => {
|
43
43
|
const value = dataItem[field!];
|
44
44
|
|
45
|
-
return <td>{value && UserRole[value]}</td>;
|
45
|
+
return <td {...tdProps}>{value && UserRole[value]}</td>;
|
46
46
|
},
|
47
47
|
});
|
48
48
|
|
49
49
|
const SupplierCell: FC<TableCellProps> = props => {
|
50
|
-
const { field, dataItem, rowType } = props;
|
50
|
+
const { field, dataItem, rowType, tdProps } = props;
|
51
51
|
|
52
52
|
if (rowType !== 'data') {
|
53
53
|
return <TableCell {...props} />;
|
54
54
|
}
|
55
55
|
|
56
|
-
return <td>{Supplier[dataItem[field!]]}</td>;
|
56
|
+
return <td {...tdProps}>{Supplier[dataItem[field!]]}</td>;
|
57
57
|
};
|
58
58
|
|
59
59
|
// Implementation of a date editable cell utilizing getEditableCell
|
60
60
|
const DateEditor = observer<FC<EditorProps<Date | string | undefined>>>(
|
61
|
-
({ fieldState: { value, onChange, hasError }, className }) => {
|
61
|
+
({ fieldState: { value, onChange, hasError }, className, tdProps }) => {
|
62
62
|
return (
|
63
|
-
<td className={className}>
|
63
|
+
<td className={className} {...tdProps}>
|
64
64
|
<DatePicker value={value} onChange={onChange} error={hasError} />
|
65
65
|
</td>
|
66
66
|
);
|
@@ -72,8 +72,8 @@ export const DateEditableCell = getEditableCell({
|
|
72
72
|
|
73
73
|
// Implementation of a numeric editable cell utilizing getEditableCell
|
74
74
|
const NumberCellEditor: FC<EditorProps<number>> = observer(
|
75
|
-
({ fieldState: { value, hasError, onChange } }) => (
|
76
|
-
<td>
|
75
|
+
({ fieldState: { value, hasError, onChange }, tdProps }) => (
|
76
|
+
<td {...tdProps}>
|
77
77
|
<NumberInput
|
78
78
|
onChange={onChange}
|
79
79
|
type="number"
|
@@ -151,6 +151,7 @@ export const TableExample: FC = provide({
|
|
151
151
|
exportable
|
152
152
|
exportFileName="Table.Export.Test...File.Name.01.01.2020..~!@#$%^(*_+';"
|
153
153
|
cellRender={cellRender}
|
154
|
+
navigatable
|
154
155
|
>
|
155
156
|
<TableColumn field="ProductID" title="ID" editable={false} width="100px" />
|
156
157
|
|
@@ -8,7 +8,7 @@ export const RowExpandCell: FC<TableCellProps> = ({
|
|
8
8
|
expanded,
|
9
9
|
tableState,
|
10
10
|
className,
|
11
|
-
|
11
|
+
tdProps,
|
12
12
|
}) => {
|
13
13
|
const onCLick = useCallback(
|
14
14
|
(e: SyntheticEvent) => {
|
@@ -25,7 +25,7 @@ export const RowExpandCell: FC<TableCellProps> = ({
|
|
25
25
|
);
|
26
26
|
|
27
27
|
return (
|
28
|
-
<td className={className}
|
28
|
+
<td className={className} {...tdProps}>
|
29
29
|
<Button
|
30
30
|
iconName={expanded ? 'expand_less' : 'expand_more'}
|
31
31
|
aria-label="expand row"
|
@@ -6,13 +6,13 @@ import { Checkbox } from '@servicetitan/design-system';
|
|
6
6
|
import { getEditableCell, EditorProps } from './get-editable-cell';
|
7
7
|
|
8
8
|
const Editor = observer<FC<EditorProps<boolean>>>(
|
9
|
-
({ fieldState: { value, onChange }, className }) => {
|
9
|
+
({ fieldState: { value, onChange }, className, tdProps }) => {
|
10
10
|
const handleChange = (_0: never, checked: boolean) => {
|
11
11
|
onChange(checked);
|
12
12
|
};
|
13
13
|
|
14
14
|
return (
|
15
|
-
<td className={className}>
|
15
|
+
<td className={className} {...tdProps}>
|
16
16
|
<Checkbox checked={value} onChange={handleChange} style={{ marginRight: 0 }} />
|
17
17
|
</td>
|
18
18
|
);
|
@@ -18,7 +18,7 @@ interface GetSelectEditableCellParams<T> {
|
|
18
18
|
|
19
19
|
export function getSelectEditableCell<T>({ options, viewer }: GetSelectEditableCellParams<T>) {
|
20
20
|
const Editor = observer<FC<EditorProps<T>>>(
|
21
|
-
({ fieldState: { value, onChange, hasError, error }, className }) => {
|
21
|
+
({ fieldState: { value, onChange, hasError, error }, className, tdProps }) => {
|
22
22
|
const selected = options.find(option => option.value === value);
|
23
23
|
|
24
24
|
const handleChange = (event: DropDownListChangeEvent) => {
|
@@ -26,7 +26,7 @@ export function getSelectEditableCell<T>({ options, viewer }: GetSelectEditableC
|
|
26
26
|
};
|
27
27
|
|
28
28
|
return (
|
29
|
-
<td className={classNames('of-visible', className)}>
|
29
|
+
<td className={classNames('of-visible', className)} {...tdProps}>
|
30
30
|
<DropDownList
|
31
31
|
data={options}
|
32
32
|
value={selected}
|
@@ -18,7 +18,7 @@ export function getTextEditableCell<T>({
|
|
18
18
|
isDisabled,
|
19
19
|
}: GetTextEditableCellParams<T> = {}) {
|
20
20
|
const Editor = observer<FC<EditorProps<string>>>(
|
21
|
-
({ fieldState: { value, onChange, hasError, error }, dataItem, className }) => {
|
21
|
+
({ fieldState: { value, onChange, hasError, error }, dataItem, className, tdProps }) => {
|
22
22
|
const handleChange = (event: InputChangeEvent) => {
|
23
23
|
if (typeof event.target.value === 'string') {
|
24
24
|
onChange(event.target.value);
|
@@ -26,7 +26,7 @@ export function getTextEditableCell<T>({
|
|
26
26
|
};
|
27
27
|
|
28
28
|
return (
|
29
|
-
<td className={className}>
|
29
|
+
<td className={className} {...tdProps}>
|
30
30
|
<Input
|
31
31
|
value={value}
|
32
32
|
onChange={handleChange}
|
@@ -7,6 +7,7 @@ import {
|
|
7
7
|
} from '@servicetitan/design-system';
|
8
8
|
import classNames from 'classnames';
|
9
9
|
import * as Styles from './select-cell.module.css';
|
10
|
+
import { useTdProps } from '../utils/use-td-props';
|
10
11
|
|
11
12
|
export type SelectionControlType = ComponentType<CheckboxProps<never>>;
|
12
13
|
|
@@ -45,12 +46,14 @@ export const SelectCell: FC<SelectCellProps> = ({
|
|
45
46
|
|
46
47
|
const stopPropagation = (e: MouseEvent<HTMLTableCellElement>) => e.stopPropagation();
|
47
48
|
export const SelectColumnCell: FC<SelectColumnCellProps> = (props: SelectColumnCellProps) => {
|
49
|
+
const tdProps = useTdProps(props);
|
50
|
+
|
48
51
|
if (props.rowType === 'groupHeader') {
|
49
52
|
return null;
|
50
53
|
}
|
51
54
|
|
52
55
|
if (props.rowType === 'groupFooter') {
|
53
|
-
return <td />;
|
56
|
+
return <td {...tdProps} />;
|
54
57
|
}
|
55
58
|
|
56
59
|
return (
|
@@ -59,6 +62,7 @@ export const SelectColumnCell: FC<SelectColumnCellProps> = (props: SelectColumnC
|
|
59
62
|
// prevent onRowClick when user misses row selection
|
60
63
|
onClick={stopPropagation}
|
61
64
|
className={classNames(props.className, 'cursor-default-i')}
|
65
|
+
{...tdProps}
|
62
66
|
>
|
63
67
|
<SelectCell
|
64
68
|
checked={props.dataItem.selected}
|
package/src/table.tsx
CHANGED
@@ -9,6 +9,7 @@ import {
|
|
9
9
|
ReactElement,
|
10
10
|
ComponentType,
|
11
11
|
FC,
|
12
|
+
ComponentProps,
|
12
13
|
} from 'react';
|
13
14
|
import {
|
14
15
|
Announcement,
|
@@ -27,6 +28,7 @@ import { operators as kendoOperators } from '@progress/kendo-react-grid/dist/npm
|
|
27
28
|
import { GridPDFExport as TablePDFExport } from '@progress/kendo-react-pdf';
|
28
29
|
import { ExcelExport } from '@progress/kendo-react-excel-export';
|
29
30
|
import { observer } from 'mobx-react';
|
31
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
30
32
|
|
31
33
|
import { AsyncDataSource, IdType } from '@servicetitan/data-query';
|
32
34
|
import { TableState, Selectable } from './table-state';
|
@@ -40,6 +42,7 @@ import memoizeOne from 'memoize-one';
|
|
40
42
|
import classNames from 'classnames';
|
41
43
|
import * as Styles from './table.module.css';
|
42
44
|
import { action, makeObservable, observable } from 'mobx';
|
45
|
+
import { useTdProps } from './utils/use-td-props';
|
43
46
|
|
44
47
|
const { text: textOperators, ...operators } = kendoOperators;
|
45
48
|
operators.text = [
|
@@ -68,6 +71,9 @@ export interface TableCellProps<
|
|
68
71
|
PId extends IdType = never,
|
69
72
|
> extends AnvilTableCellProps {
|
70
73
|
tableState?: TableState<T, TId, P, PId>;
|
74
|
+
tdProps: ComponentProps<'td'> & {
|
75
|
+
[GRID_COL_INDEX_ATTRIBUTE]?: number;
|
76
|
+
};
|
71
77
|
}
|
72
78
|
|
73
79
|
interface TableColumnProps<
|
@@ -408,7 +414,10 @@ export class Table<
|
|
408
414
|
|
409
415
|
const CellWithTableState: FC<TableCellProps<T, TId, P, PId>> = (
|
410
416
|
props: TableCellProps<T, TId, P, PId>
|
411
|
-
) =>
|
417
|
+
) => {
|
418
|
+
const tdProps = useTdProps(props);
|
419
|
+
return <Cell {...props} tableState={this.tableState} tdProps={tdProps} />;
|
420
|
+
};
|
412
421
|
CellWithTableState.displayName = 'CellWithTableState';
|
413
422
|
|
414
423
|
if (field) {
|
@@ -0,0 +1,26 @@
|
|
1
|
+
import { TableCellProps } from '@servicetitan/design-system';
|
2
|
+
import { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';
|
3
|
+
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
4
|
+
import { ComponentProps } from 'react';
|
5
|
+
|
6
|
+
const useTdProps = ({
|
7
|
+
id,
|
8
|
+
colSpan,
|
9
|
+
ariaColumnIndex,
|
10
|
+
isSelected,
|
11
|
+
columnIndex,
|
12
|
+
}: TableCellProps): ComponentProps<'td'> & {
|
13
|
+
[GRID_COL_INDEX_ATTRIBUTE]?: number;
|
14
|
+
} => {
|
15
|
+
const navigationAttributes = useTableKeyboardNavigation(id);
|
16
|
+
return {
|
17
|
+
colSpan,
|
18
|
+
'role': 'gridcell',
|
19
|
+
'aria-colindex': ariaColumnIndex,
|
20
|
+
'aria-selected': isSelected,
|
21
|
+
[GRID_COL_INDEX_ATTRIBUTE]: columnIndex,
|
22
|
+
...navigationAttributes,
|
23
|
+
};
|
24
|
+
};
|
25
|
+
|
26
|
+
export { useTdProps };
|