@servicetitan/table 31.1.0 → 31.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/demo/column-hiding/index.js +1 -0
- package/dist/demo/column-hiding/index.js.map +1 -1
- package/dist/demo/column-hiding/product.js +7 -6
- package/dist/demo/column-hiding/product.js.map +1 -1
- package/dist/demo/column-hiding/products.js +12 -11
- package/dist/demo/column-hiding/products.js.map +1 -1
- package/dist/demo/column-hiding/table.js +126 -32
- package/dist/demo/column-hiding/table.js.map +1 -1
- package/dist/demo/column-hiding/table.store.js +30 -27
- package/dist/demo/column-hiding/table.store.js.map +1 -1
- package/dist/demo/filters/async-select-filter.js +59 -12
- package/dist/demo/filters/async-select-filter.js.map +1 -1
- package/dist/demo/filters/categories.js +20 -16
- package/dist/demo/filters/categories.js.map +1 -1
- package/dist/demo/filters/multiselect-filter.js +37 -5
- package/dist/demo/filters/multiselect-filter.js.map +1 -1
- package/dist/demo/filters/range-filter.js +104 -10
- package/dist/demo/filters/range-filter.js.map +1 -1
- package/dist/demo/filters/select-filter.js +139 -41
- package/dist/demo/filters/select-filter.js.map +1 -1
- package/dist/demo/filters/single-select-filter.js +109 -18
- package/dist/demo/filters/single-select-filter.js.map +1 -1
- package/dist/demo/filters/table.store.js +77 -86
- package/dist/demo/filters/table.store.js.map +1 -1
- package/dist/demo/footer-page-size/index.js +1 -0
- package/dist/demo/footer-page-size/index.js.map +1 -1
- package/dist/demo/footer-page-size/table.js +82 -6
- package/dist/demo/footer-page-size/table.js.map +1 -1
- package/dist/demo/index.js +1 -0
- package/dist/demo/index.js.map +1 -1
- package/dist/demo/master-detail/detail-table.js +41 -9
- package/dist/demo/master-detail/detail-table.js.map +1 -1
- package/dist/demo/master-detail/detail-table.store.js +60 -56
- package/dist/demo/master-detail/detail-table.store.js.map +1 -1
- package/dist/demo/master-detail/index.js +1 -0
- package/dist/demo/master-detail/index.js.map +1 -1
- package/dist/demo/master-detail/master-table.store.js +65 -61
- package/dist/demo/master-detail/master-table.store.js.map +1 -1
- package/dist/demo/master-detail/product-detail.js +2 -1
- package/dist/demo/master-detail/product-detail.js.map +1 -1
- package/dist/demo/master-detail/product-details.js +10 -9
- package/dist/demo/master-detail/product-details.js.map +1 -1
- package/dist/demo/master-detail/product.js +7 -6
- package/dist/demo/master-detail/product.js.map +1 -1
- package/dist/demo/master-detail/products.js +12 -11
- package/dist/demo/master-detail/products.js.map +1 -1
- package/dist/demo/master-detail/table-master-detail.js +39 -8
- package/dist/demo/master-detail/table-master-detail.js.map +1 -1
- package/dist/demo/overview/actions-cell.js +47 -10
- package/dist/demo/overview/actions-cell.js.map +1 -1
- package/dist/demo/overview/index.js +1 -0
- package/dist/demo/overview/index.js.map +1 -1
- package/dist/demo/overview/product.js +7 -6
- package/dist/demo/overview/product.js.map +1 -1
- package/dist/demo/overview/products.js +15 -14
- package/dist/demo/overview/products.js.map +1 -1
- package/dist/demo/overview/table.js +176 -21
- package/dist/demo/overview/table.js.map +1 -1
- package/dist/demo/overview/table.store.js +45 -51
- package/dist/demo/overview/table.store.js.map +1 -1
- package/dist/demo/row-details/index.js +1 -0
- package/dist/demo/row-details/index.js.map +1 -1
- package/dist/demo/row-details/row-details-table.js +52 -5
- package/dist/demo/row-details/row-details-table.js.map +1 -1
- package/dist/demo/row-details/row-details-table.store.js +27 -19
- package/dist/demo/row-details/row-details-table.store.js.map +1 -1
- package/dist/demo/state-caching/beverages.js +11 -10
- package/dist/demo/state-caching/beverages.js.map +1 -1
- package/dist/demo/state-caching/index.js +1 -0
- package/dist/demo/state-caching/index.js.map +1 -1
- package/dist/demo/state-caching/product.js +2 -1
- package/dist/demo/state-caching/product.js.map +1 -1
- package/dist/demo/state-caching/products.js +12 -11
- package/dist/demo/state-caching/products.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.js +44 -3
- package/dist/demo/state-caching/state-caching-table.js.map +1 -1
- package/dist/demo/state-caching/state-caching-table.store.js +42 -54
- package/dist/demo/state-caching/state-caching-table.store.js.map +1 -1
- package/dist/details/expand-column.js +31 -7
- package/dist/details/expand-column.js.map +1 -1
- package/dist/details/index.js +1 -0
- package/dist/details/index.js.map +1 -1
- package/dist/editable-cell/boolean-editable-cell.js +15 -4
- package/dist/editable-cell/boolean-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-action-cell.js +14 -7
- package/dist/editable-cell/get-action-cell.js.map +1 -1
- package/dist/editable-cell/get-editable-cell.js +16 -8
- package/dist/editable-cell/get-editable-cell.js.map +1 -1
- package/dist/editable-cell/get-select-editable-cell.js +19 -5
- package/dist/editable-cell/get-select-editable-cell.js.map +1 -1
- package/dist/editable-cell/index.js +1 -0
- package/dist/editable-cell/index.js.map +1 -1
- package/dist/editable-cell/text-editable-cell.js +23 -5
- package/dist/editable-cell/text-editable-cell.js.map +1 -1
- package/dist/export/export.js +38 -1
- package/dist/export/export.js.map +1 -1
- package/dist/export/export.module.css.d.ts +3 -0
- package/dist/export/index.js +1 -0
- package/dist/export/index.js.map +1 -1
- package/dist/filters/async-select/async-select-filter.js +167 -132
- package/dist/filters/async-select/async-select-filter.js.map +1 -1
- package/dist/filters/column-menu-filters.js +39 -8
- package/dist/filters/column-menu-filters.js.map +1 -1
- package/dist/filters/datetime-filter/datetime-filter.js +73 -50
- package/dist/filters/datetime-filter/datetime-filter.js.map +1 -1
- package/dist/filters/field-values-filter.js +80 -72
- package/dist/filters/field-values-filter.js.map +1 -1
- package/dist/filters/index.js +1 -0
- package/dist/filters/index.js.map +1 -1
- package/dist/filters/multiselect-filter/multiselect-filter.js +77 -73
- package/dist/filters/multiselect-filter/multiselect-filter.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js +10 -3
- package/dist/filters/numeric-filter-extended/numeric-extended-operators.js.map +1 -1
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js +39 -16
- package/dist/filters/numeric-filter-extended/numeric-filter-extended.js.map +1 -1
- package/dist/filters/range-filter/range-filter.js +76 -72
- package/dist/filters/range-filter/range-filter.js.map +1 -1
- package/dist/filters/select-filter/object-search.js +4 -3
- package/dist/filters/select-filter/object-search.js.map +1 -1
- package/dist/filters/select-filter/operators.js +6 -5
- package/dist/filters/select-filter/operators.js.map +1 -1
- package/dist/filters/select-filter/select-filter.js +180 -145
- package/dist/filters/select-filter/select-filter.js.map +1 -1
- package/dist/filters/select-filter/value-getter.js +2 -1
- package/dist/filters/select-filter/value-getter.js.map +1 -1
- package/dist/filters/single-select/single-select-filter.js +29 -15
- package/dist/filters/single-select/single-select-filter.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js +114 -67
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/filter-cell-ext.module.css.d.ts +7 -0
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js +10 -3
- package/dist/filters/standard-filter-with-multiselect/multiselect-operators.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js +77 -55
- package/dist/filters/standard-filter-with-multiselect/standard-filter-with-multiselect.js.map +1 -1
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js +23 -10
- package/dist/filters/standard-filter-with-multiselect/table-column-menu-filter-ext.js.map +1 -1
- package/dist/filters/time-filter/time-filter.js +63 -49
- package/dist/filters/time-filter/time-filter.js.map +1 -1
- package/dist/index.js +4 -2
- package/dist/index.js.map +1 -1
- package/dist/select-cell/index.js +1 -0
- package/dist/select-cell/index.js.map +1 -1
- package/dist/select-cell/select-cell.js +36 -11
- package/dist/select-cell/select-cell.js.map +1 -1
- package/dist/select-cell/select-cell.module.css.d.ts +3 -0
- package/dist/table-state.js +479 -660
- package/dist/table-state.js.map +1 -1
- package/dist/table.js +235 -250
- package/dist/table.js.map +1 -1
- package/dist/table.module.css.d.ts +5 -0
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js +97 -5
- package/dist/use-observing-table-state/demo/components/use-observing-table-state-demo.js.map +1 -1
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js +71 -97
- package/dist/use-observing-table-state/demo/stores/use-observing-table-state-demo.store.js.map +1 -1
- package/dist/use-observing-table-state/index.js +1 -0
- package/dist/use-observing-table-state/index.js.map +1 -1
- package/dist/use-observing-table-state/use-observing-table-state.js +26 -20
- package/dist/use-observing-table-state/use-observing-table-state.js.map +1 -1
- package/dist/utils/filters.js +14 -9
- package/dist/utils/filters.js.map +1 -1
- package/dist/utils/use-td-props.js +3 -2
- package/dist/utils/use-td-props.js.map +1 -1
- package/package.json +13 -13
- package/dist/filters/async-select/async-select-filter.stories.js +0 -7
- package/dist/filters/async-select/async-select-filter.stories.js.map +0 -1
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js +0 -7
- package/dist/filters/multiselect-filter/multiselect-filter.stories.js.map +0 -1
- package/dist/filters/range-filter/range-filter.stories.js +0 -9
- package/dist/filters/range-filter/range-filter.stories.js.map +0 -1
- package/dist/filters/select-filter/__tests__/object-search.test.js +0 -28
- package/dist/filters/select-filter/__tests__/object-search.test.js.map +0 -1
- package/dist/filters/select-filter/select-filter.stories.js +0 -8
- package/dist/filters/select-filter/select-filter.stories.js.map +0 -1
- package/dist/filters/single-select/single-select-filter.stories.js +0 -8
- package/dist/filters/single-select/single-select-filter.stories.js.map +0 -1
- package/dist/table.stories.js +0 -12
- package/dist/table.stories.js.map +0 -1
- package/dist/use-observing-table-state/use-observing-table-state.stories.js +0 -11
- package/dist/use-observing-table-state/use-observing-table-state.stories.js.map +0 -1
- package/dist/utils/__tests__/filters.test.js +0 -24
- package/dist/utils/__tests__/filters.test.js.map +0 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.tsx"],"sourcesContent":["import { useEffect, FC } from 'react';\n\nimport { provide, useDependencies } from '@servicetitan/react-ioc';\n\nimport { observer } from 'mobx-react';\n\nimport { Icon, Checkbox, CheckboxProps } from '@servicetitan/design-system';\n\nimport { Table, TableColumn, TableDetailRowProps } from '../..';\n\nimport { DetailTableStore } from './detail-table.store';\n\nexport const DetailTable: FC<TableDetailRowProps> = provide({\n singletons: [DetailTableStore],\n})(\n observer(({ dataItem }) => {\n const [store] = useDependencies(DetailTableStore);\n\n useEffect(() => {\n store.initialize(dataItem);\n return () => store.dispose();\n }, [store, dataItem]);\n\n if (!store.tableState) {\n return null;\n }\n\n return (\n <Table\n selectable\n hideSelectAll\n tableState={store.tableState}\n selectionControl={LockFieldIcon}\n >\n <TableColumn field=\"Field\" />\n\n <TableColumn field=\"OldValue\" />\n\n <TableColumn field=\"NewValue\" />\n </Table>\n );\n })\n);\n\nconst LockFieldIcon: FC<CheckboxProps<never>> = props => {\n const { checked, disabled } = props;\n\n if (!disabled) {\n return <Checkbox {...props} />;\n }\n\n return (\n <div>\n {checked ? (\n <Icon name=\"check\" className=\"c-blue-300\" />\n ) : (\n <Icon name=\"remove\" className=\"c-neutral-70\" />\n )}\n </div>\n );\n};\n"],"names":["useEffect","provide","useDependencies","observer","Icon","Checkbox","Table","TableColumn","DetailTableStore","DetailTable","singletons","dataItem","store","initialize","dispose","tableState","selectable","hideSelectAll","selectionControl","LockFieldIcon","field","props","checked","disabled","div","name","className"],"mappings":";AAAA,SAASA,SAAS,QAAY,QAAQ;AAEtC,SAASC,OAAO,EAAEC,eAAe,QAAQ,0BAA0B;AAEnE,SAASC,QAAQ,QAAQ,aAAa;AAEtC,SAASC,IAAI,EAAEC,QAAQ,QAAuB,8BAA8B;AAE5E,SAASC,KAAK,EAAEC,WAAW,QAA6B,QAAQ;AAEhE,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,OAAO,MAAMC,cAAuCR,QAAQ;IACxDS,YAAY;QAACF;KAAiB;AAClC,GACIL,SAAS,CAAC,EAAEQ,QAAQ,EAAE;IAClB,MAAM,CAACC,MAAM,GAAGV,gBAAgBM;IAEhCR,UAAU;QACNY,MAAMC,UAAU,CAACF;QACjB,OAAO,IAAMC,MAAME,OAAO;IAC9B,GAAG;QAACF;QAAOD;KAAS;IAEpB,IAAI,CAACC,MAAMG,UAAU,EAAE;QACnB,OAAO;IACX;IAEA,qBACI,MAACT;QACGU,UAAU;QACVC,aAAa;QACbF,YAAYH,MAAMG,UAAU;QAC5BG,kBAAkBC;;0BAElB,KAACZ;gBAAYa,OAAM;;0BAEnB,KAACb;gBAAYa,OAAM;;0BAEnB,KAACb;gBAAYa,OAAM;;;;AAG/B,IACF;AAEF,MAAMD,gBAA0CE,CAAAA;IAC5C,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAE,GAAGF;IAE9B,IAAI,CAACE,UAAU;QACX,qBAAO,KAAClB;YAAU,GAAGgB,KAAK;;IAC9B;IAEA,qBACI,KAACG;kBACIF,wBACG,KAAClB;YAAKqB,MAAK;YAAQC,WAAU;2BAE7B,KAACtB;YAAKqB,MAAK;YAASC,WAAU;;;AAI9C"}
|
@@ -1,50 +1,35 @@
|
|
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, inject } from '@servicetitan/react-ioc';
|
11
24
|
import { observable, action, observe, computed, makeObservable } from 'mobx';
|
12
25
|
import { TableState } from '../..';
|
13
26
|
import { MasterTableStore } from './master-table.store';
|
14
|
-
|
27
|
+
import { Product } from './product';
|
28
|
+
export class DetailTableStore {
|
15
29
|
get selected() {
|
16
|
-
var
|
17
|
-
|
18
|
-
|
19
|
-
constructor() {
|
20
|
-
Object.defineProperty(this, "tableState", {
|
21
|
-
enumerable: true,
|
22
|
-
configurable: true,
|
23
|
-
writable: true,
|
24
|
-
value: void 0
|
25
|
-
});
|
26
|
-
/*
|
27
|
-
* Please use constructor injection instead.
|
28
|
-
* Injecting without constructor only to make it work in Codesandbox.
|
29
|
-
*/
|
30
|
-
Object.defineProperty(this, "masterTableStore", {
|
31
|
-
enumerable: true,
|
32
|
-
configurable: true,
|
33
|
-
writable: true,
|
34
|
-
value: void 0
|
35
|
-
});
|
36
|
-
Object.defineProperty(this, "disposeSelectedObserve", {
|
37
|
-
enumerable: true,
|
38
|
-
configurable: true,
|
39
|
-
writable: true,
|
40
|
-
value: void 0
|
41
|
-
});
|
42
|
-
makeObservable(this);
|
43
|
-
this.disposeSelectedObserve = observe(this, 'selected', ({ oldValue, newValue }) => {
|
44
|
-
if (!oldValue && newValue) {
|
45
|
-
this.setLockedRowsSelection(true);
|
46
|
-
}
|
47
|
-
});
|
30
|
+
var _this_tableState;
|
31
|
+
var _this_tableState_selectedIds_size;
|
32
|
+
return (_this_tableState_selectedIds_size = (_this_tableState = this.tableState) === null || _this_tableState === void 0 ? void 0 : _this_tableState.selectedIds.size) !== null && _this_tableState_selectedIds_size !== void 0 ? _this_tableState_selectedIds_size : 0;
|
48
33
|
}
|
49
34
|
initialize(row) {
|
50
35
|
this.tableState = this.masterTableStore.tableState.getDetailTableState(row);
|
@@ -60,34 +45,53 @@ let DetailTableStore = class DetailTableStore {
|
|
60
45
|
return;
|
61
46
|
}
|
62
47
|
const filteredData = (await this.tableState.dataSource.getData({
|
63
|
-
filter: this.tableState.filter
|
48
|
+
filter: this.tableState.filter
|
64
49
|
})).data;
|
65
|
-
const lockedData = filteredData.filter(row
|
66
|
-
this.tableState.setRowsSelection(lockedData, value, {
|
50
|
+
const lockedData = filteredData.filter((row)=>this.tableState.isRowUnselectable(row));
|
51
|
+
this.tableState.setRowsSelection(lockedData, value, {
|
52
|
+
ignoreUnselectable: false
|
53
|
+
});
|
54
|
+
}
|
55
|
+
constructor(){
|
56
|
+
_define_property(this, "tableState", void 0);
|
57
|
+
/*
|
58
|
+
* Please use constructor injection instead.
|
59
|
+
* Injecting without constructor only to make it work in Codesandbox.
|
60
|
+
*/ _define_property(this, "masterTableStore", void 0);
|
61
|
+
_define_property(this, "disposeSelectedObserve", void 0);
|
62
|
+
makeObservable(this);
|
63
|
+
this.disposeSelectedObserve = observe(this, 'selected', ({ oldValue, newValue })=>{
|
64
|
+
if (!oldValue && newValue) {
|
65
|
+
this.setLockedRowsSelection(true);
|
66
|
+
}
|
67
|
+
});
|
67
68
|
}
|
68
|
-
}
|
69
|
-
|
69
|
+
}
|
70
|
+
_ts_decorate([
|
70
71
|
observable,
|
71
|
-
|
72
|
+
_ts_metadata("design:type", typeof TableState === "undefined" ? Object : TableState)
|
72
73
|
], DetailTableStore.prototype, "tableState", void 0);
|
73
|
-
|
74
|
+
_ts_decorate([
|
74
75
|
inject(MasterTableStore),
|
75
|
-
|
76
|
+
_ts_metadata("design:type", typeof MasterTableStore === "undefined" ? Object : MasterTableStore)
|
76
77
|
], DetailTableStore.prototype, "masterTableStore", void 0);
|
77
|
-
|
78
|
+
_ts_decorate([
|
78
79
|
computed,
|
79
|
-
|
80
|
-
|
80
|
+
_ts_metadata("design:type", void 0),
|
81
|
+
_ts_metadata("design:paramtypes", [])
|
81
82
|
], DetailTableStore.prototype, "selected", null);
|
82
|
-
|
83
|
+
_ts_decorate([
|
83
84
|
action,
|
84
|
-
|
85
|
-
|
86
|
-
|
85
|
+
_ts_metadata("design:type", Function),
|
86
|
+
_ts_metadata("design:paramtypes", [
|
87
|
+
typeof Product === "undefined" ? Object : Product
|
88
|
+
]),
|
89
|
+
_ts_metadata("design:returntype", void 0)
|
87
90
|
], DetailTableStore.prototype, "initialize", null);
|
88
|
-
DetailTableStore =
|
91
|
+
DetailTableStore = _ts_decorate([
|
89
92
|
injectable(),
|
90
|
-
|
93
|
+
_ts_metadata("design:type", Function),
|
94
|
+
_ts_metadata("design:paramtypes", [])
|
91
95
|
], DetailTableStore);
|
92
|
-
|
96
|
+
|
93
97
|
//# sourceMappingURL=detail-table.store.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/detail-table.store.ts"],"sourcesContent":["import { injectable, inject } from '@servicetitan/react-ioc';\n\nimport { observable, action, observe, computed, Lambda, makeObservable } from 'mobx';\n\nimport { TableState } from '../..';\n\nimport { MasterTableStore } from './master-table.store';\n\nimport { Product } from './product';\nimport { ProductDetail } from './product-detail';\n\n@injectable()\nexport class DetailTableStore {\n @observable tableState?: TableState<ProductDetail, string, Product, number>;\n\n /*\n * Please use constructor injection instead.\n * Injecting without constructor only to make it work in Codesandbox.\n */\n @inject(MasterTableStore)\n private masterTableStore!: MasterTableStore;\n\n @computed get selected() {\n return this.tableState?.selectedIds.size ?? 0;\n }\n\n private disposeSelectedObserve: Lambda;\n\n constructor() {\n makeObservable(this);\n\n this.disposeSelectedObserve = observe(this, 'selected', ({ oldValue, newValue }) => {\n if (!oldValue && newValue) {\n this.setLockedRowsSelection(true);\n }\n });\n }\n\n @action\n initialize(row: Product) {\n this.tableState = this.masterTableStore.tableState.getDetailTableState!(row) as TableState<\n ProductDetail,\n string,\n Product,\n number\n >;\n }\n\n dispose() {\n this.disposeSelectedObserve();\n }\n\n private async setLockedRowsSelection(value: boolean) {\n if (!this.tableState) {\n return;\n }\n\n if (!this.tableState.dataSource) {\n return;\n }\n\n const filteredData = (\n await this.tableState.dataSource.getData({\n filter: this.tableState.filter,\n })\n ).data as ProductDetail[];\n\n const lockedData = filteredData.filter(row => this.tableState!.isRowUnselectable(row));\n\n this.tableState.setRowsSelection(lockedData, value, { ignoreUnselectable: false });\n }\n}\n"],"names":["injectable","inject","observable","action","observe","computed","makeObservable","TableState","MasterTableStore","Product","DetailTableStore","selected","tableState","selectedIds","size","initialize","row","masterTableStore","getDetailTableState","dispose","disposeSelectedObserve","setLockedRowsSelection","value","dataSource","filteredData","getData","filter","data","lockedData","isRowUnselectable","setRowsSelection","ignoreUnselectable","constructor","oldValue","newValue"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,EAAEC,MAAM,QAAQ,0BAA0B;AAE7D,SAASC,UAAU,EAAEC,MAAM,EAAEC,OAAO,EAAEC,QAAQ,EAAUC,cAAc,QAAQ,OAAO;AAErF,SAASC,UAAU,QAAQ,QAAQ;AAEnC,SAASC,gBAAgB,QAAQ,uBAAuB;AAExD,SAASC,OAAO,QAAQ,YAAY;AAIpC,OAAO,MAAMC;IAUT,IAAcC,WAAW;YACd;YAAA;QAAP,OAAO,CAAA,qCAAA,mBAAA,IAAI,CAACC,UAAU,cAAf,uCAAA,iBAAiBC,WAAW,CAACC,IAAI,cAAjC,+CAAA,oCAAqC;IAChD;IAeAC,WAAWC,GAAY,EAAE;QACrB,IAAI,CAACJ,UAAU,GAAG,IAAI,CAACK,gBAAgB,CAACL,UAAU,CAACM,mBAAmB,CAAEF;IAM5E;IAEAG,UAAU;QACN,IAAI,CAACC,sBAAsB;IAC/B;IAEA,MAAcC,uBAAuBC,KAAc,EAAE;QACjD,IAAI,CAAC,IAAI,CAACV,UAAU,EAAE;YAClB;QACJ;QAEA,IAAI,CAAC,IAAI,CAACA,UAAU,CAACW,UAAU,EAAE;YAC7B;QACJ;QAEA,MAAMC,eAAe,AACjB,CAAA,MAAM,IAAI,CAACZ,UAAU,CAACW,UAAU,CAACE,OAAO,CAAC;YACrCC,QAAQ,IAAI,CAACd,UAAU,CAACc,MAAM;QAClC,EAAC,EACHC,IAAI;QAEN,MAAMC,aAAaJ,aAAaE,MAAM,CAACV,CAAAA,MAAO,IAAI,CAACJ,UAAU,CAAEiB,iBAAiB,CAACb;QAEjF,IAAI,CAACJ,UAAU,CAACkB,gBAAgB,CAACF,YAAYN,OAAO;YAAES,oBAAoB;QAAM;IACpF;IA1CAC,aAAc;QAfd,uBAAYpB,cAAZ,KAAA;QAEA;;;KAGC,GACD,uBACQK,oBADR,KAAA;QAOA,uBAAQG,0BAAR,KAAA;QAGId,eAAe,IAAI;QAEnB,IAAI,CAACc,sBAAsB,GAAGhB,QAAQ,IAAI,EAAE,YAAY,CAAC,EAAE6B,QAAQ,EAAEC,QAAQ,EAAE;YAC3E,IAAI,CAACD,YAAYC,UAAU;gBACvB,IAAI,CAACb,sBAAsB,CAAC;YAChC;QACJ;IACJ;AAmCJ"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/index.ts"],"sourcesContent":["export * from './table-master-detail';\n"],"names":[],"mappings":"AAAA,cAAc,wBAAwB"}
|
@@ -1,60 +1,34 @@
|
|
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, observe, makeObservable } from 'mobx';
|
12
25
|
import { InMemoryDataSource, TableState } from '../..';
|
13
26
|
import { products } from './products';
|
14
27
|
import { productDetails } from './product-details';
|
15
|
-
|
28
|
+
export class MasterTableStore {
|
16
29
|
get selectedIds() {
|
17
30
|
return Array.from(this.tableState.selectedIds);
|
18
31
|
}
|
19
|
-
constructor() {
|
20
|
-
Object.defineProperty(this, "tableState", {
|
21
|
-
enumerable: true,
|
22
|
-
configurable: true,
|
23
|
-
writable: true,
|
24
|
-
value: new TableState({
|
25
|
-
dataSource: new InMemoryDataSource(products, row => row.ProductID),
|
26
|
-
getDetailTableState: row => this.getDetailTableState(row),
|
27
|
-
})
|
28
|
-
});
|
29
|
-
Object.defineProperty(this, "details", {
|
30
|
-
enumerable: true,
|
31
|
-
configurable: true,
|
32
|
-
writable: true,
|
33
|
-
value: new Map()
|
34
|
-
});
|
35
|
-
Object.defineProperty(this, "disposeSelectedIdsObserve", {
|
36
|
-
enumerable: true,
|
37
|
-
configurable: true,
|
38
|
-
writable: true,
|
39
|
-
value: void 0
|
40
|
-
});
|
41
|
-
makeObservable(this);
|
42
|
-
this.disposeSelectedIdsObserve = observe(this, 'selectedIds', change => {
|
43
|
-
const { oldValue = [], newValue } = change;
|
44
|
-
const before = new Set(oldValue);
|
45
|
-
const after = new Set(newValue);
|
46
|
-
for (const id of oldValue) {
|
47
|
-
if (!after.has(id)) {
|
48
|
-
this.setDetailSelection(id, false);
|
49
|
-
}
|
50
|
-
}
|
51
|
-
for (const id of newValue) {
|
52
|
-
if (!before.has(id)) {
|
53
|
-
this.setDetailSelection(id, true);
|
54
|
-
}
|
55
|
-
}
|
56
|
-
});
|
57
|
-
}
|
58
32
|
dispose() {
|
59
33
|
this.disposeSelectedIdsObserve();
|
60
34
|
}
|
@@ -64,12 +38,12 @@ let MasterTableStore = class MasterTableStore {
|
|
64
38
|
return this.details.get(id);
|
65
39
|
}
|
66
40
|
const detailTableState = new TableState({
|
67
|
-
dataSource: new InMemoryDataSource(productDetails.filter(x
|
68
|
-
isRowUnselectable: row
|
41
|
+
dataSource: new InMemoryDataSource(productDetails.filter((x)=>x.ProductID === id), (row)=>row.Field),
|
42
|
+
isRowUnselectable: (row)=>!!row.IsLocked,
|
69
43
|
parent: {
|
70
44
|
row,
|
71
|
-
tableState: this.tableState
|
72
|
-
}
|
45
|
+
tableState: this.tableState
|
46
|
+
}
|
73
47
|
});
|
74
48
|
if (this.tableState.selectedIds.has(id)) {
|
75
49
|
detailTableState.selectAll();
|
@@ -78,26 +52,56 @@ let MasterTableStore = class MasterTableStore {
|
|
78
52
|
return detailTableState;
|
79
53
|
}
|
80
54
|
setDetailSelection(id, value) {
|
81
|
-
const detail = this.tableState.getDetailTableState({
|
55
|
+
const detail = this.tableState.getDetailTableState({
|
56
|
+
ProductID: id
|
57
|
+
});
|
82
58
|
if (!(detail === null || detail === void 0 ? void 0 : detail.totalCount)) {
|
83
59
|
return;
|
84
60
|
}
|
85
61
|
if (value) {
|
86
|
-
detail.selectAll({
|
87
|
-
|
88
|
-
|
89
|
-
|
62
|
+
detail.selectAll({
|
63
|
+
ignoreUnselectable: false
|
64
|
+
});
|
65
|
+
} else if (!detail.isSomePageRowsSelected) {
|
66
|
+
detail.deselectAll({
|
67
|
+
ignoreUnselectable: false
|
68
|
+
});
|
90
69
|
}
|
91
70
|
}
|
92
|
-
|
93
|
-
|
71
|
+
constructor(){
|
72
|
+
_define_property(this, "tableState", new TableState({
|
73
|
+
dataSource: new InMemoryDataSource(products, (row)=>row.ProductID),
|
74
|
+
getDetailTableState: (row)=>this.getDetailTableState(row)
|
75
|
+
}));
|
76
|
+
_define_property(this, "details", new Map());
|
77
|
+
_define_property(this, "disposeSelectedIdsObserve", void 0);
|
78
|
+
makeObservable(this);
|
79
|
+
this.disposeSelectedIdsObserve = observe(this, 'selectedIds', (change)=>{
|
80
|
+
const { oldValue = [], newValue } = change;
|
81
|
+
const before = new Set(oldValue);
|
82
|
+
const after = new Set(newValue);
|
83
|
+
for (const id of oldValue){
|
84
|
+
if (!after.has(id)) {
|
85
|
+
this.setDetailSelection(id, false);
|
86
|
+
}
|
87
|
+
}
|
88
|
+
for (const id of newValue){
|
89
|
+
if (!before.has(id)) {
|
90
|
+
this.setDetailSelection(id, true);
|
91
|
+
}
|
92
|
+
}
|
93
|
+
});
|
94
|
+
}
|
95
|
+
}
|
96
|
+
_ts_decorate([
|
94
97
|
computed,
|
95
|
-
|
96
|
-
|
98
|
+
_ts_metadata("design:type", void 0),
|
99
|
+
_ts_metadata("design:paramtypes", [])
|
97
100
|
], MasterTableStore.prototype, "selectedIds", null);
|
98
|
-
MasterTableStore =
|
101
|
+
MasterTableStore = _ts_decorate([
|
99
102
|
injectable(),
|
100
|
-
|
103
|
+
_ts_metadata("design:type", Function),
|
104
|
+
_ts_metadata("design:paramtypes", [])
|
101
105
|
], MasterTableStore);
|
102
|
-
|
106
|
+
|
103
107
|
//# sourceMappingURL=master-table.store.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/master-table.store.ts"],"sourcesContent":["import { injectable } from '@servicetitan/react-ioc';\n\nimport { computed, observe, Lambda, makeObservable } from 'mobx';\n\nimport { InMemoryDataSource, TableState } from '../..';\n\nimport { Product } from './product';\nimport { products } from './products';\n\nimport { ProductDetail } from './product-detail';\nimport { productDetails } from './product-details';\n\n@injectable()\nexport class MasterTableStore {\n tableState: TableState<Product, number> = new TableState({\n dataSource: new InMemoryDataSource(products, row => row.ProductID),\n getDetailTableState: row => this.getDetailTableState(row),\n });\n\n details = new Map<number, TableState<ProductDetail, string, Product, number>>();\n\n @computed get selectedIds() {\n return Array.from(this.tableState.selectedIds);\n }\n\n private disposeSelectedIdsObserve: Lambda;\n\n constructor() {\n makeObservable(this);\n\n this.disposeSelectedIdsObserve = observe(this, 'selectedIds', change => {\n const { oldValue = [], newValue } = change as {\n oldValue: number[];\n newValue: number[];\n };\n\n const before = new Set(oldValue);\n const after = new Set(newValue);\n\n for (const id of oldValue) {\n if (!after.has(id)) {\n this.setDetailSelection(id, false);\n }\n }\n\n for (const id of newValue) {\n if (!before.has(id)) {\n this.setDetailSelection(id, true);\n }\n }\n });\n }\n\n dispose() {\n this.disposeSelectedIdsObserve();\n }\n\n private getDetailTableState(row: Product) {\n const id = this.tableState.dataSource!.idSelector!(row);\n\n if (this.details.has(id)) {\n return this.details.get(id)!;\n }\n\n const detailTableState = new TableState({\n dataSource: new InMemoryDataSource(\n productDetails.filter(x => x.ProductID === id),\n row => row.Field\n ),\n isRowUnselectable: row => !!row.IsLocked,\n parent: {\n row,\n tableState: this.tableState,\n },\n });\n\n if (this.tableState.selectedIds.has(id)) {\n detailTableState.selectAll();\n }\n\n this.details.set(id, detailTableState);\n\n return detailTableState;\n }\n\n private setDetailSelection(id: number, value: boolean) {\n const detail = this.tableState.getDetailTableState!({ ProductID: id } as Product);\n\n if (!detail?.totalCount) {\n return;\n }\n\n if (value) {\n detail.selectAll({ ignoreUnselectable: false });\n } else if (!detail.isSomePageRowsSelected) {\n detail.deselectAll({ ignoreUnselectable: false });\n }\n }\n}\n"],"names":["injectable","computed","observe","makeObservable","InMemoryDataSource","TableState","products","productDetails","MasterTableStore","selectedIds","Array","from","tableState","dispose","disposeSelectedIdsObserve","getDetailTableState","row","id","dataSource","idSelector","details","has","get","detailTableState","filter","x","ProductID","Field","isRowUnselectable","IsLocked","parent","selectAll","set","setDetailSelection","value","detail","totalCount","ignoreUnselectable","isSomePageRowsSelected","deselectAll","constructor","Map","change","oldValue","newValue","before","Set","after"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,UAAU,QAAQ,0BAA0B;AAErD,SAASC,QAAQ,EAAEC,OAAO,EAAUC,cAAc,QAAQ,OAAO;AAEjE,SAASC,kBAAkB,EAAEC,UAAU,QAAQ,QAAQ;AAGvD,SAASC,QAAQ,QAAQ,aAAa;AAGtC,SAASC,cAAc,QAAQ,oBAAoB;AAGnD,OAAO,MAAMC;IAQT,IAAcC,cAAc;QACxB,OAAOC,MAAMC,IAAI,CAAC,IAAI,CAACC,UAAU,CAACH,WAAW;IACjD;IA8BAI,UAAU;QACN,IAAI,CAACC,yBAAyB;IAClC;IAEQC,oBAAoBC,GAAY,EAAE;QACtC,MAAMC,KAAK,IAAI,CAACL,UAAU,CAACM,UAAU,CAAEC,UAAU,CAAEH;QAEnD,IAAI,IAAI,CAACI,OAAO,CAACC,GAAG,CAACJ,KAAK;YACtB,OAAO,IAAI,CAACG,OAAO,CAACE,GAAG,CAACL;QAC5B;QAEA,MAAMM,mBAAmB,IAAIlB,WAAW;YACpCa,YAAY,IAAId,mBACZG,eAAeiB,MAAM,CAACC,CAAAA,IAAKA,EAAEC,SAAS,KAAKT,KAC3CD,CAAAA,MAAOA,IAAIW,KAAK;YAEpBC,mBAAmBZ,CAAAA,MAAO,CAAC,CAACA,IAAIa,QAAQ;YACxCC,QAAQ;gBACJd;gBACAJ,YAAY,IAAI,CAACA,UAAU;YAC/B;QACJ;QAEA,IAAI,IAAI,CAACA,UAAU,CAACH,WAAW,CAACY,GAAG,CAACJ,KAAK;YACrCM,iBAAiBQ,SAAS;QAC9B;QAEA,IAAI,CAACX,OAAO,CAACY,GAAG,CAACf,IAAIM;QAErB,OAAOA;IACX;IAEQU,mBAAmBhB,EAAU,EAAEiB,KAAc,EAAE;QACnD,MAAMC,SAAS,IAAI,CAACvB,UAAU,CAACG,mBAAmB,CAAE;YAAEW,WAAWT;QAAG;QAEpE,IAAI,EAACkB,mBAAAA,6BAAAA,OAAQC,UAAU,GAAE;YACrB;QACJ;QAEA,IAAIF,OAAO;YACPC,OAAOJ,SAAS,CAAC;gBAAEM,oBAAoB;YAAM;QACjD,OAAO,IAAI,CAACF,OAAOG,sBAAsB,EAAE;YACvCH,OAAOI,WAAW,CAAC;gBAAEF,oBAAoB;YAAM;QACnD;IACJ;IAtEAG,aAAc;QAbd5B,uBAAAA,cAA0C,IAAIP,WAAW;YACrDa,YAAY,IAAId,mBAAmBE,UAAUU,CAAAA,MAAOA,IAAIU,SAAS;YACjEX,qBAAqBC,CAAAA,MAAO,IAAI,CAACD,mBAAmB,CAACC;QACzD;QAEAI,uBAAAA,WAAU,IAAIqB;QAMd,uBAAQ3B,6BAAR,KAAA;QAGIX,eAAe,IAAI;QAEnB,IAAI,CAACW,yBAAyB,GAAGZ,QAAQ,IAAI,EAAE,eAAewC,CAAAA;YAC1D,MAAM,EAAEC,WAAW,EAAE,EAAEC,QAAQ,EAAE,GAAGF;YAKpC,MAAMG,SAAS,IAAIC,IAAIH;YACvB,MAAMI,QAAQ,IAAID,IAAIF;YAEtB,KAAK,MAAM3B,MAAM0B,SAAU;gBACvB,IAAI,CAACI,MAAM1B,GAAG,CAACJ,KAAK;oBAChB,IAAI,CAACgB,kBAAkB,CAAChB,IAAI;gBAChC;YACJ;YAEA,KAAK,MAAMA,MAAM2B,SAAU;gBACvB,IAAI,CAACC,OAAOxB,GAAG,CAACJ,KAAK;oBACjB,IAAI,CAACgB,kBAAkB,CAAChB,IAAI;gBAChC;YACJ;QACJ;IACJ;AA+CJ"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/product-detail.ts"],"sourcesContent":["export interface ProductDetail {\n ProductID: number;\n Field: string;\n IsLocked?: boolean;\n OldValue: string;\n NewValue: string;\n}\n"],"names":[],"mappings":"AAAA,WAMC"}
|
@@ -3,53 +3,54 @@ export const productDetails = [
|
|
3
3
|
ProductID: 1,
|
4
4
|
Field: 'QuantityPerUnit',
|
5
5
|
OldValue: '12 boxes x 24 bags',
|
6
|
-
NewValue: '10 boxes x 20 bags'
|
6
|
+
NewValue: '10 boxes x 20 bags'
|
7
7
|
},
|
8
8
|
{
|
9
9
|
ProductID: 1,
|
10
10
|
Field: 'UnitPrice',
|
11
11
|
OldValue: '25.0',
|
12
|
-
NewValue: '18.0'
|
12
|
+
NewValue: '18.0'
|
13
13
|
},
|
14
14
|
{
|
15
15
|
ProductID: 2,
|
16
16
|
Field: 'Supplier',
|
17
17
|
IsLocked: true,
|
18
18
|
OldValue: 'Adam',
|
19
|
-
NewValue: 'Dan'
|
19
|
+
NewValue: 'Dan'
|
20
20
|
},
|
21
21
|
{
|
22
22
|
ProductID: 2,
|
23
23
|
Field: 'UnitPrice',
|
24
24
|
OldValue: '18.5',
|
25
|
-
NewValue: '19.0'
|
25
|
+
NewValue: '19.0'
|
26
26
|
},
|
27
27
|
{
|
28
28
|
ProductID: 2,
|
29
29
|
Field: 'UnitsInStock',
|
30
30
|
OldValue: '5',
|
31
|
-
NewValue: '17'
|
31
|
+
NewValue: '17'
|
32
32
|
},
|
33
33
|
{
|
34
34
|
ProductID: 2,
|
35
35
|
Field: 'Discontinued',
|
36
36
|
IsLocked: true,
|
37
37
|
OldValue: 'true',
|
38
|
-
NewValue: 'false'
|
38
|
+
NewValue: 'false'
|
39
39
|
},
|
40
40
|
{
|
41
41
|
ProductID: 3,
|
42
42
|
Field: 'Discontinued',
|
43
43
|
IsLocked: true,
|
44
44
|
OldValue: 'false',
|
45
|
-
NewValue: 'true'
|
45
|
+
NewValue: 'true'
|
46
46
|
},
|
47
47
|
{
|
48
48
|
ProductID: 3,
|
49
49
|
Field: 'UnitsInStock',
|
50
50
|
IsLocked: true,
|
51
51
|
OldValue: '7',
|
52
|
-
NewValue: '5'
|
53
|
-
}
|
52
|
+
NewValue: '5'
|
53
|
+
}
|
54
54
|
];
|
55
|
+
|
55
56
|
//# sourceMappingURL=product-details.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/product-details.ts"],"sourcesContent":["import { ProductDetail } from './product-detail';\n\nexport const productDetails: ProductDetail[] = [\n {\n ProductID: 1,\n Field: 'QuantityPerUnit',\n OldValue: '12 boxes x 24 bags',\n NewValue: '10 boxes x 20 bags',\n },\n {\n ProductID: 1,\n Field: 'UnitPrice',\n OldValue: '25.0',\n NewValue: '18.0',\n },\n {\n ProductID: 2,\n Field: 'Supplier',\n IsLocked: true,\n OldValue: 'Adam',\n NewValue: 'Dan',\n },\n {\n ProductID: 2,\n Field: 'UnitPrice',\n OldValue: '18.5',\n NewValue: '19.0',\n },\n {\n ProductID: 2,\n Field: 'UnitsInStock',\n OldValue: '5',\n NewValue: '17',\n },\n {\n ProductID: 2,\n Field: 'Discontinued',\n IsLocked: true,\n OldValue: 'true',\n NewValue: 'false',\n },\n {\n ProductID: 3,\n Field: 'Discontinued',\n IsLocked: true,\n OldValue: 'false',\n NewValue: 'true',\n },\n {\n ProductID: 3,\n Field: 'UnitsInStock',\n IsLocked: true,\n OldValue: '7',\n NewValue: '5',\n },\n];\n"],"names":["productDetails","ProductID","Field","OldValue","NewValue","IsLocked"],"mappings":"AAEA,OAAO,MAAMA,iBAAkC;IAC3C;QACIC,WAAW;QACXC,OAAO;QACPC,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPC,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPG,UAAU;QACVF,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPC,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPC,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPG,UAAU;QACVF,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPG,UAAU;QACVF,UAAU;QACVC,UAAU;IACd;IACA;QACIH,WAAW;QACXC,OAAO;QACPG,UAAU;QACVF,UAAU;QACVC,UAAU;IACd;CACH,CAAC"}
|
@@ -1,16 +1,17 @@
|
|
1
|
-
export var UserRole
|
2
|
-
(function (UserRole) {
|
1
|
+
export var UserRole = /*#__PURE__*/ function(UserRole) {
|
3
2
|
UserRole[UserRole["Unspecified"] = 0] = "Unspecified";
|
4
3
|
UserRole[UserRole["Technician"] = 1] = "Technician";
|
5
4
|
UserRole[UserRole["GeneralOffice"] = 2] = "GeneralOffice";
|
6
5
|
UserRole[UserRole["Admin"] = 3] = "Admin";
|
7
6
|
UserRole[UserRole["Owner"] = 4] = "Owner";
|
8
|
-
|
9
|
-
|
10
|
-
|
7
|
+
return UserRole;
|
8
|
+
}({});
|
9
|
+
export var Supplier = /*#__PURE__*/ function(Supplier) {
|
11
10
|
Supplier[Supplier["Dan"] = 1] = "Dan";
|
12
11
|
Supplier[Supplier["Adam"] = 2] = "Adam";
|
13
12
|
Supplier[Supplier["Charlie"] = 3] = "Charlie";
|
14
13
|
Supplier[Supplier["Benjamin"] = 4] = "Benjamin";
|
15
|
-
|
14
|
+
return Supplier;
|
15
|
+
}({});
|
16
|
+
|
16
17
|
//# sourceMappingURL=product.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"
|
1
|
+
{"version":3,"sources":["../../../src/demo/master-detail/product.ts"],"sourcesContent":["export enum UserRole {\n Unspecified,\n Technician,\n GeneralOffice,\n Admin,\n Owner,\n}\n\nexport enum Supplier {\n Dan = 1,\n Adam,\n Charlie,\n Benjamin,\n}\n\nexport interface Product {\n ProductID: number;\n ProductName: string;\n Supplier: Supplier;\n CategoryID: number;\n QuantityPerUnit: string;\n UnitPrice: number;\n UnitsInStock: number;\n UnitsOnOrder: Date;\n Discontinued: boolean;\n AvailableFor?: UserRole;\n}\n"],"names":["UserRole","Supplier"],"mappings":"AAAA,OAAO,IAAA,AAAKA,kCAAAA;;;;;;WAAAA;MAMX;AAED,OAAO,IAAA,AAAKC,kCAAAA;;;;;WAAAA;MAKX"}
|
@@ -10,7 +10,7 @@ export const products = [
|
|
10
10
|
UnitsInStock: 39,
|
11
11
|
UnitsOnOrder: new Date('1/11/2019'),
|
12
12
|
Discontinued: false,
|
13
|
-
AvailableFor: UserRole.Admin
|
13
|
+
AvailableFor: UserRole.Admin
|
14
14
|
},
|
15
15
|
{
|
16
16
|
ProductID: 2,
|
@@ -21,7 +21,7 @@ export const products = [
|
|
21
21
|
UnitPrice: 19.0,
|
22
22
|
UnitsInStock: 17,
|
23
23
|
UnitsOnOrder: new Date('2/11/2019'),
|
24
|
-
Discontinued: false
|
24
|
+
Discontinued: false
|
25
25
|
},
|
26
26
|
{
|
27
27
|
ProductID: 3,
|
@@ -33,7 +33,7 @@ export const products = [
|
|
33
33
|
UnitsInStock: 13,
|
34
34
|
UnitsOnOrder: new Date('3/11/2019'),
|
35
35
|
Discontinued: false,
|
36
|
-
AvailableFor: UserRole.Owner
|
36
|
+
AvailableFor: UserRole.Owner
|
37
37
|
},
|
38
38
|
{
|
39
39
|
ProductID: 4,
|
@@ -44,7 +44,7 @@ export const products = [
|
|
44
44
|
UnitPrice: 22.0,
|
45
45
|
UnitsInStock: 53,
|
46
46
|
UnitsOnOrder: new Date('4/11/2019'),
|
47
|
-
Discontinued: false
|
47
|
+
Discontinued: false
|
48
48
|
},
|
49
49
|
{
|
50
50
|
ProductID: 5,
|
@@ -56,7 +56,7 @@ export const products = [
|
|
56
56
|
UnitsInStock: 0,
|
57
57
|
UnitsOnOrder: new Date('5/11/2019'),
|
58
58
|
Discontinued: true,
|
59
|
-
AvailableFor: UserRole.GeneralOffice
|
59
|
+
AvailableFor: UserRole.GeneralOffice
|
60
60
|
},
|
61
61
|
{
|
62
62
|
ProductID: 6,
|
@@ -67,7 +67,7 @@ export const products = [
|
|
67
67
|
UnitPrice: 25.0,
|
68
68
|
UnitsInStock: 120,
|
69
69
|
UnitsOnOrder: new Date('6/11/2019'),
|
70
|
-
Discontinued: false
|
70
|
+
Discontinued: false
|
71
71
|
},
|
72
72
|
{
|
73
73
|
ProductID: 7,
|
@@ -78,7 +78,7 @@ export const products = [
|
|
78
78
|
UnitPrice: 30.0,
|
79
79
|
UnitsInStock: 15,
|
80
80
|
UnitsOnOrder: new Date('7/11/2019'),
|
81
|
-
Discontinued: false
|
81
|
+
Discontinued: false
|
82
82
|
},
|
83
83
|
{
|
84
84
|
ProductID: 8,
|
@@ -89,7 +89,7 @@ export const products = [
|
|
89
89
|
UnitPrice: 40.0,
|
90
90
|
UnitsInStock: 6,
|
91
91
|
UnitsOnOrder: new Date('8/11/2019'),
|
92
|
-
Discontinued: false
|
92
|
+
Discontinued: false
|
93
93
|
},
|
94
94
|
{
|
95
95
|
ProductID: 9,
|
@@ -100,7 +100,7 @@ export const products = [
|
|
100
100
|
UnitPrice: 97.0,
|
101
101
|
UnitsInStock: 29,
|
102
102
|
UnitsOnOrder: new Date('9/11/2019'),
|
103
|
-
Discontinued: true
|
103
|
+
Discontinued: true
|
104
104
|
},
|
105
105
|
{
|
106
106
|
ProductID: 10,
|
@@ -111,7 +111,8 @@ export const products = [
|
|
111
111
|
UnitPrice: 31.0,
|
112
112
|
UnitsInStock: 31,
|
113
113
|
UnitsOnOrder: new Date('10/11/2019'),
|
114
|
-
Discontinued: false
|
115
|
-
}
|
114
|
+
Discontinued: false
|
115
|
+
}
|
116
116
|
];
|
117
|
+
|
117
118
|
//# sourceMappingURL=products.js.map
|