@servicetitan/table 41.1.0 → 41.2.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/products.d.ts +1 -1
- package/dist/demo/column-hiding/products.d.ts.map +1 -1
- package/dist/demo/column-hiding/products.js.map +1 -1
- package/dist/demo/column-hiding/table.d.ts +1 -1
- package/dist/demo/column-hiding/table.d.ts.map +1 -1
- package/dist/demo/column-hiding/table.js.map +1 -1
- package/dist/demo/column-hiding/table.store.d.ts +3 -2
- package/dist/demo/column-hiding/table.store.d.ts.map +1 -1
- package/dist/demo/column-hiding/table.store.js.map +1 -1
- package/dist/demo/filters/async-select-filter.d.ts +1 -1
- package/dist/demo/filters/async-select-filter.d.ts.map +1 -1
- package/dist/demo/filters/async-select-filter.js.map +1 -1
- package/dist/demo/filters/categories.d.ts +2 -2
- package/dist/demo/filters/categories.d.ts.map +1 -1
- package/dist/demo/filters/categories.js.map +1 -1
- package/dist/demo/filters/multiselect-filter.d.ts +1 -1
- package/dist/demo/filters/multiselect-filter.d.ts.map +1 -1
- package/dist/demo/filters/multiselect-filter.js.map +1 -1
- package/dist/demo/filters/range-filter.d.ts +1 -1
- package/dist/demo/filters/range-filter.d.ts.map +1 -1
- package/dist/demo/filters/range-filter.js.map +1 -1
- package/dist/demo/filters/select-filter.d.ts +2 -2
- package/dist/demo/filters/select-filter.d.ts.map +1 -1
- package/dist/demo/filters/select-filter.js.map +1 -1
- package/dist/demo/filters/single-select-filter.d.ts +1 -1
- package/dist/demo/filters/single-select-filter.d.ts.map +1 -1
- package/dist/demo/filters/single-select-filter.js.map +1 -1
- package/dist/demo/filters/table.store.d.ts +3 -2
- package/dist/demo/filters/table.store.d.ts.map +1 -1
- package/dist/demo/filters/table.store.js.map +1 -1
- package/dist/demo/footer-page-size/table.d.ts +1 -1
- package/dist/demo/footer-page-size/table.d.ts.map +1 -1
- package/dist/demo/footer-page-size/table.js.map +1 -1
- package/dist/demo/master-detail/detail-table.d.ts +2 -2
- package/dist/demo/master-detail/detail-table.d.ts.map +1 -1
- package/dist/demo/master-detail/detail-table.js.map +1 -1
- package/dist/demo/master-detail/detail-table.store.d.ts.map +1 -1
- package/dist/demo/master-detail/detail-table.store.js.map +1 -1
- package/dist/demo/master-detail/master-table.store.d.ts +2 -2
- package/dist/demo/master-detail/master-table.store.d.ts.map +1 -1
- package/dist/demo/master-detail/master-table.store.js.map +1 -1
- package/dist/demo/master-detail/product-details.d.ts +1 -1
- package/dist/demo/master-detail/product-details.d.ts.map +1 -1
- package/dist/demo/master-detail/product-details.js.map +1 -1
- package/dist/demo/master-detail/products.d.ts +1 -1
- package/dist/demo/master-detail/products.d.ts.map +1 -1
- package/dist/demo/master-detail/products.js.map +1 -1
- package/dist/demo/master-detail/table-master-detail.d.ts +1 -1
- package/dist/demo/master-detail/table-master-detail.d.ts.map +1 -1
- package/dist/demo/master-detail/table-master-detail.js.map +1 -1
- package/dist/demo/overview/actions-cell.d.ts +2 -2
- package/dist/demo/overview/actions-cell.d.ts.map +1 -1
- package/dist/demo/overview/actions-cell.js.map +1 -1
- package/dist/demo/overview/products.d.ts +1 -1
- package/dist/demo/overview/products.d.ts.map +1 -1
- package/dist/demo/overview/products.js.map +1 -1
- package/dist/demo/overview/table.d.ts +2 -2
- package/dist/demo/overview/table.d.ts.map +1 -1
- package/dist/demo/overview/table.js.map +1 -1
- package/dist/demo/overview/table.store.d.ts +1 -1
- package/dist/demo/overview/table.store.d.ts.map +1 -1
- package/dist/demo/overview/table.store.js.map +1 -1
- package/dist/demo/row-details/row-details-table.d.ts +1 -1
- package/dist/demo/row-details/row-details-table.d.ts.map +1 -1
- package/dist/demo/row-details/row-details-table.js.map +1 -1
- package/dist/demo/row-details/row-details-table.store.d.ts +1 -1
- package/dist/demo/row-details/row-details-table.store.d.ts.map +1 -1
- package/dist/demo/row-details/row-details-table.store.js.map +1 -1
- package/dist/demo/state-caching/beverages.d.ts +1 -1
- package/dist/demo/state-caching/beverages.d.ts.map +1 -1
- package/dist/demo/state-caching/beverages.js.map +1 -1
- package/dist/demo/state-caching/products.d.ts +1 -1
- package/dist/demo/state-caching/products.d.ts.map +1 -1
- package/dist/demo/state-caching/products.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.d.ts +1 -1
- package/dist/demo/state-caching/state-caching-table.d.ts.map +1 -1
- package/dist/demo/state-caching/state-caching-table.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.store.d.ts +2 -2
- package/dist/demo/state-caching/state-caching-table.store.d.ts.map +1 -1
- package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
- package/dist/details/expand-column.d.ts +2 -2
- package/dist/details/expand-column.d.ts.map +1 -1
- package/dist/details/expand-column.js.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.d.ts.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-action-cell.d.ts +3 -3
- package/dist/editable-cell/get-action-cell.d.ts.map +1 -1
- package/dist/editable-cell/get-action-cell.js.map +1 -1
- package/dist/editable-cell/get-editable-cell.d.ts +4 -4
- package/dist/editable-cell/get-editable-cell.d.ts.map +1 -1
- package/dist/editable-cell/get-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.d.ts +3 -3
- package/dist/editable-cell/get-select-editable-cell.d.ts.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
- package/dist/editable-cell/text-editable-cell.d.ts.map +1 -1
- package/dist/editable-cell/text-editable-cell.js.map +1 -1
- package/dist/export/export.d.ts +1 -1
- package/dist/export/export.d.ts.map +1 -1
- package/dist/export/export.js.map +1 -1
- package/dist/filters/async-select/async-select-filter.d.ts +3 -3
- package/dist/filters/async-select/async-select-filter.d.ts.map +1 -1
- package/dist/filters/async-select/async-select-filter.js.map +1 -1
- package/dist/filters/column-menu-filters.d.ts +2 -2
- package/dist/filters/column-menu-filters.d.ts.map +1 -1
- package/dist/filters/column-menu-filters.js.map +1 -1
- package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
- package/dist/filters/field-values-filter.d.ts +1 -1
- package/dist/filters/field-values-filter.d.ts.map +1 -1
- package/dist/filters/field-values-filter.js.map +1 -1
- package/dist/filters/multiselect-filter/multiselect-filter.d.ts +2 -2
- package/dist/filters/multiselect-filter/multiselect-filter.d.ts.map +1 -1
- package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.d.ts.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
- package/dist/filters/range-filter/range-filter.d.ts.map +1 -1
- package/dist/filters/range-filter/range-filter.js.map +1 -1
- package/dist/filters/select-filter/operators.d.ts +1 -1
- package/dist/filters/select-filter/operators.d.ts.map +1 -1
- package/dist/filters/select-filter/operators.js.map +1 -1
- package/dist/filters/select-filter/select-filter.d.ts +3 -3
- package/dist/filters/select-filter/select-filter.d.ts.map +1 -1
- package/dist/filters/select-filter/select-filter.js.map +1 -1
- package/dist/filters/select-filter/value-getter.d.ts +1 -1
- package/dist/filters/select-filter/value-getter.d.ts.map +1 -1
- package/dist/filters/select-filter/value-getter.js.map +1 -1
- package/dist/filters/single-select/single-select-filter.d.ts +3 -3
- package/dist/filters/single-select/single-select-filter.d.ts.map +1 -1
- package/dist/filters/single-select/single-select-filter.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.d.ts +3 -3
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.d.ts.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.d.ts +4 -4
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.d.ts.map +1 -1
- 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.d.ts +1 -1
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.d.ts.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
- package/dist/filters/time-filter/time-filter.d.ts.map +1 -1
- package/dist/filters/time-filter/time-filter.js.map +1 -1
- package/dist/select-cell/select-cell.d.ts +2 -2
- package/dist/select-cell/select-cell.d.ts.map +1 -1
- package/dist/select-cell/select-cell.js.map +1 -1
- package/dist/table-state.d.ts +6 -5
- package/dist/table-state.d.ts.map +1 -1
- package/dist/table-state.js.map +1 -1
- package/dist/table.d.ts +5 -4
- package/dist/table.d.ts.map +1 -1
- package/dist/table.js.map +1 -1
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.d.ts +2 -2
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.d.ts.map +1 -1
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.d.ts +3 -2
- package/dist/use-observing-table-state/use-observing-table-state.d.ts.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.stories.d.ts +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.stories.d.ts.map +1 -1
- package/dist/utils/filters.d.ts +1 -1
- package/dist/utils/filters.d.ts.map +1 -1
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/use-td-props.d.ts +2 -2
- package/dist/utils/use-td-props.d.ts.map +1 -1
- package/dist/utils/use-td-props.js.map +1 -1
- package/package.json +7 -7
- package/src/demo/column-hiding/products.ts +2 -1
- package/src/demo/column-hiding/table.store.ts +4 -2
- package/src/demo/column-hiding/table.tsx +4 -2
- package/src/demo/filters/async-select-filter.tsx +2 -1
- package/src/demo/filters/categories.tsx +2 -2
- package/src/demo/filters/multiselect-filter.tsx +2 -1
- package/src/demo/filters/range-filter.tsx +2 -1
- package/src/demo/filters/select-filter.tsx +5 -3
- package/src/demo/filters/single-select-filter.tsx +2 -1
- package/src/demo/filters/table.store.ts +4 -7
- package/src/demo/footer-page-size/table.tsx +2 -1
- package/src/demo/master-detail/detail-table.store.ts +2 -1
- package/src/demo/master-detail/detail-table.tsx +6 -3
- package/src/demo/master-detail/master-table.store.ts +4 -3
- package/src/demo/master-detail/product-details.ts +1 -1
- package/src/demo/master-detail/products.ts +2 -1
- package/src/demo/master-detail/table-master-detail.tsx +4 -2
- package/src/demo/overview/actions-cell.tsx +4 -3
- package/src/demo/overview/products.ts +2 -1
- package/src/demo/overview/table.store.ts +2 -1
- package/src/demo/overview/table.tsx +5 -4
- package/src/demo/row-details/row-details-table.store.ts +1 -1
- package/src/demo/row-details/row-details-table.tsx +4 -3
- package/src/demo/state-caching/beverages.ts +1 -1
- package/src/demo/state-caching/products.ts +1 -1
- package/src/demo/state-caching/state-caching-table.store.ts +2 -2
- package/src/demo/state-caching/state-caching-table.tsx +2 -1
- package/src/details/expand-column.tsx +4 -2
- package/src/editable-cell/boolean-editable-cell.tsx +3 -2
- package/src/editable-cell/get-action-cell.tsx +3 -3
- package/src/editable-cell/get-editable-cell.tsx +4 -4
- package/src/editable-cell/get-select-editable-cell.tsx +7 -5
- package/src/editable-cell/text-editable-cell.tsx +5 -3
- package/src/export/export.tsx +1 -1
- package/src/filters/async-select/async-select-filter.tsx +7 -14
- package/src/filters/column-menu-filters.tsx +4 -7
- package/src/filters/datetime-filter/datetime-filter.tsx +4 -4
- package/src/filters/field-values-filter.tsx +5 -3
- package/src/filters/multiselect-filter/multiselect-filter.tsx +6 -6
- package/src/filters/numeric-filter-extended/numeric-filter-extended.tsx +6 -4
- package/src/filters/range-filter/range-filter.tsx +5 -3
- package/src/filters/select-filter/operators.ts +1 -1
- package/src/filters/select-filter/select-filter.tsx +9 -16
- package/src/filters/select-filter/value-getter.ts +1 -1
- package/src/filters/single-select/single-select-filter.tsx +7 -7
- package/src/filters/standard-filter-with-multiselect/filter-cell-ext.tsx +4 -5
- package/src/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.tsx +7 -6
- package/src/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.tsx +1 -1
- package/src/filters/time-filter/time-filter.tsx +4 -2
- package/src/select-cell/select-cell.tsx +3 -3
- package/src/table-state.ts +6 -9
- package/src/table.tsx +10 -24
- package/src/use-observing-table-state/demo/components/use-observing-table-state-demo.tsx +4 -2
- package/src/use-observing-table-state/use-observing-table-state.stories.tsx +1 -1
- package/src/use-observing-table-state/use-observing-table-state.ts +4 -2
- package/src/utils/__tests__/filters.test.ts +1 -1
- package/src/utils/filters.ts +2 -6
- package/src/utils/use-td-props.ts +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/products.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/products.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,eAAO,MAAM,QAAQ,EAAE,OAAO,EA4H7B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/column-hiding/products.ts"],"sourcesContent":["import { Product
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/column-hiding/products.ts"],"sourcesContent":["import type { Product } from './product';\nimport { UserRole, Supplier } from './product';\n\nexport const products: Product[] = [\n {\n ProductID: 101,\n ProductName: 'Chai',\n Supplier: Supplier.Dan,\n CategoryID: 1,\n MadeIn: 'China',\n QuantityPerUnit: '10 boxes x 20 bags',\n UnitPrice: 18.0,\n UnitsInStock: 39,\n UnitsOnOrder: new Date('1/11/2019'),\n Discontinued: false,\n AvailableFor: UserRole.Admin,\n },\n {\n ProductID: 102,\n ProductName: 'Chang',\n Supplier: Supplier.Dan,\n CategoryID: 1,\n MadeIn: 'Thailand',\n QuantityPerUnit: '24 - 12 oz bottles',\n UnitPrice: 19.0,\n UnitsInStock: 17,\n UnitsOnOrder: new Date('2/11/2019'),\n Discontinued: false,\n },\n {\n ProductID: 103,\n ProductName: 'Aniseed Syrup',\n Supplier: Supplier.Dan,\n CategoryID: 2,\n MadeIn: 'France',\n QuantityPerUnit: '12 - 550 ml bottles',\n UnitPrice: 10.0,\n UnitsInStock: 13,\n UnitsOnOrder: new Date('3/11/2019'),\n Discontinued: false,\n AvailableFor: UserRole.Owner,\n },\n {\n ProductID: 104,\n ProductName: \"Chef Anton's Cajun Seasoning\",\n Supplier: Supplier.Adam,\n CategoryID: 2,\n MadeIn: 'USA',\n QuantityPerUnit: '48 - 6 oz jars',\n UnitPrice: 22.0,\n UnitsInStock: 53,\n UnitsOnOrder: new Date('4/11/2019'),\n Discontinued: false,\n },\n {\n ProductID: 105,\n ProductName: \"Chef Anton's Gumbo Mix\",\n Supplier: Supplier.Adam,\n CategoryID: 2,\n MadeIn: 'USA',\n QuantityPerUnit: '36 boxes',\n UnitPrice: 21.35,\n UnitsInStock: 0,\n UnitsOnOrder: new Date('5/11/2019'),\n Discontinued: true,\n AvailableFor: UserRole.GeneralOffice,\n },\n {\n ProductID: 106,\n ProductName: \"Grandma's Boysenberry Spread\",\n Supplier: Supplier.Charlie,\n CategoryID: 2,\n MadeIn: 'Norway',\n QuantityPerUnit: '12 - 8 oz jars',\n UnitPrice: 25.0,\n UnitsInStock: 120,\n UnitsOnOrder: new Date('6/11/2019'),\n Discontinued: false,\n },\n {\n ProductID: 107,\n ProductName: \"Uncle Bob's Organic Dried Pears\",\n Supplier: Supplier.Charlie,\n CategoryID: 7,\n MadeIn: 'USA',\n QuantityPerUnit: '12 - 1 lb pkgs.',\n UnitPrice: 30.0,\n UnitsInStock: 15,\n UnitsOnOrder: new Date('7/11/2019'),\n Discontinued: false,\n },\n {\n ProductID: 108,\n ProductName: 'Northwoods Cranberry Sauce',\n Supplier: Supplier.Charlie,\n CategoryID: 2,\n MadeIn: 'Norway',\n QuantityPerUnit: '12 - 12 oz jars',\n UnitPrice: 40.0,\n UnitsInStock: 6,\n UnitsOnOrder: new Date('8/11/2019'),\n Discontinued: false,\n },\n {\n ProductID: 109,\n ProductName: 'Mishi Kobe Niku',\n Supplier: Supplier.Benjamin,\n CategoryID: 6,\n MadeIn: 'Japan',\n QuantityPerUnit: '18 - 500 g pkgs.',\n UnitPrice: 97.0,\n UnitsInStock: 29,\n UnitsOnOrder: new Date('9/11/2019'),\n Discontinued: true,\n },\n {\n ProductID: 110,\n ProductName: 'Ikura',\n Supplier: Supplier.Benjamin,\n CategoryID: 8,\n MadeIn: 'Japan',\n QuantityPerUnit: '12 - 200 ml jars',\n UnitPrice: 31.0,\n UnitsInStock: 31,\n UnitsOnOrder: new Date('10/11/2019'),\n Discontinued: false,\n },\n];\n"],"names":["UserRole","Supplier","products","ProductID","ProductName","Dan","CategoryID","MadeIn","QuantityPerUnit","UnitPrice","UnitsInStock","UnitsOnOrder","Date","Discontinued","AvailableFor","Admin","Owner","Adam","GeneralOffice","Charlie","Benjamin"],"mappings":"AACA,SAASA,QAAQ,EAAEC,QAAQ,QAAQ,YAAY;AAE/C,OAAO,MAAMC,WAAsB;IAC/B;QACIC,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASI,GAAG;QACtBC,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;QACdC,cAAcd,SAASe,KAAK;IAChC;IACA;QACIZ,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASI,GAAG;QACtBC,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASI,GAAG;QACtBC,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;QACdC,cAAcd,SAASgB,KAAK;IAChC;IACA;QACIb,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASgB,IAAI;QACvBX,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASgB,IAAI;QACvBX,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;QACdC,cAAcd,SAASkB,aAAa;IACxC;IACA;QACIf,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASkB,OAAO;QAC1Bb,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASkB,OAAO;QAC1Bb,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASkB,OAAO;QAC1Bb,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASmB,QAAQ;QAC3Bd,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;IACA;QACIV,WAAW;QACXC,aAAa;QACbH,UAAUA,SAASmB,QAAQ;QAC3Bd,YAAY;QACZC,QAAQ;QACRC,iBAAiB;QACjBC,WAAW;QACXC,cAAc;QACdC,cAAc,IAAIC,KAAK;QACvBC,cAAc;IAClB;CACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAe,MAAM,OAAO,CAAC;AA8F7C,eAAO,MAAM,wBAAwB,EAAE,EAmCtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/column-hiding/table.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/column-hiding/table.tsx"],"sourcesContent":["import type { FC, ChangeEvent } from 'react';\nimport { Fragment, memo, useCallback, useState } from 'react';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\nimport { observer } from 'mobx-react';\n\nimport type { TableCellProps } from '../..';\nimport { Table, TableColumn } from '../..';\nimport { TableStore } from './table.store';\nimport { Supplier } from './product';\nimport { TableCell } from '@servicetitan/design-system';\n\nconst SupplierCell: FC<TableCellProps> = ({ field, dataItem, tdProps }) => (\n <td {...tdProps}>{Supplier[dataItem[field!]]}</td>\n);\n\nconst columns = [\n { field: 'ProductID', title: 'ID', minWidth: 50 },\n { field: 'ProductName', title: 'Name', minWidth: 200 },\n { field: 'Supplier', title: 'Supplier', minWidth: 200 },\n { field: 'MadeIn', title: 'Made In', minWidth: 200 },\n { field: 'QuantityPerUnit', title: 'Quantity Per Unit', minWidth: 200 },\n { field: 'UnitPrice', title: 'Price', minWidth: 100 },\n { field: 'UnitsInStock', title: 'In stock', minWidth: 100 },\n { field: 'UnitsOnOrder', title: 'On Order', minWidth: 100 },\n { field: 'Discontinued', title: 'Discontinued', minWidth: 100 },\n];\n\ninterface CheckboxRowProps {\n field: string;\n label: string;\n checked: boolean;\n onChange: (field: string, checked: boolean) => void;\n}\n\nconst CheckboxRow = memo(({ field, label, checked, onChange }: CheckboxRowProps) => {\n const handleChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n onChange(field, event.target.checked);\n },\n [field, onChange]\n );\n\n return (\n <div>\n <label>\n <input type=\"checkbox\" checked={checked} onChange={handleChange} /> {label}\n </label>\n </div>\n );\n});\n\ninterface HiddenColumnsProps {\n onChange: (columns: Set<string>) => void;\n checkedColumns: Set<string>;\n}\n\nconst HiddenColumns = ({ onChange, checkedColumns }: HiddenColumnsProps) => {\n const handleChange = useCallback(\n (field: string, checked: boolean) => {\n const newState = new Set(Array.from(checkedColumns));\n if (checked) {\n newState.add(field);\n } else {\n newState.delete(field);\n }\n onChange(newState);\n },\n [checkedColumns, onChange]\n );\n return (\n <div>\n <span>Select columns to hide</span>\n <div>\n {columns.map(col => (\n <CheckboxRow\n key={col.field}\n field={col.field}\n label={col.title}\n onChange={handleChange}\n checked={checkedColumns.has(col.field)}\n />\n ))}\n </div>\n </div>\n );\n};\n\nconst CellProvider = (props: TableCellProps) => {\n if (props.field === 'Supplier') {\n return <SupplierCell {...props} />;\n }\n return <TableCell {...props} />;\n};\n\nexport const TableColumnHidingExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n const [hiddenColumns, setHiddenColumns] = useState(new Set<string>());\n\n const handleHiddenColumnsChange = useCallback((columns: Set<string>) => {\n setHiddenColumns(new Set([...columns]));\n }, []);\n\n return (\n <Fragment>\n <HiddenColumns\n checkedColumns={hiddenColumns}\n onChange={handleHiddenColumnsChange}\n />\n <Table tableState={tableState} striped={false}>\n {columns\n .filter(col => !hiddenColumns.has(col.field))\n .map(column => {\n return (\n <TableColumn\n field={column.field}\n title={column.title}\n key={column.field}\n id={column.field}\n cell={CellProvider}\n />\n );\n })}\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["Fragment","memo","useCallback","useState","provide","useDependencies","observer","Table","TableColumn","TableStore","Supplier","TableCell","SupplierCell","field","dataItem","tdProps","td","columns","title","minWidth","CheckboxRow","label","checked","onChange","handleChange","event","target","div","input","type","HiddenColumns","checkedColumns","newState","Set","Array","from","add","delete","span","map","col","has","CellProvider","props","TableColumnHidingExample","singletons","tableState","hiddenColumns","setHiddenColumns","handleHiddenColumnsChange","striped","filter","column","id","cell"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { IdType
|
|
2
|
-
import {
|
|
1
|
+
import type { IdType } from '../..';
|
|
2
|
+
import { TableState } from '../..';
|
|
3
|
+
import type { Product } from './product';
|
|
3
4
|
export declare class TableStore {
|
|
4
5
|
rowIdKey: keyof Product;
|
|
5
6
|
tableState: TableState<Product, IdType, never, never>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.store.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAsB,UAAU,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/column-hiding/table.store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,EAAsB,UAAU,EAAE,MAAM,OAAO,CAAC;AACvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIzC,qBACa,UAAU;IACnB,QAAQ,EAAE,MAAM,OAAO,CAAe;IAEtC,UAAU,4CAIP;IAEH,OAAO,CAAC,aAAa;IAOrB,OAAO,CAAC,UAAU;CAGrB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/column-hiding/table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\nimport { IdType
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/column-hiding/table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\nimport type { IdType } from '../..';\nimport { InMemoryDataSource, TableState } from '../..';\nimport type { Product } from './product';\nimport { UserRole, Supplier } from './product';\nimport { products } from './products';\n\n@injectable()\nexport class TableStore {\n rowIdKey: keyof Product = 'ProductID';\n\n tableState = new TableState({\n dataSource: this.getDataSource(),\n pageSize: 5,\n rowIdKey: this.rowIdKey,\n });\n\n private getDataSource() {\n return new InMemoryDataSource(products, this.idSelector, {\n Supplier: (value: Supplier) => Supplier[value],\n AvailableFor: (value: UserRole | undefined) => value && UserRole[value],\n });\n }\n\n private idSelector(row: Product) {\n return row[this.rowIdKey] as IdType;\n }\n}\n"],"names":["injectable","InMemoryDataSource","TableState","UserRole","Supplier","products","TableStore","getDataSource","idSelector","value","AvailableFor","row","rowIdKey","tableState","dataSource","pageSize"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,0BAA0B;AAErD,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,QAAQ;AAEvD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,YAAY;AAC/C,SAASC,QAAQ,QAAQ,aAAa;AAGtC,OAAO,MAAMC;IASDC,gBAAgB;QACpB,OAAO,IAAIN,mBAAmBI,UAAU,IAAI,CAACG,UAAU,EAAE;YACrDJ,UAAU,CAACK,QAAoBL,QAAQ,CAACK,MAAM;YAC9CC,cAAc,CAACD,QAAgCA,SAASN,QAAQ,CAACM,MAAM;QAC3E;IACJ;IAEQD,WAAWG,GAAY,EAAE;QAC7B,OAAOA,GAAG,CAAC,IAAI,CAACC,QAAQ,CAAC;IAC7B;;QAjBAA,uBAAAA,YAA0B;QAE1BC,uBAAAA,cAAa,IAAIX,WAAW;YACxBY,YAAY,IAAI,CAACP,aAAa;YAC9BQ,UAAU;YACVH,UAAU,IAAI,CAACA,QAAQ;QAC3B;;AAYJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"async-select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/async-select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"async-select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/async-select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAWhC,eAAO,MAAM,yBAAyB,EAAE,EAoDvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/async-select-filter.tsx"],"sourcesContent":["import { useMemo,
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/async-select-filter.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo, Fragment } from 'react';\nimport { observer } from 'mobx-react';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { Table, TableColumn, asyncSelectColumnMenuFilter } from '../..';\n\nimport { TableStore } from './table.store';\nimport { CategoryCell } from './categories';\nimport { Banner } from '@servicetitan/design-system';\n\nexport const AsyncSelectDefaultExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ categoryFetcher, madeInFetcher, tableState }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () =>\n asyncSelectColumnMenuFilter({\n dataFetcher: madeInFetcher,\n placeholder: 'Search for made-ins',\n }),\n [madeInFetcher]\n );\n\n const categoryColumnMenu = useMemo(\n () =>\n asyncSelectColumnMenuFilter({\n dataFetcher: categoryFetcher,\n multiple: true,\n contentMaxHeight: '250px',\n }),\n [categoryFetcher]\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"],"names":["useMemo","Fragment","observer","provide","useDependencies","Table","TableColumn","asyncSelectColumnMenuFilter","TableStore","CategoryCell","Banner","AsyncSelectDefaultExample","singletons","categoryFetcher","madeInFetcher","tableState","madeInColumnMenu","dataFetcher","placeholder","categoryColumnMenu","multiple","contentMaxHeight","title","className","br","striped","field","editable","width","columnMenu","cell"],"mappings":";AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAC1C,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,KAAK,EAAEC,WAAW,EAAEC,2BAA2B,QAAQ,QAAQ;AAExE,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,YAAY,QAAQ,eAAe;AAC5C,SAASC,MAAM,QAAQ,8BAA8B;AAErD,OAAO,MAAMC,4BAAgCR,QAAQ;IACjDS,YAAY;QAACJ;KAAW;AAC5B,GACIN,SAAS;IACL,MAAM,CAAC,EAAEW,eAAe,EAAEC,aAAa,EAAEC,UAAU,EAAE,CAAC,GAAGX,gBAAgBI;IAEzE,MAAMQ,mBAAmBhB,QACrB,IACIO,4BAA4B;YACxBU,aAAaH;YACbI,aAAa;QACjB,IACJ;QAACJ;KAAc;IAGnB,MAAMK,qBAAqBnB,QACvB,IACIO,4BAA4B;YACxBU,aAAaJ;YACbO,UAAU;YACVC,kBAAkB;QACtB,IACJ;QAACR;KAAgB;IAGrB,qBACI,MAACZ;;0BACG,MAACS;gBAAOY,OAAM;gBAAmCC,WAAU;;oBAAQ;kCAI/D,KAACC;oBAAK;;;0BAGV,MAACnB;gBAAMU,YAAYA;gBAAYU,SAAS;;kCACpC,KAACnB;wBAAYoB,OAAM;wBAAYJ,OAAM;wBAAKK,UAAU;wBAAOC,OAAM;;kCACjE,KAACtB;wBAAYoB,OAAM;wBAAcJ,OAAM;wBAAeM,OAAM;;kCAC5D,KAACtB;wBACGoB,OAAM;wBACNJ,OAAM;wBACNO,YAAYb;;kCAEhB,KAACV;wBACGoB,OAAM;wBACNJ,OAAM;wBACNO,YAAYV;wBACZW,MAAMrB;;;;;;AAK1B,IACF"}
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/categories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,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"}
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/categories.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport type { 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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiselect-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/multiselect-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"multiselect-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/multiselect-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAWhC,eAAO,MAAM,yBAAyB,EAAE,EAoCvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/multiselect-filter.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/multiselect-filter.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo } 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":";AACA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"range-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/range-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"range-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/range-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAehC,eAAO,MAAM,sBAAsB,EAAE,EAuBpC,CAAC;AAEF,eAAO,MAAM,wBAAwB,EAAE,EAuBtC,CAAC;AAEF,eAAO,MAAM,0BAA0B,EAAE,EAuBxC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/range-filter.tsx"],"sourcesContent":["import { FC
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/range-filter.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { 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":";AACA,SAASA,QAAQ,QAAQ,QAAQ;AACjC,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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { FC } from 'react';
|
|
2
|
-
import { TableCellProps } from '../..';
|
|
1
|
+
import type { FC } from 'react';
|
|
2
|
+
import type { TableCellProps } from '../..';
|
|
3
3
|
export declare const PackageCell: FC<TableCellProps>;
|
|
4
4
|
export declare const SelectAsyncExample: FC;
|
|
5
5
|
export declare const SelectSyncExample: FC;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAMhC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAO5C,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,cAAc,CAE1C,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,EAsDhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,EAyE/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/select-filter.tsx"],"sourcesContent":["import { useMemo,
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/select-filter.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo, Fragment } from 'react';\nimport { observer } from 'mobx-react';\nimport { Banner } from '@servicetitan/design-system';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport type { TableCellProps } from '../..';\nimport { Table, TableColumn, selectColumnMenuFilter } from '../..';\n\nimport { TableStore } from './table.store';\nimport { categories, CategoryCell } from './categories';\nimport type { 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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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single-select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/single-select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"single-select-filter.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/single-select-filter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAahC,eAAO,MAAM,0BAA0B,EAAE,EAoDxC,CAAC;AAEF,eAAO,MAAM,+BAA+B,EAAE,EAoC7C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/single-select-filter.tsx"],"sourcesContent":["import { useMemo,
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/single-select-filter.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo, Fragment } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport { Table, TableColumn, singleSelectColumnMenuFilter } from '../..';\n\nimport { TableStore } from './table.store';\nimport { categories, CategoryCell } from './categories';\nimport { Banner, BodyText } from '@servicetitan/design-system';\n\nexport const SingleSelectDefaultExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState, madeInOptions }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () => singleSelectColumnMenuFilter({ options: madeInOptions }),\n [madeInOptions]\n );\n\n const categoryColumnMenu = useMemo(\n () =>\n singleSelectColumnMenuFilter({\n options: categories,\n renderItem: cat => (\n <BodyText>\n <span className=\"fw-bold\">{cat.CategoryName}</span> (#{cat.CategoryID})\n </BodyText>\n ),\n valueSelector: cat => cat.CategoryID,\n contentMaxHeight: '200px',\n }),\n []\n );\n\n return (\n <Fragment>\n <Banner title=\"Default filter with single select\" className=\"m-b-2\">\n Single select filter allows to choose one option from the provided list. You can\n pass simple options (string or number) or complex objects\n <br />\n Use it when options list is fixed and less than 20 items\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 (simple single-select filter)\"\n columnMenu={madeInColumnMenu}\n />\n <TableColumn\n field=\"CategoryID\"\n title=\"Category (simple single-select filter)\"\n columnMenu={categoryColumnMenu}\n cell={CategoryCell}\n />\n </Table>\n </Fragment>\n );\n })\n);\n\nexport const SingleSelectCustomFilterExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n\n const productNameCustomFilter = useMemo(() => {\n const isVowel = (str: string) => /[aeiou]/i.test(str[0]);\n\n return singleSelectColumnMenuFilter({\n options: [0, 1],\n renderItem: item => (item ? 'Start with Vowel' : 'Start with Consonants'),\n filterOperator: (madeIn: string, value: number) =>\n madeIn ? (value ? isVowel(madeIn) : !isVowel(madeIn)) : false,\n });\n }, []);\n\n return (\n <Fragment>\n <Banner title=\"Default filter with single select\" className=\"m-b-2\">\n Single select filter allows to choose one option from the provided list. You can\n pass simple options (string or number) or complex objects\n <br />\n Custom filter allows you to provide custom filtering options\n </Banner>\n <Table tableState={tableState} striped={false}>\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n <TableColumn\n field=\"ProductName\"\n title=\"Product Name (custom single-select filter)\"\n columnMenu={productNameCustomFilter}\n />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["useMemo","Fragment","provide","useDependencies","observer","Table","TableColumn","singleSelectColumnMenuFilter","TableStore","categories","CategoryCell","Banner","BodyText","SingleSelectDefaultExample","singletons","tableState","madeInOptions","madeInColumnMenu","options","categoryColumnMenu","renderItem","cat","span","className","CategoryName","CategoryID","valueSelector","contentMaxHeight","title","br","striped","field","editable","width","columnMenu","cell","SingleSelectCustomFilterExample","productNameCustomFilter","isVowel","str","test","item","filterOperator","madeIn","value"],"mappings":";AACA,SAASA,OAAO,EAAEC,QAAQ,QAAQ,QAAQ;AAE1C,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,KAAK,EAAEC,WAAW,EAAEC,4BAA4B,QAAQ,QAAQ;AAEzE,SAASC,UAAU,QAAQ,gBAAgB;AAC3C,SAASC,UAAU,EAAEC,YAAY,QAAQ,eAAe;AACxD,SAASC,MAAM,EAAEC,QAAQ,QAAQ,8BAA8B;AAE/D,OAAO,MAAMC,6BAAiCX,QAAQ;IAClDY,YAAY;QAACN;KAAW;AAC5B,GACIJ,SAAS;IACL,MAAM,CAAC,EAAEW,UAAU,EAAEC,aAAa,EAAE,CAAC,GAAGb,gBAAgBK;IAExD,MAAMS,mBAAmBjB,QACrB,IAAMO,6BAA6B;YAAEW,SAASF;QAAc,IAC5D;QAACA;KAAc;IAGnB,MAAMG,qBAAqBnB,QACvB,IACIO,6BAA6B;YACzBW,SAAST;YACTW,YAAYC,CAAAA,oBACR,MAACT;;sCACG,KAACU;4BAAKC,WAAU;sCAAWF,IAAIG,YAAY;;wBAAQ;wBAAIH,IAAII,UAAU;wBAAC;;;YAG9EC,eAAeL,CAAAA,MAAOA,IAAII,UAAU;YACpCE,kBAAkB;QACtB,IACJ,EAAE;IAGN,qBACI,MAAC1B;;0BACG,MAACU;gBAAOiB,OAAM;gBAAoCL,WAAU;;oBAAQ;kCAGhE,KAACM;oBAAK;;;0BAGV,MAACxB;gBAAMU,YAAYA;gBAAYe,SAAS;;kCACpC,KAACxB;wBAAYyB,OAAM;wBAAYH,OAAM;wBAAKI,UAAU;wBAAOC,OAAM;;kCACjE,KAAC3B;wBAAYyB,OAAM;wBAAcH,OAAM;wBAAeK,OAAM;;kCAC5D,KAAC3B;wBACGyB,OAAM;wBACNH,OAAM;wBACNM,YAAYjB;;kCAEhB,KAACX;wBACGyB,OAAM;wBACNH,OAAM;wBACNM,YAAYf;wBACZgB,MAAMzB;;;;;;AAK1B,IACF;AAEF,OAAO,MAAM0B,kCAAsClC,QAAQ;IACvDY,YAAY;QAACN;KAAW;AAC5B,GACIJ,SAAS;IACL,MAAM,CAAC,EAAEW,UAAU,EAAE,CAAC,GAAGZ,gBAAgBK;IAEzC,MAAM6B,0BAA0BrC,QAAQ;QACpC,MAAMsC,UAAU,CAACC,MAAgB,WAAWC,IAAI,CAACD,GAAG,CAAC,EAAE;QAEvD,OAAOhC,6BAA6B;YAChCW,SAAS;gBAAC;gBAAG;aAAE;YACfE,YAAYqB,CAAAA,OAASA,OAAO,qBAAqB;YACjDC,gBAAgB,CAACC,QAAgBC,QAC7BD,SAAUC,QAAQN,QAAQK,UAAU,CAACL,QAAQK,UAAW;QAChE;IACJ,GAAG,EAAE;IAEL,qBACI,MAAC1C;;0BACG,MAACU;gBAAOiB,OAAM;gBAAoCL,WAAU;;oBAAQ;kCAGhE,KAACM;oBAAK;;;0BAGV,MAACxB;gBAAMU,YAAYA;gBAAYe,SAAS;;kCACpC,KAACxB;wBAAYyB,OAAM;wBAAYH,OAAM;wBAAKI,UAAU;wBAAOC,OAAM;;kCACjE,KAAC3B;wBACGyB,OAAM;wBACNH,OAAM;wBACNM,YAAYG;;;;;;AAKhC,IACF"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import type { AsyncSelectFilterDataFetcher, SelectFilterDataFetcher } from '../..';
|
|
2
|
+
import { TableState } from '../..';
|
|
3
|
+
import type { Category } from './categories';
|
|
3
4
|
export declare class TableStore {
|
|
4
5
|
tableState: TableState<import("../overview/product").Product, number, never, never>;
|
|
5
6
|
get madeInOptions(): string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/table.store.ts"],"names":[],"mappings":"AAEA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/filters/table.store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,4BAA4B,EAAE,uBAAuB,EAAE,MAAM,OAAO,CAAC;AACnF,OAAO,EAAsB,UAAU,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAG7C,qBACa,UAAU;IACnB,UAAU,0EAGP;IAEH,IAAI,aAAa,aAEhB;IAED,IAAI,cAAc;;;QAcjB;IAED,eAAe,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAUnD;IAEF,aAAa,EAAE,4BAA4B,CAAC,MAAM,CAAC,CAUjD;IAEF,oBAAoB,EAAE,uBAAuB,CAAC,QAAQ,CAAC,CAUrD;IAEF,kBAAkB,EAAE,uBAAuB,CAAC,MAAM,CAAC,CAQjD;IAEF,OAAO,CAAC,aAAa;CAGxB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/filters/table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\n\nimport {
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/filters/table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\n\nimport type { AsyncSelectFilterDataFetcher, SelectFilterDataFetcher } from '../..';\nimport { InMemoryDataSource, TableState } from '../..';\nimport { products } from '../overview/products';\nimport type { Category } from './categories';\nimport { categories } from './categories';\n\n@injectable()\nexport class TableStore {\n tableState = new TableState({\n dataSource: this.getDataSource(),\n pageSize: 5,\n });\n\n get madeInOptions() {\n return Array.from(new Set(products.map(p => p.MadeIn)));\n }\n\n get packageOptions() {\n const map = products.reduce(\n (out, product) => ({\n ...out,\n ...(product.Package\n ? { [product.Package.PackageId]: product.Package.PackageName }\n : {}),\n }),\n {} as Record<number, string>\n );\n\n return Object.keys(map)\n .map(Number)\n .map(id => ({ Id: id, Name: map[id] }));\n }\n\n categoryFetcher: AsyncSelectFilterDataFetcher<number> = async opts => {\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n const sv = opts.search?.trim().toLowerCase();\n\n return {\n data: categories\n .filter(cat => (sv ? cat.CategoryName.toLowerCase().includes(sv) : true))\n .map(cat => ({ value: cat.CategoryID, text: cat.CategoryName })),\n };\n };\n\n madeInFetcher: AsyncSelectFilterDataFetcher<string> = async opts => {\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n const sv = opts.search?.trim().toLowerCase();\n\n return {\n data: this.madeInOptions\n .filter(opt => (sv ? opt.toLowerCase().includes(sv) : true))\n .map(opt => ({ value: opt, text: opt })),\n };\n };\n\n categoryFetcherClean: SelectFilterDataFetcher<Category> = async opts => {\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n const sv = opts.search?.trim().toLowerCase();\n\n return {\n data: categories.filter(cat =>\n sv ? cat.CategoryName.toLowerCase().includes(sv) : true\n ),\n };\n };\n\n madeInFetcherClean: SelectFilterDataFetcher<string> = async opts => {\n await new Promise(resolve => setTimeout(resolve, 1500));\n\n const sv = opts.search?.trim().toLowerCase();\n\n return {\n data: this.madeInOptions.filter(opt => (sv ? opt.toLowerCase().includes(sv) : true)),\n };\n };\n\n private getDataSource() {\n return new InMemoryDataSource(products, row => row.ProductID);\n }\n}\n"],"names":["injectable","InMemoryDataSource","TableState","products","categories","TableStore","madeInOptions","Array","from","Set","map","p","MadeIn","packageOptions","reduce","out","product","Package","PackageId","PackageName","Object","keys","Number","id","Id","Name","getDataSource","row","ProductID","tableState","dataSource","pageSize","categoryFetcher","opts","Promise","resolve","setTimeout","sv","search","trim","toLowerCase","data","filter","cat","CategoryName","includes","value","CategoryID","text","madeInFetcher","opt","categoryFetcherClean","madeInFetcherClean"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/footer-page-size/table.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../../src/demo/footer-page-size/table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA8BhC,eAAO,MAAM,0BAA0B,EAAE,EA0ExC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/footer-page-size/table.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/footer-page-size/table.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useMemo } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport { Tag } from '@servicetitan/design-system';\nimport { getEnumKeys } from '@servicetitan/form';\n\nimport {\n Table,\n TableColumn,\n BooleanEditableCell,\n DateRangeColumnMenuFilter,\n StandardColumnMenuFilter,\n standardFilterWithMultiselect,\n multiSelectColumnMenuFilter,\n CurrencyRangeColumnMenuFilter,\n} from '../..';\n\nimport { TableStore } from '../overview/table.store';\nimport { UserRole } from '../overview/product';\n\nconst UserRoleColumnMenuFilter = multiSelectColumnMenuFilter(getEnumKeys(UserRole), userRole => (\n <Tag compact color={UserRole[userRole] === UserRole.Owner ? 'success' : 'default'}>\n {userRole}\n </Tag>\n));\n\nexport const TableFooterPageSizeExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () => standardFilterWithMultiselect({ tableState }),\n [tableState]\n );\n\n return (\n <Table\n tableState={tableState}\n striped={false}\n sortable\n pager={{ pageSizes: [3, 5, 7, 10] }}\n >\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n\n <TableColumn\n field=\"ProductName\"\n title=\"Product Name\"\n columnMenu={StandardColumnMenuFilter}\n width=\"240px\"\n />\n\n <TableColumn\n field=\"Supplier\"\n title=\"Supplier\"\n columnMenu={StandardColumnMenuFilter}\n width=\"150px\"\n />\n\n <TableColumn\n field=\"MadeIn\"\n title=\"Made In\"\n columnMenu={madeInColumnMenu}\n width=\"175px\"\n />\n\n <TableColumn\n field=\"UnitsOnOrder\"\n title=\"First Ordered On\"\n columnMenu={DateRangeColumnMenuFilter}\n format=\"{0:MM/dd/yyyy}\"\n width=\"240px\"\n />\n\n <TableColumn\n field=\"UnitPrice\"\n title=\"Unit Price\"\n columnMenu={CurrencyRangeColumnMenuFilter}\n format=\"{0:c}\"\n width=\"125px\"\n />\n\n <TableColumn\n field=\"Discontinued\"\n title=\"Discontinued\"\n cell={BooleanEditableCell}\n sortable={false}\n width=\"125px\"\n />\n\n <TableColumn\n field=\"AvailableFor\"\n title=\"Available For\"\n columnMenu={UserRoleColumnMenuFilter}\n width=\"240px\"\n />\n </Table>\n );\n })\n);\n"],"names":["useMemo","provide","useDependencies","observer","Tag","getEnumKeys","Table","TableColumn","BooleanEditableCell","DateRangeColumnMenuFilter","StandardColumnMenuFilter","standardFilterWithMultiselect","multiSelectColumnMenuFilter","CurrencyRangeColumnMenuFilter","TableStore","UserRole","UserRoleColumnMenuFilter","userRole","compact","color","Owner","TableFooterPageSizeExample","singletons","tableState","madeInColumnMenu","striped","sortable","pager","pageSizes","field","title","editable","width","columnMenu","format","cell"],"mappings":";AACA,SAASA,OAAO,QAAQ,QAAQ;AAEhC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,GAAG,QAAQ,8BAA8B;AAClD,SAASC,WAAW,QAAQ,qBAAqB;AAEjD,SACIC,KAAK,EACLC,WAAW,EACXC,mBAAmB,EACnBC,yBAAyB,EACzBC,wBAAwB,EACxBC,6BAA6B,EAC7BC,2BAA2B,EAC3BC,6BAA6B,QAC1B,QAAQ;AAEf,SAASC,UAAU,QAAQ,0BAA0B;AACrD,SAASC,QAAQ,QAAQ,sBAAsB;AAE/C,MAAMC,2BAA2BJ,4BAA4BP,YAAYU,WAAWE,CAAAA,yBAChF,KAACb;QAAIc,OAAO;QAACC,OAAOJ,QAAQ,CAACE,SAAS,KAAKF,SAASK,KAAK,GAAG,YAAY;kBACnEH;;AAIT,OAAO,MAAMI,6BAAiCpB,QAAQ;IAClDqB,YAAY;QAACR;KAAW;AAC5B,GACIX,SAAS;IACL,MAAM,CAAC,EAAEoB,UAAU,EAAE,CAAC,GAAGrB,gBAAgBY;IAEzC,MAAMU,mBAAmBxB,QACrB,IAAMW,8BAA8B;YAAEY;QAAW,IACjD;QAACA;KAAW;IAGhB,qBACI,MAACjB;QACGiB,YAAYA;QACZE,SAAS;QACTC,QAAQ;QACRC,OAAO;YAAEC,WAAW;gBAAC;gBAAG;gBAAG;gBAAG;aAAG;QAAC;;0BAElC,KAACrB;gBAAYsB,OAAM;gBAAYC,OAAM;gBAAKC,UAAU;gBAAOC,OAAM;;0BAEjE,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYvB;gBACZsB,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYvB;gBACZsB,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYT;gBACZQ,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYxB;gBACZyB,QAAO;gBACPF,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYpB;gBACZqB,QAAO;gBACPF,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNK,MAAM3B;gBACNkB,UAAU;gBACVM,OAAM;;0BAGV,KAACzB;gBACGsB,OAAM;gBACNC,OAAM;gBACNG,YAAYjB;gBACZgB,OAAM;;;;AAItB,IACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detail-table.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/detail-table.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"detail-table.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/detail-table.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAUhC,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,OAAO,CAAC;AAKjD,eAAO,MAAM,WAAW,EAAE,EAAE,CAAC,mBAAmB,CA8B/C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.tsx"],"sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.tsx"],"sourcesContent":["import type { FC } from 'react';\nimport { useEffect } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport type { CheckboxProps } from '@servicetitan/design-system';\nimport { Icon, Checkbox } from '@servicetitan/design-system';\n\nimport type { TableDetailRowProps } from '../..';\nimport { Table, TableColumn } from '../..';\n\nimport { DetailTableStore } from './detail-table.store';\n\nexport const DetailTable: FC<TableDetailRowProps> = provide({\n singletons: [DetailTableStore],\n})(\n observer(({ dataItem }) => {\n const [store] = useDependencies(DetailTableStore);\n\n useEffect(() => {\n store.initialize(dataItem);\n return () => store.dispose();\n }, [store, dataItem]);\n\n if (!store.tableState) {\n return null;\n }\n\n return (\n <Table\n selectable\n hideSelectAll\n tableState={store.tableState}\n selectionControl={LockFieldIcon}\n >\n <TableColumn field=\"Field\" />\n\n <TableColumn field=\"OldValue\" />\n\n <TableColumn field=\"NewValue\" />\n </Table>\n );\n })\n);\n\nconst LockFieldIcon: FC<CheckboxProps<never>> = props => {\n const { checked, disabled } = props;\n\n if (!disabled) {\n return <Checkbox {...props} />;\n }\n\n return (\n <div>\n {checked ? (\n <Icon name=\"check\" className=\"c-blue-300\" />\n ) : (\n <Icon name=\"remove\" className=\"c-neutral-70\" />\n )}\n </div>\n );\n};\n"],"names":["useEffect","provide","useDependencies","observer","Icon","Checkbox","Table","TableColumn","DetailTableStore","DetailTable","singletons","dataItem","store","initialize","dispose","tableState","selectable","hideSelectAll","selectionControl","LockFieldIcon","field","props","checked","disabled","div","name","className"],"mappings":";AACA,SAASA,SAAS,QAAQ,QAAQ;AAElC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,QAAQ,QAAQ,aAAa;AAGtC,SAASC,IAAI,EAAEC,QAAQ,QAAQ,8BAA8B;AAG7D,SAASC,KAAK,EAAEC,WAAW,QAAQ,QAAQ;AAE3C,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,MAAMC,cAAuCR,QAAQ;IACxDS,YAAY;QAACF;KAAiB;AAClC,GACIL,SAAS,CAAC,EAAEQ,QAAQ,EAAE;IAClB,MAAM,CAACC,MAAM,GAAGV,gBAAgBM;IAEhCR,UAAU;QACNY,MAAMC,UAAU,CAACF;QACjB,OAAO,IAAMC,MAAME,OAAO;IAC9B,GAAG;QAACF;QAAOD;KAAS;IAEpB,IAAI,CAACC,MAAMG,UAAU,EAAE;QACnB,OAAO;IACX;IAEA,qBACI,MAACT;QACGU,UAAU;QACVC,aAAa;QACbF,YAAYH,MAAMG,UAAU;QAC5BG,kBAAkBC;;0BAElB,KAACZ;gBAAYa,OAAM;;0BAEnB,KAACb;gBAAYa,OAAM;;0BAEnB,KAACb;gBAAYa,OAAM;;;;AAG/B,IACF;AAEF,MAAMD,gBAA0CE,CAAAA;IAC5C,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGF;IAE9B,IAAI,CAACE,UAAU;QACX,qBAAO,KAAClB;YAAU,GAAGgB,KAAK;;IAC9B;IAEA,qBACI,KAACG;kBACIF,wBACG,KAAClB;YAAKqB,MAAK;YAAQC,WAAU;2BAE7B,KAACtB;YAAKqB,MAAK;YAASC,WAAU;;;AAI9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detail-table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/detail-table.store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"detail-table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/detail-table.store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAInC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,qBACa,gBAAgB;IACb,UAAU,CAAC,EAAE,UAAU,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAO5E,OAAO,CAAC,gBAAgB,CAAoB;IAE5C,IAAc,QAAQ,WAErB;IAED,OAAO,CAAC,sBAAsB,CAAS;;IAavC,UAAU,CAAC,GAAG,EAAE,OAAO;IASvB,OAAO;YAIO,sBAAsB;CAmBvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.store.ts"],"sourcesContent":["import { injectable, inject } from '@servicetitan/react-ioc';\n\nimport { observable, action, observe, computed,
|
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.store.ts"],"sourcesContent":["import { injectable, inject } from '@servicetitan/react-ioc';\n\nimport type { Lambda } from 'mobx';\nimport { observable, action, observe, computed, makeObservable } from 'mobx';\n\nimport { TableState } from '../..';\n\nimport { MasterTableStore } from './master-table.store';\n\nimport type { Product } from './product';\nimport type { ProductDetail } from './product-detail';\n\n@injectable()\nexport class DetailTableStore {\n @observable tableState?: TableState<ProductDetail, string, Product, number>;\n\n /*\n * Please use constructor injection instead.\n * Injecting without constructor only to make it work in Codesandbox.\n */\n @inject(MasterTableStore)\n private masterTableStore!: MasterTableStore;\n\n @computed get selected() {\n return this.tableState?.selectedIds.size ?? 0;\n }\n\n private disposeSelectedObserve: Lambda;\n\n constructor() {\n makeObservable(this);\n\n this.disposeSelectedObserve = observe(this, 'selected', ({ oldValue, newValue }) => {\n if (!oldValue && newValue) {\n this.setLockedRowsSelection(true);\n }\n });\n }\n\n @action\n initialize(row: Product) {\n this.tableState = this.masterTableStore.tableState.getDetailTableState!(row) as TableState<\n ProductDetail,\n string,\n Product,\n number\n >;\n }\n\n dispose() {\n this.disposeSelectedObserve();\n }\n\n private async setLockedRowsSelection(value: boolean) {\n if (!this.tableState) {\n return;\n }\n\n if (!this.tableState.dataSource) {\n return;\n }\n\n const filteredData = (\n await this.tableState.dataSource.getData({\n filter: this.tableState.filter,\n })\n ).data as ProductDetail[];\n\n const lockedData = filteredData.filter(row => this.tableState!.isRowUnselectable(row));\n\n this.tableState.setRowsSelection(lockedData, value, { ignoreUnselectable: false });\n }\n}\n"],"names":["injectable","inject","observable","action","observe","computed","makeObservable","TableState","MasterTableStore","DetailTableStore","selected","tableState","selectedIds","size","initialize","row","masterTableStore","getDetailTableState","dispose","disposeSelectedObserve","setLockedRowsSelection","value","dataSource","filteredData","getData","filter","data","lockedData","isRowUnselectable","setRowsSelection","ignoreUnselectable","oldValue","newValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,0BAA0B;AAG7D,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,cAAc,QAAQ,OAAO;AAE7E,SAASC,UAAU,QAAQ,QAAQ;AAEnC,SAASC,gBAAgB,QAAQ,uBAAuB;AAMxD,OAAO,MAAMC;IAUT,IAAcC,WAAW;;YACd;QAAP,gBAAO,mBAAA,IAAI,CAACC,UAAU,cAAf,uCAAA,iBAAiBC,WAAW,CAACC,IAAI,uCAAI;IAChD;IAeAC,WAAWC,GAAY,EAAE;QACrB,IAAI,CAACJ,UAAU,GAAG,IAAI,CAACK,gBAAgB,CAACL,UAAU,CAACM,mBAAmB,CAAEF;IAM5E;IAEAG,UAAU;QACN,IAAI,CAACC,sBAAsB;IAC/B;IAEA,MAAcC,uBAAuBC,KAAc,EAAE;QACjD,IAAI,CAAC,IAAI,CAACV,UAAU,EAAE;YAClB;QACJ;QAEA,IAAI,CAAC,IAAI,CAACA,UAAU,CAACW,UAAU,EAAE;YAC7B;QACJ;QAEA,MAAMC,eAAe,AACjB,CAAA,MAAM,IAAI,CAACZ,UAAU,CAACW,UAAU,CAACE,OAAO,CAAC;YACrCC,QAAQ,IAAI,CAACd,UAAU,CAACc,MAAM;QAClC,EAAC,EACHC,IAAI;QAEN,MAAMC,aAAaJ,aAAaE,MAAM,CAACV,CAAAA,MAAO,IAAI,CAACJ,UAAU,CAAEiB,iBAAiB,CAACb;QAEjF,IAAI,CAACJ,UAAU,CAACkB,gBAAgB,CAACF,YAAYN,OAAO;YAAES,oBAAoB;QAAM;IACpF;IA1CA,aAAc;QAfd,uBAAYnB,cAAZ,KAAA;QAEA;;;KAGC,GACD,uBACQK,oBADR,KAAA;QAOA,uBAAQG,0BAAR,KAAA;QAGIb,eAAe,IAAI;QAEnB,IAAI,CAACa,sBAAsB,GAAGf,QAAQ,IAAI,EAAE,YAAY,CAAC,EAAE2B,QAAQ,EAAEC,QAAQ,EAAE;YAC3E,IAAI,CAACD,YAAYC,UAAU;gBACvB,IAAI,CAACZ,sBAAsB,CAAC;YAChC;QACJ;IACJ;AAmCJ"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TableState } from '../..';
|
|
2
|
-
import { Product } from './product';
|
|
3
|
-
import { ProductDetail } from './product-detail';
|
|
2
|
+
import type { Product } from './product';
|
|
3
|
+
import type { ProductDetail } from './product-detail';
|
|
4
4
|
export declare class MasterTableStore {
|
|
5
5
|
tableState: TableState<Product, number>;
|
|
6
6
|
details: Map<number, TableState<ProductDetail, string, Product, number>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"master-table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/master-table.store.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"master-table.store.d.ts","sourceRoot":"","sources":["../../../src/demo/master-detail/master-table.store.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,UAAU,EAAE,MAAM,OAAO,CAAC;AAEvD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGzC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGtD,qBACa,gBAAgB;IACzB,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,MAAM,CAAC,CAGpC;IAEH,OAAO,kEAAyE;IAEhF,IAAc,WAAW,aAExB;IAED,OAAO,CAAC,yBAAyB,CAAS;;IA4B1C,OAAO;IAIP,OAAO,CAAC,mBAAmB;IA4B3B,OAAO,CAAC,kBAAkB;CAa7B"}
|