box-ui-elements 24.0.0-beta.5 → 24.0.0-beta.7
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/picker.js +1 -1
- package/es/elements/content-explorer/Content.js +3 -1
- package/es/elements/content-explorer/Content.js.map +1 -1
- package/es/elements/content-explorer/ContentExplorer.js +17 -6
- package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
- package/es/elements/content-explorer/MetadataQueryAPIHelper.js +104 -7
- package/es/elements/content-explorer/MetadataQueryAPIHelper.js.map +1 -1
- package/es/elements/content-explorer/MetadataQueryBuilder.js +154 -0
- package/es/elements/content-explorer/MetadataQueryBuilder.js.map +1 -0
- package/es/elements/content-explorer/MetadataViewContainer.js +92 -46
- package/es/elements/content-explorer/MetadataViewContainer.js.map +1 -1
- package/es/elements/content-explorer/constants.js +4 -2
- package/es/elements/content-explorer/constants.js.map +1 -1
- package/es/elements/content-explorer/stories/MetadataView.stories.js +3 -25
- package/es/elements/content-explorer/stories/MetadataView.stories.js.map +1 -1
- package/es/elements/content-explorer/stories/tests/MetadataView-visual.stories.js +4 -16
- package/es/elements/content-explorer/stories/tests/MetadataView-visual.stories.js.map +1 -1
- package/es/elements/content-explorer/utils.js +12 -0
- package/es/elements/content-explorer/utils.js.map +1 -1
- package/es/src/elements/common/__mocks__/mockMetadata.d.ts +8 -24
- package/es/src/elements/content-explorer/Content.d.ts +4 -3
- package/es/src/elements/content-explorer/ContentExplorer.d.ts +8 -3
- package/es/src/elements/content-explorer/MetadataQueryAPIHelper.d.ts +11 -2
- package/es/src/elements/content-explorer/MetadataQueryBuilder.d.ts +27 -0
- package/es/src/elements/content-explorer/MetadataViewContainer.d.ts +8 -4
- package/es/src/elements/content-explorer/__tests__/MetadataQueryBuilder.test.d.ts +1 -0
- package/es/src/elements/content-explorer/constants.d.ts +4 -2
- package/es/src/elements/content-explorer/utils.d.ts +2 -0
- package/i18n/bn-IN.js +1 -1
- package/i18n/bn-IN.properties +8 -0
- package/i18n/da-DK.js +1 -1
- package/i18n/da-DK.properties +8 -0
- package/i18n/de-DE.js +1 -1
- package/i18n/de-DE.properties +8 -0
- package/i18n/en-AU.js +1 -1
- package/i18n/en-AU.properties +8 -0
- package/i18n/en-CA.js +1 -1
- package/i18n/en-CA.properties +8 -0
- package/i18n/en-GB.js +1 -1
- package/i18n/en-GB.properties +8 -0
- package/i18n/es-419.js +1 -1
- package/i18n/es-419.properties +8 -0
- package/i18n/es-ES.js +1 -1
- package/i18n/es-ES.properties +8 -0
- package/i18n/fi-FI.js +1 -1
- package/i18n/fi-FI.properties +8 -0
- package/i18n/fr-CA.js +1 -1
- package/i18n/fr-CA.properties +8 -0
- package/i18n/fr-FR.js +1 -1
- package/i18n/fr-FR.properties +8 -0
- package/i18n/hi-IN.js +1 -1
- package/i18n/hi-IN.properties +8 -0
- package/i18n/it-IT.js +1 -1
- package/i18n/it-IT.properties +8 -0
- package/i18n/ja-JP.js +1 -1
- package/i18n/ja-JP.properties +8 -0
- package/i18n/ko-KR.js +1 -1
- package/i18n/ko-KR.properties +8 -0
- package/i18n/nb-NO.js +1 -1
- package/i18n/nb-NO.properties +8 -0
- package/i18n/nl-NL.js +1 -1
- package/i18n/nl-NL.properties +8 -0
- package/i18n/pl-PL.js +1 -1
- package/i18n/pl-PL.properties +8 -0
- package/i18n/pt-BR.js +1 -1
- package/i18n/pt-BR.properties +8 -0
- package/i18n/ru-RU.js +1 -1
- package/i18n/ru-RU.properties +8 -0
- package/i18n/sv-SE.js +1 -1
- package/i18n/sv-SE.properties +8 -0
- package/i18n/tr-TR.js +1 -1
- package/i18n/tr-TR.properties +8 -0
- package/i18n/zh-CN.js +1 -1
- package/i18n/zh-CN.properties +8 -0
- package/i18n/zh-TW.js +1 -1
- package/i18n/zh-TW.properties +8 -0
- package/package.json +3 -3
- package/src/elements/common/__mocks__/mockMetadata.ts +7 -11
- package/src/elements/content-explorer/Content.tsx +8 -2
- package/src/elements/content-explorer/ContentExplorer.tsx +209 -194
- package/src/elements/content-explorer/MetadataQueryAPIHelper.ts +111 -5
- package/src/elements/content-explorer/MetadataQueryBuilder.ts +194 -0
- package/src/elements/content-explorer/MetadataViewContainer.tsx +112 -37
- package/src/elements/content-explorer/__tests__/Content.test.tsx +1 -0
- package/src/elements/content-explorer/__tests__/ContentExplorer.test.tsx +2 -5
- package/src/elements/content-explorer/__tests__/MetadataQueryAPIHelper.test.ts +427 -8
- package/src/elements/content-explorer/__tests__/MetadataQueryBuilder.test.ts +535 -0
- package/src/elements/content-explorer/__tests__/MetadataViewContainer.test.tsx +413 -9
- package/src/elements/content-explorer/constants.ts +39 -2
- package/src/elements/content-explorer/stories/MetadataView.stories.tsx +3 -21
- package/src/elements/content-explorer/stories/tests/MetadataView-visual.stories.tsx +2 -13
- package/src/elements/content-explorer/utils.ts +17 -0
package/i18n/zh-TW.properties
CHANGED
|
@@ -582,12 +582,18 @@ be.messageCenter.previewError = 很抱歉,顯示此影像時發生問題。
|
|
|
582
582
|
be.messageCenter.product = 產品
|
|
583
583
|
# Title for the message center modal
|
|
584
584
|
be.messageCenter.title = 新增內容
|
|
585
|
+
# Text shown in error notification banner
|
|
586
|
+
be.metadataUpdateErrorNotification = Unable to save changes. Please try again.
|
|
587
|
+
# Text shown in success notification banner
|
|
588
|
+
be.metadataUpdateSuccessNotification = {numSelected, plural, =1 {1 document updated} other {# documents updated} }
|
|
585
589
|
# Text for modified date with modified prefix.
|
|
586
590
|
be.modifiedDate = 於 {date} 修改
|
|
587
591
|
# Text for modified date with user with modified prefix.
|
|
588
592
|
be.modifiedDateBy = {name} 於 {date} 修改
|
|
589
593
|
# Label for a button that displays more options
|
|
590
594
|
be.moreOptions = 更多選項
|
|
595
|
+
# Display text for field when there are multiple items selected and have different value
|
|
596
|
+
be.multipleValues = Multiple Values
|
|
591
597
|
# Name ascending option shown in the share access drop down select.
|
|
592
598
|
be.nameASC = 名稱:A → Z
|
|
593
599
|
# Name descending option shown in the share access drop down select.
|
|
@@ -834,6 +840,8 @@ be.skillUnknownError = 執行這個技能或擷取其資料時發生錯誤。
|
|
|
834
840
|
be.sort = 排序
|
|
835
841
|
# Label for status skill card in the preview sidebar
|
|
836
842
|
be.statusSkill = 狀態
|
|
843
|
+
# Generic success label.
|
|
844
|
+
be.success = Success
|
|
837
845
|
# Shown instead of todays date.
|
|
838
846
|
be.today = 今天
|
|
839
847
|
# Label for keywords/topics skill section in the preview sidebar
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "box-ui-elements",
|
|
3
|
-
"version": "24.0.0-beta.
|
|
3
|
+
"version": "24.0.0-beta.7",
|
|
4
4
|
"description": "Box UI Elements",
|
|
5
5
|
"author": "Box (https://www.box.com/)",
|
|
6
6
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -140,7 +140,7 @@
|
|
|
140
140
|
"@box/languages": "^1.0.0",
|
|
141
141
|
"@box/metadata-editor": "^0.122.12",
|
|
142
142
|
"@box/metadata-filter": "^1.19.2",
|
|
143
|
-
"@box/metadata-view": "^0.
|
|
143
|
+
"@box/metadata-view": "^0.48.1",
|
|
144
144
|
"@box/react-virtualized": "^9.22.3-rc-box.10",
|
|
145
145
|
"@box/types": "^0.2.1",
|
|
146
146
|
"@cfaester/enzyme-adapter-react-18": "^0.8.0",
|
|
@@ -307,7 +307,7 @@
|
|
|
307
307
|
"@box/item-icon": "^0.17.15",
|
|
308
308
|
"@box/metadata-editor": "^0.122.12",
|
|
309
309
|
"@box/metadata-filter": "^1.19.2",
|
|
310
|
-
"@box/metadata-view": "^0.
|
|
310
|
+
"@box/metadata-view": "^0.48.1",
|
|
311
311
|
"@box/react-virtualized": "^9.22.3-rc-box.10",
|
|
312
312
|
"@box/types": "^0.2.1",
|
|
313
313
|
"@hapi/address": "^2.1.4",
|
|
@@ -9,7 +9,6 @@ const mockMetadata = {
|
|
|
9
9
|
role: ['Business Owner', 'Marketing'],
|
|
10
10
|
$template: 'templateName',
|
|
11
11
|
$parent: 'file_1188899160835',
|
|
12
|
-
name: 'something',
|
|
13
12
|
industry: 'Technology',
|
|
14
13
|
last_contacted_at: '2023-11-16T00:00:00.000Z',
|
|
15
14
|
$version: 9,
|
|
@@ -31,7 +30,6 @@ const mockMetadata = {
|
|
|
31
30
|
role: ['Developer'],
|
|
32
31
|
$template: 'templateName',
|
|
33
32
|
$parent: 'file_1318276254035',
|
|
34
|
-
name: '1',
|
|
35
33
|
industry: 'Technology',
|
|
36
34
|
last_contacted_at: '2023-11-01T00:00:00.000Z',
|
|
37
35
|
$version: 3,
|
|
@@ -94,7 +92,6 @@ const mockMetadata = {
|
|
|
94
92
|
$scope: 'enterprise_0',
|
|
95
93
|
$template: 'templateName',
|
|
96
94
|
$parent: 'file_1812508470016',
|
|
97
|
-
name: 'in folder 3 that doesnt have metadata',
|
|
98
95
|
$version: 0,
|
|
99
96
|
},
|
|
100
97
|
},
|
|
@@ -154,14 +151,6 @@ const mockSchema = {
|
|
|
154
151
|
hidden: false,
|
|
155
152
|
copyInstanceOnItemCopy: false,
|
|
156
153
|
fields: [
|
|
157
|
-
{
|
|
158
|
-
id: '56b6f00e-5db3-4875-a31d-14b20f63c0ea',
|
|
159
|
-
type: 'string',
|
|
160
|
-
key: 'name',
|
|
161
|
-
displayName: 'Name',
|
|
162
|
-
hidden: false,
|
|
163
|
-
description: 'The customer name',
|
|
164
|
-
},
|
|
165
154
|
{
|
|
166
155
|
id: '07d3c06c-5db4-4f3f-821e-19219ba70ed3',
|
|
167
156
|
type: 'date',
|
|
@@ -220,6 +209,13 @@ const mockSchema = {
|
|
|
220
209
|
},
|
|
221
210
|
],
|
|
222
211
|
},
|
|
212
|
+
{
|
|
213
|
+
id: 'c3f87bb0-44df-4689-aafe-b9ed4aecbb01',
|
|
214
|
+
type: 'float',
|
|
215
|
+
key: 'number',
|
|
216
|
+
displayName: 'Merit Count',
|
|
217
|
+
hidden: false,
|
|
218
|
+
},
|
|
223
219
|
],
|
|
224
220
|
};
|
|
225
221
|
|
|
@@ -4,7 +4,7 @@ import ItemGrid from '../common/item-grid';
|
|
|
4
4
|
import ItemList from '../common/item-list';
|
|
5
5
|
import ProgressBar from '../common/progress-bar';
|
|
6
6
|
import MetadataBasedItemList from '../../features/metadata-based-view';
|
|
7
|
-
import MetadataViewContainer, { MetadataViewContainerProps } from './MetadataViewContainer';
|
|
7
|
+
import MetadataViewContainer, { ExternalFilterValues, MetadataViewContainerProps } from './MetadataViewContainer';
|
|
8
8
|
import { isFeatureEnabled, type FeatureConfig } from '../common/feature-checking';
|
|
9
9
|
import { VIEW_ERROR, VIEW_METADATA, VIEW_MODE_LIST, VIEW_MODE_GRID, VIEW_SELECTED } from '../../constants';
|
|
10
10
|
import type { ViewMode } from '../common/flowTypes';
|
|
@@ -37,7 +37,11 @@ export interface ContentProps extends Required<ItemEventHandlers>, Required<Item
|
|
|
37
37
|
isTouch: boolean;
|
|
38
38
|
itemActions?: ItemAction[];
|
|
39
39
|
metadataTemplate?: MetadataTemplate;
|
|
40
|
-
metadataViewProps?: Omit<
|
|
40
|
+
metadataViewProps?: Omit<
|
|
41
|
+
MetadataViewContainerProps,
|
|
42
|
+
'hasError' | 'currentCollection' | 'metadataTemplate' | 'onMetadataFilter'
|
|
43
|
+
>;
|
|
44
|
+
onMetadataFilter?: (fields: ExternalFilterValues) => void;
|
|
41
45
|
onMetadataUpdate: (
|
|
42
46
|
item: BoxItem,
|
|
43
47
|
field: string,
|
|
@@ -57,6 +61,7 @@ const Content = ({
|
|
|
57
61
|
gridColumnCount,
|
|
58
62
|
metadataTemplate,
|
|
59
63
|
metadataViewProps,
|
|
64
|
+
onMetadataFilter,
|
|
60
65
|
onMetadataUpdate,
|
|
61
66
|
onSortChange,
|
|
62
67
|
view,
|
|
@@ -89,6 +94,7 @@ const Content = ({
|
|
|
89
94
|
isLoading={percentLoaded !== 100}
|
|
90
95
|
hasError={view === VIEW_ERROR}
|
|
91
96
|
metadataTemplate={metadataTemplate}
|
|
97
|
+
onMetadataFilter={onMetadataFilter}
|
|
92
98
|
onSortChange={onSortChange}
|
|
93
99
|
{...metadataViewProps}
|
|
94
100
|
/>
|
|
@@ -8,7 +8,6 @@ import getProp from 'lodash/get';
|
|
|
8
8
|
import noop from 'lodash/noop';
|
|
9
9
|
import throttle from 'lodash/throttle';
|
|
10
10
|
import uniqueid from 'lodash/uniqueId';
|
|
11
|
-
import { Notification, TooltipProvider } from '@box/blueprint-web';
|
|
12
11
|
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
|
13
12
|
import type { Key, Selection } from 'react-aria-components';
|
|
14
13
|
import type { MetadataTemplateField } from '@box/metadata-editor';
|
|
@@ -35,7 +34,7 @@ import Content from './Content';
|
|
|
35
34
|
import { isThumbnailAvailable } from '../common/utils';
|
|
36
35
|
import { isFocusableElement, isInputElement, focus } from '../../utils/dom';
|
|
37
36
|
import { FILE_SHARED_LINK_FIELDS_TO_FETCH } from '../../utils/fields';
|
|
38
|
-
import CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH from './constants';
|
|
37
|
+
import { CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH } from './constants';
|
|
39
38
|
import LocalStore from '../../utils/LocalStore';
|
|
40
39
|
import {
|
|
41
40
|
withFeatureConsumer,
|
|
@@ -96,13 +95,14 @@ import type {
|
|
|
96
95
|
import type { BulkItemAction } from '../common/sub-header/BulkItemActionMenu';
|
|
97
96
|
import type { ContentPreviewProps } from '../content-preview';
|
|
98
97
|
import type { ContentUploaderProps } from '../content-uploader';
|
|
99
|
-
import type { MetadataViewContainerProps } from './MetadataViewContainer';
|
|
98
|
+
import type { ExternalFilterValues, MetadataViewContainerProps } from './MetadataViewContainer';
|
|
100
99
|
|
|
101
100
|
import '../common/fonts.scss';
|
|
102
101
|
import '../common/base.scss';
|
|
103
102
|
import '../common/modal.scss';
|
|
104
103
|
import './ContentExplorer.scss';
|
|
105
104
|
import { withBlueprintModernization } from '../common/withBlueprintModernization';
|
|
105
|
+
import Providers from '../common/Providers';
|
|
106
106
|
|
|
107
107
|
const GRID_VIEW_MAX_COLUMNS = 7;
|
|
108
108
|
const GRID_VIEW_MIN_COLUMNS = 1;
|
|
@@ -127,6 +127,7 @@ export interface ContentExplorerProps {
|
|
|
127
127
|
defaultView?: DefaultView;
|
|
128
128
|
features?: FeatureConfig;
|
|
129
129
|
fieldsToShow?: FieldsToShow;
|
|
130
|
+
hasProviders?: boolean;
|
|
130
131
|
initialPage?: number;
|
|
131
132
|
initialPageSize?: number;
|
|
132
133
|
isLarge?: boolean;
|
|
@@ -140,7 +141,10 @@ export interface ContentExplorerProps {
|
|
|
140
141
|
measureRef?: (ref: Element | null) => void;
|
|
141
142
|
messages?: StringMap;
|
|
142
143
|
metadataQuery?: MetadataQuery;
|
|
143
|
-
metadataViewProps?: Omit<
|
|
144
|
+
metadataViewProps?: Omit<
|
|
145
|
+
MetadataViewContainerProps,
|
|
146
|
+
'hasError' | 'currentCollection' | 'metadataTemplate' | 'onMetadataFilter'
|
|
147
|
+
>;
|
|
144
148
|
onCreate?: (item: BoxItem) => void;
|
|
145
149
|
onDelete?: (item: BoxItem) => void;
|
|
146
150
|
onDownload?: (item: BoxItem) => void;
|
|
@@ -183,6 +187,7 @@ type State = {
|
|
|
183
187
|
isUploadModalOpen: boolean;
|
|
184
188
|
markers: Array<string | null | undefined>;
|
|
185
189
|
metadataTemplate: MetadataTemplate;
|
|
190
|
+
metadataFilters: ExternalFilterValues;
|
|
186
191
|
rootName: string;
|
|
187
192
|
searchQuery: string;
|
|
188
193
|
selected?: BoxItem;
|
|
@@ -213,7 +218,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
213
218
|
|
|
214
219
|
store: LocalStore = new LocalStore();
|
|
215
220
|
|
|
216
|
-
metadataQueryAPIHelper: MetadataQueryAPIHelper;
|
|
221
|
+
metadataQueryAPIHelper: MetadataQueryAPIHelper | MetadataQueryAPIHelperV2;
|
|
217
222
|
|
|
218
223
|
static defaultProps = {
|
|
219
224
|
rootFolderId: DEFAULT_ROOT,
|
|
@@ -308,6 +313,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
308
313
|
isShareModalOpen: false,
|
|
309
314
|
isUploadModalOpen: false,
|
|
310
315
|
markers: [],
|
|
316
|
+
metadataFilters: {},
|
|
311
317
|
metadataTemplate: {},
|
|
312
318
|
rootName: '',
|
|
313
319
|
selectedItemIds: new Set(),
|
|
@@ -391,6 +397,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
391
397
|
*
|
|
392
398
|
* @private
|
|
393
399
|
* @param {Object} metadataQueryCollection - Metadata query response collection
|
|
400
|
+
* @param {Object} metadataTemplate - Metadata template object
|
|
394
401
|
* @return {void}
|
|
395
402
|
*/
|
|
396
403
|
showMetadataQueryResultsSuccessCallback = (
|
|
@@ -442,7 +449,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
442
449
|
*/
|
|
443
450
|
showMetadataQueryResults() {
|
|
444
451
|
const { features, metadataQuery = {} }: ContentExplorerProps = this.props;
|
|
445
|
-
const { currentPageNumber, markers, sortBy, sortDirection }: State = this.state;
|
|
452
|
+
const { currentPageNumber, markers, metadataFilters, sortBy, sortDirection }: State = this.state;
|
|
446
453
|
const metadataQueryClone = cloneDeep(metadataQuery);
|
|
447
454
|
|
|
448
455
|
if (currentPageNumber === 0) {
|
|
@@ -477,6 +484,12 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
477
484
|
];
|
|
478
485
|
|
|
479
486
|
this.metadataQueryAPIHelper = new MetadataQueryAPIHelperV2(this.api);
|
|
487
|
+
this.metadataQueryAPIHelper.fetchMetadataQueryResults(
|
|
488
|
+
metadataQueryClone,
|
|
489
|
+
this.showMetadataQueryResultsSuccessCallback,
|
|
490
|
+
this.errorCallback,
|
|
491
|
+
metadataFilters,
|
|
492
|
+
);
|
|
480
493
|
} else {
|
|
481
494
|
metadataQueryClone.order_by = [
|
|
482
495
|
{
|
|
@@ -485,13 +498,12 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
485
498
|
},
|
|
486
499
|
];
|
|
487
500
|
this.metadataQueryAPIHelper = new MetadataQueryAPIHelper(this.api);
|
|
501
|
+
this.metadataQueryAPIHelper.fetchMetadataQueryResults(
|
|
502
|
+
metadataQueryClone,
|
|
503
|
+
this.showMetadataQueryResultsSuccessCallback,
|
|
504
|
+
this.errorCallback,
|
|
505
|
+
);
|
|
488
506
|
}
|
|
489
|
-
|
|
490
|
-
this.metadataQueryAPIHelper.fetchMetadataQueryResults(
|
|
491
|
-
metadataQueryClone,
|
|
492
|
-
this.showMetadataQueryResultsSuccessCallback,
|
|
493
|
-
this.errorCallback,
|
|
494
|
-
);
|
|
495
507
|
}
|
|
496
508
|
|
|
497
509
|
/**
|
|
@@ -1725,6 +1737,10 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
1725
1737
|
this.setState({ isMetadataSidePanelOpen: false });
|
|
1726
1738
|
};
|
|
1727
1739
|
|
|
1740
|
+
filterMetadata = (fields: ExternalFilterValues) => {
|
|
1741
|
+
this.setState({ metadataFilters: fields }, this.refreshCollection);
|
|
1742
|
+
};
|
|
1743
|
+
|
|
1728
1744
|
/**
|
|
1729
1745
|
* Renders the file picker
|
|
1730
1746
|
*
|
|
@@ -1750,6 +1766,7 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
1750
1766
|
contentUploaderProps,
|
|
1751
1767
|
defaultView,
|
|
1752
1768
|
features,
|
|
1769
|
+
hasProviders,
|
|
1753
1770
|
isMedium,
|
|
1754
1771
|
isSmall,
|
|
1755
1772
|
isTouch,
|
|
@@ -1819,193 +1836,191 @@ class ContentExplorer extends Component<ContentExplorerProps, State> {
|
|
|
1819
1836
|
/* eslint-disable jsx-a11y/no-noninteractive-tabindex */
|
|
1820
1837
|
return (
|
|
1821
1838
|
<Internationalize language={language} messages={messages}>
|
|
1822
|
-
<
|
|
1823
|
-
<
|
|
1824
|
-
|
|
1825
|
-
<div
|
|
1826
|
-
<
|
|
1827
|
-
|
|
1828
|
-
|
|
1829
|
-
{!isDefaultViewMetadata && (
|
|
1830
|
-
<Header view={view} logoUrl={logoUrl} onSearch={this.search} />
|
|
1831
|
-
)}
|
|
1832
|
-
|
|
1833
|
-
<SubHeader
|
|
1834
|
-
bulkItemActions={bulkItemActions}
|
|
1835
|
-
view={view}
|
|
1836
|
-
viewMode={viewMode}
|
|
1837
|
-
rootId={rootFolderId}
|
|
1838
|
-
isSmall={isSmall}
|
|
1839
|
-
rootName={rootName}
|
|
1840
|
-
currentCollection={currentCollection}
|
|
1841
|
-
canUpload={allowUpload}
|
|
1842
|
-
canCreateNewFolder={allowCreate}
|
|
1843
|
-
gridColumnCount={gridColumnCount}
|
|
1844
|
-
gridMaxColumns={GRID_VIEW_MAX_COLUMNS}
|
|
1845
|
-
gridMinColumns={GRID_VIEW_MIN_COLUMNS}
|
|
1846
|
-
maxGridColumnCountForWidth={maxGridColumnCount}
|
|
1847
|
-
onUpload={this.upload}
|
|
1848
|
-
onClearSelectedItemIds={this.clearSelectedItemIds}
|
|
1849
|
-
onCreate={this.createFolder}
|
|
1850
|
-
onGridViewSliderChange={this.onGridViewSliderChange}
|
|
1851
|
-
onItemClick={this.fetchFolder}
|
|
1852
|
-
onSortChange={this.sort}
|
|
1853
|
-
onMetadataSidePanelToggle={this.onMetadataSidePanelToggle}
|
|
1854
|
-
onViewModeChange={this.changeViewMode}
|
|
1855
|
-
portalElement={this.rootElement}
|
|
1856
|
-
selectedItemIds={selectedItemIds}
|
|
1857
|
-
title={title}
|
|
1858
|
-
/>
|
|
1859
|
-
|
|
1860
|
-
<Content
|
|
1861
|
-
canDelete={canDelete}
|
|
1862
|
-
canDownload={canDownload}
|
|
1863
|
-
canPreview={canPreview}
|
|
1864
|
-
canRename={canRename}
|
|
1865
|
-
canShare={canShare}
|
|
1866
|
-
currentCollection={currentCollection}
|
|
1867
|
-
features={features}
|
|
1868
|
-
gridColumnCount={Math.min(gridColumnCount, maxGridColumnCount)}
|
|
1869
|
-
isMedium={isMedium}
|
|
1870
|
-
isSmall={isSmall}
|
|
1871
|
-
isTouch={isTouch}
|
|
1872
|
-
itemActions={itemActions}
|
|
1873
|
-
fieldsToShow={fieldsToShow}
|
|
1874
|
-
metadataTemplate={metadataTemplate}
|
|
1875
|
-
metadataViewProps={metadataViewProps}
|
|
1876
|
-
onItemClick={this.onItemClick}
|
|
1877
|
-
onItemDelete={this.delete}
|
|
1878
|
-
onItemDownload={this.download}
|
|
1879
|
-
onItemPreview={this.preview}
|
|
1880
|
-
onItemRename={this.rename}
|
|
1881
|
-
onItemSelect={this.select}
|
|
1882
|
-
onItemShare={this.share}
|
|
1883
|
-
onMetadataUpdate={this.updateMetadata}
|
|
1884
|
-
onSortChange={this.sort}
|
|
1885
|
-
portalElement={this.rootElement}
|
|
1886
|
-
view={view}
|
|
1887
|
-
viewMode={viewMode}
|
|
1888
|
-
/>
|
|
1889
|
-
|
|
1890
|
-
{!isErrorView && (
|
|
1891
|
-
<Footer>
|
|
1892
|
-
<Pagination
|
|
1893
|
-
hasNextMarker={hasNextMarker}
|
|
1894
|
-
hasPrevMarker={hasPreviousMarker}
|
|
1895
|
-
isSmall={isSmall}
|
|
1896
|
-
offset={offset}
|
|
1897
|
-
onOffsetChange={this.paginate}
|
|
1898
|
-
pageSize={currentPageSize}
|
|
1899
|
-
totalCount={totalCount}
|
|
1900
|
-
onMarkerBasedPageChange={this.markerBasedPaginate}
|
|
1901
|
-
/>
|
|
1902
|
-
</Footer>
|
|
1903
|
-
)}
|
|
1904
|
-
</div>
|
|
1905
|
-
{isDefaultViewMetadata && isMetadataViewV2Feature && isMetadataSidePanelOpen && (
|
|
1906
|
-
<MetadataSidePanel
|
|
1907
|
-
currentCollection={currentCollection}
|
|
1908
|
-
metadataTemplate={metadataTemplate}
|
|
1909
|
-
onClose={this.closeMetadataSidePanel}
|
|
1910
|
-
onUpdate={this.updateMetadataV2}
|
|
1911
|
-
refreshCollection={this.refreshCollection}
|
|
1912
|
-
selectedItemIds={selectedItemIds}
|
|
1913
|
-
/>
|
|
1839
|
+
<Providers hasProviders={hasProviders}>
|
|
1840
|
+
<div id={this.id} className={styleClassName} ref={measureRef} data-testid="content-explorer">
|
|
1841
|
+
<ThemingStyles selector={`#${this.id}`} theme={theme} />
|
|
1842
|
+
<div className="be-app-element" onKeyDown={this.onKeyDown} tabIndex={0}>
|
|
1843
|
+
<div className="bce-ContentExplorer-main">
|
|
1844
|
+
{!isDefaultViewMetadata && (
|
|
1845
|
+
<Header view={view} logoUrl={logoUrl} onSearch={this.search} />
|
|
1914
1846
|
)}
|
|
1915
|
-
|
|
1916
|
-
|
|
1917
|
-
|
|
1918
|
-
|
|
1919
|
-
|
|
1920
|
-
|
|
1921
|
-
|
|
1922
|
-
|
|
1923
|
-
|
|
1924
|
-
|
|
1925
|
-
|
|
1926
|
-
|
|
1927
|
-
|
|
1928
|
-
|
|
1929
|
-
|
|
1930
|
-
|
|
1931
|
-
|
|
1932
|
-
|
|
1933
|
-
|
|
1934
|
-
|
|
1935
|
-
|
|
1936
|
-
|
|
1937
|
-
|
|
1938
|
-
|
|
1939
|
-
|
|
1940
|
-
|
|
1941
|
-
parentElement={this.rootElement}
|
|
1942
|
-
appElement={this.appElement}
|
|
1943
|
-
/>
|
|
1944
|
-
) : null}
|
|
1945
|
-
{canDelete && selected && !!this.appElement ? (
|
|
1946
|
-
<DeleteConfirmationDialog
|
|
1947
|
-
isOpen={isDeleteModalOpen}
|
|
1948
|
-
onDelete={this.deleteCallback}
|
|
1949
|
-
onCancel={this.closeModals}
|
|
1950
|
-
item={selected}
|
|
1951
|
-
isLoading={isLoading}
|
|
1952
|
-
parentElement={this.rootElement}
|
|
1953
|
-
appElement={this.appElement}
|
|
1954
|
-
/>
|
|
1955
|
-
) : null}
|
|
1956
|
-
{canRename && selected && !!this.appElement ? (
|
|
1957
|
-
<RenameDialog
|
|
1958
|
-
isOpen={isRenameModalOpen}
|
|
1959
|
-
onRename={this.renameCallback}
|
|
1960
|
-
onCancel={this.closeModals}
|
|
1961
|
-
item={selected}
|
|
1962
|
-
isLoading={isLoading}
|
|
1963
|
-
errorCode={errorCode}
|
|
1964
|
-
parentElement={this.rootElement}
|
|
1965
|
-
appElement={this.appElement}
|
|
1966
|
-
/>
|
|
1967
|
-
) : null}
|
|
1968
|
-
{canShare && selected && !!this.appElement ? (
|
|
1969
|
-
<ShareDialog
|
|
1970
|
-
isOpen={isShareModalOpen}
|
|
1971
|
-
canSetShareAccess={canSetShareAccess}
|
|
1972
|
-
onShareAccessChange={this.changeShareAccess}
|
|
1973
|
-
onCancel={this.refreshCollection}
|
|
1974
|
-
item={selected}
|
|
1975
|
-
isLoading={isLoading}
|
|
1976
|
-
parentElement={this.rootElement}
|
|
1977
|
-
appElement={this.appElement}
|
|
1847
|
+
|
|
1848
|
+
<SubHeader
|
|
1849
|
+
bulkItemActions={bulkItemActions}
|
|
1850
|
+
view={view}
|
|
1851
|
+
viewMode={viewMode}
|
|
1852
|
+
rootId={rootFolderId}
|
|
1853
|
+
isSmall={isSmall}
|
|
1854
|
+
rootName={rootName}
|
|
1855
|
+
currentCollection={currentCollection}
|
|
1856
|
+
canUpload={allowUpload}
|
|
1857
|
+
canCreateNewFolder={allowCreate}
|
|
1858
|
+
gridColumnCount={gridColumnCount}
|
|
1859
|
+
gridMaxColumns={GRID_VIEW_MAX_COLUMNS}
|
|
1860
|
+
gridMinColumns={GRID_VIEW_MIN_COLUMNS}
|
|
1861
|
+
maxGridColumnCountForWidth={maxGridColumnCount}
|
|
1862
|
+
onUpload={this.upload}
|
|
1863
|
+
onClearSelectedItemIds={this.clearSelectedItemIds}
|
|
1864
|
+
onCreate={this.createFolder}
|
|
1865
|
+
onGridViewSliderChange={this.onGridViewSliderChange}
|
|
1866
|
+
onItemClick={this.fetchFolder}
|
|
1867
|
+
onSortChange={this.sort}
|
|
1868
|
+
onMetadataSidePanelToggle={this.onMetadataSidePanelToggle}
|
|
1869
|
+
onViewModeChange={this.changeViewMode}
|
|
1870
|
+
portalElement={this.rootElement}
|
|
1871
|
+
selectedItemIds={selectedItemIds}
|
|
1872
|
+
title={title}
|
|
1978
1873
|
/>
|
|
1979
|
-
|
|
1980
|
-
|
|
1981
|
-
|
|
1982
|
-
isOpen={isPreviewModalOpen}
|
|
1983
|
-
isTouch={isTouch}
|
|
1984
|
-
onCancel={this.closeModals}
|
|
1985
|
-
item={selected}
|
|
1986
|
-
currentCollection={cloneDeep(currentCollection)}
|
|
1987
|
-
token={token}
|
|
1988
|
-
parentElement={this.rootElement}
|
|
1989
|
-
appElement={this.appElement}
|
|
1990
|
-
onPreview={onPreview}
|
|
1991
|
-
onDownload={onDownload}
|
|
1874
|
+
|
|
1875
|
+
<Content
|
|
1876
|
+
canDelete={canDelete}
|
|
1992
1877
|
canDownload={canDownload}
|
|
1993
|
-
|
|
1994
|
-
|
|
1995
|
-
|
|
1996
|
-
|
|
1997
|
-
|
|
1998
|
-
|
|
1999
|
-
|
|
2000
|
-
|
|
2001
|
-
|
|
2002
|
-
|
|
2003
|
-
|
|
1878
|
+
canPreview={canPreview}
|
|
1879
|
+
canRename={canRename}
|
|
1880
|
+
canShare={canShare}
|
|
1881
|
+
currentCollection={currentCollection}
|
|
1882
|
+
features={features}
|
|
1883
|
+
gridColumnCount={Math.min(gridColumnCount, maxGridColumnCount)}
|
|
1884
|
+
isMedium={isMedium}
|
|
1885
|
+
isSmall={isSmall}
|
|
1886
|
+
isTouch={isTouch}
|
|
1887
|
+
itemActions={itemActions}
|
|
1888
|
+
fieldsToShow={fieldsToShow}
|
|
1889
|
+
metadataTemplate={metadataTemplate}
|
|
1890
|
+
metadataViewProps={metadataViewProps}
|
|
1891
|
+
onItemClick={this.onItemClick}
|
|
1892
|
+
onItemDelete={this.delete}
|
|
1893
|
+
onItemDownload={this.download}
|
|
1894
|
+
onItemPreview={this.preview}
|
|
1895
|
+
onItemRename={this.rename}
|
|
1896
|
+
onItemSelect={this.select}
|
|
1897
|
+
onItemShare={this.share}
|
|
1898
|
+
onMetadataFilter={this.filterMetadata}
|
|
1899
|
+
onMetadataUpdate={this.updateMetadata}
|
|
1900
|
+
onSortChange={this.sort}
|
|
1901
|
+
portalElement={this.rootElement}
|
|
1902
|
+
view={view}
|
|
1903
|
+
viewMode={viewMode}
|
|
1904
|
+
/>
|
|
1905
|
+
|
|
1906
|
+
{!isErrorView && (
|
|
1907
|
+
<Footer>
|
|
1908
|
+
<Pagination
|
|
1909
|
+
hasNextMarker={hasNextMarker}
|
|
1910
|
+
hasPrevMarker={hasPreviousMarker}
|
|
1911
|
+
isSmall={isSmall}
|
|
1912
|
+
offset={offset}
|
|
1913
|
+
onOffsetChange={this.paginate}
|
|
1914
|
+
pageSize={currentPageSize}
|
|
1915
|
+
totalCount={totalCount}
|
|
1916
|
+
onMarkerBasedPageChange={this.markerBasedPaginate}
|
|
1917
|
+
/>
|
|
1918
|
+
</Footer>
|
|
1919
|
+
)}
|
|
1920
|
+
</div>
|
|
1921
|
+
{isDefaultViewMetadata && isMetadataViewV2Feature && isMetadataSidePanelOpen && (
|
|
1922
|
+
<MetadataSidePanel
|
|
1923
|
+
currentCollection={currentCollection}
|
|
1924
|
+
metadataTemplate={metadataTemplate}
|
|
1925
|
+
onClose={this.closeMetadataSidePanel}
|
|
1926
|
+
onUpdate={this.updateMetadataV2}
|
|
1927
|
+
refreshCollection={this.refreshCollection}
|
|
1928
|
+
selectedItemIds={selectedItemIds}
|
|
2004
1929
|
/>
|
|
2005
|
-
)
|
|
1930
|
+
)}
|
|
2006
1931
|
</div>
|
|
2007
|
-
|
|
2008
|
-
|
|
1932
|
+
{allowUpload && !!this.appElement ? (
|
|
1933
|
+
<UploadDialog
|
|
1934
|
+
isOpen={isUploadModalOpen}
|
|
1935
|
+
currentFolderId={id}
|
|
1936
|
+
token={token}
|
|
1937
|
+
sharedLink={sharedLink}
|
|
1938
|
+
sharedLinkPassword={sharedLinkPassword}
|
|
1939
|
+
apiHost={apiHost}
|
|
1940
|
+
uploadHost={uploadHost}
|
|
1941
|
+
onClose={this.uploadSuccessHandler}
|
|
1942
|
+
parentElement={this.rootElement}
|
|
1943
|
+
appElement={this.appElement}
|
|
1944
|
+
onUpload={onUpload}
|
|
1945
|
+
contentUploaderProps={contentUploaderProps}
|
|
1946
|
+
requestInterceptor={requestInterceptor}
|
|
1947
|
+
responseInterceptor={responseInterceptor}
|
|
1948
|
+
/>
|
|
1949
|
+
) : null}
|
|
1950
|
+
{allowCreate && !!this.appElement ? (
|
|
1951
|
+
<CreateFolderDialog
|
|
1952
|
+
isOpen={isCreateFolderModalOpen}
|
|
1953
|
+
onCreate={this.throttledCreateFolderCallback}
|
|
1954
|
+
onCancel={this.closeModals}
|
|
1955
|
+
isLoading={isLoading}
|
|
1956
|
+
errorCode={errorCode}
|
|
1957
|
+
parentElement={this.rootElement}
|
|
1958
|
+
appElement={this.appElement}
|
|
1959
|
+
/>
|
|
1960
|
+
) : null}
|
|
1961
|
+
{canDelete && selected && !!this.appElement ? (
|
|
1962
|
+
<DeleteConfirmationDialog
|
|
1963
|
+
isOpen={isDeleteModalOpen}
|
|
1964
|
+
onDelete={this.deleteCallback}
|
|
1965
|
+
onCancel={this.closeModals}
|
|
1966
|
+
item={selected}
|
|
1967
|
+
isLoading={isLoading}
|
|
1968
|
+
parentElement={this.rootElement}
|
|
1969
|
+
appElement={this.appElement}
|
|
1970
|
+
/>
|
|
1971
|
+
) : null}
|
|
1972
|
+
{canRename && selected && !!this.appElement ? (
|
|
1973
|
+
<RenameDialog
|
|
1974
|
+
isOpen={isRenameModalOpen}
|
|
1975
|
+
onRename={this.renameCallback}
|
|
1976
|
+
onCancel={this.closeModals}
|
|
1977
|
+
item={selected}
|
|
1978
|
+
isLoading={isLoading}
|
|
1979
|
+
errorCode={errorCode}
|
|
1980
|
+
parentElement={this.rootElement}
|
|
1981
|
+
appElement={this.appElement}
|
|
1982
|
+
/>
|
|
1983
|
+
) : null}
|
|
1984
|
+
{canShare && selected && !!this.appElement ? (
|
|
1985
|
+
<ShareDialog
|
|
1986
|
+
isOpen={isShareModalOpen}
|
|
1987
|
+
canSetShareAccess={canSetShareAccess}
|
|
1988
|
+
onShareAccessChange={this.changeShareAccess}
|
|
1989
|
+
onCancel={this.refreshCollection}
|
|
1990
|
+
item={selected}
|
|
1991
|
+
isLoading={isLoading}
|
|
1992
|
+
parentElement={this.rootElement}
|
|
1993
|
+
appElement={this.appElement}
|
|
1994
|
+
/>
|
|
1995
|
+
) : null}
|
|
1996
|
+
{canPreview && selected && !!this.appElement ? (
|
|
1997
|
+
<PreviewDialog
|
|
1998
|
+
isOpen={isPreviewModalOpen}
|
|
1999
|
+
isTouch={isTouch}
|
|
2000
|
+
onCancel={this.closeModals}
|
|
2001
|
+
item={selected}
|
|
2002
|
+
currentCollection={cloneDeep(currentCollection)}
|
|
2003
|
+
token={token}
|
|
2004
|
+
parentElement={this.rootElement}
|
|
2005
|
+
appElement={this.appElement}
|
|
2006
|
+
onPreview={onPreview}
|
|
2007
|
+
onDownload={onDownload}
|
|
2008
|
+
canDownload={canDownload}
|
|
2009
|
+
cache={this.api.getCache()}
|
|
2010
|
+
apiHost={apiHost}
|
|
2011
|
+
appHost={appHost}
|
|
2012
|
+
staticHost={staticHost}
|
|
2013
|
+
staticPath={staticPath}
|
|
2014
|
+
previewLibraryVersion={previewLibraryVersion}
|
|
2015
|
+
sharedLink={sharedLink}
|
|
2016
|
+
sharedLinkPassword={sharedLinkPassword}
|
|
2017
|
+
contentPreviewProps={contentPreviewProps}
|
|
2018
|
+
requestInterceptor={requestInterceptor}
|
|
2019
|
+
responseInterceptor={responseInterceptor}
|
|
2020
|
+
/>
|
|
2021
|
+
) : null}
|
|
2022
|
+
</div>
|
|
2023
|
+
</Providers>
|
|
2009
2024
|
</Internationalize>
|
|
2010
2025
|
);
|
|
2011
2026
|
/* eslint-enable jsx-a11y/no-static-element-interactions */
|