bananas-commerce-admin 0.10.14 → 0.11.1
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/cjs/components/Card/CardFieldAddress.js +35 -0
- package/dist/cjs/components/Card/CardFieldAddress.js.map +1 -0
- package/dist/cjs/components/Card/CardFieldDate.js +35 -3
- package/dist/cjs/components/Card/CardFieldDate.js.map +1 -1
- package/dist/cjs/components/Card/CardFieldText.js +1 -1
- package/dist/cjs/components/Card/CardFieldText.js.map +1 -1
- package/dist/cjs/components/LabeledValue.js +1 -1
- package/dist/cjs/components/LabeledValue.js.map +1 -1
- package/dist/cjs/components/SearchBar.js +80 -0
- package/dist/cjs/components/SearchBar.js.map +1 -0
- package/dist/cjs/components/Table/TableHead.js +13 -0
- package/dist/cjs/components/Table/TableHead.js.map +1 -0
- package/dist/cjs/components/Table/TablePagination.js +48 -0
- package/dist/cjs/components/Table/TablePagination.js.map +1 -0
- package/dist/cjs/components/Table/TableRow.js +18 -0
- package/dist/cjs/components/Table/TableRow.js.map +1 -0
- package/dist/cjs/components/Table/index.js +68 -0
- package/dist/cjs/components/Table/index.js.map +1 -0
- package/dist/cjs/components/Table/types.js +3 -0
- package/dist/cjs/components/Table/types.js.map +1 -0
- package/dist/cjs/containers/PageLoader.js +0 -1
- package/dist/cjs/containers/PageLoader.js.map +1 -1
- package/dist/cjs/contexts/TableContext.js +14 -0
- package/dist/cjs/contexts/TableContext.js.map +1 -0
- package/dist/cjs/extensions/catalog/components/ArticleCard.js +1 -1
- package/dist/cjs/extensions/catalog/components/ArticleCard.js.map +1 -1
- package/dist/cjs/extensions/member/components/MemberDetailCard.js +100 -0
- package/dist/cjs/extensions/member/components/MemberDetailCard.js.map +1 -0
- package/dist/cjs/extensions/member/contrib/SubscriptionList.js +13 -0
- package/dist/cjs/extensions/member/contrib/SubscriptionList.js.map +1 -0
- package/dist/cjs/extensions/member/index.js +67 -0
- package/dist/cjs/extensions/member/index.js.map +1 -0
- package/dist/cjs/extensions/member/pages/member/detail.js +58 -0
- package/dist/cjs/extensions/member/pages/member/detail.js.map +1 -0
- package/dist/cjs/extensions/member/pages/member/list.js +86 -0
- package/dist/cjs/extensions/member/pages/member/list.js.map +1 -0
- package/dist/cjs/extensions/member/types/member.js +3 -0
- package/dist/cjs/extensions/member/types/member.js.map +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/esm/components/Card/CardFieldAddress.js +28 -0
- package/dist/esm/components/Card/CardFieldAddress.js.map +1 -0
- package/dist/esm/components/Card/CardFieldDate.js +12 -3
- package/dist/esm/components/Card/CardFieldDate.js.map +1 -1
- package/dist/esm/components/Card/CardFieldText.js +1 -1
- package/dist/esm/components/Card/CardFieldText.js.map +1 -1
- package/dist/esm/components/LabeledValue.js +1 -1
- package/dist/esm/components/LabeledValue.js.map +1 -1
- package/dist/esm/components/SearchBar.js +72 -0
- package/dist/esm/components/SearchBar.js.map +1 -0
- package/dist/esm/components/Table/TableHead.js +8 -0
- package/dist/esm/components/Table/TableHead.js.map +1 -0
- package/dist/esm/components/Table/TablePagination.js +43 -0
- package/dist/esm/components/Table/TablePagination.js.map +1 -0
- package/dist/esm/components/Table/TableRow.js +11 -0
- package/dist/esm/components/Table/TableRow.js.map +1 -0
- package/dist/esm/components/Table/index.js +38 -0
- package/dist/esm/components/Table/index.js.map +1 -0
- package/dist/esm/components/Table/types.js +2 -0
- package/dist/esm/components/Table/types.js.map +1 -0
- package/dist/esm/containers/PageLoader.js +0 -1
- package/dist/esm/containers/PageLoader.js.map +1 -1
- package/dist/esm/contexts/TableContext.js +10 -0
- package/dist/esm/contexts/TableContext.js.map +1 -0
- package/dist/esm/extensions/catalog/components/ArticleCard.js +1 -1
- package/dist/esm/extensions/catalog/components/ArticleCard.js.map +1 -1
- package/dist/esm/extensions/member/components/MemberDetailCard.js +93 -0
- package/dist/esm/extensions/member/components/MemberDetailCard.js.map +1 -0
- package/dist/esm/extensions/member/contrib/SubscriptionList.js +8 -0
- package/dist/esm/extensions/member/contrib/SubscriptionList.js.map +1 -0
- package/dist/esm/extensions/member/index.js +38 -0
- package/dist/esm/extensions/member/index.js.map +1 -0
- package/dist/esm/extensions/member/pages/member/detail.js +30 -0
- package/dist/esm/extensions/member/pages/member/detail.js.map +1 -0
- package/dist/esm/extensions/member/pages/member/list.js +58 -0
- package/dist/esm/extensions/member/pages/member/list.js.map +1 -0
- package/dist/esm/extensions/member/types/member.js +2 -0
- package/dist/esm/extensions/member/types/member.js.map +1 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/types/components/Card/CardFieldAddress.d.ts +18 -0
- package/dist/types/components/SearchBar.d.ts +17 -0
- package/dist/types/components/Table/TableHead.d.ts +5 -0
- package/dist/types/components/Table/TablePagination.d.ts +5 -0
- package/dist/types/components/Table/TableRow.d.ts +7 -0
- package/dist/types/components/Table/index.d.ts +9 -0
- package/dist/types/components/Table/types.d.ts +1 -0
- package/dist/types/contexts/TableContext.d.ts +10 -0
- package/dist/types/extensions/member/components/MemberDetailCard.d.ts +12 -0
- package/dist/types/extensions/member/contrib/SubscriptionList.d.ts +3 -0
- package/dist/types/extensions/member/index.d.ts +5 -0
- package/dist/types/extensions/member/pages/member/detail.d.ts +4 -0
- package/dist/types/extensions/member/pages/member/list.d.ts +4 -0
- package/dist/types/extensions/member/types/member.d.ts +30 -0
- package/dist/types/index.d.ts +1 -0
- package/package.json +1 -1
- package/src/components/Card/CardFieldAddress.tsx +130 -0
- package/src/components/Card/CardFieldDate.tsx +31 -12
- package/src/components/Card/CardFieldText.tsx +1 -1
- package/src/components/LabeledValue.tsx +1 -1
- package/src/components/SearchBar.tsx +117 -0
- package/src/components/Table/TableHead.tsx +14 -0
- package/src/components/Table/TablePagination.tsx +57 -0
- package/src/components/Table/TableRow.tsx +22 -0
- package/src/components/Table/index.tsx +56 -0
- package/src/components/Table/types.ts +1 -0
- package/src/containers/PageLoader.tsx +0 -1
- package/src/contexts/TableContext.tsx +24 -0
- package/src/extensions/catalog/components/ArticleCard.tsx +1 -1
- package/src/extensions/member/components/MemberDetailCard.tsx +147 -0
- package/src/extensions/member/contrib/SubscriptionList.tsx +12 -0
- package/src/extensions/member/index.tsx +57 -0
- package/src/extensions/member/pages/member/detail.tsx +59 -0
- package/src/extensions/member/pages/member/list.tsx +97 -0
- package/src/extensions/member/types/member.ts +33 -0
- package/src/index.ts +1 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SubscriptionList.js","sourceRoot":"","sources":["../../../../../src/extensions/member/contrib/SubscriptionList.tsx"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAI1B,MAAM,gBAAgB,GAA4B,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IAC7D,4DAA4D;IAC5D,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAElB,OAAO,8DAA2B,CAAC;AACrC,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.contrib = exports.navigation = exports.router = void 0;
|
|
30
|
+
const CardMembership_1 = __importDefault(require("@mui/icons-material/CardMembership"));
|
|
31
|
+
const SubscriptionsOutlined_1 = __importDefault(require("@mui/icons-material/SubscriptionsOutlined"));
|
|
32
|
+
const routes = {
|
|
33
|
+
member: {
|
|
34
|
+
// create: { page: async () => (await import("./pages/article/create")).default, offline: true },
|
|
35
|
+
detail: {
|
|
36
|
+
page: async () => (await Promise.resolve().then(() => __importStar(require("./pages/member/detail")))).default,
|
|
37
|
+
},
|
|
38
|
+
list: { page: async () => (await Promise.resolve().then(() => __importStar(require("./pages/member/list")))).default },
|
|
39
|
+
},
|
|
40
|
+
};
|
|
41
|
+
exports.router = {
|
|
42
|
+
app: "member",
|
|
43
|
+
pages: (route) => {
|
|
44
|
+
const { page, ...hit } = routes[route.view]?.[route.action] ?? {};
|
|
45
|
+
if (page != null) {
|
|
46
|
+
return {
|
|
47
|
+
page: page(),
|
|
48
|
+
...hit,
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
return undefined;
|
|
52
|
+
},
|
|
53
|
+
};
|
|
54
|
+
exports.navigation = {
|
|
55
|
+
"member.member:list": { icon: CardMembership_1.default, title: "Members" },
|
|
56
|
+
};
|
|
57
|
+
exports.contrib = {
|
|
58
|
+
subscriptions: {
|
|
59
|
+
"subscription.contrib:member-subscription-list": {
|
|
60
|
+
title: "Subscriptions",
|
|
61
|
+
icon: SubscriptionsOutlined_1.default,
|
|
62
|
+
component: async () => (await Promise.resolve().then(() => __importStar(require("./contrib/SubscriptionList")))).default,
|
|
63
|
+
variant: "tab",
|
|
64
|
+
},
|
|
65
|
+
},
|
|
66
|
+
};
|
|
67
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extensions/member/index.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wFAAoE;AAIpE,sGAAkF;AAClF,MAAM,MAAM,GAYR;IACF,MAAM,EAAE;QACN,iGAAiG;QACjG,MAAM,EAAE;YACN,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,wDAAa,uBAAuB,GAAC,CAAC,CAAC,OAAO;SAClE;QACD,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,wDAAa,qBAAqB,GAAC,CAAC,CAAC,OAAO,EAAE;KAC1E;CACF,CAAC;AAEW,QAAA,MAAM,GAAoB;IACrC,GAAG,EAAE,QAAQ;IACb,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE;QACf,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QAElE,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,IAAI,EAAE;gBACZ,GAAG,GAAG;aACP,CAAC;QACJ,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;CACF,CAAC;AAEW,QAAA,UAAU,GAAwB;IAC7C,oBAAoB,EAAE,EAAE,IAAI,EAAE,wBAAkB,EAAE,KAAK,EAAE,SAAS,EAAE;CAC5D,CAAC;AAEE,QAAA,OAAO,GAAwC;IAC1D,aAAa,EAAE;QACb,+CAA+C,EAAE;YAC/C,KAAK,EAAE,eAAe;YACtB,IAAI,EAAE,+BAAyB;YAC/B,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,wDAAa,4BAA4B,GAAC,CAAC,CAAC,OAAO;YAC3E,OAAO,EAAE,KAAK;SACf;KACF;CACO,CAAC"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const react_1 = __importStar(require("react"));
|
|
30
|
+
const ContribInlines_1 = require("../../../../components/ContribInlines");
|
|
31
|
+
const Header_1 = require("../../../../components/Header");
|
|
32
|
+
const Page_1 = require("../../../../components/Page");
|
|
33
|
+
const Tab_1 = require("../../../../components/Tab");
|
|
34
|
+
const TabPanel_1 = require("../../../../components/TabPanel");
|
|
35
|
+
const TabPanels_1 = require("../../../../components/TabPanels");
|
|
36
|
+
const Tabs_1 = require("../../../../components/Tabs");
|
|
37
|
+
const TitleBar_1 = require("../../../../components/TitleBar");
|
|
38
|
+
const Content_1 = __importDefault(require("../../../../containers/Content"));
|
|
39
|
+
const CardMembership_1 = __importDefault(require("@mui/icons-material/CardMembership"));
|
|
40
|
+
const Grid2_1 = __importDefault(require("@mui/material/Grid2"));
|
|
41
|
+
const MemberDetailCard_1 = require("../../components/MemberDetailCard");
|
|
42
|
+
const MemberDetailPage = ({ data }) => {
|
|
43
|
+
const [member, setMember] = (0, react_1.useState)(data);
|
|
44
|
+
return (react_1.default.createElement(Page_1.Page, null,
|
|
45
|
+
react_1.default.createElement(Header_1.Header, { variant: "opaque" },
|
|
46
|
+
react_1.default.createElement(TitleBar_1.TitleBar, { title: `${data.given_name} ${data.family_name}` }),
|
|
47
|
+
react_1.default.createElement(Tabs_1.Tabs, { data: member },
|
|
48
|
+
react_1.default.createElement(Tab_1.Tab, { key: "default", value: "default", label: "Member", icon: react_1.default.createElement(CardMembership_1.default, null) }))),
|
|
49
|
+
react_1.default.createElement(Content_1.default, { direction: "row", sx: { alignContent: "flex-start" } },
|
|
50
|
+
react_1.default.createElement(TabPanels_1.TabPanels, { contribParams: { membership_number: member.number } },
|
|
51
|
+
react_1.default.createElement(TabPanel_1.TabPanel, { key: "default", value: "default" },
|
|
52
|
+
react_1.default.createElement(Grid2_1.default, { container: true, spacing: 3, columns: 12, width: "100%" },
|
|
53
|
+
react_1.default.createElement(Grid2_1.default, { size: { xs: 12, md: 8 } },
|
|
54
|
+
react_1.default.createElement(MemberDetailCard_1.MemberCard, { member: member, onUpdated: setMember })),
|
|
55
|
+
react_1.default.createElement(ContribInlines_1.ContribInlines, { contribParams: { membership_number: member.number }, data: data })))))));
|
|
56
|
+
};
|
|
57
|
+
exports.default = MemberDetailPage;
|
|
58
|
+
//# sourceMappingURL=detail.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"detail.js","sourceRoot":"","sources":["../../../../../../src/extensions/member/pages/member/detail.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,+CAAwC;AAExC,0EAAuE;AACvE,0DAAuD;AACvD,sDAAmD;AACnD,oDAAiD;AACjD,8DAA2D;AAC3D,gEAA6D;AAC7D,sDAAmD;AACnD,8DAA2D;AAC3D,6EAAqD;AAErD,wFAAoE;AACpE,gEAAuC;AACvC,wEAA+D;AAG/D,MAAM,gBAAgB,GAAgC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE;IACjE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAC,IAAI,CAAC,CAAC;IAE3C,OAAO,CACL,8BAAC,WAAI;QACH,8BAAC,eAAM,IAAC,OAAO,EAAC,QAAQ;YACtB,8BAAC,mBAAQ,IAAC,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,GAAI;YAC7D,8BAAC,WAAI,IAAC,IAAI,EAAE,MAAM;gBAChB,8BAAC,SAAG,IAAC,GAAG,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,EAAC,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAE,8BAAC,wBAAkB,OAAG,GAAI,CAe7E,CACA;QACT,8BAAC,iBAAO,IAAC,SAAS,EAAC,KAAK,EAAC,EAAE,EAAE,EAAE,YAAY,EAAE,YAAY,EAAE;YACzD,8BAAC,qBAAS,IAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE;gBAC5D,8BAAC,mBAAQ,IAAC,GAAG,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS;oBACrC,8BAAC,eAAI,IAAC,SAAS,QAAC,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM;wBACpD,8BAAC,eAAI,IAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE;4BAC3B,8BAAC,6BAAU,IAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,GAAI,CAC/C;wBACP,8BAAC,+BAAc,IAAC,aAAa,EAAE,EAAE,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,GAAI,CAC9E,CACE,CACD,CACJ,CACL,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,kBAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
const material_1 = require("@mui/material");
|
|
30
|
+
const system_1 = require("@mui/system");
|
|
31
|
+
const react_1 = __importStar(require("react"));
|
|
32
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
33
|
+
const ActionBar_1 = __importDefault(require("../../../../components/ActionBar"));
|
|
34
|
+
const Header_1 = require("../../../../components/Header");
|
|
35
|
+
const Page_1 = require("../../../../components/Page");
|
|
36
|
+
const SearchBar_1 = require("../../../../components/SearchBar");
|
|
37
|
+
const Table_1 = require("../../../../components/Table");
|
|
38
|
+
const TableHead_1 = __importDefault(require("../../../../components/Table/TableHead"));
|
|
39
|
+
const TableRow_1 = require("../../../../components/Table/TableRow");
|
|
40
|
+
const TableCard_1 = __importDefault(require("../../../../components/TableCard"));
|
|
41
|
+
const TitleBar_1 = require("../../../../components/TitleBar");
|
|
42
|
+
const Content_1 = __importDefault(require("../../../../containers/Content"));
|
|
43
|
+
const RouterContext_1 = require("../../../../contexts/RouterContext");
|
|
44
|
+
const MemberListPage = ({ data }) => {
|
|
45
|
+
const [searchParams, setSearchParams] = (0, react_router_dom_1.useSearchParams)();
|
|
46
|
+
const { navigate } = (0, RouterContext_1.useRouter)();
|
|
47
|
+
const searchInputs = (0, react_1.useMemo)(() => [
|
|
48
|
+
...searchParams.getAll("query").map((query) => ({ query })),
|
|
49
|
+
...searchParams.getAll("code").map((code) => ({ code })),
|
|
50
|
+
...searchParams.getAll("name").map((name) => ({ name })),
|
|
51
|
+
...searchParams.getAll("variant").map((variant) => ({ variant })),
|
|
52
|
+
], [searchParams]);
|
|
53
|
+
const pageSize = (0, react_1.useMemo)(() => Number(searchParams.get("page_size") ?? 100), [searchParams]);
|
|
54
|
+
const pageNumber = (0, react_1.useMemo)(() => Number(searchParams.get("page") ?? 0), [searchParams]);
|
|
55
|
+
const setSearchInputs = (inputs) => {
|
|
56
|
+
setSearchParams([
|
|
57
|
+
["page", pageNumber.toString()],
|
|
58
|
+
["page_size", pageSize.toString()],
|
|
59
|
+
...inputs.flatMap((v) => Object.entries(v)),
|
|
60
|
+
]);
|
|
61
|
+
};
|
|
62
|
+
return (react_1.default.createElement(Page_1.Page, null,
|
|
63
|
+
react_1.default.createElement(Header_1.Header, null,
|
|
64
|
+
react_1.default.createElement(TitleBar_1.TitleBar, { title: "Members" },
|
|
65
|
+
react_1.default.createElement(SearchBar_1.SearchBar, { defaultValue: searchInputs, onChange: setSearchInputs, onSubmit: (event) => event?.preventDefault() }))),
|
|
66
|
+
react_1.default.createElement(Content_1.default, null,
|
|
67
|
+
react_1.default.createElement(system_1.Grid, { size: { xs: 12 } },
|
|
68
|
+
react_1.default.createElement(TableCard_1.default, null,
|
|
69
|
+
react_1.default.createElement(Table_1.Table, { count: data?.results.length, pagination: true },
|
|
70
|
+
react_1.default.createElement(TableHead_1.default, null,
|
|
71
|
+
react_1.default.createElement(material_1.TableCell, null, "Member ID"),
|
|
72
|
+
react_1.default.createElement(material_1.TableCell, null, "Name"),
|
|
73
|
+
react_1.default.createElement(material_1.TableCell, null, "Phone"),
|
|
74
|
+
react_1.default.createElement(material_1.TableCell, null, "Email"),
|
|
75
|
+
react_1.default.createElement(material_1.TableCell, null, "Site")),
|
|
76
|
+
react_1.default.createElement(material_1.TableBody, null, data?.results.map((member) => (react_1.default.createElement(TableRow_1.TableRow, { route: "member.member:detail", routeParams: { id: member.id }, key: member.id },
|
|
77
|
+
react_1.default.createElement(material_1.TableCell, null, member.number),
|
|
78
|
+
react_1.default.createElement(material_1.TableCell, null, `${member.given_name} ${member.family_name}`),
|
|
79
|
+
react_1.default.createElement(material_1.TableCell, null, "—"),
|
|
80
|
+
react_1.default.createElement(material_1.TableCell, null, member.email),
|
|
81
|
+
react_1.default.createElement(material_1.TableCell, null, "—"))))))))),
|
|
82
|
+
react_1.default.createElement(ActionBar_1.default, null,
|
|
83
|
+
react_1.default.createElement(material_1.Button, { variant: "contained", color: "primary", onClick: () => navigate("catalog.member:create") }, "Create member"))));
|
|
84
|
+
};
|
|
85
|
+
exports.default = MemberListPage;
|
|
86
|
+
//# sourceMappingURL=list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/extensions/member/pages/member/list.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member.js","sourceRoot":"","sources":["../../../../../src/extensions/member/types/member.ts"],"names":[],"mappings":""}
|
package/dist/cjs/index.js
CHANGED
|
@@ -26,7 +26,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
26
26
|
return result;
|
|
27
27
|
};
|
|
28
28
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.pricing = exports.catalog = exports.report = exports.fulfillment = exports.pos = exports.bananas = void 0;
|
|
29
|
+
exports.member = exports.pricing = exports.catalog = exports.report = exports.fulfillment = exports.pos = exports.bananas = void 0;
|
|
30
30
|
__exportStar(require("./components/TitleBar"), exports);
|
|
31
31
|
__exportStar(require("./components/Header"), exports);
|
|
32
32
|
__exportStar(require("./components/ActionBar"), exports);
|
|
@@ -72,4 +72,5 @@ exports.fulfillment = __importStar(require("./extensions/fulfillment"));
|
|
|
72
72
|
exports.report = __importStar(require("./extensions/report"));
|
|
73
73
|
exports.catalog = __importStar(require("./extensions/catalog"));
|
|
74
74
|
exports.pricing = __importStar(require("./extensions/pricing"));
|
|
75
|
+
exports.member = __importStar(require("./extensions/member"));
|
|
75
76
|
//# sourceMappingURL=index.js.map
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,oDAAkC;AAClC,0DAAwC;AACxC,oDAAkC;AAClC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,wDAAsC;AACtC,mDAAiC;AACjC,oDAAkC;AAElC,oDAAkC;AAClC,+DAA6C;AAC7C,gEAA8C;AAC9C,gEAA8C;AAC9C,qEAAmD;AACnD,mEAAiD;AACjD,4DAA0C;AAC1C,6DAA2C;AAC3C,0EAAwD;AACxD,sEAAoD;AACpD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,oEAAkD;AAClD,kEAAgD;AAEhD,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC;AACzC,yDAAuC;AACvC,2DAAyC;AACzC,yDAAuC;AAEvC,uDAAqC;AACrC,+DAA6C;AAC7C,6DAA2C;AAE3C,0CAAwB;AACxB,wCAAsB;AACtB,wCAAsB;AAEtB,gEAAgD;AAChD,wDAAwC;AACxC,wEAAwD;AACxD,8DAA8C;AAC9C,gEAAgD;AAChD,gEAAgD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,sDAAoC;AACpC,yDAAuC;AACvC,oDAAkC;AAClC,0DAAwC;AACxC,oDAAkC;AAClC,0DAAwC;AACxC,oDAAkC;AAClC,yDAAuC;AACvC,wDAAsC;AACtC,mDAAiC;AACjC,oDAAkC;AAElC,oDAAkC;AAClC,+DAA6C;AAC7C,gEAA8C;AAC9C,gEAA8C;AAC9C,qEAAmD;AACnD,mEAAiD;AACjD,4DAA0C;AAC1C,6DAA2C;AAC3C,0EAAwD;AACxD,sEAAoD;AACpD,mEAAiD;AACjD,oEAAkD;AAClD,oEAAkD;AAClD,oEAAkD;AAClD,kEAAgD;AAEhD,wDAAsC;AACtC,yDAAuC;AACvC,2DAAyC;AACzC,yDAAuC;AACvC,2DAAyC;AACzC,yDAAuC;AAEvC,uDAAqC;AACrC,+DAA6C;AAC7C,6DAA2C;AAE3C,0CAAwB;AACxB,wCAAsB;AACtB,wCAAsB;AAEtB,gEAAgD;AAChD,wDAAwC;AACxC,wEAAwD;AACxD,8DAA8C;AAC9C,gEAAgD;AAChD,gEAAgD;AAChD,8DAA8C"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import Grid from "@mui/material/Grid2";
|
|
2
|
+
import Stack from "@mui/material/Stack";
|
|
3
|
+
import TextField from "@mui/material/TextField";
|
|
4
|
+
import Typography from "@mui/material/Typography";
|
|
5
|
+
import React from "react";
|
|
6
|
+
import { useCardContext } from "../../contexts/CardContext";
|
|
7
|
+
import { useI18n } from "../../contexts/I18nContext";
|
|
8
|
+
import LabeledValue from "../LabeledValue";
|
|
9
|
+
export const CardFieldAddress = ({ label, value: defaultValue, required = false, isDisabled = false, size = "grow", isReadable = true, }) => {
|
|
10
|
+
const { isEditing } = useCardContext();
|
|
11
|
+
const { t } = useI18n();
|
|
12
|
+
return (React.createElement(Grid, { size: size }, isEditing ? (React.createElement(Stack, { direction: "column", spacing: 2 },
|
|
13
|
+
React.createElement(Typography, { sx: { fontWeight: 700 }, variant: "body1" }, t("Address")),
|
|
14
|
+
React.createElement(TextField, { name: "street_address", defaultValue: defaultValue?.street_address ?? "", label: t("Street Address"), variant: "outlined", required: required, disabled: isDisabled, fullWidth: true }),
|
|
15
|
+
React.createElement(TextField, { name: "street_address2", defaultValue: defaultValue?.street_address2 ?? "", label: t("Street Address 2"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true }),
|
|
16
|
+
React.createElement(TextField, { name: "care_of", defaultValue: defaultValue?.care_of ?? "", label: t("C/O"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true }),
|
|
17
|
+
React.createElement(Stack, { direction: "row", spacing: 2 },
|
|
18
|
+
React.createElement(TextField, { name: "postal_code", defaultValue: defaultValue?.postal_code ?? "", label: t("Postal Code"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true }),
|
|
19
|
+
React.createElement(TextField, { name: "city", defaultValue: defaultValue?.city ?? "", label: t("City"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true })),
|
|
20
|
+
React.createElement(Stack, { direction: "row", spacing: 2 },
|
|
21
|
+
React.createElement(TextField, { name: "country_code", defaultValue: defaultValue?.country_code ?? "", label: t("Country"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true }),
|
|
22
|
+
React.createElement(TextField, { name: "region", defaultValue: defaultValue?.region ?? "", label: t("Region"), variant: "outlined", required: false, disabled: isDisabled, fullWidth: true })))) : (isReadable && (React.createElement(LabeledValue, { label: label, value: Object.entries(defaultValue ?? {})
|
|
23
|
+
.map(([_, value]) => value)
|
|
24
|
+
.filter(Boolean)
|
|
25
|
+
.join("\n") })))));
|
|
26
|
+
};
|
|
27
|
+
export default CardFieldAddress;
|
|
28
|
+
//# sourceMappingURL=CardFieldAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CardFieldAddress.js","sourceRoot":"","sources":["../../../../src/components/Card/CardFieldAddress.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,22 @@
|
|
|
1
1
|
import Grid from "@mui/material/Grid2";
|
|
2
2
|
import { DatePicker, LocalizationProvider } from "@mui/x-date-pickers";
|
|
3
3
|
import { AdapterLuxon } from "@mui/x-date-pickers/AdapterLuxon";
|
|
4
|
-
import React from "react";
|
|
4
|
+
import React, { useState } from "react";
|
|
5
5
|
import { useCardContext } from "../../contexts/CardContext";
|
|
6
6
|
import LabeledValue from "../LabeledValue";
|
|
7
|
+
import { FormHelperText, Stack } from "@mui/material";
|
|
7
8
|
export const CardFieldDate = ({ label, formName, value: defaultValue, isDisabled = false, size = "grow", isReadable = true, sx, ...props }) => {
|
|
9
|
+
const [value, setValue] = useState(defaultValue);
|
|
8
10
|
const { isEditing } = useCardContext();
|
|
9
|
-
|
|
10
|
-
|
|
11
|
+
const handleDateChange = (date) => {
|
|
12
|
+
if (date != null)
|
|
13
|
+
setValue(date);
|
|
14
|
+
};
|
|
15
|
+
return (React.createElement(Grid, { size: size }, isEditing ? (React.createElement(Stack, { direction: "column" },
|
|
16
|
+
React.createElement(LocalizationProvider, { dateAdapter: AdapterLuxon },
|
|
17
|
+
React.createElement(DatePicker, { name: formName, defaultValue: defaultValue, label: label, disabled: isDisabled, sx: { width: "100%", ...sx }, onChange: handleDateChange, ...props }),
|
|
18
|
+
React.createElement("input", { "aria-hidden": true, disabled: isDisabled, type: "date", name: formName, onChange: () => console.error("Should not be called"), value: value?.toISODate() ?? "", style: { display: "none" } })),
|
|
19
|
+
props.helperText && React.createElement(FormHelperText, { sx: { ml: 2 } }, props.helperText))) : (isReadable && React.createElement(LabeledValue, { label: label, value: value?.toISODate() ?? "—" }))));
|
|
11
20
|
};
|
|
12
21
|
export default CardFieldDate;
|
|
13
22
|
//# sourceMappingURL=CardFieldDate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFieldDate.js","sourceRoot":"","sources":["../../../../src/components/Card/CardFieldDate.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"CardFieldDate.js","sourceRoot":"","sources":["../../../../src/components/Card/CardFieldDate.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAmB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAEhE,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAE3C,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAatD,MAAM,CAAC,MAAM,aAAa,GAA+C,CAAC,EACxE,KAAK,EACL,QAAQ,EACR,KAAK,EAAE,YAAY,EACnB,UAAU,GAAG,KAAK,EAClB,IAAI,GAAG,MAAM,EACb,UAAU,GAAG,IAAI,EACjB,EAAE,EACF,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAuB,YAAY,CAAC,CAAC;IACvE,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,MAAM,gBAAgB,GAAG,CAAC,IAAqB,EAAE,EAAE;QACjD,IAAI,IAAI,IAAI,IAAI;YAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,IACb,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,KAAK,IAAC,SAAS,EAAC,QAAQ;QACvB,oBAAC,oBAAoB,IAAC,WAAW,EAAE,YAAY;YAC7C,oBAAC,UAAU,IACT,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,YAAY,EAC1B,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,UAAU,EACpB,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,EAAE,EAC5B,QAAQ,EAAE,gBAAgB,KACtB,KAAK,GACT;YACF,oDAEE,QAAQ,EAAE,UAAU,EACpB,IAAI,EAAC,MAAM,EACX,IAAI,EAAE,QAAQ,EACd,QAAQ,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,sBAAsB,CAAC,EACrD,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,EAC/B,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAC1B,CACmB;QACtB,KAAK,CAAC,UAAU,IAAI,oBAAC,cAAc,IAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAG,KAAK,CAAC,UAAU,CAAkB,CACjF,CACT,CAAC,CAAC,CAAC,CACF,UAAU,IAAI,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,GAAG,GAAI,CAC/E,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import Grid from "@mui/material/Grid2";
|
|
1
2
|
import TextField from "@mui/material/TextField";
|
|
2
3
|
import React from "react";
|
|
3
4
|
import { useCardContext } from "../../contexts/CardContext";
|
|
4
5
|
import LabeledValue from "../LabeledValue";
|
|
5
|
-
import Grid from "@mui/material/Grid2";
|
|
6
6
|
export const CardFieldText = ({ label, formName, value: defaultValue, required = false, isDisabled = false, size = "grow", isReadable = true, ...props }) => {
|
|
7
7
|
const { isEditing } = useCardContext();
|
|
8
8
|
return (React.createElement(Grid, { size: size }, isEditing ? (React.createElement(TextField, { name: formName, defaultValue: defaultValue ?? "", label: label, variant: "outlined", required: required, disabled: isDisabled, fullWidth: true, ...props })) : (isReadable && React.createElement(LabeledValue, { label: label, value: defaultValue ?? "" }))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardFieldText.js","sourceRoot":"","sources":["../../../../src/components/Card/CardFieldText.tsx"],"names":[],"mappings":"AAAA,OAAO,SAA6B,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,YAAY,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CardFieldText.js","sourceRoot":"","sources":["../../../../src/components/Card/CardFieldText.tsx"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,qBAAqB,CAAC;AACvC,OAAO,SAA6B,MAAM,yBAAyB,CAAC;AACpE,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,YAAY,MAAM,iBAAiB,CAAC;AAe3C,MAAM,CAAC,MAAM,aAAa,GAA+C,CAAC,EACxE,KAAK,EACL,QAAQ,EACR,KAAK,EAAE,YAAY,EACnB,QAAQ,GAAG,KAAK,EAChB,UAAU,GAAG,KAAK,EAClB,IAAI,GAAG,MAAM,EACb,UAAU,GAAG,IAAI,EACjB,GAAG,KAAK,EACT,EAAE,EAAE;IACH,MAAM,EAAE,SAAS,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvC,OAAO,CACL,oBAAC,IAAI,IAAC,IAAI,EAAE,IAAI,IACb,SAAS,CAAC,CAAC,CAAC,CACX,oBAAC,SAAS,IACR,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,YAAY,IAAI,EAAE,EAChC,KAAK,EAAE,KAAK,EACZ,OAAO,EAAC,UAAU,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAU,EACpB,SAAS,WACL,KAAK,GACT,CACH,CAAC,CAAC,CAAC,CACF,UAAU,IAAI,oBAAC,YAAY,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,IAAI,EAAE,GAAI,CACxE,CACI,CACR,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
|
|
@@ -5,7 +5,7 @@ import { readFieldCSS } from "./Card/shared";
|
|
|
5
5
|
const LabeledValue = ({ label, value, compact, multiline }) => (React.createElement(Stack, { sx: readFieldCSS(Boolean(compact)) },
|
|
6
6
|
React.createElement(Typography, { variant: "subtitle2", sx: { color: "grey.600" } }, label),
|
|
7
7
|
React.createElement(Typography, { variant: compact ? "body2" : "body1", sx: {
|
|
8
|
-
whiteSpace: multiline ? "break-spaces" : "
|
|
8
|
+
whiteSpace: multiline ? "break-spaces" : "pre-wrap",
|
|
9
9
|
wordBreak: "break-all",
|
|
10
10
|
} }, value)));
|
|
11
11
|
export default memo(LabeledValue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LabeledValue.js","sourceRoot":"","sources":["../../../src/components/LabeledValue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAS7C,MAAM,YAAY,GAAgC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC1F,oBAAC,KAAK,IAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IACtD,KAAK,CACK;IAEb,oBAAC,UAAU,IACT,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EACpC,EAAE,EAAE;YACF,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"LabeledValue.js","sourceRoot":"","sources":["../../../src/components/LabeledValue.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,UAAU,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAS7C,MAAM,YAAY,GAAgC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAC1F,oBAAC,KAAK,IAAC,EAAE,EAAE,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,oBAAC,UAAU,IAAC,OAAO,EAAC,WAAW,EAAC,EAAE,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,IACtD,KAAK,CACK;IAEb,oBAAC,UAAU,IACT,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EACpC,EAAE,EAAE;YACF,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU;YACnD,SAAS,EAAE,WAAW;SACvB,IAEA,KAAK,CACK,CACP,CACT,CAAC;AAEF,eAAe,IAAI,CAAC,YAAY,CAAC,CAAC"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import Stack from "@mui/material/Stack";
|
|
3
|
+
import ClassIcon from "@mui/icons-material/Class";
|
|
4
|
+
import NumbersIcon from "@mui/icons-material/Numbers";
|
|
5
|
+
import AbcIcon from "@mui/icons-material/Abc";
|
|
6
|
+
import SearchIcon from "@mui/icons-material/Search";
|
|
7
|
+
import QuestionMarkOutlinedIcon from "@mui/icons-material/QuestionMarkOutlined";
|
|
8
|
+
import FormControl from "@mui/material/FormControl";
|
|
9
|
+
import IconButton from "@mui/material/IconButton";
|
|
10
|
+
import { useTheme } from "@mui/material/styles";
|
|
11
|
+
import ChipsInput from "./ChipsInput";
|
|
12
|
+
const ChipIcons = {
|
|
13
|
+
query: QuestionMarkOutlinedIcon,
|
|
14
|
+
code: NumbersIcon,
|
|
15
|
+
name: AbcIcon,
|
|
16
|
+
variant: ClassIcon,
|
|
17
|
+
};
|
|
18
|
+
export function parseSearchInput(input) {
|
|
19
|
+
if (!input)
|
|
20
|
+
return undefined;
|
|
21
|
+
if (input.includes(":")) {
|
|
22
|
+
const [type, value] = input.split(":");
|
|
23
|
+
switch (type.toLowerCase()) {
|
|
24
|
+
case "code":
|
|
25
|
+
return { code: value };
|
|
26
|
+
case "variant":
|
|
27
|
+
return { variant: value };
|
|
28
|
+
case "name":
|
|
29
|
+
return { name: value };
|
|
30
|
+
}
|
|
31
|
+
return undefined;
|
|
32
|
+
}
|
|
33
|
+
return { query: input };
|
|
34
|
+
}
|
|
35
|
+
export const SearchBar = ({ defaultValue, onChange, onSubmit }) => {
|
|
36
|
+
const theme = useTheme();
|
|
37
|
+
const [inputs, setInputs] = React.useState(defaultValue ?? []);
|
|
38
|
+
const chips = inputs.map((i) => {
|
|
39
|
+
if ("query" in i)
|
|
40
|
+
return i.query;
|
|
41
|
+
if ("code" in i)
|
|
42
|
+
return i.code;
|
|
43
|
+
if ("name" in i)
|
|
44
|
+
return i.name;
|
|
45
|
+
if ("variant" in i)
|
|
46
|
+
return i.variant;
|
|
47
|
+
throw new Error("Unreachable");
|
|
48
|
+
});
|
|
49
|
+
const handleChange = (inputs) => {
|
|
50
|
+
const newInputs = inputs.map(parseSearchInput).filter((v) => v != null);
|
|
51
|
+
setInputs(newInputs);
|
|
52
|
+
onChange?.(newInputs);
|
|
53
|
+
};
|
|
54
|
+
const renderChip = (Component, key, props) => {
|
|
55
|
+
const Icon = ChipIcons[Object.keys(parseSearchInput(props.title))[0]];
|
|
56
|
+
return React.createElement(Component, { key: key, ...props, icon: React.createElement(Icon, null) });
|
|
57
|
+
};
|
|
58
|
+
return (React.createElement(Stack, { sx: { width: "50%" }, component: "form", onSubmit: onSubmit },
|
|
59
|
+
React.createElement(FormControl, null,
|
|
60
|
+
React.createElement(IconButton, { size: "small", sx: {
|
|
61
|
+
position: "absolute",
|
|
62
|
+
left: theme.spacing(1),
|
|
63
|
+
top: "50%",
|
|
64
|
+
transform: "translateY(-50%)",
|
|
65
|
+
zIndex: 1,
|
|
66
|
+
}, "aria-label": "search", type: "submit" },
|
|
67
|
+
React.createElement(SearchIcon, null)),
|
|
68
|
+
React.createElement(ChipsInput, { placeholder: chips.length ? "" : "Search article", value: chips, renderChip: renderChip, onChange: handleChange, validate: (input) => parseSearchInput(input) !== undefined, variant: "outlined", size: "small", inputMode: "search", inputProps: {
|
|
69
|
+
autoComplete: "off",
|
|
70
|
+
} }))));
|
|
71
|
+
};
|
|
72
|
+
//# sourceMappingURL=SearchBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SearchBar.js","sourceRoot":"","sources":["../../../src/components/SearchBar.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TableRow, TableHead as MuiTableHead } from "@mui/material";
|
|
2
|
+
import React from "react";
|
|
3
|
+
const TableHead = ({ children }) => {
|
|
4
|
+
return (React.createElement(MuiTableHead, null,
|
|
5
|
+
React.createElement(TableRow, null, children)));
|
|
6
|
+
};
|
|
7
|
+
export default TableHead;
|
|
8
|
+
//# sourceMappingURL=TableHead.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableHead.js","sourceRoot":"","sources":["../../../../src/components/Table/TableHead.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,eAAe,CAAC;AACpE,OAAO,KAA4B,MAAM,OAAO,CAAC;AAIjD,MAAM,SAAS,GAA6B,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC3D,OAAO,CACL,oBAAC,YAAY;QACX,oBAAC,QAAQ,QAAE,QAAQ,CAAY,CAClB,CAChB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import MuiTablePagination from "@mui/material/TablePagination";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { useSearchParams } from "react-router-dom";
|
|
4
|
+
import { useTableContext } from "../../contexts/TableContext";
|
|
5
|
+
const TablePagination = (props) => {
|
|
6
|
+
const { count, page, setPage, rowsPerPage, setRowsPerPage } = useTableContext();
|
|
7
|
+
const [_, setSearchParams] = useSearchParams();
|
|
8
|
+
const handleChangePage = (event, newPage) => {
|
|
9
|
+
setPage(newPage);
|
|
10
|
+
setSearchParams((params) => [["page", newPage.toString()], ...params]);
|
|
11
|
+
};
|
|
12
|
+
const handleChangeRowsPerPage = (event) => {
|
|
13
|
+
setRowsPerPage(parseInt(event.target.value, 10));
|
|
14
|
+
setPage(0);
|
|
15
|
+
};
|
|
16
|
+
// TODO implement search params
|
|
17
|
+
// const handleChangeRowsPerPage = (
|
|
18
|
+
// event: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>,
|
|
19
|
+
// ) => {
|
|
20
|
+
// setSearchParams((params) => [
|
|
21
|
+
// // Reset page number to avoid "overflowing" the list and other unexpected behavior
|
|
22
|
+
// ["page", "0"],
|
|
23
|
+
// ["page_size", event.target.value],
|
|
24
|
+
// ...params,
|
|
25
|
+
// ]);
|
|
26
|
+
// };
|
|
27
|
+
// const setPageNumber = (number: number) => {
|
|
28
|
+
// setSearchParams((params) => [["page", number.toString()], ...params]);
|
|
29
|
+
// };
|
|
30
|
+
const defaultProps = {
|
|
31
|
+
rowsPerPageOptions: [5, 10, 25],
|
|
32
|
+
component: "div",
|
|
33
|
+
count: count,
|
|
34
|
+
rowsPerPage: rowsPerPage,
|
|
35
|
+
page: page,
|
|
36
|
+
onPageChange: handleChangePage,
|
|
37
|
+
onRowsPerPageChange: handleChangeRowsPerPage,
|
|
38
|
+
...props,
|
|
39
|
+
};
|
|
40
|
+
return React.createElement(MuiTablePagination, { ...defaultProps });
|
|
41
|
+
};
|
|
42
|
+
export default TablePagination;
|
|
43
|
+
//# sourceMappingURL=TablePagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TablePagination.js","sourceRoot":"","sources":["../../../../src/components/Table/TablePagination.tsx"],"names":[],"mappings":"AAAA,OAAO,kBAEN,MAAM,+BAA+B,CAAC;AACvC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAO9D,MAAM,eAAe,GAAmC,CAAC,KAAK,EAAE,EAAE;IAChE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,eAAe,EAAE,CAAC;IAChF,MAAM,CAAC,CAAC,EAAE,eAAe,CAAC,GAAG,eAAe,EAAE,CAAC;IAE/C,MAAM,gBAAgB,GAAG,CAAC,KAAc,EAAE,OAAe,EAAE,EAAE;QAC3D,OAAO,CAAC,OAAO,CAAC,CAAC;QACjB,eAAe,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,CAAC;IACzE,CAAC,CAAC;IAEF,MAAM,uBAAuB,GAAG,CAAC,KAA0C,EAAE,EAAE;QAC7E,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,CAAC,CAAC,CAAC;IACb,CAAC,CAAC;IAEF,+BAA+B;IAC/B,oCAAoC;IACpC,sEAAsE;IACtE,SAAS;IACT,kCAAkC;IAClC,yFAAyF;IACzF,qBAAqB;IACrB,yCAAyC;IACzC,iBAAiB;IACjB,QAAQ;IACR,KAAK;IAEL,8CAA8C;IAC9C,2EAA2E;IAC3E,KAAK;IAEL,MAAM,YAAY,GAA4B;QAC5C,kBAAkB,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;QAC/B,SAAS,EAAE,KAAK;QAChB,KAAK,EAAE,KAAK;QACZ,WAAW,EAAE,WAAW;QACxB,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,gBAAgB;QAC9B,mBAAmB,EAAE,uBAAuB;QAC5C,GAAG,KAAK;KACT,CAAC;IAEF,OAAO,oBAAC,kBAAkB,OAAK,YAAY,GAAI,CAAC;AAClD,CAAC,CAAC;AAEF,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import MuiTableRow from "@mui/material/TableRow";
|
|
3
|
+
import { useRouter } from "../../contexts/RouterContext";
|
|
4
|
+
export const TableRow = ({ route, routeParams, children }) => {
|
|
5
|
+
const { navigate } = useRouter();
|
|
6
|
+
const onClick = () => {
|
|
7
|
+
navigate(route, { params: routeParams });
|
|
8
|
+
};
|
|
9
|
+
return (React.createElement(MuiTableRow, { onClick: onClick, hover: true, sx: { cursor: "pointer" } }, children));
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=TableRow.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TableRow.js","sourceRoot":"","sources":["../../../../src/components/Table/TableRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAgB,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAOvE,MAAM,CAAC,MAAM,QAAQ,GAA4B,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpF,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,EAAE,CAAC;IAEjC,MAAM,OAAO,GAAG,GAAG,EAAE;QACnB,QAAQ,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,OAAO,CACL,oBAAC,WAAW,IAAC,OAAO,EAAE,OAAO,EAAE,KAAK,QAAC,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,IAC3D,QAAQ,CACG,CACf,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
// TODO Pagination
|
|
2
|
+
// TODO Sorting
|
|
3
|
+
import Paper from "@mui/material/Paper";
|
|
4
|
+
import MuiTable from "@mui/material/Table";
|
|
5
|
+
import TableContainer from "@mui/material/TableContainer";
|
|
6
|
+
import React, { useMemo } from "react";
|
|
7
|
+
import { TableContext } from "../../contexts/TableContext";
|
|
8
|
+
import TablePagination from "./TablePagination";
|
|
9
|
+
export const Table = ({ count, pagination, rowsPerPage: intialRowsPerPage, children, }) => {
|
|
10
|
+
const [page, setPage] = React.useState(0);
|
|
11
|
+
const [rowsPerPage, setRowsPerPage] = React.useState(intialRowsPerPage ?? 5);
|
|
12
|
+
// TODO Implement search params
|
|
13
|
+
// const [searchParams, setSearchParams] = useSearchParams();
|
|
14
|
+
const contextValues = useMemo(() => ({
|
|
15
|
+
count,
|
|
16
|
+
page,
|
|
17
|
+
setPage,
|
|
18
|
+
rowsPerPage,
|
|
19
|
+
setRowsPerPage,
|
|
20
|
+
}), [count, page, rowsPerPage]);
|
|
21
|
+
// const pageSize = useMemo(() => Number(searchParams.get("page_size") ?? 100), [searchParams]);
|
|
22
|
+
// const pageNumber = useMemo(() => Number(searchParams.get("page") ?? 0), [searchParams]);
|
|
23
|
+
// const searchInputs = useMemo(
|
|
24
|
+
// () => [
|
|
25
|
+
// ...searchParams.getAll("query").map((query) => ({ query })),
|
|
26
|
+
// ...searchParams.getAll("code").map((code) => ({ code })),
|
|
27
|
+
// ...searchParams.getAll("name").map((name) => ({ name })),
|
|
28
|
+
// ...searchParams.getAll("variant").map((variant) => ({ variant })),
|
|
29
|
+
// ],
|
|
30
|
+
// [searchParams],
|
|
31
|
+
// );
|
|
32
|
+
return (React.createElement(TableContainer, { component: Paper },
|
|
33
|
+
React.createElement(TableContext.Provider, { value: contextValues },
|
|
34
|
+
React.createElement(MuiTable, null, children),
|
|
35
|
+
pagination && React.createElement(TablePagination, null))));
|
|
36
|
+
};
|
|
37
|
+
export default MuiTable;
|
|
38
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/Table/index.tsx"],"names":[],"mappings":"AAAA,kBAAkB;AAClB,eAAe;AACf,OAAO,KAAK,MAAM,qBAAqB,CAAC;AACxC,OAAO,QAAQ,MAAM,qBAAqB,CAAC;AAC3C,OAAO,cAAc,MAAM,8BAA8B,CAAC;AAC1D,OAAO,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC3D,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAMhD,MAAM,CAAC,MAAM,KAAK,GAAyB,CAAC,EAC1C,KAAK,EACL,UAAU,EACV,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC1C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,iBAAiB,IAAI,CAAC,CAAC,CAAC;IAC7E,+BAA+B;IAC/B,6DAA6D;IAC7D,MAAM,aAAa,GAAG,OAAO,CAC3B,GAAG,EAAE,CAAC,CAAC;QACL,KAAK;QACL,IAAI;QACJ,OAAO;QACP,WAAW;QACX,cAAc;KACf,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAC3B,CAAC;IACF,gGAAgG;IAChG,2FAA2F;IAC3F,gCAAgC;IAChC,YAAY;IACZ,mEAAmE;IACnE,gEAAgE;IAChE,gEAAgE;IAChE,yEAAyE;IACzE,OAAO;IACP,oBAAoB;IACpB,KAAK;IAEL,OAAO,CACL,oBAAC,cAAc,IAAC,SAAS,EAAE,KAAK;QAC9B,oBAAC,YAAY,CAAC,QAAQ,IAAC,KAAK,EAAE,aAAa;YACzC,oBAAC,QAAQ,QAAE,QAAQ,CAAY;YAC9B,UAAU,IAAI,oBAAC,eAAe,OAAG,CACZ,CACT,CAClB,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/components/Table/types.ts"],"names":[],"mappings":""}
|
|
@@ -19,7 +19,6 @@ const PageLoader = ({ route, page, offline, request, defaultRequest, }) => {
|
|
|
19
19
|
const hasFetchedInitialData = useRef(false);
|
|
20
20
|
const [data, setData] = useState(null);
|
|
21
21
|
const throwError = useAsyncError();
|
|
22
|
-
// TODO: Please don't to this many requests man :(
|
|
23
22
|
const getData = async () => {
|
|
24
23
|
if (offline)
|
|
25
24
|
return;
|