diff --git a/superx-build/build.xml b/superx-build/build.xml index 260bc35..ba902ef 100644 --- a/superx-build/build.xml +++ b/superx-build/build.xml @@ -165,8 +165,9 @@ - + + @@ -184,7 +185,7 @@ diff --git a/superx/WEB-INF/conf/edustore/db/bin/sx_kitchen.x b/superx/WEB-INF/conf/edustore/db/bin/sx_kitchen.x index b158f55..e1dfa73 100644 --- a/superx/WEB-INF/conf/edustore/db/bin/sx_kitchen.x +++ b/superx/WEB-INF/conf/edustore/db/bin/sx_kitchen.x @@ -11,6 +11,8 @@ cd $BASEDIR DIR=`pwd` cd - > /dev/null +BI_KETTLE_PLUGIN_BASE_FOLDERS=$WEBAPP/WEB-INF/kettle-plugins + # MB nicht benötigt . "$DIR/set-pentaho-env.sh" # MB nicht benötigt setPentahoEnv @@ -57,7 +59,7 @@ if [ -z "$PENTAHO_DI_JAVA_OPTIONS" ]; then PENTAHO_DI_JAVA_OPTIONS="-Xmx${JAVAMAXMEM}m" fi -OPT="$PENTAHO_DI_JAVA_OPTIONS -cp $JDBC_CLASSPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT" +OPT="$PENTAHO_DI_JAVA_OPTIONS -cp $JDBC_CLASSPATH -DKETTLE_HOME=$KETTLE_HOME -DKETTLE_REPOSITORY=$KETTLE_REPOSITORY -DBI_KETTLE_PLUGIN_BASE_FOLDERS=$BI_KETTLE_PLUGIN_BASE_FOLDERS -DKETTLE_USER=$KETTLE_USER -DKETTLE_PASSWORD=$KETTLE_PASSWORD -DKETTLE_PLUGIN_PACKAGES=$KETTLE_PLUGIN_PACKAGES -DKETTLE_LOG_SIZE_LIMIT=$KETTLE_LOG_SIZE_LIMIT" if [ "$1" = "-x" ]; then set LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$BASEDIR/libext diff --git a/superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt b/superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt index 2118778..029b89e 100644 --- a/superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt +++ b/superx/WEB-INF/conf/edustore/db/install/conf/builddatum.txt @@ -1 +1 @@ -14.08.2026 +19.08.2026 diff --git a/superx/WEB-INF/conf/version.properties b/superx/WEB-INF/conf/version.properties index c2d7153..a2b7fe9 100644 --- a/superx/WEB-INF/conf/version.properties +++ b/superx/WEB-INF/conf/version.properties @@ -1,2 +1,2 @@ git.branch=HEAD -git.commit.hash=5c38a3bf9f7a03c5cdf7c3fbcfcbbf07c7fdd36b +git.commit.hash=1dc091e79e42f6833099f87816927f2b27de525e diff --git a/superx/WEB-INF/lib/superx6.0.jar b/superx/WEB-INF/lib/superx6.0.jar index 352a29d..b692492 100644 Binary files a/superx/WEB-INF/lib/superx6.0.jar and b/superx/WEB-INF/lib/superx6.0.jar differ diff --git a/superx/WEB-INF/log4j.properties b/superx/WEB-INF/log4j.properties index e98c824..ae99736 100644 --- a/superx/WEB-INF/log4j.properties +++ b/superx/WEB-INF/log4j.properties @@ -26,6 +26,8 @@ log4j.logger.de.superx.spring.batch=INFO log4j.logger.de.superx.spring.config=INFO log4j.logger.de.superx.spring.SuperxContextLoaderListener=INFO log4j.logger.de.superx.spring.HisInOneConfiguration=INFO + +log4j.logger.de.superx.bin.Doquery=WARN # JasperReports log4j.logger.net.sf.jasperreports.engine.util=WARN # SQL-Statements mit JdbcTemplate diff --git a/superx/style/sx_common.css b/superx/style/sx_common.css index 9de3bca..b68a2f0 100644 --- a/superx/style/sx_common.css +++ b/superx/style/sx_common.css @@ -85,7 +85,7 @@ body { /*für Seiteninhalt*/ white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ - hyphens: auto; + /* hyphens: auto; auskommentiert weil Textspalten in Tabellen sonst zu schmal werden */ text-align: left; /* für linksbündigen und umgebrochenen Text*/ cursor: pointer; font-size: 12px; diff --git a/superx/style/sx_common.scss b/superx/style/sx_common.scss new file mode 100644 index 0000000..9ba5a94 --- /dev/null +++ b/superx/style/sx_common.scss @@ -0,0 +1,831 @@ +@charset "utf-8"; +//1. Farben +$purple: #8a4d76; +$pink: #fa7c91; +$brown: #757763; +$beige-light: #d0d1cd; +$beige-lighter: #eff0eb; +$blue: #3333ff; +$dklgrau:hsl(0, 0%, 21%); +$default-blaugrau:#ECF0F3; +$mittelgrau:hsl(0, 0%, 60%); +$hellgrau:hsl(0, 0%, 71%); +$grün:hsl(141, 71%, 48%); +$gelb-orange:hsl(48, 100%, 67%); + +//2. default-Farben +$button-background: white; +$body-background: white; +$border-color: $mittelgrau; +$input-background: white; + +//3. default-Schrift +$font-color: $dklgrau; +$font-family: sans-serif; +$font-weight: normal; +$font-size: 15px; + +//4. default-Rahmen +$border-style: thin solid $border-color; +$border-radius: .3em; + +//5. default-Mixins +// --- Body --- +@mixin default-body { + display: flex; + flex-flow: column; + min-height: 100vh; + margin: 0.1rem 0.1rem 0.2rem 0.1rem; + background: $body-background; + color: $font-color; + } + +// --- Schrift --- +@mixin default-font { + font-family: $font-family; + font-weight: $font-weight; + font-size: $font-size; + } + +// --- Rahmen --- +@mixin default-border { + border: $border-style; + border-radius: $border-radius !important; +} + +// --- Buttons --- +@mixin default-rounded-button { + border: thin solid $mittelgrau; + } + +// ---Eingabefelder --- +@mixin default-input { + @include default-border; + @include default-font; + background: $input-background; + color: $font-color; + height: 2.5em; + padding: .5em 2em .5em .5em; + } + +//6. Mixin-Anwendung +body { + @include default-body; +} + +body, button.button, dropdown, span.button, .input, .input.is-small, .select.is-small, .select select, span.report-explanation, .themenbaumLinkName, a, .field, .article ul { + @include default-font; +} + +.button.is-rounded { + @include default-rounded-button; +} + +.input,.textarea,.select select { + @include default-input; +} + +//7. Hochschul-Spezifika + +//8. Muster für html-Bsp: button class="button isMemtext is-small is-outlined" +//.button.isMemtext { +// &.is-small.is-outlined { +// @include memtext-button; +// border: thin solid red !important; +// } +//} + +//@mixin size($width, $height, $width) { +// width: $width; +// height: $height; +// } + +/*Hell-/Dunkel-Modus*/ +@media (prefers-color-scheme: dark) { +:root { color-scheme: dark; } + +body { background-color: white; + color: black !important; } + +.card { background-color: white; + border: inherit; } + +.field { background-color: inherit; } + +.field.has-addons .control:not(:last-child) { + margin-inline-end: unset; } + +.input, field has-addons, .select select, .button.is-rounded { + background-color: white; + color: $dklgrau; + border: $border-style; /*hellgrau*/ + } + +.card-footer-item:not(:last-child) { border: none; } + +.article { color: black; } + +.buttons, .button.is-outlined { border-color: white; } /*für Top-Navi-Buttoms*/ + +.button { background-color: white; } /*für betr. Reset-u ok-Button*/ + +.dropdown { + --bulma-dropdown-content-background-color: white !important; + --bulma-dropdown-item-background-color: white !important; + --bulma-dropdown-item-background-l: white !important; } + +.report-explanation {color: $dklgrau; /*dklgrau;*/ } + +a.navbar-item { background-color: unset !important; } + +a, .themenbaumLinkName, .labelSichtorComboButton { + text-decoration: none; + color: blue !important; } + +.menu {--bulma-menu-item-background-l: unset !important;} /*betr. Elemente in menue, z.B. weitere Einstellungen*/ + +} + +/*Allgemeine Basics*/ +div.columns { /*für Abstand zum Seitenrand*/ +margin-top: 1px; +margin-right:5%; } /*202603 geänd. v. 5px*/ + +/*body { /*202606 hier auskommentiert, s.o. unter "mixins"*/ +/* display: flex; +/* flex-flow: column; +/* min-height: 100vh; +/* margin: 0.1rem; +/*} */ + +.hero-body { + margin-left: 1.5em; + margin-right: 1.5em; } + +.title, .subtitle { /*für Seitentitel*/ + margin-top: 0.4em; + padding-bottom: 0.1em; /* für Padding: ob re un li*/ + white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ + word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ + overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ + hyphens: auto; } + +.title, .subtitle, .label, .labelNormal, .labelPflicht, .subdir-button, .stb-button, .supplement, .menu-list a, +.navbar-item, .navbar-dropdown, .bottom-nav, .button, .breadcrumb, p.legende, .dontprint, .panel-block, .panel-tabs, .resultcount { + color: $font-color; /*dklgrau für Schrift in diversen Elementen*/ + @include default-font; } + +/*Card, Box, Article*/ +.box, .card { /*Box für Pfad, Buttonleiste bzw. Menü-Kacheln; Card für Formulare, Ergebnistabellen*/ + box-shadow: none; } + +.card, .article { /*für Cardposition, -style*/ + display: flex; + flex-flow: column; + margin: 1%; + white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ + word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ + overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ + /* hyphens: auto; auskommentiert weil Textspalten in Tabellen sonst zu schmal werden */ + text-align: left; /* für linksbündigen und umgebrochenen Text*/ + cursor: pointer; + font-size: $font-size; + width: 100%; } + +.card {margin-top: 0.5rem !important;} + +.card-content { + padding-left: 1.3rem;} + +.card-footer, .card-footer-item {/*für submit-buttons*/ + display: flex; + flex-flow: row; /*für horizontale Ausrichtung*/ + background: inherit; + border: none; + margin-top: 1rem; } + +.card-footer-item:not(:last-child) { + border: none; } + +.form-submit { + display: flex; + column-gap: 0.5rem; + background: inherit; + border: none; + margin-top: 1em; + margin-left: 22em; } + +.form-submit-item { + display: flex; +} + +/*Cell*/ +.container { + display: flex; + flex-wrap: wrap; /*für Zeilenumbruch bei Platzmangel*/ + justify-content: flex-start; /*Inhalte links*/ + align-items: flex-start; /*Inhalte vertikal ausrichten*/ + margin-left: 0rem; +} + +.cell { + flex: 1 1 auto; /*flex-grow, flex-shrink, flex-basis = ; für flexibles Verhalten der Zeile*/ + display: flex; /*flexibles Wachstum ohne feste Breite */ + padding: 0rem 0.25rem; /*padding oben+unten, rechts+links*/ + margin-bottom: 0.1rem; + box-sizing: border-box; + border: $border-style; /*hellgrau*/ + border-radius: $border-radius; /*0.3em;*/ +} + +/*Modal und Breadcrumb*/ +.modal-background { background-color: white; } + +.breadcrumb { + padding: 0.3rem; + border: $border-style; /*hellgrau*/ + border-radius: $border-radius; +} + +.breadcrumb.has-path-separator li + li::before { + content: " >"; + color: grey; +} + +.breadcrumb, .breadcrumb a { + user-select: auto; /*für Markierung des Inhalts */ +} + +.breadcrumb ul { + align-items: center !important; /*für Höhenausrichtung*/ +} + +/*Buttonleiste, div. Buttons*/ +.buttonbar { + display: flex; /*für resposive Buttonleiste*/ + flex-flow: row wrap; + justify-content: flex-start; + align-items: normal; +} + +.buttonbar img { /*für Icongröße in Buttonleiste*/ + height: 1.5rem; + width: 1.7rem; + margin: 8px 0px 0px 0px; + padding: 0rem 0.1rem 0rem 0.1rem; /*für Padding: ob re un li*/ +} + +.buttonbar_text { + font-size: 10px; } + +.button { /*für Button-Bezeichner-Ausrichtung*/ + display: flex; + justify-content: left !important; } + +.submit_button { /* zum Abschicken, Übernehmen*/ + border: thin solid $grün; /*grün*/ + border-radius: $border-radius; } + +.reset_button { /* zum Zurücksetzen, Leeren*/ + border: thin solid $gelb-orange; /*gelb-orange*/ + border-radius: $border-radius; } + +.close_button { /*zum Schließen*/ + border: thin solid $hellgrau; /*hellgrau*/ + border-radius: $border-radius; } + +.menubutton, .orgunitbutton, .closebutton { /*für Button-Style*/ + display: flex; + justify-content: center; + background: inherit; + padding: 0.4rem 0rem 0.4rem 0rem; /*für Padding: ob re un li*/ + border: thin solid white; + border-radius: $border-radius; + box-shadow: rgb(0 0 0 /0.1) 0.1em 1.1px; + width: 1.8rem; + height: 1.8rem;} + +/*Top-, Bottom-Navigation*/ +.navbar { + display: flex; + align-items: center; + flex-flow: row wrap; + background: $default-blaugrau; + } + +.navbar-end { + display: flex; } + +.navbar-item { + margin-bottom: 0.1rem; } + +/* Box-Sizing auf Border-Box setzen */ +*, +*::before, +*::after { + box-sizing: border-box; +} + +/*Bottom-Navi*/ +#nd_navi_bottom { + /*position: fixed; /*20250602 damit gesamtes Menü sichtbar ist*/ + bottom: 0; + width: 100%;} + +.bottom-nav { /*für Bottomnavi-Zeile*/ + display: flex; + flex-flow: row nowrap; + justify-content: center; + background: $default-blaugrau; + height: 45px; } + +.bottom-nav li { /*für Bottomnav-Liste*/ + display: flex; + flex: 1; + align-items: center; + justify-content: space-evenly; } + +.poweredby_sxbi { + display: flex; + content: url(../images/poweredby_sxbi.svg); + width: 10rem; } + +/***NaviPanel-/Themenbaum-Style***/ +.navpanel { + position: static; /*damit NavPanel in kl. Viewport nicht am oberen BS-Rand klebt*/ + padding: 0; + } + +.navpanelFrame /*, .navpanelFrame_ou*/ { /*für gesamtes NavPanel*/ + display: flex; + flex-flow: column; + list-style: none; + margin-top: 2em; } + +.navpanelFrame /*.navpanelFrame_ou*/ { /*zum Ausblenden gesamten NavPanels*/ + display: none; } + +/*.navpanel a { } /*Eigenschaften deaktiviert da überlagert mit themenbaumStatic/.Nested a und li; sh. Z480+Z486*/ /*für Nav-Elemente*/ + +.level-center { + display: flex; + align-items: center; + flex-grow: 1; + width: 100%; /* Optional: vollständige Breite des Containers */ + height: 100%; /* Optional: vollständige Höhe des Containers */ +} + +.panel-block { + display: flex; } + +.panel-block-search { + margin-left: 10px; } + +.menu-label { + margin-left: 5.0%; + text-transform: unset; } + +.panel-icon { + margin: 2%; } + +/***Auf-/Zuklappen von Themenbaum/ThemenbaumNested***/ +.themenbaumStatic li, themenbaumNested li { }/*erforderlich für initial zusammengklappten Themenbaum*/ + +.themenbaumNested { /*zum Auf-/Zuklappen*/ + display: none; + margin-right: 0px; +} + +.themenbaumActive { + display: block; + margin-right: 0px; +} + +.themenbaumStatic li.themenbaumEintrag { /*für ListElemente*/ + margin-left: 23px; + width: 310px; + border-bottom: 0.3px solid #ccccccff; + box-sizing: border-box; /* Beinhaltet Padding und Border in der Breitenberechnung*/ + margin-top: 0; /* ohne zusätzlichen Freiraum oberhalb*/ + margin-bottom: 0; /* ohne zusätzlichen Freiraum unterhalb*/ +} + +.themenbaumNested li.themenbaumEintrag { /*für ListElemente*/ + width: 95%; + border-bottom: 0.3px dotted lightgrey; + box-sizing: border-box; /* Verhindert überschüssige Breitenänderungen */ + margin-top: 0; /* ohne zusätzlichen Freiraum oberhalb */ + margin-bottom: 0; /* ohne zusätzlichen Freiraum unterhalb */ +} + +.panel-block-ebene1 { /*20250704 ergänzt*/ + width: 310px; + border-top: 0.3px solid #ccccccff; + box-sizing: border-box; /* Beinhaltet Padding und Border in der Breitenberechnung*/ + margin-top: -20px; + margin-bottom: 0; + margin-left: 0.5em; +} + +.panel-block-ebene2 { /*20250704 ergänzt*/ + width: 95%; + border-bottom: 0.3px dotted lightgrey; + box-sizing: border-box; /* Verhindert überschüssige Breitenänderungen */ + margin-top: -20px; + margin-bottom: 0; + margin-left: 2.5em; +} + +.panel-block-ebene3 { /*20250704 ergänzt*/ + width: 80%; + border-bottom: 0.3px dotted lightgrey; + box-sizing: border-box; /* Verhindert überschüssige Breitenänderungen */ + margin-top: -20px; + margin-bottom: 0; + margin-left: 4.5em; +} + +.themenbaumStatic a, .themenbaumNested a { /*für BaumElemente*/ + @include default-font; + margin-left: 5px; +} + +a.themenbaumLink:hover, a.themenbaumLink:focus { /*für Hervorhebung bei Anwahl*/ + font-weight:$font-weight; + color: black; + background-color: transparent; +} + +.themenbaumEintrag { + display: block; /*Zeigt jedes Thema als Blockelement, sodass es vertikal gestapelt wird */ +} + +.themenbaumLink, .panel-item { /*20250704 panel-item ergänzt*/ + display: inline-flex; /* Flexbox sorgt dafür, dass Icons und Text korrekt ausgerichtet sind */ + align-items: baseline; /* Vertikale Zentrierung von Icon und Text */ +} + +.themenbaumLinkName { + white-space: normal; /* Erlaubt Zeilenumbruch */ + overflow-wrap: break-word; /* Ermöglicht Umbruch bei langen Wörtern */ + padding-left: 0.2em; /* Abstand nach links vom Icon */ + display: block; /* Block, um Zeilenumbrüche zu unterstützen */ +} + +.themenbaumLinkWithSpace { + text-decoration: none; /*keine Unterstreichung für Links */ + box-decoration-break: clone; + -webkit-box-decoration-break: clone; +} + +.themenbaumPlaceholder { + padding-left: 5px; /*für Abstand zu linkem Rand u. Linktext*/ +} + +.themenbaumCaret { + cursor: pointer; /* Zeigt an, dass das Caret klickbar ist */ + -webkit-user-select: none; /* Safari 3.1+ */ + -moz-user-select: none; /* Firefox 2+ */ + -ms-user-select: none; /* IE 10+ */ + user-select: none; + display: inline-block; /* Caret bleibt in der gleichen Zeile wie der Text */ + vertical-align: text-bottom; /* Vertikale Ausrichtung des Carets mit dem Text */ +} + +.themenbaumCaret-down::before { + -ms-transform: rotate(270deg); /* IE 9 */ + -webkit-transform: rotate(270deg); /* Safari */ + transform: rotate(270deg); +} + +.themenbaumCaret::before { + content: ">"; + color: grey; + display: inline-block; /* Caret bleibt in der gleichen Zeile wie der Text */ +} + +ol.themenbaumSearchResults { /*für Suchergebnisse*/ + padding-left:20px; +} + +/***Auf-/Zuklappen von NaviPanel-Auswertungen***/ +.menubutton::before { /*für Button-Grafik*/ + display: flex; + justify-content: center; + content: url(../images/burger.svg); + width: 1.0rem; + height: 0.8rem; +} + +.closebutton::before { /*für Button-Grafik*/ + display: flex; + justify-content: center; + content: url(../images/close_grey.svg); + width: 1.0rem; + height: 0.8rem; +} + +.closenavpanel.closebutton::before { /*für Buttonanzeige bei geschlossenem NavPanel*/ + display: flex; + content: url(../images/burger.svg); } + +/***Auf-/Zuklappen von NaviPanel-OrgUnits***/ +/*Angaben zu closebutton::before; closebutton-Style; closebutton-Grafik s.o. bei Nav-Panel-Auswertungen*/ +.orgunitbutton::before { /*für Button-Grafik*/ + display: flex; + justify-content: center; + content: url(../images/sitemap_blue_dark.svg); + width: 1.0rem; + height: 0.8; +} + +.shownavpanel_ou + ul { /*nur relevant, wenn NavPanel beim Dialogöffnen ausgeblendet ist*/ + display: flex; /*bitte auch Hinweis zur Code(de)aktivierung im template nd_navi_panel/nd_navi_panel_ou beachten*/ + flex-flow: column; + max-height: 600rem; + transition: 500ms; + overflow: initial; } + +.shownavpanel_ou.orgunitbutton::before { /*für Buttonanzeige bei geöffnetem NavPanel*/ + display: flex; + content: url(../images/close_grey.svg); + padding-right: 0.9rem; + width: 0.7rem; + height: 0.7rem; +} + +.closenavpanel_ou + ul { /*darf nur AKTIV sein, wenn NavPanel beim Dialogöffnen eingeblendet sein soll*/ + display: none; /*bitte auch Hinweis zur Codeaktivierung in templates nd_navi_panel/nd_navi_panel_orgunits beachten*/ +} + +.closenavpanel_ou.closebutton::before { /*für Buttonanzeige bei geschlossenem navpanel*/ + display: flex; + content: url(../images/sitemap_blue_dark.svg); +} + +/*Selektionsfelder-Formular*/ +.selectionbox { + display: flex; + width: 80%; + justify-content: left; + padding: 0rem; +} + +.label-container, .button-label { /*für einh.responsive Feldbezeichner; vgl. dazu auch: sx_menu.css*/ + display: flex; + background: inherit; + min-width: 7.5rem; /*für kleine Viewports*/ + width: 100%; +} + +.button-label button { + white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ + word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ + overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ + line-height: 1.0; + padding-left: 0rem !important; + text-align: center; /*für zentrierten Text*/ + width: 100%; +} + +.labelSichtorComboButton, .labelPflicht, .labelNormal { + white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ + word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ + overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ + hyphens: auto; + text-align: right; /* für rechtsbündigen und umgebrochenen Text*/ + cursor: pointer; + font-size: $font-size; + width: 100%; +} + +.labelSichtorComboButton { + color: var(--bulma-link-text); /*#3273dc*/ /*für Linkfarbe; !important entfernt für CD-HS*/ +} + +.label-container-dialog { /*für Dialogfelder*/ + display: flex; + justify-content: left; + background: inherit; + min-width: 10rem; /*für kleine Viewports*/ +} + +.labelNormal-dialog { + white-space: normal; /* für Zeilenumbrüche nach Standard-Regeln*/ + word-wrap: normal; /* veraltet: für Umbrüche nach Standard-Regeln*/ + overflow-wrap: break-word; /* aktuell: für Umbrüche nach Standard-Regeln*/ + text-align: left; /* für linksbündigen und umgebrochenen Text*/ + width: 100%; } + +.control-new { /*für einheitl. Controlbreite in Masken u. Themenbaum*/ + min-width: 12.0rem; /*für kleine Viewports*/ + width: 100%; /*für große Viewports*/ + height: 1.6rem;} + +.control-new-narrow { /*für einheitl. Controlbreite in Masken u. Themenbaum*/ + min-width: 8.0rem; /*für kleine Viewports*/ + width: 20%; /*für große Viewports*/ + margin: 0rem 0.2rem 0.1rem 0.2rem; /*für Margin: ob re un li*/ +} + +.field { + margin-left: 1%; + align-items: center; } /*für horizontale Label-Ausrichtung*/ + +.field-body { /*für Feldhöhe/-abstand*/ + height: 1.2rem } + +input.schluesselfeld { + font-size:0.9em; + background-color:#ffffcc; + color: blue; +} + +input.ndSchluesselfeld { + border-color: hsl(var(--bulma-input-focus-h),var(--bulma-input-focus-s),var(--bulma-input-focus-l)); + --bulma-input-border-width: 1px; + --bulma-input-border-l: var(--bulma-border-l); + box-shadow: inset 0 0.0625em 0.125em hsla(var(--bulma-scheme-h), var(--bulma-scheme-s), var(--bulma-scheme-invert-l), 0.05); + background-color:#FFFAF0; + font-size: var(--bulma-size-small); + padding-left: 5px; + line-height: 2; +} + +.input::-moz-placeholder, .textarea::-moz-placeholder, .select select::-moz-placeholder { + color: darkgrey /*rgba(54, 54, 54, 0.3)*/; +} + +.input:-ms-input-placeholder, .textarea:-ms-input-placeholder, .select select:-ms-input-placeholder { + color: darkgrey /*rgba (54, 54, 54, 0.3);*/; +} + +.trennung { + -webkit-hyphens: auto; + hyphens: auto; +} + +.required:before { content: "* ";} /*Kennz. für obligatorische Eingabefelder*/ + +.field-container { + display: flex; + flex-direction: column; /* Ordnet alle Felder vertikal */ + gap: 1px; /* Fügt Abstand zwischen den Feldern hinzu */ + width: 100%; /* Passt sich der verfügbaren Breite an */ +} + +.resizable-textarea { + resize: vertical; /* Erlaubt vertikales Vergrößern */ + overflow: auto; /* Scrollt den Inhalt, wenn er zu groß wird */ + min-height: 7em; /* Ausgangshöhe */ + max-height: 300px; /* Maximale Höhe */ + margin-left: 12px; +} + +/* Tooltip-Stil und Positionen */ +.select select, .input, .field.has-addons .control .button { + height: 2.5em; +} + +.field.has-addons .control:not(:last-child) { + margin-right: -2px; /* damit sich die Ränder optisch überlagern */ +} + +.button.has-tooltip-bottom { + height: 2.0rem; /* 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 { + display: flex; + margin: 0.5em; + position: absolute; + z-index: 1000; + padding: 1.0em; + background-color: $blue; /*royalblue*/ + 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; +} + +/*Listen*/ +ul { list-style-type: disc; } + +ol { +margin:0px; +padding:0px; +list-style-type: decimal; +list-style-position:inside; } + +.menu-list { + padding-left: 0.6rem !important; + list-style-type: none; +} + +li.submenu_listelem { + list-style:none; + margin:10px; + padding:0; + border-bottom:thin solid silver; +} + +.submenu_listelem:hover, .submenu_listelem:focus { + background-color: white; } + +/*Modal Cards*/ +.box-new { /*für Kopfzeile mit Close-Button*/ + display: flex; + justify-content: space-between; + font-weight: bold; +} + +.modalValues { + background-color: $default-blaugrau; /*für Abschnitthintergrund, Schrift*/ + font-size: 0.8em; +} + +.modalDl_title { /*für Texthervorhebungen*/ + display: flex; + justify-content: center; + background: inherit; + font-size: 1.2em; + font-weight: 400; +} + +span.feldname {font-weight:medium; } +span.feldwert {font-weight:bolder; } + +/*Logobuttons und Icons*/ + +img.svg_icon { height:20px; } + +.icon_themenbaum_admin_small{content:url(../images/logobutton_kern.svg);height:20px;width:20px;display:inline;} +.icon_themenbaum_admin_normal{content:url(../images/logobutton_kern.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_neutral_small{content:url(../images/icon_neutral_mini.svg);height:21px;width:20px;padding-top:5px;display:inline;} +.icon_themenbaum_neutral_normal{content:url(../images/icon_neutral_mini.svg);height:70px;width:60px;padding-top:15px;display:inline;} +.icon_themenbaum_kern_small{content:url(../images/icon_kern_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_kern_normal{content:url(../images/logobutton_kern.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_rpta_small{content:url(../images/icon_rpta_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_rpta_normal{content:url(../images/logobutton_rpta.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_zul_small{content:url(../images/icon_zul_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_zul_normal{content:url(../images/logobutton_zul.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_fin_small{content:url(../images/icon_fin_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_fin_normal{content:url(../images/logobutton_fin.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_bau_small{content:url(../images/icon_bau_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_bau_normal{content:url(../images/logobutton_bau.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_kenn_small{content:url(../images/icon_kenn_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_kenn_normal{content:url(../images/logobutton_kenn.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_sx_connect_small{content:url(../images/icon_sx_connect.png);height:20px;width:20px;display:inline;} +.icon_themenbaum_sx_connect_normal{content:url(../images/logobutton_sx_connect.png);height:100px;width:100px;display:inline;} +.icon_themenbaum_ivs_small{content:url(../images/icon_ivs_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_ivs_normal{content:url(../images/logobutton_ivs.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_cob_small{content:url(../images/icon_cob_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_cob_normal{content:url(../images/logobutton_cob.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_etl_small{content:url(../images/icon_etl_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_etl_normal{content:url(../images/logobutton_etl.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_leistungsmonitor_small{content:url(../images/icon_leistungsmonitor_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_leistungsmonitor_normal{content:url(../images/logobutton_leistungsmonitor.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_man_small{content:url(../images/icon_man_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_man_medium {content:url(../images/icon_man_mini.svg);height:30px;width:30px;display:inline;} +.icon_themenbaum_man_normal{content:url(../images/logobutton_man.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_sva_small{content:url(../images/icon_sva_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_sva_normal{content:url(../images/logobutton_sva.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_prom_small{content:url(../images/icon_prom_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_prom_normal{content:url(../images/logobutton_prom.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_qa_small{content:url(../images/icon_qa_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_qa_normal{content:url(../images/logobutton_qa.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_gang_small{content:url(../images/icon_gang_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_gang_normal{content:url(../images/logobutton_gang.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_sos_small{content:url(../images/icon_sos_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_sos_normal{content:url(../images/logobutton_sos.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_erfolg_small{content:url(../images/icon_erfolg_mini.svg);height:20px;width:20px;padding-top:3px;display:inline;} +.icon_themenbaum_erfolg_normal{content:url(../images/logobutton_erfolg.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_viz_small{content:url(../images/icon_viz_mini.svg);height:20px;width:20px;padding-top:8px;display:inline;} +.icon_themenbaum_viz_normal{content:url(../images/logobutton_viz.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_xcube_small{content:url(../images/icon_xcube_mini.svg);height:20px;width:20px;padding-top:4px;display:inline;} +.icon_themenbaum_xcube_medium{content:url(../images/icon_xcube_mini.svg);height:30px;width:30px;display:inline;} +.icon_themenbaum_xcube_normal{content:url(../images/logobutton_xcube.svg);height:100px;width:100px;display:inline;} +.icon_themenbaum_datenblatt_normal {content: url(../images/th.svg);height:25px;width:25px;display:inline-block;} +.icon_themenbaum_datenblatt_small {content: url(../images/th.png);height:20px;width:20px;display:inline-block;} +.icon_themenbaum_zeitreihe_normal {content: url(../images/chart-line.svg);height:25px;width:25px;display:inline-block;} +.icon_themenbaum_zeitreihe_small {content: url(../images/chart-line.png);height:20px;width:20px;display:inline-block;} +.icon_themenbaum_list_normal {content: url(../images/list.svg);height:25px;width:25px;display:inline-block;} +.icon_themenbaum_list_small {content: url(../images/list.png);height:20px;width:20px;display:inline-block;} +/*neu ab 05.2026*/ +.icon_themenbaum_co_stage_small{content:url(../images/icon_co_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;} +.icon_themenbaum_co_stage_normal{content:url(../images/logobutton_co_stage.svg);height:100px;width:100px;display:inline-block;} +.icon_themenbaum_gx_stage_small{content:url(../images/icon_gx_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;} +.icon_themenbaum_gx_stage_normal{content:url(../images/logobutton_gx_stage.svg);height:100px;width:100px;display:inline-block;} +.icon_themenbaum_hr_stage_small{content:url(../images/icon_hr_stage_mini.svg);height:20px;width:20px;padding-top:3px;display:inline-block;} +.icon_themenbaum_hr_stage_normal{content:url(../images/logobutton_hr_stage.svg);height:100px;width:100px;display:inline-block;} +.icon_themenbaum_nutzungsantrag_small{content:url(../images/icon_nutzungsantrag.svg);height:20px;width:20px;padding-top:3px;display:inline-block;} +.icon_themenbaum_nutzungsantrag_normal{content:url(../images/logobutton_nutzungsantrag.svg);height:100px;width:100px;display:inline-block;} + + diff --git a/superx/style/sx_tabelle.css b/superx/style/sx_tabelle.css index d83e5a8..1585fd8 100644 --- a/superx/style/sx_tabelle.css +++ b/superx/style/sx_tabelle.css @@ -475,29 +475,12 @@ p.legende { /* Desktop */ @media (min-width:1025px){ - .container,.input-container { /*Format-,Berichtswahl, Breadcrumb, Legende*/ - max-width:100%; /*202604 geänd v 700px*/ - white-space:normal; - overflow-wrap: break-word; - } - + table.ergtabelle, table.ergtabellexy { font-size:0.75rem; - /*max-width:80%; /*202604: weg*/ + } - table.ergtabelle th, - table.ergtabelle td, - table.ergtabellexy th, - table.ergtabellexy td { - /*word-break:break-word !important;*/ - min-width:50px; /*202604: geänd. v 80px;*/ - max-width:130px; /*202604: geänd. v 80px;*/ - white-space: normal; /* Zeilenumbruch nach Standard-Regeln*/ - /*word-wrap: normal; /* veraltet: f Umbruch nach Standard-Regeln*/ - overflow-wrap: break-word !important; /* aktuell: Umbruch nach Standard-Regeln*/ - hyphens: auto; - } } diff --git a/superx/xml/js/memtext/sx_functions.js b/superx/xml/js/memtext/sx_functions.js index 7755fba..47b1066 100644 --- a/superx/xml/js/memtext/sx_functions.js +++ b/superx/xml/js/memtext/sx_functions.js @@ -38,20 +38,23 @@ function createLinkForTable(refapp,colset='',colsort='') { let url_sso = location.protocol+'//'+location.host + '/' + refapp + '/rds?state=redirect&sso=superx&utarget=/superx/servlet/SuperXmlTabelle?'; let params = ""; let params_sso = ''; - let fields = $(document.forms[0]).serializeArray(); - jQuery.each( fields, function( i, field ) { + let fields = document.forms["Weiterverarbeitung"].elements; + for(let i = 0; i < fields.length; i++) { + let field = fields.item(i); let htmlname= ''; for (j = 1; j < felder.length; j++) { if(field.name==felder[j]["htmlname"]) htmlname=felder[j]["htmlname"]; } - if (field.name != 'UserID' && field.name.indexOf('contenttype') == -1 && htmlname.indexOf('##line##') == -1 + if (field.name && field.name != 'UserID' && field.name.indexOf('contenttype') == -1 && htmlname.indexOf('##line##') == -1 && field.name.indexOf('stylesheet') == -1 && field.name.indexOf('reuseresult') == -1 - && field.name.indexOf('navi') == -1 && field.value != '' && field.name.indexOf('maxoffset') == -1) { + && field.name.indexOf('navi') == -1 && field.value != '' && field.name.indexOf('maxoffset') == -1 + && field.name.indexOf('csrf') == -1 + ) { params += ( '&' + encodeURIComponent(field.name) + '=' + encodeURIComponent(field.value)); params_sso += ( '&' + field.name + '=' + field.value); } - }); + } params += '&contenttype=' + encodeURIComponent(contenttype); params += '&stylesheet=' + encodeURIComponent(stylesheet) + navigation; params_sso += '&contenttype=' + contenttype; @@ -1709,12 +1712,13 @@ function purgeEnwicklerServletDiv(param) { } function createLinkForMask(refapp, colset='',colsort='') { - var stylesheet = jQuery('#deeplinkausgabe').val(); - var ausgabe_text = jQuery('#deeplinkausgabe option:selected').text(); - var contenttype = "text/html"; - var contenttype_portlet = ""; - var navigation = ""; - //alert("Ausgabe: " + ausgabe_text + "\nstylesheet: "+ stylesheet); + const stylesheetSelect = document.querySelector('#deeplinkausgabe'); + const selectedOption = stylesheetSelect.selectedOptions[0]; + const stylesheet = selectedOption.value; + const ausgabe_text = selectedOption.text; + let contenttype = "text/html"; + let contenttype_portlet = ""; + let navigation = ""; if (ausgabe_text.indexOf('Navi') >= 0 ){ navigation = "&navi=true"; } @@ -1727,21 +1731,23 @@ function createLinkForMask(refapp, colset='',colsort='') { } else if (stylesheet == 'tabelle_xml.xsl') { contenttype = "text/xml"; } else if (stylesheet.indexOf(".jrxml") > -1) { - contenttype = jQuery('#jasper_ausgabeformat').val(); - contenttype_portlet = jQuery('#jasper_ausgabeformat option:selected').text(); + const contenttypeSelect = document.querySelector('#jasper_ausgabeformat'); + const selectedContenttype = contenttypeSelect.selectedOptions[0]; + contenttype = selectedContenttype.value; + contenttype_portlet = selectedContenttype.text; } else { - //speziells Stylesheet + //spezielles Stylesheet contenttype = stylesheetcontenttype[stylesheet]; } - var url = location.protocol + '//' + location.host + + const url = location.protocol + '//' + location.host + '/superx/servlet/SuperXmlTabelle?'; - var url_sso = location.protocol + '//' + location.host + '/' + refapp + + const url_sso = location.protocol + '//' + location.host + '/' + refapp + '/rds?state=redirect&sso=superx&utarget=/superx/servlet/SuperXmlTabelle?'; - var params = ""; - var params_sso = ''; - var tablestyle = ''; - var fields = $(document.forms[0]).serializeArray(); - jQuery.each(fields, function(i, field) { + let params = ""; + let params_sso = ''; + let tablestyle = ''; + let fields = document.forms["Weiterverarbeitung"].elements; + for(const field of fields) { var htmlname = ''; for (j = 1; j < felder.length; j++) { if (field.name == felder[j]["htmlname"]) @@ -1758,7 +1764,7 @@ function createLinkForMask(refapp, colset='',colsort='') { if (field.name == 'tablestylesheet') { tablestyle = 'table'; } - }); + }; params += '&contenttype=' + encodeURIComponent(contenttype); params += '&' + tablestyle + 'stylesheet=' + encodeURIComponent(stylesheet) + navigation; if (contenttype_portlet == "Portlet") { @@ -1766,21 +1772,19 @@ function createLinkForMask(refapp, colset='',colsort='') { } params_sso += '&contenttype=' + contenttype; params_sso += '&stylesheet=' + stylesheet + navigation; -if (colset!='') {params+='&colset='+encodeURIComponent(colset).replace('|','%7C');params_sso+='colset='+colset.replace('|','%7C');} - if (colsort!='') {params+='&colsort='+encodeURIComponent(colsort).replace('|','%7C');params_sso+='colsort='+colset.replace('|','%7C');} - -var linksForMask=""; + if (colset != '') { params += '&colset=' + encodeURIComponent(colset).replace('|', '%7C'); params_sso += 'colset=' + colset.replace('|', '%7C'); } + if (colsort != '') { params += '&colsort=' + encodeURIComponent(colsort).replace('|', '%7C'); params_sso += 'colsort=' + colset.replace('|', '%7C'); } + + let linksForMask=""; if (platform == "his1") { linksForMask+='HISinOne SSO-Link (komplett):\n' + url_sso + encodeURIComponent(params)+'\n\n'; linksForMask+='HISinOne SSO-Link für Portlets lokale Serverfunktion:\n' + '/rds?state=redirect&sso=superx&utarget=/superx/servlet/SuperXmlTabelle?' + encodeURIComponent(params+"&cachingcontrol=clearmask")+'\n\n'; - } + } linksForMask+=" Direkter Link:\n\n" + url + params; - document.getElementById('deeplinktext').innerHTML =linksForMask; - } function deeplinkerzeugen(refapp) { diff --git a/superx/xml/nd_templates.xsl b/superx/xml/nd_templates.xsl index 63254e9..d85f10b 100644 --- a/superx/xml/nd_templates.xsl +++ b/superx/xml/nd_templates.xsl @@ -1260,8 +1260,8 @@ menue.push(entry); Ausgabe in Excel, schön Ausgabe im PDF-Querformat Ausgabe in HTML - Ausgabe als CSV, Text - Ausgabe als CSV,excel + Ausgabe als CSV, Text + Ausgabe als CSV,excel Ausgabe in XML mediaWiki @@ -1388,7 +1388,7 @@ menue.push(entry);
- Ausgabe als CSV, Text + Ausgabe als CSV, Text
@@ -1396,7 +1396,7 @@ menue.push(entry);
- Ausgabe als CSV, Excel + Ausgabe als CSV, Excel
@@ -4270,7 +4270,7 @@ document.forms["Weiterverarbeitung"].target = '_blank'; - javascript:document.forms[0].contenttype.value='text/csv';document.forms[0].reuseresult.value='true';document.forms[0].submit(); + javascript:document.forms['Weiterverarbeitung'].contenttype.value='text/csv';document.forms['Weiterverarbeitung'].reuseresult.value='true';document.forms['Weiterverarbeitung'].submit(); -
+
diff --git a/superx/xml/tabelle_jrxml_a4_quer.xsl b/superx/xml/tabelle_jrxml_a4_quer.xsl deleted file mode 100644 index 4331d4b..0000000 --- a/superx/xml/tabelle_jrxml_a4_quer.xsl +++ /dev/null @@ -1,63 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -