box-ui-elements 23.5.0-beta.3 → 24.0.0-beta.1

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.
Files changed (66) hide show
  1. package/dist/explorer.css +1 -1
  2. package/dist/explorer.js +1 -1
  3. package/dist/picker.js +1 -1
  4. package/dist/preview.css +1 -1
  5. package/dist/preview.js +1 -1
  6. package/dist/sidebar.css +1 -1
  7. package/dist/sidebar.js +1 -1
  8. package/es/constants.js +13 -0
  9. package/es/constants.js.flow +13 -0
  10. package/es/constants.js.map +1 -1
  11. package/es/elements/common/content-answers/ContentAnswersModal.js +1 -3
  12. package/es/elements/common/content-answers/ContentAnswersModal.js.map +1 -1
  13. package/es/elements/common/sub-header/SubHeader.js +3 -0
  14. package/es/elements/common/sub-header/SubHeader.js.map +1 -1
  15. package/es/elements/common/sub-header/SubHeaderLeftV2.js +3 -23
  16. package/es/elements/common/sub-header/SubHeaderLeftV2.js.map +1 -1
  17. package/es/elements/common/sub-header/SubHeaderRight.js +6 -2
  18. package/es/elements/common/sub-header/SubHeaderRight.js.map +1 -1
  19. package/es/elements/content-explorer/ContentExplorer.js +55 -10
  20. package/es/elements/content-explorer/ContentExplorer.js.map +1 -1
  21. package/es/elements/content-explorer/ContentExplorer.scss +12 -0
  22. package/es/elements/content-explorer/MetadataSidePanel.js +92 -0
  23. package/es/elements/content-explorer/MetadataSidePanel.js.map +1 -0
  24. package/es/elements/content-explorer/MetadataSidePanel.scss +12 -0
  25. package/es/elements/content-explorer/stories/tests/MetadataView-visual.stories.js +54 -3
  26. package/es/elements/content-explorer/stories/tests/MetadataView-visual.stories.js.map +1 -1
  27. package/es/elements/content-explorer/utils.js +67 -0
  28. package/es/elements/content-explorer/utils.js.map +1 -0
  29. package/es/elements/content-sidebar/BoxAISidebar.js.map +1 -1
  30. package/es/elements/content-sidebar/BoxAISidebarContent.js +2 -4
  31. package/es/elements/content-sidebar/BoxAISidebarContent.js.map +1 -1
  32. package/es/elements/content-sidebar/stories/BoxAISidebar.stories.js +0 -1
  33. package/es/elements/content-sidebar/stories/BoxAISidebar.stories.js.map +1 -1
  34. package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js +0 -1
  35. package/es/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.js.map +1 -1
  36. package/es/src/elements/common/content-answers/ContentAnswersModal.d.ts +0 -1
  37. package/es/src/elements/common/sub-header/SubHeader.d.ts +2 -1
  38. package/es/src/elements/common/sub-header/SubHeaderLeftV2.d.ts +1 -1
  39. package/es/src/elements/common/sub-header/SubHeaderRight.d.ts +4 -1
  40. package/es/src/elements/content-explorer/ContentExplorer.d.ts +15 -0
  41. package/es/src/elements/content-explorer/MetadataSidePanel.d.ts +13 -0
  42. package/es/src/elements/content-explorer/__tests__/MetadataSidePanel.test.d.ts +1 -0
  43. package/es/src/elements/content-explorer/stories/tests/MetadataView-visual.stories.d.ts +2 -0
  44. package/es/src/elements/content-explorer/utils.d.ts +22 -0
  45. package/es/src/elements/content-sidebar/BoxAISidebar.d.ts +0 -1
  46. package/es/src/elements/content-sidebar/stories/BoxAISidebar.stories.d.ts +0 -1
  47. package/package.json +2 -2
  48. package/src/constants.js +13 -0
  49. package/src/elements/common/content-answers/ContentAnswersModal.tsx +0 -3
  50. package/src/elements/common/content-answers/__tests__/ContentAnswersModal.test.tsx +7 -2
  51. package/src/elements/common/sub-header/SubHeader.tsx +4 -0
  52. package/src/elements/common/sub-header/SubHeaderLeftV2.tsx +3 -22
  53. package/src/elements/common/sub-header/SubHeaderRight.tsx +8 -2
  54. package/src/elements/content-explorer/ContentExplorer.scss +12 -0
  55. package/src/elements/content-explorer/ContentExplorer.tsx +135 -77
  56. package/src/elements/content-explorer/MetadataSidePanel.scss +12 -0
  57. package/src/elements/content-explorer/MetadataSidePanel.tsx +126 -0
  58. package/src/elements/content-explorer/__tests__/ContentExplorer.test.tsx +80 -16
  59. package/src/elements/content-explorer/__tests__/MetadataSidePanel.test.tsx +127 -0
  60. package/src/elements/content-explorer/stories/tests/MetadataView-visual.stories.tsx +43 -3
  61. package/src/elements/content-explorer/utils.ts +58 -0
  62. package/src/elements/content-sidebar/BoxAISidebar.tsx +0 -1
  63. package/src/elements/content-sidebar/BoxAISidebarContent.tsx +1 -3
  64. package/src/elements/content-sidebar/__tests__/BoxAISidebar.test.tsx +0 -8
  65. package/src/elements/content-sidebar/stories/BoxAISidebar.stories.tsx +0 -1
  66. package/src/elements/content-sidebar/stories/tests/BoxAISidebar-visual.stories.tsx +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"SubHeaderRight.js","names":["React","Button","Pencil","useIntl","Sort","Add","GridViewSlider","ViewModeChangeButton","VIEW_FOLDER","VIEW_MODE_GRID","VIEW_METADATA","useFeatureEnabled","messages","SubHeaderRight","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onCreate","onGridViewSliderChange","onSortChange","onUpload","onViewModeChange","portalElement","view","viewMode","formatMessage","isMetadataViewV2Feature","items","hasGridView","hasItems","length","isFolder","showSort","showAdd","isMetadataView","createElement","className","Fragment","columnCount","maxColumnCount","onChange","isDisabled","showCreate","showUpload","icon","size","variant","metadata"],"sources":["../../../../src/elements/common/sub-header/SubHeaderRight.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '@box/blueprint-web';\nimport { Pencil } from '@box/blueprint-web-assets/icons/Fill';\nimport { useIntl } from 'react-intl';\nimport Sort from './Sort';\nimport Add from './Add';\nimport GridViewSlider from '../../../components/grid-view/GridViewSlider';\nimport ViewModeChangeButton from './ViewModeChangeButton';\nimport { VIEW_FOLDER, VIEW_MODE_GRID, VIEW_METADATA } from '../../../constants';\nimport { useFeatureEnabled } from '../feature-checking';\n\nimport type { ViewMode } from '../flowTypes';\nimport type { SortBy, SortDirection, View, Collection } from '../../../common/types/core';\n\nimport messages from './messages';\n\nimport './SubHeaderRight.scss';\n\nexport interface SubHeaderRightProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount: number;\n gridMaxColumns: number;\n gridMinColumns: number;\n maxGridColumnCountForWidth: number;\n onCreate: () => void;\n onGridViewSliderChange: (newSliderValue: number) => void;\n onSortChange: (sortBy: SortBy, sortDirection: SortDirection) => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n view: View;\n viewMode: ViewMode;\n}\n\nconst SubHeaderRight = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount,\n gridMaxColumns,\n gridMinColumns,\n maxGridColumnCountForWidth,\n onCreate,\n onGridViewSliderChange,\n onSortChange,\n onUpload,\n onViewModeChange,\n portalElement,\n view,\n viewMode,\n}: SubHeaderRightProps) => {\n const { formatMessage } = useIntl();\n const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');\n const { items = [] }: Collection = currentCollection;\n const hasGridView: boolean = !!gridColumnCount;\n const hasItems: boolean = items.length > 0;\n const isFolder: boolean = view === VIEW_FOLDER;\n const showSort: boolean = isFolder && hasItems;\n const showAdd: boolean = (!!canUpload || !!canCreateNewFolder) && isFolder;\n const isMetadataView: boolean = view === VIEW_METADATA;\n return (\n <div className=\"be-sub-header-right\">\n {!isMetadataView && (\n <>\n {hasItems && viewMode === VIEW_MODE_GRID && (\n <GridViewSlider\n columnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxColumnCount={maxGridColumnCountForWidth}\n onChange={onGridViewSliderChange}\n />\n )}\n {hasItems && hasGridView && (\n <ViewModeChangeButton viewMode={viewMode} onViewModeChange={onViewModeChange} />\n )}\n {showSort && <Sort onSortChange={onSortChange} portalElement={portalElement} />}\n {showAdd && (\n <Add\n isDisabled={!isFolder}\n onCreate={onCreate}\n onUpload={onUpload}\n portalElement={portalElement}\n showCreate={canCreateNewFolder}\n showUpload={canUpload}\n />\n )}\n </>\n )}\n\n {isMetadataView && isMetadataViewV2Feature && (\n <Button icon={Pencil} size=\"large\" variant=\"primary\">\n {formatMessage(messages.metadata)}\n </Button>\n )}\n </div>\n );\n};\n\nexport default SubHeaderRight;\n"],"mappings":"AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,SAASC,MAAM,QAAQ,oBAAoB;AAC3C,SAASC,MAAM,QAAQ,sCAAsC;AAC7D,SAASC,OAAO,QAAQ,YAAY;AACpC,OAAOC,IAAI,MAAM,QAAQ;AACzB,OAAOC,GAAG,MAAM,OAAO;AACvB,OAAOC,cAAc,MAAM,8CAA8C;AACzE,OAAOC,oBAAoB,MAAM,wBAAwB;AACzD,SAASC,WAAW,EAAEC,cAAc,EAAEC,aAAa,QAAQ,oBAAoB;AAC/E,SAASC,iBAAiB,QAAQ,qBAAqB;AAKvD,OAAOC,QAAQ,MAAM,YAAY;AAEjC,OAAO,uBAAuB;AAoB9B,MAAMC,cAAc,GAAGA,CAAC;EACpBC,kBAAkB;EAClBC,SAAS;EACTC,iBAAiB;EACjBC,eAAe;EACfC,cAAc;EACdC,cAAc;EACdC,0BAA0B;EAC1BC,QAAQ;EACRC,sBAAsB;EACtBC,YAAY;EACZC,QAAQ;EACRC,gBAAgB;EAChBC,aAAa;EACbC,IAAI;EACJC;AACiB,CAAC,KAAK;EACvB,MAAM;IAAEC;EAAc,CAAC,GAAG1B,OAAO,CAAC,CAAC;EACnC,MAAM2B,uBAAuB,GAAGnB,iBAAiB,CAAC,gCAAgC,CAAC;EACnF,MAAM;IAAEoB,KAAK,GAAG;EAAe,CAAC,GAAGf,iBAAiB;EACpD,MAAMgB,WAAoB,GAAG,CAAC,CAACf,eAAe;EAC9C,MAAMgB,QAAiB,GAAGF,KAAK,CAACG,MAAM,GAAG,CAAC;EAC1C,MAAMC,QAAiB,GAAGR,IAAI,KAAKnB,WAAW;EAC9C,MAAM4B,QAAiB,GAAGD,QAAQ,IAAIF,QAAQ;EAC9C,MAAMI,OAAgB,GAAG,CAAC,CAAC,CAACtB,SAAS,IAAI,CAAC,CAACD,kBAAkB,KAAKqB,QAAQ;EAC1E,MAAMG,cAAuB,GAAGX,IAAI,KAAKjB,aAAa;EACtD,oBACIV,KAAA,CAAAuC,aAAA;IAAKC,SAAS,EAAC;EAAqB,GAC/B,CAACF,cAAc,iBACZtC,KAAA,CAAAuC,aAAA,CAAAvC,KAAA,CAAAyC,QAAA,QACKR,QAAQ,IAAIL,QAAQ,KAAKnB,cAAc,iBACpCT,KAAA,CAAAuC,aAAA,CAACjC,cAAc;IACXoC,WAAW,EAAEzB,eAAgB;IAC7BC,cAAc,EAAEA,cAAe;IAC/BC,cAAc,EAAEA,cAAe;IAC/BwB,cAAc,EAAEvB,0BAA2B;IAC3CwB,QAAQ,EAAEtB;EAAuB,CACpC,CACJ,EACAW,QAAQ,IAAID,WAAW,iBACpBhC,KAAA,CAAAuC,aAAA,CAAChC,oBAAoB;IAACqB,QAAQ,EAAEA,QAAS;IAACH,gBAAgB,EAAEA;EAAiB,CAAE,CAClF,EACAW,QAAQ,iBAAIpC,KAAA,CAAAuC,aAAA,CAACnC,IAAI;IAACmB,YAAY,EAAEA,YAAa;IAACG,aAAa,EAAEA;EAAc,CAAE,CAAC,EAC9EW,OAAO,iBACJrC,KAAA,CAAAuC,aAAA,CAAClC,GAAG;IACAwC,UAAU,EAAE,CAACV,QAAS;IACtBd,QAAQ,EAAEA,QAAS;IACnBG,QAAQ,EAAEA,QAAS;IACnBE,aAAa,EAAEA,aAAc;IAC7BoB,UAAU,EAAEhC,kBAAmB;IAC/BiC,UAAU,EAAEhC;EAAU,CACzB,CAEP,CACL,EAEAuB,cAAc,IAAIR,uBAAuB,iBACtC9B,KAAA,CAAAuC,aAAA,CAACtC,MAAM;IAAC+C,IAAI,EAAE9C,MAAO;IAAC+C,IAAI,EAAC,OAAO;IAACC,OAAO,EAAC;EAAS,GAC/CrB,aAAa,CAACjB,QAAQ,CAACuC,QAAQ,CAC5B,CAEX,CAAC;AAEd,CAAC;AAED,eAAetC,cAAc","ignoreList":[]}
1
+ {"version":3,"file":"SubHeaderRight.js","names":["React","Button","Pencil","useIntl","Sort","Add","GridViewSlider","ViewModeChangeButton","VIEW_FOLDER","VIEW_MODE_GRID","VIEW_METADATA","useFeatureEnabled","messages","SubHeaderRight","canCreateNewFolder","canUpload","currentCollection","gridColumnCount","gridMaxColumns","gridMinColumns","maxGridColumnCountForWidth","onCreate","onGridViewSliderChange","onSortChange","onMetadataSidePanelToggle","onUpload","onViewModeChange","portalElement","selectedItemIds","view","viewMode","formatMessage","isMetadataViewV2Feature","items","hasGridView","hasItems","length","isFolder","showSort","showAdd","isMetadataView","hasSelectedItems","size","createElement","className","Fragment","columnCount","maxColumnCount","onChange","isDisabled","showCreate","showUpload","icon","variant","onClick","metadata"],"sources":["../../../../src/elements/common/sub-header/SubHeaderRight.tsx"],"sourcesContent":["import * as React from 'react';\nimport { Button } from '@box/blueprint-web';\nimport { Pencil } from '@box/blueprint-web-assets/icons/Fill';\nimport { useIntl } from 'react-intl';\nimport type { Selection } from 'react-aria-components';\nimport Sort from './Sort';\nimport Add from './Add';\nimport GridViewSlider from '../../../components/grid-view/GridViewSlider';\nimport ViewModeChangeButton from './ViewModeChangeButton';\nimport { VIEW_FOLDER, VIEW_MODE_GRID, VIEW_METADATA } from '../../../constants';\nimport { useFeatureEnabled } from '../feature-checking';\n\nimport type { ViewMode } from '../flowTypes';\nimport type { SortBy, SortDirection, View, Collection } from '../../../common/types/core';\n\nimport messages from './messages';\n\nimport './SubHeaderRight.scss';\n\nexport interface SubHeaderRightProps {\n canCreateNewFolder: boolean;\n canUpload: boolean;\n currentCollection: Collection;\n gridColumnCount: number;\n gridMaxColumns: number;\n gridMinColumns: number;\n maxGridColumnCountForWidth: number;\n onCreate: () => void;\n onGridViewSliderChange: (newSliderValue: number) => void;\n onSortChange: (sortBy: SortBy, sortDirection: SortDirection) => void;\n onMetadataSidePanelToggle?: () => void;\n onUpload: () => void;\n onViewModeChange?: (viewMode: ViewMode) => void;\n portalElement?: HTMLElement;\n selectedItemIds?: Selection;\n view: View;\n viewMode: ViewMode;\n}\n\nconst SubHeaderRight = ({\n canCreateNewFolder,\n canUpload,\n currentCollection,\n gridColumnCount,\n gridMaxColumns,\n gridMinColumns,\n maxGridColumnCountForWidth,\n onCreate,\n onGridViewSliderChange,\n onSortChange,\n onMetadataSidePanelToggle,\n onUpload,\n onViewModeChange,\n portalElement,\n selectedItemIds,\n view,\n viewMode,\n}: SubHeaderRightProps) => {\n const { formatMessage } = useIntl();\n const isMetadataViewV2Feature = useFeatureEnabled('contentExplorer.metadataViewV2');\n const { items = [] }: Collection = currentCollection;\n const hasGridView: boolean = !!gridColumnCount;\n const hasItems: boolean = items.length > 0;\n const isFolder: boolean = view === VIEW_FOLDER;\n const showSort: boolean = isFolder && hasItems;\n const showAdd: boolean = (!!canUpload || !!canCreateNewFolder) && isFolder;\n const isMetadataView: boolean = view === VIEW_METADATA;\n const hasSelectedItems: boolean = !!(selectedItemIds && (selectedItemIds === 'all' || selectedItemIds.size > 0));\n return (\n <div className=\"be-sub-header-right\">\n {!isMetadataView && (\n <>\n {hasItems && viewMode === VIEW_MODE_GRID && (\n <GridViewSlider\n columnCount={gridColumnCount}\n gridMaxColumns={gridMaxColumns}\n gridMinColumns={gridMinColumns}\n maxColumnCount={maxGridColumnCountForWidth}\n onChange={onGridViewSliderChange}\n />\n )}\n {hasItems && hasGridView && (\n <ViewModeChangeButton viewMode={viewMode} onViewModeChange={onViewModeChange} />\n )}\n {showSort && <Sort onSortChange={onSortChange} portalElement={portalElement} />}\n {showAdd && (\n <Add\n isDisabled={!isFolder}\n onCreate={onCreate}\n onUpload={onUpload}\n portalElement={portalElement}\n showCreate={canCreateNewFolder}\n showUpload={canUpload}\n />\n )}\n </>\n )}\n\n {isMetadataView && isMetadataViewV2Feature && hasSelectedItems && (\n <Button icon={Pencil} size=\"large\" variant=\"primary\" onClick={onMetadataSidePanelToggle}>\n {formatMessage(messages.metadata)}\n </Button>\n )}\n </div>\n );\n};\n\nexport default SubHeaderRight;\n"],"mappings":"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","ignoreList":[]}
@@ -27,6 +27,7 @@ import ThemingStyles from '../common/theming';
27
27
  import API from '../../api';
28
28
  import MetadataQueryAPIHelperV2 from './MetadataQueryAPIHelper';
29
29
  import MetadataQueryAPIHelper from '../../features/metadata-based-view/MetadataQueryAPIHelper';
30
+ import MetadataSidePanel from './MetadataSidePanel';
30
31
  import Footer from './Footer';
31
32
  import PreviewDialog from '../common/preview-dialog/PreviewDialog';
32
33
  import ShareDialog from './ShareDialog';
@@ -39,7 +40,7 @@ import { FILE_SHARED_LINK_FIELDS_TO_FETCH } from '../../utils/fields';
39
40
  import CONTENT_EXPLORER_FOLDER_FIELDS_TO_FETCH from './constants';
40
41
  import LocalStore from '../../utils/LocalStore';
41
42
  import { withFeatureConsumer, withFeatureProvider, isFeatureEnabled } from '../common/feature-checking';
42
- import { DEFAULT_HOSTNAME_UPLOAD, DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_APP, DEFAULT_HOSTNAME_STATIC, DEFAULT_SEARCH_DEBOUNCE, SORT_ASC, FIELD_NAME, FIELD_PERMISSIONS_CAN_SHARE, FIELD_SHARED_LINK, DEFAULT_ROOT, VIEW_SEARCH, VIEW_FOLDER, VIEW_ERROR, VIEW_RECENTS, VIEW_METADATA, VIEW_MODE_LIST, TYPE_FILE, TYPE_WEBLINK, TYPE_FOLDER, CLIENT_NAME_CONTENT_EXPLORER, DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, DEFAULT_VIEW_FILES, DEFAULT_VIEW_RECENTS, DEFAULT_VIEW_METADATA, ERROR_CODE_ITEM_NAME_INVALID, ERROR_CODE_ITEM_NAME_TOO_LONG, TYPED_ID_FOLDER_PREFIX, VIEW_MODE_GRID } from '../../constants';
43
+ import { DEFAULT_HOSTNAME_UPLOAD, DEFAULT_HOSTNAME_API, DEFAULT_HOSTNAME_APP, DEFAULT_HOSTNAME_STATIC, DEFAULT_SEARCH_DEBOUNCE, SORT_ASC, FIELD_ITEM_NAME, FIELD_NAME, FIELD_PERMISSIONS_CAN_SHARE, FIELD_SHARED_LINK, DEFAULT_ROOT, VIEW_SEARCH, VIEW_FOLDER, VIEW_ERROR, VIEW_RECENTS, VIEW_METADATA, VIEW_MODE_LIST, TYPE_FILE, TYPE_WEBLINK, TYPE_FOLDER, CLIENT_NAME_CONTENT_EXPLORER, DEFAULT_PAGE_NUMBER, DEFAULT_PAGE_SIZE, DEFAULT_VIEW_FILES, DEFAULT_VIEW_RECENTS, DEFAULT_VIEW_METADATA, ERROR_CODE_ITEM_NAME_INVALID, ERROR_CODE_ITEM_NAME_TOO_LONG, TYPED_ID_FOLDER_PREFIX, VIEW_MODE_GRID } from '../../constants';
43
44
  import '../common/fonts.scss';
44
45
  import '../common/base.scss';
45
46
  import '../common/modal.scss';
@@ -1087,9 +1088,12 @@ class ContentExplorer extends Component {
1087
1088
  selectedKeys: selectedItemIds,
1088
1089
  onSelectionChange: ids => {
1089
1090
  onSelectionChange?.(ids);
1090
- this.setState({
1091
+ const isSelectionEmpty = ids !== 'all' && ids.size === 0;
1092
+ this.setState(_objectSpread({
1091
1093
  selectedItemIds: ids
1092
- });
1094
+ }, isSelectionEmpty && {
1095
+ isMetadataSidePanelOpen: false
1096
+ }));
1093
1097
  }
1094
1098
  })
1095
1099
  });
@@ -1160,7 +1164,30 @@ class ContentExplorer extends Component {
1160
1164
  });
1161
1165
  _defineProperty(this, "clearSelectedItemIds", () => {
1162
1166
  this.setState({
1163
- selectedItemIds: new Set()
1167
+ selectedItemIds: new Set(),
1168
+ isMetadataSidePanelOpen: false
1169
+ });
1170
+ });
1171
+ /**
1172
+ * Toggle metadata side panel visibility
1173
+ *
1174
+ * @private
1175
+ * @return {void}
1176
+ */
1177
+ _defineProperty(this, "onMetadataSidePanelToggle", () => {
1178
+ this.setState(prevState => ({
1179
+ isMetadataSidePanelOpen: !prevState.isMetadataSidePanelOpen
1180
+ }));
1181
+ });
1182
+ /**
1183
+ * Close metadata side panel
1184
+ *
1185
+ * @private
1186
+ * @return {void}
1187
+ */
1188
+ _defineProperty(this, "closeMetadataSidePanel", () => {
1189
+ this.setState({
1190
+ isMetadataSidePanelOpen: false
1164
1191
  });
1165
1192
  });
1166
1193
  const {
@@ -1202,6 +1229,7 @@ class ContentExplorer extends Component {
1202
1229
  isCreateFolderModalOpen: false,
1203
1230
  isDeleteModalOpen: false,
1204
1231
  isLoading: false,
1232
+ isMetadataSidePanelOpen: false,
1205
1233
  isPreviewModalOpen: false,
1206
1234
  isRenameModalOpen: false,
1207
1235
  isShareModalOpen: false,
@@ -1320,10 +1348,7 @@ class ContentExplorer extends Component {
1320
1348
  // Set limit to the query for pagination support
1321
1349
  metadataQueryClone.limit = DEFAULT_PAGE_SIZE;
1322
1350
  }
1323
- metadataQueryClone.order_by = [{
1324
- field_key: sortBy,
1325
- direction: sortDirection
1326
- }];
1351
+
1327
1352
  // Reset search state, the view and show busy indicator
1328
1353
  this.setState({
1329
1354
  searchQuery: '',
@@ -1331,8 +1356,17 @@ class ContentExplorer extends Component {
1331
1356
  view: VIEW_METADATA
1332
1357
  });
1333
1358
  if (isFeatureEnabled(features, 'contentExplorer.metadataViewV2')) {
1359
+ metadataQueryClone.order_by = [{
1360
+ // Default to the prefixed name field for metadata view v2 only, while not touching the default sortBy for other views.
1361
+ field_key: sortBy === FIELD_NAME ? FIELD_ITEM_NAME : sortBy,
1362
+ direction: sortDirection
1363
+ }];
1334
1364
  this.metadataQueryAPIHelper = new MetadataQueryAPIHelperV2(this.api);
1335
1365
  } else {
1366
+ metadataQueryClone.order_by = [{
1367
+ field_key: sortBy,
1368
+ direction: sortDirection
1369
+ }];
1336
1370
  this.metadataQueryAPIHelper = new MetadataQueryAPIHelper(this.api);
1337
1371
  }
1338
1372
  this.metadataQueryAPIHelper.fetchMetadataQueryResults(metadataQueryClone, this.showMetadataQueryResultsSuccessCallback, this.errorCallback);
@@ -1572,6 +1606,7 @@ class ContentExplorer extends Component {
1572
1606
  isCreateFolderModalOpen,
1573
1607
  isDeleteModalOpen,
1574
1608
  isLoading,
1609
+ isMetadataSidePanelOpen,
1575
1610
  isPreviewModalOpen,
1576
1611
  isRenameModalOpen,
1577
1612
  isShareModalOpen,
@@ -1580,6 +1615,7 @@ class ContentExplorer extends Component {
1580
1615
  metadataTemplate,
1581
1616
  rootName,
1582
1617
  selected,
1618
+ selectedItemIds,
1583
1619
  view
1584
1620
  } = this.state;
1585
1621
  const {
@@ -1595,6 +1631,7 @@ class ContentExplorer extends Component {
1595
1631
  const allowUpload = canUpload && !!can_upload;
1596
1632
  const allowCreate = canCreateNewFolder && !!can_upload;
1597
1633
  const isDefaultViewMetadata = defaultView === DEFAULT_VIEW_METADATA;
1634
+ const isMetadataViewV2Feature = isFeatureEnabled(features, 'contentExplorer.metadataViewV2');
1598
1635
  const isErrorView = view === VIEW_ERROR;
1599
1636
  const viewMode = this.getViewMode();
1600
1637
  const maxGridColumnCount = this.getMaxNumberOfGridViewColumnsForWidth();
@@ -1621,6 +1658,8 @@ class ContentExplorer extends Component {
1621
1658
  className: "be-app-element",
1622
1659
  onKeyDown: this.onKeyDown,
1623
1660
  tabIndex: 0
1661
+ }, /*#__PURE__*/React.createElement("div", {
1662
+ className: "bce-ContentExplorer-main"
1624
1663
  }, !isDefaultViewMetadata && /*#__PURE__*/React.createElement(Header, {
1625
1664
  view: view,
1626
1665
  logoUrl: logoUrl,
@@ -1644,9 +1683,10 @@ class ContentExplorer extends Component {
1644
1683
  onGridViewSliderChange: this.onGridViewSliderChange,
1645
1684
  onItemClick: this.fetchFolder,
1646
1685
  onSortChange: this.sort,
1686
+ onMetadataSidePanelToggle: this.onMetadataSidePanelToggle,
1647
1687
  onViewModeChange: this.changeViewMode,
1648
1688
  portalElement: this.rootElement,
1649
- selectedItemIds: this.state.selectedItemIds,
1689
+ selectedItemIds: selectedItemIds,
1650
1690
  title: title
1651
1691
  }), /*#__PURE__*/React.createElement(Content, {
1652
1692
  canDelete: canDelete,
@@ -1685,7 +1725,12 @@ class ContentExplorer extends Component {
1685
1725
  pageSize: currentPageSize,
1686
1726
  totalCount: totalCount,
1687
1727
  onMarkerBasedPageChange: this.markerBasedPaginate
1688
- }))), allowUpload && !!this.appElement ? /*#__PURE__*/React.createElement(UploadDialog, {
1728
+ }))), isDefaultViewMetadata && isMetadataViewV2Feature && isMetadataSidePanelOpen && /*#__PURE__*/React.createElement(MetadataSidePanel, {
1729
+ currentCollection: currentCollection,
1730
+ onClose: this.closeMetadataSidePanel,
1731
+ metadataTemplate: metadataTemplate,
1732
+ selectedItemIds: selectedItemIds
1733
+ })), allowUpload && !!this.appElement ? /*#__PURE__*/React.createElement(UploadDialog, {
1689
1734
  isOpen: isUploadModalOpen,
1690
1735
  currentFolderId: id,
1691
1736
  token: token,