add onhover edit icons for editing version, component, variant - resolves #734

Sat, 04 Oct 2025 14:41:35 +0200

author
Mike Becker <universe@uap-core.de>
date
Sat, 04 Oct 2025 14:41:35 +0200
changeset 393
0b5b37572021
parent 392
c0c7b4ca2946
child 394
b6357a984ae7

add onhover edit icons for editing version, component, variant - resolves #734

src/main/kotlin/de/uapcore/lightpit/Constants.kt file | annotate | diff | comparison | revisions
src/main/kotlin/de/uapcore/lightpit/viewmodel/NavMenus.kt file | annotate | diff | comparison | revisions
src/main/webapp/WEB-INF/jspf/navmenu.jspf file | annotate | diff | comparison | revisions
src/main/webapp/lightpit.css file | annotate | diff | comparison | revisions
--- a/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Sat Oct 04 13:34:33 2025 +0200
+++ b/src/main/kotlin/de/uapcore/lightpit/Constants.kt	Sat Oct 04 14:41:35 2025 +0200
@@ -29,7 +29,7 @@
     /**
      * A data in yyyy-mm-dd format to identify the release.
      */
-    const val VERSION_DATE = "2025-09-22"
+    const val VERSION_DATE = "2025-10-04"
 
     /**
      * The path where the JSP files reside.
--- a/src/main/kotlin/de/uapcore/lightpit/viewmodel/NavMenus.kt	Sat Oct 04 13:34:33 2025 +0200
+++ b/src/main/kotlin/de/uapcore/lightpit/viewmodel/NavMenus.kt	Sat Oct 04 14:41:35 2025 +0200
@@ -35,7 +35,8 @@
     val title: String = "",
     val active: Boolean = false,
     val resolveCaption: Boolean = false,
-    val iconColor: String? = null
+    val iconColor: String? = null,
+    val editHref: String? = null
 ) {
     val iconUseCssClass = iconColor != null && !iconColor.startsWith("#")
 }
@@ -118,6 +119,7 @@
                                 caption = version.name,
                                 title = "version.status.${version.status}",
                                 href = "projects/${project.node}/issues/${version.node}/${cnode}/${varnode}/",
+                                editHref = "projects/${project.node}/versions/${version.node}/edit",
                                 iconColor = "version-${version.status}",
                                 active = version.node == vnode
                             )
@@ -169,6 +171,7 @@
                                 level = 2,
                                 caption = component.name,
                                 href = "projects/${project.node}/issues/${vnode}/${component.node}/${varnode}/",
+                                editHref = "projects/${project.node}/components/${component.node}/edit",
                                 iconColor = "${component.color}",
                                 active = component.node == cnode
                             )
@@ -220,6 +223,7 @@
                                 level = 2,
                                 caption = variant.name,
                                 href = "projects/${project.node}/issues/${vnode}/${cnode}/${variant.node}/",
+                                editHref = "projects/${project.node}/variants/${variant.node}/edit",
                                 iconColor = "${variant.color}",
                                 active = variant.node == varnode
                             )
--- a/src/main/webapp/WEB-INF/jspf/navmenu.jspf	Sat Oct 04 13:34:33 2025 +0200
+++ b/src/main/webapp/WEB-INF/jspf/navmenu.jspf	Sat Oct 04 14:41:35 2025 +0200
@@ -51,5 +51,8 @@
                 <c:out value="${entry.caption}"/>
             </c:if>
         </a>
+        <c:if test="${not empty entry.editHref}">
+            <a class="onhover-edit-icon" href="${entry.editHref}">&#x270e;</a>
+        </c:if>
     </div>
 </c:forEach>
--- a/src/main/webapp/lightpit.css	Sat Oct 04 13:34:33 2025 +0200
+++ b/src/main/webapp/lightpit.css	Sat Oct 04 14:41:35 2025 +0200
@@ -131,6 +131,14 @@
     border-bottom-color: #d7d7df;
 }
 
+#sideMenu .menuEntry .onhover-edit-icon {
+    display: none;
+}
+
+#sideMenu .menuEntry:hover .onhover-edit-icon {
+    display: initial;
+}
+
 #mainMenu .menuEntry[data-active] {
     background: #d0d0d5;
 }

mercurial