Datenquelle
Ein Dropdown-Feld, mit dem Sie aus allen Datenquellen auswählen können, die in das Frontline Command Center hochgeladen wurden. So können Sie Ihre Komponente dynamisch mit verschiedenen Datenquellen verknüpfen.
Beispiel
"datasource": {
"noOptionsInfo": "No datasources found!",
"title": "Datasource",
"inputType": "datasource-selection",
"revisionSelection": true,
"required": true,
"info": "Select the datasource you want to use.",
"value": null
}
Beispiel für die Verwendung
Diese Konfiguration wird in der Regel in Verbindung mit den Datasource-Aktionen verwendet. So könnten Sie beispielsweise die erste Zeile der aktuellen Datenquellenaufgabe im Kontext speichern, die Zeile nach Bedarf bearbeiten (Daten extrahieren oder ändern) und die geänderte Zeile dann wieder in der Datenquellenaufgabe speichern.
Speichern der ersten Zeile ([0], kann durch eine Indexvariable ersetzt werden) in Ihrem Kontext. Die zusätzliche Variable, die die String-Version der Zeile enthält, ist für die Fehlersuche praktisch, kann aber auch weggelassen werden.
<setvar id="row_to_context">
<context_of>root</context_of>
<context_update>
<param name="current_row" type="object">?{ context.ds_§{ replace validation.datasource.value.id '-' '' }§[0] }?</param>
<param name="current_row_to_string" type="string"><![CDATA[?{JSON.stringify(context.current_row)}?]]></param>
</context_update>
</setvar>
Extrahieren von Daten, z. B. um sie in der Benutzeroberfläche anzuzeigen:
<setvar id="get_row_data">
<context_of>workflow</context_of>
<context_update>
<param name="material" type="string"><![CDATA[ ?{ context.current_row.payload["Material Name"].value }? ]]></param>
</context_update>
</setvar>
Ändern von Datenspalten, die in Ihrer Datenquelle vorhanden sind:
<setvar id="set_counts">
<context_of>root</context_of>
<context_update>
<param name="current_row" type="object"><![CDATA[ ?{
context.current_row.payload["Outcome"].value = context.outcome;
context.current_row.payload["Assigned to User"].value = appcontext.client.user.id;
context.current_row.payload["Assignment Name"].value = appcontext.task.name;
context.current_row.payload["Done Date"].value = new Date(Date.now()).toUTCString();
context.current_row.status = 'DONE';
context.current_row;
}? ]]></param>
<param name="current_row_to_string" type="string"><![CDATA[?{JSON.stringify(context.current_row)}?]]></param>
</context_update>
</setvar>
Weitergabe der geänderten Zeile zurück an die Datenquellenaufgabe.
<update_datasource_task id="update_ds_with_row">
<param name="datasource_task_id" type="string">?{context.ds_§{ replace validation.datasource.value.id '-' '' }§_task.id}?</param>
<param name="rows">#{current_row}</param>
<param name="payload_variable_name">ds_§{ replace validation.datasource.value.id '-' '' }§</param>
</update_datasource_task>