import React, { Fragment } from 'react'; import PropTypes from 'prop-types'; import { withTranslation } from 'react-i18next'; import { withUnstatedContainers } from '../../UnstatedUtils'; import PaginationWrapper from '../../PaginationWrapper'; import AppContainer from '../../../services/AppContainer'; import AdminGeneralSecurityContainer from '../../../services/AdminGeneralSecurityContainer'; import { toastError } from '../../../util/apiNotification'; class ShareLinkSetting extends React.Component { constructor(props) { super(); this.state = { }; this.handlePage = this.handlePage.bind(this); } componentWillMount() { this.handlePage(1); } async handlePage(page) { try { await this.props.adminGeneralSecurityContainer.retrieveShareLinksByPagingNum(page); } catch (err) { toastError(err); } } render() { const { adminGeneralSecurityContainer } = this.props; const pager = (
); const deleteAllButton = ( adminGeneralSecurityContainer.state.shareLinks.length > 0 ? ( ) : (

No share links

) ); return (
{deleteAllButton}

Shared Link List

{pager}
{adminGeneralSecurityContainer.state.shareLinks.map((sharelink) => { return ( ); })}
Link PagePath Expiration Description Order
{sharelink._id} {sharelink.relatedPage.path} {sharelink.expiredAt} {sharelink.description}
); } } const ShareLinkSettingWrapper = withUnstatedContainers(ShareLinkSetting, [AppContainer, AdminGeneralSecurityContainer]); ShareLinkSetting.propTypes = { t: PropTypes.func.isRequired, // i18next appContainer: PropTypes.instanceOf(AppContainer).isRequired, adminGeneralSecurityContainer: PropTypes.instanceOf(AdminGeneralSecurityContainer).isRequired, }; export default withTranslation()(ShareLinkSettingWrapper);