From 07208759b76aaad640ab1287fb644e4f3ea27e00 Mon Sep 17 00:00:00 2001 From: isc-hwojnick Date: Tue, 30 Jul 2024 16:31:02 -0400 Subject: [PATCH 1/9] temp ui sidebar change --- .../share/git-webui/webui/css/git-webui.css | 15 +++++++++++++-- .../share/git-webui/webui/js/git-webui.js | 3 +++ .../share/git-webui/webui/css/git-webui.less | 17 +++++++++++++++-- .../src/share/git-webui/webui/js/git-webui.js | 3 +++ 4 files changed, 34 insertions(+), 4 deletions(-) diff --git a/git-webui/release/share/git-webui/webui/css/git-webui.css b/git-webui/release/share/git-webui/webui/css/git-webui.css index aeb3a5b0..fcc0fc28 100644 --- a/git-webui/release/share/git-webui/webui/css/git-webui.css +++ b/git-webui/release/share/git-webui/webui/css/git-webui.css @@ -180,10 +180,10 @@ body { border-top: 1px solid #1a1a1a; border-bottom: 1px solid #1a1a1a; color: #eeeeee; - padding-bottom: 6em; + padding-bottom: 100px; } #sidebar #sidebar-content > :first-child, -#sidebar #sidebar-content > :last-child { +#sidebar #sidebar-content > :nth-last-child(2) { border-top: 1px solid #5e5e5e; } #sidebar #sidebar-content h4:before { @@ -216,6 +216,17 @@ body { #sidebar #sidebar-content #sidebar-tags h4:before { content: url(../img/tag.svg); } +#sidebar #sidebar-content #sidebar-context h4:before { + content: url(../img/gear-fill.svg); +} +#sidebar #sidebar-content #sidebar-context { + position: absolute; + bottom: 42px; + width: 16.7em; + padding-bottom: 0.3rem; + margin-bottom: 0; + background-color: #333333; +} #sidebar #sidebar-content #sidebar-settings h4:before { content: url(../img/gear-fill.svg); } 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 e36f87b6..6b0bc67d 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 @@ -798,6 +798,9 @@ webui.SideBarView = function(mainView, noEventHandlers) { '' + + '' + '' + diff --git a/git-webui/src/share/git-webui/webui/css/git-webui.less b/git-webui/src/share/git-webui/webui/css/git-webui.less index 62700a43..0b5edffb 100644 --- a/git-webui/src/share/git-webui/webui/css/git-webui.less +++ b/git-webui/src/share/git-webui/webui/css/git-webui.less @@ -255,9 +255,9 @@ body { border-top: 1px solid darken(@gray-dark, 10%); border-bottom: 1px solid darken(@gray-dark, 10%); color: @gray-lighter; - padding-bottom: 6em; + padding-bottom: 100px; - > :first-child, >:last-child { + > :first-child, >:nth-last-child(2) { border-top: 1px solid darken(@separator-line, 50%); } @@ -301,6 +301,19 @@ body { content: url(../img/tag.svg); } + #sidebar-context h4:before { + content: url(../img/gear-fill.svg) + } + + #sidebar-context { + position: absolute; + bottom: 42px; + width: 16.7em; + padding-bottom: 0.3rem; + margin-bottom: 0; + background-color: rgba(51, 51, 51, 1); + } + #sidebar-settings h4:before { content: url(../img/gear-fill.svg); } 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 e36f87b6..6b0bc67d 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 @@ -798,6 +798,9 @@ webui.SideBarView = function(mainView, noEventHandlers) { '' + + '' + '' + From d871bdd07a00a15d5938db6ceedab3c68db18f9d Mon Sep 17 00:00:00 2001 From: isc-hwojnick Date: Thu, 1 Aug 2024 09:08:32 -0400 Subject: [PATCH 2/9] commit before changing branch --- cls/SourceControl/Git/Utils.cls | 41 ++++++++++++++ cls/SourceControl/Git/WebUIDriver.cls | 5 +- .../share/git-webui/webui/css/git-webui.css | 2 +- .../share/git-webui/webui/img/context.svg | 1 + .../share/git-webui/webui/js/git-webui.js | 53 ++++++++++++++++++- .../share/git-webui/webui/css/git-webui.less | 2 +- .../src/share/git-webui/webui/img/context.svg | 1 + .../src/share/git-webui/webui/js/git-webui.js | 53 ++++++++++++++++++- 8 files changed, 153 insertions(+), 5 deletions(-) create mode 100644 git-webui/release/share/git-webui/webui/img/context.svg create mode 100644 git-webui/src/share/git-webui/webui/img/context.svg diff --git a/cls/SourceControl/Git/Utils.cls b/cls/SourceControl/Git/Utils.cls index 5c08b581..8719acc7 100644 --- a/cls/SourceControl/Git/Utils.cls +++ b/cls/SourceControl/Git/Utils.cls @@ -2316,6 +2316,47 @@ ClassMethod Localize() } } +Query Namespaces() As %Query(ROWSPEC = "Namespace:%String,SourceControlClass:%String,Accessible:%Boolean") [ SqlProc ] +{ +} + +ClassMethod NamespacesExecute(ByRef qHandle As %Binary) As %Status +{ + Set sc = ##class(%SYS.Namespace).ListAll(.array) + Merge qHandle = array + Set qHandle = "" + Quit sc +} + +ClassMethod NamespacesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) As %Status [ PlaceAfter = NamespacesExecute ] +{ + Set qHandle = $Order(qHandle(qHandle)) + If (qHandle = "") { + Set AtEnd = 1 + } ElseIf $Extract(qHandle) = "^" { + Quit ..NamespacesFetch(.qHandle,.Row,.AtEnd) + } Else { + Try { + New $Namespace + Set $Namespace = qHandle + Set scc = ##class(%Studio.SourceControl.Interface).SourceControlClassGet() + Set Row = $ListBuild(qHandle,scc,1) + } Catch e { + Set Row = $ListBuild(qHandle,"",0) + } + } + Quit $$$OK +} + +ClassMethod NamespacesClose(ByRef qHandle As %Binary) As %Status [ PlaceAfter = NamespacesExecute ] +{ + Quit $$$OK +} + +ClassMethod GetContexts() As %DynamicArray{ + +} + ClassMethod ConfigureWeb() { set installNamespace = $Namespace diff --git a/cls/SourceControl/Git/WebUIDriver.cls b/cls/SourceControl/Git/WebUIDriver.cls index e271c9bf..9ad10732 100644 --- a/cls/SourceControl/Git/WebUIDriver.cls +++ b/cls/SourceControl/Git/WebUIDriver.cls @@ -27,7 +27,7 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out if $isobject($get(responseJSON)) { do responseJSON.%ToJSON(%data) } - } elseif $match(pathStart,"git|dirname|hostname|viewonly") { + } elseif $match(pathStart,"git|dirname|hostname|viewonly|contexts") { if (%request.Method = "GET") { set %data = ##class(%Stream.TmpCharacter).%New() // Things not handled from Python backend: @@ -76,6 +76,9 @@ ClassMethod HandleRequest(pagePath As %String, InternalName As %String = "", Out } elseif (pathStart = "dirname") { do %data.Write(##class(SourceControl.Git.Utils).TempFolder()) set handled = 1 + } elseif (pathStart = "contexts") { + set contexts = ##class(SourceControl.Git.Utils).GetContexts() + } } elseif (%request.Method = "POST") { // Things not handled from Python backend: diff --git a/git-webui/release/share/git-webui/webui/css/git-webui.css b/git-webui/release/share/git-webui/webui/css/git-webui.css index fcc0fc28..a05571e6 100644 --- a/git-webui/release/share/git-webui/webui/css/git-webui.css +++ b/git-webui/release/share/git-webui/webui/css/git-webui.css @@ -217,7 +217,7 @@ body { content: url(../img/tag.svg); } #sidebar #sidebar-content #sidebar-context h4:before { - content: url(../img/gear-fill.svg); + content: url(../img/context.svg); } #sidebar #sidebar-content #sidebar-context { position: absolute; diff --git a/git-webui/release/share/git-webui/webui/img/context.svg b/git-webui/release/share/git-webui/webui/img/context.svg new file mode 100644 index 00000000..e3732172 --- /dev/null +++ b/git-webui/release/share/git-webui/webui/img/context.svg @@ -0,0 +1 @@ + \ No newline at end of file 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 6b0bc67d..82c7c0b5 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 @@ -504,6 +504,56 @@ webui.SideBarView = function(mainView, noEventHandlers) { }) } + self.changeContext = function() { + function removePopup(popup) { + $(popup).children(".modal-fade").modal("hide"); + $(".modal-backdrop").remove(); + $("#changeContextModal").remove(); + } + + var popup = $( + '' + )[0]; + + $("body").append(popup); + var popupBody = $(".modal-body", popup)[0]; + webui.detachChildren(popupBody); + + $( + '
'+ + '
Select context for Git Source Control
' + + '' + + '
' + ).appendTo(popupBody); + + var popupFooter = $(".modal-footer", popup)[0]; + webui.detachChildren(popupFooter); + + $( + '' + + '' + ).appendTo(popupFooter); + + $(popup).modal('show'); + + $('#changeContextModal').find('#cancelContextBtn', '.close').click(function() { + removePopup(popup); + }); + } + self.checkoutBranch = function(branchType, refName) { $("#confirm-branch-checkout").remove(); @@ -798,7 +848,7 @@ webui.SideBarView = function(mainView, noEventHandlers) { '' + - '