@servicetitan/table 31.2.0 → 32.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/demo/column-hiding/index.js +1 -0
- package/dist/demo/column-hiding/index.js.map +1 -1
- package/dist/demo/column-hiding/product.js +7 -6
- package/dist/demo/column-hiding/product.js.map +1 -1
- package/dist/demo/column-hiding/products.js +12 -11
- package/dist/demo/column-hiding/products.js.map +1 -1
- package/dist/demo/column-hiding/table.js +126 -32
- package/dist/demo/column-hiding/table.js.map +1 -1
- package/dist/demo/column-hiding/table.store.js +30 -27
- package/dist/demo/column-hiding/table.store.js.map +1 -1
- package/dist/demo/filters/async-select-filter.js +59 -12
- package/dist/demo/filters/async-select-filter.js.map +1 -1
- package/dist/demo/filters/categories.js +20 -16
- package/dist/demo/filters/categories.js.map +1 -1
- package/dist/demo/filters/multiselect-filter.js +37 -5
- package/dist/demo/filters/multiselect-filter.js.map +1 -1
- package/dist/demo/filters/range-filter.js +104 -10
- package/dist/demo/filters/range-filter.js.map +1 -1
- package/dist/demo/filters/select-filter.js +139 -41
- package/dist/demo/filters/select-filter.js.map +1 -1
- package/dist/demo/filters/single-select-filter.js +109 -18
- package/dist/demo/filters/single-select-filter.js.map +1 -1
- package/dist/demo/filters/table.store.js +77 -86
- package/dist/demo/filters/table.store.js.map +1 -1
- package/dist/demo/footer-page-size/index.js +1 -0
- package/dist/demo/footer-page-size/index.js.map +1 -1
- package/dist/demo/footer-page-size/table.js +82 -6
- package/dist/demo/footer-page-size/table.js.map +1 -1
- package/dist/demo/index.js +1 -0
- package/dist/demo/index.js.map +1 -1
- package/dist/demo/master-detail/detail-table.js +41 -9
- package/dist/demo/master-detail/detail-table.js.map +1 -1
- package/dist/demo/master-detail/detail-table.store.js +60 -56
- package/dist/demo/master-detail/detail-table.store.js.map +1 -1
- package/dist/demo/master-detail/index.js +1 -0
- package/dist/demo/master-detail/index.js.map +1 -1
- package/dist/demo/master-detail/master-table.store.js +65 -61
- package/dist/demo/master-detail/master-table.store.js.map +1 -1
- package/dist/demo/master-detail/product-detail.js +2 -1
- package/dist/demo/master-detail/product-detail.js.map +1 -1
- package/dist/demo/master-detail/product-details.js +10 -9
- package/dist/demo/master-detail/product-details.js.map +1 -1
- package/dist/demo/master-detail/product.js +7 -6
- package/dist/demo/master-detail/product.js.map +1 -1
- package/dist/demo/master-detail/products.js +12 -11
- package/dist/demo/master-detail/products.js.map +1 -1
- package/dist/demo/master-detail/table-master-detail.js +39 -8
- package/dist/demo/master-detail/table-master-detail.js.map +1 -1
- package/dist/demo/overview/actions-cell.js +47 -10
- package/dist/demo/overview/actions-cell.js.map +1 -1
- package/dist/demo/overview/index.js +1 -0
- package/dist/demo/overview/index.js.map +1 -1
- package/dist/demo/overview/product.js +7 -6
- package/dist/demo/overview/product.js.map +1 -1
- package/dist/demo/overview/products.js +15 -14
- package/dist/demo/overview/products.js.map +1 -1
- package/dist/demo/overview/table.js +176 -21
- package/dist/demo/overview/table.js.map +1 -1
- package/dist/demo/overview/table.store.js +45 -51
- package/dist/demo/overview/table.store.js.map +1 -1
- package/dist/demo/row-details/index.js +1 -0
- package/dist/demo/row-details/index.js.map +1 -1
- package/dist/demo/row-details/row-details-table.js +52 -5
- package/dist/demo/row-details/row-details-table.js.map +1 -1
- package/dist/demo/row-details/row-details-table.store.js +27 -19
- package/dist/demo/row-details/row-details-table.store.js.map +1 -1
- package/dist/demo/state-caching/beverages.js +11 -10
- package/dist/demo/state-caching/beverages.js.map +1 -1
- package/dist/demo/state-caching/index.js +1 -0
- package/dist/demo/state-caching/index.js.map +1 -1
- package/dist/demo/state-caching/product.js +2 -1
- package/dist/demo/state-caching/product.js.map +1 -1
- package/dist/demo/state-caching/products.js +12 -11
- package/dist/demo/state-caching/products.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.js +44 -3
- package/dist/demo/state-caching/state-caching-table.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.store.js +42 -54
- package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
- package/dist/details/expand-column.js +31 -7
- package/dist/details/expand-column.js.map +1 -1
- package/dist/details/index.js +1 -0
- package/dist/details/index.js.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.js +15 -4
- package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-action-cell.js +14 -7
- package/dist/editable-cell/get-action-cell.js.map +1 -1
- package/dist/editable-cell/get-editable-cell.js +16 -8
- package/dist/editable-cell/get-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.js +19 -5
- package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
- package/dist/editable-cell/index.js +1 -0
- package/dist/editable-cell/index.js.map +1 -1
- package/dist/editable-cell/text-editable-cell.js +23 -5
- package/dist/editable-cell/text-editable-cell.js.map +1 -1
- package/dist/export/export.js +38 -1
- package/dist/export/export.js.map +1 -1
- package/dist/export/export.module.css.d.ts +3 -0
- package/dist/export/index.js +1 -0
- package/dist/export/index.js.map +1 -1
- package/dist/filters/async-select/async-select-filter.js +167 -132
- package/dist/filters/async-select/async-select-filter.js.map +1 -1
- package/dist/filters/column-menu-filters.js +39 -8
- package/dist/filters/column-menu-filters.js.map +1 -1
- package/dist/filters/datetime-filter/datetime-filter.js +73 -50
- package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
- package/dist/filters/field-values-filter.js +80 -72
- package/dist/filters/field-values-filter.js.map +1 -1
- package/dist/filters/index.js +1 -0
- package/dist/filters/index.js.map +1 -1
- package/dist/filters/multiselect-filter/multiselect-filter.js +77 -73
- package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js +10 -3
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js +39 -16
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
- package/dist/filters/range-filter/range-filter.js +76 -72
- package/dist/filters/range-filter/range-filter.js.map +1 -1
- package/dist/filters/select-filter/object-search.js +4 -3
- package/dist/filters/select-filter/object-search.js.map +1 -1
- package/dist/filters/select-filter/operators.js +6 -5
- package/dist/filters/select-filter/operators.js.map +1 -1
- package/dist/filters/select-filter/select-filter.js +180 -145
- package/dist/filters/select-filter/select-filter.js.map +1 -1
- package/dist/filters/select-filter/value-getter.js +2 -1
- package/dist/filters/select-filter/value-getter.js.map +1 -1
- package/dist/filters/single-select/single-select-filter.js +29 -15
- package/dist/filters/single-select/single-select-filter.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js +114 -67
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.module.css.d.ts +7 -0
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js +10 -3
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js +77 -55
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js +23 -10
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
- package/dist/filters/time-filter/time-filter.js +63 -49
- package/dist/filters/time-filter/time-filter.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/select-cell/index.js +1 -0
- package/dist/select-cell/index.js.map +1 -1
- package/dist/select-cell/select-cell.js +36 -11
- package/dist/select-cell/select-cell.js.map +1 -1
- package/dist/select-cell/select-cell.module.css.d.ts +3 -0
- package/dist/table-state.js +479 -660
- package/dist/table-state.js.map +1 -1
- package/dist/table.js +235 -250
- package/dist/table.js.map +1 -1
- package/dist/table.module.css.d.ts +5 -0
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js +97 -5
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js +71 -97
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js.map +1 -1
- package/dist/use-observing-table-state/index.js +1 -0
- package/dist/use-observing-table-state/index.js.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.js +26 -20
- package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
- package/dist/utils/filters.js +14 -9
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/use-td-props.js +3 -2
- package/dist/utils/use-td-props.js.map +1 -1
- package/package.json +13 -13
- package/dist/filters/async-select/async-select-filter.stories.js +0 -7
- package/dist/filters/async-select/async-select-filter.stories.js.map +0 -1
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js +0 -7
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js.map +0 -1
- package/dist/filters/range-filter/range-filter.stories.js +0 -9
- package/dist/filters/range-filter/range-filter.stories.js.map +0 -1
- package/dist/filters/select-filter/__tests__/object-search.test.js +0 -28
- package/dist/filters/select-filter/__tests__/object-search.test.js.map +0 -1
- package/dist/filters/select-filter/select-filter.stories.js +0 -8
- package/dist/filters/select-filter/select-filter.stories.js.map +0 -1
- package/dist/filters/single-select/single-select-filter.stories.js +0 -8
- package/dist/filters/single-select/single-select-filter.stories.js.map +0 -1
- package/dist/table.stories.js +0 -12
- package/dist/table.stories.js.map +0 -1
- package/dist/use-observing-table-state/use-observing-table-state.stories.js +0 -11
- package/dist/use-observing-table-state/use-observing-table-state.stories.js.map +0 -1
- package/dist/utils/__tests__/filters.test.js +0 -24
- package/dist/utils/__tests__/filters.test.js.map +0 -1
@@ -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
|
-
|
1
|
+
function _define_property(obj, key, value) {
|
2
|
+
if (key in obj) {
|
3
|
+
Object.defineProperty(obj, key, {
|
4
|
+
value: value,
|
5
|
+
enumerable: true,
|
6
|
+
configurable: true,
|
7
|
+
writable: true
|
8
|
+
});
|
9
|
+
} else {
|
10
|
+
obj[key] = value;
|
11
|
+
}
|
12
|
+
return obj;
|
13
|
+
}
|
14
|
+
function _ts_decorate(decorators, target, key, desc) {
|
2
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
16
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
-
else for
|
17
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
18
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
-
}
|
7
|
-
|
19
|
+
}
|
20
|
+
function _ts_metadata(k, v) {
|
8
21
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
9
|
-
}
|
22
|
+
}
|
10
23
|
import { injectable } from '@servicetitan/react-ioc';
|
11
24
|
import { 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
|
-
|
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)
|
57
|
-
AvailableFor: (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
|
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
|
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
|
-
|
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
|
-
|
86
|
-
|
78
|
+
_ts_metadata("design:type", void 0),
|
79
|
+
_ts_metadata("design:paramtypes", [])
|
87
80
|
], TableStore.prototype, "inEdit", null);
|
88
|
-
TableStore =
|
81
|
+
TableStore = _ts_decorate([
|
89
82
|
injectable(),
|
90
|
-
|
83
|
+
_ts_metadata("design:type", Function),
|
84
|
+
_ts_metadata("design:paramtypes", [])
|
91
85
|
], TableStore);
|
92
|
-
|
86
|
+
|
93
87
|
//# sourceMappingURL=table.store.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
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 +1 @@
|
|
1
|
-
{"version":3,"
|
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
|
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: [
|
13
|
-
|
28
|
+
singletons: [
|
29
|
+
RowDetailsTableStore
|
30
|
+
]
|
31
|
+
})(observer(()=>{
|
14
32
|
const [{ tableState }] = useDependencies(RowDetailsTableStore);
|
15
33
|
const expandColumn = useRowExpandColumn();
|
16
|
-
return
|
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,"
|
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
|
-
|
1
|
+
function _define_property(obj, key, value) {
|
2
|
+
if (key in obj) {
|
3
|
+
Object.defineProperty(obj, key, {
|
4
|
+
value: value,
|
5
|
+
enumerable: true,
|
6
|
+
configurable: true,
|
7
|
+
writable: true
|
8
|
+
});
|
9
|
+
} else {
|
10
|
+
obj[key] = value;
|
11
|
+
}
|
12
|
+
return obj;
|
13
|
+
}
|
14
|
+
function _ts_decorate(decorators, target, key, desc) {
|
2
15
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
3
16
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
4
|
-
else for
|
17
|
+
else for(var i = decorators.length - 1; i >= 0; i--)if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
5
18
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
6
|
-
}
|
19
|
+
}
|
7
20
|
import { injectable } from '@servicetitan/react-ioc';
|
8
21
|
import { InMemoryDataSource, TableState } from '../..';
|
9
22
|
import { products } from '../overview/products';
|
10
|
-
|
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
|
-
|
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
|
-
|
41
|
+
|
34
42
|
//# sourceMappingURL=row-details-table.store.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
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,"
|
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 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/state-caching/index.ts"],"sourcesContent":["export * from './state-caching-table';\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
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,"
|
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: [
|
10
|
-
|
9
|
+
singletons: [
|
10
|
+
TableStore
|
11
|
+
]
|
12
|
+
})(observer(()=>{
|
11
13
|
const [{ tableState, showProducts, showBeverages }] = useDependencies(TableStore);
|
12
|
-
return
|
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,"
|
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"}
|