@finos/legend-application-marketplace 0.0.19 → 0.0.21

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.
Files changed (248) hide show
  1. package/lib/__lib__/LegendMarketplaceNavigation.d.ts +3 -0
  2. package/lib/__lib__/LegendMarketplaceNavigation.d.ts.map +1 -1
  3. package/lib/__lib__/LegendMarketplaceNavigation.js +11 -1
  4. package/lib/__lib__/LegendMarketplaceNavigation.js.map +1 -1
  5. package/lib/app.css +2 -2
  6. package/lib/app.css.map +1 -1
  7. package/lib/application/LegendMarketplaceApplicationConfig.d.ts +10 -0
  8. package/lib/application/LegendMarketplaceApplicationConfig.d.ts.map +1 -1
  9. package/lib/application/LegendMarketplaceApplicationConfig.js +10 -0
  10. package/lib/application/LegendMarketplaceApplicationConfig.js.map +1 -1
  11. package/lib/application/LegendMarketplaceFrameworkProvider.d.ts.map +1 -1
  12. package/lib/application/LegendMarketplaceFrameworkProvider.js +2 -2
  13. package/lib/application/LegendMarketplaceFrameworkProvider.js.map +1 -1
  14. package/lib/application/LegendMarketplaceWebApplication.d.ts.map +1 -1
  15. package/lib/application/LegendMarketplaceWebApplication.js +18 -8
  16. package/lib/application/LegendMarketplaceWebApplication.js.map +1 -1
  17. package/lib/components/DataProductCard/LegendMarketplaceDataProductSearchCard.d.ts.map +1 -1
  18. package/lib/components/DataProductCard/LegendMarketplaceDataProductSearchCard.js +6 -3
  19. package/lib/components/DataProductCard/LegendMarketplaceDataProductSearchCard.js.map +1 -1
  20. package/lib/components/DataProductCard/LegendMarketplaceLightDataProductCard.d.ts.map +1 -1
  21. package/lib/components/DataProductCard/LegendMarketplaceLightDataProductCard.js +9 -6
  22. package/lib/components/DataProductCard/LegendMarketplaceLightDataProductCard.js.map +1 -1
  23. package/lib/components/{Lakehouse/LakehouseHeader.d.ts → Header/MarketplaceLakehouseHeader.d.ts} +2 -2
  24. package/lib/components/Header/MarketplaceLakehouseHeader.d.ts.map +1 -0
  25. package/lib/components/{Lakehouse/LakehouseHeader.js → Header/MarketplaceLakehouseHeader.js} +8 -4
  26. package/lib/components/Header/MarketplaceLakehouseHeader.js.map +1 -0
  27. package/lib/components/MarketplaceCard/LegendMarketplaceCard.d.ts +25 -0
  28. package/lib/components/MarketplaceCard/LegendMarketplaceCard.d.ts.map +1 -0
  29. package/lib/components/MarketplaceCard/LegendMarketplaceCard.js +32 -0
  30. package/lib/components/MarketplaceCard/LegendMarketplaceCard.js.map +1 -0
  31. package/lib/components/ProviderCard/LegendMarketplaceProviderCard.d.ts.map +1 -1
  32. package/lib/components/ProviderCard/LegendMarketplaceProviderCard.js +6 -3
  33. package/lib/components/ProviderCard/LegendMarketplaceProviderCard.js.map +1 -1
  34. package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.d.ts.map +1 -1
  35. package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.js +3 -6
  36. package/lib/components/__test-utils__/LegendMarketplaceStoreTestUtils.js.map +1 -1
  37. package/lib/index.css +2 -2
  38. package/lib/index.css.map +1 -1
  39. package/lib/package.json +2 -1
  40. package/lib/pages/Home/LegendMarketplaceHome.d.ts.map +1 -1
  41. package/lib/pages/Home/LegendMarketplaceHome.js +4 -4
  42. package/lib/pages/Home/LegendMarketplaceHome.js.map +1 -1
  43. package/lib/pages/Lakehouse/DataProductDataAccess.d.ts.map +1 -0
  44. package/lib/{components → pages}/Lakehouse/DataProductDataAccess.js +41 -9
  45. package/lib/pages/Lakehouse/DataProductDataAccess.js.map +1 -0
  46. package/lib/pages/Lakehouse/DataProductHolder.d.ts.map +1 -0
  47. package/lib/pages/Lakehouse/DataProductHolder.js.map +1 -0
  48. package/lib/pages/Lakehouse/DataProductViewer.d.ts.map +1 -0
  49. package/lib/pages/Lakehouse/DataProductViewer.js.map +1 -0
  50. package/lib/pages/Lakehouse/DataProductViewerActivityBar.d.ts.map +1 -0
  51. package/lib/pages/Lakehouse/DataProductViewerActivityBar.js.map +1 -0
  52. package/lib/pages/Lakehouse/DataProductWiki.d.ts.map +1 -0
  53. package/lib/pages/Lakehouse/DataProductWiki.js.map +1 -0
  54. package/lib/pages/Lakehouse/LakehouseDataProduct.d.ts.map +1 -0
  55. package/lib/{components → pages}/Lakehouse/LakehouseDataProduct.js +3 -3
  56. package/lib/pages/Lakehouse/LakehouseDataProduct.js.map +1 -0
  57. package/lib/{components/Lakehouse/LakehouseMarketplace.d.ts → pages/Lakehouse/MarketplaceLakehouseHome.d.ts} +2 -2
  58. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.d.ts.map +1 -0
  59. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js +54 -0
  60. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js.map +1 -0
  61. package/lib/{components/Lakehouse/MarketLakehouseStoreProvider.d.ts → pages/Lakehouse/MarketplaceLakehouseStoreProvider.d.ts} +1 -1
  62. package/lib/pages/Lakehouse/MarketplaceLakehouseStoreProvider.d.ts.map +1 -0
  63. package/lib/{components/Lakehouse/MarketLakehouseStoreProvider.js → pages/Lakehouse/MarketplaceLakehouseStoreProvider.js} +1 -1
  64. package/lib/pages/Lakehouse/MarketplaceLakehouseStoreProvider.js.map +1 -0
  65. package/lib/{components/Lakehouse/entitlements/LakehouseEntitlements.d.ts → pages/Lakehouse/entitlements/EntitlementsDashboard.d.ts} +6 -5
  66. package/lib/pages/Lakehouse/entitlements/EntitlementsDashboard.d.ts.map +1 -0
  67. package/lib/pages/Lakehouse/entitlements/EntitlementsDashboard.js +194 -0
  68. package/lib/pages/Lakehouse/entitlements/EntitlementsDashboard.js.map +1 -0
  69. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractCreator.d.ts +24 -0
  70. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractCreator.d.ts.map +1 -0
  71. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractCreator.js +38 -0
  72. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractCreator.js.map +1 -0
  73. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractViewer.d.ts +22 -0
  74. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractViewer.d.ts.map +1 -0
  75. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractViewer.js +23 -0
  76. package/lib/pages/Lakehouse/entitlements/EntitlementsDataContractViewer.js.map +1 -0
  77. package/lib/pages/Lakehouse/entitlements/EntitlementsTaskViewer.d.ts +21 -0
  78. package/lib/pages/Lakehouse/entitlements/EntitlementsTaskViewer.d.ts.map +1 -0
  79. package/lib/pages/Lakehouse/entitlements/EntitlementsTaskViewer.js +32 -0
  80. package/lib/pages/Lakehouse/entitlements/EntitlementsTaskViewer.js.map +1 -0
  81. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlements.d.ts +17 -0
  82. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlements.d.ts.map +1 -0
  83. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlements.js +55 -0
  84. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlements.js.map +1 -0
  85. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.d.ts.map +1 -0
  86. package/lib/pages/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.js.map +1 -0
  87. package/lib/pages/Lakehouse/shared/GridItemViewer.d.ts +21 -0
  88. package/lib/pages/Lakehouse/shared/GridItemViewer.d.ts.map +1 -0
  89. package/lib/pages/Lakehouse/shared/GridItemViewer.js +46 -0
  90. package/lib/pages/Lakehouse/shared/GridItemViewer.js.map +1 -0
  91. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptions.d.ts +29 -0
  92. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptions.d.ts.map +1 -0
  93. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptions.js +152 -0
  94. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptions.js.map +1 -0
  95. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptionsStoreProvider.d.ts +22 -0
  96. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptionsStoreProvider.d.ts.map +1 -0
  97. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptionsStoreProvider.js +34 -0
  98. package/lib/pages/Lakehouse/subscriptions/LakehouseSubscriptionsStoreProvider.js.map +1 -0
  99. package/lib/pages/LegendMarketplacePage.d.ts +23 -0
  100. package/lib/pages/LegendMarketplacePage.d.ts.map +1 -0
  101. package/lib/pages/LegendMarketplacePage.js +23 -0
  102. package/lib/pages/LegendMarketplacePage.js.map +1 -0
  103. package/lib/pages/SearchResults/LegendMarketplaceSearchResults.d.ts.map +1 -1
  104. package/lib/pages/SearchResults/LegendMarketplaceSearchResults.js +13 -13
  105. package/lib/pages/SearchResults/LegendMarketplaceSearchResults.js.map +1 -1
  106. package/lib/pages/VendorData/LegendMarketplaceVendorData.d.ts.map +1 -1
  107. package/lib/pages/VendorData/LegendMarketplaceVendorData.js +6 -6
  108. package/lib/pages/VendorData/LegendMarketplaceVendorData.js.map +1 -1
  109. package/lib/stores/LakehouseContractServerClient.d.ts +11 -4
  110. package/lib/stores/LakehouseContractServerClient.d.ts.map +1 -1
  111. package/lib/stores/LakehouseContractServerClient.js +21 -3
  112. package/lib/stores/LakehouseContractServerClient.js.map +1 -1
  113. package/lib/stores/LegendMarketplaceBaseStore.d.ts +3 -0
  114. package/lib/stores/LegendMarketplaceBaseStore.d.ts.map +1 -1
  115. package/lib/stores/LegendMarketplaceBaseStore.js +8 -1
  116. package/lib/stores/LegendMarketplaceBaseStore.js.map +1 -1
  117. package/lib/stores/lakehouse/DataProductDataAccessState.d.ts +6 -7
  118. package/lib/stores/lakehouse/DataProductDataAccessState.d.ts.map +1 -1
  119. package/lib/stores/lakehouse/DataProductDataAccessState.js +47 -48
  120. package/lib/stores/lakehouse/DataProductDataAccessState.js.map +1 -1
  121. package/lib/stores/lakehouse/DataProductViewerState.d.ts +7 -3
  122. package/lib/stores/lakehouse/DataProductViewerState.d.ts.map +1 -1
  123. package/lib/stores/lakehouse/DataProductViewerState.js +51 -22
  124. package/lib/stores/lakehouse/DataProductViewerState.js.map +1 -1
  125. package/lib/stores/lakehouse/LakehouseUtils.d.ts +50 -0
  126. package/lib/stores/lakehouse/LakehouseUtils.d.ts.map +1 -0
  127. package/lib/stores/lakehouse/LakehouseUtils.js +267 -0
  128. package/lib/stores/lakehouse/LakehouseUtils.js.map +1 -0
  129. package/lib/stores/lakehouse/MarketplaceLakehouseStore.d.ts.map +1 -1
  130. package/lib/stores/lakehouse/MarketplaceLakehouseStore.js +9 -4
  131. package/lib/stores/lakehouse/MarketplaceLakehouseStore.js.map +1 -1
  132. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.d.ts +31 -0
  133. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.d.ts.map +1 -0
  134. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.js +110 -0
  135. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.js.map +1 -0
  136. package/lib/stores/lakehouse/entitlements/EntitlementsDataContractViewerState.d.ts +30 -0
  137. package/lib/stores/lakehouse/entitlements/EntitlementsDataContractViewerState.d.ts.map +1 -0
  138. package/lib/stores/lakehouse/entitlements/EntitlementsDataContractViewerState.js +65 -0
  139. package/lib/stores/lakehouse/entitlements/EntitlementsDataContractViewerState.js.map +1 -0
  140. package/lib/stores/lakehouse/entitlements/EntitlementsTaskViewerState.d.ts +41 -0
  141. package/lib/stores/lakehouse/entitlements/EntitlementsTaskViewerState.d.ts.map +1 -0
  142. package/lib/stores/lakehouse/entitlements/EntitlementsTaskViewerState.js +146 -0
  143. package/lib/stores/lakehouse/entitlements/EntitlementsTaskViewerState.js.map +1 -0
  144. package/lib/stores/lakehouse/entitlements/LakehouseEntitlementsStore.d.ts +10 -32
  145. package/lib/stores/lakehouse/entitlements/LakehouseEntitlementsStore.d.ts.map +1 -1
  146. package/lib/stores/lakehouse/entitlements/LakehouseEntitlementsStore.js +49 -163
  147. package/lib/stores/lakehouse/entitlements/LakehouseEntitlementsStore.js.map +1 -1
  148. package/lib/stores/lakehouse/entitlements/LakehouseViewerState.d.ts +23 -0
  149. package/lib/stores/lakehouse/entitlements/LakehouseViewerState.d.ts.map +1 -0
  150. package/lib/stores/lakehouse/entitlements/LakehouseViewerState.js +24 -0
  151. package/lib/stores/lakehouse/entitlements/LakehouseViewerState.js.map +1 -0
  152. package/lib/stores/lakehouse/subscriptions/LakehouseSubscriptionsStore.d.ts +30 -0
  153. package/lib/stores/lakehouse/subscriptions/LakehouseSubscriptionsStore.d.ts.map +1 -0
  154. package/lib/stores/lakehouse/subscriptions/LakehouseSubscriptionsStore.js +63 -0
  155. package/lib/stores/lakehouse/subscriptions/LakehouseSubscriptionsStore.js.map +1 -0
  156. package/package.json +5 -4
  157. package/src/__lib__/LegendMarketplaceNavigation.ts +16 -1
  158. package/src/application/LegendMarketplaceApplicationConfig.ts +25 -0
  159. package/src/application/LegendMarketplaceFrameworkProvider.tsx +2 -0
  160. package/src/application/LegendMarketplaceWebApplication.tsx +50 -12
  161. package/src/components/DataProductCard/LegendMarketplaceDataProductSearchCard.tsx +41 -33
  162. package/src/components/DataProductCard/LegendMarketplaceLightDataProductCard.tsx +33 -36
  163. package/src/components/{Lakehouse/LakehouseHeader.tsx → Header/MarketplaceLakehouseHeader.tsx} +7 -3
  164. package/src/components/MarketplaceCard/LegendMarketplaceCard.tsx +98 -0
  165. package/src/components/ProviderCard/LegendMarketplaceProviderCard.tsx +47 -39
  166. package/src/components/__test-utils__/LegendMarketplaceStoreTestUtils.tsx +2 -14
  167. package/src/pages/Home/LegendMarketplaceHome.tsx +42 -51
  168. package/src/{components → pages}/Lakehouse/DataProductDataAccess.tsx +91 -12
  169. package/src/{components → pages}/Lakehouse/LakehouseDataProduct.tsx +14 -23
  170. package/src/pages/Lakehouse/MarketplaceLakehouseHome.tsx +167 -0
  171. package/src/pages/Lakehouse/entitlements/EntitlementsDashboard.tsx +390 -0
  172. package/src/pages/Lakehouse/entitlements/EntitlementsDataContractCreator.tsx +99 -0
  173. package/src/pages/Lakehouse/entitlements/EntitlementsDataContractViewer.tsx +33 -0
  174. package/src/pages/Lakehouse/entitlements/EntitlementsTaskViewer.tsx +73 -0
  175. package/src/pages/Lakehouse/entitlements/LakehouseEntitlements.tsx +82 -0
  176. package/src/pages/Lakehouse/shared/GridItemViewer.tsx +105 -0
  177. package/src/pages/Lakehouse/subscriptions/LakehouseSubscriptions.tsx +358 -0
  178. package/src/pages/Lakehouse/subscriptions/LakehouseSubscriptionsStoreProvider.tsx +65 -0
  179. package/src/pages/LegendMarketplacePage.tsx +26 -0
  180. package/src/pages/SearchResults/LegendMarketplaceSearchResults.tsx +58 -65
  181. package/src/pages/VendorData/LegendMarketplaceVendorData.tsx +44 -42
  182. package/src/stores/LakehouseContractServerClient.ts +78 -10
  183. package/src/stores/LegendMarketplaceBaseStore.ts +16 -1
  184. package/src/stores/lakehouse/DataProductDataAccessState.ts +67 -63
  185. package/src/stores/lakehouse/DataProductViewerState.ts +86 -29
  186. package/src/stores/lakehouse/LakehouseUtils.ts +345 -0
  187. package/src/stores/lakehouse/MarketplaceLakehouseStore.ts +10 -6
  188. package/src/stores/lakehouse/entitlements/EntitlementsDashboardState.ts +167 -0
  189. package/src/stores/lakehouse/entitlements/EntitlementsDataContractViewerState.ts +101 -0
  190. package/src/stores/lakehouse/entitlements/EntitlementsTaskViewerState.ts +227 -0
  191. package/src/stores/lakehouse/entitlements/LakehouseEntitlementsStore.ts +69 -231
  192. package/src/stores/lakehouse/entitlements/LakehouseViewerState.ts +27 -0
  193. package/src/stores/lakehouse/subscriptions/LakehouseSubscriptionsStore.ts +100 -0
  194. package/tsconfig.json +26 -13
  195. package/lib/components/Lakehouse/DataProductDataAccess.d.ts.map +0 -1
  196. package/lib/components/Lakehouse/DataProductDataAccess.js.map +0 -1
  197. package/lib/components/Lakehouse/DataProductHolder.d.ts.map +0 -1
  198. package/lib/components/Lakehouse/DataProductHolder.js.map +0 -1
  199. package/lib/components/Lakehouse/DataProductViewer.d.ts.map +0 -1
  200. package/lib/components/Lakehouse/DataProductViewer.js.map +0 -1
  201. package/lib/components/Lakehouse/DataProductViewerActivityBar.d.ts.map +0 -1
  202. package/lib/components/Lakehouse/DataProductViewerActivityBar.js.map +0 -1
  203. package/lib/components/Lakehouse/DataProductWiki.d.ts.map +0 -1
  204. package/lib/components/Lakehouse/DataProductWiki.js.map +0 -1
  205. package/lib/components/Lakehouse/LakehouseDataProduct.d.ts.map +0 -1
  206. package/lib/components/Lakehouse/LakehouseDataProduct.js.map +0 -1
  207. package/lib/components/Lakehouse/LakehouseHeader.d.ts.map +0 -1
  208. package/lib/components/Lakehouse/LakehouseHeader.js.map +0 -1
  209. package/lib/components/Lakehouse/LakehouseMarketplace.d.ts.map +0 -1
  210. package/lib/components/Lakehouse/LakehouseMarketplace.js +0 -57
  211. package/lib/components/Lakehouse/LakehouseMarketplace.js.map +0 -1
  212. package/lib/components/Lakehouse/MarketLakehouseStoreProvider.d.ts.map +0 -1
  213. package/lib/components/Lakehouse/MarketLakehouseStoreProvider.js.map +0 -1
  214. package/lib/components/Lakehouse/entitlements/LakehouseEntitlements.d.ts.map +0 -1
  215. package/lib/components/Lakehouse/entitlements/LakehouseEntitlements.js +0 -147
  216. package/lib/components/Lakehouse/entitlements/LakehouseEntitlements.js.map +0 -1
  217. package/lib/components/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.d.ts.map +0 -1
  218. package/lib/components/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.js.map +0 -1
  219. package/lib/stores/MarketplaceLakehouseServerClient.d.ts +0 -25
  220. package/lib/stores/MarketplaceLakehouseServerClient.d.ts.map +0 -1
  221. package/lib/stores/MarketplaceLakehouseServerClient.js +0 -27
  222. package/lib/stores/MarketplaceLakehouseServerClient.js.map +0 -1
  223. package/lib/stores/lakehouse/entitlements/DataContractState.d.ts +0 -27
  224. package/lib/stores/lakehouse/entitlements/DataContractState.d.ts.map +0 -1
  225. package/lib/stores/lakehouse/entitlements/DataContractState.js +0 -115
  226. package/lib/stores/lakehouse/entitlements/DataContractState.js.map +0 -1
  227. package/src/components/Lakehouse/LakehouseMarketplace.tsx +0 -193
  228. package/src/components/Lakehouse/entitlements/LakehouseEntitlements.tsx +0 -332
  229. package/src/stores/MarketplaceLakehouseServerClient.ts +0 -40
  230. package/src/stores/lakehouse/entitlements/DataContractState.ts +0 -131
  231. /package/lib/{components → pages}/Lakehouse/DataProductDataAccess.d.ts +0 -0
  232. /package/lib/{components → pages}/Lakehouse/DataProductHolder.d.ts +0 -0
  233. /package/lib/{components → pages}/Lakehouse/DataProductHolder.js +0 -0
  234. /package/lib/{components → pages}/Lakehouse/DataProductViewer.d.ts +0 -0
  235. /package/lib/{components → pages}/Lakehouse/DataProductViewer.js +0 -0
  236. /package/lib/{components → pages}/Lakehouse/DataProductViewerActivityBar.d.ts +0 -0
  237. /package/lib/{components → pages}/Lakehouse/DataProductViewerActivityBar.js +0 -0
  238. /package/lib/{components → pages}/Lakehouse/DataProductWiki.d.ts +0 -0
  239. /package/lib/{components → pages}/Lakehouse/DataProductWiki.js +0 -0
  240. /package/lib/{components → pages}/Lakehouse/LakehouseDataProduct.d.ts +0 -0
  241. /package/lib/{components → pages}/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.d.ts +0 -0
  242. /package/lib/{components → pages}/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.js +0 -0
  243. /package/src/{components → pages}/Lakehouse/DataProductHolder.tsx +0 -0
  244. /package/src/{components → pages}/Lakehouse/DataProductViewer.tsx +0 -0
  245. /package/src/{components → pages}/Lakehouse/DataProductViewerActivityBar.tsx +0 -0
  246. /package/src/{components → pages}/Lakehouse/DataProductWiki.tsx +0 -0
  247. /package/src/{components/Lakehouse/MarketLakehouseStoreProvider.tsx → pages/Lakehouse/MarketplaceLakehouseStoreProvider.tsx} +0 -0
  248. /package/src/{components → pages}/Lakehouse/entitlements/LakehouseEntitlementsStoreProvider.tsx +0 -0
@@ -1,193 +0,0 @@
1
- /**
2
- * Copyright (c) 2020-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 { observer } from 'mobx-react-lite';
18
- import {
19
- useMarketplaceLakehouseStore,
20
- withMarketplaceLakehouseStore,
21
- } from './MarketLakehouseStoreProvider.js';
22
- import { useEffect, type JSX } from 'react';
23
- import {
24
- clsx,
25
- CubesLoadingIndicator,
26
- CubesLoadingIndicatorIcon,
27
- } from '@finos/legend-art';
28
- import { LegendMarketplaceHeader } from '../Header/LegendMarketplaceHeader.js';
29
- import {
30
- Card,
31
- CardActionArea,
32
- CardContent,
33
- Checkbox,
34
- Chip,
35
- FormControlLabel,
36
- FormGroup,
37
- Grid2 as Grid,
38
- } from '@mui/material';
39
- import type { DataProductState } from '../../stores/lakehouse/MarketplaceLakehouseStore.js';
40
- import { generateLakehouseDataProduct } from '../../__lib__/LegendMarketplaceNavigation.js';
41
- import { useAuth } from 'react-oidc-context';
42
- import { generateGAVCoordinates } from '@finos/legend-storage';
43
- import { LegendMarketplaceSearchBar } from '../SearchBar/LegendMarketplaceSearchBar.js';
44
- import { DepotScope } from '@finos/legend-server-depot';
45
-
46
- export const LegendDataProductVendorCard = (props: {
47
- dataAsset: DataProductState;
48
- onClick: (dataAsset: DataProductState) => void;
49
- }): JSX.Element => {
50
- const { dataAsset, onClick } = props;
51
- return (
52
- <Card variant="outlined" className="legend-marketplace-vendor-card">
53
- <CardActionArea
54
- onClick={() => onClick(dataAsset)}
55
- sx={{ height: '100%' }}
56
- >
57
- <CardContent className="legend-marketplace-vendor-card__content">
58
- <Chip
59
- label={dataAsset.productEntity.versionId}
60
- className={clsx('legend-marketplace-vendor-card__type')}
61
- />
62
- <div className="legend-marketplace-vendor-card__name">
63
- {dataAsset.productEntity.path}
64
- </div>
65
- <div className="legend-marketplace-vendor-card__description">
66
- {`${dataAsset.productEntity.groupId}:${dataAsset.productEntity.artifactId}`}
67
- </div>
68
- </CardContent>
69
-
70
- <CardContent className="legend-marketplace-vendor-card__more-info">
71
- <div>{dataAsset.productEntity.path}</div>
72
- </CardContent>
73
- </CardActionArea>
74
- </Card>
75
- );
76
- };
77
-
78
- export const LakehouseMarketplace = withMarketplaceLakehouseStore(
79
- observer(() => {
80
- const marketPlaceStore = useMarketplaceLakehouseStore();
81
- const auth = useAuth();
82
- const onSearch = (
83
- provider: string | undefined,
84
- query: string | undefined,
85
- ) => {
86
- marketPlaceStore.handleSearch(query);
87
- };
88
-
89
- const onSearchChange = (query: string) => {
90
- if (query === '') {
91
- // use for clearing of search
92
- marketPlaceStore.handleSearch(query);
93
- }
94
- };
95
-
96
- useEffect(() => {
97
- marketPlaceStore.init();
98
- }, [marketPlaceStore]);
99
-
100
- useEffect(() => {
101
- // eslint-disable-next-line no-void
102
- void marketPlaceStore.lakehouseServerClient.getDataProducts(
103
- auth.user?.access_token,
104
- );
105
- }, [auth.user?.access_token, marketPlaceStore.lakehouseServerClient]);
106
-
107
- return (
108
- <div className="app__page">
109
- <div className="legend-marketplace-home">
110
- <div className="legend-marketplace-home__body">
111
- <LegendMarketplaceHeader />
112
- <div className="legend-marketplace-home__content">
113
- <div className="legend-marketplace-data-products__content">
114
- <CubesLoadingIndicator
115
- isLoading={marketPlaceStore.loadingProductsState.isInProgress}
116
- >
117
- <CubesLoadingIndicatorIcon />
118
- </CubesLoadingIndicator>
119
- <div className="legend-marketplace-data-product-search__container">
120
- <LegendMarketplaceSearchBar
121
- onSearch={onSearch}
122
- onChange={onSearchChange}
123
- />
124
- <div className="legend-marketplace-data-product-search__filters">
125
- <FormGroup>
126
- <FormControlLabel
127
- control={
128
- <Checkbox
129
- checked={marketPlaceStore.filter.releaseFilter}
130
- onChange={() =>
131
- marketPlaceStore.handleFilterChange(
132
- DepotScope.RELEASES,
133
- )
134
- }
135
- />
136
- }
137
- label="Releases"
138
- />
139
- <FormControlLabel
140
- control={
141
- <Checkbox
142
- checked={marketPlaceStore.filter.snapshotFilter}
143
- onChange={() =>
144
- marketPlaceStore.handleFilterChange(
145
- DepotScope.SNAPSHOT,
146
- )
147
- }
148
- />
149
- }
150
- label="Snapshots"
151
- />
152
- </FormGroup>
153
- </div>
154
- </div>
155
-
156
- <div className="legend-marketplace-home__vendors-cards">
157
- <Grid
158
- container={true}
159
- spacing={{ xs: 2, md: 3, xl: 4 }}
160
- columns={{ xs: 1, sm: 2, md: 3, xl: 6 }}
161
- sx={{ justifyContent: 'center' }}
162
- >
163
- {marketPlaceStore.filterProducts?.map((dpState) => (
164
- <Grid key={dpState.id} size={1}>
165
- <LegendDataProductVendorCard
166
- dataAsset={dpState}
167
- onClick={(dataAsset: DataProductState) => {
168
- {
169
- marketPlaceStore.applicationStore.navigationService.navigator.goToLocation(
170
- generateLakehouseDataProduct(
171
- generateGAVCoordinates(
172
- dpState.productEntity.groupId,
173
- dpState.productEntity.artifactId,
174
- dpState.productEntity.versionId,
175
- ),
176
- dpState.productEntity.path,
177
- ),
178
- );
179
- }
180
- }}
181
- />
182
- </Grid>
183
- ))}
184
- </Grid>
185
- </div>
186
- </div>
187
- </div>
188
- </div>
189
- </div>
190
- </div>
191
- );
192
- }),
193
- );
@@ -1,332 +0,0 @@
1
- /**
2
- * Copyright (c) 2020-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 { observer } from 'mobx-react-lite';
18
- import {
19
- useLakehouseEntitlementsStore,
20
- withLakehouseEntitlementsStore,
21
- } from './LakehouseEntitlementsStoreProvider.js';
22
- import { useAuth, withAuth, type AuthContextProps } from 'react-oidc-context';
23
- import { useEffect } from 'react';
24
- import {
25
- clsx,
26
- CubesLoadingIndicator,
27
- CubesLoadingIndicatorIcon,
28
- } from '@finos/legend-art';
29
- import {
30
- DataGrid,
31
- type DataGridCellRendererParams,
32
- } from '@finos/legend-lego/data-grid';
33
- import { useParams } from '@finos/legend-application/browser';
34
- import {
35
- generateLakehouseContractPath,
36
- generateLakehouseTaskPath,
37
- LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN,
38
- type LakehouseEntitlementsTasksParam,
39
- } from '../../../__lib__/LegendMarketplaceNavigation.js';
40
- import { Box, Button, Divider, Grid2, Stack, Typography } from '@mui/material';
41
- import type { ContractUserEventState } from '../../../stores/lakehouse/entitlements/LakehouseEntitlementsStore.js';
42
- import { LakehouseMarketplaceHeader } from '../LakehouseHeader.js';
43
-
44
- const TDSColumnApprovalCellRenderer = (
45
- params: DataGridCellRendererParams<ContractUserEventState>,
46
- ): React.ReactNode => {
47
- const data = params.data;
48
- if (!data) {
49
- return null;
50
- }
51
- const onApprove = () => {
52
- //
53
- // data.approve();
54
- };
55
- const onDeny = () => {
56
- //
57
- // data.deny();
58
- };
59
- return (
60
- <Stack direction={'row'} spacing={1} justifyContent={'center'}>
61
- <Button
62
- variant="contained"
63
- size="small"
64
- onClick={onApprove}
65
- color="success"
66
- >
67
- Approve
68
- </Button>
69
- <Button color="error" variant="contained" size="small" onClick={onDeny}>
70
- Deny
71
- </Button>
72
- </Stack>
73
- );
74
- };
75
-
76
- const TDSColumnClickableCellRenderer = (
77
- params: DataGridCellRendererParams<ContractUserEventState>,
78
- ): React.ReactNode => {
79
- const data = params.data;
80
- if (!data) {
81
- return null;
82
- }
83
- const handleClick = () => {
84
- data.state.applicationStore.navigationService.navigator.updateCurrentLocation(
85
- generateLakehouseTaskPath(data.value.taskId),
86
- );
87
- };
88
- return (
89
- <span
90
- className="entitlements-tasks__grid-taskid-cell"
91
- onClick={handleClick}
92
- >
93
- {data.value.taskId}
94
- </span>
95
- );
96
- };
97
-
98
- const TDSColumnContractClickableCellRenderer = (
99
- params: DataGridCellRendererParams<ContractUserEventState>,
100
- ): React.ReactNode => {
101
- const data = params.data;
102
- if (!data) {
103
- return null;
104
- }
105
- const handleClick = () => {
106
- data.state.applicationStore.navigationService.navigator.updateCurrentLocation(
107
- generateLakehouseContractPath(data.value.dataContractId),
108
- );
109
- };
110
- return (
111
- <span
112
- className="entitlements-tasks__grid-taskid-cell"
113
- onClick={handleClick}
114
- >
115
- {data.value.dataContractId}
116
- </span>
117
- );
118
- };
119
-
120
- export const LakehouseEntitlementsTasks = observer(() => {
121
- const entitlementsStore = useLakehouseEntitlementsStore();
122
- const tasks = entitlementsStore.tasks;
123
- if (tasks === undefined) {
124
- return null;
125
- }
126
-
127
- return (
128
- <Box className="entitlements-tasks">
129
- <Typography variant="h4" gutterBottom={true}>
130
- PENDING TASKS
131
- </Typography>
132
- <div
133
- className={clsx('entitlements-tasks__grid data-access-overview__grid', {
134
- 'ag-theme-balham': true,
135
- })}
136
- >
137
- <DataGrid
138
- rowData={tasks}
139
- onRowDataUpdated={(params) => {
140
- params.api.refreshCells({ force: true });
141
- }}
142
- suppressFieldDotNotation={true}
143
- suppressContextMenu={false}
144
- columnDefs={[
145
- {
146
- minWidth: 50,
147
- sortable: true,
148
- resizable: true,
149
- headerName: 'Task Id',
150
- cellRenderer: TDSColumnClickableCellRenderer,
151
- flex: 1,
152
- },
153
- {
154
- minWidth: 50,
155
- sortable: true,
156
- resizable: true,
157
- headerName: 'Contract Id',
158
- cellRenderer: TDSColumnContractClickableCellRenderer,
159
- flex: 1,
160
- },
161
- {
162
- minWidth: 50,
163
- sortable: true,
164
- resizable: true,
165
- headerName: 'Consumer',
166
- valueGetter: (p) => p.data?.value.consumer,
167
- flex: 1,
168
- },
169
- {
170
- minWidth: 50,
171
- sortable: true,
172
- resizable: true,
173
- headerName: 'Status',
174
- valueGetter: (p) => p.data?.value.status,
175
- flex: 1,
176
- },
177
- {
178
- minWidth: 50,
179
- sortable: true,
180
- resizable: true,
181
- headerName: 'Approve/Deny',
182
- flex: 1,
183
- cellRenderer: TDSColumnApprovalCellRenderer,
184
- },
185
- ]}
186
- />
187
- </div>
188
- </Box>
189
- );
190
- });
191
-
192
- const LakehouseEntitlementsContract = observer(() => {
193
- const entitlementsStore = useLakehouseEntitlementsStore();
194
- const currentDataContract = entitlementsStore.currentDataContract;
195
- if (currentDataContract === undefined) {
196
- return null;
197
- }
198
-
199
- return (
200
- <div className="entitlements-tasks">
201
- <Grid2
202
- className="entitlements-task__details"
203
- container={true}
204
- spacing={1}
205
- >
206
- {currentDataContract.taskDetails.map((v) => (
207
- <>
208
- <Grid2 container={false} size={4}>
209
- <Typography variant="body2" fontWeight={'bold'}>
210
- {v.name}
211
- </Typography>
212
- </Grid2>
213
- <Grid2 container={false} size={8}>
214
- <Typography variant="body2" fontWeight={'bold'}>
215
- {v.value}
216
- </Typography>
217
- </Grid2>
218
- </>
219
- ))}
220
- </Grid2>
221
- </div>
222
- );
223
- });
224
-
225
- export const LakehouseEntitlementsTask = withAuth(
226
- observer((props) => {
227
- const entitlementsStore = useLakehouseEntitlementsStore();
228
- const currentTask = entitlementsStore.currentTask;
229
- if (currentTask === undefined) {
230
- return null;
231
- }
232
- const auth = (props as { auth: AuthContextProps }).auth;
233
-
234
- const handleApprove = (): void => {
235
- currentTask.approve(auth.user?.access_token);
236
- };
237
-
238
- const handleDeny = (): void => {
239
- currentTask.deny(auth.user?.access_token);
240
- };
241
-
242
- return (
243
- <div className="entitlements-task">
244
- {currentTask.canApprove && (
245
- <>
246
- <Stack
247
- className="entitlements-task__action"
248
- direction={'row'}
249
- spacing={1}
250
- >
251
- <Button
252
- variant="contained"
253
- size="small"
254
- onClick={handleApprove}
255
- color="success"
256
- >
257
- Approve
258
- </Button>
259
- <Button
260
- color="error"
261
- variant="contained"
262
- size="small"
263
- onClick={handleDeny}
264
- >
265
- Deny
266
- </Button>
267
- </Stack>
268
- <Divider />
269
- </>
270
- )}
271
- <Grid2
272
- className="entitlements-task__details"
273
- container={true}
274
- spacing={1}
275
- >
276
- {currentTask.taskDetails.map((v) => (
277
- <>
278
- <Grid2 container={false} size={4}>
279
- <Typography variant="body2" fontWeight={'bold'}>
280
- {v.name}
281
- </Typography>
282
- </Grid2>
283
- <Grid2 container={false} size={8}>
284
- <Typography variant="body2" fontWeight={'bold'}>
285
- {v.value}
286
- </Typography>
287
- </Grid2>
288
- </>
289
- ))}
290
- </Grid2>
291
- </div>
292
- );
293
- }),
294
- );
295
-
296
- export const LakehouseEntitlements = withLakehouseEntitlementsStore(
297
- observer(() => {
298
- const entitlementsStore = useLakehouseEntitlementsStore();
299
- const auth = useAuth();
300
- const params = useParams<LakehouseEntitlementsTasksParam>();
301
-
302
- useEffect(() => {
303
- entitlementsStore.init(
304
- params[LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.TASK_ID],
305
- params[LEGEND_MARKETPLACE_ROUTE_PATTERN_TOKEN.CONTRACT_ID],
306
- auth.user?.access_token,
307
- );
308
- }, [auth.user?.access_token, entitlementsStore, params]);
309
-
310
- return (
311
- <div className="app__page">
312
- <div className="legend-marketplace-home">
313
- <div className="legend-marketplace-data-product-home__body">
314
- <LakehouseMarketplaceHeader />
315
- <div className="legend-marketplace-home__content">
316
- <div className="legend-marketplace-data-product__content">
317
- <CubesLoadingIndicator
318
- isLoading={entitlementsStore.fetchingTasks.isInProgress}
319
- >
320
- <CubesLoadingIndicatorIcon />
321
- </CubesLoadingIndicator>
322
- <LakehouseEntitlementsTasks />
323
- <LakehouseEntitlementsTask />
324
- <LakehouseEntitlementsContract />
325
- </div>
326
- </div>
327
- </div>
328
- </div>
329
- </div>
330
- );
331
- }),
332
- );
@@ -1,40 +0,0 @@
1
- /**
2
- * Copyright (c) 2020-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 { AbstractServerClient, type PlainObject } from '@finos/legend-shared';
18
-
19
- export interface MarketplaceLakehouseServerClientConfig {
20
- baseUrl: string;
21
- }
22
-
23
- export class MarketplaceLakehouseServerClient extends AbstractServerClient {
24
- constructor(config: MarketplaceLakehouseServerClientConfig) {
25
- super({
26
- baseUrl: config.baseUrl,
27
- });
28
- }
29
-
30
- // --------------------------------------- Contracts ---------------------------------------
31
-
32
- private _contracts = (): string => `${this.baseUrl}/v1/contracts`;
33
-
34
- getDataProducts = (token?: string | undefined): Promise<PlainObject[]> =>
35
- this.get(
36
- `${this._contracts()}/dataProducts`,
37
- {},
38
- { Authorization: `Bearer ${token}` },
39
- );
40
- }
@@ -1,131 +0,0 @@
1
- /**
2
- * Copyright (c) 2020-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
- V1_AccessPointGroupReference,
19
- V1_AppDirOrganizationalScope,
20
- type V1_DataContract,
21
- } from '@finos/legend-graph';
22
- import type {
23
- GridItemDetail,
24
- LakehouseEntitlementsStore,
25
- } from './LakehouseEntitlementsStore.js';
26
-
27
- export const buildDataContractDetail = (
28
- dataContract: V1_DataContract,
29
- ): GridItemDetail[] => {
30
- const details = [
31
- {
32
- name: 'Contract ID',
33
- value: dataContract.guid,
34
- },
35
- {
36
- name: 'Contract Description',
37
- value: dataContract.description,
38
- },
39
- {
40
- name: 'Contract Version',
41
- value: dataContract.version,
42
- },
43
- {
44
- name: 'Contract State',
45
- value: dataContract.state,
46
- },
47
- ];
48
- const accessPointGroupRef = dataContract.resource;
49
- let dataProductDetails: GridItemDetail[] = [];
50
- if (accessPointGroupRef instanceof V1_AccessPointGroupReference) {
51
- dataProductDetails = [
52
- {
53
- name: 'Contract Data ID',
54
- value: accessPointGroupRef.dataProduct.guid,
55
- },
56
- {
57
- name: 'Contract Data Product',
58
- value: accessPointGroupRef.dataProduct.name,
59
- },
60
- {
61
- name: 'Contract Data Product DID',
62
- value: accessPointGroupRef.dataProduct.owner.appDirId,
63
- },
64
- {
65
- name: 'Contract Access Group',
66
- value: accessPointGroupRef.accessPointGroup,
67
- },
68
- {
69
- name: 'Contract Access Points',
70
- value: accessPointGroupRef.dataProduct.accessPoints
71
- .map((e) => e.name)
72
- .join(','),
73
- },
74
- ];
75
- }
76
- const org = dataContract.consumer;
77
- let orgDetails: GridItemDetail[] = [];
78
- if (org instanceof V1_AppDirOrganizationalScope) {
79
- orgDetails = org.appDirNode
80
- .map((value, idx) => [
81
- {
82
- name: `App Dir DID (${idx})`,
83
- value: value.appDirId.toString(),
84
- },
85
- {
86
- name: `App Dir Level (${idx})`,
87
- value: value.level.toString(),
88
- },
89
- ])
90
- .flat();
91
- }
92
-
93
- const members = dataContract.members
94
- .map((member, idx) => [
95
- {
96
- name: `Member ID (${idx})`,
97
- value: member.guid,
98
- },
99
- {
100
- name: `Member Name (${idx})`,
101
- value: member.user.name,
102
- },
103
- {
104
- name: `Member Type (${idx})`,
105
- value: member.user.userType.toString(),
106
- },
107
- {
108
- name: `Member Status (${idx})`,
109
- value: member.status.toString(),
110
- },
111
- ])
112
- .flat();
113
-
114
- return [...details, ...dataProductDetails, ...orgDetails, ...members];
115
- };
116
-
117
- export class DataContractState {
118
- readonly state: LakehouseEntitlementsStore;
119
- readonly value: V1_DataContract;
120
- canApprove: boolean | undefined;
121
- dataContract: V1_DataContract | undefined;
122
-
123
- constructor(value: V1_DataContract, state: LakehouseEntitlementsStore) {
124
- this.value = value;
125
- this.state = state;
126
- }
127
-
128
- get taskDetails(): GridItemDetail[] {
129
- return buildDataContractDetail(this.value);
130
- }
131
- }