Skip to content

Commit 26d516d

Browse files
authored
feat(metadata-sidebar): Pass isLargeFile to MetadataInstanceForm (#3922)
* feat(metadata-sidebar): Pass isLargeFile to MetadataInstanceForm * feat(metadata-sidebar): update metadata-editor * feat(metadata-sidebar): update metadata-editor * feat(metadata-sidebar): update metadata-editor * feat(metadata-sidebar): Add unit test * feat(metadata-sidebar): Small updates * feat(metadata-sidebar): nit updates
1 parent 944b8d4 commit 26d516d

File tree

7 files changed

+38
-15
lines changed

7 files changed

+38
-15
lines changed

package.json

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -92,11 +92,7 @@
9292
"last 2 Edge versions",
9393
"last 2 iOS versions"
9494
],
95-
"development": [
96-
"last 1 Chrome versions",
97-
"last 1 Firefox versions",
98-
"last 1 Safari versions"
99-
]
95+
"development": ["last 1 Chrome versions", "last 1 Firefox versions", "last 1 Safari versions"]
10096
},
10197
"husky": {
10298
"hooks": {
@@ -134,7 +130,7 @@
134130
"@box/frontend": "^10.0.0",
135131
"@box/item-icon": "^0.9.58",
136132
"@box/languages": "^1.0.0",
137-
"@box/metadata-editor": "0.92.0",
133+
"@box/metadata-editor": "^0.92.3",
138134
"@box/react-virtualized": "9.22.3-rc-box.9",
139135
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
140136
"@chromatic-com/storybook": "^1.6.1",
@@ -314,7 +310,7 @@
314310
"@box/box-ai-content-answers": "^0.86.0",
315311
"@box/cldr-data": ">=34.2.0",
316312
"@box/item-icon": "^0.9.58",
317-
"@box/metadata-editor": "^0.88.1",
313+
"@box/metadata-editor": "^0.92.2",
318314
"@box/react-virtualized": "9.22.3-rc-box.9",
319315
"@hapi/address": "^2.1.4",
320316
"axios": "^0.25.0",
@@ -374,8 +370,6 @@
374370
}
375371
},
376372
"msw": {
377-
"workerDirectory": [
378-
".storybook/public"
379-
]
373+
"workerDirectory": [".storybook/public"]
380374
}
381-
}
375+
}

src/elements/content-sidebar/MetadataInstanceEditor.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ export interface MetadataInstanceEditorProps {
2020
isBetaLanguageEnabled: boolean;
2121
isBoxAiSuggestionsEnabled: boolean;
2222
isDeleteButtonDisabled: boolean;
23+
isLargeFile: boolean;
2324
isUnsavedChangesModalOpen: boolean;
2425
onCancel: () => void;
2526
onDelete: (metadataInstance: MetadataTemplateInstance) => void;
@@ -42,6 +43,7 @@ const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({
4243
isBetaLanguageEnabled,
4344
isBoxAiSuggestionsEnabled,
4445
isDeleteButtonDisabled,
46+
isLargeFile,
4547
isUnsavedChangesModalOpen,
4648
onCancel,
4749
onDelete,
@@ -58,6 +60,7 @@ const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({
5860
isAiSuggestionsFeatureEnabled={isBoxAiSuggestionsEnabled}
5961
isBetaLanguageEnabled={isBetaLanguageEnabled}
6062
isDeleteButtonDisabled={isDeleteButtonDisabled}
63+
isLargeFile={isLargeFile}
6164
isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}
6265
onCancel={onCancel}
6366
onDelete={onDelete}

src/elements/content-sidebar/MetadataSidebarRedesign.tsx

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ import { convertTemplateToTemplateInstance } from './utils/convertTemplateToTemp
4444
import { isExtensionSupportedForMetadataSuggestions } from './utils/isExtensionSupportedForMetadataSuggestions';
4545
import { metadataTaxonomyFetcher, metadataTaxonomyNodeAncestorsFetcher } from './fetchers/metadataTaxonomyFetcher';
4646
import { useMetadataSidebarFilteredTemplates } from './hooks/useMetadataSidebarFilteredTemplates';
47+
import { isFileLargerThan } from './utils/isFileLargerThan';
4748

4849
const MARK_NAME_JS_READY = `${ORIGIN_METADATA_SIDEBAR_REDESIGN}_${EVENT_JS_READY}`;
4950

@@ -109,6 +110,9 @@ function MetadataSidebarRedesign({
109110
const isBoxAiSuggestionsEnabled: boolean = useFeatureEnabled('metadata.aiSuggestions.enabled');
110111
const isBetaLanguageEnabled: boolean = useFeatureEnabled('metadata.betaLanguage.enabled');
111112

113+
const oneMegaByte = 1000000;
114+
const isLargeFile = isFileLargerThan(file, oneMegaByte);
115+
112116
const [editingTemplate, setEditingTemplate] = React.useState<MetadataTemplateInstance | null>(null);
113117
const [isUnsavedChangesModalOpen, setIsUnsavedChangesModalOpen] = React.useState<boolean>(false);
114118
const [isDeleteButtonDisabled, setIsDeleteButtonDisabled] = React.useState<boolean>(false);
@@ -289,6 +293,7 @@ function MetadataSidebarRedesign({
289293
isBetaLanguageEnabled={isBetaLanguageEnabled}
290294
isBoxAiSuggestionsEnabled={isBoxAiSuggestionsEnabled}
291295
isDeleteButtonDisabled={isDeleteButtonDisabled}
296+
isLargeFile={isLargeFile}
292297
isUnsavedChangesModalOpen={isUnsavedChangesModalOpen}
293298
onCancel={handleCancel}
294299
onDelete={handleDeleteInstance}

src/elements/content-sidebar/__tests__/MetadataInstanceEditor.test.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ describe('MetadataInstanceEditor', () => {
7474
isBetaLanguageEnabled: false,
7575
isBoxAiSuggestionsEnabled: true,
7676
isDeleteButtonDisabled: false,
77+
isLargeFile: false,
7778
isUnsavedChangesModalOpen: false,
7879
onCancel: mockOnCancel,
7980
onDelete: jest.fn(),
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
import { isFileLargerThan } from '../utils/isFileLargerThan';
2+
3+
describe('isFileLargerThan', () => {
4+
test.each([
5+
[{ size: 49 }, 50, false],
6+
[{ size: 50 }, 50, false],
7+
[{ size: 51 }, 50, true],
8+
[{}, 50, false],
9+
[null, 50, false],
10+
])('Should correctly check if file is larger than benchmark', (file, breakpoint, expected) => {
11+
const result = isFileLargerThan(file, breakpoint);
12+
13+
expect(result).toEqual(expected);
14+
});
15+
});
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
import { type BoxItem } from '../../../common/types/core';
2+
3+
export function isFileLargerThan(file: BoxItem | null, breakpointSizeInBytes: number): boolean {
4+
return file ? file.size > breakpointSizeInBytes : false;
5+
}

yarn.lock

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1528,10 +1528,10 @@
15281528
resolved "https://registry.yarnpkg.com/@box/languages/-/languages-1.1.2.tgz#cd4266b3da62da18560d881e10b429653186be29"
15291529
integrity sha512-d64TGosx+KRmrLZj4CIyLp42LUiEbgBJ8n8cviMQwTJmfU0g+UwZqLjmQZR1j+Q9D64yV4xHzY9K1t5nInWWeQ==
15301530

1531-
1532-
version "0.92.0"
1533-
resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-0.92.0.tgz#df484131655f35e49e355af2b07340eaaddfe905"
1534-
integrity sha512-AibiQMlCVV2kTbvhH2ZkgseLjyu89oZkmekuANg6y7tFh0633OVdn0eo5NXaCAASfff6THbH2gxWir7fd/r6tA==
1531+
"@box/metadata-editor@^0.92.3":
1532+
version "0.92.3"
1533+
resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-0.92.3.tgz#7f9d14302598f48e6e6d5e11a62e93b771029622"
1534+
integrity sha512-mbRjn9P4rZWP/ZZIdFgh3uYnfppduyHAlZ/IEhX0fL4KfSZry0AU2/ja37M1a6ipXuZ1q8xur95nz7zQr0/oSA==
15351535

15361536
15371537
version "9.22.3-rc-box.9"

0 commit comments

Comments
 (0)