metadata-based-explorer1
Version:
Box UI Elements
64 lines (62 loc) • 2.44 kB
JavaScript
/**
*
* @file Content sub header component
* @author Box
*/
import React from 'react';
import Sort from './Sort';
import Add from './Add';
import GridViewSlider from '../../../components/grid-view/GridViewSlider';
import ViewModeChangeButton from './ViewModeChangeButton';
import { FeatureFlag } from '../feature-checking';
import { VIEW_FOLDER, VIEW_MODE_GRID } from '../../../constants';
import './SubHeaderRight.scss';
var SubHeaderRight = function SubHeaderRight(_ref) {
var canCreateNewFolder = _ref.canCreateNewFolder,
canUpload = _ref.canUpload,
currentCollection = _ref.currentCollection,
gridColumnCount = _ref.gridColumnCount,
gridMaxColumns = _ref.gridMaxColumns,
gridMinColumns = _ref.gridMinColumns,
maxGridColumnCountForWidth = _ref.maxGridColumnCountForWidth,
onGridViewSliderChange = _ref.onGridViewSliderChange,
onCreate = _ref.onCreate,
onViewModeChange = _ref.onViewModeChange,
onSortChange = _ref.onSortChange,
onUpload = _ref.onUpload,
view = _ref.view,
viewMode = _ref.viewMode;
var sortBy = currentCollection.sortBy,
sortDirection = currentCollection.sortDirection,
_currentCollection$it = currentCollection.items,
items = _currentCollection$it === void 0 ? [] : _currentCollection$it;
var hasItems = items.length > 0;
var isFolder = view === VIEW_FOLDER;
var showSort = isFolder && hasItems;
var showAdd = (!!canUpload || !!canCreateNewFolder) && isFolder;
return React.createElement("div", {
className: "be-sub-header-right"
}, React.createElement(FeatureFlag, {
feature: "contentExplorer.gridView.enabled"
}, hasItems && viewMode === VIEW_MODE_GRID && React.createElement(GridViewSlider, {
columnCount: gridColumnCount,
gridMaxColumns: gridMaxColumns,
gridMinColumns: gridMinColumns,
maxColumnCount: maxGridColumnCountForWidth,
onChange: onGridViewSliderChange
}), hasItems && React.createElement(ViewModeChangeButton, {
viewMode: viewMode,
onViewModeChange: onViewModeChange
})), showSort && !!sortBy && !!sortDirection && React.createElement(Sort, {
onSortChange: onSortChange,
sortBy: sortBy,
sortDirection: sortDirection
}), showAdd && React.createElement(Add, {
isDisabled: !isFolder,
onCreate: onCreate,
onUpload: onUpload,
showCreate: canCreateNewFolder,
showUpload: canUpload
}));
};
export default SubHeaderRight;