Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-10 04:12:53 +01:00
Update custom-wizard-group-selector.js.es6
Dieser Commit ist enthalten in:
Ursprung
bafb09a502
Commit
ac5d41d914
1 geänderte Dateien mit 3 neuen und 16 gelöschten Zeilen
|
@ -4,29 +4,16 @@ import { makeArray } from "discourse-common/lib/helpers";
|
||||||
|
|
||||||
export default ComboBox.extend({
|
export default ComboBox.extend({
|
||||||
content: computed("groups.[]", "field.content.[]", function () {
|
content: computed("groups.[]", "field.content.[]", function () {
|
||||||
const blacklist = ["Administratoren"]; // Gruppe, die nicht ausgewählt werden kann
|
const whitelist = makeArray(this.field.content);
|
||||||
const selectedGroups = makeArray(this.field.content); // bereits ausgewählte Gruppen
|
|
||||||
return this.groups
|
return this.groups
|
||||||
.filter((group) => {
|
.filter((group) => {
|
||||||
return blacklist.indexOf(group.name) === -1 && // Gruppe ist nicht in der Blacklist
|
return !whitelist.length || whitelist.indexOf(group.id) > -1;
|
||||||
(selectedGroups.length === 0 || // wenn keine Gruppen ausgewählt sind
|
|
||||||
selectedGroups.indexOf(group.id) > -1); // oder Gruppe bereits ausgewählt wurde
|
|
||||||
})
|
})
|
||||||
.map((g) => {
|
.map((g) => {
|
||||||
return {
|
return {
|
||||||
id: g.id,
|
id: g.id,
|
||||||
name: g.full_name ? g.full_name : g.name,
|
name: g.full_name ? g.full_name : g.name,
|
||||||
};
|
};
|
||||||
})
|
});
|
||||||
.filter((group) => group.name !== "Administratoren"); // Filtert die Gruppe "Administratoren" aus
|
|
||||||
}),
|
}),
|
||||||
|
|
||||||
didInsertElement() {
|
|
||||||
// Setze alle Gruppen als bereits ausgewählt
|
|
||||||
this._super(...arguments);
|
|
||||||
const selectedGroups = makeArray(this.field.content);
|
|
||||||
const allGroups = this.content.map((g) => g.id);
|
|
||||||
const unselectedGroups = allGroups.filter((g) => !selectedGroups.includes(g));
|
|
||||||
this.updateValue([...selectedGroups, ...unselectedGroups]);
|
|
||||||
},
|
|
||||||
});
|
});
|
||||||
|
|
Laden …
In neuem Issue referenzieren