0
0
Fork 1
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:
Philipp 2023-04-17 16:24:33 +02:00 committet von GitHub
Ursprung bafb09a502
Commit ac5d41d914
Es konnte kein GPG-Schlüssel zu dieser Signatur gefunden werden
GPG-Schlüssel-ID: 4AEE18F83AFDEB23

Datei anzeigen

@ -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]);
},
}); });