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/05/31 15:58:01 UTC

[isis] 04/04: ISIS-2505 TableMenu fixed

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 6ccd59881f0635ff90b3caf8905f1c9ac3b71046
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Mon May 31 17:56:33 2021 +0200

    ISIS-2505 TableMenu fixed
---
 .../client/kroviz/ui/panel/EventLogTableMgr.kt     | 35 +++++++++++-----------
 1 file changed, 18 insertions(+), 17 deletions(-)

diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/EventLogTableMgr.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/EventLogTableMgr.kt
index c393758..abc6f31 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/EventLogTableMgr.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/panel/EventLogTableMgr.kt
@@ -19,46 +19,52 @@
 
 package org.apache.isis.client.kroviz.ui.panel
 
+import io.kvision.utils.obj
 import org.apache.isis.client.kroviz.core.event.EventStore
-import org.apache.isis.client.kroviz.ui.dialog.DiagramDialog
-import org.apache.isis.client.kroviz.ui.dialog.EventExportDialog
-import org.apache.isis.client.kroviz.ui.diagram.ClassDiagram
 import org.apache.isis.client.kroviz.ui.chart.ChartFactory
 import org.apache.isis.client.kroviz.ui.core.UiManager
 import org.apache.isis.client.kroviz.ui.diagram.SequenceDiagram
+import org.apache.isis.client.kroviz.ui.dialog.DiagramDialog
+import org.apache.isis.client.kroviz.ui.dialog.EventExportDialog
 import org.apache.isis.client.kroviz.utils.IconManager
 
 class EventLogTableMgr {
-    private class UIAction(val label: String, val action: dynamic) {}
 
     fun buildTableMenu(table: EventLogTable): dynamic {
-        val menu = mutableListOf<UIAction>()
+        val menu = mutableListOf<dynamic>()
 
-        val a1 = UIAction(buildLabel("Hierarchy", "Event Diagram"), {
-            this.eventDiagram()
-        })
+        val a1 = buildMenuEntry("Hierarchy", "Event Diagram",
+                { this.eventDiagram() })
         menu.add(a1)
 
-        val a2 = UIAction(buildLabel("Export", "Export Events ..."), {
+        val a2 = buildMenuEntry("Export", "Export Events ...", {
             EventExportDialog().open()
         })
         menu.add(a2)
 
-        val a3 = UIAction(buildLabel("Tabulator Download", "Tabulator Download"), {
+        val a3 = buildMenuEntry("Tabulator Download", "Tabulator Download", {
             this.downLoadCsv(table)
         })
         menu.add(a3)
 
         val title = "Chart"
-        val a4 = UIAction(buildLabel(title, title), {
+        val a4 = buildMenuEntry(title, title, {
             UiManager.add(title, ChartFactory().build(EventStore.log))
         })
         menu.add(a4)
 
-
         return menu.toTypedArray().asDynamic()
     }
 
+    private fun buildMenuEntry(icon: String, title: String, act: dynamic): dynamic {
+        val iconName = IconManager.find(icon)
+        val l = "<i class='$iconName'></i> $title"
+        return obj {
+            label = l
+            action = act
+        }
+    }
+
     private fun eventDiagram() {
         val code = SequenceDiagram.build(EventStore.log)!!
         DiagramDialog("Event Diagram", code).open()
@@ -68,9 +74,4 @@ class EventLogTableMgr {
         table.tabulator.downloadCSV("data.csv")
     }
 
-    private fun buildLabel(icon: String, title: String): String {
-        val iconName = IconManager.find(icon)
-        return "<i class='$iconName'></i> $title"
-    }
-
 }