From d18a31f003ea93cdfb4efb4918a66fe48601eef6 Mon Sep 17 00:00:00 2001
From: Jonas Blatt <jonasblatt@uni-koblenz.de>
Date: Wed, 23 Oct 2019 00:10:43 +0200
Subject: [PATCH] Highlight row of last button click

---
 .../META-INF/resources/css/dmnEditorTabs.css      |  6 ------
 .../META-INF/resources/css/stylesheets.css        | 15 ++++++++++++++-
 .../META-INF/resources/js/dmnVerifier.js          |  5 +++--
 .../META-INF/resources/js/dmnVerifierActions.js   |  5 ++++-
 .../resources/META-INF/resources/js/dmnViewer.js  |  1 +
 5 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/dmnEditorTabs.css b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/dmnEditorTabs.css
index d55dd433..4f04db21 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/dmnEditorTabs.css
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/dmnEditorTabs.css
@@ -33,12 +33,6 @@
   width: 20%;
 }
 
-.highlight {
-  background-color: darkred !important;
-  fill: darkred !important;
-  color: white !important;
-}
-
 .dmn-js-parent {
   border: solid 1px #ccc;
 }
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
index 77f5a214..b20c63e3 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/css/stylesheets.css
@@ -265,6 +265,7 @@ span.select2 {
   margin: 10px;
   border-top: #0d82b7 2px;
   border-top-style: ridge;
+  border-radius: 3px;
 }
 
 .dmn-verification-icon {
@@ -313,5 +314,17 @@ span.select2 {
 .verification-fix-button {
   height: 25px;
   min-width: 100px;
-  margin: 2px 2px 2px 10px;
+  margin: 2px 2px 5px 10px;
+}
+
+.highlight {
+  background-color: darkred !important;
+  fill: darkred !important;
+  color: white !important;
+}
+
+.highlightsoft {
+  background-color: lightblue !important;
+  fill: lightblue !important;
+  color: black !important;
 }
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
index da9cc8e4..5e1fbfc7 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifier.js
@@ -306,7 +306,8 @@ function renderVerifier(verifier) {
  * @param {VerificationEntry} verificationEntry
  */
 function renderVerificationEntry(verificationEntry) {
-  let $entryContainer = $(`<div class="verification-container"></div>`);
+  let $entryContainer = $(
+      `<div id="ver-entry-${verificationEntry.id}" class="verification-container"></div>`);
   $entryContainer.append($(`
       <span class="dmn-verification-icon dmn-${verificationEntry.verificationClassification}"/>
   `));
@@ -331,7 +332,7 @@ function renderFixButtons($fixButtons, verificationEntry) {
       <button class="verification-fix-button clickable">${fix.fixName}</button>
     `);
     $fixButton.on('click', function () {
-      performVerificationFix(verificationEntry, fix);
+      performVerificationFix(verificationEntry, fix, verificationEntry.id);
     });
     $fixButtons.append($fixButton);
   }
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js
index 491e274e..484a851b 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnVerifierActions.js
@@ -3,8 +3,11 @@
  * @param {VerificationEntry}  verificationEntry
  * @param {VerificationFix} fix
  */
-function performVerificationFix(verificationEntry, fix) {
+function performVerificationFix(verificationEntry, fix, id) {
   console.log("FIX", fix);
+  // highlight row
+  $('.verification-container').removeClass('highlightsoft');
+  $('#ver-entry-' + id).addClass('highlightsoft');
   cleanHighlightFunction();
   for (let i = 0; i < fix.actions.length; i++) {
     switch (fix.actions[i].actionType) {
diff --git a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
index 8df73002..c2caa04b 100644
--- a/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
+++ b/dmnverifierfrontend/src/main/resources/META-INF/resources/js/dmnViewer.js
@@ -120,6 +120,7 @@ function performHighlightFunction() {
 }
 
 function cleanHighlightFunction() {
+  $('.verification-container').removeClass('highlightsoft');
   for (let i = 0; i < renderHighlightFunction.length; i++) {
     renderHighlightFunction[i].clean();
   }
-- 
GitLab