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".
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