Verwenden einer Sightly-Vorlage zur Anzeige von Posteingangsdaten

Letzte Aktualisierung: 2024-01-29
  • Erstellt für:
  • Experienced
    Developer

Sie können eine Sightly-Vorlage verwenden, um die Daten zu formatieren, die in Posteingangsspalten angezeigt werden sollen. In diesem Beispiel werden je nach Wert der Einkommensspalte Coral-UI-Symbole angezeigt. Der folgende Screenshot zeigt die Verwendung von Symbolen in der Einkommensspalte
income-icons

Die Sightly-Vorlage zur Anzeige der benutzerdefinierten Coral-UI-Symbole wird als Teil dieses Artikels bereitgestellt.

Sightly-Vorlage

Im Folgenden finden Sie die Sightly-Vorlage. Der Code in der Vorlage zeigt je nach Einkommen ein Symbol an. Die Symbole sind als Teil der Coral-UI-Symbolbibliothek verfügbar, die AEM enthält.

<template data-sly-template.incomeTemplate="${@ item}>">
    <td is="coral-table-cell" class="payload-income-cell">
         <div data-sly-test="${(item.workflowMetadata && item.workflowMetadata.income)}" data-sly-set.income ="${item.workflowMetadata.income}">
                 <coral-icon icon="confidenceOne" size="M" data-sly-test="${income >=0 && income <10000}"></coral-icon>
                 <coral-icon icon="confidenceTwo" size="M" data-sly-test="${income >=10000 && income <100000}"></coral-icon>
                 <coral-icon icon="confidenceThree" size="M" data-sly-test="${income >=100000 && income <500000}"></coral-icon>
                 <coral-icon icon="confidenceFour" size="M" data-sly-test="${income >=500000}"></coral-icon>
          </div>
    </td>
</template>

Dienstimplementierung

Der folgende Code ist die Dienstimplementierung zur Anzeige der Einkommensspalte.

Zeile 12 ordnet die Spalte der Sightly-Vorlage zu

import java.util.Map;
import org.osgi.service.component.annotations.Component;
import com.adobe.cq.inbox.ui.InboxItem;
import com.adobe.cq.inbox.ui.column.Column;
import com.adobe.cq.inbox.ui.column.provider.ColumnProvider;

@Component(service = ColumnProvider.class, immediate = true)
public class IncomeProvider implements ColumnProvider {
@Override
public Column getColumn() {

return new Column("income", "Income", String.class.getName(),"inbox/customization/column-templates.html", "incomeTemplate");
}

@Override
public Object getValue(InboxItem inboxItem) {
Object val = null;

Map workflowMetadata = inboxItem.getWorkflowMetadata();

if (workflowMetadata != null && workflowMetadata.containsKey("income"))
    val = workflowMetadata.get("income");

return val;
}
}

Testen auf Ihrem Server

HINWEIS

In diesem Artikel wird davon ausgegangen, dass Sie den Beispiel-Workflow und das Beispielformular vom vorherigen Artikel in dieser Serie installiert haben.

Durch Übermittlung des Formulars wird der Workflow ausgelöst und der Admin-Benutzerin bzw. dem Admin-Benutzer eine Aufgabe zugewiesen. Unter der Einkommensspalte sollte das entsprechende Symbol angezeigt werden.

Auf dieser Seite