From af5b6a920c62133d919f36cc7326f01ea540b751 Mon Sep 17 00:00:00 2001
From: Daniel Quathamer
Date: Sun, 19 Jul 2026 10:12:48 +0200
Subject: [PATCH] Layout-Bugs Assistent,Grafiken in Arbeit versteckt #14
---
src-modules/module/viz/conf/viz.xml | 107 ++-
.../module/viz/masken/44630_felderinfo.unl | 2 +-
.../module/viz/upgrade/viz_upgrade_man.sql | 4 +
superx/style/sx_viz_muster.css | 196 +++++-
superx/xml/viz_components.xsl | 4 +-
superx/xml/viz_html_chart.xsl | 627 +++++++++---------
6 files changed, 595 insertions(+), 345 deletions(-)
diff --git a/src-modules/module/viz/conf/viz.xml b/src-modules/module/viz/conf/viz.xml
index 3bd795a..340abf7 100644
--- a/src-modules/module/viz/conf/viz.xml
+++ b/src-modules/module/viz/conf/viz.xml
@@ -630,6 +630,55 @@ caption="Staaten (Geocodes)" releaseUnload="demo">
+
+
+
@@ -918,21 +968,70 @@ parent="Visualisierungen">Abfragen zur Administration von Visualisierungen
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -1255,7 +1354,7 @@ detail_chart_uniquename varchar(255)
-
+
diff --git a/src-modules/module/viz/masken/44630_felderinfo.unl b/src-modules/module/viz/masken/44630_felderinfo.unl
index 51b28e2..9cb9fb4 100644
--- a/src-modules/module/viz/masken/44630_felderinfo.unl
+++ b/src-modules/module/viz/masken/44630_felderinfo.unl
@@ -13,7 +13,7 @@ order by tid DESC;^Eintrag^<> select tid,eintrag from semester where today(
44636^bis Fachsemester^1000^300^-1^200^100^1^integer^30^0^0^^ ^ ^
44637^Dashboard^1000^300^-1^170^150^1^char^30^1^1^<> select uniquename,uniquename from viz_dashboard order by 2;^ ^ ^
44645^tablestylesheet^150^0^0^100^100^1^char^255^1^1^<> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
-where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord^hidden^<> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
+where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord^ ^<> select filename,caption from sx_stylesheets S, sx_mask_style M , macro_masken_bez B\
where S.tid=M.stylesheet_id and M.maskeninfo_id =B.maskeninfo_id1 and B.maskeninfo_id2=44630 group by 1,2,ord order by ord limit 1^
44647^Grafik^1000^300^-1^170^150^1^integer^30^0^1^<> select tid, caption from viz_chart order by 2;^hidden^ ^
44649^Spaltenanzahl^5^350^-1^140^80^1^integer^255^0^1^<> SELECT 0,'Dynamisch' from xdummy \
diff --git a/src-modules/module/viz/upgrade/viz_upgrade_man.sql b/src-modules/module/viz/upgrade/viz_upgrade_man.sql
index 8644558..2fd449e 100644
--- a/src-modules/module/viz/upgrade/viz_upgrade_man.sql
+++ b/src-modules/module/viz/upgrade/viz_upgrade_man.sql
@@ -47,3 +47,7 @@ alter table dim_studiengang add column ist_lehramt smallint default 0;
#if>
+--obsolete Masken oder in Entwicklung:
+update themenbaum set gueltig_bis=date_val('01.01.2000') where maskeninfo_id=44100;
+update viz_chart set chart_active=0
+where uniquename in ('STUD_FAK_ABGRP_STG_SUNBURST','STUD_FAK_KURZ_PIE','STUD_FAK_KURZ_DONUT_JB');
diff --git a/superx/style/sx_viz_muster.css b/superx/style/sx_viz_muster.css
index b26e68e..1bdde8e 100644
--- a/superx/style/sx_viz_muster.css
+++ b/superx/style/sx_viz_muster.css
@@ -1,3 +1,25 @@
+/*Hell-/Dunkel-Modus*/ /*20251210 eingefügt*/
+@media (prefers-color-scheme: dark) {
+ :root { color-scheme: dark; }
+ .label.is-small, strong {color: black !important; }
+ .table th { color: black !important; }
+ .table {--bulma-table-background-color: white !important; }
+ .table {--bulma-table-color: black !important; }
+ .table th { color: black !important; }
+ .box { background-color: white !important; }
+ .button {
+ border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
+ border-radius: 0.3em; }
+ .select:not(.is-multiple) {
+ background: white;
+ color: black; }
+ textarea.editform {
+ color: black;
+ background: white;
+ border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
+ border-radius: 0.3em; }
+}
+
/*dateispezifische Basics*/
html, body {
height: auto;
@@ -15,13 +37,14 @@ html, body {
.columns {
display: flex;
flex-wrap: wrap; }
-
-.card { /*für Cardposition, -style*/
- display: flex;
- flex-flow: column;
- margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
- margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
- box-shadow: none; }
+
+/*!!!202605 deaktiviert: vgl. Zeile 373!!!*/
+/*.card { /*für Cardposition, -style*/
+/* display: flex;
+/* flex-flow: column;
+/* margin-left: 0em; /*1.5em bei farbigem Hintergrund*/
+/* margin-top: 0em; /*-1.2em bei farbigem Hintergrund*/
+/* box-shadow: none; }
/*Buttonleiste, Legende*/
.legende { /*für Berichtslegende*/
@@ -29,16 +52,17 @@ html, body {
padding: 0.4rem 0.4rem 0.4rem 0.4rem; } /*für Padding: ob re un li*/
/*Tabs, Selektionsfelder-Formular*/
-.label-container { /*für Responsibility der Eingabefelder*/
- display: flex;
+/*!!!202605 deaktiviert: vgl. Zeile 385!!!*/
+/*.label-container { /*für Responsibility der Eingabefelder*/
+/* display: flex;
justify-content: left;
background: inherit;
- min-width: 10.0em; }
+ min-width: 10.0em; }*/
.label { /*für Selektionsfeld-Bezeichner*/
font-family: sans-serif;
font-weight: normal;
- font-size: 2rem;
+ /*font-size: 2rem;*/ /* 202605 deakitviert*/
margin-left: 1.0em;
margin-top: 0.4em; }
@@ -52,30 +76,30 @@ html, body {
.tabs { /*für Tab-Namen*/
font-size: 2rem; }
-.grid { /*20250917 eingefügt*/
+.grid { /*20250917 eingefügt*/
display: flex;
- flex-wrap: wrap; } /*erlaubt Umbruch'*/
+ flex-wrap: wrap; } /*erlaubt Umbruch'*/
/*20251007 eingefügt*/
.fullwidth-grid {
- width: 100vw; /* gesamte Viewport-Breite */
+ width: 100vw; /* gesamte Viewport-Breite */
padding-right: 2em; }
-.dashboard-tabs { /*20250917 eingefügt*/
+.dashboard-tabs { /*20250917 eingefügt*/
display: flex;
- flex-wrap: wrap; /* erlaubt Umbruch */
+ flex-wrap: wrap; /* erlaubt Umbruch */
list-style: none;
margin: 1rem;
padding: 0;
cursor: pointer; }
-.dashboard-tabs li { /*20250917 eingefügt*/
- flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */
+.dashboard-tabs li { /*20250917 eingefügt*/
+ flex: 1 1 auto; /* alle Tabs gleich breit, aber flexibel */
text-align: center;
border: 1px solid #ccc;
background: #f9f9f9; }
-.dashboard-tabs li a { /*20250917 eingefügt*/
+.dashboard-tabs li a { /*20250917 eingefügt*/
display: block;
text-decoration: none;
font-weight: bold;
@@ -166,7 +190,7 @@ html, body {
.navbar-item img, .navbar-item svg { /*20250221 eingefügt*/
max-height: unset !important; } /*var(--bulma-navbar-item-img-max-height);*/
-/*Media-queries**/
+/*** Media-queries ***/
@media print{
.dontprint {display:none;}
}
@@ -216,7 +240,8 @@ html, body {
.grid { padding-top: 1.5rem; }
}
-.buttons-container { /* 300425BF eingefügt*/
+/* Button-Style und -Color*/
+.buttons-container { /* 300425 eingefügt*/
display: flex;
justify-content: flex-end; /* rechts ausrichten */
align-items: center; /* vertikal zentrieren */
@@ -225,52 +250,71 @@ html, body {
}
.button.is-link {
- background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/
+ background-color: white; /*link-Blau:#3273dc; UDE-Blau:#004C93*/
border-color: transparent;
color: #004C93; }
+
.button.is-link:hover, .button.is-link.is-hovered {
background-color: #276cda;
border-color: transparent;
color: #004C93; }
+
.button.is-link:focus, .button.is-link.is-focused {
border-color: transparent;
color: #004C93; }
.button.is-link:focus:not(:active), .button.is-link.is-focused:not(:active) {
box-shadow: 0 0 0 0.125em rgba(50, 115, 220, 0.25); }
+
.button.is-link:active, .button.is-link.is-active {
background-color: white;
border-color: transparent;
color: #004C93; }
+
.button.is-link[disabled],
fieldset[disabled] .button.is-link {
background-color: #004C93;
border-color: transparent;
box-shadow: none; }
+
.button.is-link.is-inverted {
background-color: #fff;
color: #004C93; }
+
.button.is-link.is-inverted:hover, .button.is-link.is-inverted.is-hovered {
background-color: #f2f2f2; }
+
.button.is-link.is-inverted[disabled],
fieldset[disabled] .button.is-link.is-inverted {
background-color: #fff;
border-color: transparent;
box-shadow: none;
color: #004C93; }
+
.button.is-link.is-loading::after {
border-color: transparent transparent #fff #fff !important; }
+
.button.is-link.is-outlined {
background-color: white;
border-color: #004C93;
color: #004C93; }
-.button.is-link.is-outlined:hover, .button.is-link.is-outlined.is-hovered, .button.is-link.is-outlined:focus, .button.is-link.is-outlined.is-focused {
+
+.button.is-link.is-outlined:hover,
+.button.is-link.is-outlined.is-hovered,
+.button.is-link.is-outlined:focus,
+.button.is-link.is-outlined.is-focused {
background-color: #004C93;
border-color: #004C93;
color: #fff; }
+
.button.is-link.is-outlined.is-loading::after {
border-color: transparent transparent #004C93; #004C93; !important; }
-.button.is-link.is-outlined.is-loading:hover::after, .button.is-link.is-outlined.is-loading.is-hovered::after, .button.is-link.is-outlined.is-loading:focus::after, .button.is-link.is-outlined.is-loading.is-focused::after {
+
+.button.is-link.is-outlined.is-loading:hover::after,
+.button.is-link.is-outlined.is-loading.is-hovered::after,
+.button.is-link.is-outlined.is-loading:focus::after,
+.button.is-link.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #fff #fff !important; }
+
.button.is-link.is-outlined[disabled],
fieldset[disabled] .button.is-link.is-outlined {
background-color: transparent;
@@ -281,21 +325,25 @@ html, body {
background-color: transparent;
border-color: #fff;
color: #fff; }
+
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
.button.is-link.is-inverted.is-outlined.is-focused {
background-color: #fff;
color: #004C93; }
+
.button.is-link.is-inverted.is-outlined.is-loading:hover::after,
.button.is-link.is-inverted.is-outlined.is-loading.is-hovered::after,
-.button.is-link.is-inverted.is-outlined.is-loading:focus::after, .button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
+.button.is-link.is-inverted.is-outlined.is-loading:focus::after,
+.button.is-link.is-inverted.is-outlined.is-loading.is-focused::after {
border-color: transparent transparent #004C93; #004C93; !important; }
.button.is-link.is-inverted.is-outlined {
background-color: transparent;
border-color: #fff;
color: #fff; }
+
.button.is-link.is-inverted.is-outlined:hover,
.button.is-link.is-inverted.is-outlined.is-hovered,
.button.is-link.is-inverted.is-outlined:focus,
@@ -305,6 +353,7 @@ html, body {
.button.is-small.is-rounded.is-link.has-tooltip-bottom { background-color: #004C93; /*UDE-Blau*/ } /*20250711 eingefügt*/
+/*Buttonleiste*/
.exportoptions {
margin-top: 2.0em;
}
@@ -336,9 +385,10 @@ html, body {
.label-container, .button-label { /*für einh.responsive Feldbezeichner*/
display: flex;
justify-content: left;
- background: ;
+ background:inherit;
min-width: 10.0em; /*für kleine Viewports*/
- width: 10%; } /*für kleine Viewports*/
+ width: 12%; /*202605 geändert v ursprgl. 10%*/
+ }
.control-new { /*für einheitliche Controls*/
min-width: 10.0em; /*für kleine Viewports*/
@@ -347,7 +397,9 @@ html, body {
.button { /*für Button-Bezeichner-Ausrichtung*/
display: flex;
- justify-content: left; }
+ justify-content: left;
+ /*font-size:2em;*/ /*202605 deaktiviert*/
+}
/*Erläuterungen/Legende*/
.box-new { /*für Kopfzeile mit Close-Button*/
@@ -368,7 +420,36 @@ html, body {
font-size: 1.2em;
font-weight: 400;
}
- /*Datentabellen*/
+
+/*tooltips*/
+.button.has-tooltip-bottom, .button.has-tooltip-right {
+ height: 2.5em; /* entspricht der Höhe des Eingabeldes*/
+}
+
+[data-tooltip]:not(.is-disabled).has-tooltip-bottom::before,
+[data-tooltip]:not(.is-loading).has-tooltip-bottom::before,
+[data-tooltip]:not([disabled]).has-tooltip-bottom::before,
+[data-tooltip]:not(.is-disabled).has-tooltip-right::before,
+[data-tooltip]:not(.is-loading).has-tooltip-right::before,
+[data-tooltip]:not([disabled]).has-tooltip-right::before {
+ display: flex;
+ margin: 0.5em;
+ position: absolute;
+ z-index: 1000;
+ padding: 1em;
+ background-color: #333; /*dklgrau*/
+ color: white;
+ border-radius: 0.3em;
+ white-space: wrap;
+ text-align: left;
+ width: 250px;
+ height: fit-content;
+ white-space: wrap; /* für Zeilenumbrüche nach Standard-Regeln*/
+ overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/
+ hyphens: auto;
+}
+
+/*Datentabellen*/
.table-container {
z-index: 10; /*positioniert sich im flow hinter dem hs_header*/
}
@@ -430,7 +511,7 @@ html, body {
vertical-align:center;
}
- .fixed-right-buttons {
+.fixed-right-buttons {
position: fixed;
right: 0.1%; /* Abstand vom rechten Bildschirmrand */
top: 50%; /* Zentriert den Button-Block vertikal;*/
@@ -466,20 +547,19 @@ html, body {
z-index: 700; /*für Anzeige über Content*/
}
- .subheaderMaskDialogs
+.subheaderMaskDialogs
{background-color:#cccccc;
font-weight:bolder;
-font-size:1.2rem;
+font-size:2rem;
/* margin-left:0;*/
margin-top:0.2em;
margin-bottom:0.2em;
margin-right:0px;
padding-left:0.5em;
}
-.viz_content
-{
- margin-left:1em;
-}
+
+.viz_content { margin-left:1em; }
+
//Für sidebar:
.card-content {
@@ -514,3 +594,47 @@ input.sideBarInput
background-color: #a6a6a6ff; /*#333;*/
color: white;
}
+
+/*****************styleanweisungen aus html-Datei*/
+textarea.editform {
+ height: 4em;
+ width: 100%;
+ padding: 3px;
+ transition: all 0.5s ease;
+}
+
+textarea.editform:focus {
+ height: 40em;
+}
+
+.textarea, .is-small.textarea { /*20251210 eingefügt*/
+ color: black;
+ background: white;
+ border: thin solid hsl(0, 0%, 71%); /*hellgrau*/
+ border-radius: 0.3em;
+}
+
+.field.is-grouped { /*20251210 eingefügt*/
+ gap: 0.2rem; }
+
+
+.node rect {
+ cursor: move;
+ fill-opacity: .9;
+ shape-rendering: crispEdges;
+}
+
+.node text {
+ pointer-events: none;
+ text-shadow: 0 1px 0 #fff;
+}
+
+.link {
+ fill: none;
+ stroke: #000;
+ stroke-opacity: .2;
+}
+
+.link:hover {
+ stroke-opacity: .5;
+}
diff --git a/superx/xml/viz_components.xsl b/superx/xml/viz_components.xsl
index d7d9f5a..3fefa44 100644
--- a/superx/xml/viz_components.xsl
+++ b/superx/xml/viz_components.xsl
@@ -1927,10 +1927,10 @@ Platzhalter
-
+
diff --git a/superx/xml/viz_html_chart.xsl b/superx/xml/viz_html_chart.xsl
index 83fa8d2..eb23734 100644
--- a/superx/xml/viz_html_chart.xsl
+++ b/superx/xml/viz_html_chart.xsl
@@ -204,8 +204,9 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-
-
+
+
+
@@ -221,10 +222,10 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-
-
-
-
+
+
+
+
@@ -317,56 +318,55 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-->
-
+
+
-
+
+
+
-
-
@@ -593,33 +594,32 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-->
-
+
-
-
+
-
-
-
-
+
@@ -633,198 +633,204 @@ xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:HtmlUtils="de.superx.util
-
Grafikcode (svg)
+
+ Grafikcode (svg)
-
+
-
-
+
+
-
-
-
+
-
Grafikdefinition speichern
+
+
+ Grafikdefinition speichern
-
+
-
-
+
+
-
-
-
+
-
-
-
- Grafikdefinition speichern:
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+ Grafikdefinition speichern:
+
+
+
+
+
+
+
+
+
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
(Im nachfolgenden Dialog können Sie weitere Metadaten bearbeiten)
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
(Im nachfolgenden Dialog können Sie weitere Metadaten bearbeiten)
+
+
+
+
-
-
+
+
+
-
-
-
-
-
-
+
+
-
-
- window.open('
-
- ','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');
-
-
-
-
-
-
-
+
+
+ window.open('
+
+ ','_blank','directories=no,location=no,menubar=no,scrollbars=yes,resizable=yes,toolbar=no,width=800,height=660');
+
+
+
+
+
+
+
+
+
-legende
-
-toggleLegendeDisplay('');
-Legende ...
+legende
+
+toggleLegendeDisplay('');
+Legende ...
+
-
-
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
- ...
-
-
-
- - Stand:
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+ :
+
+
+
+
+ ...
+
+
+
+ - Stand:
+
+
+
+ ;
- ;
-
-
-
-User:
-Stand:
-
-
+
+
+ User:
+ Stand:
+
+
+
-
-
-
-
+
+
+
+
-
-
-
- Grafikelement
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ Grafikelement
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -836,7 +842,8 @@ Stand:
- Allgem. Layoutmerkmale
+
+ Allgem. Layoutmerkmale
@@ -864,10 +871,10 @@ Stand:
-
-
Layoutmerkmale
+
+
+ Layoutmerkmale
-
@@ -881,14 +888,17 @@ Stand:
+
-
+
+