Zum Hauptinhalt springen

Statuseinträge

createInsertStatusEntry​

Erzeugt eine an den Locales-Typ gebundene Funktion zum Schreiben von Mappenstatus-Einträgen, Signatur siehe createInsertStatusEntry:

(docFile: DocFile, action: Selector, comment: Selector, data?: object) => void;
import { createInsertStatusEntry } from "@one-unity/library/ou.sp.I18n";
import type { Locales } from "./ou.sp.ptpINV.installer.step.globalPropertiesLocales";

const insertStatusEntry = createInsertStatusEntry<Locales>();

insertStatusEntry(
docFile,
(l) => l.goodsReceiptCheck.status.timeout.summary,
(l) => l.goodsReceiptCheck.status.timeout.description,
{ days: goodsReceiptCheckTimeoutDays }
);

data gilt für beide Keys, Aktion und Kommentar. Eine manuelle Template-Ersetzung über ObjectHelper.renderTemplateString ist nicht nötig.

Warum nicht docFile.insertStatusEntry​

Immer den Wrapper verwenden

docFile.insertStatusEntry(...) darf nicht direkt aufgerufen werden.

Documents kann derzeit weder einen dynamischen Locale-Key (pf:<key>) als Aktion noch einen dynamisch auflösbaren Kommentar verarbeiten. Der Wrapper löst deshalb aktuell eager auf und schreibt den fertig übersetzten Text.

Sobald Documents das unterstützt, ändert sich das Verhalten in dieser einen Funktion — und in keiner Aufrufstelle.

Als Konsequenz des Eager-Auflösens ist ein Statuseintrag momentan in der Sprache des auslösenden Nutzers festgeschrieben und erscheint auch anderen Nutzern in dieser Sprache. Das ist eine bekannte Einschränkung und kein Fehler im Aufruf.

insertStatusEntry​

Die untypisierte Variante (insertStatusEntry in der API-Referenz) für Fälle, in denen die Keys erst zur Laufzeit bekannt sind.