Inactive members are no longer counted or shown as members of a channel
Этот коммит содержится в:
@@ -1,6 +1,8 @@
|
|||||||
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
// Copyright (c) 2015 Spinpunch, Inc. All Rights Reserved.
|
||||||
// See License.txt for license information.
|
// See License.txt for license information.
|
||||||
|
|
||||||
|
var UserStore = require('../stores/user_store.jsx');
|
||||||
|
|
||||||
export default class PopoverListMembers extends React.Component {
|
export default class PopoverListMembers extends React.Component {
|
||||||
componentDidMount() {
|
componentDidMount() {
|
||||||
const originalLeave = $.fn.popover.Constructor.prototype.leave;
|
const originalLeave = $.fn.popover.Constructor.prototype.leave;
|
||||||
@@ -32,22 +34,28 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
}
|
}
|
||||||
render() {
|
render() {
|
||||||
let popoverHtml = '';
|
let popoverHtml = '';
|
||||||
|
let count = 0;
|
||||||
|
let countText = '-';
|
||||||
const members = this.props.members;
|
const members = this.props.members;
|
||||||
let count;
|
const teamMembers = UserStore.getProfilesUsernameMap();
|
||||||
if (members.length > 20) {
|
|
||||||
count = '20+';
|
|
||||||
} else {
|
|
||||||
count = members.length || '-';
|
|
||||||
}
|
|
||||||
|
|
||||||
if (members) {
|
if (members && teamMembers) {
|
||||||
members.sort(function compareByLocal(a, b) {
|
members.sort(function compareByLocal(a, b) {
|
||||||
return a.username.localeCompare(b.username);
|
return a.username.localeCompare(b.username);
|
||||||
});
|
});
|
||||||
|
|
||||||
members.forEach(function addMemberElement(m) {
|
members.forEach(function addMemberElement(m) {
|
||||||
popoverHtml += `<div class='text--nowrap'>${m.username}</div>`;
|
if (teamMembers[m.username] && teamMembers[m.username].delete_at <= 0) {
|
||||||
|
popoverHtml += `<div class='text--nowrap'>${m.username}</div>`;
|
||||||
|
count++;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
if (count > 20) {
|
||||||
|
countText = '20+';
|
||||||
|
} else if (count > 0) {
|
||||||
|
countText = count.toString();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
@@ -63,7 +71,7 @@ export default class PopoverListMembers extends React.Component {
|
|||||||
data-toggle='tooltip'
|
data-toggle='tooltip'
|
||||||
title='View Channel Members'
|
title='View Channel Members'
|
||||||
>
|
>
|
||||||
{count}
|
{countText}
|
||||||
<span
|
<span
|
||||||
className='fa fa-user'
|
className='fa fa-user'
|
||||||
aria-hidden='true'
|
aria-hidden='true'
|
||||||
|
|||||||
@@ -150,7 +150,7 @@ export default class PostInfo extends React.Component {
|
|||||||
|
|
||||||
var dropdown = this.createDropdown();
|
var dropdown = this.createDropdown();
|
||||||
|
|
||||||
let tooltip = <Tooltip>{utils.displayDate(post.create_at)} at ${utils.displayTime(post.create_at)}</Tooltip>;
|
let tooltip = <Tooltip id={post.id + 'tooltip'}>{utils.displayDate(post.create_at)} at ${utils.displayTime(post.create_at)}</Tooltip>;
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ul className='post-header post-info'>
|
<ul className='post-header post-info'>
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user