From 869493bd97413a0b4d617eec9f6b28d0faecb6e3 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 14 Oct 2024 14:02:02 +0200 Subject: [PATCH] feat: Globale Konstante isReadOnly-Wert erstellt. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Constraint für ReadOnly-Schaltfläche mit isReadOnly-Wert hinzugefügt --- .../Views/Shared/_Layout.cshtml | 11 +++++- EnvelopeGenerator.Web/wwwroot/js/ui.js | 35 +++++++++++-------- EnvelopeGenerator.Web/wwwroot/js/ui.min.js | 6 ++-- 3 files changed, 33 insertions(+), 19 deletions(-) diff --git a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml index cf9ceddd..cfb17b2f 100644 --- a/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml +++ b/EnvelopeGenerator.Web/Views/Shared/_Layout.cshtml @@ -3,6 +3,10 @@ @using Newtonsoft.Json.Serialization @{ var nonce = _accessor.HttpContext?.Items["csp-nonce"] as string; + + var isReadOnly = false; + if (ViewData["IsReadOnly"] is bool isReadOnly_bool) + isReadOnly = isReadOnly_bool; } @@ -27,10 +31,15 @@ font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24 } + + + @: const ENV_KEY = "@envelopeKey.TrySanitize(_sanitizer)" } + const IS_READONLY = @isReadOnly.ToString().ToLower(); + + diff --git a/EnvelopeGenerator.Web/wwwroot/js/ui.js b/EnvelopeGenerator.Web/wwwroot/js/ui.js index c436a87d..2f22eada 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/ui.js +++ b/EnvelopeGenerator.Web/wwwroot/js/ui.js @@ -61,7 +61,7 @@ } static getToolbarItems(instance, handler) { - const customItems = UI.getCustomItems(handler) + const customItems = UI.getWritableItems(handler) const defaultItems = UI.getDefaultItems(instance.toolbarItems) return defaultItems.concat(customItems) } @@ -73,22 +73,25 @@ return el.firstChild } - static getCustomItems = function (callback) { - return [ - { - type: 'custom', - id: 'button-share', - className: 'button-share', - title: 'Teilen', - onPress() { - callback('SHARE') - }, - icon: ` + static getWritableItems = function (callback) { + const items = new Array(); + if (!IS_READONLY) + items.push( + { + type: 'custom', + id: 'button-share', + className: 'button-share', + title: 'Teilen', + onPress() { + callback('SHARE') + }, + icon: ` `, - } - ] - return [ + } + ); + + var otherItmes = [ { type: 'custom', id: 'button-reset', @@ -124,6 +127,8 @@ }, }, ] + + return items; } static getDefaultItems(items) { diff --git a/EnvelopeGenerator.Web/wwwroot/js/ui.min.js b/EnvelopeGenerator.Web/wwwroot/js/ui.min.js index 96971480..ddeeb63a 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/ui.min.js +++ b/EnvelopeGenerator.Web/wwwroot/js/ui.min.js @@ -1,9 +1,9 @@ class UI{static allowedToolbarItems=["sidebar-thumbnails","sidebar-document-ouline","sidebar-bookmarks","pager","pan","zoom-out","zoom-in","zoom-mode","spacer","search",];static Instance - static loadPSPDFKit(n,t,i,r){return UI.Instance=PSPDFKit.load({inlineWorkers:!1,locale:r,licenseKey:i,styleSheets:["/css/site.css"],container:t,document:n,annotationPresets:UI.getPresets(),electronicSignatures:{creationModes:["DRAW","TYPE","IMAGE"]},initialViewState:new PSPDFKit.ViewState({sidebarMode:PSPDFKit.SidebarMode.THUMBNAILS}),isEditableAnnotation:function(n){return n.isSignature||n.description=="FRAME"?!1:!0},customRenderers:{Annotation:UI.annotationRenderer}}),UI.Instance}static configurePSPDFKit(n,t){const i=UI.getToolbarItems(n,t);i.push({type:"export-pdf"});n.setToolbarItems(i)}static annotationRenderer(){return null}static getToolbarItems(n,t){const i=UI.getCustomItems(t),r=UI.getDefaultItems(n.toolbarItems);return r.concat(i)}static createElementFromHTML(n){const t=document.createElement("div");return t.innerHTML=n.trim(),t.firstChild}static getCustomItems=function(n){return[{type:"custom",id:"button-share",className:"button-share",title:"Teilen",onPress(){n("SHARE")},icon:` + static loadPSPDFKit(n,t,i,r){return UI.Instance=PSPDFKit.load({inlineWorkers:!1,locale:r,licenseKey:i,styleSheets:["/css/site.css"],container:t,document:n,annotationPresets:UI.getPresets(),electronicSignatures:{creationModes:["DRAW","TYPE","IMAGE"]},initialViewState:new PSPDFKit.ViewState({sidebarMode:PSPDFKit.SidebarMode.THUMBNAILS}),isEditableAnnotation:function(n){return n.isSignature||n.description=="FRAME"?!1:!0},customRenderers:{Annotation:UI.annotationRenderer}}),UI.Instance}static configurePSPDFKit(n,t){const i=UI.getToolbarItems(n,t);i.push({type:"export-pdf"});n.setToolbarItems(i)}static annotationRenderer(){return null}static getToolbarItems(n,t){const i=UI.getWritableItems(t),r=UI.getDefaultItems(n.toolbarItems);return r.concat(i)}static createElementFromHTML(n){const t=document.createElement("div");return t.innerHTML=n.trim(),t.firstChild}static getWritableItems=function(n){const t=new Array;if(!IS_READONLY)t.push({type:"custom",id:"button-share",className:"button-share",title:"Teilen",onPress(){n("SHARE")},icon:` - `}];return[{type:"custom",id:"button-reset",className:"button-reset",title:"Zurücksetzen",onPress(){n("RESET")},icon:` + `});var i=[{type:"custom",id:"button-reset",className:"button-reset",title:"Zurücksetzen",onPress(){n("RESET")},icon:` `},{type:"custom",id:"button-reject",className:"button-reject",title:"Ablehnen",onPress(){n("REJECT")},icon:` - `},{type:"custom",id:"button-finish",className:"button-finish",title:"Abschließen",onPress(){n("FINISH")}},]};static getDefaultItems(n){return n.filter(n=>UI.allowedToolbarItems.includes(n.type))}static getPresets(){const n=PSPDFKit.defaultAnnotationPresets;return n.ink={lineWidth:10},n.widget={readOnly:!0},n}} \ No newline at end of file + `},{type:"custom",id:"button-finish",className:"button-finish",title:"Abschließen",onPress(){n("FINISH")}},];return t};static getDefaultItems(n){return n.filter(n=>UI.allowedToolbarItems.includes(n.type))}static getPresets(){const n=PSPDFKit.defaultAnnotationPresets;return n.ink={lineWidth:10},n.widget={readOnly:!0},n}} \ No newline at end of file