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 2022/12/29 11:25:31 UTC
[isis] 04/05: ISIS-3171 columns in parented collections not hidden by default
This is an automated email from the ASF dual-hosted git repository.
joergrade pushed a commit to branch ISIS-3171
in repository https://gitbox.apache.org/repos/asf/isis.git
commit ae4d83d6a9b92ff26851b1d90c0797cd2287acba
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Thu Dec 29 00:35:04 2022 +0100
ISIS-3171 columns in parented collections not hidden by default
---
.../partials/design/class-diagram_aggregator.adoc | 10 +-
.../partials/design/class-diagram_layout.adoc | 101 +++++++++++++++++++++
incubator/clients/kroviz/build.gradle.kts | 2 +-
.../kroviz/core/aggregator/AggregatorWithLayout.kt | 12 +--
.../kroviz/core/aggregator/CollectionAggregator.kt | 10 +-
.../kroviz/core/aggregator/ObjectAggregator.kt | 9 +-
.../causeway/client/kroviz/core/event/LogEntry.kt | 25 +++--
.../client/kroviz/core/model/CollectionDM.kt | 2 +
.../kroviz/core/model/CollectionProperties.kt | 88 ++++++++++--------
...CollectionProperties.kt => ColumnProperties.kt} | 72 +++------------
.../kroviz/core/model/DisplayModelWithLayout.kt | 31 +++----
.../causeway/client/kroviz/core/model/ObjectDM.kt | 6 +-
.../client/kroviz/handler/LayoutXmlHandler.kt | 4 +-
.../kroviz/to/{bs3/Action.kt => bs/ActionBs.kt} | 8 +-
.../client/kroviz/to/{bs3/Col.kt => bs/ColBs.kt} | 32 +++----
.../to/{bs3/Collection.kt => bs/CollectionBs.kt} | 8 +-
.../{bs3/DomainObject.kt => bs/DomainObjectBs.kt} | 4 +-
.../to/{bs3/FieldSet.kt => bs/FieldSetBs.kt} | 12 +--
.../client/kroviz/to/{bs3/Grid.kt => bs/GridBs.kt} | 12 +--
.../client/kroviz/to/{bs3/Link.kt => bs/LinkBs.kt} | 4 +-
.../to/{bs3/Property.kt => bs/PropertyBs.kt} | 10 +-
.../client/kroviz/to/{bs3/Row.kt => bs/RowBs.kt} | 12 +--
.../client/kroviz/to/{bs3/Tab.kt => bs/TabBs.kt} | 12 +--
.../to/{bs3/TabGroup.kt => bs/TabGroupBs.kt} | 12 +--
.../client/kroviz/to/{bs3 => bs}/XmlLayout.kt | 2 +-
.../client/kroviz/ui/builder/ColBuilder.kt | 8 +-
.../client/kroviz/ui/builder/FieldSetBuilder.kt | 23 ++---
.../client/kroviz/ui/builder/LayoutBuilder.kt | 4 +-
.../client/kroviz/ui/builder/RowBuilder.kt | 17 ++--
.../client/kroviz/ui/builder/TabBuilder.kt | 6 +-
.../client/kroviz/ui/builder/TabGroupBuilder.kt | 6 +-
.../client/kroviz/ui/core/ColumnFactory.kt | 2 +-
.../client/kroviz/ui/diagram/LayoutDiagram.kt | 12 +--
.../client/kroviz/ui/dialog/EventLogDetail.kt | 9 +-
.../core/aggregator/CollectionAggregatorTest.kt | 4 +-
.../client/kroviz/core/model/CollectionDMTest.kt | 6 +-
.../client/kroviz/to/{bs3 => bs}/LayoutXmlTest.kt | 8 +-
37 files changed, 339 insertions(+), 266 deletions(-)
diff --git a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc
index 0b4462c025..a410388c44 100644
--- a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc
+++ b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_aggregator.adoc
@@ -31,10 +31,10 @@ package "to" {
TransferObject <|-- TObject
TransferObject <|-- Icon
- package "bs3" {
- class Grid{}
+ package "bs" {
+ class GridBs{}
}
- TransferObject <|- Grid
+ TransferObject <|- GridBs
}
package "aggregator" {
@@ -98,8 +98,8 @@ package "model" {
abstract class DisplayModelWithLayout {
layout: Layout
- grid: Grid
- properties: CollectionProperties
+ grid: GridBs
+ collectionProperties: CollectionProperties
icon: Icon
+ canBeDisplayed()
}
diff --git a/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc
new file mode 100644
index 0000000000..b1cc26b987
--- /dev/null
+++ b/incubator/clients/kroviz/adoc/modules/kroviz/partials/design/class-diagram_layout.adoc
@@ -0,0 +1,101 @@
+:Notice: Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at. http://www.apache.org/licenses/LICENSE-2.0 . Unless required by applicable law or ag [...]
+
+.Layout Diagram
+[plantuml,file="class-diagram_layout.png"]
+----
+@startuml
+
+class Property{
+}
+class PropertyLt{
+}
+class PropertyBs{
+}
+
+class ColumnProperties{
+ property: Property
+ friendlyName: String
+ layout: PropertyLt
+ grid: PropertyBs
+ hidden: Boolean
+}
+ColumnProperties o-- Property
+ColumnProperties o-- PropertyLt
+ColumnProperties o-- PropertyBs
+class CollectionProperties {
+ list : List<ColumnProperties>
+ propertyDescriptionList : List<Property>
+ propertyLayoutList : List<PropertyLt>
+ propertyGridList : List<PropertyBs>
+ propertyList : List<Property>
+ descriptionsComplete:Boolean
+}
+CollectionProperties o-- Property
+CollectionProperties o-- PropertyLt
+CollectionProperties o-- PropertyBs
+CollectionProperties o-- ColumnProperties
+
+class Exposer {
+ delegate: TObject
+ iconName: String
+ + dynamise()
+ + get(propertyName: String)
+ + setIcon(icon: Icon)
+}
+note as ExposerNote
+dynamise() and get()
+use <b>Kotlin/JS</b> function
+<b>asDynamic()</b>
+end note
+Exposer..ExposerNote
+
+abstract class BaseDisplayModel {
+ isRendered:Boolean
+ title:String
+ {abstract} canBeDisplayed():Boolean
+}
+
+abstract class DisplayModelWithLayout {
+ layout: Layout
+ grid: Grid
+ collectionProperties: CollectionProperties
+ icon: Icon
+ + canBeDisplayed()
+}
+
+DisplayModelWithLayout --> CollectionProperties
+
+class ObjectDM {
+ + data:Exposer
+ + collections:Map<String,CollectionDM>
+ - dirty:Boolean
+ + canBeDisplayed()
+}
+note left of ObjectDM::dirty
+Used in
+UI editing
+to signal
+object
+change.
+end note
+
+class CollectionDM {
+ data:List<Exposer>
+ - rawData:List<TransferObject>
+}
+
+ObjectDM --> Exposer
+CollectionDM o-- Exposer
+
+BaseDisplayModel <|-- DisplayModelWithLayout
+DisplayModelWithLayout <|-- CollectionDM
+DisplayModelWithLayout <|-- ObjectDM
+ObjectDM o-- CollectionDM
+note left on link
+An <b>ObjectDM</b>
+can have zero or more
+<b><i>parented collections</i></b>.
+end note
+
+@enduml
+----
diff --git a/incubator/clients/kroviz/build.gradle.kts b/incubator/clients/kroviz/build.gradle.kts
index 0b4c1b2210..8101aa2faa 100644
--- a/incubator/clients/kroviz/build.gradle.kts
+++ b/incubator/clients/kroviz/build.gradle.kts
@@ -108,7 +108,7 @@ kotlin {
implementation(npm("xterm", "4.15.0", false))
implementation(npm("pdfjs", "2.4.7", false))
implementation(npm("vega", "5.22.1", false))
- implementation(npm("vega-lite", "5.4.0", true))
+// implementation(npm("vega-lite", "5.6.0", true))
implementation(npm("element-resize-event", "3.0.6", false))
}
sourceSets["test"].dependencies {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt
index 5fc5c9eb77..36abb3376e 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/AggregatorWithLayout.kt
@@ -21,10 +21,9 @@ package org.apache.causeway.client.kroviz.core.aggregator
import org.apache.causeway.client.kroviz.core.event.LogEntry
import org.apache.causeway.client.kroviz.core.event.ResourceProxy
import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout
-import org.apache.causeway.client.kroviz.core.model.ObjectDM
import org.apache.causeway.client.kroviz.layout.Layout
import org.apache.causeway.client.kroviz.to.*
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.ui.core.Constants
import org.apache.causeway.client.kroviz.ui.diagram.Tree
@@ -43,7 +42,7 @@ abstract class AggregatorWithLayout : BaseAggregator() {
console.log(layout)
if (dm.layout == null) {
dm.addLayout(layout)
- dm.properties.propertyLayoutList.forEach { p ->
+ dm.collectionProperties.propertyLayoutList.forEach { p ->
val l = p.link
if (l == null) {
console.log(p.id + " link empty") // ISIS-2846
@@ -59,8 +58,7 @@ abstract class AggregatorWithLayout : BaseAggregator() {
}
}
- protected fun handleGrid(grid: Grid, dm: DisplayModelWithLayout, referrer: String) {
- (dpm as ObjectDM).grid = grid
+ protected fun handleGrid(grid: GridBs, dm: DisplayModelWithLayout, referrer: String) {
grid.getPropertyList().forEach {
val link = it.link!!
ResourceProxy().fetch(link, this, subType = Constants.subTypeJson, referrer = referrer)
@@ -68,7 +66,7 @@ abstract class AggregatorWithLayout : BaseAggregator() {
//FIXME
if (dm.grid == null) {
dm.addGrid(grid)
- dm.properties.propertyLayoutList.forEach { p ->
+ dm.collectionProperties.propertyLayoutList.forEach { p ->
val l = p.link
if (l == null) {
console.log(p.id + " link empty") // ISIS-2846
@@ -99,7 +97,7 @@ abstract class AggregatorWithLayout : BaseAggregator() {
}
protected fun Property.getDescriptionLink(): Link? {
- return this.links.firstOrNull() {
+ return this.links.firstOrNull {
it.rel == Relation.DESCRIBED_BY.type
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt
index b1f6f75118..095482251d 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregator.kt
@@ -23,9 +23,10 @@ import org.apache.causeway.client.kroviz.core.event.LogEntry
import org.apache.causeway.client.kroviz.core.event.ResourceProxy
import org.apache.causeway.client.kroviz.core.event.ResourceSpecification
import org.apache.causeway.client.kroviz.core.model.CollectionDM
+import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout
import org.apache.causeway.client.kroviz.layout.Layout
import org.apache.causeway.client.kroviz.to.*
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.ui.core.ViewManager
/** sequence of operations:
@@ -54,7 +55,7 @@ class CollectionAggregator(actionTitle: String, val parent: ObjectAggregator? =
is TObject -> handleObject(obj, referrer)
is DomainType -> handleDomainType(obj, referrer)
is Layout -> handleLayout(obj, dpm as CollectionDM, referrer)
- is Grid -> handleGrid(obj, dpm as CollectionDM, referrer)
+ is GridBs -> handleGrid(obj, dpm as DisplayModelWithLayout, referrer)
is Property -> handleProperty(obj, referrer)
is Collection -> handleCollection(obj, referrer)
is Icon -> handleIcon(obj)
@@ -107,15 +108,12 @@ class CollectionAggregator(actionTitle: String, val parent: ObjectAggregator? =
}
private fun handleProperty(p: Property, referrer: String) {
- console.log("[CA.handleProperty]")
val dm = dpm as CollectionDM
if (p.isPropertyDescription()) {
dm.addPropertyDescription(p)
} else {
dm.addProperty(p)
- val pdl = p.getDescriptionLink()
- console.log(pdl)
- if (pdl == null) return
+ val pdl = p.getDescriptionLink() ?: return
invoke(pdl, this, referrer = referrer)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt
index 398bf5072f..285952e6dd 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/aggregator/ObjectAggregator.kt
@@ -21,10 +21,11 @@ package org.apache.causeway.client.kroviz.core.aggregator
import org.apache.causeway.client.kroviz.core.event.LogEntry
import org.apache.causeway.client.kroviz.core.event.ResourceProxy
import org.apache.causeway.client.kroviz.core.model.CollectionDM
+import org.apache.causeway.client.kroviz.core.model.DisplayModelWithLayout
import org.apache.causeway.client.kroviz.core.model.ObjectDM
import org.apache.causeway.client.kroviz.layout.Layout
import org.apache.causeway.client.kroviz.to.*
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.ui.core.ViewManager
import org.apache.causeway.client.kroviz.ui.dialog.ErrorDialog
@@ -52,7 +53,7 @@ class ObjectAggregator(val actionTitle: String) : AggregatorWithLayout() {
is ResultValue -> handleResultValue(obj)
is Property -> handleProperty(obj, referrer)
is Layout -> handleLayout(obj, dpm as ObjectDM, referrer)
- is Grid -> handleGrid(obj, dpm as ObjectDM, referrer)
+ is GridBs -> handleGrid(obj, dpm as DisplayModelWithLayout, referrer)
is HttpError -> ErrorDialog(logEntry).open()
else -> log(logEntry)
}
@@ -62,6 +63,10 @@ class ObjectAggregator(val actionTitle: String) : AggregatorWithLayout() {
collectionMap.forEach {
(dpm as ObjectDM).addCollection(it.key, it.value.dpm as CollectionDM)
}
+ console.log("[OA.canBeDisplayed]")
+ console.log(this)
+ console.log((dpm as DisplayModelWithLayout).collectionProperties.debug())
+
ViewManager.openObjectView(this)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt
index 88f872b926..1c78cfad99 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/event/LogEntry.kt
@@ -25,7 +25,7 @@ import kotlinx.serialization.Serializable
import org.apache.causeway.client.kroviz.core.aggregator.ActionDispatcher
import org.apache.causeway.client.kroviz.core.aggregator.BaseAggregator
import org.apache.causeway.client.kroviz.to.*
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.to.mb.Menubars
import org.apache.causeway.client.kroviz.ui.core.Constants
import org.apache.causeway.client.kroviz.ui.core.ViewManager
@@ -107,7 +107,7 @@ data class LogEntry(
var runningAtStart = 0
var runningAtEnd = 0
- // alternative constructor for UI events (eg. from user interaction)
+ // alternative constructor for UI events (e.g. from user interaction)
@JsName("secondaryConstructor")
constructor(title: String, aggregator: BaseAggregator) : this(ResourceSpecification(""), "", "") {
this.title = title
@@ -163,6 +163,7 @@ data class LogEntry(
hasResponse()
&& this.method == method
&& subType == rs.subType -> true
+
isView() -> true
else -> false
}
@@ -180,33 +181,39 @@ data class LogEntry(
}
fun setTransferObject(to: TransferObject) {
- console.log("[LE.setTransferObject]")
this.obj = to
when (to) {
is WithLinks -> {
this.type = extractType(to)
}
- is Grid -> {
+
+ is GridBs -> {
this.type = Relation.LAYOUT.type
}
+
is Icon -> {
this.type = Relation.OBJECT_ICON.type
}
+
is Blob -> {
this.type = Represention.IMAGE_PNG.type
}
+
is Menubars -> {
this.type = Represention.LAYOUT_MENUBARS.type
}
+
is HttpError -> {
this.type = Represention.ERROR.type
}
+
is TObject -> {
this.state = EventState.MISSING
this.type = Represention.ERROR.type
console.log("to == null for response:")
console.log(response)
}
+
else -> {
console.log(to)
}
@@ -217,7 +224,7 @@ data class LogEntry(
private fun extractType(wl: WithLinks): String {
val firstLink = wl.getLinks().firstOrNull()!!
val result = firstLink.simpleType()
- if (result.trim().length == 0) {
+ if (result.isEmpty()) {
console.log("[LE.extractType]")
console.log(obj)
console.log(result)
@@ -278,14 +285,14 @@ data class LogEntry(
}
fun getAggregator(): BaseAggregator? {
- //TODO the last aggt is not always the right one
+ //TODO the last aggregator is not always the right one
// callers need to filter !!!
- if (aggregators.size == 0) {
+ return if (aggregators.size == 0) {
console.log("[LE.getAggregator] no Aggregator(s) yet")
console.log(this)
- return null
+ null
} else {
- return aggregators.last()
+ aggregators.last()
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt
index 92fd462f8b..fd009de601 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDM.kt
@@ -27,6 +27,8 @@ class CollectionDM(override val title: String) : DisplayModelWithLayout() {
private var rawData = observableListOf<TransferObject>()
override fun addData(obj: TransferObject) {
+ // console.log("[CDM.addData]")
+ // console.log(obj)
if (!rawData.contains(obj)) {
rawData.add(obj)
val exo = Exposer(obj as TObject)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt
index c074ac87f3..9a1a3f3f6b 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt
@@ -19,25 +19,57 @@
package org.apache.causeway.client.kroviz.core.model
import org.apache.causeway.client.kroviz.layout.PropertyLt
-import org.apache.causeway.client.kroviz.to.Property
import org.apache.causeway.client.kroviz.to.Extensions
+import org.apache.causeway.client.kroviz.to.Property
+import org.apache.causeway.client.kroviz.to.bs.PropertyBs
class CollectionProperties() {
val list = mutableListOf<ColumnProperties>()
var propertyDescriptionList = mutableListOf<Property>()
var propertyLayoutList = mutableListOf<PropertyLt>()
+ var propertyGridList = mutableListOf<PropertyBs>()
var propertyList = mutableListOf<Property>()
+ var descriptionsComplete = false
+
+ fun debug(): String {
+ var answer = "descriptionsComplete: $descriptionsComplete"
+
+ answer = answer + "\nlist: ${list.size}"
+ console.log("[CP.debug] List of ColumnProperties")
+ console.log(list)
+
+ answer = answer + "\npropertyDescriptionList: ${propertyDescriptionList.size}"
+ console.log("[CP.debug] List of Property (Description)")
+ console.log(propertyDescriptionList)
+
+ answer = answer + "\npropertyLayoutList: ${propertyLayoutList.size}"
+ console.log("[CP.debug] List of PropertyLt")
+ console.log(propertyLayoutList)
+
+ answer = answer + "\npropertyGridList: ${propertyGridList.size}"
+ console.log("[CP.debug] List of PropertyBs")
+ console.log(propertyGridList)
+
+ answer = answer + "\npropertyList: ${propertyList.size}"
+ console.log("[CP.debug] List of Property")
+ console.log(propertyList)
+
+ return answer
+ }
fun readyForDisplay(): Boolean {
val ps = propertyList.size
val pls = propertyLayoutList.size
val pds = propertyDescriptionList.size
- val descriptionsComplete = (pds >= pls) && (ps >= pls)
+ descriptionsComplete = (pds >= pls) && (ps >= pls)
return descriptionsComplete
}
fun addProperty(property: Property) {
+ console.log("[CollectionProperties.addProperty]")
+ console.log(property)
propertyList.add(property)
+ console.log(propertyList)
val id = property.id
val cp = findOrCreate(id)
cp.property = property
@@ -53,6 +85,19 @@ class CollectionProperties() {
layoutList.forEach { addPropertyLayout(it) }
}
+ fun addAllPropertyGrid(gridList: List<PropertyBs>) {
+// console.log("[DMWL.addAllPropertyGrid]")
+ propertyGridList.addAll(gridList)
+ fun addPropertyGrid(grid: PropertyBs) {
+// console.log("[DMWL.addPropertyGrid] -> grid")
+// console.log(grid)
+ val id = grid.id
+ val cp = findOrCreate(id)
+ cp.initGrid(grid)
+ }
+ gridList.forEach { addPropertyGrid(it) }
+ }
+
fun addPropertyDescription(description: Property) {
propertyDescriptionList.add(description)
val id = description.id
@@ -74,41 +119,4 @@ class CollectionProperties() {
return list.find { it.key == id }
}
-}
-
-/**
- * Properties have three aspects:
- *
- * - Member of a DomainObject
- * - Description (friendlyName, etc.)
- * - Layout (hidden, labelPosition, etc.)
- *
- * All three are required in order to display correctly in a table.
- */
-class ColumnProperties(val key: String) {
- var property: Property? = null
- var friendlyName: String = ""
- var layout: PropertyLt? = null
- var hidden: Boolean = true
-
- fun initLayout(layout: PropertyLt) {
- this.layout = layout
- hidden = (layout.hidden != null)
- // properties without labelPosition will be hidden - is that correct?
- // example: Demo -> Strings -> Description
- if (!hidden && layout.labelPosition == null) {
- hidden = true
- }
- }
-
- fun initGrid(property: Property) {
- // this.layout = layout
-//FIXME hidden = (property.hidden != null)
- // properties without labelPosition will be hidden - is that correct?
- // example: Demo -> Strings -> Description
- // if (!hidden && property.labelPosition == null) {
- // hidden = true
- // }
- }
-
-}
+}
\ No newline at end of file
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt
similarity index 53%
copy from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt
copy to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt
index c074ac87f3..173985456a 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionProperties.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ColumnProperties.kt
@@ -20,61 +20,7 @@ package org.apache.causeway.client.kroviz.core.model
import org.apache.causeway.client.kroviz.layout.PropertyLt
import org.apache.causeway.client.kroviz.to.Property
-import org.apache.causeway.client.kroviz.to.Extensions
-
-class CollectionProperties() {
- val list = mutableListOf<ColumnProperties>()
- var propertyDescriptionList = mutableListOf<Property>()
- var propertyLayoutList = mutableListOf<PropertyLt>()
- var propertyList = mutableListOf<Property>()
-
- fun readyForDisplay(): Boolean {
- val ps = propertyList.size
- val pls = propertyLayoutList.size
- val pds = propertyDescriptionList.size
- val descriptionsComplete = (pds >= pls) && (ps >= pls)
- return descriptionsComplete
- }
-
- fun addProperty(property: Property) {
- propertyList.add(property)
- val id = property.id
- val cp = findOrCreate(id)
- cp.property = property
- }
-
- fun addAllPropertyLayout(layoutList: List<PropertyLt>) {
- propertyLayoutList.addAll(layoutList)
- fun addPropertyLayout(layout: PropertyLt) {
- val id = layout.id!!
- val cp = findOrCreate(id)
- cp.initLayout(layout)
- }
- layoutList.forEach { addPropertyLayout(it) }
- }
-
- fun addPropertyDescription(description: Property) {
- propertyDescriptionList.add(description)
- val id = description.id
- val cp = findOrCreate(id)
- val e: Extensions = description.extensions!!
- cp.friendlyName = e.getFriendlyName()
- }
-
- private fun findOrCreate(id: String): ColumnProperties {
- var cp = find(id)
- if (cp == null) {
- cp = ColumnProperties(id)
- list.add(cp)
- }
- return cp
- }
-
- fun find(id: String): ColumnProperties? {
- return list.find { it.key == id }
- }
-
-}
+import org.apache.causeway.client.kroviz.to.bs.PropertyBs
/**
* Properties have three aspects:
@@ -89,10 +35,17 @@ class ColumnProperties(val key: String) {
var property: Property? = null
var friendlyName: String = ""
var layout: PropertyLt? = null
- var hidden: Boolean = true
+ var grid: PropertyBs? = null
+ var hidden: Boolean = false
+
+ fun debug(): String {
+ return "property: " + property?.id
+ }
fun initLayout(layout: PropertyLt) {
this.layout = layout
+ console.log("[CP.initLayout]")
+
hidden = (layout.hidden != null)
// properties without labelPosition will be hidden - is that correct?
// example: Demo -> Strings -> Description
@@ -101,8 +54,9 @@ class ColumnProperties(val key: String) {
}
}
- fun initGrid(property: Property) {
- // this.layout = layout
+ fun initGrid(grid: PropertyBs) {
+ this.grid = grid
+ console.log("[CP.initGrid]")
//FIXME hidden = (property.hidden != null)
// properties without labelPosition will be hidden - is that correct?
// example: Demo -> Strings -> Description
@@ -111,4 +65,4 @@ class ColumnProperties(val key: String) {
// }
}
-}
+}
\ No newline at end of file
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt
index 5c065e95ab..5bc2f1c137 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/DisplayModelWithLayout.kt
@@ -23,24 +23,21 @@ import org.apache.causeway.client.kroviz.layout.RowLt
import org.apache.causeway.client.kroviz.to.Icon
import org.apache.causeway.client.kroviz.to.Property
import org.apache.causeway.client.kroviz.to.TransferObject
-import org.apache.causeway.client.kroviz.to.bs3.Grid
-import org.apache.causeway.client.kroviz.to.bs3.Row
+import org.apache.causeway.client.kroviz.to.bs.GridBs
+import org.apache.causeway.client.kroviz.to.bs.RowBs
abstract class DisplayModelWithLayout : BaseDisplayModel() {
var layout: Layout? = null
- var grid: Grid? = null
- val properties = CollectionProperties()
+ var grid: GridBs? = null
+ val collectionProperties = CollectionProperties()
var icon: Icon? = null
override fun canBeDisplayed(): Boolean {
-// console.log("[DMWL.canBeDisplayed]")
-// console.log(this)
return when {
isRendered -> false
- layout != null -> true
- grid != null -> true
- else -> properties.readyForDisplay()
+ layout == null && grid == null -> false
+ else -> collectionProperties.readyForDisplay()
}
}
@@ -49,9 +46,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() {
initPropertyLayoutList(layout)
}
- fun addGrid(grid: Grid) {
- console.log("[DMWL.initGrid]")
- console.log(grid)
+ fun addGrid(grid: GridBs) {
this.grid = grid
initPropertyGridList(grid)
}
@@ -66,7 +61,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() {
}
}
- private fun initPropertyGridList(grid: Grid) {
+ private fun initPropertyGridList(grid: GridBs) {
grid.rows.forEach { r ->
initGrid4Row(r)
}
@@ -76,7 +71,7 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() {
r.cols.forEach { cs ->
val c = cs.getCol()
c.fieldSet.forEach { fs ->
- properties.addAllPropertyLayout(fs.property)
+ collectionProperties.addAllPropertyLayout(fs.property)
}
c.tabGroup.forEach { tg ->
tg.tab.forEach { t ->
@@ -88,10 +83,10 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() {
}
}
- private fun initGrid4Row(r: Row) {
+ private fun initGrid4Row(r: RowBs) {
r.colList.forEach { c ->
c.fieldSetList.forEach { fs ->
- //FIXME properties.addAllPropertiesFromGrid(fs.propertyList)
+ collectionProperties.addAllPropertyGrid(fs.propertyList)
}
c.tabGroupList.forEach { tg ->
tg.tabList.forEach { t ->
@@ -104,11 +99,11 @@ abstract class DisplayModelWithLayout : BaseDisplayModel() {
}
fun addPropertyDescription(p: Property) {
- properties.addPropertyDescription(p)
+ collectionProperties.addPropertyDescription(p)
}
fun addProperty(property: Property) {
- properties.addProperty(property)
+ collectionProperties.addProperty(property)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt
index 29f9f79fe1..d33ef1fc8c 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/core/model/ObjectDM.kt
@@ -25,7 +25,7 @@ import org.apache.causeway.client.kroviz.ui.core.SessionManager
class ObjectDM(override val title: String) : DisplayModelWithLayout() {
var data: Exposer? = null
- val collections = mutableMapOf<String, CollectionDM>()
+ val collectionMap = mutableMapOf<String, CollectionDM>()
private var dirty: Boolean = false
fun setDirty(value: Boolean) {
@@ -33,12 +33,10 @@ class ObjectDM(override val title: String) : DisplayModelWithLayout() {
}
fun addCollection(key: String, value: CollectionDM) {
- collections[key] = value
+ collectionMap[key] = value
}
override fun addData(obj: TransferObject) {
- console.log("[ODM.addData]")
-// console.log(obj)
(obj as TObject)
val exo = Exposer(obj)
data = exo.dynamise() as? Exposer
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt
index cb2c60d36a..9af422be39 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/handler/LayoutXmlHandler.kt
@@ -19,7 +19,7 @@
package org.apache.causeway.client.kroviz.handler
import org.apache.causeway.client.kroviz.to.TransferObject
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.utils.UrlUtils
import org.apache.causeway.client.kroviz.utils.XmlHelper
@@ -36,7 +36,7 @@ class LayoutXmlHandler : BaseHandler() {
override fun parse(response: String): TransferObject {
val doc = XmlHelper.parseXml(response)
- return Grid(doc)
+ return GridBs(doc)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt
similarity index 93%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt
index 756b75f684..2507df32e9 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Action.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ActionBs.kt
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class Action(node: Node) : XmlLayout() {
+class ActionBs(node: Node) : XmlLayout() {
var bookmarking: String //BookmarkPolicy? = null use ENUM
var cssClass: String
var cssClassFa: String
@@ -31,7 +31,7 @@ class Action(node: Node) : XmlLayout() {
var position: String //USE ENUM Position? = null
var named = ""
var describedAs = ""
- var linkList = mutableListOf<Link>()
+ var linkList = mutableListOf<LinkBs>()
init {
val dyNode = node.asDynamic()
@@ -58,7 +58,7 @@ class Action(node: Node) : XmlLayout() {
}
val lList = nodeList.filter { it.nodeName == "$nsCpt:link" }
for (n: Node in lList) {
- val link = Link(n)
+ val link = LinkBs(n)
linkList.add(link)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt
similarity index 79%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt
index 2abe89c71c..aeba048fdc 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Col.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/ColBs.kt
@@ -16,18 +16,18 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class Col(node: Node) : XmlLayout() {
- val rowList = mutableListOf<Row>()
- var domainObject: DomainObject? = null
- var actionList = mutableListOf<Action>()
- val tabGroupList = mutableListOf<TabGroup>()
- var fieldSetList = mutableListOf<FieldSet>()
- var collectionList = mutableListOf<Collection>()
+class ColBs(node: Node) : XmlLayout() {
+ val rowList = mutableListOf<RowBs>()
+ var domainObject: DomainObjectBs? = null
+ var actionList = mutableListOf<ActionBs>()
+ val tabGroupList = mutableListOf<TabGroupBs>()
+ var fieldSetList = mutableListOf<FieldSetBs>()
+ var collectionList = mutableListOf<CollectionBs>()
var span: Int = 0
init {
@@ -38,42 +38,42 @@ class Col(node: Node) : XmlLayout() {
val rl = nl.filter { it.nodeName == "$nsBs:row" }
for (n: Node in rl) {
- val row = Row(n)
+ val row = RowBs(n)
rowList.add(row)
}
val doNodes = nl.filter { it.nodeName == "$nsCpt:domainObject" }
if (doNodes.isNotEmpty()) {
- domainObject = DomainObject(doNodes.first())
+ domainObject = DomainObjectBs(doNodes.first())
}
val actNodes = nl.filter { it.nodeName == "$nsCpt:action" }
for (n: Node in actNodes) {
- val act = Action(n)
+ val act = ActionBs(n)
actionList.add(act)
}
val tgNodes = nl.filter { it.nodeName == "$nsBs:tabGroup" }
for (n: Node in tgNodes) {
- val tg = TabGroup(n)
+ val tg = TabGroupBs(n)
tabGroupList.add(tg)
}
val fsNodes = nl.filter { it.nodeName == "$nsCpt:fieldSet" }
for (n: Node in fsNodes) {
- val fs = FieldSet(n)
+ val fs = FieldSetBs(n)
fieldSetList.add(fs)
}
val collNodes = nl.filter { it.nodeName == "$nsCpt:collection" }
for (n: Node in collNodes) {
- val c = Collection(n)
+ val c = CollectionBs(n)
collectionList.add(c)
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
+ fun getPropertyList(): List<PropertyBs> {
+ val list = mutableListOf<PropertyBs>()
rowList.forEach { r ->
list.addAll(r.getPropertyList())
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt
similarity index 94%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt
index be271ac927..34480717f6 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Collection.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/CollectionBs.kt
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class Collection(node: Node) : XmlLayout() {
+class CollectionBs(node: Node) : XmlLayout() {
var bookmarking: String //BookmarkPolicy? = null use ENUM
var cssClass: String
var cssClassFa: String
@@ -31,7 +31,7 @@ class Collection(node: Node) : XmlLayout() {
var position: String //USE ENUM Position? = null
var named = ""
var describedAs = ""
- var linkList = mutableListOf<Link>()
+ var linkList = mutableListOf<LinkBs>()
init {
val dyNode = node.asDynamic()
@@ -59,7 +59,7 @@ class Collection(node: Node) : XmlLayout() {
}
val lList = nodeList.filter { it.nodeName == "$nsCpt:link" }
for (n: Node in lList) {
- val link = Link(n)
+ val link = LinkBs(n)
linkList.add(link)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt
similarity index 94%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt
index 52e4155268..e5a8e90d5a 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/DomainObject.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/DomainObjectBs.kt
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.apache.causeway.client.kroviz.utils.XmlHelper
import org.w3c.dom.Node
-class DomainObject(node: Node) {
+class DomainObjectBs(node: Node) {
var named = ""
var plural = ""
lateinit var describedAs: String
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt
similarity index 86%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt
index 5374f5bcdc..9753c552b0 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/FieldSet.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/FieldSetBs.kt
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class FieldSet(node: Node) : XmlLayout() {
- var actionList = mutableListOf<Action>()
- var propertyList = mutableListOf<Property>()
+class FieldSetBs(node: Node) : XmlLayout() {
+ var actionList = mutableListOf<ActionBs>()
+ var propertyList = mutableListOf<PropertyBs>()
var name: String = ""
var id: String = ""
@@ -38,13 +38,13 @@ class FieldSet(node: Node) : XmlLayout() {
val nl = node.childNodes.asList()
val actList = nl.filter { it.nodeName == "$nsCpt:action" }
for (n: Node in actList) {
- val act = Action(n)
+ val act = ActionBs(n)
actionList.add(act)
}
val pNl = nl.filter { it.nodeName == "$nsCpt:property" }
for (n: Node in pNl) {
- val p = Property(n)
+ val p = PropertyBs(n)
if (p.hidden != "") {
propertyList.add(p)
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt
similarity index 85%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt
index 20ea99a2ad..ed2fc3caf7 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Grid.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/GridBs.kt
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.apache.causeway.client.kroviz.to.TransferObject
import org.w3c.dom.Document
@@ -30,8 +30,8 @@ import org.w3c.dom.asList
* * there may be N other rows as well
* Please note, that rows may be children of Tab as well (recursive)
*/
-class Grid(document: Document) : XmlLayout(), TransferObject {
- var rows = ArrayList<Row>()
+class GridBs(document: Document) : XmlLayout(), TransferObject {
+ var rows = ArrayList<RowBs>()
init {
val root = document.firstChild!!
@@ -39,13 +39,13 @@ class Grid(document: Document) : XmlLayout(), TransferObject {
val rowNodes = kids.asList()
val rowList = rowNodes.filter { it.nodeName == "$nsBs:row" }
for (n: Node in rowList) {
- val row = Row(n)
+ val row = RowBs(n)
rows.add(row)
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
+ fun getPropertyList(): List<PropertyBs> {
+ val list = mutableListOf<PropertyBs>()
rows.forEach { r ->
list.addAll(r.getPropertyList())
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt
similarity index 96%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt
index 593b301834..24aa0a34a2 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Link.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/LinkBs.kt
@@ -16,12 +16,12 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class Link(node: Node) : XmlLayout() {
+class LinkBs(node: Node) : XmlLayout() {
lateinit var rel: String
lateinit var method: String
lateinit var href: String
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt
similarity index 91%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt
index 12ff3a0b12..7e76306754 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Property.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/PropertyBs.kt
@@ -16,14 +16,14 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.apache.causeway.client.kroviz.to.Link
import org.w3c.dom.Node
import org.w3c.dom.asList
//IMPROVE class differs in many aspects from org.ro.to.Property - to be refactored?
-class Property(node: Node) : XmlLayout() {
+class PropertyBs(node: Node) : XmlLayout() {
var id: String
var named = ""
var link: Link? = null
@@ -31,7 +31,7 @@ class Property(node: Node) : XmlLayout() {
var typicalLength: Int = 0
var multiLine: Int = 1
var describedAs: String? = null
- lateinit var action: Action
+ lateinit var action: ActionBs
init {
val dn = node.asDynamic()
@@ -51,13 +51,13 @@ class Property(node: Node) : XmlLayout() {
val actList = nodeList.filter { it.nodeName == "$nsCpt:action" }
if (actList.isNotEmpty()) {
val n = actList.first()
- action = Action(n)
+ action = ActionBs(n)
}
val linkList = nodeList.filter { it.nodeName == "$nsCpt:link" }
if (linkList.isNotEmpty()) {
val n = linkList.first()
- val bs3l = Link(n)
+ val bs3l = LinkBs(n)
link = Link(bs3l.rel, bs3l.method, bs3l.href, bs3l.type)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt
similarity index 84%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt
index 39d129b6db..b4d7c1002d 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Row.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/RowBs.kt
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.apache.causeway.client.kroviz.utils.XmlHelper
import org.w3c.dom.Node
-class Row(node: Node) : XmlLayout() {
- val colList = mutableListOf<Col>()
+class RowBs(node: Node) : XmlLayout() {
+ val colList = mutableListOf<ColBs>()
var id: String = ""
init {
@@ -34,13 +34,13 @@ class Row(node: Node) : XmlLayout() {
val nodeList = XmlHelper.nonTextChildren(node)
val cl = nodeList.filter { it.nodeName == "$nsBs:col" }
for (n: Node in cl) {
- val col = Col(n)
+ val col = ColBs(n)
colList.add(col)
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
+ fun getPropertyList(): List<PropertyBs> {
+ val list = mutableListOf<PropertyBs>()
colList.forEach { c ->
list.addAll(c.getPropertyList())
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt
similarity index 83%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt
index 2044ed7567..cc8ba6eb82 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/Tab.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabBs.kt
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class Tab(node: Node) : XmlLayout() {
- val rowList = mutableListOf<Row>()
+class TabBs(node: Node) : XmlLayout() {
+ val rowList = mutableListOf<RowBs>()
var name: String
init {
@@ -33,13 +33,13 @@ class Tab(node: Node) : XmlLayout() {
val rNodes = nl.filter { it.nodeName == "$nsBs:row" }
for (n: Node in rNodes) {
- val row = Row(n)
+ val row = RowBs(n)
rowList.add(row)
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
+ fun getPropertyList(): List<PropertyBs> {
+ val list = mutableListOf<PropertyBs>()
rowList.forEach { r ->
list.addAll(r.getPropertyList())
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt
similarity index 83%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt
index 74f7344b8a..c607af61a5 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/TabGroup.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/TabGroupBs.kt
@@ -16,13 +16,13 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.w3c.dom.Node
import org.w3c.dom.asList
-class TabGroup(node: Node) : XmlLayout() {
- var tabList = mutableListOf<Tab>()
+class TabGroupBs(node: Node) : XmlLayout() {
+ var tabList = mutableListOf<TabBs>()
lateinit var metadataError: String
lateinit var cssClass: String
@@ -31,13 +31,13 @@ class TabGroup(node: Node) : XmlLayout() {
val tnList = nodeList.filter { it.nodeName == "$nsBs:tab" }
for (n: Node in tnList) {
- val tab = Tab(n)
+ val tab = TabBs(n)
tabList.add(tab)
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
+ fun getPropertyList(): List<PropertyBs> {
+ val list = mutableListOf<PropertyBs>()
tabList.forEach { t ->
list.addAll(t.getPropertyList())
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt
similarity index 94%
rename from incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt
rename to incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt
index ed6937fd6b..2c049e6fd5 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs3/XmlLayout.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/to/bs/XmlLayout.kt
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
abstract class XmlLayout {
// nameSpaces
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt
index 0edfb20b4d..6ee6430970 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/ColBuilder.kt
@@ -24,7 +24,7 @@ import io.kvision.panel.FlexPanel
import io.kvision.panel.HPanel
import io.kvision.panel.SimplePanel
import org.apache.causeway.client.kroviz.to.TObject
-import org.apache.causeway.client.kroviz.to.bs3.Col
+import org.apache.causeway.client.kroviz.to.bs.ColBs
import org.apache.causeway.client.kroviz.ui.core.Constants
import org.apache.causeway.client.kroviz.ui.core.RoTable
import org.apache.causeway.client.kroviz.ui.menu.DropDownMenuBuilder
@@ -33,7 +33,7 @@ import kotlin.math.round
class ColBuilder : UiBuilder() {
- fun create(col: Col, tObject: TObject, dsp: RoDisplay): FlexPanel {
+ fun create(col: ColBs, tObject: TObject, dsp: RoDisplay): FlexPanel {
val panel = buildPanel()
if ((col.actionList.size > 0) && (col.domainObject != null)) {
@@ -68,7 +68,7 @@ class ColBuilder : UiBuilder() {
for (c in col.collectionList) {
val key = c.id // entities
val objectDM = dsp.displayModel
- val collectionDM = objectDM.collections[key]
+ val collectionDM = objectDM.collectionMap[key]
if (collectionDM != null) {
val tblCpt = RoTable(collectionDM)
val fsPanel = FieldsetPanel(legend = StringUtils.capitalize(key)).add(tblCpt)
@@ -101,7 +101,7 @@ class ColBuilder : UiBuilder() {
return panel
}
- private fun assignWidth(panel: SimplePanel, col: Col) {
+ private fun assignWidth(panel: SimplePanel, col: ColBs) {
val proportion = col.span.toDouble().div(12)
val percent = proportion * 100
val rounded = round(percent)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt
index dd9e24f1e6..d5ec3d245e 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/FieldSetBuilder.kt
@@ -21,16 +21,16 @@ package org.apache.causeway.client.kroviz.ui.builder
import io.kvision.form.FormPanel
import org.apache.causeway.client.kroviz.to.TObject
import org.apache.causeway.client.kroviz.to.TypeMapper
-import org.apache.causeway.client.kroviz.to.bs3.FieldSet
+import org.apache.causeway.client.kroviz.to.bs.FieldSetBs
import org.apache.causeway.client.kroviz.ui.core.FormItem
import org.apache.causeway.client.kroviz.ui.core.FormPanelFactory
class FieldSetBuilder {
fun create(
- fieldSetLayout: FieldSet,
- tObject: TObject,
- tab: RoDisplay
+ fieldSetLayout: FieldSetBs,
+ tObject: TObject,
+ tab: RoDisplay
): FormPanel<String>? {
val members = tObject.getProperties()
@@ -43,13 +43,14 @@ class FieldSetBuilder {
val memberType = TypeMapper().forType(member.type!!)
val size = maxOf(1, p.multiLine)
val fi = FormItem(
- label = p.named,
- type = memberType,
- content = member.value?.content,
- size = size,
- description = p.describedAs,
- member = member,
- dspl = tab)
+ label = p.named,
+ type = memberType,
+ content = member.value?.content,
+ size = size,
+ description = p.describedAs,
+ member = member,
+ dspl = tab
+ )
items.add(fi)
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt
index dd251be136..c3e62aeb93 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/LayoutBuilder.kt
@@ -20,11 +20,11 @@ package org.apache.causeway.client.kroviz.ui.builder
import io.kvision.panel.VPanel
import org.apache.causeway.client.kroviz.to.TObject
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
class LayoutBuilder {
- fun create(grid: Grid, tObject: TObject, dsp: RoDisplay): VPanel {
+ fun create(grid: GridBs, tObject: TObject, dsp: RoDisplay): VPanel {
val panel = VPanel()
for (rl in grid.rows) {
val cpt = RowBuilder().create(rl, tObject, dsp)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt
index 30d38f2a51..99287a47fb 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/RowBuilder.kt
@@ -22,12 +22,12 @@ import io.kvision.core.*
import io.kvision.panel.FlexPanel
import io.kvision.panel.SimplePanel
import org.apache.causeway.client.kroviz.to.TObject
-import org.apache.causeway.client.kroviz.to.bs3.Row
+import org.apache.causeway.client.kroviz.to.bs.RowBs
import org.apache.causeway.client.kroviz.ui.core.Constants
class RowBuilder : UiBuilder() {
- fun create(row: Row, tObject: TObject, dsp: RoDisplay): SimplePanel {
+ fun create(row: RowBs, tObject: TObject, dsp: RoDisplay): SimplePanel {
val panel = buildPanel()
panel.justifyContent = JustifyContent.SPACEBETWEEN
@@ -40,12 +40,13 @@ class RowBuilder : UiBuilder() {
private fun buildPanel(): FlexPanel {
return FlexPanel(
- FlexDirection.ROW,
- FlexWrap.NOWRAP,
- JustifyContent.FLEXSTART,
- AlignItems.FLEXSTART,
- AlignContent.STRETCH,
- spacing = Constants.spacing)
+ FlexDirection.ROW,
+ FlexWrap.NOWRAP,
+ JustifyContent.FLEXSTART,
+ AlignItems.FLEXSTART,
+ AlignContent.STRETCH,
+ spacing = Constants.spacing
+ )
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt
index 87a4888cfd..c65db7b75e 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabBuilder.kt
@@ -18,14 +18,14 @@
*/
package org.apache.causeway.client.kroviz.ui.builder
-import org.apache.causeway.client.kroviz.to.TObject
-import org.apache.causeway.client.kroviz.to.bs3.Tab
import io.kvision.core.Component
import io.kvision.panel.SimplePanel
+import org.apache.causeway.client.kroviz.to.TObject
+import org.apache.causeway.client.kroviz.to.bs.TabBs
class TabBuilder : UiBuilder() {
- fun create(tabLayout: Tab, tObject: TObject, tab: RoDisplay): Component {
+ fun create(tabLayout: TabBs, tObject: TObject, tab: RoDisplay): Component {
val panel = SimplePanel()
style(panel)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt
index 05741ce311..ccd0aa7036 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/builder/TabGroupBuilder.kt
@@ -18,14 +18,14 @@
*/
package org.apache.causeway.client.kroviz.ui.builder
-import org.apache.causeway.client.kroviz.to.TObject
-import org.apache.causeway.client.kroviz.to.bs3.TabGroup
import io.kvision.core.Component
import io.kvision.panel.TabPanel
+import org.apache.causeway.client.kroviz.to.TObject
+import org.apache.causeway.client.kroviz.to.bs.TabGroupBs
class TabGroupBuilder : UiBuilder() {
- fun create(tabGroupLayout: TabGroup, tObject: TObject, dsp: RoDisplay): Component {
+ fun create(tabGroupLayout: TabGroupBs, tObject: TObject, dsp: RoDisplay): Component {
val panel = TabPanel()
style(panel)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt
index d219dd8569..c27c0c3957 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/core/ColumnFactory.kt
@@ -103,7 +103,7 @@ class ColumnFactory {
displayCollection: CollectionDM,
columns: MutableList<ColumnDefinition<Exposer>>,
) {
- val propertyLabels = displayCollection.properties.list
+ val propertyLabels = displayCollection.collectionProperties.list
for (pl in propertyLabels) {
if (!pl.hidden) {
val id = pl.key
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt
index 3e3cbde71d..8bc4ca6a1a 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/diagram/LayoutDiagram.kt
@@ -18,13 +18,13 @@
*/
package org.apache.causeway.client.kroviz.ui.diagram
-import org.apache.causeway.client.kroviz.to.bs3.Col
-import org.apache.causeway.client.kroviz.to.bs3.Grid
-import org.apache.causeway.client.kroviz.to.bs3.Row
+import org.apache.causeway.client.kroviz.to.bs.ColBs
+import org.apache.causeway.client.kroviz.to.bs.GridBs
+import org.apache.causeway.client.kroviz.to.bs.RowBs
object LayoutDiagram {
- fun build(grid: Grid): String {
+ fun build(grid: GridBs): String {
var pumlCode = "@startsalt\n{#\n"
grid.rows.forEachIndexed() { index, it ->
val rLabel = "r" + index.toString()
@@ -35,7 +35,7 @@ object LayoutDiagram {
private val blue = "<color:Blue>"
private val red = "<color:Red>"
- private fun buildRow(row: Row, rLabel: String): String {
+ private fun buildRow(row: RowBs, rLabel: String): String {
var s = ""
row.colList.forEachIndexed() { index, it ->
val cLabel = rLabel + ".c" + index.toString()
@@ -49,7 +49,7 @@ object LayoutDiagram {
return s + "\n"
}
- private fun buildCol(col: Col, colorCode: String, label: String): String {
+ private fun buildCol(col: ColBs, colorCode: String, label: String): String {
var s = ""
val span: Int = col.span
repeat(span) {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt
index 5c1ef147c2..e7827810db 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/causeway/client/kroviz/ui/dialog/EventLogDetail.kt
@@ -21,7 +21,7 @@ package org.apache.causeway.client.kroviz.ui.dialog
import org.apache.causeway.client.kroviz.core.event.LogEntry
import org.apache.causeway.client.kroviz.core.event.ResourceSpecification
import org.apache.causeway.client.kroviz.to.ValueType
-import org.apache.causeway.client.kroviz.to.bs3.Grid
+import org.apache.causeway.client.kroviz.to.bs.GridBs
import org.apache.causeway.client.kroviz.ui.core.Constants
import org.apache.causeway.client.kroviz.ui.core.FormItem
import org.apache.causeway.client.kroviz.ui.core.RoDialog
@@ -93,12 +93,15 @@ class EventLogDetail(logEntryFromTabulator: LogEntry) : Controller() {
action == LOG -> {
console.log(logEntry)
}
+
action == LNK -> {
linkTreeDiagram()
}
+
action == DPM -> {
displayModelDiagram()
}
+
else -> {
console.log(logEntry)
console.log("Action not defined yet: $action")
@@ -131,14 +134,16 @@ class EventLogDetail(logEntryFromTabulator: LogEntry) : Controller() {
var label = "Diagram"
val pumlCode = when {
str.startsWith("<") -> {
- val grid = logEntry.obj as Grid
+ val grid = logEntry.obj as GridBs
label = "Layout Diagram"
LayoutDiagram.build(grid)
}
+
str.startsWith("{") -> {
label = "JSON / XML Diagram"
JsonDiagram.build(str)
}
+
else -> "{}"
}
DiagramDialog(label, pumlCode).open()
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
index e3b57102e8..b6cc33e488 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/aggregator/CollectionAggregatorTest.kt
@@ -67,10 +67,10 @@ class CollectionAggregatorTest : IntegrationTest() {
// then
val dl = obs.dpm as CollectionDM
- val propertyLabels = dl.properties.propertyDescriptionList
+ val propertyLabels = dl.collectionProperties.propertyDescriptionList
val property = pdLe.getTransferObject() as Property
assertTrue(propertyLabels.size > 0) // 5
- val lbl = dl.properties.find(property.id)!!.friendlyName
+ val lbl = dl.collectionProperties.find(property.id)!!.friendlyName
val expected = "ResultListResult class"
assertEquals(expected, lbl) // 6
}
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt
index 3006d212bb..a17656f69f 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/core/model/CollectionDMTest.kt
@@ -43,7 +43,7 @@ class CollectionDMTest {
assertEquals(2, dl.data.size) //1
- val properties = dl.properties.propertyLayoutList
+ val properties = dl.collectionProperties.propertyLayoutList
assertEquals(5, properties.size) //2 // includes datanucleus IdLong, VersionLong, VersionTimestamp
assertEquals("name", properties[0].id) //3
assertEquals("notes", properties[1].id) //4
@@ -61,7 +61,7 @@ class CollectionDMTest {
dl.addLayout(lt)
assertEquals(1, dl.data.size) //1
- val properties = dl.properties.propertyLayoutList
+ val properties = dl.collectionProperties.propertyLayoutList
assertEquals("key", properties[0].id) // 2
assertEquals("value", properties[1].id) // 3
}
@@ -78,7 +78,7 @@ class CollectionDMTest {
assertEquals(1, dl.data.size)
assertNotNull(dl.layout)
- val properties = dl.properties.propertyList
+ val properties = dl.collectionProperties.propertyList
assertNotNull(properties)
//Sequence in FR_OBJECT differs from sequence in FR_OBJECT_LAYOUT
// FR_OBJECT: fixtureScriptClassName, key, object, className
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt
similarity index 96%
rename from incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt
rename to incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt
index 7a7c8d0056..ffc3208127 100644
--- a/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs3/LayoutXmlTest.kt
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/causeway/client/kroviz/to/bs/LayoutXmlTest.kt
@@ -16,7 +16,7 @@
* specific language governing permissions and limitations
* under the License.
*/
-package org.apache.causeway.client.kroviz.to.bs3
+package org.apache.causeway.client.kroviz.to.bs
import org.apache.causeway.client.kroviz.handler.LayoutXmlHandler
import org.apache.causeway.client.kroviz.snapshots.demo2_0_0.STRINGS_LAYOUT_XML
@@ -35,7 +35,7 @@ class LayoutXmlTest {
//given
val xmlStr = STRINGS_LAYOUT_XML.str
//when
- val grid = LayoutXmlHandler().parse(xmlStr) as Grid
+ val grid = LayoutXmlHandler().parse(xmlStr) as GridBs
// then
assertEquals(2, grid.rows.size, message = "grid.rows.size") //1
@@ -101,7 +101,7 @@ class LayoutXmlTest {
//given
val xmlStr = TAB_LAYOUT_XML.str
//when
- val grid = LayoutXmlHandler().parse(xmlStr) as Grid
+ val grid = LayoutXmlHandler().parse(xmlStr) as GridBs
// then
console.log("[LXT.testDemoTabGrid] ${grid.toString()}")
console.log("rows: ", grid.rows.size)
@@ -113,7 +113,7 @@ class LayoutXmlTest {
//given
val xmlStr = SO_LAYOUT_XML.str
//when
- val grid = LayoutXmlHandler().parse(xmlStr) as Grid
+ val grid = LayoutXmlHandler().parse(xmlStr) as GridBs
// then
assertEquals(2, grid.rows.size) //1