@zosmaai/medusa-documents-v2 0.2.13
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/.medusa/server/src/admin/index.js +1884 -0
- package/.medusa/server/src/admin/index.mjs +1881 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/invoice-template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-invoice-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/route.js +62 -0
- package/.medusa/server/src/api/admin/documents/document-packing-slip-settings/template/route.js +40 -0
- package/.medusa/server/src/api/admin/documents/document-settings/document-address/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/document-settings/india-gst/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/logo/route.js +67 -0
- package/.medusa/server/src/api/admin/documents/document-settings/route.js +36 -0
- package/.medusa/server/src/api/admin/documents/invoice/display-number/route.js +34 -0
- package/.medusa/server/src/api/admin/documents/invoice/generate/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/invoice/route.js +112 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/preview/route.js +47 -0
- package/.medusa/server/src/api/admin/documents/packing-slip/route.js +112 -0
- package/.medusa/server/src/links/invoice-order.js +13 -0
- package/.medusa/server/src/links/packing-slip-order.js +13 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Bold.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/fonts/IBMPlexSans-Regular.ttf +0 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/de-AT/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/en/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/es/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/fr/translation.json +26 -0
- package/.medusa/server/src/modules/documents/assets/i18n/locales/pl/translation.json +26 -0
- package/.medusa/server/src/modules/documents/index.js +26 -0
- package/.medusa/server/src/modules/documents/loaders/i18next.js +49 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20250228142557.js +39 -0
- package/.medusa/server/src/modules/documents/migrations/Migration20260810120000.js +14 -0
- package/.medusa/server/src/modules/documents/models/document-invoice-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-invoice.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip-settings.js +29 -0
- package/.medusa/server/src/modules/documents/models/document-packing-slip.js +32 -0
- package/.medusa/server/src/modules/documents/models/document-settings.js +33 -0
- package/.medusa/server/src/modules/documents/service.js +502 -0
- package/.medusa/server/src/modules/documents/services/generators/invoice-generator.js +78 -0
- package/.medusa/server/src/modules/documents/services/generators/packing-slip-generator.js +73 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic-logo.js +55 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/customer-info.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-for-logo.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header-logo.js +29 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/header.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/hr.js +23 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/invoice-info.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/basic/parts/table.js +97 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/india-gst.js +72 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/footer.js +41 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/invoice-meta.js +22 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/seller-info.js +42 -0
- package/.medusa/server/src/modules/documents/services/templates/invoices/india-gst/parts/table.js +88 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/basic.js +52 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info-small.js +69 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/customer-info.js +65 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header-small.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/header.js +37 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/hr.js +32 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items-small.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-items.js +44 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info-small.js +35 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/parts/table-order-info.js +36 -0
- package/.medusa/server/src/modules/documents/services/templates/packing-slips/basic/small.js +53 -0
- package/.medusa/server/src/modules/documents/types/api.js +14 -0
- package/.medusa/server/src/modules/documents/types/constants.js +17 -0
- package/.medusa/server/src/modules/documents/types/dto.js +14 -0
- package/.medusa/server/src/modules/documents/types/template-kind.js +26 -0
- package/.medusa/server/src/modules/documents/utils/currency.js +18 -0
- package/.medusa/server/src/ui-components/actions-dropdown/actions-dropdown.js +15 -0
- package/.medusa/server/src/ui-components/actions-dropdown/invoice/button-generate-invoice.js +75 -0
- package/.medusa/server/src/ui-components/actions-dropdown/packing-slip/button-generate-packing-slip.js +72 -0
- package/.medusa/server/src/ui-components/index.js +21 -0
- package/.medusa/server/src/ui-components/orders/order-table/invoice-number-from-order.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/packing-slip-number.js +107 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-columns.js +172 -0
- package/.medusa/server/src/ui-components/orders/order-table/use-orders.js +145 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/currencies.js +1077 -0
- package/.medusa/server/src/ui-components/orders/order-table/utils/time.js +53 -0
- package/.medusa/server/src/ui-components/orders/order-table.js +134 -0
- package/.medusa/server/src/ui-components/settings/settings-address.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-india-gst.js +90 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice-display-number.js +55 -0
- package/.medusa/server/src/ui-components/settings/settings-invoice.js +139 -0
- package/.medusa/server/src/ui-components/settings/settings-logo.js +108 -0
- package/.medusa/server/src/ui-components/tabs/orders-tab.js +28 -0
- package/.medusa/server/src/ui-components/tabs/pro-tab.js +23 -0
- package/.medusa/server/src/ui-components/tabs/settings-tab.js +29 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-invoice-tab.js +153 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-packing-slip-tab.js +155 -0
- package/.medusa/server/src/ui-components/tabs/templates-tab/templates-tab.js +24 -0
- package/.medusa/server/src/ui-components/types/api.js +14 -0
- package/.medusa/server/src/ui-components/types/invoice.js +14 -0
- package/.medusa/server/src/ui-components/types/packing-slip.js +14 -0
- package/.medusa/server/src/ui-components/types/template-kind.js +26 -0
- package/.medusa/server/src/workflows/assign-invoice.js +31 -0
- package/.medusa/server/src/workflows/assign-packing-slip.js +31 -0
- package/README.md +171 -0
- package/package.json +103 -0
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.formatDateFilter = exports.relativeDateFormatToTimestamp = exports.addHours = exports.atMidnight = void 0;
|
|
7
|
+
const moment_1 = __importDefault(require("moment"));
|
|
8
|
+
const atMidnight = (date) => {
|
|
9
|
+
const result = (0, moment_1.default)(date);
|
|
10
|
+
if (!moment_1.default.isMoment(result)) {
|
|
11
|
+
console.log("date is not instance of Moment: ", date);
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
result.hour(0);
|
|
15
|
+
result.minute(0);
|
|
16
|
+
result.second(0);
|
|
17
|
+
result.millisecond(0);
|
|
18
|
+
return result;
|
|
19
|
+
};
|
|
20
|
+
exports.atMidnight = atMidnight;
|
|
21
|
+
const addHours = (date, hours) => {
|
|
22
|
+
return (0, moment_1.default)(date)?.add(hours, "hours");
|
|
23
|
+
};
|
|
24
|
+
exports.addHours = addHours;
|
|
25
|
+
/**
|
|
26
|
+
* The format is: [gt]=number|option
|
|
27
|
+
* e.g: [gt]=2|days
|
|
28
|
+
* @param {*} value
|
|
29
|
+
*/
|
|
30
|
+
const relativeDateFormatToTimestamp = (value) => {
|
|
31
|
+
const [count, option] = value.split("|");
|
|
32
|
+
// relative days are always subtract
|
|
33
|
+
let date = (0, moment_1.default)();
|
|
34
|
+
date.subtract(parseInt(count), option);
|
|
35
|
+
date = (0, exports.atMidnight)(date);
|
|
36
|
+
const result = `${date.format("X")}`;
|
|
37
|
+
return result;
|
|
38
|
+
};
|
|
39
|
+
exports.relativeDateFormatToTimestamp = relativeDateFormatToTimestamp;
|
|
40
|
+
// Takes in a value from the date picker e.g. 42|days or a timestamp
|
|
41
|
+
const formatDateFilter = (filter) => {
|
|
42
|
+
return Object.entries(filter).reduce((acc, [key, value]) => {
|
|
43
|
+
if (typeof value === 'string' && value.includes("|")) {
|
|
44
|
+
acc[key] = (0, exports.relativeDateFormatToTimestamp)(value);
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
acc[key] = value;
|
|
48
|
+
}
|
|
49
|
+
return acc;
|
|
50
|
+
}, {});
|
|
51
|
+
};
|
|
52
|
+
exports.formatDateFilter = formatDateFilter;
|
|
53
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL29yZGVycy9vcmRlci10YWJsZS91dGlscy90aW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLG9EQUEyQjtBQUVwQixNQUFNLFVBQVUsR0FBRyxDQUFDLElBQUksRUFBRSxFQUFFO0lBQ2pDLE1BQU0sTUFBTSxHQUFHLElBQUEsZ0JBQU0sRUFBQyxJQUFJLENBQUMsQ0FBQTtJQUMzQixJQUFJLENBQUMsZ0JBQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLENBQUMsR0FBRyxDQUFDLGtDQUFrQyxFQUFFLElBQUksQ0FBQyxDQUFBO1FBQ3JELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQztJQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDZCxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2hCLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDaEIsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUVyQixPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUMsQ0FBQTtBQVpZLFFBQUEsVUFBVSxjQVl0QjtBQUVNLE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBSSxFQUFFLEtBQUssRUFBRSxFQUFFO0lBQ3RDLE9BQU8sSUFBQSxnQkFBTSxFQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDMUMsQ0FBQyxDQUFBO0FBRlksUUFBQSxRQUFRLFlBRXBCO0FBRUQ7Ozs7R0FJRztBQUVJLE1BQU0sNkJBQTZCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsRUFBRTtJQUNyRCxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7SUFFeEMsb0NBQW9DO0lBQ3BDLElBQUksSUFBSSxHQUFHLElBQUEsZ0JBQU0sR0FBRSxDQUFBO0lBRW5CLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFLE1BQU0sQ0FBQyxDQUFBO0lBQ3RDLElBQUksR0FBRyxJQUFBLGtCQUFVLEVBQUMsSUFBSSxDQUFFLENBQUE7SUFFeEIsTUFBTSxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUE7SUFFcEMsT0FBTyxNQUFNLENBQUE7QUFDZixDQUFDLENBQUE7QUFaWSxRQUFBLDZCQUE2QixpQ0FZekM7QUFFRCxvRUFBb0U7QUFDN0QsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLE1BQU0sRUFBRSxFQUFFO0lBQ3pDLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtRQUN6RCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsSUFBSSxLQUFLLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDckQsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUEscUNBQTZCLEVBQUMsS0FBSyxDQUFDLENBQUE7UUFDakQsQ0FBQzthQUFNLENBQUM7WUFDTixHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFBO1FBQ2xCLENBQUM7UUFDRCxPQUFPLEdBQUcsQ0FBQTtJQUNaLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtBQUNSLENBQUMsQ0FBQTtBQVRZLFFBQUEsZ0JBQWdCLG9CQVM1QiJ9
|
|
@@ -0,0 +1,134 @@
|
|
|
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 () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
+
};
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
40
|
+
const clsx_1 = __importDefault(require("clsx"));
|
|
41
|
+
const react_1 = __importStar(require("react"));
|
|
42
|
+
const react_router_dom_1 = require("react-router-dom");
|
|
43
|
+
const react_table_1 = require("react-table");
|
|
44
|
+
const use_columns_1 = __importDefault(require("./order-table/use-columns"));
|
|
45
|
+
const use_orders_1 = require("./order-table/use-orders");
|
|
46
|
+
const ui_1 = require("@medusajs/ui");
|
|
47
|
+
const defaultQueryProps = {
|
|
48
|
+
expand: "customer,shipping_address,billing_address,items",
|
|
49
|
+
fields: "id,status,display_id,created_at,email,fulfillment_status,payment_status,total,currency_code,metadata",
|
|
50
|
+
};
|
|
51
|
+
const OrderTable = ({ setContextFilters }) => {
|
|
52
|
+
const location = (0, react_router_dom_1.useLocation)();
|
|
53
|
+
const [ordersResult, setOrdersResult] = (0, react_1.useState)(undefined);
|
|
54
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
55
|
+
let hiddenColumns = ["sales_channel"];
|
|
56
|
+
const { paginate, queryObject } = (0, use_orders_1.useOrderFilters)(defaultQueryProps);
|
|
57
|
+
const offs = 0;
|
|
58
|
+
const lim = queryObject.limit;
|
|
59
|
+
const [numPages, setNumPages] = (0, react_1.useState)(0);
|
|
60
|
+
// const defaultQueryProps = {
|
|
61
|
+
// expand: "customer,shipping_address,billing_address,items",
|
|
62
|
+
// fields:
|
|
63
|
+
// "id,status,display_id,created_at,email,fulfillment_status,payment_status,total,currency_code,metadata",
|
|
64
|
+
// }
|
|
65
|
+
(0, react_1.useEffect)(() => {
|
|
66
|
+
if (!isLoading) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
fetch(`/admin/orders?order=-created_at&fields=id,status,display_id,created_at,email,fulfillment_status,payment_status,total,currency_code,metadata,items,*customer&limit=${ordersResult?.limit ?? queryObject.limit}`, {
|
|
70
|
+
credentials: "include",
|
|
71
|
+
})
|
|
72
|
+
.then((res) => res.json())
|
|
73
|
+
.then((result) => {
|
|
74
|
+
setOrdersResult(result);
|
|
75
|
+
setLoading(false);
|
|
76
|
+
})
|
|
77
|
+
.catch((error) => {
|
|
78
|
+
console.error(error);
|
|
79
|
+
});
|
|
80
|
+
}, []);
|
|
81
|
+
(0, react_1.useEffect)(() => {
|
|
82
|
+
const controlledPageCount = Math.ceil(ordersResult ? ordersResult.count / queryObject.limit : 0);
|
|
83
|
+
setNumPages(controlledPageCount);
|
|
84
|
+
}, [ordersResult]);
|
|
85
|
+
const [columns] = (0, use_columns_1.default)();
|
|
86
|
+
const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow, canPreviousPage, canNextPage, pageCount, gotoPage, nextPage, previousPage,
|
|
87
|
+
// Get the state from the instance
|
|
88
|
+
state: { pageIndex }, } = (0, react_table_1.useTable)({
|
|
89
|
+
columns,
|
|
90
|
+
data: ordersResult ? ordersResult.orders : [],
|
|
91
|
+
manualPagination: true,
|
|
92
|
+
initialState: {
|
|
93
|
+
pageSize: lim,
|
|
94
|
+
pageIndex: offs / lim,
|
|
95
|
+
hiddenColumns,
|
|
96
|
+
},
|
|
97
|
+
pageCount: numPages,
|
|
98
|
+
autoResetPage: false,
|
|
99
|
+
}, react_table_1.usePagination);
|
|
100
|
+
const handleNext = () => {
|
|
101
|
+
if (canNextPage) {
|
|
102
|
+
paginate(1);
|
|
103
|
+
nextPage();
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
const handlePrev = () => {
|
|
107
|
+
if (canPreviousPage) {
|
|
108
|
+
paginate(-1);
|
|
109
|
+
previousPage();
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
(0, react_1.useEffect)(() => {
|
|
113
|
+
setLoading(true);
|
|
114
|
+
fetch(`/admin/orders?order=-created_at&fields=id,status,display_id,created_at,email,fulfillment_status,payment_status,total,currency_code,metadata,items,*customer&offset=${pageIndex * queryObject.limit}&limit=${queryObject.limit}`, {
|
|
115
|
+
credentials: "include",
|
|
116
|
+
})
|
|
117
|
+
.then((res) => res.json())
|
|
118
|
+
.then((result) => {
|
|
119
|
+
setOrdersResult(result);
|
|
120
|
+
setLoading(false);
|
|
121
|
+
})
|
|
122
|
+
.catch((error) => {
|
|
123
|
+
console.error(error);
|
|
124
|
+
});
|
|
125
|
+
}, [pageIndex]);
|
|
126
|
+
return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsxs)(ui_1.Table, { ...getTableProps(), className: (0, clsx_1.default)({ ["relative"]: isLoading }), children: [(0, jsx_runtime_1.jsx)(ui_1.Table.Header, { children: headerGroups?.map((headerGroup, i) => ((0, jsx_runtime_1.jsx)(ui_1.Table.Row, { ...headerGroup.getHeaderGroupProps(), children: headerGroup.headers.map((col, j) => ((0, jsx_runtime_1.jsx)(ui_1.Table.HeaderCell, { ...col.getHeaderProps(), children: col.render("Header") }, "header_" + j))) }, "headerGroup_" + i))) }), (0, jsx_runtime_1.jsx)(ui_1.Table.Body, { ...getTableBodyProps(), children: rows.map((row, i) => {
|
|
127
|
+
prepareRow(row);
|
|
128
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.Table.Row, { color: "inherit", linkTo: row.original.id, ...row.getRowProps(), className: "group", children: row.cells.map((cell, j) => {
|
|
129
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.Table.Cell, { ...cell.getCellProps(), className: "inter-small-regular h-[40px]", children: cell.render("Cell") }, "body_cell_" + j));
|
|
130
|
+
}) }, "body_row_" + i));
|
|
131
|
+
}) })] }), (0, jsx_runtime_1.jsx)(ui_1.Table.Pagination, { count: ordersResult ? ordersResult.count : 0, pageSize: queryObject.limit, pageIndex: pageIndex, pageCount: pageCount, canPreviousPage: canPreviousPage, canNextPage: canNextPage, previousPage: handlePrev, nextPage: handleNext })] }));
|
|
132
|
+
};
|
|
133
|
+
exports.default = react_1.default.memo(OrderTable);
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3JkZXItdGFibGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvdWktY29tcG9uZW50cy9vcmRlcnMvb3JkZXItdGFibGUudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUF3QjtBQUN4QiwrQ0FBbUQ7QUFDbkQsdURBQStDO0FBQy9DLDZDQUFzRDtBQUN0RCw0RUFBNEQ7QUFDNUQseURBQTJEO0FBQzNELHFDQUFxQztBQUVyQyxNQUFNLGlCQUFpQixHQUFHO0lBQ3hCLE1BQU0sRUFBRSxpREFBaUQ7SUFDekQsTUFBTSxFQUNKLHNHQUFzRztDQUN6RyxDQUFDO0FBYUYsTUFBTSxVQUFVLEdBQUcsQ0FBQyxFQUFFLGlCQUFpQixFQUFtQixFQUFFLEVBQUU7SUFDNUQsTUFBTSxRQUFRLEdBQUcsSUFBQSw4QkFBVyxHQUFFLENBQUM7SUFFL0IsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQzlDLFNBQVMsQ0FDVixDQUFDO0lBQ0YsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsSUFBSSxDQUFDLENBQUM7SUFFL0MsSUFBSSxhQUFhLEdBQUcsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUV0QyxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxHQUFHLElBQUEsNEJBQWUsRUFBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRXJFLE1BQU0sSUFBSSxHQUFHLENBQUMsQ0FBQztJQUNmLE1BQU0sR0FBRyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFFOUIsTUFBTSxDQUFDLFFBQVEsRUFBRSxXQUFXLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsQ0FBQyxDQUFDLENBQUM7SUFFNUMsOEJBQThCO0lBQzlCLCtEQUErRDtJQUMvRCxZQUFZO0lBQ1osOEdBQThH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
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
/*
|
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
6
|
+
*
|
|
7
|
+
* MIT License
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
const ui_1 = require("@medusajs/ui");
|
|
16
|
+
const material_1 = require("@mui/material");
|
|
17
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
18
|
+
const ui_2 = require("@medusajs/ui");
|
|
19
|
+
const react_1 = require("react");
|
|
20
|
+
const AddressField = ({ name, placeholder, initValue, register }) => {
|
|
21
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', spacing: 1, marginTop: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: "small", children: name }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { placeholder: placeholder, ...register, defaultValue: initValue }) })] }));
|
|
22
|
+
};
|
|
23
|
+
const AddressForm = ({ address, setOpenModal }) => {
|
|
24
|
+
const { register, handleSubmit } = (0, react_hook_form_1.useForm)();
|
|
25
|
+
const onSubmit = (data) => {
|
|
26
|
+
fetch(`/admin/documents/document-settings/document-address`, {
|
|
27
|
+
method: "POST",
|
|
28
|
+
credentials: "include",
|
|
29
|
+
headers: {
|
|
30
|
+
"Content-Type": "application/json",
|
|
31
|
+
},
|
|
32
|
+
body: JSON.stringify({
|
|
33
|
+
address: data
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
.then(async (response) => {
|
|
37
|
+
if (response.ok) {
|
|
38
|
+
ui_2.toast.success('Address', {
|
|
39
|
+
description: "New address saved",
|
|
40
|
+
});
|
|
41
|
+
setOpenModal(false);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const error = await response.json();
|
|
45
|
+
ui_2.toast.error('Address', {
|
|
46
|
+
description: `Address cannot be saved. ${error.message}`,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
.catch((e) => {
|
|
51
|
+
ui_2.toast.error('Address', {
|
|
52
|
+
description: `Address cannot be saved. ${e.toString()}`,
|
|
53
|
+
});
|
|
54
|
+
console.error(e);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)("form", { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', rowSpacing: 4, paddingTop: 8, children: [(0, jsx_runtime_1.jsx)(AddressField, { name: "Company name", placeholder: 'My store', register: register('company'), initValue: address?.company }), (0, jsx_runtime_1.jsx)(AddressField, { name: "First name", placeholder: 'John', register: register('first_name'), initValue: address?.first_name }), (0, jsx_runtime_1.jsx)(AddressField, { name: "Last name", placeholder: 'Doe', register: register('last_name'), initValue: address?.last_name }), (0, jsx_runtime_1.jsx)(AddressField, { name: "Address", placeholder: '56 Street', register: register('address_1'), initValue: address?.address_1 }), (0, jsx_runtime_1.jsx)(AddressField, { name: "City", placeholder: 'Warsaw', register: register('city'), initValue: address?.city }), (0, jsx_runtime_1.jsx)(AddressField, { name: "Postal code", placeholder: '55-200', register: register('postal_code'), initValue: address?.postal_code }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { type: "submit", variant: 'primary', onClick: handleSubmit(onSubmit), children: "Save" }) })] }) }));
|
|
58
|
+
};
|
|
59
|
+
const AddressModalDetails = ({ setOpenModal }) => {
|
|
60
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
61
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
62
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
63
|
+
(0, react_1.useEffect)(() => {
|
|
64
|
+
if (!isLoading) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
fetch(`/admin/documents/document-settings`, {
|
|
68
|
+
credentials: "include",
|
|
69
|
+
})
|
|
70
|
+
.then((res) => res.json())
|
|
71
|
+
.then((result) => {
|
|
72
|
+
setData(result);
|
|
73
|
+
setLoading(false);
|
|
74
|
+
})
|
|
75
|
+
.catch((error) => {
|
|
76
|
+
setError(error);
|
|
77
|
+
console.error(error);
|
|
78
|
+
});
|
|
79
|
+
}, [isLoading]);
|
|
80
|
+
if (isLoading) {
|
|
81
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsx)(material_1.CircularProgress, {}) }));
|
|
82
|
+
}
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', alignContent: 'center', paddingTop: 8, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Heading, { children: "Store address" }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: "This address will be used on your documents." }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: "Presence of field on document depends on template." }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(AddressForm, { address: data?.settings?.storeAddress, setOpenModal: setOpenModal }) })] }) }));
|
|
84
|
+
};
|
|
85
|
+
const AddressChangeModal = () => {
|
|
86
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
87
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.FocusModal, { open: open, onOpenChange: setOpen, children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { children: "Change address" }) }), (0, jsx_runtime_1.jsxs)(ui_1.FocusModal.Content, { children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Header, {}), (0, jsx_runtime_1.jsx)(AddressModalDetails, { setOpenModal: setOpen })] })] }));
|
|
88
|
+
};
|
|
89
|
+
exports.default = AddressChangeModal;
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtYWRkcmVzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLWFkZHJlc3MudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxxQ0FBOEU7QUFDOUUsNENBQXVEO0FBQ3ZELHFEQUEwQztBQUMxQyxxQ0FBcUM7QUFDckMsaUNBQTRDO0FBRzVDLE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQTJFLEVBQUUsRUFBRTtJQUMzSSxPQUFPLENBQ0wsd0JBQUMsZUFBSSxJQUFDLFNBQVMsUUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsU0FBUyxFQUFFLENBQUMsYUFDM0QsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsVUFBSyxJQUFDLElBQUksRUFBQyxPQUFPLFlBQ2hCLElBQUksR0FDQyxHQUNILEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsVUFBSyxJQUNKLFdBQVcsRUFBRSxXQUFXLEtBQ3BCLFFBQVEsRUFDWixZQUFZLEVBQUUsU0FBUyxHQUN2QixHQUNHLElBQ0YsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxXQUFXLEdBQUcsQ0FBQyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQW1ELEVBQUUsRUFBRTtJQUVqRyxNQUFNLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxHQUFHLElBQUEseUJBQU8sR0FBbUIsQ0FBQTtJQUU3RCxNQUFNLFFBQVEsR0FBRyxDQUFDLElBQXFCLEVBQUUsRUFBRTtRQUN6QyxLQUFLLENBQUMscURBQXFELEVBQUU7WUFDM0QsTUFBTSxFQUFFLE1BQU07WUFDZCxXQUFXLEVBQUUsU0FBUztZQUN0QixPQUFPLEVBQUU7Z0JBQ1As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
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
/*
|
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
6
|
+
*
|
|
7
|
+
* MIT License
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
const ui_1 = require("@medusajs/ui");
|
|
16
|
+
const material_1 = require("@mui/material");
|
|
17
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
18
|
+
const ui_2 = require("@medusajs/ui");
|
|
19
|
+
const react_1 = require("react");
|
|
20
|
+
const GstField = ({ name, placeholder, initValue, register }) => {
|
|
21
|
+
return ((0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', spacing: 1, marginTop: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: "small", children: name }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { placeholder: placeholder, ...register, defaultValue: initValue }) })] }));
|
|
22
|
+
};
|
|
23
|
+
const IndiaGstForm = ({ details, setOpenModal }) => {
|
|
24
|
+
const { register, handleSubmit } = (0, react_hook_form_1.useForm)();
|
|
25
|
+
const onSubmit = (data) => {
|
|
26
|
+
fetch(`/admin/documents/document-settings/india-gst`, {
|
|
27
|
+
method: "POST",
|
|
28
|
+
credentials: "include",
|
|
29
|
+
headers: {
|
|
30
|
+
"Content-Type": "application/json",
|
|
31
|
+
},
|
|
32
|
+
body: JSON.stringify({
|
|
33
|
+
indiaGstDetails: data
|
|
34
|
+
})
|
|
35
|
+
})
|
|
36
|
+
.then(async (response) => {
|
|
37
|
+
if (response.ok) {
|
|
38
|
+
ui_2.toast.success('India GST details', {
|
|
39
|
+
description: "New details saved",
|
|
40
|
+
});
|
|
41
|
+
setOpenModal(false);
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const error = await response.json();
|
|
45
|
+
ui_2.toast.error('India GST details', {
|
|
46
|
+
description: `Details cannot be saved. ${error.message}`,
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
})
|
|
50
|
+
.catch((e) => {
|
|
51
|
+
ui_2.toast.error('India GST details', {
|
|
52
|
+
description: `Details cannot be saved. ${e.toString()}`,
|
|
53
|
+
});
|
|
54
|
+
console.error(e);
|
|
55
|
+
});
|
|
56
|
+
};
|
|
57
|
+
return ((0, jsx_runtime_1.jsx)("form", { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', rowSpacing: 4, paddingTop: 8, children: [(0, jsx_runtime_1.jsx)(GstField, { name: "Legal Name", placeholder: "SensaLabs Wellness Private Limited", register: register('legalName'), initValue: details?.legalName }), (0, jsx_runtime_1.jsx)(GstField, { name: "GSTIN", placeholder: "27ABSCS6019B1ZX", register: register('gstin'), initValue: details?.gstin }), (0, jsx_runtime_1.jsx)(GstField, { name: "PAN", placeholder: "ABSCS6019B", register: register('pan'), initValue: details?.pan }), (0, jsx_runtime_1.jsx)(GstField, { name: "CIN (optional)", placeholder: "U12345MH2020PTC123456", register: register('cin'), initValue: details?.cin }), (0, jsx_runtime_1.jsx)(GstField, { name: "Signature image URL (optional)", placeholder: "https://.../signature.png", register: register('signatureSource'), initValue: details?.signatureSource }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { type: "submit", variant: 'primary', onClick: handleSubmit(onSubmit), children: "Save" }) })] }) }));
|
|
58
|
+
};
|
|
59
|
+
const IndiaGstModalDetails = ({ setOpenModal }) => {
|
|
60
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
61
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
62
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
63
|
+
(0, react_1.useEffect)(() => {
|
|
64
|
+
if (!isLoading) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
fetch(`/admin/documents/document-settings/india-gst`, {
|
|
68
|
+
credentials: "include",
|
|
69
|
+
})
|
|
70
|
+
.then((res) => res.json())
|
|
71
|
+
.then((result) => {
|
|
72
|
+
setData(result);
|
|
73
|
+
setLoading(false);
|
|
74
|
+
})
|
|
75
|
+
.catch((error) => {
|
|
76
|
+
setError(error);
|
|
77
|
+
console.error(error);
|
|
78
|
+
});
|
|
79
|
+
}, [isLoading]);
|
|
80
|
+
if (isLoading) {
|
|
81
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsx)(material_1.CircularProgress, {}) }));
|
|
82
|
+
}
|
|
83
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', alignContent: 'center', paddingTop: 8, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Heading, { children: "India GST details" }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: "Used on the India GST invoice template. GSTIN and Legal Name are required to generate that template." }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: "Optional fields (CIN, signature) are only printed when a value is set." }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(IndiaGstForm, { details: data?.indiaGstDetails, setOpenModal: setOpenModal }) })] }) }));
|
|
84
|
+
};
|
|
85
|
+
const IndiaGstChangeModal = () => {
|
|
86
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
87
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.FocusModal, { open: open, onOpenChange: setOpen, children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { children: "India GST details" }) }), (0, jsx_runtime_1.jsxs)(ui_1.FocusModal.Content, { children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Header, {}), (0, jsx_runtime_1.jsx)(IndiaGstModalDetails, { setOpenModal: setOpen })] })] }));
|
|
88
|
+
};
|
|
89
|
+
exports.default = IndiaGstChangeModal;
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtaW5kaWEtZ3N0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL3VpLWNvbXBvbmVudHMvc2V0dGluZ3Mvc2V0dGluZ3MtaW5kaWEtZ3N0LnRzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7Ozs7Ozs7OztHQVVHO0FBRUgscUNBQThFO0FBQzlFLDRDQUF1RDtBQUN2RCxxREFBMEM7QUFDMUMscUNBQW9DO0FBQ3BDLGlDQUE0QztBQVU1QyxNQUFNLFFBQVEsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUE0RSxFQUFFLEVBQUU7SUFDeEksT0FBTyxDQUNMLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLGFBQzNELHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFVBQUssSUFBQyxJQUFJLEVBQUMsT0FBTyxZQUNoQixJQUFJLEdBQ0MsR0FDSCxFQUNQLHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFVBQUssSUFDSixXQUFXLEVBQUUsV0FBVyxLQUNwQixRQUFRLEVBQ1osWUFBWSxFQUFFLFNBQVMsR0FDdkIsR0FDRyxJQUNGLENBQ1IsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sWUFBWSxHQUFHLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxFQUFvRCxFQUFFLEVBQUU7SUFFbkcsTUFBTSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsR0FBRyxJQUFBLHlCQUFPLEdBQW1CLENBQUE7SUFFN0QsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDekMsS0FBSyxDQUFDLDhDQUE4QyxFQUFFO1lBQ3BELE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsZUFBZSxFQUFFLElBQUk7YUFDdEIsQ0FBQztTQUNILENBQUM7YUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3ZCLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixVQUFLLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFO29CQUNqQyxXQUFXLEVBQUUsbUJBQW1CO2lCQUNqQyxDQUFDLENBQUM7Z0JBQ0gsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsVUFBSyxDQUFDLEtBQUssQ0FBQyxtQkFBbUIsRUFBRTtvQkFDL0IsV0FBVyxFQUFFLDRCQUE0QixLQUFLLENBQUMsT0FBTyxFQUFFO2lCQUN6RCxDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDWCxVQUFLLENBQUMsS0FBSyxDQUFDLG1CQUFtQixFQUFFO2dCQUMvQixXQUFXLEVBQUUsNEJBQTRCLENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTthQUN4RCxDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0lBRUQsT0FBTyxDQUNMLDJDQUNFLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxDQUFDLGFBQy9ELHVCQUFDLFFBQVEsSUFDUCxJQUFJLEVBQUMsWUFBWSxFQUNqQixXQUFXLEVBQUMsb0NBQW9DLEVBQ2hELFFBQVEsRUFBRSxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQy9CLFNBQVMsRUFBRSxPQUFPLEVBQUUsU0FBUyxHQUM3QixFQUNGLHVCQUFDLFFBQVEsSUFDUCxJQUFJLEVBQUMsT0FBTyxFQUNaLFdBQVcsRUFBQyxpQkFBaUIsRUFDN0IsUUFBUSxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsRUFDM0IsU0FBUyxFQUFFLE9BQU8sRUFBRSxLQUFLLEdBQ3pCLEVBQ0YsdUJBQUMsUUFBUSxJQUNQLElBQUksRUFBQyxLQUFLLEVBQ1YsV0FBVyxFQUFDLFlBQVksRUFDeEIsUUFBUSxFQUFFLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFDekIsU0FBUyxFQUFFLE9BQU8sRUFBRSxHQUFHLEdBQ3ZCLEVBQ0YsdUJBQUMsUUFBUSxJQUNQLElBQUksRUFBQyxnQkFBZ0IsRUFDckIsV0FBVyxFQUFDLHVCQUF1QixFQUNuQyxRQUFRLEVBQUUsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUN6QixTQUFTLEVBQUUsT0FBTyxFQUFFLEdBQUcsR0FDdkIsRUFDRix1QkFBQyxRQUFRLElBQ1AsSUFBSSxFQUFDLGdDQUFnQyxFQUNyQyxXQUFXLEVBQUMsMkJBQTJCLEVBQ3ZDLFFBQVEsRUFBRSxRQUFRLENBQUMsaUJBQWlCLENBQUMsRUFDckMsU0FBUyxFQUFFLE9BQU8sRUFBRSxlQUFlLEdBQ25DLEVBQ0YsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsV0FBTSxJQUNMLElBQUksRUFBQyxRQUFRLEVBQ2IsT0FBTyxFQUFFLFNBQVMsRUFDbEIsT0FBTyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBR3hCLEdBQ0osSUFDRixHQUNGLENBQ1IsQ0FBQTtBQUNILENBQUMsQ0FBQTtBQUVELE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUU7SUFFaEQsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQWtCLFNBQVMsQ0FBQyxDQUFBO0lBRTVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBRTlDLElBQUEsaUJBQVMsRUFBQyxHQUFHLEVBQUU7UUFDYixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7WUFDZixPQUFPO1FBQ1QsQ0FBQztRQUVELEtBQUssQ0FBQyw4Q0FBOEMsRUFBRTtZQUNwRCxXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDekIsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDZixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFFZixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUNMLHVCQUFDLGVBQVUsQ0FBQyxJQUFJLGNBQ2QsdUJBQUMsMkJBQWdCLEtBQUUsR0FDSCxDQUNuQixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FDTCx1QkFBQyxlQUFVLENBQUMsSUFBSSxjQUNkLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLGFBQ3hFLHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFlBQU8sb0NBQTRCLEdBQy9CLEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsU0FBSSx1SEFFRSxHQUNGLEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsU0FBSSx5RkFFRSxHQUNGLEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsWUFBWSxJQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsZUFBOEMsRUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFHLEdBQ3JHLElBQ0YsR0FDUyxDQUNuQixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxtQkFBbUIsR0FBRyxHQUFHLEVBQUU7SUFDL0IsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLENBQUE7SUFFdkMsT0FBTyxDQUNMLHdCQUFDLGVBQVUsSUFDVCxJQUFJLEVBQUUsSUFBSSxFQUNWLFlBQVksRUFBRSxPQUFPLGFBRXJCLHVCQUFDLGVBQVUsQ0FBQyxPQUFPLElBQUMsT0FBTyxrQkFDekIsdUJBQUMsV0FBTSxvQ0FBMkIsR0FDZixFQUNyQix3QkFBQyxlQUFVLENBQUMsT0FBTyxlQUNqQix1QkFBQyxlQUFVLENBQUMsTUFBTSxLQUFFLEVBQ3BCLHVCQUFDLG9CQUFvQixJQUFDLFlBQVksRUFBRSxPQUFPLEdBQUcsSUFDM0IsSUFDVixDQUNkLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCxrQkFBZSxtQkFBbUIsQ0FBQSJ9
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
|
+
/*
|
|
5
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
6
|
+
*
|
|
7
|
+
* MIT License
|
|
8
|
+
*
|
|
9
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
+
* See the License for the specific language governing permissions and
|
|
13
|
+
* limitations under the License.
|
|
14
|
+
*/
|
|
15
|
+
const ui_1 = require("@medusajs/ui");
|
|
16
|
+
const material_1 = require("@mui/material");
|
|
17
|
+
const react_1 = require("react");
|
|
18
|
+
const InvoiceSettingsDisplayNumber = ({ formatNumber, forcedNumber }) => {
|
|
19
|
+
const result = new URLSearchParams();
|
|
20
|
+
if (formatNumber) {
|
|
21
|
+
result.append('formatNumber', formatNumber);
|
|
22
|
+
}
|
|
23
|
+
if (forcedNumber) {
|
|
24
|
+
result.append('forcedNumber', forcedNumber.toString());
|
|
25
|
+
}
|
|
26
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
27
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
28
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
29
|
+
(0, react_1.useEffect)(() => {
|
|
30
|
+
setLoading(true);
|
|
31
|
+
}, [formatNumber, forcedNumber]);
|
|
32
|
+
(0, react_1.useEffect)(() => {
|
|
33
|
+
if (!isLoading) {
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
fetch(`/admin/documents/invoice/display-number?${result.toString()}`, {
|
|
37
|
+
credentials: "include",
|
|
38
|
+
})
|
|
39
|
+
.then((res) => res.json())
|
|
40
|
+
.then((result) => {
|
|
41
|
+
setData(result);
|
|
42
|
+
setLoading(false);
|
|
43
|
+
})
|
|
44
|
+
.catch((error) => {
|
|
45
|
+
setError(error);
|
|
46
|
+
console.error(error);
|
|
47
|
+
});
|
|
48
|
+
}, [isLoading]);
|
|
49
|
+
if (isLoading) {
|
|
50
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { readOnly: true }) }));
|
|
51
|
+
}
|
|
52
|
+
return ((0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { defaultValue: data.displayNumber, readOnly: true }, `display-number-${data.displayNumber}`) }));
|
|
53
|
+
};
|
|
54
|
+
exports.default = InvoiceSettingsDisplayNumber;
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtaW52b2ljZS1kaXNwbGF5LW51bWJlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLWludm9pY2UtZGlzcGxheS1udW1iZXIudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxxQ0FBb0M7QUFDcEMsNENBQXFDO0FBQ3JDLGlDQUE0QztBQUU1QyxNQUFNLDRCQUE0QixHQUFHLENBQUMsRUFBRSxZQUFZLEVBQUUsWUFBWSxFQUFtRCxFQUFFLEVBQUU7SUFFdkgsTUFBTSxNQUFNLEdBQW9CLElBQUksZUFBZSxFQUFFLENBQUE7SUFFckQsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBQ0QsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNqQixNQUFNLENBQUMsTUFBTSxDQUFDLGNBQWMsRUFBRSxZQUFZLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQWtCLFNBQVMsQ0FBQyxDQUFBO0lBRTVELE1BQU0sQ0FBQyxLQUFLLEVBQUUsUUFBUSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFNLFNBQVMsQ0FBQyxDQUFDO0lBRW5ELE1BQU0sQ0FBQyxTQUFTLEVBQUUsVUFBVSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFDLElBQUksQ0FBQyxDQUFBO0lBRTlDLElBQUEsaUJBQVMsRUFBQyxHQUFHLEVBQUU7UUFDYixVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQyxFQUFFLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUE7SUFFaEMsSUFBQSxpQkFBUyxFQUFDLEdBQUcsRUFBRTtRQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsS0FBSyxDQUFDLDJDQUEyQyxNQUFNLENBQUMsUUFBUSxFQUFFLEVBQUUsRUFBRTtZQUNwRSxXQUFXLEVBQUUsU0FBUztTQUN2QixDQUFDO2FBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDekIsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDZixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUE7WUFDZixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbkIsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDZixRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUE7SUFHZixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsT0FBTyxDQUNMLHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFVBQUssSUFDSixRQUFRLEVBQUUsSUFBSSxHQUNkLEdBQ0csQ0FDUixDQUFBO0lBQ0gsQ0FBQztJQUVELE9BQU8sQ0FDTCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix1QkFBQyxVQUFLLElBQ0osWUFBWSxFQUFFLElBQUksQ0FBQyxhQUFhLEVBQ2hDLFFBQVEsRUFBRSxJQUFJLElBRkosa0JBQWtCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FHaEQsR0FDRyxDQUNSLENBQUE7QUFDSCxDQUFDLENBQUE7QUFHRCxrQkFBZSw0QkFBNEIsQ0FBQSJ9
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
7
|
+
/*
|
|
8
|
+
* Copyright 2024 RSC-Labs, https://rsoftcon.com/
|
|
9
|
+
*
|
|
10
|
+
* MIT License
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
const ui_1 = require("@medusajs/ui");
|
|
19
|
+
const material_1 = require("@mui/material");
|
|
20
|
+
const react_hook_form_1 = require("react-hook-form");
|
|
21
|
+
const ui_2 = require("@medusajs/ui");
|
|
22
|
+
const react_1 = require("react");
|
|
23
|
+
const settings_invoice_display_number_1 = __importDefault(require("./settings-invoice-display-number"));
|
|
24
|
+
const InvoiceSettingsForm = ({ invoiceSettings, setOpenModal }) => {
|
|
25
|
+
const { register, handleSubmit, formState: { errors } } = (0, react_hook_form_1.useForm)();
|
|
26
|
+
const [formatNumber, setFormatNumber] = (0, react_1.useState)(invoiceSettings?.numberFormat);
|
|
27
|
+
const [forcedNumber, setForcedNumber] = (0, react_1.useState)(invoiceSettings?.forcedNumber);
|
|
28
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
29
|
+
const onSubmit = (data) => {
|
|
30
|
+
fetch(`/admin/documents/document-invoice-settings`, {
|
|
31
|
+
method: "POST",
|
|
32
|
+
credentials: "include",
|
|
33
|
+
headers: {
|
|
34
|
+
"Content-Type": "application/json",
|
|
35
|
+
},
|
|
36
|
+
body: JSON.stringify({
|
|
37
|
+
formatNumber: data.formatNumber,
|
|
38
|
+
forcedNumber: data.forcedNumber !== undefined && data.forcedNumber.toString().length ? data.forcedNumber : undefined
|
|
39
|
+
})
|
|
40
|
+
})
|
|
41
|
+
.then(async (response) => {
|
|
42
|
+
if (response.ok) {
|
|
43
|
+
ui_2.toast.success('Invoice settings', {
|
|
44
|
+
description: "New invoice settings saved",
|
|
45
|
+
});
|
|
46
|
+
setOpenModal(false);
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
const error = await response.json();
|
|
50
|
+
ui_2.toast.error('Invoice settings', {
|
|
51
|
+
description: `New invoice settings cannot be saved, some error happened. ${error.message}`,
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
})
|
|
55
|
+
.catch((e) => {
|
|
56
|
+
ui_2.toast.error('Invoice settings', {
|
|
57
|
+
description: `New invoice settings cannot be saved, some error happened. ${e.toString()}`,
|
|
58
|
+
});
|
|
59
|
+
console.error(e);
|
|
60
|
+
});
|
|
61
|
+
};
|
|
62
|
+
const INVOICE_NUMBER_PLACEHOLDER = '{invoice_number}';
|
|
63
|
+
const errorText = `Text ${INVOICE_NUMBER_PLACEHOLDER} needs to be included in input.`;
|
|
64
|
+
const LABEL_MUST_FORMAT = `Format must include ${INVOICE_NUMBER_PLACEHOLDER}`;
|
|
65
|
+
const LABEL_MUST_FORCED = `Forced number must be a number`;
|
|
66
|
+
const LABEL_INFO_FORCED = `It will auto-increment starting from this number.`;
|
|
67
|
+
const validateFormatNumber = (value) => {
|
|
68
|
+
if (!value.includes(INVOICE_NUMBER_PLACEHOLDER)) {
|
|
69
|
+
return LABEL_MUST_FORMAT;
|
|
70
|
+
}
|
|
71
|
+
return true;
|
|
72
|
+
};
|
|
73
|
+
const validateForcedNumber = (value) => {
|
|
74
|
+
if (value.length && isNaN(Number(value))) {
|
|
75
|
+
return LABEL_MUST_FORCED;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
};
|
|
79
|
+
return ((0, jsx_runtime_1.jsx)("form", { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', rowSpacing: 4, paddingTop: 8, children: [(0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', spacing: 1, marginTop: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: "small", children: "Number format" }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: 'xsmall', children: LABEL_MUST_FORMAT }) })] }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { placeholder: INVOICE_NUMBER_PLACEHOLDER, defaultValue: invoiceSettings?.numberFormat ? invoiceSettings.numberFormat : INVOICE_NUMBER_PLACEHOLDER, ...register('formatNumber', {
|
|
80
|
+
validate: validateFormatNumber,
|
|
81
|
+
onChange(e) {
|
|
82
|
+
const value = e.target.value;
|
|
83
|
+
if (typeof validateFormatNumber(value) === 'string') {
|
|
84
|
+
const result = validateFormatNumber(value);
|
|
85
|
+
setError(result);
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
setError(undefined);
|
|
89
|
+
setFormatNumber(value);
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
}) }) })] }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', spacing: 1, marginTop: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: "small", children: "Forced number" }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: 'xsmall', children: LABEL_INFO_FORCED }) })] }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Input, { defaultValue: invoiceSettings?.forcedNumber !== undefined && invoiceSettings.forcedNumber !== null
|
|
93
|
+
? invoiceSettings.forcedNumber : '', type: "number", ...register('forcedNumber', {
|
|
94
|
+
validate: validateForcedNumber,
|
|
95
|
+
onChange(e) {
|
|
96
|
+
const value = e.target.value;
|
|
97
|
+
if (typeof validateForcedNumber(value) === 'string') {
|
|
98
|
+
const result = validateForcedNumber(value);
|
|
99
|
+
setError(result);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
setError(undefined);
|
|
103
|
+
setForcedNumber(value);
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
}) }) })] }), (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', spacing: 1, marginTop: 2, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Label, { size: "small", children: "Your next invoice number will be:" }) }), errors.formatNumber == undefined && errors.forcedNumber == undefined && error == undefined && (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(settings_invoice_display_number_1.default, { formatNumber: formatNumber, forcedNumber: forcedNumber !== undefined && forcedNumber !== null ? parseInt(forcedNumber) : undefined }) })] }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { type: "submit", variant: 'primary', onClick: handleSubmit(onSubmit), children: "Save" }) }), (errors.formatNumber || errors.forcedNumber) && (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Alert, { variant: "error", children: errorText }) }), error && (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Alert, { variant: "error", children: error }) })] }) }));
|
|
107
|
+
};
|
|
108
|
+
const InvoiceSettingsModalDetails = ({ setOpenModal }) => {
|
|
109
|
+
const [data, setData] = (0, react_1.useState)(undefined);
|
|
110
|
+
const [error, setError] = (0, react_1.useState)(undefined);
|
|
111
|
+
const [isLoading, setLoading] = (0, react_1.useState)(true);
|
|
112
|
+
(0, react_1.useEffect)(() => {
|
|
113
|
+
if (!isLoading) {
|
|
114
|
+
return;
|
|
115
|
+
}
|
|
116
|
+
fetch(`/admin/documents/document-invoice-settings`, {
|
|
117
|
+
credentials: "include",
|
|
118
|
+
})
|
|
119
|
+
.then((res) => res.json())
|
|
120
|
+
.then((result) => {
|
|
121
|
+
setData(result);
|
|
122
|
+
setLoading(false);
|
|
123
|
+
})
|
|
124
|
+
.catch((error) => {
|
|
125
|
+
setError(error);
|
|
126
|
+
console.error(error);
|
|
127
|
+
});
|
|
128
|
+
}, [isLoading]);
|
|
129
|
+
if (isLoading) {
|
|
130
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsx)(material_1.CircularProgress, {}) }));
|
|
131
|
+
}
|
|
132
|
+
return ((0, jsx_runtime_1.jsx)(ui_1.FocusModal.Body, { children: (0, jsx_runtime_1.jsxs)(material_1.Grid, { container: true, direction: 'column', alignContent: 'center', paddingTop: 8, children: [(0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Heading, { children: "Invoice settings" }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(ui_1.Text, { children: "These settings will be applied for newly generated invoices." }) }), (0, jsx_runtime_1.jsx)(material_1.Grid, { item: true, children: (0, jsx_runtime_1.jsx)(InvoiceSettingsForm, { invoiceSettings: data?.settings, setOpenModal: setOpenModal }) })] }) }));
|
|
133
|
+
};
|
|
134
|
+
const InvoiceSettingsModal = () => {
|
|
135
|
+
const [open, setOpen] = (0, react_1.useState)(false);
|
|
136
|
+
return ((0, jsx_runtime_1.jsxs)(ui_1.FocusModal, { open: open, onOpenChange: setOpen, children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Trigger, { asChild: true, children: (0, jsx_runtime_1.jsx)(ui_1.Button, { children: "Change settings" }) }), (0, jsx_runtime_1.jsxs)(ui_1.FocusModal.Content, { children: [(0, jsx_runtime_1.jsx)(ui_1.FocusModal.Header, {}), (0, jsx_runtime_1.jsx)(InvoiceSettingsModalDetails, { setOpenModal: setOpen })] })] }));
|
|
137
|
+
};
|
|
138
|
+
exports.default = InvoiceSettingsModal;
|
|
139
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0dGluZ3MtaW52b2ljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy91aS1jb21wb25lbnRzL3NldHRpbmdzL3NldHRpbmdzLWludm9pY2UudHN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBOzs7Ozs7Ozs7O0dBVUc7QUFFSCxxQ0FBcUY7QUFDckYsNENBQXVEO0FBQ3ZELHFEQUEwQztBQUMxQyxxQ0FBcUM7QUFDckMsaUNBQTRDO0FBRTVDLHdHQUE2RTtBQU83RSxNQUFNLG1CQUFtQixHQUFHLENBQUMsRUFBRSxlQUFlLEVBQUUsWUFBWSxFQUFtRSxFQUFFLEVBQUU7SUFFakksTUFBTSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFFLEVBQUUsTUFBTSxFQUFFLEVBQUUsR0FBRyxJQUFBLHlCQUFPLEdBQW1CLENBQUE7SUFDcEYsTUFBTSxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsZUFBZSxFQUFFLFlBQVksQ0FBQyxDQUFDO0lBQ2hGLE1BQU0sQ0FBQyxZQUFZLEVBQUUsZUFBZSxDQUFDLEdBQUcsSUFBQSxnQkFBUSxFQUFDLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQztJQUNoRixNQUFNLENBQUUsS0FBSyxFQUFFLFFBQVEsQ0FBRSxHQUFHLElBQUEsZ0JBQVEsRUFBcUIsU0FBUyxDQUFDLENBQUM7SUFFcEUsTUFBTSxRQUFRLEdBQUcsQ0FBQyxJQUFxQixFQUFFLEVBQUU7UUFDekMsS0FBSyxDQUFDLDRDQUE0QyxFQUFFO1lBQ2xELE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFNBQVM7WUFDdEIsT0FBTyxFQUFFO2dCQUNQLGNBQWMsRUFBRSxrQkFBa0I7YUFDbkM7WUFDRCxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQztnQkFDbkIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO2dCQUMvQixZQUFZLEVBQUUsSUFBSSxDQUFDLFlBQVksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLFNBQVM7YUFDckgsQ0FBQztTQUNILENBQUM7YUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3ZCLElBQUksUUFBUSxDQUFDLEVBQUUsRUFBRSxDQUFDO2dCQUNoQixVQUFLLENBQUMsT0FBTyxDQUFDLGtCQUFrQixFQUFFO29CQUNoQyxXQUFXLEVBQUUsNEJBQTRCO2lCQUMxQyxDQUFDLENBQUM7Z0JBQ0gsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3RCLENBQUM7aUJBQU0sQ0FBQztnQkFDTixNQUFNLEtBQUssR0FBRyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDcEMsVUFBSyxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRTtvQkFDOUIsV0FBVyxFQUFFLDhEQUE4RCxLQUFLLENBQUMsT0FBTyxFQUFFO2lCQUMzRixDQUFDLENBQUM7WUFDTCxDQUFDO1FBQ0gsQ0FBQyxDQUFDO2FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDWCxVQUFLLENBQUMsS0FBSyxDQUFDLGtCQUFrQixFQUFFO2dCQUM5QixXQUFXLEVBQUUsOERBQThELENBQUMsQ0FBQyxRQUFRLEVBQUUsRUFBRTthQUMxRixDQUFDLENBQUM7WUFDSCxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBQ2xCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0lBQ0QsTUFBTSwwQkFBMEIsR0FBRyxrQkFBa0IsQ0FBQztJQUN0RCxNQUFNLFNBQVMsR0FBRyxRQUFRLDBCQUEwQixpQ0FBaUMsQ0FBQTtJQUNyRixNQUFNLGlCQUFpQixHQUFHLHVCQUF1QiwwQkFBMEIsRUFBRSxDQUFDO0lBQzlFLE1BQU0saUJBQWlCLEdBQUcsZ0NBQWdDLENBQUM7SUFDM0QsTUFBTSxpQkFBaUIsR0FBRyxtREFBbUQsQ0FBQztJQUU5RSxNQUFNLG9CQUFvQixHQUFHLENBQUMsS0FBSyxFQUFFLEVBQUU7UUFDckMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsMEJBQTBCLENBQUMsRUFBRSxDQUFDO1lBQ2hELE9BQU8saUJBQWlCLENBQUM7UUFDM0IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQyxDQUFDO0lBQ0YsTUFBTSxvQkFBb0IsR0FBRyxDQUFDLEtBQUssRUFBRSxFQUFFO1FBQ3JDLElBQUksS0FBSyxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxPQUFPLGlCQUFpQixDQUFDO1FBQzNCLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsQ0FBQztJQUVGLE9BQU8sQ0FDTCwyQ0FDRSx3QkFBQyxlQUFJLElBQUMsU0FBUyxRQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxhQUMvRCx3QkFBQyxlQUFJLElBQUMsU0FBUyxRQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxTQUFTLEVBQUUsQ0FBQyxhQUMzRCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix3QkFBQyxlQUFJLElBQUMsU0FBUyxRQUFDLFNBQVMsRUFBRSxRQUFRLGFBQ2pDLHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFVBQUssSUFBQyxJQUFJLEVBQUMsT0FBTyw4QkFFWCxHQUNILEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsVUFBSyxJQUFDLElBQUksRUFBQyxRQUFRLFlBQ2pCLGlCQUFpQixHQUNaLEdBQ0gsSUFDRixHQUNGLEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsVUFBSyxJQUNKLFdBQVcsRUFBRSwwQkFBMEIsRUFDdkMsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLDBCQUEwQixLQUNuRyxRQUFRLENBQUMsY0FBYyxFQUFFO29DQUMzQixRQUFRLEVBQUUsb0JBQW9CO29DQUM5QixRQUFRLENBQUMsQ0FBQzt3Q0FDUixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTt3Q0FDNUIsSUFBSSxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRDQUNwRCxNQUFNLE1BQU0sR0FBVyxvQkFBb0IsQ0FBQyxLQUFLLENBQW1CLENBQUM7NENBQ3JFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTt3Q0FDbEIsQ0FBQzs2Q0FBTSxDQUFDOzRDQUNOLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQzs0Q0FDcEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUN6QixDQUFDO29DQUNILENBQUM7aUNBQ0YsQ0FBQyxHQUNGLEdBQ0csSUFDRixFQUNQLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLGFBQzNELHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsYUFDakMsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsVUFBSyxJQUFDLElBQUksRUFBQyxPQUFPLDhCQUVYLEdBQ0gsRUFDUCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix1QkFBQyxVQUFLLElBQUMsSUFBSSxFQUFDLFFBQVEsWUFDakIsaUJBQWlCLEdBQ1osR0FDSCxJQUNGLEdBQ0YsRUFDUCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix1QkFBQyxVQUFLLElBQ0osWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLEtBQUssU0FBUyxJQUFLLGVBQWUsQ0FBQyxZQUFZLEtBQUssSUFBSTtvQ0FDakcsQ0FBQyxDQUFDLGVBQWUsQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFDckMsSUFBSSxFQUFDLFFBQVEsS0FDVCxRQUFRLENBQUMsY0FBYyxFQUFFO29DQUMzQixRQUFRLEVBQUUsb0JBQW9CO29DQUM5QixRQUFRLENBQUMsQ0FBQzt3Q0FDUixNQUFNLEtBQUssR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQTt3Q0FDNUIsSUFBSSxPQUFPLG9CQUFvQixDQUFDLEtBQUssQ0FBQyxLQUFLLFFBQVEsRUFBRSxDQUFDOzRDQUNwRCxNQUFNLE1BQU0sR0FBVyxvQkFBb0IsQ0FBQyxLQUFLLENBQW1CLENBQUM7NENBQ3JFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQTt3Q0FDbEIsQ0FBQzs2Q0FBTSxDQUFDOzRDQUNOLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQzs0Q0FDcEIsZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO3dDQUN6QixDQUFDO29DQUNILENBQUM7aUNBQ0YsQ0FBQyxHQUNGLEdBQ0csSUFDRixFQUNQLHdCQUFDLGVBQUksSUFBQyxTQUFTLFFBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxDQUFDLGFBQzNELHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUNSLHVCQUFDLFVBQUssSUFBQyxJQUFJLEVBQUMsT0FBTyxrREFFWCxHQUNILEVBQ04sTUFBTSxDQUFDLFlBQVksSUFBSSxTQUFTLElBQUksTUFBTSxDQUFDLFlBQVksSUFBSSxTQUFTLElBQUksS0FBSyxJQUFJLFNBQVMsSUFBSSx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDdkcsdUJBQUMseUNBQTRCLElBQUMsWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsWUFBWSxLQUFLLFNBQVMsSUFBSSxZQUFZLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsR0FBRyxHQUM5SixJQUNGLEVBQ1AsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsV0FBTSxJQUNMLElBQUksRUFBQyxRQUFRLEVBQ2IsT0FBTyxFQUFFLFNBQVMsRUFDbEIsT0FBTyxFQUFFLFlBQVksQ0FBQyxRQUFRLENBQUMscUJBR3hCLEdBQ0osRUFDTixDQUFDLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxJQUFJLHVCQUFDLGVBQUksSUFBQyxJQUFJLGtCQUN6RCx1QkFBQyxVQUFLLElBQUMsT0FBTyxFQUFDLE9BQU8sWUFBRSxTQUFTLEdBQVMsR0FDckMsRUFDSixLQUFLLElBQUksdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ2xCLHVCQUFDLFVBQUssSUFBQyxPQUFPLEVBQUMsT0FBTyxZQUFFLEtBQUssR0FBUyxHQUNqQyxJQUNKLEdBQ0YsQ0FDUixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSwyQkFBMkIsR0FBRyxDQUFDLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRTtJQUV2RCxNQUFNLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxHQUFHLElBQUEsZ0JBQVEsRUFBa0IsU0FBUyxDQUFDLENBQUE7SUFFNUQsTUFBTSxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQU0sU0FBUyxDQUFDLENBQUM7SUFFbkQsTUFBTSxDQUFDLFNBQVMsRUFBRSxVQUFVLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsSUFBSSxDQUFDLENBQUE7SUFFOUMsSUFBQSxpQkFBUyxFQUFDLEdBQUcsRUFBRTtRQUNiLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNmLE9BQU87UUFDVCxDQUFDO1FBRUQsS0FBSyxDQUFDLDRDQUE0QyxFQUFFO1lBQ2xELFdBQVcsRUFBRSxTQUFTO1NBQ3ZCLENBQUM7YUFDRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUN6QixJQUFJLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUNmLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQTtZQUNmLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUNuQixDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNmLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNoQixPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQTtJQUVmLElBQUksU0FBUyxFQUFFLENBQUM7UUFDZCxPQUFPLENBQ0wsdUJBQUMsZUFBVSxDQUFDLElBQUksY0FDZCx1QkFBQywyQkFBZ0IsS0FBRSxHQUNILENBQ25CLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxDQUNMLHVCQUFDLGVBQVUsQ0FBQyxJQUFJLGNBQ2Qsd0JBQUMsZUFBSSxJQUFDLFNBQVMsUUFBQyxTQUFTLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLENBQUMsYUFDeEUsdUJBQUMsZUFBSSxJQUFDLElBQUksa0JBQ1IsdUJBQUMsWUFBTyxtQ0FBMkIsR0FDOUIsRUFDUCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix1QkFBQyxTQUFJLCtFQUVFLEdBQ0YsRUFDUCx1QkFBQyxlQUFJLElBQUMsSUFBSSxrQkFDUix1QkFBQyxtQkFBbUIsSUFBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsWUFBWSxHQUFHLEdBQzlFLElBQ0YsR0FDUyxDQUNuQixDQUFBO0FBQ0gsQ0FBQyxDQUFBO0FBRUQsTUFBTSxvQkFBb0IsR0FBRyxHQUFHLEVBQUU7SUFDaEMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsR0FBRyxJQUFBLGdCQUFRLEVBQUMsS0FBSyxDQUFDLENBQUE7SUFFdkMsT0FBTyxDQUNMLHdCQUFDLGVBQVUsSUFDVCxJQUFJLEVBQUUsSUFBSSxFQUNWLFlBQVksRUFBRSxPQUFPLGFBRXJCLHVCQUFDLGVBQVUsQ0FBQyxPQUFPLElBQUMsT0FBTyxrQkFDekIsdUJBQUMsV0FBTSxrQ0FBeUIsR0FDYixFQUNyQix3QkFBQyxlQUFVLENBQUMsT0FBTyxlQUNqQix1QkFBQyxlQUFVLENBQUMsTUFBTSxLQUFFLEVBQ3BCLHVCQUFDLDJCQUEyQixJQUFDLFlBQVksRUFBRSxPQUFPLEdBQUcsSUFDbEMsSUFDVixDQUNkLENBQUE7QUFDSCxDQUFDLENBQUE7QUFHRCxrQkFBZSxvQkFBb0IsQ0FBQSJ9
|