Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | import React from 'react' import UserList from './SeenUserList/UserList' import Crowi from 'client/util/Crowi' import { User } from 'client/types/crowi' interface Props { crowi: Crowi } interface State { seenUsers: User[] } export default class SeenUserList extends React.Component<Props, State> { constructor(props: Props) { super(props) this.state = { seenUsers: [], } } componentDidMount() { const seenUserIds = this.getSeenUserIds() if (seenUserIds.length > 0) { // FIXME: user data cache this.setState({ seenUsers: this.props.crowi.findUserByIds(seenUserIds) }) } } getSeenUserIds() { // FIXME: Consider another way to bind values. const $seenUserList = $('#seen-user-list') if ($seenUserList.length > 0) { const seenUsers = $seenUserList.data('seen-users') if (seenUsers) { return seenUsers.split(',') } } return [] } render() { const { seenUsers } = this.state return ( <div className="seen-user-list"> <p className="seen-user-count">{seenUsers.length}</p> <UserList users={seenUsers} /> </div> ) } } |