@finos/legend-application-marketplace 0.1.50 → 0.1.52
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/lib/__lib__/LegendMarketplaceAppEvent.d.ts +2 -1
- package/lib/__lib__/LegendMarketplaceAppEvent.d.ts.map +1 -1
- package/lib/__lib__/LegendMarketplaceAppEvent.js +1 -0
- package/lib/__lib__/LegendMarketplaceAppEvent.js.map +1 -1
- package/lib/application/LegendMarketplaceApplicationPlugin.d.ts +5 -1
- package/lib/application/LegendMarketplaceApplicationPlugin.d.ts.map +1 -1
- package/lib/application/LegendMarketplaceApplicationPlugin.js.map +1 -1
- package/lib/components/AddToCart/RecommendedAddOnsModal.d.ts.map +1 -1
- package/lib/components/AddToCart/RecommendedAddOnsModal.js +32 -6
- package/lib/components/AddToCart/RecommendedAddOnsModal.js.map +1 -1
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts +0 -1
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts.map +1 -1
- package/lib/components/AddToCart/RecommendedItemsCard.js +12 -17
- package/lib/components/AddToCart/RecommendedItemsCard.js.map +1 -1
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.d.ts.map +1 -1
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js +2 -2
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js.map +1 -1
- package/lib/components/orders/CancelOrderDialog.d.ts +27 -0
- package/lib/components/orders/CancelOrderDialog.d.ts.map +1 -0
- package/lib/components/orders/CancelOrderDialog.js +52 -0
- package/lib/components/orders/CancelOrderDialog.js.map +1 -0
- package/lib/components/orders/ProgressTracker.d.ts +23 -0
- package/lib/components/orders/ProgressTracker.d.ts.map +1 -0
- package/lib/components/orders/ProgressTracker.js +116 -0
- package/lib/components/orders/ProgressTracker.js.map +1 -0
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/pages/Profile/LegendMarketplaceYourOrders.d.ts.map +1 -1
- package/lib/pages/Profile/LegendMarketplaceYourOrders.js +43 -36
- package/lib/pages/Profile/LegendMarketplaceYourOrders.js.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.d.ts.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js +42 -18
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js.map +1 -1
- package/lib/stores/LegendMarketPlaceVendorDataStore.d.ts +10 -4
- package/lib/stores/LegendMarketPlaceVendorDataStore.d.ts.map +1 -1
- package/lib/stores/LegendMarketPlaceVendorDataStore.js +82 -49
- package/lib/stores/LegendMarketPlaceVendorDataStore.js.map +1 -1
- package/lib/stores/cart/CartStore.d.ts.map +1 -1
- package/lib/stores/cart/CartStore.js +2 -1
- package/lib/stores/cart/CartStore.js.map +1 -1
- package/lib/stores/orders/OrderHelpers.d.ts +49 -0
- package/lib/stores/orders/OrderHelpers.d.ts.map +1 -0
- package/lib/stores/orders/OrderHelpers.js +134 -0
- package/lib/stores/orders/OrderHelpers.js.map +1 -0
- package/lib/stores/orders/OrderStore.d.ts +2 -0
- package/lib/stores/orders/OrderStore.d.ts.map +1 -1
- package/lib/stores/orders/OrderStore.js +31 -0
- package/lib/stores/orders/OrderStore.js.map +1 -1
- package/package.json +7 -7
- package/src/__lib__/LegendMarketplaceAppEvent.ts +1 -0
- package/src/application/LegendMarketplaceApplicationPlugin.ts +6 -0
- package/src/components/AddToCart/RecommendedAddOnsModal.tsx +145 -17
- package/src/components/AddToCart/RecommendedItemsCard.tsx +32 -62
- package/src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx +18 -2
- package/src/components/orders/CancelOrderDialog.tsx +157 -0
- package/src/components/orders/ProgressTracker.tsx +266 -0
- package/src/pages/Profile/LegendMarketplaceYourOrders.tsx +227 -230
- package/src/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.tsx +140 -17
- package/src/stores/LegendMarketPlaceVendorDataStore.tsx +114 -84
- package/src/stores/cart/CartStore.ts +2 -1
- package/src/stores/orders/OrderHelpers.ts +167 -0
- package/src/stores/orders/OrderStore.ts +51 -0
- package/tsconfig.json +3 -0
|
@@ -28,6 +28,7 @@ export declare enum LEGEND_MARKETPLACE_APP_EVENT {
|
|
|
28
28
|
SCHEDULE_DEMO = "marketplace.schedule.demo",
|
|
29
29
|
CLICK_SUBSCRIBE_TO_NEWSLETTER = "marketplace.click.subscribe.to.newsletter",
|
|
30
30
|
OPEN_INTEGRATED_PRODUCT = "marketplace.open.integrated.product",
|
|
31
|
-
FETCH_PENDING_TASKS_FAILURE = "marketplace.fetch.pending-tasks.failure"
|
|
31
|
+
FETCH_PENDING_TASKS_FAILURE = "marketplace.fetch.pending-tasks.failure",
|
|
32
|
+
ORDER_CANCELLATION_FAILURE = "marketplace.order.cancellation.failure"
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=LegendMarketplaceAppEvent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceAppEvent.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceAppEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,4BAA4B;IACtC,0BAA0B,2CAA2C;IACrE,8CAA8C,sEAAsE;IACpH,iBAAiB,kCAAkC;IACnD,sBAAsB,uCAAuC;IAC7D,aAAa,8BAA8B;IAC3C,wBAAwB,yCAAyC;IACjE,uBAAuB,wCAAwC;IAC/D,8BAA8B,+CAA+C;IAC7E,YAAY,6BAA6B;IACzC,qBAAqB,sCAAsC;IAC3D,gBAAgB,iCAAiC;IACjD,aAAa,8BAA8B;IAC3C,6BAA6B,8CAA8C;IAC3E,uBAAuB,wCAAwC;IAC/D,2BAA2B,4CAA4C;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceAppEvent.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceAppEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,oBAAY,4BAA4B;IACtC,0BAA0B,2CAA2C;IACrE,8CAA8C,sEAAsE;IACpH,iBAAiB,kCAAkC;IACnD,sBAAsB,uCAAuC;IAC7D,aAAa,8BAA8B;IAC3C,wBAAwB,yCAAyC;IACjE,uBAAuB,wCAAwC;IAC/D,8BAA8B,+CAA+C;IAC7E,YAAY,6BAA6B;IACzC,qBAAqB,sCAAsC;IAC3D,gBAAgB,iCAAiC;IACjD,aAAa,8BAA8B;IAC3C,6BAA6B,8CAA8C;IAC3E,uBAAuB,wCAAwC;IAC/D,2BAA2B,4CAA4C;IACvE,0BAA0B,2CAA2C;CACtE"}
|
|
@@ -30,5 +30,6 @@ export var LEGEND_MARKETPLACE_APP_EVENT;
|
|
|
30
30
|
LEGEND_MARKETPLACE_APP_EVENT["CLICK_SUBSCRIBE_TO_NEWSLETTER"] = "marketplace.click.subscribe.to.newsletter";
|
|
31
31
|
LEGEND_MARKETPLACE_APP_EVENT["OPEN_INTEGRATED_PRODUCT"] = "marketplace.open.integrated.product";
|
|
32
32
|
LEGEND_MARKETPLACE_APP_EVENT["FETCH_PENDING_TASKS_FAILURE"] = "marketplace.fetch.pending-tasks.failure";
|
|
33
|
+
LEGEND_MARKETPLACE_APP_EVENT["ORDER_CANCELLATION_FAILURE"] = "marketplace.order.cancellation.failure";
|
|
33
34
|
})(LEGEND_MARKETPLACE_APP_EVENT || (LEGEND_MARKETPLACE_APP_EVENT = {}));
|
|
34
35
|
//# sourceMappingURL=LegendMarketplaceAppEvent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceAppEvent.js","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceAppEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceAppEvent.js","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceAppEvent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,MAAM,CAAN,IAAY,4BAiBX;AAjBD,WAAY,4BAA4B;IACtC,qGAAqE,CAAA;IACrE,oJAAoH,CAAA;IACpH,mFAAmD,CAAA;IACnD,6FAA6D,CAAA;IAC7D,2EAA2C,CAAA;IAC3C,iGAAiE,CAAA;IACjE,+FAA+D,CAAA;IAC/D,6GAA6E,CAAA;IAC7E,yEAAyC,CAAA;IACzC,2FAA2D,CAAA;IAC3D,iFAAiD,CAAA;IACjD,2EAA2C,CAAA;IAC3C,2GAA2E,CAAA;IAC3E,+FAA+D,CAAA;IAC/D,uGAAuE,CAAA;IACvE,qGAAqE,CAAA;AACvE,CAAC,EAjBW,4BAA4B,KAA5B,4BAA4B,QAiBvC"}
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
import { LegendApplicationPlugin } from '@finos/legend-application';
|
|
17
17
|
import type { LegendMarketplacePluginManager } from '../application/LegendMarketplacePluginManager.js';
|
|
18
18
|
import type { LegendMarketplaceBaseStore } from '../stores/LegendMarketplaceBaseStore.js';
|
|
19
|
-
import type { ContractConsumerTypeRendererConfig, DataProductDataAccess_LegendApplicationPlugin_Extension, AccessPointGroupAccess } from '@finos/legend-extension-dsl-data-product';
|
|
19
|
+
import type { ContractConsumerTypeRendererConfig, DataProductDataAccess_LegendApplicationPlugin_Extension, AccessPointGroupAccess, DataProductAccessPointCodeConfiguration } from '@finos/legend-extension-dsl-data-product';
|
|
20
20
|
import type { ProductCardState } from '../stores/lakehouse/dataProducts/ProductCardState.js';
|
|
21
21
|
import type React from 'react';
|
|
22
22
|
export interface AdditionalMarketplacePageConfig {
|
|
@@ -54,6 +54,10 @@ export declare abstract class LegendMarketplaceApplicationPlugin extends LegendA
|
|
|
54
54
|
* - Organizational scope type details renderer
|
|
55
55
|
*/
|
|
56
56
|
getContractConsumerTypeRendererConfigs?(): ContractConsumerTypeRendererConfig[];
|
|
57
|
+
/**
|
|
58
|
+
* Config to add extra data product access point code for other code types
|
|
59
|
+
*/
|
|
60
|
+
getExtraDataProductAccessPointCodeConfiguration?(): DataProductAccessPointCodeConfiguration[];
|
|
57
61
|
/**
|
|
58
62
|
* Config to allow adding arbitrary additional pages to the marketplace application.
|
|
59
63
|
* These pages will be wrapped in all the usual context providers, so they will
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EACV,kCAAkC,EAClC,uDAAuD,EACvD,sBAAsB,
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationPlugin.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACvG,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,KAAK,EACV,kCAAkC,EAClC,uDAAuD,EACvD,sBAAsB,EACtB,uCAAuC,EACxC,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sDAAsD,CAAC;AAC7F,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,+BAA+B;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,uCAAuC;IACtD,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,8BAAsB,kCACpB,SAAQ,uBACR,YAAW,uDAAuD;IAElE;;;OAGG;IACH,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAwC;IAE3E,OAAO,CAAC,aAAa,EAAE,8BAA8B,GAAG,IAAI;IAI5D;;;;OAIG;IACG,4BAA4B,CAAC,CACjC,oBAAoB,EAAE,0BAA0B,EAChD,KAAK,EAAE,MAAM,GAAG,SAAS,GACxB,OAAO,CAAC,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAE1C;;;;OAIG;IACH,kCAAkC,CAAC,CACjC,MAAM,EAAE,sBAAsB,GAC7B,MAAM,GAAG,SAAS;IAErB;;;;OAIG;IACH,sCAAsC,CAAC,IAAI,kCAAkC,EAAE;IAE/E;;OAEG;IACH,+CAA+C,CAAC,IAAI,uCAAuC,EAAE;IAE7F;;;;OAIG;IACH,mCAAmC,CAAC,IAAI,+BAA+B,EAAE;IAEzE;;;OAGG;IACH,gCAAgC,CAAC,CAC/B,oBAAoB,EAAE,0BAA0B,GAC/C,uCAAuC,EAAE;CAC7C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationPlugin.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationPlugin.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationPlugin.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AAwBpE,MAAM,OAAgB,kCACpB,SAAQ,uBAAuB;IAG/B;;;OAGG;IACc,kBAAkB,CAAwC;IAE3E,OAAO,CAAC,aAA6C;QACnD,aAAa,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;CA+CF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedAddOnsModal.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedAddOnsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"RecommendedAddOnsModal.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedAddOnsModal.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA8BH,OAAO,EAEL,KAAK,cAAc,EACpB,MAAM,kCAAkC,CAAC;AAG1C,UAAU,2BAA2B;IACnC,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAC;IAChC,gBAAgB,EAAE,cAAc,EAAE,CAAC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,sBAAsB,WACzB,2BAA2B;;CA8PpC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Copyright (c) 2025-present, Goldman Sachs
|
|
4
4
|
*
|
|
@@ -15,30 +15,56 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { observer } from 'mobx-react-lite';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
18
|
+
import { useMemo, useState } from 'react';
|
|
19
|
+
import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Box, IconButton, TextField, InputAdornment, Select, MenuItem, FormControl, InputLabel, } from '@mui/material';
|
|
20
|
+
import { CloseIcon, CheckCircleIcon, ArrowRightIcon, WarningIcon, SearchIcon, ArrowUpIcon, ArrowDownIcon, } from '@finos/legend-art';
|
|
20
21
|
import { TerminalItemType, } from '@finos/legend-server-marketplace';
|
|
21
22
|
import { RecommendedItemsCard } from './RecommendedItemsCard.js';
|
|
22
23
|
export const RecommendedAddOnsModal = observer((props) => {
|
|
23
24
|
const { terminal, recommendedItems, message, showModal, setShowModal, onViewCart, } = props;
|
|
25
|
+
const [searchTerm, setSearchTerm] = useState('');
|
|
26
|
+
const [sortOrder, setSortOrder] = useState('');
|
|
27
|
+
const filteredAndSortedItems = useMemo(() => {
|
|
28
|
+
let items = [...recommendedItems];
|
|
29
|
+
if (searchTerm) {
|
|
30
|
+
const search = searchTerm.toLowerCase();
|
|
31
|
+
items = items.filter((item) => item.productName.toLowerCase().includes(search) ||
|
|
32
|
+
item.providerName.toLowerCase().includes(search));
|
|
33
|
+
}
|
|
34
|
+
if (sortOrder) {
|
|
35
|
+
items.sort((a, b) => sortOrder === 'asc' ? a.price - b.price : b.price - a.price);
|
|
36
|
+
}
|
|
37
|
+
return items;
|
|
38
|
+
}, [recommendedItems, searchTerm, sortOrder]);
|
|
24
39
|
const closeModal = () => {
|
|
25
40
|
setShowModal(false);
|
|
41
|
+
setSearchTerm('');
|
|
42
|
+
setSortOrder('');
|
|
26
43
|
};
|
|
27
44
|
const handleViewCart = () => {
|
|
28
45
|
onViewCart?.();
|
|
29
46
|
closeModal();
|
|
30
47
|
};
|
|
48
|
+
const handleSortChange = (event) => {
|
|
49
|
+
setSortOrder(event.target.value);
|
|
50
|
+
};
|
|
31
51
|
if (!showModal) {
|
|
32
52
|
return null;
|
|
33
53
|
}
|
|
34
54
|
return (_jsxs(Dialog, { open: showModal, onClose: closeModal, maxWidth: "md", fullWidth: true, className: "recommended-addons-modal", children: [_jsxs(DialogTitle, { className: "recommended-addons-modal__header", children: [terminal?.terminalItemType === TerminalItemType.TERMINAL ? (_jsx(CheckCircleIcon, { className: "recommended-addons-modal__success-icon" })) : (_jsx(WarningIcon, { className: "recommended-addons-modal__warning-icon" })), _jsxs(Box, { className: "recommended-addons-modal__header-content", children: [_jsx(Typography, { variant: "h6", className: "recommended-addons-modal__title", children: terminal?.terminalItemType === TerminalItemType.TERMINAL
|
|
35
55
|
? 'Item Added Successfully'
|
|
36
56
|
: 'Unable to Add Item' }), terminal && (_jsx(Typography, { variant: "body2", className: "recommended-addons-modal__subtitle", children: message }))] }), _jsx(IconButton, { onClick: closeModal, className: "recommended-addons-modal__close-btn", size: "large", children: _jsx(CloseIcon, {}) })] }), _jsxs(DialogContent, { className: "recommended-addons-modal__content", children: [_jsxs(Box, { className: "recommended-addons-modal__content-header", children: [_jsx(Typography, { variant: "h6", className: "recommended-addons-modal__section-title", children: terminal?.terminalItemType === TerminalItemType.TERMINAL
|
|
37
|
-
?
|
|
38
|
-
:
|
|
57
|
+
? `Recommended Add-Ons for ${terminal.providerName}`
|
|
58
|
+
: terminal
|
|
59
|
+
? `Recommended Terminals for ${terminal.providerName}`
|
|
60
|
+
: '' }), _jsx(Typography, { variant: "body2", className: "recommended-addons-modal__section-description", children: terminal?.terminalItemType === TerminalItemType.TERMINAL
|
|
39
61
|
? 'Complete your setup with these recommended add-ons'
|
|
40
62
|
: 'You must order a terminal license with this add-on' })] }), recommendedItems.length === 0 ? (_jsx(Box, { className: "recommended-addons-modal__empty-state", children: _jsx(Typography, { variant: "body1", children: terminal?.terminalItemType === TerminalItemType.TERMINAL
|
|
41
63
|
? 'No recommended add-ons available for this terminal.'
|
|
42
|
-
: 'No recommended terminals available for this add-on.' }) })) : (
|
|
64
|
+
: 'No recommended terminals available for this add-on.' }) })) : (_jsxs(_Fragment, { children: [_jsxs(Box, { className: "recommended-addons-modal__filter-controls", children: [_jsx(TextField, { size: "medium", placeholder: "Search any service...", value: searchTerm, onChange: (e) => setSearchTerm(e.target.value), className: "recommended-addons-modal__search-field", slotProps: {
|
|
65
|
+
input: {
|
|
66
|
+
endAdornment: (_jsx(InputAdornment, { position: "end", children: _jsx(SearchIcon, {}) })),
|
|
67
|
+
},
|
|
68
|
+
} }), _jsxs(FormControl, { size: "medium", className: "recommended-addons-modal__sort-select", sx: { minWidth: 180 }, children: [_jsx(InputLabel, { id: "recommended-addons-sort-label", sx: { fontSize: '1rem' }, children: "Sort by Price" }), _jsxs(Select, { labelId: "recommended-addons-sort-label", value: sortOrder, label: "Sort by Price", onChange: handleSortChange, sx: { fontSize: '1rem' }, children: [_jsx(MenuItem, { value: "", sx: { fontSize: '1rem' }, children: _jsx("em", { children: "None" }) }), _jsx(MenuItem, { value: "asc", sx: { fontSize: '1rem' }, children: _jsxs(Box, { display: "flex", alignItems: "center", children: [_jsx(ArrowUpIcon, { fontSize: "small" }), _jsx(Typography, { sx: { ml: 0.5, fontSize: '1rem' }, children: "Low to High" })] }) }), _jsx(MenuItem, { value: "desc", sx: { fontSize: '1rem' }, children: _jsxs(Box, { display: "flex", alignItems: "center", children: [_jsx(ArrowDownIcon, { fontSize: "small" }), _jsx(Typography, { sx: { ml: 0.5, fontSize: '1rem' }, children: "High to Low" })] }) })] })] })] }), filteredAndSortedItems.length === 0 ? (_jsx(Box, { className: "recommended-addons-modal__empty-state", children: _jsx(Typography, { variant: "body1", children: "No items match your search criteria." }) })) : (_jsxs(Box, { className: "recommended-addons-modal__list", children: [_jsxs(Box, { className: "recommended-addons-modal__list-header", children: [_jsx(Typography, { variant: "subtitle2", className: "recommended-addons-modal__header-name", children: "Product Name" }), _jsx(Typography, { variant: "subtitle2", className: "recommended-addons-modal__header-provider", children: "Provider" }), _jsx(Typography, { variant: "subtitle2", className: "recommended-addons-modal__header-price", children: "Price" }), _jsx(Typography, { variant: "subtitle2", className: "recommended-addons-modal__header-action", children: "Action" })] }), filteredAndSortedItems.map((item) => (_jsx(RecommendedItemsCard, { recommendedItem: item }, item.id)))] }))] }))] }), _jsxs(DialogActions, { className: "recommended-addons-modal__footer", children: [_jsx(Button, { variant: "outlined", onClick: closeModal, className: "recommended-addons-modal__close-button", children: "Close" }), onViewCart && (_jsx(Button, { variant: "contained", endIcon: _jsx(ArrowRightIcon, {}), onClick: handleViewCart, className: "recommended-addons-modal__view-cart-button", children: "View Cart" }))] })] }));
|
|
43
69
|
});
|
|
44
70
|
//# sourceMappingURL=RecommendedAddOnsModal.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedAddOnsModal.js","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedAddOnsModal.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,MAAM,EACN,WAAW,EACX,aAAa,EACb,aAAa,EACb,MAAM,EACN,UAAU,EACV,
|
|
1
|
+
{"version":3,"file":"RecommendedAddOnsModal.js","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedAddOnsModal.tsx"],"names":[],"mappings":"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"}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import type { TerminalResult } from '@finos/legend-server-marketplace';
|
|
17
17
|
interface RecommendedItemsCardProps {
|
|
18
|
-
vendorProfileId?: number;
|
|
19
18
|
recommendedItem: TerminalResult;
|
|
20
19
|
}
|
|
21
20
|
export declare const RecommendedItemsCard: (props: RecommendedItemsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedItemsCard.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedItemsCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"RecommendedItemsCard.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedItemsCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AAQvE,UAAU,yBAAyB;IACjC,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,4CAkFpE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { jsx as _jsx,
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
/**
|
|
3
3
|
* Copyright (c) 2025-present, Goldman Sachs
|
|
4
4
|
*
|
|
@@ -15,23 +15,20 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { clsx, PlusIcon } from '@finos/legend-art';
|
|
18
|
-
import { Box, Button,
|
|
18
|
+
import { Box, Button, CircularProgress, Typography } from '@mui/material';
|
|
19
19
|
import { flowResult } from 'mobx';
|
|
20
20
|
import { useState } from 'react';
|
|
21
21
|
import { assertErrorThrown } from '@finos/legend-shared';
|
|
22
22
|
import { toastManager } from '../Toast/CartToast.js';
|
|
23
23
|
import { useLegendMarketplaceBaseStore } from '../../application/providers/LegendMarketplaceFrameworkProvider.js';
|
|
24
24
|
export const RecommendedItemsCard = (props) => {
|
|
25
|
-
const {
|
|
25
|
+
const { recommendedItem } = props;
|
|
26
26
|
const legendMarketplaceBaseStore = useLegendMarketplaceBaseStore();
|
|
27
27
|
const [isAddingToCart, setIsAddingToCart] = useState(false);
|
|
28
28
|
const [inCart, setInCart] = useState(false);
|
|
29
29
|
const handleAddAddonToCart = (addon) => {
|
|
30
30
|
setIsAddingToCart(true);
|
|
31
31
|
const cartItemRequest = legendMarketplaceBaseStore.cartStore.providerToCartRequest(addon);
|
|
32
|
-
if (vendorProfileId) {
|
|
33
|
-
cartItemRequest.vendorProfileId = vendorProfileId;
|
|
34
|
-
}
|
|
35
32
|
flowResult(legendMarketplaceBaseStore.cartStore.addToCartWithAPI(cartItemRequest))
|
|
36
33
|
.then((result) => {
|
|
37
34
|
if (result.success) {
|
|
@@ -45,16 +42,14 @@ export const RecommendedItemsCard = (props) => {
|
|
|
45
42
|
setIsAddingToCart(false);
|
|
46
43
|
});
|
|
47
44
|
};
|
|
48
|
-
return (_jsxs(
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
'recommended-addons-modal__add-btn__added': inCart,
|
|
58
|
-
}), children: isAddingToCart ? (_jsxs(_Fragment, { children: ["Adding... \u00A0", _jsx(CircularProgress, { size: 16 })] })) : inCart ? ('Added to Cart') : (_jsxs(_Fragment, { children: ["Add to Cart \u00A0", _jsx(PlusIcon, {})] })) }) })] }));
|
|
45
|
+
return (_jsxs(Box, { className: "recommended-addons-modal__list-item", children: [_jsx(Typography, { variant: "body1", className: "recommended-addons-modal__item-name", children: recommendedItem.productName }), _jsx(Typography, { variant: "body2", className: "recommended-addons-modal__item-provider", children: recommendedItem.providerName }), _jsx(Typography, { variant: "body2", className: "recommended-addons-modal__item-price", children: recommendedItem.price === 0
|
|
46
|
+
? 'Free'
|
|
47
|
+
: recommendedItem.price.toLocaleString('en-US', {
|
|
48
|
+
style: 'currency',
|
|
49
|
+
currency: 'USD',
|
|
50
|
+
maximumFractionDigits: 2,
|
|
51
|
+
}) }), _jsx(Box, { className: "recommended-addons-modal__item-action", children: _jsx(Button, { variant: inCart ? 'outlined' : 'contained', onClick: () => handleAddAddonToCart(recommendedItem), disabled: inCart || isAddingToCart, size: "small", className: clsx('recommended-addons-modal__add-btn', {
|
|
52
|
+
'recommended-addons-modal__add-btn--added': inCart,
|
|
53
|
+
}), children: isAddingToCart ? (_jsxs(_Fragment, { children: ["Adding... \u00A0", _jsx(CircularProgress, { size: 14 })] })) : inCart ? ('Added to Cart') : (_jsxs(_Fragment, { children: ["Add to Cart \u00A0", _jsx(PlusIcon, {})] })) }) })] }));
|
|
59
54
|
};
|
|
60
55
|
//# sourceMappingURL=RecommendedItemsCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RecommendedItemsCard.js","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedItemsCard.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAEnD,OAAO,
|
|
1
|
+
{"version":3,"file":"RecommendedItemsCard.js","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedItemsCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceTerminalCard.d.ts","sourceRoot":"","sources":["../../../src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceTerminalCard.d.ts","sourceRoot":"","sources":["../../../src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,GAAG,EAAY,MAAM,OAAO,CAAC;AAa3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASvE,eAAO,MAAM,6BAA6B,WAChC;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAG,GAAG,CAAC,OAAO;;CA+JzD,CAAC"}
|
|
@@ -15,7 +15,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { useState } from 'react';
|
|
18
|
-
import { Box, Button, Card, CardActionArea, CardActions, CardContent, CardMedia, Chip, CircularProgress, } from '@mui/material';
|
|
18
|
+
import { Box, Button, Card, CardActionArea, CardActions, CardContent, CardMedia, Chip, CircularProgress, Typography, } from '@mui/material';
|
|
19
19
|
import { CheckCircleIcon, ShoppingCartIcon } from '@finos/legend-art';
|
|
20
20
|
import { useLegendMarketplaceBaseStore } from '../../application/providers/LegendMarketplaceFrameworkProvider.js';
|
|
21
21
|
import { observer } from 'mobx-react-lite';
|
|
@@ -62,7 +62,7 @@ export const LegendMarketplaceTerminalCard = observer((props) => {
|
|
|
62
62
|
const handleViewCart = () => {
|
|
63
63
|
legendMarketplaceBaseStore.cartStore.setOpen(true);
|
|
64
64
|
};
|
|
65
|
-
return (_jsxs(Card, { className: "legend-marketplace-terminal-card", children: [_jsxs(CardActionArea, { className: "legend-marketplace-terminal-card__action", children: [_jsx(CardMedia, { component: "img", className: "legend-marketplace-terminal-card__image", height: "140", image: getImageUrl(), alt: "data asset" }), _jsx(CardContent, { className: "legend-marketplace-terminal-card__content", children: _jsx(
|
|
65
|
+
return (_jsxs(Card, { className: "legend-marketplace-terminal-card", children: [_jsxs(CardActionArea, { className: "legend-marketplace-terminal-card__action", children: [_jsx(CardMedia, { component: "img", className: "legend-marketplace-terminal-card__image", height: "140", image: getImageUrl(), alt: "data asset" }), terminalResult.category && (_jsx(Chip, { label: terminalResult.category, className: "legend-marketplace-terminal-card__category-chip" })), _jsxs(CardContent, { className: "legend-marketplace-terminal-card__content", children: [_jsx(Typography, { variant: "subtitle2", className: "legend-marketplace-terminal-card__provider", children: terminalResult.providerName }), _jsx(Typography, { variant: "h6", className: "legend-marketplace-terminal-card__title", children: terminalResult.productName })] })] }), _jsx(CardActions, { className: "legend-marketplace-terminal-card__action-buttons", children: terminalResult.isOwned ? (_jsxs(Box, { sx: {
|
|
66
66
|
display: 'flex',
|
|
67
67
|
alignItems: 'center',
|
|
68
68
|
color: '#077D55',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceTerminalCard.js","sourceRoot":"","sources":["../../../src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAY,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,EACL,GAAG,EACH,MAAM,EACN,IAAI,EACJ,cAAc,EACd,WAAW,EACX,WAAW,EACX,SAAS,EACT,IAAI,EACJ,gBAAgB,
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceTerminalCard.js","sourceRoot":"","sources":["../../../src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import React from 'react';
|
|
17
|
+
import type { TerminalProductOrder } from '@finos/legend-server-marketplace';
|
|
18
|
+
import type { OrdersStore } from '../../stores/orders/OrderStore.js';
|
|
19
|
+
interface CancelOrderDialogProps {
|
|
20
|
+
open: boolean;
|
|
21
|
+
onClose: () => void;
|
|
22
|
+
order: TerminalProductOrder;
|
|
23
|
+
orderStore: OrdersStore;
|
|
24
|
+
}
|
|
25
|
+
export declare const CancelOrderDialog: React.FC<CancelOrderDialogProps>;
|
|
26
|
+
export {};
|
|
27
|
+
//# sourceMappingURL=CancelOrderDialog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelOrderDialog.d.ts","sourceRoot":"","sources":["../../../src/components/orders/CancelOrderDialog.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAmB,MAAM,OAAO,CAAC;AAexC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAC7E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAC;AAGrE,UAAU,sBAAsB;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,oBAAoB,CAAC;IAC5B,UAAU,EAAE,WAAW,CAAC;CACzB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAkH9D,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React, { useState } from 'react';
|
|
18
|
+
import { observer } from 'mobx-react-lite';
|
|
19
|
+
import { flowResult } from 'mobx';
|
|
20
|
+
import { Dialog, DialogTitle, DialogContent, DialogActions, Button, TextField, Typography, Box, CircularProgress, } from '@mui/material';
|
|
21
|
+
import { WarningIcon } from '@finos/legend-art';
|
|
22
|
+
import { getProcessInstanceId } from '../../stores/orders/OrderHelpers.js';
|
|
23
|
+
export const CancelOrderDialog = observer(({ open, onClose, order, orderStore }) => {
|
|
24
|
+
const [cancellationReason, setCancellationReason] = useState('');
|
|
25
|
+
const isLoading = orderStore.cancelOrderState.isInProgress;
|
|
26
|
+
const trimmedReason = cancellationReason.trim();
|
|
27
|
+
const isReasonValid = trimmedReason.length > 0;
|
|
28
|
+
const handleClose = () => {
|
|
29
|
+
if (!isLoading) {
|
|
30
|
+
setCancellationReason('');
|
|
31
|
+
onClose();
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
const handleConfirm = async () => {
|
|
35
|
+
if (!isReasonValid) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const processInstanceId = getProcessInstanceId(order);
|
|
39
|
+
if (!processInstanceId) {
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const success = await flowResult(orderStore.cancelOrder(order.order_id, processInstanceId, trimmedReason));
|
|
43
|
+
if (success) {
|
|
44
|
+
handleClose();
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
return (_jsxs(Dialog, { open: open, onClose: handleClose, maxWidth: "sm", fullWidth: true, className: "legend-marketplace-cancel-order-dialog", children: [_jsx(DialogTitle, { children: _jsxs(Box, { className: "legend-marketplace-cancel-order-dialog__title", children: [_jsx(WarningIcon, { className: "legend-marketplace-cancel-order-dialog__warning-icon" }), _jsx(Typography, { variant: "h6", children: "Cancel Order" })] }) }), _jsx(DialogContent, { children: _jsxs(Box, { className: "legend-marketplace-cancel-order-dialog__content", children: [_jsx(Typography, { className: "legend-marketplace-cancel-order-dialog__message", children: "Are you sure you want to cancel this order?" }), _jsxs(Box, { className: "legend-marketplace-cancel-order-dialog__order-info", children: [_jsxs(Typography, { variant: "body2", children: [_jsx("strong", { children: "Order ID:" }), " ", order.order_id] }), _jsxs(Typography, { variant: "body2", children: [_jsx("strong", { children: "Vendor:" }), " ", order.vendor_name] }), _jsxs(Typography, { variant: "body2", children: [_jsx("strong", { children: "Order Type:" }), " ", order.order_type] })] }), _jsx(TextField, { autoFocus: true, margin: "dense", label: "Cancellation Reason", placeholder: "Please provide a reason for canceling this order...", fullWidth: true, multiline: true, rows: 4, value: cancellationReason, onChange: (e) => setCancellationReason(e.target.value), disabled: isLoading, required: true, helperText: "Required: Please explain why you are canceling this order", error: cancellationReason.length > 0 && !isReasonValid, className: "legend-marketplace-cancel-order-dialog__text-field" })] }) }), _jsxs(DialogActions, { className: "legend-marketplace-cancel-order-dialog__actions", children: [_jsx(Button, { onClick: handleClose, disabled: isLoading, variant: "text", color: "inherit", children: "Cancel" }), _jsx(Button, { onClick: () => {
|
|
48
|
+
// eslint-disable-next-line no-void
|
|
49
|
+
void handleConfirm();
|
|
50
|
+
}, disabled: isLoading || !isReasonValid, variant: "contained", color: "error", startIcon: isLoading ? _jsx(CircularProgress, { size: 16 }) : undefined, children: isLoading ? 'Canceling...' : 'Confirm Cancellation' })] })] }));
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=CancelOrderDialog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CancelOrderDialog.js","sourceRoot":"","sources":["../../../src/components/orders/CancelOrderDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2025-present, Goldman Sachs
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
import React from 'react';
|
|
17
|
+
import type { TerminalProductOrder } from '@finos/legend-server-marketplace';
|
|
18
|
+
interface ProgressTrackerProps {
|
|
19
|
+
order: TerminalProductOrder;
|
|
20
|
+
}
|
|
21
|
+
export declare const ProgressTracker: React.FC<ProgressTrackerProps>;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=ProgressTracker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressTracker.d.ts","sourceRoot":"","sources":["../../../src/components/orders/ProgressTracker.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAiB1B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAY7E,UAAU,oBAAoB;IAC5B,KAAK,EAAE,oBAAoB,CAAC;CAC7B;AAoDD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CAsK1D,CAAC"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Copyright (c) 2025-present, Goldman Sachs
|
|
4
|
+
*
|
|
5
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
6
|
+
* you may not use this file except in compliance with the License.
|
|
7
|
+
* You may obtain a copy of the License at
|
|
8
|
+
*
|
|
9
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
10
|
+
*
|
|
11
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
12
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
13
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
14
|
+
* See the License for the specific language governing permissions and
|
|
15
|
+
* limitations under the License.
|
|
16
|
+
*/
|
|
17
|
+
import React from 'react';
|
|
18
|
+
import { observer } from 'mobx-react-lite';
|
|
19
|
+
import { Box, Typography, Stepper, Step, StepLabel, StepConnector, stepConnectorClasses, } from '@mui/material';
|
|
20
|
+
import { styled } from '@mui/material/styles';
|
|
21
|
+
import { CheckCircleIcon, CircleIcon, TimesCircleIcon, } from '@finos/legend-art';
|
|
22
|
+
import { getWorkflowSteps, STAGE_MAP, isStageCompleted, isStageRejected, formatTimestamp, WorkflowStage, WorkflowStatus, WorkflowCurrentStage, } from '../../stores/orders/OrderHelpers.js';
|
|
23
|
+
const CustomConnector = styled(StepConnector)(({ theme }) => ({
|
|
24
|
+
[`&.${stepConnectorClasses.alternativeLabel}`]: {
|
|
25
|
+
top: 10,
|
|
26
|
+
left: 'calc(-50% + 16px)',
|
|
27
|
+
right: 'calc(50% + 16px)',
|
|
28
|
+
},
|
|
29
|
+
[`&.${stepConnectorClasses.active}`]: {
|
|
30
|
+
[`& .${stepConnectorClasses.line}`]: {
|
|
31
|
+
borderColor: theme.palette.primary.main,
|
|
32
|
+
},
|
|
33
|
+
},
|
|
34
|
+
[`&.${stepConnectorClasses.completed}`]: {
|
|
35
|
+
[`& .${stepConnectorClasses.line}`]: {
|
|
36
|
+
borderColor: theme.palette.primary.main,
|
|
37
|
+
},
|
|
38
|
+
},
|
|
39
|
+
[`& .${stepConnectorClasses.line}`]: {
|
|
40
|
+
borderColor: theme.palette.grey[400],
|
|
41
|
+
borderTopWidth: 2,
|
|
42
|
+
borderRadius: 1,
|
|
43
|
+
},
|
|
44
|
+
}));
|
|
45
|
+
const StepIconComponent = (props) => {
|
|
46
|
+
const { active, completed, rejected } = props;
|
|
47
|
+
if (rejected) {
|
|
48
|
+
return (_jsx(TimesCircleIcon, { className: "legend-marketplace-progress-tracker__step-icon--rejected" }));
|
|
49
|
+
}
|
|
50
|
+
if (completed) {
|
|
51
|
+
return (_jsx(CheckCircleIcon, { className: "legend-marketplace-progress-tracker__step-icon--completed" }));
|
|
52
|
+
}
|
|
53
|
+
if (active) {
|
|
54
|
+
return (_jsx(CircleIcon, { className: "legend-marketplace-progress-tracker__step-icon--active" }));
|
|
55
|
+
}
|
|
56
|
+
return (_jsx(CircleIcon, { className: "legend-marketplace-progress-tracker__step-icon--pending" }));
|
|
57
|
+
};
|
|
58
|
+
export const ProgressTracker = observer(({ order }) => {
|
|
59
|
+
const steps = getWorkflowSteps(order);
|
|
60
|
+
const currentStageName = order.workflow_details?.current_stage
|
|
61
|
+
? STAGE_MAP[order.workflow_details.current_stage]
|
|
62
|
+
: WorkflowStage.ORDER_PLACED;
|
|
63
|
+
const currentStageIndex = steps.indexOf(currentStageName);
|
|
64
|
+
const activeStepIndex = currentStageIndex >= 0 ? currentStageIndex : 0;
|
|
65
|
+
const getFinalStepIndex = () => {
|
|
66
|
+
if (!order.workflow_details) {
|
|
67
|
+
return 0;
|
|
68
|
+
}
|
|
69
|
+
for (let i = steps.length - 1; i >= 0; i--) {
|
|
70
|
+
if (isStageRejected(order, steps[i] ?? WorkflowStage.ORDER_PLACED) &&
|
|
71
|
+
isStageCompleted(order, steps[i] ?? WorkflowStage.ORDER_PLACED)) {
|
|
72
|
+
return i;
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
for (let i = steps.length - 1; i >= 0; i--) {
|
|
76
|
+
if (isStageCompleted(order, steps[i] ?? WorkflowStage.ORDER_PLACED)) {
|
|
77
|
+
return i;
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (order.workflow_details.rpm_ticket_id &&
|
|
81
|
+
order.workflow_details.current_stage === WorkflowCurrentStage.RPM) {
|
|
82
|
+
return steps.indexOf(WorkflowStage.PENDING_FULFILLMENT);
|
|
83
|
+
}
|
|
84
|
+
return activeStepIndex;
|
|
85
|
+
};
|
|
86
|
+
const isClosedOrder = order.workflow_details?.workflow_status.toString() ===
|
|
87
|
+
WorkflowStatus.COMPLETED;
|
|
88
|
+
const finalStepIndex = isClosedOrder
|
|
89
|
+
? getFinalStepIndex()
|
|
90
|
+
: activeStepIndex;
|
|
91
|
+
return (_jsx(Box, { className: "legend-marketplace-progress-tracker", children: _jsx(Stepper, { alternativeLabel: true, activeStep: finalStepIndex, connector: _jsx(CustomConnector, {}), children: steps.map((label, index) => {
|
|
92
|
+
const isCompleted = isClosedOrder
|
|
93
|
+
? index <= finalStepIndex
|
|
94
|
+
: index < activeStepIndex;
|
|
95
|
+
const isActive = !isClosedOrder && index === activeStepIndex;
|
|
96
|
+
const stageCompleted = isStageCompleted(order, label);
|
|
97
|
+
const rejected = isStageRejected(order, label);
|
|
98
|
+
return (_jsx(Step, { completed: isCompleted && !rejected, children: _jsxs(StepLabel, { StepIconComponent: () => StepIconComponent({
|
|
99
|
+
active: isActive,
|
|
100
|
+
completed: isCompleted && !rejected,
|
|
101
|
+
rejected: rejected && isCompleted,
|
|
102
|
+
}), children: [_jsx(Typography, { className: "legend-marketplace-progress-tracker__step-label", children: label }), label === WorkflowStage.MANAGER_APPROVAL &&
|
|
103
|
+
isCompleted &&
|
|
104
|
+
stageCompleted &&
|
|
105
|
+
order.workflow_details &&
|
|
106
|
+
!isActive && (_jsxs(Box, { className: "legend-marketplace-progress-tracker__step-details", children: [order.workflow_details.manager_actioned_by && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Actioned by:" }), ' ', order.workflow_details.manager_actioned_by] })), order.workflow_details.manager_actioned_timestamp && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Date:" }), ' ', formatTimestamp(order.workflow_details.manager_actioned_timestamp)] })), order.workflow_details.manager_action && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Action:" }), ' ', order.workflow_details.manager_action] })), order.workflow_details.manager_comment && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Comments:" }), ' ', order.workflow_details.manager_comment] }))] })), label === WorkflowStage.BUSINESS_ANALYST_APPROVAL &&
|
|
107
|
+
isCompleted &&
|
|
108
|
+
stageCompleted &&
|
|
109
|
+
order.workflow_details &&
|
|
110
|
+
!isActive && (_jsxs(Box, { className: "legend-marketplace-progress-tracker__step-details", children: [order.workflow_details.bbg_approval_actioned_by && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Actioned by:" }), ' ', order.workflow_details.bbg_approval_actioned_by] })), order.workflow_details
|
|
111
|
+
.bbg_approval_actioned_timestamp && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Date:" }), ' ', formatTimestamp(order.workflow_details
|
|
112
|
+
.bbg_approval_actioned_timestamp)] })), order.workflow_details.bbg_approval_action && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Action:" }), ' ', order.workflow_details.bbg_approval_action] })), order.workflow_details.bbg_approval_comment && (_jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "Comments:" }), ' ', order.workflow_details.bbg_approval_comment] }))] })), label === WorkflowStage.PENDING_FULFILLMENT &&
|
|
113
|
+
order.workflow_details?.rpm_ticket_id && (_jsx(Box, { className: "legend-marketplace-progress-tracker__step-details", children: _jsxs(Typography, { className: "legend-marketplace-progress-tracker__step-detail", children: [_jsx("strong", { children: "RPM Ticket:" }), ' ', order.workflow_details.rpm_ticket_id] }) }))] }) }, label));
|
|
114
|
+
}) }) }));
|
|
115
|
+
});
|
|
116
|
+
//# sourceMappingURL=ProgressTracker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProgressTracker.js","sourceRoot":"","sources":["../../../src/components/orders/ProgressTracker.tsx"],"names":[],"mappings":"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"}
|