@finos/legend-application-marketplace 0.2.3 → 0.2.5
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 -0
- package/lib/__lib__/LegendMarketplaceAppEvent.d.ts.map +1 -1
- package/lib/__lib__/LegendMarketplaceAppEvent.js +2 -0
- package/lib/__lib__/LegendMarketplaceAppEvent.js.map +1 -1
- package/lib/__lib__/LegendMarketplaceNavigation.d.ts +7 -1
- package/lib/__lib__/LegendMarketplaceNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendMarketplaceNavigation.js +9 -1
- package/lib/__lib__/LegendMarketplaceNavigation.js.map +1 -1
- package/lib/__lib__/LegendMarketplaceTelemetryHelper.d.ts +2 -1
- package/lib/__lib__/LegendMarketplaceTelemetryHelper.d.ts.map +1 -1
- package/lib/__lib__/LegendMarketplaceTelemetryHelper.js +10 -2
- package/lib/__lib__/LegendMarketplaceTelemetryHelper.js.map +1 -1
- package/lib/application/LegendMarketplaceWebApplication.d.ts.map +1 -1
- package/lib/application/LegendMarketplaceWebApplication.js +4 -1
- package/lib/application/LegendMarketplaceWebApplication.js.map +1 -1
- package/lib/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.d.ts +22 -0
- package/lib/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.d.ts.map +1 -0
- package/lib/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.js +37 -0
- package/lib/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.js.map +1 -0
- package/lib/components/AddToCart/CartDrawer.d.ts.map +1 -1
- package/lib/components/AddToCart/CartDrawer.js +36 -4
- 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 +23 -13
- package/lib/components/AddToCart/RecommendedAddOnsModal.js.map +1 -1
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts +3 -1
- package/lib/components/AddToCart/RecommendedItemsCard.d.ts.map +1 -1
- package/lib/components/AddToCart/RecommendedItemsCard.js +14 -11
- package/lib/components/AddToCart/RecommendedItemsCard.js.map +1 -1
- package/lib/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.d.ts +23 -0
- package/lib/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.d.ts.map +1 -0
- package/lib/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.js +22 -0
- package/lib/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.js.map +1 -0
- package/lib/components/MarketplaceCard/FieldSearchResultListItem.d.ts +25 -0
- package/lib/components/MarketplaceCard/FieldSearchResultListItem.d.ts.map +1 -0
- package/lib/components/MarketplaceCard/FieldSearchResultListItem.js +58 -0
- package/lib/components/MarketplaceCard/FieldSearchResultListItem.js.map +1 -0
- package/lib/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.d.ts +10 -0
- package/lib/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.d.ts.map +1 -1
- package/lib/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.js +2 -2
- package/lib/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.js.map +1 -1
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.d.ts.map +1 -1
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js +5 -2
- package/lib/components/ProviderCard/LegendMarketplaceTerminalCard.js.map +1 -1
- package/lib/components/SearchBar/LegendMarketplaceSearchBar.d.ts +2 -1
- package/lib/components/SearchBar/LegendMarketplaceSearchBar.d.ts.map +1 -1
- package/lib/components/SearchBar/LegendMarketplaceSearchBar.js +20 -7
- package/lib/components/SearchBar/LegendMarketplaceSearchBar.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/MarketplaceLakehouseHome.d.ts.map +1 -1
- package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js +6 -4
- package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js.map +1 -1
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.d.ts +17 -0
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.d.ts.map +1 -0
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.js +126 -0
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.js.map +1 -0
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceSearchResults.d.ts.map +1 -1
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceSearchResults.js +8 -3
- package/lib/pages/Lakehouse/searchResults/LegendMarketplaceSearchResults.js.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.d.ts.map +1 -1
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js +2 -2
- package/lib/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.js.map +1 -1
- package/lib/pages/__test-utils__/TEST_DATA__LakehouseDataProducts.d.ts.map +1 -1
- package/lib/pages/__test-utils__/TEST_DATA__LakehouseDataProducts.js.map +1 -1
- package/lib/stores/cart/CartStore.d.ts +10 -3
- package/lib/stores/cart/CartStore.d.ts.map +1 -1
- package/lib/stores/cart/CartStore.js +66 -42
- package/lib/stores/cart/CartStore.js.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.d.ts +63 -0
- package/lib/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.d.ts.map +1 -0
- package/lib/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.js +228 -0
- package/lib/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.js.map +1 -0
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.d.ts.map +1 -1
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.js +9 -13
- package/lib/stores/lakehouse/LegendMarketplaceProductViewerStore.js.map +1 -1
- package/lib/stores/lakehouse/fieldSearch/FieldSearchResultState.d.ts +40 -0
- package/lib/stores/lakehouse/fieldSearch/FieldSearchResultState.d.ts.map +1 -0
- package/lib/stores/lakehouse/fieldSearch/FieldSearchResultState.js +84 -0
- package/lib/stores/lakehouse/fieldSearch/FieldSearchResultState.js.map +1 -0
- package/package.json +8 -8
- package/src/__lib__/LegendMarketplaceAppEvent.ts +2 -0
- package/src/__lib__/LegendMarketplaceNavigation.ts +18 -1
- package/src/__lib__/LegendMarketplaceTelemetryHelper.ts +17 -1
- package/src/application/LegendMarketplaceWebApplication.tsx +13 -0
- package/src/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.tsx +67 -0
- package/src/components/AddToCart/CartDrawer.tsx +49 -4
- package/src/components/AddToCart/RecommendedAddOnsModal.tsx +86 -24
- package/src/components/AddToCart/RecommendedItemsCard.tsx +143 -120
- package/src/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.tsx +65 -0
- package/src/components/MarketplaceCard/FieldSearchResultListItem.tsx +163 -0
- package/src/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.tsx +2 -2
- package/src/components/ProviderCard/LegendMarketplaceTerminalCard.tsx +7 -0
- package/src/components/SearchBar/LegendMarketplaceSearchBar.tsx +44 -3
- package/src/pages/Lakehouse/MarketplaceLakehouseHome.tsx +9 -2
- package/src/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.tsx +380 -0
- package/src/pages/Lakehouse/searchResults/LegendMarketplaceSearchResults.tsx +19 -1
- package/src/pages/TerminalsAddons/LegendMarketplaceTerminalsAddons.tsx +6 -2
- package/src/pages/__test-utils__/TEST_DATA__LakehouseDataProducts.ts +3 -2
- package/src/stores/cart/CartStore.ts +86 -51
- package/src/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.ts +309 -0
- package/src/stores/lakehouse/LegendMarketplaceProductViewerStore.ts +23 -30
- package/src/stores/lakehouse/fieldSearch/FieldSearchResultState.ts +122 -0
- package/tsconfig.json +6 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) 2026-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
|
+
|
|
17
|
+
import {
|
|
18
|
+
DataProductSearchResultDetailsType,
|
|
19
|
+
type GroupedFieldSearchDataProduct,
|
|
20
|
+
type GroupedFieldSearchResultEntry,
|
|
21
|
+
} from '@finos/legend-server-marketplace';
|
|
22
|
+
import { DataProductTypeFilter } from '../LegendMarketplaceSearchResultsStore.js';
|
|
23
|
+
import { generateGAVCoordinates } from '@finos/legend-storage';
|
|
24
|
+
import {
|
|
25
|
+
generateLakehouseDataProductPath,
|
|
26
|
+
generateLegacyDataProductPath,
|
|
27
|
+
} from '../../../__lib__/LegendMarketplaceNavigation.js';
|
|
28
|
+
|
|
29
|
+
const PRODUCT_TYPE_FILTER_MAP: Record<
|
|
30
|
+
DataProductSearchResultDetailsType,
|
|
31
|
+
DataProductTypeFilter
|
|
32
|
+
> = {
|
|
33
|
+
[DataProductSearchResultDetailsType.LEGACY]: DataProductTypeFilter.LEGACY,
|
|
34
|
+
[DataProductSearchResultDetailsType.LAKEHOUSE]:
|
|
35
|
+
DataProductTypeFilter.LAKEHOUSE,
|
|
36
|
+
[DataProductSearchResultDetailsType.ERROR]: DataProductTypeFilter.LEGACY,
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
const getDataProductName = (path: string): string =>
|
|
40
|
+
path.split('::').at(-1) ?? path;
|
|
41
|
+
|
|
42
|
+
const getOwningDataProductPath = (
|
|
43
|
+
dataProduct: GroupedFieldSearchDataProduct,
|
|
44
|
+
): string => {
|
|
45
|
+
if (
|
|
46
|
+
dataProduct.productType === DataProductSearchResultDetailsType.LEGACY &&
|
|
47
|
+
dataProduct.groupId
|
|
48
|
+
) {
|
|
49
|
+
return generateLegacyDataProductPath(
|
|
50
|
+
generateGAVCoordinates(
|
|
51
|
+
dataProduct.groupId,
|
|
52
|
+
dataProduct.artifactId ?? '',
|
|
53
|
+
dataProduct.versionId ?? '',
|
|
54
|
+
),
|
|
55
|
+
dataProduct.path,
|
|
56
|
+
);
|
|
57
|
+
}
|
|
58
|
+
if (
|
|
59
|
+
dataProduct.productType === DataProductSearchResultDetailsType.LAKEHOUSE &&
|
|
60
|
+
dataProduct.dataProductId &&
|
|
61
|
+
dataProduct.deploymentId !== undefined
|
|
62
|
+
) {
|
|
63
|
+
return generateLakehouseDataProductPath(
|
|
64
|
+
dataProduct.dataProductId,
|
|
65
|
+
dataProduct.deploymentId,
|
|
66
|
+
);
|
|
67
|
+
}
|
|
68
|
+
return '';
|
|
69
|
+
};
|
|
70
|
+
|
|
71
|
+
export class FieldSearchDataProductEntry {
|
|
72
|
+
readonly name: string;
|
|
73
|
+
readonly datasetName: string | undefined;
|
|
74
|
+
readonly modelPath: string | undefined;
|
|
75
|
+
readonly path: string;
|
|
76
|
+
readonly entityPath: string;
|
|
77
|
+
readonly dataProductId: string | undefined;
|
|
78
|
+
readonly deploymentId: number | undefined;
|
|
79
|
+
readonly groupId: string | undefined;
|
|
80
|
+
readonly artifactId: string | undefined;
|
|
81
|
+
readonly versionId: string | undefined;
|
|
82
|
+
readonly productType: DataProductTypeFilter | undefined;
|
|
83
|
+
|
|
84
|
+
constructor(dataProduct: GroupedFieldSearchDataProduct) {
|
|
85
|
+
const productType = PRODUCT_TYPE_FILTER_MAP[dataProduct.productType];
|
|
86
|
+
const dataProductName = getDataProductName(dataProduct.path);
|
|
87
|
+
|
|
88
|
+
this.name = dataProductName;
|
|
89
|
+
this.datasetName = dataProduct.datasetName;
|
|
90
|
+
this.modelPath = dataProduct.modelPath;
|
|
91
|
+
this.path = getOwningDataProductPath(dataProduct);
|
|
92
|
+
this.entityPath = dataProduct.path;
|
|
93
|
+
this.dataProductId = dataProduct.dataProductId ?? dataProductName;
|
|
94
|
+
this.deploymentId = dataProduct.deploymentId;
|
|
95
|
+
this.groupId = dataProduct.groupId;
|
|
96
|
+
this.artifactId = dataProduct.artifactId;
|
|
97
|
+
this.versionId = dataProduct.versionId;
|
|
98
|
+
this.productType = productType;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export class FieldSearchResultState {
|
|
103
|
+
readonly id: string;
|
|
104
|
+
readonly fieldName: string;
|
|
105
|
+
readonly fieldType: string;
|
|
106
|
+
readonly fieldDescription: string;
|
|
107
|
+
readonly dataProducts: FieldSearchDataProductEntry[];
|
|
108
|
+
|
|
109
|
+
constructor(result: GroupedFieldSearchResultEntry) {
|
|
110
|
+
this.fieldName = result.fieldName;
|
|
111
|
+
this.fieldType = result.fieldType ?? 'Unknown';
|
|
112
|
+
this.fieldDescription = result.fieldDescription ?? '-';
|
|
113
|
+
this.id = JSON.stringify([
|
|
114
|
+
this.fieldName,
|
|
115
|
+
this.fieldType,
|
|
116
|
+
this.fieldDescription,
|
|
117
|
+
]);
|
|
118
|
+
this.dataProducts = result.dataProducts.map(
|
|
119
|
+
(dp) => new FieldSearchDataProductEntry(dp),
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
}
|
package/tsconfig.json
CHANGED
|
@@ -71,12 +71,14 @@
|
|
|
71
71
|
"./src/stores/cart/CartStore.ts",
|
|
72
72
|
"./src/stores/dataAPIs/LegendMarketplaceDataAPIsStore.ts",
|
|
73
73
|
"./src/stores/lakehouse/LakehouseDataProductService.ts",
|
|
74
|
+
"./src/stores/lakehouse/LegendMarketplaceFieldSearchResultsStore.ts",
|
|
74
75
|
"./src/stores/lakehouse/LegendMarketplaceProductViewerStore.ts",
|
|
75
76
|
"./src/stores/lakehouse/LegendMarketplaceSearchResultsStore.ts",
|
|
76
77
|
"./src/stores/lakehouse/admin/LakehouseAdminStore.ts",
|
|
77
78
|
"./src/stores/lakehouse/dataProducts/ProductCardState.ts",
|
|
78
79
|
"./src/stores/lakehouse/entitlements/EntitlementsDashboardState.ts",
|
|
79
80
|
"./src/stores/lakehouse/entitlements/LakehouseEntitlementsStore.ts",
|
|
81
|
+
"./src/stores/lakehouse/fieldSearch/FieldSearchResultState.ts",
|
|
80
82
|
"./src/stores/orders/OrderHelpers.ts",
|
|
81
83
|
"./src/stores/orders/OrderStore.ts",
|
|
82
84
|
"./src/stores/subscriptions/SubscriptionStore.ts",
|
|
@@ -87,6 +89,7 @@
|
|
|
87
89
|
"./src/application/providers/LakehouseAdminStoreProvider.tsx",
|
|
88
90
|
"./src/application/providers/LakehouseEntitlementsStoreProvider.tsx",
|
|
89
91
|
"./src/application/providers/LegendMarketplaceDataAPIsStoreProvider.tsx",
|
|
92
|
+
"./src/application/providers/LegendMarketplaceFieldSearchResultsStoreProvider.tsx",
|
|
90
93
|
"./src/application/providers/LegendMarketplaceFrameworkProvider.tsx",
|
|
91
94
|
"./src/application/providers/LegendMarketplaceProductViewerStoreProvider.tsx",
|
|
92
95
|
"./src/application/providers/LegendMarketplaceSearchResultsStoreProvider.tsx",
|
|
@@ -99,6 +102,7 @@
|
|
|
99
102
|
"./src/components/ComingSoon/ComingSoonDisplay.tsx",
|
|
100
103
|
"./src/components/DataAPIsFiltersPanel/DataAPIsFiltersPanel.tsx",
|
|
101
104
|
"./src/components/Feedback/FeedbackWidget.tsx",
|
|
105
|
+
"./src/components/FieldSearchFiltersPanel/FieldSearchFiltersPanel.tsx",
|
|
102
106
|
"./src/components/Header/CartBadge.tsx",
|
|
103
107
|
"./src/components/Header/LegendMarketplaceAppInfo.tsx",
|
|
104
108
|
"./src/components/Header/LegendMarketplaceHeader.tsx",
|
|
@@ -110,6 +114,7 @@
|
|
|
110
114
|
"./src/components/LegendServiceCard/LegendServiceCard.tsx",
|
|
111
115
|
"./src/components/LegendServiceCard/LegendServiceGrid.tsx",
|
|
112
116
|
"./src/components/LegendServiceCard/LegendServiceListRow.tsx",
|
|
117
|
+
"./src/components/MarketplaceCard/FieldSearchResultListItem.tsx",
|
|
113
118
|
"./src/components/MarketplaceCard/LegendMarketplaceCard.tsx",
|
|
114
119
|
"./src/components/MarketplaceCard/LegendMarketplaceListItem.tsx",
|
|
115
120
|
"./src/components/MarketplaceSearchFiltersPanel/MarketplaceSearchFiltersPanel.tsx",
|
|
@@ -140,6 +145,7 @@
|
|
|
140
145
|
"./src/pages/Lakehouse/entitlements/LakehouseDataContract.tsx",
|
|
141
146
|
"./src/pages/Lakehouse/entitlements/LakehouseEntitlements.tsx",
|
|
142
147
|
"./src/pages/Lakehouse/entitlements/WorkflowDataAccessRequest.tsx",
|
|
148
|
+
"./src/pages/Lakehouse/searchResults/LegendMarketplaceFieldSearchResults.tsx",
|
|
143
149
|
"./src/pages/Lakehouse/searchResults/LegendMarketplaceSearchResults.tsx",
|
|
144
150
|
"./src/pages/Profile/LegendMarketplaceSubscriptions.tsx",
|
|
145
151
|
"./src/pages/Profile/LegendMarketplaceYourOrders.tsx",
|