@servicetitan/table 31.2.0 → 32.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/dist/demo/column-hiding/index.js +1 -0
  2. package/dist/demo/column-hiding/index.js.map +1 -1
  3. package/dist/demo/column-hiding/product.js +7 -6
  4. package/dist/demo/column-hiding/product.js.map +1 -1
  5. package/dist/demo/column-hiding/products.js +12 -11
  6. package/dist/demo/column-hiding/products.js.map +1 -1
  7. package/dist/demo/column-hiding/table.js +126 -32
  8. package/dist/demo/column-hiding/table.js.map +1 -1
  9. package/dist/demo/column-hiding/table.store.js +30 -27
  10. package/dist/demo/column-hiding/table.store.js.map +1 -1
  11. package/dist/demo/filters/async-select-filter.js +59 -12
  12. package/dist/demo/filters/async-select-filter.js.map +1 -1
  13. package/dist/demo/filters/categories.js +20 -16
  14. package/dist/demo/filters/categories.js.map +1 -1
  15. package/dist/demo/filters/multiselect-filter.js +37 -5
  16. package/dist/demo/filters/multiselect-filter.js.map +1 -1
  17. package/dist/demo/filters/range-filter.js +104 -10
  18. package/dist/demo/filters/range-filter.js.map +1 -1
  19. package/dist/demo/filters/select-filter.js +139 -41
  20. package/dist/demo/filters/select-filter.js.map +1 -1
  21. package/dist/demo/filters/single-select-filter.js +109 -18
  22. package/dist/demo/filters/single-select-filter.js.map +1 -1
  23. package/dist/demo/filters/table.store.js +77 -86
  24. package/dist/demo/filters/table.store.js.map +1 -1
  25. package/dist/demo/footer-page-size/index.js +1 -0
  26. package/dist/demo/footer-page-size/index.js.map +1 -1
  27. package/dist/demo/footer-page-size/table.js +82 -6
  28. package/dist/demo/footer-page-size/table.js.map +1 -1
  29. package/dist/demo/index.js +1 -0
  30. package/dist/demo/index.js.map +1 -1
  31. package/dist/demo/master-detail/detail-table.js +41 -9
  32. package/dist/demo/master-detail/detail-table.js.map +1 -1
  33. package/dist/demo/master-detail/detail-table.store.js +60 -56
  34. package/dist/demo/master-detail/detail-table.store.js.map +1 -1
  35. package/dist/demo/master-detail/index.js +1 -0
  36. package/dist/demo/master-detail/index.js.map +1 -1
  37. package/dist/demo/master-detail/master-table.store.js +65 -61
  38. package/dist/demo/master-detail/master-table.store.js.map +1 -1
  39. package/dist/demo/master-detail/product-detail.js +2 -1
  40. package/dist/demo/master-detail/product-detail.js.map +1 -1
  41. package/dist/demo/master-detail/product-details.js +10 -9
  42. package/dist/demo/master-detail/product-details.js.map +1 -1
  43. package/dist/demo/master-detail/product.js +7 -6
  44. package/dist/demo/master-detail/product.js.map +1 -1
  45. package/dist/demo/master-detail/products.js +12 -11
  46. package/dist/demo/master-detail/products.js.map +1 -1
  47. package/dist/demo/master-detail/table-master-detail.js +39 -8
  48. package/dist/demo/master-detail/table-master-detail.js.map +1 -1
  49. package/dist/demo/overview/actions-cell.js +47 -10
  50. package/dist/demo/overview/actions-cell.js.map +1 -1
  51. package/dist/demo/overview/index.js +1 -0
  52. package/dist/demo/overview/index.js.map +1 -1
  53. package/dist/demo/overview/product.js +7 -6
  54. package/dist/demo/overview/product.js.map +1 -1
  55. package/dist/demo/overview/products.js +15 -14
  56. package/dist/demo/overview/products.js.map +1 -1
  57. package/dist/demo/overview/table.js +176 -21
  58. package/dist/demo/overview/table.js.map +1 -1
  59. package/dist/demo/overview/table.store.js +45 -51
  60. package/dist/demo/overview/table.store.js.map +1 -1
  61. package/dist/demo/row-details/index.js +1 -0
  62. package/dist/demo/row-details/index.js.map +1 -1
  63. package/dist/demo/row-details/row-details-table.js +52 -5
  64. package/dist/demo/row-details/row-details-table.js.map +1 -1
  65. package/dist/demo/row-details/row-details-table.store.js +27 -19
  66. package/dist/demo/row-details/row-details-table.store.js.map +1 -1
  67. package/dist/demo/state-caching/beverages.js +11 -10
  68. package/dist/demo/state-caching/beverages.js.map +1 -1
  69. package/dist/demo/state-caching/index.js +1 -0
  70. package/dist/demo/state-caching/index.js.map +1 -1
  71. package/dist/demo/state-caching/product.js +2 -1
  72. package/dist/demo/state-caching/product.js.map +1 -1
  73. package/dist/demo/state-caching/products.js +12 -11
  74. package/dist/demo/state-caching/products.js.map +1 -1
  75. package/dist/demo/state-caching/state-caching-table.js +44 -3
  76. package/dist/demo/state-caching/state-caching-table.js.map +1 -1
  77. package/dist/demo/state-caching/state-caching-table.store.js +42 -54
  78. package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
  79. package/dist/details/expand-column.js +31 -7
  80. package/dist/details/expand-column.js.map +1 -1
  81. package/dist/details/index.js +1 -0
  82. package/dist/details/index.js.map +1 -1
  83. package/dist/editable-cell/boolean-editable-cell.js +15 -4
  84. package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
  85. package/dist/editable-cell/get-action-cell.js +14 -7
  86. package/dist/editable-cell/get-action-cell.js.map +1 -1
  87. package/dist/editable-cell/get-editable-cell.js +16 -8
  88. package/dist/editable-cell/get-editable-cell.js.map +1 -1
  89. package/dist/editable-cell/get-select-editable-cell.js +19 -5
  90. package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
  91. package/dist/editable-cell/index.js +1 -0
  92. package/dist/editable-cell/index.js.map +1 -1
  93. package/dist/editable-cell/text-editable-cell.js +23 -5
  94. package/dist/editable-cell/text-editable-cell.js.map +1 -1
  95. package/dist/export/export.js +38 -1
  96. package/dist/export/export.js.map +1 -1
  97. package/dist/export/export.module.css.d.ts +3 -0
  98. package/dist/export/index.js +1 -0
  99. package/dist/export/index.js.map +1 -1
  100. package/dist/filters/async-select/async-select-filter.js +167 -132
  101. package/dist/filters/async-select/async-select-filter.js.map +1 -1
  102. package/dist/filters/column-menu-filters.js +39 -8
  103. package/dist/filters/column-menu-filters.js.map +1 -1
  104. package/dist/filters/datetime-filter/datetime-filter.js +73 -50
  105. package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
  106. package/dist/filters/field-values-filter.js +80 -72
  107. package/dist/filters/field-values-filter.js.map +1 -1
  108. package/dist/filters/index.js +1 -0
  109. package/dist/filters/index.js.map +1 -1
  110. package/dist/filters/multiselect-filter/multiselect-filter.js +77 -73
  111. package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
  112. package/dist/filters/numeric-filter-extended/numeric-extended-operators.js +10 -3
  113. package/dist/filters/numeric-filter-extended/numeric-extended-operators.js.map +1 -1
  114. package/dist/filters/numeric-filter-extended/numeric-filter-extended.js +39 -16
  115. package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
  116. package/dist/filters/range-filter/range-filter.js +76 -72
  117. package/dist/filters/range-filter/range-filter.js.map +1 -1
  118. package/dist/filters/select-filter/object-search.js +4 -3
  119. package/dist/filters/select-filter/object-search.js.map +1 -1
  120. package/dist/filters/select-filter/operators.js +6 -5
  121. package/dist/filters/select-filter/operators.js.map +1 -1
  122. package/dist/filters/select-filter/select-filter.js +180 -145
  123. package/dist/filters/select-filter/select-filter.js.map +1 -1
  124. package/dist/filters/select-filter/value-getter.js +2 -1
  125. package/dist/filters/select-filter/value-getter.js.map +1 -1
  126. package/dist/filters/single-select/single-select-filter.js +29 -15
  127. package/dist/filters/single-select/single-select-filter.js.map +1 -1
  128. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js +114 -67
  129. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
  130. package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.module.css.d.ts +7 -0
  131. package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js +10 -3
  132. package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js.map +1 -1
  133. package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js +77 -55
  134. package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js.map +1 -1
  135. package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js +23 -10
  136. package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
  137. package/dist/filters/time-filter/time-filter.js +63 -49
  138. package/dist/filters/time-filter/time-filter.js.map +1 -1
  139. package/dist/index.js +4 -2
  140. package/dist/index.js.map +1 -1
  141. package/dist/select-cell/index.js +1 -0
  142. package/dist/select-cell/index.js.map +1 -1
  143. package/dist/select-cell/select-cell.js +36 -11
  144. package/dist/select-cell/select-cell.js.map +1 -1
  145. package/dist/select-cell/select-cell.module.css.d.ts +3 -0
  146. package/dist/table-state.js +479 -660
  147. package/dist/table-state.js.map +1 -1
  148. package/dist/table.js +235 -250
  149. package/dist/table.js.map +1 -1
  150. package/dist/table.module.css.d.ts +5 -0
  151. package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js +97 -5
  152. package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
  153. package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js +71 -97
  154. package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js.map +1 -1
  155. package/dist/use-observing-table-state/index.js +1 -0
  156. package/dist/use-observing-table-state/index.js.map +1 -1
  157. package/dist/use-observing-table-state/use-observing-table-state.js +26 -20
  158. package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
  159. package/dist/utils/filters.js +14 -9
  160. package/dist/utils/filters.js.map +1 -1
  161. package/dist/utils/use-td-props.js +3 -2
  162. package/dist/utils/use-td-props.js.map +1 -1
  163. package/package.json +13 -13
  164. package/dist/filters/async-select/async-select-filter.stories.js +0 -7
  165. package/dist/filters/async-select/async-select-filter.stories.js.map +0 -1
  166. package/dist/filters/multiselect-filter/multiselect-filter.stories.js +0 -7
  167. package/dist/filters/multiselect-filter/multiselect-filter.stories.js.map +0 -1
  168. package/dist/filters/range-filter/range-filter.stories.js +0 -9
  169. package/dist/filters/range-filter/range-filter.stories.js.map +0 -1
  170. package/dist/filters/select-filter/__tests__/object-search.test.js +0 -28
  171. package/dist/filters/select-filter/__tests__/object-search.test.js.map +0 -1
  172. package/dist/filters/select-filter/select-filter.stories.js +0 -8
  173. package/dist/filters/select-filter/select-filter.stories.js.map +0 -1
  174. package/dist/filters/single-select/single-select-filter.stories.js +0 -8
  175. package/dist/filters/single-select/single-select-filter.stories.js.map +0 -1
  176. package/dist/table.stories.js +0 -12
  177. package/dist/table.stories.js.map +0 -1
  178. package/dist/use-observing-table-state/use-observing-table-state.stories.js +0 -11
  179. package/dist/use-observing-table-state/use-observing-table-state.stories.js.map +0 -1
  180. package/dist/utils/__tests__/filters.test.js +0 -24
  181. package/dist/utils/__tests__/filters.test.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"table.js","sourceRoot":"","sources":["../../../src/demo/overview/table.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/demo/overview/table.tsx"],"sourcesContent":["import { useMemo, cloneElement, Fragment, FC, ReactElement } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport { Stack, ButtonGroup, Button, Tag, DatePicker } from '@servicetitan/design-system';\n\nimport {\n Table,\n TableColumn,\n TableCell,\n TableCellProps,\n TextEditableCell,\n BooleanEditableCell,\n getSelectEditableCell,\n DateRangeColumnMenuFilter,\n StandardColumnMenuFilter,\n standardFilterWithMultiselect,\n multiSelectColumnMenuFilter,\n CurrencyRangeColumnMenuFilter,\n getEditableCell,\n EditorProps,\n} from '../..';\nimport { Export } from '../../export';\n\nimport { TableStore } from './table.store';\n\nimport { ActionsCell } from './actions-cell';\n\nimport { NumberInput, enumToOptions, getEnumKeys } from '@servicetitan/form';\nimport { Product, UserRole, Supplier } from './product';\n\nconst UserRoleColumnMenuFilter = multiSelectColumnMenuFilter(getEnumKeys(UserRole), userRole => (\n <Tag compact color={UserRole[userRole] === UserRole.Owner ? 'success' : 'default'}>\n {userRole}\n </Tag>\n));\n\nconst AvailableForEditableCell = getSelectEditableCell({\n options: enumToOptions(UserRole),\n viewer: ({ dataItem, field, tdProps }) => {\n const value = dataItem[field!];\n\n return <td {...tdProps}>{value && UserRole[value]}</td>;\n },\n});\n\nconst SupplierCell: FC<TableCellProps> = props => {\n const { field, dataItem, rowType, tdProps } = props;\n\n if (rowType !== 'data') {\n return <TableCell {...props} />;\n }\n\n return <td {...tdProps}>{Supplier[dataItem[field!]]}</td>;\n};\n\n// Implementation of a date editable cell utilizing getEditableCell\nconst DateEditor = observer<FC<EditorProps<Date | string | undefined>>>(\n ({ fieldState: { value, onChange, hasError }, className, tdProps }) => {\n return (\n <td className={className} {...tdProps}>\n <DatePicker value={value} onChange={onChange} error={hasError} />\n </td>\n );\n }\n);\nexport const DateEditableCell = getEditableCell({\n editor: DateEditor,\n});\n\n// Implementation of a numeric editable cell utilizing getEditableCell\nconst NumberCellEditor: FC<EditorProps<number>> = observer(\n ({ fieldState: { value, hasError, onChange }, tdProps }) => (\n <td {...tdProps}>\n <NumberInput\n onChange={onChange}\n type=\"number\"\n error={hasError}\n value={value}\n emptyValue={0}\n min={0}\n max={1000}\n useEmptyThousandsSeparator\n fluid\n decimalPlaces={2}\n useKeyboardNavigation\n />\n </td>\n )\n);\nconst NumericEditableCell = getEditableCell({\n editor: getEditableCell({ editor: NumberCellEditor }),\n});\n\nexport const TableExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState, inEdit, editAll, cancelAll, saveAll }] = useDependencies(TableStore);\n\n const madeInColumnMenu = useMemo(\n () => standardFilterWithMultiselect({ tableState }),\n [tableState]\n );\n\n const cellRender = (td: ReactElement | null, { dataItem, field }: TableCellProps) => {\n if (!td) {\n return null;\n }\n\n return cloneElement(td, {\n onClick: () => {\n tableState.edit(dataItem, field as keyof Product);\n },\n });\n };\n\n return (\n <Fragment>\n <Stack justifyContent=\"space-between\" alignContent=\"center\" className=\"m-b-2\">\n <Export\n totalCount={tableState.totalCount}\n exportPdf={tableState.exportPdf}\n exportExcel={tableState.exportExcel}\n />\n {inEdit ? (\n <ButtonGroup>\n <Button small onClick={cancelAll} className=\"m-r-2\">\n Cancel All\n </Button>\n\n <Button small primary onClick={saveAll}>\n Save All\n </Button>\n </ButtonGroup>\n ) : (\n <Button small primary onClick={editAll}>\n Edit All\n </Button>\n )}\n </Stack>\n\n <Table\n tableState={tableState}\n striped={false}\n selectable\n groupable\n sortable\n exportable\n exportFileName=\"Table.Export.Test...File.Name.01.01.2020..~!@#$%^(*_+';\"\n cellRender={cellRender}\n navigatable\n >\n <TableColumn field=\"ProductID\" title=\"ID\" editable={false} width=\"100px\" />\n\n <TableColumn\n field=\"ProductName\"\n title=\"Product Name\"\n cell={TextEditableCell}\n columnMenu={StandardColumnMenuFilter}\n width=\"240px\"\n />\n\n <TableColumn\n field=\"Supplier\"\n title=\"Supplier\"\n cell={SupplierCell}\n columnMenu={StandardColumnMenuFilter}\n width=\"150px\"\n />\n\n <TableColumn\n field=\"MadeIn\"\n title=\"Made In\"\n cell={TextEditableCell}\n columnMenu={madeInColumnMenu}\n width=\"175px\"\n />\n\n <TableColumn\n field=\"UnitsOnOrder\"\n title=\"First Ordered On\"\n cell={DateEditableCell}\n columnMenu={DateRangeColumnMenuFilter}\n format=\"{0:MM/dd/yyyy}\"\n width=\"240px\"\n />\n\n <TableColumn\n field=\"UnitPrice\"\n title=\"Unit Price\"\n cell={NumericEditableCell}\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 cell={AvailableForEditableCell}\n columnMenu={UserRoleColumnMenuFilter}\n width=\"240px\"\n />\n\n <TableColumn cell={ActionsCell} sortable={false} width=\"125px\" />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["useMemo","cloneElement","Fragment","provide","useDependencies","observer","Stack","ButtonGroup","Button","Tag","DatePicker","Table","TableColumn","TableCell","TextEditableCell","BooleanEditableCell","getSelectEditableCell","DateRangeColumnMenuFilter","StandardColumnMenuFilter","standardFilterWithMultiselect","multiSelectColumnMenuFilter","CurrencyRangeColumnMenuFilter","getEditableCell","Export","TableStore","ActionsCell","NumberInput","enumToOptions","getEnumKeys","UserRole","Supplier","UserRoleColumnMenuFilter","userRole","compact","color","Owner","AvailableForEditableCell","options","viewer","dataItem","field","tdProps","value","td","SupplierCell","props","rowType","DateEditor","fieldState","onChange","hasError","className","error","DateEditableCell","editor","NumberCellEditor","type","emptyValue","min","max","useEmptyThousandsSeparator","fluid","decimalPlaces","useKeyboardNavigation","NumericEditableCell","TableExample","singletons","tableState","inEdit","editAll","cancelAll","saveAll","madeInColumnMenu","cellRender","onClick","edit","justifyContent","alignContent","totalCount","exportPdf","exportExcel","small","primary","striped","selectable","groupable","sortable","exportable","exportFileName","navigatable","title","editable","width","cell","columnMenu","format"],"mappings":"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"}
@@ -1,12 +1,25 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _ts_decorate(decorators, target, key, desc) {
2
15
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
16
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
19
+ }
20
+ function _ts_metadata(k, v) {
8
21
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
22
+ }
10
23
  import { injectable } from '@servicetitan/react-ioc';
11
24
  import { computed, makeObservable } from 'mobx';
12
25
  import { InMemoryDataSource, TableState } from '../..';
@@ -14,47 +27,14 @@ import { setFormStateValues, FormValidators } from '@servicetitan/form';
14
27
  import { FormState, FieldState } from 'formstate';
15
28
  import { UserRole, Supplier } from './product';
16
29
  import { products } from './products';
17
- let TableStore = class TableStore {
18
- constructor() {
19
- Object.defineProperty(this, "tableState", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: new TableState({
24
- dataSource: this.getDataSource(),
25
- isRowUnselectable: this.isRowUnselectable,
26
- selectionLimit: 3,
27
- getFormState: this.getFormState,
28
- pageSize: 5,
29
- })
30
- });
31
- Object.defineProperty(this, "editAll", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: () => this.tableState.editAll()
36
- });
37
- Object.defineProperty(this, "saveAll", {
38
- enumerable: true,
39
- configurable: true,
40
- writable: true,
41
- value: () => this.tableState.saveEditAll()
42
- });
43
- Object.defineProperty(this, "cancelAll", {
44
- enumerable: true,
45
- configurable: true,
46
- writable: true,
47
- value: () => this.tableState.cancelEditAll()
48
- });
49
- makeObservable(this);
50
- }
30
+ export class TableStore {
51
31
  get inEdit() {
52
32
  return this.tableState.inEdit.size > 0;
53
33
  }
54
34
  getDataSource() {
55
35
  return new InMemoryDataSource(products, this.idSelector, {
56
- Supplier: (value) => Supplier[value],
57
- AvailableFor: (value) => value && UserRole[value],
36
+ Supplier: (value)=>Supplier[value],
37
+ AvailableFor: (value)=>value && UserRole[value]
58
38
  });
59
39
  }
60
40
  idSelector(row) {
@@ -71,23 +51,37 @@ let TableStore = class TableStore {
71
51
  CategoryID: new FieldState(0),
72
52
  MadeIn: new FieldState(''),
73
53
  QuantityPerUnit: new FieldState(''),
74
- UnitPrice: new FieldState(0).validators(value => value <= 0 && 'Price must be positive'),
54
+ UnitPrice: new FieldState(0).validators((value)=>value <= 0 && 'Price must be positive'),
75
55
  UnitsInStock: new FieldState(0),
76
- UnitsOnOrder: new FieldState(new Date()).validators(value => value > new Date() && 'Invalid date'),
56
+ UnitsOnOrder: new FieldState(new Date()).validators((value)=>value > new Date() && 'Invalid date'),
77
57
  Discontinued: new FieldState(false),
78
58
  AvailableFor: new FieldState(undefined),
79
- Package: new FieldState(undefined),
59
+ Package: new FieldState(undefined)
80
60
  }), row);
81
61
  }
82
- };
83
- __decorate([
62
+ constructor(){
63
+ _define_property(this, "tableState", new TableState({
64
+ dataSource: this.getDataSource(),
65
+ isRowUnselectable: this.isRowUnselectable,
66
+ selectionLimit: 3,
67
+ getFormState: this.getFormState,
68
+ pageSize: 5
69
+ }));
70
+ _define_property(this, "editAll", ()=>this.tableState.editAll());
71
+ _define_property(this, "saveAll", ()=>this.tableState.saveEditAll());
72
+ _define_property(this, "cancelAll", ()=>this.tableState.cancelEditAll());
73
+ makeObservable(this);
74
+ }
75
+ }
76
+ _ts_decorate([
84
77
  computed,
85
- __metadata("design:type", Object),
86
- __metadata("design:paramtypes", [])
78
+ _ts_metadata("design:type", void 0),
79
+ _ts_metadata("design:paramtypes", [])
87
80
  ], TableStore.prototype, "inEdit", null);
88
- TableStore = __decorate([
81
+ TableStore = _ts_decorate([
89
82
  injectable(),
90
- __metadata("design:paramtypes", [])
83
+ _ts_metadata("design:type", Function),
84
+ _ts_metadata("design:paramtypes", [])
91
85
  ], TableStore);
92
- export { TableStore };
86
+
93
87
  //# sourceMappingURL=table.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"table.store.js","sourceRoot":"","sources":["../../../src/demo/overview/table.store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/demo/overview/table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\n\nimport { computed, makeObservable } from 'mobx';\n\nimport { InMemoryDataSource, TableState } from '../..';\n\nimport { setFormStateValues, FormValidators } from '@servicetitan/form';\nimport { FormState, FieldState } from 'formstate';\n\nimport { Product, UserRole, Supplier } from './product';\nimport { products } from './products';\n\n@injectable()\nexport class TableStore {\n tableState = new TableState({\n dataSource: this.getDataSource(),\n isRowUnselectable: this.isRowUnselectable,\n selectionLimit: 3,\n getFormState: this.getFormState,\n pageSize: 5,\n });\n\n constructor() {\n makeObservable(this);\n }\n\n @computed get inEdit() {\n return this.tableState.inEdit.size > 0;\n }\n\n editAll = () => this.tableState.editAll();\n saveAll = () => this.tableState.saveEditAll();\n cancelAll = () => this.tableState.cancelEditAll();\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.ProductID;\n }\n\n private isRowUnselectable(row: Product) {\n return row.Discontinued;\n }\n\n private getFormState(row: Product) {\n return setFormStateValues(\n new FormState({\n ProductID: new FieldState(0),\n ProductName: new FieldState('').validators(FormValidators.required),\n Supplier: new FieldState<Supplier>(Supplier.Adam),\n CategoryID: new FieldState(0),\n MadeIn: new FieldState(''),\n QuantityPerUnit: new FieldState(''),\n UnitPrice: new FieldState(0).validators(\n value => value <= 0 && 'Price must be positive'\n ),\n UnitsInStock: new FieldState(0),\n UnitsOnOrder: new FieldState(new Date()).validators(\n value => value > new Date() && 'Invalid date'\n ),\n Discontinued: new FieldState(false),\n AvailableFor: new FieldState<UserRole | undefined>(undefined),\n Package: new FieldState<Product['Package'] | undefined>(undefined),\n }),\n row\n );\n }\n}\n"],"names":["injectable","computed","makeObservable","InMemoryDataSource","TableState","setFormStateValues","FormValidators","FormState","FieldState","UserRole","Supplier","products","TableStore","inEdit","tableState","size","getDataSource","idSelector","value","AvailableFor","row","ProductID","isRowUnselectable","Discontinued","getFormState","ProductName","validators","required","Adam","CategoryID","MadeIn","QuantityPerUnit","UnitPrice","UnitsInStock","UnitsOnOrder","Date","undefined","Package","constructor","dataSource","selectionLimit","pageSize","editAll","saveAll","saveEditAll","cancelAll","cancelEditAll"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,0BAA0B;AAErD,SAASC,QAAQ,EAAEC,cAAc,QAAQ,OAAO;AAEhD,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,QAAQ;AAEvD,SAASC,kBAAkB,EAAEC,cAAc,QAAQ,qBAAqB;AACxE,SAASC,SAAS,EAAEC,UAAU,QAAQ,YAAY;AAElD,SAAkBC,QAAQ,EAAEC,QAAQ,QAAQ,YAAY;AACxD,SAASC,QAAQ,QAAQ,aAAa;AAGtC,OAAO,MAAMC;IAaT,IAAcC,SAAS;QACnB,OAAO,IAAI,CAACC,UAAU,CAACD,MAAM,CAACE,IAAI,GAAG;IACzC;IAMQC,gBAAgB;QACpB,OAAO,IAAIb,mBAAmBQ,UAAU,IAAI,CAACM,UAAU,EAAE;YACrDP,UAAU,CAACQ,QAAoBR,QAAQ,CAACQ,MAAM;YAC9CC,cAAc,CAACD,QAAgCA,SAAST,QAAQ,CAACS,MAAM;QAC3E;IACJ;IAEQD,WAAWG,GAAY,EAAE;QAC7B,OAAOA,IAAIC,SAAS;IACxB;IAEQC,kBAAkBF,GAAY,EAAE;QACpC,OAAOA,IAAIG,YAAY;IAC3B;IAEQC,aAAaJ,GAAY,EAAE;QAC/B,OAAOf,mBACH,IAAIE,UAAU;YACVc,WAAW,IAAIb,WAAW;YAC1BiB,aAAa,IAAIjB,WAAW,IAAIkB,UAAU,CAACpB,eAAeqB,QAAQ;YAClEjB,UAAU,IAAIF,WAAqBE,SAASkB,IAAI;YAChDC,YAAY,IAAIrB,WAAW;YAC3BsB,QAAQ,IAAItB,WAAW;YACvBuB,iBAAiB,IAAIvB,WAAW;YAChCwB,WAAW,IAAIxB,WAAW,GAAGkB,UAAU,CACnCR,CAAAA,QAASA,SAAS,KAAK;YAE3Be,cAAc,IAAIzB,WAAW;YAC7B0B,cAAc,IAAI1B,WAAW,IAAI2B,QAAQT,UAAU,CAC/CR,CAAAA,QAASA,QAAQ,IAAIiB,UAAU;YAEnCZ,cAAc,IAAIf,WAAW;YAC7BW,cAAc,IAAIX,WAAiC4B;YACnDC,SAAS,IAAI7B,WAA2C4B;QAC5D,IACAhB;IAER;IAjDAkB,aAAc;QARdxB,uBAAAA,cAAa,IAAIV,WAAW;YACxBmC,YAAY,IAAI,CAACvB,aAAa;YAC9BM,mBAAmB,IAAI,CAACA,iBAAiB;YACzCkB,gBAAgB;YAChBhB,cAAc,IAAI,CAACA,YAAY;YAC/BiB,UAAU;QACd;QAUAC,uBAAAA,WAAU,IAAM,IAAI,CAAC5B,UAAU,CAAC4B,OAAO;QACvCC,uBAAAA,WAAU,IAAM,IAAI,CAAC7B,UAAU,CAAC8B,WAAW;QAC3CC,uBAAAA,aAAY,IAAM,IAAI,CAAC/B,UAAU,CAACgC,aAAa;QAT3C5C,eAAe,IAAI;IACvB;AAgDJ"}
@@ -1,2 +1,3 @@
1
1
  export * from './row-details-table';
2
+
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/demo/row-details/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/row-details/index.ts"],"sourcesContent":["export * from './row-details-table';\n"],"names":[],"mappings":"AAAA,cAAc,sBAAsB"}
@@ -4,15 +4,62 @@ import { provide, useDependencies } from '@servicetitan/react-ioc';
4
4
  import { observer } from 'mobx-react';
5
5
  import { Table, TableColumn, useRowExpandColumn } from '../..';
6
6
  import { RowDetailsTableStore } from './row-details-table.store';
7
- const DetailsRow = ({ dataItem }) => {
7
+ const DetailsRow = ({ dataItem })=>{
8
8
  const product = dataItem;
9
- return (_jsxs(Stack, { children: [_jsx("div", { style: { width: '38px' } }), _jsxs(Stack.Item, { className: "m-l-1", fill: true, children: ["details for product ", product.ProductName] })] }));
9
+ return /*#__PURE__*/ _jsxs(Stack, {
10
+ children: [
11
+ /*#__PURE__*/ _jsx("div", {
12
+ style: {
13
+ width: '38px'
14
+ }
15
+ }),
16
+ /*#__PURE__*/ _jsxs(Stack.Item, {
17
+ className: "m-l-1",
18
+ fill: true,
19
+ children: [
20
+ "details for product ",
21
+ product.ProductName
22
+ ]
23
+ })
24
+ ]
25
+ });
10
26
  };
11
27
  export const TableDetailedRowExample = provide({
12
- singletons: [RowDetailsTableStore],
13
- })(observer(() => {
28
+ singletons: [
29
+ RowDetailsTableStore
30
+ ]
31
+ })(observer(()=>{
14
32
  const [{ tableState }] = useDependencies(RowDetailsTableStore);
15
33
  const expandColumn = useRowExpandColumn();
16
- return (_jsxs(Table, { tableState: tableState, striped: false, sortable: false, detail: DetailsRow, children: [expandColumn, _jsx(TableColumn, { field: "ProductID", title: "ID", width: "50px" }), _jsx(TableColumn, { field: "ProductName", title: "Product Name" }), _jsx(TableColumn, { field: "MadeIn", title: "Made In", width: "175px" }), _jsx(TableColumn, { field: "UnitPrice", title: "Unit Price", format: "{0:c}", width: "125px" })] }));
34
+ return /*#__PURE__*/ _jsxs(Table, {
35
+ tableState: tableState,
36
+ striped: false,
37
+ sortable: false,
38
+ detail: DetailsRow,
39
+ children: [
40
+ expandColumn,
41
+ /*#__PURE__*/ _jsx(TableColumn, {
42
+ field: "ProductID",
43
+ title: "ID",
44
+ width: "50px"
45
+ }),
46
+ /*#__PURE__*/ _jsx(TableColumn, {
47
+ field: "ProductName",
48
+ title: "Product Name"
49
+ }),
50
+ /*#__PURE__*/ _jsx(TableColumn, {
51
+ field: "MadeIn",
52
+ title: "Made In",
53
+ width: "175px"
54
+ }),
55
+ /*#__PURE__*/ _jsx(TableColumn, {
56
+ field: "UnitPrice",
57
+ title: "Unit Price",
58
+ format: "{0:c}",
59
+ width: "125px"
60
+ })
61
+ ]
62
+ });
17
63
  }));
64
+
18
65
  //# sourceMappingURL=row-details-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"row-details-table.js","sourceRoot":"","sources":["../../../src/demo/row-details/row-details-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAGtC,OAAO,EAAE,KAAK,EAAE,WAAW,EAAuB,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAGpF,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,GAA4B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACzD,MAAM,OAAO,GAAG,QAAmB,CAAC;IAEpC,OAAO,CACH,MAAC,KAAK,eACF,cAAK,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAI,EACjC,MAAC,KAAK,CAAC,IAAI,IAAC,SAAS,EAAC,OAAO,EAAC,IAAI,2CACT,OAAO,CAAC,WAAW,IAC/B,IACT,CACX,CAAC;AACN,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAO,OAAO,CAAC;IAC/C,UAAU,EAAE,CAAC,oBAAoB,CAAC;CACrC,CAAC,CACE,QAAQ,CAAC,GAAG,EAAE;IACV,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,GAAG,eAAe,CAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAE1C,OAAO,CACH,MAAC,KAAK,IAAC,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,aAC7E,YAAY,EACb,KAAC,WAAW,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,MAAM,GAAG,EAEzD,KAAC,WAAW,IAAC,KAAK,EAAC,aAAa,EAAC,KAAK,EAAC,cAAc,GAAG,EAExD,KAAC,WAAW,IAAC,KAAK,EAAC,QAAQ,EAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,GAAG,EAE5D,KAAC,WAAW,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,YAAY,EAAC,MAAM,EAAC,OAAO,EAAC,KAAK,EAAC,OAAO,GAAG,IAC7E,CACX,CAAC;AACN,CAAC,CAAC,CACL,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/row-details/row-details-table.tsx"],"sourcesContent":["import { Stack } from '@servicetitan/design-system';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\nimport { observer } from 'mobx-react';\nimport { FC } from 'react';\n\nimport { Table, TableColumn, TableDetailRowProps, useRowExpandColumn } from '../..';\n\nimport { Product } from '../overview/product';\nimport { RowDetailsTableStore } from './row-details-table.store';\n\nconst DetailsRow: FC<TableDetailRowProps> = ({ dataItem }) => {\n const product = dataItem as Product;\n\n return (\n <Stack>\n <div style={{ width: '38px' }} />\n <Stack.Item className=\"m-l-1\" fill>\n details for product {product.ProductName}\n </Stack.Item>\n </Stack>\n );\n};\n\nexport const TableDetailedRowExample: FC = provide({\n singletons: [RowDetailsTableStore],\n})(\n observer(() => {\n const [{ tableState }] = useDependencies(RowDetailsTableStore);\n const expandColumn = useRowExpandColumn();\n\n return (\n <Table tableState={tableState} striped={false} sortable={false} detail={DetailsRow}>\n {expandColumn}\n <TableColumn field=\"ProductID\" title=\"ID\" width=\"50px\" />\n\n <TableColumn field=\"ProductName\" title=\"Product Name\" />\n\n <TableColumn field=\"MadeIn\" title=\"Made In\" width=\"175px\" />\n\n <TableColumn field=\"UnitPrice\" title=\"Unit Price\" format=\"{0:c}\" width=\"125px\" />\n </Table>\n );\n })\n);\n"],"names":["Stack","provide","useDependencies","observer","Table","TableColumn","useRowExpandColumn","RowDetailsTableStore","DetailsRow","dataItem","product","div","style","width","Item","className","fill","ProductName","TableDetailedRowExample","singletons","tableState","expandColumn","striped","sortable","detail","field","title","format"],"mappings":";AAAA,SAASA,KAAK,QAAQ,8BAA8B;AACpD,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AACnE,SAASC,QAAQ,QAAQ,aAAa;AAGtC,SAASC,KAAK,EAAEC,WAAW,EAAuBC,kBAAkB,QAAQ,QAAQ;AAGpF,SAASC,oBAAoB,QAAQ,4BAA4B;AAEjE,MAAMC,aAAsC,CAAC,EAAEC,QAAQ,EAAE;IACrD,MAAMC,UAAUD;IAEhB,qBACI,MAACT;;0BACG,KAACW;gBAAIC,OAAO;oBAAEC,OAAO;gBAAO;;0BAC5B,MAACb,MAAMc,IAAI;gBAACC,WAAU;gBAAQC,IAAI;;oBAAC;oBACVN,QAAQO,WAAW;;;;;AAIxD;AAEA,OAAO,MAAMC,0BAA8BjB,QAAQ;IAC/CkB,YAAY;QAACZ;KAAqB;AACtC,GACIJ,SAAS;IACL,MAAM,CAAC,EAAEiB,UAAU,EAAE,CAAC,GAAGlB,gBAAgBK;IACzC,MAAMc,eAAef;IAErB,qBACI,MAACF;QAAMgB,YAAYA;QAAYE,SAAS;QAAOC,UAAU;QAAOC,QAAQhB;;YACnEa;0BACD,KAAChB;gBAAYoB,OAAM;gBAAYC,OAAM;gBAAKb,OAAM;;0BAEhD,KAACR;gBAAYoB,OAAM;gBAAcC,OAAM;;0BAEvC,KAACrB;gBAAYoB,OAAM;gBAASC,OAAM;gBAAUb,OAAM;;0BAElD,KAACR;gBAAYoB,OAAM;gBAAYC,OAAM;gBAAaC,QAAO;gBAAQd,OAAM;;;;AAGnF,IACF"}
@@ -1,34 +1,42 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
1
+ function _define_property(obj, key, value) {
2
+ if (key in obj) {
3
+ Object.defineProperty(obj, key, {
4
+ value: value,
5
+ enumerable: true,
6
+ configurable: true,
7
+ writable: true
8
+ });
9
+ } else {
10
+ obj[key] = value;
11
+ }
12
+ return obj;
13
+ }
14
+ function _ts_decorate(decorators, target, key, desc) {
2
15
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
16
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
18
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
19
+ }
7
20
  import { injectable } from '@servicetitan/react-ioc';
8
21
  import { InMemoryDataSource, TableState } from '../..';
9
22
  import { products } from '../overview/products';
10
- let RowDetailsTableStore = class RowDetailsTableStore {
11
- constructor() {
12
- Object.defineProperty(this, "tableState", {
13
- enumerable: true,
14
- configurable: true,
15
- writable: true,
16
- value: new TableState({
17
- dataSource: this.getDataSource(),
18
- rowDetailsExpandState: 'expanded',
19
- pageSize: 5,
20
- })
21
- });
22
- }
23
+ export class RowDetailsTableStore {
23
24
  getDataSource() {
24
25
  return new InMemoryDataSource(products, this.idSelector);
25
26
  }
26
27
  idSelector(row) {
27
28
  return row.ProductID;
28
29
  }
29
- };
30
- RowDetailsTableStore = __decorate([
30
+ constructor(){
31
+ _define_property(this, "tableState", new TableState({
32
+ dataSource: this.getDataSource(),
33
+ rowDetailsExpandState: 'expanded',
34
+ pageSize: 5
35
+ }));
36
+ }
37
+ }
38
+ RowDetailsTableStore = _ts_decorate([
31
39
  injectable()
32
40
  ], RowDetailsTableStore);
33
- export { RowDetailsTableStore };
41
+
34
42
  //# sourceMappingURL=row-details-table.store.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"row-details-table.store.js","sourceRoot":"","sources":["../../../src/demo/row-details/row-details-table.store.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAGvD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAGzC,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAA1B;QACH;;;;mBAAa,IAAI,UAAU,CAAC;gBACxB,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;gBAChC,qBAAqB,EAAE,UAAU;gBACjC,QAAQ,EAAE,CAAC;aACd,CAAC;WAAC;IASP,CAAC;IAPW,aAAa;QACjB,OAAO,IAAI,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IAC7D,CAAC;IAEO,UAAU,CAAC,GAAY;QAC3B,OAAO,GAAG,CAAC,SAAS,CAAC;IACzB,CAAC;CACJ,CAAA;AAdY,oBAAoB;IADhC,UAAU,EAAE;GACA,oBAAoB,CAchC"}
1
+ {"version":3,"sources":["../../../src/demo/row-details/row-details-table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\n\nimport { InMemoryDataSource, TableState } from '../..';\n\nimport { Product } from '../overview/product';\nimport { products } from '../overview/products';\n\n@injectable()\nexport class RowDetailsTableStore {\n tableState = new TableState({\n dataSource: this.getDataSource(),\n rowDetailsExpandState: 'expanded',\n pageSize: 5,\n });\n\n private getDataSource() {\n return new InMemoryDataSource(products, this.idSelector);\n }\n\n private idSelector(row: Product) {\n return row.ProductID;\n }\n}\n"],"names":["injectable","InMemoryDataSource","TableState","products","RowDetailsTableStore","getDataSource","idSelector","row","ProductID","tableState","dataSource","rowDetailsExpandState","pageSize"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,0BAA0B;AAErD,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,QAAQ;AAGvD,SAASC,QAAQ,QAAQ,uBAAuB;AAGhD,OAAO,MAAMC;IAODC,gBAAgB;QACpB,OAAO,IAAIJ,mBAAmBE,UAAU,IAAI,CAACG,UAAU;IAC3D;IAEQA,WAAWC,GAAY,EAAE;QAC7B,OAAOA,IAAIC,SAAS;IACxB;;QAZAC,uBAAAA,cAAa,IAAIP,WAAW;YACxBQ,YAAY,IAAI,CAACL,aAAa;YAC9BM,uBAAuB;YACvBC,UAAU;QACd;;AASJ"}
@@ -2,47 +2,48 @@ export const beverages = [
2
2
  {
3
3
  ProductID: 1,
4
4
  ProductName: 'Tea',
5
- Description: 'Tea is an aromatic beverage...',
5
+ Description: 'Tea is an aromatic beverage...'
6
6
  },
7
7
  {
8
8
  ProductID: 2,
9
9
  ProductName: 'Coffee',
10
- Description: 'Coffee is a brewed drink prepared from roasted coffee beans...',
10
+ Description: 'Coffee is a brewed drink prepared from roasted coffee beans...'
11
11
  },
12
12
  {
13
13
  ProductID: 3,
14
14
  ProductName: 'Liquor',
15
- Description: 'Liquor is an alcoholic drink...',
15
+ Description: 'Liquor is an alcoholic drink...'
16
16
  },
17
17
  {
18
18
  ProductID: 4,
19
19
  ProductName: 'Beer',
20
- Description: 'Beer is one of the oldest and most widely consumed drinks in the world...',
20
+ Description: 'Beer is one of the oldest and most widely consumed drinks in the world...'
21
21
  },
22
22
  {
23
23
  ProductID: 5,
24
24
  ProductName: 'Milk',
25
- Description: 'Milk is a nutrient-rich, white liquid food produced by...',
25
+ Description: 'Milk is a nutrient-rich, white liquid food produced by...'
26
26
  },
27
27
  {
28
28
  ProductID: 6,
29
29
  ProductName: 'Juice',
30
- Description: 'Juice is a drink made from the extraction...',
30
+ Description: 'Juice is a drink made from the extraction...'
31
31
  },
32
32
  {
33
33
  ProductID: 7,
34
34
  ProductName: 'Hot chocolate',
35
- Description: 'Hot chocolate, also known as drinking chocolate, cocoa, and as chocolate...',
35
+ Description: 'Hot chocolate, also known as drinking chocolate, cocoa, and as chocolate...'
36
36
  },
37
37
  {
38
38
  ProductID: 8,
39
39
  ProductName: 'Wine',
40
- Description: 'Wine is an alcoholic drink typically made from fermented grapes...',
40
+ Description: 'Wine is an alcoholic drink typically made from fermented grapes...'
41
41
  },
42
42
  {
43
43
  ProductID: 9,
44
44
  ProductName: 'Kombucha',
45
- Description: 'Kombucha is a fermented, slightly alcoholic, lightly effervescent...',
46
- },
45
+ Description: 'Kombucha is a fermented, slightly alcoholic, lightly effervescent...'
46
+ }
47
47
  ];
48
+
48
49
  //# sourceMappingURL=beverages.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"beverages.js","sourceRoot":"","sources":["../../../src/demo/state-caching/beverages.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,SAAS,GAAc;IAChC;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,KAAK;QAClB,WAAW,EAAE,gCAAgC;KAChD;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,gEAAgE;KAChF;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,QAAQ;QACrB,WAAW,EAAE,iCAAiC;KACjD;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,2EAA2E;KAC3F;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,2DAA2D;KAC3E;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,8CAA8C;KAC9D;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,6EAA6E;KAC7F;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,oEAAoE;KACpF;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,UAAU;QACvB,WAAW,EAAE,sEAAsE;KACtF;CACJ,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/state-caching/beverages.ts"],"sourcesContent":["import { Product } from './product';\n\nexport const beverages: Product[] = [\n {\n ProductID: 1,\n ProductName: 'Tea',\n Description: 'Tea is an aromatic beverage...',\n },\n {\n ProductID: 2,\n ProductName: 'Coffee',\n Description: 'Coffee is a brewed drink prepared from roasted coffee beans...',\n },\n {\n ProductID: 3,\n ProductName: 'Liquor',\n Description: 'Liquor is an alcoholic drink...',\n },\n {\n ProductID: 4,\n ProductName: 'Beer',\n Description: 'Beer is one of the oldest and most widely consumed drinks in the world...',\n },\n {\n ProductID: 5,\n ProductName: 'Milk',\n Description: 'Milk is a nutrient-rich, white liquid food produced by...',\n },\n {\n ProductID: 6,\n ProductName: 'Juice',\n Description: 'Juice is a drink made from the extraction...',\n },\n {\n ProductID: 7,\n ProductName: 'Hot chocolate',\n Description: 'Hot chocolate, also known as drinking chocolate, cocoa, and as chocolate...',\n },\n {\n ProductID: 8,\n ProductName: 'Wine',\n Description: 'Wine is an alcoholic drink typically made from fermented grapes...',\n },\n {\n ProductID: 9,\n ProductName: 'Kombucha',\n Description: 'Kombucha is a fermented, slightly alcoholic, lightly effervescent...',\n },\n];\n"],"names":["beverages","ProductID","ProductName","Description"],"mappings":"AAEA,OAAO,MAAMA,YAAuB;IAChC;QACIC,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;CACH,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './state-caching-table';
2
+
2
3
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/demo/state-caching/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/state-caching/index.ts"],"sourcesContent":["export * from './state-caching-table';\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB"}
@@ -1,2 +1,3 @@
1
- export {};
1
+ export { };
2
+
2
3
  //# sourceMappingURL=product.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"product.js","sourceRoot":"","sources":["../../../src/demo/state-caching/product.ts"],"names":[],"mappings":""}
1
+ {"version":3,"sources":["../../../src/demo/state-caching/product.ts"],"sourcesContent":["export interface Product {\n ProductID: number;\n ProductName: string;\n Description: string;\n}\n"],"names":[],"mappings":"AAAA,WAIC"}
@@ -2,52 +2,53 @@ export const products = [
2
2
  {
3
3
  ProductID: 1,
4
4
  ProductName: 'Chai',
5
- Description: '10 boxes x 20 bags',
5
+ Description: '10 boxes x 20 bags'
6
6
  },
7
7
  {
8
8
  ProductID: 2,
9
9
  ProductName: 'Chang',
10
- Description: '24 - 12 oz bottles',
10
+ Description: '24 - 12 oz bottles'
11
11
  },
12
12
  {
13
13
  ProductID: 3,
14
14
  ProductName: 'Aniseed Syrup',
15
- Description: '12 - 550 ml bottles',
15
+ Description: '12 - 550 ml bottles'
16
16
  },
17
17
  {
18
18
  ProductID: 4,
19
19
  ProductName: "Chef Anton's Cajun Seasoning",
20
- Description: '48 - 6 oz jars',
20
+ Description: '48 - 6 oz jars'
21
21
  },
22
22
  {
23
23
  ProductID: 5,
24
24
  ProductName: "Chef Anton's Gumbo Mix",
25
- Description: '36 boxes',
25
+ Description: '36 boxes'
26
26
  },
27
27
  {
28
28
  ProductID: 6,
29
29
  ProductName: "Grandma's Boysenberry Spread",
30
- Description: '12 - 8 oz jars',
30
+ Description: '12 - 8 oz jars'
31
31
  },
32
32
  {
33
33
  ProductID: 7,
34
34
  ProductName: "Uncle Bob's Organic Dried Pears",
35
- Description: '12 - 1 lb pkgs.',
35
+ Description: '12 - 1 lb pkgs.'
36
36
  },
37
37
  {
38
38
  ProductID: 8,
39
39
  ProductName: 'Northwoods Cranberry Sauce',
40
- Description: '12 - 12 oz jars',
40
+ Description: '12 - 12 oz jars'
41
41
  },
42
42
  {
43
43
  ProductID: 9,
44
44
  ProductName: 'Mishi Kobe Niku',
45
- Description: '18 - 500 g pkgs.',
45
+ Description: '18 - 500 g pkgs.'
46
46
  },
47
47
  {
48
48
  ProductID: 10,
49
49
  ProductName: 'Ikura',
50
- Description: '12 - 200 ml jars',
51
- },
50
+ Description: '12 - 200 ml jars'
51
+ }
52
52
  ];
53
+
53
54
  //# sourceMappingURL=products.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"products.js","sourceRoot":"","sources":["../../../src/demo/state-caching/products.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAc;IAC/B;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,MAAM;QACnB,WAAW,EAAE,oBAAoB;KACpC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,oBAAoB;KACpC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,eAAe;QAC5B,WAAW,EAAE,qBAAqB;KACrC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,gBAAgB;KAChC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,wBAAwB;QACrC,WAAW,EAAE,UAAU;KAC1B;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,8BAA8B;QAC3C,WAAW,EAAE,gBAAgB;KAChC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,iCAAiC;QAC9C,WAAW,EAAE,iBAAiB;KACjC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,4BAA4B;QACzC,WAAW,EAAE,iBAAiB;KACjC;IACD;QACI,SAAS,EAAE,CAAC;QACZ,WAAW,EAAE,iBAAiB;QAC9B,WAAW,EAAE,kBAAkB;KAClC;IACD;QACI,SAAS,EAAE,EAAE;QACb,WAAW,EAAE,OAAO;QACpB,WAAW,EAAE,kBAAkB;KAClC;CACJ,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/state-caching/products.ts"],"sourcesContent":["import { Product } from './product';\n\nexport const products: Product[] = [\n {\n ProductID: 1,\n ProductName: 'Chai',\n Description: '10 boxes x 20 bags',\n },\n {\n ProductID: 2,\n ProductName: 'Chang',\n Description: '24 - 12 oz bottles',\n },\n {\n ProductID: 3,\n ProductName: 'Aniseed Syrup',\n Description: '12 - 550 ml bottles',\n },\n {\n ProductID: 4,\n ProductName: \"Chef Anton's Cajun Seasoning\",\n Description: '48 - 6 oz jars',\n },\n {\n ProductID: 5,\n ProductName: \"Chef Anton's Gumbo Mix\",\n Description: '36 boxes',\n },\n {\n ProductID: 6,\n ProductName: \"Grandma's Boysenberry Spread\",\n Description: '12 - 8 oz jars',\n },\n {\n ProductID: 7,\n ProductName: \"Uncle Bob's Organic Dried Pears\",\n Description: '12 - 1 lb pkgs.',\n },\n {\n ProductID: 8,\n ProductName: 'Northwoods Cranberry Sauce',\n Description: '12 - 12 oz jars',\n },\n {\n ProductID: 9,\n ProductName: 'Mishi Kobe Niku',\n Description: '18 - 500 g pkgs.',\n },\n {\n ProductID: 10,\n ProductName: 'Ikura',\n Description: '12 - 200 ml jars',\n },\n];\n"],"names":["products","ProductID","ProductName","Description"],"mappings":"AAEA,OAAO,MAAMA,WAAsB;IAC/B;QACIC,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;IACA;QACIF,WAAW;QACXC,aAAa;QACbC,aAAa;IACjB;CACH,CAAC"}
@@ -6,9 +6,50 @@ import { ButtonGroup, Button } from '@servicetitan/design-system';
6
6
  import { Table, TableColumn } from '../..';
7
7
  import { TableStore } from './state-caching-table.store';
8
8
  export const TableStateCachingExample = provide({
9
- singletons: [TableStore],
10
- })(observer(() => {
9
+ singletons: [
10
+ TableStore
11
+ ]
12
+ })(observer(()=>{
11
13
  const [{ tableState, showProducts, showBeverages }] = useDependencies(TableStore);
12
- return (_jsxs(Fragment, { children: [_jsxs(ButtonGroup, { className: "m-b-2", children: [_jsx(Button, { small: true, onClick: showProducts, children: "Show Products" }), _jsx(Button, { small: true, onClick: showBeverages, children: "Show Beverages" })] }), _jsxs(Table, { tableState: tableState, striped: true, sortable: true, children: [_jsx(TableColumn, { field: "ProductID", title: "ID", width: "100px" }), _jsx(TableColumn, { field: "ProductName", title: "Product Name" }), _jsx(TableColumn, { field: "Description", title: "Product Description" })] })] }));
14
+ return /*#__PURE__*/ _jsxs(Fragment, {
15
+ children: [
16
+ /*#__PURE__*/ _jsxs(ButtonGroup, {
17
+ className: "m-b-2",
18
+ children: [
19
+ /*#__PURE__*/ _jsx(Button, {
20
+ small: true,
21
+ onClick: showProducts,
22
+ children: "Show Products"
23
+ }),
24
+ /*#__PURE__*/ _jsx(Button, {
25
+ small: true,
26
+ onClick: showBeverages,
27
+ children: "Show Beverages"
28
+ })
29
+ ]
30
+ }),
31
+ /*#__PURE__*/ _jsxs(Table, {
32
+ tableState: tableState,
33
+ striped: true,
34
+ sortable: true,
35
+ children: [
36
+ /*#__PURE__*/ _jsx(TableColumn, {
37
+ field: "ProductID",
38
+ title: "ID",
39
+ width: "100px"
40
+ }),
41
+ /*#__PURE__*/ _jsx(TableColumn, {
42
+ field: "ProductName",
43
+ title: "Product Name"
44
+ }),
45
+ /*#__PURE__*/ _jsx(TableColumn, {
46
+ field: "Description",
47
+ title: "Product Description"
48
+ })
49
+ ]
50
+ })
51
+ ]
52
+ });
13
53
  }));
54
+
14
55
  //# sourceMappingURL=state-caching-table.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"state-caching-table.js","sourceRoot":"","sources":["../../../src/demo/state-caching/state-caching-table.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAM,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,MAAM,CAAC,MAAM,wBAAwB,GAAO,OAAO,CAAC;IAChD,UAAU,EAAE,CAAC,UAAU,CAAC;CAC3B,CAAC,CACE,QAAQ,CAAC,GAAG,EAAE;IACV,MAAM,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAElF,OAAO,CACH,MAAC,QAAQ,eACL,MAAC,WAAW,IAAC,SAAS,EAAC,OAAO,aAC1B,KAAC,MAAM,IAAC,KAAK,QAAC,OAAO,EAAE,YAAY,8BAE1B,EACT,KAAC,MAAM,IAAC,KAAK,QAAC,OAAO,EAAE,aAAa,+BAE3B,IACC,EAEd,MAAC,KAAK,IAAC,UAAU,EAAE,UAAU,EAAE,OAAO,QAAC,QAAQ,mBAC3C,KAAC,WAAW,IAAC,KAAK,EAAC,WAAW,EAAC,KAAK,EAAC,IAAI,EAAC,KAAK,EAAC,OAAO,GAAG,EAE1D,KAAC,WAAW,IAAC,KAAK,EAAC,aAAa,EAAC,KAAK,EAAC,cAAc,GAAG,EAExD,KAAC,WAAW,IAAC,KAAK,EAAC,aAAa,EAAC,KAAK,EAAC,qBAAqB,GAAG,IAC3D,IACD,CACd,CAAC;AACN,CAAC,CAAC,CACL,CAAC"}
1
+ {"version":3,"sources":["../../../src/demo/state-caching/state-caching-table.tsx"],"sourcesContent":["import { Fragment, FC } from 'react';\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\nimport { observer } from 'mobx-react';\nimport { ButtonGroup, Button } from '@servicetitan/design-system';\nimport { Table, TableColumn } from '../..';\nimport { TableStore } from './state-caching-table.store';\n\nexport const TableStateCachingExample: FC = provide({\n singletons: [TableStore],\n})(\n observer(() => {\n const [{ tableState, showProducts, showBeverages }] = useDependencies(TableStore);\n\n return (\n <Fragment>\n <ButtonGroup className=\"m-b-2\">\n <Button small onClick={showProducts}>\n Show Products\n </Button>\n <Button small onClick={showBeverages}>\n Show Beverages\n </Button>\n </ButtonGroup>\n\n <Table tableState={tableState} striped sortable>\n <TableColumn field=\"ProductID\" title=\"ID\" width=\"100px\" />\n\n <TableColumn field=\"ProductName\" title=\"Product Name\" />\n\n <TableColumn field=\"Description\" title=\"Product Description\" />\n </Table>\n </Fragment>\n );\n })\n);\n"],"names":["Fragment","provide","useDependencies","observer","ButtonGroup","Button","Table","TableColumn","TableStore","TableStateCachingExample","singletons","tableState","showProducts","showBeverages","className","small","onClick","striped","sortable","field","title","width"],"mappings":";AAAA,SAASA,QAAQ,QAAY,QAAQ;AACrC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AACnE,SAASC,QAAQ,QAAQ,aAAa;AACtC,SAASC,WAAW,EAAEC,MAAM,QAAQ,8BAA8B;AAClE,SAASC,KAAK,EAAEC,WAAW,QAAQ,QAAQ;AAC3C,SAASC,UAAU,QAAQ,8BAA8B;AAEzD,OAAO,MAAMC,2BAA+BR,QAAQ;IAChDS,YAAY;QAACF;KAAW;AAC5B,GACIL,SAAS;IACL,MAAM,CAAC,EAAEQ,UAAU,EAAEC,YAAY,EAAEC,aAAa,EAAE,CAAC,GAAGX,gBAAgBM;IAEtE,qBACI,MAACR;;0BACG,MAACI;gBAAYU,WAAU;;kCACnB,KAACT;wBAAOU,KAAK;wBAACC,SAASJ;kCAAc;;kCAGrC,KAACP;wBAAOU,KAAK;wBAACC,SAASH;kCAAe;;;;0BAK1C,MAACP;gBAAMK,YAAYA;gBAAYM,OAAO;gBAACC,QAAQ;;kCAC3C,KAACX;wBAAYY,OAAM;wBAAYC,OAAM;wBAAKC,OAAM;;kCAEhD,KAACd;wBAAYY,OAAM;wBAAcC,OAAM;;kCAEvC,KAACb;wBAAYY,OAAM;wBAAcC,OAAM;;;;;;AAIvD,IACF"}