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"
- }
-
}