@servicetitan/table 31.2.0 → 31.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/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
@@ -2,55 +2,59 @@ import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
export const categories = [
|
3
3
|
{
|
4
4
|
CategoryID: 1,
|
5
|
-
CategoryName: 'Wok'
|
5
|
+
CategoryName: 'Wok'
|
6
6
|
},
|
7
7
|
{
|
8
8
|
CategoryID: 2,
|
9
|
-
CategoryName: 'Sushi'
|
9
|
+
CategoryName: 'Sushi'
|
10
10
|
},
|
11
11
|
{
|
12
12
|
CategoryID: 6,
|
13
|
-
CategoryName: 'Gunkan'
|
13
|
+
CategoryName: 'Gunkan'
|
14
14
|
},
|
15
15
|
{
|
16
16
|
CategoryID: 7,
|
17
|
-
CategoryName: 'Miso'
|
17
|
+
CategoryName: 'Miso'
|
18
18
|
},
|
19
19
|
{
|
20
20
|
CategoryID: 8,
|
21
|
-
CategoryName: 'Roll'
|
21
|
+
CategoryName: 'Roll'
|
22
22
|
},
|
23
23
|
{
|
24
24
|
CategoryID: 10,
|
25
|
-
CategoryName: 'Sashimi'
|
25
|
+
CategoryName: 'Sashimi'
|
26
26
|
},
|
27
27
|
{
|
28
28
|
CategoryID: 21,
|
29
|
-
CategoryName: 'Borsh'
|
29
|
+
CategoryName: 'Borsh'
|
30
30
|
},
|
31
31
|
{
|
32
32
|
CategoryID: 22,
|
33
|
-
CategoryName: 'Pasta Carbonara'
|
33
|
+
CategoryName: 'Pasta Carbonara'
|
34
34
|
},
|
35
35
|
{
|
36
36
|
CategoryID: 23,
|
37
|
-
CategoryName: 'Caesar salad'
|
37
|
+
CategoryName: 'Caesar salad'
|
38
38
|
},
|
39
39
|
{
|
40
40
|
CategoryID: 24,
|
41
|
-
CategoryName: 'Ravioli'
|
41
|
+
CategoryName: 'Ravioli'
|
42
42
|
},
|
43
43
|
{
|
44
44
|
CategoryID: 25,
|
45
|
-
CategoryName: 'Pizza'
|
45
|
+
CategoryName: 'Pizza'
|
46
46
|
},
|
47
47
|
{
|
48
48
|
CategoryID: 26,
|
49
|
-
CategoryName: 'Steak'
|
50
|
-
}
|
49
|
+
CategoryName: 'Steak'
|
50
|
+
}
|
51
51
|
];
|
52
|
-
export const CategoryCell = ({ field, dataItem, tdProps })
|
53
|
-
var
|
54
|
-
return
|
52
|
+
export const CategoryCell = ({ field, dataItem, tdProps })=>{
|
53
|
+
var _categories_find;
|
54
|
+
return /*#__PURE__*/ _jsx("td", {
|
55
|
+
...tdProps,
|
56
|
+
children: (_categories_find = categories.find((c)=>c.CategoryID === dataItem[field])) === null || _categories_find === void 0 ? void 0 : _categories_find.CategoryName
|
57
|
+
});
|
55
58
|
};
|
59
|
+
|
56
60
|
//# sourceMappingURL=categories.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/categories.tsx"],"sourcesContent":["import { FC } from 'react';\nimport { TableCellProps } from '../../table';\n\nexport interface Category {\n CategoryID: number;\n CategoryName: string;\n}\n\nexport const categories: Category[] = [\n {\n CategoryID: 1,\n CategoryName: 'Wok',\n },\n {\n CategoryID: 2,\n CategoryName: 'Sushi',\n },\n {\n CategoryID: 6,\n CategoryName: 'Gunkan',\n },\n {\n CategoryID: 7,\n CategoryName: 'Miso',\n },\n {\n CategoryID: 8,\n CategoryName: 'Roll',\n },\n {\n CategoryID: 10,\n CategoryName: 'Sashimi',\n },\n {\n CategoryID: 21,\n CategoryName: 'Borsh',\n },\n {\n CategoryID: 22,\n CategoryName: 'Pasta Carbonara',\n },\n {\n CategoryID: 23,\n CategoryName: 'Caesar salad',\n },\n {\n CategoryID: 24,\n CategoryName: 'Ravioli',\n },\n {\n CategoryID: 25,\n CategoryName: 'Pizza',\n },\n {\n CategoryID: 26,\n CategoryName: 'Steak',\n },\n];\n\nexport const CategoryCell: FC<TableCellProps> = ({ field, dataItem, tdProps }) => (\n <td {...tdProps}>{categories.find(c => c.CategoryID === dataItem[field!])?.CategoryName}</td>\n);\n"],"names":["categories","CategoryID","CategoryName","CategoryCell","field","dataItem","tdProps","td","find","c"],"mappings":";AAQA,OAAO,MAAMA,aAAyB;IAClC;QACIC,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;IACA;QACID,YAAY;QACZC,cAAc;IAClB;CACH,CAAC;AAEF,OAAO,MAAMC,eAAmC,CAAC,EAAEC,KAAK,EAAEC,QAAQ,EAAEC,OAAO,EAAE;QACvDN;yBAAlB,KAACO;QAAI,GAAGD,OAAO;mBAAGN,mBAAAA,WAAWQ,IAAI,CAACC,CAAAA,IAAKA,EAAER,UAAU,KAAKI,QAAQ,CAACD,MAAO,eAAtDJ,uCAAAA,iBAAyDE,YAAY;;EACzF"}
|
@@ -5,11 +5,43 @@ import { observer } from 'mobx-react';
|
|
5
5
|
import { Table, TableColumn, multiSelectColumnMenuFilter } from '../..';
|
6
6
|
import { TableStore } from './table.store';
|
7
7
|
export const MultiSelectDefaultExample = provide({
|
8
|
-
singletons: [
|
9
|
-
|
8
|
+
singletons: [
|
9
|
+
TableStore
|
10
|
+
]
|
11
|
+
})(observer(()=>{
|
10
12
|
const [{ tableState, madeInOptions }] = useDependencies(TableStore);
|
11
|
-
const madeInColumnMenu = useMemo(()
|
12
|
-
|
13
|
-
|
13
|
+
const madeInColumnMenu = useMemo(()=>multiSelectColumnMenuFilter(madeInOptions), [
|
14
|
+
madeInOptions
|
15
|
+
]);
|
16
|
+
const categoryColumnMenu = useMemo(()=>multiSelectColumnMenuFilter(new Array(20).fill(0).map((_, index)=>index), undefined, {
|
17
|
+
contentMaxHeight: '250px'
|
18
|
+
}), []);
|
19
|
+
return /*#__PURE__*/ _jsxs(Table, {
|
20
|
+
tableState: tableState,
|
21
|
+
children: [
|
22
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
23
|
+
field: "ProductID",
|
24
|
+
title: "ID",
|
25
|
+
editable: false,
|
26
|
+
width: "100px"
|
27
|
+
}),
|
28
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
29
|
+
field: "ProductName",
|
30
|
+
title: "Product Name",
|
31
|
+
width: "240px"
|
32
|
+
}),
|
33
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
34
|
+
field: "MadeIn",
|
35
|
+
title: "Made In",
|
36
|
+
columnMenu: madeInColumnMenu
|
37
|
+
}),
|
38
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
39
|
+
field: "CategoryID",
|
40
|
+
title: "CategoryID",
|
41
|
+
columnMenu: categoryColumnMenu
|
42
|
+
})
|
43
|
+
]
|
44
|
+
});
|
14
45
|
}));
|
46
|
+
|
15
47
|
//# sourceMappingURL=multiselect-filter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/multiselect-filter.tsx"],"sourcesContent":["import { useMemo, FC } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport { Table, TableColumn, multiSelectColumnMenuFilter } from '../..';\n\nimport { TableStore } from './table.store';\n\nexport const MultiSelectDefaultExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState, madeInOptions }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () => multiSelectColumnMenuFilter(madeInOptions),\n [madeInOptions]\n );\n\n const categoryColumnMenu = useMemo(\n () =>\n multiSelectColumnMenuFilter(\n new Array(20).fill(0).map((_, index) => index),\n undefined,\n { contentMaxHeight: '250px' }\n ),\n []\n );\n\n return (\n <Table tableState={tableState}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n\n <TableColumn field=\"MadeIn\" title=\"Made In\" columnMenu={madeInColumnMenu} />\n <TableColumn\n field=\"CategoryID\"\n title=\"CategoryID\"\n columnMenu={categoryColumnMenu}\n />\n </Table>\n );\n })\n);\n"],"names":["useMemo","provide","useDependencies","observer","Table","TableColumn","multiSelectColumnMenuFilter","TableStore","MultiSelectDefaultExample","singletons","tableState","madeInOptions","madeInColumnMenu","categoryColumnMenu","Array","fill","map","_","index","undefined","contentMaxHeight","field","title","editable","width","columnMenu"],"mappings":";AAAA,SAASA,OAAO,QAAY,QAAQ;AAEpC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,KAAK,EAAEC,WAAW,EAAEC,2BAA2B,QAAQ,QAAQ;AAExE,SAASC,UAAU,QAAQ,gBAAgB;AAE3C,OAAO,MAAMC,4BAAgCP,QAAQ;IACjDQ,YAAY;QAACF;KAAW;AAC5B,GACIJ,SAAS;IACL,MAAM,CAAC,EAAEO,UAAU,EAAEC,aAAa,EAAE,CAAC,GAAGT,gBAAgBK;IAExD,MAAMK,mBAAmBZ,QACrB,IAAMM,4BAA4BK,gBAClC;QAACA;KAAc;IAGnB,MAAME,qBAAqBb,QACvB,IACIM,4BACI,IAAIQ,MAAM,IAAIC,IAAI,CAAC,GAAGC,GAAG,CAAC,CAACC,GAAGC,QAAUA,QACxCC,WACA;YAAEC,kBAAkB;QAAQ,IAEpC,EAAE;IAGN,qBACI,MAAChB;QAAMM,YAAYA;;0BACf,KAACL;gBAAYgB,OAAM;gBAAYC,OAAM;gBAAKC,UAAU;gBAAOC,OAAM;;0BAEjE,KAACnB;gBAAYgB,OAAM;gBAAcC,OAAM;gBAAeE,OAAM;;0BAE5D,KAACnB;gBAAYgB,OAAM;gBAASC,OAAM;gBAAUG,YAAYb;;0BACxD,KAACP;gBACGgB,OAAM;gBACNC,OAAM;gBACNG,YAAYZ;;;;AAI5B,IACF"}
|
@@ -2,25 +2,119 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { Fragment } from 'react';
|
3
3
|
import { observer } from 'mobx-react';
|
4
4
|
import { provide, useDependencies } from '@servicetitan/react-ioc';
|
5
|
-
import { Table, TableColumn, DateRangeColumnMenuFilter, NumericRangeColumnMenuFilter, CurrencyRangeColumnMenuFilter
|
5
|
+
import { Table, TableColumn, DateRangeColumnMenuFilter, NumericRangeColumnMenuFilter, CurrencyRangeColumnMenuFilter } from '../..';
|
6
6
|
import { TableStore } from './table.store';
|
7
7
|
import { Banner } from '@servicetitan/design-system';
|
8
8
|
export const RangeSelectDateExample = provide({
|
9
|
-
singletons: [
|
10
|
-
|
9
|
+
singletons: [
|
10
|
+
TableStore
|
11
|
+
]
|
12
|
+
})(observer(()=>{
|
11
13
|
const [{ tableState }] = useDependencies(TableStore);
|
12
|
-
return
|
14
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
15
|
+
children: [
|
16
|
+
/*#__PURE__*/ _jsx(Banner, {
|
17
|
+
title: "Date range filter",
|
18
|
+
className: "m-b-2",
|
19
|
+
children: "Allows to choose date range"
|
20
|
+
}),
|
21
|
+
/*#__PURE__*/ _jsxs(Table, {
|
22
|
+
tableState: tableState,
|
23
|
+
children: [
|
24
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
25
|
+
field: "ProductID",
|
26
|
+
title: "ID",
|
27
|
+
editable: false,
|
28
|
+
width: "100px"
|
29
|
+
}),
|
30
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
31
|
+
field: "ProductName",
|
32
|
+
title: "Product Name",
|
33
|
+
width: "240px"
|
34
|
+
}),
|
35
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
36
|
+
field: "UnitsOnOrder",
|
37
|
+
title: "Units On Order",
|
38
|
+
columnMenu: DateRangeColumnMenuFilter
|
39
|
+
})
|
40
|
+
]
|
41
|
+
})
|
42
|
+
]
|
43
|
+
});
|
13
44
|
}));
|
14
45
|
export const RangeSelectNumberExample = provide({
|
15
|
-
singletons: [
|
16
|
-
|
46
|
+
singletons: [
|
47
|
+
TableStore
|
48
|
+
]
|
49
|
+
})(observer(()=>{
|
17
50
|
const [{ tableState }] = useDependencies(TableStore);
|
18
|
-
return
|
51
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
52
|
+
children: [
|
53
|
+
/*#__PURE__*/ _jsx(Banner, {
|
54
|
+
title: "Numeric range filter",
|
55
|
+
className: "m-b-2",
|
56
|
+
children: "Allows to choose numeric range"
|
57
|
+
}),
|
58
|
+
/*#__PURE__*/ _jsxs(Table, {
|
59
|
+
tableState: tableState,
|
60
|
+
children: [
|
61
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
62
|
+
field: "ProductID",
|
63
|
+
title: "ID",
|
64
|
+
editable: false,
|
65
|
+
width: "100px"
|
66
|
+
}),
|
67
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
68
|
+
field: "ProductName",
|
69
|
+
title: "Product Name",
|
70
|
+
width: "240px"
|
71
|
+
}),
|
72
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
73
|
+
field: "UnitsInStock",
|
74
|
+
title: "Units In Stock",
|
75
|
+
columnMenu: NumericRangeColumnMenuFilter
|
76
|
+
})
|
77
|
+
]
|
78
|
+
})
|
79
|
+
]
|
80
|
+
});
|
19
81
|
}));
|
20
82
|
export const RangeSelectCurrencyExample = provide({
|
21
|
-
singletons: [
|
22
|
-
|
83
|
+
singletons: [
|
84
|
+
TableStore
|
85
|
+
]
|
86
|
+
})(observer(()=>{
|
23
87
|
const [{ tableState }] = useDependencies(TableStore);
|
24
|
-
return
|
88
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
89
|
+
children: [
|
90
|
+
/*#__PURE__*/ _jsx(Banner, {
|
91
|
+
title: "Currency range filter",
|
92
|
+
className: "m-b-2",
|
93
|
+
children: "Allows to choose currency range"
|
94
|
+
}),
|
95
|
+
/*#__PURE__*/ _jsxs(Table, {
|
96
|
+
tableState: tableState,
|
97
|
+
children: [
|
98
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
99
|
+
field: "ProductID",
|
100
|
+
title: "ID",
|
101
|
+
editable: false,
|
102
|
+
width: "100px"
|
103
|
+
}),
|
104
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
105
|
+
field: "ProductName",
|
106
|
+
title: "Product Name",
|
107
|
+
width: "240px"
|
108
|
+
}),
|
109
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
110
|
+
field: "UnitPrice",
|
111
|
+
title: "Unit Price",
|
112
|
+
columnMenu: CurrencyRangeColumnMenuFilter
|
113
|
+
})
|
114
|
+
]
|
115
|
+
})
|
116
|
+
]
|
117
|
+
});
|
25
118
|
}));
|
119
|
+
|
26
120
|
//# sourceMappingURL=range-filter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/range-filter.tsx"],"sourcesContent":["import { FC, Fragment } from 'react';\nimport { observer } from 'mobx-react';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport {\n Table,\n TableColumn,\n DateRangeColumnMenuFilter,\n NumericRangeColumnMenuFilter,\n CurrencyRangeColumnMenuFilter,\n} from '../..';\nimport { TableStore } from './table.store';\nimport { Banner } from '@servicetitan/design-system';\n\nexport const RangeSelectDateExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n\n return (\n <Fragment>\n <Banner title=\"Date range filter\" className=\"m-b-2\">\n Allows to choose date range\n </Banner>\n <Table tableState={tableState}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n <TableColumn\n field=\"UnitsOnOrder\"\n title=\"Units On Order\"\n columnMenu={DateRangeColumnMenuFilter}\n />\n </Table>\n </Fragment>\n );\n })\n);\n\nexport const RangeSelectNumberExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n\n return (\n <Fragment>\n <Banner title=\"Numeric range filter\" className=\"m-b-2\">\n Allows to choose numeric range\n </Banner>\n <Table tableState={tableState}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n <TableColumn\n field=\"UnitsInStock\"\n title=\"Units In Stock\"\n columnMenu={NumericRangeColumnMenuFilter}\n />\n </Table>\n </Fragment>\n );\n })\n);\n\nexport const RangeSelectCurrencyExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n\n return (\n <Fragment>\n <Banner title=\"Currency range filter\" className=\"m-b-2\">\n Allows to choose currency range\n </Banner>\n <Table tableState={tableState}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n <TableColumn\n field=\"UnitPrice\"\n title=\"Unit Price\"\n columnMenu={CurrencyRangeColumnMenuFilter}\n />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["Fragment","observer","provide","useDependencies","Table","TableColumn","DateRangeColumnMenuFilter","NumericRangeColumnMenuFilter","CurrencyRangeColumnMenuFilter","TableStore","Banner","RangeSelectDateExample","singletons","tableState","title","className","field","editable","width","columnMenu","RangeSelectNumberExample","RangeSelectCurrencyExample"],"mappings":";AAAA,SAAaA,QAAQ,QAAQ,QAAQ;AACrC,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SACIC,KAAK,EACLC,WAAW,EACXC,yBAAyB,EACzBC,4BAA4B,EAC5BC,6BAA6B,QAC1B,QAAQ;AACf,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,MAAM,QAAQ,8BAA8B;AAErD,OAAO,MAAMC,yBAA6BT,QAAQ;IAC9CU,YAAY;QAACH;KAAW;AAC5B,GACIR,SAAS;IACL,MAAM,CAAC,EAAEY,UAAU,EAAE,CAAC,GAAGV,gBAAgBM;IAEzC,qBACI,MAACT;;0BACG,KAACU;gBAAOI,OAAM;gBAAoBC,WAAU;0BAAQ;;0BAGpD,MAACX;gBAAMS,YAAYA;;kCACf,KAACR;wBAAYW,OAAM;wBAAYF,OAAM;wBAAKG,UAAU;wBAAOC,OAAM;;kCACjE,KAACb;wBAAYW,OAAM;wBAAcF,OAAM;wBAAeI,OAAM;;kCAC5D,KAACb;wBACGW,OAAM;wBACNF,OAAM;wBACNK,YAAYb;;;;;;AAKhC,IACF;AAEF,OAAO,MAAMc,2BAA+BlB,QAAQ;IAChDU,YAAY;QAACH;KAAW;AAC5B,GACIR,SAAS;IACL,MAAM,CAAC,EAAEY,UAAU,EAAE,CAAC,GAAGV,gBAAgBM;IAEzC,qBACI,MAACT;;0BACG,KAACU;gBAAOI,OAAM;gBAAuBC,WAAU;0BAAQ;;0BAGvD,MAACX;gBAAMS,YAAYA;;kCACf,KAACR;wBAAYW,OAAM;wBAAYF,OAAM;wBAAKG,UAAU;wBAAOC,OAAM;;kCACjE,KAACb;wBAAYW,OAAM;wBAAcF,OAAM;wBAAeI,OAAM;;kCAC5D,KAACb;wBACGW,OAAM;wBACNF,OAAM;wBACNK,YAAYZ;;;;;;AAKhC,IACF;AAEF,OAAO,MAAMc,6BAAiCnB,QAAQ;IAClDU,YAAY;QAACH;KAAW;AAC5B,GACIR,SAAS;IACL,MAAM,CAAC,EAAEY,UAAU,EAAE,CAAC,GAAGV,gBAAgBM;IAEzC,qBACI,MAACT;;0BACG,KAACU;gBAAOI,OAAM;gBAAwBC,WAAU;0BAAQ;;0BAGxD,MAACX;gBAAMS,YAAYA;;kCACf,KAACR;wBAAYW,OAAM;wBAAYF,OAAM;wBAAKG,UAAU;wBAAOC,OAAM;;kCACjE,KAACb;wBAAYW,OAAM;wBAAcF,OAAM;wBAAeI,OAAM;;kCAC5D,KAACb;wBACGW,OAAM;wBACNF,OAAM;wBACNK,YAAYX;;;;;;AAKhC,IACF"}
|
@@ -6,52 +6,150 @@ 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 = ({ dataItem, tdProps })
|
10
|
-
var
|
11
|
-
return
|
9
|
+
export const PackageCell = ({ dataItem, tdProps })=>{
|
10
|
+
var _dataItem_Package;
|
11
|
+
return /*#__PURE__*/ _jsx("td", {
|
12
|
+
...tdProps,
|
13
|
+
children: dataItem === null || dataItem === void 0 ? void 0 : (_dataItem_Package = dataItem.Package) === null || _dataItem_Package === void 0 ? void 0 : _dataItem_Package.PackageName
|
14
|
+
});
|
12
15
|
};
|
13
16
|
export const SelectAsyncExample = provide({
|
14
|
-
singletons: [
|
15
|
-
|
17
|
+
singletons: [
|
18
|
+
TableStore
|
19
|
+
]
|
20
|
+
})(observer(()=>{
|
16
21
|
const [{ categoryFetcherClean, madeInFetcherClean, tableState }] = useDependencies(TableStore);
|
17
|
-
const madeInColumnMenu = useMemo(()
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
22
|
+
const madeInColumnMenu = useMemo(()=>selectColumnMenuFilter({
|
23
|
+
dataFetcher: madeInFetcherClean,
|
24
|
+
search: true
|
25
|
+
}), [
|
26
|
+
madeInFetcherClean
|
27
|
+
]);
|
28
|
+
const categoryColumnMenu = useMemo(()=>selectColumnMenuFilter({
|
29
|
+
dataFetcher: categoryFetcherClean,
|
30
|
+
multiple: true,
|
31
|
+
contentMaxHeight: '250px',
|
32
|
+
valueSelector: (item)=>item.CategoryID
|
33
|
+
}), [
|
34
|
+
categoryFetcherClean
|
35
|
+
]);
|
36
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
37
|
+
children: [
|
38
|
+
/*#__PURE__*/ _jsxs(Banner, {
|
39
|
+
title: "Default filter with async select",
|
40
|
+
className: "m-b-2",
|
41
|
+
children: [
|
42
|
+
"Async select filter allows to choose one or several option from the list that will be fetched from BE. The list size is not limited, so you can also use search to find desired option.",
|
43
|
+
/*#__PURE__*/ _jsx("br", {}),
|
44
|
+
"Use it when there can be greater than 20 possible options"
|
45
|
+
]
|
46
|
+
}),
|
47
|
+
/*#__PURE__*/ _jsxs(Table, {
|
48
|
+
tableState: tableState,
|
49
|
+
striped: false,
|
50
|
+
children: [
|
51
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
52
|
+
field: "ProductID",
|
53
|
+
title: "ID",
|
54
|
+
editable: false,
|
55
|
+
width: "100px"
|
56
|
+
}),
|
57
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
58
|
+
field: "ProductName",
|
59
|
+
title: "Product Name",
|
60
|
+
width: "240px"
|
61
|
+
}),
|
62
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
63
|
+
field: "MadeIn",
|
64
|
+
title: "Made In (async single-select filter)",
|
65
|
+
columnMenu: madeInColumnMenu
|
66
|
+
}),
|
67
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
68
|
+
field: "CategoryID",
|
69
|
+
title: "Category (async multi-select filter)",
|
70
|
+
columnMenu: categoryColumnMenu,
|
71
|
+
cell: CategoryCell
|
72
|
+
})
|
73
|
+
]
|
74
|
+
})
|
75
|
+
]
|
76
|
+
});
|
28
77
|
}));
|
29
78
|
export const SelectSyncExample = provide({
|
30
|
-
singletons: [
|
31
|
-
|
79
|
+
singletons: [
|
80
|
+
TableStore
|
81
|
+
]
|
82
|
+
})(observer(()=>{
|
32
83
|
const [{ madeInOptions, packageOptions, tableState }] = useDependencies(TableStore);
|
33
|
-
const madeInColumnMenu = useMemo(()
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
84
|
+
const madeInColumnMenu = useMemo(()=>selectColumnMenuFilter({
|
85
|
+
data: madeInOptions,
|
86
|
+
search: {
|
87
|
+
placeholder: 'Search for made-ins',
|
88
|
+
filter: (search)=>(item)=>item.toLowerCase().includes(search)
|
89
|
+
}
|
90
|
+
}), [
|
91
|
+
madeInOptions
|
92
|
+
]);
|
93
|
+
const categoryColumnMenu = useMemo(()=>selectColumnMenuFilter({
|
94
|
+
data: categories,
|
95
|
+
multiple: true,
|
96
|
+
contentMaxHeight: '250px',
|
97
|
+
valueSelector: (item)=>item.CategoryID,
|
98
|
+
renderItem: (item)=>item.CategoryName,
|
99
|
+
search: true
|
100
|
+
}), []);
|
101
|
+
const packageColumnMenu = useMemo(()=>selectColumnMenuFilter({
|
102
|
+
data: packageOptions,
|
103
|
+
multiple: false,
|
104
|
+
valueSelector: (item)=>item.Id,
|
105
|
+
renderItem: (item)=>item.Name,
|
106
|
+
rowValueSelector: (item)=>item === null || item === void 0 ? void 0 : item.PackageId
|
107
|
+
}), [
|
108
|
+
packageOptions
|
109
|
+
]);
|
110
|
+
return /*#__PURE__*/ _jsxs(Fragment, {
|
111
|
+
children: [
|
112
|
+
/*#__PURE__*/ _jsx(Banner, {
|
113
|
+
title: "Default filter with sync select",
|
114
|
+
className: "m-b-2",
|
115
|
+
children: "Select filter allows to choose one or multiple option(s) from the provided list. You can pass simple options (string or number) or complex objects"
|
116
|
+
}),
|
117
|
+
/*#__PURE__*/ _jsxs(Table, {
|
118
|
+
tableState: tableState,
|
119
|
+
striped: false,
|
120
|
+
children: [
|
121
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
122
|
+
field: "ProductID",
|
123
|
+
title: "ID",
|
124
|
+
editable: false,
|
125
|
+
width: "100px"
|
126
|
+
}),
|
127
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
128
|
+
field: "ProductName",
|
129
|
+
title: "Product Name",
|
130
|
+
width: "240px"
|
131
|
+
}),
|
132
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
133
|
+
field: "MadeIn",
|
134
|
+
title: "Made In (sync single-select filter)",
|
135
|
+
columnMenu: madeInColumnMenu
|
136
|
+
}),
|
137
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
138
|
+
field: "CategoryID",
|
139
|
+
title: "Category (sync multi-select filter)",
|
140
|
+
columnMenu: categoryColumnMenu,
|
141
|
+
cell: CategoryCell
|
142
|
+
}),
|
143
|
+
/*#__PURE__*/ _jsx(TableColumn, {
|
144
|
+
field: "Package",
|
145
|
+
title: "Package (sync single-select filter)",
|
146
|
+
columnMenu: packageColumnMenu,
|
147
|
+
cell: PackageCell
|
148
|
+
})
|
149
|
+
]
|
150
|
+
})
|
151
|
+
]
|
152
|
+
});
|
56
153
|
}));
|
154
|
+
|
57
155
|
//# sourceMappingURL=select-filter.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/select-filter.tsx"],"sourcesContent":["import { useMemo, FC, Fragment } from 'react';\nimport { observer } from 'mobx-react';\nimport { Banner } from '@servicetitan/design-system';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { Table, TableColumn, selectColumnMenuFilter, TableCellProps } from '../..';\n\nimport { TableStore } from './table.store';\nimport { categories, CategoryCell } from './categories';\nimport { Product } from '../overview/product';\n\nexport const PackageCell: FC<TableCellProps> = ({ dataItem, tdProps }) => (\n <td {...tdProps}>{dataItem?.Package?.PackageName}</td>\n);\n\nexport const SelectAsyncExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ categoryFetcherClean, madeInFetcherClean, tableState }] =\n useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () =>\n selectColumnMenuFilter({\n dataFetcher: madeInFetcherClean,\n search: true,\n }),\n [madeInFetcherClean]\n );\n\n const categoryColumnMenu = useMemo(\n () =>\n selectColumnMenuFilter({\n dataFetcher: categoryFetcherClean,\n multiple: true,\n contentMaxHeight: '250px',\n valueSelector: item => item.CategoryID,\n }),\n [categoryFetcherClean]\n );\n\n return (\n <Fragment>\n <Banner title=\"Default filter with async select\" className=\"m-b-2\">\n Async select filter allows to choose one or several option from the list that\n will be fetched from BE. The list size is not limited, so you can also use\n search to find desired option.\n <br />\n Use it when there can be greater than 20 possible options\n </Banner>\n <Table tableState={tableState} striped={false}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n <TableColumn\n field=\"MadeIn\"\n title=\"Made In (async single-select filter)\"\n columnMenu={madeInColumnMenu}\n />\n <TableColumn\n field=\"CategoryID\"\n title=\"Category (async multi-select filter)\"\n columnMenu={categoryColumnMenu}\n cell={CategoryCell}\n />\n </Table>\n </Fragment>\n );\n })\n);\n\nexport const SelectSyncExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ madeInOptions, packageOptions, tableState }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () =>\n selectColumnMenuFilter({\n data: madeInOptions,\n search: {\n placeholder: 'Search for made-ins',\n filter: search => item => item.toLowerCase().includes(search),\n },\n }),\n [madeInOptions]\n );\n\n const categoryColumnMenu = useMemo(\n () =>\n selectColumnMenuFilter({\n data: categories,\n multiple: true,\n contentMaxHeight: '250px',\n valueSelector: item => item.CategoryID,\n renderItem: item => item.CategoryName,\n search: true,\n }),\n []\n );\n\n const packageColumnMenu = useMemo(\n () =>\n selectColumnMenuFilter({\n data: packageOptions,\n multiple: false,\n valueSelector: item => item.Id,\n renderItem: item => item.Name,\n rowValueSelector: (item: Product['Package']) => item?.PackageId,\n }),\n [packageOptions]\n );\n\n return (\n <Fragment>\n <Banner title=\"Default filter with sync select\" className=\"m-b-2\">\n Select filter allows to choose one or multiple option(s) from the provided list.\n You can pass simple options (string or number) or complex objects\n </Banner>\n <Table tableState={tableState} striped={false}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn field=\"ProductName\" title=\"Product Name\" width=\"240px\" />\n <TableColumn\n field=\"MadeIn\"\n title=\"Made In (sync single-select filter)\"\n columnMenu={madeInColumnMenu}\n />\n <TableColumn\n field=\"CategoryID\"\n title=\"Category (sync multi-select filter)\"\n columnMenu={categoryColumnMenu}\n cell={CategoryCell}\n />\n <TableColumn\n field=\"Package\"\n title=\"Package (sync single-select filter)\"\n columnMenu={packageColumnMenu}\n cell={PackageCell}\n />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["useMemo","Fragment","observer","Banner","provide","useDependencies","Table","TableColumn","selectColumnMenuFilter","TableStore","categories","CategoryCell","PackageCell","dataItem","tdProps","td","Package","PackageName","SelectAsyncExample","singletons","categoryFetcherClean","madeInFetcherClean","tableState","madeInColumnMenu","dataFetcher","search","categoryColumnMenu","multiple","contentMaxHeight","valueSelector","item","CategoryID","title","className","br","striped","field","editable","width","columnMenu","cell","SelectSyncExample","madeInOptions","packageOptions","data","placeholder","filter","toLowerCase","includes","renderItem","CategoryName","packageColumnMenu","Id","Name","rowValueSelector","PackageId"],"mappings":"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"}
|