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/11/12 17:09:07 UTC
[isis] 06/07: ISIS-2348 amend LoginPrompt with dropdown for
localhost & incode
This is an automated email from the ASF dual-hosted git repository.
joergrade pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 7c3d99da7535a1d9a9eeb3ea7cf37671b6bb69a7
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Fri Nov 12 18:07:57 2021 +0100
ISIS-2348 amend LoginPrompt with dropdown for localhost & incode
---
.../apache/isis/client/kroviz/ui/core/RoView.kt | 26 +++++++++++++++-------
.../isis/client/kroviz/ui/dialog/LoginPrompt.kt | 12 +++++++---
.../client/kroviz/ui/kv/override/RoTabPanel.kt | 2 +-
3 files changed, 28 insertions(+), 12 deletions(-)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoView.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoView.kt
index ac32af2..834c160 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoView.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/core/RoView.kt
@@ -22,8 +22,10 @@ import io.kvision.core.BsBorder
import io.kvision.core.Component
import io.kvision.core.addBsBorder
import io.kvision.panel.SimplePanel
+import org.apache.isis.client.kroviz.ui.kv.override.RoTab
import org.apache.isis.client.kroviz.ui.kv.override.RoTabPanel
import org.apache.isis.client.kroviz.utils.IconManager
+import org.w3c.dom.Element
/**
* Area between menu bar at the top and the status bar at the bottom.
@@ -35,8 +37,9 @@ class RoView() {
private var tabCount = 0
fun addTab(
- title: String,
- panel: Component) {
+ title: String,
+ panel: Component
+ ) {
panel.addBsBorder(BsBorder.BORDER)
val index = tabPanel.findTab(title)
if (index != null) {
@@ -47,13 +50,20 @@ class RoView() {
}
val icon = IconManager.find(title)
+ val tab = RoTab(
+ title,
+ panel,
+ icon,
+ image = null,
+ closable = true
+ )
+ tab.addAfterInsertHook {
+ tab.getElement()?.unsafeCast<Element>()?.querySelector("i")?.addEventListener("click", {
+ console.log("icon clicked")
+ })
+ }
- tabPanel.addTab(
- title,
- panel,
- icon,
- image = null,
- closable = true)
+ tabPanel.add(tab)
tabPanel.activeIndex = tabCount
tabCount += 1
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/LoginPrompt.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/LoginPrompt.kt
index 628057b..8a3b12f 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/LoginPrompt.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/dialog/LoginPrompt.kt
@@ -18,6 +18,8 @@
*/
package org.apache.isis.client.kroviz.ui.dialog
+import io.kvision.core.StringPair
+import io.kvision.form.select.SimpleSelect
import io.kvision.form.text.Password
import io.kvision.form.text.Text
import org.apache.isis.client.kroviz.to.Link
@@ -38,7 +40,10 @@ class LoginPrompt : Command() {
fun open() {
val formItems = mutableListOf<FormItem>()
- formItems.add(FormItem("Url", ValueType.TEXT, url))
+ val urlList = mutableListOf<StringPair>()
+ urlList.add(StringPair(Constants.demoUrl, Constants.demoUrl))
+ urlList.add(StringPair(Constants.demoUrlRemote, Constants.demoUrlRemote))
+ formItems.add(FormItem("Url", ValueType.SIMPLE_SELECT, urlList))
formItems.add(FormItem("User", ValueType.TEXT, username))
formItems.add(FormItem("Password", ValueType.PASSWORD, password))
form = RoDialog(caption = "Connect", items = formItems, command = this, heightPerc = 27)
@@ -62,10 +67,11 @@ class LoginPrompt : Command() {
//iterate over FormItems (0,1,2) but not Buttons(3,4)
for (i in kids) {
when (i) {
+ is SimpleSelect -> {
+ url = i.getValue()!!
+ }
is Text -> {
key = i.label!!
- if (key == "Url")
- url = i.getValue()!!
if (key == "User")
username = i.getValue()!!
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/override/RoTabPanel.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/override/RoTabPanel.kt
index 3f4da88..be62852 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/override/RoTabPanel.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/override/RoTabPanel.kt
@@ -71,7 +71,7 @@ enum class SideTabSize {
open class RoTabPanel(
protected val tabPosition: TabPosition = TabPosition.TOP,
protected val sideTabSize: SideTabSize = SideTabSize.SIZE_3,
- val scrollableTabs: Boolean = false,
+ val scrollableTabs: Boolean = true,
val draggableTabs: Boolean = false,
className: String? = null,
init: (RoTabPanel.() -> Unit)? = null