Hallo @PhilipvP, nach einer internen Diskussion mit @lg habe ich folgende Teillösung nachträglich anzubieten:
Mit dem folgenden Mini-Interceptor wird die Liste vollständig geleert, der Button bleibt aber erhalten. Durch das Ausblenden aller Einträge ist aber zumindest der erste benutzerdefinierte Stempel derjenige, der vorausgewählt ist. Der Interceptor:
var noDefaultStamps = {
updateEditorConfiguration: async (instance, info, config) => {
const { documentViewer } = instance.Core;
const tool = documentViewer.getTool('AnnotationCreateRubberStamp');
tool.setStandardStamps([]);
}
}
window.ed.registerInterceptor(noDefaultStamps);
Dies lässt sich auch so nutzen, dass nur manche der Standardstempel angezeigt werden:
var someDefaultStamps = {
updateEditorConfiguration: async (instance, info, config) => {
const { documentViewer } = instance.Core;
const tool = documentViewer.getTool('AnnotationCreateRubberStamp');
tool.setStandardStamps([
// "Approved",
// "AsIs",
// "Completed",
// "Confidential",
// "Departmental",
// "Draft",
// "Experimental",
// "Expired",
"Final",
// "ForComment",
// "ForPublicRelease",
// "InformationOnly",
// "NotApproved",
// "NotForPublicRelease",
// "PreliminaryResults",
// "Sold",
// "TopSecret",
// "Void",
// "SHSignHere",
// "SHWitness",
// "SHInitialHere",
// "SHAccepted",
// "SBRejected"
]);
}
}
window.ed.registerInterceptor(someDefaultStamps);
Letzten Endes können dort auch ganz eigene Stempel abgelegt werden (sofern es sich um einfache Bilder handelt):
Dazu habe ich den Stempel „ecmcommunity.png“ neben den Interceptor gelegt und diesen so angepasst:
var customStamps = {
updateEditorConfiguration: async (instance, info, config) => {
const { documentViewer } = instance.Core;
const tool = documentViewer.getTool('AnnotationCreateRubberStamp');
tool.setStandardStamps([
'/ed/interceptors/ecmcommunity.png'
]);
}
}
window.ed.registerInterceptor(customStamps);
Hinweis: Natürlich wäre es denkbar, einen beliebig mächtigen Web-Service zu bauen, welcher Stempel als Bilder.



