@finos/legend-application-marketplace 0.0.12 → 0.0.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/__lib__/LegendMarketplaceNavigation.d.ts +4 -0
- package/lib/__lib__/LegendMarketplaceNavigation.d.ts.map +1 -1
- package/lib/__lib__/LegendMarketplaceNavigation.js +4 -0
- package/lib/__lib__/LegendMarketplaceNavigation.js.map +1 -1
- package/lib/app.css +1 -1
- package/lib/application/LegendMarketplaceApplicationConfig.d.ts +4 -0
- package/lib/application/LegendMarketplaceApplicationConfig.d.ts.map +1 -1
- package/lib/application/LegendMarketplaceApplicationConfig.js +5 -0
- package/lib/application/LegendMarketplaceApplicationConfig.js.map +1 -1
- package/lib/components/Lakehouse/LakehouseMarketplace.d.ts.map +1 -1
- package/lib/components/Lakehouse/LakehouseMarketplace.js +24 -7
- package/lib/components/Lakehouse/LakehouseMarketplace.js.map +1 -1
- package/lib/index.css +1 -1
- package/lib/package.json +1 -1
- package/lib/stores/lakehouse/MarketplaceLakehouseStore.d.ts.map +1 -1
- package/lib/stores/lakehouse/MarketplaceLakehouseStore.js +6 -4
- package/lib/stores/lakehouse/MarketplaceLakehouseStore.js.map +1 -1
- package/package.json +2 -2
- package/src/__lib__/LegendMarketplaceNavigation.ts +14 -0
- package/src/application/LegendMarketplaceApplicationConfig.ts +13 -1
- package/src/components/Lakehouse/LakehouseMarketplace.tsx +65 -19
- package/src/stores/lakehouse/MarketplaceLakehouseStore.ts +6 -4
|
@@ -28,4 +28,8 @@ export declare const LEGEND_MARKETPLACE_ROUTE_PATTERN: Readonly<{
|
|
|
28
28
|
}>;
|
|
29
29
|
export declare const generateSearchResultsRoute: (provider: string | undefined, query: string | undefined) => string;
|
|
30
30
|
export declare const generateVendorDetailsRoute: (vendorName: string) => string;
|
|
31
|
+
/**
|
|
32
|
+
* @external_application_navigation This depends on Legend Studio routing and is hardcoded so it's potentially brittle
|
|
33
|
+
*/
|
|
34
|
+
export declare const EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl: (studioApplicationUrl: string, projectId: string, versionId: string | undefined, entityPath: string | undefined) => string;
|
|
31
35
|
//# sourceMappingURL=LegendMarketplaceNavigation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,oBAAY,sCAAsC;IAChD,WAAW,eAAe;CAC3B;AAED,oBAAY,mDAAmD;IAC7D,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAC;AAEH,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,GAAG,SAAS,EAC5B,OAAO,MAAM,GAAG,SAAS,KACxB,MAWA,CAAC;AAEJ,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,MAG5D,CAAC"}
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceNavigation.d.ts","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAQH,oBAAY,sCAAsC;IAChD,WAAW,eAAe;CAC3B;AAED,oBAAY,mDAAmD;IAC7D,QAAQ,aAAa;IACrB,KAAK,UAAU;CAChB;AAED,eAAO,MAAM,gCAAgC;;;;;EAK3C,CAAC;AAEH,eAAO,MAAM,0BAA0B,GACrC,UAAU,MAAM,GAAG,SAAS,EAC5B,OAAO,MAAM,GAAG,SAAS,KACxB,MAWA,CAAC;AAEJ,eAAO,MAAM,0BAA0B,GAAI,YAAY,MAAM,KAAG,MAG5D,CAAC;AAEL;;GAEG;AACH,eAAO,MAAM,iEAAiE,GAE1E,sBAAsB,MAAM,EAC5B,WAAW,MAAM,EACjB,WAAW,MAAM,GAAG,SAAS,EAC7B,YAAY,MAAM,GAAG,SAAS,KAC7B,MAG6C,CAAC"}
|
|
@@ -41,4 +41,8 @@ export const generateSearchResultsRoute = (provider, query) => addQueryParameter
|
|
|
41
41
|
export const generateVendorDetailsRoute = (vendorName) => generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.VENDOR_DETAILS, {
|
|
42
42
|
vendorName,
|
|
43
43
|
});
|
|
44
|
+
/**
|
|
45
|
+
* @external_application_navigation This depends on Legend Studio routing and is hardcoded so it's potentially brittle
|
|
46
|
+
*/
|
|
47
|
+
export const EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl = (studioApplicationUrl, projectId, versionId, entityPath) => `${studioApplicationUrl}/view/${projectId}${versionId ? `/version/${versionId}` : ''}${entityPath ? `/entity/${entityPath}` : ''}`;
|
|
44
48
|
//# sourceMappingURL=LegendMarketplaceNavigation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAN,IAAY,sCAEX;AAFD,WAAY,sCAAsC;IAChD,oEAA0B,CAAA;AAC5B,CAAC,EAFW,sCAAsC,KAAtC,sCAAsC,QAEjD;AAED,MAAM,CAAN,IAAY,mDAGX;AAHD,WAAY,mDAAmD;IAC7D,4EAAqB,CAAA;IACrB,sEAAe,CAAA;AACjB,CAAC,EAHW,mDAAmD,KAAnD,mDAAmD,QAG9D;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,GAAG;IACZ,cAAc,EAAE,UAAU;IAC1B,cAAc,EAAE,YAAY,sCAAsC,CAAC,WAAW,EAAE;IAChF,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAA4B,EAC5B,KAAyB,EACjB,EAAE,CACV,uBAAuB,CACrB,gCAAgC,CAAC,cAAc,EAC/C,oBAAoB,CAAC;IACnB,CAAC,mDAAmD,CAAC,QAAQ,CAAC,EAAE,QAAQ;QACtE,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS;IACb,CAAC,mDAAmD,CAAC,KAAK,CAAC,EAAE,KAAK;QAChE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS;CACd,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,UAAkB,EAAU,EAAE,CACvE,YAAY,CAAC,gCAAgC,CAAC,cAAc,EAAE;IAC5D,UAAU;CACX,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceNavigation.js","sourceRoot":"","sources":["../../src/__lib__/LegendMarketplaceNavigation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EACL,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,CAAN,IAAY,sCAEX;AAFD,WAAY,sCAAsC;IAChD,oEAA0B,CAAA;AAC5B,CAAC,EAFW,sCAAsC,KAAtC,sCAAsC,QAEjD;AAED,MAAM,CAAN,IAAY,mDAGX;AAHD,WAAY,mDAAmD;IAC7D,4EAAqB,CAAA;IACrB,sEAAe,CAAA;AACjB,CAAC,EAHW,mDAAmD,KAAnD,mDAAmD,QAG9D;AAED,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAC,MAAM,CAAC;IAC5D,OAAO,EAAE,GAAG;IACZ,cAAc,EAAE,UAAU;IAC1B,cAAc,EAAE,YAAY,sCAAsC,CAAC,WAAW,EAAE;IAChF,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,CACxC,QAA4B,EAC5B,KAAyB,EACjB,EAAE,CACV,uBAAuB,CACrB,gCAAgC,CAAC,cAAc,EAC/C,oBAAoB,CAAC;IACnB,CAAC,mDAAmD,CAAC,QAAQ,CAAC,EAAE,QAAQ;QACtE,CAAC,CAAC,QAAQ;QACV,CAAC,CAAC,SAAS;IACb,CAAC,mDAAmD,CAAC,KAAK,CAAC,EAAE,KAAK;QAChE,CAAC,CAAC,KAAK;QACP,CAAC,CAAC,SAAS;CACd,CAAC,CACH,CAAC;AAEJ,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,UAAkB,EAAU,EAAE,CACvE,YAAY,CAAC,gCAAgC,CAAC,cAAc,EAAE;IAC5D,UAAU;CACX,CAAC,CAAC;AAEL;;GAEG;AACH,MAAM,CAAC,MAAM,iEAAiE,GAC5E,CACE,oBAA4B,EAC5B,SAAiB,EACjB,SAA6B,EAC7B,UAA8B,EACtB,EAAE,CACV,GAAG,oBAAoB,SAAS,SAAS,GACvC,SAAS,CAAC,CAAC,CAAC,YAAY,SAAS,EAAE,CAAC,CAAC,CAAC,EACxC,GAAG,UAAU,CAAC,CAAC,CAAC,WAAW,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC"}
|
package/lib/app.css
CHANGED
|
@@ -32,6 +32,9 @@ export interface LegendMarketplaceApplicationConfigurationData extends LegendApp
|
|
|
32
32
|
lakehouse?: {
|
|
33
33
|
url: string;
|
|
34
34
|
};
|
|
35
|
+
studio?: {
|
|
36
|
+
url: string;
|
|
37
|
+
};
|
|
35
38
|
}
|
|
36
39
|
export declare class LegendMarketplaceApplicationConfig extends LegendApplicationConfig {
|
|
37
40
|
readonly options: LegendMarketplaceApplicationCoreOptions;
|
|
@@ -39,6 +42,7 @@ export declare class LegendMarketplaceApplicationConfig extends LegendApplicatio
|
|
|
39
42
|
readonly engineServerUrl: string;
|
|
40
43
|
readonly depotServerUrl: string;
|
|
41
44
|
readonly lakehouseServerUrl?: string;
|
|
45
|
+
readonly studioServerUrl?: string;
|
|
42
46
|
constructor(input: LegendApplicationConfigurationInput<LegendMarketplaceApplicationConfigurationData>);
|
|
43
47
|
getDefaultApplicationStorageKey(): string;
|
|
44
48
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,cAAM,uCAAuC;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAEnC;IAEF,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,WAAW,CAAC,uCAAuC,CAAC,GAC/D,uCAAuC;CAK3C;AAED,MAAM,WAAW,6CACf,SAAQ,kCAAkC;IAC1C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationConfig.d.ts","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,KAAK,WAAW,EAIjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,KAAK,kCAAkC,EACvC,KAAK,mCAAmC,EACxC,uBAAuB,EACxB,MAAM,2BAA2B,CAAC;AAEnC,cAAM,uCAAuC;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAEnC;IAEF,MAAM,CAAC,MAAM,CACX,UAAU,EAAE,WAAW,CAAC,uCAAuC,CAAC,GAC/D,uCAAuC;CAK3C;AAED,MAAM,WAAW,6CACf,SAAQ,kCAAkC;IAC1C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,KAAK,EAAE;QAAE,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvB,MAAM,EAAE;QACN,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,SAAS,CAAC,EAAE;QACV,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;IACF,MAAM,CAAC,EAAE;QACP,GAAG,EAAE,MAAM,CAAC;KACb,CAAC;CACH;AAED,qBAAa,kCAAmC,SAAQ,uBAAuB;IAC7E,QAAQ,CAAC,OAAO,0CAAiD;IAEjE,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;gBAGhC,KAAK,EAAE,mCAAmC,CAAC,6CAA6C,CAAC;IAkElF,+BAA+B,IAAI,MAAM;CAGnD"}
|
|
@@ -28,6 +28,7 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
28
28
|
engineServerUrl;
|
|
29
29
|
depotServerUrl;
|
|
30
30
|
lakehouseServerUrl;
|
|
31
|
+
studioServerUrl;
|
|
31
32
|
constructor(input) {
|
|
32
33
|
super(input);
|
|
33
34
|
// marketplace
|
|
@@ -43,6 +44,10 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
43
44
|
if (input.configData.lakehouse) {
|
|
44
45
|
this.lakehouseServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.depot.url, `Can't configure application: 'lakehouse.url' field is missing or empty`));
|
|
45
46
|
}
|
|
47
|
+
// studio
|
|
48
|
+
if (input.configData.studio) {
|
|
49
|
+
this.studioServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(guaranteeNonEmptyString(input.configData.studio.url, `Can't configure application: 'studio.url' field is missing or empty`));
|
|
50
|
+
}
|
|
46
51
|
// options
|
|
47
52
|
this.options = LegendMarketplaceApplicationCoreOptions.create(input.configData.extensions?.core ?? {});
|
|
48
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LegendMarketplaceApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,uCAAuC;IACnC,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CAC9D,iBAAiB,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,UAAgE;QAEhE,OAAO,uCAAuC,CAAC,aAAa,CAAC,QAAQ,CACnE,UAAU,CACX,CAAC;IACJ,CAAC;;
|
|
1
|
+
{"version":3,"file":"LegendMarketplaceApplicationConfig.js","sourceRoot":"","sources":["../../src/application/LegendMarketplaceApplicationConfig.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAEL,iBAAiB,EACjB,uBAAuB,EACvB,oBAAoB,GACrB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAGL,uBAAuB,GACxB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,uCAAuC;IACnC,MAAM,CAAU,aAAa,GAAG,IAAI,oBAAoB,CAC9D,iBAAiB,CAAC,uCAAuC,EAAE,EAAE,CAAC,CAC/D,CAAC;IAEF,MAAM,CAAC,MAAM,CACX,UAAgE;QAEhE,OAAO,uCAAuC,CAAC,aAAa,CAAC,QAAQ,CACnE,UAAU,CACX,CAAC;IACJ,CAAC;;AAkBH,MAAM,OAAO,kCAAmC,SAAQ,uBAAuB;IACpE,OAAO,GAAG,IAAI,uCAAuC,EAAE,CAAC;IAExD,oBAAoB,CAAS;IAC7B,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,kBAAkB,CAAU;IAC5B,eAAe,CAAU;IAElC,YACE,KAAyF;QAEzF,KAAK,CAAC,KAAK,CAAC,CAAC;QAEb,cAAc;QACd,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,WAAW,EAC5B,6DAA6D,CAC9D,CAAC;QACF,IAAI,CAAC,oBAAoB,GAAG,uBAAuB,CAAC,kBAAkB,CACpE,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,EAChC,0EAA0E,CAC3E,CACF,CAAC;QAEF,SAAS;QACT,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,MAAM,EACvB,wDAAwD,CACzD,CAAC;QACF,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAC/D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAC3B,qEAAqE,CACtE,CACF,CAAC;QAEF,QAAQ;QACR,iBAAiB,CACf,KAAK,CAAC,UAAU,CAAC,KAAK,EACtB,uDAAuD,CACxD,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,CAC9D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAC1B,oEAAoE,CACrE,CACF,CAAC;QAEF,YAAY;QAEZ,IAAI,KAAK,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAC/B,IAAI,CAAC,kBAAkB,GAAG,uBAAuB,CAAC,kBAAkB,CAClE,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,EAC1B,wEAAwE,CACzE,CACF,CAAC;QACJ,CAAC;QACD,SAAS;QACT,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,GAAG,uBAAuB,CAAC,kBAAkB,CAC/D,uBAAuB,CACrB,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,GAAG,EAC3B,qEAAqE,CACtE,CACF,CAAC;QACJ,CAAC;QAED,UAAU;QACV,IAAI,CAAC,OAAO,GAAG,uCAAuC,CAAC,MAAM,CAC3D,KAAK,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,IAAI,EAAE,CACxC,CAAC;IACJ,CAAC;IAEQ,+BAA+B;QACtC,OAAO,oBAAoB,CAAC;IAC9B,CAAC;CACF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LakehouseMarketplace.d.ts","sourceRoot":"","sources":["../../../src/components/Lakehouse/LakehouseMarketplace.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"LakehouseMarketplace.d.ts","sourceRoot":"","sources":["../../../src/components/Lakehouse/LakehouseMarketplace.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA0BH,eAAO,MAAM,oBAAoB,wBA4FhC,CAAC"}
|
|
@@ -21,19 +21,36 @@ import { CubesLoadingIndicator, CubesLoadingIndicatorIcon, } from '@finos/legend
|
|
|
21
21
|
import { LegendMarketplaceHeader } from '../Header/LegendMarketplaceHeader.js';
|
|
22
22
|
import { Grid2 as Grid } from '@mui/material';
|
|
23
23
|
import { LegendMarketplaceVendorCard } from '../VendorCard/LegendMarketplaceVendorCard.js';
|
|
24
|
+
import { LATEST_VERSION_ALIAS, StoreProjectData, VersionedProjectData, } from '@finos/legend-server-depot';
|
|
25
|
+
import { assertErrorThrown, guaranteeNonNullable } from '@finos/legend-shared';
|
|
26
|
+
import { EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl } from '../../__lib__/LegendMarketplaceNavigation.js';
|
|
27
|
+
import { flowResult } from 'mobx';
|
|
24
28
|
export const LakehouseMarketplace = withMarketplaceLakehouseStore(observer(() => {
|
|
25
29
|
const marketPlaceStore = useMarketplaceLakehouseStore();
|
|
26
30
|
useEffect(() => {
|
|
27
31
|
marketPlaceStore.init();
|
|
28
32
|
}, [marketPlaceStore]);
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
33
|
+
const openDataProduct = async (state) => {
|
|
34
|
+
const path = `${state.product.package}::${state.product.name}`;
|
|
35
|
+
try {
|
|
36
|
+
const studioUrl = guaranteeNonNullable(marketPlaceStore.applicationStore.config.studioServerUrl, 'studio url required');
|
|
37
|
+
const project = StoreProjectData.serialization.fromJson(await marketPlaceStore.depotServerClient.getProject(state.productEntity.groupId, state.productEntity.artifactId));
|
|
38
|
+
const versionId = state.productEntity.versionId === LATEST_VERSION_ALIAS
|
|
39
|
+
? VersionedProjectData.serialization.fromJson(await marketPlaceStore.depotServerClient.getLatestVersion(state.productEntity.groupId, state.productEntity.artifactId)).versionId
|
|
40
|
+
: state.productEntity.versionId;
|
|
41
|
+
marketPlaceStore.applicationStore.navigationService.navigator.visitAddress(EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl(studioUrl, project.projectId, versionId, path));
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
assertErrorThrown(error);
|
|
45
|
+
marketPlaceStore.applicationStore.notificationService.notifyError(path
|
|
46
|
+
? `Can't visit element of path: '${path}'`
|
|
47
|
+
: `Can't visit project`);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
50
|
+
return (_jsx("div", { className: "app__page", children: _jsx("div", { className: "legend-marketplace-home", children: _jsxs("div", { className: "legend-marketplace-home__body", children: [_jsx(LegendMarketplaceHeader, {}), _jsx("div", { className: "legend-marketplace-home__content", children: _jsxs("div", { className: "legend-marketplace-data-products__content", children: [_jsx(CubesLoadingIndicator, { isLoading: marketPlaceStore.loadingProductsState.isInProgress, children: _jsx(CubesLoadingIndicatorIcon, {}) }), _jsx("div", { className: "legend-marketplace-home__vendors-cards", children: _jsx(Grid, { container: true, spacing: { xs: 2, md: 3, xl: 4 }, columns: { xs: 1, sm: 2, md: 3, xl: 6 }, sx: { justifyContent: 'center' }, children: marketPlaceStore.productStates?.map((dpState) => (_jsx(Grid, { size: 1, children: _jsx(LegendMarketplaceVendorCard, { dataAsset: dpState.dataSet, onClick: (dataAsset) => {
|
|
32
51
|
{
|
|
33
|
-
|
|
34
|
-
// eslint-disable-next-line no-console
|
|
35
|
-
console.log('clicked');
|
|
52
|
+
flowResult(openDataProduct(dpState));
|
|
36
53
|
}
|
|
37
|
-
} }) }, `${
|
|
54
|
+
} }) }, `${dpState.dataSet.provider}.${dpState.dataSet.type}.${dpState.dataSet.description}`))) }) })] }) })] }) }) }));
|
|
38
55
|
}));
|
|
39
56
|
//# sourceMappingURL=LakehouseMarketplace.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LakehouseMarketplace.js","sourceRoot":"","sources":["../../../src/components/Lakehouse/LakehouseMarketplace.tsx"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,GAC9B,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EAAE,KAAK,IAAI,IAAI,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,2BAA2B,EAAE,MAAM,8CAA8C,CAAC;AAG3F,MAAM,CAAC,MAAM,oBAAoB,GAAG,6BAA6B,CAC/D,QAAQ,CAAC,GAAG,EAAE;IACZ,MAAM,gBAAgB,GAAG,4BAA4B,EAAE,CAAC;IAExD,SAAS,CAAC,GAAG,EAAE;QACb,gBAAgB,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEvB,OAAO,CACL,cAAK,SAAS,EAAC,WAAW,YACxB,cAAK,SAAS,EAAC,yBAAyB,YACtC,eAAK,SAAS,EAAC,+BAA+B,aAC5C,KAAC,uBAAuB,KAAG,EAC3B,cAAK,SAAS,EAAC,kCAAkC,YAC/C,eAAK,SAAS,EAAC,2CAA2C,aACxD,KAAC,qBAAqB,IACpB,SAAS,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,YAAY,YAE7D,KAAC,yBAAyB,KAAG,GACP,EACxB,cAAK,SAAS,EAAC,wCAAwC,YACrD,KAAC,IAAI,IACH,SAAS,EAAE,IAAI,EACf,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAChC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EACvC,EAAE,EAAE,EAAE,cAAc,EAAE,QAAQ,EAAE,YAE/B,gBAAgB,CAAC,aAAa
|
|
1
|
+
{"version":3,"file":"LakehouseMarketplace.js","sourceRoot":"","sources":["../../../src/components/Lakehouse/LakehouseMarketplace.tsx"],"names":[],"mappings":"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"}
|
package/lib/index.css
CHANGED
package/lib/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarketplaceLakehouseStore.d.ts","sourceRoot":"","sources":["../../../src/stores/lakehouse/MarketplaceLakehouseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE/F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EACL,WAAW,EAGX,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,UAAU,iBAAiB;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,iBAAiB,CAAC;gBAErB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,yBAAyB;IAMxE,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,WAAW,IAAI,eAAe,CAUjC;IAED,IAAI,OAAO,IAAI,SAAS,CAOvB;CACF;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,QAAQ,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;IACjE,aAAa,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC9C,oBAAoB,cAAwB;gBAG1C,gBAAgB,EAAE,iCAAiC,EACnD,qBAAqB,EAAE,gCAAgC,EACvD,iBAAiB,EAAE,iBAAiB;IAYtC,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,IAAI;IAItD,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"MarketplaceLakehouseStore.d.ts","sourceRoot":"","sources":["../../../src/stores/lakehouse/MarketplaceLakehouseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAClE,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,gCAAgC,EAAE,MAAM,wCAAwC,CAAC;AAE/F,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EACL,WAAW,EAGX,KAAK,WAAW,EAEjB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAElE,UAAU,iBAAiB;IACzB,OAAO,EAAE,cAAc,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,oBAAY,eAAe;IACzB,SAAS,cAAc;IACvB,OAAO,YAAY;CACpB;AAED,qBAAa,gBAAgB;IAC3B,QAAQ,CAAC,KAAK,EAAE,yBAAyB,CAAC;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,iBAAiB,CAAC;gBAErB,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,yBAAyB;IAMxE,IAAI,OAAO,IAAI,cAAc,CAE5B;IAED,IAAI,WAAW,IAAI,eAAe,CAUjC;IAED,IAAI,OAAO,IAAI,SAAS,CAOvB;CACF;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,QAAQ,CAAC,gBAAgB,EAAE,iCAAiC,CAAC;IAC7D,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC;IAC9C,QAAQ,CAAC,qBAAqB,EAAE,gCAAgC,CAAC;IACjE,aAAa,EAAE,gBAAgB,EAAE,GAAG,SAAS,CAAC;IAC9C,oBAAoB,cAAwB;gBAG1C,gBAAgB,EAAE,iCAAiC,EACnD,qBAAqB,EAAE,gCAAgC,EACvD,iBAAiB,EAAE,iBAAiB;IAYtC,WAAW,CAAC,IAAI,EAAE,gBAAgB,EAAE,GAAG,SAAS,GAAG,IAAI;IAItD,IAAI,IAAI,WAAW,CAAC,IAAI,CAAC;IAwC1B,gBAAgB,IAAI,IAAI;IAGxB,kBAAkB,IAAI,IAAI;CAG3B"}
|
|
@@ -77,19 +77,21 @@ export class MarketplaceLakehouseStore {
|
|
|
77
77
|
try {
|
|
78
78
|
this.loadingProductsState.inProgress();
|
|
79
79
|
const summaryP = (yield this.depotServerClient.getEntitiesSummaryByClassifier(CORE_PURE_PATH.DATA_PRODUCT, {
|
|
80
|
-
scope: DepotScope.
|
|
80
|
+
scope: DepotScope.RELEASES,
|
|
81
81
|
summary: true,
|
|
82
82
|
})).map((p) => StoredSummaryEntity.serialization.fromJson(p));
|
|
83
83
|
// for now we will do 2 calls;
|
|
84
|
-
const
|
|
84
|
+
const allProducts = (yield Promise.all(summaryP.map((p) => this.depotServerClient
|
|
85
85
|
.getVersionEntity(p.groupId, p.artifactId, p.versionId, p.path)
|
|
86
86
|
.then((entity) => ({
|
|
87
87
|
product: deserialize(V1_dataProductModelSchema, entity.content),
|
|
88
88
|
groupId: p.groupId,
|
|
89
89
|
artifactId: p.artifactId,
|
|
90
90
|
versionId: p.versionId,
|
|
91
|
-
})))))
|
|
92
|
-
|
|
91
|
+
})))))
|
|
92
|
+
.map((e) => new DataProductState(e, this))
|
|
93
|
+
.sort((a, b) => a.product.name.localeCompare(b.product.name));
|
|
94
|
+
this.setProducts(allProducts);
|
|
93
95
|
this.loadingProductsState.complete();
|
|
94
96
|
}
|
|
95
97
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MarketplaceLakehouseStore.js","sourceRoot":"","sources":["../../../src/stores/lakehouse/MarketplaceLakehouseStore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EACL,UAAU,EACV,mBAAmB,GAEpB,MAAM,4BAA4B,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,MAAM,CAAC;AAEhE,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,IAAI,GAGL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EACL,cAAc,EACd,yBAAyB,EACzB,uBAAuB,GAExB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,aAAa,EAAe,MAAM,uBAAuB,CAAC;AAUnE,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,sCAAmB,CAAA;AACrB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B;AAED,MAAM,OAAO,gBAAgB;IAClB,KAAK,CAA4B;IAC1C,EAAE,CAAS;IACX,aAAa,CAAoB;IAEjC,YAAY,OAA0B,EAAE,KAAgC;QACtE,IAAI,CAAC,EAAE,GAAG,IAAI,EAAE,CAAC;QACjB,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QAC7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACpC,CAAC;IAED,IAAI,WAAW;QACb,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC;YACrC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,KAAK,CAC1C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,YAAY,uBAAuB,CAC5C,CAAC;YACF,IAAI,IAAI,EAAE,CAAC;gBACT,OAAO,eAAe,CAAC,SAAS,CAAC;YACnC,CAAC;QACH,CAAC;QACD,OAAO,eAAe,CAAC,OAAO,CAAC;IACjC,CAAC;IAED,IAAI,OAAO;QACT,OAAO;YACL,WAAW,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,GAAG,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE;YAC5F,QAAQ,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;YAC3B,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,IAAI,CAAC,WAAW;SAC3B,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,yBAAyB;IAC3B,gBAAgB,CAAoC;IACpD,iBAAiB,CAAoB;IACrC,qBAAqB,CAAmC;IACjE,aAAa,CAAiC;IAC9C,oBAAoB,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAE5C,YACE,gBAAmD,EACnD,qBAAuD,EACvD,iBAAoC;QAEpC,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACzC,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAC3C,cAAc,CAAC,IAAI,EAAE;YACnB,IAAI,EAAE,IAAI;YACV,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,MAAM;SACpB,CAAC,CAAC;IACL,CAAC;IAED,WAAW,CAAC,IAAoC;QAC9C,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,CAAC,IAAI;QACH,IAAI,CAAC;YACH,IAAI,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,QAAQ,GACZ,CAAC,MAAM,IAAI,CAAC,iBAAiB,CAAC,8BAA8B,CAC1D,cAAc,CAAC,YAAY,EAC3B;gBACE,KAAK,EAAE,UAAU,CAAC,QAAQ;gBAC1B,OAAO,EAAE,IAAI;aACd,CACF,CACF,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,mBAAmB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5D,8BAA8B;YAC9B,MAAM,
|
|
1
|
+
{"version":3,"file":"MarketplaceLakehouseStore.js","sourceRoot":"","sources":["../../../src/stores/lakehouse/MarketplaceLakehouseStore.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@finos/legend-application-marketplace",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.13",
|
|
4
4
|
"description": "Legend Marketplace application core",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"legend",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
"dependencies": {
|
|
48
48
|
"@finos/legend-application": "16.0.36",
|
|
49
49
|
"@finos/legend-art": "7.1.93",
|
|
50
|
-
"@finos/legend-graph": "32.1.
|
|
50
|
+
"@finos/legend-graph": "32.1.20",
|
|
51
51
|
"@finos/legend-server-depot": "6.0.88",
|
|
52
52
|
"@finos/legend-server-marketplace": "0.0.2",
|
|
53
53
|
"@finos/legend-shared": "11.0.11",
|
|
@@ -56,3 +56,17 @@ export const generateVendorDetailsRoute = (vendorName: string): string =>
|
|
|
56
56
|
generatePath(LEGEND_MARKETPLACE_ROUTE_PATTERN.VENDOR_DETAILS, {
|
|
57
57
|
vendorName,
|
|
58
58
|
});
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* @external_application_navigation This depends on Legend Studio routing and is hardcoded so it's potentially brittle
|
|
62
|
+
*/
|
|
63
|
+
export const EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl =
|
|
64
|
+
(
|
|
65
|
+
studioApplicationUrl: string,
|
|
66
|
+
projectId: string,
|
|
67
|
+
versionId: string | undefined,
|
|
68
|
+
entityPath: string | undefined,
|
|
69
|
+
): string =>
|
|
70
|
+
`${studioApplicationUrl}/view/${projectId}${
|
|
71
|
+
versionId ? `/version/${versionId}` : ''
|
|
72
|
+
}${entityPath ? `/entity/${entityPath}` : ''}`;
|
|
@@ -49,7 +49,9 @@ export interface LegendMarketplaceApplicationConfigurationData
|
|
|
49
49
|
url: string;
|
|
50
50
|
};
|
|
51
51
|
lakehouse?: {
|
|
52
|
-
|
|
52
|
+
url: string;
|
|
53
|
+
};
|
|
54
|
+
studio?: {
|
|
53
55
|
url: string;
|
|
54
56
|
};
|
|
55
57
|
}
|
|
@@ -61,6 +63,7 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
61
63
|
readonly engineServerUrl: string;
|
|
62
64
|
readonly depotServerUrl: string;
|
|
63
65
|
readonly lakehouseServerUrl?: string;
|
|
66
|
+
readonly studioServerUrl?: string;
|
|
64
67
|
|
|
65
68
|
constructor(
|
|
66
69
|
input: LegendApplicationConfigurationInput<LegendMarketplaceApplicationConfigurationData>,
|
|
@@ -113,6 +116,15 @@ export class LegendMarketplaceApplicationConfig extends LegendApplicationConfig
|
|
|
113
116
|
),
|
|
114
117
|
);
|
|
115
118
|
}
|
|
119
|
+
// studio
|
|
120
|
+
if (input.configData.studio) {
|
|
121
|
+
this.studioServerUrl = LegendApplicationConfig.resolveAbsoluteUrl(
|
|
122
|
+
guaranteeNonEmptyString(
|
|
123
|
+
input.configData.studio.url,
|
|
124
|
+
`Can't configure application: 'studio.url' field is missing or empty`,
|
|
125
|
+
),
|
|
126
|
+
);
|
|
127
|
+
}
|
|
116
128
|
|
|
117
129
|
// options
|
|
118
130
|
this.options = LegendMarketplaceApplicationCoreOptions.create(
|
|
@@ -28,6 +28,15 @@ import { LegendMarketplaceHeader } from '../Header/LegendMarketplaceHeader.js';
|
|
|
28
28
|
import { Grid2 as Grid } from '@mui/material';
|
|
29
29
|
import { LegendMarketplaceVendorCard } from '../VendorCard/LegendMarketplaceVendorCard.js';
|
|
30
30
|
import type { DataAsset } from '@finos/legend-server-marketplace';
|
|
31
|
+
import type { DataProductState } from '../../stores/lakehouse/MarketplaceLakehouseStore.js';
|
|
32
|
+
import {
|
|
33
|
+
LATEST_VERSION_ALIAS,
|
|
34
|
+
StoreProjectData,
|
|
35
|
+
VersionedProjectData,
|
|
36
|
+
} from '@finos/legend-server-depot';
|
|
37
|
+
import { assertErrorThrown, guaranteeNonNullable } from '@finos/legend-shared';
|
|
38
|
+
import { EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl } from '../../__lib__/LegendMarketplaceNavigation.js';
|
|
39
|
+
import { flowResult } from 'mobx';
|
|
31
40
|
|
|
32
41
|
export const LakehouseMarketplace = withMarketplaceLakehouseStore(
|
|
33
42
|
observer(() => {
|
|
@@ -37,6 +46,47 @@ export const LakehouseMarketplace = withMarketplaceLakehouseStore(
|
|
|
37
46
|
marketPlaceStore.init();
|
|
38
47
|
}, [marketPlaceStore]);
|
|
39
48
|
|
|
49
|
+
const openDataProduct = async (state: DataProductState): Promise<void> => {
|
|
50
|
+
const path = `${state.product.package}::${state.product.name}`;
|
|
51
|
+
try {
|
|
52
|
+
const studioUrl = guaranteeNonNullable(
|
|
53
|
+
marketPlaceStore.applicationStore.config.studioServerUrl,
|
|
54
|
+
'studio url required',
|
|
55
|
+
);
|
|
56
|
+
const project = StoreProjectData.serialization.fromJson(
|
|
57
|
+
await marketPlaceStore.depotServerClient.getProject(
|
|
58
|
+
state.productEntity.groupId,
|
|
59
|
+
state.productEntity.artifactId,
|
|
60
|
+
),
|
|
61
|
+
);
|
|
62
|
+
const versionId =
|
|
63
|
+
state.productEntity.versionId === LATEST_VERSION_ALIAS
|
|
64
|
+
? VersionedProjectData.serialization.fromJson(
|
|
65
|
+
await marketPlaceStore.depotServerClient.getLatestVersion(
|
|
66
|
+
state.productEntity.groupId,
|
|
67
|
+
state.productEntity.artifactId,
|
|
68
|
+
),
|
|
69
|
+
).versionId
|
|
70
|
+
: state.productEntity.versionId;
|
|
71
|
+
|
|
72
|
+
marketPlaceStore.applicationStore.navigationService.navigator.visitAddress(
|
|
73
|
+
EXTERNAL_APPLICATION_NAVIGATION__generateStudioSDLCProjectViewUrl(
|
|
74
|
+
studioUrl,
|
|
75
|
+
project.projectId,
|
|
76
|
+
versionId,
|
|
77
|
+
path,
|
|
78
|
+
),
|
|
79
|
+
);
|
|
80
|
+
} catch (error) {
|
|
81
|
+
assertErrorThrown(error);
|
|
82
|
+
marketPlaceStore.applicationStore.notificationService.notifyError(
|
|
83
|
+
path
|
|
84
|
+
? `Can't visit element of path: '${path}'`
|
|
85
|
+
: `Can't visit project`,
|
|
86
|
+
);
|
|
87
|
+
}
|
|
88
|
+
};
|
|
89
|
+
|
|
40
90
|
return (
|
|
41
91
|
<div className="app__page">
|
|
42
92
|
<div className="legend-marketplace-home">
|
|
@@ -56,25 +106,21 @@ export const LakehouseMarketplace = withMarketplaceLakehouseStore(
|
|
|
56
106
|
columns={{ xs: 1, sm: 2, md: 3, xl: 6 }}
|
|
57
107
|
sx={{ justifyContent: 'center' }}
|
|
58
108
|
>
|
|
59
|
-
{marketPlaceStore.productStates
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
}}
|
|
75
|
-
/>
|
|
76
|
-
</Grid>
|
|
77
|
-
))}
|
|
109
|
+
{marketPlaceStore.productStates?.map((dpState) => (
|
|
110
|
+
<Grid
|
|
111
|
+
key={`${dpState.dataSet.provider}.${dpState.dataSet.type}.${dpState.dataSet.description}`}
|
|
112
|
+
size={1}
|
|
113
|
+
>
|
|
114
|
+
<LegendMarketplaceVendorCard
|
|
115
|
+
dataAsset={dpState.dataSet}
|
|
116
|
+
onClick={(dataAsset: DataAsset) => {
|
|
117
|
+
{
|
|
118
|
+
flowResult(openDataProduct(dpState));
|
|
119
|
+
}
|
|
120
|
+
}}
|
|
121
|
+
/>
|
|
122
|
+
</Grid>
|
|
123
|
+
))}
|
|
78
124
|
</Grid>
|
|
79
125
|
</div>
|
|
80
126
|
</div>
|
|
@@ -122,13 +122,13 @@ export class MarketplaceLakehouseStore implements CommandRegistrar {
|
|
|
122
122
|
(yield this.depotServerClient.getEntitiesSummaryByClassifier(
|
|
123
123
|
CORE_PURE_PATH.DATA_PRODUCT,
|
|
124
124
|
{
|
|
125
|
-
scope: DepotScope.
|
|
125
|
+
scope: DepotScope.RELEASES,
|
|
126
126
|
summary: true,
|
|
127
127
|
},
|
|
128
128
|
)) as PlainObject<StoredSummaryEntity>[]
|
|
129
129
|
).map((p) => StoredSummaryEntity.serialization.fromJson(p));
|
|
130
130
|
// for now we will do 2 calls;
|
|
131
|
-
const
|
|
131
|
+
const allProducts = (
|
|
132
132
|
(yield Promise.all(
|
|
133
133
|
summaryP.map((p) =>
|
|
134
134
|
this.depotServerClient
|
|
@@ -144,8 +144,10 @@ export class MarketplaceLakehouseStore implements CommandRegistrar {
|
|
|
144
144
|
})),
|
|
145
145
|
),
|
|
146
146
|
)) as DataProductEntity[]
|
|
147
|
-
)
|
|
148
|
-
|
|
147
|
+
)
|
|
148
|
+
.map((e) => new DataProductState(e, this))
|
|
149
|
+
.sort((a, b) => a.product.name.localeCompare(b.product.name));
|
|
150
|
+
this.setProducts(allProducts);
|
|
149
151
|
this.loadingProductsState.complete();
|
|
150
152
|
} catch (error) {
|
|
151
153
|
assertErrorThrown(error);
|