File: //var/www/intranet.kauko.lt/wp-content/plugins/buddypress/bp-groups/js/manage-members.min.js
!function(n,r,a){"undefined"!=typeof bpGroupManageMembersSettings&&(_.extend(r,_.pick(n,"Backbone","template")),r.Models=r.Models||{},r.Collections=r.Collections||{},r.Views=r.Views||{},r.Models.groupMember=Backbone.Model.extend({defaults:{id:0,name:"",avatar_urls:{},is_admin:!1,is_banned:!1,is_confirmed:!1,is_mod:!1,link:""},options:{path:bpGroupManageMembersSettings.path,type:"POST",data:{},dataType:"json"},initialize:function(){this.on("sync",this.resetRequestOptions,this)},resetRequestOptions:function(){this.options.data={},this.options.path=bpGroupManageMembersSettings.path},sync:function(e,t,i){(i=i||{}).context=this;var s=i.data||{};if(this.options.path=this.options.path.concat("/"+t.get("id")),_.extend(i,this.options),_.extend(i.data,s),"delete"===e||"update"===e)return i.headers="delete"===e?{"X-HTTP-Method-Override":"DELETE"}:{"X-HTTP-Method-Override":"PUT"},n.apiRequest(i)},parse:function(e){return e=_.isArray(e)?_.first(e):e}}),r.Collections.groupMembers=Backbone.Collection.extend({model:r.Models.groupMember,options:{path:bpGroupManageMembersSettings.path,type:"GET",data:{},dataType:"json"},initialize:function(){this.on("reset",function(){this.options.data={}},this)},sync:function(e,t,s){(s=s||{}).context=this;var o,r,i=s.data||{};if(_.extend(s,this.options),_.extend(s.data,i),"read"===e)return o=this,r=s.success,s.success=function(e,t,i){if(_.isUndefined(i)||(o.totalPages=parseInt(i.getResponseHeader("X-WP-TotalPages"),10),o.totalGroupMembers=parseInt(i.getResponseHeader("X-WP-Total"),10)),o.currentPage=s.data.page||1,r)return r.apply(this,arguments)},n.apiRequest(s)}}),r.View=r.View||r.Backbone.View.extend({prepare:function(){return!_.isUndefined(this.model)&&_.isFunction(this.model.toJSON)?this.model.toJSON():{}}}),r.Views.GroupMemberUpdatingInfo=r.View.extend({tagName:"p",template:r.template("bp-manage-members-updating"),initialize:function(){this.model=new Backbone.Model({type:this.options.value})}}),r.Views.GroupMemberErrorInfo=r.View.extend({tagName:"p",template:r.template("bp-manage-members-error"),initialize:function(){this.model=new Backbone.Model({message:this.options.value})}}),r.Views.GroupsMembersLabel=r.Views.GroupMemberUpdatingInfo.extend({tagName:"label",template:r.template("bp-manage-members-label")}),r.Views.GroupRolesDropDown=r.View.extend({tagName:"select",filters:_.extend({all:{name:bpGroupManageMembersSettings.strings.allMembers}},bpGroupManageMembersSettings.roles),events:{change:"change"},initialize:function(){this.options.omits&&(this.filters=_.omit(this.filters,this.options.omits)),this.$el.html(_.chain(this.filters).map(function(e,t){e=a("<option></option>").val(t).html(e.name)[0];return this.options.currentRole&&t===this.options.currentRole?{el:a(e).prop("selected",!0)}:{el:e}},this).pluck("el").value())},change:function(e){var e=a(e.target).val(),t={roles:[e]};this.collection&&("all"===e?(this.collection.currentRole="",t={exclude_admins:!1}):this.collection.currentRole=e,this.collection.currentPage=1,t.page=1,a("#manage-members-search").val(""),this.collection.fetch({data:t,reset:!0}))}}),r.Views.GroupMembersSearch=r.View.extend({className:"bp-dir-search-form",tagName:"form",template:r.template("bp-manage-members-search"),events:{"click #manage-members-search-submit":"searchMember"},searchMember:function(e){e.preventDefault();e=a("#manage-members-search").val(),e=_.extend(this.collection.options.data,{search:e,page:1});this.collection.currentPage=1,this.collection.currentRole?e.roles=[this.collection.currentRole]:e.exclude_admins=!1,this.collection.fetch({data:e,reset:!0})}}),r.Views.GroupsMembersPagination=r.View.extend({className:"bp-pagination",template:r.template("bp-manage-members-paginate"),events:{"click .group-members-paginate-button":"queryPage"},initialize:function(){this.collection.on("reset",this.setPagination,this)},setPagination:function(e){e=_.pick(e,["currentPage","totalGroupMembers","totalPages"]);1<e.totalPages&&(e.nextPage=e.currentPage+1,e.prevPage=e.currentPage-1),this.model=new Backbone.Model(e),this.render()},queryPage:function(e){e.preventDefault();var e=a(e.currentTarget).data("page"),t=a("#manage-members-search").val(),t=_.extend(this.collection.options.data,{search:t,page:e});this.collection.currentRole?t.roles=[this.collection.currentRole]:t.exclude_admins=!1,this.collection.fetch({data:t,reset:!0})}}),r.Views.GroupMembersNoMatches=r.View.extend({tagName:"tr",template:r.template("bp-manage-members-empty-row")}),r.Views.GroupMembersListRow=r.View.extend({tagName:"tr",template:r.template("bp-manage-members-row"),events:{"click .group-member-actions a":"doMemberAction","change .group-member-edit select":"editMemberRole"},initialize:function(){var t=["is_admin","is_banned","is_confirmed","is_mod"],i=this;_.each(bpGroupManageMembersSettings.roles,function(e){_.isMatch(i.model.attributes,_.pick(e,t))&&i.model.set("role",_.pick(e,["id","name"]),{silent:!0})}),this.model.collection.on("reset",this.clearRow,this)},clearRow:function(){this.views.view.remove()},renderEditForm:function(){var e=this.model.get("id");this.render(),this.views.set("#edit-group-member-"+e,[new r.Views.GroupsMembersLabel({value:e,attributes:{for:"group-member"+e+"-role"}}),new r.Views.GroupRolesDropDown({id:"group-member"+e+"-role",omits:["all","banned"],currentRole:this.model.get("role").id}).render()])},resetRow:function(){return this.model.set("editing",!1),this.render()},getRoleObject:function(e){var t=bpGroupManageMembersSettings.roles;return _.isUndefined(t[e])?{}:_.extend({role:_.pick(t[e],["id","name"])},_.pick(t[e],["is_admin","is_banned","is_confirmed","is_mod"]))},doMemberAction:function(e){e.preventDefault();var e=a(e.target).data("action"),i=this;if("edit"===e)return this.model.set("editing",!0),this.renderEditForm();if("abort"===e)return this.resetRow();if("ban"===e||"unban"===e){var t=this.getRoleObject("ban"===e?"banned":"member");if(!t)return this.resetRow();this.model.set("managingBan",!0),this.render(),this.views.set("#edit-group-member-"+this.model.get("id"),new r.Views.GroupMemberUpdatingInfo({value:e}).render()),this.model.save(t,{wait:!0,data:{action:e},success:function(e){return i.model.collection.remove(e),i.clearRow()},error:function(e,t){i.views.set("#edit-group-member-"+e.get("id"),new r.Views.GroupMemberErrorInfo({value:t.responseJSON.message}).render()),e.resetRequestOptions(),e.set("managingBan",!1)}})}else"remove"===e&&(this.model.set("removing",!0),this.render(),this.views.set("#edit-group-member-"+this.model.get("id"),new r.Views.GroupMemberUpdatingInfo({value:e}).render()),this.model.destroy({wait:!0,data:{},success:function(){return i.clearRow()},error:function(e,t){i.views.set("#edit-group-member-"+e.get("id"),new r.Views.GroupMemberErrorInfo({value:t.responseJSON.message}).render()),e.resetRequestOptions(),e.set("removing",!1)}}))},editMemberRole:function(e){var t=a(e.target).val(),e=this.getRoleObject(t),i=this.model.get("role").id,s="promote",o=this;if(t===this.model.get("role").id||!e)return this.resetRow();this.views.set("#edit-group-member-"+this.model.get("id"),(new r.Views.GroupMemberUpdatingInfo).render()),this.model.save(e,{wait:!0,data:{action:s="admin"===i||"mod"===i&&"member"===t?"demote":s,role:t},success:function(e){return o.model.collection.currentRole&&t!==o.model.collection.currentRole?(o.model.collection.remove(e),o.clearRow()):o.resetRow()},error:function(e,t){o.views.set("#edit-group-member-"+e.get("id"),new r.Views.GroupMemberErrorInfo({value:t.responseJSON.message}).render()),e.resetRequestOptions(),e.set("editing",!1)}})}}),r.Views.GroupMembersListHeader=r.View.extend({tagName:"thead",template:r.template("bp-manage-members-header")}),r.Views.GroupMembersListTable=r.View.extend({tagName:"tbody",initialize:function(){var e=bpGroupManageMembersSettings.preloaded||{},t=[];this.collection.on("reset",this.addListTableRows,this),e.body&&0<e.body.length?(_.each(e.body,function(e){t.push(new r.Models.groupMember(e))}),this.collection.currentPage=1,e.headers&&e.headers["X-WP-TotalPages"]&&(this.collection.totalPages=parseInt(e.headers["X-WP-TotalPages"],10)),e.headers&&e.headers["X-WP-Total"]&&(this.collection.totalGroupMembers=parseInt(e.headers["X-WP-Total"],10)),this.collection.reset(t)):this.collection.fetch({data:{exclude_admins:!1},reset:!0})},addListTableRows:function(e){var t;this.views._views&&(t=_.findWhere(this.views._views[""],{id:"bp-no-group-members"}))&&t.remove(),e.length?_.each(e.models,function(e){this.views.add(new r.Views.GroupMembersListRow({model:e}))},this):this.views.add(new r.Views.GroupMembersNoMatches({id:"bp-no-group-members"}))}}),r.Views.GroupMembersUI=r.View.extend({className:"group-members",initialize:function(){var e=new r.Collections.groupMembers;this.views.set("#group-roles-filter",[new r.Views.GroupsMembersLabel({attributes:{for:"group-members-role-filter"}}),new r.Views.GroupRolesDropDown({id:"group-members-role-filter",collection:e})]),this.views.set("#group-members-search-form",new r.Views.GroupMembersSearch({id:"group-members-search",collection:e})),this.views.set("#group-members-pagination",new r.Views.GroupsMembersPagination({collection:e})),this.views.set("#group-members-list-table",[new r.Views.GroupMembersListHeader,new r.Views.GroupMembersListTable({collection:e})])}}),r.manageGroupMembersUI=new r.Views.GroupMembersUI({el:"#group-manage-members-ui"}).render())}(window.wp||{},window.bp||{},jQuery);