Sie können eine Sichtvorlage verwenden, um die Daten zu formatieren, die in Posteingangsspalten angezeigt werden sollen. In diesem Beispiel werden je nach Wert der Einkommensspalte Symbole für "coral-ui"angezeigt. Der folgende Screenshot zeigt die Verwendung von Symbolen in der Einkommensspalte
Die untergeordnete Vorlage wird verwendet, um die benutzerdefinierten Coral-ui-Symbole anzuzeigen, wird als Teil dieses Artikels bereitgestellt.
Im Folgenden finden Sie die visuelle Vorlage. Der Code in der Vorlage zeigt je nach Einkommen ein Symbol an. Die Symbole sind als Teil der Coral-UI-Symbolbibliothek das mit AEM kommt.
<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>
Der folgende Code ist die Dienstimplementierung zur Anzeige der Einkommensspalte.
Zeile 12 ordnet die Spalte der Sichtvorlage 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;
}
}
In diesem Artikel wird davon ausgegangen, dass Sie die Beispiel-Workflow und Beispielformular von vorheriger Artikel in dieser Reihe.
Durch das Senden des Formulars wird der Workflow Trigger und eine Aufgabe wird "admin"-Benutzern zugewiesen. Unter der Einkommensspalte sollte das entsprechende Symbol angezeigt werden.