This repository has been archived on 2023-03-18. You can view files and clone it, but cannot push or open issues or pull requests.
osr-discourse-src/app/assets/javascripts/discourse/components/group-member-dropdown.js.es6

71 lines
1.8 KiB
JavaScript

import computed from "ember-addons/ember-computed-decorators";
import DropdownSelectBoxComponent from "select-kit/components/dropdown-select-box";
export default DropdownSelectBoxComponent.extend({
pluginApiIdentifiers: ["group-member-dropdown"],
classNames: "group-member-dropdown",
showFullTitle: false,
allowInitialValueMutation: false,
allowAutoSelectFirst: false,
init() {
this._super(...arguments);
this.headerIcon = ["wrench"];
},
autoHighlight() {},
@computed("member.owner")
content(isOwner) {
const items = [
{
id: "removeMember",
name: I18n.t("groups.members.remove_member"),
description: I18n.t("groups.members.remove_member_description", {
username: this.get("member.username")
}),
icon: "user-times"
}
];
if (this.currentUser && this.currentUser.admin) {
if (isOwner) {
items.push({
id: "removeOwner",
name: I18n.t("groups.members.remove_owner"),
description: I18n.t("groups.members.remove_owner_description", {
username: this.get("member.username")
}),
icon: "shield-alt"
});
} else {
items.push({
id: "makeOwner",
name: I18n.t("groups.members.make_owner"),
description: I18n.t("groups.members.make_owner_description", {
username: this.get("member.username")
}),
icon: "shield-alt"
});
}
}
return items;
},
mutateValue(id) {
switch (id) {
case "removeMember":
this.removeMember(this.member);
break;
case "makeOwner":
this.makeOwner(this.get("member.username"));
break;
case "removeOwner":
this.removeOwner(this.member);
break;
}
}
});