bIT_sosswald
Returning Responder

Sortierung von ExecutableInlineEditItems

Hallo zusammen,

nach was werden denn die ExecutableInlineEditItems sortiert, wenn ein WebeditInlineEditItemsPlugin mehrere davon beim Aufruf von .getItems() zurückgibt?

Ich gebe eine sortiete Liste zurück, jedoch ist die Anzeige im ContentCreator nicht in meiner sortierten Reihenfolge. - Muss man die ExecutableInlineEditItems nochmal explizit mit einem "implements Comparable" versehen?

Beispiel:

Sortiert anhand der sourceLanguage. (Im ExecutableInlineEditItem selbst schalte ich dann noch die Sichtbarkeit aus, wenn die aktuell angezeigte Sprache nicht der targetLanguage entspricht. Erwartungshaltung wäre also "DE - FR - IT".

338942_pastedImage_0.png

Angezeigt wird aber dies: "IT - DE - FR" Was nicht meiner zurückgelieferten Reihenfolge entspricht.

Sourcecode:

@NotNull

@Override

public Collection<? extends ExecutableInlineEditItem> getItems() {

List<OpenTranslationUIExecutableInlineEditItem> inlineEditItems = new ArrayList<>();

for (LangCombination langCombination : langCombinations) {

inlineEditItems.add(new OpenTranslationUIExecutableInlineEditItem(null, langCombination.getSource(), langCombination.getTarget()));

}

return inlineEditItems.stream()

.sorted(Comparator.comparing(e -> e.getSourceLanguage().getAbbreviation())) // sort while streaming

.collect(Collectors.toCollection(ArrayList::new));

}

Für Tipps und Hinweise bin ich dankbar!

Beste Grüße
Sandro

0 Kudos
1 Reply
bIT_sosswald
Returning Responder

Kommentar, damit der Post bei dem ganzen Dokumenten-Spam wieder auf der Startseite erscheint :smileylaugh:

0 Kudos