@finos/legend-application-marketplace 0.1.56 → 0.1.57

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 (45) hide show
  1. package/lib/__lib__/LegendMarketplaceTelemetryHelper.d.ts +1 -1
  2. package/lib/__lib__/LegendMarketplaceTelemetryHelper.d.ts.map +1 -1
  3. package/lib/__lib__/LegendMarketplaceTelemetryHelper.js +2 -2
  4. package/lib/__lib__/LegendMarketplaceTelemetryHelper.js.map +1 -1
  5. package/lib/components/Header/LegendMarketplaceIconToolbar.d.ts.map +1 -1
  6. package/lib/components/Header/LegendMarketplaceIconToolbar.js +11 -2
  7. package/lib/components/Header/LegendMarketplaceIconToolbar.js.map +1 -1
  8. package/lib/index.css +2 -2
  9. package/lib/index.css.map +1 -1
  10. package/lib/package.json +1 -1
  11. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.d.ts.map +1 -1
  12. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js +2 -19
  13. package/lib/pages/Lakehouse/MarketplaceLakehouseHome.js.map +1 -1
  14. package/lib/pages/Lakehouse/entitlements/EntitlementsClosedContractsDashboard.d.ts.map +1 -1
  15. package/lib/pages/Lakehouse/entitlements/EntitlementsClosedContractsDashboard.js +23 -127
  16. package/lib/pages/Lakehouse/entitlements/EntitlementsClosedContractsDashboard.js.map +1 -1
  17. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingContractsDashboard.d.ts.map +1 -1
  18. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingContractsDashboard.js +34 -158
  19. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingContractsDashboard.js.map +1 -1
  20. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingTasksDashboard.d.ts.map +1 -1
  21. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingTasksDashboard.js +58 -38
  22. package/lib/pages/Lakehouse/entitlements/EntitlementsPendingTasksDashboard.js.map +1 -1
  23. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.d.ts +22 -11
  24. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.d.ts.map +1 -1
  25. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.js +145 -74
  26. package/lib/stores/lakehouse/entitlements/EntitlementsDashboardState.js.map +1 -1
  27. package/lib/stores/orders/OrderHelpers.d.ts +1 -1
  28. package/lib/stores/orders/OrderHelpers.d.ts.map +1 -1
  29. package/lib/stores/orders/OrderHelpers.js +7 -6
  30. package/lib/stores/orders/OrderHelpers.js.map +1 -1
  31. package/lib/utils/EntitlementsUtils.d.ts +20 -0
  32. package/lib/utils/EntitlementsUtils.d.ts.map +1 -0
  33. package/lib/utils/EntitlementsUtils.js +107 -0
  34. package/lib/utils/EntitlementsUtils.js.map +1 -0
  35. package/package.json +10 -10
  36. package/src/__lib__/LegendMarketplaceTelemetryHelper.ts +3 -3
  37. package/src/components/Header/LegendMarketplaceIconToolbar.tsx +29 -0
  38. package/src/pages/Lakehouse/MarketplaceLakehouseHome.tsx +0 -54
  39. package/src/pages/Lakehouse/entitlements/EntitlementsClosedContractsDashboard.tsx +68 -235
  40. package/src/pages/Lakehouse/entitlements/EntitlementsPendingContractsDashboard.tsx +88 -295
  41. package/src/pages/Lakehouse/entitlements/EntitlementsPendingTasksDashboard.tsx +84 -49
  42. package/src/stores/lakehouse/entitlements/EntitlementsDashboardState.ts +234 -109
  43. package/src/stores/orders/OrderHelpers.ts +8 -7
  44. package/src/utils/EntitlementsUtils.tsx +207 -0
  45. package/tsconfig.json +1 -0
@@ -0,0 +1,107 @@
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ /**
3
+ * Copyright (c) 2020-present, Goldman Sachs
4
+ *
5
+ * Licensed under the Apache License, Version 2.0 (the "License");
6
+ * you may not use this file except in compliance with the License.
7
+ * You may obtain a copy of the License at
8
+ *
9
+ * http://www.apache.org/licenses/LICENSE-2.0
10
+ *
11
+ * Unless required by applicable law or agreed to in writing, software
12
+ * distributed under the License is distributed on an "AS IS" BASIS,
13
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ * See the License for the specific language governing permissions and
15
+ * limitations under the License.
16
+ */
17
+ import { getOrganizationalScopeTypeName, getOrganizationalScopeTypeDetails, UserRenderer, MultiUserRenderer, } from '@finos/legend-extension-dsl-data-product';
18
+ import { V1_LiteDataContractWithUserStatus, V1_ResourceType, } from '@finos/legend-graph';
19
+ import { formatOrderDate } from '../stores/orders/OrderHelpers.js';
20
+ import { InfoCircleIcon } from '@finos/legend-art';
21
+ import { Tooltip } from '@mui/material';
22
+ import { observer } from 'mobx-react-lite';
23
+ const TargetUserCellRenderer = observer((props) => {
24
+ const { dataContract, entitlementsStore } = props;
25
+ const userIds = dataContract instanceof V1_LiteDataContractWithUserStatus
26
+ ? [dataContract.user]
27
+ : (dataContract?.sortedMemberIds ?? []);
28
+ return (_jsx(MultiUserRenderer, { userIds: userIds, applicationStore: entitlementsStore.applicationStore, userSearchService: entitlementsStore.marketplaceBaseStore.userSearchService, disableOnClick: true, singleUserClassName: "marketplace-lakehouse-entitlements__grid__user-display" }));
29
+ });
30
+ export const getCommonEntitlementsColDefs = (dashboardState) => [
31
+ {
32
+ headerName: 'Date Created',
33
+ colId: 'dateCreated',
34
+ valueGetter: (params) => {
35
+ return (formatOrderDate(params.data?.contractResultLite.createdAt) ?? 'Unknown');
36
+ },
37
+ sort: 'desc',
38
+ comparator: (_, __, val1, val2) => {
39
+ const dateA = val1.data?.contractResultLite.createdAt
40
+ ? new Date(val1.data.contractResultLite.createdAt).getTime()
41
+ : 0;
42
+ const dateB = val2.data?.contractResultLite.createdAt
43
+ ? new Date(val2.data.contractResultLite.createdAt).getTime()
44
+ : 0;
45
+ return dateA - dateB;
46
+ },
47
+ },
48
+ {
49
+ colId: 'consumerType',
50
+ headerName: 'Consumer Type',
51
+ valueGetter: (params) => {
52
+ const consumer = params.data?.contractResultLite.consumer;
53
+ const typeName = consumer
54
+ ? getOrganizationalScopeTypeName(consumer, dashboardState.lakehouseEntitlementsStore.applicationStore.pluginManager.getApplicationPlugins())
55
+ : undefined;
56
+ return typeName ?? 'Unknown';
57
+ },
58
+ cellRenderer: (params) => {
59
+ const consumer = params.data?.contractResultLite.consumer;
60
+ const typeName = consumer
61
+ ? getOrganizationalScopeTypeName(consumer, dashboardState.lakehouseEntitlementsStore.applicationStore.pluginManager.getApplicationPlugins())
62
+ : undefined;
63
+ const typeDetails = consumer
64
+ ? getOrganizationalScopeTypeDetails(consumer, dashboardState.lakehouseEntitlementsStore.applicationStore.pluginManager.getApplicationPlugins())
65
+ : undefined;
66
+ return (_jsxs(_Fragment, { children: [typeName ?? 'Unknown', typeDetails !== undefined && (_jsx(Tooltip, { className: "marketplace-lakehouse-entitlements__grid__consumer-type__tooltip__icon", title: typeDetails, children: _jsx(InfoCircleIcon, {}) }))] }));
67
+ },
68
+ },
69
+ {
70
+ headerName: 'Target User(s)',
71
+ colId: 'targetUser',
72
+ valueGetter: (params) => {
73
+ const userIds = params.data instanceof V1_LiteDataContractWithUserStatus
74
+ ? [params.data.user]
75
+ : (params.data?.sortedMemberIds ?? []);
76
+ return userIds.length > 0 ? userIds.join(', ') : 'Unknown';
77
+ },
78
+ cellRenderer: (params) => (_jsx(TargetUserCellRenderer, { dataContract: params.data, entitlementsStore: dashboardState.lakehouseEntitlementsStore })),
79
+ },
80
+ {
81
+ headerName: 'Requester',
82
+ colId: 'requester',
83
+ valueGetter: (params) => params.data?.contractResultLite.createdBy ?? 'Unknown',
84
+ cellRenderer: (params) => {
85
+ const requester = params.data?.contractResultLite.createdBy;
86
+ return requester ? (_jsx(UserRenderer, { userId: requester, applicationStore: dashboardState.lakehouseEntitlementsStore.applicationStore, userSearchService: dashboardState.lakehouseEntitlementsStore.marketplaceBaseStore
87
+ .userSearchService, disableOnClick: true, className: "marketplace-lakehouse-entitlements__grid__user-display" })) : (_jsx(_Fragment, { children: "Unknown" }));
88
+ },
89
+ },
90
+ {
91
+ headerName: 'Target Data Product',
92
+ valueGetter: (params) => {
93
+ return params.data?.contractResultLite.resourceId ?? 'Unknown';
94
+ },
95
+ },
96
+ {
97
+ headerName: 'Target Access Point Group',
98
+ valueGetter: (params) => {
99
+ const accessPointGroup = params.data?.contractResultLite.resourceType ===
100
+ V1_ResourceType.ACCESS_POINT_GROUP
101
+ ? params.data.contractResultLite.accessPointGroup
102
+ : `${params.data?.contractResultLite.accessPointGroup ?? 'Unknown'} (${params.data?.contractResultLite.resourceType ?? 'Unknown Type'})`;
103
+ return accessPointGroup ?? 'Unknown';
104
+ },
105
+ },
106
+ ];
107
+ //# sourceMappingURL=EntitlementsUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EntitlementsUtils.js","sourceRoot":"","sources":["../../src/utils/EntitlementsUtils.tsx"],"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.1.56",
3
+ "version": "0.1.57",
4
4
  "description": "Legend Marketplace application core",
5
5
  "keywords": [
6
6
  "legend",
@@ -45,16 +45,16 @@
45
45
  "test:watch": "jest --watch"
46
46
  },
47
47
  "dependencies": {
48
- "@finos/legend-application": "16.0.88",
49
- "@finos/legend-art": "7.1.138",
50
- "@finos/legend-code-editor": "2.0.143",
51
- "@finos/legend-extension-dsl-data-product": "0.0.41",
52
- "@finos/legend-extension-dsl-data-space": "10.4.182",
53
- "@finos/legend-graph": "32.3.23",
54
- "@finos/legend-lego": "2.0.158",
48
+ "@finos/legend-application": "16.0.89",
49
+ "@finos/legend-art": "7.1.139",
50
+ "@finos/legend-code-editor": "2.0.144",
51
+ "@finos/legend-extension-dsl-data-product": "0.0.42",
52
+ "@finos/legend-extension-dsl-data-space": "10.4.183",
53
+ "@finos/legend-graph": "32.3.24",
54
+ "@finos/legend-lego": "2.0.159",
55
55
  "@finos/legend-server-depot": "6.1.6",
56
- "@finos/legend-server-lakehouse": "0.3.24",
57
- "@finos/legend-server-marketplace": "0.1.34",
56
+ "@finos/legend-server-lakehouse": "0.3.25",
57
+ "@finos/legend-server-marketplace": "0.1.35",
58
58
  "@finos/legend-shared": "11.0.22",
59
59
  "@finos/legend-storage": "3.0.141",
60
60
  "@mui/material": "7.3.4",
@@ -159,14 +159,14 @@ export class LegendMarketplaceTelemetryHelper {
159
159
  static logEvent_ActionDataContracts(
160
160
  telemetryService: TelemetryService,
161
161
  selectedContracts: V1_ContractUserEventRecord[],
162
- allContracts: V1_LiteDataContract[] | undefined,
162
+ pendingTaskContracts: V1_LiteDataContract[] | undefined,
163
163
  action: CONTRACT_ACTION,
164
164
  actionTakenBy: string,
165
165
  errors: string[] | undefined,
166
166
  ): void {
167
167
  const actionedContractsDetails = selectedContracts.map((contract) => {
168
- const dataContract = allContracts?.find(
169
- (_contract) => _contract.guid === contract.dataContractId,
168
+ const dataContract = pendingTaskContracts?.find(
169
+ (c) => c.guid === contract.dataContractId,
170
170
  );
171
171
  const accessPointGroup =
172
172
  dataContract?.resourceType === V1_ResourceType.ACCESS_POINT_GROUP
@@ -18,7 +18,9 @@ import {
18
18
  HelpOutlineIcon,
19
19
  MenuContentDivider,
20
20
  MoonIcon,
21
+ OpenNewTabIcon,
21
22
  ShoppingCartOutlineIcon,
23
+ SimpleCalendarIcon,
22
24
  SunFilledIcon,
23
25
  UserCircleIcon,
24
26
  } from '@finos/legend-art';
@@ -233,6 +235,22 @@ export const LegendMarketplaceIconToolbar = observer(() => {
233
235
  )
234
236
  .filter(isNonNullable);
235
237
 
238
+ const handleShowDemo = (): void => {
239
+ marketplaceStore.setDemoModal(true);
240
+ setAnchorEl(null);
241
+ };
242
+
243
+ const handleNewsletterClick = (): void => {
244
+ applicationStore.navigationService.navigator.visitAddress(
245
+ applicationStore.config.options.newsletterUrl,
246
+ );
247
+ applicationStore.telemetryService.logEvent(
248
+ LEGEND_MARKETPLACE_APP_EVENT.CLICK_SUBSCRIBE_TO_NEWSLETTER,
249
+ {},
250
+ );
251
+ setAnchorEl(null);
252
+ };
253
+
236
254
  return (
237
255
  <>
238
256
  <IconButton
@@ -242,6 +260,17 @@ export const LegendMarketplaceIconToolbar = observer(() => {
242
260
  <HelpOutlineIcon />
243
261
  </IconButton>
244
262
  <Menu anchorEl={anchorEl} open={open} onClose={() => setAnchorEl(null)}>
263
+ {showDevFeatures && (
264
+ <MenuItem onClick={handleShowDemo}>
265
+ <SimpleCalendarIcon style={{ marginRight: '8px' }} />
266
+ Schedule a Demo
267
+ </MenuItem>
268
+ )}
269
+ <MenuItem onClick={handleNewsletterClick}>
270
+ <OpenNewTabIcon style={{ marginRight: '8px' }} />
271
+ Subscribe to our Newsletter
272
+ </MenuItem>
273
+ <MenuContentDivider />
245
274
  <MenuItem
246
275
  onClick={() => {
247
276
  setOpenAppInfo(true);
@@ -23,8 +23,6 @@ import { useAuth } from 'react-oidc-context';
23
23
  import {
24
24
  CubesLoadingIndicator,
25
25
  CubesLoadingIndicatorIcon,
26
- OpenNewTabIcon,
27
- SimpleCalendarIcon,
28
26
  } from '@finos/legend-art';
29
27
  import { generateLakehouseSearchResultsRoute } from '../../__lib__/LegendMarketplaceNavigation.js';
30
28
  import {
@@ -40,7 +38,6 @@ import {
40
38
  LEGEND_MARKETPLACE_PAGE,
41
39
  LegendMarketplaceTelemetryHelper,
42
40
  } from '../../__lib__/LegendMarketplaceTelemetryHelper.js';
43
- import { LEGEND_MARKETPLACE_APP_EVENT } from '../../__lib__/LegendMarketplaceAppEvent.js';
44
41
  import type { ProductCardState } from '../../stores/lakehouse/dataProducts/ProductCardState.js';
45
42
  import { generatePathForDataProductSearchResult } from '../../utils/SearchUtils.js';
46
43
  import { logClickingDataProductCard } from '../../utils/LogUtils.js';
@@ -50,10 +47,6 @@ export const MarketplaceLakehouseHome = observer(() => {
50
47
  const legendMarketplaceBaseStore = useLegendMarketplaceBaseStore();
51
48
  const applicationStore = legendMarketplaceBaseStore.applicationStore;
52
49
  const auth = useAuth();
53
- const configOptions = applicationStore.config.options;
54
- const showDevFeatures = configOptions.showDevFeatures;
55
- const adjacentUrl = applicationStore.config.adjacentEnvUrl;
56
- const adjacentEnvState = legendMarketplaceBaseStore.adjacentEnvState;
57
50
 
58
51
  const isDarkMode =
59
52
  !applicationStore.layoutService.TEMPORARY__isLightColorThemeEnabled;
@@ -146,55 +139,8 @@ export const MarketplaceLakehouseHome = observer(() => {
146
139
  return '';
147
140
  };
148
141
 
149
- const newsletterNavigation = (): void => {
150
- applicationStore.navigationService.navigator.visitAddress(
151
- applicationStore.config.options.newsletterUrl,
152
- );
153
- applicationStore.telemetryService.logEvent(
154
- LEGEND_MARKETPLACE_APP_EVENT.CLICK_SUBSCRIBE_TO_NEWSLETTER,
155
- {},
156
- );
157
- };
158
-
159
- const visitAdjacentEnv = (): void => {
160
- if (adjacentUrl) {
161
- applicationStore.navigationService.navigator.visitAddress(adjacentUrl);
162
- }
163
- };
164
-
165
- const handleShowDemo = (): void => {
166
- legendMarketplaceBaseStore.setDemoModal(true);
167
- };
168
-
169
142
  return (
170
143
  <LegendMarketplacePage className="marketplace-lakehouse-home">
171
- <div className="legend-marketplace-home__button-group">
172
- {showDevFeatures && (
173
- <button
174
- onClick={handleShowDemo}
175
- className="legend-marketplace-home__button"
176
- >
177
- <SimpleCalendarIcon className="legend-marketplace-home__button__icon" />
178
- Schedule a Demo
179
- </button>
180
- )}
181
- {adjacentUrl && adjacentEnvState && (
182
- <button
183
- className="legend-marketplace-home__button"
184
- onClick={visitAdjacentEnv}
185
- >
186
- <OpenNewTabIcon className="legend-marketplace-home__button__icon" />
187
- {`${adjacentEnvState.label} Env`}
188
- </button>
189
- )}
190
- <button
191
- className="legend-marketplace-home__button"
192
- onClick={newsletterNavigation}
193
- >
194
- <OpenNewTabIcon className="legend-marketplace-home__button__icon" />
195
- Subscribe to our Newsletter
196
- </button>
197
- </div>
198
144
  <Container className="marketplace-lakehouse-home__search-container">
199
145
  <Box className="marketplace-lakehouse-home__search-container__logo">
200
146
  <img