1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-09-24 21:07:17 +00:00

add 'updateGroups' for side-nav, and other improvement

This commit is contained in:
llj
2016-01-09 14:35:16 +08:00
parent e1981509c6
commit ec6679e448
7 changed files with 58 additions and 29 deletions

View File

@@ -16,6 +16,8 @@ define([
importMembersTemplate: _.template($('#group-import-members-form-tmpl').html()),
initialize: function(options) {
this.groupView = options.groupView;
// group basic info
this.group = {};
@@ -65,7 +67,7 @@ define([
}),
cache: false,
dataType: 'json',
success: function (data) {
success: function(data) {
_this.group = data; // {id, name, owner, created_at, avatar_url, admins}
var username = app.pageOptions.username;
@@ -170,9 +172,8 @@ define([
},
success: function() {
$.modal.close();
// TODO: improve
//app.router.navigate('group/' + _this.group_id + '/', {trigger: true, replace: true});
location.reload(true);
app.ui.sideNavView.updateGroups();
_this.groupView.renderGroupTop();
},
error: function(xhr) {
var error_msg;
@@ -307,9 +308,8 @@ define([
dataType: 'json',
beforeSend: Common.prepareCSRFToken,
success: function() {
app.ui.sideNavView.updateGroups();
app.router.navigate('groups/', {trigger: true});
// TO update side nav - 'group list'
location.reload(true); // improve it ??
},
error: function(xhr) {
var error_msg;
@@ -343,9 +343,8 @@ define([
dataType: 'json',
beforeSend: Common.prepareCSRFToken,
success: function() {
app.ui.sideNavView.updateGroups();
app.router.navigate('groups/', {trigger: true});
// TO update side nav - 'group list'
location.reload(true); // improve it ??
},
error: function(xhr) {
var err_msg;

View File

@@ -41,7 +41,10 @@ define([
this.dirView = options.dirView;
this.membersView = new GroupMembersView();
this.settingsView = new GroupSettingsView();
this.settingsView = new GroupSettingsView({
sideNavView: options.sideNavView,
groupView: this
});
},
addOne: function(repo, collection, options) {
@@ -76,13 +79,13 @@ define([
}
},
renderGroupTop: function(group_id) {
renderGroupTop: function() {
var _this = this;
var $groupTop = $('#group-top');
$.ajax({
url: Common.getUrl({
'name': 'group_basic_info',
'group_id': group_id
'name': 'group',
'group_id': this.group_id
}),
cache: false,
dataType: 'json',
@@ -92,7 +95,7 @@ define([
error: function(xhr) {
var err_msg;
if (xhr.responseText) {
err_msg = $.parseJSON(xhr.responseText).error;
err_msg = $.parseJSON(xhr.responseText).error_msg;
} else {
err_msg = gettext("Please check the network.");
}
@@ -105,7 +108,7 @@ define([
this.group_id = group_id;
this.dirView.hide();
this.$emptyTip.hide();
this.renderGroupTop(group_id);
this.renderGroupTop();
this.$tabs.show();
this.$table.hide();
var $loadingTip = this.$loadingTip;

View File

@@ -110,6 +110,7 @@ define([
if (groups.length == 1) {
_this.reset();
}
app.ui.sideNavView.updateGroups();
},
error: function(collection, response, options) {
var err_msg;

View File

@@ -17,6 +17,7 @@ define([
this.data = {
'cur_tab': this.default_cur_tab,
'show_group_list': false, // when cur_tab is not 'group'
'groups': app.pageOptions.groups,
'mods_enabled': app.pageOptions.user_mods_enabled,
'can_add_repo': app.pageOptions.can_add_repo,
};
@@ -85,13 +86,32 @@ define([
});
},
setCurTab: function (cur_tab, options) {
setCurTab: function(cur_tab, options) {
this.data.cur_tab = cur_tab || this.default_cur_tab;
if (options) {
$.extend(this.data, options);
}
this.data.show_group_list = $('#group-nav .grp-list:visible').length ? true : false;
this.render();
},
updateGroups: function() {
var _this = this;
$.ajax({
url: Common.getUrl({name: 'groups'}),
type: 'GET',
dataType: 'json',
cache: false,
success: function(data) {
data.sort(function(a, b) {
return Common.compareTwoWord(a.name, b.name);
});
_this.data.groups = data;
_this.render();
},
error: function() {
}
});
}
});