Add 'My' > 'Groups' menu entry that shows list of own groups

Users can already see a list of the groups in which they are member
under 'Settings' > 'Groups', but most users don't know about this.
They rather expect this to be available from the top menu.

Putting this under 'My' > 'Groups' and not under 'People' > 'My
Groups' has the advantage that the menu entry is then configurable
and users that don't need it, can remove it.

The my groups screen is displayed for '#/groups/self'. There is no
'admin' prefix as we have it for the group list screen
('#/admin/groups/') since this prefix only exists due to historic
reasons and should rather be removed. '#/groups/self' was chosen to
make the URL similar to the URL of the user dashboard, which is
'#/dashboard/self'. At the moment only '#/groups/self' is supported,
but in future this may be extended to also support
'#/groups/<account-id>'.

Change-Id: I6d4d0722f0bf36fd5099a9bfc25258b8f5cc3ef9
Signed-off-by: Edwin Kempin <edwin.kempin@sap.com>
This commit is contained in:
Edwin Kempin
2014-04-29 13:39:48 +02:00
parent d8530c317a
commit 21e535d832
4 changed files with 48 additions and 0 deletions

View File

@@ -0,0 +1,41 @@
// Copyright (C) 2014 The Android Open Source Project
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
package com.google.gerrit.client.admin;
import com.google.gerrit.client.groups.GroupList;
import com.google.gerrit.client.rpc.ScreenLoadCallback;
import com.google.gerrit.client.ui.AccountScreen;
public class MyGroupsListScreen extends AccountScreen {
private GroupTable groups;
@Override
protected void onInitUI() {
super.onInitUI();
groups = new GroupTable();
add(groups);
}
@Override
protected void onLoad() {
super.onLoad();
GroupList.my(new ScreenLoadCallback<GroupList>(this) {
@Override
protected void preDisplay(GroupList result) {
groups.display(result);
groups.finishDisplay();
}});
}
}