import React, { Fragment } from 'react';
import PropTypes from 'prop-types';
import MediaQuery from 'react-responsive';
import { gettext, storages } from '../../utils/constants';
import MylibRepoListItem from './mylib-repo-list-item';
import LibsMobileThead from '../../components/libs-mobile-thead';
const propTypes = {
sortBy: PropTypes.string.isRequired,
sortOrder: PropTypes.string.isRequired,
repoList: PropTypes.array.isRequired,
sortRepoList: PropTypes.func.isRequired,
onRenameRepo: PropTypes.func.isRequired,
onDeleteRepo: PropTypes.func.isRequired,
onTransferRepo: PropTypes.func.isRequired,
onMonitorRepo: PropTypes.func.isRequired,
inAllLibs: PropTypes.bool, // for 'My Libraries' in 'Files' page
currentViewMode: PropTypes.string,
};
class MylibRepoListView extends React.Component {
constructor(props) {
super(props);
this.state = {
isItemFreezed: false,
};
}
onFreezedItem = () => {
this.setState({isItemFreezed: true});
};
onUnfreezedItem = () => {
this.setState({isItemFreezed: false});
};
sortByName = (e) => {
e.preventDefault();
const sortBy = 'name';
const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';
this.props.sortRepoList(sortBy, sortOrder);
};
sortByTime = (e) => {
e.preventDefault();
const sortBy = 'time';
const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';
this.props.sortRepoList(sortBy, sortOrder);
};
sortBySize = (e) => {
e.preventDefault();
const sortBy = 'size';
const sortOrder = this.props.sortOrder == 'asc' ? 'desc' : 'asc';
this.props.sortRepoList(sortBy, sortOrder);
};
renderRepoListView = () => {
return (
{gettext('Library Type')} | {gettext('Name')} {this.props.sortBy === 'name' && sortIcon} | {gettext('Actions')} | {gettext('Size')} {this.props.sortBy === 'size' && sortIcon} | {showStorageBackend ?{gettext('Storage Backend')} | : null}{gettext('Last Update')} {this.props.sortBy === 'time' && sortIcon} |
---|