@finos/legend-application-marketplace 0.1.24 → 0.1.26
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/application/LegendMarketplaceApplicationConfig.d.ts +3 -0
- package/lib/application/LegendMarketplaceApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendMarketplaceApplicationConfig.js +15 -0
- package/lib/application/LegendMarketplaceApplicationConfig.js.map +1 -1
- package/lib/application/__test-utils__/LegendMarketplaceApplicationTestUtils.d.ts +1 -1
- package/lib/application/__test-utils__/LegendMarketplaceApplicationTestUtils.d.ts.map +1 -1
- package/lib/application/__test-utils__/LegendMarketplaceApplicationTestUtils.js +8 -4
- package/lib/application/__test-utils__/LegendMarketplaceApplicationTestUtils.js.map +1 -1
- package/lib/components/AddToCart/CartDrawer.d.ts.map +1 -1
- package/lib/components/AddToCart/CartDrawer.js +2 -2
- package/lib/components/AddToCart/CartDrawer.js.map +1 -1
- package/lib/components/AddToCart/RecommendedAddOnsModal.d.ts +2 -1
- package/lib/components/AddToCart/RecommendedAddOnsModal.d.ts.map +1 -1
- package/lib/components/AddToCart/RecommendedAddOnsModal.js +14 -32
- package/lib/components/AddToCart/RecommendedAddOnsModal.js.map +1 -1
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts +23 -0
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts.map +1 -0
- package/lib/components/AddToCart/RecommendedItemsCard.js +60 -0
- package/lib/components/AddToCart/RecommendedItemsCard.js.map +1 -0
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.d.ts.map +1 -1
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js +13 -13
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js.map +1 -1
- package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.d.ts +1 -0
- package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.d.ts.map +1 -1
- package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.js +1 -1
- package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.js.map +1 -1
- package/lib/components/__test-utils__/TEST_DATA__LakehouseData.d.ts +6 -3
- package/lib/components/__test-utils__/TEST_DATA__LakehouseData.d.ts.map +1 -1
- package/lib/components/__test-utils__/TEST_DATA__LakehouseData.js +96 -11
- package/lib/components/__test-utils__/TEST_DATA__LakehouseData.js.map +1 -1
- package/lib/index.css +2 -2
- package/lib/index.css.map +1 -1
- package/lib/package.json +1 -1
- package/lib/pages/Lakehouse/searchResults/MarketplaceLakehouseSearchResults.d.ts.map +1 -1
- package/lib/pages/Lakehouse/searchResults/MarketplaceLakehouseSearchResults.js +7 -30
- package/lib/pages/Lakehouse/searchResults/MarketplaceLakehouseSearchResults.js.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.d.ts.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js +5 -5
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js.map +1 -1
- package/lib/stores/LegendMarketPlaceVendorDataStore.d.ts +3 -3
- package/lib/stores/LegendMarketPlaceVendorDataStore.d.ts.map +1 -1
- package/lib/stores/LegendMarketPlaceVendorDataStore.js +10 -22
- package/lib/stores/LegendMarketPlaceVendorDataStore.js.map +1 -1
- package/lib/stores/LegendMarketplaceBaseStore.d.ts +2 -0
- package/lib/stores/LegendMarketplaceBaseStore.d.ts.map +1 -1
- package/lib/stores/LegendMarketplaceBaseStore.js +6 -0
- package/lib/stores/LegendMarketplaceBaseStore.js.map +1 -1
- package/lib/stores/LegendMarketplaceEnvState.d.ts +36 -0
- package/lib/stores/LegendMarketplaceEnvState.d.ts.map +1 -0
- package/lib/stores/LegendMarketplaceEnvState.js +45 -0
- package/lib/stores/LegendMarketplaceEnvState.js.map +1 -0
- package/lib/stores/cart/CartStore.d.ts +4 -7
- package/lib/stores/cart/CartStore.d.ts.map +1 -1
- package/lib/stores/cart/CartStore.js +18 -33
- package/lib/stores/cart/CartStore.js.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.d.ts.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.js +17 -7
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.js.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceSearchResultsStore.d.ts +1 -28
- package/lib/stores/lakehouse/LegendMarketplaceSearchResultsStore.d.ts.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceSearchResultsStore.js +12 -116
- package/lib/stores/lakehouse/LegendMarketplaceSearchResultsStore.js.map +1 -1
- package/package.json +8 -8
- package/src/application/LegendMarketplaceApplicationConfig.ts +20 -0
- package/src/application/__test-utils__/LegendMarketplaceApplicationTestUtils.ts +9 -4
- package/src/components/AddToCart/CartDrawer.tsx +47 -45
- package/src/components/AddToCart/RecommendedAddOnsModal.tsx +47 -101
- package/src/components/AddToCart/RecommendedItemsCard.tsx +142 -0
- package/src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx +21 -16
- package/src/components/__test-utils__/LegendMarketplaceStoreTestUtils.tsx +4 -1
- package/src/components/__test-utils__/TEST_DATA__LakehouseData.ts +99 -11
- package/src/pages/Lakehouse/searchResults/MarketplaceLakehouseSearchResults.tsx +13 -188
- package/src/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.tsx +75 -62
- package/src/stores/LegendMarketPlaceVendorDataStore.tsx +11 -32
- package/src/stores/LegendMarketplaceBaseStore.ts +12 -0
- package/src/stores/LegendMarketplaceEnvState.ts +66 -0
- package/src/stores/cart/CartStore.ts +27 -49
- package/src/stores/lakehouse/LegendMarketplaceProductViewerStore.ts +27 -17
- package/src/stores/lakehouse/LegendMarketplaceSearchResultsStore.ts +15 -145
- package/tsconfig.json +2 -0
|
@@ -17,6 +17,7 @@ import { type PlainObject } from '@finos/legend-shared';
|
|
|
17
17
|
import { type LegendApplicationConfigurationData, type LegendApplicationConfigurationInput, LegendApplicationConfig } from '@finos/legend-application';
|
|
18
18
|
import type { AuthProviderProps } from 'react-oidc-context';
|
|
19
19
|
import { DataProductConfig } from '@finos/legend-extension-dsl-data-product';
|
|
20
|
+
import { LegendMarketplaceEnv } from '../stores/LegendMarketplaceEnvState.js';
|
|
20
21
|
declare class LegendMarketplaceApplicationCoreOptions {
|
|
21
22
|
dataProductConfig: DataProductConfig | undefined;
|
|
22
23
|
newsletterUrl: string;
|
|
@@ -41,6 +42,7 @@ export interface LegendMarketplaceApplicationConfigurationData extends LegendApp
|
|
|
41
42
|
marketplace: {
|
|
42
43
|
url: string;
|
|
43
44
|
subscriptionUrl: string;
|
|
45
|
+
dataProductEnv: string;
|
|
44
46
|
userSearchUrl?: string | undefined;
|
|
45
47
|
userProfileImageUrl?: string | undefined;
|
|
46
48
|
oidcConfig?: LegendMarketplaceOidcConfig | undefined;
|
|
@@ -87,6 +89,7 @@ export declare class LegendMarketplaceApplicationConfig extends LegendApplicatio
|
|
|
87
89
|
readonly options: LegendMarketplaceApplicationCoreOptions;
|
|
88
90
|
readonly marketplaceServerUrl: string;
|
|
89
91
|
readonly marketplaceSubscriptionUrl: string;
|
|
92
|
+
readonly dataProductEnv: LegendMarketplaceEnv;
|
|
90
93
|
readonly marketplaceUserSearchUrl?: string | undefined;
|
|
91
94
|
readonly marketplaceUserProfileImageUrl?: string | undefined;
|
|
92
95
|
readonly marketplaceOidcConfig?: LegendMarketplaceOidcConfig | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,WAAW,EAMjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,6 +17,7 @@ import { createModelSchema, optional, primitive } from 'serializr';
|
|
|
17
17
|
import { assertNonNullable, guaranteeNonEmptyString, guaranteeNonNullable, SerializationFactory, usingModelSchema, } from '@finos/legend-shared';
|
|
18
18
|
import { LegendApplicationConfig, } from '@finos/legend-application';
|
|
19
19
|
import { DataProductConfig } from '@finos/legend-extension-dsl-data-product';
|
|
20
|
+
import { LegendMarketplaceEnv } from '../stores/LegendMarketplaceEnvState.js';
|
|
20
21
|
class LegendMarketplaceApplicationCoreOptions {
|
|
21
22
|
dataProductConfig;
|
|
22
23
|
newsletterUrl;
|
|
@@ -47,6 +48,7 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
47
48
|
options = new LegendMarketplaceApplicationCoreOptions();
|
|
48
49
|
marketplaceServerUrl;
|
|
49
50
|
marketplaceSubscriptionUrl;
|
|
51
|
+
dataProductEnv;
|
|
50
52
|
marketplaceUserSearchUrl;
|
|
51
53
|
marketplaceUserProfileImageUrl;
|
|
52
54
|
marketplaceOidcConfig;
|
|
@@ -70,6 +72,19 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
70
72
|
this.marketplaceServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.marketplace.url, `Can't configure application: 'marketplace.url' field is missing or empty`));
|
|
71
73
|
this.marketplaceSubscriptionUrl =
|
|
72
74
|
LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.marketplace.subscriptionUrl, `Can't configure application: 'marketplace.marketplaceSubscriptionUrl' field is missing or empty`));
|
|
75
|
+
if (!input.configData.marketplace.dataProductEnv) {
|
|
76
|
+
throw new Error(`Can't configure application: 'marketplace.dataProductEnv' field is missing or empty`);
|
|
77
|
+
}
|
|
78
|
+
switch (input.configData.marketplace.dataProductEnv) {
|
|
79
|
+
case 'prod':
|
|
80
|
+
this.dataProductEnv = LegendMarketplaceEnv.PRODUCTION;
|
|
81
|
+
break;
|
|
82
|
+
case 'prod-par':
|
|
83
|
+
this.dataProductEnv = LegendMarketplaceEnv.PRODUCTION_PARALLEL;
|
|
84
|
+
break;
|
|
85
|
+
default:
|
|
86
|
+
throw new Error(`Can't configure application: 'marketplace.dataProductEnv' field must be 'prod' or 'prod-par'`);
|
|
87
|
+
}
|
|
73
88
|
if (input.configData.marketplace.userSearchUrl) {
|
|
74
89
|
this.marketplaceUserSearchUrl =
|
|
75
90
|
LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.marketplace.userSearchUrl, `Can't configure application: 'marketplace.userSearchUrl' field is missing or empty`));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,7 +17,7 @@ import { LegendMarketplaceApplicationConfig } from '../LegendMarketplaceApplicat
|
|
|
17
17
|
import { LegendMarketplaceApplicationPlugin } from '../LegendMarketplaceApplicationPlugin.js';
|
|
18
18
|
import type { LegendMarketplaceBaseStore } from '../../stores/LegendMarketplaceBaseStore.js';
|
|
19
19
|
import type { BaseProductCardState } from '../../stores/lakehouse/dataProducts/BaseProductCardState.js';
|
|
20
|
-
export declare const TEST__getTestLegendMarketplaceApplicationConfig: (
|
|
20
|
+
export declare const TEST__getTestLegendMarketplaceApplicationConfig: (dataProductEnv?: string | undefined) => LegendMarketplaceApplicationConfig;
|
|
21
21
|
export declare class TestLegendMarketplaceApplicationPlugin extends LegendMarketplaceApplicationPlugin {
|
|
22
22
|
constructor();
|
|
23
23
|
getExtraHomePageDataProducts(marketplaceBaseStore: LegendMarketplaceBaseStore): Promise<BaseProductCardState[] | undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationTestUtils.d.ts","sourceRoot":"","sources":["../../../src/application/__test-utils__/LegendMarketplaceApplicationTestUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAEL,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAQlD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationTestUtils.d.ts","sourceRoot":"","sources":["../../../src/application/__test-utils__/LegendMarketplaceApplicationTestUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAEL,kCAAkC,EACnC,MAAM,0CAA0C,CAAC;AAQlD,OAAO,EAAE,kCAAkC,EAAE,MAAM,0CAA0C,CAAC;AAC9F,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,4CAA4C,CAAC;AAC7F,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6DAA6D,CAAC;AA8DxG,eAAO,MAAM,+CAA+C,GAC1D,iBAAiB,MAAM,GAAG,SAAS,KAClC,kCAcF,CAAC;AAEF,qBAAa,sCAAuC,SAAQ,kCAAkC;;IAK7E,4BAA4B,CACzC,oBAAoB,EAAE,0BAA0B,GAC/C,OAAO,CAAC,oBAAoB,EAAE,GAAG,SAAS,CAAC;CAgC/C"}
|
|
@@ -18,7 +18,7 @@ import { LegendMarketplaceApplicationConfig, } from '../LegendMarketplaceApplica
|
|
|
18
18
|
import { DEFAULT_TAB_SIZE } from '@finos/legend-application';
|
|
19
19
|
import { V1_PureGraphManager, } from '@finos/legend-graph';
|
|
20
20
|
import { guaranteeNonNullable } from '@finos/legend-shared';
|
|
21
|
-
import {
|
|
21
|
+
import { mockDataProductsResponse } from '../../components/__test-utils__/TEST_DATA__LakehouseData.js';
|
|
22
22
|
import { LegendMarketplaceApplicationPlugin } from '../LegendMarketplaceApplicationPlugin.js';
|
|
23
23
|
import { DataProductCardState } from '../../stores/lakehouse/dataProducts/DataProductCardState.js';
|
|
24
24
|
const TEST_DATA__appConfig = {
|
|
@@ -27,6 +27,7 @@ const TEST_DATA__appConfig = {
|
|
|
27
27
|
marketplace: {
|
|
28
28
|
url: 'https://testMarketplaceUrl',
|
|
29
29
|
subscriptionUrl: 'https://testSubscriptionUrl',
|
|
30
|
+
dataProductEnv: 'prod',
|
|
30
31
|
userSearchUrl: 'https://testUserSearchUrl',
|
|
31
32
|
userProfileImageUrl: 'https://testUserProfileImageUrl',
|
|
32
33
|
},
|
|
@@ -78,11 +79,14 @@ const TEST_DATA__appConfig = {
|
|
|
78
79
|
productImageMap: {},
|
|
79
80
|
},
|
|
80
81
|
};
|
|
81
|
-
export const TEST__getTestLegendMarketplaceApplicationConfig = (
|
|
82
|
+
export const TEST__getTestLegendMarketplaceApplicationConfig = (dataProductEnv) => {
|
|
82
83
|
const config = new LegendMarketplaceApplicationConfig({
|
|
83
84
|
configData: {
|
|
84
85
|
...TEST_DATA__appConfig,
|
|
85
|
-
|
|
86
|
+
marketplace: {
|
|
87
|
+
...TEST_DATA__appConfig.marketplace,
|
|
88
|
+
dataProductEnv: dataProductEnv ?? TEST_DATA__appConfig.marketplace.dataProductEnv,
|
|
89
|
+
},
|
|
86
90
|
},
|
|
87
91
|
versionData: TEST__getApplicationVersionData(),
|
|
88
92
|
baseAddress: '/marketplace/',
|
|
@@ -94,7 +98,7 @@ export class TestLegendMarketplaceApplicationPlugin extends LegendMarketplaceApp
|
|
|
94
98
|
super('TestLegendMarketplaceApplicationPlugin', '0.0.0');
|
|
95
99
|
}
|
|
96
100
|
async getExtraHomePageDataProducts(marketplaceBaseStore) {
|
|
97
|
-
const mockDataProductDetail = guaranteeNonNullable(guaranteeNonNullable(
|
|
101
|
+
const mockDataProductDetail = guaranteeNonNullable(guaranteeNonNullable(mockDataProductsResponse.dataProducts)[0]);
|
|
98
102
|
const graphManager = new V1_PureGraphManager(marketplaceBaseStore.applicationStore.pluginManager, marketplaceBaseStore.applicationStore.logService, marketplaceBaseStore.remoteEngine);
|
|
99
103
|
await graphManager.initialize({
|
|
100
104
|
env: marketplaceBaseStore.applicationStore.config.env,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationTestUtils.js","sourceRoot":"","sources":["../../../src/application/__test-utils__/LegendMarketplaceApplicationTestUtils.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,+BAA+B,EAAE,MAAM,gCAAgC,CAAC;AACjF,OAAO,EAEL,kCAAkC,GACnC,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAEL,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationTestUtils.js","sourceRoot":"","sources":["../../../src/application/__test-utils__/LegendMarketplaceApplicationTestUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/CartDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqBH,eAAO,MAAM,UAAU,SAAgB,KAAK,CAAC,SAAS;;
|
|
1
|
+
{"version":3,"file":"CartDrawer.d.ts","sourceRoot":"","sources":["../../../src/components/AddToCart/CartDrawer.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAqBH,eAAO,MAAM,UAAU,SAAgB,KAAK,CAAC,SAAS;;CAiMpD,CAAC"}
|
|
@@ -32,10 +32,10 @@ export const CartDrawer = observer(() => {
|
|
|
32
32
|
},
|
|
33
33
|
}, children: [_jsxs(Box, { className: "legend-marketplace-cart-drawer__header", children: [_jsxs(Typography, { variant: "h6", className: "legend-marketplace-cart-drawer__title", children: ["Cart (", cart.cartSummary.total_items, ") -", ' ', cart.cartSummary.formatted_total_cost] }), _jsx(IconButton, { onClick: () => cart.setOpen(false), size: "medium", children: _jsx(CloseIcon, {}) })] }), _jsx(Divider, {}), _jsxs(Box, { className: "legend-marketplace-cart-drawer__business-reason", children: [_jsxs(Typography, { variant: "subtitle1", className: "legend-marketplace-cart-drawer__business-reason__title", children: ["Please Choose a Business Reason", _jsx("span", { style: { color: 'red', marginLeft: '4px' }, children: "*" })] }), _jsxs(FormControl, { fullWidth: true, required: true, size: "medium", className: "legend-marketplace-cart-drawer__business-reason__select", children: [_jsx(InputLabel, { id: "business-reason-label", children: "Select a Reason" }), _jsx(Select, { labelId: "business-reason-label", label: "Select a Reason", value: cart.businessReason ?? '', onChange: (e) => cart.setBusinessReason(e.target.value ? String(e.target.value) : undefined), children: Object.values(CartStore.BUSINESS_REASONS).map((reason) => (_jsx(MenuItem, { value: reason, children: reason }, reason))) })] })] }), _jsx(Divider, {}), _jsxs(Box, { className: "legend-marketplace-cart-drawer__content", children: [cart.loadingState.isInProgress && (_jsxs(Box, { className: "legend-marketplace-cart-drawer__loading", children: [_jsx(CircularProgress, { size: 24 }), _jsx(Typography, { variant: "body2", sx: { mt: 1 }, children: "Loading cart..." })] })), !cart.loadingState.isInProgress &&
|
|
34
34
|
cart.cartSummary.total_items <= 0 && (_jsx(Box, { className: "legend-marketplace-cart-drawer__empty", children: _jsx(Typography, { variant: "body2", color: "text.secondary", children: "Your cart is empty" }) })), !cart.loadingState.isInProgress &&
|
|
35
|
-
cart.cartSummary.total_items > 0 && (_jsx(Box, { className: "legend-marketplace-cart-drawer__items", children:
|
|
35
|
+
cart.cartSummary.total_items > 0 && (_jsx(Box, { className: "legend-marketplace-cart-drawer__items", children: Object.values(cart.items).map((value) => value.map((item) => (_jsxs(Box, { className: "legend-marketplace-cart-drawer__item-card", children: [_jsxs(Box, { className: "legend-marketplace-cart-drawer__item-card__header", children: [_jsxs(Box, { className: "legend-marketplace-cart-drawer__item-card__title-section", children: [_jsx(Chip, { size: "small", label: item.providerName, className: "legend-marketplace-cart-drawer__item-card__provider", variant: "filled" }), _jsx(Typography, { variant: "h6", className: "legend-marketplace-cart-drawer__item-card__name", children: item.productName })] }), _jsx(IconButton, { size: "small", onClick: () => cart.deleteCartItem(item.cartId), className: "legend-marketplace-cart-drawer__item-card__remove-btn", disabled: cart.loadingState.isInProgress, children: _jsx(TrashIcon, {}) })] }), _jsx(Box, { className: "legend-marketplace-cart-drawer__item-card__content", children: _jsxs(Box, { className: "legend-marketplace-cart-drawer__item-card__price-section", children: [_jsx(Typography, { variant: "h6", className: "legend-marketplace-cart-drawer__item-card__price", children: item.price.toLocaleString('en-US', {
|
|
36
36
|
style: 'currency',
|
|
37
37
|
currency: 'USD',
|
|
38
|
-
}) }), _jsx(Typography, { variant: "caption", className: "legend-marketplace-cart-drawer__item-card__price-suffix", children: "/access" })] }) })] }, `${item.providerName}-${item.cartId}`))) }))] }), _jsx(Divider, {}), _jsxs(Box, { className: "legend-marketplace-cart-drawer__footer", children: [_jsx(Button, { variant: "outlined", disabled: !cart.cartSummary.total_items ||
|
|
38
|
+
}) }), _jsx(Typography, { variant: "caption", className: "legend-marketplace-cart-drawer__item-card__price-suffix", children: "/access" })] }) })] }, `${item.providerName}-${item.cartId}`)))) }))] }), _jsx(Divider, {}), _jsxs(Box, { className: "legend-marketplace-cart-drawer__footer", children: [_jsx(Button, { variant: "outlined", disabled: !cart.cartSummary.total_items ||
|
|
39
39
|
cart.submitState.isInProgress ||
|
|
40
40
|
cart.loadingState.isInProgress, onClick: () => {
|
|
41
41
|
cart.clearCart();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CartDrawer.js","sourceRoot":"","sources":["../../../src/components/AddToCart/CartDrawer.tsx"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CartDrawer.js","sourceRoot":"","sources":["../../../src/components/AddToCart/CartDrawer.tsx"],"names":[],"mappings":"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"}
|
|
@@ -13,10 +13,11 @@
|
|
|
13
13
|
* See the License for the specific language governing permissions and
|
|
14
14
|
* limitations under the License.
|
|
15
15
|
*/
|
|
16
|
-
import type
|
|
16
|
+
import { type TerminalResult } from '@finos/legend-server-marketplace';
|
|
17
17
|
interface RecommendedAddOnsModalProps {
|
|
18
18
|
terminal: TerminalResult | null;
|
|
19
19
|
recommendedItems: TerminalResult[];
|
|
20
|
+
message: string;
|
|
20
21
|
showModal: boolean;
|
|
21
22
|
setShowModal: (show: boolean) => void;
|
|
22
23
|
onViewCart?: () => void;
|
|
@@ -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;AAoBH,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;;CAwIpC,CAAC"}
|
|
@@ -14,30 +14,16 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
14
14
|
* See the License for the specific language governing permissions and
|
|
15
15
|
* limitations under the License.
|
|
16
16
|
*/
|
|
17
|
-
import { useState } from 'react';
|
|
18
17
|
import { observer } from 'mobx-react-lite';
|
|
19
|
-
import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography,
|
|
20
|
-
import { CloseIcon, CheckCircleIcon,
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
18
|
+
import { Dialog, DialogTitle, DialogContent, DialogActions, Button, Typography, Grid, Box, IconButton, } from '@mui/material';
|
|
19
|
+
import { CloseIcon, CheckCircleIcon, ArrowRightIcon, WarningIcon, } from '@finos/legend-art';
|
|
20
|
+
import { TerminalItemType, } from '@finos/legend-server-marketplace';
|
|
21
|
+
import { RecommendedItemsCard } from './RecommendedItemsCard.js';
|
|
23
22
|
export const RecommendedAddOnsModal = observer((props) => {
|
|
24
|
-
const { terminal, recommendedItems, showModal, setShowModal, onViewCart } = props;
|
|
25
|
-
const legendMarketplaceBaseStore = useLegendMarketplaceBaseStore();
|
|
26
|
-
const cartStore = legendMarketplaceBaseStore.cartStore;
|
|
27
|
-
const [isAddingToCart, setIsAddingToCart] = useState(false);
|
|
23
|
+
const { terminal, recommendedItems, message, showModal, setShowModal, onViewCart, } = props;
|
|
28
24
|
const closeModal = () => {
|
|
29
25
|
setShowModal(false);
|
|
30
26
|
};
|
|
31
|
-
const handleAddAddonToCart = (addon) => {
|
|
32
|
-
setIsAddingToCart(true);
|
|
33
|
-
flowResult(legendMarketplaceBaseStore.cartStore.addToCartWithAPI(addon))
|
|
34
|
-
.then(() => {
|
|
35
|
-
setIsAddingToCart(false);
|
|
36
|
-
})
|
|
37
|
-
.catch((error) => {
|
|
38
|
-
setIsAddingToCart(false);
|
|
39
|
-
});
|
|
40
|
-
};
|
|
41
27
|
const handleViewCart = () => {
|
|
42
28
|
onViewCart?.();
|
|
43
29
|
closeModal();
|
|
@@ -45,18 +31,14 @@ export const RecommendedAddOnsModal = observer((props) => {
|
|
|
45
31
|
if (!showModal) {
|
|
46
32
|
return null;
|
|
47
33
|
}
|
|
48
|
-
return (_jsxs(Dialog, { open: showModal, onClose: closeModal, maxWidth: "md", fullWidth: true, className: "recommended-addons-modal", children: [_jsxs(DialogTitle, { className: "recommended-addons-modal__header", children: [
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
? isAddingToCart
|
|
58
|
-
? 'Adding...'
|
|
59
|
-
: 'Add to Cart'
|
|
60
|
-
: 'Added to Cart' }) })] }) }, addon.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" }))] })] }));
|
|
34
|
+
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
|
+
? 'Item Added Successfully'
|
|
36
|
+
: '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
|
+
? 'Recommended Add-Ons'
|
|
38
|
+
: 'Recommended Terminals' }), _jsx(Typography, { variant: "body2", className: "recommended-addons-modal__section-description", children: terminal?.terminalItemType === TerminalItemType.TERMINAL
|
|
39
|
+
? 'Complete your setup with these recommended add-ons'
|
|
40
|
+
: '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
|
+
? 'No recommended add-ons available for this terminal.'
|
|
42
|
+
: 'No recommended terminals available for this add-on.' }) })) : (_jsx(Grid, { container: true, spacing: 2, children: recommendedItems.map((item) => (_jsx(Grid, { item: true, xs: 12, sm: 6, children: terminal ? (_jsx(RecommendedItemsCard, { vendorProfileId: terminal.id, recommendedItem: item }, item.id)) : (_jsx(RecommendedItemsCard, { recommendedItem: item }, item.id)) }, 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" }))] })] }));
|
|
61
43
|
});
|
|
62
44
|
//# 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,
|
|
1
|
+
{"version":3,"file":"RecommendedAddOnsModal.js","sourceRoot":"","sources":["../../../src/components/AddToCart/RecommendedAddOnsModal.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 type { TerminalResult } from '@finos/legend-server-marketplace';
|
|
17
|
+
interface RecommendedItemsCardProps {
|
|
18
|
+
vendorProfileId?: number;
|
|
19
|
+
recommendedItem: TerminalResult;
|
|
20
|
+
}
|
|
21
|
+
export declare const RecommendedItemsCard: (props: RecommendedItemsCardProps) => import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
export {};
|
|
23
|
+
//# sourceMappingURL=RecommendedItemsCard.d.ts.map
|
|
@@ -0,0 +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;AAiBvE,UAAU,yBAAyB;IACjC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,cAAc,CAAC;CACjC;AAED,eAAO,MAAM,oBAAoB,GAAI,OAAO,yBAAyB,4CAsGpE,CAAC"}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } 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 { clsx, PlusIcon } from '@finos/legend-art';
|
|
18
|
+
import { Box, Button, Card, CardActions, CardContent, Chip, CircularProgress, Typography, } from '@mui/material';
|
|
19
|
+
import { flowResult } from 'mobx';
|
|
20
|
+
import { useState } from 'react';
|
|
21
|
+
import { assertErrorThrown } from '@finos/legend-shared';
|
|
22
|
+
import { toastManager } from '../Toast/CartToast.js';
|
|
23
|
+
import { useLegendMarketplaceBaseStore } from '../../application/providers/LegendMarketplaceFrameworkProvider.js';
|
|
24
|
+
export const RecommendedItemsCard = (props) => {
|
|
25
|
+
const { vendorProfileId, recommendedItem } = props;
|
|
26
|
+
const legendMarketplaceBaseStore = useLegendMarketplaceBaseStore();
|
|
27
|
+
const [isAddingToCart, setIsAddingToCart] = useState(false);
|
|
28
|
+
const [inCart, setInCart] = useState(false);
|
|
29
|
+
const handleAddAddonToCart = (addon) => {
|
|
30
|
+
setIsAddingToCart(true);
|
|
31
|
+
const cartItemRequest = legendMarketplaceBaseStore.cartStore.providerToCartRequest(addon);
|
|
32
|
+
if (vendorProfileId) {
|
|
33
|
+
cartItemRequest.vendorProfileId = vendorProfileId;
|
|
34
|
+
}
|
|
35
|
+
flowResult(legendMarketplaceBaseStore.cartStore.addToCartWithAPI(cartItemRequest))
|
|
36
|
+
.then((result) => {
|
|
37
|
+
if (result.success) {
|
|
38
|
+
setInCart(true);
|
|
39
|
+
}
|
|
40
|
+
setIsAddingToCart(false);
|
|
41
|
+
})
|
|
42
|
+
.catch((error) => {
|
|
43
|
+
assertErrorThrown(error);
|
|
44
|
+
toastManager.error(`Failed to add ${addon.productName} to cart: ${error.message}`);
|
|
45
|
+
setIsAddingToCart(false);
|
|
46
|
+
});
|
|
47
|
+
};
|
|
48
|
+
return (_jsxs(Card, { className: "recommended-addons-modal__addon-card", children: [_jsxs(CardContent, { className: "recommended-addons-modal__card-content", children: [_jsxs(Box, { className: "recommended-addons-modal__card-header", children: [_jsx(Typography, { variant: "subtitle1", className: "recommended-addons-modal__product-name", children: recommendedItem.productName }), _jsx(Chip, { label: recommendedItem.providerName, size: "small", className: "recommended-addons-modal__provider-chip" })] }), _jsx(Typography, { variant: "body2", className: "recommended-addons-modal__description", children: recommendedItem.description || 'No description available' }), _jsx(Box, { className: "recommended-addons-modal__card-footer", children: _jsx(Typography, { variant: "body2", className: clsx('recommended-addons-modal__price', {
|
|
49
|
+
'recommended-addons-modal__price__free': recommendedItem.price === 0,
|
|
50
|
+
}), children: recommendedItem.price === 0
|
|
51
|
+
? 'Free'
|
|
52
|
+
: recommendedItem.price.toLocaleString('en-US', {
|
|
53
|
+
style: 'currency',
|
|
54
|
+
currency: 'USD',
|
|
55
|
+
maximumFractionDigits: 2,
|
|
56
|
+
}) }) })] }), _jsx(CardActions, { className: "recommended-addons-modal__card-actions", children: _jsx(Button, { variant: inCart ? 'outlined' : 'contained', onClick: () => handleAddAddonToCart(recommendedItem), disabled: inCart || isAddingToCart, fullWidth: true, className: clsx('recommended-addons-modal__add-btn', {
|
|
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, {})] })) }) })] }));
|
|
59
|
+
};
|
|
60
|
+
//# sourceMappingURL=RecommendedItemsCard.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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;AAY3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASvE,eAAO,MAAM,6BAA6B,WAChC;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAG,GAAG,CAAC,OAAO;;
|
|
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;AAY3C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASvE,eAAO,MAAM,6BAA6B,WAChC;IAAE,cAAc,EAAE,cAAc,CAAA;CAAE,KAAG,GAAG,CAAC,OAAO;;CAgJzD,CAAC"}
|
|
@@ -27,27 +27,26 @@ export const LegendMarketplaceTerminalCard = observer((props) => {
|
|
|
27
27
|
const { terminalResult } = props;
|
|
28
28
|
const [isAddingToCart, setIsAddingToCart] = useState(false);
|
|
29
29
|
const [showRecommendationsModal, setShowRecommendationsModal] = useState(false);
|
|
30
|
-
const [
|
|
30
|
+
const [recommendedItems, setRecommendedItems] = useState([]);
|
|
31
|
+
const [modalMessage, setModalMessage] = useState('');
|
|
31
32
|
const legendMarketplaceBaseStore = useLegendMarketplaceBaseStore();
|
|
32
33
|
const applicationStore = legendMarketplaceBaseStore.applicationStore;
|
|
33
34
|
const assetUrl = applicationStore.config.assetsBaseUrl;
|
|
34
|
-
const productToImageMap = (imageName) => {
|
|
35
|
-
return applicationStore.config.assetsProductImageMap[imageName];
|
|
36
|
-
};
|
|
37
35
|
const getImageUrl = () => {
|
|
38
|
-
const
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
const maxImageCount = 7;
|
|
37
|
+
const randomIndex = Math.floor(Math.random() * maxImageCount) + 1;
|
|
38
|
+
const selectedImage = `${assetUrl}/images${randomIndex}.jpg`;
|
|
39
|
+
return selectedImage;
|
|
42
40
|
};
|
|
43
41
|
const handleAddToCart = async () => {
|
|
44
42
|
setIsAddingToCart(true);
|
|
45
43
|
try {
|
|
46
|
-
const result = await flowResult(legendMarketplaceBaseStore.cartStore.addToCartWithAPI(terminalResult));
|
|
44
|
+
const result = await flowResult(legendMarketplaceBaseStore.cartStore.addToCartWithAPI(legendMarketplaceBaseStore.cartStore.providerToCartRequest(terminalResult)));
|
|
47
45
|
if (result.success &&
|
|
48
46
|
result.recommendations &&
|
|
49
47
|
result.recommendations.length > 0) {
|
|
50
|
-
|
|
48
|
+
setRecommendedItems(result.recommendations);
|
|
49
|
+
setModalMessage(result.message);
|
|
51
50
|
setShowRecommendationsModal(true);
|
|
52
51
|
}
|
|
53
52
|
}
|
|
@@ -59,7 +58,7 @@ export const LegendMarketplaceTerminalCard = observer((props) => {
|
|
|
59
58
|
setIsAddingToCart(false);
|
|
60
59
|
}
|
|
61
60
|
};
|
|
62
|
-
const isInCart = (providerId) => legendMarketplaceBaseStore.cartStore.items
|
|
61
|
+
const isInCart = (providerId) => providerId in legendMarketplaceBaseStore.cartStore.items;
|
|
63
62
|
const handleViewCart = () => {
|
|
64
63
|
legendMarketplaceBaseStore.cartStore.setOpen(true);
|
|
65
64
|
};
|
|
@@ -73,8 +72,9 @@ export const LegendMarketplaceTerminalCard = observer((props) => {
|
|
|
73
72
|
}, disabled: isAddingToCart || isInCart(terminalResult.id), children: isAddingToCart ? (_jsxs(_Fragment, { children: ["Adding... \u00A0", _jsx(CircularProgress, { size: 16 })] })) : isInCart(terminalResult.id) ? (_jsxs(_Fragment, { children: ["In Cart \u00A0", _jsx(Box, { sx: { color: '#077D55', display: 'inline-flex' }, children: _jsx(CheckCircleIcon, {}) })] })) : (_jsxs(_Fragment, { children: ["Add to cart \u00A0", _jsx(ShoppingCartIcon, {})] })) }), typeof terminalResult.price === 'number' && (_jsx(Chip, { label: `${new Intl.NumberFormat('en-US', {
|
|
74
73
|
style: 'currency',
|
|
75
74
|
currency: 'USD',
|
|
75
|
+
roundingIncrement: 1,
|
|
76
76
|
minimumFractionDigits: 0,
|
|
77
|
-
maximumFractionDigits:
|
|
78
|
-
}).format(terminalResult.price)}/access`, className: "legend-marketplace-terminal-card__price", sx: { color: 'white', backgroundColor: '#077d55' } }))] })) }), _jsx(RecommendedAddOnsModal, { terminal: terminalResult, recommendedItems:
|
|
77
|
+
maximumFractionDigits: 0,
|
|
78
|
+
}).format(terminalResult.price)}/access`, className: "legend-marketplace-terminal-card__price", sx: { color: 'white', backgroundColor: '#077d55' } }))] })) }), _jsx(RecommendedAddOnsModal, { terminal: terminalResult, recommendedItems: recommendedItems, message: modalMessage, showModal: showRecommendationsModal, setShowModal: setShowRecommendationsModal, onViewCart: handleViewCart })] }));
|
|
79
79
|
});
|
|
80
80
|
//# sourceMappingURL=LegendMarketplaceTerminalCard.js.map
|
|
@@ -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,GACjB,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAE,6BAA6B,EAAE,MAAM,mEAAmE,CAAC;AAClH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAClC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,CAAC,MAAM,6BAA6B,GAAG,QAAQ,CACnD,CAAC,KAAyC,EAAe,EAAE;IACzD,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;IACjC,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC5D,MAAM,CAAC,wBAAwB,EAAE,2BAA2B,CAAC,GAC3D,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClB,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceTerminalCard.js","sourceRoot":"","sources":["../../../src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -23,6 +23,7 @@ export declare const TEST__provideMockLegendMarketplaceBaseStore: (customization
|
|
|
23
23
|
pluginManager?: LegendMarketplacePluginManager;
|
|
24
24
|
extraPlugins?: AbstractPlugin[];
|
|
25
25
|
extraPresets?: AbstractPreset[];
|
|
26
|
+
dataProductEnv?: string | undefined;
|
|
26
27
|
}) => Promise<LegendMarketplaceBaseStore>;
|
|
27
28
|
export declare const TEST__setUpMarketplace: (MOCK__store: LegendMarketplaceBaseStore, route?: string) => Promise<{
|
|
28
29
|
renderResult: RenderResult;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceStoreTestUtils.d.ts","sourceRoot":"","sources":["../../../src/components/__test-utils__/LegendMarketplaceStoreTestUtils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAShF,OAAO,EACL,KAAK,iCAAiC,EACtC,0BAA0B,EAC3B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qDAAqD,CAAC;AA8BrG,eAAO,MAAM,2CAA2C,GAC/C,gBAAgB;IACrB,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;IACrD,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAC/C,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceStoreTestUtils.d.ts","sourceRoot":"","sources":["../../../src/components/__test-utils__/LegendMarketplaceStoreTestUtils.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,KAAK,YAAY,EAAmB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAShF,OAAO,EACL,KAAK,iCAAiC,EACtC,0BAA0B,EAC3B,MAAM,4CAA4C,CAAC;AAEpD,OAAO,EAAE,8BAA8B,EAAE,MAAM,qDAAqD,CAAC;AA8BrG,eAAO,MAAM,2CAA2C,GAC/C,gBAAgB;IACrB,aAAa,CAAC,EAAE,0BAA0B,CAAC;IAC3C,gBAAgB,CAAC,EAAE,iCAAiC,CAAC;IACrD,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAC/C,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,cAAc,EAAE,CAAC;IAChC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,KAAG,OAAO,CAAC,0BAA0B,CAkCrC,CAAC;AAEJ,eAAO,MAAM,sBAAsB,GACjC,aAAa,0BAA0B,EACvC,QAAQ,MAAM,KACb,OAAO,CAAC;IACT,YAAY,EAAE,YAAY,CAAC;CAC5B,CAsBA,CAAC;AAEF,eAAO,MAAM,+BAA+B,GAC1C,iBAAiB,0BAA0B,EAC3C,QAAQ,MAAM;;EAwBf,CAAC"}
|
|
@@ -55,7 +55,7 @@ export const TEST__provideMockLegendMarketplaceBaseStore = async (customization)
|
|
|
55
55
|
.usePresets([...(customization?.extraPresets ?? [])])
|
|
56
56
|
.install();
|
|
57
57
|
const applicationStore = customization?.applicationStore ??
|
|
58
|
-
new ApplicationStore(TEST__getTestLegendMarketplaceApplicationConfig(), pluginManager);
|
|
58
|
+
new ApplicationStore(TEST__getTestLegendMarketplaceApplicationConfig(customization?.dataProductEnv), pluginManager);
|
|
59
59
|
const mockBaseStore = customization?.mockBaseStore ??
|
|
60
60
|
new LegendMarketplaceBaseStore(applicationStore);
|
|
61
61
|
createSpy(mockBaseStore.lakehousePlatformServerClient, 'getIngestEnvironmentSummaries').mockResolvedValue([]);
|