@servicetitan/table 31.2.0 → 32.0.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/index.js +1 -0
- package/dist/demo/column-hiding/index.js.map +1 -1
- package/dist/demo/column-hiding/product.js +7 -6
- package/dist/demo/column-hiding/product.js.map +1 -1
- package/dist/demo/column-hiding/products.js +12 -11
- package/dist/demo/column-hiding/products.js.map +1 -1
- package/dist/demo/column-hiding/table.js +126 -32
- package/dist/demo/column-hiding/table.js.map +1 -1
- package/dist/demo/column-hiding/table.store.js +30 -27
- package/dist/demo/column-hiding/table.store.js.map +1 -1
- package/dist/demo/filters/async-select-filter.js +59 -12
- package/dist/demo/filters/async-select-filter.js.map +1 -1
- package/dist/demo/filters/categories.js +20 -16
- package/dist/demo/filters/categories.js.map +1 -1
- package/dist/demo/filters/multiselect-filter.js +37 -5
- package/dist/demo/filters/multiselect-filter.js.map +1 -1
- package/dist/demo/filters/range-filter.js +104 -10
- package/dist/demo/filters/range-filter.js.map +1 -1
- package/dist/demo/filters/select-filter.js +139 -41
- package/dist/demo/filters/select-filter.js.map +1 -1
- package/dist/demo/filters/single-select-filter.js +109 -18
- package/dist/demo/filters/single-select-filter.js.map +1 -1
- package/dist/demo/filters/table.store.js +77 -86
- package/dist/demo/filters/table.store.js.map +1 -1
- package/dist/demo/footer-page-size/index.js +1 -0
- package/dist/demo/footer-page-size/index.js.map +1 -1
- package/dist/demo/footer-page-size/table.js +82 -6
- package/dist/demo/footer-page-size/table.js.map +1 -1
- package/dist/demo/index.js +1 -0
- package/dist/demo/index.js.map +1 -1
- package/dist/demo/master-detail/detail-table.js +41 -9
- package/dist/demo/master-detail/detail-table.js.map +1 -1
- package/dist/demo/master-detail/detail-table.store.js +60 -56
- package/dist/demo/master-detail/detail-table.store.js.map +1 -1
- package/dist/demo/master-detail/index.js +1 -0
- package/dist/demo/master-detail/index.js.map +1 -1
- package/dist/demo/master-detail/master-table.store.js +65 -61
- package/dist/demo/master-detail/master-table.store.js.map +1 -1
- package/dist/demo/master-detail/product-detail.js +2 -1
- package/dist/demo/master-detail/product-detail.js.map +1 -1
- package/dist/demo/master-detail/product-details.js +10 -9
- package/dist/demo/master-detail/product-details.js.map +1 -1
- package/dist/demo/master-detail/product.js +7 -6
- package/dist/demo/master-detail/product.js.map +1 -1
- package/dist/demo/master-detail/products.js +12 -11
- package/dist/demo/master-detail/products.js.map +1 -1
- package/dist/demo/master-detail/table-master-detail.js +39 -8
- package/dist/demo/master-detail/table-master-detail.js.map +1 -1
- package/dist/demo/overview/actions-cell.js +47 -10
- package/dist/demo/overview/actions-cell.js.map +1 -1
- package/dist/demo/overview/index.js +1 -0
- package/dist/demo/overview/index.js.map +1 -1
- package/dist/demo/overview/product.js +7 -6
- package/dist/demo/overview/product.js.map +1 -1
- package/dist/demo/overview/products.js +15 -14
- package/dist/demo/overview/products.js.map +1 -1
- package/dist/demo/overview/table.js +176 -21
- package/dist/demo/overview/table.js.map +1 -1
- package/dist/demo/overview/table.store.js +45 -51
- package/dist/demo/overview/table.store.js.map +1 -1
- package/dist/demo/row-details/index.js +1 -0
- package/dist/demo/row-details/index.js.map +1 -1
- package/dist/demo/row-details/row-details-table.js +52 -5
- package/dist/demo/row-details/row-details-table.js.map +1 -1
- package/dist/demo/row-details/row-details-table.store.js +27 -19
- package/dist/demo/row-details/row-details-table.store.js.map +1 -1
- package/dist/demo/state-caching/beverages.js +11 -10
- package/dist/demo/state-caching/beverages.js.map +1 -1
- package/dist/demo/state-caching/index.js +1 -0
- package/dist/demo/state-caching/index.js.map +1 -1
- package/dist/demo/state-caching/product.js +2 -1
- package/dist/demo/state-caching/product.js.map +1 -1
- package/dist/demo/state-caching/products.js +12 -11
- package/dist/demo/state-caching/products.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.js +44 -3
- package/dist/demo/state-caching/state-caching-table.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.store.js +42 -54
- package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
- package/dist/details/expand-column.js +31 -7
- package/dist/details/expand-column.js.map +1 -1
- package/dist/details/index.js +1 -0
- package/dist/details/index.js.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.js +15 -4
- package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-action-cell.js +14 -7
- package/dist/editable-cell/get-action-cell.js.map +1 -1
- package/dist/editable-cell/get-editable-cell.js +16 -8
- package/dist/editable-cell/get-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.js +19 -5
- package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
- package/dist/editable-cell/index.js +1 -0
- package/dist/editable-cell/index.js.map +1 -1
- package/dist/editable-cell/text-editable-cell.js +23 -5
- package/dist/editable-cell/text-editable-cell.js.map +1 -1
- package/dist/export/export.js +38 -1
- package/dist/export/export.js.map +1 -1
- package/dist/export/export.module.css.d.ts +3 -0
- package/dist/export/index.js +1 -0
- package/dist/export/index.js.map +1 -1
- package/dist/filters/async-select/async-select-filter.js +167 -132
- package/dist/filters/async-select/async-select-filter.js.map +1 -1
- package/dist/filters/column-menu-filters.js +39 -8
- package/dist/filters/column-menu-filters.js.map +1 -1
- package/dist/filters/datetime-filter/datetime-filter.js +73 -50
- package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
- package/dist/filters/field-values-filter.js +80 -72
- package/dist/filters/field-values-filter.js.map +1 -1
- package/dist/filters/index.js +1 -0
- package/dist/filters/index.js.map +1 -1
- package/dist/filters/multiselect-filter/multiselect-filter.js +77 -73
- package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js +10 -3
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js +39 -16
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
- package/dist/filters/range-filter/range-filter.js +76 -72
- package/dist/filters/range-filter/range-filter.js.map +1 -1
- package/dist/filters/select-filter/object-search.js +4 -3
- package/dist/filters/select-filter/object-search.js.map +1 -1
- package/dist/filters/select-filter/operators.js +6 -5
- package/dist/filters/select-filter/operators.js.map +1 -1
- package/dist/filters/select-filter/select-filter.js +180 -145
- package/dist/filters/select-filter/select-filter.js.map +1 -1
- package/dist/filters/select-filter/value-getter.js +2 -1
- package/dist/filters/select-filter/value-getter.js.map +1 -1
- package/dist/filters/single-select/single-select-filter.js +29 -15
- package/dist/filters/single-select/single-select-filter.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js +114 -67
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.module.css.d.ts +7 -0
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js +10 -3
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js +77 -55
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js +23 -10
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
- package/dist/filters/time-filter/time-filter.js +63 -49
- package/dist/filters/time-filter/time-filter.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/select-cell/index.js +1 -0
- package/dist/select-cell/index.js.map +1 -1
- package/dist/select-cell/select-cell.js +36 -11
- package/dist/select-cell/select-cell.js.map +1 -1
- package/dist/select-cell/select-cell.module.css.d.ts +3 -0
- package/dist/table-state.js +479 -660
- package/dist/table-state.js.map +1 -1
- package/dist/table.js +235 -250
- package/dist/table.js.map +1 -1
- package/dist/table.module.css.d.ts +5 -0
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js +97 -5
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js +71 -97
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js.map +1 -1
- package/dist/use-observing-table-state/index.js +1 -0
- package/dist/use-observing-table-state/index.js.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.js +26 -20
- package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
- package/dist/utils/filters.js +14 -9
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/use-td-props.js +3 -2
- package/dist/utils/use-td-props.js.map +1 -1
- package/package.json +13 -13
- package/dist/filters/async-select/async-select-filter.stories.js +0 -7
- package/dist/filters/async-select/async-select-filter.stories.js.map +0 -1
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js +0 -7
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js.map +0 -1
- package/dist/filters/range-filter/range-filter.stories.js +0 -9
- package/dist/filters/range-filter/range-filter.stories.js.map +0 -1
- package/dist/filters/select-filter/__tests__/object-search.test.js +0 -28
- package/dist/filters/select-filter/__tests__/object-search.test.js.map +0 -1
- package/dist/filters/select-filter/select-filter.stories.js +0 -8
- package/dist/filters/select-filter/select-filter.stories.js.map +0 -1
- package/dist/filters/single-select/single-select-filter.stories.js +0 -8
- package/dist/filters/single-select/single-select-filter.stories.js.map +0 -1
- package/dist/table.stories.js +0 -12
- package/dist/table.stories.js.map +0 -1
- package/dist/use-observing-table-state/use-observing-table-state.stories.js +0 -11
- package/dist/use-observing-table-state/use-observing-table-state.stories.js.map +0 -1
- package/dist/utils/__tests__/filters.test.js +0 -24
- package/dist/utils/__tests__/filters.test.js.map +0 -1
@@ -6,10 +6,102 @@ import { BodyText, Button, TableColumn } from '@servicetitan/design-system';
|
|
6
6
|
import { Table, useObservingTableState } from '../../../';
|
7
7
|
import { UseObservingTableStateDemoStore } from '../stores/use-observing-table-state-demo.store';
|
8
8
|
export const TableUseTableStateExample = provide({
|
9
|
-
singletons: [
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
9
|
+
singletons: [
|
10
|
+
UseObservingTableStateDemoStore
|
11
|
+
]
|
12
|
+
})(observer(({ resetPaginationMode })=>{
|
13
|
+
const [{ data, updateDataKeepRoot, updateDataChangeRoot, add5RowsWithKeepDataRoot, remove5RowsWithKeepDataRoot, add5RowsWithUpdateDataRoot, remove5RowsWithUpdateDataRoot }] = useDependencies(UseObservingTableStateDemoStore);
|
14
|
+
const tableState = useObservingTableState(data, {
|
15
|
+
pageSize: 5
|
16
|
+
}, {
|
17
|
+
idSelector: (p)=>p.ProductID
|
18
|
+
}, resetPaginationMode);
|
19
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
20
|
+
children: [
|
21
|
+
/*#__PURE__*/ _jsxs("table", {
|
22
|
+
className: "m-b-2",
|
23
|
+
cellPadding: 4,
|
24
|
+
children: [
|
25
|
+
/*#__PURE__*/ _jsxs("tr", {
|
26
|
+
children: [
|
27
|
+
/*#__PURE__*/ _jsx("td", {
|
28
|
+
children: /*#__PURE__*/ _jsx(BodyText, {
|
29
|
+
children: "Keep data root:"
|
30
|
+
})
|
31
|
+
}),
|
32
|
+
/*#__PURE__*/ _jsx("td", {
|
33
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
34
|
+
onClick: updateDataKeepRoot,
|
35
|
+
children: "Update prices"
|
36
|
+
})
|
37
|
+
}),
|
38
|
+
/*#__PURE__*/ _jsx("td", {
|
39
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
40
|
+
onClick: add5RowsWithKeepDataRoot,
|
41
|
+
children: "Add 5 rows"
|
42
|
+
})
|
43
|
+
}),
|
44
|
+
/*#__PURE__*/ _jsx("td", {
|
45
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
46
|
+
onClick: remove5RowsWithKeepDataRoot,
|
47
|
+
children: "Remove 5 rows"
|
48
|
+
})
|
49
|
+
})
|
50
|
+
]
|
51
|
+
}),
|
52
|
+
/*#__PURE__*/ _jsxs("tr", {
|
53
|
+
children: [
|
54
|
+
/*#__PURE__*/ _jsx("td", {
|
55
|
+
children: /*#__PURE__*/ _jsx(BodyText, {
|
56
|
+
children: "Update data root:"
|
57
|
+
})
|
58
|
+
}),
|
59
|
+
/*#__PURE__*/ _jsx("td", {
|
60
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
61
|
+
onClick: updateDataChangeRoot,
|
62
|
+
children: "Update prices"
|
63
|
+
})
|
64
|
+
}),
|
65
|
+
/*#__PURE__*/ _jsx("td", {
|
66
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
67
|
+
onClick: add5RowsWithUpdateDataRoot,
|
68
|
+
children: "Add 5 rows"
|
69
|
+
})
|
70
|
+
}),
|
71
|
+
/*#__PURE__*/ _jsx("td", {
|
72
|
+
children: /*#__PURE__*/ _jsx(Button, {
|
73
|
+
onClick: remove5RowsWithUpdateDataRoot,
|
74
|
+
children: "Remove 5 rows"
|
75
|
+
})
|
76
|
+
})
|
77
|
+
]
|
78
|
+
})
|
79
|
+
]
|
80
|
+
}),
|
81
|
+
/*#__PURE__*/ _jsxs(Table, {
|
82
|
+
tableState: tableState,
|
83
|
+
sortable: true,
|
84
|
+
groupable: true,
|
85
|
+
children: [
|
86
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
87
|
+
field: "ProductID",
|
88
|
+
title: "ID",
|
89
|
+
width: "100px"
|
90
|
+
}),
|
91
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
92
|
+
field: "ProductName",
|
93
|
+
title: "Product Name"
|
94
|
+
}),
|
95
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
96
|
+
field: "UnitPrice",
|
97
|
+
title: "Unit Price",
|
98
|
+
format: "{0:c}",
|
99
|
+
width: "125px"
|
100
|
+
})
|
101
|
+
]
|
102
|
+
})
|
103
|
+
]
|
104
|
+
});
|
14
105
|
}));
|
106
|
+
|
15
107
|
//# sourceMappingURL=use-observing-table-state-demo.js.map
|
package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../../src/use-observing-table-state/demo/components/use-observing-table-state-demo.tsx"],"sourcesContent":["import { FC, Fragment } from 'react';\nimport { observer } from 'mobx-react';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\nimport { BodyText, Button, TableColumn } from '@servicetitan/design-system';\n\nimport { Table, ResetPaginationMode, useObservingTableState } from '../../../';\nimport { UseObservingTableStateDemoStore } from '../stores/use-observing-table-state-demo.store';\n//\n\nexport interface TableUseTableStateExampleProps {\n resetPaginationMode: ResetPaginationMode;\n}\nexport const TableUseTableStateExample: FC<TableUseTableStateExampleProps> = provide({\n singletons: [UseObservingTableStateDemoStore],\n})(\n observer(({ resetPaginationMode }) => {\n const [\n {\n data,\n updateDataKeepRoot,\n updateDataChangeRoot,\n add5RowsWithKeepDataRoot,\n remove5RowsWithKeepDataRoot,\n add5RowsWithUpdateDataRoot,\n remove5RowsWithUpdateDataRoot,\n },\n ] = useDependencies(UseObservingTableStateDemoStore);\n const tableState = useObservingTableState(\n data,\n { pageSize: 5 },\n { idSelector: p => p.ProductID },\n resetPaginationMode\n );\n\n return (\n <Fragment>\n <table className=\"m-b-2\" cellPadding={4}>\n <tr>\n <td>\n <BodyText>Keep data root:</BodyText>\n </td>\n <td>\n <Button onClick={updateDataKeepRoot}>Update prices</Button>\n </td>\n <td>\n <Button onClick={add5RowsWithKeepDataRoot}>Add 5 rows</Button>\n </td>\n <td>\n <Button onClick={remove5RowsWithKeepDataRoot}>Remove 5 rows</Button>\n </td>\n </tr>\n <tr>\n <td>\n <BodyText>Update data root:</BodyText>\n </td>\n <td>\n <Button onClick={updateDataChangeRoot}>Update prices</Button>\n </td>\n <td>\n <Button onClick={add5RowsWithUpdateDataRoot}>Add 5 rows</Button>\n </td>\n <td>\n <Button onClick={remove5RowsWithUpdateDataRoot}>Remove 5 rows</Button>\n </td>\n </tr>\n </table>\n <Table tableState={tableState} sortable groupable>\n <TableColumn field=\"ProductID\" title=\"ID\" width=\"100px\" />\n\n <TableColumn field=\"ProductName\" title=\"Product Name\" />\n\n <TableColumn\n field=\"UnitPrice\"\n title=\"Unit Price\"\n format=\"{0:c}\"\n width=\"125px\"\n />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["Fragment","observer","provide","useDependencies","BodyText","Button","TableColumn","Table","useObservingTableState","UseObservingTableStateDemoStore","TableUseTableStateExample","singletons","resetPaginationMode","data","updateDataKeepRoot","updateDataChangeRoot","add5RowsWithKeepDataRoot","remove5RowsWithKeepDataRoot","add5RowsWithUpdateDataRoot","remove5RowsWithUpdateDataRoot","tableState","pageSize","idSelector","p","ProductID","table","className","cellPadding","tr","td","onClick","sortable","groupable","field","title","width","format"],"mappings":";AAAA,SAAaA,QAAQ,QAAQ,QAAQ;AACrC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AACnE,SAASC,QAAQ,EAAEC,MAAM,EAAEC,WAAW,QAAQ,8BAA8B;AAE5E,SAASC,KAAK,EAAuBC,sBAAsB,QAAQ,YAAY;AAC/E,SAASC,+BAA+B,QAAQ,iDAAiD;AAMjG,OAAO,MAAMC,4BAAgER,QAAQ;IACjFS,YAAY;QAACF;KAAgC;AACjD,GACIR,SAAS,CAAC,EAAEW,mBAAmB,EAAE;IAC7B,MAAM,CACF,EACIC,IAAI,EACJC,kBAAkB,EAClBC,oBAAoB,EACpBC,wBAAwB,EACxBC,2BAA2B,EAC3BC,0BAA0B,EAC1BC,6BAA6B,EAChC,CACJ,GAAGhB,gBAAgBM;IACpB,MAAMW,aAAaZ,uBACfK,MACA;QAAEQ,UAAU;IAAE,GACd;QAAEC,YAAYC,CAAAA,IAAKA,EAAEC,SAAS;IAAC,GAC/BZ;IAGJ,qBACI,MAACZ;;0BACG,MAACyB;gBAAMC,WAAU;gBAAQC,aAAa;;kCAClC,MAACC;;0CACG,KAACC;0CACG,cAAA,KAACzB;8CAAS;;;0CAEd,KAACyB;0CACG,cAAA,KAACxB;oCAAOyB,SAAShB;8CAAoB;;;0CAEzC,KAACe;0CACG,cAAA,KAACxB;oCAAOyB,SAASd;8CAA0B;;;0CAE/C,KAACa;0CACG,cAAA,KAACxB;oCAAOyB,SAASb;8CAA6B;;;;;kCAGtD,MAACW;;0CACG,KAACC;0CACG,cAAA,KAACzB;8CAAS;;;0CAEd,KAACyB;0CACG,cAAA,KAACxB;oCAAOyB,SAASf;8CAAsB;;;0CAE3C,KAACc;0CACG,cAAA,KAACxB;oCAAOyB,SAASZ;8CAA4B;;;0CAEjD,KAACW;0CACG,cAAA,KAACxB;oCAAOyB,SAASX;8CAA+B;;;;;;;0BAI5D,MAACZ;gBAAMa,YAAYA;gBAAYW,QAAQ;gBAACC,SAAS;;kCAC7C,KAAC1B;wBAAY2B,OAAM;wBAAYC,OAAM;wBAAKC,OAAM;;kCAEhD,KAAC7B;wBAAY2B,OAAM;wBAAcC,OAAM;;kCAEvC,KAAC5B;wBACG2B,OAAM;wBACNC,OAAM;wBACNE,QAAO;wBACPD,OAAM;;;;;;AAK1B,IACF"}
|
@@ -1,131 +1,105 @@
|
|
1
|
-
|
1
|
+
function _define_property(obj, key, value) {
|
2
|
+
if (key in obj) {
|
3
|
+
Object.defineProperty(obj, key, {
|
4
|
+
value: value,
|
5
|
+
enumerable: true,
|
6
|
+
configurable: true,
|
7
|
+
writable: true
|
8
|
+
});
|
9
|
+
} else {
|
10
|
+
obj[key] = value;
|
11
|
+
}
|
12
|
+
return obj;
|
13
|
+
}
|
14
|
+
function _ts_decorate(decorators, target, key, desc) {
|
2
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
16
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
-
else for
|
17
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
18
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
-
}
|
7
|
-
|
19
|
+
}
|
20
|
+
function _ts_metadata(k, v) {
|
8
21
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
9
|
-
}
|
22
|
+
}
|
10
23
|
import { injectable } from '@servicetitan/react-ioc';
|
11
24
|
import { action, makeObservable, observable } from 'mobx';
|
12
25
|
import { products } from '../../../demo/overview/products';
|
13
|
-
const getRandomPrice = ()
|
14
|
-
|
15
|
-
constructor()
|
16
|
-
|
17
|
-
enumerable: true,
|
18
|
-
configurable: true,
|
19
|
-
writable: true,
|
20
|
-
value: products.map(p => ({
|
26
|
+
const getRandomPrice = ()=>Math.round(Math.random() * 10000) / 100;
|
27
|
+
export class UseObservingTableStateDemoStore {
|
28
|
+
constructor(){
|
29
|
+
_define_property(this, "data", products.map((p)=>({
|
21
30
|
ProductID: p.ProductID,
|
22
31
|
ProductName: p.ProductName,
|
23
|
-
UnitPrice: p.UnitPrice
|
24
|
-
}))
|
32
|
+
UnitPrice: p.UnitPrice
|
33
|
+
})));
|
34
|
+
_define_property(this, "updateDataKeepRoot", ()=>{
|
35
|
+
this.data.forEach((p)=>p.UnitPrice = getRandomPrice());
|
25
36
|
});
|
26
|
-
|
27
|
-
|
28
|
-
configurable: true,
|
29
|
-
writable: true,
|
30
|
-
value: () => {
|
31
|
-
this.data.forEach(p => (p.UnitPrice = getRandomPrice()));
|
32
|
-
}
|
33
|
-
});
|
34
|
-
Object.defineProperty(this, "updateDataChangeRoot", {
|
35
|
-
enumerable: true,
|
36
|
-
configurable: true,
|
37
|
-
writable: true,
|
38
|
-
value: () => {
|
39
|
-
this.data = this.data.map(p => ({
|
37
|
+
_define_property(this, "updateDataChangeRoot", ()=>{
|
38
|
+
this.data = this.data.map((p)=>({
|
40
39
|
...p,
|
41
|
-
UnitPrice: getRandomPrice()
|
40
|
+
UnitPrice: getRandomPrice()
|
42
41
|
}));
|
43
|
-
}
|
44
42
|
});
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
...this.data,
|
52
|
-
...Array.from({ length: 5 }).map((v, i) => ({
|
43
|
+
_define_property(this, "add5RowsWithUpdateDataRoot", ()=>{
|
44
|
+
this.data = [
|
45
|
+
...this.data,
|
46
|
+
...Array.from({
|
47
|
+
length: 5
|
48
|
+
}).map((v, i)=>({
|
53
49
|
ProductID: this.data.length + i + 1,
|
54
50
|
ProductName: `Product ${this.data.length + i + 1}`,
|
55
|
-
UnitPrice: getRandomPrice()
|
56
|
-
}))
|
57
|
-
|
58
|
-
}
|
51
|
+
UnitPrice: getRandomPrice()
|
52
|
+
}))
|
53
|
+
];
|
59
54
|
});
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
writable: true,
|
64
|
-
value: () => {
|
65
|
-
if (this.data.length >= 5) {
|
66
|
-
this.data = this.data.slice(0, this.data.length - 5);
|
67
|
-
}
|
55
|
+
_define_property(this, "remove5RowsWithUpdateDataRoot", ()=>{
|
56
|
+
if (this.data.length >= 5) {
|
57
|
+
this.data = this.data.slice(0, this.data.length - 5);
|
68
58
|
}
|
69
59
|
});
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
ProductID: i,
|
79
|
-
ProductName: `Product ${i}`,
|
80
|
-
UnitPrice: getRandomPrice(),
|
81
|
-
});
|
82
|
-
}
|
60
|
+
_define_property(this, "add5RowsWithKeepDataRoot", ()=>{
|
61
|
+
const length = this.data.length;
|
62
|
+
for(let i = this.data.length; i < length + 5; ++i){
|
63
|
+
this.data.push({
|
64
|
+
ProductID: i,
|
65
|
+
ProductName: `Product ${i}`,
|
66
|
+
UnitPrice: getRandomPrice()
|
67
|
+
});
|
83
68
|
}
|
84
69
|
});
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
writable: true,
|
89
|
-
value: () => {
|
90
|
-
if (this.data.length >= 5) {
|
91
|
-
this.data.splice(this.data.length - 5, 5);
|
92
|
-
}
|
70
|
+
_define_property(this, "remove5RowsWithKeepDataRoot", ()=>{
|
71
|
+
if (this.data.length >= 5) {
|
72
|
+
this.data.splice(this.data.length - 5, 5);
|
93
73
|
}
|
94
74
|
});
|
95
75
|
makeObservable(this);
|
96
76
|
}
|
97
|
-
}
|
98
|
-
|
99
|
-
observable
|
100
|
-
__metadata("design:type", Object)
|
77
|
+
}
|
78
|
+
_ts_decorate([
|
79
|
+
observable
|
101
80
|
], UseObservingTableStateDemoStore.prototype, "data", void 0);
|
102
|
-
|
103
|
-
action
|
104
|
-
__metadata("design:type", Object)
|
81
|
+
_ts_decorate([
|
82
|
+
action
|
105
83
|
], UseObservingTableStateDemoStore.prototype, "updateDataKeepRoot", void 0);
|
106
|
-
|
107
|
-
action
|
108
|
-
__metadata("design:type", Object)
|
84
|
+
_ts_decorate([
|
85
|
+
action
|
109
86
|
], UseObservingTableStateDemoStore.prototype, "updateDataChangeRoot", void 0);
|
110
|
-
|
111
|
-
action
|
112
|
-
__metadata("design:type", Object)
|
87
|
+
_ts_decorate([
|
88
|
+
action
|
113
89
|
], UseObservingTableStateDemoStore.prototype, "add5RowsWithUpdateDataRoot", void 0);
|
114
|
-
|
115
|
-
action
|
116
|
-
__metadata("design:type", Object)
|
90
|
+
_ts_decorate([
|
91
|
+
action
|
117
92
|
], UseObservingTableStateDemoStore.prototype, "remove5RowsWithUpdateDataRoot", void 0);
|
118
|
-
|
119
|
-
action
|
120
|
-
__metadata("design:type", Object)
|
93
|
+
_ts_decorate([
|
94
|
+
action
|
121
95
|
], UseObservingTableStateDemoStore.prototype, "add5RowsWithKeepDataRoot", void 0);
|
122
|
-
|
123
|
-
action
|
124
|
-
__metadata("design:type", Object)
|
96
|
+
_ts_decorate([
|
97
|
+
action
|
125
98
|
], UseObservingTableStateDemoStore.prototype, "remove5RowsWithKeepDataRoot", void 0);
|
126
|
-
UseObservingTableStateDemoStore =
|
99
|
+
UseObservingTableStateDemoStore = _ts_decorate([
|
127
100
|
injectable(),
|
128
|
-
|
101
|
+
_ts_metadata("design:type", Function),
|
102
|
+
_ts_metadata("design:paramtypes", [])
|
129
103
|
], UseObservingTableStateDemoStore);
|
130
|
-
|
104
|
+
|
131
105
|
//# sourceMappingURL=use-observing-table-state-demo.store.js.map
|
package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../../src/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\nimport { action, makeObservable, observable } from 'mobx';\n\nimport { products } from '../../../demo/overview/products';\n\nconst getRandomPrice = () => Math.round(Math.random() * 10000) / 100;\n\n@injectable()\nexport class UseObservingTableStateDemoStore {\n @observable data = products.map(p => ({\n ProductID: p.ProductID,\n ProductName: p.ProductName,\n UnitPrice: p.UnitPrice,\n }));\n\n constructor() {\n makeObservable(this);\n }\n\n @action\n updateDataKeepRoot = () => {\n this.data.forEach(p => (p.UnitPrice = getRandomPrice()));\n };\n\n @action\n updateDataChangeRoot = () => {\n this.data = this.data.map(p => ({\n ...p,\n UnitPrice: getRandomPrice(),\n }));\n };\n\n @action\n add5RowsWithUpdateDataRoot = () => {\n this.data = [\n ...this.data,\n ...Array.from({ length: 5 }).map((v, i) => ({\n ProductID: this.data.length + i + 1,\n ProductName: `Product ${this.data.length + i + 1}`,\n UnitPrice: getRandomPrice(),\n })),\n ];\n };\n @action\n remove5RowsWithUpdateDataRoot = () => {\n if (this.data.length >= 5) {\n this.data = this.data.slice(0, this.data.length - 5);\n }\n };\n\n @action\n add5RowsWithKeepDataRoot = () => {\n const length = this.data.length;\n for (let i = this.data.length; i < length + 5; ++i) {\n this.data.push({\n ProductID: i,\n ProductName: `Product ${i}`,\n UnitPrice: getRandomPrice(),\n });\n }\n };\n\n @action\n remove5RowsWithKeepDataRoot = () => {\n if (this.data.length >= 5) {\n this.data.splice(this.data.length - 5, 5);\n }\n };\n}\n"],"names":["injectable","action","makeObservable","observable","products","getRandomPrice","Math","round","random","UseObservingTableStateDemoStore","constructor","data","map","p","ProductID","ProductName","UnitPrice","updateDataKeepRoot","forEach","updateDataChangeRoot","add5RowsWithUpdateDataRoot","Array","from","length","v","i","remove5RowsWithUpdateDataRoot","slice","add5RowsWithKeepDataRoot","push","remove5RowsWithKeepDataRoot","splice"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,0BAA0B;AACrD,SAASC,MAAM,EAAEC,cAAc,EAAEC,UAAU,QAAQ,OAAO;AAE1D,SAASC,QAAQ,QAAQ,kCAAkC;AAE3D,MAAMC,iBAAiB,IAAMC,KAAKC,KAAK,CAACD,KAAKE,MAAM,KAAK,SAAS;AAGjE,OAAO,MAAMC;IAOTC,aAAc;QANd,uBAAYC,QAAOP,SAASQ,GAAG,CAACC,CAAAA,IAAM,CAAA;gBAClCC,WAAWD,EAAEC,SAAS;gBACtBC,aAAaF,EAAEE,WAAW;gBAC1BC,WAAWH,EAAEG,SAAS;YAC1B,CAAA;QAMA,uBACAC,sBAAqB;YACjB,IAAI,CAACN,IAAI,CAACO,OAAO,CAACL,CAAAA,IAAMA,EAAEG,SAAS,GAAGX;QAC1C;QAEA,uBACAc,wBAAuB;YACnB,IAAI,CAACR,IAAI,GAAG,IAAI,CAACA,IAAI,CAACC,GAAG,CAACC,CAAAA,IAAM,CAAA;oBAC5B,GAAGA,CAAC;oBACJG,WAAWX;gBACf,CAAA;QACJ;QAEA,uBACAe,8BAA6B;YACzB,IAAI,CAACT,IAAI,GAAG;mBACL,IAAI,CAACA,IAAI;mBACTU,MAAMC,IAAI,CAAC;oBAAEC,QAAQ;gBAAE,GAAGX,GAAG,CAAC,CAACY,GAAGC,IAAO,CAAA;wBACxCX,WAAW,IAAI,CAACH,IAAI,CAACY,MAAM,GAAGE,IAAI;wBAClCV,aAAa,CAAC,QAAQ,EAAE,IAAI,CAACJ,IAAI,CAACY,MAAM,GAAGE,IAAI,GAAG;wBAClDT,WAAWX;oBACf,CAAA;aACH;QACL;QACA,uBACAqB,iCAAgC;YAC5B,IAAI,IAAI,CAACf,IAAI,CAACY,MAAM,IAAI,GAAG;gBACvB,IAAI,CAACZ,IAAI,GAAG,IAAI,CAACA,IAAI,CAACgB,KAAK,CAAC,GAAG,IAAI,CAAChB,IAAI,CAACY,MAAM,GAAG;YACtD;QACJ;QAEA,uBACAK,4BAA2B;YACvB,MAAML,SAAS,IAAI,CAACZ,IAAI,CAACY,MAAM;YAC/B,IAAK,IAAIE,IAAI,IAAI,CAACd,IAAI,CAACY,MAAM,EAAEE,IAAIF,SAAS,GAAG,EAAEE,EAAG;gBAChD,IAAI,CAACd,IAAI,CAACkB,IAAI,CAAC;oBACXf,WAAWW;oBACXV,aAAa,CAAC,QAAQ,EAAEU,GAAG;oBAC3BT,WAAWX;gBACf;YACJ;QACJ;QAEA,uBACAyB,+BAA8B;YAC1B,IAAI,IAAI,CAACnB,IAAI,CAACY,MAAM,IAAI,GAAG;gBACvB,IAAI,CAACZ,IAAI,CAACoB,MAAM,CAAC,IAAI,CAACpB,IAAI,CAACY,MAAM,GAAG,GAAG;YAC3C;QACJ;QAnDIrB,eAAe,IAAI;IACvB;AAmDJ"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/use-observing-table-state/index.ts"],"sourcesContent":["export * from './use-observing-table-state';\n"],"names":[],"mappings":"AAAA,cAAc,8BAA8B"}
|
@@ -4,41 +4,47 @@ import { InMemoryDataSource } from '@servicetitan/data-query';
|
|
4
4
|
import { useInitializedRef } from '@servicetitan/react-hooks';
|
5
5
|
import { TableState } from '../table-state';
|
6
6
|
//
|
7
|
-
export var ResetPaginationMode
|
8
|
-
(function (ResetPaginationMode) {
|
7
|
+
export var ResetPaginationMode = /*#__PURE__*/ function(ResetPaginationMode) {
|
9
8
|
ResetPaginationMode[ResetPaginationMode["Never"] = 0] = "Never";
|
10
9
|
ResetPaginationMode[ResetPaginationMode["OnUpdateDataRoot"] = 1] = "OnUpdateDataRoot";
|
11
10
|
ResetPaginationMode[ResetPaginationMode["Always"] = 2] = "Always";
|
12
|
-
|
13
|
-
|
14
|
-
|
11
|
+
return ResetPaginationMode;
|
12
|
+
}({});
|
13
|
+
export const useObservingTableState = (data, tableArgs, datasourceOptions, resetPagination = 1)=>{
|
14
|
+
const tableStateRef = useInitializedRef(()=>new TableState(tableArgs));
|
15
15
|
const datasourceDataRef = useRef();
|
16
16
|
const tableStateDataRef = useRef();
|
17
17
|
const [dataSource, setDataSource] = useState();
|
18
|
-
useEffect(()
|
19
|
-
const disposer = autorun(()
|
18
|
+
useEffect(()=>{
|
19
|
+
const disposer = autorun(()=>{
|
20
20
|
setDataSource(new InMemoryDataSource(data, datasourceOptions.idSelector, datasourceOptions.datasourcePreprocessors));
|
21
21
|
datasourceDataRef.current = data;
|
22
22
|
});
|
23
|
-
return ()
|
24
|
-
|
25
|
-
}, [
|
26
|
-
|
27
|
-
|
23
|
+
return ()=>disposer();
|
24
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
25
|
+
}, [
|
26
|
+
data
|
27
|
+
]);
|
28
|
+
useEffect(()=>{
|
28
29
|
if (dataSource) {
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
tableStateDataRef.current !== datasourceDataRef.current)) {
|
30
|
+
var _datasourceDataRef_current;
|
31
|
+
var _datasourceDataRef_current_length;
|
32
|
+
if (tableStateRef.current.skip >= ((_datasourceDataRef_current_length = (_datasourceDataRef_current = datasourceDataRef.current) === null || _datasourceDataRef_current === void 0 ? void 0 : _datasourceDataRef_current.length) !== null && _datasourceDataRef_current_length !== void 0 ? _datasourceDataRef_current_length : 0) || resetPagination === 2 || resetPagination === 1 && tableStateDataRef.current !== datasourceDataRef.current) {
|
33
33
|
tableStateRef.current.setDataSource(dataSource);
|
34
|
-
}
|
35
|
-
else {
|
34
|
+
} else {
|
36
35
|
const state = tableStateRef.current.exportState();
|
37
|
-
tableStateRef.current.setDataSource(dataSource, {
|
36
|
+
tableStateRef.current.setDataSource(dataSource, {
|
37
|
+
initialState: state
|
38
|
+
});
|
38
39
|
}
|
39
40
|
tableStateDataRef.current = datasourceDataRef.current;
|
40
41
|
}
|
41
|
-
}, [
|
42
|
+
}, [
|
43
|
+
dataSource,
|
44
|
+
resetPagination,
|
45
|
+
tableStateRef
|
46
|
+
]);
|
42
47
|
return tableStateRef.current;
|
43
48
|
};
|
49
|
+
|
44
50
|
//# sourceMappingURL=use-observing-table-state.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/use-observing-table-state/use-observing-table-state.ts"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport { autorun } from 'mobx';\n\nimport { IdType, InMemoryDataSource, Preprocessors } from '@servicetitan/data-query';\nimport { useInitializedRef } from '@servicetitan/react-hooks';\nimport { TableState, TableStateConstructorParams } from '../table-state';\n//\n\nexport enum ResetPaginationMode {\n Never,\n OnUpdateDataRoot,\n Always,\n}\n\nexport interface DatasourceOptions<T, TID extends IdType = any> {\n idSelector: (row: T) => TID;\n datasourcePreprocessors?: Preprocessors<T>;\n}\n\nexport const useObservingTableState = <\n T,\n TID extends IdType = any,\n P = never,\n PID extends IdType = never,\n>(\n data: T[],\n tableArgs: TableStateConstructorParams<T, TID, P, PID>,\n datasourceOptions: DatasourceOptions<T, TID>,\n resetPagination: ResetPaginationMode = ResetPaginationMode.OnUpdateDataRoot\n): TableState<T, TID, P, PID> => {\n const tableStateRef = useInitializedRef(() => new TableState<T, TID, P, PID>(tableArgs));\n const datasourceDataRef = useRef<T[]>();\n const tableStateDataRef = useRef<T[]>();\n const [dataSource, setDataSource] = useState<InMemoryDataSource<T, TID>>();\n\n useEffect(() => {\n const disposer = autorun(() => {\n setDataSource(\n new InMemoryDataSource(\n data,\n datasourceOptions.idSelector,\n datasourceOptions.datasourcePreprocessors\n )\n );\n datasourceDataRef.current = data;\n });\n return () => disposer();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [data]);\n\n useEffect(() => {\n if (dataSource) {\n if (\n tableStateRef.current.skip >= (datasourceDataRef.current?.length ?? 0) ||\n resetPagination === ResetPaginationMode.Always ||\n (resetPagination === ResetPaginationMode.OnUpdateDataRoot &&\n tableStateDataRef.current !== datasourceDataRef.current)\n ) {\n tableStateRef.current.setDataSource(dataSource);\n } else {\n const state = tableStateRef.current.exportState();\n tableStateRef.current.setDataSource(dataSource, { initialState: state });\n }\n tableStateDataRef.current = datasourceDataRef.current;\n }\n }, [dataSource, resetPagination, tableStateRef]);\n\n return tableStateRef.current;\n};\n"],"names":["useEffect","useRef","useState","autorun","InMemoryDataSource","useInitializedRef","TableState","ResetPaginationMode","useObservingTableState","data","tableArgs","datasourceOptions","resetPagination","tableStateRef","datasourceDataRef","tableStateDataRef","dataSource","setDataSource","disposer","idSelector","datasourcePreprocessors","current","skip","length","state","exportState","initialState"],"mappings":"AAAA,SAASA,SAAS,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,QAAQ;AACpD,SAASC,OAAO,QAAQ,OAAO;AAE/B,SAAiBC,kBAAkB,QAAuB,2BAA2B;AACrF,SAASC,iBAAiB,QAAQ,4BAA4B;AAC9D,SAASC,UAAU,QAAqC,iBAAiB;AACzE,EAAE;AAEF,OAAO,IAAA,AAAKC,6CAAAA;;;;WAAAA;MAIX;AAOD,OAAO,MAAMC,yBAAyB,CAMlCC,MACAC,WACAC,mBACAC,mBAA2E;IAE3E,MAAMC,gBAAgBR,kBAAkB,IAAM,IAAIC,WAA2BI;IAC7E,MAAMI,oBAAoBb;IAC1B,MAAMc,oBAAoBd;IAC1B,MAAM,CAACe,YAAYC,cAAc,GAAGf;IAEpCF,UAAU;QACN,MAAMkB,WAAWf,QAAQ;YACrBc,cACI,IAAIb,mBACAK,MACAE,kBAAkBQ,UAAU,EAC5BR,kBAAkBS,uBAAuB;YAGjDN,kBAAkBO,OAAO,GAAGZ;QAChC;QACA,OAAO,IAAMS;IACb,uDAAuD;IAC3D,GAAG;QAACT;KAAK;IAETT,UAAU;QACN,IAAIgB,YAAY;gBAEuBF;gBAAAA;YADnC,IACID,cAAcQ,OAAO,CAACC,IAAI,IAAKR,CAAAA,CAAAA,qCAAAA,6BAAAA,kBAAkBO,OAAO,cAAzBP,iDAAAA,2BAA2BS,MAAM,cAAjCT,+CAAAA,oCAAqC,CAAA,KACpEF,yBACCA,yBACGG,kBAAkBM,OAAO,KAAKP,kBAAkBO,OAAO,EAC7D;gBACER,cAAcQ,OAAO,CAACJ,aAAa,CAACD;YACxC,OAAO;gBACH,MAAMQ,QAAQX,cAAcQ,OAAO,CAACI,WAAW;gBAC/CZ,cAAcQ,OAAO,CAACJ,aAAa,CAACD,YAAY;oBAAEU,cAAcF;gBAAM;YAC1E;YACAT,kBAAkBM,OAAO,GAAGP,kBAAkBO,OAAO;QACzD;IACJ,GAAG;QAACL;QAAYJ;QAAiBC;KAAc;IAE/C,OAAOA,cAAcQ,OAAO;AAChC,EAAE"}
|
package/dist/utils/filters.js
CHANGED
@@ -1,22 +1,27 @@
|
|
1
|
-
import { isCompositeFilterDescriptor
|
2
|
-
const getFiltersFlatInner = (filter)
|
1
|
+
import { isCompositeFilterDescriptor } from '@servicetitan/data-query';
|
2
|
+
const getFiltersFlatInner = (filter)=>{
|
3
3
|
if (!filter) {
|
4
4
|
return [];
|
5
|
+
} else if (isCompositeFilterDescriptor(filter)) {
|
6
|
+
return filter.filters.reduce((out, item)=>[
|
7
|
+
...out,
|
8
|
+
...getFiltersFlatInner(item)
|
9
|
+
], []);
|
5
10
|
}
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
return [filter];
|
11
|
+
return [
|
12
|
+
filter
|
13
|
+
];
|
10
14
|
};
|
11
|
-
export const getFiltersFlat = (filter)
|
15
|
+
export const getFiltersFlat = (filter)=>{
|
12
16
|
return getFiltersFlatInner(filter);
|
13
17
|
};
|
14
|
-
export const getFiltersMap = (filter)
|
15
|
-
return getFiltersFlatInner(filter).reduce((out, filter)
|
18
|
+
export const getFiltersMap = (filter)=>{
|
19
|
+
return getFiltersFlatInner(filter).reduce((out, filter)=>{
|
16
20
|
if (typeof filter.field === 'string') {
|
17
21
|
out[filter.field] = filter;
|
18
22
|
}
|
19
23
|
return out;
|
20
24
|
}, {});
|
21
25
|
};
|
26
|
+
|
22
27
|
//# sourceMappingURL=filters.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/utils/filters.ts"],"sourcesContent":["import {\n CompositeFilterDescriptor,\n FilterDescriptor,\n isCompositeFilterDescriptor,\n State,\n} from '@servicetitan/data-query';\n\nconst getFiltersFlatInner = (\n filter?: FilterDescriptor | CompositeFilterDescriptor\n): FilterDescriptor[] => {\n if (!filter) {\n return [];\n } else if (isCompositeFilterDescriptor(filter)) {\n return filter.filters.reduce(\n (out, item) => [...out, ...getFiltersFlatInner(item)],\n [] as FilterDescriptor[]\n );\n }\n return [filter];\n};\n\nexport const getFiltersFlat = (filter: State['filter']): FilterDescriptor[] => {\n return getFiltersFlatInner(filter);\n};\n\nexport const getFiltersMap = (filter: State['filter']): Record<string, FilterDescriptor> => {\n return getFiltersFlatInner(filter).reduce(\n (out, filter) => {\n if (typeof filter.field === 'string') {\n out[filter.field] = filter;\n }\n return out;\n },\n {} as Record<string, FilterDescriptor>\n );\n};\n"],"names":["isCompositeFilterDescriptor","getFiltersFlatInner","filter","filters","reduce","out","item","getFiltersFlat","getFiltersMap","field"],"mappings":"AAAA,SAGIA,2BAA2B,QAExB,2BAA2B;AAElC,MAAMC,sBAAsB,CACxBC;IAEA,IAAI,CAACA,QAAQ;QACT,OAAO,EAAE;IACb,OAAO,IAAIF,4BAA4BE,SAAS;QAC5C,OAAOA,OAAOC,OAAO,CAACC,MAAM,CACxB,CAACC,KAAKC,OAAS;mBAAID;mBAAQJ,oBAAoBK;aAAM,EACrD,EAAE;IAEV;IACA,OAAO;QAACJ;KAAO;AACnB;AAEA,OAAO,MAAMK,iBAAiB,CAACL;IAC3B,OAAOD,oBAAoBC;AAC/B,EAAE;AAEF,OAAO,MAAMM,gBAAgB,CAACN;IAC1B,OAAOD,oBAAoBC,QAAQE,MAAM,CACrC,CAACC,KAAKH;QACF,IAAI,OAAOA,OAAOO,KAAK,KAAK,UAAU;YAClCJ,GAAG,CAACH,OAAOO,KAAK,CAAC,GAAGP;QACxB;QACA,OAAOG;IACX,GACA,CAAC;AAET,EAAE"}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';
|
2
2
|
import { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';
|
3
|
-
const useTdProps = ({ id, colSpan, ariaColumnIndex, isSelected, columnIndex
|
3
|
+
const useTdProps = ({ id, colSpan, ariaColumnIndex, isSelected, columnIndex })=>{
|
4
4
|
const navigationAttributes = useTableKeyboardNavigation(id);
|
5
5
|
return {
|
6
6
|
colSpan,
|
@@ -8,8 +8,9 @@ const useTdProps = ({ id, colSpan, ariaColumnIndex, isSelected, columnIndex, })
|
|
8
8
|
'aria-colindex': ariaColumnIndex,
|
9
9
|
'aria-selected': isSelected,
|
10
10
|
[GRID_COL_INDEX_ATTRIBUTE]: columnIndex,
|
11
|
-
...navigationAttributes
|
11
|
+
...navigationAttributes
|
12
12
|
};
|
13
13
|
};
|
14
14
|
export { useTdProps };
|
15
|
+
|
15
16
|
//# sourceMappingURL=use-td-props.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../src/utils/use-td-props.ts"],"sourcesContent":["import { TableCellProps } from '@servicetitan/design-system';\nimport { useTableKeyboardNavigation } from '@progress/kendo-react-data-tools';\nimport { GRID_COL_INDEX_ATTRIBUTE } from '@progress/kendo-react-grid';\nimport { ComponentProps } from 'react';\n\nconst useTdProps = ({\n id,\n colSpan,\n ariaColumnIndex,\n isSelected,\n columnIndex,\n}: TableCellProps): ComponentProps<'td'> & {\n [GRID_COL_INDEX_ATTRIBUTE]?: number;\n} => {\n const navigationAttributes = useTableKeyboardNavigation(id);\n return {\n colSpan,\n 'role': 'gridcell',\n 'aria-colindex': ariaColumnIndex,\n 'aria-selected': isSelected,\n [GRID_COL_INDEX_ATTRIBUTE]: columnIndex,\n ...navigationAttributes,\n };\n};\n\nexport { useTdProps };\n"],"names":["useTableKeyboardNavigation","GRID_COL_INDEX_ATTRIBUTE","useTdProps","id","colSpan","ariaColumnIndex","isSelected","columnIndex","navigationAttributes"],"mappings":"AACA,SAASA,0BAA0B,QAAQ,mCAAmC;AAC9E,SAASC,wBAAwB,QAAQ,6BAA6B;AAGtE,MAAMC,aAAa,CAAC,EAChBC,EAAE,EACFC,OAAO,EACPC,eAAe,EACfC,UAAU,EACVC,WAAW,EACE;IAGb,MAAMC,uBAAuBR,2BAA2BG;IACxD,OAAO;QACHC;QACA,QAAQ;QACR,iBAAiBC;QACjB,iBAAiBC;QACjB,CAACL,yBAAyB,EAAEM;QAC5B,GAAGC,oBAAoB;IAC3B;AACJ;AAEA,SAASN,UAAU,GAAG"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@servicetitan/table",
|
3
|
-
"version": "
|
3
|
+
"version": "32.0.0",
|
4
4
|
"description": "",
|
5
5
|
"homepage": "https://docs.st.dev/docs/frontend/table",
|
6
6
|
"repository": {
|
@@ -18,8 +18,8 @@
|
|
18
18
|
"dependencies": {
|
19
19
|
"@progress/kendo-ooxml": "~1.6.2",
|
20
20
|
"@progress/kendo-react-excel-export": "~5.5.0",
|
21
|
-
"@servicetitan/react-hooks": "^
|
22
|
-
"classnames": "
|
21
|
+
"@servicetitan/react-hooks": "^5.0.0",
|
22
|
+
"classnames": "^2.3.1",
|
23
23
|
"memoize-one": "~6.0.0"
|
24
24
|
},
|
25
25
|
"devDependencies": {
|
@@ -29,20 +29,20 @@
|
|
29
29
|
"@progress/kendo-react-grid": "~5.5.0",
|
30
30
|
"@progress/kendo-react-inputs": "~5.5.0",
|
31
31
|
"@progress/kendo-react-pdf": "~5.5.0",
|
32
|
-
"@servicetitan/data-query": "^
|
32
|
+
"@servicetitan/data-query": "^32.0.0",
|
33
33
|
"@servicetitan/design-system": "~14.5.1",
|
34
|
-
"@servicetitan/form": "^
|
35
|
-
"@servicetitan/react-ioc": "^
|
36
|
-
"@servicetitan/suppress-warnings": "^
|
34
|
+
"@servicetitan/form": "^32.0.0",
|
35
|
+
"@servicetitan/react-ioc": "^31.3.2",
|
36
|
+
"@servicetitan/suppress-warnings": "^31.3.2",
|
37
37
|
"@types/accounting": "~0.4.2",
|
38
38
|
"@types/react": "~18.2.55",
|
39
39
|
"accounting": "~0.4.1",
|
40
|
-
"formstate": "
|
40
|
+
"formstate": "^2.1.0",
|
41
41
|
"mobx": "~6.10.2",
|
42
|
-
"mobx-react": "
|
42
|
+
"mobx-react": "^9.2.0",
|
43
43
|
"mobx-utils": "~6.0.5",
|
44
44
|
"moment": "~2.29.3",
|
45
|
-
"react": "
|
45
|
+
"react": "^18.2.0"
|
46
46
|
},
|
47
47
|
"peerDependencies": {
|
48
48
|
"@progress/kendo-react-data-tools": "~5.5.0",
|
@@ -51,9 +51,9 @@
|
|
51
51
|
"@progress/kendo-react-grid": "~5.5.0",
|
52
52
|
"@progress/kendo-react-inputs": "~5.5.0",
|
53
53
|
"@progress/kendo-react-pdf": "~5.5.0",
|
54
|
-
"@servicetitan/data-query": "^
|
54
|
+
"@servicetitan/data-query": "^32.0.0",
|
55
55
|
"@servicetitan/design-system": ">=13.2.1",
|
56
|
-
"@servicetitan/form": "^
|
56
|
+
"@servicetitan/form": "^32.0.0",
|
57
57
|
"@servicetitan/react-ioc": ">21.0.0",
|
58
58
|
"@servicetitan/suppress-warnings": ">21.0.0",
|
59
59
|
"accounting": "~0.4.1",
|
@@ -70,5 +70,5 @@
|
|
70
70
|
"cli": {
|
71
71
|
"webpack": false
|
72
72
|
},
|
73
|
-
"gitHead": "
|
73
|
+
"gitHead": "511315cbee77cc7c60f20d0d86d24f69779c85ed"
|
74
74
|
}
|