box-ui-elements 23.4.0-beta.19 → 23.4.0-beta.20
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.
- package/dist/explorer.js +1 -1
- package/dist/picker.js +1 -1
- package/dist/preview.js +1 -1
- package/dist/sidebar.js +1 -1
- package/dist/uploader.js +1 -1
- package/es/elements/common/types/SidebarNavigation.js.flow +1 -1
- package/es/elements/common/types/SidebarNavigation.js.map +1 -1
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js +38 -8
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.flow +104 -48
- package/es/elements/content-sidebar/versions/StaticVersionSidebar.js.map +1 -1
- package/es/elements/content-sidebar/versions/VersionsSidebar.js +37 -8
- package/es/elements/content-sidebar/versions/VersionsSidebar.js.flow +101 -48
- package/es/elements/content-sidebar/versions/VersionsSidebar.js.map +1 -1
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js +2 -1
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.flow +3 -2
- package/es/elements/content-sidebar/versions/VersionsSidebarContainer.js.map +1 -1
- package/es/src/elements/common/types/SidebarNavigation.d.ts +1 -1
- package/package.json +3 -3
- package/src/elements/common/types/SidebarNavigation.js.flow +1 -1
- package/src/elements/common/types/SidebarNavigation.ts +1 -1
- package/src/elements/content-sidebar/versions/StaticVersionSidebar.js +104 -48
- package/src/elements/content-sidebar/versions/VersionsSidebar.js +101 -48
- package/src/elements/content-sidebar/versions/VersionsSidebarContainer.js +3 -2
- package/src/elements/content-sidebar/versions/__tests__/StaticVersionSidebar.test.js +56 -2
- package/src/elements/content-sidebar/versions/__tests__/VersionsSidebar.test.js +50 -1
- package/src/elements/content-sidebar/versions/__tests__/__snapshots__/VersionsSidebarContainer.test.js.snap +2 -2
|
@@ -24,6 +24,7 @@ import { withAPIContext } from '../../common/api-context';
|
|
|
24
24
|
import type { FeatureConfig } from '../../common/feature-checking';
|
|
25
25
|
import type { VersionActionCallback, VersionChangeCallback, SidebarLoadCallback } from './flowTypes';
|
|
26
26
|
import type { BoxItemVersion, BoxItem, FileVersions } from '../../../common/types/core';
|
|
27
|
+
import { ViewType, type ViewTypeValues } from '../../common/types/SidebarNavigation';
|
|
27
28
|
|
|
28
29
|
type Props = {
|
|
29
30
|
api: API,
|
|
@@ -40,7 +41,7 @@ type Props = {
|
|
|
40
41
|
onVersionPreview: VersionActionCallback,
|
|
41
42
|
onVersionPromote: VersionActionCallback,
|
|
42
43
|
onVersionRestore: VersionActionCallback,
|
|
43
|
-
parentName:
|
|
44
|
+
parentName: ViewTypeValues,
|
|
44
45
|
versionId?: string,
|
|
45
46
|
};
|
|
46
47
|
|
|
@@ -63,7 +64,7 @@ class VersionsSidebarContainer extends React.Component<Props, State> {
|
|
|
63
64
|
onVersionPreview: noop,
|
|
64
65
|
onVersionPromote: noop,
|
|
65
66
|
onVersionRestore: noop,
|
|
66
|
-
parentName:
|
|
67
|
+
parentName: ViewType.DETAILS,
|
|
67
68
|
};
|
|
68
69
|
|
|
69
70
|
api: VersionsSidebarAPI;
|
|
@@ -100,7 +100,8 @@ describe('elements/content-sidebar/versions/StaticVersionSidebar', () => {
|
|
|
100
100
|
expect(backButton).toHaveAttribute('data-resin-target', 'back');
|
|
101
101
|
});
|
|
102
102
|
|
|
103
|
-
test('should navigate when BackButton is clicked', async () => {
|
|
103
|
+
test('should navigate when BackButton is clicked and not use internal handler', async () => {
|
|
104
|
+
const mockNavigationHandler = jest.fn();
|
|
104
105
|
let currentLocation;
|
|
105
106
|
|
|
106
107
|
const TestWrapper = ({ children }) => (
|
|
@@ -117,7 +118,11 @@ describe('elements/content-sidebar/versions/StaticVersionSidebar', () => {
|
|
|
117
118
|
|
|
118
119
|
render(
|
|
119
120
|
<TestWrapper>
|
|
120
|
-
<StaticVersionSidebar
|
|
121
|
+
<StaticVersionSidebar
|
|
122
|
+
{...defaultProps}
|
|
123
|
+
parentName="details"
|
|
124
|
+
internalSidebarNavigationHandler={mockNavigationHandler}
|
|
125
|
+
/>
|
|
121
126
|
</TestWrapper>,
|
|
122
127
|
);
|
|
123
128
|
|
|
@@ -127,7 +132,10 @@ describe('elements/content-sidebar/versions/StaticVersionSidebar', () => {
|
|
|
127
132
|
const user = userEvent();
|
|
128
133
|
await user.click(backButton);
|
|
129
134
|
|
|
135
|
+
// Should use router navigation
|
|
130
136
|
expect(currentLocation.pathname).toBe('/details');
|
|
137
|
+
// Should not use internal handler when router is enabled
|
|
138
|
+
expect(mockNavigationHandler).not.toHaveBeenCalled();
|
|
131
139
|
});
|
|
132
140
|
|
|
133
141
|
test('should pass loading state to LoadingIndicatorWrapper', () => {
|
|
@@ -166,4 +174,50 @@ describe('elements/content-sidebar/versions/StaticVersionSidebar', () => {
|
|
|
166
174
|
expect(upgradeButton).toHaveAttribute('type', 'button');
|
|
167
175
|
expect(upgradeButton).toHaveTextContent('Upgrade');
|
|
168
176
|
});
|
|
177
|
+
|
|
178
|
+
describe('when routerDisabled is true', () => {
|
|
179
|
+
const renderComponentWithoutRouter = (props = {}) => {
|
|
180
|
+
return render(<StaticVersionSidebar {...defaultProps} routerDisabled {...props} />);
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
test('should render without React Router', () => {
|
|
184
|
+
renderComponentWithoutRouter();
|
|
185
|
+
|
|
186
|
+
expect(screen.getByRole('tabpanel')).toBeInTheDocument();
|
|
187
|
+
expect(screen.getByTestId('back-button')).toBeInTheDocument();
|
|
188
|
+
expect(screen.getByTestId('versions-menu')).toBeInTheDocument();
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
test('should use internalSidebarNavigationHandler when BackButton is clicked', async () => {
|
|
192
|
+
const mockNavigationHandler = jest.fn();
|
|
193
|
+
const user = userEvent();
|
|
194
|
+
|
|
195
|
+
renderComponentWithoutRouter({
|
|
196
|
+
internalSidebarNavigationHandler: mockNavigationHandler,
|
|
197
|
+
parentName: 'details',
|
|
198
|
+
});
|
|
199
|
+
|
|
200
|
+
const backButton = screen.getByTestId('back-button');
|
|
201
|
+
await user.click(backButton);
|
|
202
|
+
|
|
203
|
+
expect(mockNavigationHandler).toHaveBeenCalledTimes(1);
|
|
204
|
+
expect(mockNavigationHandler).toHaveBeenCalledWith({ sidebar: 'details' });
|
|
205
|
+
});
|
|
206
|
+
|
|
207
|
+
test('should pass props to VersionsMenu when router is disabled', () => {
|
|
208
|
+
const mockInternalSidebarNavigation = {
|
|
209
|
+
sidebar: 'activity',
|
|
210
|
+
open: true,
|
|
211
|
+
};
|
|
212
|
+
|
|
213
|
+
renderComponentWithoutRouter({
|
|
214
|
+
internalSidebarNavigation: mockInternalSidebarNavigation,
|
|
215
|
+
});
|
|
216
|
+
|
|
217
|
+
// Verify VersionsMenu is rendered (props are passed but not visible in mock)
|
|
218
|
+
expect(screen.getByTestId('versions-menu')).toBeInTheDocument();
|
|
219
|
+
});
|
|
220
|
+
});
|
|
221
|
+
|
|
222
|
+
|
|
169
223
|
});
|
|
@@ -132,6 +132,7 @@ describe('elements/content-sidebar/versions/VersionsSidebar', () => {
|
|
|
132
132
|
});
|
|
133
133
|
|
|
134
134
|
test('should navigate to parent name when back button is clicked', async () => {
|
|
135
|
+
const mockNavigationHandler = jest.fn();
|
|
135
136
|
let currentLocation;
|
|
136
137
|
|
|
137
138
|
const TestWrapper = ({ children }) => (
|
|
@@ -148,7 +149,11 @@ describe('elements/content-sidebar/versions/VersionsSidebar', () => {
|
|
|
148
149
|
|
|
149
150
|
render(
|
|
150
151
|
<TestWrapper>
|
|
151
|
-
<VersionsSidebar
|
|
152
|
+
<VersionsSidebar
|
|
153
|
+
{...defaultProps}
|
|
154
|
+
parentName="activity"
|
|
155
|
+
internalSidebarNavigationHandler={mockNavigationHandler}
|
|
156
|
+
/>
|
|
152
157
|
</TestWrapper>,
|
|
153
158
|
);
|
|
154
159
|
|
|
@@ -159,5 +164,49 @@ describe('elements/content-sidebar/versions/VersionsSidebar', () => {
|
|
|
159
164
|
await user.click(backButton);
|
|
160
165
|
|
|
161
166
|
expect(currentLocation.pathname).toBe('/activity');
|
|
167
|
+
expect(mockNavigationHandler).not.toHaveBeenCalled();
|
|
168
|
+
});
|
|
169
|
+
|
|
170
|
+
describe('when routerDisabled is true', () => {
|
|
171
|
+
const renderComponentWithoutRouter = (props = {}) => {
|
|
172
|
+
return render(<VersionsSidebar {...defaultProps} routerDisabled {...props} />);
|
|
173
|
+
};
|
|
174
|
+
|
|
175
|
+
test('should render without React Router', () => {
|
|
176
|
+
renderComponentWithoutRouter();
|
|
177
|
+
|
|
178
|
+
expect(screen.getByText('Version History')).toBeInTheDocument();
|
|
179
|
+
expect(screen.getByTestId('back-button')).toBeInTheDocument();
|
|
180
|
+
expect(screen.getByTestId('versions-menu')).toBeInTheDocument();
|
|
181
|
+
});
|
|
182
|
+
|
|
183
|
+
test('should use internalSidebarNavigationHandler when BackButton is clicked', async () => {
|
|
184
|
+
const mockNavigationHandler = jest.fn();
|
|
185
|
+
const user = userEvent();
|
|
186
|
+
|
|
187
|
+
renderComponentWithoutRouter({
|
|
188
|
+
internalSidebarNavigationHandler: mockNavigationHandler,
|
|
189
|
+
parentName: 'details',
|
|
190
|
+
});
|
|
191
|
+
|
|
192
|
+
const backButton = screen.getByTestId('back-button');
|
|
193
|
+
await user.click(backButton);
|
|
194
|
+
|
|
195
|
+
expect(mockNavigationHandler).toHaveBeenCalledTimes(1);
|
|
196
|
+
expect(mockNavigationHandler).toHaveBeenCalledWith({ sidebar: 'details' });
|
|
197
|
+
});
|
|
198
|
+
|
|
199
|
+
test('should pass props to VersionsMenu when router is disabled', () => {
|
|
200
|
+
const mockInternalSidebarNavigation = {
|
|
201
|
+
sidebar: 'activity',
|
|
202
|
+
open: true,
|
|
203
|
+
};
|
|
204
|
+
|
|
205
|
+
renderComponentWithoutRouter({
|
|
206
|
+
internalSidebarNavigation: mockInternalSidebarNavigation,
|
|
207
|
+
});
|
|
208
|
+
|
|
209
|
+
expect(screen.getByTestId('versions-menu')).toBeInTheDocument();
|
|
210
|
+
});
|
|
162
211
|
});
|
|
163
212
|
});
|
|
@@ -12,7 +12,7 @@ exports[`elements/content-sidebar/versions/VersionsSidebarContainer handleFetchE
|
|
|
12
12
|
isLoading={false}
|
|
13
13
|
isWatermarked={false}
|
|
14
14
|
onUpgradeClick={[Function]}
|
|
15
|
-
parentName=""
|
|
15
|
+
parentName="details"
|
|
16
16
|
versionCount={0}
|
|
17
17
|
versionLimit={Infinity}
|
|
18
18
|
versions={[]}
|
|
@@ -36,7 +36,7 @@ exports[`elements/content-sidebar/versions/VersionsSidebarContainer handleFetchE
|
|
|
36
36
|
onPreview={[Function]}
|
|
37
37
|
onPromote={[Function]}
|
|
38
38
|
onRestore={[Function]}
|
|
39
|
-
parentName=""
|
|
39
|
+
parentName="details"
|
|
40
40
|
versionCount={0}
|
|
41
41
|
versionLimit={Infinity}
|
|
42
42
|
versions={[]}
|