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
Joffrey JAFFEUX 0431942f3d
DEV: select-kit 2 (#7998)
This new iteration of select-kit focuses on following best principales and disallowing mutations inside select-kit components. A best effort has been made to avoid breaking changes, however if you content was a flat array, eg: ["foo", "bar"] You will need to set valueProperty=null and nameProperty=null on the component.

Also almost every component should have an `onChange` handler now to decide what to do with the updated data. **select-kit will not mutate your data by itself anymore**
2020-02-03 14:22:14 +01:00

50 lines
1.3 KiB
JavaScript

import DropdownSelectBoxComponent from "select-kit/components/dropdown-select-box";
import { computed } from "@ember/object";
export default DropdownSelectBoxComponent.extend({
pluginApiIdentifiers: ["group-member-dropdown"],
classNames: ["group-member-dropdown"],
selectKitOptions: {
icon: "wrench",
showFullTitle: false
},
content: computed("member.owner", function() {
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.get("currentUser.admin")) {
if (this.member.owner) {
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;
})
});