box-ui-elements 23.5.0-beta.2 → 23.5.0-beta.3
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.css +1 -1
- package/dist/explorer.js +1 -1
- package/dist/preview.css +1 -1
- package/dist/preview.js +1 -1
- package/dist/sidebar.css +1 -1
- package/dist/sidebar.js +1 -1
- package/es/features/metadata-instance-editor/CascadePolicy.js +3 -3
- package/es/features/metadata-instance-editor/CascadePolicy.js.flow +2 -3
- package/es/features/metadata-instance-editor/CascadePolicy.js.map +1 -1
- package/es/features/metadata-instance-editor/Instance.js +0 -2
- package/es/features/metadata-instance-editor/Instance.js.flow +0 -5
- package/es/features/metadata-instance-editor/Instance.js.map +1 -1
- package/es/features/metadata-instance-editor/Instances.js +0 -2
- package/es/features/metadata-instance-editor/Instances.js.flow +0 -3
- package/es/features/metadata-instance-editor/Instances.js.map +1 -1
- package/es/features/metadata-instance-editor/MetadataInstanceEditor.js +0 -2
- package/es/features/metadata-instance-editor/MetadataInstanceEditor.js.flow +0 -3
- package/es/features/metadata-instance-editor/MetadataInstanceEditor.js.map +1 -1
- package/es/features/metadata-instance-editor/stories/tests/CascadePolicy-visual.stories.js +0 -1
- package/es/features/metadata-instance-editor/stories/tests/CascadePolicy-visual.stories.js.flow +0 -1
- package/es/features/metadata-instance-editor/stories/tests/CascadePolicy-visual.stories.js.map +1 -1
- package/package.json +3 -3
- package/src/features/metadata-instance-editor/CascadePolicy.js +2 -3
- package/src/features/metadata-instance-editor/Instance.js +0 -5
- package/src/features/metadata-instance-editor/Instances.js +0 -3
- package/src/features/metadata-instance-editor/MetadataInstanceEditor.js +0 -3
- package/src/features/metadata-instance-editor/__tests__/CascadePolicy.test.js +0 -9
- package/src/features/metadata-instance-editor/__tests__/Instance.test.js +0 -28
- package/src/features/metadata-instance-editor/__tests__/Instances.test.js +7 -9
- package/src/features/metadata-instance-editor/__tests__/MetadataInstanceEditor.test.js +1 -48
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instance.test.js.snap +0 -1
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instances.test.js.snap +0 -2
- package/src/features/metadata-instance-editor/__tests__/__snapshots__/MetadataInstanceEditor.test.js.snap +0 -1
- package/src/features/metadata-instance-editor/stories/tests/CascadePolicy-visual.stories.js +0 -1
|
@@ -27,7 +27,6 @@ const AI_LINK = 'https://www.box.com/ai';
|
|
|
27
27
|
type Props = {
|
|
28
28
|
canEdit: boolean,
|
|
29
29
|
canUseAIFolderExtraction: boolean,
|
|
30
|
-
canUseAIFolderExtractionAgentSelector: boolean,
|
|
31
30
|
cascadePolicyConfiguration?: MetadataCascadePolicyConfiguration,
|
|
32
31
|
isAIFolderExtractionEnabled: boolean,
|
|
33
32
|
isCascadingEnabled: boolean,
|
|
@@ -44,7 +43,6 @@ type Props = {
|
|
|
44
43
|
const CascadePolicy = ({
|
|
45
44
|
canEdit,
|
|
46
45
|
canUseAIFolderExtraction,
|
|
47
|
-
canUseAIFolderExtractionAgentSelector,
|
|
48
46
|
cascadePolicyConfiguration,
|
|
49
47
|
isCascadingEnabled,
|
|
50
48
|
isCascadingOverwritten,
|
|
@@ -194,13 +192,14 @@ const CascadePolicy = ({
|
|
|
194
192
|
<FormattedMessage {...messages.aiAutofillLearnMore} />
|
|
195
193
|
</Link>
|
|
196
194
|
</div>
|
|
197
|
-
{
|
|
195
|
+
{isAIFolderExtractionEnabled && (
|
|
198
196
|
<div className="metadata-cascade-ai-agent-selector">
|
|
199
197
|
<BoxAiAgentSelectorWithApiContainer
|
|
200
198
|
disabled={isExistingCascadePolicy}
|
|
201
199
|
fetcher={agentFetcher}
|
|
202
200
|
onSelectAgent={handleAgentSelect}
|
|
203
201
|
recordAction={() => {}}
|
|
202
|
+
selectorAlignment="left"
|
|
204
203
|
/>
|
|
205
204
|
</div>
|
|
206
205
|
)}
|
|
@@ -55,7 +55,6 @@ import './Instance.scss';
|
|
|
55
55
|
type Props = {
|
|
56
56
|
canEdit: boolean,
|
|
57
57
|
canUseAIFolderExtraction?: boolean,
|
|
58
|
-
canUseAIFolderExtractionAgentSelector?: boolean,
|
|
59
58
|
cascadePolicy?: MetadataCascadePolicy, // eslint-disable-line
|
|
60
59
|
data: MetadataFields,
|
|
61
60
|
hasError: boolean,
|
|
@@ -642,7 +641,6 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
642
641
|
render() {
|
|
643
642
|
const {
|
|
644
643
|
canUseAIFolderExtraction = false,
|
|
645
|
-
canUseAIFolderExtractionAgentSelector = false,
|
|
646
644
|
cascadePolicy = {},
|
|
647
645
|
isDirty,
|
|
648
646
|
isCascadingPolicyApplicable,
|
|
@@ -703,9 +701,6 @@ class Instance extends React.PureComponent<Props, State> {
|
|
|
703
701
|
cascadePolicyConfiguration={cascadePolicy?.cascadePolicyConfiguration}
|
|
704
702
|
canEdit={isEditing && !!cascadePolicy.canEdit}
|
|
705
703
|
canUseAIFolderExtraction={canUseAIFolderExtraction}
|
|
706
|
-
canUseAIFolderExtractionAgentSelector={
|
|
707
|
-
canUseAIFolderExtractionAgentSelector
|
|
708
|
-
}
|
|
709
704
|
isAIFolderExtractionEnabled={isAIFolderExtractionEnabled}
|
|
710
705
|
isCascadingEnabled={isCascadingEnabled}
|
|
711
706
|
isCascadingOverwritten={isCascadingOverwritten}
|
|
@@ -7,7 +7,6 @@ import type { JSONPatchOperations } from '../../common/types/api';
|
|
|
7
7
|
|
|
8
8
|
type Props = {
|
|
9
9
|
canUseAIFolderExtraction?: boolean,
|
|
10
|
-
canUseAIFolderExtractionAgentSelector?: boolean,
|
|
11
10
|
editors?: Array<MetadataEditor>,
|
|
12
11
|
isCascadingPolicyApplicable?: boolean,
|
|
13
12
|
onModification?: (id: string, isDirty: boolean) => void,
|
|
@@ -23,7 +22,6 @@ type Props = {
|
|
|
23
22
|
|
|
24
23
|
const Instances = ({
|
|
25
24
|
canUseAIFolderExtraction = false,
|
|
26
|
-
canUseAIFolderExtractionAgentSelector = false,
|
|
27
25
|
isCascadingPolicyApplicable = false,
|
|
28
26
|
editors = [],
|
|
29
27
|
onModification,
|
|
@@ -39,7 +37,6 @@ const Instances = ({
|
|
|
39
37
|
<Instance
|
|
40
38
|
canEdit={instance.canEdit}
|
|
41
39
|
canUseAIFolderExtraction={canUseAIFolderExtraction}
|
|
42
|
-
canUseAIFolderExtractionAgentSelector={canUseAIFolderExtractionAgentSelector}
|
|
43
40
|
cascadePolicy={instance.cascadePolicy}
|
|
44
41
|
data={instance.data}
|
|
45
42
|
hasError={hasError}
|
|
@@ -15,7 +15,6 @@ type Props = {
|
|
|
15
15
|
blurExceptionClassNames?: Array<string>,
|
|
16
16
|
canAdd: boolean,
|
|
17
17
|
canUseAIFolderExtraction?: boolean,
|
|
18
|
-
canUseAIFolderExtractionAgentSelector?: boolean,
|
|
19
18
|
editors?: Array<MetadataEditor>,
|
|
20
19
|
isCascadingPolicyApplicable?: boolean,
|
|
21
20
|
isDropdownBusy?: boolean,
|
|
@@ -38,7 +37,6 @@ const MetadataInstanceEditor = ({
|
|
|
38
37
|
blurExceptionClassNames,
|
|
39
38
|
canAdd,
|
|
40
39
|
canUseAIFolderExtraction = false,
|
|
41
|
-
canUseAIFolderExtractionAgentSelector = false,
|
|
42
40
|
isCascadingPolicyApplicable = false,
|
|
43
41
|
isDropdownBusy,
|
|
44
42
|
editors = [],
|
|
@@ -66,7 +64,6 @@ const MetadataInstanceEditor = ({
|
|
|
66
64
|
<ScrollWrapper>
|
|
67
65
|
<Instances
|
|
68
66
|
canUseAIFolderExtraction={canUseAIFolderExtraction}
|
|
69
|
-
canUseAIFolderExtractionAgentSelector={canUseAIFolderExtractionAgentSelector}
|
|
70
67
|
editors={editors}
|
|
71
68
|
isCascadingPolicyApplicable={isCascadingPolicyApplicable}
|
|
72
69
|
onModification={onModification}
|
|
@@ -118,7 +118,6 @@ describe('features/metadata-instance-editor/CascadePolicy', () => {
|
|
|
118
118
|
<CascadePolicy
|
|
119
119
|
canEdit
|
|
120
120
|
canUseAIFolderExtraction
|
|
121
|
-
canUseAIFolderExtractionAgentSelector
|
|
122
121
|
shouldShowCascadeOptions
|
|
123
122
|
isAIFolderExtractionEnabled
|
|
124
123
|
onAIFolderExtractionToggle={jest.fn()}
|
|
@@ -133,18 +132,12 @@ describe('features/metadata-instance-editor/CascadePolicy', () => {
|
|
|
133
132
|
expect(screen.getByRole('combobox', { name: 'Standard' })).toBeInTheDocument();
|
|
134
133
|
});
|
|
135
134
|
|
|
136
|
-
test('should not render AI agent selector when canUseAIFolderExtractionAgentSelector is false', () => {
|
|
137
|
-
render(<CascadePolicy canEdit canUseAIFolderExtraction shouldShowCascadeOptions />);
|
|
138
|
-
expect(screen.queryByRole('combobox', { name: 'Standard' })).not.toBeInTheDocument();
|
|
139
|
-
});
|
|
140
|
-
|
|
141
135
|
test('should call onAIAgentSelect when an agent is selected', async () => {
|
|
142
136
|
const onAIAgentSelect = jest.fn();
|
|
143
137
|
render(
|
|
144
138
|
<CascadePolicy
|
|
145
139
|
canEdit
|
|
146
140
|
canUseAIFolderExtraction
|
|
147
|
-
canUseAIFolderExtractionAgentSelector
|
|
148
141
|
shouldShowCascadeOptions
|
|
149
142
|
isAIFolderExtractionEnabled
|
|
150
143
|
onAIAgentSelect={onAIAgentSelect}
|
|
@@ -185,7 +178,6 @@ describe('features/metadata-instance-editor/CascadePolicy', () => {
|
|
|
185
178
|
<CascadePolicy
|
|
186
179
|
canEdit
|
|
187
180
|
canUseAIFolderExtraction
|
|
188
|
-
canUseAIFolderExtractionAgentSelector
|
|
189
181
|
shouldShowCascadeOptions
|
|
190
182
|
isAIFolderExtractionEnabled
|
|
191
183
|
cascadePolicyConfiguration={cascadePolicyConfiguration}
|
|
@@ -207,7 +199,6 @@ describe('features/metadata-instance-editor/CascadePolicy', () => {
|
|
|
207
199
|
<CascadePolicy
|
|
208
200
|
canEdit
|
|
209
201
|
canUseAIFolderExtraction
|
|
210
|
-
canUseAIFolderExtractionAgentSelector
|
|
211
202
|
shouldShowCascadeOptions
|
|
212
203
|
isAIFolderExtractionEnabled
|
|
213
204
|
onAIFolderExtractionToggle={jest.fn()}
|
|
@@ -771,7 +771,6 @@ const getBaseProps = (props = {}) => ({
|
|
|
771
771
|
cascadePolicyType: 'regular', // default to non-AI
|
|
772
772
|
},
|
|
773
773
|
canUseAIFolderExtraction: true, // Assume feature flag is on
|
|
774
|
-
canUseAIFolderExtractionAgentSelector: false,
|
|
775
774
|
...props,
|
|
776
775
|
});
|
|
777
776
|
|
|
@@ -862,33 +861,6 @@ describe('Instance Component - React Testing Library', () => {
|
|
|
862
861
|
});
|
|
863
862
|
|
|
864
863
|
describe('Props passed to CascadePolicy', () => {
|
|
865
|
-
test('should pass canUseAIFolderExtractionAgentSelector to CascadePolicy', async () => {
|
|
866
|
-
render(
|
|
867
|
-
<Instance
|
|
868
|
-
{...getBaseProps({
|
|
869
|
-
canUseAIFolderExtractionAgentSelector: true,
|
|
870
|
-
cascadePolicy: {
|
|
871
|
-
id: 'policy-1',
|
|
872
|
-
canEdit: true,
|
|
873
|
-
isEnabled: true,
|
|
874
|
-
cascadePolicyType: CASCADE_POLICY_TYPE_AI_EXTRACT,
|
|
875
|
-
},
|
|
876
|
-
})}
|
|
877
|
-
/>,
|
|
878
|
-
);
|
|
879
|
-
|
|
880
|
-
const editButton = screen.queryByRole('button', { name: 'Edit Metadata' });
|
|
881
|
-
if (editButton) await userEvent.click(editButton); // Enter edit mode to ensure CascadePolicy options are visible
|
|
882
|
-
|
|
883
|
-
const cascadeToggle = screen.getByRole('switch', { name: 'Enable Cascade Policy' });
|
|
884
|
-
expect(cascadeToggle).toBeChecked();
|
|
885
|
-
|
|
886
|
-
const aiToggle = screen.getByRole('switch', { name: 'Box AI Autofill' });
|
|
887
|
-
expect(aiToggle).toBeChecked();
|
|
888
|
-
|
|
889
|
-
expect(screen.getByRole('combobox', { name: 'Standard' })).toBeInTheDocument();
|
|
890
|
-
});
|
|
891
|
-
|
|
892
864
|
test('should disable CascadePolicy options when a cascade already exists', async () => {
|
|
893
865
|
render(<Instance {...getBaseProps()} />);
|
|
894
866
|
|
|
@@ -253,11 +253,9 @@ describe('features/metadata-editor-editor/Instances', () => {
|
|
|
253
253
|
});
|
|
254
254
|
});
|
|
255
255
|
|
|
256
|
-
describe('Instances component -
|
|
257
|
-
test('should
|
|
258
|
-
const props = getInstancesBaseProps(
|
|
259
|
-
canUseAIFolderExtractionAgentSelector: true,
|
|
260
|
-
});
|
|
256
|
+
describe('Instances component - AI agent selector', () => {
|
|
257
|
+
test('should show AI agent selector when canUseAIFolderExtraction is true', async () => {
|
|
258
|
+
const props = getInstancesBaseProps();
|
|
261
259
|
props.editors[0].instance.cascadePolicy.cascadePolicyType = CASCADE_POLICY_TYPE_AI_EXTRACT;
|
|
262
260
|
render(<Instances {...props} />);
|
|
263
261
|
|
|
@@ -273,11 +271,11 @@ describe('Instances component - canUseAIFolderExtractionAgentSelector prop', ()
|
|
|
273
271
|
expect(screen.getByRole('combobox', { name: 'Standard' })).toBeInTheDocument();
|
|
274
272
|
});
|
|
275
273
|
|
|
276
|
-
test('should not show agent selector in child Instance if
|
|
274
|
+
test('should not show agent selector in child Instance if canUseAIFolderExtraction is false', async () => {
|
|
277
275
|
render(
|
|
278
276
|
<Instances
|
|
279
277
|
{...getInstancesBaseProps({
|
|
280
|
-
|
|
278
|
+
canUseAIFolderExtraction: false,
|
|
281
279
|
})}
|
|
282
280
|
/>,
|
|
283
281
|
);
|
|
@@ -288,9 +286,9 @@ describe('Instances component - canUseAIFolderExtractionAgentSelector prop', ()
|
|
|
288
286
|
expect(screen.queryByRole('combobox', { name: 'Standard' })).not.toBeInTheDocument();
|
|
289
287
|
});
|
|
290
288
|
|
|
291
|
-
test('should not show agent selector in child Instance if
|
|
289
|
+
test('should not show agent selector in child Instance if canUseAIFolderExtraction is undefined', async () => {
|
|
292
290
|
const props = getInstancesBaseProps();
|
|
293
|
-
delete props.
|
|
291
|
+
delete props.canUseAIFolderExtraction;
|
|
294
292
|
render(<Instances {...props} />);
|
|
295
293
|
|
|
296
294
|
const editButton = screen.getByRole('button', { name: 'Edit Metadata' });
|
|
@@ -534,57 +534,10 @@ describe('features/metadata-editor-editor/MetadataInstanceEditor', () => {
|
|
|
534
534
|
});
|
|
535
535
|
});
|
|
536
536
|
|
|
537
|
-
describe('MetadataInstanceEditor
|
|
538
|
-
test('should propagate canUseAIFolderExtractionAgentSelector, showing agent selector', async () => {
|
|
539
|
-
const props = getMetadataEditorBaseProps({
|
|
540
|
-
canUseAIFolderExtraction: true,
|
|
541
|
-
canUseAIFolderExtractionAgentSelector: true,
|
|
542
|
-
});
|
|
543
|
-
props.editors[0].instance.cascadePolicy.cascadePolicyType = 'ai_extract';
|
|
544
|
-
render(<MetadataInstanceEditor {...props} />);
|
|
545
|
-
|
|
546
|
-
const editButton = await screen.findByRole('button', { name: 'Edit Metadata' }, { timeout: 3000 });
|
|
547
|
-
await userEvent.click(editButton);
|
|
548
|
-
|
|
549
|
-
const cascadeToggle = screen.getByRole('switch', { name: 'Enable Cascade Policy' });
|
|
550
|
-
expect(cascadeToggle).toBeChecked();
|
|
551
|
-
|
|
552
|
-
const aiToggle = screen.getByRole('switch', { name: 'Box AI Autofill' });
|
|
553
|
-
expect(aiToggle).toBeChecked();
|
|
554
|
-
|
|
555
|
-
expect(screen.getByRole('combobox', { name: 'Standard' })).toBeInTheDocument();
|
|
556
|
-
});
|
|
557
|
-
|
|
558
|
-
test('should not show agent selector if canUseAIFolderExtractionAgentSelector is false', async () => {
|
|
559
|
-
render(
|
|
560
|
-
<MetadataInstanceEditor
|
|
561
|
-
{...getMetadataEditorBaseProps({
|
|
562
|
-
canUseAIFolderExtractionAgentSelector: false,
|
|
563
|
-
})}
|
|
564
|
-
/>,
|
|
565
|
-
);
|
|
566
|
-
|
|
567
|
-
const editButton = await screen.findByRole('button', { name: 'Edit Metadata' });
|
|
568
|
-
await userEvent.click(editButton);
|
|
569
|
-
|
|
570
|
-
expect(screen.queryByRole('combobox', { name: 'Standard' })).not.toBeInTheDocument();
|
|
571
|
-
});
|
|
572
|
-
|
|
573
|
-
test('should not show agent selector if canUseAIFolderExtractionAgentSelector is undefined', async () => {
|
|
574
|
-
const props = getMetadataEditorBaseProps();
|
|
575
|
-
delete props.canUseAIFolderExtractionAgentSelector;
|
|
576
|
-
render(<MetadataInstanceEditor {...props} />);
|
|
577
|
-
|
|
578
|
-
const editButton = await screen.findByRole('button', { name: 'Edit Metadata' });
|
|
579
|
-
await userEvent.click(editButton);
|
|
580
|
-
|
|
581
|
-
expect(screen.queryByRole('combobox', { name: 'Standard' })).not.toBeInTheDocument();
|
|
582
|
-
});
|
|
583
|
-
|
|
537
|
+
describe('MetadataInstanceEditor agent selector', () => {
|
|
584
538
|
test('should show "Enhanced" in the combobox when the second option is selected', async () => {
|
|
585
539
|
const props = getMetadataEditorBaseProps({
|
|
586
540
|
canUseAIFolderExtraction: true,
|
|
587
|
-
canUseAIFolderExtractionAgentSelector: true,
|
|
588
541
|
});
|
|
589
542
|
props.editors[0].instance.cascadePolicy.cascadePolicyType = 'ai_extract';
|
|
590
543
|
props.editors[0].instance.cascadePolicy.id = null;
|
|
@@ -416,7 +416,6 @@ exports[`features/metadata-instance-editor/fields/Instance should correctly rend
|
|
|
416
416
|
>
|
|
417
417
|
<CascadePolicy
|
|
418
418
|
canUseAIFolderExtraction={false}
|
|
419
|
-
canUseAIFolderExtractionAgentSelector={false}
|
|
420
419
|
isAIFolderExtractionEnabled={false}
|
|
421
420
|
isCascadingEnabled={true}
|
|
422
421
|
isCascadingOverwritten={false}
|
package/src/features/metadata-instance-editor/__tests__/__snapshots__/Instances.test.js.snap
CHANGED
|
@@ -5,7 +5,6 @@ exports[`features/metadata-editor-editor/Instances should correctly render edito
|
|
|
5
5
|
<injectIntl(Instance)
|
|
6
6
|
canEdit={true}
|
|
7
7
|
canUseAIFolderExtraction={false}
|
|
8
|
-
canUseAIFolderExtractionAgentSelector={false}
|
|
9
8
|
data={
|
|
10
9
|
{
|
|
11
10
|
"datefield": "2018-06-20T00:00:00.000Z",
|
|
@@ -111,7 +110,6 @@ exports[`features/metadata-editor-editor/Instances should correctly render edito
|
|
|
111
110
|
<injectIntl(Instance)
|
|
112
111
|
canEdit={false}
|
|
113
112
|
canUseAIFolderExtraction={false}
|
|
114
|
-
canUseAIFolderExtractionAgentSelector={false}
|
|
115
113
|
data={
|
|
116
114
|
{
|
|
117
115
|
"datefield": "2018-06-20T00:00:00.000Z",
|
|
@@ -5,7 +5,6 @@ import CascadePolicy from '../../CascadePolicy';
|
|
|
5
5
|
const baseProps = {
|
|
6
6
|
canEdit: true,
|
|
7
7
|
canUseAIFolderExtraction: true,
|
|
8
|
-
canUseAIFolderExtractionAgentSelector: true,
|
|
9
8
|
isAIFolderExtractionEnabled: false,
|
|
10
9
|
isCascadingEnabled: true,
|
|
11
10
|
isCascadingOverwritten: false,
|