Fix group message names in channel switcher (#6246)
Этот коммит содержится в:
коммит произвёл
Corey Hulen
родитель
1c8fdb4cdd
Коммит
dc6c836b35
@@ -12,7 +12,7 @@ import Client from 'client/web_client.jsx';
|
|||||||
import AppDispatcher from 'dispatcher/app_dispatcher.jsx';
|
import AppDispatcher from 'dispatcher/app_dispatcher.jsx';
|
||||||
import {Constants, ActionTypes} from 'utils/constants.jsx';
|
import {Constants, ActionTypes} from 'utils/constants.jsx';
|
||||||
import * as Utils from 'utils/utils.jsx';
|
import * as Utils from 'utils/utils.jsx';
|
||||||
import {sortChannelsByDisplayName, buildGroupChannelName} from 'utils/channel_utils.jsx';
|
import {sortChannelsByDisplayName, getChannelDisplayName} from 'utils/channel_utils.jsx';
|
||||||
|
|
||||||
import React from 'react';
|
import React from 'react';
|
||||||
|
|
||||||
@@ -32,8 +32,8 @@ class SwitchChannelSuggestion extends Suggestion {
|
|||||||
} else if (item.type === Constants.PRIVATE_CHANNEL) {
|
} else if (item.type === Constants.PRIVATE_CHANNEL) {
|
||||||
icon = <div className='status'><i className='fa fa-lock'/></div>;
|
icon = <div className='status'><i className='fa fa-lock'/></div>;
|
||||||
} else if (item.type === Constants.GM_CHANNEL) {
|
} else if (item.type === Constants.GM_CHANNEL) {
|
||||||
displayName = buildGroupChannelName(item.id);
|
displayName = getChannelDisplayName(item);
|
||||||
icon = <div className='status status--group'>{UserStore.getProfileListInChannel(item.id, true).length}</div>;
|
icon = <div className='status status--group'>{'G'}</div>;
|
||||||
} else {
|
} else {
|
||||||
icon = (
|
icon = (
|
||||||
<div className='pull-left'>
|
<div className='pull-left'>
|
||||||
@@ -81,7 +81,7 @@ export default class SwitchChannelProvider extends Provider {
|
|||||||
if (channel.display_name.toLowerCase().indexOf(channelPrefix.toLowerCase()) !== -1) {
|
if (channel.display_name.toLowerCase().indexOf(channelPrefix.toLowerCase()) !== -1) {
|
||||||
const newChannel = Object.assign({}, channel);
|
const newChannel = Object.assign({}, channel);
|
||||||
if (newChannel.type === Constants.GM_CHANNEL) {
|
if (newChannel.type === Constants.GM_CHANNEL) {
|
||||||
newChannel.name = buildGroupChannelName(newChannel.id);
|
newChannel.name = getChannelDisplayName(newChannel);
|
||||||
}
|
}
|
||||||
channels.push(newChannel);
|
channels.push(newChannel);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -112,7 +112,9 @@ export function sortChannelsByDisplayName(a, b) {
|
|||||||
return a.name.localeCompare(b.name, locale, {numeric: true});
|
return a.name.localeCompare(b.name, locale, {numeric: true});
|
||||||
}
|
}
|
||||||
|
|
||||||
function getChannelDisplayName(channel) {
|
const MAX_CHANNEL_NAME_LENGTH = 64;
|
||||||
|
|
||||||
|
export function getChannelDisplayName(channel) {
|
||||||
if (channel.type !== Constants.GM_CHANNEL) {
|
if (channel.type !== Constants.GM_CHANNEL) {
|
||||||
return channel.display_name;
|
return channel.display_name;
|
||||||
}
|
}
|
||||||
@@ -120,7 +122,15 @@ function getChannelDisplayName(channel) {
|
|||||||
const currentUser = UserStore.getCurrentUser();
|
const currentUser = UserStore.getCurrentUser();
|
||||||
|
|
||||||
if (currentUser) {
|
if (currentUser) {
|
||||||
return channel.display_name.replace(currentUser.username + ', ', '');
|
let displayName = channel.display_name;
|
||||||
|
if (displayName.length >= MAX_CHANNEL_NAME_LENGTH) {
|
||||||
|
displayName += '...';
|
||||||
|
}
|
||||||
|
displayName = displayName.replace(currentUser.username + ', ', '').replace(currentUser.username, '').trim();
|
||||||
|
if (displayName[displayName.length - 1] === ',') {
|
||||||
|
return displayName.slice(0, -1);
|
||||||
|
}
|
||||||
|
return displayName;
|
||||||
}
|
}
|
||||||
|
|
||||||
return channel.display_name;
|
return channel.display_name;
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user