You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by jo...@apache.org on 2021/07/06 15:21:08 UTC

[isis] 02/07: ISIS-2505 Credits/Icons/Buttons in RoStatusBar

This is an automated email from the ASF dual-hosted git repository.

joergrade pushed a commit to branch ISIS-2505_Catch_Up_With_Demo_Examples
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 5e2ed9ce1773d975138693297bbfeae3d9566a48
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Wed Jun 23 15:45:24 2021 +0200

    ISIS-2505 Credits/Icons/Buttons in RoStatusBar
---
 .../apache/isis/client/kroviz/to/bs3/Property.kt   |  6 ++--
 .../apache/isis/client/kroviz/ui/core/RoMenuBar.kt |  2 +-
 .../isis/client/kroviz/ui/core/RoStatusBar.kt      | 33 +++++++++++++++++-----
 .../kroviz/src/main/resources/css/kroviz.css       | 19 +++++++++++--
 4 files changed, 48 insertions(+), 12 deletions(-)

diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
index a9f245d..e42ee6e 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Property.kt
@@ -26,7 +26,7 @@ import org.w3c.dom.asList
 class Property(node: Node) {
     var id: String
     var link: Link? = null
-    var hidden: String // USE ENUM Where? = null
+    var hidden: String = "" // USE ENUM Where? = null
     var typicalLength: Int = 0
     var multiLine: Int = 1
     var describedAs: String? = null
@@ -35,7 +35,9 @@ class Property(node: Node) {
 
     init {
         val dn = node.asDynamic()
-        hidden = dn.getAttribute("hidden")
+        if (dn.hasOwnProperty("hidden")) {
+            id = dn.getAttribute("hidden") as String
+        }
         id = dn.getAttribute("id") as String
         typicalLength = dn.getAttribute("typicalLength")
         multiLine = dn.getAttribute("multiLine")
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
index c7c4565..820ae1f 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoMenuBar.kt
@@ -146,7 +146,7 @@ object RoMenuBar : SimplePanel() {
     }
 
     private fun logoButton() {
-        val classes = setOf("logo-button-image", "logo-button")
+        val classes = setOf("isis-logo-button-image", "logo-button")
         val logo = Button("", style = ButtonStyle.LINK, classes = classes)
                 .onClick {
                     window.open("https://isis.apache.org")
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoStatusBar.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoStatusBar.kt
index a8d0020..ee5bd00 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoStatusBar.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoStatusBar.kt
@@ -18,13 +18,6 @@
  */
 package org.apache.isis.client.kroviz.ui.core
 
-import org.apache.isis.client.kroviz.core.event.EventState
-import org.apache.isis.client.kroviz.core.event.LogEntry
-import org.apache.isis.client.kroviz.core.model.DiagramDM
-import org.apache.isis.client.kroviz.ui.dialog.DiagramDialog
-import org.apache.isis.client.kroviz.ui.dialog.NotificationDialog
-import org.apache.isis.client.kroviz.ui.diagram.ClassDiagram
-import org.apache.isis.client.kroviz.utils.IconManager
 import io.kvision.core.*
 import io.kvision.html.Button
 import io.kvision.html.ButtonStyle
@@ -32,6 +25,14 @@ import io.kvision.navbar.Nav
 import io.kvision.navbar.Navbar
 import io.kvision.navbar.NavbarType
 import io.kvision.panel.SimplePanel
+import kotlinx.browser.window
+import org.apache.isis.client.kroviz.core.event.EventState
+import org.apache.isis.client.kroviz.core.event.LogEntry
+import org.apache.isis.client.kroviz.core.model.DiagramDM
+import org.apache.isis.client.kroviz.ui.diagram.ClassDiagram
+import org.apache.isis.client.kroviz.ui.dialog.DiagramDialog
+import org.apache.isis.client.kroviz.ui.dialog.NotificationDialog
+import org.apache.isis.client.kroviz.utils.IconManager
 
 object RoStatusBar {
     val navbar = Navbar(
@@ -55,6 +56,8 @@ object RoStatusBar {
 
     init {
         navbar.add(nav)
+        nav.add(isisButton())
+        nav.add(kvisionButton())
         nav.add(lastError)
         nav.add(classDiagram)
         nav.add(userBtn)
@@ -112,4 +115,20 @@ object RoStatusBar {
         notify(text)
     }
 
+    private fun isisButton(): Button {
+        val classes = setOf("isis-logo-button-image", "logo-button")
+        return Button("", style = ButtonStyle.LINK, classes = classes)
+                .onClick {
+                    window.open("https://isis.apache.org")
+                }
+    }
+
+    private fun kvisionButton(): Button {
+        val classes = setOf("kvision-logo-button-image", "logo-button")
+        return Button("", style = ButtonStyle.LINK, classes = classes)
+                .onClick {
+                    window.open("https://kvision.io")
+                }
+    }
+
 }
diff --git a/incubator/clients/kroviz/src/main/resources/css/kroviz.css b/incubator/clients/kroviz/src/main/resources/css/kroviz.css
index 0035168..7f6c23e 100644
--- a/incubator/clients/kroviz/src/main/resources/css/kroviz.css
+++ b/incubator/clients/kroviz/src/main/resources/css/kroviz.css
@@ -137,9 +137,9 @@ div {
     /* font-family: Chicago, sans-serif;*/
 }
 
-.logo-button-image:before {
+.isis-logo-button-image:before {
     content: "";
-    width: 75px;
+    width: 65px;
     height: 40px;
     display: inline-block;
     vertical-align: text-top;
@@ -151,6 +151,21 @@ div {
     background-image: url("https://svn.apache.org/repos/asf/comdev/project-logos/originals/isis.svg");
 }
 
+.kvision-logo-button-image:before {
+    content: "";
+    width: 25px;
+    height: 40px;
+    display: inline-block;
+    vertical-align: text-top;
+    background-color: transparent;
+    background-position: center center;
+    background-repeat: no-repeat;
+    background-size: contain, cover;
+    background-image: url("https://kvision.io/0cdf370d4484d5f175f0.svg");
+}
+
+
+
 .kv-window {
     /* background-color: rgba(255,255,255, 0) !important;*/
 }