@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.
@@ -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
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-marketplace v0.0.12
1
+ /** @license @finos/legend-application-marketplace v0.0.13
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
@@ -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;QAEV,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;gBAGnC,KAAK,EAAE,mCAAmC,CAAC,6CAA6C,CAAC;IAyDlF,+BAA+B,IAAI,MAAM;CAGnD"}
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;;AAgBH,MAAM,OAAO,kCAAmC,SAAQ,uBAAuB;IACpE,OAAO,GAAG,IAAI,uCAAuC,EAAE,CAAC;IAExD,oBAAoB,CAAS;IAC7B,eAAe,CAAS;IACxB,cAAc,CAAS;IACvB,kBAAkB,CAAU;IAErC,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;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
+ {"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;AAiBH,eAAO,MAAM,oBAAoB,wBAuDhC,CAAC"}
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
- 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
30
- ?.map((e) => e.dataSet)
31
- .map((asset) => (_jsx(Grid, { size: 1, children: _jsx(LegendMarketplaceVendorCard, { dataAsset: asset, onClick: (dataAsset) => {
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
- // TODO: for now lets have it take you to the studio project
34
- // eslint-disable-next-line no-console
35
- console.log('clicked');
52
+ flowResult(openDataProduct(dpState));
36
53
  }
37
- } }) }, `${asset.provider}.${asset.type}.${asset.description}`))) }) })] }) })] }) }) }));
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;4CAC7B,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;6CACtB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CACd,KAAC,IAAI,IAEH,IAAI,EAAE,CAAC,YAEP,KAAC,2BAA2B,IAC1B,SAAS,EAAE,KAAK,EAChB,OAAO,EAAE,CAAC,SAAoB,EAAE,EAAE;oDAChC,CAAC;wDACC,4DAA4D;wDAC5D,sCAAsC;wDACtC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;oDACzB,CAAC;gDACH,CAAC,GACD,IAZG,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,WAAW,EAAE,CAatD,CACR,CAAC,GACC,GACH,IACF,GACF,IACF,GACF,GACF,CACP,CAAC;AACJ,CAAC,CAAC,CACH,CAAC"}
1
+ {"version":3,"file":"LakehouseMarketplace.js","sourceRoot":"","sources":["../../../src/components/Lakehouse/LakehouseMarketplace.tsx"],"names":[],"mappings":"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"}
package/lib/index.css CHANGED
@@ -1,4 +1,4 @@
1
- /** @license @finos/legend-application-marketplace v0.0.12
1
+ /** @license @finos/legend-application-marketplace v0.0.13
2
2
  * Copyright (c) 2020-present, Goldman Sachs
3
3
  *
4
4
  * Licensed under the Apache License, Version 2.0 (the "License");
package/lib/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-marketplace",
3
- "version": "0.0.12",
3
+ "version": "0.0.13",
4
4
  "description": "Legend Marketplace application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -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;IAsC1B,gBAAgB,IAAI,IAAI;IAGxB,kBAAkB,IAAI,IAAI;CAG3B"}
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.SNAPSHOT,
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 productsE = (yield Promise.all(summaryP.map((p) => this.depotServerClient
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
- }))))).map((e) => new DataProductState(e, this));
92
- this.setProducts(productsE);
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":"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"}
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,WAAW,GACf,CAAC,MAAM,OAAO,CAAC,GAAG,CAChB,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACjB,IAAI,CAAC,iBAAiB;iBACnB,gBAAgB,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC;iBAC9D,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;gBACjB,OAAO,EAAE,WAAW,CAClB,yBAAyB,EACxB,MAA4B,CAAC,OAAO,CACtC;gBACD,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC,CACN,CACF,CACF;iBACE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,gBAAgB,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;iBACzC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;YAChE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;YAC9B,IAAI,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,iBAAiB,CAAC,KAAK,CAAC,CAAC;YACzB,IAAI,CAAC,oBAAoB,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAED,gBAAgB;QACd,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,kBAAkB;QAChB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;CACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@finos/legend-application-marketplace",
3
- "version": "0.0.12",
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.19",
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
- // can expand this if more than one server is required
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
- ?.map((e) => e.dataSet)
61
- .map((asset) => (
62
- <Grid
63
- key={`${asset.provider}.${asset.type}.${asset.description}`}
64
- size={1}
65
- >
66
- <LegendMarketplaceVendorCard
67
- dataAsset={asset}
68
- onClick={(dataAsset: DataAsset) => {
69
- {
70
- // TODO: for now lets have it take you to the studio project
71
- // eslint-disable-next-line no-console
72
- console.log('clicked');
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.SNAPSHOT,
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 productsE = (
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
- ).map((e) => new DataProductState(e, this));
148
- this.setProducts(productsE);
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);