From 3e77260992c42506ca1e42b7004d920e889f91ff Mon Sep 17 00:00:00 2001 From: Elijah Tamarchenko Date: Wed, 30 Oct 2024 11:19:05 -0400 Subject: [PATCH 1/3] Fix diffview --- CHANGELOG.md | 1 + .../share/git-webui/webui/js/git-webui.js | 23 +++++++++++++++---- .../src/share/git-webui/webui/js/git-webui.js | 23 +++++++++++++++---- 3 files changed, 37 insertions(+), 10 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c24caad6..17c308b7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -51,6 +51,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Fixed changing favorites for users without permissions (#587) - Fix creating new branch from Git Web UI (#591) - Fix wording for Git Repo Root Directory (#601) +- Fix Diff View options not applying immediately (#590) ## [2.6.0] - 2024-10-07 diff --git a/git-webui/release/share/git-webui/webui/js/git-webui.js b/git-webui/release/share/git-webui/webui/js/git-webui.js index 5808d74e..32cd5c1c 100644 --- a/git-webui/release/share/git-webui/webui/js/git-webui.js +++ b/git-webui/release/share/git-webui/webui/js/git-webui.js @@ -1524,7 +1524,20 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi var self = this; - self.update = function(cmd, diffOpts, file, mode) { + self.update = function(cmd, diffOpts, file, mode, reRun) { + if (reRun) { + // Rerun with previous inputs + cmd = this.cmd + diffOpts = this.diffOpts + file = this.file + mode = this.mode + } else if (cmd || diffOpts || file || mode) { + // if new input, update all + this.cmd = cmd + this.diffOpts = diffOpts + this.file = file + this.mode = mode + } gitApplyType = mode; $(".diff-stage", self.element).attr("style", "display:none"); $(".diff-cancel", self.element).attr("style", "display:none"); @@ -1789,24 +1802,24 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi self.addContext = function() { self.context += 3; - self.update(); + self.update(...[,,,,],1); } self.removeContext = function() { if (self.context > 3) { self.context -= 3; - self.update(); + self.update(...[,,,,],1); } } self.allContext = function() { self.complete = !self.complete; - self.update(); + self.update(...[,,,,],1); } self.toggleIgnoreWhitespace = function() { self.ignoreWhitespace = !self.ignoreWhitespace; - self.update(); + self.update(...[,,,,],1); } self.handleClick = function(event) { diff --git a/git-webui/src/share/git-webui/webui/js/git-webui.js b/git-webui/src/share/git-webui/webui/js/git-webui.js index 5808d74e..32cd5c1c 100644 --- a/git-webui/src/share/git-webui/webui/js/git-webui.js +++ b/git-webui/src/share/git-webui/webui/js/git-webui.js @@ -1524,7 +1524,20 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi var self = this; - self.update = function(cmd, diffOpts, file, mode) { + self.update = function(cmd, diffOpts, file, mode, reRun) { + if (reRun) { + // Rerun with previous inputs + cmd = this.cmd + diffOpts = this.diffOpts + file = this.file + mode = this.mode + } else if (cmd || diffOpts || file || mode) { + // if new input, update all + this.cmd = cmd + this.diffOpts = diffOpts + this.file = file + this.mode = mode + } gitApplyType = mode; $(".diff-stage", self.element).attr("style", "display:none"); $(".diff-cancel", self.element).attr("style", "display:none"); @@ -1789,24 +1802,24 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi self.addContext = function() { self.context += 3; - self.update(); + self.update(...[,,,,],1); } self.removeContext = function() { if (self.context > 3) { self.context -= 3; - self.update(); + self.update(...[,,,,],1); } } self.allContext = function() { self.complete = !self.complete; - self.update(); + self.update(...[,,,,],1); } self.toggleIgnoreWhitespace = function() { self.ignoreWhitespace = !self.ignoreWhitespace; - self.update(); + self.update(...[,,,,],1); } self.handleClick = function(event) { From c76fea668c11294982748693471f955a6eaf01e9 Mon Sep 17 00:00:00 2001 From: Elijah Tamarchenko Date: Wed, 30 Oct 2024 13:54:32 -0400 Subject: [PATCH 2/3] simplify reRunning diff update --- .../src/share/git-webui/webui/js/git-webui.js | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/git-webui/src/share/git-webui/webui/js/git-webui.js b/git-webui/src/share/git-webui/webui/js/git-webui.js index 32cd5c1c..6825f72c 100644 --- a/git-webui/src/share/git-webui/webui/js/git-webui.js +++ b/git-webui/src/share/git-webui/webui/js/git-webui.js @@ -1524,14 +1524,8 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi var self = this; - self.update = function(cmd, diffOpts, file, mode, reRun) { - if (reRun) { - // Rerun with previous inputs - cmd = this.cmd - diffOpts = this.diffOpts - file = this.file - mode = this.mode - } else if (cmd || diffOpts || file || mode) { + self.update = function(cmd, diffOpts, file, mode) { + if (cmd || diffOpts || file || mode) { // if new input, update all this.cmd = cmd this.diffOpts = diffOpts @@ -1589,6 +1583,10 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi } }; + self.reRun = function() { + self.update(this.cmd, this.diffOpts, this.file, this.mode) + } + self.refresh = function(diff) { self.currentDiff = diff; self.diffHeader = ""; @@ -1802,24 +1800,24 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi self.addContext = function() { self.context += 3; - self.update(...[,,,,],1); + self.reRun(); } self.removeContext = function() { if (self.context > 3) { self.context -= 3; - self.update(...[,,,,],1); + self.reRun(); } } self.allContext = function() { self.complete = !self.complete; - self.update(...[,,,,],1); + self.reRun(); } self.toggleIgnoreWhitespace = function() { self.ignoreWhitespace = !self.ignoreWhitespace; - self.update(...[,,,,],1); + self.reRun(); } self.handleClick = function(event) { From 947cb000c080e3c1e2971fe3a83b3357c933cc9b Mon Sep 17 00:00:00 2001 From: Elijah Tamarchenko Date: Wed, 30 Oct 2024 16:45:20 -0400 Subject: [PATCH 3/3] Update git-webui.js --- .../share/git-webui/webui/js/git-webui.js | 22 +++++++++---------- 1 file changed, 10 insertions(+), 12 deletions(-) diff --git a/git-webui/release/share/git-webui/webui/js/git-webui.js b/git-webui/release/share/git-webui/webui/js/git-webui.js index 32cd5c1c..6825f72c 100644 --- a/git-webui/release/share/git-webui/webui/js/git-webui.js +++ b/git-webui/release/share/git-webui/webui/js/git-webui.js @@ -1524,14 +1524,8 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi var self = this; - self.update = function(cmd, diffOpts, file, mode, reRun) { - if (reRun) { - // Rerun with previous inputs - cmd = this.cmd - diffOpts = this.diffOpts - file = this.file - mode = this.mode - } else if (cmd || diffOpts || file || mode) { + self.update = function(cmd, diffOpts, file, mode) { + if (cmd || diffOpts || file || mode) { // if new input, update all this.cmd = cmd this.diffOpts = diffOpts @@ -1589,6 +1583,10 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi } }; + self.reRun = function() { + self.update(this.cmd, this.diffOpts, this.file, this.mode) + } + self.refresh = function(diff) { self.currentDiff = diff; self.diffHeader = ""; @@ -1802,24 +1800,24 @@ webui.DiffView = function(sideBySide, hunkSelectionAllowed, parent, stashedCommi self.addContext = function() { self.context += 3; - self.update(...[,,,,],1); + self.reRun(); } self.removeContext = function() { if (self.context > 3) { self.context -= 3; - self.update(...[,,,,],1); + self.reRun(); } } self.allContext = function() { self.complete = !self.complete; - self.update(...[,,,,],1); + self.reRun(); } self.toggleIgnoreWhitespace = function() { self.ignoreWhitespace = !self.ignoreWhitespace; - self.update(...[,,,,],1); + self.reRun(); } self.handleClick = function(event) {