From 6941a3db8d97405d2a6ce2999153aa81ad9a801a Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Mon, 8 Apr 2024 17:05:01 +0200 Subject: [PATCH] Optimize data handling by embedding EnvelopeResponse in Razor Page, eliminating additional requests --- .../Controllers/HomeController.cs | 2 +- .../Views/Home/ShowEnvelope.cshtml | 15 ++++++++++- EnvelopeGenerator.Web/wwwroot/js/app.js | 26 +++---------------- 3 files changed, 19 insertions(+), 24 deletions(-) diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index 156fcccc..0399e974 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -83,7 +83,7 @@ namespace EnvelopeGenerator.Web.Controllers var envelope = await _envelopeService.ReadByUuidAsync(uuid: decodedId.EnvelopeUuid, signature: decodedId.ReceiverSignature, withAll:true); database.Services.actionService.EnterCorrectAccessCode(response.Envelope, response.Receiver); //for history ViewData["EnvelopeKey"] = envelopeReceiverId; - ViewData["EnveResponse"] = response; + ViewData["EnvelopeResponse"] = response; return View("ShowEnvelope", envelope); } else diff --git a/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml b/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml index 68502d18..ba254590 100644 --- a/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml +++ b/EnvelopeGenerator.Web/Views/Home/ShowEnvelope.cshtml @@ -44,6 +44,7 @@ } + diff --git a/EnvelopeGenerator.Web/wwwroot/js/app.js b/EnvelopeGenerator.Web/wwwroot/js/app.js index 0e27e98c..ebcc348a 100644 --- a/EnvelopeGenerator.Web/wwwroot/js/app.js +++ b/EnvelopeGenerator.Web/wwwroot/js/app.js @@ -10,7 +10,7 @@ const ActionType = { } class App { - constructor(container, envelopeKey) { + constructor(container, envelopeKey, envelopeResponse) { this.container = container this.envelopeKey = envelopeKey @@ -22,33 +22,15 @@ class App { this.currentDocument = null this.currentReceiver = null this.signatureCount = 0 + this.envelopeResponse = envelopeResponse; } // This function will be called from the ShowEnvelope.razor page // and will trigger loading of the Editor Interface async init() { // Load the envelope from the database - console.debug('Loading envelope from database..') - const envelopeResponse = await this.Network.getEnvelope(this.envelopeKey) - - if (envelopeResponse.fatal) { - return Swal.fire({ - title: 'Fehler', - text: 'Umschlag konnte nicht geladen werden!', - icon: 'error', - }) - } - - if (envelopeResponse.error) { - return Swal.fire({ - title: 'Warnung', - text: 'Umschlag ist nicht mehr verfügbar.', - icon: 'warning', - }) - } - - this.currentDocument = envelopeResponse.data.envelope.documents[0] - this.currentReceiver = envelopeResponse.data.receiver + this.currentDocument = this.envelopeResponse.envelope.documents[0] + this.currentReceiver = this.envelopeResponse.receiver // Load the document from the filestore console.debug('Loading document from filestore')