Hier ein kleines Beispiel zum speichern und laden der Signaturen in den LocalStore des Browsers.
Über diesen Weg können mit Hilfe der DMS API die Signaturen auch aus dem System geladen und gespeichert werden falls dies gewünscht ist.
var signatureInterceptor = {
// Beim starten der Editor Instanz
initEditorConfiguration(instance) {
const { documentViewer } = instance.Core;
// Signatur Tool holen
const signatureTool = documentViewer.getTool('AnnotationCreateSignature');
// Methode zum speichern der Signaturen definieren
const saveSignature = async () => {
const signatures = await signatureTool.exportSignatures();
window.localStorage.setItem("signatures", JSON.stringify(signatures));
};
// Immer speichern wenn eine Signatur erstellt oder gelöscht wird
signatureTool.on("signatureSaved", saveSignature);
signatureTool.on("signatureDeleted", saveSignature);
},
// Beim laden jedes Dokuments
async updateEditorConfiguration(instance, info, config) {
const { documentViewer } = instance.Core;
// Signatur Tool holen
const signatureTool = documentViewer.getTool('AnnotationCreateSignature');
// Holen der aktuellen Signaturen
const existingSignatures = await signatureTool.exportSignatures();
// Nur die gespeicherten Signaturen laden, wenn aktuell keine vorhanden sind
if(existingSignatures.length == 0){
// Laden der Signaturen aus dem LocalStore
const signatures = window.localStorage.getItem("signatures");
// Falls Signaturen gespeichert wurden
if (signatures) {
// Import der Signaturen in embedded documents
const result = await signatureTool.importSignatures(JSON.parse(signatures));
}
}
}
}
// Registrierung des Interceptors
window.ed.registerInterceptor(signatureInterceptor);
Weitere Details zu den Interceptors kann im Wiki unter Interceptor-Aufbau finden.