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:
@@ -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;
|
||||
|
@@ -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;
|
||||
|
@@ -110,6 +110,7 @@ define([
|
||||
if (groups.length == 1) {
|
||||
_this.reset();
|
||||
}
|
||||
app.ui.sideNavView.updateGroups();
|
||||
},
|
||||
error: function(collection, response, options) {
|
||||
var err_msg;
|
||||
|
@@ -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() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
});
|
||||
|
Reference in New Issue
Block a user