* PLT-4167 Team Sidebar

* Address feedback from PM

* change route from my_members to members

* bug fixes

* Updating styles for teams sidebar (#4681)

* Added PM changes

* Fix corner cases

* Addressing feedback

* use two different endpoints

* Bug fixes

* Rename model and client functions, using preferences to store last team and channel viewed

* Fix mobile notification count and closing the team sidebar

* unit test, fixed bad merge and retrieve from cached when available

* bug fixes

* use id for last channel in preferences, query optimization

* Updating multi team css (#4830)
Этот коммит содержится в:
enahum
2016-12-19 10:05:46 -03:00
коммит произвёл Joram Wilander
родитель 3ce2ce9dc8
Коммит 999d1553e1
50 изменённых файлов: 1139 добавлений и 183 удалений

Просмотреть файл

@@ -166,12 +166,21 @@ export function updateLastViewedAt(id, active) {
channelId,
isActive,
() => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_PREFERENCE,
preference: {
category: 'last',
name: TeamStore.getCurrentId(),
value: channelId
}
});
callTracker[`updateLastViewed${channelId}`] = 0;
ErrorStore.clearLastError();
},
(err) => {
callTracker[`updateLastViewed${channelId}`] = 0;
var count = ErrorStore.getConnectionErrorCount();
const count = ErrorStore.getConnectionErrorCount();
ErrorStore.setConnectionErrorCount(count + 1);
dispatchError(err, 'updateLastViewedAt');
}
@@ -203,6 +212,14 @@ export function setLastViewedAt(lastViewedAt, id) {
channelId,
lastViewedAt,
() => {
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_PREFERENCE,
preference: {
category: 'last',
name: TeamStore.getCurrentId(),
value: channelId
}
});
callTracker[`setLastViewedAt${channelId}${lastViewedAt}`] = 0;
ErrorStore.clearLastError();
},
@@ -847,6 +864,61 @@ export function getTeamMember(teamId, userId) {
);
}
export function getMyTeamMembers() {
const callName = 'getMyTeamMembers';
if (isCallInProgress(callName)) {
return;
}
callTracker[callName] = utils.getTimestamp();
Client.getMyTeamMembers(
(data) => {
callTracker[callName] = 0;
const members = {};
for (const member of data) {
members[member.team_id] = member;
}
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_MY_TEAM_MEMBERS_UNREAD,
team_members: members
});
},
(err) => {
callTracker[callName] = 0;
dispatchError(err, 'getMyTeamMembers');
}
);
}
export function getMyTeamsUnread(teamId) {
const members = TeamStore.getMyTeamMembers();
if (members.length > 1) {
const callName = 'getMyTeamsUnread';
if (isCallInProgress(callName)) {
return;
}
callTracker[callName] = utils.getTimestamp();
Client.getMyTeamsUnread(
teamId,
(data) => {
callTracker[callName] = 0;
AppDispatcher.handleServerAction({
type: ActionTypes.RECEIVED_MY_TEAMS_UNREAD,
team_members: data
});
},
(err) => {
callTracker[callName] = 0;
dispatchError(err, 'getMyTeamsUnread');
}
);
}
}
export function getTeamStats(teamId) {
const callName = `getTeamStats${teamId}`;
if (isCallInProgress(callName)) {