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 2020/05/07 16:46:17 UTC
[isis] branch master updated (5ffee67 -> e3f04ea)
This is an automated email from the ASF dual-hosted git repository.
joergrade pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git.
from 5ffee67 ISIS-2340: further moving logic to common UI model
new 9133164 ISIS-2342 scale image 1/n, cleanup
new 550cb99 Merge branch 'master' of https://github.com/apache/isis
new 0e74d48 ISIS-2342 scale image /n, cleanup
new a4d2560 ISIS-2342 scale image 2/n
new c542086 Merge branch 'master' of https://github.com/apache/isis
new e44f4fc Merge branch 'master' of https://github.com/apache/isis
new f8b0286 ISIS-2342 class diagram with properties, cleanup
new e3f04ea Merge branch 'master' of https://github.com/apache/isis
The 8 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../kotlin/org/apache/isis/client/kroviz/App.kt | 3 -
.../core/aggregator/DomainTypesAggregator.kt | 1 +
.../isis/client/kroviz/core/model/DiagramDM.kt | 5 +-
.../isis/client/kroviz/core/model/DisplayModel.kt | 11 ++--
.../org/apache/isis/client/kroviz/to/Link.kt | 2 +-
.../org/apache/isis/client/kroviz/to/bs3/Grid.kt | 8 ---
.../org/apache/isis/client/kroviz/ui/FormItem.kt | 17 +----
.../apache/isis/client/kroviz/ui/ImageDialog.kt | 63 +++++++++++++++---
.../apache/isis/client/kroviz/ui/kv/RoDialog.kt | 10 +--
.../apache/isis/client/kroviz/ui/kv/UiManager.kt | 8 +++
.../apache/isis/client/kroviz/utils/DomHelper.kt | 10 +++
.../client/kroviz/utils/ScalableVectorGraphic.kt | 51 +++++++++++++++
.../apache/isis/client/kroviz/utils/XmlHelper.kt | 3 +-
.../ScalableVectorGraphicTest.kt | 59 +++++++++++++++++
.../kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt | 74 ++++++++++++++++++++++
15 files changed, 274 insertions(+), 51 deletions(-)
create mode 100644 incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/ScalableVectorGraphic.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org.apache.isis.client.kroviz.util/ScalableVectorGraphicTest.kt
create mode 100644 incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt
[isis] 03/08: ISIS-2342 scale image /n, cleanup
Posted by jo...@apache.org.
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 0e74d4842c03b28206a108ea57e74972bfc63b88
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Fri May 1 16:51:10 2020 +0200
ISIS-2342 scale image /n, cleanup
---
.../ScalableVectorGraphicTest.kt | 59 +++++++++++++++++
.../kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt | 74 ++++++++++++++++++++++
2 files changed, 133 insertions(+)
diff --git a/incubator/clients/kroviz/src/test/kotlin/org.apache.isis.client.kroviz.util/ScalableVectorGraphicTest.kt b/incubator/clients/kroviz/src/test/kotlin/org.apache.isis.client.kroviz.util/ScalableVectorGraphicTest.kt
new file mode 100644
index 0000000..af4c455
--- /dev/null
+++ b/incubator/clients/kroviz/src/test/kotlin/org.apache.isis.client.kroviz.util/ScalableVectorGraphicTest.kt
@@ -0,0 +1,59 @@
+package org.apache.isis.client.kroviz.util
+
+import org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0.PUML_SVG
+import org.apache.isis.client.kroviz.utils.ScalableVectorGraphic
+import org.w3c.dom.parsing.DOMParser
+import kotlin.test.Test
+import kotlin.test.assertEquals
+
+class ScalableVectorGraphicTest {
+
+ @Test
+ fun testScaleDown() {
+ //given
+ val response = PUML_SVG.str
+ val type = "image/svg+xml"
+ val p = DOMParser()
+ //when
+ val doc = p.parseFromString(response, type)
+ val svg = ScalableVectorGraphic(doc)
+ svg.scaleDown()
+
+ // then
+ assertEquals((203 * 0.9).toInt(), svg.getHeight())
+ assertEquals((309 * 0.9).toInt(), svg.getWidth())
+ }
+
+ @Test
+ fun testScaleUp() {
+ //given
+ val response = PUML_SVG.str
+ val type = "image/svg+xml"
+ val p = DOMParser()
+ //when
+ val doc = p.parseFromString(response, type)
+ val svg = ScalableVectorGraphic(doc)
+ svg.scaleUp()
+
+ // then
+ assertEquals((203 * 1.1).toInt(), svg.getHeight())
+ assertEquals((309 * 1.1).toInt(), svg.getWidth())
+ }
+
+ @Test
+ fun testScale2() {
+ //given
+ val response = PUML_SVG.str
+ val type = "image/svg+xml"
+ val p = DOMParser()
+ //when
+ val doc = p.parseFromString(response, type)
+ val svg = ScalableVectorGraphic(doc)
+ svg.scaleUp(2.0)
+
+ //then
+ assertEquals(406, svg.getHeight())
+ assertEquals(618, svg.getWidth())
+ }
+
+}
diff --git a/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt
new file mode 100644
index 0000000..67e0d72
--- /dev/null
+++ b/incubator/clients/kroviz/src/test/kotlin/org/apache/isis/client/kroviz/snapshots/simpleapp1_16_0/PUML_SVG.kt
@@ -0,0 +1,74 @@
+package org.apache.isis.client.kroviz.snapshots.simpleapp1_16_0
+
+import org.apache.isis.client.kroviz.snapshots.Response
+
+object PUML_SVG: Response() {
+ override val url= "https://kroki.io/"
+ override val str = """<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<svg xmlns="http://www.w3.org/2000/svg" contentScriptType="application/ecmascript" contentStyleType="text/css"
+ height="203px" preserveAspectRatio="none" style="width:309px;height:203px;" version="1.1" viewBox="0 0 309 203"
+ width="309px" zoomAndPan="magnify">
+ <defs>
+ <filter height="300%" id="f1xj00ih3jrk7f" width="300%" x="-1" y="-1">
+ <feGaussianBlur result="blurOut" stdDeviation="2.0"/>
+ <feColorMatrix in="blurOut" result="blurOut2" type="matrix"
+ values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 .4 0"/>
+ <feOffset dx="4.0" dy="4.0" in="blurOut2" result="blurOut3"/>
+ <feBlend in="SourceGraphic" in2="blurOut3" mode="normal"/>
+ </filter>
+ </defs>
+ <g><!--MD5=[f621a9b5735c62a9e50fa7c1e42ea0f4]↵cluster domainapp.modules.simple.dom.impl-->
+ <polygon fill="#FFFFFF" filter="url(#f1xj00ih3jrk7f)"
+ points="14,16,277,16,284,38.7999,287,38.7999,287,191,14,191,14,16"
+ style="stroke: #000000; stroke-width: 1.5;"/>
+ <line style="stroke: #000000; stroke-width: 1.5;" x1="14" x2="284" y1="38.7999" y2="38.7999"/>
+ <text fill="#000000" font-family="sans-serif" font-size="14" font-weight="bold" lengthAdjust="spacingAndGlyphs"
+ textLength="257" x="18" y="31.9999">domainapp.modules.simple.dom.impl
+ </text><!--MD5=[e6e8857f289496579330543e748c2106]↵class SimpleObject-->
+ <rect fill="#FEFECE" filter="url(#f1xj00ih3jrk7f)" height="140.3993" id="SimpleObject"
+ style="stroke: #A80036; stroke-width: 1.5;" width="129" x="85.5" y="43"/>
+ <ellipse cx="112.2" cy="59" fill="#ADD1B2" rx="11" ry="11" style="stroke: #A80036; stroke-width: 1.0;"/>
+ <path d="M111.5594,62.7813 Q112.3563,62.7813 112.9266,62.5859 Q113.4969,62.3906 113.7391,62.1641 Q113.9813,61.9375 114.2234,61.7422 Q114.4656,61.5469 114.6844,61.5469 Q115.0281,61.5469 115.2859,61.8047 Q115.5438,62.0625 115.5438,62.3906 Q115.5438,63.125 114.3797,63.8047 Q113.2156,64.4844 111.5125,64.4844 Q109.3563,64.4844 107.9344,63.2188 Q106.5125,61.9531 106.5125,60.0156 L106.5125,58.8906 Q106.5125,56.8594 107.8406,55.4766 Q109.1688,54.0938 111.1375,54.0938 Q112.325,54.0938 113 [...]
+ <text fill="#000000" font-family="sans-serif" font-size="12" lengthAdjust="spacingAndGlyphs" textLength="71"
+ x="128.8" y="63.8">SimpleObject
+ </text>
+ <line style="stroke: #A80036; stroke-width: 1.5;" x1="86.5" x2="213.5" y1="75" y2="75"/>
+ <line style="stroke: #A80036; stroke-width: 1.5;" x1="86.5" x2="213.5" y1="83" y2="83"/>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="93"
+ x="91.5" y="97.9999">rebuildMetamodel()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="117"
+ x="91.5" y="111.1998">downloadJdoMetadata()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="69"
+ x="91.5" y="124.3997">openRestApi()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="104"
+ x="91.5" y="137.5996">downloadLayoutXml()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="37"
+ x="91.5" y="150.7995">delete()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="70"
+ x="91.5" y="163.9994">updateName()
+ </text>
+ <text fill="#000000" font-family="sans-serif" font-size="11" lengthAdjust="spacingAndGlyphs" textLength="56"
+ x="91.5" y="177.1993">clearHints()
+ </text><!--MD5=[903507c5920b0ecb2f83cd94e1c42ae5]↵@startuml
+↵package domainapp.modules.simple.dom.impl {
+↵class SimpleObject
+↵SimpleObject : rebuildMetamodel()
+↵SimpleObject : downloadJdoMetadata()
+↵SimpleObject : openRestApi()
+↵SimpleObject : downloadLayoutXml()
+↵SimpleObject : delete()
+↵SimpleObject : updateName()
+↵SimpleObject : clearHints()
+↵}
+↵@enduml
+↵↵PlantUML version 1.2020.04(Thu Mar 19 10:16:49 GMT 2020)↵(GPL source distribution)↵Java Runtime: OpenJDK Runtime Environment↵JVM: OpenJDK 64-Bit Server VM↵Java Version: 1.8.0_191-b12↵Operating System: Linux↵Default Encoding: UTF-8↵Language: en↵Country: US↵-->
+ </g>
+</svg>
+"""
+}
+
[isis] 06/08: Merge branch 'master' of
https://github.com/apache/isis
Posted by jo...@apache.org.
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 e44f4fcbcac46c800711f2248699ac935aaf8f0c
Merge: c542086 f49f294
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Sat May 2 16:18:00 2020 +0200
Merge branch 'master' of https://github.com/apache/isis
core-parent/pom.xml | 21 +-
.../core/metamodel/commons/ClassExtensions.java | 8 +
.../defaults/ActionParameterDefaultsFacet.java | 7 +-
.../ActionParameterDefaultsFacetViaMethod.java | 61 +-
.../isis/core/metamodel/spec/ManagedObject.java | 21 +-
.../core/metamodel/spec/feature/ObjectAction.java | 13 +-
.../spec/feature/ObjectActionParameter.java | 11 +-
.../specloader/specimpl/ObjectActionDefault.java | 11 +-
.../specloader/specimpl/ObjectActionMixedIn.java | 6 +-
.../specimpl/ObjectActionParameterAbstract.java | 18 +-
.../specloader/specimpl/PendingParameterModel.java | 107 +--
...erModel.java => PendingParameterModelHead.java} | 97 +--
.../pdfjs/ui/components/PdfJsViewerPanel.java | 3 +-
incubator/pom.xml | 1 -
scripts/ci/build-demo-app.sh | 29 +-
.../AbstractObjectMemberReprRenderer.java | 3 -
.../domainobjects/ObjectActionReprRenderer.java | 39 +-
.../ObjectCollectionReprRenderer.java | 5 -
.../domainobjects/ObjectPropertyReprRenderer.java | 5 -
.../wicket/model/models/ActionArgumentModel.java | 2 -
.../viewer/wicket/model/models/ActionModel.java | 27 +-
.../viewer/wicket/model/models/EntityModel.java | 2 +-
.../wicket/model/models/FormExecutorContext.java | 2 -
.../viewer/wicket/model/models/ScalarModel.java | 873 ++-------------------
.../wicket/model/models/ScalarParameterModel.java | 318 ++++++++
.../wicket/model/models/ScalarPropertyModel.java | 377 +++++++++
.../ScalarModel_isScalarSubtypingAnyOf_Test.java | 2 +-
.../components/actions/ActionParametersForm.java | 5 +-
.../ui/components/property/PropertyEditForm.java | 19 +-
.../components/property/PropertyEditFormPanel.java | 8 +-
.../property/PropertyEditFormPanelFactory.java | 6 +-
.../ui/components/property/PropertyEditPanel.java | 9 +-
.../property/PropertyEditPanelFactory.java | 6 +-
.../property/PropertyFormExecutorStrategy.java | 10 +-
.../PropertyEditPromptHeaderPanel.java | 6 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 4 +-
.../components/scalars/ScalarPanelAbstract2.java | 45 +-
.../scalars/ScalarPanelSelect2Abstract.java | 6 +-
.../wicket/ui/panels/PromptFormAbstract.java | 5 +-
39 files changed, 1016 insertions(+), 1182 deletions(-)
[isis] 07/08: ISIS-2342 class diagram with properties, cleanup
Posted by jo...@apache.org.
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 f8b0286e57ac401cc74c44f499c4042f295b7765
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Mon May 4 10:10:21 2020 +0200
ISIS-2342 class diagram with properties, cleanup
---
.../core/aggregator/DomainTypesAggregator.kt | 1 +
.../isis/client/kroviz/core/model/DiagramDM.kt | 5 +-
.../isis/client/kroviz/core/model/DisplayModel.kt | 11 ++-
.../org/apache/isis/client/kroviz/to/Link.kt | 2 +-
.../org/apache/isis/client/kroviz/to/bs3/Grid.kt | 8 ---
.../apache/isis/client/kroviz/ui/ImageDialog.kt | 81 +++++++++++++---------
.../apache/isis/client/kroviz/utils/DomHelper.kt | 10 +++
.../apache/isis/client/kroviz/utils/XmlHelper.kt | 3 +-
8 files changed, 70 insertions(+), 51 deletions(-)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DomainTypesAggregator.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DomainTypesAggregator.kt
index e9714a8..673bac4 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DomainTypesAggregator.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/aggregator/DomainTypesAggregator.kt
@@ -25,6 +25,7 @@ class DomainTypesAggregator(val url: String) : BaseAggregator() {
if (dsp.canBeDisplayed()) {
RoStatusBar.updateDiagram(dsp as DiagramDM)
+ dsp.isRendered = true
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DiagramDM.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DiagramDM.kt
index 9ffb2ec..048a3e4 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DiagramDM.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DiagramDM.kt
@@ -20,9 +20,10 @@ class DiagramDM(override val title: String) : DisplayModel() {
}
override fun canBeDisplayed(): Boolean {
- return (numberOfClasses == classes.size
+ if (isRendered) return false
+ return (numberOfClasses == classes.size)
//TODO && numberOfProperties == properties.size
- )
+
}
override fun addData(obj: TransferObject) {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModel.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModel.kt
index 0b8911b..9738c4b 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModel.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/core/model/DisplayModel.kt
@@ -14,7 +14,7 @@ abstract class DisplayModel {
abstract fun addData(obj: TransferObject)
open fun getObject(): TObject? {
- // subclass responsibility
+ // subclass responsibility
return null
}
@@ -25,11 +25,10 @@ abstract class DisplayModel {
fun extractTitle(): String {
val strList = this.title.split("/")
val len = strList.size
- return if (len > 2) {
- strList[len - 2]
- } else {
- ""
- }
+ var answer = ""
+ if (len > 2) answer =
+ strList[len - 2]
+ return answer
}
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Link.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Link.kt
index b38fcce..70a7bac 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Link.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/Link.kt
@@ -40,7 +40,7 @@ data class Link(val rel: String = "",
}
fun isProperty() : Boolean {
- return type.endsWith("/object-property")
+ return rel.endsWith("/property")
}
fun isPropertyDescription() : Boolean {
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Grid.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Grid.kt
index 631c449..152bc9c 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Grid.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/to/bs3/Grid.kt
@@ -26,12 +26,4 @@ class Grid(document: Document) : TransferObject {
}
}
- fun getPropertyList(): List<Property> {
- val list = mutableListOf<Property>()
- rows.forEach { c ->
- list.addAll(c.getPropertyList())
- }
- return list
- }
-
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
index 4525b36..bd5ac96 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
@@ -2,9 +2,11 @@ package org.apache.isis.client.kroviz.ui
import org.apache.isis.client.kroviz.to.ValueType
import org.apache.isis.client.kroviz.ui.kv.RoDialog
-import org.apache.isis.client.kroviz.ui.kv.UiManager
+import org.apache.isis.client.kroviz.utils.DomHelper
+import org.apache.isis.client.kroviz.utils.ScalableVectorGraphic
import org.apache.isis.client.kroviz.utils.UmlUtils
-import org.w3c.dom.events.KeyboardEvent
+import org.w3c.dom.parsing.DOMParser
+import pl.treksoft.kvision.core.onEvent
import kotlin.js.Date
class ImageDialog(
@@ -21,50 +23,65 @@ class ImageDialog(
}
private val uuid: String = Date().toTimeString() //IMPROVE
+ private var dialog: RoDialog
fun open() {
- val formItems = mutableListOf<FormItem>()
-// val slider = FormItem("Scale", ValueType.SLIDER.type, content = 1.0)
-// formItems.add(slider)
+ dialog.open()
+ UmlUtils.generateDiagram(pumlCode, uuid)
+ }
+ init {
+ val formItems = mutableListOf<FormItem>()
val img = FormItem("svg", ValueType.IMAGE.type, callBackId = uuid)
formItems.add(img)
- val dialog = RoDialog(
+ dialog = RoDialog(
+ widthPerc = 80,
caption = label,
items = formItems,
command = this,
- widthPerc = 80,
heightPerc = 80)
- dialog.open()
-// slider.setDisplay(dialog)
-
- UmlUtils.generateDiagram(pumlCode, uuid)
- }
-
- init {
- kotlin.browser.window.addEventListener("keydown", fun(event) {
- val dlg = UiManager.topDialog() as RoDialog
- console.log("[ImageDialog.event] topWindow: $dlg")
- console.log(dlg)
- if (dlg.hasScalableContent()) {
- val ke = event as KeyboardEvent
- if (ke.ctrlKey && ke.keyCode == 189) { // -
- //adjust svg viewbox
- console.log("[<CTRL>-<->]")
- event.stopPropagation()
- ke.preventDefault()
- }
- if (ke.ctrlKey && ke.keyCode == 187) { // +
- //adjust svg viewbox
- console.log("[<CTRL>-<+>]")
- event.stopPropagation()
- ke.preventDefault()
+ console.log("[ImageDialog.init] $dialog")
+ // if (dialog.hasScalableContent()) {
+ dialog.onEvent {
+ keypress = { e ->
+ console.log("[ImageDialog.open] keydown")
+ console.log(e)
+ if (e.key === "+" && e.ctrlKey) {
+ scale(true)
+ console.log("[<CTRL>-<Alt>-<+>]")
+ e.stopPropagation()
+ e.preventDefault()
+ }
+ if (e.key === "-" && e.ctrlKey) {
+ scale(false)
+ console.log("[<CTRL>-<Alt>-<->]")
+ e.stopPropagation()
+ e.preventDefault()
+ }
}
}
- })
+ // }
}
+ private fun scale(upOrDown: Boolean) {
+ val mimeType = "image/svg+xml"
+ val oldElement = DomHelper.getById(uuid)
+ val oldStr = oldElement.toString()
+ console.log(oldStr)
+ val p = DOMParser()
+ var svg = p.parseFromString(oldStr, mimeType)
+ val image = ScalableVectorGraphic(svg)
+ if (upOrDown) {
+ image.scaleUp()
+ } else {
+ image.scaleDown()
+ }
+ val newStr = image.serialized()
+ svg = p.parseFromString(newStr, mimeType)
+ DomHelper.replaceWith(uuid, svg.documentElement!!)
+ }
+
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DomHelper.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DomHelper.kt
index e06145b..b8e8278 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DomHelper.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/DomHelper.kt
@@ -1,5 +1,6 @@
package org.apache.isis.client.kroviz.utils
+import org.w3c.dom.Element
import org.w3c.dom.parsing.DOMParser
import kotlin.browser.document
@@ -17,6 +18,15 @@ object DomHelper {
element.asDynamic().appendChild(svg.documentElement)
}
+ fun getById(elementId: String): Element {
+ return document.getElementById(elementId)!!
+ }
+
+ fun replaceWith(elementId: String, svgElement: Element) {
+ val element = getById(elementId)!!
+ element.replaceWith(svgElement)
+ }
+
fun download(filename: String, text: String) {
val element = document.createElement("a")
element.setAttribute("href", "data:text/plain;charset=utf-8," + encodeURIComponent(text))
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/XmlHelper.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/XmlHelper.kt
index 5a34ab5..274e5cf 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/XmlHelper.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/XmlHelper.kt
@@ -15,8 +15,7 @@ object XmlHelper {
fun nonTextChildren(node: Node): List<Node> {
val match = "#text"
val childNodes = node.childNodes.asList()
- val list = childNodes.filter { !it.nodeName.contains(match) }
- return list
+ return childNodes.filter { !it.nodeName.contains(match) }
}
fun firstChildMatching(node: Node, match: String): Node? {
[isis] 08/08: Merge branch 'master' of
https://github.com/apache/isis
Posted by jo...@apache.org.
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 e3f04ea130bd8bff7c63dd8d3a35dcc3b1b5adc2
Merge: f8b0286 5ffee67
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Thu May 7 17:58:49 2020 +0200
Merge branch 'master' of https://github.com/apache/isis
.../org/apache/isis/applib/value/Password.java | 20 +
.../apache/isis/core/commons/collections/Can.java | 9 +
.../isis/core/commons/collections/Can_Empty.java | 7 +
.../core/commons/collections/Can_Multiple.java | 8 +
.../core/commons/collections/Can_Singleton.java | 6 +
.../isis/core/commons/internal/base/_NullSafe.java | 31 ++
.../commons/internal/collections/_Collections.java | 7 +-
.../core/commons/internal/primitives/_Ints.java | 31 ++
.../core/commons/internal/primitives/IntsTest.java | 79 ++++
...eprocessor.java => CanonicalParameterUtil.java} | 46 +-
.../core/metamodel/commons/MethodExtensions.java | 24 +-
.../isis/core/metamodel/facets/FacetedMethod.java | 17 +-
.../core/metamodel/facets/MethodFinderUtils.java | 10 +-
.../metamodel/facets/MethodLiteralConstants.java | 75 +++-
.../MethodPrefixBasedFacetFactoryAbstract.java | 6 +-
.../core/metamodel/facets/ParameterSupport.java | 82 +++-
.../facets/actcoll/typeof/TypeOfFacet.java | 55 ++-
.../action/ActionAnnotationFacetFactory.java | 8 +-
...ctionInvocationFacetForDomainEventAbstract.java | 6 +-
.../ActionDefaultsFacetViaMethodFactory.java | 36 +-
.../ActionValidationFacetViaMethodFactory.java | 67 +--
.../collparam/semantics/CollectionSemantics.java | 11 +
.../DisableForContextFacetViaMethodFactory.java | 34 +-
.../HideForContextFacetViaMethodFactory.java | 39 +-
.../method/ValidateObjectFacetMethodFactory.java | 11 +-
...ParameterAutoCompleteFacetViaMethodFactory.java | 14 +-
.../method/ActionChoicesFacetViaMethodFactory.java | 40 +-
...ctionParameterChoicesFacetViaMethodFactory.java | 23 +-
...tionParameterDefaultsFacetViaMethodFactory.java | 19 +-
.../ActionParameterDisabledFacetViaMethod.java | 6 +-
...tionParameterDisabledFacetViaMethodFactory.java | 27 +-
...ActionParameterHiddenFacetViaMethodFactory.java | 19 +-
.../validate/ActionParameterValidationFacet.java | 10 +-
.../ActionParameterValidationFacetAbstract.java | 13 +-
.../ActionParameterValidationFacetViaMethod.java | 28 +-
...onParameterValidationFacetViaMethodFactory.java | 88 ++--
.../PropertyAutoCompleteFacetMethodFactory.java | 14 +-
.../PropertyChoicesFacetViaMethodFactory.java | 13 +-
.../PropertyDefaultFacetViaMethodFactory.java | 13 +-
.../PropertyValidateFacetViaMethodFactory.java | 44 +-
.../password/PasswordValueSemanticsProvider.java | 5 +-
.../interactions/ActionArgValidityContext.java | 16 +-
.../isis/core/metamodel/spec/ManagedObject.java | 101 +----
.../isis/core/metamodel/spec/ManagedObjects.java | 111 +++++
.../core/metamodel/spec/ObjectSpecification.java | 53 ++-
.../spec/feature/ObjectActionParameter.java | 16 +
.../core/metamodel/spec/feature/ObjectFeature.java | 2 +-
.../specimpl/ObjectActionParameterAbstract.java | 23 +-
.../specloader/specimpl/PendingParameterModel.java | 7 +-
.../specimpl/PendingParameterModelHead.java | 13 +-
.../specimpl/dflt/ObjectSpecificationDefault.java | 14 +-
.../actions/ActionMethodsFacetFactoryTest.java | 4 +-
.../testspec/ObjectSpecificationStub.java | 4 +-
.../dom/actions/assoc/AssociatedActionDemo.java | 6 +-
.../actions/depargs/DependentArgsActionDemo.java | 1 -
.../DependentArgsActionDemo_bulkAction.java | 151 +++++++
.../main/java/demoapp/webapp/DemoAppManifest.java | 2 +-
.../pdfjs/ui/components/PdfJsViewerPanel.java | 23 +-
.../viewer/common/model/HasParentUiModel.java} | 10 +-
.../apache/isis/viewer/common/model/HasTitle.java | 7 +
.../model/action/form/FormPendingParamUiModel.java | 57 +++
.../common/model/action/form/FormUiModel.java} | 7 +-
.../action/form/PendingParameterManager.java} | 14 +-
.../common/model/feature/ParameterUiModel.java | 90 ++++
.../common/model/feature/PropertyUiModel.java | 64 +++
.../viewer/common/model/feature/ScalarUiModel.java | 72 ++++
.../domainobjects/ActionResultReprRenderer.java | 2 +-
.../wicket/model/models/ActionArgumentCache.java | 145 +++++++
.../viewer/wicket/model/models/ActionModel.java | 474 +++++++--------------
.../wicket/model/models/BookmarkableModel.java | 7 +-
.../wicket/model/models/EntityCollectionModel.java | 118 +++--
.../wicket/model/models/FormExecutorContext.java | 4 +-
.../wicket/model/models/InlinePromptContext.java | 26 +-
.../wicket/model/models/PageParameterUtil.java | 261 ++++++++++++
.../viewer/wicket/model/models/ScalarModel.java | 63 +--
.../wicket/model/models/ScalarParameterModel.java | 204 ++-------
.../wicket/model/models/ScalarPropertyModel.java | 214 +++-------
.../wicket/model/models/ActionModelTest.java | 4 +-
.../ui/components/actioninfo/ActionInfoPanel.java | 3 +-
.../ui/components/actionlink/ActionLinkPanel.java | 2 +-
.../actionlink/ActionLinkPanelFactory.java | 2 +-
.../actionmenu/entityactions/LinkAndLabelUtil.java | 2 +-
.../actionprompt/ActionPromptHeaderPanel.java | 6 +-
.../components/actions/ActionParametersForm.java | 100 ++---
.../actions/ActionParametersFormPanel.java | 3 +-
.../components/actions/ActionParametersPanel.java | 4 +-
.../ui/components/collection/CollectionPanel.java | 11 +-
.../CollectionContentsAsAjaxTablePanel.java | 2 +-
.../CollectionContentsSortableDataProvider.java | 3 +-
.../columns/ObjectAdapterPropertyColumn.java | 10 +-
.../columns/ObjectAdapterToggleboxColumn.java | 10 +-
.../ui/components/property/PropertyEditPanel.java | 32 +-
.../property/PropertyFormExecutorStrategy.java | 4 +-
.../PropertyEditPromptHeaderPanel.java | 9 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 2 +-
.../components/scalars/ScalarPanelAbstract2.java | 200 +++------
.../scalars/ScalarPanelSelect2Abstract.java | 45 +-
.../scalars/ScalarPanelTextFieldAbstract.java | 29 +-
.../isisapplib/IsisBlobOrClobPanelAbstract.java | 47 +-
.../components/scalars/primitive/BooleanPanel.java | 22 +-
.../scalars/reference/ReferencePanel.java | 41 +-
.../valuechoices/ValueChoicesSelect2Panel.java | 27 +-
.../StandaloneCollectionPanel.java | 2 +-
.../widgets/checkbox/ContainedToggleboxPanel.java | 11 +-
.../widgets/linkandlabel/ActionLink.java | 7 +-
.../linkandlabel/LinkAndLabelFactoryAbstract.java | 6 +-
.../ui/components/widgets/select2/Select2.java | 12 +-
.../widgets/select2/Select2MultiChoiceExt.java | 2 +-
...derForReferenceParamOrPropertyAutoComplete.java | 48 ++-
.../ui/pages/actionprompt/ActionPromptPage.java | 11 +-
.../wicket/ui/pages/bootstrap-overrides-all-v2.css | 2 +-
.../StandaloneCollectionPage.java | 2 +-
.../viewer/wicket/ui/pages/value/ValuePage.java | 2 +-
.../wicket/ui/pages/voidreturn/VoidReturnPage.java | 2 +-
.../wicket/ui/panels/FormExecutorDefault.java | 8 +-
.../wicket/ui/panels/FormExecutorStrategy.java | 5 +-
.../wicket/ui/panels/PromptFormAbstract.java | 5 +-
117 files changed, 2505 insertions(+), 1727 deletions(-)
[isis] 01/08: ISIS-2342 scale image 1/n, cleanup
Posted by jo...@apache.org.
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 9133164e213cc8d6f1262906e0fe402fc3031b0a
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Sun Apr 12 10:40:18 2020 +0200
ISIS-2342 scale image 1/n, cleanup
---
.../kotlin/org/apache/isis/client/kroviz/App.kt | 3 --
.../org/apache/isis/client/kroviz/ui/FormItem.kt | 17 +---------
.../apache/isis/client/kroviz/ui/ImageDialog.kt | 36 +++++++++++++++++++---
.../apache/isis/client/kroviz/ui/kv/RoDialog.kt | 10 +++---
.../apache/isis/client/kroviz/ui/kv/UiManager.kt | 8 +++++
5 files changed, 47 insertions(+), 27 deletions(-)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/App.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/App.kt
index 7d793ff..0cb2ed0 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/App.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/App.kt
@@ -7,7 +7,6 @@ import pl.treksoft.kvision.panel.vPanel
import pl.treksoft.kvision.require
import pl.treksoft.kvision.startApplication
import pl.treksoft.kvision.utils.px
-import kotlin.browser.window
class App : Application() {
@@ -31,7 +30,5 @@ class App : Application() {
}
fun main() {
- //TODO workaround according to https://github.com/rjaros/kvision/issues/113
- if (window.asDynamic().__karma__) return
startApplication(::App)
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
index ac90137..2ba3ed6 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/FormItem.kt
@@ -1,7 +1,6 @@
package org.apache.isis.client.kroviz.ui
import org.apache.isis.client.kroviz.to.Member
-import pl.treksoft.kvision.window.Window
class FormItem(
val label: String,
@@ -13,11 +12,10 @@ class FormItem(
var dspl: Displayable? = null,
val callBackId: String? = null) {
- private var originalContent: Any?
+ private var originalContent: Any? = content
var readOnly = false
init {
- originalContent = content
if (member != null) {
readOnly = member.isReadOnly()
}
@@ -28,10 +26,6 @@ class FormItem(
if (member != null) {
member.value?.content = value
}
- //IMPROVE this is special logic in a generic place
- if (type == org.apache.isis.client.kroviz.to.ValueType.SLIDER.type) {
- setOpacity(value!!)
- }
}
fun reset() {
@@ -45,13 +39,4 @@ class FormItem(
dspl = displayable
}
- @Deprecated("this needs a better home")
- fun setOpacity(value: String) {
- val opacity = value.toDouble()
- (dspl as Window).getElementJQuery()?.css(
- "background-color",
- "rgba(255, 255, 255, $opacity)"
- )
- }
-
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
index bb51964..4525b36 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/ImageDialog.kt
@@ -2,10 +2,14 @@ package org.apache.isis.client.kroviz.ui
import org.apache.isis.client.kroviz.to.ValueType
import org.apache.isis.client.kroviz.ui.kv.RoDialog
+import org.apache.isis.client.kroviz.ui.kv.UiManager
import org.apache.isis.client.kroviz.utils.UmlUtils
+import org.w3c.dom.events.KeyboardEvent
import kotlin.js.Date
-class ImageDialog(var label: String = defaultLabel, var pumlCode: String = defaultPumlCode) : Command {
+class ImageDialog(
+ var label: String = defaultLabel,
+ var pumlCode: String = defaultPumlCode) : Command {
companion object {
val defaultLabel = "UML Diagram Sample"
@@ -20,8 +24,8 @@ class ImageDialog(var label: String = defaultLabel, var pumlCode: String = defau
fun open() {
val formItems = mutableListOf<FormItem>()
- val slider = FormItem("Opacity", ValueType.SLIDER.type, content = 1.0)
- formItems.add(slider)
+// val slider = FormItem("Scale", ValueType.SLIDER.type, content = 1.0)
+// formItems.add(slider)
val img = FormItem("svg", ValueType.IMAGE.type, callBackId = uuid)
formItems.add(img)
@@ -33,10 +37,34 @@ class ImageDialog(var label: String = defaultLabel, var pumlCode: String = defau
widthPerc = 80,
heightPerc = 80)
dialog.open()
- slider.setDisplay(dialog)
+// slider.setDisplay(dialog)
UmlUtils.generateDiagram(pumlCode, uuid)
}
+ init {
+ kotlin.browser.window.addEventListener("keydown", fun(event) {
+ val dlg = UiManager.topDialog() as RoDialog
+ console.log("[ImageDialog.event] topWindow: $dlg")
+ console.log(dlg)
+ if (dlg.hasScalableContent()) {
+ val ke = event as KeyboardEvent
+ if (ke.ctrlKey && ke.keyCode == 189) { // -
+ //adjust svg viewbox
+ console.log("[<CTRL>-<->]")
+ event.stopPropagation()
+ ke.preventDefault()
+ }
+ if (ke.ctrlKey && ke.keyCode == 187) { // +
+ //adjust svg viewbox
+ console.log("[<CTRL>-<+>]")
+ event.stopPropagation()
+ ke.preventDefault()
+ }
+ }
+ })
+ }
+
+
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDialog.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDialog.kt
index 1d633f0..d619817 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDialog.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/RoDialog.kt
@@ -1,8 +1,7 @@
package org.apache.isis.client.kroviz.ui.kv
+import org.apache.isis.client.kroviz.to.ValueType
import org.apache.isis.client.kroviz.ui.*
-import org.w3c.dom.events.Event
-import org.w3c.dom.events.MouseEvent
import pl.treksoft.kvision.core.CssSize
import pl.treksoft.kvision.core.UNIT
import pl.treksoft.kvision.core.Widget
@@ -11,11 +10,9 @@ import pl.treksoft.kvision.html.Button
import pl.treksoft.kvision.html.ButtonStyle
import pl.treksoft.kvision.panel.FlexJustify
import pl.treksoft.kvision.panel.HPanel
-import pl.treksoft.kvision.panel.SimplePanel
import pl.treksoft.kvision.panel.vPanel
import pl.treksoft.kvision.utils.perc
import pl.treksoft.kvision.utils.px
-import pl.treksoft.kvision.window.Window
class RoDialog(
caption: String,
@@ -91,4 +88,9 @@ class RoDialog(
dispose()
}
+ fun hasScalableContent(): Boolean {
+ val scalable = items.first { it.type == ValueType.IMAGE.type }
+ return scalable != null
+ }
+
}
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/UiManager.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/UiManager.kt
index 3a54419..2ccfcc0 100644
--- a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/UiManager.kt
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/ui/kv/UiManager.kt
@@ -12,6 +12,7 @@ import org.apache.isis.client.kroviz.core.model.ObjectDM
import org.apache.isis.client.kroviz.to.TObject
import org.apache.isis.client.kroviz.to.mb.Menubars
import org.w3c.dom.events.KeyboardEvent
+import pl.treksoft.kvision.core.Component
import pl.treksoft.kvision.core.Widget
import pl.treksoft.kvision.dropdown.ContextMenu
import pl.treksoft.kvision.panel.SimplePanel
@@ -126,6 +127,13 @@ object UiManager {
pop()
}
+ fun topDialog(): Component {
+ val allDialogs = RoApp.getChildren().filter {
+ it is RoDialog
+ }
+ return allDialogs.first()
+ }
+
fun getUrl(): String {
return if (session == null) {
""
[isis] 05/08: Merge branch 'master' of
https://github.com/apache/isis
Posted by jo...@apache.org.
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 c542086ffdb84215c6de71ccc523abb749daa733
Merge: a4d2560 017c916
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Fri May 1 16:53:40 2020 +0200
Merge branch 'master' of https://github.com/apache/isis
.../examples/mixins/layout/Object_openRestApi.java | 2 +-
.../mixins/layout/Object_rebuildMetamodel.java | 2 +-
.../isis/applib/layout/grid/bootstrap3/BS3Col.java | 8 +-
.../applib/mixins/layout/Object_openRestApi.java | 2 +-
.../mixins/layout/Object_rebuildMetamodel.java | 2 +-
.../isis/applib/services/grid/GridService.java | 1 -
.../isis/applib/services/jaxb/JaxbService.java | 1 -
core-parent/pom.xml | 1 +
.../apache/isis/core/commons/collections/Can.java | 9 +-
.../isis/core/commons/collections/Can_Empty.java | 2 +
.../core/commons/collections/Can_Multiple.java | 2 +
.../core/commons/collections/Can_Singleton.java | 2 +
.../isis/core/commons/internal/base/_Either.java | 18 +-
.../isis/core/commons/internal/base/_NullSafe.java | 16 +-
.../core/commons/internal/collections/_Arrays.java | 3 +
.../core/commons/internal/primitives/_Ints.java | 22 ++
.../core/commons/internal/reflection/_Reflect.java | 19 ++
.../isis/core/metamodel/commons/MethodUtil.java | 40 ++-
.../core/metamodel/facets/DomainEventHelper.java | 10 +-
.../isis/core/metamodel/facets/FacetFactory.java | 4 +-
.../core/metamodel/facets/MethodFinderUtils.java | 118 +++++++-
.../facets/OrphanedSupportingMethodValidator.java | 2 +-
...ependentArgUtils.java => ParameterSupport.java} | 114 ++++++--
...nChoicesForCollectionParameterFacetFactory.java | 6 +-
.../invocation/ActionDomainEventFacetAbstract.java | 16 +-
.../action/invocation/ActionInvocationFacet.java | 5 +-
...ctionInvocationFacetForDomainEventAbstract.java | 20 +-
.../actions/validate/ActionValidationFacet.java | 5 +-
.../method/ActionValidationFacetViaMethod.java | 3 +-
...tionAddToRemoveFromAndValidateFacetFactory.java | 4 +-
.../facets/members/cssclassfa/CssClassFaFacet.java | 39 ++-
.../cssclassfa/CssClassFaFacetAbstract.java | 119 ++++++--
.../object/autocomplete/AutoCompleteFacet.java | 5 +-
.../autocomplete/AutoCompleteFacetAbstract.java | 7 +-
.../objectvalue/typicallen/TypicalLengthFacet.java | 19 ++
.../ActionParameterAutoCompleteFacet.java | 5 +-
.../ActionParameterAutoCompleteFacetViaMethod.java | 17 +-
...ParameterAutoCompleteFacetViaMethodFactory.java | 12 +-
.../param/choices/ActionParameterChoicesFacet.java | 5 +-
.../choices/ActionParameterChoicesFacetNone.java | 5 +-
...rameterChoicesFacetDerivedFromChoicesFacet.java | 5 +-
.../method/ActionChoicesFacetViaMethodFactory.java | 5 +-
.../ActionParameterChoicesFacetViaMethod.java | 15 +-
...ctionParameterChoicesFacetViaMethodFactory.java | 11 +-
.../defaults/ActionParameterDefaultsFacet.java | 12 +-
.../ActionParameterDefaultsFacetViaMethod.java | 99 ++++---
...tionParameterDefaultsFacetViaMethodFactory.java | 101 +++----
.../disable/ActionParameterDisabledFacet.java | 5 +-
.../ActionParameterDisabledFacetViaMethod.java | 14 +-
...tionParameterDisabledFacetViaMethodFactory.java | 11 +-
.../param/hide/ActionParameterHiddenFacet.java | 5 +-
.../ActionParameterHiddenFacetViaMethod.java | 14 +-
...ActionParameterHiddenFacetViaMethodFactory.java | 11 +-
.../BooleanValueSemanticsProviderAbstract.java | 2 +-
.../facets/value/string/StringValueFacet.java | 5 -
.../value/string/StringValueSemanticsProvider.java | 13 +-
.../TemporalValueSemanticsProviderAbstract.java | 10 +-
.../interactions/ActionArgUsabilityContext.java | 9 +-
.../interactions/ActionArgValidityContext.java | 11 +-
.../interactions/ActionArgVisibilityContext.java | 9 +-
.../interactions/ActionValidityContext.java | 9 +-
.../core/metamodel/layout/LayoutFacetUtil.java | 2 +-
.../metamodel/objectmanager/ObjectManager.java | 2 +-
...arameterChoicesFacetFromParentedCollection.java | 4 +-
...meterDefaultsFacetFromAssociatedCollection.java | 11 +-
.../isis/core/metamodel/spec/ManagedObject.java | 112 ++++++--
.../core/metamodel/spec/feature/ObjectAction.java | 45 +--
.../spec/feature/ObjectActionParameter.java | 23 +-
.../metamodel/spec/feature/ObjectAssociation.java | 3 +
.../spec/interaction/ActionInteraction.java | 170 +++++++++++
.../spec/interaction/CollectionInteraction.java | 61 ++++
.../spec/interaction/InteractionVeto.java | 102 +++++++
.../metamodel/spec/interaction/ManagedAction.java | 88 ++++++
.../spec/interaction/ManagedCollection.java | 77 +++++
.../metamodel/spec/interaction/ManagedMember.java | 155 ++++++++++
.../interaction/ManagedParameter.java} | 48 ++--
.../spec/interaction/ManagedParameterList.java | 58 ++++
.../spec/interaction/ManagedProperty.java | 98 +++++++
.../spec/interaction/MemberInteraction.java | 107 +++++++
.../spec/interaction/PropertyInteraction.java | 62 ++++
.../metamodel/specloader/specimpl/Factories.java | 14 -
.../specimpl/ObjectActionContributee.java | 253 -----------------
.../specloader/specimpl/ObjectActionDefault.java | 93 +++---
.../specloader/specimpl/ObjectActionMixedIn.java | 12 +-
.../specimpl/ObjectActionParameterAbstract.java | 83 ++----
.../ObjectActionParameterContributeeAbstract.java | 93 ------
.../ObjectActionParameterMixedInAbstract.java | 39 +--
.../specimpl/ObjectSpecificationAbstract.java | 98 +------
.../OneToManyActionParameterContributee.java | 43 ---
.../specimpl/OneToManyAssociationContributee.java | 4 +-
.../specimpl/OneToManyAssociationMixedIn.java | 4 +-
.../OneToOneActionParameterContributee.java | 38 ---
.../specimpl/OneToOneAssociationContributee.java | 4 +-
.../specimpl/OneToOneAssociationMixedIn.java | 4 +-
.../specloader/specimpl/PendingParameterModel.java | 147 ++++++++++
.../metamodel/specloader/specimpl/Predicates.java | 54 ----
...nLayoutXmlLayoutAnnotationFacetFactoryTest.java | 4 +-
.../cssclassfa/CssClassFaFacetAbstractTest.java | 6 +-
.../DomainObjectLayoutFactoryTest.java | 4 +-
core/pom.xml | 2 +-
.../command/CommandExecutorServiceDefault.java | 8 +-
.../i18n/po/TranslationServicePoMenu.java | 2 +-
.../handlers/DomainObjectInvocationHandler.java | 18 +-
.../security/authentication/logout/LogoutMenu.java | 2 +-
.../webapp/context/IsisWebAppCommonContext.java | 9 +
...entoService.java => ObjectMementoForEmpty.java} | 39 ++-
.../context/memento/ObjectMementoService.java | 4 +
examples/demo/pom.xml | 201 +------------
.../DependentArgsActionDemo_useAutoComplete.java | 15 +-
.../DependentArgsActionDemo_useChoices.java | 17 +-
.../DependentArgsActionDemo_useDefault.java | 15 +-
.../DependentArgsActionDemo_useDisable.java | 10 +-
.../depargs/DependentArgsActionDemo_useHide.java | 17 +-
.../java/demoapp/dom/linebreaker/LineBreaker.java | 35 +++
.../java/demoapp/dom/types/FeaturedTypesMenu.java | 2 +-
.../java/demoapp/dom/types/time/TemporalDemo.java | 23 +-
.../demo/src/main/java/demoapp/utils/DemoStub.java | 2 +-
.../main/java/demoapp/utils/ThereCanBeOnlyOne.java | 57 ++++
.../demo/src/main/java/demoapp/webapp/DemoApp.java | 173 ------------
.../main/java/demoapp/webapp/DemoAppManifest.java | 139 +++++++++
.../main/java/demoapp/webapp/menubars.layout.xml | 1 +
examples/{demo-vaadin => demo/vaadin}/pom.xml | 9 +-
.../java/demoapp/webapp/vaadin}/DemoAppVaadin.java | 19 +-
.../vaadin}/src/main/resources/log4j2-spring.xml | 0
examples/demo/{ => wicket}/pom.xml | 17 +-
.../java/demoapp/webapp/wicket/DemoAppWicket.java} | 37 +--
.../wicket}/src/main/resources/log4j2-spring.xml | 18 ++
.../model/good/ProperParameterSupport.java | 131 +++++++++
.../testdomain/auditing/AuditerServiceTest.java | 3 +-
.../publishing/PublisherServiceTest.java | 3 +-
.../vaadin/model/action/ActionFactoryVaa.java | 14 +-
.../viewer/vaadin/model/decorator/Decorators.java | 104 +++++--
incubator/viewers/vaadin/ui/pom.xml | 31 +-
.../vaadin/ui/IsisModuleIncViewerVaadinUi.java | 22 +-
.../viewer/vaadin/ui/binding/BinderUtil.java | 166 +++++++++++
.../ui/components/UiComponentFactoryVaa.java | 62 ++++
.../ui/components/UiComponentHandlerVaa.java | 11 +-
.../vaadin/ui/components/blob/BlobField.java | 68 +++++
.../ui/components/blob/BlobFieldFactory.java | 49 ++++
.../vaadin/ui/components/clob/ClobField.java | 48 +++-
.../ui/components/clob/ClobFieldFactory.java | 49 ++++
.../vaadin/ui/components/collection/TableView.java | 63 +++--
.../vaadin/ui/components/debug/DebugField.java | 77 +++++
.../vaadin/ui/components/debug/DebugUiModel.java | 24 +-
.../vaadin/ui/components/markup/MarkupField.java | 47 ++--
.../ui/components/markup/MarkupFieldFactory.java | 47 ++++
.../ui/components/object/ObjectFormView.java | 311 ++++++++++++++-------
.../ui/components/other/FallbackFieldFactory.java | 97 +++++++
.../vaadin/ui/components/temporal/DateField.java | 48 ++--
.../components/temporal/TemporalFieldFactory.java | 125 +++++++++
.../ui/components/text/TextFieldFactory.java | 61 ++++
.../ui/components/text/uuid/UuidFieldFactory.java | 78 ++++++
.../viewer/vaadin/ui/pages/main/MainView.java | 18 +-
.../ui/pages/main/MainView_createHeader.java | 37 ++-
.../viewer/vaadin/ui/util/LocalResourceUtil.java | 61 ++++
scripts/ci/build-demo-app.sh | 31 +-
valuetypes/asciidoc/ui/pom.xml | 18 +-
.../asciidoc/ui/components/js/prism1.14.js | 8 -
valuetypes/asciidoc/ui/vaadin/pom.xml | 42 +++
.../ui/vaa/IsisModuleValAsciidocUiVaa.java} | 9 +-
.../ui/vaa/components/AsciiDocFieldFactoryVaa.java | 59 ++++
.../ui/vaa/components/AsciiDocFieldVaa.java | 64 +++++
.../asciidoc/ui/vaa/components/PrismResources.java | 45 +++
.../main/resources/static/prism/css/prism1.20.css} | 92 +++---
.../main/resources/static/prism/js/prism1.20.js | 13 +
valuetypes/asciidoc/ui/wicket/pom.xml | 41 +++
.../ui/wkt/IsisModuleValAsciidocUiWkt.java} | 10 +-
.../ui/wkt/components/AsciiDocComponentWkt.java} | 27 +-
.../wkt/components/AsciiDocPanelFactoriesWkt.java} | 8 +-
.../ui/wkt/components/prism/PrismResources.java | 40 +++
.../ui/wkt/components/prism/css/prism1.20.css} | 92 +++---
.../ui/wkt/components/prism/js/prism1.20.js | 13 +
valuetypes/pom.xml | 7 +-
viewers/common/pom.xml | 6 +
.../action/ActionLinkUiComponentDecorator.java | 25 +-
.../common/model/action/ActionUiMetaModel.java | 19 +-
.../viewer/common/model/action/ActionUiModel.java | 4 +-
.../common/model/binding/UiComponentFactory.java | 142 ++++++++++
.../model/binding/interaction/ObjectBinding.java | 81 ++++++
.../ConfirmDecorator.java} | 8 +-
.../model/decorator/confirm/ConfirmUiModel.java | 68 +++++
.../DangerDecorator.java} | 8 +-
.../DisableDecorator.java} | 8 +-
.../DisableUiModel.java} | 37 +--
.../model/decorator/fa/FontAwesomeDecorator.java | 10 +-
.../model/decorator/fa/FontAwesomeUiModel.java | 27 +-
.../PrototypingDecorator.java} | 8 +-
.../model/decorator/tooltip/TooltipDecorator.java | 20 +-
.../common/model/gridlayout/UiGridLayout.java | 162 +++++++++++
.../isis/viewer/common/model/menu/MenuUiModel.java | 30 +-
.../model/menu/MenuUiModel_buildMenuItems.java | 42 ++-
.../common/model/menuitem/MenuItemUiModel.java | 2 +
.../model/userprofile/UserProfileUiModel.java | 4 +
.../userprofile/UserProfileUiModelProvider.java | 5 +-
.../AbstractObjectMemberReprRenderer.java | 21 +-
.../domainobjects/DomainObjectReprRenderer.java | 9 +-
.../rendering/domainobjects/MemberReprMode.java | 29 --
.../domainobjects/ObjectActionReprRenderer.java | 10 +-
.../domainobjects/ObjectAndActionInvocation.java | 27 +-
.../domainobjects/ObjectAndCollection2.java | 39 ---
.../rendering/domainobjects/ObjectAndMember.java | 41 ---
.../rendering/domainobjects/ObjectAndProperty.java | 30 --
.../ObjectCollectionReprRenderer.java | 3 +-
.../domainobjects/ObjectPropertyReprRenderer.java | 3 +-
.../rendering/service/RepresentationService.java | 20 +-
.../RepresentationServiceContentNegotiator.java | 19 +-
.../service/conneg/ContentNegotiationService.java | 12 +-
.../conneg/ContentNegotiationServiceAbstract.java | 12 +-
...entNegotiationServiceForRestfulObjectsV1_0.java | 33 +--
.../ContentNegotiationServiceOrgApacheIsisV1.java | 17 +-
.../service/swagger/SwaggerServiceMenu.java | 4 +-
viewers/restfulobjects/viewer/pom.xml | 5 +
.../restfulobjects/viewer/mappers/FailureUtil.java | 8 +-
.../resources/DomainObjectResourceServerside.java | 102 +++----
.../viewer/resources/DomainResourceHelper.java | 134 +++++----
.../resources/InteractionFailureHandler.java | 95 +++++++
.../viewer/resources/ObjectActionArgHelper.java | 33 +--
.../resources/ObjectAdapterAccessHelper.java | 136 ++++-----
.../links/ActionLinkUiComponentFactoryWkt.java} | 16 +-
.../viewer/wicket/model/links/LinkAndLabel.java | 65 ++++-
.../wicket/model/links/ListOfLinksModel.java | 28 +-
.../wicket/model/models/ActionArgumentModel.java | 5 +-
.../viewer/wicket/model/models/ActionModel.java | 27 +-
.../viewer/wicket/model/models/EntityModel.java | 30 +-
.../viewer/wicket/model/models/ScalarModel.java | 108 ++++---
viewers/wicket/ui/pom.xml | 4 +
.../components/actionmenu/CssClassFaBehavior.java | 4 +-
.../entityactions/AdditionalLinksPanel.java | 34 +--
.../entityactions/EntityActionLinkFactory.java | 17 +-
.../actionmenu/serviceactions/CssMenuItem.java | 66 ++++-
.../serviceactions/MenuActionLinkFactory.java | 10 +-
.../actionmenu/serviceactions/MenuActionWkt.java | 39 ---
.../serviceactions/ServiceActionUtil.java | 60 ++--
.../components/actions/ActionParametersForm.java | 13 +-
.../entity/icontitle/EntityIconAndTitlePanel.java | 11 +-
.../components/scalars/ScalarPanelAbstract2.java | 16 +-
.../scalars/ScalarPanelSelect2Abstract.java | 11 +-
.../scalars/markup/MarkupComponent_reloadJs.java | 6 +-
.../scalars/reference/ReferencePanel.java | 19 +-
.../valuechoices/ValueChoicesSelect2Panel.java | 14 +-
.../ObjectAdapterMementoProviderAbstract.java | 33 +--
.../ObjectAdapterMementoProviderForChoices.java | 5 +-
...tAdapterMementoProviderForReferenceChoices.java | 11 +-
...entoProviderForReferenceObjectAutoComplete.java | 10 +-
...derForReferenceParamOrPropertyAutoComplete.java | 37 +--
...bjectAdapterMementoProviderForValueChoices.java | 23 +-
.../isis/viewer/wicket/ui/pages/PageAbstract.java | 4 +-
.../isis/viewer/wicket/ui/pages/home/HomePage.java | 2 +-
.../isis/viewer/wicket/ui/util/Confirmations.java | 82 ------
.../isis/viewer/wicket/ui/util/Decorators.java | 174 +++++++++++-
.../ui/util/FontAwesomeCssReferenceWkt.java} | 37 +--
.../isis/viewer/wicket/ui/util/Tooltips.java | 7 +-
...tAdapterMementoProviderForValueChoicesTest.java | 13 +-
.../wicket/viewer/mixins/Object_clearHints.java | 2 +-
.../mementos/ObjectMementoServiceWicket.java | 33 ++-
255 files changed, 6235 insertions(+), 3057 deletions(-)
[isis] 04/08: ISIS-2342 scale image 2/n
Posted by jo...@apache.org.
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 a4d256056e88239dde0ba4ce3b69c7705d7d3aca
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Fri May 1 16:53:26 2020 +0200
ISIS-2342 scale image 2/n
---
.../client/kroviz/utils/ScalableVectorGraphic.kt | 51 ++++++++++++++++++++++
1 file changed, 51 insertions(+)
diff --git a/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/ScalableVectorGraphic.kt b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/ScalableVectorGraphic.kt
new file mode 100644
index 0000000..777ff76
--- /dev/null
+++ b/incubator/clients/kroviz/src/main/kotlin/org/apache/isis/client/kroviz/utils/ScalableVectorGraphic.kt
@@ -0,0 +1,51 @@
+package org.apache.isis.client.kroviz.utils
+
+import org.w3c.dom.Document
+import org.w3c.dom.parsing.XMLSerializer
+import org.w3c.dom.svg.SVGSVGElement
+
+class ScalableVectorGraphic(val document: Document) {
+
+ private fun root(): SVGSVGElement {
+ return document.rootElement!!
+ }
+
+ fun setHeight(height: Int) {
+ root().setAttribute("height", height.toString() + "px")
+ }
+
+ fun getHeight(): Int {
+ val raw = root().getAttribute("height") as String
+ val value = raw.replace("px", "")
+ return value.toInt()
+ }
+
+ fun setWidth(width: Int) {
+ root().setAttribute("width", width.toString() + "px")
+ }
+
+ fun getWidth(): Int {
+ val raw = root().getAttribute("width") as String
+ val value = raw.replace("px", "")
+ return value.toInt()
+ }
+
+ fun scaleUp(factor: Double = 0.1) {
+ var f = factor
+ if (factor < 1) f = 1 + factor
+ val oldHeight = getHeight()
+ val oldWidth = getWidth()
+ setHeight((oldHeight * f).toInt())
+ setWidth((oldWidth * f).toInt())
+ }
+
+ fun scaleDown(factor: Double = 0.1) {
+ scaleUp(factor * -1)
+ }
+
+ fun serialized(): String {
+ val srlzr = XMLSerializer()
+ return srlzr.serializeToString(document)
+ }
+
+}
[isis] 02/08: Merge branch 'master' of
https://github.com/apache/isis
Posted by jo...@apache.org.
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 550cb99e403da3863b5c2ce3cb1d1d43fa7b61f1
Merge: 9133164 8011f7a
Author: Jörg Rade <jo...@kuehne-nagel.com>
AuthorDate: Sun Apr 12 10:40:59 2020 +0200
Merge branch 'master' of https://github.com/apache/isis
.../ROOT/pages/antora-publish-procedure.adoc | 2 +-
.../modules/ROOT/pages/verifying-releases.adoc | 2 +-
.../going-deeper/articles-and-presentations.adoc | 4 +-
.../modules/ROOT/pages/going-deeper/books.adoc | 2 +
.../fun/pages/concepts-patterns/architecture.adoc | 2 +-
.../modules/applib-svc/pages/RoutingService.adoc | 2 +-
.../adoc/modules/applib-svc/pages/SudoService.adoc | 3 +-
.../applib-svc/pages/TableColumnOrderService.adoc | 2 +-
.../applib-svc/pages/_BackgroundService.adoc | 2 +-
.../main/adoc/modules/applib-svc/pages/about.adoc | 3 +-
.../layout/component/CssClassFaPosition.java | 6 +-
.../src/main/adoc/modules/schema/pages/chg.adoc | 2 +-
.../src/main/adoc/modules/schema/pages/cmd.adoc | 2 +-
.../pages/ContentNegotiationService.adoc | 2 +-
.../pages/PublisherDispatchService.adoc | 2 +-
.../pages/RepresentationService.adoc | 2 +-
incubator/clients/kroviz/{gradlew => gradlew.sh} | 0
incubator/clients/kroviz/pom.xml | 33 ++++-
...ActionFactoryVaa.java => ActionFactoryVaa.java} | 45 ++++--
.../action/{MenuActionVaa.java => ActionVaa.java} | 18 +--
.../model/action/MenuActionLinkFactoryVaa.java | 89 -----------
.../viewer/vaadin/model/decorator/Decorators.java | 98 +++++++++++++
.../viewer/vaadin/model/menu/MenuItemVaa.java | 12 +-
.../viewer/vaadin/ui/pages/main/MainView.java | 4 +-
.../ui/pages/main/MainView_createHeader.java | 14 +-
.../viewer/vaadin/viewer/IsisServletForVaadin.java | 9 +-
testing/adoc/modules/ROOT/pages/about.adoc | 2 +-
.../isis/viewer/common/model/HasUiComponent.java | 11 +-
...el.java => ActionLinkUiComponentDecorator.java} | 25 +---
.../model/action/ActionLinkUiComponentFactory.java | 20 ++-
.../common/model/action/ActionUiMetaModel.java | 144 ++++++++++++++++++
.../viewer/common/model/action/ActionUiModel.java | 90 ++++++++++--
.../common/model/action/ActionUiModelFactory.java | 49 ++++---
.../common/model/action/MenuActionFactory.java | 15 --
.../model/decorator/fa/FontAwesomeDecorator.java | 13 +-
.../model/decorator/fa/FontAwesomeUiModel.java | 59 ++++++++
.../model/decorator/tooltip/TooltipDecorator.java | 42 +++---
.../model/decorator/tooltip/TooltipUiModel.java | 38 +++--
.../common/model/header/HeaderUiModelProvider.java | 18 +++
.../common/model/link/ActionLinkFactory.java | 14 --
.../common/model/link/LinkAndLabelUiModel.java | 55 -------
.../model/link/LinkAndLabelUiModelAbstract.java | 163 ---------------------
.../isis/viewer/common/model/menu/MenuUiModel.java | 4 +-
.../model/menu/MenuUiModel_buildMenuItems.java | 10 +-
.../common/model/menuitem/MenuItemUiModel.java | 123 ++--------------
.../userprofile/UserProfileUiModelProvider.java | 18 +++
.../pages/extending/replacing-page-elements.adoc | 3 +-
.../viewer/wicket/model/links/LinkAndLabel.java | 38 +++--
.../components/actionmenu/CssClassFaBehavior.java | 19 ++-
.../entityactions/AdditionalLinksPanel.java | 42 +++---
.../entityactions/EntityActionLinkFactory.java | 15 +-
.../actionmenu/entityactions/LinkAndLabelUtil.java | 9 +-
.../actionmenu/serviceactions/CssMenuItem.java | 54 +++----
.../serviceactions/MenuActionLinkFactory.java | 17 +--
.../actionmenu/serviceactions/MenuActionWkt.java | 16 +-
.../serviceactions/ServiceActionUtil.java | 79 +++++-----
.../serviceactions/ServiceActionsPanel.java | 2 +-
.../ui/components/scalars/ScalarPanelAbstract.java | 2 +-
.../components/scalars/ScalarPanelAbstract2.java | 6 +-
...icket.java => LinkAndLabelFactoryAbstract.java} | 22 +--
.../isis/viewer/wicket/ui/util/Decorators.java | 79 ++++++++++
.../isis/viewer/wicket/ui/util/Tooltips.java | 47 +++---
62 files changed, 915 insertions(+), 810 deletions(-)