1
0
mirror of https://github.com/haiwen/seahub.git synced 2025-07-01 17:32:21 +00:00
seahub/static/scripts/app/views/organization-repo.js
Daniel Pan cf1017513a Code clean (#1217)
* Use API to create file/folder instead of Ajax
* Remove sub_repo AJAX api
* Remove repo delete AJAX function
* Remove get_group_basic_info
* Add comment for get_unenc_group_repos
* Remove ajax_repo_change_basic_info and ajax_repo_transfer_owner
* Remove ajax_unset_inner_pub_repe and RepoPublic
* Remove ajax star/unstar a file
* update be shared repo api
* update test public repo
* Remove ajax_repo_remove_share
2016-06-20 18:34:30 +08:00

63 lines
1.8 KiB
JavaScript

define([
'jquery',
'underscore',
'backbone',
'common',
'app/views/widgets/hl-item-view'
], function($, _, Backbone, Common, HLItemView) {
'use strict';
var OrganizationRepoView = HLItemView.extend({
tagName: 'tr',
template: _.template($('#organization-repo-tmpl').html()),
initialize: function() {
HLItemView.prototype.initialize.call(this);
},
render: function() {
var obj = this.model.toJSON();
var icon_size = Common.isHiDPI() ? 96 : 24;
var icon_url = this.model.getIconUrl(icon_size);
_.extend(obj, {
'icon_url': icon_url,
'icon_title': this.model.getIconTitle()
});
this.$el.html(this.template(obj));
return this;
},
events: {
'click .cancel-share': 'removeShare'
},
removeShare: function() {
var el = this.$el;
var lib_name = this.model.get('name');
$.ajax({
url: Common.getUrl({
name: 'shared_repos',
repo_id: this.model.get('id')
}) + "?share_type=public",
type: 'DELETE',
beforeSend: Common.prepareCSRFToken,
dataType: 'json',
success: function () {
el.remove();
var msg = gettext('Successfully unshared {placeholder}').replace('{placeholder}', '<span class="op-target">' + Common.HTMLescape(lib_name) + '</span>');
Common.feedback(msg, 'success', Common.SUCCESS_TIMOUT);
},
error: function(xhr) {
Common.ajaxErrorHandler(xhr);
}
});
return false;
}
});
return OrganizationRepoView;
});