Skip to content

Commit 4c8cf11

Browse files
feat(metadata): pass trackEvent callback to metadata components (#4538)
* feat(metadata): pass trackEvent callback to metadata components * fix(metadata): fix types * test(metadata): fix storybook test * test: reduce waitFor timeout * test: reduce waitFor timeout --------- Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
1 parent 8f84598 commit 4c8cf11

6 files changed

Lines changed: 24 additions & 7 deletions

File tree

package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
"@box/frontend": "^11.0.1",
139139
"@box/item-icon": "^2.32.14",
140140
"@box/languages": "^1.0.0",
141-
"@box/metadata-editor": "^1.61.5",
141+
"@box/metadata-editor": "^1.69.6",
142142
"@box/metadata-filter": "^1.80.23",
143143
"@box/metadata-view": "^1.53.26",
144144
"@box/react-virtualized": "^9.22.3-rc-box.10",
@@ -305,7 +305,7 @@
305305
"@box/copy-input": "^1.40.21",
306306
"@box/content-field": "^1.40.23",
307307
"@box/item-icon": "^2.32.14",
308-
"@box/metadata-editor": "^1.61.5",
308+
"@box/metadata-editor": "^1.69.6",
309309
"@box/metadata-filter": "^1.80.23",
310310
"@box/metadata-view": "^1.53.26",
311311
"@box/react-virtualized": "^9.22.3-rc-box.10",

src/elements/content-sidebar/MetadataInstanceEditor.tsx

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ export interface MetadataInstanceEditorProps {
3737
isConfidenceScoreReviewEnabled?: boolean;
3838
onSelectMetadataField?: (field: MetadataTemplateField | null) => void;
3939
selectedMetadataFieldId?: string | null;
40+
trackEvent?: (eventName: string, data?: Record<string, unknown>) => void;
4041
}
4142

4243
const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({
@@ -62,6 +63,7 @@ const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({
6263
isConfidenceScoreReviewEnabled = false,
6364
onSelectMetadataField,
6465
selectedMetadataFieldId,
66+
trackEvent,
6567
}) => {
6668
const previewContext: PreviewContextType | null = useContext(PreviewContext);
6769
const customRef = previewContext?.previewBodyRef?.current;
@@ -92,6 +94,7 @@ const MetadataInstanceEditor: React.FC<MetadataInstanceEditorProps> = ({
9294
onSelectMetadataField={onSelectMetadataField}
9395
selectedMetadataFieldId={selectedMetadataFieldId}
9496
customRef={customRef}
97+
trackEvent={trackEvent}
9598
/>
9699
);
97100
};

src/elements/content-sidebar/MetadataSidebar.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ type ExternalProps = {
4848
registerOpenWarningModalCallback?: (handleWarningModalOpen: (isOpen: boolean) => void) => void,
4949
onWarningModalDiscard?: () => void,
5050
onWarningModalClose?: () => void,
51+
trackEvent?: (eventName: string, data?: { [string]: any }) => void,
5152
};
5253

5354
type PropsWithoutContext = {

src/elements/content-sidebar/MetadataSidebarRedesign.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,7 @@ export interface MetadataSidebarRedesignProps
8989
registerOpenWarningModalCallback?: (handleWarningModalOpen: (isOpen: boolean) => void) => void;
9090
onWarningModalDiscard?: () => void;
9191
onWarningModalClose?: () => void;
92+
trackEvent?: (eventName: string, data?: Record<string, unknown>) => void;
9293
}
9394

9495
function MetadataSidebarRedesign({
@@ -108,6 +109,7 @@ function MetadataSidebarRedesign({
108109
registerOpenWarningModalCallback,
109110
onWarningModalDiscard,
110111
onWarningModalClose,
112+
trackEvent,
111113
}: MetadataSidebarRedesignProps) {
112114
const { formatMessage } = useIntl();
113115
const isBoxAiSuggestionsEnabled: boolean = useFeatureEnabled('metadata.aiSuggestions.enabled');
@@ -368,6 +370,7 @@ function MetadataSidebarRedesign({
368370
isConfidenceScoreReviewEnabled={isConfidenceScoreReviewEnabled}
369371
onSelectMetadataField={handleSelectMetadataField}
370372
selectedMetadataFieldId={selectedMetadataFieldId}
373+
trackEvent={trackEvent}
371374
/>
372375
)}
373376
{showList && (
@@ -386,6 +389,7 @@ function MetadataSidebarRedesign({
386389
templateInstances={templateInstancesList}
387390
taxonomyNodeFetcher={taxonomyNodeFetcher}
388391
isConfidenceScoreReviewEnabled={isConfidenceScoreReviewEnabled}
392+
trackEvent={trackEvent}
389393
/>
390394
)}
391395
</AutofillContextProvider>

src/elements/content-sidebar/stories/tests/MetadataSidebarRedesign-visual.stories.tsx

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -717,7 +717,16 @@ export const AcceptAllDismissesReviewNotice: StoryObj<typeof MetadataSidebarRede
717717
{ timeout: 5000 },
718718
);
719719

720-
let acceptButtons = canvas.getAllByRole('button', { name: 'Accept extracted value' });
720+
let acceptButtons: HTMLElement[] = [];
721+
722+
await waitFor(
723+
() => {
724+
acceptButtons = canvas.getAllByRole('button', { name: 'Accept extracted value' });
725+
expect(acceptButtons.length).toBeGreaterThanOrEqual(1);
726+
},
727+
{ timeout: 100 },
728+
);
729+
721730
await userEvent.click(acceptButtons[0]);
722731
await waitFor(() => {
723732
expect(canvas.getByText(/2 fields need review/i)).toBeVisible();

yarn.lock

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

1533-
"@box/metadata-editor@^1.61.5":
1534-
version "1.61.5"
1535-
resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-1.61.5.tgz#91ed9ccd5e910b50c2ff54f77e4a9f2a98913817"
1536-
integrity sha512-gsZIQWXa0+reWKZG2FMiCT9bnE1xf6asv+NeuhiWi28KTHyu27LTTULDQbS//Q7dTODKTvB4KeZp6u7npCLjYg==
1533+
"@box/metadata-editor@^1.69.6":
1534+
version "1.69.6"
1535+
resolved "https://registry.yarnpkg.com/@box/metadata-editor/-/metadata-editor-1.69.6.tgz#56a0f185e4e5b64807b32e8c155812bead8b6598"
1536+
integrity sha512-pVQD0FyabgpIchYBpVbi44iMz+wzRVW5YeP0FslbfHMpCGJL9lABWWN0aBp68CXRXJbSZXr/4YQUQJ0YsmRmoA==
15371537

15381538
"@box/metadata-filter@^1.80.23":
15391539
version "1.80.23"

0 commit comments

Comments
 (0)