From f9b2c63d3c8c532103fe9791922dba575015f9fb Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Tue, 16 Sep 2025 21:31:58 -0700 Subject: [PATCH 1/2] CSP fix --- ehr/resources/web/ehr/panel/ClinicalManagementPanel.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js b/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js index e2f5d03b5..562b23cd4 100644 --- a/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js +++ b/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js @@ -244,8 +244,11 @@ Ext4.define('EHR.panel.ClinicalManagementPanel', { }, updateVetColumn: function(el, storeCollection, objectId){ - el.style.setProperty('text-decoration', 'line-through'); - el.setAttribute( 'onclick', 'EHR.panel.ClinicalManagementPanel.replaceSoap({objectid: \'' + objectId + '\', scope: this, callback: function(){EHR.panel.ClinicalManagementPanel.updateVetColumn(this, arguments[0], arguments[1]);}})'); + el.style?.setProperty?.('text-decoration', 'line-through'); + Ext4.get(el).on('click', function(e){ + e.preventDefault(); + EHR.panel.ClinicalManagementPanel.replaceSoap({objectid: objectId, scope: this, callback: function(){EHR.panel.ClinicalManagementPanel.updateVetColumn(this, arguments[0], arguments[1]);}}) + }) }, displayActionMenu: function(el, subjectId){ From 2dd6e99b97c68b5068544d4dd9e99759b4fbfc01 Mon Sep 17 00:00:00 2001 From: Marty Pradere Date: Wed, 17 Sep 2025 08:58:09 -0700 Subject: [PATCH 2/2] Non-extjs --- .../web/ehr/panel/ClinicalManagementPanel.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js b/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js index 562b23cd4..2bd06e3d6 100644 --- a/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js +++ b/ehr/resources/web/ehr/panel/ClinicalManagementPanel.js @@ -244,11 +244,16 @@ Ext4.define('EHR.panel.ClinicalManagementPanel', { }, updateVetColumn: function(el, storeCollection, objectId){ - el.style?.setProperty?.('text-decoration', 'line-through'); - Ext4.get(el).on('click', function(e){ + const me = this; + const newEl = el.cloneNode(true); + el.parentNode.replaceChild(newEl, el); + + newEl.addEventListener('click', function(e) { e.preventDefault(); - EHR.panel.ClinicalManagementPanel.replaceSoap({objectid: objectId, scope: this, callback: function(){EHR.panel.ClinicalManagementPanel.updateVetColumn(this, arguments[0], arguments[1]);}}) - }) + EHR.panel.ClinicalManagementPanel.replaceSoap({objectid: objectId, scope: me, callback: function(){EHR.panel.ClinicalManagementPanel.updateVetColumn(newEl, arguments[0], arguments[1]);}}) + }); + + newEl.style.setProperty('text-decoration', 'line-through'); }, displayActionMenu: function(el, subjectId){