@finos/legend-application-studio 28.19.28 → 28.19.29

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 (25) hide show
  1. package/lib/application/LegendStudioApplicationConfig.d.ts +21 -0
  2. package/lib/application/LegendStudioApplicationConfig.d.ts.map +1 -1
  3. package/lib/application/LegendStudioApplicationConfig.js +26 -0
  4. package/lib/application/LegendStudioApplicationConfig.js.map +1 -1
  5. package/lib/components/editor/editor-group/EditorGroup.js +1 -1
  6. package/lib/components/editor/editor-group/EditorGroup.js.map +1 -1
  7. package/lib/components/editor/editor-group/dataProduct/{DataPoductEditor.d.ts → DataProductEditor.d.ts} +1 -1
  8. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.d.ts.map +1 -0
  9. package/lib/components/editor/editor-group/dataProduct/{DataPoductEditor.js → DataProductEditor.js} +71 -7
  10. package/lib/components/editor/editor-group/dataProduct/DataProductEditor.js.map +1 -0
  11. package/lib/index.css +2 -2
  12. package/lib/index.css.map +1 -1
  13. package/lib/package.json +1 -1
  14. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts +2 -1
  15. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.d.ts.map +1 -1
  16. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js +4 -1
  17. package/lib/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js.map +1 -1
  18. package/package.json +10 -10
  19. package/src/application/LegendStudioApplicationConfig.ts +32 -0
  20. package/src/components/editor/editor-group/EditorGroup.tsx +1 -1
  21. package/src/components/editor/editor-group/dataProduct/{DataPoductEditor.tsx → DataProductEditor.tsx} +226 -49
  22. package/src/stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.ts +11 -4
  23. package/tsconfig.json +1 -1
  24. package/lib/components/editor/editor-group/dataProduct/DataPoductEditor.d.ts.map +0 -1
  25. package/lib/components/editor/editor-group/dataProduct/DataPoductEditor.js.map +0 -1
@@ -25,58 +25,62 @@ import {
25
25
  LakehouseAccessPointState,
26
26
  } from '../../../../stores/editor/editor-state/element-editor-state/dataProduct/DataProductEditorState.js';
27
27
  import {
28
+ BugIcon,
29
+ BuildingIcon,
30
+ CaretDownIcon,
31
+ Checkbox,
32
+ CloseEyeIcon,
28
33
  clsx,
29
- LockIcon,
30
- PanelContent,
31
- PanelHeader,
32
- PanelHeaderActions,
34
+ compressImage,
35
+ ControlledDropdownMenu,
36
+ CustomSelectorInput,
33
37
  Dialog,
34
- TimesIcon,
35
- PlusIcon,
36
- PanelHeaderActionItem,
37
- RocketIcon,
38
+ DragPreviewLayer,
39
+ ErrorWarnIcon,
40
+ EyeIcon,
41
+ GroupWorkIcon,
42
+ HomeIcon,
43
+ IconSelectorGrid,
44
+ IconSelectorIcons,
45
+ InfoCircleIcon,
38
46
  ListEditor,
47
+ LockIcon,
48
+ MarkdownTextViewer,
49
+ MenuContent,
50
+ MenuContentItem,
39
51
  Modal,
40
- ModalHeader,
41
- ModalTitle,
42
52
  ModalBody,
43
53
  ModalFooter,
44
54
  ModalFooterButton,
45
- PencilEditIcon,
46
- PanelFormTextField,
47
- ControlledDropdownMenu,
48
- MenuContent,
49
- MenuContentItem,
50
- CaretDownIcon,
51
- WarningIcon,
52
- useDragPreviewLayer,
53
- DragPreviewLayer,
55
+ ModalHeader,
56
+ ModalTitle,
57
+ PanelContent,
54
58
  PanelDnDEntry,
55
59
  PanelEntryDragHandle,
56
- HomeIcon,
60
+ PanelFormTextField,
61
+ PanelHeader,
62
+ PanelHeaderActionItem,
63
+ PanelHeaderActions,
64
+ PencilEditIcon,
65
+ PlusIcon,
57
66
  QuestionCircleIcon,
58
- ErrorWarnIcon,
59
- GroupWorkIcon,
60
- CustomSelectorInput,
61
- Switch,
62
- BuildingIcon,
63
- Tooltip,
64
- InfoCircleIcon,
65
- ResizablePanelGroup,
66
67
  ResizablePanel,
67
- MarkdownTextViewer,
68
+ ResizablePanelGroup,
68
69
  ResizablePanelSplitter,
69
- EyeIcon,
70
- CloseEyeIcon,
71
- Checkbox,
72
- BugIcon,
70
+ RocketIcon,
71
+ Switch,
72
+ TimesIcon,
73
+ Tooltip,
74
+ UploadIcon,
75
+ useDragPreviewLayer,
76
+ WarningIcon,
73
77
  } from '@finos/legend-art';
74
- import React, {
75
- useRef,
76
- useState,
77
- useEffect,
78
+ import {
78
79
  type ChangeEventHandler,
79
80
  useCallback,
81
+ useEffect,
82
+ useRef,
83
+ useState,
80
84
  } from 'react';
81
85
  import { filterByType } from '@finos/legend-shared';
82
86
  import { InlineLambdaEditor } from '@finos/legend-query-builder';
@@ -85,30 +89,34 @@ import { useAuth } from 'react-oidc-context';
85
89
  import { CODE_EDITOR_LANGUAGE } from '@finos/legend-code-editor';
86
90
  import { CodeEditor } from '@finos/legend-lego/code-editor';
87
91
  import {
88
- LakehouseTargetEnv,
89
- Email,
90
92
  type DataProduct,
91
93
  type LakehouseAccessPoint,
92
- StereotypeExplicitReference,
93
94
  type V1_DataProductArtifactAccessPointGroup,
94
95
  type V1_DataProductArtifactAccessPointImplementation,
95
96
  type V1_DataProductArtifactGeneration,
97
+ DataProductEmbeddedImageIcon,
98
+ DataProductLibraryIcon,
99
+ Email,
100
+ LakehouseTargetEnv,
101
+ StereotypeExplicitReference,
102
+ V1_DataProductIconLibraryId,
96
103
  } from '@finos/legend-graph';
97
104
  import {
105
+ accessPoint_setClassification,
106
+ accessPoint_setReproducible,
98
107
  accessPointGroup_setDescription,
99
108
  accessPointGroup_setName,
100
109
  dataProduct_setDescription,
110
+ dataProduct_setIcon,
101
111
  dataProduct_setSupportInfoIfAbsent,
102
112
  dataProduct_setTitle,
103
- supportInfo_setDocumentationUrl,
104
- supportInfo_setWebsite,
105
- supportInfo_setFaqUrl,
106
- supportInfo_setSupportUrl,
107
113
  supportInfo_addEmail,
108
114
  supportInfo_deleteEmail,
109
- accessPoint_setClassification,
110
- accessPoint_setReproducible,
115
+ supportInfo_setDocumentationUrl,
116
+ supportInfo_setFaqUrl,
111
117
  supportInfo_setLinkLabel,
118
+ supportInfo_setSupportUrl,
119
+ supportInfo_setWebsite,
112
120
  } from '../../../../stores/graph-modifier/DSL_DataProduct_GraphModifierHelper.js';
113
121
  import { LEGEND_STUDIO_TEST_ID } from '../../../../__lib__/LegendStudioTesting.js';
114
122
  import { LEGEND_STUDIO_APPLICATION_NAVIGATION_CONTEXT_KEY } from '../../../../__lib__/LegendStudioApplicationNavigationContext.js';
@@ -1302,9 +1310,178 @@ const DataProductSidebar = observer(
1302
1310
  },
1303
1311
  );
1304
1312
 
1313
+ const IconPreviewComponent = observer((props: { dataProduct: DataProduct }) => {
1314
+ const { dataProduct } = props;
1315
+
1316
+ if (dataProduct.icon instanceof DataProductLibraryIcon) {
1317
+ const iconId = dataProduct.icon.iconId;
1318
+ const IconComponent = IconSelectorIcons[iconId];
1319
+ return (
1320
+ <div className="data-product-editor__icon-preview">
1321
+ {IconComponent ? <IconComponent /> : 'No icon selected'}
1322
+ </div>
1323
+ );
1324
+ } else if (dataProduct.icon instanceof DataProductEmbeddedImageIcon) {
1325
+ return (
1326
+ <img
1327
+ src={dataProduct.icon.imageUrl}
1328
+ alt="Data Product Image"
1329
+ className="data-product-editor__icon-preview__image"
1330
+ />
1331
+ );
1332
+ }
1333
+ return (
1334
+ <div className="data-product-editor__icon-preview">
1335
+ <div className="data-product-editor__icon-preview__no-icon">
1336
+ No icon selected
1337
+ </div>
1338
+ </div>
1339
+ );
1340
+ });
1341
+
1342
+ const IconSelectorComponent = observer(
1343
+ (props: { dataProduct: DataProduct; isReadOnly: boolean }) => {
1344
+ const { dataProduct, isReadOnly } = props;
1345
+
1346
+ const handleChange = (iconId: string | undefined): void => {
1347
+ if (iconId === undefined) {
1348
+ dataProduct_setIcon(dataProduct, undefined);
1349
+ } else {
1350
+ const _dataProductLibraryIcon = new DataProductLibraryIcon(
1351
+ V1_DataProductIconLibraryId.REACT_ICONS,
1352
+ iconId,
1353
+ );
1354
+ dataProduct_setIcon(dataProduct, _dataProductLibraryIcon);
1355
+ }
1356
+ };
1357
+
1358
+ return (
1359
+ <IconSelectorGrid
1360
+ iconId={
1361
+ dataProduct.icon instanceof DataProductLibraryIcon
1362
+ ? dataProduct.icon.iconId
1363
+ : undefined
1364
+ }
1365
+ onChange={handleChange}
1366
+ isReadOnly={isReadOnly}
1367
+ disableHighlightNoneOption={
1368
+ dataProduct.icon instanceof DataProductEmbeddedImageIcon
1369
+ }
1370
+ />
1371
+ );
1372
+ },
1373
+ );
1374
+
1375
+ const ImageSelectorComponent = observer(
1376
+ (props: { dataProduct: DataProduct; isReadOnly: boolean }) => {
1377
+ const { dataProduct, isReadOnly } = props;
1378
+
1379
+ const editorStore = useEditorStore();
1380
+ const imageInputRef = useRef<HTMLInputElement>(null);
1381
+ const imageConfig =
1382
+ editorStore.applicationStore.config.options.dataProductConfig
1383
+ ?.imageConfig;
1384
+
1385
+ const handleFileChange = async (
1386
+ event: React.ChangeEvent<HTMLInputElement>,
1387
+ ) => {
1388
+ const file = event.target.files?.[0];
1389
+ if (file) {
1390
+ try {
1391
+ // Check file size first
1392
+ const fileSizeKB = file.size / 1024;
1393
+ if (fileSizeKB > (imageConfig?.maxUploadSizeKB ?? 1024 * 5)) {
1394
+ // 5MB limit by default
1395
+ editorStore.applicationStore.notificationService.notifyError(
1396
+ `File size must be less than ${imageConfig?.maxUploadSizeKB ?? 1024 * 5}KB`,
1397
+ );
1398
+ return;
1399
+ }
1400
+
1401
+ const compressedImage = await compressImage(
1402
+ file,
1403
+ imageConfig?.maxSizeKB ?? 128,
1404
+ imageConfig?.maxDimension ?? 800,
1405
+ );
1406
+ const dataProductEmbeddedImageIcon = new DataProductEmbeddedImageIcon(
1407
+ compressedImage,
1408
+ );
1409
+ dataProduct_setIcon(dataProduct, dataProductEmbeddedImageIcon);
1410
+ } catch {
1411
+ editorStore.applicationStore.notificationService.notifyError(
1412
+ 'Failed to process image. Please try a different file.',
1413
+ );
1414
+ }
1415
+ }
1416
+ };
1417
+
1418
+ return (
1419
+ <div>
1420
+ <div className="panel__content__form__section__header__prompt">
1421
+ Upload an image to represent this Data Product in the marketplace.
1422
+ </div>
1423
+ <div className="data-product-editor__image-selector__container">
1424
+ <input
1425
+ id="data-product-image-upload"
1426
+ name="data-product-image-upload"
1427
+ type="file"
1428
+ accept="image/*"
1429
+ disabled={isReadOnly}
1430
+ onChange={(event) => {
1431
+ // eslint-disable-next-line no-void
1432
+ void handleFileChange(event);
1433
+ }}
1434
+ className="data-product-editor__image-selector__input"
1435
+ value={
1436
+ dataProduct.icon instanceof DataProductEmbeddedImageIcon
1437
+ ? ''
1438
+ : undefined
1439
+ }
1440
+ ref={imageInputRef}
1441
+ />
1442
+ <button
1443
+ onClick={() => imageInputRef.current?.click()}
1444
+ className="data-product-editor__image-selector__upload-btn btn btn--dark"
1445
+ >
1446
+ <UploadIcon /> Upload File
1447
+ </button>
1448
+ <div className="data-product-editor__image-selector__hint">
1449
+ Supported formats: PNG, JPG, JPEG, GIF (max{' '}
1450
+ {(imageConfig?.maxUploadSizeKB ?? 1024 * 5) / 1024}MB)
1451
+ </div>
1452
+ </div>
1453
+ </div>
1454
+ );
1455
+ },
1456
+ );
1457
+
1458
+ const DataProductIconEditor = observer(
1459
+ (props: { product: DataProduct; isReadOnly: boolean }) => {
1460
+ const { product, isReadOnly } = props;
1461
+
1462
+ return (
1463
+ <div className="panel__content__form__section data-product-editor__icon-editor">
1464
+ <div className="panel__content__form__section__header__label">
1465
+ Icon/Image
1466
+ </div>
1467
+ <IconPreviewComponent dataProduct={product} />
1468
+ <IconSelectorComponent dataProduct={product} isReadOnly={isReadOnly} />
1469
+ <div
1470
+ className="panel__content__form__section__header__prompt"
1471
+ style={{ marginBottom: 0 }}
1472
+ >
1473
+ <b>or</b>
1474
+ </div>
1475
+ <ImageSelectorComponent dataProduct={product} isReadOnly={isReadOnly} />
1476
+ </div>
1477
+ );
1478
+ },
1479
+ );
1480
+
1305
1481
  const HomeTab = observer(
1306
1482
  (props: { product: DataProduct; isReadOnly: boolean }) => {
1307
1483
  const { product, isReadOnly } = props;
1484
+
1308
1485
  const updateDataProductTitle = (val: string | undefined): void => {
1309
1486
  dataProduct_setTitle(product, val ?? '');
1310
1487
  };
@@ -1317,7 +1494,7 @@ const HomeTab = observer(
1317
1494
  return (
1318
1495
  <div className="panel__content">
1319
1496
  <ResizablePanelGroup orientation="vertical">
1320
- <ResizablePanel>
1497
+ <ResizablePanel className="data-product-editor__home-tab">
1321
1498
  <PanelFormTextField
1322
1499
  name="Title"
1323
1500
  value={product.title}
@@ -1325,7 +1502,7 @@ const HomeTab = observer(
1325
1502
  update={updateDataProductTitle}
1326
1503
  placeholder="Enter title"
1327
1504
  />
1328
- <div style={{ margin: '1rem' }}>
1505
+ <div className="panel__content__form__section">
1329
1506
  <div
1330
1507
  className="panel__content__form__section__header__label"
1331
1508
  style={{ justifyContent: 'space-between', width: '45rem' }}
@@ -1394,6 +1571,7 @@ const HomeTab = observer(
1394
1571
  }}
1395
1572
  />
1396
1573
  </div>
1574
+ <DataProductIconEditor product={product} isReadOnly={isReadOnly} />
1397
1575
  </ResizablePanel>
1398
1576
  {showPreview && <ResizablePanelSplitter />}
1399
1577
  {showPreview && (
@@ -1787,7 +1965,6 @@ export const DataProductEditor = observer(() => {
1787
1965
  style={{ padding: '1rem', flexDirection: 'row' }}
1788
1966
  >
1789
1967
  <DataProductSidebar dataProductEditorState={dataProductEditorState} />
1790
-
1791
1968
  {renderActivivtyBarTab()}
1792
1969
  </div>
1793
1970
  </div>
@@ -18,15 +18,16 @@ import {
18
18
  type AccessPoint,
19
19
  type AccessPointGroup,
20
20
  type DataProduct,
21
+ type DataProductIcon,
21
22
  type Email,
23
+ type LakehouseAccessPoint,
24
+ DataProductLink,
22
25
  observe_AccessPoint,
23
26
  observe_AccessPointGroup,
24
- observe_SupportInfo,
25
27
  observe_Email,
26
- SupportInfo,
27
- type LakehouseAccessPoint,
28
+ observe_SupportInfo,
28
29
  observer_DataProductLink,
29
- DataProductLink,
30
+ SupportInfo,
30
31
  } from '@finos/legend-graph';
31
32
  import { addUniqueEntry, deleteEntry, swapEntry } from '@finos/legend-shared';
32
33
  import { action } from 'mobx';
@@ -114,6 +115,12 @@ export const dataProduct_setDescription = action(
114
115
  },
115
116
  );
116
117
 
118
+ export const dataProduct_setIcon = action(
119
+ (product: DataProduct, icon: DataProductIcon | undefined) => {
120
+ product.icon = icon;
121
+ },
122
+ );
123
+
117
124
  export const dataProduct_setSupportInfoIfAbsent = action(
118
125
  (product: DataProduct) => {
119
126
  if (!product.supportInfo) {
package/tsconfig.json CHANGED
@@ -253,7 +253,7 @@
253
253
  "./src/components/editor/editor-group/data-editor/DataElementEditor.tsx",
254
254
  "./src/components/editor/editor-group/data-editor/EmbeddedDataEditor.tsx",
255
255
  "./src/components/editor/editor-group/data-editor/RelationalCSVDataEditor.tsx",
256
- "./src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx",
256
+ "./src/components/editor/editor-group/dataProduct/DataProductEditor.tsx",
257
257
  "./src/components/editor/editor-group/database/IsolatedQueryDatabase.tsx",
258
258
  "./src/components/editor/editor-group/diff-editor/EntityChangeConflictEditor.tsx",
259
259
  "./src/components/editor/editor-group/diff-editor/EntityDiffView.tsx",
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPoductEditor.d.ts","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,OAAO,EACL,KAAK,qBAAqB,EAC1B,KAAK,gBAAgB,EAIrB,yBAAyB,EAC1B,MAAM,mGAAmG,CAAC;AAoG3G,oBAAY,qBAAqB;IAC/B,gBAAgB,wBAAwB;IACxC,iBAAiB,8BAA8B;IAC/C,uBAAuB,+BAA+B;IACtD,aAAa,+BAA+B;IAC5C,cAAc,qCAAqC;IACnD,oBAAoB,sCAAsC;CAC3D;AAED,eAAO,MAAM,qBAAqB,+DAC4B,CAAC;AAK/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,EAAE,gBAAgB,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,UAAU,EAAE,qBAAqB,CAAC;CACnC,CAAC;AA6PF,eAAO,MAAM,sCAAsC,WACzC;IACN,gBAAgB,EAAE,yBAAyB,CAAC;IAC5C,UAAU,EAAE,OAAO,CAAC;CACrB;;CAmVF,CAAC;AAw6BF,eAAO,MAAM,iBAAiB;;CAqH5B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataPoductEditor.js","sourceRoot":"","sources":["../../../../../src/components/editor/editor-group/dataProduct/DataPoductEditor.tsx"],"names":[],"mappings":"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"}