From 9f97538980ccede01b4ff611a16828a6ce359336 Mon Sep 17 00:00:00 2001 From: Karol Machulski Date: Fri, 12 Jun 2026 12:54:52 +0200 Subject: [PATCH 1/2] feat(content-uploader): add support for item share button and open preview button --- .../content-uploader/ContentUploader.tsx | 8 +++++++ .../__tests__/ContentUploader.test.js | 22 +++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/src/elements/content-uploader/ContentUploader.tsx b/src/elements/content-uploader/ContentUploader.tsx index 9f733cdd1f..6a4fbdc5ff 100644 --- a/src/elements/content-uploader/ContentUploader.tsx +++ b/src/elements/content-uploader/ContentUploader.tsx @@ -97,6 +97,8 @@ export interface ContentUploaderProps { onMinimize?: () => void; onProgress: (item: UploadItem) => void; onResume: (item: UploadItem) => void; + onItemShare: (itemId: string) => void; + onItemOpen: (itemId: string) => void; onUpgradeCTAClick?: () => void; onUpload: (item?: UploadItem | BoxItem) => void; overwrite: boolean | 'error'; @@ -172,6 +174,8 @@ class ContentUploader extends Component { onProgress: noop, onResume: noop, onUpload: noop, + onItemShare: noop, + onItemOpen: noop, overwrite: true, rootFolderId: DEFAULT_ROOT, uploadHost: DEFAULT_HOSTNAME_UPLOAD, @@ -1451,6 +1455,8 @@ class ContentUploader extends Component { messages, onClose, onUpgradeCTAClick, + onItemShare, + onItemOpen, rootFolderId, theme, useUploadsManager, @@ -1480,6 +1486,8 @@ class ContentUploader extends Component { onItemCancel={this.handleUploadsManagerItemCancel} onItemRetry={this.handleUploadsManagerItemRetry} onItemRemove={this.handleUploadsManagerItemRemove} + onItemShare={onItemShare} + onItemOpen={onItemOpen} onCancelAll={this.handleCancelAllClick} onRetryAll={this.handleUploadsManagerRetryAll} /> diff --git a/src/elements/content-uploader/__tests__/ContentUploader.test.js b/src/elements/content-uploader/__tests__/ContentUploader.test.js index 931b53f4cc..d3f9b79918 100644 --- a/src/elements/content-uploader/__tests__/ContentUploader.test.js +++ b/src/elements/content-uploader/__tests__/ContentUploader.test.js @@ -1300,6 +1300,28 @@ describe('elements/content-uploader/ContentUploader', () => { expect(resetSpy).not.toHaveBeenCalled(); expect(uploadFileSpy).not.toHaveBeenCalled(); }); + + test('should pass onItemShare prop to UploadsManagerBP', () => { + const onItemShare = jest.fn(); + const wrapper = getWrapper({ enableModernizedUploads: true, onItemShare }); + expect(wrapper.find(UploadsManagerBP).prop('onItemShare')).toBe(onItemShare); + }); + + test('should pass onItemOpen prop to UploadsManagerBP', () => { + const onItemOpen = jest.fn(); + const wrapper = getWrapper({ enableModernizedUploads: true, onItemOpen }); + expect(wrapper.find(UploadsManagerBP).prop('onItemOpen')).toBe(onItemOpen); + }); + + test('should default onItemShare to noop when not provided', () => { + const wrapper = getWrapper({ enableModernizedUploads: true }); + expect(() => wrapper.find(UploadsManagerBP).prop('onItemShare')('item-id')).not.toThrow(); + }); + + test('should default onItemOpen to noop when not provided', () => { + const wrapper = getWrapper({ enableModernizedUploads: true }); + expect(() => wrapper.find(UploadsManagerBP).prop('onItemOpen')('item-id')).not.toThrow(); + }); }); }); }); From c56b28aa36186653c78b215398efd33c7863732b Mon Sep 17 00:00:00 2001 From: Omfalos Date: Mon, 15 Jun 2026 11:57:38 +0200 Subject: [PATCH 2/2] feat(content-uploader): add optional to new callbacks --- src/elements/content-uploader/ContentUploader.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/elements/content-uploader/ContentUploader.tsx b/src/elements/content-uploader/ContentUploader.tsx index 6a4fbdc5ff..e7ae62240c 100644 --- a/src/elements/content-uploader/ContentUploader.tsx +++ b/src/elements/content-uploader/ContentUploader.tsx @@ -97,8 +97,8 @@ export interface ContentUploaderProps { onMinimize?: () => void; onProgress: (item: UploadItem) => void; onResume: (item: UploadItem) => void; - onItemShare: (itemId: string) => void; - onItemOpen: (itemId: string) => void; + onItemShare?: (itemId: string) => void; + onItemOpen?: (itemId: string) => void; onUpgradeCTAClick?: () => void; onUpload: (item?: UploadItem | BoxItem) => void; overwrite: boolean | 'error';